Source for file AdminEditArticle.php
Documentation is available at AdminEditArticle.php
/* vim: set expandtab tabstop=4 shiftwidth=4: */
// +----------------------------------------------------------------------+
// | MCMS: a PHP Content Management System for creating accessible sites. |
// | Copyright (C) 2005 Silvio Moioli |
// | This program is free software; you can redistribute it and/or modify |
// | it under the terms of the GNU General Public License as published by |
// | the Free Software Foundation; either version 2 of the License, or |
// | (at your option) any later version. |
// | This program is distributed in the hope that it will be useful, |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
// | GNU General Public License for more details. |
// | You should have received a copy of the GNU General Public License |
// | along with this program; if not, write to the Free Software |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 |
// +----------------------------------------------------------------------+
// | Authors: Silvio Moioli <silvio at moioli dot net> www.moioli.net |
// +----------------------------------------------------------------------+
/** Importa la classe di base per l"interfaccia utente (autore) */
require_once $_SERVER["DOCUMENT_ROOT"]. "/admin/lib/view/AdminPage.php";
/** Importa la libreria per semplificare l"aggiunta di tag XML */
require_once $_SERVER["DOCUMENT_ROOT"]. "/admin/lib/view/Tagger.php";
* Rappresenta la pagina di aggiunta/modifica di un articolo.
* Presenta una finestra per l'input dell'XHTML.
* @author Silvio Moioli <silvio at moioli dot net>
/** @var Author l'autore che accede a questa pagina */
/** @var Site il sito a cui appartiene l'articolo da modificare o aggiungere */
/** @var Article l'articolo da modificare, null se è un nuovo articolo */
/** @var string "new" se si aggiunge un nuovo articolo "edit" altrimenti */
/** @var bool true se Javascript è in uso per la modifica dell'XHTML */
/** @var string titolo proposto all'utente per questo articolo */
/** @var string parole chiave proposte all'utente per questo articolo */
/** @var string descrizione proposta all'utente per questo articolo */
/** @var string contenuti (XHTML) proposti all'utente per questo articolo */
/** @var array articoli correlati proposti all'utente per questo articolo */
/** @var Category sezione a cui l'articolo appartiene */
* @param Author $author l'autore del nuovo articolo o dell'articolo
* @param Site $site il sito a cui il nuovo articolo o l'articolo da
* @param Article $article l'articolo da modificare o null
* @param string $mode "new" o "edit" a seconda che si voglia creare
* un nuovo articolo o modificarne uno esistente
* @param bool $javascript indica la possibilità di usare il JavaScript
* Cambia il titolo proposto all'utente per questo articolo
* @param string $defaultTitle il nuovo titolo
* Cambia le parole chiave proposte all'utente per questo articolo
* @param string $defaultKeywords le nuove parole chiave
* Cambia la descrizione proposta all'utente per questo articolo
* @param string $defaultDescription la nuova descrizione
* Cambia i contenuti (XHTML) proposti all'utente per questo articolo
* @param string $defaultContents i nuovi contenuti
* Cambia gli articoli correlati proposti all'utente per questo articolo
* @param array $defaultCorrelatedArticles i nuovi articoli correlati
* Cambia la sezione a cui l'articolo appartiene
* @param array $defaultCategory la nuova sezione
* Ritorna il titolo (in XHTML) di questa pagina.
* @return string una stringa XHTML rappresentante il titolo della pagina
$title = a("do.php?goTo=AdminMain&authorID=$authorID",
a("do.php?goTo=AdminManageSite&authorID=$authorID&".
a("do.php?goTo=AdminListArticles&authorID=$authorID&".
* Ritorna un array di stringhe XHTML relative al menu (barra di navigazione)
* @return array vettore di stringhe XHTML rappresentante il menu della pagina
$menuEntries = array(p(a("do.php?goTo=AdminManageSite&".
"siteID=$siteID&authorID=$authorID",
"Annulla e torna alla gestione del sito"). br().
a("do.php?goTo=AdminListArticles&siteID=$siteID&".
"authorID=$authorID","Annulla e torna alla gestione degli articoli")));
* Ritorna il contenuto (XHTML) del corpo di questa pagina.
* @return string la stringa XHTML rappresentante il corpo della pagina
if ($this->mode == "new") {
elseif ($this->mode == "edit") {
$articleID = $this->article->getID();
$contents = h1("Contenuti dell'articolo").
p("Da questa pagina puoi gestire i contenuti effettivi dell'
form("do.php?action=$action&authorID=$authorID&siteID=$siteID".
"&articleID=$articleID&goTo=AdminListArticles&mode=$this->mode",
"Parole-chiave dell'articolo: ".
"Breve descrizione dell'articolo: ".
"Contenuti dell'articolo:". br().
"Articoli correlati a questo articolo:". br().
"Sezione a cui questo articolo appartiene: ". br().
"Quando hai finito, clicca sul bottone qui sotto:". br().
* Ritorna il codice XHTML delle checkbox per la correlazione degli articoli
* @return string la stringa XHTML rappresentante le checkbox
$correlatedArticleIDs = array();
$correlatedArticleIDs[] = $i->getID();
foreach ($allArticles as $i) {
if ($this->mode== "new" || $i->getID() != $this->article->getID()) {
$articleID = $i->getID();
$listElements []= checkbox("article$count", in_array($articleID, $correlatedArticleIDs)).
$i->getTitle(). input("hidden", "article$count". "ID",$articleID);
* Ritorna il codice XHTML della select per la scelta della sezione
* a cui l'articolo appartiene
* @param Category $category la sezione di default dell'articolo
* @return string la stringa XHTML rappresentante la select
$selectContents .= option($i->getID(), $i->getID() == $category->getID(),
return select("categoryID", $selectContents);
|