Subversion Repositories Applications.papyrus

Compare Revisions

No changes between revisions

Ignore whitespace Rev 5 → Rev 6

/trunk/papyrus/applications/installateur/bibliotheque/instal_installation.fonct.php
New file
0,0 → 1,149
<?php
/*vim: set expandtab tabstop=4 shiftwidth=4: */
// +------------------------------------------------------------------------------------------------------+
// | PHP version 4.1 |
// +------------------------------------------------------------------------------------------------------+
// | Copyright (C) 2001 COUDOUNEAU Laurent (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 |
// | |
// +------------------------------------------------------------------------------------------------------+
// CVS : $Id: instal_installation.fonct.php,v 1.1 2004-06-16 14:34:12 jpm Exp $
/**
* Bibliothèque des fonctions de l'application Installateur de Génésia.
*
* Ce sous-paquetage contient les fonctions de l'application Installateur de Génésia. Cette application gère
* l'installation de Génésia (base de données).
*
*@package Installateur
*@subpackage Fonctions
//Auteur original :
*@author Laurent COUDOUNEAU <mail@tela-botanica.org>
//Autres auteurs :
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org>
*@copyright Tela-Botanica 2000-2004
*@version $Date: 2004-06-16 14:34:12 $
*/
 
// +------------------------------------------------------------------------------------------------------+
// | LISTE de FONCTIONS |
// +------------------------------------------------------------------------------------------------------+
 
 
/**Fonction projectForm() - Permet de choisir le projet de site web.
*
* Cette fonction crée une page html retournant un formulaire qui permet de choisir le projet de site web.
*
* @param string le message d'erreur.
* @return string page html affichant un formulaire pour choisir un projet.
*/
function projectForm ($msg)
{
header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header ("Pragma: no-cache"); // HTTP/1.0
 
$html_retour = "\n".'<html>';
$html_retour .= "\n".' <head>';
$html_retour .= "\n".' <title>Project selection</title>';
$html_retour .= "\n".' <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">';
$html_retour .= "\n".' </head>';
$html_retour .= "\n".' <body bgcolor="white">';
$html_retour .= "\n".' <div align="center">';
$html_retour .= "\n".' <br /> <b>'.$msg.'</b>';
$html_retour .= "\n".' <form action="index.php" method="get">';
$html_retour .= "\n".' <input type="text" name="project" value="admin">';
$html_retour .= "\n".' <br />';
$html_retour .= "\n".' <input type="submit" value="Valider ce projet">';
$html_retour .= "\n".' </form>';
$html_retour .= "\n".' </div>';
$html_retour .= "\n".' </body>';
$html_retour .= "\n".'</html>';
 
//Codage en entité html des caractères accentués
$html_retour = htmlentities($html_retour);
echo $html_retour;
}
 
/**Fonction installForm() - Permet de choisir le projet de site web.
*
* Cette fonction renvoie une page web demandant de relancer l'installation.
*
* @param string le message d'erreur.
* @return string page html affichant un lien pour relancer l'installation.
*/
 
function installForm ($msg)
{
//Recherche de la présence du fichier d'installation
$presence_instal = file_exists ('gsinstall.php');
 
header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header ("Pragma: no-cache"); // HTTP/1.0
 
$html_retour = "\n".'<html>';
$html_retour .= "\n".' <head>';
$html_retour .= "\n".' <title>Mauvaise installation</title>';
$html_retour .= "\n".' <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">';
$html_retour .= "\n".' </head>';
$html_retour .= "\n".' <body bgcolor="white">';
$html_retour .= "\n".' <div align="center" >';
$html_retour .= "\n"." <br /><b>Vous avez rencontré le message d'erreur suivant:<br />".
$msg.'</b><br /><br />';
$html_retour .= "\n".' <b>Votre installation est peut être défectueuse.</b><br /><br />';
 
if ($presence_instal) {
$html_retour .= "\n".' <b>S\'il vous plait'.
'<a href="gsinstall.php" target="_blank">relancer l\'installation</a>'.
'.</b>';
$html_retour .= "\n".' <br />';
$html_retour .= "\n"." <b>N'oubliez pas de supprimer le fichier '.
'<i>gsinstall.php</i> aprés l'installation.</b>";
$html_retour .= "\n"." <br /><br />";
 
}
else {
$html_retour .= "\n".' <b>Installez le fichier <i>gsinstall.php</i> et essayez à nouveau.</b>';
$html_retour .= "\n"." <br /><br />";
}
 
$html_retour .= "\n".' </div>';
$html_retour .= "\n".' </body>';
$html_retour .= "\n".'</html>';
 
//Codage en entité html des caractères accentués
$html_retour = htmlentities($html_retour);
echo $html_retour;
}
 
/* +--Fin du code ---------------------------------------------------------------------------------------+
* $Log: not supported by cvs2svn $
* Revision 1.5 2004/04/08 13:20:44 jpm
* Suppression de la fonction de gestion des erreurs.
*
* Revision 1.4 2004/04/02 16:37:38 jpm
* Modification des commentaires.
*
* Revision 1.3 2004/03/25 16:55:24 jpm
* Ajout de la fonction gs_bdError(), provenant du fichier gen_initialisation.inc.php.
*
* Revision 1.2 2004/03/22 11:42:31 jpm
* Ajout de commentaires et mise en forme.
*
*
* +--Fin du code ----------------------------------------------------------------------------------------+
*/
?>
/trunk/papyrus/applications/installateur/installateur.php
New file
0,0 → 1,102
<?php
/*vim: set expandtab tabstop=4 shiftwidth=4: */
// +------------------------------------------------------------------------------------------------------+
// | PHP version 4.1 |
// +------------------------------------------------------------------------------------------------------+
// | 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 |
// +------------------------------------------------------------------------------------------------------+
// CVS : $Id: installateur.php,v 1.1 2004-06-16 14:33:13 jpm Exp $
/**
* Application Installateur de Papyrus.
*
* Application permettant de gérer l'installation et les erreurs liés à l'abscence de base de données,
* d'extenssin PHP...
*
*@package Installateur
//Auteur original :
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org>
//Autres auteurs :
*@author Aucun
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.1 $ $Date: 2004-06-16 14:33:13 $
// +------------------------------------------------------------------------------------------------------+
**/
 
// +------------------------------------------------------------------------------------------------------+
// | ENTÊTE du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
/*Mettre ici les inclusions de fichiers*/
 
// +------------------------------------------------------------------------------------------------------+
// | CORPS du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
 
// A retravailler complétement!!!
if ($_GEN_commun['erreur_site_introuvable']) {
projectForm($_GEN_commun['message_erreur_bd']);
exit;
}
else {
if ($_GEN_commun['erreur_config'] || $_GEN_commun['erreur_bd']) {
installForm($_GEN_commun['message_erreur_bd']);
exit;
}
else {
exit (
'<html>'.
"\n".' <head>'.
"\n".' <title>Error</title>'.
"\n".' <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">'.
"\n".' </head>'.
"\n".' <body>'.
"\n".' <br /><br />'.
"\n".' <p align="center"><b>'.$_GEN_commun['message_erreur_bd'].'</b></p>'.
"\n".' </body>'.
"\n".'</html>');
}
}
// +------------------------------------------------------------------------------------------------------+
// | PIED du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
/*Partie non obligatoire*/
 
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.6 2004/04/22 08:25:48 jpm
* Transformation de $GS_GLOBAL en $_GEN_commun.
*
* Revision 1.5 2004/04/08 13:21:05 jpm
* Le code pour l'installation uniquement.
*
* Revision 1.4 2004/04/08 12:25:16 jpm
* Suppression de tous le code réalisant les vérifications. L'application Installateur ne fera qu'installer Génésia et non vérifier son bon fonctionnement.
*
* Revision 1.3 2004/04/02 16:37:51 jpm
* Modification des commentaires.
*
* Revision 1.2 2004/03/31 16:57:16 jpm
* Ajout de la gestion des erreur de base de données, de la connexion à celle-ci et des extenssions php disponibles.
*
* Revision 1.1 2004/03/29 11:00:12 jpm
* Transfert d'un morceau de code gérant les erreurs et l'installation mais qui a actuellement aucun effet sur Génésia.
*
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
?>
/trunk/papyrus/applications/plan/plan.php
New file
0,0 → 1,250
<?php
/*vim: set expandtab tabstop=4 shiftwidth=4: */
// +------------------------------------------------------------------------------------------------------+
// | PHP version 4.1 |
// +------------------------------------------------------------------------------------------------------+
// | 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 |
// +------------------------------------------------------------------------------------------------------+
// CVS : $Id: plan.php,v 1.1 2004-06-16 14:34:53 jpm Exp $
/**
* Application réalisant le plan d'un site web géré par Papyrus.
*
* Construit une liste de listes représentant le plan du site web appelant cette
* application. Cette application est fortement dépendante de Papyrus puisqu'elle se
* base sur le modèle de données de Papyrus.
*
*@package Plan
//Auteur original :
*@author Alexandre GRANIER <alexandrel@tela-botanica.org>
//Autres auteurs :
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org>
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.1 $ $Date: 2004-06-16 14:34:53 $
// +------------------------------------------------------------------------------------------------------+
*/
 
// +------------------------------------------------------------------------------------------------------+
// | ENTÊTE du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
/*Mettre ici les inclusions de fichiers*/
/** <br> Constante permettatn de configurer l'application en affichant que le plan du site courant si sa valeur vaut true.*/
define('PLAN_SITE_COURRANT', false);
define('PLAN_URL_CLE_SITE', GEN_URL_CLE_SITE);
define('PLAN_URL_CLE_MENU', GEN_URL_CLE_MENU);
define('PLAN_URL_CLE_I18N', GEN_URL_CLE_I18N);
define('PLAN_URL_ID_TYPE_SITE', GEN_URL_ID_TYPE_SITE);
define('PLAN_URL_ID_TYPE_MENU', GEN_URL_ID_TYPE_MENU);
 
// +------------------------------------------------------------------------------------------------------+
// | CORPS du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
/*Mettre ici le code 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() - Fonction appelé par le gestionnaire Papyrus.
*
* Elle démarre la création de la liste contenant le plan du site.
*
* @return string le code HTML produit par l'application.
*/
function afficherContenuCorps()
{
global $_GEN_commun;
$objet_pear_db = $_GEN_commun['pear_db'];
$i18n_url = '';// Evite d'écrire l'i18n dans l'url demandée.
if (!empty($_GEN_commun['url_i18n'])) {
// L'écriture de l'i18n dans les urls des menus est demandée.
$i18n_url = $_GEN_commun['url_i18n'];
}
// Si on veut seulement le plan du site courrant.
if (PLAN_SITE_COURRANT) {
$id_site_principal_courant = $_GEN_commun['info_site']->gs_id_site;
}
$retour = '';
// On effectue une requête sur le site principal puis
// on effectue une requête sur les menus, on les affiche.
$requete = 'SELECT *'.
'FROM gen_site, gen_site_relation '.
'WHERE gs_id_site = gsr_id_site_01 '.
'AND gsr_id_valeur = 102 ';// 102 = site de type "principal"
// Si on veut seulement le plan du site courrant.
if (PLAN_SITE_COURRANT) {
$requete .= 'AND gs_id_site = '.$id_site_principal_courant;
}
$resultat = $objet_pear_db->query($requete);
(DB::isError ($resultat))
? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete))
: '';
// Si on veut seulement le plan du site courrant.
if (PLAN_SITE_COURRANT) {
$retour .= '<h1 id="titre_page">Plan du site</h1>'."\n";
} else {
$retour .= '<h1 id="titre_page">Plan des sites</h1>'."\n";
}
$retour .= '<ul id="plan_site" >'."\n";
while ($ligne_site = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
$retour .= '<li class="nom_site" >'.$ligne_site->gs_nom."\n";
$retour .= PLAN_deployerPlanSite($ligne_site->gs_id_site, 0, $i18n_url);
$retour .= '</li>'."\n";
}
$resultat->free();
$retour.= '</ul>';
return $retour;
}
 
// +------------------------------------------------------------------------------------------------------+
// | LISTE de FONCTIONS |
// +------------------------------------------------------------------------------------------------------+
/*Mettre ici la liste de fonctions.*/
/** Fonction PLAN_deployerPlanSite() - Déploie les menus d'un site.
*
* Affiche une liste de listes XHTML représentant le plan du site courant.
*
* @param int identifiant du site dont on veut afficher le plan.
* @param int identifiant du menu père de celui qui va être affiché.
* @param mixed Si pas vide contient la valeur i18n à afficher dans l'url.
* @return string une liste de listes XHTML représentant le plan du site.
*/
 
function PLAN_deployerPlanSite($id_site, $id_pere = 0, $i18n_url)
{
global $_GEN_commun;
$objet_pear_db = $_GEN_commun['pear_db'];
$retour = '';
$requete = 'SELECT gen_menu.* '.
'FROM gen_menu, gen_menu_relation AS GMR01, gen_menu_relation AS GMR02 '.
'WHERE GMR01.gmr_id_menu_02 = '.$id_pere.' '.
'AND GMR01.gmr_id_menu_01 = gm_id_menu '.
'AND gm_ce_site = '.$id_site.' '.
'AND GMR01.gmr_id_valeur = 1 '.// 1 = avoir "père"
'AND GMR02.gmr_id_menu_02 = gm_id_menu '.
'AND GMR02.gmr_id_menu_01 = GMR02.gmr_id_menu_02 '.
'AND GMR02.gmr_id_valeur = 100 '.// 100 = type "menu classique"
'ORDER BY GMR01.gmr_ordre ASC';
$resultat = $objet_pear_db->query($requete);
if (DB::isError($resultat)) {
die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
}
if ($resultat->numRows() > 0) {
$retour .= '<ul>';
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
$objet_pear_url_base = & new Net_URL('http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']);
// Recherche du code du site
$requete_site_code = 'SELECT gen_site.* '.
'FROM gen_menu, gen_site '.
'WHERE gm_id_menu = '.$ligne->gm_id_menu.' '.
'AND gm_ce_site = gs_id_site';
$resultat_site_code = $objet_pear_db->query($requete_site_code);
if (DB::isError($resultat_site_code)) {
die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_site_code->getMessage(), $requete_site_code));
}
$ligne_site_code = $resultat_site_code->fetchRow(DB_FETCHMODE_OBJECT);
if (PLAN_URL_ID_TYPE_SITE == 'int') {
$objet_pear_url_base->addQueryString(PLAN_URL_CLE_SITE, $ligne_site_code->gs_code_num);
} else {
$objet_pear_url_base->addQueryString(PLAN_URL_CLE_SITE, $ligne_site_code->gs_code_alpha);
}
if (PLAN_URL_ID_TYPE_MENU == 'int') {
$objet_pear_url_base->addQueryString(PLAN_URL_CLE_MENU, $ligne->gm_code_num);
} else {
$objet_pear_url_base->addQueryString(PLAN_URL_CLE_MENU, $ligne->gm_code_alpha);
}
$objet_pear_url = $objet_pear_url_base;
if (!empty($i18n_url)) {
$objet_pear_url->addQueryString(PLAN_URL_CLE_I18N, $i18n_url);
}
$url = $objet_pear_url->getURL();
$retour .= '<li class="nom_menu">'."\n";
$retour .= '<a href="'.$url.'">'.$ligne->gm_nom.'</a>&nbsp;'."\n";
// Recherche des traductions
$requete_i18n = 'SELECT gm_id_menu, gm_ce_i18n '.
'FROM gen_menu, gen_menu_relation '.
'WHERE gmr_id_menu_01 = '.$ligne->gm_id_menu.' '.
'AND gmr_id_menu_02 = gm_id_menu '.
'AND gmr_id_valeur = 2 ';// 2 = "avoir traduction"
$resultat_i18n = $objet_pear_db->query($requete_i18n);
(DB::isError($resultat_i18n)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_i18n->getMessage(), $requete_i18n)) : '';
if ($resultat_i18n->numRows() > 0) {
while ($ligne_i18n = $resultat_i18n->fetchRow(DB_FETCHMODE_OBJECT)) {
$objet_pear_url = $objet_pear_url_base;
$objet_pear_url->addQueryString(PLAN_URL_CLE_I18N, $ligne_i18n->gm_ce_i18n);
$url = $objet_pear_url->getURL();
$retour .= '<a href="'.$url.'" hreflang="'.$ligne_i18n->gm_ce_i18n.'">['.$ligne_i18n->gm_ce_i18n.']</a>&nbsp;'."\n";
}
}
$retour .= PLAN_deployerPlanSite($id_site, $ligne->gm_id_menu, $i18n_url);
$retour .= '</li>'."\n";
}
$retour .= '</ul>'."\n";
}
return $retour;
}
 
// +------------------------------------------------------------------------------------------------------+
// | PIED du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
/*Partie non obligatoire*/
 
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.7 2004/05/05 15:33:59 jpm
* Gestion de l'indication des langues disponibles pour un menu d'un site donné.
*
* Revision 1.6 2004/05/05 14:33:00 jpm
* Gestion de l'indication de langue dans l'url.
* Utile que si on veut forcer la langue.
*
* Revision 1.5 2004/05/05 06:45:51 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.4 2004/05/04 16:27:27 jpm
* Réduction de code pour la fonction afficherContenuTete().
*
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
?>
/trunk/papyrus/applications/admin_menu/presentations/images/interface/doc.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/papyrus/applications/admin_menu/presentations/images/interface/doc.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/papyrus/applications/admin_menu/presentations/images/interface/openclose-plus.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/papyrus/applications/admin_menu/presentations/images/interface/openclose-plus.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/papyrus/applications/admin_menu/presentations/images/interface/see.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/papyrus/applications/admin_menu/presentations/images/interface/see.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/papyrus/applications/admin_menu/presentations/images/interface/up-arrow.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/papyrus/applications/admin_menu/presentations/images/interface/up-arrow.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/papyrus/applications/admin_menu/presentations/images/interface/down-arrow.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/papyrus/applications/admin_menu/presentations/images/interface/down-arrow.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/papyrus/applications/admin_menu/presentations/images/interface/openclose-minus.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/papyrus/applications/admin_menu/presentations/images/interface/openclose-minus.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/papyrus/applications/admin_menu/presentations/images/interface/trash.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/papyrus/applications/admin_menu/presentations/images/interface/trash.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/papyrus/applications/admin_menu/presentations/images/interface/addcross.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/papyrus/applications/admin_menu/presentations/images/interface/addcross.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/papyrus/applications/admin_menu/configuration/adme_configuration.inc.php
New file
0,0 → 1,86
<?php
/*vim: set expandtab tabstop=4 shiftwidth=4: */
// +------------------------------------------------------------------------------------------------------+
// | PHP version 4.1 |
// +------------------------------------------------------------------------------------------------------+
// | 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 |
// +------------------------------------------------------------------------------------------------------+
// CVS : $Id: adme_configuration.inc.php,v 1.1 2004-06-16 14:39:44 jpm Exp $
/**
* Fichier de configuration général de l'application Administrateur de Menus.
*
* Permet de définir certains paramètres valables pour toutes l'application
* Administrateur de Menus.
*
*@package Administrateur de Menus
//Auteur original :
*@author Alexandre GRANIER <alexandre@tela-botanica.org>
//Autres auteurs :
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org>
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.1 $ $Date: 2004-06-16 14:39:44 $
// +------------------------------------------------------------------------------------------------------+
*/
 
// +------------------------------------------------------------------------------------------------------+
// | ENTETE du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
/*Mettre ici les inclusions de fichiers*/
 
 
// +------------------------------------------------------------------------------------------------------+
// | CORPS du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
/*Mettre ici le code du programme*/
// Chemin des fichiers à inclure.
define('ADME_CHEMIN_BIBLIOTHEQUE_PEAR', '');
define('ADME_CHEMIN_BIBLIOTHEQUE_API', GEN_CHEMIN_API);
define('ADME_CHEMIN_BIBLIOTHEQUE_GEN', GEN_CHEMIN_BIBLIO);
 
// Chemin vers les dossiers de l'application
define('ADME_CHEMIN_APPLICATION', GEN_CHEMIN_APPLICATION.'admin_menu/');
define('ADME_CHEMIN_IMAGE_INTERFACE', ADME_CHEMIN_APPLICATION.'presentations/images/interface/');
define('ADME_CHEMIN_BIBLIOTHEQUE_ADME', ADME_CHEMIN_APPLICATION.'bibliotheque/');
 
// Chemin vers le dossier contenant les images des drapeaux des pays
define('ADME_CHEMIN_IMAGE_DRAPEAUX', GEN_CHEMIN_COMMUN.GEN_DOSSIER_GENERIQUE.'/'.GEN_DOSSIER_IMAGE.'/drapeaux/');
 
// Chemin (intégrant le nom du fichier) vers les images de l'interface de l'application
define('ADME_IMAGE_PLUS', ADME_CHEMIN_IMAGE_INTERFACE.'openclose-plus.gif') ;
define('ADME_IMAGE_MOINS', ADME_CHEMIN_IMAGE_INTERFACE.'openclose-minus.gif') ;
define('ADME_IMAGE_VOIR', ADME_CHEMIN_IMAGE_INTERFACE.'see.gif') ;
define('ADME_IMAGE_FLECHE_HAUT', ADME_CHEMIN_IMAGE_INTERFACE.'up-arrow.gif') ;
define('ADME_IMAGE_FLECHE_BAS', ADME_CHEMIN_IMAGE_INTERFACE.'down-arrow.gif') ;
define('ADME_IMAGE_SUPPRIMER', ADME_CHEMIN_IMAGE_INTERFACE.'trash.gif') ;
define('ADME_IMAGE_NOUVEAU', ADME_CHEMIN_IMAGE_INTERFACE.'addcross.gif') ;
define('ADME_IMAGE_TEXTE', ADME_CHEMIN_IMAGE_INTERFACE.'doc.gif') ;
 
 
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.7 2004/05/07 16:32:46 jpm
* Correction erreur de chemin.
*
* Revision 1.6 2004/05/07 09:53:58 jpm
* Ajout de commentaires et de nouvelles constantes.
*
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
?>
/trunk/papyrus/applications/admin_site/configuration/adsi_configuration.inc.php
New file
0,0 → 1,69
<?php
/*vim: set expandtab tabstop=4 shiftwidth=4: */
// +------------------------------------------------------------------------------------------------------+
// | PHP version 4.1 |
// +------------------------------------------------------------------------------------------------------+
// | 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 |
// +------------------------------------------------------------------------------------------------------+
// CVS : $Id: adsi_configuration.inc.php,v 1.1 2004-06-16 14:20:28 jpm Exp $
/**
* Fichier de configuration général de l'application Administrateur de sites.
*
* Permet de définir certains paramètres valables pour toutes l'application
* Administrateur de sites.
*
*@package Administrateur de Sites
//Auteur original :
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org>
//Autres auteurs :
*@author Aucun
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.1 $ $Date: 2004-06-16 14:20:28 $
// +------------------------------------------------------------------------------------------------------+
*/
 
// +------------------------------------------------------------------------------------------------------+
// | ENTETE du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
/*Mettre ici les inclusions de fichiers*/
 
 
// +------------------------------------------------------------------------------------------------------+
// | CORPS du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
/*Mettre ici le code du programme*/
// Chemin des fichiers à inclure.
/** <br> Chemin vers le dossier de Pear.*/
define('ADSI_CHEMIN_BIBLIOTHEQUE_PEAR','');
/** <br> Chemin vers le dossier des API.*/
define('ADSI_CHEMIN_BIBLIOTHEQUE_API', GEN_CHEMIN_API);
/** <br> Chemin vers le dossier des bibliothèques de l'appli Papyrus.*/
define('ADSI_CHEMIN_BIBLIOTHEQUE_GEN', GEN_CHEMIN_BIBLIO);
/** <br> Chemin vers le dossier des bibliothèques de l'appli Admin sites.*/
define('ADSI_CHEMIN_BIBLIOTHEQUE_ADSI', GEN_CHEMIN_APPLICATION.'admin_site/bibliotheque/');
 
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.1 2004/05/07 08:21:39 jpm
* Ajout des constantes de définition des chemins des fichiers à inclure.
*
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
?>
/trunk/papyrus/applications/admin_site/bibliotheque/adsi_admin.fonct.php
New file
0,0 → 1,108
<?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 |
// +------------------------------------------------------------------------------------------------------+
// CVS : $Id: adsi_admin.fonct.php,v 1.1 2004-06-16 14:22:26 jpm Exp $
/**
* Bibliothèque de fonctions pour la manipulation des administrateurs par l'application Administrateur de Papyrus.
*
* Contient principalement des fonctions permettant d'obtenir des informations sur les administrateurs de Papyrus.
*
*@package Administrateur de Sites
*@subpackage Fonctions
//Auteur original :
*@author Laurent COUDOUNEAU <lc@gsite.org>
//Autres auteurs :
*@author Jean-Pascal MILCENT <jpm@tela-botanica.orG>
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.1 $ $Date: 2004-06-16 14:22:26 $
// +------------------------------------------------------------------------------------------------------+
**/
 
// +------------------------------------------------------------------------------------------------------+
// | ENTÊTE du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
define ('level_admin', 0);
 
// +------------------------------------------------------------------------------------------------------+
// | LISTE des FONCTIONS |
// +------------------------------------------------------------------------------------------------------+
 
// +------------------------------------------------------------------------------------------------------+
function getUserInfos ($db, $link, $appl, $project, $userid)
{
$query =
"select * from $db.annu_ADMIN".
" where AA_USER_ID='$userid'".
" and AA_PROJECT='$project'".
" and AA_APPL='$appl'";
$result = mysql_query ($query, $link);
if (! $result) {
die ("Unable to perform query ($query / " . mysql_error ($link) . ")");
}
if (mysql_num_rows ($result) != 1) {
mysql_free_result ($result);
return array ('level' => -1, 'args' => '');
}
$row = mysql_fetch_object ($result);
mysql_free_result ($result);
return array ('level' => $row->AA_LEVEL, 'args' => $row->AA_ARGUMENT);
}
 
// +------------------------------------------------------------------------------------------------------+
 
function getUserLevel ($db, $link, $appl, $project, $userid)
{
$infos = getUserInfos ($db, $link, $appl, $project, $userid);
return $infos['level'];
}
 
// +------------------------------------------------------------------------------------------------------+
 
function userIsAdministrator ($db, $link, $appl, $project, $userid)
{
return (getUserLevel ($db, $link, $appl, $project, $userid) == level_admin);
}
 
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.4 2004/04/01 11:24:19 jpm
* Ajout et modification de commentaires pour PhpDocumentor.
*
* Revision 1.3 2004/03/26 12:50:52 jpm
* Mise en forme de l'indentation des fonctions.
*
* Revision 1.2 2004/03/23 08:28:23 jpm
* Mise en conformité avec la convention de codage.
* Ajout de l'entête conforme.
*
*
*/
?>
/trunk/papyrus/applications/admin_site/bibliotheque/adsi_squelette.fonct.php
New file
0,0 → 1,287
<?
//------------------------------------------------------------------------------
// FICHIER : $RCSfile: adsi_squelette.fonct.php,v $
// AUTEUR : $Author: jpm $
// VERSION : $Revision: 1.1 $
// DATE : $Date: 2004-06-16 14:28:53 $
//------------------------------------------------------------------------------
// GSite - Web site management in PHP - gus module
//
// Copyright (C) 2001 COUDOUNEAU Laurent (lc@gsite.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
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
 
//==============================================================================
//==============================================================================
 
function updatePresentation ($db, $link, $project, $locale,
$baseURL, $baseURLjs, $baseHidden,
$managedProject) {
//----------------------------------------------------------------------------
// JavaScript.
$not_empty = gs_getLabel ($db, $link, 'not_empty', $locale, false);
js_register ('validateAndSubmit',
" function validateAndSubmit (oForm) {"."\n".
" if (oForm.guspresP_LOOK_NAME.value == '') {"."\n".
" alert ('P_LOOK_NAME : $not_empty');"."\n".
" return;"."\n".
" }"."\n".
" "."\n".
" oForm.submit ();"."\n".
" }"."\n"
);
//----------------------------------------------------------------------------
// Query project : get presentation.
$query = "select * from $db.PROJECT where GS_PROJECT='$managedProject'";
$result = mysql_query ($query, $link);
if (! $result) {
die ("Unable to perform query ($query / " . mysql_error ($link) . ")");
}
$button = '';
$text = '';
$pres = '';
$msg = '';
$title = '';
if (mysql_num_rows ($result) != 1) {
//--------------------------------------------------------------------------
// Unknown project.
$msg = gs_getLabel ($db, $link, 'gus_unknown_prj', $locale, 'gus')." ($managedProject)";
$button =
gs_genericButtons ($db, $link, $locale,
array (
array (
'text' => 'back',
'appl' => 'gsite',
'url' => $baseURL)),
false);
} else {
//--------------------------------------------------------------------------
// Get row.
$row = mysql_fetch_object ($result);
$pres = $row->GS_PRESENTATION;
//--------------------------------------------------------------------------
// Get presentation.
$query = "select * from $db.".$pres."_PRESENTATION where P_LOOK_NAME='$row->GS_LOOK_NAME'";
$PRESresult = mysql_query ($query, $link);
if (! $PRESresult) {
die ("Unable to perform query ($query / " . mysql_error ($link) . ")");
}
$numFields = mysql_num_fields ($PRESresult);
//-- We already have a presentation ?
$title .= '&nbsp;: ';
if (mysql_num_rows ($PRESresult) == 0) {
$title .= gs_getLabel ($db, $link, 'gus_title5_not_exist', $locale, 'gus');
} else {
$title .= gs_getLabel ($db, $link, 'gus_title5_exist', $locale, 'gus');
}
//-- Get infos about fields.
$metaArray = array ();
for ($i = 0; $i < $numFields; $i++) {
$metaArray[$i] = mysql_fetch_field ($PRESresult);
}
//-- Get result.
$PRESrow = mysql_fetch_row ($PRESresult);
$dataArray = array ();
for ($i = 0; $i < $numFields; $i++) {
$dataArray[$i] = $PRESrow[$i];
}
//--------------------------------------------------------------------------
// Dump form.
$text = '';
$text .= "\n".'<FORM name="gform" action="document.php" method="post">';
$text .= "\n".' <TABLE cellspacing="0" cellpadding="0" border="0" summary="">';
for ($i = 0; $i < $numFields; $i++) {
$text .= "\n".' <TR>';
$text .= "\n".' <TD class="gusLabel">'.htmlentities ($metaArray[$i]->name).'&nbsp;:&nbsp;</TD>';
$text .= "\n".' <TD class="gusInput"><INPUT';
$text .= "\n".' class="gusInput"';
$text .= "\n".' type="text"';
$text .= "\n".' name="guspres'.$metaArray[$i]->name.'"';
$text .= "\n".' size="48"';
$text .= "\n".' maxlength="255"';
$text .= "\n".' value="'.htmlentities ((($dataArray[$i] == '') && ($metaArray[$i]->name == 'P_LOOK_NAME')
? $row->GS_LOOK_NAME
: $dataArray[$i])).'"></TD>';
$text .= "\n".' </TR>';
}
$text .= "\n".' <TR>';
$text .= "\n".' <TD align="center" colspan="2"><TABLE border="0" summary="" width="100%" cellpadding="0" cellspacing="0">';
$text .= "\n".' <TR>';
$text .= "\n".' <TD align="center"><INPUT type="image" src="Local/icons/validate.gif"></TD>';
$text .= "\n".' <TD align="center"><A href="'.$baseURL.'"><IMG '.
'border="0" src="Local/icons/cancel.gif" alt="" width="16" height="16"></A></TD>';
$text .= "\n".' </TR>';
$text .= "\n".' </TABLE></TD>';
$text .= "\n".' </TR>';
$text .= "\n".' </TABLE>';
$text .= "\n".' <INPUT type="hidden" name="gusprjid" value="'.htmlentities ($managedProject).'">';
$text .= "\n".' <INPUT type="hidden" name="gusprsid" value="'.htmlentities ($row->GS_LOOK_NAME).'">';
$text .= "\n".' <INPUT type="hidden" name="gusprjpres" value="'.htmlentities ($row->GS_PRESENTATION).'">';
$text .= "\n".' <INPUT type="hidden" name="guscmd" value="commitupdpres">';
$text .= $baseHidden;
$text .= "\n".'</FORM>';
}
mysql_free_result ($result);
//----------------------------------------------------------------------------
// Build page.
$title =
$managedProject.
(empty ($pres) ? '' : ' / '.$pres).
$title;
return
buildPage (
$button, '',
$title,
$text,
$msg);
}
 
//==============================================================================
//==============================================================================
 
function commitUpdatePresentation ($db, $link, $project, $locale,
$userLevel, $adminProject,
$baseURL, $baseURLjs) {
global $gusprjid;
global $gusprsid;
global $gusprjpres;
global $guspresP_LOOK_NAME;
//----------------------------------------------------------------------------
// Look name set ?
$msg = '';
if (isset ($guspresP_LOOK_NAME) && ($guspresP_LOOK_NAME != '')) {
//--------------------------------------------------------------------------
// This look name already exist ?
$query = "select * from $db.$gusprjpres"."_PRESENTATION where P_LOOK_NAME='$gusprsid'";
$result = mysql_query ($query, $link);
if (! $result) {
die ("Unable to perform query ($query / " . mysql_error ($link) . ")");
}
$presExist = (mysql_num_rows ($result) == 1);
mysql_free_result ($result);
//--------------------------------------------------------------------------
// We have a look name. We get others informations, and build request.
global $HTTP_POST_VARS;
$query = '';
reset ($HTTP_POST_VARS);
while (list ($key, $val) = each ($HTTP_POST_VARS)) {
if (substr ($key, 0, strlen ('guspres')) == 'guspres') {
if ($query != '') $query .= ', ';
$query .= substr ($key, strlen ('guspres'), strlen ($key) - strlen ('guspres'))."='$val'";
}
}
if ($presExist) {
$query = "update $db.$gusprjpres"."_PRESENTATION set ".$query." where P_LOOK_NAME='$gusprsid'";
} else {
$query = "insert into $db.$gusprjpres"."_PRESENTATION set ".$query;
}
//--------------------------------------------------------------------------
// Execute query.
$result = mysql_query ($query, $link);
if (! $result) {
die ("Unable to perform query ($query / " . mysql_error ($link) . ")");
}
} else {
$msg = gs_getLabel ($db, $link, 'gus_pres_noname', $locale, 'gus');
}
//----------------------------------------------------------------------------
// List all projects.
return
listProjects ($db, $link, $project, $locale,
$userLevel, $adminProject,
$baseURL, $baseURLjs,
$msg);
}
 
//------------------------------------------------------------------------------
// $Log: not supported by cvs2svn $
// Revision 1.1 2003/10/10 09:58:21 alex
// installation
//
// Revision 1.1.1.1 2002/10/02 07:32:21 root
// initialisation site de Tela
//
// Revision 1.2 2002/06/14 07:22:38 lc
// Bug LC0021 : use js_register
//
// Revision 1.1 2002/02/25 16:35:57 lc
// First revision.
//
//-- End of source ------------------------------------------------------------
?>
/trunk/papyrus/applications/admin_site/bibliotheque/adsi_affichage.fonct.php
New file
0,0 → 1,176
<?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 |
// +------------------------------------------------------------------------------------------------------+
// CVS : $Id: adsi_affichage.fonct.php,v 1.1 2004-06-16 14:23:01 jpm Exp $
/**
* Bibliothèque de fonctions de construction du xhtml de l'application Administrateur de Sites.
*
* Contient un ensemble de fonctions permettant à l'application Administrateur de Sites de généré son xhtml.
*
*@package Administrateur de Sites
*@subpackage Fonctions
//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 $Date: 2004-06-16 14:23:01 $
// +------------------------------------------------------------------------------------------------------+
**/
 
// +------------------------------------------------------------------------------------------------------+
// | LISTE des FONCTIONS |
// +------------------------------------------------------------------------------------------------------+
 
/** Fonction ADMIN_contruirePage()- Génére le xhtml d'une page de l'application administrateur.
*
* Cette fonction formate de la même façon toutes les pages de l'application Administrateur
* avant de les renvoyer.
*
* @param string le titre du contenu de la page.
* @param string le corps du contenu de la page.
* @param string un message important à destination de l'utilisateur.
* return string le code XHTML à retourner.
*/
function ADMIN_contruirePage($titre, $texte, $message = '')
{
// Page.
$sortie = '';
$sortie .= "\n";
$sortie .= '<!-- Application page -->'."\n";
$sortie .= str_repeat(' ', 12).'<h1>'.$titre.'</h1>'."\n";
if (! empty ($message)) {
$sortie .= $message;
}
$sortie .= $texte."\n";
return $sortie;
}
 
/** Fonction ADMIN_donnerFormInputElements()- Génére le xhtml pour la création de balise input.
*
* Cette fonction génère une liste de balise input pour un formulaire.
* Elle contient 1 tableau associatif en paramètre.
*
* Tableau des boutons : c'est une tableau de description de bouton, chaque description est elle-même
* dans un tableau contenant les clés suivantes :
* - type : correspond au texte présent dans l'attribut "type" du bouton.
* - id : le texte présent dans l'attribut "id" du bouton.
* - name : le texte présent dans l'attribut "name" du bouton.
* - size : le texte présent dans l'attribut "id" du bouton.
* - value : correspond au texte présent dans l'attribut "value" du bouton.
*
* @param array tableau contenant les descriptions des boutons.
* return string le code XHTML des boutons.
*/
function ADMIN_donnerFormInputElements($aso_elements)
{
// Construction du xhtml des boutons
$retour = '';
for ($i = 0; $i < sizeof($aso_elements); $i++) {
// Récupération du tableau associatif d'un bouton.
$bt_info = $aso_elements[$i];
// Contenu commun à tous les éléments
$bt_id_generique = 'element_'.($i+1);
$bt_id = (empty($bt_info['id'])) ? $bt_id_generique : $bt_info['id'] ;
$bt_name_generique = $bt_id;
$bt_name = (empty($bt_info['name'])) ? $bt_name_generique : $bt_info['name'] ;
$bt_tabindex_generique = ($i+10);
$bt_tabindex = (empty($bt_info['tabindex'])) ? $bt_tabindex_generique : $bt_info['tabindex'] ;
$bt_obligatoire = false;
$bt_obligatoire = (!isset($bt_info['obligatoire'])) ? false : true ;
// Contenu spécifique au type d'élément
$retour .= str_repeat(' ', 16).'<li>';
$retour .= (empty($bt_info['label'])) ? '' : '<label for="'.$bt_info['id'].'">'.$bt_info['label'].'</label>';
if ($bt_info['element'] == 'input') {
$bt_type_generique = 'text';
$bt_type = (empty($bt_info['type'])) ? $bt_type_generique : $bt_info['type'] ;
$bt_size_generique = '';
$bt_size = (empty($bt_info['size'])) ? $bt_size_generique : $bt_info['size'];
$bt_value_generique = ($bt_type != 'submit') ? '' : 'OK';
$bt_value = (empty($bt_info['value'])) ? $bt_value_generique : $bt_info['value'] ;
// Rendu xhtml
$retour .= '<'.$bt_info['element'].' '.
'type="'. $bt_type .'" '.
'id="'. $bt_id .'" '.
'name="'. $bt_name .'" ';
$retour .= (!isset($bt_info['value'])) ? '' : 'value="'.$bt_value.'" ';
$retour .= (!isset($bt_info['size'])) ? '' : 'size="'.$bt_size.'" ';
$retour .= (!isset($bt_info['maxlength'])) ? '' : 'maxlength="'.$bt_info['maxlength'].'" ';
$retour .= (!isset($bt_info['checked'])) ? '' : 'checked="checked" ';
$retour .= (!isset($bt_info['disabled'])) ? '' : 'disabled="disabled" ';
$retour .= (!isset($bt_info['readonly'])) ? '' : 'readonly="readonly" ';
$retour .= 'tabindex="'. $bt_tabindex .'" />';
} else if ($bt_info['element'] == 'textarea') {
$bt_rows_generique = '25';
$bt_rows = (empty($bt_info['rows'])) ? $bt_rows_generique : $bt_info['rows'] ;
$bt_cols_generique = '75';
$bt_cols = (empty($bt_info['cols'])) ? $bt_cols_generique : $bt_info['cols'] ;
// Rendu xhtml
$retour .= '<'.$bt_info['element'].' '.
'id="'. $bt_id .'" '.
'name="'. $bt_name .'" '.
'rows="'. $bt_rows .'" '.
'cols="'. $bt_cols .'" ';
$retour .= (empty($bt_info['disabled'])) ? '' : 'disabled="disabled" ';
$retour .= 'tabindex="'. $bt_tabindex .'">';
$retour .= $bt_value;
$retour .= '</'.$bt_info['element'].'>';
}
$retour .= (!$bt_obligatoire) ? '' : '<span id="symoble_obligatoire">*</span>';
$retour .= '</li>'."\n";
}
return $retour;
}
 
// +- Fin du code source --------------------------------------------------------------------------------+
/*
* $Log: not supported by cvs2svn $
* Revision 1.6 2004/05/07 16:33:39 jpm
* Modification de commentaires.
*
* Revision 1.5 2004/04/30 16:22:53 jpm
* Poursuite de l'administration des sites.
*
* Revision 1.4 2004/04/02 16:36:35 jpm
* Ajout d'une fonction générant des boutons pour les formulaires.
*
* Revision 1.3 2004/04/01 11:21:41 jpm
* Ajout et modification de commentaires pour PhpDocumentor.
*
* Revision 1.2 2004/03/24 20:02:25 jpm
* Modification de l'indentation du xhtml renvoyé.
*
* Revision 1.1 2004/03/24 10:01:33 jpm
* Changement de nom de la bibliothèque de fonction d'affichage du xhtml.
*
* Revision 1.1 2004/03/24 10:00:11 jpm
* Transfert de la fonction de contruction du xhtml de l'application dans ce fichier.
*
*
*/
/trunk/papyrus/applications/admin_site/bibliotheque/adsi_style.fonct.php
New file
0,0 → 1,669
<?
//------------------------------------------------------------------------------
// FICHIER : $RCSfile: adsi_style.fonct.php,v $
// AUTEUR : $Author: jpm $
// VERSION : $Revision: 1.1 $
// DATE : $Date: 2004-06-16 14:29:01 $
//------------------------------------------------------------------------------
// GSite - Web site management in PHP - gus module
//
// Copyright (C) 2001 COUDOUNEAU Laurent (lc@gsite.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
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
 
//==============================================================================
//==============================================================================
 
function addStyle ($db, $link) {
$styleName = substr (md5 (uniqid (rand ())), 0, 16);
$query = "insert into $db.STYLE set S_NAME='$styleName'";
$result = mysql_query ($query, $link);
 
if (! $result) {
die ("Unable to perform query ($query / " . mysql_error ($link) . ")");
}
}
 
//==============================================================================
//==============================================================================
 
function delStyle ($db, $link, $gusstyid) {
$query = "delete from $db.STYLE where S_NAME='$gusstyid'";
$result = mysql_query ($query, $link);
 
if (! $result) {
die ("Unable to perform query ($query / " . mysql_error ($link) . ")");
}
}
 
//==============================================================================
//==============================================================================
 
function updStyle ($db, $link, $locale, $gusstyid, $baseURL, $baseHidden, $msg = '') {
//----------------------------------------------------------------------------
// Get style.
$query = "select * from $db.STYLE where S_NAME='$gusstyid'";
$result = mysql_query ($query, $link);
 
if (! $result) {
die ("Unable to perform query ($query / " . mysql_error ($link) . ")");
}
$row = mysql_fetch_object ($result);
mysql_free_result ($result);
if (! $row) return '';
//----------------------------------------------------------------------------
// Labels.
$nameLabel = gs_getLabel ($db, $link, 'gus_name', $locale, 'gus').'&nbsp;:&nbsp;';
$txtcolLabel = gs_getLabel ($db, $link, 'gus_col_txt', $locale, 'gus').'&nbsp;:&nbsp;';
$col1Label = gs_getLabel ($db, $link, 'gus_col_1', $locale, 'gus').'&nbsp;:&nbsp;';
$col2Label = gs_getLabel ($db, $link, 'gus_col_2', $locale, 'gus').'&nbsp;:&nbsp;';
$col3Label = gs_getLabel ($db, $link, 'gus_col_3', $locale, 'gus').'&nbsp;:&nbsp;';
$col4Label = gs_getLabel ($db, $link, 'gus_col_4', $locale, 'gus').'&nbsp;:&nbsp;';
$col5Label = gs_getLabel ($db, $link, 'gus_col_5', $locale, 'gus').'&nbsp;:&nbsp;';
$col6Label = gs_getLabel ($db, $link, 'gus_col_6', $locale, 'gus').'&nbsp;:&nbsp;';
$col7Label = gs_getLabel ($db, $link, 'gus_col_7', $locale, 'gus').'&nbsp;:&nbsp;';
$txtinvcolLabel = gs_getLabel ($db, $link, 'gus_col_txt_inv', $locale, 'gus').'&nbsp;:&nbsp;';
$txtaltcolLabel = gs_getLabel ($db, $link, 'gus_col_txt_alert', $locale, 'gus').'&nbsp;:&nbsp;';
$fontfLabel = gs_getLabel ($db, $link, 'gus_font_fam', $locale, 'gus').'&nbsp;:&nbsp;';
$fonttLabel = gs_getLabel ($db, $link, 'gus_font_tiny', $locale, 'gus').'&nbsp;:&nbsp;';
$fontsLabel = gs_getLabel ($db, $link, 'gus_font_small', $locale, 'gus').'&nbsp;:&nbsp;';
$fontbLabel = gs_getLabel ($db, $link, 'gus_font_big', $locale, 'gus').'&nbsp;:&nbsp;';
//----------------------------------------------------------------------------
// Dump data.
$outputText = '';
$outputText .= "\n".'<TR>';
$outputText .= "\n".' <TD><FORM name="updform" action="document.php" method="POST">'.
'<TABLE align="center" summary="" cellspacing="0" cellpadding="0" border="0">';
if ($msg != '') {
$outputText .= "\n".' <TR><TD class="gusError" colspan="6">'.$msg.'</TD></TR>';
}
$outputText .= "\n".' <TR>';
$outputText .= "\n".' <TD class="gusLabel">'.$nameLabel.'</TD>';
$outputText .= "\n".' <TD class="gusInput" colspan="5"><INPUT';
$outputText .= "\n".' class="gusInput"';
$outputText .= "\n".' type="text"';
$outputText .= "\n".' name="gusname"';
$outputText .= "\n".' size="16"';
$outputText .= "\n".' maxlength="16"';
$outputText .= "\n".' value="'.htmlentities ($row->S_NAME).'"></TD>';
$outputText .= "\n".' </TR>';
$outputText .= "\n".' <TR><TD colspan="6"><IMG src="Local/vide.gif" alt="" width="1" height="5"></TD></TR>';
$outputText .= "\n".' <TR>';
$outputText .= "\n".' <TD class="gusLabel">'.$txtcolLabel.'</TD>';
$outputText .= "\n".' <TD class="gusInput"><INPUT';
$outputText .= "\n".' class="gusInput"';
$outputText .= "\n".' type="text"';
$outputText .= "\n".' name="guscoltxt"';
$outputText .= "\n".' size="10"';
$outputText .= "\n".' maxlength="16"';
$outputText .= "\n".' value="'.htmlentities ($row->S_COLOR_TEXT).'"></TD>';
$outputText .= "\n".' <TD bgcolor="'.$row->S_COLOR_TEXT.'"><IMG src="Local/vide.gif" alt="" width="20" height="20"></TD>';
$outputText .= "\n".' </TR>';
$outputText .= "\n".' <TR>';
$outputText .= "\n".' <TD class="gusLabel">'.$txtinvcolLabel.'</TD>';
$outputText .= "\n".' <TD class="gusInput"><INPUT';
$outputText .= "\n".' class="gusInput"';
$outputText .= "\n".' type="text"';
$outputText .= "\n".' name="guscolinvtxt"';
$outputText .= "\n".' size="10"';
$outputText .= "\n".' maxlength="16"';
$outputText .= "\n".' value="'.htmlentities ($row->S_COLOR_TEXT_INVERSE).'"></TD>';
$outputText .= "\n".' <TD bgcolor="'.$row->S_COLOR_TEXT_INVERSE.'"><IMG src="Local/vide.gif" alt="" width="20" height="20"></TD>';
$outputText .= "\n".' <TD class="gusLabel">'.$txtaltcolLabel.'</TD>';
$outputText .= "\n".' <TD class="gusInput"><INPUT';
$outputText .= "\n".' class="gusInput"';
$outputText .= "\n".' type="text"';
$outputText .= "\n".' name="guscolalttxt"';
$outputText .= "\n".' size="10"';
$outputText .= "\n".' maxlength="16"';
$outputText .= "\n".' value="'.htmlentities ($row->S_COLOR_TEXT_ALERT).'"></TD>';
$outputText .= "\n".' <TD bgcolor="'.$row->S_COLOR_TEXT_ALERT.'"><IMG src="Local/vide.gif" alt="" width="20" height="20"></TD>';
$outputText .= "\n".' </TR>';
$outputText .= "\n".' <TR><TD colspan="6"><IMG src="Local/vide.gif" alt="" width="1" height="5"></TD></TR>';
$outputText .= "\n".' <TR>';
$outputText .= "\n".' <TD class="gusLabel">'.$col1Label.'</TD>';
$outputText .= "\n".' <TD class="gusInput"><INPUT';
$outputText .= "\n".' class="gusInput"';
$outputText .= "\n".' type="text"';
$outputText .= "\n".' name="guscol1"';
$outputText .= "\n".' size="10"';
$outputText .= "\n".' maxlength="16"';
$outputText .= "\n".' value="'.htmlentities ($row->S_COLOR_1).'"></TD>';
$outputText .= "\n".' <TD bgcolor="'.$row->S_COLOR_1.'"><IMG src="Local/vide.gif" alt="" width="20" height="20"></TD>';
$outputText .= "\n".' <TD class="gusLabel">'.$col2Label.'</TD>';
$outputText .= "\n".' <TD class="gusInput"><INPUT';
$outputText .= "\n".' class="gusInput"';
$outputText .= "\n".' type="text"';
$outputText .= "\n".' name="guscol2"';
$outputText .= "\n".' size="10"';
$outputText .= "\n".' maxlength="16"';
$outputText .= "\n".' value="'.htmlentities ($row->S_COLOR_2).'"></TD>';
$outputText .= "\n".' <TD bgcolor="'.$row->S_COLOR_2.'"><IMG src="Local/vide.gif" alt="" width="20" height="20"></TD>';
$outputText .= "\n".' </TR>';
$outputText .= "\n".' <TR>';
$outputText .= "\n".' <TD class="gusLabel">'.$col3Label.'</TD>';
$outputText .= "\n".' <TD class="gusInput"><INPUT';
$outputText .= "\n".' class="gusInput"';
$outputText .= "\n".' type="text"';
$outputText .= "\n".' name="guscol3"';
$outputText .= "\n".' size="10"';
$outputText .= "\n".' maxlength="16"';
$outputText .= "\n".' value="'.htmlentities ($row->S_COLOR_3).'"></TD>';
$outputText .= "\n".' <TD bgcolor="'.$row->S_COLOR_3.'"><IMG src="Local/vide.gif" alt="" width="20" height="20"></TD>';
$outputText .= "\n".' </TR>';
$outputText .= "\n".' <TR>';
$outputText .= "\n".' <TD class="gusLabel">'.$col7Label.'</TD>';
$outputText .= "\n".' <TD class="gusInput"><INPUT';
$outputText .= "\n".' class="gusInput"';
$outputText .= "\n".' type="text"';
$outputText .= "\n".' name="guscol7"';
$outputText .= "\n".' size="10"';
$outputText .= "\n".' maxlength="16"';
$outputText .= "\n".' value="'.htmlentities ($row->S_COLOR_7).'"></TD>';
$outputText .= "\n".' <TD bgcolor="'.$row->S_COLOR_7.'"><IMG src="Local/vide.gif" alt="" width="20" height="20"></TD>';
$outputText .= "\n".' <TD class="gusLabel">'.$col4Label.'</TD>';
$outputText .= "\n".' <TD class="gusInput"><INPUT';
$outputText .= "\n".' class="gusInput"';
$outputText .= "\n".' type="text"';
$outputText .= "\n".' name="guscol4"';
$outputText .= "\n".' size="10"';
$outputText .= "\n".' maxlength="16"';
$outputText .= "\n".' value="'.htmlentities ($row->S_COLOR_4).'"></TD>';
$outputText .= "\n".' <TD bgcolor="'.$row->S_COLOR_4.'"><IMG src="Local/vide.gif" alt="" width="20" height="20"></TD>';
$outputText .= "\n".' </TR>';
$outputText .= "\n".' <TR>';
$outputText .= "\n".' <TD class="gusLabel">'.$col5Label.'</TD>';
$outputText .= "\n".' <TD class="gusInput"><INPUT';
$outputText .= "\n".' class="gusInput"';
$outputText .= "\n".' type="text"';
$outputText .= "\n".' name="guscol5"';
$outputText .= "\n".' size="10"';
$outputText .= "\n".' maxlength="16"';
$outputText .= "\n".' value="'.htmlentities ($row->S_COLOR_5).'"></TD>';
$outputText .= "\n".' <TD bgcolor="'.$row->S_COLOR_5.'"><IMG src="Local/vide.gif" alt="" width="20" height="20"></TD>';
$outputText .= "\n".' <TD class="gusLabel">'.$col6Label.'</TD>';
$outputText .= "\n".' <TD class="gusInput"><INPUT';
$outputText .= "\n".' class="gusInput"';
$outputText .= "\n".' type="text"';
$outputText .= "\n".' name="guscol6"';
$outputText .= "\n".' size="10"';
$outputText .= "\n".' maxlength="16"';
$outputText .= "\n".' value="'.htmlentities ($row->S_COLOR_6).'"></TD>';
$outputText .= "\n".' <TD bgcolor="'.$row->S_COLOR_6.'"><IMG src="Local/vide.gif" alt="" width="20" height="20"></TD>';
$outputText .= "\n".' </TR>';
$outputText .= "\n".' <TR><TD colspan="6"><IMG src="Local/vide.gif" alt="" width="1" height="5"></TD></TR>';
$outputText .= "\n".' <TR>';
$outputText .= "\n".' <TD class="gusLabel">'.$fontfLabel.'</TD>';
$outputText .= "\n".' <TD class="gusInput" colspan="5"><INPUT';
$outputText .= "\n".' class="gusInput"';
$outputText .= "\n".' type="text"';
$outputText .= "\n".' name="gusfontf"';
$outputText .= "\n".' size="64"';
$outputText .= "\n".' maxlength="255"';
$outputText .= "\n".' value="'.htmlentities ($row->S_FONT_FAMILY).'"></TD>';
$outputText .= "\n".' </TR>';
$outputText .= "\n".' <TR>';
$outputText .= "\n".' <TD class="gusLabel">'.$fonttLabel.'</TD>';
$outputText .= "\n".' <TD class="gusInput" colspan="5"><INPUT';
$outputText .= "\n".' class="gusInput"';
$outputText .= "\n".' type="text"';
$outputText .= "\n".' name="gusfontt"';
$outputText .= "\n".' size="8"';
$outputText .= "\n".' maxlength="8"';
$outputText .= "\n".' value="'.htmlentities ($row->S_FONT_SIZE_TINY).'"></TD>';
$outputText .= "\n".' </TR>';
$outputText .= "\n".' <TR>';
$outputText .= "\n".' <TD class="gusLabel">'.$fontsLabel.'</TD>';
$outputText .= "\n".' <TD class="gusInput" colspan="5"><INPUT';
$outputText .= "\n".' class="gusInput"';
$outputText .= "\n".' type="text"';
$outputText .= "\n".' name="gusfonts"';
$outputText .= "\n".' size="8"';
$outputText .= "\n".' maxlength="8"';
$outputText .= "\n".' value="'.htmlentities ($row->S_FONT_SIZE_SMALL).'"></TD>';
$outputText .= "\n".' </TR>';
$outputText .= "\n".' <TR>';
$outputText .= "\n".' <TD class="gusLabel">'.$fontbLabel.'</TD>';
$outputText .= "\n".' <TD class="gusInput" colspan="5"><INPUT';
$outputText .= "\n".' class="gusInput"';
$outputText .= "\n".' type="text"';
$outputText .= "\n".' name="gusfontb"';
$outputText .= "\n".' size="8"';
$outputText .= "\n".' maxlength="8"';
$outputText .= "\n".' value="'.htmlentities ($row->S_FONT_SIZE_BIG).'"></TD>';
$outputText .= "\n".' </TR>';
$outputText .= "\n".' <TR><TD colspan="6"><IMG src="Local/vide.gif" alt="" width="1" height="10"></TD></TR>';
$bodyStyle =
"background-color: $row->S_COLOR_1;";
$frameStyle =
"background-color: $row->S_COLOR_2;";
$backStyle =
"background-color: $row->S_COLOR_3;";
$onStyle =
"font-family:$row->S_FONT_FAMILY;".
"font-size:$row->S_FONT_SIZE_SMALL;".
"text-align:center; vertical-align=middle;".
"color:$row->S_COLOR_TEXT;".
"background-color:$row->S_COLOR_7;";
$offStyle =
"font-family:$row->S_FONT_FAMILY;".
"font-size:$row->S_FONT_SIZE_SMALL;".
"text-align:center; vertical-align=middle;".
"color:$row->S_COLOR_TEXT;".
"background-color:$row->S_COLOR_4;";
$texttStyle =
"font-family:$row->S_FONT_FAMILY;".
"font-size:$row->S_FONT_SIZE_TINY;".
"text-align:left; vertical-align=top;".
"color:$row->S_COLOR_TEXT;".
"background-color:$row->S_COLOR_3;";
$textsStyle =
"font-family:$row->S_FONT_FAMILY;".
"font-size:$row->S_FONT_SIZE_SMALL;".
"text-align:left; vertical-align=top;".
"color:$row->S_COLOR_TEXT;".
"background-color:$row->S_COLOR_3;";
$textbStyle =
"font-family:$row->S_FONT_FAMILY;".
"font-size:$row->S_FONT_SIZE_BIG;".
"text-align:left; vertical-align=top;".
"color:$row->S_COLOR_TEXT;".
"background-color:$row->S_COLOR_3;";
$alertStyle =
"font-family:$row->S_FONT_FAMILY;".
"font-size:$row->S_FONT_SIZE_SMALL;font-weight:bold;".
"text-align:left; vertical-align=top;".
"color:$row->S_COLOR_TEXT_ALERT;".
"background-color:$row->S_COLOR_3;";
$labelStyle =
"font-family:$row->S_FONT_FAMILY;".
"font-size:$row->S_FONT_SIZE_SMALL;font-weight:bold;".
"text-align:left; vertical-align=top;".
"color:$row->S_COLOR_TEXT;".
"background-color:$row->S_COLOR_5;";
$inputStyle =
"font-family:$row->S_FONT_FAMILY;".
"font-size:$row->S_FONT_SIZE_SMALL;".
"text-align:left; vertical-align=top;".
"color:$row->S_COLOR_TEXT;".
"background-color:$row->S_COLOR_6;";
$outputText .= "\n".' <TR>';
$outputText .= "\n".' <TD colspan="6" style="'.$bodyStyle.'"><BR><TABLE align="center" summary="" cellspacing="0" cellpadding="0" border="0">';
$outputText .= "\n".' <TR>';
$outputText .= "\n".' <TD style="'.$frameStyle.'"><IMG src="Local/vide.gif" alt="" width="1" height="1"></TD>';
$outputText .= "\n".' <TD style="'.$frameStyle.'"><IMG src="Local/vide.gif" alt="" width="78" height="1"></TD>';
$outputText .= "\n".' <TD style="'.$frameStyle.'"><IMG src="Local/vide.gif" alt="" width="1" height="1"></TD>';
$outputText .= "\n".' <TD><IMG src="Local/vide.gif" alt="" width="10" height="1"></TD>';
$outputText .= "\n".' <TD style="'.$frameStyle.'"><IMG src="Local/vide.gif" alt="" width="1" height="1"></TD>';
$outputText .= "\n".' <TD style="'.$frameStyle.'"><IMG src="Local/vide.gif" alt="" width="78" height="1"></TD>';
$outputText .= "\n".' <TD style="'.$frameStyle.'"><IMG src="Local/vide.gif" alt="" width="1" height="1"></TD>';
$outputText .= "\n".' <TD><IMG src="Local/vide.gif" alt="" width="229" height="1"></TD>';
$outputText .= "\n".' <TD><IMG src="Local/vide.gif" alt="" width="1" height="1"></TD>';
$outputText .= "\n".' </TR>';
$outputText .= "\n".' <TR>';
$outputText .= "\n".' <TD style="'.$frameStyle.'"><IMG src="Local/vide.gif" alt="" width="1" height="15"></TD>';
$outputText .= "\n".' <TD style="'.$onStyle.'">Azerty</TD>';
$outputText .= "\n".' <TD style="'.$frameStyle.'"><IMG src="Local/vide.gif" alt="" width="1" height="15"></TD>';
$outputText .= "\n".' <TD><IMG src="Local/vide.gif" alt="" width="10" height="1"></TD>';
$outputText .= "\n".' <TD style="'.$frameStyle.'"><IMG src="Local/vide.gif" alt="" width="1" height="15"></TD>';
$outputText .= "\n".' <TD style="'.$offStyle.'">Qwerty</TD>';
$outputText .= "\n".' <TD style="'.$frameStyle.'"><IMG src="Local/vide.gif" alt="" width="1" height="15"></TD>';
$outputText .= "\n".' </TR>';
$outputText .= "\n".' <TR>';
$outputText .= "\n".' <TD style="'.$frameStyle.'" colspan="9"><IMG src="Local/vide.gif" alt="" width="400" height="1"></TD>';
$outputText .= "\n".' </TR>';
$outputText .= "\n".' <TR>';
$outputText .= "\n".' <TD style="'.$frameStyle.'"><IMG src="Local/vide.gif" alt="" width="1" height="10"></TD>';
$outputText .= "\n".' <TD style="'.$backStyle.'" colspan="7"><IMG src="Local/vide.gif" alt="" width="398" height="1"></TD>';
$outputText .= "\n".' <TD style="'.$frameStyle.'"><IMG src="Local/vide.gif" alt="" width="1" height="10"></TD>';
$outputText .= "\n".' </TR>';
$outputText .= "\n".' <TR>';
$outputText .= "\n".' <TD style="'.$frameStyle.'"><IMG src="Local/vide.gif" alt="" width="1" height="10"></TD>';
$outputText .= "\n".' <TD style="'.$texttStyle.'" colspan="7">&nbsp;text tiny</TD>';
$outputText .= "\n".' <TD style="'.$frameStyle.'"><IMG src="Local/vide.gif" alt="" width="1" height="10"></TD>';
$outputText .= "\n".' </TR>';
$outputText .= "\n".' <TR>';
$outputText .= "\n".' <TD style="'.$frameStyle.'"><IMG src="Local/vide.gif" alt="" width="1" height="10"></TD>';
$outputText .= "\n".' <TD style="'.$textsStyle.'" colspan="7">&nbsp;text medium</TD>';
$outputText .= "\n".' <TD style="'.$frameStyle.'"><IMG src="Local/vide.gif" alt="" width="1" height="10"></TD>';
$outputText .= "\n".' </TR>';
$outputText .= "\n".' <TR>';
$outputText .= "\n".' <TD style="'.$frameStyle.'"><IMG src="Local/vide.gif" alt="" width="1" height="10"></TD>';
$outputText .= "\n".' <TD style="'.$textbStyle.'" colspan="7">&nbsp;text big</TD>';
$outputText .= "\n".' <TD style="'.$frameStyle.'"><IMG src="Local/vide.gif" alt="" width="1" height="10"></TD>';
$outputText .= "\n".' </TR>';
$outputText .= "\n".' <TR>';
$outputText .= "\n".' <TD style="'.$frameStyle.'"><IMG src="Local/vide.gif" alt="" width="1" height="10"></TD>';
$outputText .= "\n".' <TD style="'.$alertStyle.'" colspan="7">&nbsp;text alert</TD>';
$outputText .= "\n".' <TD style="'.$frameStyle.'"><IMG src="Local/vide.gif" alt="" width="1" height="10"></TD>';
$outputText .= "\n".' </TR>';
$outputText .= "\n".' <TR>';
$outputText .= "\n".' <TD style="'.$frameStyle.'"><IMG src="Local/vide.gif" alt="" width="1" height="10"></TD>';
$outputText .= "\n".' <TD style="'.$backStyle.'" colspan="7"><IMG src="Local/vide.gif" alt="" width="398" height="1"></TD>';
$outputText .= "\n".' <TD style="'.$frameStyle.'"><IMG src="Local/vide.gif" alt="" width="1" height="10"></TD>';
$outputText .= "\n".' </TR>';
$outputText .= "\n".' <TR>';
$outputText .= "\n".' <TD style="'.$frameStyle.'"><IMG src="Local/vide.gif" alt="" width="1" height="10"></TD>';
$outputText .= "\n".' <TD style="'.$labelStyle.'" colspan="7">&nbsp;label</TD>';
$outputText .= "\n".' <TD style="'.$frameStyle.'"><IMG src="Local/vide.gif" alt="" width="1" height="10"></TD>';
$outputText .= "\n".' </TR>';
$outputText .= "\n".' <TR>';
$outputText .= "\n".' <TD style="'.$frameStyle.'"><IMG src="Local/vide.gif" alt="" width="1" height="10"></TD>';
$outputText .= "\n".' <TD style="'.$inputStyle.'" colspan="7">&nbsp;input</TD>';
$outputText .= "\n".' <TD style="'.$frameStyle.'"><IMG src="Local/vide.gif" alt="" width="1" height="10"></TD>';
$outputText .= "\n".' </TR>';
$outputText .= "\n".' <TR>';
$outputText .= "\n".' <TD style="'.$frameStyle.'"><IMG src="Local/vide.gif" alt="" width="1" height="10"></TD>';
$outputText .= "\n".' <TD style="'.$backStyle.'" colspan="7"><IMG src="Local/vide.gif" alt="" width="398" height="1"></TD>';
$outputText .= "\n".' <TD style="'.$frameStyle.'"><IMG src="Local/vide.gif" alt="" width="1" height="10"></TD>';
$outputText .= "\n".' </TR>';
$outputText .= "\n".' <TR>';
$outputText .= "\n".' <TD style="'.$frameStyle.'" colspan="9"><IMG src="Local/vide.gif" alt="" width="400" height="1"></TD>';
$outputText .= "\n".' </TR>';
$outputText .= "\n".' </TABLE><BR></TD>';
$outputText .= "\n".' </TR>';
$outputText .= "\n".' <TR><TD colspan="6"><IMG src="Local/vide.gif" alt="" width="1" height="10"></TD></TR>';
$outputText .= "\n".' <TR>';
$outputText .= "\n".' <TD align="center" colspan="6"><TABLE border="0" summary="" width="100%" cellpadding="0" cellspacing="0">';
$outputText .= "\n".' <TR>';
$outputText .= "\n".' <TD align="center"><INPUT type="image" src="Local/icons/validate.gif"></TD>';
$outputText .= "\n".' <TD align="center"><A href="'.$baseURL.'"><IMG '.
'border="0" src="Local/icons/cancel.gif" alt="" width="16" height="16"></A></TD>';
$outputText .= "\n".' </TR>';
$outputText .= "\n".' </TABLE></TD>';
$outputText .= "\n".' </TR>';
$outputText .= "\n".' </TABLE>';
$outputText .= "\n".' <INPUT type="hidden" name="guscmd" value="commitupdsty">';
$outputText .= "\n".' <INPUT type="hidden" name="gusstyid" value="'.$gusstyid.'">';
$outputText .= $baseHidden;
$outputText .= "\n".' </FORM></TD>';
$outputText .= "\n".'</TR>';
return $outputText;
}
 
//==============================================================================
//==============================================================================
 
function commitUpdStyle ($db, $link, $locale, $gusstyid, &$msg) {
//----------------------------------------------------------------------------
// Form variables.
global $gusname;
global $guscoltxt;
global $guscolinvtxt;
global $guscolalttxt;
global $guscol1;
global $guscol2;
global $guscol3;
global $guscol4;
global $guscol5;
global $guscol6;
global $guscol7;
global $gusfontf;
global $gusfontt;
global $gusfonts;
global $gusfontb;
//----------------------------------------------------------------------------
// We have to update the name ?
if ($gusname != $gusstyid) {
$query = "select * from $db.STYLE where S_NAME='$gusname'";
$result = mysql_query ($query, $link);
if (! $result) {
die ("Unable to perform query ($query / " . mysql_error ($link) . ")");
}
$row = mysql_fetch_row ($result);
mysql_free_result ($result);
if ($row) {
$msg =
gs_getLabel ($db, $link, 'gus_duplicate_sty', $locale, 'gus').
"&nbsp;($gusname)";
return $gusstyid;
}
}
$query =
"update $db.STYLE set".
" S_NAME='$gusname'".
", S_COLOR_TEXT='$guscoltxt'".
", S_COLOR_TEXT_INVERSE='$guscolinvtxt'".
", S_COLOR_TEXT_ALERT='$guscolalttxt'".
", S_COLOR_1='$guscol1'".
", S_COLOR_2='$guscol2'".
", S_COLOR_3='$guscol3'".
", S_COLOR_4='$guscol4'".
", S_COLOR_5='$guscol5'".
", S_COLOR_6='$guscol6'".
", S_COLOR_7='$guscol7'".
", S_FONT_FAMILY='$gusfontf'".
", S_FONT_SIZE_TINY='$gusfontt'".
", S_FONT_SIZE_SMALL='$gusfonts'".
", S_FONT_SIZE_BIG='$gusfontb'".
" where S_NAME='$gusstyid'";
$result = mysql_query ($query, $link);
if (! $result) {
die ("Unable to perform query ($query / " . mysql_error ($link) . ")");
}
return $gusname;
}
 
//==============================================================================
//==============================================================================
 
function listStyles ($db, $link, $project, $locale,
$baseURL, $baseURLjs,
$msg) {
//----------------------------------------------------------------------------
// Javascript.
$goMsg = addslashes (gs_getLabel ($db, $link, 'delete', $locale, 'gsite', false));
js_register ('modifyStyle',
" function modifyStyle (oSelect) {"."\n".
" var url = '$baseURLjs'+'&guscmd=updsty';"."\n".
" if (oSelect.selectedIndex != -1) {"."\n".
" url += '&gusstyid='+oSelect.options[oSelect.selectedIndex].value;"."\n".
" document.location = url;"."\n".
" }"."\n".
" }"."\n"
);
js_register ('deleteStyle',
" function deleteStyle (oSelect) {"."\n".
" var url = '$baseURLjs'+'&guscmd=delsty';"."\n".
" if (oSelect.selectedIndex != -1) {"."\n".
" url += '&gusstyid='+oSelect.options[oSelect.selectedIndex].value;"."\n".
" if (window.confirm ('$goMsg')) {"."\n".
" document.location = url;"."\n".
" }"."\n".
" }"."\n".
" }"."\n"
);
//----------------------------------------------------------------------------
// Buttons.
$i = 0;
//-- Modify style.
$btInfos1[$i++] = array (
'text' => 'gus_mod',
'appl' => 'gus',
'url' => 'javascript:modifyStyle (document.gform.gselect)');
//-- Add style.
$btInfos1[$i++] = array (
'text' => 'gus_add',
'appl' => 'gus',
'url' => $baseURL.'&amp;guscmd=addsty');
//-- Delete style.
$btInfos1[$i++] = array (
'text' => 'gus_del',
'appl' => 'gus',
'url' => 'javascript:deleteStyle (document.gform.gselect)');
$btInfos1[$i++] = array ('space' => true);
//-- Logout.
$btInfos1[$i++] = array (
'text' => 'logout',
'appl' => 'gsite',
'url' => $baseURL.'&amp;auth_logout=1');
$button1 =
gs_genericButtons ($db, $link, $locale,
$btInfos1,
false);
//----------------------------------------------------------------------------
// List styles.
$query = "select * from $db.STYLE order by S_NAME";
$STYresult = mysql_query ($query, $link);
 
if (! $STYresult) {
die ("Unable to perform query ($query / " . mysql_error ($link) . ")");
}
//----------------------------------------------------------------------------
// Build form.
$text = '';
$text .= "\n".'<FORM name="gform" action="document.php" method="get">';
$text .= "\n".' <SELECT class="gusInput" name="gselect" size="20" ondblclick="javascript:modifyStyle (document.gform.gselect)">';
while ($row = mysql_fetch_object ($STYresult)) {
$text .= "\n".' <OPTION value="'.htmlentities ($row->S_NAME).'">';
$text .= htmlentities ($row->S_NAME);
$text .= '</OPTION>';
}
$text .= "\n".' </SELECT>';
$text .= "\n".'</FORM>';
mysql_free_result ($STYresult);
//----------------------------------------------------------------------------
// Build page.
$title = gs_getLabel ($db, $link, 'gus_title3', $locale, 'gus');
return
buildPage (
$button1,
'',
$title,
$text,
$msg);
}
 
//------------------------------------------------------------------------------
// $Log: not supported by cvs2svn $
// Revision 1.1 2003/10/10 09:58:21 alex
// installation
//
// Revision 1.1.1.1 2002/10/02 07:32:21 root
// initialisation site de Tela
//
// Revision 1.3 2002/06/14 07:23:23 lc
// Bug LC0021 : use js_register
//
// Revision 1.2 2002/05/30 14:49:39 lc
// Admin of tiny font size.
//
// Revision 1.1 2002/02/25 16:35:57 lc
// First revision.
//
//-- End of source ------------------------------------------------------------
?>
/trunk/papyrus/applications/admin_site/bibliotheque/adsi_cache.fonct.php
New file
0,0 → 1,159
<?
//------------------------------------------------------------------------------
// FICHIER : $RCSfile: adsi_cache.fonct.php,v $
// AUTEUR : $Author: jpm $
// VERSION : $Revision: 1.1 $
// DATE : $Date: 2004-06-16 14:26:35 $
//------------------------------------------------------------------------------
// GSite - Web site management in PHP - gus module
//
// Copyright (C) 2001 COUDOUNEAU Laurent (lc@gsite.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
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
 
//==============================================================================
//==============================================================================
 
function listCaches ($db, $link, $project, $locale,
$baseURL, $baseURLjs,
$msg) {
//----------------------------------------------------------------------------
// Javascript.
$goMsg = addslashes (gs_getLabel ($db, $link, 'delete', $locale, 'gsite', false));
js_register ('deleteCache',
" function deleteCache (oSelect) {"."\n".
" var url = '$baseURLjs'+'&guscmd=delcache';"."\n".
" if (oSelect.selectedIndex != -1) {"."\n".
" url += '&gusprjid='+oSelect.options[oSelect.selectedIndex].value;"."\n".
" if (window.confirm ('$goMsg')) {"."\n".
" document.location = url;"."\n".
" }"."\n".
" }"."\n".
" }"."\n"
);
//----------------------------------------------------------------------------
// Buttons.
$i = 0;
//-- Delete cache.
$btInfos1[$i++] = array (
'text' => 'gus_del',
'appl' => 'gus',
'url' => 'javascript:deleteCache (document.gform.gselect)');
$btInfos1[$i++] = array ('space' => true);
//-- Logout.
$btInfos1[$i++] = array (
'text' => 'logout',
'appl' => 'gsite',
'url' => $baseURL.'&amp;auth_logout=1');
$button1 =
gs_genericButtons ($db, $link, $locale,
$btInfos1,
false);
//----------------------------------------------------------------------------
// List caches.
$query =
"select ".
"C_PROJECT, ".
"SUM(C_LENGTH) as UNZIP, ".
"SUM(C_GZ_LENGTH) as ZIP, ".
"COUNT(C_MD5_URL) as PAGES ".
"from $db.CACHE ".
"group by C_PROJECT ".
"order by C_PROJECT";
$result = mysql_query ($query, $link);
 
if (! $result) {
die ("Unable to perform query ($query / " . mysql_error ($link) . ")");
}
//----------------------------------------------------------------------------
// Build form.
$text = '';
$text .= "\n".'<FORM name="gform" action="document.php" method="get">';
$text .= "\n".' <SELECT class="gusInput" name="gselect" size="20" ondblclick="javascript:deleteCache (document.gform.gselect)">';
while ($row = mysql_fetch_object ($result)) {
$ratio = ((int) (($row->UNZIP / $row->ZIP) * 100)) / 100;
$size = ((int) (($row->ZIP / 1024) * 100)) / 100;
$infos = htmlentities ("$row->C_PROJECT ($row->PAGES pages - $size Ko - $ratio x)");
$text .= "\n".' <OPTION value="'.htmlentities ($row->C_PROJECT).'">';
$text .= $infos;
$text .= '</OPTION>';
}
$text .= "\n".' </SELECT>';
$text .= "\n".'</FORM>';
mysql_free_result ($result);
//----------------------------------------------------------------------------
// Build page.
$title = gs_getLabel ($db, $link, 'gus_title4', $locale, 'gus');
return
buildPage (
$button1,
'',
$title,
$text,
$msg);
}
 
//==============================================================================
//==============================================================================
 
function delCache ($db, $link, $gusprjid) {
$query = "delete from $db.CACHE where C_PROJECT='$gusprjid'";
$result = mysql_query ($query, $link);
 
if (! $result) {
die ("Unable to perform query ($query / " . mysql_error ($link) . ")");
}
}
 
//------------------------------------------------------------------------------
// $Log: not supported by cvs2svn $
// Revision 1.1 2003/10/10 09:58:21 alex
// installation
//
// Revision 1.1.1.1 2002/10/02 07:32:21 root
// initialisation site de Tela
//
// Revision 1.2 2002/06/14 07:22:22 lc
// Bug LC0021 : use js_register
//
// Revision 1.1 2002/02/26 08:22:21 lc
// Initial revision.
//
//-- End of source ------------------------------------------------------------
?>
/trunk/papyrus/applications/admin_site/bibliotheque/adsi_site.fonct.php
New file
0,0 → 1,841
<?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 |
// +------------------------------------------------------------------------------------------------------+
// CVS : $Id: adsi_site.fonct.php,v 1.1 2004-06-16 14:28:46 jpm Exp $
/**
* Bibliothèque de fonctions d'admininistration des projets
*
* Contient un ensemble de fonctions permettant à l'application Administrateur de Papyrus, de modifier des informations
* sur les projets (=sites gérés par Papyrus).
*
*@package Administrateur de Sites
*@subpackage Fonctions
//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.1 $ $Date: 2004-06-16 14:28:46 $
// +------------------------------------------------------------------------------------------------------+
*/
 
// +------------------------------------------------------------------------------------------------------+
// | ENTÊTE du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
 
/** Inclusion de la classe Formulaire.
* Elle permet la création rapide de formulaire basé sur les tables Mysql.
*/
require_once ADSI_CHEMIN_BIBLIOTHEQUE_API.'formulaire_1.0/FORM_Form.class.php';
 
/** Inclusion bibliothèque de PEAR gérant le FTP.*/
require_once ADSI_CHEMIN_BIBLIOTHEQUE_PEAR.'Net/FTP.php';
 
// +------------------------------------------------------------------------------------------------------+
// | CORPS du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
/** Fonction ADMIN_afficherListeSites()- Génére le xhtml permettant de choisir un site parmis une liste.
*
* Cette fonction fournie une liste des sites principaux gérés par Génésia.
*
* @param string l'objet Pear DB.
* @param string l'url de la page à laquelle renvoyer le formulaire.
* @param string un message important à destination de l'utilisateur.
* return string le code XHTML à retourner.
*/
function ADMIN_afficherFormListeSites($db, $url, $message = '')
{
// Liste des sites principaux
$requete = 'SELECT * '.
'FROM gen_site, gen_site_relation '.
'WHERE gsr_id_site_01 = gsr_id_site_02 '.
'AND gsr_id_valeur = 102 '.
'AND gsr_id_site_01 = gs_id_site '.
'ORDER BY gsr_ordre';
$resultat = $db->query($requete);
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '' ;
//----------------------------------------------------------------------------
// Création du formulaire
$form =& new HTML_QuickForm('form_sites', 'post', $url);
$tab_index = 1000;
$squelette =& $form->defaultRenderer();
$squelette->setFormTemplate("\n".'<form{attributes}>'."\n".'{content}'."\n".'</form>'."\n");
$squelette->setElementTemplate( '<li>'."\n".'{label}'."\n".'{element}'."\n".
'<!-- BEGIN required --><span class="symbole_obligatoire">*</span><!-- END required -->'."\n".
'<!-- BEGIN error --><span class="erreur">{error}</span><!-- END error -->'."\n".
'</li>'."\n");
$squelette->setRequiredNoteTemplate("\n".'<p>'."\n".'<span class="symbole_obligatoire">*</span> {requiredNote}'."\n".'</p>'."\n");
$partie_site_debut = '<fieldset>'."\n".
'<legend>Listes des sites</legend>'."\n".
'<ul>'."\n";
$form->addElement('html', $partie_site_debut);
$aso_options = array();
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
$aso_options[$ligne->gs_id_site] = htmlentities($ligne->gs_nom.' ('.$ligne->gs_code_alpha.')');
}
$resultat->free();
$id = 'form_sites_id_site';
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++);
$label = '<label for="'.$id.'">'.'Listes des sites : '.'</label>';
$form->addElement('select', $id, $label, $aso_options, $aso_attributs);
$partie_site_fin = '</ul>'."\n".
'</fieldset>'."\n";
$form->addElement('html', $partie_site_fin);
$liste_bouton_debut = '<ul class="liste_bouton">'."\n";
$form->addElement('html', $liste_bouton_debut);
$form->addElement('submit', 'form_sites_ajouter', 'Ajouter');
$form->addElement('submit', 'form_sites_modifier', 'Modifier');
$form->addElement('submit', 'form_sites_supprimer', 'Supprimer');
$liste_bouton_fin = '</ul>'."\n";
$form->addElement('html', $liste_bouton_fin);
$sortie = $form->toHTML()."\n";
// Titre de la page:
$titre = 'Configuration des sites';
// Construction de la page.
return ADMIN_contruirePage($titre, $sortie, $message);
}
 
/** Fonction ADMIN_validerFormListesSites() - Valide les données issues du formulaire de liste de sites.
*
* Cette fonction valide les données du formulaire de liste de site.
*
* @param string l'objet pear de connexion à la base de données.
* @param string le tableau contenant les valeurs du formulaire.
* @return string retourne les messages d'erreurs sinon rien.
*/
function ADMIN_validerFormListesSites($db, $aso_valeurs)
{
$message = '';
// Validation des données du formulaire
if (empty($aso_valeurs['form_sites_id_site'])) {
$message .= '<p class="genesia_erreur">Vous devez d\'abord sélectionner un site.</p>';
}
return $message;
}
 
/** Fonction ADMIN_afficherFormSite()- Génére un formulaire pour gen_site.
*
* Cette fonction retourne un formulaire pour modification ou pour ajout.
*
* @param string l'objet pear de connexion à la base de données.
* @param string l'url à laquelle renvoyer le formulaire.
* @param string le tableau contenant les valeurs du formulaire.
* @param string un message à destination de l'utilisateur.
* return string le code XHTML à retourner.
*/
function ADMIN_afficherFormSite($db, $url, $aso_valeurs = array(), $message = '')
{
// Nous cherchons à savoir si nous somme en modification
$aso_valeurs['modification'] = false;
if (isset($aso_valeurs['form_sites_modifier'])) {
// Requete pour récupérer les informations sur le site à modifier
$requete = 'SELECT * '.
'FROM gen_site '.
'WHERE gs_id_site = '.$aso_valeurs['form_sites_id_site'];
$resultat = $db->query($requete);
if (DB::isError($resultat)) {
die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
}
$aso_valeurs = $resultat->fetchRow(DB_FETCHMODE_ASSOC);
$aso_valeurs['modification'] = true;
} else if (isset($aso_valeurs['gs_id_site'])) {
$aso_valeurs['modification'] = true;
}
//----------------------------------------------------------------------------
// Création du formulaire
$form =& new HTML_QuickForm('site', 'post', $url);
$tab_index = 1000;
$squelette =& $form->defaultRenderer();
$squelette->setFormTemplate("\n".'<form{attributes}>'."\n".'{content}'."\n".'</form>'."\n");
$squelette->setElementTemplate( '<li>'."\n".
'{label}'."\n".
'{element}'."\n".
'<!-- BEGIN required --><span class="symbole_obligatoire">*</span><!-- END required -->'."\n".
'<!-- BEGIN error --><span class="erreur">{error}</span><!-- END error -->'."\n".
'</li>'."\n");
$squelette->setRequiredNoteTemplate("\n".'<p><span class="symbole_obligatoire">*</span> {requiredNote}</p>'."\n");
$partie_site_debut = '<fieldset>'."\n".'<legend>Configuration du site</legend>'."\n".'<ul>'."\n";
$form->addElement('html', $partie_site_debut);
if ($aso_valeurs['modification']) {
$form->addElement('hidden', 'gs_id_site');
}
$id = 'gs_nom';
$aso_attributs = array('id'=>$id, 'tabindex' => $tab_index++, 'size' => 45, 'maxlength' => 100, 'value' => 'nom du site');
$label = '<label for="'.$id.'">'.'Nom du site : '.'</label>';
$form->addElement('text', $id, $label, $aso_attributs);
$form->addRule($id, 'Un nom est requis pour le site !', 'required', '', 'client');
$id = 'gs_code_alpha';
$aso_attributs = array('id'=>$id, 'tabindex' => $tab_index++, 'size' => 20, 'maxlength' => 20, 'value' => 'site_01');
$label = '<label for="'.$id.'">'.'Code alphanumérique : '.'</label>';
$form->addElement('text', $id, $label, $aso_attributs);
$form->addRule('gs_code_alpha', 'Un code alphanumérique est requis pour le site !', 'required', '', 'client');
$id = 'gs_code_num';
$aso_attributs = array('id'=>$id, 'tabindex' => $tab_index++, 'size' => 20, 'maxlength' => 20, 'value' => 1);
$label = '<label for="'.$id.'">'.'Code numérique : '.'</label>';
$form->addElement('text', $id, $label, $aso_attributs);
$form->addRule('gs_code_num', 'Un code numérique est requis pour le site !', 'required', '', 'client');
$id = 'gs_raccourci_clavier';
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 1, 'maxlength' => 1, 'value' => 'Z');
$label = '<label for="'.$id.'">'.'Raccourci clavier : '.'</label>';
$form->addElement('text', $id, $label, $aso_attributs);
$id = 'defaut';
$aso_attributs = array('id'=>$id, 'tabindex' => $tab_index++);
$label = '<label for="'.$id.'">'.'En faire le site par défaut : '.'</label>';
$form->addElement('checkbox', $id, $label, '', $aso_attributs);
// Requete pour connaitre les identifications dispo
$requete = 'SELECT * '.
'FROM gen_site_auth '.
'WHERE gsa_id_auth != 0';
$resultat = $db->query($requete) ;
if (DB::isError($resultat)) {
die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
}
$aso_options = array();
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ) {
// Test pour connaître le type d'authentification.
$type = '';
if ($ligne->gsa_ce_type_auth == '1' ) {
$type = 'Base de données';
} else if ($ligne->gsa_ce_type_auth == '2' ) {
$type = 'LDAP';
}
$aso_options[$ligne->gsa_id_auth] = $ligne->gsa_nom.' ('.$type.')';
}
$resultat->free();
$id = 'gs_ce_auth';
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++);
$label = '<label for="'.$id.'">'.'Identification : '.'</label>';
$form->addElement('select', $id, $label, $aso_options, $aso_attributs);
// En modification nous affichons la liste des squelettes disponiblent dans
// le dossier du site.
if ($aso_valeurs['modification']) {
// ouverture des squelettes présent dans le dossier du site
// création de l'objet pear ftp
$objet_pear_ftp = new Net_FTP(GEN_FTP_SERVEUR, GEN_FTP_PORT);
// création de la connexion
$ftp_conn = $objet_pear_ftp->connect(GEN_FTP_SERVEUR, GEN_FTP_PORT);
// identification
$ftp_login_result = $objet_pear_ftp->login(GEN_FTP_UTILISATEUR, GEN_FTP_MOT_DE_PASSE);;
// Gestion des erreurs ftp
if ((PEAR::isError($ftp_conn) || PEAR::isError($ftp_login_result))) {
die('ERREUR Génésia admin : impossible de se connecter par ftp.<br />'.
'Serveur : '. GEN_FTP_SERVEUR .'<br />'.
'Utilisateur : '. GEN_FTP_UTILISATEUR .'<br />'.
'Ligne n° : '. __LINE__ .'<br />'.
'Fichier n° : '. __FILE__ .'<br />');
}
$chemin_squelettes = GEN_FTP_CHEMIN.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].'/'.$aso_valeurs['gs_ce_i18n'].'/'.GEN_DOSSIER_SQUELETTE.'/';
$tab_squelettes = $objet_pear_ftp->ls($chemin_squelettes);
$aso_options = array();
for ($i = 0; $i < count($tab_squelettes) ; $i++) {
if ($tab_squelettes[$i]['is_dir'] == false) {
$aso_options[$tab_squelettes[$i]['name']] = $tab_squelettes[$i]['name'];
}
}
$objet_pear_ftp->disconnect();
$id = 'gs_fichier_squelette';
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++);
$label = '<label for="'.$id.'">'.'Squelette : '.'</label>';
$form->addElement('select', $id, $label, $aso_options, $aso_attributs);
}
// Requete pour connaitre les internationalisation dispo
$requete = 'SELECT * '.
'FROM gen_i18n ';
$resultat = $db->query($requete) ;
if (DB::isError($resultat)) {
die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
}
$aso_options = array();
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ) {
$aso_options[$ligne->gi_id_i18n] = $ligne->gi_id_i18n;
}
$resultat->free();
$id = 'gs_ce_i18n';
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++);
$label = '<label for="'.$id.'">'.'Langue : '.'</label>';
$form->addElement('select', $id, $label, $aso_options, $aso_attributs);
$partie_site_fin = '</ul>'."\n".'</fieldset>'."\n";
$form->addElement('html', $partie_site_fin);
$partie_entete_debut = '<fieldset>'."\n".'<legend>Entête par défaut des pages du site</legend>'."\n".'<ul>'."\n";
$form->addElement('html', $partie_entete_debut);
$id = 'gs_titre';
$aso_attributs = array('id'=>$id, 'tabindex' => $tab_index++, 'size' => 45, 'maxlength' => 255, 'value' => 'titre du site');
$label = '<label for="'.$id.'">'.'Titre du site : '.'</label>';
$form->addElement('text', $id, $label, $aso_attributs);
$form->addRule('gs_titre', 'Un titre est requis pour le site !', 'required', '', 'client');
$id = 'gs_mots_cles';
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'rows' => 3, 'cols' => 45);
$label = '<label for="'.$id.'">'.'Mots-clés : '.'</label>';
$zone_mots_cles = $form->createElement('textarea', $id, $label, $aso_attributs);
$zone_mots_cles->setValue('mots-clés du site');
$form->addElement($zone_mots_cles);
$form->addRule($id, 'Des mots clés sont requis pour le site !', 'required', '', 'client');
$id = 'gs_description';
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'rows' => 3, 'cols' => 45);
$label = '<label for="'.$id.'">'.'Description du contenu : '.'</label>';
$zone = $form->createElement('textarea', $id, $label, $aso_attributs);
$zone->setValue('description du site');
$form->addElement($zone);
$form->addRule($id, 'Une description est requise pour le site !', 'required', '', 'client');
$id = 'gs_auteur';
$aso_attributs = array('id'=>$id, 'tabindex' => $tab_index++, 'size' => 45, 'maxlength' => 255, 'value' => 'auteur du site');
$label = '<label for="'.$id.'">'.'Auteur du site : '.'</label>';
$form->addElement('text', $id, $label, $aso_attributs);
$form->addRule('gs_auteur', 'Un auteur est requis pour le site !', 'required', '', 'client');
$partie_entete_fin = '</ul>'."\n".'</fieldset>'."\n";
$form->addElement('html', $partie_entete_fin);
if ($aso_valeurs['modification']) {
// Requete pour connaitre les informations sur l'administrateur ayant fait la dernière modif
$requete_admin = 'SELECT * '.
'FROM gen_annuaire '.
'WHERE ga_id_administrateur = '.$aso_valeurs['gs_ce_admin'];
$resultat_admin = $db->query($requete_admin);
if (DB::isError($resultat_admin)) {
die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_admin->getMessage(), $requete_admin));
}
$ligne_admin = $resultat_admin->fetchRow(DB_FETCHMODE_OBJECT);
$info_admin = '<p class="info">Dernière modification par'.$ligne_admin->ga_prenom.' '.$ligne_admin->ga_nom.
' le '.$aso_valeurs['gs_date_creation'].'</p>';
$form->addElement('html', $info_admin);
$form->addElement('hidden', 'gs_ce_admin');
$form->addElement('hidden', 'gs_date_creation');
// Titre de la page:
$titre = 'Modifier un site';
// Bouton validant le formulaire
$bouton_validation = '<input type="submit" id="site_modifier" name="site_modifier" value="Enregistrer" />';
} else {
// Titre de la page:
$titre = 'Ajouter un site';
// Bouton validant le formulaire
$bouton_validation = '<input type="submit" id="site_enregistrer" name="site_enregistrer" value="Enregistrer" />';
}
$bouton_annuler = '<input type="submit" id="form_annuler" name="form_annuler" value="Annuler" />';
$bouton_effacer = '<input type="reset" id="effacer" name="effacer" value="Effacer" />';
$boutons = '<p>'."\n".
$bouton_validation."\n".
$bouton_annuler."\n".
$bouton_effacer."\n".
'</p>'."\n";
$form->addElement('html', $boutons);
// Instanciation des valeurs par défaut du formulaire
$form->setDefaults($aso_valeurs);
// Javascript pour la validation côté client
$regles_javascript = $form->getValidationScript();
// Suppression des balises déjà créées par GEN_stockerCodeScript()
$regles_javascript = ereg_replace ( '<script type="text\/javascript">', '', $regles_javascript);
$regles_javascript = ereg_replace ( '<!--', '', $regles_javascript);
$regles_javascript = ereg_replace ( '\/\/-->', '', $regles_javascript);
$regles_javascript = ereg_replace ( '<\/script>', '', $regles_javascript);
GEN_stockerCodeScript($regles_javascript);
// Note de fin de formulaire
$form->setRequiredNote('Indique les champs obligatoires');
$sortie = $form->toHTML()."\n";
// Construction de la page.
return ADMIN_contruirePage($titre, $sortie, $message);
}
 
/** Fonction ADMIN_validerFormAjouterSite() - Valide les données issues du formulaire pour gen_site.
*
* Cette fonction valide les données à ajouter dans la table gen_site.
*
* @param string l'objet pear de connexion à la base de données.
* @param string le tableau contenant les valeurs du formulaire.
* @return string retourne les messages d'erreurs sinon rien.
*/
function ADMIN_validerFormSite($db, $aso_valeurs)
{
$message = '';
// Validation des données du formulaire
if (empty($aso_valeurs['gs_nom'])) {
$message .= '<p class="genesia_erreur">Le champ "Nom" ne doit pas être vide.</p>';
}
if (empty($aso_valeurs['gs_code_alpha'])) {
$message .= '<p class="genesia_erreur">Le champ "Code alphanumérique" ne doit pas être vide.</p>';
}
if (empty($aso_valeurs['gs_code_num'])) {
$message .= '<p class="genesia_erreur">Le champ "Code numérique" ne doit pas être vide.</p>';
}
if (preg_match('/^[0-9]+$/',$aso_valeurs['gs_code_num']) == 0) {
$message .= '<p class="genesia_erreur">Le champ "Code numérique" doit contenir un nombre.</p>';
}
// Requete pour vérifier l'abscence du code numérique et alphanumérique de la table gen_site
$requete = 'SELECT gs_code_alpha, gs_code_num '.
'FROM gen_site, gen_site_relation '.
'WHERE gsr_id_site_01 = gsr_id_site_02 '.
'AND gsr_id_valeur = 102 '.// 102 = site "principal"
'AND gsr_id_site_01 = gs_id_site ';
$requete .= (isset($aso_valeurs['gs_id_site'])) ? 'AND gs_id_site != '.$aso_valeurs['gs_id_site'] : '';
$resultat = $db->query($requete);
if (DB::isError($resultat)) {
die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
}
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ) {
if ($ligne->gs_code_num == $aso_valeurs['gs_code_num']) {
$message .= '<p class="genesia_erreur">La valeur "'.$aso_valeurs['gs_code_num'].'" pour le champ "Code numérique" existe déjà.</p>';
}
if ($ligne->gs_code_alpha == $aso_valeurs['gs_code_alpha']) {
$message .= '<p class="genesia_erreur">La valeur "'.$aso_valeurs['gs_code_alpha'].'" pour le champ "Code alphanumérique" existe déjà.</p>';
}
}
$resultat->free();
if (empty($aso_valeurs['gs_titre'])) {
$message .= '<p class="genesia_erreur">Le champ "Titre" ne doit pas être vide.</p>';
}
if (empty($aso_valeurs['gs_mots_cles'])) {
$message .= '<p class="genesia_erreur">Le champ "Mots clés" ne doit pas être vide.</p>';
}
if (empty($aso_valeurs['gs_description'])) {
$message .= '<p class="genesia_erreur">Le champ "Description" ne doit pas être vide.</p>';
}
if (empty($aso_valeurs['gs_auteur'])) {
$message .= '<p class="genesia_erreur">Le champ "Auteur" ne doit pas être vide.</p>';
}
return $message;
}
 
/** Fonction ADMIN_enregistrerSite() - Ajoute un site à Papyrus.
*
* Cette fonction ajoute le site à Papyrus, c'est à dire :
* - 1. Création des répertoire du projet en fonction du nom et des sous-répertoires.
* - 2. Insertion d'une ligne dans la table "gen_site".
* - 3. Insertion d'une ligne dans la table "gen_site_auth" et ses tables liées si nécessaire.
*
* @param string l'objet pear de connexion à la base de données.
* @param string le tableau contenant les valeurs du formulaire.
* @param int identifiant de l'administrateur réalisant cette création.
* @return string retourne un message en cas de succès ou d'échec.
*/
function ADMIN_enregistrerSite($db, $aso_valeurs, $id_admin)
{
$id_site = SQL_obtenirNouveauId($db, 'gen_site','gs_id_site');
if ($id_site == false) {
$message = '<p class="erreur"> ERREUR Génésia admin : impossible de récupérer un identifiant pour la table gen_site.<br />'.
'Ligne n° : '. __LINE__ .'<br />'.
'Fichier n° : '. __FILE__ .'<br /></p>';
return $message;
}
// Requete d'insertion des infos d'un site dans gen_site
$requete = 'INSERT INTO gen_site '.
'SET gs_id_site = '.$id_site.', '.
'gs_ce_i18n = "'.$aso_valeurs['gs_ce_i18n'].'", '.
'gs_ce_auth = '.$aso_valeurs['gs_ce_auth'].', '.
'gs_fichier_squelette = "defaut.html", '.
'gs_code_num = '.$aso_valeurs['gs_code_num'].', '.
'gs_code_alpha = "'.$aso_valeurs['gs_code_alpha'].'", '.
'gs_nom = "'.$aso_valeurs['gs_nom'].'", '.
'gs_raccourci_clavier = "'.$aso_valeurs['gs_raccourci_clavier'].'", '.
'gs_titre = "'.$aso_valeurs['gs_titre'].'", '.
'gs_mots_cles = "'.$aso_valeurs['gs_mots_cles'].'", '.
'gs_description = "'.$aso_valeurs['gs_description'].'", '.
'gs_auteur = "'.$aso_valeurs['gs_auteur'].'", '.
'gs_date_creation = "'.date('Y-m-d H:i:s').'", '.
'gs_ce_admin = '.$id_admin;
$resultat = $db->query($requete) ;
if (DB::isError($resultat)) {
die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
}
// Recherche du nouveau numéro d'ordre de ce site principal
$requete = 'SELECT MAX(gsr_ordre) AS max_ordre '.
'FROM gen_site_relation '.
'WHERE gsr_id_site_01 = gsr_id_site_02 '.
'AND gsr_id_valeur = 102 ';// 102 = site "principal"
$resultat = $db->query($requete) ;
if (DB::isError($resultat)) {
die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
}
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
$nouvel_ordre = $ligne->max_ordre + 1;
// Requete d'insertion des relations dans gen_site_relation
$requete = 'INSERT INTO gen_site_relation '.
'SET gsr_id_site_01 = '.$id_site.', '.
'gsr_id_site_02 = '.$id_site.', '.
'gsr_id_valeur = 102, '.
'gsr_ordre = '.$nouvel_ordre;
$resultat = $db->query($requete);
if (DB::isError($resultat)) {
die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
}
if (isset($aso_valeurs['defaut']) && $aso_valeurs['defaut'] == 1) {
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
$requete_supr_defaut = 'DELETE FROM gen_site_relation '.
'WHERE gsr_id_site_01 = gsr_id_site_02 '.
'AND gsr_id_valeur = 101 ';// 101 = site par "defaut"
$resultat_supr_defaut = $db->query($requete_supr_defaut);
if (DB::isError($resultat_supr_defaut)) {
die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_supr_defaut->getMessage(), $requete_supr_defaut));
}
// Requete d'insertion de la relations site par défaut
$requete = 'INSERT INTO gen_site_relation '.
'SET gsr_id_site_01 = '.$id_site.', '.
'gsr_id_site_02 = '.$id_site.', '.
'gsr_id_valeur = 101, '.
'gsr_ordre = NULL ';
$resultat = $db->query($requete);
if (DB::isError($resultat)) {
die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
}
}
// Ajout des répertoires du site
// Création d'une connection ftp avec Net_FTP de PEAR
// voir http://pear.php.net/manual/fr/package.networking.net-ftp.php
// création de l'objet pear ftp
$objet_pear_ftp = new Net_FTP(GEN_FTP_SERVEUR, GEN_FTP_PORT);
// création de la connexion
$ftp_conn = $objet_pear_ftp->connect(GEN_FTP_SERVEUR, GEN_FTP_PORT);
// identification
$ftp_login_result = $objet_pear_ftp->login(GEN_FTP_UTILISATEUR, GEN_FTP_MOT_DE_PASSE);;
// Gestion des erreurs ftp
if ((PEAR::isError($ftp_conn) || PEAR::isError($ftp_login_result))) {
$message = '<p class="genesia_erreur"> ERREUR Génésia admin : impossible de se connecter par ftp.<br />'.
'Serveur : '. GEN_FTP_SERVEUR .'<br />'.
'Utilisateur : '. GEN_FTP_UTILISATEUR .'<br />'.
'Erreur connexion : '.$ftp_conn->getMessage().'<br />'.
'Erreur login : '.$ftp_login_result->getMessage().'<br />'.
'Ligne n° : '. __LINE__ .'<br />'.
'Fichier n° : '. __FILE__ .'<br /><p>';
return $message;
}
$tableau_repertoires = array( GEN_DOSSIER_IMAGE,
GEN_DOSSIER_STYLE,
GEN_DOSSIER_SCRIPT,
GEN_DOSSIER_SQUELETTE,
GEN_DOSSIER_DOC);
foreach ($tableau_repertoires as $nom_repertoire) {
$chemin_repertoire = GEN_FTP_CHEMIN.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].'/'.$aso_valeurs['gs_ce_i18n'].'/'.$nom_repertoire.'/';
$resultat = $objet_pear_ftp->mkdir($chemin_repertoire, true) ;
if (PEAR::isError($resultat)) {
$message = '<p class="genesia_erreur"> ERREUR Génésia admin : impossible de créer le répertoire par ftp.<br />'.
'Répertoire : '. $chemin_repertoire .'<br />'.
'Erreur origine : '. $resultat->getMessage() .'<br />'.
'Ligne n° : '. __LINE__ .'<br />'.
'Fichier n° : '. __FILE__ .'<br /></p>';
return $message;
}
}
$chemin_squelette_defaut = GEN_FTP_CHEMIN.GEN_CHEMIN_COMMUN.GEN_DOSSIER_GENERIQUE.'/'.GEN_DOSSIER_SQUELETTE.'/defaut.html';
$chemin_squelette_site = GEN_FTP_CHEMIN.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].'/'.$aso_valeurs['gs_ce_i18n'].'/'.GEN_DOSSIER_SQUELETTE.'/defaut.html';
$resultat = $objet_pear_ftp->put($chemin_squelette_defaut, $chemin_squelette_site, true, FTP_BINARY);
if (PEAR::isError($resultat)) {
$message = '<p class="genesia_erreur"> ERREUR Génésia admin : impossible de copier le squelette defaut par ftp.<br />'.
'Fichier origine : '. $chemin_squelette_defaut .'<br />'.
'Fichier copié : '. $chemin_squelette_site .'<br />'.
'Erreur origine : '. $resultat->getMessage() .'<br />'.
'Ligne n° : '. __LINE__ .'<br />'.
'Fichier n° : '. __FILE__ .'<br /></p>';
return $message;
}
$chemin_style_defaut = GEN_FTP_CHEMIN.GEN_CHEMIN_COMMUN.GEN_DOSSIER_GENERIQUE.'/'.GEN_DOSSIER_STYLE.'/defaut.css';
$chemin_style_site = GEN_FTP_CHEMIN.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].'/'.$aso_valeurs['gs_ce_i18n'].'/'.GEN_DOSSIER_STYLE.'/defaut.css';
$resultat = $objet_pear_ftp->put($chemin_style_defaut, $chemin_style_site, true, FTP_BINARY);
if (PEAR::isError($resultat)) {
$message = '<p class="genesia_erreur"> ERREUR Génésia admin : impossible de copier le squelette defaut par ftp.<br />'.
'Fichier origine : '. $chemin_style_defaut .'<br />'.
'Fichier copié : '. $chemin_style_site .'<br />'.
'Erreur origine : '. $resultat->getMessage() .'<br />'.
'Ligne n° : '. __LINE__ .'<br />'.
'Fichier n° : '. __FILE__ .'<br /></p>';
return $message;
}
$objet_pear_ftp->disconnect();
$message = '<p class="genesia_info">'.'Succés de l\'ajout du site.'.'</p>';
return $message;
}
 
/** Fonction ADMIN_modifierSite() - Modifie un site de Papyrus.
*
* Cette fonction modifie un site géré par Papyrus.
* Il faudrait aussi pouvoir renomer le dossier du site si le code alpha change.
*
* @param string l'objet pear de connexion à la base de données.
* @param string le tableau contenant les valeurs du formulaire.
* @param int identifiant de l'administrateur réalisant cette modification.
* @return string retourne un message en cas de succès ou d'échec.
*/
function ADMIN_modifierSite($db, $aso_valeurs, $id_admin)
{
// Requete de mise à jour des infos d'un site dans gen_site
$requete = 'UPDATE gen_site '.
'SET gs_ce_i18n = "'.$aso_valeurs['gs_ce_i18n'].'", '.
'gs_ce_auth = '.$aso_valeurs['gs_ce_auth'].', '.
'gs_fichier_squelette = "'.$aso_valeurs['gs_fichier_squelette'].'", '.
'gs_code_num = '.$aso_valeurs['gs_code_num'].', '.
'gs_code_alpha = "'.$aso_valeurs['gs_code_alpha'].'", '.
'gs_nom = "'.$aso_valeurs['gs_nom'].'", '.
'gs_raccourci_clavier = "'.$aso_valeurs['gs_raccourci_clavier'].'", '.
'gs_titre = "'.$aso_valeurs['gs_titre'].'", '.
'gs_mots_cles = "'.$aso_valeurs['gs_mots_cles'].'", '.
'gs_description = "'.$aso_valeurs['gs_description'].'", '.
'gs_auteur = "'.$aso_valeurs['gs_auteur'].'", '.
'gs_date_creation = "'.date('Y-m-d H:i:s').'", '.
'gs_ce_admin = '.$id_admin.' '.
'WHERE gs_id_site = '.$aso_valeurs['gs_id_site'];
$resultat = $db->query($requete) ;
if (DB::isError($resultat)) {
die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
}
if (isset($aso_valeurs['defaut']) && $aso_valeurs['defaut'] == 1) {
$requete_supr_defaut = 'DELETE FROM gen_site_relation '.
'WHERE gsr_id_site_01 = gsr_id_site_02 '.
'AND gsr_id_valeur = 101 ';// 101 = site par "defaut"
$resultat_supr_defaut = $db->query($requete_supr_defaut);
if (DB::isError($resultat_supr_defaut)) {
die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_supr_defaut->getMessage(), $requete_supr_defaut));
}
// Requete d'insertion de la relations site par défaut
$requete = 'INSERT INTO gen_site_relation '.
'SET gsr_id_site_01 = '.$aso_valeurs['gs_id_site'].', '.
'gsr_id_site_02 = '.$aso_valeurs['gs_id_site'].', '.
'gsr_id_valeur = 101, '.
'gsr_ordre = NULL ';
$resultat = $db->query($requete);
if (DB::isError($resultat)) {
die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
}
}
$message = '<p class="genesia_info">'.'Succés de la modification du site.'.'</p>';
return $message;
}
 
/** Fonction ADMIN_supprimerSite() - Ajoute un site à Papyrus.
*
* Cette fonction ajoute le site à Papyrus, c'est à dire :
* - 1. Création des répertoire du projet en fonction du nom et des sous-répertoires.
* - 2. Insertion d'une ligne dans la table "gen_site".
* - 3. Insertion d'une ligne dans la table "gen_site_auth" et ses tables liées si nécessaire.
*
* @param string l'objet pear de connexion à la base de données.
* @param string le tableau contenant les valeurs du formulaire.
* @param int identifiant de l'administrateur réalisant cette création.
* @return string retourne un message en cas de succès ou d'échec.
*/
function ADMIN_supprimerSite($db, $aso_valeurs)
{
// Recherche du coda alpha du site principal afin de pouvoir détruire ses répertoires
$requete = 'SELECT gs_code_alpha '.
'FROM gen_site '.
'WHERE gs_id_site = '.$aso_valeurs['form_sites_id_site'];
$code_alpha_site_principal = $db->getOne($requete);
if (DB::isError($code_alpha_site_principal)) {
die(BOG_afficherErreurSql(__FILE__, __LINE__, $code_alpha_site_principal->getMessage(), $requete));
}
// Recherche des différents sites liés à celui que l'on veut détruire
// Cela comprend le site à détruire lui méme car il posséde la relations
// sur lui meme "site principale".
$requete = 'SELECT gs_id_site '.
'FROM gen_site, gen_site_relation '.
'WHERE gsr_id_site_01 = '.$aso_valeurs['form_sites_id_site'].' '.
'AND gsr_id_site_02 = gs_id_site ';
$resultat = $db->query($requete);
if (DB::isError($resultat)) {
die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
}
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
// Requete de suppression des sites liés dans gen_site
$requete_supr_site = 'DELETE FROM gen_site '.
'WHERE gs_id_site = '.$ligne->gs_id_site;
$resultat_supr_site = $db->query($requete_supr_site);
if (DB::isError($resultat_supr_site)) {
die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_supr_site->getMessage(), $requete_supr_site));
}
// Requete de suppression des relations des sites à détruire
$requete_supr_site_relation = 'DELETE FROM gen_site_relation '.
'WHERE gsr_id_site_01 = '.$ligne->gs_id_site;
$resultat_supr_site_relation = $db->query($requete_supr_site_relation);
if (DB::isError($resultat_supr_site_relation)) {
die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_supr_site_relation->getMessage(), $requete_supr_site_relation));
}
// Recherche des différents menus liés au site à détruire
$requete_menu = 'SELECT gm_id_menu '.
'FROM gen_menu '.
'WHERE gm_ce_site = '.$ligne->gs_id_site;
$resultat_menu = $db->query($requete_menu) ;
if (DB::isError($resultat_menu)) {
die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_menu->getMessage(), $requete_menu));
}
while ($ligne_menu = $resultat_menu->fetchRow(DB_FETCHMODE_OBJECT)) {
// Requete de suppression des des menus
$requete_supr_menu = 'DELETE FROM gen_menu '.
'WHERE gm_id_menu = '.$ligne_menu->gm_id_menu;
$resultat_supr_menu = $db->query($requete_supr_menu);
if (DB::isError($resultat_supr_menu)) {
die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_supr_menu->getMessage(), $requete_supr_menu));
}
// Requete de suppression des relations des menus
$requete_supr_menu_relation = 'DELETE FROM gen_menu_relation '.
'WHERE gmr_id_menu_01 = '.$ligne_menu->gm_id_menu;
$resultat_supr_menu_relation = $db->query($requete_supr_menu_relation);
if (DB::isError($resultat_supr_menu_relation)) {
die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_supr_menu_relation->getMessage(), $requete_supr_menu_relation));
}
// Requete de suppression des contenus des menus
$requete_supr_menu_contenu = 'DELETE FROM gen_menu_contenu '.
'WHERE gmc_ce_menu = '.$ligne_menu->gm_id_menu;
$resultat_supr_menu_contenu = $db->query($requete_supr_menu_contenu);
if (DB::isError($resultat_supr_menu_contenu)) {
die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_supr_menu_contenu->getMessage(), $requete_supr_menu_contenu));
}
// Requete de suppression des ulr alternatives des menus
$requete_supr_menu_url_alt = 'DELETE FROM gen_menu_url_alternative '.
'WHERE gmua_ce_menu = '.$ligne_menu->gm_id_menu;
$resultat_supr_menu_url_alt = $db->query($requete_supr_menu_url_alt);
if (DB::isError($resultat_supr_menu_url_alt)) {
die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_supr_menu_url_alt->getMessage(), $requete_supr_menu_url_alt));
}
}
$resultat_menu->free();
}
$resultat->free();
// Suppression des répertoires du site
// Création d'une connection ftp avec Net_FTP de PEAR
// voir http://pear.php.net/manual/fr/package.networking.net-ftp.php
// création de l'objet pear ftp
$objet_pear_ftp = new Net_FTP(GEN_FTP_SERVEUR, GEN_FTP_PORT);
// création de la connexion
$ftp_conn = $objet_pear_ftp->connect(GEN_FTP_SERVEUR, GEN_FTP_PORT);
// identification
$ftp_login_result = $objet_pear_ftp->login(GEN_FTP_UTILISATEUR, GEN_FTP_MOT_DE_PASSE);;
// Gestion des erreurs ftp
if ((PEAR::isError($ftp_conn) || PEAR::isError($ftp_login_result))) {
$message = '<p class="genesia_erreur"> ERREUR Génésia admin : impossible de se connecter par ftp.<br />'.
'Erreur connexion : '.$ftp_conn->getMessage().'<br />'.
'Erreur login : '.$ftp_login_result->getMessage().'<br />'.
'Serveur : '. GEN_FTP_SERVEUR .'<br />'.
'Utilisateur : '. GEN_FTP_UTILISATEUR .'<br />'.
'Ligne n° : '. __LINE__ .'<br />'.
'Fichier n° : '. __FILE__ .'<br /><p>';
return $message;
}
// Changement du niveau d'erreur pour éviter les Notices PHP dues à Net_FTP
error_reporting(E_PARSE);
$chemin_repertoire = GEN_FTP_CHEMIN.GEN_CHEMIN_SITES.$code_alpha_site_principal.'/';
$resultat = $objet_pear_ftp->rm($chemin_repertoire, true);
if (PEAR::isError($resultat)) {
$message = '<p class="genesia_erreur"> ERREUR Génésia admin : impossible de supprimer le répertoire par ftp.<br />'.
'Erreur ftp : '.$resultat->getMessage().'<br />'.
'Répertoire : '. $chemin_repertoire .'<br />'.
'Ligne n° : '. __LINE__ .'<br />'.
'Fichier n° : '. __FILE__ .'<br /></p>';
return $message;
}
$objet_pear_ftp->disconnect();
// Retour au niveau d'erreur définit dans le fichier de config de Papyrus
error_reporting(GEN_DEBOGAGE_NIVEAU);
$message = '<p class="genesia_info">Succés de la suppression du site.</p>';
return $message;
}
 
// +- Fin du code source --------------------------------------------------------------------------------+
/*
* $Log: not supported by cvs2svn $
* Revision 1.20 2004/05/10 14:32:14 jpm
* Changement du titre.
*
* Revision 1.19 2004/05/10 12:23:39 jpm
* Modification formulaire.
*
* Revision 1.18 2004/05/07 16:33:53 jpm
* Amélioration des formulaires.
*
* Revision 1.17 2004/05/07 07:22:51 jpm
* Ajout de la gestion des modification et suppression de site.
* Amélioration de la création des sites.
*
* Revision 1.16 2004/04/30 16:22:53 jpm
* Poursuite de l'administration des sites.
*
* Revision 1.14 2004/04/02 15:58:39 jpm
* Modification fonction liste des projets.
*
* Revision 1.13 2004/04/01 11:21:41 jpm
* Ajout et modification de commentaires pour PhpDocumentor.
*
* Revision 1.12 2004/03/24 20:01:02 jpm
* Traduction, mise en forme, ajout de commentaire pour les fonctions listProjects() et updateProject().
*
* Revision 1.11 2004/03/24 10:06:01 jpm
* Ajout des commentaires d'entête.
* Début mise en conformité avec la convention de codage.
* Début traitement de la fonction listant les projets.
*
*
*/
?>
/trunk/papyrus/applications/admin_site/presentations/javascript/admin_site.js
New file
0,0 → 1,106
/*vim: set expandtab tabstop=4 shiftwidth=4: */
// +------------------------------------------------------------------------------------------------------+
// | Javascript 1.5 |
// +------------------------------------------------------------------------------------------------------+
// | 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 |
// +------------------------------------------------------------------------------------------------------+
/*
* Titre
*
* Description
*
*Paquetage : Genesia
*Sous-paquetage : Administrateur
*Auteur original : Laurent COUDOUNEAU <lc@gsite.org>
*Autres auteurs :
* Alexandre GRANIER <alexandre@tela-botanica.org>
* Jean-Pascal MILCENT <jpm@tela-botanica.org>
*Copyright : Tela-Botanica 2000-2004
*Version : $Date: 2004-06-16 14:20:50 $
*/
// +------------------------------------------------------------------------------------------------------+
//
// $Id: admin_site.js,v 1.1 2004-06-16 14:20:50 jpm Exp $
// FICHIER : $RCSfile: admin_site.js,v $
// AUTEUR : $Author: jpm $
// VERSION : $Revision: 1.1 $
// DATE : $Date: 2004-06-16 14:20:50 $
// +------------------------------------------------------------------------------------------------------+
 
// +------------------------------------------------------------------------------------------------------+
// | LISTE de FONCTIONS |
// +------------------------------------------------------------------------------------------------------+
function modifyPrj (oSelect) {
var url = 'index.php?projet=admin&locale=fr&menu=2'+'&guscmd=update';
if (oSelect.selectedIndex != -1) {
url += '&gusprjid='+oSelect.options[oSelect.selectedIndex].value;
document.location = url;
}
}
 
function deletePrj (oSelect) {
var url = 'index.php?projet=admin&locale=fr&menu=2'+'&guscmd=del';
if (oSelect.selectedIndex != -1) {
url += '&gusprjid='+oSelect.options[oSelect.selectedIndex].value;
if (window.confirm ('supprimer')) {
if (window.confirm ('Vous êtes vraiment sûr de vouloir détruire ce projet ?')) {
document.location = url;
}
}
}
}
 
function modifyPres (oSelect) {
var url = 'index.php?projet=admin&locale=fr&menu=2'+'&guscmd=updpres';
if (oSelect.selectedIndex != -1) {
url += '&gusprjid='+oSelect.options[oSelect.selectedIndex].value;
document.location = url;
}
}
 
function showPrj (oSelect) {
var sArgs = 'toolbar=1'+
',hotkeys=0'+
',location=1'+
',directories=0'+
',menubar=0'+
',personalbar=0'+
',status=0'+
',scrollbars=1'+
',resizable=1'+
',width=950'+
',height=600';
var url = 'index.php?locale=fr';
if (oSelect.selectedIndex != -1) {
url += '&project='+oSelect.options[oSelect.selectedIndex].value;
var wWindow = open (url, 'gus', sArgs);
wWindow.window.focus ();
}
}
 
// +- Fin du code source ---------------------------------------------------------------------------------+
/*
* $Log: not supported by cvs2svn $
* Revision 1.1 2004/03/24 09:18:12 jpm
* Extraction des fonctions javascript du code php et mise dans ce fichier ".js".
*
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
 
/trunk/papyrus/applications/admin_site/presentations/css/admin_site.css
New file
0,0 → 1,96
<?
//------------------------------------------------------------------------------
// FICHIER : $RCSfile: admin_site.css,v $
// AUTEUR : $Author: jpm $
// VERSION : $Revision: 1.1 $
// DATE : $Date: 2004-06-16 14:20:47 $
//------------------------------------------------------------------------------
// GSite - Web site management in PHP - gus module
//
// Copyright (C) 2001 COUDOUNEAU Laurent (lc@gsite.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
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
 
$outputText .= ".gusTitle {\n";
$outputText .= " font-family: $STYLErow->S_FONT_FAMILY;\n";
$outputText .= " font-size: $STYLErow->S_FONT_SIZE_SMALL;\n";
$outputText .= " font-style: normal;\n";
$outputText .= " font-weight: bold;\n";
$outputText .= " text-align: center;\n";
$outputText .= " vertical-align: middle;\n";
$outputText .= " color: $STYLErow->S_COLOR_TEXT;\n";
$outputText .= " background-color: $STYLErow->S_COLOR_5;\n";
$outputText .= "}\n";
$outputText .= "\n";
$outputText .= ".gusError {\n";
$outputText .= " font-family: $STYLErow->S_FONT_FAMILY;\n";
$outputText .= " font-size: $STYLErow->S_FONT_SIZE_BIG;\n";
$outputText .= " font-style: normal;\n";
$outputText .= " font-weight: bold;\n";
$outputText .= " text-align: center;\n";
$outputText .= " vertical-align: middle;\n";
$outputText .= " color: $STYLErow->S_COLOR_TEXT_ALERT;\n";
$outputText .= " background-color: $STYLErow->S_COLOR_3;\n";
$outputText .= "}\n";
$outputText .= "\n";
$outputText .= ".gusInput {\n";
$outputText .= " font-family: $STYLErow->S_FONT_FAMILY;\n";
$outputText .= " font-size: $STYLErow->S_FONT_SIZE_SMALL;\n";
$outputText .= " font-style: normal;\n";
$outputText .= " font-weight: normal;\n";
$outputText .= " text-align: left;\n";
$outputText .= " vertical-align: middle;\n";
$outputText .= " color: $STYLErow->S_COLOR_TEXT;\n";
$outputText .= " background-color: $STYLErow->S_COLOR_6;\n";
$outputText .= "}\n";
$outputText .= "\n";
$outputText .= ".gusLabel {\n";
$outputText .= " font-family: $STYLErow->S_FONT_FAMILY;\n";
$outputText .= " font-size: $STYLErow->S_FONT_SIZE_SMALL;\n";
$outputText .= " font-style: normal;\n";
$outputText .= " font-weight: bold;\n";
$outputText .= " text-align: right;\n";
$outputText .= " vertical-align: middle;\n";
$outputText .= " color: $STYLErow->S_COLOR_TEXT;\n";
$outputText .= " background-color: $STYLErow->S_COLOR_5;\n";
$outputText .= "}\n";
$outputText .= "\n";
$outputText .= ".gusLabelTop {\n";
$outputText .= " font-family: $STYLErow->S_FONT_FAMILY;\n";
$outputText .= " font-size: $STYLErow->S_FONT_SIZE_SMALL;\n";
$outputText .= " font-style: normal;\n";
$outputText .= " font-weight: bold;\n";
$outputText .= " text-align: right;\n";
$outputText .= " vertical-align: top;\n";
$outputText .= " color: $STYLErow->S_COLOR_TEXT;\n";
$outputText .= " background-color: $STYLErow->S_COLOR_5;\n";
$outputText .= "}\n";
$outputText .= "\n";
 
//------------------------------------------------------------------------------
// $Log: not supported by cvs2svn $
// Revision 1.1 2003/10/10 09:58:21 alex
// installation
//
// Revision 1.1.1.1 2002/10/02 07:32:21 root
// initialisation site de Tela
//
// Revision 1.1 2002/02/25 16:38:33 lc
// First revision.
//
//-- End of source ------------------------------------------------------------
?>
/trunk/papyrus/applications/admin_site/admin_site.php
New file
0,0 → 1,374
<?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 Administrateur de Sites
//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.1 $ $Date: 2004-06-16 14:20:39 $
// +------------------------------------------------------------------------------------------------------+
//
// $Id: admin_site.php,v 1.1 2004-06-16 14:20:39 jpm Exp $
// FICHIER : $RCSfile: admin_site.php,v $
// AUTEUR : $Author: jpm $
// VERSION : $Revision: 1.1 $
// DATE : $Date: 2004-06-16 14:20:39 $
// +------------------------------------------------------------------------------------------------------+
**/
 
// +------------------------------------------------------------------------------------------------------+
// | 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';
 
/** <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';
 
/** 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 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 sites de Papyrus.*/
require_once ADSI_CHEMIN_BIBLIOTHEQUE_ADSI.'adsi_site.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 Papyrus
global $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 arguments
for ($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 sites
if ( !($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 FAIRE
if ($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 FAIRE
if ($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 FAIRE
if ($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.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 ----------------------------------------------------------------------------------------+
*/
?>
/trunk/papyrus/applications/afficheur/afficheur.php
New file
0,0 → 1,121
<?php
/*vim: set expandtab tabstop=4 shiftwidth=4: */
// +------------------------------------------------------------------------------------------------------+
// | PHP version 4.1 |
// +------------------------------------------------------------------------------------------------------+
// | 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 |
// +------------------------------------------------------------------------------------------------------+
// CVS : $Id: afficheur.php,v 1.1 2004-06-16 14:35:26 jpm Exp $
/**
* Application réalisant l'affichage du contenu stocké dans Papyrus.
*
* Récupère le dernier contenu lié à un menu et le retourne.
*
*@package Afficheur
//Auteur original :
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org>
//Autres auteurs :
*@author Alexandre GRANIER <alexandrel@tela-botanica.org>
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.1 $ $Date: 2004-06-16 14:35:26 $
// +------------------------------------------------------------------------------------------------------+
*/
 
// +------------------------------------------------------------------------------------------------------+
// | ENTÊTE du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
/*Mettre ici les inclusions de fichiers*/
 
 
// +------------------------------------------------------------------------------------------------------+
// | CORPS du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
/*Mettre ici le code 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() - Fonction appelé par le gestionnaire Papyrus.
*
* Elle retourne le contenu stocké dans Papyrus pour le menu courant demandé.
*
* @return string du code XHTML correspondant au contenu du menu demandé.
*/
function afficherContenuCorps()
{
//----------------------------------------------------------------------------
// Initialisation des variable
global $_GEN_commun;
$objet_pear_db = $_GEN_commun['pear_db'];
if (isset($_GEN_commun['traduction_info_menu'])) {
$id_menu_courant = $_GEN_commun['traduction_info_menu']->gm_id_menu;
} else {
$id_menu_courant = $_GEN_commun['info_menu']->gm_id_menu;
}
$retour = '';
//----------------------------------------------------------------------------
// Récupération du dernier contenu
$requete = 'SELECT gmc_contenu '.
'FROM gen_menu_contenu '.
'WHERE gmc_ce_menu = '.$id_menu_courant.' '.
'AND gmc_bool_dernier = 1';
$resultat = $objet_pear_db->query($requete);
$ligne_contenu = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
$retour = $ligne_contenu->gmc_contenu;
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
//----------------------------------------------------------------------------
// Renvoie du contenu de la page
return $retour;
}
// +------------------------------------------------------------------------------------------------------+
// | LISTE de FONCTIONS |
// +------------------------------------------------------------------------------------------------------+
/*Mettre ici la liste de fonctions.*/
 
// +------------------------------------------------------------------------------------------------------+
// | PIED du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
/*Partie non obligatoire*/
 
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.12 2004/05/05 11:35:12 jpm
* Amélioration de la gestion de l'internationalisation.
*
* Revision 1.11 2004/05/05 06:45:40 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.10 2004/05/04 16:28:22 jpm
* Réduction de code pour la fonction afficherContenuTete().
*
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
?>