Source for file Component.php
Documentation is available at Component.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 |
// +----------------------------------------------------------------------+
* Interfaccia per la gestione degi componenti opzionali dei siti gestiti da
* @author Silvio Moioli <silvio at moioli dot net>
/** Carica la classe base di PEAR */
require_once $_SERVER["DOCUMENT_ROOT"]. "/admin/include/pear/PEAR.php";
/** Carica la classe base di MCMS per l'interfacciamento al Database */
require_once $_SERVER["DOCUMENT_ROOT"]. "/admin/lib/model/Engine.php";
* Interfaccia per la gestione degi componenti opzionali dei siti gestiti da
* Classe astratta che descrive i metodi obbligatori che devono essere
* implementati da qualsiasi componente opzionale per Component.
* NOTE IMPORTANTI SULLA COSTRUZIONE DEI COMPONENTI:
* Ogni componente dovrà estendere questa classe e dovrà essere memorizzato
* in un file con lo stesso nome della classe. Inoltre tale file
* deve essere salvato nella cartella Components, altrimenti MCMS non riuscirà
* a integrarlo correttamente.
* I nomi dei componenti devono essere univoci, e in sole lettere minuscole.
* @author Silvio Moioli <silvio at moioli dot net>
* Costruttore di default.
* Questo metodo è "astratto" pertanto dovrebbe essere implementato da
* tutte le classi che estendono questa classe.
* Ritorna il nome di questo componente.
* @return string il nome del componente
return PEAR_raiseError("Unimplemented abstract method called!");
* Questo metodo è "astratto" pertanto dovrebbe essere implementato da
* tutte le classi che estendono questa classe.
* Inizializza il componente. Questo metodo viene richiamato da Engine
* quando vengono create le tabelle del DB per MCMS. Se il componente ha
* bisogno di tabelle permanenti proprie per il suo funzionamento, dovrebbe
* crearle all'interno di questo metodo.
* Il parametro $engine sarà fornito dal sistema per poter interagire con
* @param Engine $engine il motore di MCMS
/*abstract*/ function init($engine){
return PEAR_raiseError("Unimplemented abstract method called!");
* Questo metodo è "astratto" pertanto dovrebbe essere implementato da
* tutte le classi che estendono questa classe.
* Applica questo componente alla pagina corrente apportando modifiche
* ai contenuti, al menu e al titolo.
* @param string $contents i contenuti della pagina da modificare
* @param array $menuEntries il menu della pagina
* @param string $title il titolo della pagina da modificare
* @param string $description la descrizione della pagina da modificare
* @param Site $site il sito corrente
/*abstract*/ function applyComponent(&$contents, &$menuEntries, &$title,
return PEAR_raiseError("Unimplemented abstract method called!");
* Questo metodo è "astratto" pertanto dovrebbe essere implementato da
* tutte le classi che estendono questa classe.
* Se il plugin deve creare o aggiornare dei propri file, può farlo
* qui. Questo metodo viene richiamato ad ogni modifica di ogni sito,
* e viene passata un'istanza di Compiler per il salvataggio dei file.
* @param Site $site il sito corrente
* @param Compiler $compiler l'oggetto per il salvataggio dei file
/*abstract*/ function saveFiles($site, $compiler){
return PEAR_raiseError("Unimplemented abstract method called!");
|