Rev 72 | Rev 281 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?php/*vim: set expandtab tabstop=4 shiftwidth=4: */// +------------------------------------------------------------------------------------------------------+// | PHP version 4.1 |// +------------------------------------------------------------------------------------------------------+// | Copyright (C) 2001 Laurent COUDOUNEAU (lc@gsite.org) |// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) |// +------------------------------------------------------------------------------------------------------+// | This library is free software; you can redistribute it and/or |// | modify it under the terms of the GNU Lesser General Public |// | License as published by the Free Software Foundation; either |// | version 2.1 of the License, or (at your option) any later version. |// | |// | This library 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 |// | Lesser General Public License for more details. |// | |// | You should have received a copy of the GNU Lesser General Public |// | License along with this library; if not, write to the Free Software |// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |// +------------------------------------------------------------------------------------------------------+/*** Application Administrateur de Papyrus.** Application permettant de gérer actulement les projets et la mise en cache des pages.* Dans l'avenir la gestion via l'interface d'administration des fichiers CSS et* des Squelettes pourrait être envisagée.* Cette application peut prendre 1 des 3 arguments ci-dessous lors de son appel par un menu de Papyrus :* - site : pour indiquer que l'on veut gérer les sites* - cache : pour indiquer que l'on veut gérer le cache* Liste des paquetages Pear nécessaire à cette application :* - DB* - Auth* - Net_URL**@package Admin_site//Auteur original :*@author Laurent COUDOUNEAU <lc@gsite.org>//Autres auteurs :*@author Alexandre GRANIER <alexandre@tela-botanica.org>*@author Jean-Pascal MILCENT <jpm@tela-botanica.org>*@copyright Tela-Botanica 2000-2004*@version $Revision: 1.4 $ $Date: 2004-12-03 19:22:57 $// +------------------------------------------------------------------------------------------------------+//// $Id: admin_site.php,v 1.4 2004-12-03 19:22:57 jpm Exp $// FICHIER : $RCSfile: admin_site.php,v $// AUTEUR : $Author: jpm $// VERSION : $Revision: 1.4 $// DATE : $Date: 2004-12-03 19:22:57 $// +------------------------------------------------------------------------------------------------------+**/// +------------------------------------------------------------------------------------------------------+// | ENTÊTE du PROGRAMME |// +------------------------------------------------------------------------------------------------------+// Note : cette application fait appel à des fonctions présentent dans la bibliotheque de Papyrus./** Inclusion du fichier de configuration de cette application.*/require_once GEN_CHEMIN_APPLICATION.'admin_site/configuration/adsi_configuration.inc.php';/** Inclusion de la bibliothèque PEAR de conception de formulaire.*/require_once ADSI_CHEMIN_BIBLIOTHEQUE_PEAR.'HTML/QuickForm.php';/** Inclusion de l'API de fonctions gérant les erreurs sql.*/require_once ADSI_CHEMIN_BIBLIOTHEQUE_API.'debogage_1.0/BOG_sql.fonct.php';/** Inclusion des fonctions de manipulation du sql.* Permet la récupération d'un nouvel identifiant d'une table.*/require_once ADSI_CHEMIN_BIBLIOTHEQUE_API.'sql_1.0/SQL_manipulation.fonct.php';/** Inclusion des fonctions de manipulation de fichiers et dossiers.* Permet la suppression d'un dossier et de son contenu.*/require_once ADSI_CHEMIN_BIBLIOTHEQUE_API.'fichier_1.0/FIC_manipulation.fonct.php';/** <BR> Inclusion de la bibliothèque de fonctions concernant les tables "gen_menu..." de Papyrus.* Permet d'inclure la fonction d'affichage du "Vous êtes ici".*/require_once ADSI_CHEMIN_BIBLIOTHEQUE_GEN.'pap_menu.fonct.php';/** <BR> Inclusion de la bibliothèque de fonctions concernant les tables "gen_site..." de Papyrus.*/require_once ADSI_CHEMIN_BIBLIOTHEQUE_GEN.'pap_site.fonct.php';/** Inclusion de la bibliotheque de fonctions gérant les administrateur de Papyrus.*/require_once ADSI_CHEMIN_BIBLIOTHEQUE_ADSI.'adsi_admin.fonct.php';/** Inclusion de la bibliotheque de fonction gérant l'affichage de l'application Administrateur.*/require_once ADSI_CHEMIN_BIBLIOTHEQUE_ADSI.'adsi_affichage.fonct.php';/** Inclusion de la bibliotheque de fonction gérant l'administration des sites de Papyrus.*/require_once ADSI_CHEMIN_BIBLIOTHEQUE_ADSI.'adsi_site.fonct.php';///** Inclusion de la bibliotheque de fonction gérant l'administration du cache de Papyrus.*///require_once ADSI_CHEMIN_BIBLIOTHEQUE_ADSI.'adsi_cache.fonct.php';///** Inclusion de la bibliotheque de fonction gérant l'administration des squelettes des sites de Papyrus.*///require_once ADSI_CHEMIN_BIBLIOTHEQUE_ADSI.'adsi_squelette.fonct.php';///** Inclusion de la bibliotheque de fonction gérant l'administration des feuilles de styles des sites de Papyrus.*///require_once ADSI_CHEMIN_BIBLIOTHEQUE_ADSI.'adsi_style.fonct.php';// +------------------------------------------------------------------------------------------------------+// | CORPS du PROGRAMME |// +------------------------------------------------------------------------------------------------------+/** Fonction afficherContenuTete() - Fonction appelé par le gestionnaire Papyrus.** Elle retourne l'entête de l'application..** @return string du code XHTML correspondant à la zone d'entête de l'application.*/function afficherContenuTete(){return '';}/** Fonction afficherContenuCorps() - Retourne le contenu XHTML à afficherdans la zone contenu corps.** Cette fonction retourne le contenu final d'un appel à l'application Administrateur.* Cette fonction peut être appelé par Papyrus où depuis n'importe quel autre interface.** @return string le contenu xhtml généré par l'application Administrateur et devant être affiché.*/function afficherContenuCorps(){// Initialisation des variables. A faire migrer dans le fichier de configuration!!!// Globals variables from auth.php://// $project : current project// $locale : current locale// $db : database name// $link : link to database// $DOCrow : current document// $CURRENTPAGErow : current page// $annuName : name of the current annu// $userid : id of the current user// +----------------------------------------------------------------------------------------------+// Initialisation variables globales de Papyrusglobal $db, $_GEN_commun;// +----------------------------------------------------------------------------------------------+// Objet Pear Auth$objet_pear_auth = $_GEN_commun['pear_auth'];// +----------------------------------------------------------------------------------------------+// Gestion de l'URL pour revenir sur le menu courant.$url = $_GEN_commun['url']->getUrl();// +----------------------------------------------------------------------------------------------+// Gestion de la langue de l'interface.$id_langue = $_GEN_commun['url_i18n'];// +----------------------------------------------------------------------------------------------+// Arguments d'appel de cette application par un menu de Papyrus$application_arguments = $_GEN_commun['info_menu']->gm_application_arguments;if ($objet_pear_auth->getAuth()) {// +----------------------------------------------------------------------------------------------+// Initialisation des variables.$sortie_xhtml = '';// Le XHTML à renvoyer.// Ancien nom : $outputText$msg = '';// +----------------------------------------------------------------------------------------------+// Arguments passé par le menu de Génésia à l'application l'Administrateur???// Récupération des arguments$tab_arguments = explode(' ', $application_arguments);// Initialisation des variables qui contiendront les arguments$id_site_a_administrer = '';$bool_site = false;$bool_auth = false;$bool_cache = false;$bool_squelette = false;$bool_style = false;// Instantciation des variables argumentsfor ($i = 0; $i < count($tab_arguments); $i++) {$argument = explode('=', $tab_arguments[$i]);if ($argument[0] == 'id_site') {$id_site_a_administrer = $argument[1];}if ($argument[0] == 'bool_site') {// Interface d'administration des sites$bool_site = ($argument[1] == 'true');}if ($argument[0] == 'bool_auth') {// Interface d'administration du cache d'un site$bool_cache = ($argument[1] == 'true');}if ($argument[0] == 'bool_cache') {// Interface d'administration du cache d'un site$bool_cache = ($argument[1] == 'true');}if ($argument[0] == 'bool_squelette') {// Interface d'administration du fichier squelette d'un site$bool_squelette = ($argument[1] == 'true');}if ($argument[0] == 'bool_style') {// Interface d'administration du fichier de styles d'un site$bool_style = ($argument[1] == 'true');}}// Si aucun argument transmis on affiche l'interface de gestion des sitesif ( !($bool_site && $bool_cache && $bool_squelette && $bool_style) ) {$bool_site = true;}// +----------------------------------------------------------------------------------------------+// Gestion des sites...if ($bool_site) {if (isset($_POST['form_sites_ajouter'])) {// Nous voulons le formulaire d'ajout d'un site$sortie_xhtml .= ADMIN_afficherFormSite($db, $url);return $sortie_xhtml;} else if (isset($_POST['site_enregistrer'])) {// Nous cherchons à enregistrer un site$message = ADMIN_validerFormSite($db, $_POST);if (!empty($message)) {// Les données ne sont pas valide. Nous retournons le formulaires avec les messages d'erreurs.$sortie_xhtml .= ADMIN_afficherFormSite($db, $url, $_POST, $message);} else {// Les données sont valide. Nous les enregistrons et retournons au formulaire de départ.$message = ADMIN_enregistrerSite($db, $_POST, $objet_pear_auth->getAuthData('ga_id_administrateur'));$sortie_xhtml .= ADMIN_afficherFormListeSites($db, $url, $message);}return $sortie_xhtml;} else if (isset($_POST['form_sites_modifier'])) {// Nous cherchons à modifier un site$message = ADMIN_validerFormListesSites($db, $_POST);if (!empty($message)) {// Les données ne sont pas valide. Nous retournons le formulaires avec les messages d'erreurs.$sortie_xhtml .= ADMIN_afficherFormListeSites($db, $url, $message);} else {// Les données sont valide. Nous affichons le formulaire de modification.$sortie_xhtml .= ADMIN_afficherFormSite($db, $url, $_POST, $message);}return $sortie_xhtml;} else if (isset($_POST['site_modifier'])) {// Nous cherchons à enregistrer les modification d'un site$message = ADMIN_validerFormSite($db, $_POST);if (!empty($message)) {// Les données ne sont pas valide. Nous retournons le formulaires avec les messages d'erreurs.$sortie_xhtml .= ADMIN_afficherFormSite($db, $url, $_POST, $message);} else {// Les données sont valide. Nous les enregistrons et retournons au formulaire de départ.$message = ADMIN_modifierSite($db, $_POST, $objet_pear_auth->getAuthData('ga_id_administrateur'));$sortie_xhtml .= ADMIN_afficherFormListeSites($db, $url, $message);}return $sortie_xhtml;} else if (isset($_POST['form_sites_supprimer'])) {// Nous cherchons à supprimer un site$message = ADMIN_validerFormListesSites($db, $_POST);if (!empty($message)) {// Les données ne sont pas valide. Nous retournons le formulaires avec les messages d'erreurs.$sortie_xhtml .= ADMIN_afficherFormListeSites($db, $url, $message);} else {// Les données sont valide. Nous supprimons et retournons au formulaire de départ.$message = ADMIN_supprimerSite($db, $_POST);$sortie_xhtml .= ADMIN_afficherFormListeSites($db, $url, $message);}return $sortie_xhtml;} else if (isset($_POST['form_sites_traduire'])) {// Nous cherchons à modifier un site$message = ADMIN_validerFormListesSites($db, $_POST);if (!empty($message)) {// Les données ne sont pas valide. Nous retournons le formulaires avec les messages d'erreurs.$sortie_xhtml .= ADMIN_afficherFormListeSites($db, $url, $message);} else {// Les données sont valide. Nous supprimons et retournons au formulaire de départ.$sortie_xhtml .= ADMIN_afficherFormTraduireSite($db, $url, $_POST, $message);}return $sortie_xhtml;} else if (isset($_POST['form_trad_site_enregistrer'])) {// Nous cherchons à enregistrer la traduction d'un site$message = ADMIN_validerFormTraduireSite($db, $_POST);if (!empty($message)) {// Les données ne sont pas valide. Nous retournons le formulaires avec les messages d'erreurs.$sortie_xhtml .= ADMIN_afficherFormModifierSite($db, $url, $message);} else {// Les données sont valide. Nous les enregistrons et retournons au formulaire de départ.$message = ADMIN_enregistrerFormModifierSite($db, $_POST);$sortie_xhtml .= ADMIN_afficherFormListeSites($db, $url, $message);}return $sortie_xhtml;} else if (isset($_POST['form_annuler'])) {// Retour à la liste des sites$sortie_xhtml .= ADMIN_afficherFormListeSites($db, $url);return $sortie_xhtml;} else {// Liste des sites$sortie_xhtml .= ADMIN_afficherFormListeSites($db, $url);}}// +----------------------------------------------------------------------------------------------+// Gestion du cache... A FAIREif ($bool_cache) {$msg = '';if ($guscmd == 'delcache') {delCache($db, $gusprjid);}// Defaut : nous listons tous les caches$sortie_xhtml .= listCaches($db, $id_site, $id_langue, $url, $msg);return $sortie_xhtml;}// +----------------------------------------------------------------------------------------------+// Gestion des squelettes... A FAIREif ($bool_squelette) {switch ($guscmd) {case 'updpres':$sortie_xhtml .= updatePresentation($db, $id_site, $id_langue, $url, $baseHidden, $gusprjid);return $sortie_xhtml;break;case 'commitupdpres' :$sortie_xhtml .= commitUpdatePresentation($db, $id_site, $id_langue, $id_site_a_administrer, $url);return $sortie_xhtml;break;}}// +----------------------------------------------------------------------------------------------+// Gestion des styles... A FAIREif ($bool_style) {}return $sortie_xhtml ;} else {// L'utilisateur n'est pas identifier, nous lui demandons de le faire.return GEN_afficherInfoIdentification();}}//Fin de la fonction afficherContenuCorps()./* +--Fin du code ---------------------------------------------------------------------------------------+* $Log: not supported by cvs2svn $* Revision 1.3 2004/10/18 18:27:37 jpm* Correction problèmes FTP et manipulation de fichiers.** Revision 1.2 2004/07/06 17:08:14 jpm* Modification de la documentation pour une mailleur analyse par PhpDocumentor.** Revision 1.1 2004/06/16 14:20:39 jpm* Changement de nom de Génésia en Papyrus.* Changement de l'arborescence.** Revision 1.23 2004/05/10 12:23:26 jpm* Correction mineure.** Revision 1.22 2004/05/07 16:33:18 jpm* Intégration de constantes.** Revision 1.21 2004/05/07 07:23:03 jpm* Ajout de la gestion des modification et suppression de site. Amélioration de la création des sites.** Revision 1.20 2004/05/05 06:45:36 jpm* Suppression de l'appel de la fonction générant le "vous êtes ici" dans la fonction affichant l'entête de l'application.** Revision 1.19 2004/05/04 16:28:30 jpm* Réduction de code pour la fonction afficherContenuTete().** Revision 1.18 2004/04/30 16:22:59 jpm* Poursuite de l'administration des sites.** Revision 1.17 2004/04/22 08:33:11 jpm* Transformation de $GS_GLOBAL en $_GEN_commun.** Revision 1.16 2004/04/09 16:24:08 jpm* Prise en compte des tables i18n.** Revision 1.15 2004/04/02 16:37:09 jpm* Modification de la gestion des actions d'administration.* Ajout de commentaires.** Revision 1.14 2004/03/31 16:58:15 jpm* Changement des chemins d'accès aux fichiers à inclure.** Revision 1.13 2004/03/24 10:07:04 jpm* Ajout des commentaires d'entête.* Début mise en conformité avec la convention de codage.* Déplacement de la fonction d'affichage du xhtml dans la bibliothèque de fonctions.** +--Fin du code ----------------------------------------------------------------------------------------+*/?>