/tags/v5.0-ouadji/papyrus/applications/installateur/instal_base_de_donnees.inc.php |
---|
New file |
0,0 → 1,401 |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// +------------------------------------------------------------------------------------------------------+ |
// | PHP version 4.1 | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (c) 2002, Hendrik Mans <hendrik@mans.de> | |
// | Copyright 2002, 2003 David DELON | |
// | Copyright 2002 Patrick PAUL | |
// | Copyright 2003 Eric FELDSTEIN | |
// | All rights reserved. | |
// | Redistribution and use in source and binary forms, with or without | |
// | modification, are permitted provided that the following conditions | |
// | are met: | |
// | 1. Redistributions of source code must retain the above copyright | |
// | notice, this list of conditions and the following disclaimer. | |
// | 2. Redistributions in binary form must reproduce the above copyright | |
// | notice, this list of conditions and the following disclaimer in the | |
// | documentation and/or other materials provided with the distribution. | |
// | 3. The name of the author may not be used to endorse or promote products | |
// | derived from this software without specific prior written permission. | |
// | | |
// | THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR | |
// | IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES | |
// | OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. | |
// | IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, | |
// | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT | |
// | NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | |
// | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | |
// | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | |
// | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | |
// | THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
// +------------------------------------------------------------------------------------------------------+ |
// CVS : $Id: instal_base_de_donnees.inc.php,v 1.35 2007-08-28 14:37:11 jp_milcent Exp $ |
/** |
* Page de création de la base de données de Papyrus. |
* |
* Page permettant de créer la base de données de Papyrus. |
* |
*@package Installateur |
//Auteur original : |
*@author Hendrik MANS <hendrik@mans.de> |
//Autres auteurs : |
*@author David DELON |
*@author Patrick PAUL |
*@author Eric FELDSTEIN |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.35 $ $Date: 2007-08-28 14:37:11 $ |
// +------------------------------------------------------------------------------------------------------+ |
**/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// Numéro de l'étape d'installation : |
$num_etape = 2; |
// Initialisation du tableau contenant les valeurs de configuration de la base de données |
$tableau = array('PAP_BDD_SERVEUR' => '', 'PAP_BDD_NOM' => '', 'PAP_BDD_UTILISATEUR' => '', 'PAP_BDD_MOT_DE_PASSE' => ''); |
foreach ($tableau as $cle => $val) { |
if ($_POST['bdd'][$cle] != '') { |
$bdd[$cle] = $_POST['bdd'][$cle]; |
} else if (defined($cle)) { |
$bdd[$cle] = constant($cle); |
} else { |
$bdd[$cle] = ''; |
} |
} |
// Récupération des paramêtres de configuration du formulaire précédent |
if (isset($_POST['pref'])) { |
$pref = $_POST['pref']; |
} else if (isset($_POST['pref_serial'])) { |
$pref = unserialize(stripslashes($_POST['pref_serial'])); |
} |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// Affichage d'informations... |
$sortie .= '<br /><h1>Etape n°'.$num_etape.' sur '.INSTAL_NBRE_ETAPE.'.</h1>'."\n"; |
// Nous vérifions si nous sommes en phase de test du formulaire de config de la base de données |
$erreur = 0; |
$sortie_verif = ''; |
if ($_GET['installation'] == 'verif_bdd') { |
// Test de la configuration à la base de données |
$sortie_test .= ' <br /><h2>Test de la configuration de la base de données</h2>'."\n"; |
$dblink = @mysql_connect($bdd['PAP_BDD_SERVEUR'], $bdd['PAP_BDD_UTILISATEUR'], $bdd['PAP_BDD_MOT_DE_PASSE']); |
$erreur = testerConfig($sortie_test, 'Test connexion au serveur MySQL, recherche base de données ...', @mysql_select_db($bdd['PAP_BDD_NOM'], $dblink), |
'<br />La base de données, le serveur MySQL, ou votre identifiant / mot de passe sont invalides, veuillez vérifier vos paramêtres.', 1, $erreur); |
$sortie .= '<br />'."\n"; |
if ($erreur==0) { |
// L'exécution du SQL peut commencer... |
if (!defined('PAP_VERSION')) { |
$version_actuelle = 0.1; |
} else { |
// On ajoute pour éviter l'étape qui a déjà eu lieu lors d'une installation précédente! |
$version_actuelle = PAP_VERSION + 0.01; |
} |
if (!defined('GEN_VERSION')) { |
$version_maj = 0.1; |
} else { |
$version_maj = GEN_VERSION + 0.01; |
} |
$sortie_test .= '<h2>Insertion des informations dans la base de données</h2>'; |
for ( $version = $version_actuelle; $version <= $version_maj; $version = $version + 0.01) { |
//Insertion des requêtes présentes dans le fichier sql |
$file_sql_contenu = INSTAL_CHEMIN_SQL.'papyrus_v'.$version.'.sql'; |
if (file_exists($file_sql_contenu)) { |
$sortie_verif .= '<h2>Insertion des données du fichier sql version '.$version.'</h2>'; |
$sql_contenu = PMA_readFile($file_sql_contenu); |
} else |
unset($sql_contenu); |
$tab_requete_sql = array(); |
PMA_splitSqlFile($tab_requete_sql, $sql_contenu, ''); |
foreach ($tab_requete_sql as $value) { |
$table_nom = ''; |
if (!empty($value['table_nom'])) { |
$table_nom = $value['table_nom']; |
} |
$requete_type = ''; |
if (!empty($value['type'])) { |
$requete_type = $value['type']; |
} |
if ($requete_type == 'create') { |
$erreur = testerConfig( $sortie_verif, 'Création table '.$table_nom.'...', @mysql_query($value['query'], $dblink), |
'Déjà créée ?', 0, $erreur); |
} else if ($requete_type == 'alter') { |
$erreur = testerConfig( $sortie_verif, 'Modification structure table '.$table_nom.'...', @mysql_query($value['query'], $dblink), |
'Déjà modifiée ?', 0, $erreur); |
} else if ($requete_type == 'insert') { |
$erreur = testerConfig( $sortie_verif, 'Insertion table '.$table_nom.'...', @mysql_query($value['query'], $dblink), |
'Données déjà présente ?', 0, $erreur); |
} |
} |
// Chargement des hooks sql : fichier sql de configuration spécifiques à chaque application |
$d = dir(GEN_CHEMIN_CLIENT); |
$sql_contenu_hook = ''; |
while (false !== ($repertoire = $d->read())) { |
$hook=GEN_CHEMIN_CLIENT.$repertoire.GEN_SEP.'documentation'.GEN_SEP.$repertoire.'_v'.$version.'.sql'; |
if (file_exists($hook)) { |
$sortie_verif .= '<h2>Insertion des informations dans la base de données, fichier : '.$hook.' </h2>'; |
$sql_contenu_hook = PMA_readFile($hook); |
$tab_requete_sql = array(); |
PMA_splitSqlFile($tab_requete_sql, $sql_contenu_hook, ''); |
foreach ($tab_requete_sql as $value) { |
$table_nom = ''; |
if (!empty($value['table_nom'])) { |
$table_nom = $value['table_nom']; |
} |
$requete_type = ''; |
if (!empty($value['type'])) { |
$requete_type = $value['type']; |
} |
if ($requete_type == 'create') { |
$erreur = testerConfig( $sortie_verif, 'Création table '.$table_nom.'...', @mysql_query($value['query'], $dblink), |
'Déjà créé ?', 0, $erreur); |
} else if ($requete_type == 'alter') { |
$erreur = testerConfig( $sortie_verif, 'Modification structure table '.$table_nom.'...', @mysql_query($value['query'], $dblink), |
'Déjà modifiée ?', 0, $erreur); |
} else if ($requete_type == 'insert') { |
$erreur = testerConfig( $sortie_verif, 'Insertion table '.$table_nom.'...', @mysql_query($value['query'], $dblink), |
'Données déjà présente ?', 0, $erreur); |
} |
} |
} |
} |
} |
//Insertion des requêtes dépendant du formulaire d'installation |
$sortie_verif .= '<h2>Insertion des données dépendant du formulaire précédent</h2>'; |
$requete_admin = 'INSERT INTO gen_annuaire VALUES (1, "'.$pref['ADMIN_I18N'].'", "'.$pref['ADMIN_NOM']. |
'", "'.$pref['ADMIN_PRENOM'].'", "'.md5($pref['ADMIN_MDP_01']).'", "'. |
$pref['ADMIN_MAIL'].'");'; |
$erreur = testerConfig($sortie_verif, 'Insertion de l\'administrateur...', @mysql_query($requete_admin, $dblink), |
'Données déjà présente ?', 0, $erreur); |
$requete_auth = 'INSERT INTO gen_site_auth_bdd VALUES (1, "mysql://'. |
$bdd['PAP_BDD_UTILISATEUR'].':'.$bdd['PAP_BDD_MOT_DE_PASSE'].'@'.$bdd['PAP_BDD_SERVEUR'].'/'.$bdd['PAP_BDD_NOM'].'", "gen_annuaire", "ga_mail", '. |
'"ga_mot_de_passe", "md5","chp_personne_prenom=ga_prenom chp_personne_nom=ga_nom");'; |
$erreur = testerConfig($sortie_verif, 'Insertion de l\'authentification...', @mysql_query($requete_auth, $dblink), |
'Données déjà présente ?', 0, $erreur); |
$url_inscription = preg_replace ('/papyrus\.php/', 'page:inscription', $pref['PAP_URL']); |
$url_inscription_erreur = preg_replace ('/papyrus\.php/', 'page:inscription?action=mdp_oubli', $pref['PAP_URL']); |
$requete_auth = 'INSERT INTO gen_site_auth_bdd VALUES (2, "mysql://'. |
$bdd['PAP_BDD_UTILISATEUR'].':'.$bdd['PAP_BDD_MOT_DE_PASSE'].'@'.$bdd['PAP_BDD_SERVEUR'].'/'.$bdd['PAP_BDD_NOM'].'", "annuaire", "a_mail", '. |
'"a_mot_de_passe", "md5","chp_personne_prenom=a_prenom chp_personne_nom=a_nom '. |
'url_inscription='.$url_inscription.' url_inscription_modif='.$url_inscription.' url_erreur='.$url_inscription_erreur.'");'; |
$erreur = testerConfig($sortie_verif, 'Insertion de l\'authentification utilisateurs ...', @mysql_query($requete_auth, $dblink), |
'Données déjà présente ?', 0, $erreur); |
} |
} |
// Gestion de l'affichage de sortie |
if ($erreur == 0 && empty($sortie_verif)) { |
// Premier appel du fichier... |
$sortie .= creerFormulaire($bdd); |
$sortie .= '<li><input type="hidden" name="pref_serial" value="'.htmlentities(serialize($pref)).'" /></li>'."\n"; |
$sortie .= '<li><input type="submit" value="Tester" /></li>'."\n"; |
$sortie .= ' </ul>'."\n"; |
$sortie .= ' </form>'; |
} else if ($erreur == 2 && !empty($sortie_test)) { |
// Vérification du fichier avec interuption... |
$sortie .= creerFormulaire($bdd); |
$sortie .= $sortie_test; |
$sortie .= '<li><input type="hidden" name="pref_serial" value="'.htmlentities(serialize($pref)).'" /></li>'."\n"; |
$sortie .= '<li><input type="submit" value="Tester à nouveau" /></li>'."\n"; |
$sortie .= ' </ul>'."\n"; |
$sortie .= ' </form>'; |
//$sortie .= '<div class="code"><code>'.$sortie_verif.'</code></div>'; |
} else if (($erreur == 0 || $erreur == 1) && !empty($sortie_verif)) { |
// Vérification du fichier sans interuption... passage à l'étape suivante |
$sortie .= creerFormulaire($bdd, true); |
$sortie .= $sortie_test; |
$sortie .= ' </ul>'."\n"; |
$sortie .= ' </form>'; |
$sortie .= '<div class="code"><code>'.$sortie_verif.'</code></div>'; |
$sortie .= ' <br /><p class="etape_info">A l\'étape suivante, le programme d\'installation va essayer d\'écrire le fichier de '. |
'configuration <tt>'.INSTAL_FICHIER_CONFIG.'</tt>.<br />Assurez vous que le serveur web a bien le '. |
'droit d\'écrire dans ce fichier, sinon vous devrez le modifier manuellement.</p>'."\n"; |
$sortie .= ' <form style="clear:both;" action="'.donnerUrlCourante().'?installation=form_fichier" method="POST" />'."\n"; |
$sortie .= ' <input type="hidden" name="bdd_serial" value="'.htmlentities(serialize($bdd)).'" />'."\n"; |
$sortie .= ' <input type="hidden" name="pref_serial" value="'.htmlentities(serialize($pref)).'" />'."\n"; |
$sortie .= ' <input type="submit" value="Continuer" />'."\n"; |
$sortie .= ' </form>'."\n"; |
} |
// +------------------------------------------------------------------------------------------------------+ |
// | LISTE DES FONCTIONS | |
// +------------------------------------------------------------------------------------------------------+ |
// Création du formulaire de configuration de la base de données |
function creerFormulaire($bdd, $bln_lecture = false) { |
$disabled = ''; |
if ($bln_lecture) { |
$disabled = ' disabled="disabled" '; |
} |
$sortie_form .= ' <form action="'.donnerUrlCourante().'?installation=verif_bdd" method="post">'; |
$sortie_form .= ' <ul>'."\n"; |
$sortie_form .= '<li><br /><h2>Configuration de la base de données</h2></li>'."\n"; |
$sortie_form .= '<li>La machine sur laquelle se trouve votre serveur MySQL. En général c\'est "localhost" '. |
'(ie, la même machine que celle où se trouve les pages de Papyrus.).</li>'."\n"; |
$sortie_form .= '<li>'."\n". |
'<label for="mysql_serveur">Nom du serveur MySQL :</label>'. |
'<input id="mysql_serveur"'.$disabled.'type="text" size="30" name="bdd[PAP_BDD_SERVEUR]" value="'.$bdd['PAP_BDD_SERVEUR'].'" />'. |
'</li>'."\n"; |
$sortie_form .= '<li>La base de données MySQL à utiliser pour Papyrus. Cette base de données doit déjà '. |
'exister avant de pouvoir continuer.</li>'."\n"; |
$sortie_form .= '<li>'."\n". |
'<label for="mysql_database">Base de données MySQL :</label>'. |
'<input id="mysql_database"'.$disabled.'type="text" size="30" name="bdd[PAP_BDD_NOM]" value="'.$bdd['PAP_BDD_NOM'].'" />'. |
'</li>'."\n"; |
$sortie_form .= '<li>Nom et mot de passe de l\'utilisateur MySQL qui sera utilisé pour se connecter à votre base de données.</li>'."\n"; |
$sortie_form .= '<li>'."\n". |
'<label for="mysql_user">Nom de l\'utilisateur MySQL :</label>'. |
'<input id="mysql_user"'.$disabled.'type="text" size="30" name="bdd[PAP_BDD_UTILISATEUR]" value="'.$bdd['PAP_BDD_UTILISATEUR'].'" />'. |
'</li>'."\n"; |
$sortie_form .= '<li>'."\n". |
'<label for="mysql_password">Mot de passe MySQL :</label>'. |
'<input id="mysql_password"'.$disabled.'type="password" size="30" name="bdd[PAP_BDD_MOT_DE_PASSE]" value="'.$bdd['PAP_BDD_MOT_DE_PASSE'].'" />'. |
'</li>'."\n"; |
return $sortie_form; |
} |
// +------------------------------------------------------------------------------------------------------+ |
// | PIED du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.34 2007-06-26 12:08:18 jp_milcent |
* Correction de l'encodage et de la création du htaccess. |
* |
* Revision 1.33 2007-06-25 12:15:07 alexandre_tb |
* merge from narmer |
* |
* Revision 1.32 2007/04/20 09:05:46 alexandre_tb |
* correction pb encodage |
* |
* Revision 1.31 2007/04/19 16:19:45 neiluj |
* optimisation |
* |
* Revision 1.30 2007/04/19 16:18:05 neiluj |
* correction bug lecture fichier SQL |
* |
* Revision 1.29 2006/12/01 14:05:57 alexandre_tb |
* affichage des mesages d erreurs quand on se trompe dans les parametres mysql |
* |
* Revision 1.28 2006/10/06 15:23:00 florian |
* amelioration graphique de l'installateur |
* |
* Revision 1.27 2006/10/06 10:35:38 alexandre_tb |
* correction du lien vers l'inscription. |
* |
* Revision 1.26 2006/10/05 18:38:36 ddelon |
* reglage inititialisation base de donnes : authorisation utilisateur |
* |
* Revision 1.25 2006/10/05 17:56:37 ddelon |
* Gestion hooks creation base de donnee |
* |
* Revision 1.24 2006/10/05 17:39:35 ddelon |
* Gestion hooks creation base de donnee |
* |
* Revision 1.23 2006/10/05 17:16:21 ddelon |
* Gestion hooks creation base de donnee |
* |
* Revision 1.22 2006/10/05 16:44:02 ddelon |
* Gestion hooks creation base de donnee |
* |
* Revision 1.21 2006/10/05 16:39:01 ddelon |
* Gestion hooks creation base de donnee |
* |
* Revision 1.20 2006/10/05 16:25:58 ddelon |
* Gestion hooks creation base de donnee |
* |
* Revision 1.19 2006/10/05 15:38:22 ddelon |
* Gestion hooks creation base de donnee |
* |
* Revision 1.18 2006/10/05 15:27:53 ddelon |
* Gestion hooks creation base de donnee |
* |
* Revision 1.17 2006/10/05 15:04:00 ddelon |
* Gestion hooks creation base de donnee |
* |
* Revision 1.16 2006/10/05 15:00:56 ddelon |
* Gestion hooks creation base de donnee |
* |
* Revision 1.15 2006/10/05 14:41:12 ddelon |
* Gestion hooks creation base de donnee |
* |
* Revision 1.14 2006/10/05 14:24:58 ddelon |
* Gestion hooks creation base de donnee |
* |
* Revision 1.13 2006/10/05 14:01:21 ddelon |
* Gestion hooks creation base de donnee |
* |
* Revision 1.12 2005/09/23 14:20:23 florian |
* nouvel habillage installateur, plus correction de quelques bugs |
* |
* Revision 1.11 2004/11/03 17:31:13 jpm |
* Corrections bogues erreurs noms de variables (suite). |
* |
* Revision 1.10 2004/11/03 17:26:19 jpm |
* Corrections bogues erreurs noms de variables. |
* |
* Revision 1.9 2004/10/27 11:43:32 jpm |
* Correction bogues diff mise à jour / installation. |
* |
* Revision 1.8 2004/10/26 18:41:12 jpm |
* Correction bogue pour la mise à jour. |
* |
* Revision 1.7 2004/10/25 16:26:35 jpm |
* Début gestion des mises à jours. |
* |
* Revision 1.6 2004/10/25 10:22:48 jpm |
* Correction de quelques bogues, ajouts d'explications pour l'utilisateur et modification des styles CSS. |
* |
* Revision 1.5 2004/10/22 17:56:28 jpm |
* Correction erreur auth. |
* |
* Revision 1.4 2004/10/22 17:23:04 jpm |
* Simplification del'installation de Papyrus. |
* |
* Revision 1.3 2004/10/19 16:47:28 jpm |
* Transformation en fonction de l'appel de l'application. |
* |
* Revision 1.2 2004/10/19 15:59:18 jpm |
* Ajout de la gestion des valeurs propre à Papyrus à insérer dans la base de données. |
* Ajout des constantes FTP. |
* |
* Revision 1.1 2004/10/15 18:28:59 jpm |
* Début appli installateur de Papyrus. |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v5.0-ouadji/papyrus/applications/installateur/instal_preference.inc.php |
---|
New file |
0,0 → 1,273 |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// +------------------------------------------------------------------------------------------------------+ |
// | PHP version 4.1 | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (c) 2002, Hendrik Mans <hendrik@mans.de> | |
// | Copyright 2002, 2003 David DELON | |
// | Copyright 2002 Patrick PAUL | |
// | All rights reserved. | |
// | Redistribution and use in source and binary forms, with or without | |
// | modification, are permitted provided that the following conditions | |
// | are met: | |
// | 1. Redistributions of source code must retain the above copyright | |
// | notice, this list of conditions and the following disclaimer. | |
// | 2. Redistributions in binary form must reproduce the above copyright | |
// | notice, this list of conditions and the following disclaimer in the | |
// | documentation and/or other materials provided with the distribution. | |
// | 3. The name of the author may not be used to endorse or promote products | |
// | derived from this software without specific prior written permission. | |
// | | |
// | THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR | |
// | IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES | |
// | OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. | |
// | IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, | |
// | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT | |
// | NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | |
// | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | |
// | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | |
// | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | |
// | THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
// +------------------------------------------------------------------------------------------------------+ |
// CVS : $Id: instal_preference.inc.php,v 1.12 2006-10-06 15:23:00 florian Exp $ |
/** |
* Page d'initialisation de l'installation de Papyrus. |
* |
* Contenu de la page par défaut de l'installation de Papyrus. |
* |
*@package Installateur |
//Auteur original : |
*@author Hendrik MANS <hendrik@mans.de> |
//Autres auteurs : |
*@author David DELON |
*@author Patrick PAUL |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.12 $ $Date: 2006-10-06 15:23:00 $ |
// +------------------------------------------------------------------------------------------------------+ |
**/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// Numéro de l'étape d'installation : |
$num_etape = 1; |
// Initialisation du tableau contenant les valeurs de configuration de la base de données |
$tableau = array('ADMIN_PRENOM' => '', 'ADMIN_NOM' => '', 'ADMIN_MAIL' => '', 'ADMIN_MDP_01' => '', |
'ADMIN_MDP_02' => '', 'ADMIN_I18N' => '', 'PAP_URL' => '', 'PAP_CHEMIN_RACINE' => '', 'PAP_URL_REECRITURE' => '0'); |
foreach ($tableau as $cle => $val) { |
if (!empty($_POST['pref'][$cle])) { |
$pref[$cle] = $_POST['pref'][$cle]; |
} else if (defined($cle)) { |
$pref[$cle] = constant($cle); |
if ($cle == 'PAP_CHEMIN_RACINE') $pref[$cle] = INSTAL_CHEMIN_ABSOLU; |
} else { |
if ($cle == 'PAP_URL') { |
$pref[$cle] = 'http://'.$_SERVER['SERVER_NAME']. |
($_SERVER['SERVER_PORT'] != 80 ? ':'.$_SERVER['SERVER_PORT'] : ''). |
$_SERVER['REQUEST_URI']; |
} else if ($cle == 'PAP_CHEMIN_RACINE') { |
$pref[$cle] = INSTAL_CHEMIN_ABSOLU; |
} else { |
$pref[$cle] = ''; |
} |
} |
} |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// Affichage d'informations... |
$sortie .= '<br /><h1>Etape n°'.$num_etape.' sur '.INSTAL_NBRE_ETAPE.'.</h1>'."\n"; |
$sortie .= '<p>NOTE: Ce programme d\'installation va essayer de modifier les options de configurations dans le '. |
'fichier <tt>pap_config.inc.php</tt>, situé dans le répertoire <tt>configuration</tt> du réportoire '. |
'<tt>papyrus</tt>. Pour que cela fonctionne, veuillez vous assurez que votre serveur a les droits d\'accès '. |
'en écriture pour ce fichier. Si pour une raison quelconque vous ne pouvez pas faire ça vous '. |
'devrez modifier ce fichier manuellement (ce programme d\'installation vous dira comment).</p><br />'."\n"; |
// Nous vérifions si nous sommes en phase de test du formulaire de config des préférences |
if ($_GET['installation'] == 'verif_pref' ) { |
$sortie_verif = ''; |
$sortie_verif .= testerPresenceExtension(); |
// En mise à jour, nous n'affichons pas les champs pour saisir un administrateur |
if (!defined(INSTAL_VERSION_NOUVELLE_NOM)) { |
// Nous vérifions que l'utilisateur à bien saisie les infos dans les champs du formulaire |
if(empty($_POST['pref']['ADMIN_PRENOM'])) { |
$sortie_verif .= '<p class="erreur">Le champ "Prénom" ne doit pas être vide!</p>'."\n"; |
} |
if(empty($_POST['pref']['ADMIN_NOM'])) { |
$sortie_verif .= '<p class="erreur">Le champ "Nom" ne doit pas être vide!</p>'."\n"; |
} |
if(empty($_POST['pref']['ADMIN_MAIL'])) { |
$sortie_verif .= '<p class="erreur">Le champ "Courriel" ne doit pas être vide!</p>'."\n"; |
} |
if(empty($_POST['pref']['ADMIN_MDP_01'])) { |
$sortie_verif .= '<p class="erreur">Le champ "Mot de passe" ne doit pas être vide!</p>'."\n"; |
} |
if($_POST['pref']['ADMIN_MDP_01'] != $_POST['pref']['ADMIN_MDP_02']) { |
$sortie_verif .= '<p class="erreur">Le deux mots de passes saisis pour le compte administrateur sont différents!</p>'."\n"; |
} |
} |
} |
// Gestion de l'affichage de sortie |
if (!isset($sortie_verif) && empty($sortie_verif)) { |
// Premier appel du fichier... |
$sortie .= creerFormulaire($pref); |
$sortie .= ' </ul>'."\n"; |
$sortie .= '<input type="submit" value="Passer à l\'étape suivante" />'."\n"; |
$sortie .= '</form>'; |
} else if (isset($sortie_verif) && !empty($sortie_verif)) { |
// Vérification du fichier avec interuption... |
$sortie .= $sortie_verif; |
$sortie .= creerFormulaire($pref); |
$sortie .= ' </ul>'."\n"; |
$sortie .= '<input type="submit" value="Tester à nouveau" />'."\n"; |
$sortie .= ' </form>'; |
} else if (isset($sortie_verif) && empty($sortie_verif)) { |
// Vérification du fichier sans interuption... passage à l'étape suivante |
$sortie .= creerFormulaire($pref, true); |
$sortie .= ' </ul>'."\n"; |
$sortie .= ' </form>'; |
$sortie .= ' <br /><p class="etape_info">La configuration est OK. A l\'étape suivante, le programme d\'installation va essayer de configurer '. |
'et créer la base de données.</p>'."\n"; |
$sortie .= ' <form style="clear:both;" action="'.donnerUrlCourante().'?installation=form_bdd" method="post">'."\n"; |
$sortie .= ' <input type="hidden" name="pref_serial" value="'.htmlentities(serialize($pref)).'" />'."\n"; |
$sortie .= ' <input type="submit" value="Continuer" />'."\n"; |
$sortie .= ' </form>'."\n"; |
} |
// +------------------------------------------------------------------------------------------------------+ |
// | LISTE DES FONCTIONS | |
// +------------------------------------------------------------------------------------------------------+ |
// Création du formulaire de configuration de la base de donneés |
function creerFormulaire($pref, $bln_lecture = false) { |
$disabled = ''; |
if ($bln_lecture) { |
$disabled = ' disabled="disabled" '; |
} |
$sortie_form = ''; |
$sortie_form .= ' <form action="'.donnerUrlCourante().'?installation=verif_pref" method="post">'."\n"; |
$sortie_form .= '<ul>'."\n"; |
// En mise à jour, nous n'affichons pas les champs pour saisir un administrateur |
if (!defined(INSTAL_VERSION_NOUVELLE_NOM)) { |
$sortie_form .= '<li><h2>Configuration d\'un administrateur de Papyrus</h2></li>'."\n"; |
$sortie_form .= '<li>Tous les champs ci-dessous sont obligatoires.</li>'."\n"; |
$sortie_form .= '<li>'."\n". |
'<label for="admin_prenom">Prénom :</label>'. |
'<input id="admin_prenom"'.$disabled.'type="text" size="30" name="pref[ADMIN_PRENOM]" value="'.$pref['ADMIN_PRENOM'].'" />'. |
'</li>'."\n"; |
$sortie_form .= '<li>'."\n". |
'<label for="admin_nom">Nom :</label>'. |
'<input id="admin_nom"'.$disabled.'type="text" size="30" name="pref[ADMIN_NOM]" value="'.$pref['ADMIN_NOM'].'" />'. |
'</li>'."\n"; |
$sortie_form .= '<li>'."\n". |
'<label for="admin_mail">Courriel :</label>'. |
'<input id="admin_mail"'.$disabled.'type="text" size="30" name="pref[ADMIN_MAIL]" value="'.$pref['ADMIN_MAIL'].'" />'. |
'</li>'."\n"; |
$sortie_form .= '<li>'."\n". |
'<label for="admin_mdp_01">Mot de passe :</label>'. |
'<input id="admin_mdp_01"'.$disabled.'type="password" size="10" name="pref[ADMIN_MDP_01]" value="'.$pref['ADMIN_MDP_01'].'" />'. |
'</li>'."\n"; |
$sortie_form .= '<li>'."\n". |
'<label for="admin_mdp_02">Taper à nouveau votre mot de passe :</label>'. |
'<input id="admin_mdp_02"'.$disabled.'type="password" size="10" name="pref[ADMIN_MDP_02]" value="'.$pref['ADMIN_MDP_02'].'" />'. |
'</li>'."\n"; |
$sortie_form .= '<li>'."\n". |
'<label for="admin_i18n">Langue :</label>'. |
'<select id="admin_i18n"'.$disabled.'name="pref[ADMIN_I18N]">'. |
'<option value="fr-FR" selected="selected">français</option>'. |
'</select>'. |
'</li>'."\n"; |
} |
$sortie_form .= '<li> </li>'."\n".'<li><h2>Configuration de l\'URL</h2></li>'."\n"; |
$sortie_form .= '<li>L\'URL courante dans la barre d\'adresse de votre navigateur devrait correspondre à la valeur '. |
'présente dans le champ ci-dessous. Si ce n\'est pas le cas, veuillez corriger la valeur ci-dessous.'."\n"; |
$sortie_form .= '<li>'."\n". |
'<label for="url_courante">URL courante :</label>'. |
'<input id="url_courante"'.$disabled.'type="text" size="60" name="pref[PAP_URL]" value="'.$pref['PAP_URL'].'" />'. |
'</li>'."\n"; |
$sortie_form .= '<li>Le mode "redirection automatique" doit être sélectionné uniquement si '. |
'vous utilisez Papyrus avec la redirection d\'URL (si vous ne savez pas ce qu\'est la redirection d\'URL '. |
'n\'activez pas cette option).</li>'."\n"; |
$sortie_form .= '<li>'."\n". |
'<label for="rewrite_mode">Mode "redirection" :</label>'. |
'<input id="rewrite_mode"'.$disabled.'type="checkbox" name="pref[PAP_URL_REECRITURE]" value="1" />'. |
'Activation'.'</li>'."\n"; |
$sortie_form .= '<li>Le champ suivant devrait contenir le chemin d\'accès absolu vers le fichier <tt>papyrus.php</tt> '. |
'sur le serveur où sont déposés les fichiers de Papyrus.</li>'."\n"; |
$sortie_form .= '<li>'."\n". |
'<label for="web_racine">Dossier de <tt>papyrus.php</tt> :</label>'. |
'<input id="web_racine"'.$disabled.'type="text" size="60" name="pref[PAP_CHEMIN_RACINE]" value="'.$pref['PAP_CHEMIN_RACINE'].'" />'. |
'</li>'."\n"; |
return $sortie_form; |
} |
// Vérification des variables d'environnement de PHP. |
function testerPresenceExtension() { |
$message = ''; |
$phrase_deb = '<p class="erreur">Pour fonctionner Papyrus à besoin que l\'extension PHP : '; |
$phrase_fin = 'soit installée sur le serveur.<br /> Sans cette extension vous ne pourrez pas installer Papyrus !</p>'; |
// Nous avons besoin de quelques extensions |
if (! extension_loaded('mysql')) { |
$message .= $phrase_deb.'MYSQL'.$phrase_fin; |
} |
if (! extension_loaded('ftp')) { |
$message .= $phrase_deb.'FTP'.$phrase_fin; |
} |
if (! extension_loaded('gd')) { |
$message .= $phrase_deb.'GD'.$phrase_fin; |
} |
return $message; |
} |
// +------------------------------------------------------------------------------------------------------+ |
// | PIED du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.11 2006/10/05 15:14:18 alexandre_tb |
* Mise en place du chemin par défaut |
* |
* Revision 1.10 2005/09/23 14:20:23 florian |
* nouvel habillage installateur, plus correction de quelques bugs |
* |
* Revision 1.9 2005/04/12 16:09:45 jpm |
* Amélioration de la gestion de la constante de redirection des urls et de la gestion des constantes de type entier et booléen. |
* |
* Revision 1.8 2004/10/27 11:43:32 jpm |
* Correction bogues diff mise à jour / installation. |
* |
* Revision 1.7 2004/10/25 10:22:48 jpm |
* Correction de quelques bogues, ajouts d'explications pour l'utilisateur et modification des styles CSS. |
* |
* Revision 1.6 2004/10/22 17:23:04 jpm |
* Simplification del'installation de Papyrus. |
* |
* Revision 1.5 2004/10/22 09:07:18 jpm |
* Début simplification installateur. |
* |
* Revision 1.4 2004/10/19 17:01:12 jpm |
* Correction bogues. |
* |
* Revision 1.3 2004/10/19 16:47:28 jpm |
* Transformation en fonction de l'appel de l'application. |
* |
* Revision 1.2 2004/10/19 15:59:18 jpm |
* Ajout de la gestion des valeurs propre à Papyrus à insérer dans la base de données. |
* Ajout des constantes FTP. |
* |
* Revision 1.1 2004/10/15 18:28:59 jpm |
* Début appli installateur de Papyrus. |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v5.0-ouadji/papyrus/applications/installateur/bibliotheque/instal_installation.fonct.php |
---|
New file |
0,0 → 1,356 |
<?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: instal_installation.fonct.php,v 1.7 2007-01-04 17:06:03 alexandre_tb Exp $ |
/** |
* Bibliothèque des fonctions de l'application Installateur de Papyrus. |
* |
* Ce sous-paquetage contient les fonctions de l'application Installateur de Papyrus. Cette application gère |
* l'installation de Papyrus (base de données). |
* |
*@package Installateur |
*@subpackage Fonctions |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.7 $ $Date: 2007-01-04 17:06:03 $ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | LISTE de FONCTIONS | |
// +------------------------------------------------------------------------------------------------------+ |
/**Fonction donnerUrlCourante() - Retourne la base de l'url courante. |
* |
* Cette fonction renvoie la base de l'url courante. |
* Origine : fonction provenant du fichier header.php de Wikini version 0.4.1 |
* Licence : la même que celle figurant dans l'entête du fichier header.php de Wikini version 0.4.1 |
* ou le fichier install_defaut.inc.php de cette application. |
* Auteurs : Hendrik MANS, David DELON, Patrick PAUL, Jean-Pascal MILCENT |
* |
* @return string l'url courante. |
*/ |
function donnerUrlCourante() |
{ |
list($url, ) = explode('?', $_SERVER['REQUEST_URI']); |
return $url; |
} |
/**Fonction testerConfig() - Retourne un message en fonction du résultat du test. |
* |
* Cette fonction retourne un message en fonction du résultat du test. |
* Origine : fonction provenant du fichier header.php de Wikini version 0.4.1 |
* Licence : la même que celle figurant dans l'entête du fichier header.php de Wikini version 0.4.1 |
* ou le fichier install_defaut.inc.php de cette application. |
* Auteurs : Hendrik MANS, David DELON, Patrick PAUL, Jean-Pascal MILCENT |
* |
* @return string l'url courante. |
*/ |
function testerConfig(&$sortie, $texte, $test, $texte_erreur = '', $stop_erreur = 1, $erreur) { |
if ($erreur == 2) { |
return 2; |
} |
$sortie .= $texte.' '; |
if ($test) { |
$sortie .= '<span class="ok"> OK </span><br />'."\n"; |
return 0; |
} else { |
$sortie .= '<span class="failed"> ECHEC </span>'; |
if ($texte_erreur) { |
$sortie .= '<p class="erreur">'.$texte_erreur.'</p>'; |
} |
$sortie .= '<br />'."\n" ; |
if ($stop_erreur == 1) { |
return 2; |
} else { |
return 1; |
} |
} |
} |
/** |
* Removes comment lines and splits up large sql files into individual queries |
* |
* Last revision: September 23, 2001 - gandon |
* Origine : fonction provenant de PhpMyAdmin version 2.6.0-pl1 |
* Licence : GNU |
* Auteurs : voir le fichier Documentation.txt ou Documentation.html de PhpMyAdmin. |
* |
* @param array the splitted sql commands |
* @param string the sql commands |
* @param integer the MySQL release number (because certains php3 versions |
* can't get the value of a constant from within a function) |
* |
* @return boolean always true |
* |
* @access public |
*/ |
function PMA_splitSqlFile(&$ret, $sql, $release) |
{ |
// do not trim, see bug #1030644 |
//$sql = trim($sql); |
$sql = rtrim($sql, "\n\r"); |
$sql_len = strlen($sql); |
$char = ''; |
$string_start = ''; |
$in_string = FALSE; |
$nothing = TRUE; |
$time0 = time(); |
for ($i = 0; $i < $sql_len; ++$i) { |
$char = $sql[$i]; |
// We are in a string, check for not escaped end of strings except for |
// backquotes that can't be escaped |
if ($in_string) { |
for (;;) { |
$i = strpos($sql, $string_start, $i); |
// No end of string found -> add the current substring to the |
// returned array |
if (!$i) { |
$tab_info = retournerInfoRequete($sql); |
$ret[] = array('query' => $sql, 'table_nom' => $tab_info['table_nom'], 'type' => $tab_info['type']); |
return TRUE; |
} |
// Backquotes or no backslashes before quotes: it's indeed the |
// end of the string -> exit the loop |
else if ($string_start == '`' || $sql[$i-1] != '\\') { |
$string_start = ''; |
$in_string = FALSE; |
break; |
} |
// one or more Backslashes before the presumed end of string... |
else { |
// ... first checks for escaped backslashes |
$j = 2; |
$escaped_backslash = FALSE; |
while ($i-$j > 0 && $sql[$i-$j] == '\\') { |
$escaped_backslash = !$escaped_backslash; |
$j++; |
} |
// ... if escaped backslashes: it's really the end of the |
// string -> exit the loop |
if ($escaped_backslash) { |
$string_start = ''; |
$in_string = FALSE; |
break; |
} |
// ... else loop |
else { |
$i++; |
} |
} // end if...elseif...else |
} // end for |
} // end if (in string) |
// lets skip comments (/*, -- and #) |
else if (($char == '-' && $sql_len > $i + 2 && $sql[$i + 1] == '-' && $sql[$i + 2] <= ' ') || $char == '#' || ($char == '/' && $sql_len > $i + 1 && $sql[$i + 1] == '*')) { |
$i = strpos($sql, $char == '/' ? '*/' : "\n", $i); |
// didn't we hit end of string? |
if ($i === FALSE) { |
break; |
} |
if ($char == '/') $i++; |
} |
// We are not in a string, first check for delimiter... |
else if ($char == ';') { |
// if delimiter found, add the parsed part to the returned array |
$retour_sql = substr($sql, 0, $i); |
$tab_info = retournerInfoRequete($retour_sql); |
$ret[] = array('query' => $retour_sql, 'empty' => $nothing, 'table_nom' => $tab_info['table_nom'], 'type' => $tab_info['type']); |
$nothing = TRUE; |
$sql = ltrim(substr($sql, min($i + 1, $sql_len))); |
$sql_len = strlen($sql); |
if ($sql_len) { |
$i = -1; |
} else { |
// The submited statement(s) end(s) here |
return TRUE; |
} |
} // end else if (is delimiter) |
// ... then check for start of a string,... |
else if (($char == '"') || ($char == '\'') || ($char == '`')) { |
$in_string = TRUE; |
$nothing = FALSE; |
$string_start = $char; |
} // end else if (is start of string) |
elseif ($nothing) { |
$nothing = FALSE; |
} |
// loic1: send a fake header each 30 sec. to bypass browser timeout |
$time1 = time(); |
if ($time1 >= $time0 + 30) { |
$time0 = $time1; |
header('X-pmaPing: Pong'); |
} // end if |
} // end for |
// add any rest to the returned array |
if (!empty($sql) && preg_match('@[^[:space:]]+@', $sql)) { |
$tab_info = retournerInfoRequete($sql); |
$ret[] = array('query' => $sql, 'empty' => $nothing, 'table_nom' => $tab_info['table_nom'], 'type' => $tab_info['type']); |
} |
return TRUE; |
} |
/**Fonction retournerInfoRequete() - Retourne le type de requête sql et le nom de la table touchée. |
* |
* Cette fonction retourne un tableau associatif contenant en clé 'table_nom' le nom de la table touchée |
* et en clé 'type' le type de requête (create, alter, insert, update...). |
* Licence : la même que celle figurant dans l'entête de ce fichier |
* Auteurs : Jean-Pascal MILCENT |
* |
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
* @return string l'url courante. |
*/ |
function retournerInfoRequete($sql) |
{ |
$requete = array(); |
$resultat=''; |
if (preg_match('/(?i:CREATE TABLE) +(.+) +\(/', $sql, $resultat)) { |
if (isset($resultat[1])) { |
$requete['table_nom'] = $resultat[1]; |
} |
$requete['type'] = 'create'; |
} else if (preg_match('/(?i:ALTER TABLE) +(.+) +/', $sql, $resultat)) { |
if (isset($resultat[1])) { |
$requete['table_nom'] = $resultat[1]; |
} |
$requete['type'] = 'alter'; |
} else if (preg_match('/(?i:INSERT INTO) +(.+) +(?i:\(|VALUES +\()/', $sql, $resultat)) { |
if (isset($resultat[1])) { |
$requete['table_nom'] = $resultat[1]; |
} |
$requete['type'] = 'insert'; |
} else if (preg_match('/(?i:UPDATE) +(.+) +(?i:SET)/', $sql, $resultat)) { |
if (isset($resultat[1])) { |
$requete['table_nom'] = $resultat[1]; |
} |
$requete['type'] = 'update'; |
} |
return $requete; |
} |
/** |
* Reads (and decompresses) a (compressed) file into a string |
* |
* Origine : fonction provenant de PhpMyAdmin version 2.6.0-pl1 |
* Licence : GNU |
* Auteurs : voir le fichier Documentation.txt ou Documentation.html de PhpMyAdmin. |
* |
* @param string the path to the file |
* @param string the MIME type of the file, if empty MIME type is autodetected |
* |
* @global array the phpMyAdmin configuration |
* |
* @return string the content of the file or |
* boolean FALSE in case of an error. |
*/ |
function PMA_readFile($path, $mime = '') |
{ |
global $cfg; |
if (!file_exists($path)) { |
return FALSE; |
} |
switch ($mime) { |
case '': |
$file = @fopen($path, 'rb'); |
if (!$file) { |
return FALSE; |
} |
$test = fread($file, 3); |
fclose($file); |
if ($test[0] == chr(31) && $test[1] == chr(139)) return PMA_readFile($path, 'application/x-gzip'); |
if ($test == 'BZh') return PMA_readFile($path, 'application/x-bzip'); |
return PMA_readFile($path, 'text/plain'); |
case 'text/plain': |
$file = @fopen($path, 'rb'); |
if (!$file) { |
return FALSE; |
} |
$content = fread($file, filesize($path)); |
fclose($file); |
break; |
case 'application/x-gzip': |
if ($cfg['GZipDump'] && @function_exists('gzopen')) { |
$file = @gzopen($path, 'rb'); |
if (!$file) { |
return FALSE; |
} |
$content = ''; |
while (!gzeof($file)) { |
$content .= gzgetc($file); |
} |
gzclose($file); |
} else { |
return FALSE; |
} |
break; |
case 'application/x-bzip': |
if ($cfg['BZipDump'] && @function_exists('bzdecompress')) { |
$file = @fopen($path, 'rb'); |
if (!$file) { |
return FALSE; |
} |
$content = fread($file, filesize($path)); |
fclose($file); |
$content = bzdecompress($content); |
} else { |
return FALSE; |
} |
break; |
default: |
return FALSE; |
} |
return $content; |
} |
/* +--Fin du code ---------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.6 2006/04/28 12:41:49 florian |
* corrections erreurs chemin |
* |
* Revision 1.5 2005/09/23 14:20:23 florian |
* nouvel habillage installateur, plus correction de quelques bugs |
* |
* Revision 1.4 2004/10/25 16:26:56 jpm |
* Ajout de la gestion des requêtes de type alter et update. |
* |
* Revision 1.3 2004/10/19 16:47:06 jpm |
* Modification de la gestion du texte de sortie dans la fonction testerConfig(). |
* |
* Revision 1.2 2004/10/15 18:28:44 jpm |
* Ajout de fonction utilisée pour l'installation de Papyrus. |
* |
* Revision 1.1 2004/06/16 14:34:12 jpm |
* Changement de nom de Génésia en Papyrus. |
* Changement de l'arborescence. |
* |
* +--Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v5.0-ouadji/papyrus/applications/installateur/installateur.php |
---|
New file |
0,0 → 1,212 |
<?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.17 2008-11-19 09:25:36 aperonnet 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.17 $ $Date: 2008-11-19 09:25:36 $ |
// +------------------------------------------------------------------------------------------------------+ |
**/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// Constante de l'application Installateur. On devrait créer un fichier de config et un de langue pour rendre l'appli portable... |
preg_match('/^(.*)papyrus.php/', $_SERVER['SCRIPT_FILENAME'], $instal_tab_txt); |
define('INSTAL_CHEMIN_ABSOLU', $instal_tab_txt[1]); |
/** Nom du dossier contenant l'application Installateur.*/ |
define('INSTAL_DOSSIER_APPLI', INSTAL_CHEMIN_ABSOLU.GEN_CHEMIN_APPLICATION.'installateur'.GEN_SEP); |
/** Nom du dossier contenant la bibliothèque de code de l'application Installateur.*/ |
define('INSTAL_DOSSIER_BIBLIO', INSTAL_DOSSIER_APPLI.'bibliotheque'.GEN_SEP); |
/** Chemin vers le fichier de configuration de base de l'application Papyrus.*/ |
define('INSTAL_CHEMIN_CONFIG', GEN_CHEMIN_CONFIG.GEN_FICHIER_CONFIG); |
/** Nom du fichier de configuration de Papyrus à créer.*/ |
define('INSTAL_FICHIER_CONFIG', GEN_FICHIER_CONFIG); |
/** Chemin vers le fichier de configuration de base de l'application Papyrus.*/ |
define('INSTAL_CHEMIN_SQL', INSTAL_CHEMIN_ABSOLU.GEN_CHEMIN_INSTAL); |
/** Nom de la constante stockant le numéro de la nouvelle version de l'application Papyrus.*/ |
define('INSTAL_VERSION_NOUVELLE_NOM', 'PAP_VERSION'); |
/** Numéro de la nouvelle version de l'application Papyrus.*/ |
define('INSTAL_VERSION_NOUVELLE', GEN_VERSION); |
if (defined('PAP_VERSION')) { |
define('INSTAL_VERSION_ANCIENNE', PAP_VERSION); |
} else { |
define('INSTAL_VERSION_ANCIENNE', ''); |
} |
/** Nombre d'étapes totale de l'installation.*/ |
define('INSTAL_NBRE_ETAPE', 3); |
// Fichiers à inclure |
require_once INSTAL_DOSSIER_BIBLIO.'instal_installation.fonct.php'; |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
function afficherContenuCorps() |
{ |
// Entête XHTML des pages de l'installation de Papyrus |
$sortie = ''; |
$sortie .= '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"'."\n"; |
$sortie .= '"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">'."\n"; |
$sortie .= '<html xmlns="http://www.w3.org/1999/xhtml" lang="fr-FR" xml:lang="fr-FR">'."\n"; |
$sortie .= ' <head>'."\n"; |
$sortie .= ' <link rel="stylesheet" type="text/css" media="screen" title="Installateur" href="papyrus/applications/installateur/presentations/styles/installateur.css" />'."\n"; |
$sortie .= ' <title>Installation de Papyrus</title>'."\n"; |
$sortie .= ' </head>'."\n"; |
$sortie .= ' <body xml:lang="fr" lang="fr" >'."\n"; |
$sortie .= ' <div id="page">'."\n"; |
$sortie .= ' <div id="zone_bandeau">'."\n"; |
$sortie .= ' <div id="logo">'."\n"; |
$sortie .= ' <img src="papyrus/applications/installateur/presentations/images/Logo_papyrus.jpg" alt="Logo Papyrus" />'."\n"; |
$sortie .= ' </div>'."\n"; |
$sortie .= ' <div id="site_nom">'."\n"; |
$sortie .= ' <h1>Installation de Papyrus</h1>'."\n"; |
$sortie .= ' </div>'."\n"; |
$sortie .= ' </div>'."\n"; |
$sortie .= ' <div id="zone_contenu">'."\n"; |
// Message situation de l'installation |
if (defined('PAP_VERSION')) { |
$sortie .= '<p class="zone_info">Votre système Papyrus existant a été reconnu comme étant la version '. |
INSTAL_VERSION_ANCIENNE.'.<br />'. |
'Vous êtes sur le point de <strong>mettre à jour</strong> Papyrus pour la version '. |
INSTAL_VERSION_NOUVELLE.'.<br />'. |
'Veuillez revoir vos informations de configuration ci-dessous.</p><br style="clear:both;">'."\n"; |
} else { |
$sortie .= '<p class="zone_info">Vous êtes sur le point d\'installer Papyrus '.INSTAL_VERSION_NOUVELLE.'.<br />'. |
'Veuillez configurer votre Papyrus en remplissant les formulaires étape par étape.</p><br style="clear:both;">'."\n"; |
} |
if(!isset($_GET['installation']) || ($_GET['installation'] == 'form_pref' || $_GET['installation'] == 'verif_pref')) { |
include_once GEN_CHEMIN_APPLICATION.'installateur/instal_preference.inc.php'; |
} else if($_GET['installation'] == 'form_bdd' || $_GET['installation'] == 'verif_bdd') { |
include_once GEN_CHEMIN_APPLICATION.'installateur/instal_base_de_donnees.inc.php'; |
} else if($_GET['installation'] == 'form_fichier' || $_GET['installation'] == 'verif_fichier') { |
include_once GEN_CHEMIN_APPLICATION.'installateur/instal_fichier.inc.php'; |
} |
// Pied XHTML des pages de l'installation de Papyrus |
$sortie .= ' </div>'."\n"; |
$sortie .= ' <div id="zone_pied">'."\n"; |
$sortie .= ' <div id="copyright">'."\n"; |
$sortie .= ' <a href="http://frenchmozilla.org"><img src="papyrus/applications/installateur/presentations/images/logo-firefox.png" alt="Logo Firefox" /></a> '."\n"; |
$sortie .= ' <a href="http://validator.w3.org/check?uri=referer"><img src="papyrus/applications/installateur/presentations/images/logo-xhtml11.png" alt="Logo XHTML" /></a> '."\n"; |
$sortie .= ' <a href="http://jigsaw.w3.org/css-validator/check/referer"><img src="papyrus/applications/installateur/presentations/images/logo-css.png" alt="Logo CSS" /></a><br />'."\n"; |
$sortie .= ' © <a href="http://www.tela-botanica.org/">Tela Botanica</a> et <a href="http://www.ecole-et-nature.org/">Réseau Ecole et Nature</a> / 2004-2006<br />'."\n"; |
$sortie .= ' Site utilisant <a href="http://outils-reseaux.org/wiki_papyrus">Papyrus, le CMS coopératif</a>'."\n"; |
$sortie .= ' </div>'."\n"; |
$sortie .= ' </div>'."\n"; |
$sortie .= ' </div>'."\n"; |
$sortie .= ' </body>'."\n"; |
$sortie .= '</html>'; |
return $sortie; |
} |
// +------------------------------------------------------------------------------------------------------+ |
// | PIED du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.16 2007-04-20 13:31:42 florian |
* remplacement des caracteres speciaux par des entite html |
* |
* Revision 1.15 2006/10/16 15:49:07 ddelon |
* Refactorisation code mulitlinguisme et gestion menu invisibles |
* |
* Revision 1.14 2006/10/09 14:35:50 ddelon |
* bug caractere invalide trainant dans fichier |
* |
* Revision 1.13 2006/10/05 15:17:29 florian |
* changement presentation |
* |
* Revision 1.12 2006/10/05 15:11:17 florian |
* changement presentation |
* |
* Revision 1.11 2006/10/05 14:41:53 florian |
* changement presentation |
* |
* Revision 1.10 2005/09/23 14:20:23 florian |
* nouvel habillage installateur, plus correction de quelques bugs |
* |
* Revision 1.9 2004/10/27 11:43:32 jpm |
* Correction bogues diff mise à jour / installation. |
* |
* Revision 1.8 2004/10/25 10:22:48 jpm |
* Correction de quelques bogues, ajouts d'explications pour l'utilisateur et modification des styles CSS. |
* |
* Revision 1.7 2004/10/22 17:23:04 jpm |
* Simplification del'installation de Papyrus. |
* |
* Revision 1.6 2004/10/19 17:01:12 jpm |
* Correction bogues. |
* |
* Revision 1.5 2004/10/19 16:47:28 jpm |
* Transformation en fonction de l'appel de l'application. |
* |
* Revision 1.4 2004/10/19 15:59:18 jpm |
* Ajout de la gestion des valeurs propre à Papyrus à insérer dans la base de données. |
* Ajout des constantes FTP. |
* |
* Revision 1.3 2004/10/18 09:12:09 jpm |
* Changement de nom d'un fichier. |
* |
* Revision 1.2 2004/10/15 18:28:59 jpm |
* Début appli installateur de Papyrus. |
* |
* Revision 1.1 2004/06/16 14:33:13 jpm |
* Changement de nom de Papyrus en Papyrus. |
* Changement de l'arborescence. |
* |
* 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 Papyrus 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 Papyrus. |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v5.0-ouadji/papyrus/applications/installateur/presentations/images/logo-xhtml11.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v5.0-ouadji/papyrus/applications/installateur/presentations/images/logo-xhtml11.png |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/tags/v5.0-ouadji/papyrus/applications/installateur/presentations/images/navigation/adme_fermer.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v5.0-ouadji/papyrus/applications/installateur/presentations/images/navigation/adme_fermer.png |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/tags/v5.0-ouadji/papyrus/applications/installateur/presentations/images/navigation/adme_administrer.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v5.0-ouadji/papyrus/applications/installateur/presentations/images/navigation/adme_administrer.png |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/tags/v5.0-ouadji/papyrus/applications/installateur/presentations/images/navigation/adme_monter.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v5.0-ouadji/papyrus/applications/installateur/presentations/images/navigation/adme_monter.png |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/tags/v5.0-ouadji/papyrus/applications/installateur/presentations/images/navigation/adme_ouvrir.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v5.0-ouadji/papyrus/applications/installateur/presentations/images/navigation/adme_ouvrir.png |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/tags/v5.0-ouadji/papyrus/applications/installateur/presentations/images/navigation/adme_supprimer.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v5.0-ouadji/papyrus/applications/installateur/presentations/images/navigation/adme_supprimer.png |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/tags/v5.0-ouadji/papyrus/applications/installateur/presentations/images/navigation/adme_augmenter.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v5.0-ouadji/papyrus/applications/installateur/presentations/images/navigation/adme_augmenter.png |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/tags/v5.0-ouadji/papyrus/applications/installateur/presentations/images/navigation/adme_ajouter.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v5.0-ouadji/papyrus/applications/installateur/presentations/images/navigation/adme_ajouter.png |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/tags/v5.0-ouadji/papyrus/applications/installateur/presentations/images/navigation/adme_descendre.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v5.0-ouadji/papyrus/applications/installateur/presentations/images/navigation/adme_descendre.png |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/tags/v5.0-ouadji/papyrus/applications/installateur/presentations/images/navigation/adme_diminuer.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v5.0-ouadji/papyrus/applications/installateur/presentations/images/navigation/adme_diminuer.png |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/tags/v5.0-ouadji/papyrus/applications/installateur/presentations/images/navigation/adme_modifier.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v5.0-ouadji/papyrus/applications/installateur/presentations/images/navigation/adme_modifier.png |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/tags/v5.0-ouadji/papyrus/applications/installateur/presentations/images/Calendrier-coin-jaune.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v5.0-ouadji/papyrus/applications/installateur/presentations/images/Calendrier-coin-jaune.png |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/tags/v5.0-ouadji/papyrus/applications/installateur/presentations/images/Infos.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v5.0-ouadji/papyrus/applications/installateur/presentations/images/Infos.png |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/tags/v5.0-ouadji/papyrus/applications/installateur/presentations/images/picto.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v5.0-ouadji/papyrus/applications/installateur/presentations/images/picto.png |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/tags/v5.0-ouadji/papyrus/applications/installateur/presentations/images/Logo_papyrus.jpg |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v5.0-ouadji/papyrus/applications/installateur/presentations/images/Logo_papyrus.jpg |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/tags/v5.0-ouadji/papyrus/applications/installateur/presentations/images/Bandeau_haut.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v5.0-ouadji/papyrus/applications/installateur/presentations/images/Bandeau_haut.png |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/tags/v5.0-ouadji/papyrus/applications/installateur/presentations/images/logo-firefox.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v5.0-ouadji/papyrus/applications/installateur/presentations/images/logo-firefox.png |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/tags/v5.0-ouadji/papyrus/applications/installateur/presentations/images/Bandeau_bas.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v5.0-ouadji/papyrus/applications/installateur/presentations/images/Bandeau_bas.png |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/tags/v5.0-ouadji/papyrus/applications/installateur/presentations/images/Boutons/onglet_contenu_droit.gif |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v5.0-ouadji/papyrus/applications/installateur/presentations/images/Boutons/onglet_contenu_droit.gif |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/tags/v5.0-ouadji/papyrus/applications/installateur/presentations/images/Boutons/left_both_green.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v5.0-ouadji/papyrus/applications/installateur/presentations/images/Boutons/left_both_green.png |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/tags/v5.0-ouadji/papyrus/applications/installateur/presentations/images/Boutons/onglet_contenu_hover_droit.gif |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v5.0-ouadji/papyrus/applications/installateur/presentations/images/Boutons/onglet_contenu_hover_droit.gif |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/tags/v5.0-ouadji/papyrus/applications/installateur/presentations/images/Boutons/onglet_contenu_milieu.gif |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v5.0-ouadji/papyrus/applications/installateur/presentations/images/Boutons/onglet_contenu_milieu.gif |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/tags/v5.0-ouadji/papyrus/applications/installateur/presentations/images/Boutons/right_both_green.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v5.0-ouadji/papyrus/applications/installateur/presentations/images/Boutons/right_both_green.png |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/tags/v5.0-ouadji/papyrus/applications/installateur/presentations/images/Boutons/onglet_contenu_hover_milieu.gif |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v5.0-ouadji/papyrus/applications/installateur/presentations/images/Boutons/onglet_contenu_hover_milieu.gif |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/tags/v5.0-ouadji/papyrus/applications/installateur/presentations/images/Boutons/onglet_contenu_gauche.gif |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v5.0-ouadji/papyrus/applications/installateur/presentations/images/Boutons/onglet_contenu_gauche.gif |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/tags/v5.0-ouadji/papyrus/applications/installateur/presentations/images/Boutons/onglet_contenu_hover_gauche.gif |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v5.0-ouadji/papyrus/applications/installateur/presentations/images/Boutons/onglet_contenu_hover_gauche.gif |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/tags/v5.0-ouadji/papyrus/applications/installateur/presentations/images/logo-css.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v5.0-ouadji/papyrus/applications/installateur/presentations/images/logo-css.png |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/tags/v5.0-ouadji/papyrus/applications/installateur/presentations/images/Agraphe.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v5.0-ouadji/papyrus/applications/installateur/presentations/images/Agraphe.png |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/tags/v5.0-ouadji/papyrus/applications/installateur/presentations/images/Main_Erreur.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v5.0-ouadji/papyrus/applications/installateur/presentations/images/Main_Erreur.png |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/tags/v5.0-ouadji/papyrus/applications/installateur/presentations/styles/installateur.old.css |
---|
New file |
0,0 → 1,38 |
* {padding: 0;margin: 0;} |
body {font-family: Tahoma, Arial, Helvetica, sans-serif;text-align: center;color: #566047;line-height: 19px; |
background: #FBFBE5 url(../images/grass.png) right bottom fixed no-repeat;} |
a, a:link, a:visited {color: #566047;text-decoration: underline;background: transparent;} |
a:hover {color: #6878C6;background: transparent;text-decoration: none;} |
a:active, a:focus {color: #566047;background-color: #FBFBE5;} |
p {line-height: 19px;} |
acronym {font-weight: bold;text-decoration: none;border-bottom: none;} |
#container {margin: auto;text-align: left;width: 760px;border-left:solid 2px #BCBCAB;border-right:solid 2px #BCBCAB;} |
#zone_bandeau {color: #566047;background: #E9EBD3;width: 760px;height: 70px;margin:5px auto; |
border-top:solid 3px #838E6C;border-bottom:solid 3px #838E6C;} |
#logo {float : left;margin: 3px 0 0 10px;} |
#site_nom {width:300px;text-align: center;margin:20px auto;background: transparent;color: #566047;} |
#zone_contenu {margin: 6px;font-size:70%;} |
#zone_pied {clear:both;text-align:center;background: #E9EBD3;color: #566047;width: 760px;height: 40px;margin:5px auto; |
border-top:solid 3px #838E6C;border-bottom:solid 3px #838E6C;font-size:70%;padding-top:5px;} |
h1, h2, h3 {margin-bottom: 10px;height: 22px;border-bottom: 1px solid #7D8965;} |
h1 {font-size: 1.5em;} |
h2 {font-size: 1.3em;} |
h3 {font-size: 1.2em;} |
li {text-align:left;margin-left:20px;} |
table {border-collapse: collapse;border-spacing: 0;} |
th, td {text-align:left;padding:2px;border: solid 1px } |
tt {font-size:12px;} |
img {border:0;} |
fieldset {border:solid 1px #7D8965;padding:3px;margin:2px;} |
legend {font-weight:bold;} |
input:hover {background:#7D8965;color: #FBFBE5;} |
input, select, textarea {font-family: Tahoma, Arial, Helvetica, sans-serif;font-size:11px;color: #566047;background:#FDFDF3;border:solid 1px #7D8965;} |
/* Mise en ligne des formulaires */ |
form li {margin:0;padding:0;display: block;} |
form ul {margin:0;padding:0;list-style-type: none;} |
form label {clear:both;float: left;width:250px;font-weight:bold;} |
.liste_bouton li {display:inline;} |
.erreur {color:red;} |
.etape_info {margin:10px auto;padding 5px;text-align:center;width:90%;border: 1px solid green;color:green;} |
.ok {text-align:center;border: 1px solid green;color:green;} |
.failed {text-align:center;border: 1px solid red;color:red;} |
/tags/v5.0-ouadji/papyrus/applications/installateur/presentations/styles/installateur.css |
---|
New file |
0,0 → 1,105 |
/*****************Proprietes generales******************************************/ |
* {margin: 0; padding: 0;text-indent:0;} |
body {background:#FFF;font:12px Myriad, Arial, sans-serif;color:#000;text-align:center;} |
hr {margin:2px; width:100%; color: #7F8343; background-color: #7F8343; height: 1px;} |
a {margin:0;padding:0;text-decoration: underline;color: #000;} |
a:hover {text-decoration: underline;color:#C3D759;} |
table {width:480px;margin:0 auto; border: 1px solid #006495;border-spacing:0;border-collapse:collapse;} |
.table_cadre {width:480px;margin:2px;} |
th {font-size:11px;padding:2px;text-align:center;border: 1px solid #006495;font-weight: normal;background:#3082AA;height:23px;} |
td {font-size:11px;text-align:center;border: 1px solid #006495;background:#FFF;height:23px;} |
td:hover {background: #C3D759;} |
.code { background: #FFFFFF; border: solid #888888 2px; font-family: 'Courier New', Courier; width: 90%; height: 350px; overflow: scroll; padding: 3px; } |
.navi {padding:0;margin:0;text-align:center;} |
.other_month {color:#AAA;} |
.current_day {background: #FBB63C; color: #FFF;} |
.label_inscription {margin: 2px;float:left; clear:both; width:170px; text-align:right; } |
.symbole_obligatoire {color:red;} |
.input_inscription {float:left; width:180px;} |
.input_inscription input, .input_inscription select {margin: 2px;border: 1px solid #000;font:12px Myriad, Arial, sans-serif; } |
.erreur {background-color:#FFEEEE;border:1px; |
border: 1px dotted #A81106;padding:1px;margin:3px;} |
/*****************Titres********************************************************/ |
h1, h2, h3, h4, h5, h6 {font-family: Myriad, Arial, sans-serif;text-align:left;margin:4px 0;} |
h1 {font-size:22px; color: #BBD049;border-bottom: solid #7FB1CA 1px ;} |
h2 {font-size:18px; color: #A81106;} |
h3 {font-size:17px; color: #000;} |
h4 {font-size:16px; color: #FFF;background: #006495;border: 1px solid #C3D759;;-moz-border-radius:5px} |
h5 {font-size:16px; color: #006495;border-bottom: solid #006495 1px;} |
h6 {font-size:32px; color: #006495;} |
/*****************Boutons et formulaires****************************************/ |
a img {border: none;} |
form li {list-style-type:none;color:#000;} |
form table, form td, form th {border:0} |
form td:hover {background: transparent;} |
label {padding-right:10px;} |
input {margin:2px;background:#EEEEE9;} |
/*****************Listes********************************************************/ |
ul {padding:0;margin: 0 0 0 10px;} |
li {padding:0;margin: 2px 0 0 0;color:#000;} |
/*--------------------------------------------------------------------------------------------------------------*/ |
/* Structure de la page */ |
#page {position: relative;top:3px;width: 760px; text-align: left;margin: 0 auto;} |
.page {clear:both;background-color:transparent;text-align: justify;line-height: 22px;} |
#zone_bandeau {height: 130px;background: url(../images/Bandeau_haut.png) no-repeat top left;} |
#logo {position: absolute;top: 10px;left: 30px;} |
#site_nom {position: absolute;top: 40px;left: 210px;width:500px;} |
#site_nom h1 {margin: 0 auto;width:500px;font-size: 30px; font-family: Georgia, serif;color:#3082AA;border:0;} |
#site_nom h6 { margin: 0 auto;width:500px;} |
#vous_etes_ici {clear:both;float:left;width:762px;margin: 0 0 10px 20px;} |
#zone_contenu {float:left; margin : 10px auto; padding : 10px ;width: 740px;_width: 760px;border: 1px solid #3082AA;-moz-border-radius:10px;} |
#zone_bandeau_menu {clear: both;float:left;width:178px;border: 1px solid #7FB1CA;background: #7FB1CA;-moz-border-radius:10px;margin : 5px; padding:0;} |
#zone_bandeau_menu h1 {width:90%;padding:0;margin:10px auto 6px auto;font:13px Myriad, Arial, sans-serif;font-weight: bold;text-align:center;color:#A01B12;background:transparent;border-bottom:1px solid #FFF;} |
#menu ul {display: block;margin:3px 3px 3px 20px;padding:0;} |
#menu li, #menu li li {margin:2px 0;padding:0;} |
#menu li ul {margin:4px 0 2px 2px;padding:0;} |
.calendar {width:160px;margin:0 auto;} |
#menu li a {display: block;padding: 3px; margin: 0 3px 0 3px; width: 145px; text-decoration: none; color: #FFF; background: transparent ;border: 1px solid #7FB1CA; height:17px;text-align:left;} |
#menu li a:hover {color: #000;background: #C3D759;width: 145px;border: 1px solid #006495;} |
#menus_communs {float:right;text-align : right;width:600px;margin:10px 10px 0 0;} |
#menus_communs li {padding: 0 1px;list-style-type:none; display: inline;background: transparent;} |
#menus_communs a:hover {color: #7FB1CA;} |
#zone_menu {float:left;margin: 0 20px 10px 20px;padding:1px;height:26px;background: #BBD049;} |
#zone_menu ul {margin:0;padding:0;color: #000;} |
#zone_menu li {list-style-type:none;float: left;margin:1px;padding:0;width: 135px;background: #3082AA;height:23px;} |
#zone_menu li:hover {background: #C3D759;} |
#zone_menu li a {display: block;padding: 3px; width: 135px; color : #FFF;text-decoration: none; background: transparent; height:17px;text-align:center;} |
#zone_menu li a:hover {color: #000;} |
#zone_onglets {float : right;margin : 0 20px -1px 0 ;text-align:left;font-weight:bold;} |
#zone_onglets ul { margin:0; padding:0; list-style:none;} |
#zone_onglets li { background:url(../images/Boutons/right_both_green.png) no-repeat right top; float:left; margin:0; padding:0; color: #006495;} |
#zone_onglets a {float:left; display:block; color: #006495; font-size:12px; background:url(../images/Boutons/left_both_green.png) no-repeat left top; width:.1em; white-space:nowrap;/*2 lignes ajoutees pour compatibilite IE : extension de la zone cliquable a l'ensemble de zone_contenu_haut*/ padding:5px 15px 4px; text-decoration:none;} |
/* On retablit le float a sa valeur correct mais le hack de l'antislash commente cache cette regle a IE5-Mac \*/ #zone_onglets a {float:none;} /* End IE5-Mac hack */ |
#zone_onglets > ul a { width:auto;} /*propriete ajoutee pour contredire la ligne speciale IE (ci dessus) pour les autres navigateurs*/ |
#zone_onglets li:hover { background-position:100% -150px;} |
#zone_onglets li:hover a { background-position:0% -150px;} |
#zone_onglets .inactif { border-bottom:0px solid; font-weight:normal;} |
#zone_onglets .actif, #zone_onglets .actif { position:relative; background-position:100% -150px; padding-bottom:2px; font-weight:bold;} |
#zone_onglets .actif a, #zone_onglets .actif a { position:relative; background-position:0% -150px; padding-bottom:3px;} |
#zone_contenu_tete {float :left; width : 530px; padding : 10px 0 0 20px;} |
.zone_alert, .pap_erreur {float:left;clear:both;text-indent : 0; text-align: left;min-height:56px;width : 460px; margin : 5px 0 5px 0; border: 1px solid #A81106; background: #FFF url(../images/Main_Erreur.png) no-repeat top left;padding: 5px 0px 5px 76px;-moz-border-radius:12px;} |
.zone_info, .etape_info {float:left;clear:both;-moz-border-radius:12px; text-indent : 0; text-align: left;min-height:56px;width :460px; margin : 0 15px 15px 0; border: 1px solid #D0DF7F; background: #FFF url(../images/Infos.png) no-repeat top left;padding: 5px 0px 5px 76px;} |
#zone_contenu_corps {text-indent : 15px; float: left; width:521px; margin : 20px 0px 10px 20px;padding : 0 0px 10px 0; text-align: justify;} |
.spacer {width:742px;clear: both;} |
#zone_pied {margin: 3px 0 10px 0;padding:0;float:left;width: 762px;height : 65px;background: url(../images/Bandeau_bas.png) repeat-x top left;} |
#zone_pied a {font: 12px arial, sans-serif; color: #006495;} |
#zone_pied a:hover {text-decoration: none;font: 12px arial, sans-serif; color: #FFF;} |
/*-------------------------------APPLETTES--------------------------------------*/ |
#moteur_recherche {clear:both;float:right;margin:0 5px 0 0;padding:0;width:180px;height: 33px;text-align:right;} |
#moteur_recherche legend {display:none;} |
#moteur_recherche fieldset {margin:0;padding:0;border: 0;} |
#moteur_recherche label {display:none;} |
#more_motif {padding:2px;width:140px;border:#000 1px groove;font: 12px arial, sans-serif; color: #000;} |
#sesi_ok, #more_ok {border:#B77744 1px solid;font: 12px arial, sans-serif; color: #FFF;padding:0;margin:0;background: #B77744;text-transform: uppercase;} |
#selecteur_monde {clear:right;float:right;margin:25px 5px 0 0;padding:0;width: 180px;height: 33px;text-align:right;} |
#selecteur_monde select {font: 12px arial, sans-serif;width:140px;border:#000 1px groove;} |
#selecteur_monde legend { display: none;} |
#selecteur_monde fieldset { border: 0; margin: 0; padding: 0;} |
#copyright {margin:15px 0 10px 10px;padding : 0;float:left;width: 400px;} |
#copyright a {color: #006495;;} |
#copyright a:hover {color: #222;} |
#identification {width:170px;margin:0 auto;} |
#identification fieldset {border: 1px #FFF;margin: 0 auto;padding: 5px;background:#FFF;-moz-border-radius:20px;} |
#identification legend {display: none;} |
#identification label {display: block;} |
#identification input {border:1px solid #000;} |
/tags/v5.0-ouadji/papyrus/applications/installateur/instal_fichier.inc.php |
---|
New file |
0,0 → 1,474 |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// +------------------------------------------------------------------------------------------------------+ |
// | PHP version 4.1 | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (c) 2002, Hendrik Mans <hendrik@mans.de> | |
// | Copyright 2002, 2003 David DELON | |
// | Copyright 2002 Patrick PAUL | |
// | Copyright 2003 Jean-Pascal MILCENT | |
// | All rights reserved. | |
// | Redistribution and use in source and binary forms, with or without | |
// | modification, are permitted provided that the following conditions | |
// | are met: | |
// | 1. Redistributions of source code must retain the above copyright | |
// | notice, this list of conditions and the following disclaimer. | |
// | 2. Redistributions in binary form must reproduce the above copyright | |
// | notice, this list of conditions and the following disclaimer in the | |
// | documentation and/or other materials provided with the distribution. | |
// | 3. The name of the author may not be used to endorse or promote products | |
// | derived from this software without specific prior written permission. | |
// | | |
// | THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR | |
// | IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES | |
// | OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. | |
// | IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, | |
// | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT | |
// | NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | |
// | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | |
// | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | |
// | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | |
// | THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
// +------------------------------------------------------------------------------------------------------+ |
// CVS : $Id: instal_fichier.inc.php,v 1.36 2007-08-28 14:37:11 jp_milcent Exp $ |
/** |
* Page de creation des fichiers necessaire a l'installation de Papyrus. |
* |
* Page permettant de creer le fichier de configuration de Papyrus. |
* |
*@package Installateur |
//Auteur original : |
*@author Hendrik MANS <hendrik@mans.de> |
//Autres auteurs : |
*@author David DELON |
*@author Patrick PAUL |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.36 $ $Date: 2007-08-28 14:37:11 $ |
// +------------------------------------------------------------------------------------------------------+ |
**/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// Numéro de l'étape d'installation : |
$num_etape = 3; |
// Initialisation du tableau contenant les valeurs de configuration de la base de données |
$tableau = array( 'PAP_FTP_SERVEUR' => '', 'PAP_FTP_PORT' => '', 'PAP_FTP_UTILISATEUR' => '', |
'PAP_FTP_MOT_DE_PASSE' => '', 'PAP_FTP_RACINE' => ''); |
foreach ($tableau as $cle => $val) { |
if (!empty($_POST['fichier'][$cle])) { |
$fichier[$cle] = $_POST['fichier'][$cle]; |
} else if (defined($cle)) { |
$fichier[$cle] = constant($cle); |
} else { |
if ($cle == 'PAP_FTP_SERVEUR') { |
$fichier[$cle] = $_SERVER['HTTP_HOST']; |
} else if ($cle == 'PAP_FTP_PORT') { |
$fichier[$cle] = 21; |
} else { |
$fichier[$cle] = ''; |
} |
} |
} |
// Récupération des paramêtres de configuration du formulaire précédent |
if (isset($_POST['pref_serial'])) { |
$pref = unserialize(stripslashes($_POST['pref_serial'])); |
} |
if (isset($_POST['bdd'])) { |
$bdd = $_POST['bdd']; |
} else if (isset($_POST['bdd_serial'])) { |
$bdd = unserialize(stripslashes($_POST['bdd_serial'])); |
} |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// Affichage d'informations... |
$sortie .= '<br /><h1>Étape n°'.$num_etape.' sur '.INSTAL_NBRE_ETAPE.'.</h1>'."\n"; |
// Correction éventuelle des informations saisies par l'utilisateur |
if (ereg('^[\/\\]', $fichier['PAP_FTP_RACINE']) == false) { |
// le chemin FTP ne doit pas commencer par un slash, nous le supprimons |
$fichier['PAP_FTP_RACINE'] = GEN_SEP.$fichier['PAP_FTP_RACINE']; |
} |
// Nous vérifions si nous sommes en phase de test du formulaire de config de l'écriture de fichier |
$erreur = 0; |
$sortie_verif = ''; |
if ($_GET['installation'] == 'verif_fichier') { |
// Test de la configuration du FTP |
$sortie_verif .= ' <br /><h2>Test de la connexion FTP</h2>'."\n"; |
$erreur = testerConfig($sortie_verif, 'Test connexion FTP ...', $ftp = @ftp_connect($fichier['PAP_FTP_SERVEUR'], $fichier['PAP_FTP_PORT']), '', 1, $erreur); |
$erreur = testerConfig($sortie_verif, 'Test identification sur le serveur FTP ...', @ftp_login($ftp, $fichier['PAP_FTP_UTILISATEUR'], |
$fichier['PAP_FTP_MOT_DE_PASSE']), 'Les paramêtres FTP saisies ne permettent pas l\'identification !', 1, $erreur); |
$sortie_verif .= '<br />'."\n"; |
$configCode = "<?php\n// pap_config.inc.php construit le ".strftime("%c")."\n// ne changez pas la version de Papyrus manuellement!\n\n"; |
$entries[] = 'define(\''.INSTAL_VERSION_NOUVELLE_NOM.'\',\''.INSTAL_VERSION_NOUVELLE.'\');'."\n"; |
foreach ($bdd as $cle => $val) { |
$entries[] = 'define(\''.$cle.'\',\''.$val.'\');'."\n"; |
} |
$entries[] = "define('PAP_DSN', 'mysql://'.PAP_BDD_UTILISATEUR.':'.PAP_BDD_MOT_DE_PASSE.'@'.PAP_BDD_SERVEUR.'/'.PAP_BDD_NOM);"."\n"; |
foreach ($fichier as $cle => $val) { |
$entries[] = 'define(\''.$cle.'\',\''.$val.'\');'."\n"; |
} |
foreach ($pref as $cle => $val) { |
// Nous recuperons uniquement les constantes a stocker dans le fichier de config (leur nom commence par PAP_) |
if (preg_match('/^PAP_/', $cle)) { |
if (preg_match('/^[0-9]+|(?i:true|false)$/', $val)) { |
$entries[] = 'define(\''.$cle.'\','.$val.');'."\n"; |
} else { |
$entries[] = 'define(\''.$cle.'\',\''.$val.'\');'."\n"; |
} |
} |
} |
$configCode .= implode("\n", $entries)."\n\n?>"; |
if ($erreur == 0) { |
// +-----------------------------------------------------------------------------------------------------------+ |
// Tentative d'écriture du fichier de config |
$sortie_verif .= ' <h2>Ecriture des fichiers sur le serveur par FTP</h2>'."\n"; |
$chemin_fpt_absolu = $fichier['PAP_FTP_RACINE'].INSTAL_CHEMIN_CONFIG; |
$url_ftp = 'ftp://'.$fichier['PAP_FTP_UTILISATEUR'].':'.$fichier['PAP_FTP_MOT_DE_PASSE']. |
'@'.$fichier['PAP_FTP_SERVEUR'].$chemin_fpt_absolu; |
// Dans le cas, ou nous mettons à jour Papyrus, il faut supprimer l'ancien fichier de config |
if (INSTAL_VERSION_ANCIENNE != '') { |
$txt_suppression = 'Suppression de <tt>'.$chemin_fpt_absolu.'</tt>...'; |
$txt_suppression_erreur = '<p>Le fichier <tt>'.$chemin_fpt_absolu.'</tt> ne peut être supprimer automatiquement. '. |
'Veuillez utiliser un logiciel de transfert de fichier par FTP pour le supprimer.</p>'; |
$erreur = testerConfig($sortie_verif, $txt_suppression, unlink($url_ftp), $txt_suppression_erreur, 1, $erreur); |
} |
$tempfn = tempnam('',''); |
$temp = fopen($tempfn, 'w'); |
fwrite($temp, $configCode); |
fclose($temp); |
$fichier_config_source = $tempfn; |
$fichier_config_cible = $fichier['PAP_FTP_RACINE'].'papyrus/configuration/pap_config.inc.php'; |
// Nous écrivons le fichier de config sur le disque |
$txt_ecriture_conf = 'Écriture sur le serveur de <tt>'.$fichier_config_cible.'</tt>...'; |
$txt_ecriture_conf_erreur = '<span class="failed">AVERTISSEMENT:</span> Le fichier de configuration <tt>'.$fichier_config_cible. |
'</tt> n\'a pu être créé. Veuillez vous assurez que votre serveur a les droits '. |
'd\'accès en écriture pour ce fichier. Si pour une raison quelconque vous ne pouvez pas '. |
'faire ça vous devez copier les informations suivantes dans un fichier et les transférer '. |
'au moyen d\'un logiciel de transfert de fichier (ftp) sur le serveur dans un fichier '. |
'<tt>pap_config.inc.php</tt> directement dans le répertoire <tt>configuration</tt> du répertoire '. |
'<tt>papyrus</tt> de Papyrus. Une fois que vous aurez fait cela, votre site Papyrus devrait fonctionner '. |
'correctement.'; |
$txt_ecriture_conf_erreur .= '<div class="code"><code><pre>'.htmlentities($configCode).'</pre></code></div>'."\n"; |
$erreur = testerConfig($sortie_verif, $txt_ecriture_conf, |
ftp_put($ftp, $fichier_config_cible, $fichier_config_source, FTP_ASCII), |
$txt_ecriture_conf_erreur, 1, $erreur); |
// +-----------------------------------------------------------------------------------------------------------+ |
// Tentative d'écriture du fichier .htaccess |
$fichier_htaccess_chemin = $fichier['PAP_FTP_RACINE'].'.htaccess'; |
$url_ftp_htaccess = 'ftp://'.$fichier['PAP_FTP_UTILISATEUR'].':'.$fichier['PAP_FTP_MOT_DE_PASSE']. |
'@'.$fichier['PAP_FTP_SERVEUR'].$fichier['PAP_FTP_RACINE'].'/.htaccess'; |
if (isset($pref['PAP_HTACCESS_REGENERATION']) && $pref['PAP_HTACCESS_REGENERATION'] == 1) { |
$txt_suppression_htaccess = 'Suppression de <tt>'.$fichier_htaccess_chemin.'</tt>...'; |
$txt_suppression_htaccess_erreur = '<p>Le fichier <tt>'.$fichier_htaccess_chemin.'</tt> ne peut être supprimer automatiquement. '. |
'Veuillez utiliser un logiciel de transfert de fichier par FTP pour le supprimer.</p>'; |
$erreur = testerConfig($sortie_verif, $txt_suppression_htaccess, unlink($url_ftp_htaccess), $txt_suppression_htaccess_erreur, 1, $erreur); |
} |
$url_parse = parse_url('http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']); |
$prefixe = dirname($url_parse['path']); |
// Gestion des urls du style : http://www.tela-botanica.org/~mon_home/ |
$prefixe_tilde = ''; |
if (preg_match('/^\/~/', $prefixe)) { |
$prefixe_tilde = $prefixe.'/'; |
} |
$url = 'http://'.$_SERVER['HTTP_HOST'].$prefixe; |
if (isset($pref['PAP_URL_REECRITURE']) && $pref['PAP_URL_REECRITURE'] == 1) { |
$on_off = 'on'; |
} else { |
$on_off = 'off'; |
} |
$contenu_htaccess = '# Raccourci pour les menus et sites de Papyrus'."\n". |
'RewriteEngine '.$on_off."\n". |
'# si le fichier ou le dossier existe dans le système de fichier on l\'utilise directement'."\n". |
'RewriteCond %{REQUEST_FILENAME} !-d'."\n". |
'RewriteCond %{REQUEST_FILENAME} !-f'."\n\n". |
'# Réecriture d\'url pour valider les inscriptions'."\n". |
'RewriteRule ^ins_([0-9a-z]*)$ page:inscription?id=$1 [QSA,L]'."\n". |
'# Réecriture d\'url pour les applications de Papyrus n\'utilisant pas correctement Pap_URL'."\n". |
'# ATTENTION : ne marche pas pour les formulaires en mode POST !'."\n". |
'RewriteRule ^([^\/]+)&(.*)$ '.$url.'/$1?$2 [QSA,L,R=301]'."\n". |
'# Réecriture d\'url pour les vieux permaliens'."\n". |
'RewriteCond %{REQUEST_FILENAME}/ !-d'."\n". |
'RewriteRule ^([^\/\?:.]+)$ '.$url.'/page:$1 [QSA,L,R=301]'."\n". |
'# Redirection d\'url pour le sélecteur de site'."\n". |
'# Le point d\'interrogation sans rien aprés, vide la QUERY_STRING sinon elle est concacténée à l\'url et cela plante...'."_n". |
'# Le "/" initial dans la RewriteCond est obligatoire!'."\n". |
'RewriteCond %{REQUEST_URI}?%{QUERY_STRING} ^'.$prefixe.'/papyrus\.php\?site=([^&]+)$'."\n". |
'RewriteRule ^papyrus.php$ '.$url.'/site:%1? [L,R=301]'."\n\n". |
'# Réecriture d\'url pour les sites de Papyrus : à modifier si les valeurs par défaut ont été changées'."\n". |
'RewriteRule ^site:.+$ '.$prefixe_tilde.'papyrus.php [QSA,L]'."\n". |
'# Réecriture d\'url pour les menus de Papyrus : à modifier si les valeurs par défaut ont été changées'."\n". |
'RewriteRule ^page:.+$ '.$prefixe_tilde.'papyrus.php [QSA,L]'."\n\n". |
'# Gestion des erreurs 404'."\n". |
'ErrorDocument 404 '.$prefixe.'/erreur_http.php?erreur=404'; |
if (file_exists($fichier_htaccess_chemin)) { |
$sortie_verif .='<p>Attention: Un fichier .htaccess est déjà présent sur le serveur.'. |
'<br />'.$fichier_htaccess_chemin. |
'<br />Veillez à le configurer correctement<br /><br />'. |
'Contenu par défaut: <br /><br /> ErrorDocument 404 /erreur_404.php'; |
} else { |
$tempfn = tempnam('', ''); |
$temp = fopen($tempfn, 'w'); |
fwrite($temp, $contenu_htaccess); |
fclose($temp); |
$fichier_config_source = $tempfn; |
$fichier_config_cible = $fichier_htaccess_chemin; |
$txt_ecriture_conf_erreur = 'AVERTISSEMENT: Le fichier .htaccess <tt>'.$fichier_config_cible. |
'</tt> n\'a pu être créé. Veuillez vous assurez que votre serveur a les droits '. |
'd\'accès en écriture pour ce fichier. Si pour une raison quelconque vous ne pouvez pas '. |
'faire ça vous devez copier les informations suivantes dans un fichier et les transférer '. |
'au moyen d\'un logiciel de transfert de fichier (ftp) sur le serveur dans un fichier '. |
'<tt>.htaccess</tt> directement à la racine de '. |
'<tt>papyrus</tt> de Papyrus.'; |
$txt_ecriture_conf_erreur .= '<div class="code"><code><pre>'.htmlentities($contenu_htaccess).'</pre></code></div>'."\n"; |
$txt_ecriture_conf = 'Écriture sur le serveur du fichier .htaccess... <tt>'.$fichier_config_cible.'</tt>'."\n"; |
$erreur = testerConfig($sortie_verif, $txt_ecriture_conf, ftp_put($ftp, $fichier_config_cible,$fichier_config_source, FTP_ASCII), $txt_ecriture_conf_erreur, 1, 0); |
} |
// maj_fichier_config_appli($ftp,$fichier,'api/fckeditor/editor/filemanager/browser/default/connectors/php/config.php',array("Caldeira"=>"DDDDD")); |
} |
} |
// Mise à jour des fichiers de configuration de chaque application : |
function maj_fichier_config_appli($ftp, $fichier, $fichierconfig, $elements) { |
$tempfn = tempnam('', ''); |
ftp_get($ftp,$tempfn,$fichier['PAP_FTP_RACINE'].$fichierconfig,FTP_ASCII); |
$fp = fopen($tempfn, 'r'); |
if ($fp) { |
while (!feof($fp)) { |
$cont .= fread($fp, 500); |
} |
fclose($fp); |
$fp = fopen($tempfn, 'w'); |
if ($fp) { |
foreach ($elements as $element) { |
list($expr,$rempl)=$elements; |
preg_replace('/'.$expr.'/',$rempl,$cont); |
} |
fwrite($fp, $cont); |
fclose($fp); |
ftp_put($ftp, $fichier['PAP_FTP_RACINE'].$fichierconfig, $tempfn, FTP_ASCII); |
} |
} |
} |
// Gestion de l'affichage |
if ($erreur == 0 && empty($sortie_verif)) { |
// Premier appel du fichier... |
$sortie .= creerFormulaire($fichier); |
$sortie .= '<li><input type="hidden" name="pref_serial" value="'.htmlentities(serialize($pref)).'" /></li>'."\n"; |
$sortie .= '<li><input type="hidden" name="bdd_serial" value="'.htmlentities(serialize($bdd)).'" /></li>'."\n"; |
$sortie .= '<li><input type="submit" value="Tester" /></li>'."\n"; |
$sortie .= ' </ul>'."\n"; |
$sortie .= ' </form>'; |
} else if ($erreur == 2 && !empty($sortie_verif)) { |
// Verification du fichier avec interuption... |
$sortie .= creerFormulaire($fichier); |
$sortie .= '<li><input type="hidden" name="pref_serial" value="'.htmlentities(serialize($pref)).'" /></li>'."\n"; |
$sortie .= '<li><input type="hidden" name="bdd_serial" value="'.htmlentities(serialize($bdd)).'" /></li>'."\n"; |
$sortie .= '<li><input type="submit" value="Tester à nouveau" /></li>'."\n"; |
$sortie .= ' </ul>'."\n"; |
$sortie .= ' </form>'; |
$sortie .= $sortie_verif; |
} else if (($erreur == 0 || $erreur == 1) && !empty($sortie_verif)) { |
// Verification du fichier sans interuption... passage a l'etape suivante |
$sortie .= creerFormulaire($fichier, true); |
$sortie .= ' </ul>'."\n"; |
$sortie .= ' </form>'; |
$sortie .= $sortie_verif; |
// Ecriture du fichier... |
fwrite($fp, $configCode); |
fclose($fp); |
$sortie .= ' <br /><p class="etape_info">Voila c\'est terminé ! Vous pouvez <a href="'.donnerUrlCourante().'">retourner sur votre site '. |
'Papyrus</a>. Il est conseillé de retirer l\'accès en écriture au fichier '. |
'<tt>pap_config.inc.php</tt>. Ceci peut être une faille dans la sécurité.</p>'."\n"; |
} |
// +------------------------------------------------------------------------------------------------------+ |
// | LISTE DES FONCTIONS | |
// +------------------------------------------------------------------------------------------------------+ |
// Creation du formulaire de configuration de la base de donnees |
function creerFormulaire($fichier, $bln_lecture = false) { |
$disabled = ''; |
if ($bln_lecture) { |
$disabled = ' disabled="disabled" '; |
} |
$sortie_form .= ' <form action="'.donnerUrlCourante().'?installation=verif_fichier" method="post">'; |
$sortie_form .= ' <ul>'."\n"; |
$sortie_form .= '<li><br /><h2>Configuration du FTP et des chemins d\'accès</h2></li>'."\n"; |
$sortie_form .= '<li>Entrer le nom de dommaine pour accéder à votre dépôt FTP</li>'."\n"; |
$sortie_form .= '<li>'."\n". |
'<label for="ftp_serveur">Nom du serveur FTP :</label>'. |
'<input id="ftp_serveur"'.$disabled.'type="text" size="30" name="fichier[PAP_FTP_SERVEUR]" value="'.$fichier['PAP_FTP_SERVEUR'].'" />'. |
'</li>'."\n"; |
$sortie_form .= '<li>Le numéro du port pour le service FTP sur la machine hébergeant Papyrus. '. |
'En général c\'est 21.</li>'."\n"; |
$sortie_form .= '<li>'."\n". |
'<label for="ftp_port">N° du port d\'accès au serveur FTP :</label>'. |
'<input id="ftp_port"'.$disabled.'type="text" size="20" name="fichier[PAP_FTP_PORT]" value="'.$fichier['PAP_FTP_PORT'].'" />'. |
'</li>'."\n"; |
$sortie_form .= '<li>Nom et mot de passe FTP qui sera utilisé pour se connecter à au dépôt FTP.</li>'."\n"; |
$sortie_form .= '<li>'."\n". |
'<label for="ftp_utilisateur">Nom d\'utilisateur pour le serveur FTP :</label>'. |
'<input id="ftp_utilisateur"'.$disabled.'type="text" size="20" name="fichier[PAP_FTP_UTILISATEUR]" value="'.$fichier['PAP_FTP_UTILISATEUR'].'" />'. |
'</li>'."\n"; |
$sortie_form .= '<li>'."\n". |
'<label for="ftp_mot_de_passe">Mot de passe pour le serveur FTP :</label>'. |
'<input id="ftp_mot_de_passe"'.$disabled.'type="password" size="20" name="fichier[PAP_FTP_MOT_DE_PASSE]" value="'.$fichier['PAP_FTP_MOT_DE_PASSE'].'" />'. |
'</li>'."\n"; |
$sortie_form .= '<li>Lorsque vous vous connectez par FTP sur le serveur où vous avez déposé les fichiers de Papyrus, le '. |
'dossier le plus haut auquel vous pouvez accéder dans l\'arborescence est la racine. Il vous faut donc '. |
'indiquez dans le champ ci-dessous le chemin absolu depuis cette racine jusqu\'au dossier contenant le fichier '. |
'<tt>papyrus.php</tt>. Exemple : <i>/www/</i></li>'."\n"; |
$sortie_form .= '<li>'."\n". |
'<label for="ftp_racine">Racine dépôt FTP :</label>'. |
'<input id="ftp_racine"'.$disabled.'type="text" size="60" name="fichier[PAP_FTP_RACINE]" value="'.$fichier['PAP_FTP_RACINE'].'" />'. |
'</li>'."\n"; |
$sortie_form .= '<li>Si vous voulez générer un nouveau fichier .htaccess, cochez cette case (si vous ne savez pas ce qu\'est un fichier .htaccess '. |
'n\'activez pas cette option).</li>'."\n"; |
$sortie_form .= '<li>'."\n". |
'<label for="htaccess_regeneration">Remplacer mon fichier .htacces :</label>'. |
'<input id="htaccess_regeneration"'.$disabled.'type="checkbox" name="pref[PAP_HTACCESS_REGENERATION]" value="1" />'. |
'Activation'.'</li>'."\n"; |
return $sortie_form; |
} |
// +------------------------------------------------------------------------------------------------------+ |
// | PIED du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.35 2007-06-26 12:08:18 jp_milcent |
* Correction de l'encodage et de la création du htaccess. |
* |
* Revision 1.34 2007-04-20 14:55:24 alexandre_tb |
* charset |
* |
* Revision 1.33 2007/04/20 12:55:07 ddelon |
* config fckeditor |
* |
* Revision 1.32 2007/04/20 12:49:41 ddelon |
* config fckeditor |
* |
* Revision 1.31 2007/04/20 10:15:15 alexandre_tb |
* correction typo |
* |
* Revision 1.30 2007/04/20 09:18:09 alexandre_tb |
* correction pb encodage |
* |
* Revision 1.29 2007/04/20 09:13:37 alexandre_tb |
* correction pb encodage |
* |
* Revision 1.28 2007/04/20 09:05:46 alexandre_tb |
* correction pb encodage |
* |
* Revision 1.27 2007/04/19 16:53:57 neiluj |
* fix de l'upload des fichiers de conf (ftp_put) |
* |
* Revision 1.26 2007/04/19 15:34:35 neiluj |
* préparration release (livraison) "Narmer" - v0.25 |
* |
* Revision 1.25 2006/12/01 15:43:01 alexandre_tb |
* prise en compte dans le rewriteengine de l'activation ou non de la reecriture |
* |
* Revision 1.24 2006/12/01 11:47:10 alexandre_tb |
* suppression de var_dump |
* |
* Revision 1.23 2006/12/01 11:46:11 alexandre_tb |
* correction creation .htaccess |
* |
* Revision 1.22 2006/11/30 17:41:30 alexandre_tb |
* ecriture htaccess |
* |
* Revision 1.21 2006/11/30 17:36:29 alexandre_tb |
* ecriture htaccess |
* |
* Revision 1.20 2006/11/30 16:41:42 alexandre_tb |
* ecriture htaccess |
* |
* Revision 1.19 2006/11/30 15:50:25 ddelon |
* installation fichier |
* |
* Revision 1.18 2006/11/30 15:34:51 alexandre_tb |
* ecriture htaccess |
* |
* Revision 1.17 2006/11/30 15:27:31 alexandre_tb |
* ecriture htaccess |
* |
* Revision 1.16 2006/11/30 14:52:42 alexandre_tb |
* Ecriture du fichier htaccess lors de l installation |
* |
* Revision 1.15 2006/10/09 14:35:27 ddelon |
* bug caractere invalie trainant dans fichier |
* |
* Revision 1.14 2006/10/06 15:34:30 florian |
* mise en commentaire .htaccess |
* |
* Revision 1.13 2006/10/06 15:23:00 florian |
* amelioration graphique de l'installateur |
* |
* Revision 1.12 2006/10/06 14:49:45 ddelon |
* ecriture htaccess a l'installation |
* |
* Revision 1.11 2006/10/06 14:46:15 alexandre_tb |
* ecriture du fichier .htaccess |
* |
* Revision 1.10 2005/09/23 14:20:23 florian |
* Nouvel habillage installateur, plus correction de quelques bugs |
* |
* Revision 1.9 2005/04/12 16:09:45 jpm |
* Amélioration de la gestion de la constante de redirection des urls et de la gestion des constantes de type entier et booléen. |
* |
* Revision 1.8 2004/10/25 16:26:35 jpm |
* Début gestion des mises à jours. |
* |
* Revision 1.7 2004/10/25 10:22:48 jpm |
* Correction de quelques bogues, ajouts d'explications pour l'utilisateur et modification des styles CSS. |
* |
* Revision 1.6 2004/10/22 17:39:14 jpm |
* Correction gestion du slash devant le chemin racine ftp. |
* |
* Revision 1.5 2004/10/22 17:23:04 jpm |
* Simplification del'installation de Papyrus. |
* |
* Revision 1.4 2004/10/19 17:01:12 jpm |
* Correction bogues. |
* |
* Revision 1.3 2004/10/19 15:59:18 jpm |
* Ajout de la gestion des valeurs propre à Papyrus à insérer dans la base de données. |
* Ajout des constantes FTP. |
* |
* Revision 1.2 2004/10/18 09:12:09 jpm |
* Changement de nom d'un fichier. |
* |
* Revision 1.1 2004/10/18 09:11:05 jpm |
* Changement de nom du fichier. |
* |
* Revision 1.1 2004/10/15 18:28:59 jpm |
* Début appli installateur de Papyrus. |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v5.0-ouadji/papyrus/applications/admin_auth/configuration/adau_configuration.inc.php |
---|
New file |
0,0 → 1,81 |
<?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: adau_configuration.inc.php,v 1.1 2004-12-06 11:31:42 alex Exp $ |
/** |
* Fichier de configuration général de l'application Administrateur de authentification. |
* |
* Permet de définir certains paramètres valables pour toutes l'application |
* Administrateur de Menus. |
* |
*@package Admin_auth |
*@subpackage Configuration |
//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 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTETE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/** Constante stockant la valeur de la langue par défaut pour l'appli ADME.*/ |
define('ADAU_I18N_DEFAUT', GEN_I18N_ID_DEFAUT); |
// Chemin des fichiers à inclure. |
/** Chemin vers la bibliothèque PEAR.*/ |
define('ADAU_CHEMIN_BIBLIOTHEQUE_PEAR', ''); |
/** Chemin vers la bibliothèque API.*/ |
define('ADAU_CHEMIN_BIBLIOTHEQUE_API', GEN_CHEMIN_API); |
/** Chemin vers la bibliothèque de Papyrus.*/ |
define('ADAU_CHEMIN_BIBLIOTHEQUE_GEN', GEN_CHEMIN_BIBLIO); |
// Chemin vers les dossiers de l'application |
/** Chemin vers l'application Admin Auth de Papyrus.*/ |
define('ADAU_CHEMIN_APPLICATION', GEN_CHEMIN_APPLICATION.'admin_auth/'); |
/** Chemin vers les images de l'application Admin Auth de Papyrus.*/ |
define('ADAU_CHEMIN_IMAGE_INTERFACE', ADAU_CHEMIN_APPLICATION.'presentations/images/interface/'); |
/** Chemin vers la bibliothèque de l'application Admin Auth de Papyrus.*/ |
define('ADAU_CHEMIN_BIBLIOTHEQUE', ADAU_CHEMIN_APPLICATION.'bibliotheque/'); |
/** Chemin vers les classes de l'application Admin Auth de Papyrus.*/ |
define('ADAU_CHEMIN_CLASSES', ADAU_CHEMIN_APPLICATION.'classes/'); |
/** Chemin vers les fichiers de traduction de l'application Admin Auth de Papyrus.*/ |
define('ADAU_CHEMIN_LANGUE', ADAU_CHEMIN_APPLICATION.'langues/'); |
/** Chemin vers les styles de l'application Admin Auth de Papyrus.*/ |
define('ADAU_CHEMIN_STYLE', ADAU_CHEMIN_APPLICATION.'presentations/styles/'); |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v5.0-ouadji/papyrus/applications/admin_auth/bibliotheque/adau_auth.fonct.php |
---|
New file |
0,0 → 1,210 |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// +------------------------------------------------------------------------------------------------------+ |
// | PHP version 4.1 | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) | |
// +------------------------------------------------------------------------------------------------------+ |
// | This file is part of Papyrus. | |
// | | |
// | Foobar is free software; you can redistribute it and/or modify | |
// | it under the terms of the GNU General Public License as published by | |
// | the Free Software Foundation; either version 2 of the License, or | |
// | (at your option) any later version. | |
// | | |
// | Foobar is distributed in the hope that it will be useful, | |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
// | GNU General Public License for more details. | |
// | | |
// | You should have received a copy of the GNU General Public License | |
// | along with Foobar; if not, write to the Free Software | |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
// +------------------------------------------------------------------------------------------------------+ |
// CVS : $Id: adau_auth.fonct.php,v 1.2 2005-04-14 13:54:51 jpm Exp $ |
/** |
* Contient les fonctions de l'appli admin_auth |
* |
* |
* |
* |
*@package Admin_auth |
*@subpackage Fonctions |
//Auteur original : |
*@author Alexandre Granier <alexandre@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.2 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | LISTE de FONCTIONS | |
// +------------------------------------------------------------------------------------------------------+ |
/** |
* |
* |
* @return |
*/ |
function adau_supprimer_authentification($id_auth, &$db) |
{ |
// Recherche l'identifiant de gen_site_auth_bdd à partir de gen_site_auth |
$requete = 'SELECT gsa_ce_auth_bdd FROM gen_site_auth WHERE gsa_id_auth = '.$GLOBALS['id_auth']; |
$resultat = $db->query ($requete) ; |
$ligne = $resultat->fetchRow (DB_FETCHMODE_OBJECT) ; |
$id_auth_bdd = $ligne->gsa_ce_auth_bdd ; |
$requete = 'DELETE FROM gen_site_auth WHERE gsa_id_auth = '.$id_auth; |
$resultat = $db->query($requete); |
$requete = 'DELETE FROM gen_site_auth_bdd WHERE gsab_id_auth_bdd = '.$id_auth_bdd; |
$resultat = $db->query($requete); |
} |
/** |
* |
* |
* @return |
*/ |
function adau_valeurs_par_defaut($id_auth, &$db) |
{ |
// Requete sur gen_site_auth |
$requete = 'SELECT * FROM gen_site_auth WHERE gsa_id_auth = '.$id_auth; |
$resultat = $db->query($requete); |
if (DB::isError($resultat)) { |
trigger_error('Échec de la requete : '.$requete.'<br />'.$resultat->getMessage(), E_USER_WARNING); |
return ; |
} |
$tableau_retour = array(); |
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT); |
$tableau_retour['nom_auth'] = $ligne->gsa_nom; |
$tableau_retour['abreviation'] = $ligne->gsa_abreviation; |
$tableau_retour['id_auth_bdd'] = $ligne->gsa_ce_auth_bdd; |
$tableau_retour['id_auth'] = $ligne->gsa_id_auth; |
unset($requete, $resultat); |
// Requete sur gen_site_auth_bdd |
$requete = 'SELECT * FROM gen_site_auth_bdd WHERE gsab_id_auth_bdd = '.$ligne->gsa_ce_auth_bdd; |
unset($ligne); |
$resultat = $db->query($requete); |
if (DB::isError($resultat)) { |
trigger_error('Échec de la requete : '.$requete.'<br />'.$resultat->getMessage(), E_USER_WARNING); |
return ; |
} |
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT); |
$tableau_retour['dsn'] = $ligne->gsab_dsn; |
$tableau_retour['nom_table'] = $ligne->gsab_nom_table; |
$tableau_retour['champs_login'] = $ligne->gsab_nom_champ_login; |
$tableau_retour['champs_passe'] = $ligne->gsab_nom_champ_mdp; |
$tableau_retour['cryptage'] = $ligne->gsab_cryptage_mdp; |
$tableau_retour['parametres'] = $ligne->gsab_parametres; |
return $tableau_retour; |
} |
/** |
* |
* |
* @return |
*/ |
function insertion ($valeur, &$db) |
{ |
$id_auth_bdd = SQL_obtenirNouveauId($db, 'gen_site_auth_bdd', 'gsab_id_auth_bdd'); |
$requete = 'INSERT INTO gen_site_auth SET gsa_id_auth = ' |
.SQL_obtenirNouveauId($db, 'gen_site_auth', 'gsa_id_auth').', ' |
.requete_site_auth($valeur) |
.', gsa_ce_auth_bdd = '.$id_auth_bdd; |
$resultat = $db->query($requete); |
if (DB::isError($resultat)) { |
trigger_error('Échec de la requete : '.$requete.'<br />'.$resultat->getMessage(), E_USER_WARNING); |
return ; |
} |
$requete = 'INSERT INTO gen_site_auth_bdd SET gsab_id_auth_bdd = '.$id_auth_bdd.', '.requete_site_auth_bdd($valeur); |
$resultat = $db->query($requete); |
if (DB::isError($resultat)) { |
trigger_error('Échec de la requete : '.$requete.'<br />'.$resultat->getMessage(), E_USER_WARNING); |
return ; |
} |
} |
/** |
* |
* |
* @return |
*/ |
function mise_a_jour($valeur, &$db) |
{ |
$requete = 'UPDATE gen_site_auth SET '.requete_site_auth($valeur).' '. |
'WHERE gsa_id_auth = '.$GLOBALS['id_auth']; |
$resultat = $db->query($requete); |
if (DB::isError($resultat)) { |
trigger_error('Échec de la requete : '.$requete.'<br />'.$resultat->getMessage(), E_USER_WARNING); |
return ; |
} |
unset($requete); |
// Recherche l'identifiant de gen_site_auth_bdd à partir de gen_site_auth |
$requete = 'SELECT gsa_ce_auth_bdd FROM gen_site_auth WHERE gsa_id_auth = '.$GLOBALS['id_auth']; |
$resultat = $db->query($requete); |
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT); |
$id_auth_bdd = $ligne->gsa_ce_auth_bdd; |
$requete = 'UPDATE gen_site_auth_bdd SET ' |
.requete_site_auth_bdd($valeur) |
.' WHERE gsab_id_auth_bdd = '.$id_auth_bdd; |
$resultat = $db->query($requete); |
if (DB::isError($resultat)) { |
trigger_error('Échec de la requete : '.$requete.'<br />'.$resultat->getMessage(), E_USER_WARNING); |
return ; |
} |
} |
/** |
* |
* |
* @return string un morceau de code SQL |
*/ |
function requete_site_auth(&$valeur) |
{ |
return 'gsa_nom="'.$valeur['nom_auth'].'", ' |
.'gsa_ce_type_auth=1, ' |
.'gsa_abreviation="'.$valeur['abreviation'].'"' ; |
} |
/** |
* |
* |
* @return |
*/ |
function requete_site_auth_bdd (&$valeur) |
{ |
return 'gsab_dsn="'.$valeur['dsn'].'", ' |
.'gsab_nom_table="'.$valeur['nom_table'].'", ' |
.'gsab_nom_champ_login="'.$valeur['champs_login'].'", ' |
.'gsab_nom_champ_mdp="'.$valeur['champs_passe'].'", ' |
.'gsab_parametres="'.$valeur['parametres'].'", ' |
.'gsab_cryptage_mdp="'.$valeur['cryptage'].'"'; |
} |
// +------------------------------------------------------------------------------------------------------+ |
// | PIED du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.1 2005/03/09 10:49:52 jpm |
* Changement d'un nom de fichier. |
* |
* Revision 1.2 2004/12/06 12:43:21 alex |
* ajout du champs paramètre dans ls authentification |
* |
* Revision 1.1 2004/12/06 11:31:54 alex |
* version initiale |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v5.0-ouadji/papyrus/applications/admin_auth/bibliotheque/HTML_formulaireAuth.class.php |
---|
New file |
0,0 → 1,203 |
<?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 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 | |
// | General Public License for more details. | |
// | | |
// | You should have received a copy of the GNU 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: HTML_formulaireAuth.class.php,v 1.5 2007-06-26 14:18:53 florian Exp $ |
/** |
* Application projet |
* |
* La classe HTML_formulaireAuth |
* |
*@package projet |
//Auteur original : |
*@author Alexandre Granier <alexandre@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.5 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTETE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/** Inclure le fichier de langue pour utiliser cette classe de façon autonome. */ |
require_once PAP_CHEMIN_API_PEAR.'HTML/QuickForm.php' ; |
require_once PAP_CHEMIN_API_PEAR.'HTML/QuickForm/checkbox.php' ; |
require_once PAP_CHEMIN_API_PEAR.'HTML/QuickForm/select.php' ; |
// +------------------------------------------------------------------------------------------------------+ |
// | LISTE des constantes | |
// +------------------------------------------------------------------------------------------------------+ |
/** |
* class HTML_formulaireProjet |
* Cette classe représente un formulaire pour saisir un projet ou le modifier. |
*/ |
class HTML_formulaireAuth extends HTML_QuickForm |
{ |
/** |
* Constructeur |
* |
* @param string formName Le nom du formulaire. |
* @param string method Soit get soit post, voir le protocole HTTP |
* @param string action L'action du formulaire. |
* @param string target La cible du formulaire. |
* @param Array attributes Des attributs supplémentaires pour la balise <form> |
* @param bool trackSubmit Pour repérer si la formulaire a été soumis. |
* @return void |
* @access public |
*/ |
function HTML_formulaireAuth($formName = '', $method = 'post', $action = '', $target = '_self', $attributes = '', $trackSubmit = false) |
{ |
HTML_QuickForm::HTML_QuickForm($formName, $method, $action, $target, $attributes, $trackSubmit); |
$squelette =& $this->defaultRenderer(); |
$squelette->setFormTemplate("\n".'<form {attributes}>'."\n".'{content}'."\n".'</form>'."\n"); |
$squelette->setElementTemplate( '<p class="formulaire_element"><span class="form_label">'."\n". |
'{label}'."\n". |
'<!-- BEGIN required --><span style="color:red; width:5px; margin:0; padding:0;">*</span><!-- END required -->'."\n". |
'</span>'."\n".'{element}'."\n". |
'<!-- BEGIN error --><span class="erreur">{error}</span><!-- END error -->'."\n". |
'</p>'."\n"); |
$squelette->setGroupElementTemplate('<p style="display:inline">{element}</p>', 'form_boutons'); |
$squelette->setRequiredNoteTemplate("\n".'<p class="symbole_obligatoire">* : {requiredNote}</p>'."\n"); |
//Note pour les erreurs javascript |
$this->setJsWarnings('Erreur de saisie', 'Veuillez verifier vos informations saisies'); |
// Note de fin de formulaire |
$this->setRequiredNote('Indique les champs obligatoires'); |
// $squelette->setFormTemplate("\n".'<form{attributes}>'."\n".'{content}'."\n".'</form>'."\n"); |
// $squelette->setElementTemplate( '<li>'."\n". |
// '{label}'."\n". |
// '{element}'."\n". |
// '<!-- BEGIN required --><span class="symbole_obligatoire">'.ADAU_SYMBOLE_CHP_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">'.ADAU_SYMBOLE_CHP_OBLIGATOIRE.'</span> {requiredNote}</p>'."\n"); |
} // end of member function HTML_formulaireProjet |
/** |
* Renvoie le code HTML du formulaire. |
* |
* @return string |
* @access public |
*/ |
function toHTML() |
{ |
$res = HTML_QuickForm::toHTML(); |
return $res; |
} // end of member function toHTML |
/** |
* Ajoute les champs nécessaire au formulaire. |
* |
* @return void |
* @access public |
*/ |
function construitFormulaire($url_retour) |
{ |
$tab_index = 1000; |
$size = 35; |
$cols = 50; |
$rows = 6; |
$form_debut = '<fieldset>'."\n".'<legend>'.ADAU_NOM_FORM.'</legend>'."\n"; |
$this->addElement('html', $form_debut); |
$id = 'nom_auth'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => $size); |
$label = '<label for="'.$id.'">'.ADAU_NOM_AUTH.'</label>'; |
$this->addElement('text', $id, $label, $aso_attributs); |
$this->addRule('nom_auth', ADAU_NOM_AUTH_ALERTE, 'required', '', 'client'); |
$id = 'abreviation'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => $size); |
$label = '<label for="'.$id.'">'.ADAU_ABREVIATION.'</label>'; |
$this->addElement('text', $id, $label, $aso_attributs); |
$this->addRule('abreviation', ADAU_ABREVIATION_ALERTE, 'required', '', 'client'); |
$id = 'dsn'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => $size); |
$label = '<label for="'.$id.'">'.ADAU_DSN.'</label>'; |
$this->addElement('text', $id, $label, $aso_attributs); |
$this->addRule('dsn', ADAU_DSN_ALERTE, 'required', '', 'client'); |
$id = 'nom_table'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => $size); |
$label = '<label for="'.$id.'">'.ADAU_NOM_TABLE.'</label>'; |
$this->addElement('text', $id, $label, $aso_attributs); |
$this->addRule('nom_table', ADAU_NOM_TABLE_ALERTE, 'required', '', 'client'); |
$id = 'champs_login'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => $size); |
$label = '<label for="'.$id.'">'.ADAU_CHAMPS_LOGIN.'</label>'; |
$this->addElement('text', $id, $label, $aso_attributs); |
$this->addRule('champs_login', ADAU_CHAMPS_LOGIN_ALERTE, 'required', '', 'client'); |
$id = 'champs_passe'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => $size); |
$label = '<label for="'.$id.'">'.ADAU_CHAMPS_PASSE.'</label>'; |
$this->addElement('text', $id, $label, $aso_attributs); |
$this->addRule('champs_passe', ADAU_CHAMPS_PASSE_ALERTE, 'required', '', 'client'); |
$id = 'cryptage'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => $size); |
$label = '<label for="'.$id.'">'.ADAU_CRYPTAGE.'</label>'; |
$this->addElement('text', $id, $label, $aso_attributs); |
$this->addRule('cryptage', ADAU_CRYPTAGE_ALERTE, 'required', '', 'client'); |
$id = 'parametres'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'rows' => $rows, 'cols' => $cols); |
$label = '<label for="'.$id.'">'.ADAU_PARAMETRE.'</label>'; |
$this->addElement('textarea', $id, $label, $aso_attributs); |
$form_fin = "\n".'</fieldset>'."\n"; |
$this->addElement('html', $form_fin); |
// Gestion des boutons |
$buttons[] = &HTML_QuickForm::createElement('link', 'annuler', ADAU_ANNULER, |
str_replace ("&", "&", $url_retour->getURL()), ADAU_ANNULER); // Le preg_replace contourne un pb de QuickForm et Net_URL |
// qui remplacent deux fois les & par des & |
//Bouton de validation du formulaire // ce qui fait échouer le lien |
$buttons[] = &HTML_QuickForm::createElement('submit', 'valider', ADAU_VALIDER); |
$this->addGroup($buttons, 'form_boutons', null, ' '); |
// $liste_bouton_debut = '<ul class="liste_bouton">'."\n"; |
// $this->addElement('html', $liste_bouton_debut); |
// |
// $this->addElement('submit', 'valider', ADAU_VALIDER); |
// |
// $bouton_annuler = '<li><a class="bouton" href="'.str_replace ('&', '&', $url_retour->getURL()).'">'.ADAU_ANNULER.'</a></li>'."\n"; |
// $this->addElement('html', $bouton_annuler); |
// |
// $liste_bouton_fin = '</ul>'."\n"; |
// $this->addElement('html', $liste_bouton_fin); |
$this->setRequiredNote(ADAU_CHAMPS_REQUIS); |
} // end of member function _construitFormulaire |
} // end of HTML_formulaireProjet |
?> |
/tags/v5.0-ouadji/papyrus/applications/admin_auth/langues/adau_langue_fr.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 file is part of Papyrus. | |
// | | |
// | Foobar is free software; you can redistribute it and/or modify | |
// | it under the terms of the GNU General Public License as published by | |
// | the Free Software Foundation; either version 2 of the License, or | |
// | (at your option) any later version. | |
// | | |
// | Foobar is distributed in the hope that it will be useful, | |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
// | GNU General Public License for more details. | |
// | | |
// | You should have received a copy of the GNU General Public License | |
// | along with Foobar; if not, write to the Free Software | |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
// +------------------------------------------------------------------------------------------------------+ |
// CVS : $Id: adau_langue_fr.inc.php,v 1.4 2006-10-06 10:40:51 florian Exp $ |
/** |
* Gestion des langues de l'application ADME |
* |
* Contient les constantes pour la langue française de l'application ADME. |
* |
*@package Admin_auth |
*@subpackage Langues |
//Auteur original : |
*@author Alexandre Granier <alexandre@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.4 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | LISTE des CONSTANTES | |
// +------------------------------------------------------------------------------------------------------+ |
define('ADAU_NOM_AUTH', 'Nom authentification'); |
define('ADAU_NOM_TABLE', 'Nom de la table annuaire'); |
define('ADAU_MODIFIER', 'Modifier'); |
define('ADAU_SUPPRIMER', 'Supprimer'); |
define('ADAU_SUPPRIMER_MESSAGE', 'Êtes vous sûr de vouloir supprimer cette identification ?'); |
define('ADAU_AJOUTER', 'Ajouter une authentification base de donnée'); |
define('ADAU_IDENTIFIEZ_VOUS','Veuillez vous identifier pour accèder à ce menu.'); |
define('ADAU_NOM_FORM', 'Édition des informations d\'une identification'); |
define('ADAU_NOM_AUTH_ALERTE', 'Vous devez spécifier un nom'); |
define('ADAU_CHAMPS_REQUIS', 'Indique les champs requis'); |
define('ADAU_ABREVIATION', 'Abréviation'); |
define('ADAU_ABREVIATION_ALERTE', 'Vous devez indiquer une abréviation'); |
define('ADAU_DSN', 'Source des donnée (dsn)'); |
define('ADAU_DSN_ALERTE', 'Vous devez indiquer une source des données'); |
define('ADAU_NOM_TABLE_ALERTE', 'Vous devez indiquer le nom de la table annuaire'); |
define('ADAU_CHAMPS_LOGIN', 'Nom du champs login'); |
define('ADAU_CHAMPS_LOGIN_ALERTE', 'Vous devez indiquer le nom du champs login'); |
define('ADAU_CHAMPS_PASSE', 'Nom du champs mot de passe'); |
define('ADAU_CHAMPS_PASSE_ALERTE', 'Vous devez indiquer le nom du champs mot de passe'); |
define('ADAU_CRYPTAGE', 'Fonction de cryptage'); |
define('ADAU_CRYPTAGE_ALERTE', 'Vous devez indiquer un algorithme de cryptage'); |
define('ADAU_PARAMETRE', 'Paramètres'); |
define('ADAU_ANNULER', 'Annuler'); |
define('ADAU_VALIDER', 'Valider'); |
define('ADAU_SYMBOLE_CHP_OBLIGATOIRE', '*'); |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.3 2005/04/14 13:54:51 jpm |
* Amélioration de l'interface et mise en conformité. |
* |
* Revision 1.2 2004/12/13 18:07:57 alex |
* ajout de labels |
* |
* Revision 1.1 2004/12/06 11:31:37 alex |
* version initiale |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v5.0-ouadji/papyrus/applications/admin_auth/admin_auth.php |
---|
New file |
0,0 → 1,200 |
<?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: admin_auth.php,v 1.6 2006-10-06 10:40:51 florian Exp $ |
/** |
* Application gérant les authentifications de Papyrus |
* |
* Cette application permet de gérer les authentifications de papyrus |
* elle permet de spécifier pour un monde quel annuaire utiliser |
* et de gérer des authentifications de spip et ou wikini |
* |
*@package Admin_auth |
//Auteur original : |
*@author Alexandre GRANIER <alexandre@tela-botanica.org> |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.6 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/** Inclusion du fichier de configuration de cette application.*/ |
require_once GEN_CHEMIN_PAP.'applications/admin_auth/configuration/adau_configuration.inc.php'; |
//Utilisation de la bibliothèque PEAR NET_URL |
/** Inclusion de la bibliothèque PEAR de conception de formulaire.*/ |
require_once ADAU_CHEMIN_BIBLIOTHEQUE_PEAR.'HTML/QuickForm.php'; |
/** Inclusion de la bibliothèque PEAR de conception de formulaire : select.*/ |
require_once ADAU_CHEMIN_BIBLIOTHEQUE_PEAR.'HTML/QuickForm/select.php'; |
/** Inclusion de l'API de fonctions gérant les erreurs sql.*/ |
require_once ADAU_CHEMIN_BIBLIOTHEQUE_API.'debogage/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 ADAU_CHEMIN_BIBLIOTHEQUE_API.'sql/SQL_manipulation.fonct.php'; |
/** Inclusion de la bibliothèque premettant de créer des Tableau HTML fragmentés.*/ |
require_once ADAU_CHEMIN_BIBLIOTHEQUE_API.'html/HTML_TableFragmenteur.php' ; |
/** Inclusion de la bibliothèque de fonctions concernant les tables "gen_site..." de Papyrus.*/ |
require_once ADAU_CHEMIN_BIBLIOTHEQUE_GEN.'pap_site.fonct.php'; |
/** Inclusion de la bibliothèque de fonctions concernant les tables "gen_menu..." de Papyrus.*/ |
require_once ADAU_CHEMIN_BIBLIOTHEQUE_GEN.'pap_menu.fonct.php'; |
/** Inclusion de la bibliothèque de fonctions concernant les tables "gen_applications..." de Papyrus.*/ |
require_once ADAU_CHEMIN_BIBLIOTHEQUE_GEN.'pap_application.fonct.php'; |
/** Inclusion de la bibliothèque de fonctions concernant l'affichage commun.*/ |
require_once ADAU_CHEMIN_BIBLIOTHEQUE.'adau_auth.fonct.php'; |
/** Inclusion de la classe créer les formulaire des l'appli.*/ |
require_once ADAU_CHEMIN_BIBLIOTHEQUE.'HTML_formulaireAuth.class.php' ; |
// Inclusion des fichiers de traduction de l'appli ADME dePapyrus |
if (file_exists(ADAU_CHEMIN_LANGUE.'adau_langue_'.$GLOBALS['_GEN_commun']['i18n'].'.inc.php')) { |
/** Inclusion du fichier de traduction suite à la transaction avec le navigateur.*/ |
require_once ADAU_CHEMIN_LANGUE.'adau_langue_'.$GLOBALS['_GEN_commun']['i18n'].'.inc.php'; |
} else { |
/** Inclusion du fichier de traduction par défaut.*/ |
require_once ADAU_CHEMIN_LANGUE.'adau_langue_'.ADAU_I18N_DEFAUT.'.inc.php'; |
} |
// Stockage des styles de l'application |
GEN_stockerStyleExterne('adau_standard', ADAU_CHEMIN_STYLE.'adau_standard.css'); |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
function afficherContenuCorps() |
{ |
$db =& $GLOBALS['_GEN_commun']['pear_db'] ; |
$url =& $GLOBALS['_GEN_commun']['url'] ; |
$auth =& $GLOBALS['_GEN_commun']['pear_auth'] ; |
isset ($GLOBALS['action']) ? '' : $GLOBALS['action'] = '' ; // On déclare action si elle n'existe pas |
$res=''; |
if (!$auth->getAuth()) { |
$res .= '<p class="zone_alert">'.ADAU_IDENTIFIEZ_VOUS.'</p>'."\n" ; |
$res .= '<form id="form_connexion" style="clear:both;" class="form_identification" action="' ; |
$res .= $url->getURL(); |
$res .= '" method="post"> |
<fieldset> |
<legend>Identifiez vous</legend> |
<label for="username">Courriel : </label> |
<input type="text" id="username" name="username" maxlength="80" tabindex="1" value="courriel" /> |
<label for="password">Mot de passe : </label> |
<input type="password" id="password" name="password" maxlength="80" tabindex="2" value="mot de passe" /> |
<input type="submit" id="connexion" name="connexion" tabindex="3" value="ok" /> |
</fieldset> |
</form>'; |
return $res ; |
} else { |
// Le lien pour une nouvelle entrée |
$res = '<a href="'.$url->getURL().'&action=nouveau">'.ADAU_AJOUTER.'</a>'."\n".'<br />'; |
// traitement de la suppression |
if (isset ($GLOBALS['action']) && $GLOBALS['action'] == 'supprimer') adau_supprimer_authentification($GLOBALS['id_auth'], $db); |
// Traitement de l'ajout |
if (isset ($GLOBALS['action']) || isset ($GLOBALS['id_auth'])) { |
$formulaire = new HTML_formulaireAuth('formulaire_auth', '', str_replace ('&', '&', $url->getURL())); |
$formulaire->construitFormulaire($url); |
// On ajoute un champs caché avec action=nouveau_v |
if ($GLOBALS['action'] == 'nouveau') { |
$formulaire->addElement ('hidden', 'action', 'nouveau_v'); |
return $formulaire->toHTML(); |
} |
if (isset ($GLOBALS['id_auth']) && $GLOBALS['action'] != 'modifier_v' && $GLOBALS['action'] != 'supprimer') { |
$formulaire->addElement ('hidden', 'action', 'modifier_v'); |
$formulaire->addElement ('hidden', 'id_auth', $GLOBALS['id_auth']); |
$formulaire->setDefaults(adau_valeurs_par_defaut($GLOBALS['id_auth'], $db)); |
return $formulaire->toHTML(); |
} |
if ($GLOBALS['action'] == 'modifier_v') { |
if ($formulaire->validate()) { |
mise_a_jour ($formulaire->getSubmitValues(), $db); |
} |
} |
if ($GLOBALS['action'] == 'nouveau_v') { |
if ($formulaire->validate()) { |
insertion ($formulaire->getSubmitValues(), $db); |
} |
} |
} |
// Comportement par défaut |
// requete sur la table gen_site_auth |
$requete = 'SELECT gsa_ce_auth_bdd, gsa_nom, gsab_nom_table '. |
'FROM gen_site_auth, gen_site_auth_bdd '. |
'WHERE gsa_id_auth <> 0 '. |
'AND gsa_ce_auth_bdd = gsab_id_auth_bdd'; |
$resultat = $db->query($requete); |
if (DB::isError($resultat)) { |
trigger_error('Échec de la requete : '.$requete.'<br />'.$resultat->getMessage(), E_USER_WARNING); |
return ; |
} |
$liste = new HTML_TableFragmenteur() ; |
$liste->construireEntete(array (ADAU_NOM_AUTH, ADAU_NOM_TABLE, ADAU_MODIFIER, ADAU_SUPPRIMER)); |
$tableau_auth = array(); |
while ($ligne = $resultat->fetchRow()) { |
$url->addQueryString('id_auth', $ligne[0]); |
array_push ($tableau_auth, array ('<a href="'.$url->getURL().'">'.$ligne[1].'</a>'."\n", // Première colonne, le nom de l'authentification |
$ligne[2], // deuxième colonne, le nom de la table d'annuaire |
'<a href="'.$url->getURL().'">'.ADAU_MODIFIER.'</a>'."\n", // Colonne modifier |
'<a href="'.$url->getURL().'&action=supprimer" onclick="javascript:return confirm(\''.ADAU_SUPPRIMER_MESSAGE.'\');">'.ADAU_SUPPRIMER.'</a>'."\n" |
)); |
$url->removeQueryString('id_auth'); |
} |
$liste->construireListe($tableau_auth); |
$res .= $liste->toHTML(); |
return $res; |
} |
}// Fin de la fonction afficherContenuCorps() |
// +------------------------------------------------------------------------------------------------------+ |
// | PIED du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.5 2006/09/21 15:22:04 jp_milcent |
* Nettoyage dans l'url de la querystring id_auth. |
* |
* Revision 1.4 2005/04/14 13:54:51 jpm |
* Amélioration de l'interface et mise en conformité. |
* |
* Revision 1.3 2005/03/09 10:50:08 jpm |
* Changement d'un nom de fichier. |
* |
* Revision 1.2 2005/02/28 10:32:37 jpm |
* Changement de nom de dossier. |
* |
* Revision 1.1 2004/12/06 11:31:59 alex |
* version initiale |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v5.0-ouadji/papyrus/applications/plan/langues/plan_langue_en.inc.php |
---|
New file |
0,0 → 1,65 |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// +------------------------------------------------------------------------------------------------------+ |
// | PHP version 4.1 | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) | |
// +------------------------------------------------------------------------------------------------------+ |
// | This file is part of Papyrus. | |
// | | |
// | Foobar is free software; you can redistribute it and/or modify | |
// | it under the terms of the GNU General Public License as published by | |
// | the Free Software Foundation; either version 2 of the License, or | |
// | (at your option) any later version. | |
// | | |
// | Foobar is distributed in the hope that it will be useful, | |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
// | GNU General Public License for more details. | |
// | | |
// | You should have received a copy of the GNU General Public License | |
// | along with Foobar; if not, write to the Free Software | |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
// +------------------------------------------------------------------------------------------------------+ |
// CVS : $Id: plan_langue_en.inc.php,v 1.2 2006-03-02 10:49:49 ddelon Exp $ |
/** |
* Gestion des langues de l'application PLAN |
* |
* Contient les constantes pour la langue française de l'application PLAN |
* |
*@package Plan |
*@subpackage Langues |
//Auteur original : |
*@author David Delon<dd@clapas.net> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.2 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | LISTE des CONSTANTES | |
// +------------------------------------------------------------------------------------------------------+ |
define('PLAN_PLAN_DU_SITE', 'Site map'); |
define('PLAN_PLAN_DES_SITES', 'Sites map'); |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.1.2.1 2006/02/28 14:02:10 ddelon |
* Finition multilinguisme |
* |
* Revision 1.3 2005/04/14 13:54:51 jpm |
* Amélioration de l'interface et mise en conformité. |
* |
* Revision 1.2 2004/12/13 18:07:57 alex |
* ajout de labels |
* |
* Revision 1.1 2004/12/06 11:31:37 alex |
* version initiale |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v5.0-ouadji/papyrus/applications/plan/langues/plan_langue_fr.inc.php |
---|
New file |
0,0 → 1,65 |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// +------------------------------------------------------------------------------------------------------+ |
// | PHP version 4.1 | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) | |
// +------------------------------------------------------------------------------------------------------+ |
// | This file is part of Papyrus. | |
// | | |
// | Foobar is free software; you can redistribute it and/or modify | |
// | it under the terms of the GNU General Public License as published by | |
// | the Free Software Foundation; either version 2 of the License, or | |
// | (at your option) any later version. | |
// | | |
// | Foobar is distributed in the hope that it will be useful, | |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
// | GNU General Public License for more details. | |
// | | |
// | You should have received a copy of the GNU General Public License | |
// | along with Foobar; if not, write to the Free Software | |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
// +------------------------------------------------------------------------------------------------------+ |
// CVS : $Id: plan_langue_fr.inc.php,v 1.2 2006-03-02 10:49:49 ddelon Exp $ |
/** |
* Gestion des langues de l'application PLAN |
* |
* Contient les constantes pour la langue française de l'application PLAN |
* |
*@package Plan |
*@subpackage Langues |
//Auteur original : |
*@author David Delon<dd@clapas.net> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.2 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | LISTE des CONSTANTES | |
// +------------------------------------------------------------------------------------------------------+ |
define('PLAN_PLAN_DU_SITE', 'Plan du site'); |
define('PLAN_PLAN_DES_SITES', 'Plan des sites'); |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.1.2.1 2006/02/28 14:02:10 ddelon |
* Finition multilinguisme |
* |
* Revision 1.3 2005/04/14 13:54:51 jpm |
* Amélioration de l'interface et mise en conformité. |
* |
* Revision 1.2 2004/12/13 18:07:57 alex |
* ajout de labels |
* |
* Revision 1.1 2004/12/06 11:31:37 alex |
* version initiale |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v5.0-ouadji/papyrus/applications/plan/plan.php |
---|
New file |
0,0 → 1,209 |
<?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.7 2006-10-11 18:05:15 jp_milcent Exp $ |
/** |
* Application réalisant le plan d'un site web géré par Papyrus. |
* |
* Construit une liste de listes représentant le plans des sites web gérés par Papyrus. |
* 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.7 $ $Date: 2006-10-11 18:05:15 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/** 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_AFFICHER_PERMALIEN', false); |
/** Inclusion du fichier de configuration de cette application.*/ |
require_once GEN_CHEMIN_PAP.'applications/plan/configuration/plan_config.inc.php'; |
// Inclusion des fichiers de traduction de l'applette. |
if (file_exists(PLAN_CHEMIN_LANGUE.'plan_langue_'.$_GEN_commun['i18n'].'.inc.php')) { |
require_once PLAN_CHEMIN_LANGUE.'plan_langue_'.$_GEN_commun['i18n'].'.inc.php'; |
} else { |
require_once PLAN_CHEMIN_LANGUE.'plan_langue_'.PLAN_I18N_DEFAUT.'.inc.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() - 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() |
{ |
// Initialisation des variables |
$retour = ''; |
$bdd =& $GLOBALS['_GEN_commun']['pear_db']; |
$site_courant_id = $GLOBALS['_GEN_commun']['info_site']->gs_id_site; |
// Si on veut seulement le plan du site courrant. |
if (PLAN_SITE_COURRANT) { |
$aso_sites = GEN_lireInfoSitePrincipal($bdd, $site_courant_id, DB_FETCHMODE_ASSOC); |
$retour .= '<h1 id="titre_page">'.PLAN_PLAN_DU_SITE.'</h1>'."\n"; |
} else { |
$aso_sites = GEN_lireInfoSites($bdd, DB_FETCHMODE_ASSOC); |
$retour .= '<h1 id="titre_page">'.PLAN_PLAN_DES_SITES.'</h1>'."\n"; |
} |
foreach ($aso_sites as $cle => $site) { |
// On ignore le site admin |
if ($site['gs_code_alpha'] == 'admin' && $GLOBALS['_GEN_commun']['info_site']->gs_code_alpha!='admin') continue; |
if (count($aso_sites) >= 1) { |
if (!empty($site['gs_titre'])) { |
$titre = $site['gs_titre']; |
} else { |
$titre = $site['gs_nom']; |
} |
$url_site =& new Pap_URL(); |
$url_site->setUrlType('SITE'); |
$url_site->setId($site['gs_id_site']); |
$retour .= '<h2><a href="'.$url_site->getUrl().'">'.htmlentities($titre).'</a></h2>'."\n"; |
} |
$retour .= '<ul class="plan_site_'.$site['gs_nom'].'" >'."\n"; |
$aso_menus = GEN_retournerTableauMenusSiteCodeAlpha($bdd, $site['gs_code_alpha']); |
$retour .= parserTableauMenus($aso_menus, PLAN_AFFICHER_PERMALIEN); |
$retour .= '</ul>'."\n"; |
} |
return $retour; |
} |
// +------------------------------------------------------------------------------------------------------+ |
// | LISTE de FONCTIONS | |
// +------------------------------------------------------------------------------------------------------+ |
function parserTableauMenus($aso_menus, $permalien) |
{ |
$retour = ''; |
// Création de l'url |
foreach ($aso_menus as $menu_id => $menu_valeur) { |
if ($menu_valeur['gm_date_fin_validite'] == '0000-00-00 00:00:00' || strtotime($menu_valeur['gm_date_fin_validite']) > time() ) { |
$retour .= '<li>'; |
// Création de l'url |
$une_url =& new Pap_URL(); |
$une_url->setId($menu_id); |
// Construction de l'attribut title |
$title = ''; |
if (!empty($menu_valeur['gm_titre'])) { |
$title = ' title="'.htmlentities($menu_valeur['gm_titre']).'"'; |
} elseif (!empty($menu_valeur['gm_titre_alternatif'])) { |
$title = ' title="'.htmlentities($menu_valeur['gm_titre_alternatif']).'"'; |
} |
// Construction du lien |
$retour .= '<a href="'.$une_url->getURL().'"'.$title.'>'.htmlentities($menu_valeur['gm_nom']).'</a>'; |
// Nous affichons ou pas le permalien |
if ($permalien) { |
$une_url->setPermalien(true); |
$retour .= ' <span class="plan_permalien">'.'('.$une_url->getURL().')'.'</span>'; |
$une_url->setPermalien(false); |
} |
// Nous ajoutons les sous-menus s'il y en a. |
$retour_menus = parserTableauMenus($menu_valeur['sous_menus'], $permalien); |
if ($retour_menus != '') { |
$retour .= "\n".'<ul>'."\n".$retour_menus."\n".'</ul>'."\n"; |
} |
$retour .= '</li>'."\n"; |
} |
} |
return $retour; |
} |
// +------------------------------------------------------------------------------------------------------+ |
// | PIED du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.6 2006/10/06 10:03:14 florian |
* amelioration: affichage du plan des menus d'administration, dans le monde administration |
* |
* Revision 1.5 2006/03/02 10:49:49 ddelon |
* Fusion branche multilinguisme dans branche principale |
* |
* Revision 1.4.2.1 2006/02/28 14:02:09 ddelon |
* Finition multilinguisme |
* |
* Revision 1.4 2005/10/14 11:49:51 alexandre_tb |
* Pas d'affichage du site admin |
* |
* Revision 1.3 2005/04/19 17:21:02 jpm |
* Amélioration de l'application. |
* Gestion des dates de fin de validité des menus. |
* |
* Revision 1.2 2005/02/28 10:38:24 jpm |
* Modification de l'utilisation d'une variable globale. |
* |
* Revision 1.1 2004/06/16 14:34:53 jpm |
* Changement de nom de Génésia en Papyrus. |
* Changement de l'arborescence. |
* |
* 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 ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v5.0-ouadji/papyrus/applications/plan/configuration/plan_config.inc.php |
---|
New file |
0,0 → 1,76 |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// +------------------------------------------------------------------------------------------------------+ |
// | PHP version 4.1 | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (C) 2005 Tela Botanica (accueil@tela-botanica.org) | |
// +------------------------------------------------------------------------------------------------------+ |
// | This file is part of Papyrus. | |
// | | |
// | Foobar is free software; you can redistribute it and/or modify | |
// | it under the terms of the GNU General Public License as published by | |
// | the Free Software Foundation; either version 2 of the License, or | |
// | (at your option) any later version. | |
// | | |
// | Foobar is distributed in the hope that it will be useful, | |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
// | GNU General Public License for more details. | |
// | | |
// | You should have received a copy of the GNU General Public License | |
// | along with Foobar; if not, write to the Free Software | |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
// +------------------------------------------------------------------------------------------------------+ |
// CVS : $Id: plan_config.inc.php,v 1.2 2006-03-02 10:49:49 ddelon Exp $ |
/** |
* Configuration de l'applette Identification. |
* |
* Fichier de configuration de l'applette selection de site. |
* |
*@package Applette |
*@subpackage Selecteur |
//Auteur original : |
*@author David Delon <david.delon@clapas.net> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2005 |
*@version $Revision: 1.2 $ $Date: 2006-03-02 10:49:49 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTETE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/** Constante stockant la valeur de la langue par défaut pour l'appli ADME.*/ |
define('PLAN_I18N_DEFAUT', GEN_I18N_ID_DEFAUT); |
// Chemin vers les dossiers de l'application |
/** Chemin vers l'application Plan de Papyrus.*/ |
define('PLAN_CHEMIN_APPLICATION', GEN_CHEMIN_APPLICATION.'plan/'); |
/** Chemin vers les fichiers de traduction de l'application Admin Auth de Papyrus.*/ |
define('PLAN_CHEMIN_LANGUE', PLAN_CHEMIN_APPLICATION.'langues/'); |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.1.2.1 2006/02/28 14:02:09 ddelon |
* Finition multilinguisme |
* |
* Revision 1.1.2.1 2005/12/07 19:46:15 ddelon |
* Merge + navi sites |
* |
* Revision 1.1 2005/03/15 14:18:49 jpm |
* Ajout d'un fichier de config. |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v5.0-ouadji/papyrus/applications/admin_application/admin_application.php |
---|
New file |
0,0 → 1,210 |
<?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: admin_application.php,v 1.9 2007-08-28 14:02:06 jp_milcent Exp $ |
/** |
* Application gérant les applications de Papyrus |
* |
* Cette application permet de gérer les applications de papyrus |
* elle permet de spécifier pour un monde quel annuaire utiliser |
* et de gérer des authentifications de spip et ou wikini |
* |
*@package Admin_auth |
//Auteur original : |
*@author Alexandre GRANIER <alexandre@tela-botanica.org> |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.9 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/** Inclusion du fichier de configuration de cette application.*/ |
require_once GEN_CHEMIN_PAP.'applications/admin_application/configuration/adap_configuration.inc.php'; |
//Utilisation de la bibliothèque PEAR NET_URL |
/** Inclusion de la bibliothèque PEAR de conception de formulaire.*/ |
require_once ADAP_CHEMIN_BIBLIOTHEQUE_PEAR.'HTML/QuickForm.php'; |
require_once ADAP_CHEMIN_BIBLIOTHEQUE_PEAR.'HTML/QuickForm/select.php'; |
/** Inclusion de l'API de fonctions gérant les erreurs sql.*/ |
require_once ADAP_CHEMIN_BIBLIOTHEQUE_API.'debogage/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 ADAP_CHEMIN_BIBLIOTHEQUE_API.'sql/SQL_manipulation.fonct.php'; |
require_once ADAP_CHEMIN_BIBLIOTHEQUE_API.'html/HTML_TableFragmenteur.php' ; |
/** <BR> Inclusion de la bibliothèque de fonctions concernant les tables "gen_site..." de Papyrus.*/ |
require_once ADAP_CHEMIN_BIBLIOTHEQUE_GEN.'pap_site.fonct.php'; |
/** <BR> Inclusion de la bibliothèque de fonctions concernant les tables "gen_menu..." de Papyrus.*/ |
require_once ADAP_CHEMIN_BIBLIOTHEQUE_GEN.'pap_menu.fonct.php'; |
/** <BR> Inclusion de la bibliothèque de fonctions concernant les tables "gen_applications..." de Papyrus.*/ |
require_once ADAP_CHEMIN_BIBLIOTHEQUE_GEN.'pap_application.fonct.php'; |
/** <BR> Inclusion de la bibliothèque de fonctions concernant l'affichage commun.*/ |
require_once ADAP_CHEMIN_BIBLIOTHEQUE.'adap_application.fonct.php'; |
require_once ADAP_CHEMIN_BIBLIOTHEQUE.'HTML_formulaireAppli.class.php' ; |
// Inclusion des fichiers de traduction de l'appli ADME dePapyrus |
if (file_exists(ADAP_CHEMIN_LANGUE.'adap_langue_'.$GLOBALS['_GEN_commun']['i18n'].'.inc.php')) { |
/** Inclusion du fichier de traduction suite à la transaction avec le navigateur.*/ |
require_once ADAP_CHEMIN_LANGUE.'adap_langue_'.$GLOBALS['_GEN_commun']['i18n'].'.inc.php'; |
} else { |
/** Inclusion du fichier de traduction par défaut.*/ |
require_once ADAP_CHEMIN_LANGUE.'adap_langue_'.ADAP_I18N_DEFAUT.'.inc.php'; |
} |
// Stockage des styles de l'application |
GEN_stockerStyleExterne('adap_standard', ADAP_CHEMIN_STYLE.'adap_standard.css'); |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
function afficherContenuCorps() |
{ |
$db = &$GLOBALS['_GEN_commun']['pear_db'] ; |
$url = $GLOBALS['_GEN_commun']['url'] ; |
$auth = &$GLOBALS['_GEN_commun']['pear_auth'] ; |
$res=''; |
if (!$auth->getAuth()) { |
$res .= '<p class="zone_alert">'.ADAP_IDENTIFIEZ_VOUS.'</p>'."\n" ; |
$res .= '<form id="form_connexion" style="clear:both;" class="form_identification" action="' ; |
$res .= $url->getURL(); |
$res .= '" method="post"> |
<fieldset> |
<legend>Identifiez vous</legend> |
<label for="username">Courriel : </label> |
<input type="text" id="username" name="username" maxlength="80" tabindex="1" value="courriel" /> |
<label for="password">Mot de passe : </label> |
<input type="password" id="password" name="password" maxlength="80" tabindex="2" value="mot de passe" /> |
<input type="submit" id="connexion" name="connexion" tabindex="3" value="ok" /> |
</fieldset> |
</form>'; |
return $res ; |
} else { |
// Le lien pour une nouvelle entrée |
$url->addQueryString('action', 'nouveau'); |
$url_nouveau = $url->getURL(); |
$url->removeQueryString('action', 'nouveau'); |
$res .= '<a href="'.$url_nouveau.'">'.ADAP_AJOUTER.'</a>'."\n<br />" ; |
// traitement de la suppression |
if (isset ($_REQUEST['action']) && $_REQUEST['action'] == 'supprimer') adap_supprimer_application($_REQUEST['id_appl'], $db) ; |
// traitement de l'ajout |
if (isset ($_REQUEST['action']) || isset ($_REQUEST['id_appl'])) { |
$formulaire = new HTML_formulaireAppl('formulaire_appl', '', str_replace ('&', '&', $url->getURL())) ; |
$formulaire->construitFormulaire($url) ; |
// On ajoute un champs caché avec action=nouveau_v |
if (isset ($_REQUEST['action']) && $_REQUEST['action'] == 'nouveau') { |
$formulaire->addElement ('hidden', 'action', 'nouveau_v') ; |
return $formulaire->toHTML() ; |
} |
if (isset ($_REQUEST['id_appl']) && !isset ($_REQUEST['action'])) { |
$formulaire->addElement ('hidden', 'action', 'modifier_v') ; |
$formulaire->addElement ('hidden', 'id_appl', $_REQUEST['id_appl']) ; |
$formulaire->setDefaults(adap_valeurs_par_defaut($_REQUEST['id_appl'], $db)) ; |
return $formulaire->toHTML() ; |
} |
if ($_REQUEST['action'] == 'modifier_v') { |
if ($formulaire->validate()) { |
mise_a_jour ($formulaire->getSubmitValues(), $db) ; |
} |
} |
if ($_REQUEST['action'] == 'nouveau_v') { |
if ($formulaire->validate()) { |
insertion ($formulaire->getSubmitValues(), $db) ; |
} |
} |
} |
// Comportement par défaut |
// requete sur la table gen_application |
$requete = 'SELECT gap_id_application, gap_nom FROM gen_application where gap_id_application <> 0 ORDER BY gap_nom ASC' ; |
$resultat = $db->query ($requete) ; |
if (DB::isError ($resultat)) { |
$GLOBALS['_GEN_commun']['debogage_erreur']->gererErreur(E_USER_WARNING, "Echec de la requete : $requete<br />".$resultat->getMessage(), |
__FILE__, __LINE__, 'admin_appl') ; |
return ; |
} |
$liste = new HTML_TableFragmenteur () ; |
$liste->construireEntete(array (ADAP_NOM_APPL, ADAP_SUPPRIMER)) ; |
$tableau_appl = array() ; |
while ($ligne = $resultat->fetchRow()) { |
$url->addQueryString ('id_appl', $ligne[0]) ; |
array_push ($tableau_appl, array ('<a href="'.$url->getURL().'">'.$ligne[1].'</a>'."\n", // Première colonne, le nom de l'application |
'<a href="'.$url->getURL().'&action=supprimer" onclick="javascript:return confirm (\''.ADAP_SUPPRIMER.' ?\');">'.ADAP_SUPPRIMER.'</a>'."\n" |
)); |
} |
$liste->construireListe($tableau_appl) ; |
$res .= $liste->toHTML(); |
return $res ; |
} |
}// Fin de la fonction afficherContenuCorps() |
// +------------------------------------------------------------------------------------------------------+ |
// | PIED du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.8 2007-03-20 14:17:36 alexandre_tb |
* remplacement des varaibles $GLOBALS par $_REQUEST, pour que l appli fonctionne avec les register_globals à Off |
* |
* Revision 1.7 2006/12/01 10:39:14 alexandre_tb |
* Suppression des références aux applettes |
* |
* Revision 1.6 2006/10/06 10:40:51 florian |
* harmonisation des messages d'erreur de l'authentification |
* |
* Revision 1.5 2006/09/07 13:28:39 jp_milcent |
* Mise en majuscule des termes SQL et trie des application par ordre alphabétique. |
* |
* Revision 1.4 2005/03/09 10:46:17 jpm |
* Changement d'un nom de fichier. |
* |
* Revision 1.3 2005/03/09 10:40:26 alex |
* version initiale |
* |
* Revision 1.2 2005/02/28 10:32:59 jpm |
* Changement de nom de dossier. |
* |
* Revision 1.1 2004/12/13 18:07:19 alex |
* version initiale |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v5.0-ouadji/papyrus/applications/admin_application/configuration/adap_configuration.inc.php |
---|
New file |
0,0 → 1,80 |
<?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: adap_configuration.inc.php,v 1.1 2004-12-13 18:07:33 alex Exp $ |
/** |
* Fichier de configuration général de l'application Administration des applications. |
* |
* Permet de définir certains paramètres valables pour toutes l'application |
* Administrateur des applications. |
* |
*@package Admin_application |
*@subpackage Configuration |
//Auteur original : |
*@author Alexandre GRANIER <alexandre@tela-botanica.org> |
//Autres auteurs : |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.1 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTETE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/** Constante stockant la valeur de la langue par défaut pour l'appli ADAP.*/ |
define('ADAP_I18N_DEFAUT', GEN_I18N_ID_DEFAUT); |
// Chemin des fichiers à inclure. |
/** Chemin vers la bibliothèque PEAR.*/ |
define('ADAP_CHEMIN_BIBLIOTHEQUE_PEAR', ''); |
/** Chemin vers la bibliothèque API.*/ |
define('ADAP_CHEMIN_BIBLIOTHEQUE_API', GEN_CHEMIN_API); |
/** Chemin vers la bibliothèque de Papyrus.*/ |
define('ADAP_CHEMIN_BIBLIOTHEQUE_GEN', GEN_CHEMIN_BIBLIO); |
// Chemin vers les dossiers de l'application |
/** Chemin vers l'application Admin Auth de Papyrus.*/ |
define('ADAP_CHEMIN_APPLICATION', GEN_CHEMIN_APPLICATION.'admin_application/'); |
/** Chemin vers les images de l'application Admin Auth de Papyrus.*/ |
define('ADAP_CHEMIN_IMAGE_INTERFACE', ADAP_CHEMIN_APPLICATION.'presentations/images/interface/'); |
/** Chemin vers la bibliothèque de l'application Admin Auth de Papyrus.*/ |
define('ADAP_CHEMIN_BIBLIOTHEQUE', ADAP_CHEMIN_APPLICATION.'bibliotheque/'); |
/** Chemin vers les classes de l'application Admin Auth de Papyrus.*/ |
define('ADAP_CHEMIN_CLASSES', ADAP_CHEMIN_APPLICATION.'classes/'); |
/** Chemin vers les fichiers de traduction de l'application Admin Auth de Papyrus.*/ |
define('ADAP_CHEMIN_LANGUE', ADAP_CHEMIN_APPLICATION.'langues/'); |
/** Chemin vers les styles de l'application Admin Auth de Papyrus.*/ |
define('ADAP_CHEMIN_STYLE', ADAP_CHEMIN_APPLICATION.'presentations/styles/'); |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v5.0-ouadji/papyrus/applications/admin_application/bibliotheque/adap_application.fonct.php |
---|
New file |
0,0 → 1,153 |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// +------------------------------------------------------------------------------------------------------+ |
// | PHP version 4.1 | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) | |
// +------------------------------------------------------------------------------------------------------+ |
// | This file is part of Papyrus. | |
// | | |
// | Foobar is free software; you can redistribute it and/or modify | |
// | it under the terms of the GNU General Public License as published by | |
// | the Free Software Foundation; either version 2 of the License, or | |
// | (at your option) any later version. | |
// | | |
// | Foobar is distributed in the hope that it will be useful, | |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
// | GNU General Public License for more details. | |
// | | |
// | You should have received a copy of the GNU General Public License | |
// | along with Foobar; if not, write to the Free Software | |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
// +------------------------------------------------------------------------------------------------------+ |
// CVS : $Id: adap_application.fonct.php,v 1.4 2006-12-01 10:39:14 alexandre_tb Exp $ |
/** |
* Contient les fonctions de l'appli admin_auth |
* |
* |
* |
* |
*@package Admin_auth |
*@subpackage Fonctions |
//Auteur original : |
*@author Alexandre Granier <alexandre@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.4 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | LISTE de FONCTIONS | |
// +------------------------------------------------------------------------------------------------------+ |
/** |
* |
* |
* @return |
*/ |
function adap_supprimer_application($id_appl, &$db) { |
$requete = 'DELETE FROM gen_application WHERE gap_id_application='.$id_appl; |
$resultat = $db->query ($requete) ; |
} |
/** |
* |
* |
* @return |
*/ |
function adap_valeurs_par_defaut ($id_appl, &$db) { |
// requete sur gen_site_auth |
$requete = 'SELECT * FROM gen_application WHERE gap_id_application='.$id_appl ; |
$resultat = $db->query ($requete) ; |
if (DB::isError ($resultat)) { |
trigger_error("Echec de la requete : $requete<br />".$resultat->getMessage(), E_USER_WARNING) ; |
return ; |
} |
$tableau_retour = array () ; |
$ligne = $resultat->fetchRow (DB_FETCHMODE_OBJECT) ; |
$tableau_retour['nom_appl'] = $ligne->gap_nom ; |
$tableau_retour['description'] = $ligne->gap_description ; |
$tableau_retour['chemin'] = $ligne->gap_chemin ; |
unset ($requete, $resultat) ; |
return $tableau_retour ; |
} |
/** |
* |
* |
* @return |
*/ |
function insertion ($valeur, &$db) { |
$id_appl_bdd = SQL_obtenirNouveauId ($db, 'gen_application', 'gap_id_application') ; |
$requete = "insert into gen_application set gap_id_application=" |
.$id_appl_bdd."," |
.requete_site_appl($valeur) ; |
$resultat = $db->query ($requete) ; |
if (DB::isError ($resultat)) { |
trigger_error("Echec de la requete : $requete<br />".$resultat->getMessage(),E_USER_WARNING) ; |
} |
} |
/** |
* |
* |
* @return |
*/ |
function mise_a_jour ($valeur, &$db) { |
$requete = "update gen_application set ".requete_site_appl($valeur) |
.' WHERE gap_id_application='.$GLOBALS['id_appl'] ; |
$resultat = $db->query ($requete) ; |
if (DB::isError ($resultat)) { |
trigger_error("Echec de la requete : $requete<br />".$resultat->getMessage(),E_USER_WARNING) ; |
} |
} |
/** |
* |
* |
* @return string un morceau de code SQL |
*/ |
function requete_site_appl (&$valeur) { |
if (!isset($valeur['applette'])) {$valeur['applette']=0;} |
return 'gap_nom="'.$valeur['nom_appl'].'", ' |
.'gap_description="'.$valeur['description'].'", ' |
.'gap_chemin="'.$valeur['chemin'].'"'; |
} |
// +------------------------------------------------------------------------------------------------------+ |
// | PIED du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.3 2006/09/07 13:28:39 jp_milcent |
* Mise en majuscule des termes SQL et trie des application par ordre alphabétique. |
* |
* Revision 1.2 2005/09/23 15:02:38 florian |
* correction de bugs |
* |
* Revision 1.1 2005/03/09 10:44:04 jpm |
* Mise au norme du nom du fichier. |
* |
* Revision 1.2 2005/03/09 10:40:33 alex |
* version initiale |
* |
* Revision 1.1 2004/12/13 18:07:28 alex |
* version initiale |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v5.0-ouadji/papyrus/applications/admin_application/bibliotheque/HTML_formulaireAppli.class.php |
---|
New file |
0,0 → 1,123 |
<?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 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 | |
// | General Public License for more details. | |
// | | |
// | You should have received a copy of the GNU 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: HTML_formulaireAppli.class.php,v 1.5 2007-06-26 14:18:53 florian Exp $ |
/** |
* Application projet |
* |
* La classe HTML_formulaireAuth |
* |
*@package projet |
//Auteur original : |
*@author Alexandre Granier <alexandre@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.5 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTETE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/** Inclure le fichier de langue pour utiliser cette classe de façon autonome. */ |
require_once PAP_CHEMIN_API_PEAR.'HTML/QuickForm.php' ; |
require_once PAP_CHEMIN_API_PEAR.'HTML/QuickForm/checkbox.php' ; |
require_once PAP_CHEMIN_API_PEAR.'HTML/QuickForm/select.php' ; |
// +------------------------------------------------------------------------------------------------------+ |
// | LISTE des constantes | |
// +------------------------------------------------------------------------------------------------------+ |
/** |
* class HTML_formulaireProjet |
* Cette classe représente un formulaire pour saisir un projet ou le modifier. |
*/ |
class HTML_formulaireAppl extends HTML_QuickForm |
{ |
/** |
* Constructeur |
* |
* @param string formName Le nom du formulaire. |
* @param string method Soit get soit post, voir le protocole HTTP |
* @param string action L'action du formulaire. |
* @param string target La cible du formulaire. |
* @param Array attributes Des attributs supplémentaires pour la balise <form> |
* @param bool trackSubmit Pour repérer si la formulaire a été soumis. |
* @return void |
* @access public |
*/ |
function HTML_formulaireAppl( $formName = "", $method = "post", $action = "", $target = "_self", $attributes = "", $trackSubmit = false ) |
{ |
HTML_QuickForm::HTML_QuickForm($formName, $method, $action, $target, $attributes, $trackSubmit) ; |
} // end of member function HTML_formulaireProjet |
/** |
* Renvoie le code HTML du formulaire. |
* |
* @return string |
* @access public |
*/ |
function toHTML( ) |
{ |
$res = HTML_QuickForm::toHTML() ; |
return $res ; |
} // end of member function toHTML |
/** |
* Ajoute les champs nécessaire au formulaire. |
* |
* @return void |
* @access public |
*/ |
function construitFormulaire($url_retour) |
{ |
$squelette =& $this->defaultRenderer(); |
$squelette->setFormTemplate("\n".'<form {attributes}>'."\n".'{content}'."\n".'</form>'."\n"); |
$squelette->setElementTemplate( '<p class="formulaire_element"><span class="form_label">'."\n". |
'{label}'."\n". |
'<!-- BEGIN required --><span style="color:red; width:5px; margin:0; padding:0;">*</span><!-- END required -->'."\n". |
'</span>'."\n".'{element}'."\n". |
'<!-- BEGIN error --><span class="erreur">{error}</span><!-- END error -->'."\n". |
'</p>'."\n"); |
$squelette->setGroupElementTemplate('<p style="display:inline">{element}</p>', 'form_boutons'); |
$squelette->setRequiredNoteTemplate("\n".'<p class="symbole_obligatoire">* : {requiredNote}</p>'."\n"); |
//Note pour les erreurs javascript |
$this->setJsWarnings('Erreur de saisie', 'Veuillez verifier vos informations saisies'); |
// Note de fin de formulaire |
$this->setRequiredNote('Indique les champs obligatoires'); |
$this->addElement ('text', 'nom_appl', ADAP_NOM_APPL, array ('size' => 35)) ; |
$this->addRule ('nom_appl', ADAP_NOM_APPL_ALERTE, 'required', '', 'client') ; |
$this->addElement ('textarea', 'description', ADAP_DESCRIPTION, array ('cols' => 50, 'rows' => 5)) ; |
$this->addElement ('text', 'chemin', ADAP_CHEMIN, array('size' => 35)) ; |
$this->addElement('html', '<br />'); |
$this->setRequiredNote(ADAP_CHAMPS_REQUIS) ; |
// on fait un groupe avec les boutons pour les mettres sur la même ligne |
$buttons[] = &HTML_QuickForm::createElement('button', 'annuler', ADAP_ANNULER, array ("onclick" => "javascript:document.location.href='".str_replace ('&', '&', $url_retour->getURL())."'")); |
$buttons[] = &HTML_QuickForm::createElement('submit', 'valider', ADAP_VALIDER); |
$this->addGroup($buttons, 'form_boutons', null, ' '); |
} // end of member function _construitFormulaire |
} // end of HTML_formulaireProjet |
?> |
/tags/v5.0-ouadji/papyrus/applications/admin_application/langues/adap_langue_fr.inc.php |
---|
New file |
0,0 → 1,74 |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// +------------------------------------------------------------------------------------------------------+ |
// | PHP version 4.1 | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) | |
// +------------------------------------------------------------------------------------------------------+ |
// | This file is part of Papyrus. | |
// | | |
// | Foobar is free software; you can redistribute it and/or modify | |
// | it under the terms of the GNU General Public License as published by | |
// | the Free Software Foundation; either version 2 of the License, or | |
// | (at your option) any later version. | |
// | | |
// | Foobar is distributed in the hope that it will be useful, | |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
// | GNU General Public License for more details. | |
// | | |
// | You should have received a copy of the GNU General Public License | |
// | along with Foobar; if not, write to the Free Software | |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
// +------------------------------------------------------------------------------------------------------+ |
// CVS : $Id: adap_langue_fr.inc.php,v 1.4 2006-12-01 10:39:14 alexandre_tb Exp $ |
/** |
* Gestion des langues de l'application ADME |
* |
* Contient les constantes pour la langue française de l'application ADAP. |
* |
*@package Admin_appli |
*@subpackage Langues |
//Auteur original : |
*@author Alexandre Granier <alexandre@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.4 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | LISTE des CONSTANTES | |
// +------------------------------------------------------------------------------------------------------+ |
define ('ADAP_NOM_APPL', 'Nom de l\'application') ; |
define ('ADAP_MODIFIER', 'Modifier') ; |
define ('ADAP_SUPPRIMER', 'Supprimer') ; |
define ('ADAP_AJOUTER', 'Ajouter une application') ; |
define ('ADAP_NOM_APPL_ALERTE', 'Vous devez spécifier un nom') ; |
define ('ADAP_CHAMPS_REQUIS', 'Indique les champs requis') ; |
define ('ADAP_DESCRIPTION', 'Description') ; |
define ('ADAP_IDENTIFIEZ_VOUS','Veuillez vous identifier pour accèder à ce menu.'); |
define ('ADAP_CHEMIN', 'Chemin vers l\'application') ; |
define ('ADAP_CHEMIN_REQUIS', 'Le chemin vers l\'application est requis') ; |
define ('ADAP_APPLETTE', 'L\'application est elle une applette') ; |
define ('ADAP_ANNULER', 'Annuler') ; |
define ('ADAP_VALIDER', 'Valider') ; |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.3 2006/10/06 10:40:51 florian |
* harmonisation des messages d'erreur de l'authentification |
* |
* Revision 1.2 2005/03/09 10:40:37 alex |
* version initiale |
* |
* Revision 1.1 2004/12/13 18:07:38 alex |
* version initiale |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v5.0-ouadji/papyrus/applications/admin_menu/admin_menu.php |
---|
New file |
0,0 → 1,618 |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// Copyright (C) 1999-2004 Tela Botanica (accueil@tela-botanica.org) |
// |
// Ce logiciel est un programme informatique servant à gérer du contenu et des |
// applications web. |
// Ce logiciel est régi par la licence CeCILL soumise au droit français et |
// respectant les principes de diffusion des logiciels libres. Vous pouvez |
// utiliser, modifier et/ou redistribuer ce programme sous les conditions |
// de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA |
// sur le site "http://www.cecill.info". |
// En contrepartie de l'accessibilité au code source et des droits de copie, |
// de modification et de redistribution accordés par cette licence, il n'est |
// offert aux utilisateurs qu'une garantie limitée. Pour les mêmes raisons, |
// seule une responsabilité restreinte pèse sur l'auteur du programme, le |
// titulaire des droits patrimoniaux et les concédants successifs. |
// A cet égard l'attention de l'utilisateur est attirée sur les risques |
// associés au chargement, à l'utilisation, à la modification et/ou au |
// développement et à la reproduction du logiciel par l'utilisateur étant |
// donné sa spécificité de logiciel libre, qui peut le rendre complexe à |
// manipuler et qui le réserve donc à des développeurs et des professionnels |
// avertis possédant des connaissances informatiques approfondies. Les |
// utilisateurs sont donc invités à charger et tester l'adéquation du |
// logiciel à leurs besoins dans des conditions permettant d'assurer la |
// sécurité de leurs systèmes et ou de leurs données et, plus généralement, |
// à l'utiliser et l'exploiter dans les mêmes conditions de sécurité. |
// Le fait que vous puissiez accéder à cet en-tête signifie que vous avez |
// pris connaissance de la licence CeCILL, et que vous en avez accepté les |
// termes. |
// ---- |
// CVS : $Id: admin_menu.php,v 1.29 2007-10-25 10:10:23 alexandre_tb Exp $ |
/** |
* Application gérant les menus de Papyrus |
* |
* Cette application permet de gérer les menus classiques, les menus communs |
* et les liaison d'une application à un menu. |
* |
*@package Admin_menu |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Alexandre GRANIER <alexandre@tela-botanica.org> |
*@author Laurent COUDOUNEAU <lc@gsite.org> |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.29 $ $Date: 2007-10-25 10:10:23 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTETE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/** Inclusion du fichier de configuration de cette application.*/ |
require_once GEN_CHEMIN_PAP.'applications/admin_menu/configuration/adme_configuration.inc.php'; |
//Utilisation de la bibliotheque PEAR NET_URL |
/** Inclusion de la bibliotheque PEAR de conception de formulaire.*/ |
require_once ADME_CHEMIN_BIBLIOTHEQUE_PEAR.'HTML/QuickForm.php'; |
require_once ADME_CHEMIN_BIBLIOTHEQUE_PEAR.'HTML/QuickForm/select.php'; |
/** Inclusion de l'API de fonctions gerant les erreurs sql.*/ |
require_once ADME_CHEMIN_BIBLIOTHEQUE_API.'debogage/BOG_sql.fonct.php'; |
/** Inclusion des fonctions de manipulation du sql. |
* Permet la recuperation d'un nouvel identifiant d'une table.*/ |
require_once ADME_CHEMIN_BIBLIOTHEQUE_API.'sql/SQL_manipulation.fonct.php'; |
/** <BR> Inclusion de la bibliotheque de fonctions concernant les tables "gen_site..." de Papyrus.*/ |
require_once ADME_CHEMIN_BIBLIOTHEQUE_GEN.'pap_site.fonct.php'; |
/** <BR> Inclusion de la bibliotheque de fonctions concernant les tables "gen_menu..." de Papyrus.*/ |
require_once ADME_CHEMIN_BIBLIOTHEQUE_GEN.'pap_menu.fonct.php'; |
/** <BR> Inclusion de la bibliotheque de fonctions concernant les tables "gen_applications..." de Papyrus.*/ |
require_once ADME_CHEMIN_BIBLIOTHEQUE_GEN.'pap_application.fonct.php'; |
/** <BR> Inclusion de la bibliotheque de fonctions concernant l'affichage commun.*/ |
require_once ADME_CHEMIN_BIBLIOTHEQUE_ADME.'adme_general.fonct.php';//ok |
/** <BR> Inclusion de la bibliotheque de fonctions concernant la gestion des menus classiques.*/ |
require_once ADME_CHEMIN_BIBLIOTHEQUE_ADME.'adme_menu_classique.fonct.php';//ok |
/** <BR> Inclusion de la bibliotheque de fonctions concernant la gestion des menus communs.*/ |
require_once ADME_CHEMIN_BIBLIOTHEQUE_ADME.'adme_menu_commun.fonct.php';//ok |
/** <BR> Inclusion de la bibliotheque de fonctions concernant la gestion de la redaction de contenu.*/ |
//require_once ADME_CHEMIN_BIBLIOTHEQUE_ADME.'adme_contenu.fonct.php';//ok |
// Inclusion des fichiers de traduction de l'appli ADME dePapyrus |
if (file_exists(ADME_CHEMIN_LANGUE.'adme_langue_'.$GLOBALS['_GEN_commun']['i18n'].'.inc.php')) { |
/** Inclusion du fichier de traduction suite a la transaction avec le navigateur.*/ |
require_once ADME_CHEMIN_LANGUE.'adme_langue_'.$GLOBALS['_GEN_commun']['i18n'].'.inc.php'; |
} else { |
/** Inclusion du fichier de traduction par defaut.*/ |
require_once ADME_CHEMIN_LANGUE.'adme_langue_'.ADME_I18N_DEFAUT.'.inc.php'; |
} |
// Stockage des styles de l'application |
GEN_stockerStyleExterne('adme_standard', ADME_CHEMIN_STYLE.'adme_standard.css'); |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
function afficherContenuCorps() |
{ |
//------------------------------------------------------------------------------------------------------------------- |
// Initialisation des variables |
$sortie_xhtml = ''; |
$objet_pear_auth = $GLOBALS['_GEN_commun']['pear_auth']; |
$objet_pear_db = $GLOBALS['_GEN_commun']['pear_db']; |
$objet_pear_url = $GLOBALS['_GEN_commun']['url']; |
$copie_objet_pear_url = (PHP_VERSION < 5) ? $objet_pear_url : clone($objet_pear_url); |
$url_site = $GLOBALS['_GEN_commun']['url_site']; |
if (isset($GLOBALS['_GEN_commun']['url_menu'])) { |
$url_menu = $GLOBALS['_GEN_commun']['url_menu']; |
} |
if (isset($_POST['adme_site_id'])) { |
$_GET['adme_site_id'] = $_POST['adme_site_id']; |
} else { |
$_GET['adme_site_id'] = (!isset($_GET['adme_site_id'])) ? 1 : $_GET['adme_site_id']; |
} |
$_GET['adme_menu_id'] = (!isset($_GET['adme_menu_id'])) ? 0 : $_GET['adme_menu_id']; |
$_GET['adme_action'] = (!isset($_GET['adme_action'])) ? '' : $_GET['adme_action']; |
//------------------------------------------------------------------------------------------------------------------- |
// Authentification |
if ($objet_pear_auth->getAuth()) { |
//--------------------------------------------------------------------------------------------------------------- |
// GESTION DES MENUS CLASSIQUES |
// Ajouter un menu classique |
if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_CLASSIQUE_AJOUTER) { |
$message = ADME_ajouterMenuClassique($objet_pear_db, $objet_pear_auth, $_GET['adme_site_id'], $_GET['adme_menu_id']); |
$copie_objet_pear_url->addQueryString('adme_site_id',$_GET['adme_site_id']); |
header("Location: ".str_replace('&', '&', $copie_objet_pear_url->getUrl())); |
exit; |
} |
// Formulaire de mise à jour du menu |
if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_CLASSIQUE_MODIFIER) { |
$copie_objet_pear_url->addQueryString('adme_site_id',$_GET['adme_site_id']); |
$copie_objet_pear_url->addQueryString('adme_menu_id',$_GET['adme_menu_id']); |
$copie_objet_pear_url->addQueryString('adme_action',ADME_LG_ACTION_CLASSIQUE_MODIFIER_ACTION); |
header("Location: ".str_replace('&', '&', $copie_objet_pear_url->getUrl())); |
exit; |
} |
if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_CLASSIQUE_MODIFIER_ACTION) { |
$sortie_xhtml .= ADME_afficherFormMenuClassique($objet_pear_db, $objet_pear_url, $_GET['adme_site_id'], $_GET['adme_menu_id'], $_POST); |
return $sortie_xhtml; |
} |
//var_dump($_POST); |
if (isset($_POST['form_boutons'][ADME_LG_ACTION_CLASSIQUE_VERIFIER])) { |
// Nous cherchons a enregistrer une modification de menu |
$message = ADME_validerFormAjouterMenuClassique($objet_pear_db, $_POST); |
if (!empty($message)) { |
// Les donnees ne sont pas valide. Nous retournons le formulaires avec les messages d'erreurs. |
$sortie_xhtml .= $message; |
$sortie_xhtml .= ADME_afficherFormMenuClassique($objet_pear_db, $objet_pear_url, $_GET['adme_site_id'], $_GET['adme_menu_id'], $_POST); |
return $sortie_xhtml; |
} else { |
// Les donnees sont valide. Nous les enregistrons et retournons au formulaire de depart. |
$message = ADME_modifierMenuClassique($objet_pear_db, $objet_pear_auth, $_GET['adme_menu_id'], $_POST); |
} |
} |
// Deplacer le menu vers le haut |
if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_CLASSIQUE_MONTER) { |
ADME_deplacerMenuClassique($objet_pear_db, $_GET['adme_site_id'], $_GET['adme_menu_id'], true); |
} |
// Deplacer le menu vers le bas |
if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_CLASSIQUE_DESCENDRE) { |
ADME_deplacerMenuClassique($objet_pear_db, $_GET['adme_site_id'], $_GET['adme_menu_id'], false); |
} |
// Deplacer le menu vers la gauche (diminuer d'un niveau) |
if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_CLASSIQUE_DIMINUER) { |
ADME_indenterMenuClassique($objet_pear_db, $_GET['adme_site_id'], $_GET['adme_menu_id'], true); |
} |
// Deplacer le menu vers la droite (augmenter d'un niveau) |
if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_CLASSIQUE_AUGMENTER) { |
ADME_indenterMenuClassique($objet_pear_db, $_GET['adme_site_id'], $_GET['adme_menu_id'], false); |
} |
// Traduire le menu |
if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_CLASSIQUE_TRADUIRE) { |
$message=''; |
$message = ADME_verifier_traduction_possible($objet_pear_db, $objet_pear_url, $_GET['adme_site_id'], $_GET['adme_menu_id'], $_POST); |
if ((!empty($message))) { |
// Pas de traduction possible ! |
$sortie_xhtml .= $message; |
$sortie_xhtml .= ADME_afficherFormPrincipal($objet_pear_db, $objet_pear_url, $_GET['adme_site_id'], $_GET['adme_menu_id'], $_GET['adme_action']); |
return $sortie_xhtml; |
} |
else { |
// Les données sont valide. Nous affichons le formulaire de traduction |
$copie_objet_pear_url->addQueryString('adme_site_id',$_GET['adme_site_id']); |
$copie_objet_pear_url->addQueryString('adme_menu_id',$_GET['adme_menu_id']); |
$copie_objet_pear_url->addQueryString('adme_action',ADME_LG_ACTION_CLASSIQUE_TRADUIRE_ACTION); |
header("Location: ".str_replace('&', '&', $copie_objet_pear_url->getUrl())); |
exit; |
} |
} |
if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_CLASSIQUE_TRADUIRE_ACTION) { |
$sortie_xhtml .= ADME_afficherFormMenuClassique($objet_pear_db, $objet_pear_url, $_GET['adme_site_id'], $_GET['adme_menu_id'], $_POST,TRUE); |
return $sortie_xhtml; |
} |
if (isset($_POST['form_boutons'][ADME_LG_ACTION_CLASSIQUE_VERIFIER_TRADUCTION])) { |
// Nous cherchons a enregistrer une traduction de menu |
$message = ADME_validerFormTraduireMenuClassique($objet_pear_db, $_POST); |
if (!empty($message)) { |
// Les donnees ne sont pas valide. Nous retournons le formulaires avec les messages d'erreurs. |
$sortie_xhtml .= $message; |
$sortie_xhtml .= ADME_afficherFormMenuClassique($objet_pear_db, $objet_pear_url, $_GET['adme_menu_id'], $_POST); |
return $sortie_xhtml; |
} else { |
// Les donnees sont valide. Nous les enregistrons et retournons au formulaire de depart. |
$message = ADME_traduireMenuClassique($objet_pear_db, $objet_pear_auth, $_GET['adme_menu_id'], $_POST); |
} |
} |
// Supprimer le menu |
if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_CLASSIQUE_SUPPRIMER) { |
// Recuperation du menu de remplacement pour eviter de fermer l'arborescence |
if (GEN_donnerDernierFreres($_GET['adme_menu_id']) == false) { |
$adme_menu_id_remplacement = GEN_lireIdentifiantMenuPere($_GET['adme_menu_id']);; |
} else { |
$adme_menu_id_remplacement = GEN_donnerDernierFreres($_GET['adme_menu_id']); |
} |
// Suppression du menu classique |
$message = ADME_supprimerMenuClassique($objet_pear_db, $_GET['adme_site_id'], $_GET['adme_menu_id']); |
// Remplacement de l'id du menu courant par le remplacant. |
$_GET['adme_menu_id'] = $adme_menu_id_remplacement; |
$copie_objet_pear_url->addQueryString('adme_site_id',$_GET['adme_site_id']); |
header("Location: ".str_replace('&', '&', $copie_objet_pear_url->getUrl())); |
exit; |
} |
// Supprimer le menu traduit |
if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_CLASSIQUE_SUPPRIMER_TRADUCTION) { |
// Suppression du menu classique |
$message = ADME_supprimerMenuClassiqueTraduction($objet_pear_db, $_GET['adme_site_id'], $_GET['adme_menu_id']); |
$copie_objet_pear_url->addQueryString('adme_site_id',$_GET['adme_site_id']); |
header("Location: ".str_replace('&', '&', $copie_objet_pear_url->getUrl())); |
exit; |
} |
// Selectionner le menu comme traduction par defaut : |
if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_CLASSIQUE_TRADUCTION_DEFAUT) { |
$message = ADME_selectionnerMenuClassiqueTraduction($objet_pear_db, $_GET['adme_site_id'], $_GET['adme_menu_id']); |
$copie_objet_pear_url->addQueryString('adme_site_id',$_GET['adme_site_id']); |
header("Location: ".str_replace('&', '&', $copie_objet_pear_url->getUrl())); |
exit; |
} |
// Restreindre le menu a la langue selectionne |
if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_CLASSIQUE_LIMITER) { |
$message = ADME_limiterMenuClassique($objet_pear_db, $_GET['adme_site_id'], $_GET['adme_menu_id'],$_GET['zone']); |
$copie_objet_pear_url->addQueryString('adme_site_id',$_GET['adme_site_id'],$_GET['zone']); |
header("Location: ".str_replace('&', '&', $copie_objet_pear_url->getUrl())); |
exit; |
} |
// Ouvrir le menu suite a une restriction |
if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_CLASSIQUE_OUVRIR) { |
$message = ADME_ouvrirMenuClassique($objet_pear_db, $_GET['adme_site_id'], $_GET['adme_menu_id']); |
$copie_objet_pear_url->addQueryString('adme_site_id',$_GET['adme_site_id']); |
header("Location: ".str_replace('&', '&', $copie_objet_pear_url->getUrl())); |
exit; |
} |
//--------------------------------------------------------------------------------------------------------------- |
// GESTION DES MENUS COMMUNS |
// Ajout un menu commun |
if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_COMMUN_AJOUTER) { |
$message = ADME_ajouterMenuCommun($objet_pear_db, $objet_pear_auth, $_GET['adme_site_id'], $_GET['adme_menu_id']); |
$copie_objet_pear_url->addQueryString('adme_site_id',$_GET['adme_site_id']); |
header("Location: ".str_replace('&', '&', $copie_objet_pear_url->getUrl())); |
exit; |
} |
// Formulaire de mise a jour du menu commun. |
if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_COMMUN_MODIFIER) { |
$copie_objet_pear_url->addQueryString('adme_site_id',$_GET['adme_site_id']); |
$copie_objet_pear_url->addQueryString('adme_menu_id',$_GET['adme_menu_id']); |
$copie_objet_pear_url->addQueryString('adme_action',ADME_LG_ACTION_COMMUN_MODIFIER_ACTION); |
header("Location: ".str_replace('&', '&', $copie_objet_pear_url->getUrl())); |
exit; |
} |
if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_COMMUN_MODIFIER_ACTION) { |
$sortie_xhtml .= ADME_afficherFormMenuClassique($objet_pear_db, $objet_pear_url, $_GET['adme_site_id'], $_GET['adme_menu_id'], $_POST); |
return $sortie_xhtml; |
} |
if (isset($_POST[ADME_LG_ACTION_COMMUN_VERIFIER])) { |
// Nous cherchons a enregistrer une modification de menu |
$message = ADME_validerFormAjouterMenuCommun($objet_pear_db, $_POST); |
if (!empty($message)) { |
// Les donnees ne sont pas valide. Nous retournons le formulaires avec les messages d'erreurs. |
$sortie_xhtml .= $message; |
$sortie_xhtml .= ADME_afficherFormMenuCommun($objet_pear_db, $objet_pear_url, $_GET['adme_site_id'], $_GET['adme_menu_id'], $_POST); |
return $sortie_xhtml; |
} else { |
// Les donnees sont valide. Nous les enregistrons et retournons au formulaire de depart. |
$message = ADME_modifierMenuCommun($objet_pear_db, $objet_pear_auth, $_GET['adme_menu_id'], $_POST); |
} |
} |
// Deplace vers le haut de la hierarchie un menu commun |
if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_COMMUN_MONTER) { |
ADME_deplacerMenuCommun($objet_pear_db, $_GET['adme_site_id'], $_GET['adme_menu_id'], true); |
} |
// Deplace vers le bas de la hierarchie un menu commun |
if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_COMMUN_DESCENDRE) { |
ADME_deplacerMenuCommun($objet_pear_db, $_GET['adme_site_id'], $_GET['adme_menu_id'], false); |
} |
// Deplacer le menu vers la gauche (diminuer d'un niveau) |
if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_COMMUN_DIMINUER) { |
ADME_indenterMenuCommun($objet_pear_db, $_GET['adme_site_id'], $_GET['adme_menu_id'], true); |
} |
// Deplacer le menu vers la droite (augmenter d'un niveau) |
if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_COMMUN_AUGMENTER) { |
ADME_indenterMenuCommun($objet_pear_db, $_GET['adme_site_id'], $_GET['adme_menu_id'], false); |
} |
// Traduire le menu |
if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_COMMUN_TRADUIRE) { |
$message=''; |
$message = ADME_verifier_traduction_possible($objet_pear_db, $objet_pear_url, $_GET['adme_site_id'], $_GET['adme_menu_id'], $_POST); |
if ((!empty($message))) { |
// Pas de traduction possible ! |
$sortie_xhtml .= $message; |
$sortie_xhtml .= ADME_afficherFormPrincipal($objet_pear_db, $objet_pear_url, $_GET['adme_site_id'], $_GET['adme_menu_id'], $_GET['adme_action']); |
return $sortie_xhtml; |
} |
else { |
// Les données sont valide. Nous affichons le formulaire de traduction |
$copie_objet_pear_url->addQueryString('adme_site_id',$_GET['adme_site_id']); |
$copie_objet_pear_url->addQueryString('adme_menu_id',$_GET['adme_menu_id']); |
$copie_objet_pear_url->addQueryString('adme_action',ADME_LG_ACTION_COMMUN_TRADUIRE_ACTION); |
header("Location: ".str_replace('&', '&', $copie_objet_pear_url->getUrl())); |
exit; |
} |
} |
if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_COMMUN_TRADUIRE_ACTION) { |
$sortie_xhtml .= ADME_afficherFormMenuCommun($objet_pear_db, $objet_pear_url, $_GET['adme_site_id'], $_GET['adme_menu_id'], $_POST,TRUE); |
return $sortie_xhtml; |
} |
if (isset($_POST[ADME_LG_ACTION_COMMUN_VERIFIER_TRADUCTION])) { |
// Nous cherchons à enregistrer une traduction de menu |
$message = ADME_validerFormTraduireMenuCommun($objet_pear_db, $_POST); |
if (!empty($message)) { |
// Les données ne sont pas valide. Nous retournons le formulaires avec les messages d'erreurs. |
$sortie_xhtml .= $message; |
$sortie_xhtml .= ADME_afficherFormMenuCommun($objet_pear_db, $objet_pear_url, $_GET['adme_menu_id'], $_POST); |
return $sortie_xhtml; |
} else { |
// Les données sont valide. Nous les enregistrons et retournons au formulaire de départ. |
$message = ADME_traduireMenuCommun($objet_pear_db, $objet_pear_auth, $_GET['adme_menu_id'], $_POST); |
} |
} |
// Supprime définitivement un menu commun |
if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_COMMUN_SUPPRIMER) { |
// Récupération du menu de remplacement pour éviter de fermer l'arborescence |
if (GEN_donnerDernierFreres($_GET['adme_menu_id']) == false) { |
$adme_menu_id_remplacement = GEN_lireIdentifiantMenuPere($_GET['adme_menu_id']);; |
} else { |
$adme_menu_id_remplacement = GEN_donnerDernierFreres($_GET['adme_menu_id']); |
} |
// Suppression du menu commun |
ADME_supprimerMenuCommun($objet_pear_db, $_GET['adme_menu_id']); |
// Remplacement de l'id du menu courant par le remplaçant. |
$_GET['adme_menu_id'] = $adme_menu_id_remplacement; |
$copie_objet_pear_url->addQueryString('adme_site_id',$_GET['adme_site_id']); |
header("Location: ".str_replace('&', '&', $copie_objet_pear_url->getUrl())); |
exit; |
} |
// Supprimer le menu traduit |
if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_COMMUN_SUPPRIMER_TRADUCTION) { |
// Suppression du menu commun |
$message = ADME_supprimerMenuCommunTraduction($objet_pear_db, $_GET['adme_site_id'], $_GET['adme_menu_id']); |
$copie_objet_pear_url->addQueryString('adme_site_id',$_GET['adme_site_id']); |
header("Location: ".str_replace('&', '&', $copie_objet_pear_url->getUrl())); |
exit; |
} |
if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_COMMUN_TRADUCTION_DEFAUT) { |
$message = ADME_selectionnerMenuCommunTraduction($objet_pear_db, $_GET['adme_site_id'], $_GET['adme_menu_id']); |
$copie_objet_pear_url->addQueryString('adme_site_id',$_GET['adme_site_id']); |
header("Location: ".str_replace('&', '&', $copie_objet_pear_url->getUrl())); |
exit; |
} |
//--------------------------------------------------------------------------------------------------------------- |
// GESTION DES INTERFACES D'ADMINISTRATION |
// Appel de l'application d'administration |
if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_ADMINISTRER) { |
$id_appli = GEN_retournerIdAppliMenu($objet_pear_db, $_GET['adme_menu_id']); |
$chemin_admin = GEN_retournerCheminInterfaceAdmin($objet_pear_db, $id_appli); |
$nom_admin = GEN_retournerNomInterfaceAdmin($objet_pear_db, $id_appli); |
if ($chemin_admin !== false) { |
include_once $chemin_admin; |
$objet_admin = new $nom_admin; |
if (method_exists($objet_admin, 'afficherContenuCorps')) { |
$retour_admin = $objet_admin->afficherContenuCorps(); |
} |
if ($retour_admin !== false) { |
return $retour_admin; |
} |
} |
} |
//--------------------------------------------------------------------------------------------------------------- |
// Affichage des messages si nécessaire |
if (! empty($message)) { |
$sortie_xhtml .= "\n".'<p class="pap_erreur">'.$message.'</p>'; |
} |
//--------------------------------------------------------------------------------------------------------------- |
// Affichage formulaire principal et retour du XHTML! |
$sortie_xhtml .= ADME_afficherFormPrincipal($objet_pear_db, $objet_pear_url, $_GET['adme_site_id'], $_GET['adme_menu_id'], $_GET['adme_action']); |
return $sortie_xhtml; |
// Fin de l'authentification |
} else { |
// Pas d'authentification nous affichons un message! |
$res=''; |
$res .= '<p class="zone_alert">'.ADME_IDENTIFIEZ_VOUS.'</p>'."\n" ; |
$res .= '<form id="form_connexion" style="clear:both;" class="form_identification" action="' ; |
$res .= $objet_pear_url->getURL(); |
$res .= '" method="post"> |
<fieldset> |
<legend>Identifiez vous</legend> |
<label for="username">Courriel : </label> |
<input type="text" id="username" name="username" maxlength="80" tabindex="1" value="courriel" /> |
<label for="password">Mot de passe : </label> |
<input type="password" id="password" name="password" maxlength="80" tabindex="2" value="mot de passe" /> |
<input type="submit" id="connexion" name="connexion" tabindex="3" value="ok" /> |
</fieldset> |
</form>'; |
return $res ; |
} |
}// Fin de la fonction afficherContenuCorps() |
// +------------------------------------------------------------------------------------------------------+ |
// | PIED du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.28 2007-10-24 14:43:01 ddelon |
* Gestion des menus reservés à une langue |
* |
* Revision 1.27 2007-07-04 14:59:13 florian |
* correction bug maj non prise en charge |
* |
* Revision 1.26 2007/04/19 15:34:35 neiluj |
* préparration release (livraison) "Narmer" - v0.25 |
* |
* Revision 1.25 2006/10/06 10:40:51 florian |
* harmonisation des messages d'erreur de l'authentification |
* |
* Revision 1.24 2006/06/29 19:13:26 ddelon |
* Bug defaut traduction sur menu commun |
* |
* Revision 1.23 2006/06/29 18:58:57 ddelon |
* Multilinguisme : menu par defaut pour les menu commun |
* |
* Revision 1.22 2006/06/28 12:53:34 ddelon |
* Multilinguisme : menu par defaut |
* |
* Revision 1.21 2006/04/12 21:11:54 ddelon |
* Multilinguisme menus communs |
* |
* Revision 1.20 2006/03/23 20:24:58 ddelon |
* *** empty log message *** |
* |
* Revision 1.19 2006/03/02 10:49:49 ddelon |
* Fusion branche multilinguisme dans branche principale |
* |
* Revision 1.18.2.2 2006/02/28 14:02:08 ddelon |
* Finition multilinguisme |
* |
* Revision 1.18.2.1 2005/12/27 15:56:00 ddelon |
* Fusion Head vers multilinguisme (wikini double clic) |
* |
* Revision 1.18 2005/09/23 15:27:17 florian |
* correction de bugs |
* |
* Revision 1.17 2005/07/18 16:14:32 ddelon |
* css admin + menu communs |
* |
* Revision 1.16 2005/07/08 21:13:15 ddelon |
* Gestion indentation menu |
* |
* Revision 1.15 2005/02/28 11:04:25 jpm |
* Modification des auteurs. |
* |
* Revision 1.14 2005/02/28 10:31:41 jpm |
* Changement de nom de dossier. |
* |
* Revision 1.13 2004/11/16 13:01:41 jpm |
* Ajout d'un commentaire. |
* |
* Revision 1.12 2004/11/15 16:51:08 jpm |
* Correction bogue de mise à jour de l'ordre des menus. |
* |
* Revision 1.11 2004/11/10 17:26:18 jpm |
* Fin gestion de la traduction. |
* |
* Revision 1.10 2004/11/10 11:58:58 jpm |
* Mise en place des constantes de traduction de l'appli. |
* |
* Revision 1.9 2004/11/09 17:53:03 jpm |
* Changement des noms des actions sur les menus classiques. |
* |
* Revision 1.8 2004/11/09 17:49:11 jpm |
* Mise en conformité et gestion de différentes interfaces d'administration. |
* |
* Revision 1.7 2004/10/25 16:28:02 jpm |
* Correction convention de codage. |
* |
* Revision 1.6 2004/09/23 17:45:19 jpm |
* Amélioration de la gestion des liens annuler et du selecteur de sites. |
* |
* Revision 1.5 2004/09/23 16:49:24 jpm |
* Correction d'une erreur dans l'url de l'ajout de menu commun. |
* |
* Revision 1.4 2004/07/06 17:24:54 jpm |
* Suppression d'inclusions de fichiers inutiles. |
* |
* Revision 1.3 2004/07/06 17:07:28 jpm |
* Modification de la documentation pour une mailleur analyse par PhpDocumentor. |
* |
* Revision 1.2 2004/06/16 15:06:30 jpm |
* Suppression fichier inutile. |
* |
* Revision 1.1 2004/06/16 15:04:39 jpm |
* Changement de nom de Papyrus en Papyrus. |
* Changement de l'arborescence. |
* |
* Revision 1.26 2004/05/10 14:32:21 jpm |
* Changement du titre. |
* |
* Revision 1.25 2004/05/10 12:13:23 jpm |
* Ajout de la sélection des sites. |
* |
* Revision 1.24 2004/05/07 16:33:05 jpm |
* Intégration de constantes. |
* |
* Revision 1.23 2004/05/07 07:23:53 jpm |
* Amélioration du code, des commentaires et correction de bogues. |
* |
* Revision 1.22 2004/05/05 06:45:44 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.21 2004/05/04 16:27:33 jpm |
* Réduction de code pour la fonction afficherContenuTete(). |
* |
* Revision 1.20 2004/05/03 11:23:26 jpm |
* Début mise en conformité des commentaires. |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v5.0-ouadji/papyrus/applications/admin_menu/configuration/adme_configuration.inc.php |
---|
New file |
0,0 → 1,150 |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// Copyright (C) 1999-2004 Tela Botanica (accueil@tela-botanica.org) |
// |
// Ce logiciel est un programme informatique servant à gérer du contenu et des |
// applications web. |
// Ce logiciel est régi par la licence CeCILL soumise au droit français et |
// respectant les principes de diffusion des logiciels libres. Vous pouvez |
// utiliser, modifier et/ou redistribuer ce programme sous les conditions |
// de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA |
// sur le site "http://www.cecill.info". |
// En contrepartie de l'accessibilité au code source et des droits de copie, |
// de modification et de redistribution accordés par cette licence, il n'est |
// offert aux utilisateurs qu'une garantie limitée. Pour les mêmes raisons, |
// seule une responsabilité restreinte pèse sur l'auteur du programme, le |
// titulaire des droits patrimoniaux et les concédants successifs. |
// A cet égard l'attention de l'utilisateur est attirée sur les risques |
// associés au chargement, à l'utilisation, à la modification et/ou au |
// développement et à la reproduction du logiciel par l'utilisateur étant |
// donné sa spécificité de logiciel libre, qui peut le rendre complexe à |
// manipuler et qui le réserve donc à des développeurs et des professionnels |
// avertis possédant des connaissances informatiques approfondies. Les |
// utilisateurs sont donc invités à charger et tester l'adéquation du |
// logiciel à leurs besoins dans des conditions permettant d'assurer la |
// sécurité de leurs systèmes et ou de leurs données et, plus généralement, |
// à l'utiliser et l'exploiter dans les mêmes conditions de sécurité. |
// Le fait que vous puissiez accéder à cet en-tête signifie que vous avez |
// pris connaissance de la licence CeCILL, et que vous en avez accepté les |
// termes. |
// ---- |
// CVS : $Id: adme_configuration.inc.php,v 1.6 2006-06-28 12:53:34 ddelon 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 Admin_menu |
*@subpackage Configuration |
//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.6 $ $Date: 2006-06-28 12:53:34 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTETE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/** Constante stockant la valeur de la langue par défaut pour l'appli ADME.*/ |
define('ADME_I18N_DEFAUT', GEN_I18N_ID_DEFAUT); |
// Chemin des fichiers à inclure. |
/** Chemin vers la bibliothèque PEAR.*/ |
define('ADME_CHEMIN_BIBLIOTHEQUE_PEAR', ''); |
/** Chemin vers la bibliothèque API.*/ |
define('ADME_CHEMIN_BIBLIOTHEQUE_API', GEN_CHEMIN_API); |
/** Chemin vers la bibliothèque de Papyrus.*/ |
define('ADME_CHEMIN_BIBLIOTHEQUE_GEN', GEN_CHEMIN_BIBLIO); |
// Chemin vers les dossiers de l'application |
/** Chemin vers l'application Admin Menus de Papyrus.*/ |
define('ADME_CHEMIN_APPLICATION', GEN_CHEMIN_APPLICATION.'admin_menu/'); |
/** Chemin vers les images de l'application Admin Menus de Papyrus.*/ |
define('ADME_CHEMIN_IMAGE_INTERFACE', ADME_CHEMIN_APPLICATION.'presentations/images/interface/'); |
/** Chemin vers la bibliothèque de l'application Admin Menus de Papyrus.*/ |
define('ADME_CHEMIN_BIBLIOTHEQUE_ADME', ADME_CHEMIN_APPLICATION.'bibliotheque/'); |
/** Chemin vers les fichiers de traduction de l'application Admin Menus de Papyrus.*/ |
define('ADME_CHEMIN_LANGUE', ADME_CHEMIN_APPLICATION.'langues/'); |
/** Chemin vers les styles de l'application Admin Menus de Papyrus.*/ |
define('ADME_CHEMIN_STYLE', ADME_CHEMIN_APPLICATION.'presentations/styles/'); |
// Chemin vers le dossier contenant les images des drapeaux des pays |
/** Chemin vers le dossier contenant les images i18n l'application Admin Menus de Papyrus.*/ |
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 |
/** Chemin vers l'image ouvrir une branche.*/ |
define('ADME_IMAGE_PLUS', ADME_CHEMIN_IMAGE_INTERFACE.'adme_ouvrir.png'); |
/** Chemin vers l'image fermer une branche.*/ |
define('ADME_IMAGE_MOINS', ADME_CHEMIN_IMAGE_INTERFACE.'adme_fermer.png'); |
/** Chemin vers l'image voir la définition d'un menu.*/ |
define('ADME_IMAGE_VOIR', ADME_CHEMIN_IMAGE_INTERFACE.'adme_modifier.png'); |
/** Chemin vers l'image monter un menu.*/ |
define('ADME_IMAGE_FLECHE_HAUT', ADME_CHEMIN_IMAGE_INTERFACE.'adme_monter.png'); |
/** Chemin vers l'image descendre un menu.*/ |
define('ADME_IMAGE_FLECHE_BAS', ADME_CHEMIN_IMAGE_INTERFACE.'adme_descendre.png'); |
/** Chemin vers l'image diminuer un menu.*/ |
define('ADME_IMAGE_FLECHE_GAUCHE', ADME_CHEMIN_IMAGE_INTERFACE.'adme_diminuer.png'); |
/** Chemin vers l'image augmenter un menu.*/ |
define('ADME_IMAGE_FLECHE_DROITE', ADME_CHEMIN_IMAGE_INTERFACE.'adme_augmenter.png'); |
/** Chemin vers l'image supprimer un menu.*/ |
define('ADME_IMAGE_SUPPRIMER', ADME_CHEMIN_IMAGE_INTERFACE.'adme_supprimer.png'); |
/** Chemin vers l'image ajouter un menu.*/ |
define('ADME_IMAGE_NOUVEAU', ADME_CHEMIN_IMAGE_INTERFACE.'adme_ajouter.png'); |
/** Chemin vers l'image accéder à l'interface d'administration de l'application du menu courant.*/ |
define('ADME_IMAGE_TEXTE', ADME_CHEMIN_IMAGE_INTERFACE.'adme_administrer.png'); |
/** Chemin vers l'image choix d'une traduction par défaut */ |
define('ADME_IMAGE_TRADUCTION_DEFAUT',ADME_CHEMIN_IMAGE_INTERFACE.'adme_radio_off.png'); |
/** Chemin vers l'image traduction par défaut */ |
define('ADME_IMAGE_TRADUCTION_DEFAUT_AFFICHAGE',ADME_CHEMIN_IMAGE_INTERFACE.'adme_radio_on.png'); |
// Nom des classes des images |
/** Constante stockant le nom de la classe des fichiers icônes de 16x16px de ADME.*/ |
define('ADME_CLASS_IMG_ICONE', 'adme_img_icone'); |
/** Constante stockant le nom de la classe des fichiers plier-déplier de 9x9px de ADME.*/ |
define('ADME_CLASS_IMG_PD', 'adme_img_plier_deplier'); |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.5 2005/07/08 21:13:15 ddelon |
* Gestion indentation menu |
* |
* Revision 1.4 2004/11/09 13:00:06 jpm |
* Changement de noms des images. |
* |
* Revision 1.3 2004/11/09 12:51:16 jpm |
* Ajout de commentaires. |
* |
* Revision 1.2 2004/07/06 17:07:42 jpm |
* Modification de la documentation pour une mailleur analyse par PhpDocumentor. |
* |
* Revision 1.1 2004/06/16 14:39:44 jpm |
* Changement de nom de Génésia en Papyrus. |
* Changement de l'arborescence. |
* |
* 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 ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v5.0-ouadji/papyrus/applications/admin_menu/bibliotheque/adme_menu_commun.fonct.php |
---|
New file |
0,0 → 1,1646 |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// +------------------------------------------------------------------------------------------------------+ |
// | PHP version 4.1 | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) | |
// +------------------------------------------------------------------------------------------------------+ |
// | This file is part of Papyrus. | |
// | | |
// | Foobar is free software; you can redistribute it and/or modify | |
// | it under the terms of the GNU General Public License as published by | |
// | the Free Software Foundation; either version 2 of the License, or | |
// | (at your option) any later version. | |
// | | |
// | Foobar is distributed in the hope that it will be useful, | |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
// | GNU General Public License for more details. | |
// | | |
// | You should have received a copy of the GNU General Public License | |
// | along with Foobar; if not, write to the Free Software | |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
// +------------------------------------------------------------------------------------------------------+ |
// CVS : $Id: adme_menu_commun.fonct.php,v 1.28 2007-10-24 14:43:02 ddelon Exp $ |
/** |
* Application de gestion des menus communs |
* |
* Permet de lister, d'ajouter, de modifier, et de déplacer des menus communs. |
* Par menus communs, nous entendons tous les menus devant paraitre sur l'ensemble des pages de plusieurs site, |
* comme le lien vers le plan du site, le lien vers la charte d'accessibilité, le flux rss... |
* |
*@package Admin_menu |
*@subpackage Fonctions |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Alexandre GRANIER <alexandre@tela-botanica.org> |
*@author David Delon <david.delon@clapas.net> |
*@author Laurent COUDOUNEAU <lc@gsite.org> |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.28 $ $Date: 2007-10-24 14:43:02 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// +------------------------------------------------------------------------------------------------------+ |
// | LISTE de FONCTIONS | |
// +------------------------------------------------------------------------------------------------------+ |
/** Fonction ADME_afficherListeMenuCommun () - Affiche un arbre de menu en xhtml |
* |
* Elle forme l'arbre des menus communs à administrer. |
* Ancien nom : deployer_menu(). |
* |
* @param object objet Pear de connection à la base de données. |
* @param object objet Pear représentant l'url de base. |
* @param integer l'identifiant du menu à administrer. |
* @param integer l'identifiant du menu sur lequel on agit. |
* @param string le nom de l'action courante. |
* @param integer l'identifiant du menu en cours de déploiement. |
* @param boolean true indique que l'on a à faire au premier appel de cette fonction récursive. |
* @return string le code XHTML constituant l'arbre des menus à administrer. |
*/ |
function ADME_afficherListeMenuCommun($db, $url, $adme_site_id, $adme_menu_id, $adme_action, $id_menu_a_deployer, $bln_premier_appel = true) |
{ |
// Initialisation des variables : |
$retour = ''; |
// Est-ce que ces menus comporte des sous-menus ? |
$requete_sous_menu = 'SELECT gm_id_menu '. |
'FROM gen_menu, gen_menu_relation AS GMR01, gen_menu_relation AS GMR02 '. |
'WHERE GMR01.gmr_id_menu_02 = '.$id_menu_a_deployer.' '. |
'AND GMR01.gmr_id_menu_01 = gm_id_menu '. |
//'AND gm_ce_site = '.$adme_site_id.' '. |
'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 = 102 '.// 102 = type "menu commun" |
'ORDER BY GMR01.gmr_ordre ASC'; |
$resultat_sous_menu = $db->query($requete_sous_menu) ; |
if (DB::isError($resultat_sous_menu)) { |
die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_sous_menu->getMessage(), $requete_sous_menu)); |
} |
// Gestion du stockage ou déstockage des menus ouverts |
if (($adme_action == ADME_LG_ACTION_DEPLIER || $adme_action == ADME_LG_ACTION_COMMUN_AJOUTER) && $id_menu_a_deployer != 0) { |
$_SESSION['adme_menus_communs_ouverts'][$adme_menu_id] = $adme_menu_id; |
} |
if ($adme_action == ADME_LG_ACTION_PLIER && $id_menu_a_deployer != 0) { |
unset($_SESSION['adme_menus_communs_ouverts'][$adme_menu_id]); |
foreach ($_SESSION['adme_menus_communs_ouverts'] as $val) { |
if (GEN_etreAncetre($adme_menu_id, $val)) { |
unset($_SESSION['adme_menus_communs_ouverts'][$val]); |
} |
} |
} |
// Gestion affichage des menus |
if ($resultat_sous_menu->numRows() > 0) { |
// Ici, on sait qu'un menu a des sous menus, on commence par l'afficher: |
if ($bln_premier_appel == false) { |
$retour .= '<li>'."\n"; |
if (GEN_etreAncetre($id_menu_a_deployer, $adme_menu_id) || |
($id_menu_a_deployer == $adme_menu_id && $adme_action == ADME_LG_ACTION_DEPLIER) || |
isset($_SESSION['adme_menus_communs_ouverts'][$id_menu_a_deployer]) |
){ |
// Affiche un - |
$retour .= ADME_retournerXhtmlMenuCommun($db, $url, $adme_site_id, $id_menu_a_deployer, 1); |
} else if ( !GEN_etreAncetre($id_menu_a_deployer, $adme_menu_id) || |
($id_menu_a_deployer == $adme_menu_id && $adme_action == ADME_LG_ACTION_PLIER) || |
!isset($_SESSION['adme_menus_communs_ouverts'][$id_menu_a_deployer]) |
){ |
// Affiche un + |
$retour .= ADME_retournerXhtmlMenuCommun($db, $url, $adme_site_id, $id_menu_a_deployer, 2); |
} |
} |
if ($bln_premier_appel == true || GEN_etreAncetre($id_menu_a_deployer, $adme_menu_id) || |
($id_menu_a_deployer == $adme_menu_id && $adme_action == ADME_LG_ACTION_DEPLIER) || |
isset($_SESSION['adme_menus_communs_ouverts'][$id_menu_a_deployer]) |
){ |
$retour .= '<ul class="menu_commun">'."\n"; |
while ($ligne_sous_menu = $resultat_sous_menu->fetchRow(DB_FETCHMODE_OBJECT)) { |
$retour .= ADME_afficherListeMenuCommun($db, $url, $adme_site_id, $adme_menu_id, $adme_action, $ligne_sous_menu->gm_id_menu, false); |
} |
$retour .= '</ul>'."\n"; |
} |
if ($bln_premier_appel == false) { |
$retour .= '</li>'."\n"; |
} |
} else if ($resultat_sous_menu->numRows() == 0 && $bln_premier_appel == false) { |
$retour .= '<li>'."\n"; |
$retour .= ADME_retournerXhtmlMenuCommun($db, $url, $adme_site_id, $id_menu_a_deployer, 0); |
$retour .= '</li>'."\n"; |
} |
return $retour; |
} |
/** Fonction ADME_retournerXhtmlMenuCommun() - Effectue une sortie d'un menu en XHTML |
* |
* Retourne le XHTML d'une ligne de l'arbre des menus communs permettant de l'administer. |
* Ancien nom : menu_toHtml(). |
* |
* @param object objet Pear de connection à la base de données. |
* @param object objet Pear représentant l'url de base. |
* @param integer l'identifiant du site à administrer. |
* @param integer l'identifiant du menu à administrer. |
* @param integer 0 indique que le menu ne possède pas de fils, 1 qu'il faut afficher un - et 2 un +. |
* @return string une ligne de liste XHTML |
*/ |
function ADME_retournerXhtmlMenuCommun($db, $url, $adme_site_id, $adme_menu_id, $int_deplier,$est_traduction=false,$menu_traduction_defaut=0) |
{ |
//------------------------------------------------------------------------------------------------------------------- |
// Récupération des infos concernant l'administrateur d'un menu |
$requete = 'SELECT gen_menu.*, ga_prenom '. |
'FROM gen_menu, gen_annuaire '. |
'WHERE gm_id_menu = '.$adme_menu_id.' '. |
'AND gm_ce_admin = ga_id_administrateur'; |
$resultat = $db->query($requete); |
if (DB::isError($resultat)) { |
die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)); |
} |
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT); |
//------------------------------------------------------------------------------------------------------------------- |
// Recupération des infos de l'appli du menu courant. |
$ligne_app = GEN_retournerInfoAppliMenu($db, $adme_menu_id); |
//------------------------------------------------------------------------------------------------------------------- |
// XHTML image plier-déplier |
$url->addQueryString('adme_site_id', $adme_site_id); |
$url->addQueryString('adme_menu_id', $adme_menu_id); |
$xhtml_pd = ''; |
if ($int_deplier != 0) { |
if ($int_deplier == 1) { |
// Afficher un - |
$image_plier_deplier = ADME_IMAGE_MOINS; |
$alt = ADME_LG_ACTION_PLIER_ALT; |
$url->addQueryString('adme_action', ADME_LG_ACTION_PLIER); |
$url_plier_deplier = $url->getURL(); |
} else if ($int_deplier == 2) { |
// Afficher un + |
$image_plier_deplier = ADME_IMAGE_PLUS; |
$alt = ADME_LG_ACTION_DEPLIER_ALT; |
$url->addQueryString('adme_action', ADME_LG_ACTION_DEPLIER); |
$url_plier_deplier = $url->getURL(); |
} |
$xhtml_pd = '<a href="'.$url_plier_deplier.'" title="'.$alt.'">'. |
'<img class="'.ADME_CLASS_IMG_PD.'" src="'.$image_plier_deplier.'" alt="'.$alt.'" />'. |
'</a>'.' '."\n"; |
} |
$xhtml_info=''; |
//------------------------------------------------------------------------------------------------------------------- |
// XHTML du nom du menu et de ses infos |
$xhtml_info .= htmlentities(empty($ligne->gm_nom) ? ADME_LG_PARENTHESE_OUVRANTE.$ligne->gm_nom.ADME_LG_PARENTHESE_FERMANTE : $ligne->gm_nom); |
$xhtml_info .= ' '; |
$xhtml_info .= ADME_LG_PARENTHESE_OUVRANTE.$ligne_app->gap_nom.' '.ADME_LG_SLASH.' '.$ligne->ga_prenom.ADME_LG_PARENTHESE_FERMANTE; |
$xhtml_info .= ' '."\n"; |
//------------------------------------------------------------------------------------------------------------------- |
// XHTML actions |
$url->removeQueryString('adme_action'); |
$url->addQueryString('adme_action', ADME_LG_ACTION_COMMUN_MODIFIER); |
$xhtml_action = '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_COMMUN_MODIFIER_TITLE.'">'. |
'<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_VOIR.'" alt="'.ADME_LG_ACTION_COMMUN_MODIFIER_ALT.'" />'. |
'</a> '."\n"; |
$url->removeQueryString('adme_action'); |
if (!$est_traduction) { |
$url->addQueryString('adme_action', ADME_LG_ACTION_COMMUN_MONTER); |
$xhtml_action .= '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_COMMUN_MONTER_TITLE.'">'. |
'<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_FLECHE_HAUT.'" alt="'.ADME_LG_ACTION_COMMUN_MONTER_ALT.'" />'. |
'</a> '."\n"; |
$url->removeQueryString('adme_action'); |
$url->addQueryString('adme_action', ADME_LG_ACTION_COMMUN_DESCENDRE); |
$xhtml_action .= '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_COMMUN_DESCENDRE_TITLE.'">'. |
'<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_FLECHE_BAS.'" alt="'.ADME_LG_ACTION_COMMUN_DESCENDRE_ALT.'" />'. |
'</a> '."\n"; |
$url->addQueryString('adme_action',ADME_LG_ACTION_COMMUN_DIMINUER); |
$xhtml_action .= '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_COMMUN_DIMINUER_TITLE.'">'. |
'<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_FLECHE_GAUCHE.'" alt="'.ADME_LG_ACTION_COMMUN_DIMINUER_ALT.'" />'. |
'</a> '."\n"; |
$url->removeQueryString('adme_action'); |
$url->addQueryString('adme_action',ADME_LG_ACTION_COMMUN_AUGMENTER); |
$xhtml_action .= '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_COMMUN_AUGMENTER_TITLE.'">'. |
'<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_FLECHE_DROITE.'" alt="'.ADME_LG_ACTION_COMMUN_AUGMENTER_ALT.'" />'. |
'</a> '."\n"; |
} |
$url->removeQueryString('adme_action'); |
if (!$est_traduction) { |
$url->addQueryString('adme_action', ADME_LG_ACTION_COMMUN_SUPPRIMER); |
$xhtml_action .= '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_COMMUN_SUPPRIMER_TITLE.'" onclick="javascript:return confirm(\''.ADME_LG_ACTION_SUPPRIMER_CONFIRMATION.'\');">'. |
'<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_SUPPRIMER.'" alt="'.ADME_LG_ACTION_COMMUN_SUPPRIMER_ALT.'" />'. |
'</a> '."\n"; |
} |
else { |
$url->addQueryString('adme_action', ADME_LG_ACTION_COMMUN_SUPPRIMER_TRADUCTION); |
$xhtml_action .= '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_COMMUN_SUPPRIMER_TRADUCTION_TITLE.'" onclick="javascript:return confirm(\''.ADME_LG_ACTION_SUPPRIMER_CONFIRMATION.'\');">'. |
'<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_SUPPRIMER.'" alt="'.ADME_LG_ACTION_COMMUN_SUPPRIMER_TRADUCTION_ALT.'" />'. |
'</a> '."\n"; |
} |
$url->removeQueryString('adme_action'); |
if (!$est_traduction) { |
$url->addQueryString('adme_action', ADME_LG_ACTION_COMMUN_AJOUTER); |
$xhtml_action .= '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_COMMUN_AJOUTER_TITLE.'">'. |
'<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_NOUVEAU.'" alt="'.ADME_LG_ACTION_COMMUN_AJOUTER_ALT.'" />'. |
'</a>'.' '."\n"; |
} |
$url->removeQueryString('adme_action'); |
// Si l'application liée est "texte simple", on ajoute un icone avec un lien vers |
// l'administration de cette application. |
if ($ligne_app->gap_id_application != 0 && GEN_verifierPresenceInterfaceAdmin($db, $ligne_app->gap_id_application)) { // l'appli afficheur a pour id 3 |
$url->removeQueryString('adme_action'); |
$url->addQueryString('adme_action', ADME_LG_ACTION_ADMINISTRER); |
$xhtml_action .= '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_ADMINISTRER_TITLE.'">'. |
'<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_TEXTE.'" alt="'.ADME_LG_ACTION_ADMINISTRER_ALT.'" />'. |
'</a>'.' '."\n"; |
} |
if (!$est_traduction) { |
$url->addQueryString('adme_action',ADME_LG_ACTION_COMMUN_TRADUIRE); |
$xhtml_action .= '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_COMMUN_TRADUIRE_TITLE.'">'. |
ADME_LG_ACTION_COMMUN_TRADUIRE_ALT. |
'</a> '."\n"; |
} |
else { |
if ($menu_traduction_defaut==$adme_menu_id) { |
$xhtml_action .= '<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_TRADUCTION_DEFAUT_AFFICHAGE.'" alt="'.ADME_LG_ACTION_COMMUN_TRADUCTION_DEFAUT_ALT.'" />'. |
' '."\n"; |
} |
else { |
$url->removeQueryString('adme_action'); |
$url->addQueryString('adme_action', ADME_LG_ACTION_COMMUN_TRADUCTION_DEFAUT); |
$xhtml_action .= '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_COMMUN_TRADUCTION_DEFAUT_TITLE.'">'. |
'<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_TRADUCTION_DEFAUT.'" alt="'.ADME_LG_ACTION_COMMUN_TRADUCTION_DEFAUT_ALT.'" />'. |
'</a>'.' '."\n"; |
} |
} |
$xhtml_traduction=''; |
// $id_langue = $GLOBALS['_GEN_commun']['i18n']; |
$requete_traduction = 'SELECT gmr_id_menu_02, gm_ce_i18n '. |
'FROM gen_menu_relation, gen_menu '. |
'WHERE '.$adme_menu_id.' = gmr_id_menu_01 ' . |
'AND gmr_id_menu_02 = gm_id_menu '. |
'AND gmr_id_valeur = 2 ';// 2 = "avoir traduction" |
$resultat_traduction = $db->query($requete_traduction); |
(DB::isError($resultat_traduction)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_traduction->getMessage(), $requete_traduction)) |
: ''; |
if ($resultat_traduction->numRows() > 0 ) { |
$requete_traduction_defaut = 'SELECT gmr_id_menu_02 '. |
'FROM gen_menu_relation '. |
'WHERE '.$adme_menu_id.' = gmr_id_menu_01 ' . |
'AND gmr_id_valeur = 105 ';// 105 traduction par defaut |
$resultat_traduction_defaut = $db->query($requete_traduction_defaut); |
(DB::isError($resultat_traduction_defaut)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_traduction->getMessage(), $requete_traduction_defaut)) |
: ''; |
if ($resultat_traduction_defaut->numRows() == 0 ) { |
$menu_traduction_defaut=0; |
$xhtml_action .= '<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_TRADUCTION_DEFAUT_AFFICHAGE.'" alt="'.ADME_LG_ACTION_COMMUN_TRADUCTION_DEFAUT_ALT.'" />'. |
' '."\n"; |
} |
else { |
$ligne_traduction_defaut = $resultat_traduction_defaut->fetchRow(DB_FETCHMODE_OBJECT); |
$menu_traduction_defaut=$ligne_traduction_defaut->gmr_id_menu_02; |
if ($menu_traduction_defaut!=$adme_menu_id) { |
$url->removeQueryString('adme_action'); |
$url->addQueryString('adme_action', ADME_LG_ACTION_COMMUN_TRADUCTION_DEFAUT); |
$xhtml_action .= '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_COMMUN_TRADUCTION_DEFAUT_TITLE.'">'. |
'<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_TRADUCTION_DEFAUT.'" alt="'.ADME_LG_ACTION_COMMUN_TRADUCTION_DEFAUT_ALT.'" />'. |
'</a>'.' '."\n"; |
} |
else { |
$xhtml_action .= '<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_TRADUCTION_DEFAUT_AFFICHAGE.'" alt="'.ADME_LG_ACTION_COMMUN_TRADUCTION_DEFAUT_ALT.'" />'. |
' '."\n"; |
} |
} |
while ($ligne_resultat = $resultat_traduction->fetchRow(DB_FETCHMODE_OBJECT)) { |
$xhtml_traduction.="<br><em>".$ligne_resultat->gm_ce_i18n.": ".ADME_retournerXhtmlMenuCommun($db, $url, $adme_site_id, $ligne_resultat->gmr_id_menu_02, 0,true,$menu_traduction_defaut)."</em>"; |
} |
} |
//------------------------------------------------------------------------------------------------------------------- |
// Envoi du menu. |
$retour = $xhtml_pd.$xhtml_info.$xhtml_action.$xhtml_traduction; |
return $retour; |
} |
/** Fonction ADME_ajouterMenuCommun() - Ajoute un sous menu commun au menu commun courant |
* |
* Fonction ajoutant un menu commun à Papyrus. |
* |
* @param object objet Pear de connection à la base de données. |
* @param object objet Pear représentant l'authentification. |
* @param integer l'identifiant du site à administrer. |
* @param integer l'identifiant du menu à administrer. |
* @return void les changement sont fait dans la base de données. |
*/ |
function ADME_ajouterMenuCommun($db, $auth, $adme_site_id, $adme_menu_id) |
{ |
//---------------------------------------------------------------------------- |
// Récupération d'infos sur le nouveau menu |
$objet_site = GEN_lireInfoSitePrincipal($db, $adme_site_id); |
if ($objet_site == false) { |
die('ERREUR Génésia Administrateur de Menus : '.ADME_LG_ERREUR_INFO_SITE.'<br />'. |
'ID du site : '.$adme_site_id.'<br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br />'); |
} |
$nouveau_id_menu = SQL_obtenirNouveauId($db, 'gen_menu', 'gm_id_menu'); |
$auteur = $auth->getAuthData('ga_prenom').' '.$auth->getAuthData('ga_nom'); |
//---------------------------------------------------------------------------- |
// Ajout du nouveau menu |
$requete = 'INSERT INTO gen_menu '. |
'SET gm_id_menu = '.$nouveau_id_menu.', '. |
'gm_ce_site = 0, '. |
'gm_ce_i18n = "'.$objet_site->gs_ce_i18n.'", '. |
'gm_ce_application = 0, '. |
'gm_code_num = '.$nouveau_id_menu.', '. |
'gm_code_alpha = "menu_commun_'.$nouveau_id_menu.'", '. |
'gm_nom = "menu_commun_'.$nouveau_id_menu.'", '. |
'gm_titre = "menu_commun_'.$nouveau_id_menu.'", '. |
'gm_description_resume = "menu_commun_'.$nouveau_id_menu.'", '. |
'gm_auteur = "'.$auteur.'", '. |
'gm_date_creation = "'.date('Y-m-d H:i:s').'", '. |
'gm_date_soumission = "'.date('Y-m-d H:i:s').'", '. |
'gm_date_acceptation = "'.date('Y-m-d H:i:s').'", '. |
'gm_date_publication = "'.date('Y-m-d H:i:s').'", '. |
'gm_date_debut_validite = "'.date('Y-m-d H:i:s').'", '. |
'gm_date_fin_validite = "0000-00-00 00:00:00", '. |
'gm_date_copyright = "'.date('Y-00-00 00:00:00').'", '. |
'gm_categorie = "menu", '. |
'gm_ce_admin = '.$auth->getAuthData('ga_id_administrateur').' ' |
; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
//---------------------------------------------------------------------------- |
// Ajout de la relation "père" |
if (!isset($adme_menu_id) && empty($adme_menu_id)) { |
$adme_menu_id = 0 ;// Identifiant du père |
} |
//---------------------------------------------------------------------------- |
// Récupération d'infos sur la hierarchie du menu |
$requete = 'SELECT GMR01.gmr_ordre '. |
'FROM gen_menu_relation AS GMR01, gen_menu_relation AS GMR02 '. |
'WHERE GMR01.gmr_id_menu_02 = '.$adme_menu_id.' '. |
'AND GMR01.gmr_id_valeur = 1 '.// 1 = avoir "père" |
'AND GMR02.gmr_id_menu_01 = GMR01.gmr_id_menu_01 '. |
'AND GMR02.gmr_id_menu_01 = GMR02.gmr_id_menu_02 '. |
'AND GMR02.gmr_id_valeur = 102 '.// 102 = menu type "commun" |
'ORDER BY GMR01.gmr_ordre DESC'; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
if ($resultat->numRows()>0) { |
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT); |
$nouveau_ordre_menu = $ligne->gmr_ordre + 1; |
} |
else { |
$nouveau_ordre_menu=1; |
} |
$resultat->free(); |
$requete = 'INSERT INTO gen_menu_relation '. |
'SET gmr_id_menu_02 = '.$adme_menu_id.', '. |
'gmr_id_menu_01 = '.$nouveau_id_menu.', '. |
'gmr_id_valeur = 1, '. |
'gmr_ordre = '.$nouveau_ordre_menu; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
//---------------------------------------------------------------------------- |
// Ajout de la relation-type "commun" |
// Récupération d'infos sur la hierarchie du menu |
$requete = 'SELECT * '. |
'FROM gen_menu_relation, gen_menu '. |
'WHERE gmr_id_menu_02 = gmr_id_menu_01 '. |
'AND gmr_id_valeur = 102 '.// 102 = type "commun" |
'AND gmr_id_menu_01 = gm_id_menu '. |
'AND gm_ce_site = 0 '.// un menu commun n'a pas de site lié! |
'ORDER BY gmr_ordre DESC'; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
if ($resultat->numRows()>0) { |
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT); |
$nouveau_ordre_commun = $ligne->gmr_ordre + 1; |
} |
else { |
$nouveau_ordre_commun = 0; |
} |
$resultat->free(); |
$requete = 'INSERT INTO gen_menu_relation '. |
'SET gmr_id_menu_01 = '.$nouveau_id_menu.', '. |
'gmr_id_menu_02 = '.$nouveau_id_menu.', '. |
'gmr_id_valeur = 102, '. |
'gmr_ordre = '.$nouveau_ordre_commun; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
} |
/** Fonction ADME_afficherFormMenuCommun() - Affiche le formulaire pour un menu commun. |
* |
* Utilise HTML_QuickForm pour générer le formulaire. |
* Ancien nom : showUpper(). |
* |
* @param object objet Pear de connection à la base de données. |
* @param object objet Pear représentant l'url de base. |
* @param integer l'identifiant du site à administrer. |
* @param integer l'identifiant du menu à administrer. |
* @param array le tableau associatif des valeurs à afficher dans le formulaire. |
* @return string le formulaire XHTML. |
*/ |
function ADME_afficherFormMenuCommun($db, $url, $adme_site_id, $adme_menu_id, $aso_valeurs,$traduction=FALSE) |
{ |
// Initialisation de variable |
$url->addQueryString('adme_site_id', $adme_site_id); |
$url->addQueryString('adme_menu_id', $adme_menu_id); |
// Récupération des informations du menu concerné. |
if (!isset($aso_valeurs[ADME_LG_ACTION_COMMUN_VERIFIER]) && !isset($aso_valeurs[ADME_LG_ACTION_COMMUN_VERIFIER_TRADUCTION])) { |
$aso_valeurs = GEN_lireInfoMenu($db, $adme_menu_id, DB_FETCHMODE_ASSOC); |
if ($aso_valeurs === false) { |
die('ERREUR Papyrus Administrateur de Menus : '.ADME_LG_ERREUR_INFO_MENU.'<br />'. |
'Idenitifiant du menu n° : '. $adme_menu_id .'<br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br />'); |
} |
} |
// Titre de la page |
if ($traduction) { |
$retour = '<h1>'.ADME_LG_FORM_MENU_COMMUN_TITRE_GENERAL_TRADUCTION.'</h1>'."\n"; |
} |
else { |
$retour = '<h1>'.ADME_LG_FORM_MENU_COMMUN_TITRE_GENERAL.'</h1>'."\n"; |
} |
$retour .= '<p class="adme_menu_id" >'.ADME_LG_FORM_MENU_ID.'<span id="adme_menu_id">'.$aso_valeurs['gm_id_menu'].'</span></p>'."\n"; |
// Création du formulaire |
// Notes : Quickform semble remplacer les & des & à nouveau par des & solution utiliser str_replace()... |
$form =& new HTML_QuickForm('form_menu_commun', 'post', str_replace('&', '&', $url->getUrl())); |
$tab_index = 1000; |
$squelette =& $form->defaultRenderer(); |
$squelette->setFormTemplate("\n".'<form{attributes}>'."\n"."\n".'{content}'."\n"."\n".'</form>'."\n"); |
$squelette->setElementTemplate( '<li>'."\n". |
'{label}'."\n". |
'{element}'."\n". |
'<!-- BEGIN required --><span class="symbole_obligatoire">'.ADME_LG_FORM_SYMBOLE_CHP_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">'.ADME_LG_FORM_SYMBOLE_CHP_OBLIGATOIRE.'</span> {requiredNote}</p>'."\n"); |
$partie_menu_debut = '<fieldset>'."\n".'<legend>'.ADME_LG_FORM_MENU_COMMUN_TITRE_CONFIG.'</legend>'."\n".'<ul>'."\n"; |
$form->addElement('html', $partie_menu_debut); |
$id = 'gm_code_num'; |
$aso_attributs = array('id'=>$id, 'tabindex' => $tab_index++, 'size' => 5, 'maxlength' => 5); |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_CODE_NUM.'</label>'; |
$form->addElement('text', $id, $label, $aso_attributs); |
$form->addRule($id, ADME_LG_FORM_MENU_REGLE_CODE_NUM, 'required', '', 'client'); |
$id = 'gm_code_alpha'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 50, 'maxlength' => 50); |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_CODE_ALPHA.'</label>'; |
$form->addElement('text', $id, $label, $aso_attributs); |
$form->addRule($id, ADME_LG_FORM_MENU_REGLE_CODE_ALPHA, 'required', '', 'client'); |
$id = 'gm_nom'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 50, 'maxlength' => 100); |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_NOM.'</label>'; |
$form->addElement('text', $id, $label, $aso_attributs); |
$form->addRule($id, ADME_LG_FORM_MENU_REGLE_NOM, 'required', '', 'client'); |
$form->applyFilter($id, 'trim'); |
$id = 'gm_raccourci_clavier'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 1, 'maxlength' => 1); |
$label = '<label for="'.$id.'">'.'Raccourci clavier'.'</label>'; |
$form->addElement('text', $id, $label, $aso_attributs); |
$id = 'gm_fichier_squelette'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 50, 'maxlength' => 255); |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_FICHIER_SQUELETTE.'</label>'; |
$form->addElement('text', $id, $label, $aso_attributs); |
$id = 'gm_description_resume'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'rows' => 2, 'cols' => 50); |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_INFO_BULLE.'</label>'; |
$form->addElement('textarea', $id, $label, $aso_attributs); |
$form->addRule($id, ADME_LG_FORM_MENU_REGLE_INFO_BULLE, 'required', '', 'client'); |
// Requête sur les applications |
$requete = 'SELECT gap_id_application, gap_nom '. |
'FROM gen_application '. |
'WHERE gap_bool_applette = 0 '. |
'ORDER BY gap_nom ASC';// Pour éviter d'afficher les applettes. |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
$aso_options = array(); |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) { |
$aso_options[$ligne->gap_id_application] = $ligne->gap_nom; |
} |
$resultat->free(); |
$id = 'gm_ce_application'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++); |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_APPLI.'</label>'; |
$form->addElement('select', $id, $label, $aso_options, $aso_attributs); |
if ($traduction) { |
// Recherche liste des menu deja traduits |
$requete = 'SELECT distinct gm_ce_i18n '. |
'FROM gen_menu_relation, gen_menu '. |
'WHERE gmr_id_menu_01 = ' . $adme_menu_id .' '. |
'AND gm_id_menu = gmr_id_menu_02 '. |
'AND gmr_id_valeur = 2 '; // 2 = "avoir traduction" |
$resultat = $db->query($requete) ; |
if (DB::isError($resultat)) { |
die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) ); |
} |
$not_in_langue=''; |
if ( $resultat->numRows() == 0 ) { |
$not_in_langue="gi_id_i18n not in('".$aso_valeurs['gm_ce_i18n']."')"; |
} |
else { |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) { |
$not_in_langue="'".$ligne->gm_ce_i18n."'".",".$not_in_langue; |
$end="'".$ligne->gm_ce_i18n."'"; |
} |
if ($not_in_langue) { |
$not_in_langue="'".$aso_valeurs['gm_ce_i18n']."'".",".$not_in_langue; |
$not_in_langue=' gi_id_i18n not in('.$not_in_langue.$end.')'; |
} |
else { |
$not_in_langue="gi_id_i18n not in('".$aso_valeurs['gm_ce_i18n']."')"; |
} |
} |
$resultat->free(); |
$requete = "SELECT * FROM gen_i18n where ".$not_in_langue; |
/*$requete = 'SELECT * '. |
'FROM gen_i18n ';*/ |
$resultat = $db->query($requete); |
(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); |
} |
$id = 'gm_application_arguments'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 45, 'maxlength' => 255); |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_APPLI_ARGUMENT.'</label>'; |
$form->addElement('text', $id, $label, $aso_attributs); |
$partie_menu_fin = '</ul>'."\n".'</fieldset>'."\n"; |
$form->addElement('html', $partie_menu_fin); |
$partie_entete_debut = '<fieldset>'."\n".'<legend>'.ADME_LG_FORM_MENU_COMMUN_TITRE_ENTETE.'</legend>'."\n".'<ul>'."\n"; |
$form->addElement('html', $partie_entete_debut); |
$id = 'gm_robot'; |
$aso_options = array( 'index,follow' => ADME_LG_FORM_MENU_INDEX_FOLLOW, |
'index' => ADME_LG_FORM_MENU_INDEX, |
'noindex' => ADME_LG_FORM_MENU_NOINDEX, |
'noindex,nofollow' => ADME_LG_FORM_MENU_NOINDEX_NOFOLLOW, |
'' => ADME_LG_FORM_MENU_INDEX_VIDE); |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++); |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_ROBOT.'</label>'; |
$form->addElement('select', $id, $label, $aso_options, $aso_attributs); |
$id = 'gm_titre'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 45, 'maxlength' => 255); |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_TITRE.'</label>'; |
$form->addElement('text', $id, $label, $aso_attributs); |
$id = 'gm_titre_alternatif'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 45, 'maxlength' => 255); |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_TITRE_ALTERNATIF.'</label>'; |
$form->addElement('text', $id, $label, $aso_attributs); |
$id = 'gm_mots_cles'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'rows' => 3, 'cols' => 50); |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_MOT_CLE.'</label>'; |
$form->addElement('textarea', $id, $label, $aso_attributs); |
$id = 'gm_description_libre'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'rows' => 3, 'cols' => 45); |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_DESCRIPTION.'</label>'; |
$form->addElement('textarea', $id, $label, $aso_attributs); |
$id = 'gm_description_table_matieres'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'rows' => 3, 'cols' => 45); |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_TABLE_MATIERE.'</label>'; |
$form->addElement('textarea', $id, $label, $aso_attributs); |
$id = 'gm_source'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 45, 'maxlength' => 255); |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_SOURCE.'</label>'; |
$form->addElement('text', $id, $label, $aso_attributs); |
$id = 'gm_auteur'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 45, 'maxlength' => 255); |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_AUTEUR.'</label>'; |
$form->addElement('text', $id, $label, $aso_attributs); |
$id = 'gm_contributeur'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'rows' => 2, 'cols' => 45); |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_CONTRIBUTEUR.'</label>'; |
$form->addElement('textarea', $id, $label, $aso_attributs); |
$id = 'gm_editeur'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 45, 'maxlength' => 65000); |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_EDITEUR.'</label>'; |
$form->addElement('text', $id, $label, $aso_attributs); |
$id = 'gm_date_creation'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 19, 'maxlength' => 19); |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_DATE_CREATION.'</label>'; |
$form->addElement('text', $id, $label, $aso_attributs); |
$id = 'gm_date_debut_validite'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 19, 'maxlength' => 19); |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_DATE_VALIDITE_DEBUT.'</label>'; |
$form->addElement('text', $id, $label, $aso_attributs); |
$id = 'gm_date_fin_validite'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 19, 'maxlength' => 19); |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_DATE_VALIDITE_FIN.'</label>'; |
$form->addElement('text', $id, $label, $aso_attributs); |
$id = 'gm_date_copyright'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 19, 'maxlength' => 19); |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_DATE_COPYRIGHT.'</label>'; |
$form->addElement('text', $id, $label, $aso_attributs); |
$id = 'gm_licence'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 45, 'maxlength' => 255); |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_URL_LICENCE.'</label>'; |
$form->addElement('text', $id, $label, $aso_attributs); |
$id = 'gm_categorie'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 45, 'maxlength' => 100); |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_CATEGORIE.'</label>'; |
$form->addElement('text', $id, $label, $aso_attributs); |
$id = 'gm_public'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 45, 'maxlength' => 255); |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_PUBLIC.'</label>'; |
$form->addElement('text', $id, $label, $aso_attributs); |
$id = 'gm_public_niveau'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 25, 'maxlength' => 45); |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_PUBLIC_NIVEAU.'</label>'; |
$form->addElement('text', $id, $label, $aso_attributs); |
$id = 'gm_ce_type_portee_spatiale'; |
$aso_options = array( '' => ADME_LG_FORM_MENU_ZG_VIDE, |
'iso3166' => ADME_LG_FORM_MENU_ZG_ISO, |
'Point' => ADME_LG_FORM_MENU_ZG_POINT, |
'Box' => ADME_LG_FORM_MENU_ZG_DC, |
'TGN' => ADME_LG_FORM_MENU_ZG_GTGN); |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++); |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_ZG_TYPE.'</label>'; |
$form->addElement('select', $id, $label, $aso_options, $aso_attributs); |
$id = 'gm_portee_spatiale'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 45, 'maxlength' => 100); |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_ZG_VALEUR.'</label>'; |
$form->addElement('text', $id, $label, $aso_attributs); |
$id = 'gm_ce_type_portee_temporelle'; |
$aso_options = array( '' => ADME_LG_FORM_MENU_TMP_VIDE, |
'W3CDTF' => ADME_LG_FORM_MENU_TMP_W3C, |
'Period' => ADME_LG_FORM_MENU_TMP_DC); |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++); |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_TMP_TYPE.'</label>'; |
$form->addElement('select', $id, $label, $aso_options, $aso_attributs); |
$id = 'gm_portee_temporelle'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 45, 'maxlength' => 100); |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_TMP_VALEUR.'</label>'; |
$form->addElement('text', $id, $label, $aso_attributs); |
$partie_entete_fin = '</ul>'."\n".'</fieldset>'."\n"; |
$form->addElement('html', $partie_entete_fin); |
if (!isset($aso_valeurs[ADME_LG_ACTION_COMMUN_VERIFIER]) && !isset($aso_valeurs[ADME_LG_ACTION_COMMUN_VERIFIER_TRADUCTION])) { |
// 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['gm_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.'</p>'; |
$form->addElement('html', $info_admin); |
} |
$liste_bouton_debut = '<ul class="liste_bouton">'."\n"; |
$form->addElement('html', $liste_bouton_debut); |
if ($traduction) { |
$form->addElement('submit', ADME_LG_ACTION_COMMUN_VERIFIER_TRADUCTION, ADME_LG_FORM_MENU_VALIDER); |
$form->addElement('hidden', 'adme_site_id', $adme_site_id); |
} |
else { |
$form->addElement('submit', ADME_LG_ACTION_COMMUN_VERIFIER, ADME_LG_FORM_MENU_VALIDER); |
} |
$bouton_annuler = '<li><a class="bouton" href="'.$url->getURL().'" title="'.ADME_LG_FORM_MENU_ANNULER.'" >'.ADME_LG_FORM_MENU_ANNULER.'</a>'.'</li>'."\n"; |
$form->addElement('html', $bouton_annuler); |
$liste_bouton_fin = '</ul>'."\n"; |
$form->addElement('html', $liste_bouton_fin); |
$form->addElement('hidden', 'gm_id_menu', $aso_valeurs['gm_id_menu']); |
$form->setDefaults($aso_valeurs); |
// Note de fin de formulaire |
$form->setRequiredNote(ADME_LG_FORM_TXT_CHP_OBLIGATOIRE); |
$retour .= $form->toHTML()."\n"; |
return $retour; |
} |
/** Fonction ADME_validerFormAjouterMenuCommun() - Valide les données issues du formulaire pour gen_menu. |
* |
* Cette fonction valide les données à ajouter dans la table gen_menu. |
* |
* @param PEAR:DB 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 ADME_validerFormAjouterMenuCommun($db, $aso_valeurs) |
{ |
$message = ''; |
if ($aso_valeurs['gm_code_alpha'] == '') { |
$message .= '<p class="pap_erreur">'.ADME_LG_FORM_MENU_REGLE_CODE_ALPHA.'</p>'; |
} |
if ($aso_valeurs['gm_code_num'] == '') { |
$message .= '<p class="pap_erreur">'.ADME_LG_FORM_MENU_REGLE_CODE_NUM.'</p>'; |
} |
if ($aso_valeurs['gm_nom'] == '') { |
$message .= '<p class="pap_erreur">'.ADME_LG_FORM_MENU_REGLE_NOM.'</p>'; |
} |
if ($aso_valeurs['gm_description_resume'] == '') { |
$message .= '<p class="pap_erreur">'.ADME_LG_FORM_MENU_REGLE_INFO_BULLE.'</p>'; |
} |
return $message; |
} |
/** Fonction ADME_validerFormTraduireMenuCommun() - Valide les données issues du formulaire de traduction de menu |
* |
* Cette fonction valide les données à ajouter dans la table gen_menu. |
* |
* @param PEAR::DB 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 ADME_validerFormTraduireMenuCommun($db, $aso_valeurs) |
{ |
$message = ''; |
if ($aso_valeurs['gm_code_alpha'] == '') { |
$message .= '<p class="pap_erreur">'.ADME_LG_FORM_MENU_REGLE_CODE_ALPHA.'</p>'; |
} |
if ($aso_valeurs['gm_code_num'] == '') { |
$message .= '<p class="pap_erreur">'.ADME_LG_FORM_MENU_REGLE_CODE_NUM.'</p>'; |
} |
if ($aso_valeurs['gm_nom'] == '') { |
$message .= '<p class="pap_erreur">'.ADME_LG_FORM_MENU_REGLE_NOM.'</p>'; |
} |
if ($aso_valeurs['gm_description_resume'] == '') { |
$message .= '<p class="pap_erreur">'.ADME_LG_FORM_MENU_REGLE_INFO_BULLE.'</p>'; |
} |
return $message; |
} |
/** Fonction ADME_modifierMenuCommun() - Met à jour les infos d'un menu commun |
* |
* Fonction modifiant un menu commun à Papyrus. |
* |
* @param object objet Pear de connection à la base de données. |
* @param object objet Pear représentant l'authentification. |
* @param integer l'identifiant du menu à administrer. |
* @param array le tableau des valeurs à modifier. |
* @return void les changement sont fait dans la base de données. |
*/ |
function ADME_modifierMenuCommun($db, $auth, $adme_menu_id, $aso_valeurs) |
{ |
$requete = 'UPDATE gen_menu SET '. |
'gm_ce_application = '.$aso_valeurs['gm_ce_application'].', '. |
'gm_application_arguments = "'.$aso_valeurs['gm_application_arguments'].'", '. |
'gm_fichier_squelette = "'.$aso_valeurs['gm_fichier_squelette'].'", '. |
'gm_code_num = '.$aso_valeurs['gm_code_num'].', '. |
'gm_code_alpha = "'.$aso_valeurs['gm_code_alpha'].'", '. |
'gm_nom = "'.$aso_valeurs['gm_nom'].'", '. |
'gm_raccourci_clavier = "'.$aso_valeurs['gm_raccourci_clavier'].'", '. |
'gm_robot = "'.$aso_valeurs['gm_robot'].'", '. |
'gm_titre = "'.$aso_valeurs['gm_titre'].'", '. |
'gm_titre_alternatif = "'.$aso_valeurs['gm_titre_alternatif'].'", '. |
'gm_mots_cles = "'.$aso_valeurs['gm_mots_cles'].'", '. |
'gm_description_libre = "'.$aso_valeurs['gm_description_libre'].'", '. |
'gm_description_resume = "'.$aso_valeurs['gm_description_resume'].'", '. |
'gm_description_table_matieres = "'.$aso_valeurs['gm_description_table_matieres'].'", '. |
'gm_source = "'.$aso_valeurs['gm_source'].'", '. |
'gm_auteur = "'.$aso_valeurs['gm_auteur'].'", '. |
'gm_contributeur = "'.$aso_valeurs['gm_contributeur'].'", '. |
'gm_editeur = "'.$aso_valeurs['gm_editeur'].'", '. |
'gm_date_creation = "'.$aso_valeurs['gm_date_creation'].'", '. |
'gm_date_debut_validite = "'.$aso_valeurs['gm_date_debut_validite'].'", '. |
'gm_date_fin_validite = "'.$aso_valeurs['gm_date_fin_validite'].'", '. |
'gm_date_copyright = "'.$aso_valeurs['gm_date_copyright'].'", '. |
'gm_licence = "'.$aso_valeurs['gm_licence'].'", '. |
'gm_categorie = "'.$aso_valeurs['gm_categorie'].'", '. |
'gm_public = "'.$aso_valeurs['gm_public'].'", '. |
'gm_public_niveau = "'.$aso_valeurs['gm_public_niveau'].'", '. |
'gm_portee_spatiale = "'.$aso_valeurs['gm_portee_spatiale'].'", '. |
'gm_portee_temporelle = "'.$aso_valeurs['gm_portee_temporelle'].'", '. |
'gm_ce_admin = "'.$auth->getAuthData('ga_id_administrateur').'" '. |
'WHERE gm_id_menu = '.$adme_menu_id; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
} |
/** Fonction ADME_deplacerMenuCommun() - Permet de déplacer un menu dans la hiérarchie. |
* |
* Permet de déplacer un menu dans la hiérarchie des menus communs. |
* Ancien nom : moveUpper() |
* |
* @param PEAR::DB objet Pear DB de connexion à la base de données. |
* @param integer identifiant du site administré. |
* @param integer identifiant du menu à déplacer. |
* @param boolean indique si on veut monter le menu (true) ou le descendre (false). |
* @return void modifie la base de données. |
*/ |
function ADME_deplacerMenuCommun($db, $adme_site_id, $adme_menu_id, $bln_monter) |
{ |
//------------------------------------------------------------------------------------------------------------------- |
// Récupération d'informations sur les relations du menu courant. |
$ligne_menu_courant_relation = GEN_lireInfoMenuRelation($db, $adme_menu_id, '1'); // 1 = relation "avoir père" |
if ($ligne_menu_courant_relation == false) { |
die('ERREUR Papyrus Administrateur de Menus : '.ADME_LG_ERREUR_INFO_MENU_RELATION.'<br />'. |
'Identifiant menu : '. $adme_menu_id .'<br />'. |
'Identifiant valeur relation : 1 <br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br />'); |
} |
$id_pere = GEN_lireIdentifiantMenuPere($adme_menu_id); |
if ($id_pere === false) { |
die('ERREUR Papyrus Administrateur de Menus : '.ADME_LG_ERREUR_ID_MENU_PERE.'<br />'. |
'Identifiant menu fils : '. $adme_menu_id .'<br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br />'); |
} |
//------------------------------------------------------------------------------------------------------------------- |
// Recherche d'information hiérarchiques sur le menu précédent ou suivant le menu courant |
$requete = 'SELECT GMR01.gmr_ordre AS nouvel_ordre, GMR01.gmr_id_menu_01 AS id_menu_remplace '. |
'FROM gen_menu, gen_menu_relation AS GMR01, gen_menu_relation AS GMR02 '. |
'WHERE GMR02.gmr_id_menu_01 = GMR01.gmr_id_menu_01 '. |
'AND GMR01.gmr_id_menu_01 = gm_id_menu './/jonction avec la table GEN_MENU |
'AND gm_ce_site = 0 '.// les menus communs ne sont pas liés à un site! |
'AND GMR02.gmr_id_valeur = 102 '.// 102 = menu type "commun" |
'AND GMR01.gmr_id_menu_02 = '.$id_pere.' '. |
'AND GMR01.gmr_id_valeur = 1 ';// 1 = relation menu "père" |
if ($bln_monter) { |
$requete .= 'AND GMR01.gmr_ordre < '.$ligne_menu_courant_relation->gmr_ordre.' '. |
'ORDER BY GMR01.gmr_ordre DESC'; |
} else { |
$requete .= 'AND GMR01.gmr_ordre > '.$ligne_menu_courant_relation->gmr_ordre.' '. |
'ORDER BY GMR01.gmr_ordre ASC'; |
} |
$resultat_menu = $db->query($requete); |
(DB::isError($resultat_menu)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_menu->getMessage(), $requete)) : ''; |
$ligne_menu = $resultat_menu->fetchRow(DB_FETCHMODE_OBJECT); |
$resultat_menu->free(); |
//------------------------------------------------------------------------------------------------------------------- |
// Si la requete ne retourne rien nous ne faisons rien. |
if (! $ligne_menu) { |
return null; |
} |
//------------------------------------------------------------------------------------------------------------------- |
// Mise à jour des relations hiérarchiques du menu courant |
$requete = 'UPDATE gen_menu_relation SET '. |
'gmr_ordre = '.$ligne_menu->nouvel_ordre.' '. |
'WHERE gmr_id_menu_01 = '.$ligne_menu_courant_relation->gmr_id_menu_01.' '. |
'AND gmr_id_valeur = 1';// 1 = relation menu "père" |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
//------------------------------------------------------------------------------------------------------------------- |
// Mise à jour des relations hiérarchiques du menu précédent ou suivant |
$requete = 'UPDATE gen_menu_relation SET '. |
'gmr_ordre = '.$ligne_menu_courant_relation->gmr_ordre.' '. |
'WHERE gmr_id_menu_01 = '.$ligne_menu->id_menu_remplace.' '. |
'AND gmr_id_valeur = 1';// 1 = relation menu "père" |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
} |
/** Fonction ADME_traduireMenuCommun() - Permet de traduire un menu commin |
* |
* Permet de traduire un menu commun |
* |
* @param mixed objet Pear DB de connexion à la base de données. |
* @param integer identifiant du site administré. |
* @param integer identifiant du menu à déplacer. |
* @return void modifie la base de données. |
*/ |
function ADME_traduireMenuCommun($db, $auth, $adme_menu_id, $aso_valeurs) { |
// Récupération d'infos sur le site principal. |
$objet_site = GEN_lireInfoSitePrincipal($db, $aso_valeurs['adme_site_id']); |
if ($objet_site == false) { |
die('ERREUR Génésia Administrateur de Menus : impossible de lire les infos du site.<br />'. |
'ID du site : '.$aso_valeurs['adme_site_id'].'<br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br />'); |
} |
$nouveau_id_menu = SQL_obtenirNouveauId($db, 'gen_menu', 'gm_id_menu'); |
$auteur = $auth->getAuthData('ga_prenom').' '.$auth->getAuthData('ga_nom'); |
$requete = 'INSERT INTO gen_menu '. |
'SET gm_id_menu = '.$nouveau_id_menu.', '. |
'gm_ce_site = '.$aso_valeurs['adme_site_id'].', '. |
'gm_ce_i18n = "'.$aso_valeurs['gs_ce_i18n'].'", '. |
'gm_ce_application = '.$aso_valeurs['gm_ce_application'].', '. |
'gm_application_arguments = "'.$aso_valeurs['gm_application_arguments'].'", '. |
'gm_fichier_squelette = "'.$aso_valeurs['gm_fichier_squelette'].'", '. |
'gm_code_num = '.$aso_valeurs['gm_code_num'].', '. |
'gm_code_alpha = "'.$aso_valeurs['gm_code_alpha'].'", '. |
'gm_nom = "'.$aso_valeurs['gm_nom'].'", '. |
'gm_raccourci_clavier = "'.$aso_valeurs['gm_raccourci_clavier'].'", '. |
'gm_robot = "'.$aso_valeurs['gm_robot'].'", '. |
'gm_titre = "'.$aso_valeurs['gm_titre'].'", '. |
'gm_titre_alternatif = "'.$aso_valeurs['gm_titre_alternatif'].'", '. |
'gm_mots_cles = "'.$aso_valeurs['gm_mots_cles'].'", '. |
'gm_description_libre = "'.$aso_valeurs['gm_description_libre'].'", '. |
'gm_description_resume = "'.$aso_valeurs['gm_description_resume'].'", '. |
'gm_description_table_matieres = "'.$aso_valeurs['gm_description_table_matieres'].'", '. |
'gm_source = "'.$aso_valeurs['gm_source'].'", '. |
'gm_auteur = "'.$aso_valeurs['gm_auteur'].'", '. |
'gm_contributeur = "'.$aso_valeurs['gm_contributeur'].'", '. |
'gm_editeur = "'.$aso_valeurs['gm_editeur'].'", '. |
'gm_date_creation = "'.$aso_valeurs['gm_date_creation'].'", '. |
'gm_date_debut_validite = "'.$aso_valeurs['gm_date_debut_validite'].'", '. |
'gm_date_fin_validite = "'.$aso_valeurs['gm_date_fin_validite'].'", '. |
'gm_date_copyright = "'.$aso_valeurs['gm_date_copyright'].'", '. |
'gm_licence = "'.$aso_valeurs['gm_licence'].'", '. |
'gm_categorie = "'.$aso_valeurs['gm_categorie'].'", '. |
'gm_public = "'.$aso_valeurs['gm_public'].'", '. |
'gm_public_niveau = "'.$aso_valeurs['gm_public_niveau'].'", '. |
'gm_ce_type_portee_spatiale = "'.$aso_valeurs['gm_ce_type_portee_spatiale'].'", '. |
'gm_portee_spatiale = "'.$aso_valeurs['gm_portee_spatiale'].'", '. |
'gm_ce_type_portee_temporelle = "'.$aso_valeurs['gm_ce_type_portee_temporelle'].'", '. |
'gm_portee_temporelle = "'.$aso_valeurs['gm_portee_temporelle'].'", '. |
'gm_ce_admin = "'.$auth->getAuthData('ga_id_administrateur').'" '; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
//---------------------------------------------------------------------------- |
// Ajout de la relation traduction |
if (!isset($adme_menu_id) && empty($adme_menu_id)) { |
$adme_menu_id = 0 ;// Identifiant du père |
} |
//---------------------------------------------------------------------------- |
// Récupération d'infos sur la hierarchie du menu |
$requete = 'SELECT GMR01.gmr_ordre '. |
'FROM gen_menu_relation AS GMR01, gen_menu_relation AS GMR02 '. |
'WHERE GMR01.gmr_id_menu_02 = '.$adme_menu_id.' '. |
'AND GMR01.gmr_id_valeur = 1 '.// 1 = avoir "père" |
'AND GMR02.gmr_id_menu_01 = GMR01.gmr_id_menu_01 '. |
'AND GMR02.gmr_id_menu_01 = GMR02.gmr_id_menu_02 '. |
'AND GMR02.gmr_id_valeur = 102 '.// 102 = menu type "commun" |
'ORDER BY GMR01.gmr_ordre DESC'; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT); |
$nouveau_ordre_menu = $ligne->gmr_ordre + 1; |
$resultat->free(); |
// Traduction : |
$requete = 'INSERT INTO gen_menu_relation '. |
'SET gmr_id_menu_01 = '.$adme_menu_id.', '. |
'gmr_id_menu_02 = '.$nouveau_id_menu.', '. |
'gmr_id_valeur = 2, '. // Avoir traduction |
'gmr_ordre = '.$nouveau_ordre_menu; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
//---------------------------------------------------------------------------- |
// Ajout de la relation-type "menu commun" |
// Récupération d'infos sur la hierarchie du menu |
$requete = 'SELECT * '. |
'FROM gen_menu_relation, gen_menu '. |
'WHERE gmr_id_menu_02 = gmr_id_menu_01 '. |
'AND gmr_id_valeur = 102 '.// 102 = type menu "commun" |
'AND gmr_id_menu_01 = gm_id_menu '. |
'AND gm_ce_site = '.$aso_valeurs['adme_site_id'].' '. |
'ORDER BY gmr_ordre DESC'; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT); |
$nouveau_ordre_menu_commun = $ligne->gmr_ordre + 1; |
$resultat->free(); |
$requete = 'INSERT INTO gen_menu_relation '. |
'SET gmr_id_menu_01 = '.$nouveau_id_menu.', '. |
'gmr_id_menu_02 = '.$nouveau_id_menu.', '. |
'gmr_id_valeur = 102, '. |
'gmr_ordre = '.$nouveau_ordre_menu_commun; |
$result = $db->query($requete); |
(DB::isError($result)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $result->getMessage(), $requete)) : ''; |
} |
function ADME_indenterMenuCommun($db, $adme_site_id, $adme_menu_id, $bln_diminuer) { |
//------------------------------------------------------------------------------------------------------------------- |
// Récupération d'information sur le site de ce menu. |
$objet_site = GEN_lireInfoSitePrincipal($db, $adme_site_id); |
if ($objet_site == false) { |
die('ERREUR Papyrus Administrateur de Menus : '.ADME_LG_ERREUR_INFO_SITE.'<br />'. |
'Id du site : '. $adme_site_id .'<br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br />'); |
} |
//------------------------------------------------------------------------------------------------------------------- |
// Récupération d'informations sur les relations du menu courant. |
$ligne_menu_courant_relation = GEN_lireInfoMenuRelation($db, $adme_menu_id, '1'); |
if ($ligne_menu_courant_relation == false) { |
die('ERREUR Papyrus Administrateur de Menus : '.ADME_LG_ERREUR_INFO_MENU_RELATION.'<br />'. |
'Identifiant menu : '. $adme_menu_id .'<br />'. |
'Identifiant valeur relation : 1 <br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br />'); |
} |
//------------------------------------------------------------------------------------------------------------------- |
// Récupération de l'identifiant du menu pére |
$id_pere = GEN_lireIdentifiantMenuPere($adme_menu_id); |
if ($id_pere === false) { |
die('ERREUR Papyrus Administrateur de Menus : '.ADME_LG_ERREUR_ID_MENU_PERE.'<br />'. |
'Identifiant menu fils : '. $adme_menu_id .'<br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br />'); |
} |
if ($bln_diminuer) { |
// Diminution d'un niveau |
if ($id_pere) { |
// Récupération de l'identifiant du menu grand pére, sera le nouveau pere |
$id_grand_pere = GEN_lireIdentifiantMenuPere($id_pere); |
if ($id_grand_pere === false) { |
die('ERREUR Papyrus Administrateur de Menus : '.ADME_LG_ERREUR_ID_MENU_PERE.'<br />'. |
'Identifiant menu fils : '. $adme_menu_id .'<br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br />'); |
} |
// Récupération d'informations sur les relations du menu pere |
$ligne_menu_pere_relation = GEN_lireInfoMenuRelation($db, $id_pere, '1'); |
if ($ligne_menu_pere_relation == false) { |
die('ERREUR Papyrus Administrateur de Menus : '.ADME_LG_ERREUR_INFO_MENU_RELATION.'<br />'. |
'Identifiant menu : '. $adme_menu_id .'<br />'. |
'Identifiant valeur relation : 1 <br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br />'); |
} |
//------------------------------------------------------------------------------------------------------------------- |
// Recherche d'information sur le menu suivant le menu pere |
//------------------------------------------------------------------------------------------------------------------- |
$requete = 'SELECT GMR01.gmr_ordre AS nouvel_ordre, GMR01.gmr_id_menu_01 AS id_menu_remplace '. |
'FROM gen_menu, gen_menu_relation AS GMR01, gen_menu_relation AS GMR02 '. |
'WHERE GMR02.gmr_id_menu_01 = GMR01.gmr_id_menu_01 '. |
'AND GMR01.gmr_id_menu_01 = gm_id_menu './/jonction avec la table GEN_MENU |
'AND gm_ce_site = 0 '.// les menus communs ne sont pas liés à un site! |
'AND GMR02.gmr_id_valeur = 102 '.// 102 = menu type "commun"" |
'AND GMR01.gmr_id_menu_02 = '.$id_grand_pere.' '. |
'AND GMR01.gmr_id_valeur = 1 '.// 1 = relation menu "père" |
'AND GMR01.gmr_ordre > '.$ligne_menu_pere_relation->gmr_ordre.' '. |
'ORDER BY GMR01.gmr_ordre DESC'; |
$resultat_menu = $db->query($requete); |
(DB::isError($resultat_menu)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_menu->getMessage(), $requete)) : ''; |
$ligne_menu = $resultat_menu->fetchRow(DB_FETCHMODE_OBJECT); |
$resultat_menu->free(); |
//------------------------------------------------------------------------------------------------------------------- |
// Si la requete ne retourne rien nous ne faisons rien. |
if (! $ligne_menu) { |
$no=$ligne_menu_pere_relation->gmr_ordre+1; |
} |
else { |
$no=$ligne_menu->nouvel_ordre+1; |
} |
// Mise à jour pere menu courant |
$requete = 'UPDATE gen_menu_relation SET '. |
'gmr_id_menu_02 = '.$id_grand_pere.' ,'. |
'gmr_ordre = '.$no.' '. |
'WHERE gmr_id_menu_01 = '.$ligne_menu_courant_relation->gmr_id_menu_01.' '. |
'AND gmr_id_valeur = 1';// 1 = relation menu "père" |
$resultat_update = $db->query($requete); |
(DB::isError($resultat_update)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_update->getMessage(), $requete)) : ''; |
} |
} |
else { |
$requete = 'SELECT GMR01.gmr_id_menu_01 '. |
'FROM gen_menu, gen_menu_relation AS GMR01, gen_menu_relation AS GMR02 '. |
'WHERE GMR02.gmr_id_menu_01 = GMR01.gmr_id_menu_01 '. |
'AND GMR01.gmr_id_menu_01 = gm_id_menu './/jonction avec la table GEN_MENU |
'AND gm_ce_site = 0 '.// les menus communs ne sont pas liés à un site! |
'AND GMR02.gmr_id_valeur = 102 '.// 102 = menu type "commun" |
'AND GMR01.gmr_id_menu_02 = '.$id_pere.' '. |
'AND GMR01.gmr_id_valeur = 1 '.// 1 = relation menu "père" |
'AND GMR01.gmr_ordre < '.$ligne_menu_courant_relation->gmr_ordre.' '. |
'ORDER BY GMR01.gmr_ordre DESC'; |
$resultat_menu = $db->query($requete); |
(DB::isError($resultat_menu)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_menu->getMessage(), $requete)) : ''; |
$ligne_menu = $resultat_menu->fetchRow(DB_FETCHMODE_OBJECT); |
$resultat_menu->free(); |
//------------------------------------------------------------------------------------------------------------------- |
// Si la requete ne retourne rien nous ne faisons rien. |
if (! $ligne_menu) { |
return null; |
} |
//---------------------------------------------------------------------------- |
// Recherche dernier fils |
$requete = 'SELECT GMR01.gmr_ordre '. |
'FROM gen_menu_relation AS GMR01, gen_menu_relation AS GMR02 '. |
'WHERE GMR01.gmr_id_menu_02 = '.$ligne_menu->gmr_id_menu_01.' '. |
'AND GMR01.gmr_id_valeur = 1 '.// 1 = avoir "père" |
'AND GMR02.gmr_id_menu_01 = GMR01.gmr_id_menu_01 '. |
'AND GMR02.gmr_id_menu_01 = GMR02.gmr_id_menu_02 '. |
'AND GMR02.gmr_id_valeur = 102 '.// 102 = menu type "commun" |
'ORDER BY GMR01.gmr_ordre DESC'; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT); |
$no = $ligne->gmr_ordre + 1; |
$resultat->free(); |
// Mise à jour pere menu courant |
$requete = 'UPDATE gen_menu_relation SET '. |
'gmr_id_menu_02 = '.$ligne_menu->gmr_id_menu_01.' ,'. |
'gmr_ordre = '.$no.' '. |
'WHERE gmr_id_menu_01 = '.$ligne_menu_courant_relation->gmr_id_menu_01.' '. |
'AND gmr_id_valeur = 1';// 1 = relation menu "père" |
$resultat_update = $db->query($requete); |
(DB::isError($resultat_update)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_update->getMessage(), $requete)) : ''; |
} |
} |
/** Fonction ADME_supprimerMenuCommun() - Supprime un menu commun. |
* |
* Supprime de la base de données de Génésia toutes les traces du menu commun |
* passé en paramètre. |
* Ancien nom : deleteUpper() |
* |
* @param PEAR::DB l'objet Pear DB de connexion à la base de données. |
* @param integer l'identifiant du menu à supprimer |
* @return void le menu commun est supprimé de la base de données. |
*/ |
function ADME_supprimerMenuCommun($db, $id_menu_a_supprimer) |
{ |
$code_menu = GEN_lireInfoMenu($db, $id_menu_a_supprimer, DB_FETCHMODE_ASSOC); |
//------------------------------------------------------------------------------------------------------------------- |
// Y a t'il des sous_menus ? |
$requete = 'SELECT COUNT(gm_id_menu) AS compte '. |
'FROM gen_menu, gen_menu_relation '. |
'WHERE gmr_id_menu_02 = '.$id_menu_a_supprimer.' '. |
'AND gmr_id_valeur = 1 '. |
'AND gmr_id_menu_01 = gm_id_menu '; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT); |
if ($ligne && ($ligne->compte > 0)) { |
return ADME_LG_ERREUR_EXISTE_SOUS_MENU; |
} |
//------------------------------------------------------------------------------------------------------------------- |
// Mise à jour de l'ordre des menus |
$ligne_menu_supr_relation = GEN_lireInfoMenuRelation($db, $id_menu_a_supprimer, '1'); // 1 = relation "avoir père" |
$requete = 'SELECT GMR01.gmr_id_menu_01, GMR01.gmr_ordre '. |
'FROM gen_menu, gen_menu_relation AS GMR01, gen_menu_relation AS GMR02 '. |
'WHERE GMR02.gmr_id_menu_01 = GMR01.gmr_id_menu_01 '. |
'AND GMR01.gmr_id_menu_01 = gm_id_menu './/jonction avec la table GEN_MENU |
'AND gm_ce_site = 0 '.// les menus communs ne sont pas liés à un site! |
'AND GMR02.gmr_id_valeur = 102 '.// 102 = menu type "commun" |
'AND GMR01.gmr_id_menu_02 = '.$ligne_menu_supr_relation->gmr_id_menu_02.' '. |
'AND GMR01.gmr_id_valeur = 1 '.// 1 = relation menu "père" |
'AND GMR01.gmr_ordre > '.$ligne_menu_supr_relation->gmr_ordre.' '. |
'ORDER BY GMR01.gmr_ordre ASC'; |
$resultat = $db->query($requete); |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) { |
// Mise à jour des relations hiérarchiques du menu courant |
$requete_maj = 'UPDATE gen_menu_relation SET '. |
'gmr_ordre = '.($ligne->gmr_ordre - 1).' '. |
'WHERE gmr_id_menu_01 = '.$ligne->gmr_id_menu_01.' '. |
'AND gmr_id_valeur = 1';// 1 = relation menu "père" |
$resultat_maj = $db->query($requete_maj); |
(DB::isError($resultat_maj)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_maj->getMessage(), $requete_maj)) : ''; |
} |
$resultat->free(); |
//------------------------------------------------------------------------------------------------------------------- |
// S'il n'y a plus de sous niveau, on supprime le menu |
$requete = 'DELETE FROM gen_menu '. |
'WHERE gm_id_menu = '.$id_menu_a_supprimer; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
//------------------------------------------------------------------------------------------------------------------- |
// Puis on supprime les relations de ce menu |
$requete = 'DELETE FROM gen_menu_relation '. |
'WHERE gmr_id_menu_01 = '.$id_menu_a_supprimer; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
// Suppression du contenu !!!! |
$requete = 'DELETE FROM gen_menu_contenu '. |
'WHERE gmc_ce_menu = '.$id_menu_a_supprimer.' '; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
} |
/** Fonction ADME_supprimerMenuCommunTraduction() - Supprime une traduction de menu commun. |
* |
* Supprime de la base de données de Papyrus toutes les traces du menu commun |
* passé en paramètre. |
* Ancien nom : deleteMenu() |
* |
* @param mixed l'objet Pear DB de connexion à la base de données. |
* @param integer l'identifiant du site du menu à supprimer |
* @param integer l'identifiant du menu à supprimer |
* @return void le menu commun est supprimé de la base de données. |
*/ |
function ADME_supprimerMenuCommunTraduction($db, $adme_id_site, $id_menu_a_supprimer) |
{ |
$code_menu = GEN_lireInfoMenu($db, $id_menu_a_supprimer, DB_FETCHMODE_ASSOC); |
if ($code_menu === false) { |
die('ERREUR Papyrus Administrateur de Menus : '.ADME_LG_ERREUR_INFO_MENU.'<br />'. |
'Idenitifiant du menu n° : '. $id_menu_a_supprimer .'<br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br />'); |
} |
$requete = 'DELETE FROM gen_menu '. |
'WHERE gm_id_menu = '.$id_menu_a_supprimer; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
//---------------------------------------------------------------------------- |
// Puis on supprime les relations de ce menu |
$requete = 'DELETE FROM gen_menu_relation '. |
'WHERE gmr_id_menu_01 = '.$id_menu_a_supprimer; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
//---------------------------------------------------------------------------- |
// Puis on supprime les relations de ce menu |
$requete = 'DELETE FROM gen_menu_relation '. |
'WHERE gmr_id_menu_02 = '.$id_menu_a_supprimer; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
// Suppression du contenu !!!! |
$requete = 'DELETE FROM gen_menu_contenu '. |
'WHERE gmc_ce_menu = '.$id_menu_a_supprimer.' '; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
} |
/** Fonction ADME_selectionnerMenuCommunTraduction()() Selection un menu classique comme traduction par defaut |
* |
* |
* @param mixed l'objet Pear DB de connexion à la base de données. |
* @param integer l'identifiant du site du menu à supprimer |
* @param integer l'identifiant du menu à supprimer |
* @return void le menu classique est supprimé de la base de données. |
*/ |
function ADME_selectionnerMenuCommunTraduction($db, $adme_id_site, $id_menu) |
{ |
// 1 : Rechercher traduction parente : si presente on est dans une traduc. si absente on |
// est dans un menu traduit. |
$requete_origine_traduction = 'SELECT gmr_id_menu_01 '. |
'FROM gen_menu_relation, gen_menu '. |
'WHERE gmr_id_menu_02 = ' . $id_menu .' '. |
'AND gmr_id_valeur = 2 '; // 2 = "avoir traduction" |
$resultat_origine_traduction = $db->query($requete_origine_traduction) ; |
if (DB::isError($resultat_origine_traduction)) { |
die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_origine_traduction->getMessage(), $requete_origine_traduction) ); |
} |
if ($resultat_origine_traduction->numRows() > 0) { |
$ligne_origine_traduction = $resultat_origine_traduction->fetchRow(DB_FETCHMODE_OBJECT); |
$id_menu_origine=$ligne_origine_traduction->gmr_id_menu_01; |
} |
else { |
$id_menu_origine=$id_menu; |
} |
$requete_suppression = 'DELETE from gen_menu_relation '. |
'WHERE gmr_id_menu_01 = ' . $id_menu_origine . ' ' . |
'AND gmr_id_valeur=105 '; // 105 Traduction par defaut |
$resultat_suppression = $db->query($requete_suppression); |
(DB::isError($resultat_suppression)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_suppression->getMessage(), $requete_suppression)) : ''; |
$requete_insertion = 'INSERT into gen_menu_relation '. |
' SET gmr_id_menu_01 = ' . $id_menu_origine . ', ' . |
' gmr_id_menu_02 = ' . $id_menu . ', ' . |
' gmr_id_valeur = 105' ; |
$resultat_insertion = $db->query($requete_insertion); |
(DB::isError($resultat_insertion)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_insertion->getMessage(), $requete_insertion)) : ''; |
} |
// +------------------------------------------------------------------------------------------------------+ |
// | PIED du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.27 2006-10-16 15:49:07 ddelon |
* Refactorisation code mulitlinguisme et gestion menu invisibles |
* |
* Revision 1.26 2006/10/06 13:38:45 florian |
* ergonomie amélioree |
* |
* Revision 1.25 2006/09/20 12:09:16 ddelon |
* bug suppression contenu du menu commun |
* |
* Revision 1.24 2006/09/07 13:45:56 jp_milcent |
* Trie par ordre alphabétique des appli. |
* |
* Revision 1.23 2006/06/29 23:04:01 ddelon |
* Bug defaut traduction sur menu commun |
* |
* Revision 1.22 2006/06/29 19:13:26 ddelon |
* Bug defaut traduction sur menu commun |
* |
* Revision 1.21 2006/06/29 18:58:57 ddelon |
* Multilinguisme : menu par defaut pour les menu commun |
* |
* Revision 1.20 2006/04/12 21:11:54 ddelon |
* Multilinguisme menus communs |
* |
* Revision 1.19 2005/09/27 08:42:49 ddelon |
* Menu et Squelette |
* |
* Revision 1.18 2005/07/18 16:14:32 ddelon |
* css admin + menu communs |
* |
* Revision 1.17 2005/07/08 22:01:25 ddelon |
* Copyright |
* |
* Revision 1.16 2005/05/26 16:13:08 jpm |
* Correction taille éditeur: passage en text |
* |
* Revision 1.14 2005/05/26 15:34:46 jpm |
* Ajout d'un espace. |
* |
* Revision 1.13 2005/05/26 08:54:20 jpm |
* Ajout info admin ayant fait la dernière modif. |
* |
* Revision 1.12 2005/04/19 16:47:16 jpm |
* Gestion des dates de fin de validité des menus. |
* |
* Revision 1.11 2005/03/29 15:49:12 jpm |
* Ajout de la date de création dans le formulaire des menus. |
* |
* Revision 1.10 2005/02/28 11:05:06 jpm |
* Modification des auteurs. |
* |
* Revision 1.9 2005/01/24 11:28:09 jpm |
* Correction bogue. |
* Ajout d'un troisième = pour comparer le type. |
* |
* Revision 1.8 2004/12/01 16:47:28 jpm |
* Ajout d'une boite javascript de confirmation de suppression d'un menu. |
* |
* Revision 1.7 2004/11/15 16:51:12 jpm |
* Correction bogue de mise à jour de l'ordre des menus. |
* |
* Revision 1.6 2004/11/10 17:26:07 jpm |
* Fin gestion de la traduction. |
* |
* Revision 1.5 2004/11/09 17:48:35 jpm |
* Gestion de différentes interfaces d'administration. |
* |
* Revision 1.3 2004/09/23 17:45:13 jpm |
* Amélioration de la gestion des liens annuler et du selecteur de sites. |
* |
* Revision 1.2 2004/07/06 17:07:37 jpm |
* Modification de la documentation pour une mailleur analyse par PhpDocumentor. |
* |
* Revision 1.1 2004/06/16 15:04:32 jpm |
* Changement de nom de Génésia en Papyrus. |
* Changement de l'arborescence. |
* |
* Revision 1.10 2004/05/10 12:13:03 jpm |
* Modification des formulaires. |
* |
* Revision 1.9 2004/05/07 16:31:40 jpm |
* Amélioration du formulaire d'un menu commun. |
* |
* Revision 1.8 2004/05/07 09:56:52 jpm |
* Correction des noms de constantes d'images. |
* |
* Revision 1.7 2004/05/07 07:23:54 jpm |
* Amélioration du code, des commentaires et correction de bogues. |
* |
* Revision 1.6 2004/05/04 16:27:55 jpm |
* Amélioration gestion du déplacement des menus. |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v5.0-ouadji/papyrus/applications/admin_menu/bibliotheque/adme_general.fonct.php |
---|
New file |
0,0 → 1,398 |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// Copyright (C) 1999-2004 Tela Botanica (accueil@tela-botanica.org) |
// |
// Ce logiciel est un programme informatique servant à gérer du contenu et des |
// applications web. |
// Ce logiciel est régi par la licence CeCILL soumise au droit français et |
// respectant les principes de diffusion des logiciels libres. Vous pouvez |
// utiliser, modifier et/ou redistribuer ce programme sous les conditions |
// de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA |
// sur le site "http://www.cecill.info". |
// En contrepartie de l'accessibilité au code source et des droits de copie, |
// de modification et de redistribution accordés par cette licence, il n'est |
// offert aux utilisateurs qu'une garantie limitée. Pour les mêmes raisons, |
// seule une responsabilité restreinte pèse sur l'auteur du programme, le |
// titulaire des droits patrimoniaux et les concédants successifs. |
// A cet égard l'attention de l'utilisateur est attirée sur les risques |
// associés au chargement, à l'utilisation, à la modification et/ou au |
// développement et à la reproduction du logiciel par l'utilisateur étant |
// donné sa spécificité de logiciel libre, qui peut le rendre complexe à |
// manipuler et qui le réserve donc à des développeurs et des professionnels |
// avertis possédant des connaissances informatiques approfondies. Les |
// utilisateurs sont donc invités à charger et tester l'adéquation du |
// logiciel à leurs besoins dans des conditions permettant d'assurer la |
// sécurité de leurs systèmes et ou de leurs données et, plus généralement, |
// à l'utiliser et l'exploiter dans les mêmes conditions de sécurité. |
// Le fait que vous puissiez accéder à cet en-tête signifie que vous avez |
// pris connaissance de la licence CeCILL, et que vous en avez accepté les |
// termes. |
// ---- |
// CVS : $Id: adme_general.fonct.php,v 1.20 2007-10-24 14:43:02 ddelon Exp $ |
/** |
* Contient l'affichage par défaut de l'appli quand aucune actin |
* |
* Ce fichier contient les fonctions d'affichage commune à toute l'application Admin Menu. |
* Nous y trouvons, entre autre, la fonction d'affichage par défaut de l'appli. |
* |
*@package Admin_menu |
*@subpackage Fonctions |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.20 $ $Date: 2007-10-24 14:43:02 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTETE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// +------------------------------------------------------------------------------------------------------+ |
// | LISTE de FONCTIONS | |
// +------------------------------------------------------------------------------------------------------+ |
/** Fonction ADME_afficherFormPrincipal() - Affichage par défaut. |
* |
* Fournit l'affichage par défaut de l'application Admin Menus. |
* |
* @param object objet Pear de connection à la base de données. |
* @param object objet Pear représentant l'url de base. |
* @return string le XHTML par défaut de la page. |
*/ |
function ADME_afficherFormPrincipal($objet_pear_db, $objet_pear_url, $adme_site_id, $adme_menu_id, $adme_action) |
{ |
$db=$objet_pear_db; |
$id_langue = $GLOBALS['_GEN_commun']['i18n']; //identifiant de la langue choisie |
// Langue en cours : langue choisie ou langue par defaut (principale) |
if (isset($id_langue) && ($id_langue!='')) { |
$langue_test=$id_langue; |
} else { |
$langue_test=GEN_I18N_ID_DEFAUT; |
} |
//$langue_test=GEN_I18N_ID_DEFAUT; |
//requete pour recuperer l'id du menu par defaut |
$requete = 'SELECT gs_id_site '. |
'FROM gen_site, gen_site_relation '. |
'WHERE gsr_id_site_01 = gsr_id_site_02 '. |
'AND gsr_id_site_01 = gs_id_site '. |
'AND gsr_id_valeur=101 '. |
'AND gs_ce_i18n = "'.$langue_test.'" '; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '' ; |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) { |
$id_site_par_defaut=$ligne->gs_id_site; |
} |
// Liste des sites principaux : |
// Recherche de tous les sites langue en cours |
$requete = 'SELECT * '. |
'FROM gen_site, gen_site_relation '. |
'WHERE gsr_id_site_01 = gsr_id_site_02 '. |
'AND gsr_id_site_01 = gs_id_site '. |
'AND gsr_id_valeur IN (102, 103) '. |
'AND gs_ce_i18n = "'.$langue_test.'" '. |
'ORDER BY gsr_ordre'; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '' ; |
$liste_site=array(); |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) { |
if ($langue_test == GEN_I18N_ID_DEFAUT) { |
$requete_est_traduction = 'SELECT gsr_id_site_01 '. |
'FROM gen_site_relation '. |
'WHERE '.$ligne->gs_id_site.' = gsr_id_site_02 ' . |
'AND gsr_id_site_01 <> gsr_id_site_02 ' . |
'AND gsr_id_valeur = 1 ';// 1 = "avoir traduction" |
$resultat_est_traduction = $db->query($requete_est_traduction); |
(DB::isError($resultat_est_traduction)) |
? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_est_traduction->getMessage(), $requete_est_traduction)) |
: ''; |
if ( $resultat_est_traduction->numRows() == 0 ) { |
$liste_site[]=$ligne; |
} |
} |
else { |
$liste_site[]=$ligne; |
} |
} |
$resultat->free(); |
// Si la langue en cours n'est pas la langue par défaut, recherche des sites ayant comme langue |
// la langue par defaut, non traduits dans la langue en cours et n'etant pas des traductions |
if ($langue_test != GEN_I18N_ID_DEFAUT) { |
$requete = 'SELECT * '. |
'FROM gen_site, gen_site_relation '. |
'WHERE gsr_id_site_01 = gsr_id_site_02 '. |
'AND gs_id_site = gsr_id_site_01 '. |
'AND gsr_id_valeur IN (102, 103) '. |
'AND gs_ce_i18n = "'.GEN_I18N_ID_DEFAUT.'" '. |
'ORDER BY gs_code_num ASC';// 102 = site "principal" et 103 = site "externe" |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
// Recherche de tous les sites de la langue principale qui ne sont pas traduits dans la langue en cours |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) { |
$requete_est_traduction = 'SELECT gsr_id_site_01 '. |
'FROM gen_site_relation '. |
'WHERE '.$ligne->gs_id_site.' = gsr_id_site_02 ' . |
'AND gsr_id_site_01 <> gsr_id_site_02 ' . |
'AND gsr_id_valeur = 1 ';// 1 = "avoir traduction" |
$resultat_est_traduction = $db->query($requete_est_traduction); |
(DB::isError($resultat_est_traduction)) |
? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_est_traduction->getMessage(), $requete_est_traduction)) |
: ''; |
if ( $resultat_est_traduction->numRows() == 0 ) { |
if (isset($id_langue) && ($id_langue!='')) { |
$langue_test=$id_langue; |
} else { |
$langue_test=GEN_I18N_ID_DEFAUT; |
} |
$requete_traduction = 'SELECT gsr_id_site_01 '. |
'FROM gen_site_relation, gen_site '. |
'WHERE '.$ligne->gs_id_site.' = gsr_id_site_01 ' . |
'AND gsr_id_site_02 = gs_id_site '. |
'AND gs_ce_i18n = "'.$langue_test.'" '. |
'AND gsr_id_valeur = 1 ';// 1 = "avoir traduction" |
$resultat_traduction = $db->query($requete_traduction); |
(DB::isError($resultat_traduction)) |
? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_traduction->getMessage(), $requete_traduction)) |
: ''; |
if ( $resultat_traduction->numRows() == 0 ) { |
$liste_site []=$ligne; |
} |
$resultat_traduction->free(); |
} |
$resultat_est_traduction->free(); |
} |
$resultat->free(); |
} |
// Traduction d'un site principal uniquement : |
$requete = 'SELECT * '. |
'FROM gen_site_relation '. |
'WHERE gsr_id_site_02 = '.$adme_site_id.' '. |
'AND gsr_id_valeur =1 '; // 1 = "avoir traduction" |
$resultat = $db->query($requete); |
if (DB::isError($resultat)) { |
die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) ); |
} |
if ( $resultat->numRows() == 0 ) { |
$adme_site_id =$adme_site_id; |
} |
else { |
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT); |
$adme_site_id = $ligne->gsr_id_site_01; |
} |
$resultat->free(); |
//--------------------------------------------------------------------------------------------------------------- |
// Création du formulaire |
// Notes : Quickform semble remplacer les & des & à nouveau par des & solution utiliser str_replace()... |
$form =& new HTML_QuickForm('adme_form_sites', 'post', str_replace('&', '&', $objet_pear_url->getUrl())); |
$tab_index = 1000; |
$squelette =& $form->defaultRenderer(); |
$squelette->setformTemplate("\n".'<form {attributes}>'."\n".'{content}'."\n"."\n".'</form>'."\n"); |
$squelette->setElementTemplate( '{label}'."\n".'{element}'."\n". |
'<!-- BEGIN required --><span class="symbole_obligatoire">*</span><!-- END required -->'."\n". |
'<!-- BEGIN error --><span class="erreur">{error}</span><!-- END error -->'."\n"); |
$partie_site_debut = '<fieldset>'."\n". |
'<legend>'.ADME_LG_FORM_SITE_TITRE.'</legend>'."\n"; |
$form->addElement('html', $partie_site_debut); |
$id = 'adme_site_id'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'onchange' => 'javascript:this.form.submit();'); |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_SITE_CHOIX.'</label>'; |
$objet_select = new HTML_QuickForm_select($id, $label, '', $aso_attributs); |
$aso_options = array(); |
//print $adme_site_id; |
foreach ($liste_site as $ligne ) { |
if (!isset($adme_site_id) || $adme_site_id == 0) { |
$adme_site_id = $ligne->gs_id_site; |
} |
// print $ligne->gs_id_site; |
if ($ligne->gs_id_site == $adme_site_id) { |
$objet_select->addOption(htmlentities($ligne->gs_nom.' ('.$ligne->gs_code_alpha.')'), $ligne->gs_id_site, 'selected="selected"'); |
// Attribution du nom du site sur lequel on travaille pour le titre |
$site_nom = $ligne->gs_nom; |
} else { |
$objet_select->addOption(htmlentities($ligne->gs_nom.' ('.$ligne->gs_code_alpha.')'), $ligne->gs_id_site); |
} |
} |
$form->addElement($objet_select); |
$form->addElement('submit', 'choisir_site', ADME_LG_FORM_SITE_VALIDER); |
$partie_site_fin = "\n".'</fieldset>'; |
$form->addElement('html', $partie_site_fin); |
// Instanciation des valeurs par défaut du formulaire |
if (isset($id_site_par_defaut)) { |
if (!isset($_GET['adme_site_id'])) { |
$adme_site_id=$id_site_par_defaut; |
} else { |
$adme_site_id=$_GET['adme_site_id']; |
} |
} |
$form->setDefaults(array('adme_site_id' => $adme_site_id)); |
$retour =''; |
$retour .= '<h1>'.ADME_LG_MENU_TITRE.$site_nom.'</h1>'."\n"; |
$retour .= $form->toHTML()."\n"; |
//--------------------------------------------------------------------------------------------------------------- |
// Gestion des menus classiques |
$retour .= '<p>'."\n"; |
$objet_pear_url_copie = $objet_pear_url; |
$objet_pear_url_copie->addQueryString('adme_action', ADME_LG_ACTION_CLASSIQUE_AJOUTER); |
$objet_pear_url_copie->addQueryString('adme_site_id', $adme_site_id); |
$objet_pear_url_copie->addQueryString('adme_menu_id', 0); |
$url_ajout_menu_classique_n1 = $objet_pear_url_copie->getURL(); |
//unset($url_ajout_menu_n1); |
$retour .= '<a href="'.$url_ajout_menu_classique_n1.'" >'. |
ADME_LG_MENU_CLASSIQUE_RACINE.' '. |
'<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_NOUVEAU.'" alt="+" />'. |
'</a>'."\n"; |
$retour .= '</p>'."\n"; |
$retour .= ADME_afficherListeMenuClassique($objet_pear_db, $objet_pear_url, $adme_site_id, $adme_menu_id, $adme_action, 0); |
//--------------------------------------------------------------------------------------------------------------- |
// Gestion des menus communs |
$retour .= '<p>'."\n"; |
$objet_pear_url_copie = $objet_pear_url; |
$objet_pear_url_copie->addQueryString('adme_action', ADME_LG_ACTION_COMMUN_AJOUTER); |
$objet_pear_url_copie->addQueryString('adme_site_id', $adme_site_id); |
$objet_pear_url_copie->addQueryString('adme_menu_id', 0); |
$url_ajout_menu_commun_n1 = $objet_pear_url_copie->getURL(); |
//unset($url_ajout_menu_n1); |
$retour .= '<a href="'.$url_ajout_menu_commun_n1.'">'. |
ADME_LG_MENU_COMMUN_RACINE.' '. |
'<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_NOUVEAU.'" alt="+" />'. |
'</a>'."\n"; |
$retour .= '</p>'."\n"; |
$retour .= ADME_afficherListeMenuCommun($objet_pear_db, $objet_pear_url, $adme_site_id, $adme_menu_id, $adme_action, 0); |
return $retour; |
} |
// +------------------------------------------------------------------------------------------------------+ |
// | PIED du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.19 2007-04-19 15:34:35 neiluj |
* préparration release (livraison) "Narmer" - v0.25 |
* |
* Revision 1.18 2006/10/16 15:49:07 ddelon |
* Refactorisation code mulitlinguisme et gestion menu invisibles |
* |
* Revision 1.17 2006/10/06 13:38:45 florian |
* ergonomie amélioree |
* |
* Revision 1.16 2006/04/28 12:41:49 florian |
* corrections erreurs chemin |
* |
* Revision 1.15 2006/03/24 13:03:24 ddelon |
* bug afficheur multilinguisme |
* |
* Revision 1.14 2006/03/23 20:24:59 ddelon |
* *** empty log message *** |
* |
* Revision 1.13 2006/03/13 21:00:20 ddelon |
* Suppression messages d'erreur multilinguisme |
* |
* Revision 1.12 2006/03/02 10:49:49 ddelon |
* Fusion branche multilinguisme dans branche principale |
* |
* Revision 1.11.2.1 2006/02/28 14:02:11 ddelon |
* Finition multilinguisme |
* |
* Revision 1.11 2005/07/18 16:14:32 ddelon |
* css admin + menu communs |
* |
* Revision 1.10 2005/07/08 21:57:24 ddelon |
* Copyright |
* |
* Revision 1.9 2005/05/12 16:51:37 alex |
* Changement de l'odre d'apparition des sites dans l'administration des menus. |
* |
* Revision 1.8 2005/01/26 16:18:05 jpm |
* Correction bogue 221 : mauvais réglage du titre. |
* |
* Revision 1.7 2004/11/24 11:31:51 jpm |
* Ajout d'une contante de langue à la place d'un texte. |
* |
* Revision 1.6 2004/11/10 17:26:07 jpm |
* Fin gestion de la traduction. |
* |
* Revision 1.5 2004/11/10 11:58:54 jpm |
* Mise en place des constantes de traduction de l'appli. |
* |
* Revision 1.4 2004/11/09 17:48:35 jpm |
* Gestion de différentes interfaces d'administration. |
* |
* Revision 1.3 2004/11/09 12:37:34 jpm |
* Fin de gestion des menus et mise en conformité avec la convention de codage. |
* |
* Revision 1.2 2004/11/08 17:41:07 jpm |
* Légères corrections : multisite, corrections SQL. |
* |
* Revision 1.1 2004/11/04 12:26:42 jpm |
* Contient les fonctions d'affichage général de l'appli ADME. |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v5.0-ouadji/papyrus/applications/admin_menu/bibliotheque/adme_menu_classique.fonct.php |
---|
New file |
0,0 → 1,1999 |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// Copyright (C) 1999-2004 Tela Botanica (accueil@tela-botanica.org) |
// |
// Ce logiciel est un programme informatique servant à gérer du contenu et des |
// applications web. |
// Ce logiciel est régi par la licence CeCILL soumise au droit français et |
// respectant les principes de diffusion des logiciels libres. Vous pouvez |
// utiliser, modifier et/ou redistribuer ce programme sous les conditions |
// de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA |
// sur le site "http://www.cecill.info". |
// En contrepartie de l'accessibilité au code source et des droits de copie, |
// de modification et de redistribution accordés par cette licence, il n'est |
// offert aux utilisateurs qu'une garantie limitée. Pour les mêmes raisons, |
// seule une responsabilité restreinte pèse sur l'auteur du programme, le |
// titulaire des droits patrimoniaux et les concédants successifs. |
// A cet égard l'attention de l'utilisateur est attirée sur les risques |
// associés au chargement, à l'utilisation, à la modification et/ou au |
// développement et à la reproduction du logiciel par l'utilisateur étant |
// donné sa spécificité de logiciel libre, qui peut le rendre complexe à |
// manipuler et qui le réserve donc à des développeurs et des professionnels |
// avertis possédant des connaissances informatiques approfondies. Les |
// utilisateurs sont donc invités à charger et tester l'adéquation du |
// logiciel à leurs besoins dans des conditions permettant d'assurer la |
// sécurité de leurs systèmes et ou de leurs données et, plus généralement, |
// à l'utiliser et l'exploiter dans les mêmes conditions de sécurité. |
// Le fait que vous puissiez accéder à cet en-tête signifie que vous avez |
// pris connaissance de la licence CeCILL, et que vous en avez accepté les |
// termes. |
// ---- |
// CVS : $Id: adme_menu_classique.fonct.php,v 1.42 2007-10-25 14:26:56 ddelon Exp $ |
/** |
* Fonctions de gestion des menus classiques |
* |
* Permet de lister, d'ajouter, de modifier, et de déplacer des menus classiques. |
* Par menus classiques nous entendons tous les menus devant paraitre dans l'arborescences |
* des menus disponibles pour le site courant. |
* |
*@package Admin_menu |
*@subpackage Fonctions |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Alexandre GRANIER <alexandre@tela-botanica.org> |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.42 $ $Date: 2007-10-25 14:26:56 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// +------------------------------------------------------------------------------------------------------+ |
// | LISTE de FONCTIONS | |
// +------------------------------------------------------------------------------------------------------+ |
/** Fonction ADME_afficherListeMenuClassique () - Affiche un arbre de menu en xhtml |
* |
* Elle forme l'arbre des menus classiques à administrer. |
* Ancien nom : deployer_menu(). |
* |
* @param object objet Pear de connection à la base de données. |
* @param object objet Pear représentant l'url de base. |
* @param integer l'identifiant du menu à administrer. |
* @param integer l'identifiant du menu sur lequel on agit. |
* @param string le nom de l'action courante. |
* @param integer l'identifiant du menu en cours de déploiement. |
* @param boolean true indique que l'on a à faire au premier appel de cette fonction récursive. |
* @return string le code XHTML constituant l'arbre des menus à administrer. |
*/ |
function ADME_afficherListeMenuClassique($db, $url, $adme_site_id, $adme_menu_id, $adme_action, $id_menu_a_deployer, $bln_premier_appel = true) |
{ |
// Initialisation des variables : |
$retour = ''; |
// Est-ce que ces menus comporte des sous-menus ? |
$requete_sous_menu = 'SELECT gm_id_menu '. |
'FROM gen_menu, gen_menu_relation AS GMR01, gen_menu_relation AS GMR02 '. |
'WHERE GMR01.gmr_id_menu_02 = '.$id_menu_a_deployer.' '. |
'AND GMR01.gmr_id_menu_01 = gm_id_menu '. |
'AND gm_ce_site = '.$adme_site_id.' '. |
'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_sous_menu = $db->query($requete_sous_menu) ; |
if (DB::isError($resultat_sous_menu)) { |
die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_sous_menu->getMessage(), $requete_sous_menu)); |
} |
// Gestion du stockage ou déstockage des menus ouverts |
if (($adme_action == ADME_LG_ACTION_DEPLIER || $adme_action == ADME_LG_ACTION_CLASSIQUE_AJOUTER) && $id_menu_a_deployer != 0) { |
$_SESSION['adme_menus_classiques_ouverts'][$adme_menu_id] = $adme_menu_id; |
} |
if ($adme_action == ADME_LG_ACTION_PLIER && $id_menu_a_deployer != 0) { |
unset($_SESSION['adme_menus_classiques_ouverts'][$adme_menu_id]); |
foreach ($_SESSION['adme_menus_classiques_ouverts'] as $val) { |
if (GEN_etreAncetre($adme_menu_id, $val)) { |
unset($_SESSION['adme_menus_classiques_ouverts'][$val]); |
} |
} |
} |
// Gestion affichage des menus |
if ($resultat_sous_menu->numRows() > 0) { |
// Ici, on sait qu'un menu a des sous menus, on commence par l'afficher: |
if ($bln_premier_appel == false) { |
$retour .= '<li>'."\n"; |
if (GEN_etreAncetre($id_menu_a_deployer, $adme_menu_id) || |
($id_menu_a_deployer == $adme_menu_id && $adme_action == ADME_LG_ACTION_DEPLIER) || |
isset($_SESSION['adme_menus_classiques_ouverts'][$id_menu_a_deployer]) |
){ |
// Affiche un - |
$retour .= ADME_retournerXhtmlMenuClassique($db, $url, $adme_site_id, $id_menu_a_deployer, 1); |
} else if ( !GEN_etreAncetre($id_menu_a_deployer, $adme_menu_id) || |
($id_menu_a_deployer == $adme_menu_id && $adme_action == ADME_LG_ACTION_PLIER) || |
!isset($_SESSION['adme_menus_classiques_ouverts'][$id_menu_a_deployer]) |
){ |
// Affiche un + |
$retour .= ADME_retournerXhtmlMenuClassique($db, $url, $adme_site_id, $id_menu_a_deployer, 2); |
} |
} |
if ($bln_premier_appel == true || GEN_etreAncetre($id_menu_a_deployer, $adme_menu_id) || |
($id_menu_a_deployer == $adme_menu_id && $adme_action == ADME_LG_ACTION_DEPLIER) || |
isset($_SESSION['adme_menus_classiques_ouverts'][$id_menu_a_deployer]) |
){ |
$retour .= '<ul class="menu_classique">'."\n"; |
while ($ligne_sous_menu = $resultat_sous_menu->fetchRow(DB_FETCHMODE_OBJECT)) { |
$retour .= ADME_afficherListeMenuClassique($db, $url, $adme_site_id, $adme_menu_id, $adme_action, $ligne_sous_menu->gm_id_menu, false); |
} |
$retour .= '</ul>'."\n"; |
} |
if ($bln_premier_appel == false) { |
$retour .= '</li>'."\n"; |
} |
} else if ($resultat_sous_menu->numRows() == 0 && $bln_premier_appel == false) { |
$retour .= '<li>'."\n"; |
$retour .= ADME_retournerXhtmlMenuClassique($db, $url, $adme_site_id, $id_menu_a_deployer, 0); |
$retour .= '</li>'."\n"; |
} |
return $retour; |
} |
/** Fonction ADME_retournerXhtmlMenuClassique() - Effectue une sortie d'un menu en XHTML |
* |
* Retourne le XHTML d'une ligne de l'arbre des menus "classiques" permettant de l'administer. |
* Ancien nom : menu_toHtml(). |
* |
* @param object objet Pear de connection à la base de données. |
* @param object objet Pear représentant l'url de base. |
* @param integer l'identifiant du site à administrer. |
* @param integer l'identifiant du menu à administrer. |
* @param integer 0 indique que le menu ne possède pas de fils, 1 qu'il faut afficher un - et 2 un +. |
* @return string une ligne de liste XHTML |
*/ |
function ADME_retournerXhtmlMenuClassique($db, $url, $adme_site_id, $adme_menu_id, $int_deplier,$est_traduction=false,$menu_traduction_defaut=0) |
{ |
//------------------------------------------------------------------------------------------------------------------- |
// Initialisation des variables |
//------------------------------------------------------------------------------------------------------------------- |
// Récupération des infos concernant l'administrateur d'un menu |
$requete = 'SELECT gen_menu.*, ga_prenom '. |
'FROM gen_menu, gen_annuaire '. |
'WHERE gm_id_menu = '.$adme_menu_id.' '. |
'AND gm_ce_admin = ga_id_administrateur'; |
$resultat = $db->query($requete); |
if (DB::isError($resultat)) { |
die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)); |
} |
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT); |
//------------------------------------------------------------------------------------------------------------------- |
// Recupération des infos de l'appli du menu courant. |
$ligne_app = GEN_retournerInfoAppliMenu($db, $adme_menu_id); |
//------------------------------------------------------------------------------------------------------------------- |
// XHTML image plier-déplier |
$url->addQueryString('adme_site_id', $adme_site_id); |
$url->addQueryString('adme_menu_id', $adme_menu_id); |
$xhtml_pd = ''; |
if ($int_deplier != 0) { |
if ($int_deplier == 1) { |
// Afficher un - |
$image_plier_deplier = ADME_IMAGE_MOINS; |
$alt = ADME_LG_ACTION_PLIER_ALT; |
$url->addQueryString('adme_action', ADME_LG_ACTION_PLIER); |
$url_plier_deplier = $url->getURL(); |
} else if ($int_deplier == 2) { |
// Afficher un + |
$image_plier_deplier = ADME_IMAGE_PLUS; |
$alt = ADME_LG_ACTION_DEPLIER_ALT; |
$url->addQueryString('adme_action', ADME_LG_ACTION_DEPLIER); |
$url_plier_deplier = $url->getURL(); |
} |
$xhtml_pd = '<a href="'.$url_plier_deplier.'" title="'.$alt.'">'. |
'<img class="'.ADME_CLASS_IMG_PD.'" src="'.$image_plier_deplier.'" alt="'.$alt.'" />'. |
'</a>'.' '."\n"; |
} |
//------------------------------------------------------------------------------------------------------------------- |
// XHTML du nom du menu et de ses infos |
$xhtml_info = htmlentities(empty($ligne->gm_nom) ? ADME_LG_PARENTHESE_OUVRANTE.$ligne->gm_nom.ADME_LG_PARENTHESE_FERMANTE : $ligne->gm_nom); |
$xhtml_info .= ' '; |
if (!isset($ligne_app->gap_nom)) { |
$gap_nom=''; |
} |
else { |
$gap_nom=$ligne_app->gap_nom; |
} |
$xhtml_info .= ADME_LG_PARENTHESE_OUVRANTE.$gap_nom.' '.ADME_LG_SLASH.' '.$ligne->ga_prenom.ADME_LG_PARENTHESE_FERMANTE; |
$xhtml_info .= ' '."\n"; |
//------------------------------------------------------------------------------------------------------------------- |
// XHTML actions |
$url->removeQueryString('adme_action'); |
$url->addQueryString('adme_action', ADME_LG_ACTION_CLASSIQUE_MODIFIER); |
$xhtml_action = '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_CLASSIQUE_MODIFIER_TITLE.'">'. |
'<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_VOIR.'" alt="'.ADME_LG_ACTION_CLASSIQUE_MODIFIER_ALT.'" />'. |
'</a> '."\n"; |
$url->removeQueryString('adme_action'); |
if (!$est_traduction) { |
$url->addQueryString('adme_action', ADME_LG_ACTION_CLASSIQUE_MONTER); |
$xhtml_action .= '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_CLASSIQUE_MONTER_TITLE.'">'. |
'<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_FLECHE_HAUT.'" alt="'.ADME_LG_ACTION_CLASSIQUE_MONTER_ALT.'" />'. |
'</a> '."\n"; |
$url->removeQueryString('adme_action'); |
$url->addQueryString('adme_action', ADME_LG_ACTION_CLASSIQUE_DESCENDRE); |
$xhtml_action .= '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_CLASSIQUE_DESCENDRE_TITLE.'">'. |
'<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_FLECHE_BAS.'" alt="'.ADME_LG_ACTION_CLASSIQUE_DESCENDRE_ALT.'" />'. |
'</a> '."\n"; |
$url->addQueryString('adme_action',ADME_LG_ACTION_CLASSIQUE_DIMINUER); |
$xhtml_action .= '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_CLASSIQUE_DIMINUER_TITLE.'">'. |
'<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_FLECHE_GAUCHE.'" alt="'.ADME_LG_ACTION_CLASSIQUE_DIMINUER_ALT.'" />'. |
'</a> '."\n"; |
$url->removeQueryString('adme_action'); |
$url->addQueryString('adme_action',ADME_LG_ACTION_CLASSIQUE_AUGMENTER); |
$xhtml_action .= '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_CLASSIQUE_AUGMENTER_TITLE.'">'. |
'<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_FLECHE_DROITE.'" alt="'.ADME_LG_ACTION_CLASSIQUE_AUGMENTER_ALT.'" />'. |
'</a> '."\n"; |
} |
$url->removeQueryString('adme_action'); |
if (!$est_traduction) { |
$url->addQueryString('adme_action', ADME_LG_ACTION_CLASSIQUE_SUPPRIMER); |
$xhtml_action .= '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_CLASSIQUE_SUPPRIMER_TITLE.'" onclick="javascript:return confirm(\''.ADME_LG_ACTION_SUPPRIMER_CONFIRMATION.'\');">'. |
'<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_SUPPRIMER.'" alt="'.ADME_LG_ACTION_CLASSIQUE_SUPPRIMER_ALT.'" />'. |
'</a> '."\n"; |
} |
else { |
$url->addQueryString('adme_action', ADME_LG_ACTION_CLASSIQUE_SUPPRIMER_TRADUCTION); |
$xhtml_action .= '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_CLASSIQUE_SUPPRIMER_TRADUCTION_TITLE.'" onclick="javascript:return confirm(\''.ADME_LG_ACTION_SUPPRIMER_CONFIRMATION.'\');">'. |
'<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_SUPPRIMER.'" alt="'.ADME_LG_ACTION_CLASSIQUE_SUPPRIMER_TRADUCTION_ALT.'" />'. |
'</a> '."\n"; |
} |
$url->removeQueryString('adme_action'); |
if (!$est_traduction) { |
$url->addQueryString('adme_action', ADME_LG_ACTION_CLASSIQUE_AJOUTER); |
$xhtml_action .= '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_CLASSIQUE_AJOUTER_TITLE.'">'. |
'<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_NOUVEAU.'" alt="'.ADME_LG_ACTION_CLASSIQUE_AJOUTER_ALT.'" />'. |
'</a>'.' '."\n"; |
} |
$url->removeQueryString('adme_action'); |
// Si le menu à une application liée on regarde s'il y a une interface d'administration. |
if (!isset($ligne_app->gap_id_application)) { |
$gap_id_application=0; |
} |
else { |
$gap_id_application=$ligne_app->gap_id_application; |
} |
if ($gap_id_application != 0 && GEN_verifierPresenceInterfaceAdmin($db, $gap_id_application)) { |
$url->removeQueryString('adme_action'); |
$url->addQueryString('adme_action', ADME_LG_ACTION_ADMINISTRER); |
$xhtml_action .= '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_ADMINISTRER_TITLE.'">'. |
'<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_TEXTE.'" alt="'.ADME_LG_ACTION_ADMINISTRER_ALT.'" />'. |
'</a>'.' '."\n"; |
} |
if (!$est_traduction) { |
$requete_traduction = 'SELECT gmr_id_menu_02, gm_ce_i18n '. |
'FROM gen_menu_relation, gen_menu '. |
'WHERE '.$adme_menu_id.' = gmr_id_menu_01 ' . |
'AND gmr_id_menu_02 = gm_id_menu '. |
'AND gmr_id_valeur = 2 ';// 2 = "avoir traduction" |
$resultat_traduction = $db->query($requete_traduction); |
(DB::isError($resultat_traduction)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_traduction->getMessage(), $requete_traduction)) |
: ''; |
$url->addQueryString('adme_action',ADME_LG_ACTION_CLASSIQUE_TRADUIRE); |
$xhtml_action .= '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_CLASSIQUE_TRADUIRE_TITLE.'">'. |
ADME_LG_ACTION_CLASSIQUE_TRADUIRE_ALT. |
'</a> '."\n"; |
// Restriction possible à une langue si pas traduit |
if ($resultat_traduction->numRows() == 0 ) { |
$requete_lang = 'SELECT * FROM gen_i18n '; |
$resultat_lang = $db->query($requete_lang); |
(DB::isError($resultat_lang)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_lang->getMessage(), $requete_lang)) : ''; |
$requete_restriction = 'SELECT gmr_id_menu_02 '. |
'FROM gen_menu_relation '. |
'WHERE '.$adme_menu_id.' = gmr_id_menu_01 ' . |
'AND gmr_id_valeur = 106 ';// 106 restriction de menu |
$resultat_restriction = $db->query($requete_restriction); |
(DB::isError($resultat_restriction)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_restriction->getMessage(), $requete_restriction)) |
: ''; |
if ($resultat_restriction->numRows() == 0 ) { |
$restriction=0; |
} |
else { |
$restriction=1; |
} |
while ($ligne_lang = $resultat_lang->fetchRow(DB_FETCHMODE_OBJECT) ) { |
if (($restriction) && ($ligne->gm_ce_i18n==$ligne_lang->gi_id_i18n)) { |
$url->addQueryString('adme_action',ADME_LG_ACTION_CLASSIQUE_OUVRIR); |
$url->addQueryString('zone',$ligne_lang->gi_id_i18n); |
$xhtml_action .= '<i><b><a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_CLASSIQUE_OUVRIR_TITLE.'">'. |
$ligne_lang->gi_id_i18n. |
'</a></b></i> '."\n"; |
} |
else { |
$url->addQueryString('adme_action',ADME_LG_ACTION_CLASSIQUE_LIMITER); |
$url->addQueryString('zone',$ligne_lang->gi_id_i18n); |
$xhtml_action .= '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_CLASSIQUE_LIMITER_TITLE.'">'. |
$ligne_lang->gi_id_i18n. |
'</a> '."\n"; |
} |
} |
} |
} |
else { |
if ($menu_traduction_defaut==$adme_menu_id) { |
$xhtml_action .= '<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_TRADUCTION_DEFAUT_AFFICHAGE.'" alt="'.ADME_LG_ACTION_CLASSIQUE_TRADUCTION_DEFAUT_ALT.'" />'. |
' '."\n"; |
} |
else { |
$url->removeQueryString('adme_action'); |
$url->addQueryString('adme_action', ADME_LG_ACTION_CLASSIQUE_TRADUCTION_DEFAUT); |
$xhtml_action .= '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_CLASSIQUE_TRADUCTION_DEFAUT_TITLE.'">'. |
'<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_TRADUCTION_DEFAUT.'" alt="'.ADME_LG_ACTION_CLASSIQUE_TRADUCTION_DEFAUT_ALT.'" />'. |
'</a>'.' '."\n"; |
} |
} |
$xhtml_traduction=''; |
// $id_langue = $GLOBALS['_GEN_commun']['i18n']; |
$requete_traduction = 'SELECT gmr_id_menu_02, gm_ce_i18n '. |
'FROM gen_menu_relation, gen_menu '. |
'WHERE '.$adme_menu_id.' = gmr_id_menu_01 ' . |
'AND gmr_id_menu_02 = gm_id_menu '. |
'AND gmr_id_valeur = 2 ';// 2 = "avoir traduction" |
$resultat_traduction = $db->query($requete_traduction); |
(DB::isError($resultat_traduction)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_traduction->getMessage(), $requete_traduction)) |
: ''; |
if ($resultat_traduction->numRows() > 0 ) { |
$requete_traduction_defaut = 'SELECT gmr_id_menu_02 '. |
'FROM gen_menu_relation '. |
'WHERE '.$adme_menu_id.' = gmr_id_menu_01 ' . |
'AND gmr_id_valeur = 105 ';// 105 traduction par defaut |
$resultat_traduction_defaut = $db->query($requete_traduction_defaut); |
(DB::isError($resultat_traduction_defaut)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_traduction->getMessage(), $requete_traduction_defaut)) |
: ''; |
if ($resultat_traduction_defaut->numRows() == 0 ) { |
$menu_traduction_defaut=0; |
$xhtml_action .= '<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_TRADUCTION_DEFAUT_AFFICHAGE.'" alt="'.ADME_LG_ACTION_CLASSIQUE_TRADUCTION_DEFAUT_ALT.'" />'. |
' '."\n"; |
} |
else { |
$ligne_traduction_defaut = $resultat_traduction_defaut->fetchRow(DB_FETCHMODE_OBJECT); |
$menu_traduction_defaut=$ligne_traduction_defaut->gmr_id_menu_02; |
if ($menu_traduction_defaut!=$adme_menu_id) { |
$url->removeQueryString('adme_action'); |
$url->addQueryString('adme_action', ADME_LG_ACTION_CLASSIQUE_TRADUCTION_DEFAUT); |
$xhtml_action .= '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_CLASSIQUE_TRADUCTION_DEFAUT_TITLE.'">'. |
'<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_TRADUCTION_DEFAUT.'" alt="'.ADME_LG_ACTION_CLASSIQUE_TRADUCTION_DEFAUT_ALT.'" />'. |
'</a>'.' '."\n"; |
} |
else { |
$xhtml_action .= '<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_TRADUCTION_DEFAUT_AFFICHAGE.'" alt="'.ADME_LG_ACTION_CLASSIQUE_TRADUCTION_DEFAUT_ALT.'" />'. |
' '."\n"; |
} |
} |
while ($ligne_resultat = $resultat_traduction->fetchRow(DB_FETCHMODE_OBJECT)) { |
$xhtml_traduction.="<br><em>".$ligne_resultat->gm_ce_i18n.": ".ADME_retournerXhtmlMenuClassique($db, $url, $adme_site_id, $ligne_resultat->gmr_id_menu_02, 0,true,$menu_traduction_defaut)."</em>"; |
} |
} |
//------------------------------------------------------------------------------------------------------------------- |
// Envoi du menu. |
//------------------------------------------------------------------------------------------------------------------- |
$retour = $xhtml_pd.$xhtml_info.$xhtml_action.$xhtml_traduction; |
return $retour; |
} |
/** Fonction ADME_ajouterMenuClassique() - Ajoute un sous menu au menu courant |
* |
* Cette fonction permet d'ajouter un sous-menu de type "classique" au menu courant. |
* Ancien nom : addMenu() |
* |
* @param object objet Pear de connection à la base de données. |
* @param object objet Pear d'authentification. |
* @param integer l'identifiant du site à administrer. |
* @param integer l'identifiant du menu à administrer. |
* @return void le menu classique est ajouté à la base de données. |
*/ |
function ADME_ajouterMenuClassique($db, $auth, $adme_site_id, $adme_menu_id) |
{ |
$url=$GLOBALS['_GEN_commun']['url']; |
$url->removeQueryString('adme_action'); |
//---------------------------------------------------------------------------- |
// Récupération d'infos sur le site principal. |
$objet_site = GEN_lireInfoSitePrincipal($db, $adme_site_id); |
if ($objet_site == false) { |
die('ERREUR Génésia Administrateur de Menus : impossible de lire les infos du site.<br />'. |
'ID du site : '.$adme_site_id.'<br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br />'); |
} |
$nouveau_id_menu = SQL_obtenirNouveauId($db, 'gen_menu', 'gm_id_menu'); |
$auteur = $auth->getAuthData('ga_prenom').' '.$auth->getAuthData('ga_nom'); |
//---------------------------------------------------------------------------- |
// Ajout du nouveau menu |
$requete = 'INSERT INTO gen_menu '. |
'SET gm_id_menu = '.$nouveau_id_menu.', '. |
'gm_ce_site = '.$adme_site_id.', '. |
'gm_ce_i18n = "'.$objet_site->gs_ce_i18n.'", '. |
'gm_ce_application = 0, '. |
'gm_code_num = '.$nouveau_id_menu.', '. |
'gm_code_alpha = "menu_'.$nouveau_id_menu.'", '. |
'gm_nom = "menu_'.$nouveau_id_menu.'", '. |
'gm_titre = "menu_'.$nouveau_id_menu.'", '. |
'gm_description_resume = "menu_'.$nouveau_id_menu.'", '. |
'gm_auteur = "'.$auteur.'", '. |
'gm_editeur = "'.$objet_site->gs_auteur.'", '. |
'gm_date_creation = "'.date('Y-m-d H:i:s').'", '. |
'gm_date_soumission = "'.date('Y-m-d H:i:s').'", '. |
'gm_date_acceptation = "'.date('Y-m-d H:i:s').'", '. |
'gm_date_publication = "'.date('Y-m-d H:i:s').'", '. |
'gm_date_debut_validite = "'.date('Y-m-d H:i:s').'", '. |
'gm_date_fin_validite = "0000-00-00 00:00:00", '. |
'gm_date_copyright = "'.date('Y-00-00 00:00:00').'", '. |
'gm_categorie = "menu", '. |
'gm_ce_admin = '.$auth->getAuthData('ga_id_administrateur').' ' |
; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
//---------------------------------------------------------------------------- |
// Ajout de la relation "père" |
if (!isset($adme_menu_id) && empty($adme_menu_id)) { |
$adme_menu_id = 0 ;// Identifiant du père |
} |
//---------------------------------------------------------------------------- |
// Récupération d'infos sur la hierarchie du menu |
$requete = 'SELECT GMR01.gmr_ordre '. |
'FROM gen_menu_relation AS GMR01, gen_menu_relation AS GMR02 '. |
'WHERE GMR01.gmr_id_menu_02 = '.$adme_menu_id.' '. |
'AND GMR01.gmr_id_valeur = 1 '.// 1 = avoir "père" |
'AND GMR02.gmr_id_menu_01 = GMR01.gmr_id_menu_01 '. |
'AND GMR02.gmr_id_menu_01 = GMR02.gmr_id_menu_02 '. |
'AND GMR02.gmr_id_valeur = 100 '.// 100 = menu type "classique" |
'ORDER BY GMR01.gmr_ordre DESC'; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT); |
$nouveau_ordre_menu = $ligne->gmr_ordre + 1; |
$resultat->free(); |
$requete = 'INSERT INTO gen_menu_relation '. |
'SET gmr_id_menu_02 = '.$adme_menu_id.', '. |
'gmr_id_menu_01 = '.$nouveau_id_menu.', '. |
'gmr_id_valeur = 1, '. |
'gmr_ordre = '.$nouveau_ordre_menu; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
//---------------------------------------------------------------------------- |
// Ajout de la relation-type "menu classique" |
// Récupération d'infos sur la hierarchie du menu |
$requete = 'SELECT * '. |
'FROM gen_menu_relation, gen_menu '. |
'WHERE gmr_id_menu_02 = gmr_id_menu_01 '. |
'AND gmr_id_valeur = 100 '.// 100 = type menu "classique" |
'AND gmr_id_menu_01 = gm_id_menu '. |
'AND gm_ce_site = '.$adme_site_id.' '. |
'ORDER BY gmr_ordre DESC'; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT); |
$nouveau_ordre_menu_classique = $ligne->gmr_ordre + 1; |
$resultat->free(); |
$requete = 'INSERT INTO gen_menu_relation '. |
'SET gmr_id_menu_01 = '.$nouveau_id_menu.', '. |
'gmr_id_menu_02 = '.$nouveau_id_menu.', '. |
'gmr_id_valeur = 100, '. |
'gmr_ordre = '.$nouveau_ordre_menu_classique; |
$result = $db->query($requete); |
(DB::isError($result)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $result->getMessage(), $requete)) : ''; |
} |
/** Fonction ADME_afficherFormMenuClassique() - Affiche le formulaire pour un menu classique |
* |
* Utilise HTML_QuickForm pour générer le formulaire. |
* Ancien nom : showMenu() |
* |
* @param object objet Pear de connection à la base de données. |
* @param object objet Pear représentant l'url de base. |
* @param integer l'identifiant du site à administrer. |
* @param integer l'identifiant du menu à administrer. |
* @param array le tableau associatif des valeurs à afficher dans le formulaire. |
* @return string le formulaire XHTML. |
*/ |
function ADME_afficherFormMenuClassique($db, $url, $adme_site_id, $adme_menu_id, $aso_valeurs,$traduction=FALSE) |
{ |
// Initialisation de variable |
$url->addQueryString('adme_site_id', $adme_site_id); |
$url->addQueryString('adme_menu_id', $adme_menu_id); |
$script = 'function switchMenu(obj) { |
var el = document.getElementById(obj); |
if(el.style.display != "block") |
{ |
el.style.display = "block"; |
} |
else |
{ |
el.style.display = "none"; |
} |
}'; |
GEN_stockerCodeScript($script); |
// Nous sommes toujours en modification car un menu est ajouté automatiquement! |
// Récupération des informations du menu concerné. |
if (!isset($aso_valeurs[ADME_LG_ACTION_CLASSIQUE_VERIFIER]) && !isset($aso_valeurs[ADME_LG_ACTION_CLASSIQUE_VERIFIER_TRADUCTION])) { |
$aso_valeurs = GEN_lireInfoMenu($db, $adme_menu_id, DB_FETCHMODE_ASSOC); |
if ($aso_valeurs === false) { |
die('ERREUR Papyrus Administrateur de Menus : '.ADME_LG_ERREUR_INFO_MENU.'<br />'. |
'Idenitifiant du menu n° : '. $adme_menu_id .'<br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br />'); |
} |
// Requete pour récupérer les informations issues des relations du site à modifier |
$ligne = GEN_lireInfoMenuRelation($db, $adme_menu_id, $id_valeur = 101); |
$aso_valeurs['defaut'] = false; |
if (isset($ligne) && !empty($ligne)) { |
if ($ligne->gmr_id_valeur != false) {// 101 = site par défaut |
$aso_valeurs['defaut'] = true; |
} |
} |
} |
// Titre de la page |
if ($traduction) { |
$retour = '<h1>'.ADME_LG_FORM_MENU_CLASSIQUE_TITRE_GENERAL_TRADUCTION.'</h1>'."\n"; |
} |
else { |
$retour = '<h1>'.ADME_LG_FORM_MENU_CLASSIQUE_TITRE_GENERAL.'</h1>'."\n"; |
} |
$retour .= '<p class="adme_menu_id" >'.ADME_LG_FORM_MENU_ID.'<span id="adme_menu_id">'.$aso_valeurs['gm_id_menu'].'</span></p>'."\n"; |
// Création du formulaire |
// Notes : Quickform semble remplacer les & des & à nouveau par des & solution utiliser str_replace()... |
$form =& new HTML_QuickForm('form_menu_classique', 'post', str_replace('&', '&', $url->getUrl())); |
$tab_index = 1000; |
$squelette =& $form->defaultRenderer(); |
$squelette->setFormTemplate("\n".'<form {attributes}>'."\n".'{content}'."\n".'</form>'."\n"); |
$squelette->setElementTemplate( '<p class="formulaire_element"><span class="form_label">'."\n". |
'{label}'."\n". |
'<!-- BEGIN required --><span style="color:red; width:5px; margin:0; padding:0;">*</span><!-- END required -->'."\n". |
'</span>'."\n".'{element}'."\n". |
'<!-- BEGIN error --><span class="erreur">{error}</span><!-- END error -->'."\n". |
'</p>'."\n"); |
$squelette->setGroupElementTemplate('<p style="display:inline">{element}</p>', 'form_boutons'); |
$squelette->setRequiredNoteTemplate("\n".'<p class="symbole_obligatoire">* : {requiredNote}</p>'."\n"); |
//Note pour les erreurs javascript |
$form->setJsWarnings('Erreur de saisie', 'Veuillez verifier vos informations saisies'); |
// Note de fin de formulaire |
$form->setRequiredNote(ADME_LG_FORM_TXT_CHP_OBLIGATOIRE); |
$partie_menu_debut = '<fieldset>'."\n".'<legend>'.ADME_LG_FORM_MENU_CLASSIQUE_TITRE_CONFIG.'</legend>'."\n"; |
$form->addElement('html', $partie_menu_debut); |
$id = 'gm_code_alpha'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 35, 'maxlength' => 50); |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_CODE_ALPHA.'</label>'; |
$form->addElement('text', $id, $label, $aso_attributs); |
$form->addRule($id, ADME_LG_FORM_MENU_REGLE_CODE_ALPHA, 'required', '', 'client'); |
$id = 'gm_nom'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 35, 'maxlength' => 100); |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_NOM.'</label>'; |
$form->addElement('text', $id, $label, $aso_attributs); |
$form->addRule($id, ADME_LG_FORM_MENU_REGLE_NOM, 'required', '', 'client'); |
$form->applyFilter($id, 'trim'); |
$id = 'gm_description_resume'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'rows' => 2, 'cols' => 50); |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_INFO_BULLE.'</label>'; |
$form->addElement('textarea', $id, $label, $aso_attributs); |
$form->addRule($id, ADME_LG_FORM_MENU_REGLE_INFO_BULLE, 'required', '', 'client'); |
// Requête sur les applications |
$requete = 'SELECT gap_id_application, gap_nom '. |
'FROM gen_application '. |
'WHERE gap_bool_applette = 0 '. |
'ORDER BY gap_nom ASC';// Pour éviter d'afficher les applettes. |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
$aso_options = array(); |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) { |
$aso_options[$ligne->gap_id_application] = $ligne->gap_nom; |
} |
$resultat->free(); |
$id = 'gm_ce_application'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++); |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_APPLI.'</label>'; |
$form->addElement('select', $id, $label, $aso_options, $aso_attributs); |
if ($traduction) { |
// Recherche liste des menu deja traduits |
$requete = 'SELECT distinct gm_ce_i18n '. |
'FROM gen_menu_relation, gen_menu '. |
'WHERE gmr_id_menu_01 = ' . $adme_menu_id .' '. |
'AND gm_id_menu = gmr_id_menu_02 '. |
'AND gmr_id_valeur = 2 '; // 2 = "avoir traduction" |
$resultat = $db->query($requete) ; |
if (DB::isError($resultat)) { |
die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) ); |
} |
$not_in_langue=''; |
if ( $resultat->numRows() == 0 ) { |
$not_in_langue="gi_id_i18n not in('".$aso_valeurs['gm_ce_i18n']."')"; |
} |
else { |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) { |
$not_in_langue="'".$ligne->gm_ce_i18n."'".",".$not_in_langue; |
$end="'".$ligne->gm_ce_i18n."'"; |
} |
if ($not_in_langue) { |
$not_in_langue="'".$aso_valeurs['gm_ce_i18n']."'".",".$not_in_langue; |
$not_in_langue=' gi_id_i18n not in('.$not_in_langue.$end.')'; |
} |
else { |
$not_in_langue="gi_id_i18n not in('".$aso_valeurs['gm_ce_i18n']."')"; |
} |
} |
$resultat->free(); |
$requete = "SELECT * FROM gen_i18n where ".$not_in_langue; |
/*$requete = 'SELECT * '. |
'FROM gen_i18n ';*/ |
$resultat = $db->query($requete); |
(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); |
} |
$id = 'gm_titre'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 35, 'maxlength' => 255); |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_TITRE.'</label>'; |
$form->addElement('text', $id, $label, $aso_attributs); |
$id = 'gm_mots_cles'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'rows' => 3, 'cols' => 50); |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_MOT_CLE.'</label>'; |
$form->addElement('textarea', $id, $label, $aso_attributs); |
$id = 'gm_description_libre'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'rows' => 3, 'cols' => 45); |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_DESCRIPTION.'</label>'; |
$form->addElement('textarea', $id, $label, $aso_attributs); |
$partie_menu_fin = "\n".'</fieldset>'."\n"; |
$form->addElement('html', $partie_menu_fin); |
//Lien javascript pour cacher les options compliquées |
$form->addElement('html', '<a href="#" onclick="switchMenu(\'config_avancee\');" title="'.ADME_VOIR_CONFIG_AVANCEE.'">'.ADME_VOIR_CONFIG_AVANCEE.'</a><br />'."\n"); |
//début de la div cachée pour les options compliquées----------------------------------------------- |
$form->addElement('html', '<div id="config_avancee" style="display:none;">'); |
$partie_entete_debut = '<fieldset>'."\n".'<legend>'.ADME_CONFIG_AVANCEE.'</legend>'."\n"; |
$form->addElement('html', $partie_entete_debut); |
$id = 'gm_code_num'; |
$aso_attributs = array('id'=>$id, 'tabindex' => $tab_index++, 'size' => 5, 'maxlength' => 100); |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_CODE_NUM.'</label>'; |
$form->addElement('text', $id, $label, $aso_attributs); |
$form->addRule($id, ADME_LG_FORM_MENU_REGLE_CODE_NUM, 'required', '', 'client'); |
$id = 'gm_raccourci_clavier'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 1, 'maxlength' => 1); |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_RACCOURCI.'</label>'; |
$form->addElement('text', $id, $label, $aso_attributs); |
$id = 'defaut'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++); |
if ($aso_valeurs[$id] === true) { |
$aso_attributs['checked'] = 'checked'; |
} |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_DEFAUT.'</label>'; |
$form->addElement('checkbox', $id, $label, '', $aso_attributs); |
$id = 'gm_fichier_squelette'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 35, 'maxlength' => 255); |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_FICHIER_SQUELETTE.'</label>'; |
$form->addElement('text', $id, $label, $aso_attributs); |
$id = 'gm_application_arguments'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 35, 'maxlength' => 255); |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_APPLI_ARGUMENT.'</label>'; |
$form->addElement('text', $id, $label, $aso_attributs); |
$id = 'gm_robot'; |
$aso_options = array( 'index,follow' => ADME_LG_FORM_MENU_INDEX_FOLLOW, |
'index' => ADME_LG_FORM_MENU_INDEX, |
'noindex' => ADME_LG_FORM_MENU_NOINDEX, |
'noindex,nofollow' => ADME_LG_FORM_MENU_NOINDEX_NOFOLLOW, |
'' => ADME_LG_FORM_MENU_INDEX_VIDE); |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++); |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_ROBOT.'</label>'; |
$form->addElement('select', $id, $label, $aso_options, $aso_attributs); |
$id = 'gm_titre_alternatif'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 35, 'maxlength' => 255); |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_TITRE_ALTERNATIF.'</label>'; |
$form->addElement('text', $id, $label, $aso_attributs); |
$id = 'gm_description_table_matieres'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'rows' => 3, 'cols' => 45); |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_TABLE_MATIERE.'</label>'; |
$form->addElement('textarea', $id, $label, $aso_attributs); |
$id = 'gm_source'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 35, 'maxlength' => 255); |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_SOURCE.'</label>'; |
$form->addElement('text', $id, $label, $aso_attributs); |
$id = 'gm_auteur'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 35, 'maxlength' => 255); |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_AUTEUR.'</label>'; |
$form->addElement('text', $id, $label, $aso_attributs); |
$id = 'gm_contributeur'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'rows' => 2, 'cols' => 45); |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_CONTRIBUTEUR.'</label>'; |
$form->addElement('textarea', $id, $label, $aso_attributs); |
$id = 'gm_editeur'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 35, 'maxlength' => 65000); |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_EDITEUR.'</label>'; |
$form->addElement('text', $id, $label, $aso_attributs); |
$id = 'gm_date_creation'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 19, 'maxlength' => 19); |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_DATE_CREATION.'</label>'; |
$form->addElement('text', $id, $label, $aso_attributs); |
$id = 'gm_date_debut_validite'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 19, 'maxlength' => 19); |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_DATE_VALIDITE_DEBUT.'</label>'; |
$form->addElement('text', $id, $label, $aso_attributs); |
$id = 'gm_date_fin_validite'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 19, 'maxlength' => 19); |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_DATE_VALIDITE_FIN.'</label>'; |
$form->addElement('text', $id, $label, $aso_attributs); |
$id = 'gm_date_copyright'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 19, 'maxlength' => 19); |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_DATE_COPYRIGHT.'</label>'; |
$form->addElement('text', $id, $label, $aso_attributs); |
$id = 'gm_licence'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 35, 'maxlength' => 255); |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_URL_LICENCE.'</label>'; |
$form->addElement('text', $id, $label, $aso_attributs); |
$id = 'gm_categorie'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 35, 'maxlength' => 100); |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_CATEGORIE.'</label>'; |
$form->addElement('text', $id, $label, $aso_attributs); |
$id = 'gm_public'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 35, 'maxlength' => 255); |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_PUBLIC.'</label>'; |
$form->addElement('text', $id, $label, $aso_attributs); |
$id = 'gm_public_niveau'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 25, 'maxlength' => 45); |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_PUBLIC_NIVEAU.'</label>'; |
$form->addElement('text', $id, $label, $aso_attributs); |
$id = 'gm_ce_type_portee_spatiale'; |
$aso_options = array( '' => ADME_LG_FORM_MENU_ZG_VIDE, |
'iso3166' => ADME_LG_FORM_MENU_ZG_ISO, |
'Point' => ADME_LG_FORM_MENU_ZG_POINT, |
'Box' => ADME_LG_FORM_MENU_ZG_DC, |
'TGN' => ADME_LG_FORM_MENU_ZG_GTGN); |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++); |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_ZG_TYPE.'</label>'; |
$form->addElement('select', $id, $label, $aso_options, $aso_attributs); |
$id = 'gm_portee_spatiale'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 35, 'maxlength' => 100); |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_ZG_VALEUR.'</label>'; |
$form->addElement('text', $id, $label, $aso_attributs); |
$id = 'gm_ce_type_portee_temporelle'; |
$aso_options = array( '' => ADME_LG_FORM_MENU_TMP_VIDE, |
'W3CDTF' => ADME_LG_FORM_MENU_TMP_W3C, |
'Period' => ADME_LG_FORM_MENU_TMP_DC); |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++); |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_TMP_TYPE.'</label>'; |
$form->addElement('select', $id, $label, $aso_options, $aso_attributs); |
$id = 'gm_portee_temporelle'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 35, 'maxlength' => 100); |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_TMP_VALEUR.'</label>'; |
$form->addElement('text', $id, $label, $aso_attributs); |
// Requete pour connaitre les informations sur l'administrateur ayant fait la dernière modif |
if (!isset($aso_valeurs[ADME_LG_ACTION_CLASSIQUE_VERIFIER]) && !isset($aso_valeurs[ADME_LG_ACTION_CLASSIQUE_VERIFIER_TRADUCTION])) { |
$requete_admin = 'SELECT * '. |
'FROM gen_annuaire '. |
'WHERE ga_id_administrateur = '.$aso_valeurs['gm_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.'</p>'; |
$form->addElement('html', $info_admin); |
} |
//fin de la div cachée pour les options compliquées------------------------------------------------- |
$form->addElement('html', "\n".'</fieldset>'."\n".'</div>'); |
$buttons[] = &HTML_QuickForm::createElement('link', 'annuler', ADME_LG_FORM_MENU_ANNULER, |
str_replace ("&", "&", $url->getURL()), ADME_LG_FORM_MENU_ANNULER); // Le preg_replace contourne un pb de QuickForm et Net_URL |
// qui remplacent deux fois les & par des & |
//Bouton de validation du formulaire |
if ($traduction) { |
$buttons[] = &HTML_QuickForm::createElement('submit', ADME_LG_ACTION_CLASSIQUE_VERIFIER_TRADUCTION, ADME_LG_FORM_MENU_VALIDER); |
$form->addElement('hidden', 'adme_site_id', $adme_site_id); |
} |
else { |
$buttons[] = &HTML_QuickForm::createElement('submit', ADME_LG_ACTION_CLASSIQUE_VERIFIER, ADME_LG_FORM_MENU_VALIDER); |
} |
$form->addGroup($buttons, 'form_boutons', null, ' '); |
$form->addElement('hidden', 'gm_id_menu', $aso_valeurs['gm_id_menu']); |
// Instanciation avec les valeur par défaut |
$form->setDefaults($aso_valeurs); |
$retour .= $form->toHTML()."\n"; |
return $retour; |
} |
/** Fonction ADME_validerFormAjouterMenuClassique() - Valide les données issues du formulaire pour gen_menu. |
* |
* Cette fonction valide les données à ajouter dans la table gen_menu. |
* |
* @param PEAR::DB 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 ADME_validerFormAjouterMenuClassique($db, $aso_valeurs) |
{ |
$message = ''; |
if ($aso_valeurs['gm_code_alpha'] == '') { |
$message .= '<p class="pap_erreur">'.ADME_LG_FORM_MENU_REGLE_CODE_ALPHA.'</p>'; |
} |
if ($aso_valeurs['gm_code_num'] == '') { |
$message .= '<p class="pap_erreur">'.ADME_LG_FORM_MENU_REGLE_CODE_NUM.'</p>'; |
} |
if ($aso_valeurs['gm_nom'] == '') { |
$message .= '<p class="pap_erreur">'.ADME_LG_FORM_MENU_REGLE_NOM.'</p>'; |
} |
if ($aso_valeurs['gm_description_resume'] == '') { |
$message .= '<p class="pap_erreur">'.ADME_LG_FORM_MENU_REGLE_INFO_BULLE.'</p>'; |
} |
return $message; |
} |
/** Fonction ADME_validerFormTraduireMenuClassique() - Valide les données issues du formulaire de traduction de menu |
* |
* Cette fonction valide les données à ajouter dans la table gen_menu. |
* |
* @param PEAR::DB 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 ADME_validerFormTraduireMenuClassique($db, $aso_valeurs) |
{ |
$message = ''; |
if ($aso_valeurs['gm_code_alpha'] == '') { |
$message .= '<p class="pap_erreur">'.ADME_LG_FORM_MENU_REGLE_CODE_ALPHA.'</p>'; |
} |
if ($aso_valeurs['gm_code_num'] == '') { |
$message .= '<p class="pap_erreur">'.ADME_LG_FORM_MENU_REGLE_CODE_NUM.'</p>'; |
} |
if ($aso_valeurs['gm_nom'] == '') { |
$message .= '<p class="pap_erreur">'.ADME_LG_FORM_MENU_REGLE_NOM.'</p>'; |
} |
if ($aso_valeurs['gm_description_resume'] == '') { |
$message .= '<p class="pap_erreur">'.ADME_LG_FORM_MENU_REGLE_INFO_BULLE.'</p>'; |
} |
return $message; |
} |
/** Fonction ADME_modifierMenuClassique() - Met à jour les infos d'un menu classique |
* |
* Fonction modifiant un menu commun à Papyrus. |
* Ancien nom : commitUpdateLevel() |
* |
* @param object objet Pear de connection à la base de données. |
* @param object objet Pear représentant l'authentification. |
* @param integer l'identifiant du menu à administrer. |
* @param array le tableau des valeurs à modifier. |
* @return void les changement sont fait dans la base de données. |
*/ |
function ADME_modifierMenuClassique($db, $auth, $adme_menu_id, $aso_valeurs) |
{ |
$requete = 'UPDATE gen_menu SET '. |
'gm_ce_application = '.$aso_valeurs['gm_ce_application'].', '. |
'gm_application_arguments = "'.$aso_valeurs['gm_application_arguments'].'", '. |
'gm_fichier_squelette = "'.$aso_valeurs['gm_fichier_squelette'].'", '. |
'gm_code_num = '.$aso_valeurs['gm_code_num'].', '. |
'gm_code_alpha = "'.$aso_valeurs['gm_code_alpha'].'", '. |
'gm_nom = "'.$aso_valeurs['gm_nom'].'", '. |
'gm_raccourci_clavier = "'.$aso_valeurs['gm_raccourci_clavier'].'", '. |
'gm_robot = "'.$aso_valeurs['gm_robot'].'", '. |
'gm_titre = "'.$aso_valeurs['gm_titre'].'", '. |
'gm_titre_alternatif = "'.$aso_valeurs['gm_titre_alternatif'].'", '. |
'gm_mots_cles = "'.$aso_valeurs['gm_mots_cles'].'", '. |
'gm_description_libre = "'.$aso_valeurs['gm_description_libre'].'", '. |
'gm_description_resume = "'.$aso_valeurs['gm_description_resume'].'", '. |
'gm_description_table_matieres = "'.$aso_valeurs['gm_description_table_matieres'].'", '. |
'gm_source = "'.$aso_valeurs['gm_source'].'", '. |
'gm_auteur = "'.$aso_valeurs['gm_auteur'].'", '. |
'gm_contributeur = "'.$aso_valeurs['gm_contributeur'].'", '. |
'gm_editeur = "'.$aso_valeurs['gm_editeur'].'", '. |
'gm_date_creation = "'.$aso_valeurs['gm_date_creation'].'", '. |
'gm_date_debut_validite = "'.$aso_valeurs['gm_date_debut_validite'].'", '. |
'gm_date_fin_validite = "'.$aso_valeurs['gm_date_fin_validite'].'", '. |
'gm_date_copyright = "'.$aso_valeurs['gm_date_copyright'].'", '. |
'gm_licence = "'.$aso_valeurs['gm_licence'].'", '. |
'gm_categorie = "'.$aso_valeurs['gm_categorie'].'", '. |
'gm_public = "'.$aso_valeurs['gm_public'].'", '. |
'gm_public_niveau = "'.$aso_valeurs['gm_public_niveau'].'", '. |
'gm_ce_type_portee_spatiale = "'.$aso_valeurs['gm_ce_type_portee_spatiale'].'", '. |
'gm_portee_spatiale = "'.$aso_valeurs['gm_portee_spatiale'].'", '. |
'gm_ce_type_portee_temporelle = "'.$aso_valeurs['gm_ce_type_portee_temporelle'].'", '. |
'gm_portee_temporelle = "'.$aso_valeurs['gm_portee_temporelle'].'", '. |
'gm_ce_admin = "'.$auth->getAuthData('ga_id_administrateur').'" '. |
'WHERE gm_id_menu = '.$adme_menu_id; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
// Gestion de la relation menu par défaut |
if (isset($aso_valeurs['defaut']) && $aso_valeurs['defaut'] == 1) { |
$requete_id_menu_supr_defaut = 'SELECT GM01.gm_id_menu AS id_menu_supr_defaut '. |
'FROM gen_menu AS GM01, gen_menu AS GM02, gen_menu_relation '. |
'WHERE GM02.gm_id_menu = '.$adme_menu_id.' '. |
'AND GM02.gm_ce_site = GM01.gm_ce_site '. |
'AND GM01.gm_id_menu = gmr_id_menu_01 '. |
'AND gmr_id_valeur = 101 ';// 101 = menu par "defaut" |
$resultat_menu_supr_defaut = $db->query($requete_id_menu_supr_defaut); |
if (DB::isError($resultat_menu_supr_defaut)) { |
die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_menu_supr_defaut->getMessage(), $requete_id_menu_supr_defaut)); |
} |
$ligne_menu_supr_defaut = $resultat_menu_supr_defaut->fetchRow(DB_FETCHMODE_OBJECT); |
if ($resultat_menu_supr_defaut->numRows() > 0 ) { |
$requete_supr_defaut = 'DELETE FROM gen_menu_relation '. |
'WHERE gmr_id_menu_01 = gmr_id_menu_02 '. |
'AND gmr_id_valeur = 101 '.// 101 = menu par "defaut" |
'AND gmr_id_menu_01 = '.$ligne_menu_supr_defaut->id_menu_supr_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)); |
} |
} |
$resultat_menu_supr_defaut->free(); |
// Requete d'insertion de la relation menu par défaut |
$requete = 'INSERT INTO gen_menu_relation '. |
'SET gmr_id_menu_01 = '.$adme_menu_id.', '. |
'gmr_id_menu_02 = '.$adme_menu_id.', '. |
'gmr_id_valeur = 101, '. |
'gmr_ordre = NULL '; |
$resultat = $db->query($requete); |
if (DB::isError($resultat)) { |
die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)); |
} |
} |
} |
/** Fonction ADME_deplacerMenuClassique() - Permet de déplacer un menu dans la hiérarchie. |
* |
* Permet de déplacer un menu dans la hiérarchie des menus classiques. |
* Ancien nom : moveMenu() |
* |
* @param mixed objet Pear DB de connexion à la base de données. |
* @param integer identifiant du site administré. |
* @param integer identifiant du menu à déplacer. |
* @param boolean indique si on veut monter le menu (true) ou le descendre (false). |
* @return void modifie la base de données. |
*/ |
function ADME_deplacerMenuClassique($db, $adme_site_id, $adme_menu_id, $bln_monter) |
{ |
//------------------------------------------------------------------------------------------------------------------- |
// Récupération d'information sur le site de ce menu. |
$objet_site = GEN_lireInfoSitePrincipal($db, $adme_site_id); |
if ($objet_site == false) { |
die('ERREUR Papyrus Administrateur de Menus : '.ADME_LG_ERREUR_INFO_SITE.'<br />'. |
'Id du site : '. $adme_site_id .'<br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br />'); |
} |
//------------------------------------------------------------------------------------------------------------------- |
// Récupération d'informations sur les relations du menu courant. |
$ligne_menu_courant_relation = GEN_lireInfoMenuRelation($db, $adme_menu_id, '1'); |
if ($ligne_menu_courant_relation == false) { |
die('ERREUR Papyrus Administrateur de Menus : '.ADME_LG_ERREUR_INFO_MENU_RELATION.'<br />'. |
'Identifiant menu : '. $adme_menu_id .'<br />'. |
'Identifiant valeur relation : 1 <br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br />'); |
} |
//------------------------------------------------------------------------------------------------------------------- |
// Récupération de l'identifiant du menu pére |
$id_pere = GEN_lireIdentifiantMenuPere($adme_menu_id); |
if ($id_pere === false) { |
die('ERREUR Papyrus Administrateur de Menus : '.ADME_LG_ERREUR_ID_MENU_PERE.'<br />'. |
'Identifiant menu fils : '. $adme_menu_id .'<br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br />'); |
} |
//------------------------------------------------------------------------------------------------------------------- |
// Recherche d'information sur le menu précédent ou suivant le menu courant |
$requete = 'SELECT GMR01.gmr_ordre AS nouvel_ordre, GMR01.gmr_id_menu_01 AS id_menu_remplace '. |
'FROM gen_menu, gen_menu_relation AS GMR01, gen_menu_relation AS GMR02 '. |
'WHERE GMR02.gmr_id_menu_01 = GMR01.gmr_id_menu_01 '. |
'AND GMR01.gmr_id_menu_01 = gm_id_menu './/jonction avec la table GEN_MENU |
'AND gm_ce_site = '.$objet_site->gs_id_site.' '. |
'AND GMR02.gmr_id_valeur = 100 '.// 100 = menu type "classique" |
'AND GMR01.gmr_id_menu_02 = '.$id_pere.' '. |
'AND GMR01.gmr_id_valeur = 1 ';// 1 = relation menu "père" |
if ($bln_monter) { |
$requete .= 'AND GMR01.gmr_ordre < '.$ligne_menu_courant_relation->gmr_ordre.' '. |
'ORDER BY GMR01.gmr_ordre DESC'; |
} else { |
$requete .= 'AND GMR01.gmr_ordre > '.$ligne_menu_courant_relation->gmr_ordre.' '. |
'ORDER BY GMR01.gmr_ordre ASC'; |
} |
$resultat_menu = $db->query($requete); |
(DB::isError($resultat_menu)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_menu->getMessage(), $requete)) : ''; |
$ligne_menu = $resultat_menu->fetchRow(DB_FETCHMODE_OBJECT); |
$resultat_menu->free(); |
//------------------------------------------------------------------------------------------------------------------- |
// Si la requete ne retourne rien nous ne faisons rien. |
if (! $ligne_menu) { |
return null; |
} |
//------------------------------------------------------------------------------------------------------------------- |
// Mise à jour des relations du menu courant |
$requete = 'UPDATE gen_menu_relation SET '. |
'gmr_ordre = '.$ligne_menu->nouvel_ordre.' '. |
'WHERE gmr_id_menu_01 = '.$ligne_menu_courant_relation->gmr_id_menu_01.' '. |
'AND gmr_id_valeur = 1';// 1 = relation menu "père" |
$resultat_update = $db->query($requete); |
(DB::isError($resultat_update)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_update->getMessage(), $requete)) : ''; |
//------------------------------------------------------------------------------------------------------------------- |
// Mise à jour des relations du menu précédent ou suivant |
$requete = 'UPDATE gen_menu_relation SET '. |
'gmr_ordre = '.$ligne_menu_courant_relation->gmr_ordre.' '. |
'WHERE gmr_id_menu_01 = '.$ligne_menu->id_menu_remplace.' '. |
'AND gmr_id_valeur = 1';// 1 = relation menu "père" |
$resultat_update = $db->query($requete); |
(DB::isError($resultat_update)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_update->getMessage(), $requete)) : ''; |
} |
/** Fonction ADME_traduireMenuClassique() - Permet de traduire un menu classique |
* |
* Permet de traduire un menu classique |
* |
* @param mixed objet Pear DB de connexion à la base de données. |
* @param integer identifiant du site administré. |
* @param integer identifiant du menu à déplacer. |
* @return void modifie la base de données. |
*/ |
function ADME_traduireMenuClassique($db, $auth, $adme_menu_id, $aso_valeurs) { |
// Récupération d'infos sur le site principal. |
$objet_site = GEN_lireInfoSitePrincipal($db, $aso_valeurs['adme_site_id']); |
if ($objet_site == false) { |
die('ERREUR Génésia Administrateur de Menus : impossible de lire les infos du site.<br />'. |
'ID du site : '.$aso_valeurs['adme_site_id'].'<br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br />'); |
} |
$nouveau_id_menu = SQL_obtenirNouveauId($db, 'gen_menu', 'gm_id_menu'); |
$auteur = $auth->getAuthData('ga_prenom').' '.$auth->getAuthData('ga_nom'); |
$requete = 'INSERT INTO gen_menu '. |
'SET gm_id_menu = '.$nouveau_id_menu.', '. |
'gm_ce_site = '.$aso_valeurs['adme_site_id'].', '. |
'gm_ce_i18n = "'.$aso_valeurs['gs_ce_i18n'].'", '. |
'gm_ce_application = '.$aso_valeurs['gm_ce_application'].', '. |
'gm_application_arguments = "'.$aso_valeurs['gm_application_arguments'].'", '. |
'gm_fichier_squelette = "'.$aso_valeurs['gm_fichier_squelette'].'", '. |
'gm_code_num = '.$aso_valeurs['gm_code_num'].', '. |
'gm_code_alpha = "'.$aso_valeurs['gm_code_alpha'].'", '. |
'gm_nom = "'.$aso_valeurs['gm_nom'].'", '. |
'gm_raccourci_clavier = "'.$aso_valeurs['gm_raccourci_clavier'].'", '. |
'gm_robot = "'.$aso_valeurs['gm_robot'].'", '. |
'gm_titre = "'.$aso_valeurs['gm_titre'].'", '. |
'gm_titre_alternatif = "'.$aso_valeurs['gm_titre_alternatif'].'", '. |
'gm_mots_cles = "'.$aso_valeurs['gm_mots_cles'].'", '. |
'gm_description_libre = "'.$aso_valeurs['gm_description_libre'].'", '. |
'gm_description_resume = "'.$aso_valeurs['gm_description_resume'].'", '. |
'gm_description_table_matieres = "'.$aso_valeurs['gm_description_table_matieres'].'", '. |
'gm_source = "'.$aso_valeurs['gm_source'].'", '. |
'gm_auteur = "'.$aso_valeurs['gm_auteur'].'", '. |
'gm_contributeur = "'.$aso_valeurs['gm_contributeur'].'", '. |
'gm_editeur = "'.$aso_valeurs['gm_editeur'].'", '. |
'gm_date_creation = "'.$aso_valeurs['gm_date_creation'].'", '. |
'gm_date_debut_validite = "'.$aso_valeurs['gm_date_debut_validite'].'", '. |
'gm_date_fin_validite = "'.$aso_valeurs['gm_date_fin_validite'].'", '. |
'gm_date_copyright = "'.$aso_valeurs['gm_date_copyright'].'", '. |
'gm_licence = "'.$aso_valeurs['gm_licence'].'", '. |
'gm_categorie = "'.$aso_valeurs['gm_categorie'].'", '. |
'gm_public = "'.$aso_valeurs['gm_public'].'", '. |
'gm_public_niveau = "'.$aso_valeurs['gm_public_niveau'].'", '. |
'gm_ce_type_portee_spatiale = "'.$aso_valeurs['gm_ce_type_portee_spatiale'].'", '. |
'gm_portee_spatiale = "'.$aso_valeurs['gm_portee_spatiale'].'", '. |
'gm_ce_type_portee_temporelle = "'.$aso_valeurs['gm_ce_type_portee_temporelle'].'", '. |
'gm_portee_temporelle = "'.$aso_valeurs['gm_portee_temporelle'].'", '. |
'gm_ce_admin = "'.$auth->getAuthData('ga_id_administrateur').'" '; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
//---------------------------------------------------------------------------- |
// Ajout de la relation traduction |
if (!isset($adme_menu_id) && empty($adme_menu_id)) { |
$adme_menu_id = 0 ;// Identifiant du père |
} |
//---------------------------------------------------------------------------- |
// Récupération d'infos sur la hierarchie du menu |
$requete = 'SELECT GMR01.gmr_ordre '. |
'FROM gen_menu_relation AS GMR01, gen_menu_relation AS GMR02 '. |
'WHERE GMR01.gmr_id_menu_02 = '.$adme_menu_id.' '. |
'AND GMR01.gmr_id_valeur = 1 '.// 1 = avoir "père" |
'AND GMR02.gmr_id_menu_01 = GMR01.gmr_id_menu_01 '. |
'AND GMR02.gmr_id_menu_01 = GMR02.gmr_id_menu_02 '. |
'AND GMR02.gmr_id_valeur = 100 '.// 100 = menu type "classique" |
'ORDER BY GMR01.gmr_ordre DESC'; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT); |
$nouveau_ordre_menu = $ligne->gmr_ordre + 1; |
$resultat->free(); |
// Traduction : |
$requete = 'INSERT INTO gen_menu_relation '. |
'SET gmr_id_menu_01 = '.$adme_menu_id.', '. |
'gmr_id_menu_02 = '.$nouveau_id_menu.', '. |
'gmr_id_valeur = 2, '. // Avoir traduction |
'gmr_ordre = '.$nouveau_ordre_menu; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
//---------------------------------------------------------------------------- |
// Ajout de la relation-type "menu classique" |
// Récupération d'infos sur la hierarchie du menu |
$requete = 'SELECT * '. |
'FROM gen_menu_relation, gen_menu '. |
'WHERE gmr_id_menu_02 = gmr_id_menu_01 '. |
'AND gmr_id_valeur = 100 '.// 100 = type menu "classique" |
'AND gmr_id_menu_01 = gm_id_menu '. |
'AND gm_ce_site = '.$aso_valeurs['adme_site_id'].' '. |
'ORDER BY gmr_ordre DESC'; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT); |
$nouveau_ordre_menu_classique = $ligne->gmr_ordre + 1; |
$resultat->free(); |
$requete = 'INSERT INTO gen_menu_relation '. |
'SET gmr_id_menu_01 = '.$nouveau_id_menu.', '. |
'gmr_id_menu_02 = '.$nouveau_id_menu.', '. |
'gmr_id_valeur = 100, '. |
'gmr_ordre = '.$nouveau_ordre_menu_classique; |
$result = $db->query($requete); |
(DB::isError($result)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $result->getMessage(), $requete)) : ''; |
} |
/** Fonction ADME_indenterMenuClassique() - Permet d'augmenter ou diminuer l'indentation d'un menu dans la |
* hierarchie |
* |
* Permet d'augmenter ou diminuer l'indentation d'un menu dans la hierarchie |
* |
* @param mixed objet Pear DB de connexion à la base de données. |
* @param integer identifiant du site administré. |
* @param integer identifiant du menu à déplacer. |
* @param boolean indique si on veut diminuer (gauche) l'indentation (true) ou augmenter (droite) l'indentation (false). |
* @return void modifie la base de données. |
*/ |
function ADME_indenterMenuClassique($db, $adme_site_id, $adme_menu_id, $bln_diminuer) { |
//------------------------------------------------------------------------------------------------------------------- |
// Récupération d'information sur le site de ce menu. |
$objet_site = GEN_lireInfoSitePrincipal($db, $adme_site_id); |
if ($objet_site == false) { |
die('ERREUR Papyrus Administrateur de Menus : '.ADME_LG_ERREUR_INFO_SITE.'<br />'. |
'Id du site : '. $adme_site_id .'<br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br />'); |
} |
//------------------------------------------------------------------------------------------------------------------- |
// Récupération d'informations sur les relations du menu courant. |
$ligne_menu_courant_relation = GEN_lireInfoMenuRelation($db, $adme_menu_id, '1'); |
if ($ligne_menu_courant_relation == false) { |
die('ERREUR Papyrus Administrateur de Menus : '.ADME_LG_ERREUR_INFO_MENU_RELATION.'<br />'. |
'Identifiant menu : '. $adme_menu_id .'<br />'. |
'Identifiant valeur relation : 1 <br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br />'); |
} |
//------------------------------------------------------------------------------------------------------------------- |
// Récupération de l'identifiant du menu pére |
$id_pere = GEN_lireIdentifiantMenuPere($adme_menu_id); |
if ($id_pere === false) { |
die('ERREUR Papyrus Administrateur de Menus : '.ADME_LG_ERREUR_ID_MENU_PERE.'<br />'. |
'Identifiant menu fils : '. $adme_menu_id .'<br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br />'); |
} |
if ($bln_diminuer) { |
// Diminution d'un niveau |
if ($id_pere) { |
// Récupération de l'identifiant du menu grand pére, sera le nouveau pere |
$id_grand_pere = GEN_lireIdentifiantMenuPere($id_pere); |
if ($id_grand_pere === false) { |
die('ERREUR Papyrus Administrateur de Menus : '.ADME_LG_ERREUR_ID_MENU_PERE.'<br />'. |
'Identifiant menu fils : '. $adme_menu_id .'<br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br />'); |
} |
// Récupération d'informations sur les relations du menu pere |
$ligne_menu_pere_relation = GEN_lireInfoMenuRelation($db, $id_pere, '1'); |
if ($ligne_menu_pere_relation == false) { |
die('ERREUR Papyrus Administrateur de Menus : '.ADME_LG_ERREUR_INFO_MENU_RELATION.'<br />'. |
'Identifiant menu : '. $adme_menu_id .'<br />'. |
'Identifiant valeur relation : 1 <br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br />'); |
} |
//------------------------------------------------------------------------------------------------------------------- |
// Recherche d'information sur le menu suivant le menu pere |
//------------------------------------------------------------------------------------------------------------------- |
$requete = 'SELECT GMR01.gmr_ordre AS nouvel_ordre, GMR01.gmr_id_menu_01 AS id_menu_remplace '. |
'FROM gen_menu, gen_menu_relation AS GMR01, gen_menu_relation AS GMR02 '. |
'WHERE GMR02.gmr_id_menu_01 = GMR01.gmr_id_menu_01 '. |
'AND GMR01.gmr_id_menu_01 = gm_id_menu './/jonction avec la table GEN_MENU |
'AND gm_ce_site = '.$objet_site->gs_id_site.' '. |
'AND GMR02.gmr_id_valeur = 100 '.// 100 = menu type "classique" |
'AND GMR01.gmr_id_menu_02 = '.$id_grand_pere.' '. |
'AND GMR01.gmr_id_valeur = 1 '.// 1 = relation menu "père" |
'AND GMR01.gmr_ordre > '.$ligne_menu_pere_relation->gmr_ordre.' '. |
'ORDER BY GMR01.gmr_ordre DESC'; |
$resultat_menu = $db->query($requete); |
(DB::isError($resultat_menu)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_menu->getMessage(), $requete)) : ''; |
$ligne_menu = $resultat_menu->fetchRow(DB_FETCHMODE_OBJECT); |
$resultat_menu->free(); |
//------------------------------------------------------------------------------------------------------------------- |
// Si la requete ne retourne rien nous ne faisons rien. |
if (! $ligne_menu) { |
$no=$ligne_menu_pere_relation->gmr_ordre+1; |
} |
else { |
$no=$ligne_menu->nouvel_ordre+1; |
} |
// Mise à jour pere menu courant |
$requete = 'UPDATE gen_menu_relation SET '. |
'gmr_id_menu_02 = '.$id_grand_pere.' ,'. |
'gmr_ordre = '.$no.' '. |
'WHERE gmr_id_menu_01 = '.$ligne_menu_courant_relation->gmr_id_menu_01.' '. |
'AND gmr_id_valeur = 1';// 1 = relation menu "père" |
$resultat_update = $db->query($requete); |
(DB::isError($resultat_update)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_update->getMessage(), $requete)) : ''; |
} |
} |
else { |
$requete = 'SELECT GMR01.gmr_id_menu_01 '. |
'FROM gen_menu, gen_menu_relation AS GMR01, gen_menu_relation AS GMR02 '. |
'WHERE GMR02.gmr_id_menu_01 = GMR01.gmr_id_menu_01 '. |
'AND GMR01.gmr_id_menu_01 = gm_id_menu './/jonction avec la table GEN_MENU |
'AND gm_ce_site = '.$objet_site->gs_id_site.' '. |
'AND GMR02.gmr_id_valeur = 100 '.// 100 = menu type "classique" |
'AND GMR01.gmr_id_menu_02 = '.$id_pere.' '. |
'AND GMR01.gmr_id_valeur = 1 '.// 1 = relation menu "père" |
'AND GMR01.gmr_ordre < '.$ligne_menu_courant_relation->gmr_ordre.' '. |
'ORDER BY GMR01.gmr_ordre DESC'; |
$resultat_menu = $db->query($requete); |
(DB::isError($resultat_menu)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_menu->getMessage(), $requete)) : ''; |
$ligne_menu = $resultat_menu->fetchRow(DB_FETCHMODE_OBJECT); |
$resultat_menu->free(); |
//------------------------------------------------------------------------------------------------------------------- |
// Si la requete ne retourne rien nous ne faisons rien. |
if (! $ligne_menu) { |
return null; |
} |
//---------------------------------------------------------------------------- |
// Recherche dernier fils |
$requete = 'SELECT GMR01.gmr_ordre '. |
'FROM gen_menu_relation AS GMR01, gen_menu_relation AS GMR02 '. |
'WHERE GMR01.gmr_id_menu_02 = '.$ligne_menu->gmr_id_menu_01.' '. |
'AND GMR01.gmr_id_valeur = 1 '.// 1 = avoir "père" |
'AND GMR02.gmr_id_menu_01 = GMR01.gmr_id_menu_01 '. |
'AND GMR02.gmr_id_menu_01 = GMR02.gmr_id_menu_02 '. |
'AND GMR02.gmr_id_valeur = 100 '.// 100 = menu type "classique" |
'ORDER BY GMR01.gmr_ordre DESC'; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT); |
$resultat->free(); |
if (isset($ligne)) { |
$no = $ligne->gmr_ordre + 1; |
} |
else { |
$no = 1; |
} |
// Mise à jour pere menu courant |
$requete = 'UPDATE gen_menu_relation SET '. |
'gmr_id_menu_02 = '.$ligne_menu->gmr_id_menu_01.' ,'. |
'gmr_ordre = '.$no.' '. |
'WHERE gmr_id_menu_01 = '.$ligne_menu_courant_relation->gmr_id_menu_01.' '. |
'AND gmr_id_valeur = 1';// 1 = relation menu "père" |
$resultat_update = $db->query($requete); |
(DB::isError($resultat_update)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_update->getMessage(), $requete)) : ''; |
} |
} |
/** Fonction ADME_supprimerMenuClassique() - Supprime un menu classique. |
* |
* Supprime de la base de données de Papyrus toutes les traces du menu classiques |
* passé en paramètre. |
* Ancien nom : deleteMenu() |
* |
* @param mixed l'objet Pear DB de connexion à la base de données. |
* @param integer l'identifiant du site du menu à supprimer |
* @param integer l'identifiant du menu à supprimer |
* @return void le menu classique est supprimé de la base de données. |
*/ |
function ADME_supprimerMenuClassique($db, $adme_id_site, $id_menu_a_supprimer) |
{ |
$code_menu = GEN_lireInfoMenu($db, $id_menu_a_supprimer, DB_FETCHMODE_ASSOC); |
//---------------------------------------------------------------------------- |
// Y a t'il des sous_menus |
$requete = 'SELECT COUNT(gm_id_menu) AS compte '. |
'FROM gen_menu, gen_menu_relation '. |
'WHERE gmr_id_menu_02 = '.$id_menu_a_supprimer.' '. |
'AND gmr_id_valeur = 1 '. |
'AND gmr_id_menu_01 = gm_id_menu '; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT); |
if ($ligne && ($ligne->compte > 0)) { |
return ADME_LG_ERREUR_EXISTE_SOUS_MENU; |
} |
//------------------------------------------------------------------------------------------------------------------- |
// Mise à jour de l'ordre des menus |
$ligne_menu_supr_relation = GEN_lireInfoMenuRelation($db, $id_menu_a_supprimer, '1'); // 1 = relation "avoir père" |
$requete = 'SELECT GMR01.gmr_id_menu_01, GMR01.gmr_ordre '. |
'FROM gen_menu, gen_menu_relation AS GMR01, gen_menu_relation AS GMR02 '. |
'WHERE GMR02.gmr_id_menu_01 = GMR01.gmr_id_menu_01 '. |
'AND GMR01.gmr_id_menu_01 = gm_id_menu './/jonction avec la table GEN_MENU |
'AND gm_ce_site = '.$adme_id_site.' '.// le site du menu! |
'AND GMR02.gmr_id_valeur = 100 '.// 100 = menu type "classique" |
'AND GMR01.gmr_id_menu_02 = '.$ligne_menu_supr_relation->gmr_id_menu_02.' '. |
'AND GMR01.gmr_id_valeur = 1 '.// 1 = relation menu "père" |
'AND GMR01.gmr_ordre > '.$ligne_menu_supr_relation->gmr_ordre.' '. |
'ORDER BY GMR01.gmr_ordre ASC'; |
$resultat = $db->query($requete); |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) { |
// Mise à jour des relations hiérarchiques du menu courant |
$requete_maj = 'UPDATE gen_menu_relation SET '. |
'gmr_ordre = '.($ligne->gmr_ordre - 1).' '. |
'WHERE gmr_id_menu_01 = '.$ligne->gmr_id_menu_01.' '. |
'AND gmr_id_valeur = 1';// 1 = relation menu "père" |
$resultat_maj = $db->query($requete_maj); |
(DB::isError($resultat_maj)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_maj->getMessage(), $requete_maj)) : ''; |
} |
$resultat->free(); |
//---------------------------------------------------------------------------- |
// S'il n'y a plus de sous niveau, on supprime le menu |
$requete = 'DELETE FROM gen_menu '. |
'WHERE gm_id_menu = '.$id_menu_a_supprimer; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
//---------------------------------------------------------------------------- |
// Puis on supprime les relations de ce menu |
$requete = 'DELETE FROM gen_menu_relation '. |
'WHERE gmr_id_menu_01 = '.$id_menu_a_supprimer; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
// Suppression du contenu !!!! |
$requete = 'DELETE FROM gen_menu_contenu '. |
'WHERE gmc_ce_menu= '.$id_menu_a_supprimer.' '; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
} |
/** Fonction ADME_supprimerMenuClassiqueTraduction() - Supprime une traduction de menu classique. |
* |
* Supprime de la base de données de Papyrus toutes les traces du menu classiques |
* passé en paramètre. |
* Ancien nom : deleteMenu() |
* |
* @param mixed l'objet Pear DB de connexion à la base de données. |
* @param integer l'identifiant du site du menu à supprimer |
* @param integer l'identifiant du menu à supprimer |
* @return void le menu classique est supprimé de la base de données. |
*/ |
function ADME_supprimerMenuClassiqueTraduction($db, $adme_id_site, $id_menu_a_supprimer) |
{ |
$code_menu = GEN_lireInfoMenu($db, $id_menu_a_supprimer, DB_FETCHMODE_ASSOC); |
if ($code_menu === false) { |
die('ERREUR Papyrus Administrateur de Menus : '.ADME_LG_ERREUR_INFO_MENU.'<br />'. |
'Idenitifiant du menu n° : '. $id_menu_a_supprimer .'<br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br />'); |
} |
$requete = 'DELETE FROM gen_menu '. |
'WHERE gm_id_menu = '.$id_menu_a_supprimer; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
//---------------------------------------------------------------------------- |
// Puis on supprime les relations de ce menu |
$requete = 'DELETE FROM gen_menu_relation '. |
'WHERE gmr_id_menu_01 = '.$id_menu_a_supprimer; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
//---------------------------------------------------------------------------- |
// Puis on supprime les relations de ce menu |
$requete = 'DELETE FROM gen_menu_relation '. |
'WHERE gmr_id_menu_02 = '.$id_menu_a_supprimer; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
// Suppression du contenu !!!! |
$requete = 'DELETE FROM gen_menu_contenu '. |
'WHERE gmc_ce_menu = '.$id_menu_a_supprimer.' '; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
} |
function ADME_verifier_traduction_possible($db, $url, $adme_site_id, $adme_menu_id) { |
$aso_valeurs = GEN_lireInfoMenu($db, $adme_menu_id, DB_FETCHMODE_ASSOC); |
if ($aso_valeurs === false) { |
die('ERREUR Papyrus Administrateur de Menus : '.ADME_LG_ERREUR_INFO_MENU.'<br />'. |
'Idenitifiant du menu n° : '. $adme_menu_id .'<br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br />'); |
} |
// Recherche liste des menu deja traduits |
$requete = 'SELECT distinct gm_ce_i18n '. |
'FROM gen_menu_relation, gen_menu '. |
'WHERE gmr_id_menu_01 = ' . $adme_menu_id .' '. |
'AND gm_id_menu = gmr_id_menu_02 '. |
'AND gmr_id_valeur = 2 '; // 2 = "avoir traduction" |
$resultat = $db->query($requete) ; |
if (DB::isError($resultat)) { |
die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) ); |
} |
$not_in_langue=''; |
if ( $resultat->numRows() == 0 ) { |
$not_in_langue="gi_id_i18n not in('".$aso_valeurs['gm_ce_i18n']."')"; |
} |
else { |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) { |
$not_in_langue="'".$ligne->gm_ce_i18n."'".",".$not_in_langue; |
$end="'".$ligne->gm_ce_i18n."'"; |
} |
if ($not_in_langue) { |
$not_in_langue="'".$aso_valeurs['gm_ce_i18n']."'".",".$not_in_langue; |
$not_in_langue=' gi_id_i18n not in('.$not_in_langue.$end.')'; |
} |
else { |
$not_in_langue="gi_id_i18n not in('".$aso_valeurs['gm_ce_i18n']."')"; |
} |
} |
$requete = "SELECT * FROM gen_i18n where ".$not_in_langue; |
$resultat = $db->query($requete) ; |
if (DB::isError($resultat)) { |
die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) ); |
} |
$retour = $resultat->numRows(); |
$resultat->free(); |
$message=''; |
if ($retour == 0) { |
$message = '<p class="pap_erreur">Plus de traduction possible pour ce menu </p>'; |
} |
return $message; |
} |
/** Fonction ADME_selectionnerMenuClassiqueTraduction()() Selection un menu classique comme traduction par defaut |
* |
* |
* @param mixed l'objet Pear DB de connexion à la base de données. |
* @param integer l'identifiant du site du menu à supprimer |
* @param integer l'identifiant du menu à supprimer |
* @return void le menu classique est supprimé de la base de données. |
*/ |
function ADME_selectionnerMenuClassiqueTraduction($db, $adme_id_site, $id_menu) |
{ |
// 1 : Rechercher traduction parente : si presente on est dans une traduc. si absente on |
// est dans un menu en version originale |
$requete_origine_traduction = 'SELECT gmr_id_menu_01 '. |
'FROM gen_menu_relation, gen_menu '. |
'WHERE gmr_id_menu_02 = ' . $id_menu .' '. |
'AND gmr_id_valeur = 2 '; // 2 = "avoir traduction" |
$resultat_origine_traduction = $db->query($requete_origine_traduction) ; |
if (DB::isError($resultat_origine_traduction)) { |
die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete_origine_traduction) ); |
} |
if ($resultat_origine_traduction->numRows() > 0) { |
$ligne_origine_traduction = $resultat_origine_traduction->fetchRow(DB_FETCHMODE_OBJECT); |
$id_menu_origine=$ligne_origine_traduction->gmr_id_menu_01; |
} |
else { |
$id_menu_origine=$id_menu; |
} |
$requete_suppression = 'DELETE from gen_menu_relation '. |
'WHERE gmr_id_menu_01 = ' . $id_menu_origine . ' ' . |
'AND gmr_id_valeur=105 '; // 105 Traduction par defaut |
$resultat_suppression = $db->query($requete_suppression); |
(DB::isError($resultat_suppression)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_suppression->getMessage(), $requete_suppression)) : ''; |
$requete_insertion = 'INSERT into gen_menu_relation '. |
' SET gmr_id_menu_01 = ' . $id_menu_origine . ', ' . |
' gmr_id_menu_02 = ' . $id_menu . ', ' . |
' gmr_id_valeur = 105' ; |
$resultat_insertion = $db->query($requete_insertion); |
(DB::isError($resultat_insertion)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_insertion->getMessage(), $requete_insertion)) : ''; |
} |
/** Fonction ADME_limiterMenuClassique() (limiter) un menu classique à la langue selectionne |
* |
* |
* @param mixed l'objet Pear DB de connexion à la base de données. |
* @param integer l'identifiant du site du menu à supprimer |
* @param integer l'identifiant du menu à supprimer |
* @return void le menu classique est supprimé de la base de données. |
*/ |
function ADME_limiterMenuClassique($db, $adme_id_site, $id_menu, $zone) |
{ |
$requete_insertion = 'INSERT into gen_menu_relation '. |
' SET gmr_id_menu_01 = ' . $id_menu . ', ' . |
' gmr_id_menu_02 = ' . $id_menu . ', ' . |
' gmr_id_valeur = 106' ; |
$resultat_insertion = $db->query($requete_insertion); |
$requete_mise_a_jour = 'UPDATE gen_menu SET '. |
'gm_ce_i18n = "'.$zone.'" '. |
'WHERE gm_id_menu = '.$id_menu; |
$resultat_mise_a_jour = $db->query($requete_mise_a_jour); |
(DB::isError($resultat_mise_a_jour)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_mise_a_jour->getMessage(), $requete_mise_a_jour)) : ''; |
} |
/** Fonction ADME_ouvrirMenuClassique() Ouvrir un menu classique à toutes les langues (suite à une fermeture) |
* |
* |
* @param mixed l'objet Pear DB de connexion à la base de données. |
* @param integer l'identifiant du site du menu à supprimer |
* @param integer l'identifiant du menu à supprimer |
* @return void le menu classique est supprimé de la base de données. |
*/ |
function ADME_ouvrirMenuClassique($db, $adme_id_site, $id_menu) |
{ |
$requete_suppression = 'DELETE from gen_menu_relation '. |
'WHERE gmr_id_menu_01 = ' . $id_menu . ' ' . |
'AND gmr_id_valeur=106 '; // 106 fermeture du menu |
$resultat_suppression = $db->query($requete_suppression); |
$requete_mise_a_jour = 'UPDATE gen_menu SET '. |
'gm_ce_i18n = "'.GEN_I18N_ID_DEFAUT.'" '. |
'WHERE gm_id_menu = '.$id_menu; |
$resultat_mise_a_jour = $db->query($requete_mise_a_jour); |
(DB::isError($resultat_mise_a_jour)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_mise_a_jour->getMessage(), $requete_mise_a_jour)) : ''; |
} |
// +------------------------------------------------------------------------------------------------------+ |
// | PIED du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.41 2007-10-24 14:43:02 ddelon |
* Gestion des menus reservés à une langue |
* |
* Revision 1.40 2007-07-03 14:35:11 florian |
* correction bug maj non prise en charge |
* |
* Revision 1.39 2007-07-03 14:07:02 florian |
* correction bug maj non prise en charge |
* |
* Revision 1.38 2007-06-26 14:18:53 florian |
* amélioration des formulaires des différentes applis de l'interface d'administration afin de les simplifier |
* |
* Revision 1.37 2006/10/16 15:49:07 ddelon |
* Refactorisation code mulitlinguisme et gestion menu invisibles |
* |
* Revision 1.36 2006/10/06 13:38:45 florian |
* ergonomie amélioree |
* |
* Revision 1.35 2006/09/07 13:45:56 jp_milcent |
* Trie par ordre alphabétique des appli. |
* |
* Revision 1.34 2006/06/29 23:04:01 ddelon |
* Bug defaut traduction sur menu commun |
* |
* Revision 1.33 2006/06/29 18:58:57 ddelon |
* Multilinguisme : menu par defaut pour les menu commun |
* |
* Revision 1.32 2006/06/28 12:53:34 ddelon |
* Multilinguisme : menu par defaut |
* |
* Revision 1.31 2006/04/12 21:11:54 ddelon |
* Multilinguisme menus communs |
* |
* Revision 1.30 2006/03/27 14:33:04 ddelon |
* Gestion suppression de contenu menu afficheur |
* |
* Revision 1.29 2006/03/23 20:24:59 ddelon |
* *** empty log message *** |
* |
* Revision 1.28 2006/03/15 09:30:50 florian |
* suppression des echos, qui entrainaient des problemes d'affichages |
* |
* Revision 1.27 2006/03/13 21:00:20 ddelon |
* Suppression messages d'erreur multilinguisme |
* |
* Revision 1.26 2006/03/10 11:02:36 alexandre_tb |
* remplacement de l'image "Traduire" par un texte "traduire" vu qu'on a pas d'image pour la notion de traduire... |
* |
* Revision 1.25 2006/03/02 10:49:49 ddelon |
* Fusion branche multilinguisme dans branche principale |
* |
* Revision 1.24.2.1 2006/02/28 14:02:11 ddelon |
* Finition multilinguisme |
* |
* Revision 1.24 2005/09/23 13:58:07 ddelon |
* Php5, Projet et Redirection |
* |
* Revision 1.23 2005/09/20 17:01:22 ddelon |
* php5 et bugs divers |
* |
* Revision 1.22 2005/07/08 21:13:15 ddelon |
* Gestion indentation menu |
* |
* Revision 1.21 2005/05/26 16:13:08 jpm |
* Correction taille éditeur: passage en text |
* |
* Revision 1.19 2005/05/26 15:34:46 jpm |
* Ajout d'un espace. |
* |
* Revision 1.18 2005/05/26 08:54:20 jpm |
* Ajout info admin ayant fait la dernière modif. |
* |
* Revision 1.17 2005/04/19 16:47:16 jpm |
* Gestion des dates de fin de validité des menus. |
* |
* Revision 1.16 2005/03/29 15:49:12 jpm |
* Ajout de la date de création dans le formulaire des menus. |
* |
* Revision 1.15 2005/02/28 11:05:06 jpm |
* Modification des auteurs. |
* |
* Revision 1.14 2004/12/01 16:47:28 jpm |
* Ajout d'une boite javascript de confirmation de suppression d'un menu. |
* |
* Revision 1.13 2004/11/29 18:34:51 jpm |
* Correction bogue checkbox. |
* |
* Revision 1.12 2004/11/15 16:51:12 jpm |
* Correction bogue de mise à jour de l'ordre des menus. |
* |
* Revision 1.11 2004/11/10 19:41:14 jpm |
* Correction bogue. |
* |
* Revision 1.10 2004/11/10 17:26:07 jpm |
* Fin gestion de la traduction. |
* |
* Revision 1.9 2004/11/09 17:53:00 jpm |
* Changement des noms des actions sur les menus classiques. |
* |
* Revision 1.8 2004/11/09 17:48:35 jpm |
* Gestion de différentes interfaces d'administration. |
* |
* Revision 1.7 2004/11/09 12:37:34 jpm |
* Fin de gestion des menus et mise en conformité avec la convention de codage. |
* |
* Revision 1.6 2004/11/08 17:40:07 jpm |
* Gestion correcte de l'ouverture et fermeture des menus. |
* Utilisation des sessions. |
* |
* Revision 1.5 2004/11/04 19:11:38 jpm |
* Mise en conformité vis à vis de la convention de codage. |
* Amélioration de la récursivité de la gestion de l'affichage des menus. |
* |
* Revision 1.4 2004/10/25 16:27:42 jpm |
* Correction d'un bogue dans la gestion du déplacement des menus. |
* |
* Revision 1.3 2004/09/23 17:45:13 jpm |
* Amélioration de la gestion des liens annuler et du selecteur de sites. |
* |
* Revision 1.2 2004/07/06 17:07:37 jpm |
* Modification de la documentation pour une mailleur analyse par PhpDocumentor. |
* |
* Revision 1.1 2004/06/16 15:04:32 jpm |
* Changement de nom de Génésia en Papyrus. |
* Changement de l'arborescence. |
* |
* Revision 1.27 2004/05/10 12:13:03 jpm |
* Modification des formulaires. |
* |
* Revision 1.26 2004/05/07 16:31:20 jpm |
* Amélioration du formulaire d'un menu classique. |
* |
* Revision 1.25 2004/05/07 07:23:53 jpm |
* Amélioration du code, des commentaires et correction de bogues. |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v5.0-ouadji/papyrus/applications/admin_menu/langues/adme_langue_es.inc.php |
---|
New file |
0,0 → 1,291 |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// Copyright (C) 1999-2004 Tela Botanica (accueil@tela-botanica.org) |
// |
// Ce logiciel est un programme informatique servant à gérer du contenu et des |
// applications web. |
// Ce logiciel est régi par la licence CeCILL soumise au droit français et |
// respectant les principes de diffusion des logiciels libres. Vous pouvez |
// utiliser, modifier et/ou redistribuer ce programme sous les conditions |
// de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA |
// sur le site "http://www.cecill.info". |
// En contrepartie de l'accessibilité au code source et des droits de copie, |
// de modification et de redistribution accordés par cette licence, il n'est |
// offert aux utilisateurs qu'une garantie limitée. Pour les mêmes raisons, |
// seule une responsabilité restreinte pèse sur l'auteur du programme, le |
// titulaire des droits patrimoniaux et les concédants successifs. |
// A cet égard l'attention de l'utilisateur est attirée sur les risques |
// associés au chargement, à l'utilisation, à la modification et/ou au |
// développement et à la reproduction du logiciel par l'utilisateur étant |
// donné sa spécificité de logiciel libre, qui peut le rendre complexe à |
// manipuler et qui le réserve donc à des développeurs et des professionnels |
// avertis possédant des connaissances informatiques approfondies. Les |
// utilisateurs sont donc invités à charger et tester l'adéquation du |
// logiciel à leurs besoins dans des conditions permettant d'assurer la |
// sécurité de leurs systèmes et ou de leurs données et, plus généralement, |
// à l'utiliser et l'exploiter dans les mêmes conditions de sécurité. |
// Le fait que vous puissiez accéder à cet en-tête signifie que vous avez |
// pris connaissance de la licence CeCILL, et que vous en avez accepté les |
// termes. |
// ---- |
// CVS : $Id: adme_langue_es.inc.php,v 1.3 2006-09-27 10:02:08 alexandre_tb Exp $ |
/** |
* Gestion des langues de l'application ADME |
* |
* Contient les constantes pour la langue française de l'application ADME. |
* |
*@package Admin_menú |
*@subpackage Langues |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.3 $ $Date: 2006-09-27 10:02:08 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTETE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// Le formulaire de sélection du site dont les menús doivent être administrer : |
define('ADME_LG_FORM_SITE_TITRE', 'Lista de los Web site'); |
define('ADME_LG_FORM_SITE_CHOIX', 'Opcióna el sitio a administrar: '); |
define('ADME_LG_FORM_SITE_VALIDER', 'OK'); |
// Les titres de l'arborescence des menús à administrer: |
define('ADME_LG_MENU_TITRE', 'Configuración de los menús del Web site:'); |
define('ADME_LG_MENU_CLASSIQUE_RACINE', 'agregue un menú clásico '); |
define('ADME_LG_MENU_COMMUN_RACINE', 'agregue un menú comuno'); |
// Les actions des menús classiques: |
define('ADME_LG_ACTION_CLASSIQUE_MODIFIER', 'classico_menú_modicar'); |
define('ADME_LG_ACTION_CLASSIQUE_MODIFIER_ALT', 'Modificar'); |
define('ADME_LG_ACTION_CLASSIQUE_MODIFIER_TITLE', 'Modificar estemenú'); |
define('ADME_LG_ACTION_CLASSIQUE_MODIFIER_ACTION', 'menu_classique_modifier_action'); |
define('ADME_LG_ACTION_CLASSIQUE_MONTER', 'menú_classico_subir'); |
define('ADME_LG_ACTION_CLASSIQUE_MONTER_ALT', 'Subir'); |
define('ADME_LG_ACTION_CLASSIQUE_MONTER_TITLE', 'Subir este menú'); |
define('ADME_LG_ACTION_CLASSIQUE_DESCENDRE', 'classico_menú_bajar'); |
define('ADME_LG_ACTION_CLASSIQUE_DESCENDRE_ALT', 'Bajar'); |
define('ADME_LG_ACTION_CLASSIQUE_DESCENDRE_TITLE', 'Najar este menú'); |
define('ADME_LG_ACTION_CLASSIQUE_DIMINUER', 'menú_classico_disminuir'); |
define('ADME_LG_ACTION_CLASSIQUE_DIMINUER_ALT', 'Disminuir'); |
define('ADME_LG_ACTION_CLASSIQUE_DIMINUER_TITLE', 'Disminuir de un nivel este menú'); |
define('ADME_LG_ACTION_CLASSIQUE_AUGMENTER', 'menú_classico_aumentar'); |
define('ADME_LG_ACTION_CLASSIQUE_AUGMENTER_ALT', 'Aumentar'); |
define('ADME_LG_ACTION_CLASSIQUE_AUGMENTER_TITLE', 'Aumentar de un nivel este menú'); |
define('ADME_LG_ACTION_CLASSIQUE_TRADUIRE', 'menu_classique_traduire'); |
define('ADME_LG_ACTION_CLASSIQUE_TRADUIRE_ACTION', 'menu_classique_traduire_action'); |
define('ADME_LG_ACTION_CLASSIQUE_TRADUIRE_ALT', 'Traduire'); |
define('ADME_LG_ACTION_CLASSIQUE_TRADUIRE_TITLE', 'Traduire ce menu'); |
define('ADME_LG_ACTION_CLASSIQUE_SUPPRIMER', 'classico_menú_quite'); |
define('ADME_LG_ACTION_CLASSIQUE_SUPPRIMER_ALT', 'Quite'); |
define('ADME_LG_ACTION_CLASSIQUE_SUPPRIMER_TITLE', 'Quite este menú'); |
define('ADME_LG_ACTION_CLASSIQUE_SUPPRIMER_TRADUCTION', 'menu_classique_supprimer_traduction'); |
define('ADME_LG_ACTION_CLASSIQUE_SUPPRIMER_TRADUCTION_ALT', 'Supprimer'); |
define('ADME_LG_ACTION_CLASSIQUE_SUPPRIMER_TRADUCTION_TITLE', 'Supprimer ce menu'); |
define('ADME_LG_ACTION_CLASSIQUE_AJOUTER', 'classico_menú_agrege'); |
define('ADME_LG_ACTION_CLASSIQUE_AJOUTER_ALT', 'Agrege'); |
define('ADME_LG_ACTION_CLASSIQUE_AJOUTER_TITLE', 'Agrege este menú'); |
define('ADME_LG_ACTION_CLASSIQUE_VERIFIER', 'classico_menú_verificar'); |
define('ADME_LG_ACTION_CLASSIQUE_VERIFIER_TRADUCTION', 'menu_classique_verifier_traduction'); |
define('ADME_LG_ACTION_CLASSIQUE_TRADUCTION_DEFAUT', 'menu_classique_traduction_defaut'); |
define('ADME_LG_ACTION_CLASSIQUE_TRADUCTION_DEFAUT_ALT', 'Choisir ce menu comme traduction par défaut'); |
define('ADME_LG_ACTION_CLASSIQUE_TRADUCTION_DEFAUT_TITLE', 'Choisir ce menu comme traduction par défaut'); |
// Les actions des menús communs: |
define('ADME_LG_ACTION_COMMUN_MODIFIER', 'común_menú_modificar'); |
define('ADME_LG_ACTION_COMMUN_MODIFIER_ALT', 'Modificar'); |
define('ADME_LG_ACTION_COMMUN_MODIFIER_TITLE', 'Modificar este menú'); |
define('ADME_LG_ACTION_COMMUN_MODIFIER_ACTION', 'menu_commun_modifier_action'); |
define('ADME_LG_ACTION_COMMUN_TRADUCTION_DEFAUT', 'menu_classique_traduction_defaut'); |
define('ADME_LG_ACTION_COMMUN_TRADUCTION_DEFAUT_ALT', 'Choisir ce menu comme traduction par défaut'); |
define('ADME_LG_ACTION_COMMUN_TRADUCTION_DEFAUT_TITLE', 'Choisir ce menu comme traduction par défaut'); |
define('ADME_LG_ACTION_COMMUN_MONTER', 'común_menú_subir'); |
define('ADME_LG_ACTION_COMMUN_MONTER_ALT', 'Subir'); |
define('ADME_LG_ACTION_COMMUN_MONTER_TITLE', 'Subir este menú'); |
define('ADME_LG_ACTION_COMMUN_DESCENDRE', 'común_menú_bajar'); |
define('ADME_LG_ACTION_COMMUN_DESCENDRE_ALT', 'Bajar'); |
define('ADME_LG_ACTION_COMMUN_DESCENDRE_TITLE', 'Bajar este menú'); |
define('ADME_LG_ACTION_COMMUN_DIMINUER', 'común_menú_disminuir'); |
define('ADME_LG_ACTION_COMMUN_DIMINUER_ALT', 'Disminuir'); |
define('ADME_LG_ACTION_COMMUN_DIMINUER_TITLE', 'Disminuir de un nivel este menú'); |
define('ADME_LG_ACTION_COMMUN_AUGMENTER', 'común_menú_aumentar'); |
define('ADME_LG_ACTION_COMMUN_AUGMENTER_ALT', 'Aumentar'); |
define('ADME_LG_ACTION_COMMUN_AUGMENTER_TITLE', 'Aumentar de un nivel este menú'); |
define('ADME_LG_ACTION_COMMUN_TRADUIRE', 'menu_commun_traduire'); |
define('ADME_LG_ACTION_COMMUN_TRADUIRE_ACTION', 'menu_commun_traduire_action'); |
define('ADME_LG_ACTION_COMMUN_TRADUIRE_ALT', 'Traduire'); |
define('ADME_LG_ACTION_COMMUN_TRADUIRE_TITLE', 'Traduire ce menu'); |
define('ADME_LG_ACTION_COMMUN_SUPPRIMER', 'común_menú_suprimir'); |
define('ADME_LG_ACTION_COMMUN_SUPPRIMER_ALT', 'Suprimir'); |
define('ADME_LG_ACTION_COMMUN_SUPPRIMER_TITLE', 'Suprimir este menú'); |
define('ADME_LG_ACTION_COMMUN_SUPPRIMER_TRADUCTION', 'menu_commun_supprimer_traduction'); |
define('ADME_LG_ACTION_COMMUN_SUPPRIMER_TRADUCTION_ALT', 'Supprimer'); |
define('ADME_LG_ACTION_COMMUN_SUPPRIMER_TRADUCTION_TITLE', 'Supprimer ce menu'); |
define('ADME_LG_ACTION_COMMUN_AJOUTER', 'común_menú_añadir'); |
define('ADME_LG_ACTION_COMMUN_AJOUTER_ALT', 'añadir'); |
define('ADME_LG_ACTION_COMMUN_AJOUTER_TITLE', 'añadir este menú'); |
define('ADME_LG_ACTION_COMMUN_VERIFIER', 'común_menú_verificar'); |
define ('ADME_LG_ACTION_COMMUN_VERIFIER_TRADUCTION','menu_commun_verifier_traduction'); |
// Les actions générales: |
define('ADME_LG_ACTION_ADMINISTRER', 'Administrar'); |
define('ADME_LG_ACTION_ADMINISTRER_ALT', 'Administrar'); |
define('ADME_LG_ACTION_ADMINISTRER_TITLE', 'Administrar la aplicacion de este menú'); |
define('ADME_LG_ACTION_PLIER', 'adme_menú_doblar'); |
define('ADME_LG_ACTION_PLIER_ALT', 'doblar'); |
define('ADME_LG_ACTION_DEPLIER', 'adme_menú_abrir'); |
define('ADME_LG_ACTION_DEPLIER_ALT', ' brir'); |
define('ADME_LG_ACTION_SUPPRIMER_CONFIRMATION', 'es usted seguro desear quitar este menú?'); |
// Les erreurs: |
define('ADME_LG_ERREUR_INFO_menú', 'imposible leer las informaciones del menú.'); |
define('ADME_LG_ERREUR_INFO_SITE', 'imposible leer las informaciones del website'); |
define('ADME_LG_ERREUR_INFO_menú_RELATION', 'imposible leer las informaciones sobre las relaciones del menú.'); |
define('ADME_LG_ERREUR_ID_menú_PERE', ' imposible leer identificar del padre del menú.'); |
define('ADME_LG_ERREUR_CODE_NUM', "El valor %s por el \"code nuérique\" ja exista&"); |
define('ADME_LG_ERREUR_CODE_ALPHA', "El valor %s por el \"Code alphanumérique\" ja exista"); |
define('ADME_LG_ERREUR_EXISTE_SOUS_menú', 'Este menú incluye debajo de -menúes. Por favor, comience a quitarlos.'); |
// Le formulaire de modification d'un menú : |
define('ADME_LG_FORM_MENU_CLASSIQUE_TITRE_GENERAL', 'Moficar menú'); |
define('ADME_LG_FORM_MENU_COMMUN_TITRE_GENERAL', 'Modicar común menú'); |
define('ADME_LG_FORM_MENU_CLASSIQUE_TITRE_CONFIG', 'menú config'); |
define('ADME_LG_FORM_MENU_COMMUN_TITRE_CONFIG', 'común menú configurar'); |
define('ADME_LG_FORM_MENU_ID', 'Identificador de este menú: '); |
define('ADME_LG_FORM_MENU_CODE_NUM', 'Codico Numerico de este menú'); |
define('ADME_LG_FORM_MENU_REGLE_CODE_NUM', 'un código digital numérico es necesario para el menú!'); |
define('ADME_LG_FORM_MENU_CODE_ALPHA', 'Codico alphanumérique del menú'); |
define('ADME_LG_FORM_MENU_REGLE_CODE_ALPHA', 'un código alfanumérico es necesario para el menú!'); |
define('ADME_LG_FORM_MENU_NOM', 'Nombre de el menú'); |
define('ADME_LG_FORM_MENU_REGLE_NOM', 'un nombre esta necesario por el menú !'); |
define('ADME_LG_FORM_MENU_RACCOURCI', 'clavier acortada '); |
define('ADME_LG_FORM_MENU_DEFAUT', 'haciendo el menú por el défaut '); |
define('ADME_LG_FORM_MENU_FICHIER_SQUELETTE', ' squelette del archivo '); |
define('ADME_LG_FORM_MENU_INFO_BULLE', 'informacion-bulle contenida '); |
define('ADME_LG_FORM_MENU_REGLE_INFO_BULLE', ' una descripción corta para la informacion-burbuja es necesaria para este menú!'); |
define('ADME_LG_FORM_MENU_APPLI', 'Applicacion'); |
define('ADME_LG_FORM_MENU_APPLI_ARGUMENT', 'Application argumentes'); |
define('ADME_LG_FORM_MENU_CLASSIQUE_TITRE_ENTETE', ' título de las páginas del menú '); |
define('ADME_LG_FORM_MENU_COMMUN_TITRE_ENTETE', ' título de las páginas del menú comun '); |
define('ADME_LG_FORM_MENU_ROBOT', ' Indesar los robotes') ; |
define('ADME_LG_FORM_MENU_INDEX_FOLLOW', ' poniendo en un índice esta página y después '); |
define('ADME_LG_FORM_MENU_INDEX', ' poniendo en un índice solo en esta página '); |
define('ADME_LG_FORM_MENU_NOINDEX_NOFOLLOW', ' No poner en un índice esta página y después '); |
define('ADME_LG_FORM_MENU_NOINDEX', 'No poner en un índice esta página '); |
define('ADME_LG_FORM_MENU_INDEX_VIDE', 'vide'); |
define('ADME_LG_FORM_MENU_TITRE', ' título de la página '); |
define('ADME_LG_FORM_MENU_TITRE_ALTERNATIF', ' título alternativo de la página '); |
define('ADME_LG_FORM_MENU_MOT_CLE', 'palabras lavves'); |
define('ADME_LG_FORM_MENU_DESCRIPTION', ' Descripción del contenido '); |
define('ADME_LG_FORM_MENU_TABLE_MATIERE', ' contenido'); |
define('ADME_LG_FORM_MENU_SOURCE', ' fuente '); |
define('ADME_LG_FORM_MENU_AUTEUR', 'Autor'); |
define('ADME_LG_FORM_MENU_CONTRIBUTEUR', 'Contributor'); |
define('ADME_LG_FORM_MENU_EDITEUR', 'Éditor'); |
define('ADME_LG_FORM_MENU_DATE_CREATION', ' fecha de creación '); |
define('ADME_LG_FORM_MENU_DATE_VALIDITE_DEBUT', ' vaya de nuevo al principio de la validez '); |
define('ADME_LG_FORM_MENU_DATE_VALIDITE_FIN', ' fecha de la terminación de la validez '); |
define('ADME_LG_FORM_MENU_DATE_COPYRIGHT', 'año del copyright'); |
define('ADME_LG_FORM_MENU_URL_LICENCE', ' URL de la licencia '); |
define('ADME_LG_FORM_MENU_CATEGORIE', 'Catégoria'); |
define('ADME_LG_FORM_MENU_PUBLIC', 'Publico por esta pagina'); |
define('ADME_LG_FORM_MENU_PUBLIC_NIVEAU', ' nivel del público para esta página '); |
define('ADME_LG_FORM_MENU_ZG_TYPE', ' tipo de gama del espacio '); |
define('ADME_LG_FORM_MENU_ZG_VALEUR', ' espacie la gama de la página '); |
define('ADME_LG_FORM_MENU_ZG_VIDE', ' ningunos '); |
define('ADME_LG_FORM_MENU_ZG_ISO', ' código del país en dos letras(iso3166)'); |
define('ADME_LG_FORM_MENU_ZG_DC', ' Representación de las áreas geográficas de Dublin Core'); |
define('ADME_LG_FORM_MENU_ZG_POINT', 'Punto géografico'); |
define('ADME_LG_FORM_MENU_ZG_GTGN', ' nombra el issus du Getty Thesaurus de los nombres geográficos'); |
define('ADME_LG_FORM_MENU_TMP_TYPE', ' Estándar de la gama temporal '); |
define('ADME_LG_FORM_MENU_TMP_VALEUR', ' dimensión temporal de la página '); |
define('ADME_LG_FORM_MENU_TMP_VIDE', 'Ningunos'); |
define('ADME_LG_FORM_MENU_TMP_W3C', ' Codificación de las fechas y de las horas del W3C'); |
define('ADME_LG_FORM_MENU_TMP_DC', ' Representación de los intervalos de la época de la base de Dublín'); |
define('ADME_LG_FORM_MENU_VALIDER', 'Registrar'); |
define('ADME_LG_FORM_MENU_ANNULER', ' cancelación '); |
define('ADME_LG_FORM_TXT_CHP_OBLIGATOIRE', ' indica los obligatories de los campos'); |
define('ADME_LG_FORM_SYMBOLE_CHP_OBLIGATOIRE', '*'); |
// Charactère spéciaux: |
define('ADME_LG_PARENTHESE_OUVRANTE', '('); |
define('ADME_LG_PARENTHESE_FERMANTE', ')'); |
define('ADME_LG_SLASH', '/'); |
// +------------------------------------------------------------------------------------------------------+ |
// | PIED du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.2 2006/09/27 09:20:28 alexandre_tb |
* Ajout de constante de traduction |
* |
* Revision 1.1 2006/04/12 21:11:54 ddelon |
* Multilinguisme menus communs |
* |
* Revision 1.7 2005/07/18 16:14:32 ddelon |
* css admin + menú communs |
* |
* Revision 1.6 2005/07/08 21:13:15 ddelon |
* Gestion indentation menú |
* |
* Revision 1.5 2005/05/26 15:45:09 jpm |
* Ajout d'une majuscule accentuée. |
* |
* Revision 1.4 2005/03/29 15:49:31 jpm |
* Ajout de la constante pour la date de création dans le formulaire des menús. |
* |
* Revision 1.3 2004/12/01 16:47:07 jpm |
* Ajout d'un texte pour la boite javascript de confirmation de suppression de menú. |
* |
* Revision 1.2 2004/11/10 17:26:12 jpm |
* Fin gestion de la traduction. |
* |
* Revision 1.1 2004/11/10 11:58:31 jpm |
* Début de la traduction de l'appli. |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v5.0-ouadji/papyrus/applications/admin_menu/langues/adme_langue_fr.inc.php |
---|
New file |
0,0 → 1,337 |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// Copyright (C) 1999-2004 Tela Botanica (accueil@tela-botanica.org) |
// |
// Ce logiciel est un programme informatique servant à gérer du contenu et des |
// applications web. |
// Ce logiciel est régi par la licence CeCILL soumise au droit français et |
// respectant les principes de diffusion des logiciels libres. Vous pouvez |
// utiliser, modifier et/ou redistribuer ce programme sous les conditions |
// de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA |
// sur le site "http://www.cecill.info". |
// En contrepartie de l'accessibilité au code source et des droits de copie, |
// de modification et de redistribution accordés par cette licence, il n'est |
// offert aux utilisateurs qu'une garantie limitée. Pour les mêmes raisons, |
// seule une responsabilité restreinte pèse sur l'auteur du programme, le |
// titulaire des droits patrimoniaux et les concédants successifs. |
// A cet égard l'attention de l'utilisateur est attirée sur les risques |
// associés au chargement, à l'utilisation, à la modification et/ou au |
// développement et à la reproduction du logiciel par l'utilisateur étant |
// donné sa spécificité de logiciel libre, qui peut le rendre complexe à |
// manipuler et qui le réserve donc à des développeurs et des professionnels |
// avertis possédant des connaissances informatiques approfondies. Les |
// utilisateurs sont donc invités à charger et tester l'adéquation du |
// logiciel à leurs besoins dans des conditions permettant d'assurer la |
// sécurité de leurs systèmes et ou de leurs données et, plus généralement, |
// à l'utiliser et l'exploiter dans les mêmes conditions de sécurité. |
// Le fait que vous puissiez accéder à cet en-tête signifie que vous avez |
// pris connaissance de la licence CeCILL, et que vous en avez accepté les |
// termes. |
// ---- |
// CVS : $Id: adme_langue_fr.inc.php,v 1.19 2007-10-25 14:26:56 ddelon Exp $ |
/** |
* Gestion des langues de l'application ADME |
* |
* Contient les constantes pour la langue française de l'application ADME. |
* |
*@package Admin_menu |
*@subpackage Langues |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.19 $ $Date: 2007-10-25 14:26:56 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTETE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
define ('ADME_IDENTIFIEZ_VOUS','Veuillez vous identifier pour accèder à ce menu.'); |
// Le formulaire de sélection du site dont les menus doivent être administrer : |
define('ADME_LG_FORM_SITE_TITRE', 'Listes des sites'); |
define('ADME_LG_FORM_SITE_CHOIX', 'Choix du site à administrer : '); |
define('ADME_LG_FORM_SITE_VALIDER', 'OK'); |
// Les titres de l'arborescence des menus à administrer: |
define('ADME_LG_MENU_TITRE', 'Configuration des menus du site : '); |
define('ADME_LG_MENU_CLASSIQUE_RACINE', 'Ajouter un menu classique'); |
define('ADME_LG_MENU_COMMUN_RACINE', 'Ajouter un menu commun'); |
// Les actions des menus classiques: |
define('ADME_LG_ACTION_CLASSIQUE_MODIFIER', 'menu_classique_modifier'); |
define('ADME_LG_ACTION_CLASSIQUE_MODIFIER_ACTION', 'menu_classique_modifier_action'); |
define('ADME_LG_ACTION_CLASSIQUE_MODIFIER_ALT', 'Modifier'); |
define('ADME_LG_ACTION_CLASSIQUE_MODIFIER_TITLE', 'Modifier ce menu'); |
define('ADME_LG_ACTION_CLASSIQUE_MONTER', 'menu_classique_monter'); |
define('ADME_LG_ACTION_CLASSIQUE_MONTER_ALT', 'Monter'); |
define('ADME_LG_ACTION_CLASSIQUE_MONTER_TITLE', 'Monter ce menu'); |
define('ADME_LG_ACTION_CLASSIQUE_DESCENDRE', 'menu_classique_descendre'); |
define('ADME_LG_ACTION_CLASSIQUE_DESCENDRE_ALT', 'Descendre'); |
define('ADME_LG_ACTION_CLASSIQUE_DESCENDRE_TITLE', 'Descendre ce menu'); |
define('ADME_LG_ACTION_CLASSIQUE_DIMINUER', 'menu_classique_diminuer'); |
define('ADME_LG_ACTION_CLASSIQUE_DIMINUER_ALT', 'Diminuer'); |
define('ADME_LG_ACTION_CLASSIQUE_DIMINUER_TITLE', 'Diminuer d\'un niveau ce menu'); |
define('ADME_LG_ACTION_CLASSIQUE_AUGMENTER', 'menu_classique_augmenter'); |
define('ADME_LG_ACTION_CLASSIQUE_AUGMENTER_ALT', 'Augmenter'); |
define('ADME_LG_ACTION_CLASSIQUE_AUGMENTER_TITLE', 'Augmenter d\'un niveau ce menu'); |
define('ADME_LG_ACTION_CLASSIQUE_TRADUIRE', 'menu_classique_traduire'); |
define('ADME_LG_ACTION_CLASSIQUE_TRADUIRE_ACTION', 'menu_classique_traduire_action'); |
define('ADME_LG_ACTION_CLASSIQUE_TRADUIRE_ALT', 'Traduire'); |
define('ADME_LG_ACTION_CLASSIQUE_TRADUIRE_TITLE', 'Traduire ce menu'); |
define('ADME_LG_ACTION_CLASSIQUE_SUPPRIMER', 'menu_classique_supprimer'); |
define('ADME_LG_ACTION_CLASSIQUE_SUPPRIMER_ALT', 'Supprimer'); |
define('ADME_LG_ACTION_CLASSIQUE_SUPPRIMER_TITLE', 'Supprimer ce menu'); |
define('ADME_LG_ACTION_CLASSIQUE_SUPPRIMER_TRADUCTION', 'menu_classique_supprimer_traduction'); |
define('ADME_LG_ACTION_CLASSIQUE_SUPPRIMER_TRADUCTION_ALT', 'Supprimer'); |
define('ADME_LG_ACTION_CLASSIQUE_SUPPRIMER_TRADUCTION_TITLE', 'Supprimer ce menu'); |
define('ADME_LG_ACTION_CLASSIQUE_AJOUTER', 'menu_classique_ajouter'); |
define('ADME_LG_ACTION_CLASSIQUE_AJOUTER_ALT', 'Ajouter'); |
define('ADME_LG_ACTION_CLASSIQUE_AJOUTER_TITLE', 'Ajouter ce menu'); |
define('ADME_LG_ACTION_CLASSIQUE_VERIFIER', 'menu_classique_verifier'); |
define('ADME_LG_ACTION_CLASSIQUE_VERIFIER_TRADUCTION', 'menu_classique_verifier_traduction'); |
define('ADME_LG_ACTION_CLASSIQUE_TRADUCTION_DEFAUT', 'menu_classique_traduction_defaut'); |
define('ADME_LG_ACTION_CLASSIQUE_TRADUCTION_DEFAUT_ALT', 'Choisir ce menu comme traduction par défaut'); |
define('ADME_LG_ACTION_CLASSIQUE_TRADUCTION_DEFAUT_TITLE', 'Choisir ce menu comme traduction par défaut'); |
define ('ADME_LG_ACTION_CLASSIQUE_LIMITER', 'menu_classique_limiter'); |
define ('ADME_LG_ACTION_CLASSIQUE_LIMITER_TITLE', 'Restreindre le menu à cette langue'); |
define ('ADME_LG_ACTION_CLASSIQUE_OUVRIR', 'menu_classique_ouvrir'); |
define ('ADME_LG_ACTION_CLASSIQUE_OUVRIR_TITLE', 'Faire apparaitre ce menu dans toutes les langues'); |
define('ADME_LG_ACTION_COMMUN_TRADUCTION_DEFAUT', 'menu_classique_traduction_defaut'); |
define('ADME_LG_ACTION_COMMUN_TRADUCTION_DEFAUT_ALT', 'Choisir ce menu comme traduction par défaut'); |
define('ADME_LG_ACTION_COMMUN_TRADUCTION_DEFAUT_TITLE', 'Choisir ce menu comme traduction par défaut'); |
// Les actions des menus communs: |
define('ADME_LG_ACTION_COMMUN_MODIFIER', 'menu_commun_modifier'); |
define('ADME_LG_ACTION_COMMUN_MODIFIER_ALT', 'Modifier'); |
define('ADME_LG_ACTION_COMMUN_MODIFIER_ACTION', 'menu_commun_modifier_action'); |
define('ADME_LG_ACTION_COMMUN_MODIFIER_TITLE', 'Modifier ce menu'); |
define('ADME_LG_ACTION_COMMUN_MONTER', 'menu_commun_monter'); |
define('ADME_LG_ACTION_COMMUN_MONTER_ALT', 'Monter'); |
define('ADME_LG_ACTION_COMMUN_MONTER_TITLE', 'Monter ce menu'); |
define('ADME_LG_ACTION_COMMUN_DESCENDRE', 'menu_commun_descendre'); |
define('ADME_LG_ACTION_COMMUN_DESCENDRE_ALT', 'Descendre'); |
define('ADME_LG_ACTION_COMMUN_DESCENDRE_TITLE', 'Descendre ce menu'); |
define('ADME_LG_ACTION_COMMUN_DIMINUER', 'menu_commun_diminuer'); |
define('ADME_LG_ACTION_COMMUN_DIMINUER_ALT', 'Diminuer'); |
define('ADME_LG_ACTION_COMMUN_DIMINUER_TITLE', 'Diminuer d\'un niveau ce menu'); |
define('ADME_LG_ACTION_COMMUN_AUGMENTER', 'menu_commun_augmenter'); |
define('ADME_LG_ACTION_COMMUN_AUGMENTER_ALT', 'Augmenter'); |
define('ADME_LG_ACTION_COMMUN_AUGMENTER_TITLE', 'Augmenter d\'un niveau ce menu'); |
define('ADME_LG_ACTION_COMMUN_TRADUIRE', 'menu_commun_traduire'); |
define('ADME_LG_ACTION_COMMUN_TRADUIRE_ACTION', 'menu_commun_traduire_action'); |
define('ADME_LG_ACTION_COMMUN_TRADUIRE_ALT', 'Traduire'); |
define('ADME_LG_ACTION_COMMUN_TRADUIRE_TITLE', 'Traduire ce menu'); |
define('ADME_LG_ACTION_COMMUN_SUPPRIMER', 'menu_commun_supprimer'); |
define('ADME_LG_ACTION_COMMUN_SUPPRIMER_ALT', 'Supprimer'); |
define('ADME_LG_ACTION_COMMUN_SUPPRIMER_TITLE', 'Supprimer ce menu'); |
define('ADME_LG_ACTION_COMMUN_SUPPRIMER_TRADUCTION', 'menu_commun_supprimer_traduction'); |
define('ADME_LG_ACTION_COMMUN_SUPPRIMER_TRADUCTION_ALT', 'Supprimer'); |
define('ADME_LG_ACTION_COMMUN_SUPPRIMER_TRADUCTION_TITLE', 'Supprimer ce menu'); |
define('ADME_LG_ACTION_COMMUN_AJOUTER', 'menu_commun_ajouter'); |
define('ADME_LG_ACTION_COMMUN_AJOUTER_ALT', 'Ajouter'); |
define('ADME_LG_ACTION_COMMUN_AJOUTER_TITLE', 'Ajouter ce menu'); |
define('ADME_LG_ACTION_COMMUN_VERIFIER', 'menu_commun_verifier'); |
define ('ADME_LG_ACTION_COMMUN_VERIFIER_TRADUCTION','menu_commun_verifier_traduction'); |
// Les actions générales: |
define('ADME_LG_ACTION_ADMINISTRER', 'administrer'); |
define('ADME_LG_ACTION_ADMINISTRER_ALT', 'Administrer'); |
define('ADME_LG_ACTION_ADMINISTRER_TITLE', 'Administrer l\'application de ce menu'); |
define('ADME_LG_ACTION_PLIER', 'adme_menu_fermer'); |
define('ADME_LG_ACTION_PLIER_ALT', 'Plier'); |
define('ADME_LG_ACTION_DEPLIER', 'adme_menu_ouvrir'); |
define('ADME_LG_ACTION_DEPLIER_ALT', 'Déplier'); |
define('ADME_LG_ACTION_SUPPRIMER_CONFIRMATION', 'Êtes vous sûr de vouloir supprimer ce menu?'); |
// Les erreurs: |
define('ADME_LG_ERREUR_INFO_MENU', 'impossible de lire les infos du menu.'); |
define('ADME_LG_ERREUR_INFO_SITE', 'impossible de lire les infos du site.'); |
define('ADME_LG_ERREUR_INFO_MENU_RELATION', 'impossible de lire les infos sur les relations du menu.'); |
define('ADME_LG_ERREUR_ID_MENU_PERE', 'impossible de lire identifiant du menu père.'); |
define('ADME_LG_ERREUR_CODE_NUM', "La valeur %s pour le champ \"Code numérique\" existe déjà."); |
define('ADME_LG_ERREUR_CODE_ALPHA', "La valeur %s pour le champ \"Code alphanumérique\" existe déjà."); |
define('ADME_LG_ERREUR_EXISTE_SOUS_MENU', 'Ce menu contient encore des sous menus. Veuillez commencez par supprimer ces sous menus.'); |
// Le formulaire de modification d'un menu : |
define('ADME_LG_FORM_MENU_CLASSIQUE_TITRE_GENERAL', 'Modification menu'); |
define('ADME_LG_FORM_MENU_COMMUN_TITRE_GENERAL', 'Modification menu commun'); |
define('ADME_LG_FORM_MENU_CLASSIQUE_TITRE_GENERAL_TRADUCTION', 'Traduction menu'); |
define('ADME_LG_FORM_MENU_COMMUN_TITRE_GENERAL_TRADUCTION', 'Traduction menu commun'); |
define('ADME_LG_FORM_MENU_CLASSIQUE_TITRE_CONFIG', 'Configuration du menu'); |
define('ADME_LG_FORM_MENU_COMMUN_TITRE_CONFIG', 'Configuration du menu commun'); |
define('ADME_LG_FORM_MENU_ID', 'Identifiant de ce menu : '); |
define('ADME_LG_FORM_MENU_CODE_NUM', 'Code numérique du menu'); |
define('ADME_LG_FORM_MENU_REGLE_CODE_NUM', 'Un code numérique est requis pour le menu !'); |
define('ADME_LG_FORM_MENU_CODE_ALPHA', 'Code alphanumérique du menu'); |
define('ADME_LG_FORM_MENU_REGLE_CODE_ALPHA', 'Un code alphanumérique est requis pour le menu !'); |
define('ADME_LG_FORM_MENU_NOM', 'Nom du menu'); |
define('ADME_LG_FORM_MENU_REGLE_NOM', 'Un nom est requis pour le menu !'); |
define('ADME_LG_FORM_MENU_RACCOURCI', 'Raccourci clavier'); |
define('ADME_LG_FORM_MENU_DEFAUT', 'En faire le menu par défaut'); |
define('ADME_LG_FORM_MENU_FICHIER_SQUELETTE', 'Fichier squelette'); |
define('ADME_LG_FORM_MENU_INFO_BULLE', 'Contenu info-bulle'); |
define('ADME_LG_FORM_MENU_REGLE_INFO_BULLE', 'Une description courte pour l\'info-bulle est requise pour ce menu !'); |
define('ADME_LG_FORM_MENU_APPLI', 'Application'); |
define('ADME_LG_FORM_MENU_APPLI_ARGUMENT', 'Arguments de l\'application'); |
define('ADME_LG_FORM_MENU_CLASSIQUE_TITRE_ENTETE', 'Entête des pages du menu'); |
define('ADME_LG_FORM_MENU_COMMUN_TITRE_ENTETE', 'Entête des pages du menu commun'); |
define('ADME_LG_FORM_MENU_ROBOT', 'Indexation par robots'); |
define('ADME_LG_FORM_MENU_INDEX_FOLLOW', 'Indexer cette page et les suivantes'); |
define('ADME_LG_FORM_MENU_INDEX', 'Indexer seulement cette page'); |
define('ADME_LG_FORM_MENU_NOINDEX_NOFOLLOW', 'Ne pas indexer cette page et les suivantes'); |
define('ADME_LG_FORM_MENU_NOINDEX', 'Ne pas indexer cette page'); |
define('ADME_LG_FORM_MENU_INDEX_VIDE', 'Aucune'); |
define('ADME_LG_FORM_MENU_TITRE', 'Titre de la page'); |
define('ADME_LG_FORM_MENU_TITRE_ALTERNATIF', 'Titre alternatif de la page'); |
define('ADME_LG_FORM_MENU_MOT_CLE', 'Mots-clés'); |
define('ADME_LG_FORM_MENU_DESCRIPTION', 'Description du contenu'); |
define('ADME_LG_FORM_MENU_TABLE_MATIERE', 'Table des matières'); |
define('ADME_LG_FORM_MENU_SOURCE', 'Source'); |
define('ADME_LG_FORM_MENU_AUTEUR', 'Auteur'); |
define('ADME_LG_FORM_MENU_CONTRIBUTEUR', 'Contributeur'); |
define('ADME_LG_FORM_MENU_EDITEUR', 'Éditeur'); |
define('ADME_LG_FORM_MENU_DATE_CREATION', 'Date de création'); |
define('ADME_LG_FORM_MENU_DATE_VALIDITE_DEBUT', 'Date de début de validité'); |
define('ADME_LG_FORM_MENU_DATE_VALIDITE_FIN', 'Date de fin de validité'); |
define('ADME_LG_FORM_MENU_DATE_COPYRIGHT', 'Année pour le copyright'); |
define('ADME_LG_FORM_MENU_URL_LICENCE', 'URL de la licence'); |
define('ADME_LG_FORM_MENU_CATEGORIE', 'Catégorie'); |
define('ADME_LG_FORM_MENU_PUBLIC', 'Public pour la page'); |
define('ADME_LG_FORM_MENU_PUBLIC_NIVEAU', 'Niveau du public pour la page'); |
define('ADME_LG_FORM_MENU_ZG_TYPE', 'Type de portée spatiale'); |
define('ADME_LG_FORM_MENU_ZG_VALEUR', 'Portée spatiale de la page'); |
define('ADME_LG_FORM_MENU_ZG_VIDE', 'Aucun'); |
define('ADME_LG_FORM_MENU_ZG_ISO', 'Code de pays sur deux lettres (iso3166)'); |
define('ADME_LG_FORM_MENU_ZG_DC', 'Représentation des régions géographiques du Dublin Core'); |
define('ADME_LG_FORM_MENU_ZG_POINT', 'Point géographique'); |
define('ADME_LG_FORM_MENU_ZG_GTGN', 'Noms issus du Getty Thesaurus of Geographic Names'); |
define('ADME_LG_FORM_MENU_TMP_TYPE', 'Type de portée temporelle'); |
define('ADME_LG_FORM_MENU_TMP_VALEUR', 'Portée temporelle de la page'); |
define('ADME_LG_FORM_MENU_TMP_VIDE', 'Aucun'); |
define('ADME_LG_FORM_MENU_TMP_W3C', 'Codage des dates et heures du W3C'); |
define('ADME_LG_FORM_MENU_TMP_DC', 'Représentation des intervalles de temps du Dublin Core'); |
define('ADME_LG_FORM_MENU_VALIDER', 'Enregistrer'); |
define('ADME_LG_FORM_MENU_ANNULER', 'Annuler'); |
define('ADME_LG_FORM_TXT_CHP_OBLIGATOIRE', 'Indique les champs obligatoires'); |
define('ADME_LG_FORM_SYMBOLE_CHP_OBLIGATOIRE', '*'); |
define ('ADME_VOIR_CONFIG_AVANCEE', 'Afficher/Cacher la configuration avancée'); |
define ('ADME_CONFIG_AVANCEE', 'Configuration avancée'); |
// Charactère spéciaux: |
define('ADME_LG_PARENTHESE_OUVRANTE', '('); |
define('ADME_LG_PARENTHESE_FERMANTE', ')'); |
define('ADME_LG_SLASH', '/'); |
// +------------------------------------------------------------------------------------------------------+ |
// | PIED du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.18 2007-10-25 10:08:55 alexandre_tb |
* nouvelle constante multilinguisme |
* |
* Revision 1.17 2007-06-26 14:18:53 florian |
* amélioration des formulaires des différentes applis de l'interface d'administration afin de les simplifier |
* |
* Revision 1.16 2006/10/06 10:40:51 florian |
* harmonisation des messages d'erreur de l'authentification |
* |
* Revision 1.15 2006/06/29 18:58:57 ddelon |
* Multilinguisme : menu par defaut pour les menu commun |
* |
* Revision 1.14 2006/06/28 12:53:34 ddelon |
* Multilinguisme : menu par defaut |
* |
* Revision 1.13 2006/05/10 16:02:49 ddelon |
* Finition multilinguise et schizo flo |
* |
* Revision 1.12 2006/05/10 15:01:57 florian |
* ajout de constantes, pour éviter les warnings |
* |
* Revision 1.11 2006/04/12 21:11:54 ddelon |
* Multilinguisme menus communs |
* |
* Revision 1.10 2006/03/23 20:24:58 ddelon |
* *** empty log message *** |
* |
* Revision 1.9 2006/03/13 21:00:20 ddelon |
* Suppression messages d'erreur multilinguisme |
* |
* Revision 1.8 2006/03/02 10:49:49 ddelon |
* Fusion branche multilinguisme dans branche principale |
* |
* Revision 1.7.2.1 2006/02/28 14:02:10 ddelon |
* Finition multilinguisme |
* |
* Revision 1.7 2005/07/18 16:14:32 ddelon |
* css admin + menu communs |
* |
* Revision 1.6 2005/07/08 21:13:15 ddelon |
* Gestion indentation menu |
* |
* Revision 1.5 2005/05/26 15:45:09 jpm |
* Ajout d'une majuscule accentuée. |
* |
* Revision 1.4 2005/03/29 15:49:31 jpm |
* Ajout de la constante pour la date de création dans le formulaire des menus. |
* |
* Revision 1.3 2004/12/01 16:47:07 jpm |
* Ajout d'un texte pour la boite javascript de confirmation de suppression de menu. |
* |
* Revision 1.2 2004/11/10 17:26:12 jpm |
* Fin gestion de la traduction. |
* |
* Revision 1.1 2004/11/10 11:58:31 jpm |
* Début de la traduction de l'appli. |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v5.0-ouadji/papyrus/applications/admin_menu/langues/adme_langue_en.inc.php |
---|
New file |
0,0 → 1,299 |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// Copyright (C) 1999-2004 Tela Botanica (accueil@tela-botanica.org) |
// |
// Ce logiciel est un programme informatique servant à gérer du contenu et des |
// applications web. |
// Ce logiciel est régi par la licence CeCILL soumise au droit français et |
// respectant les principes de diffusion des logiciels libres. Vous pouvez |
// utiliser, modifier et/ou redistribuer ce programme sous les conditions |
// de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA |
// sur le site "http://www.cecill.info". |
// En contrepartie de l'accessibilité au code source et des droits de copie, |
// de modification et de redistribution accordés par cette licence, il n'est |
// offert aux utilisateurs qu'une garantie limitée. Pour les mêmes raisons, |
// seule une responsabilité restreinte pèse sur l'auteur du programme, le |
// titulaire des droits patrimoniaux et les concédants successifs. |
// A cet égard l'attention de l'utilisateur est attirée sur les risques |
// associés au chargement, à l'utilisation, à la modification et/ou au |
// développement et à la reproduction du logiciel par l'utilisateur étant |
// donné sa spécificité de logiciel libre, qui peut le rendre complexe à |
// manipuler et qui le réserve donc à des développeurs et des professionnels |
// avertis possédant des connaissances informatiques approfondies. Les |
// utilisateurs sont donc invités à charger et tester l'adéquation du |
// logiciel à leurs besoins dans des conditions permettant d'assurer la |
// sécurité de leurs systèmes et ou de leurs données et, plus généralement, |
// à l'utiliser et l'exploiter dans les mêmes conditions de sécurité. |
// Le fait que vous puissiez accéder à cet en-tête signifie que vous avez |
// pris connaissance de la licence CeCILL, et que vous en avez accepté les |
// termes. |
// ---- |
// CVS : $Id: adme_langue_en.inc.php,v 1.3 2007-10-25 14:26:56 ddelon Exp $ |
/** |
* Gestion des langues de l'application ADME |
* |
* Contient les constantes pour la langue française de l'application ADME. |
* |
*@package Admin_menu |
*@subpackage Langues |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.3 $ $Date: 2007-10-25 14:26:56 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTETE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// Le formulaire de sélection du site dont les menus doivent être administrer : |
define('ADME_LG_FORM_SITE_TITRE', 'List of the websites'); |
define('ADME_LG_FORM_SITE_CHOIX', 'Choice the site to administrate : '); |
define('ADME_LG_FORM_SITE_VALIDER', 'OK'); |
// Les titres de l'arborescence des menus à administrer: |
define('ADME_LG_MENU_TITRE', 'Configuration of the menus of the website:'); |
define('ADME_LG_MENU_CLASSIQUE_RACINE', 'Add a classical menu'); |
define('ADME_LG_MENU_COMMUN_RACINE', 'Add a common menu'); |
// Les actions des menus classiques: |
define('ADME_LG_ACTION_CLASSIQUE_MODIFIER', 'classical_menu_modify'); |
define('ADME_LG_ACTION_CLASSIQUE_MODIFIER_ALT', 'Modify'); |
define('ADME_LG_ACTION_CLASSIQUE_MODIFIER_TITLE', 'Modify this menu'); |
define('ADME_LG_ACTION_CLASSIQUE_MODIFIER_ACTION', 'classical_menu_modify_action'); |
define('ADME_LG_ACTION_CLASSIQUE_MONTER', 'menu_classique_go_up'); |
define('ADME_LG_ACTION_CLASSIQUE_MONTER_ALT', 'UP'); |
define('ADME_LG_ACTION_CLASSIQUE_MONTER_TITLE', 'Go up this menu'); |
define('ADME_LG_ACTION_CLASSIQUE_DESCENDRE', 'classical_menu_down'); |
define('ADME_LG_ACTION_CLASSIQUE_DESCENDRE_ALT', 'Down'); |
define('ADME_LG_ACTION_CLASSIQUE_DESCENDRE_TITLE', 'Down this menu'); |
define('ADME_LG_ACTION_CLASSIQUE_DIMINUER', 'menu_classical_decrease'); |
define('ADME_LG_ACTION_CLASSIQUE_DIMINUER_ALT', 'Decrease'); |
define('ADME_LG_ACTION_CLASSIQUE_DIMINUER_TITLE', 'Decrease of one level this menu'); |
define('ADME_LG_ACTION_CLASSIQUE_AUGMENTER', 'menu_classical_increase'); |
define('ADME_LG_ACTION_CLASSIQUE_AUGMENTER_ALT', 'Increase'); |
define('ADME_LG_ACTION_CLASSIQUE_AUGMENTER_TITLE', 'Increase of one level this menu'); |
define('ADME_LG_ACTION_CLASSIQUE_TRADUIRE', 'menu_classical_translate'); |
define('ADME_LG_ACTION_CLASSIQUE_TRADUIRE_ACTION', 'menu_classical_translate_action'); |
define('ADME_LG_ACTION_CLASSIQUE_TRADUIRE_ALT', 'Translate'); |
define('ADME_LG_ACTION_CLASSIQUE_TRADUIRE_TITLE', 'Translate this menu'); |
define('ADME_LG_ACTION_CLASSIQUE_SUPPRIMER', 'classical_menu_remove'); |
define('ADME_LG_ACTION_CLASSIQUE_SUPPRIMER_ALT', 'Remove'); |
define('ADME_LG_ACTION_CLASSIQUE_SUPPRIMER_TITLE', 'Remove this menu'); |
define('ADME_LG_ACTION_CLASSIQUE_SUPPRIMER_TRADUCTION', 'classical_menu_remove_translation'); |
define('ADME_LG_ACTION_CLASSIQUE_SUPPRIMER_TRADUCTION_ALT', 'Remove'); |
define('ADME_LG_ACTION_CLASSIQUE_SUPPRIMER_TRADUCTION_TITLE', 'Remove this menu'); |
define('ADME_LG_ACTION_CLASSIQUE_AJOUTER', 'classical_menu_add'); |
define('ADME_LG_ACTION_CLASSIQUE_AJOUTER_ALT', 'Add'); |
define('ADME_LG_ACTION_CLASSIQUE_AJOUTER_TITLE', 'Add this menu'); |
define('ADME_LG_ACTION_CLASSIQUE_VERIFIER', 'classical_menu_check'); |
define('ADME_LG_ACTION_CLASSIQUE_VERIFIER_TRADUCTION', 'classical_menu_check_translation'); |
define('ADME_LG_ACTION_CLASSIQUE_TRADUCTION_DEFAUT', 'classical_menu_translation_default'); |
define('ADME_LG_ACTION_CLASSIQUE_TRADUCTION_DEFAUT_ALT', 'Chose this menu as default translation'); |
define('ADME_LG_ACTION_CLASSIQUE_TRADUCTION_DEFAUT_TITLE', 'Chose this menu as default translation'); |
define ('ADME_LG_ACTION_CLASSIQUE_LIMITER', 'classical_menu_limit'); |
define ('ADME_LG_ACTION_CLASSIQUE_OUVRIR', 'menu_classique_open'); |
define ('ADME_LG_ACTION_CLASSIQUE_LIMITER_TITLE', 'Restrict menu to this lang'); |
define ('ADME_LG_ACTION_CLASSIQUE_OUVRIR_TITLE', 'Always show this menu'); |
// Les actions des menus communs: |
define('ADME_LG_ACTION_COMMUN_MODIFIER', 'common_menu_modify'); |
define('ADME_LG_ACTION_COMMUN_MODIFIER_ALT', 'Modify'); |
define('ADME_LG_ACTION_COMMUN_MODIFIER_TITLE', 'Modify this menu'); |
define('ADME_LG_ACTION_COMMUN_MODIFIER_ACTION', 'common_menu_modify_action'); |
define('ADME_LG_ACTION_COMMUN_MONTER', 'common_menu_up'); |
define('ADME_LG_ACTION_COMMUN_MONTER_ALT', 'UP'); |
define('ADME_LG_ACTION_COMMUN_MONTER_TITLE', 'Up this menu'); |
define('ADME_LG_ACTION_COMMUN_DESCENDRE', 'common_menu_down'); |
define('ADME_LG_ACTION_COMMUN_DESCENDRE_ALT', 'Down'); |
define('ADME_LG_ACTION_COMMUN_DESCENDRE_TITLE', 'Down this menu'); |
define('ADME_LG_ACTION_COMMUN_DIMINUER', 'common_menu_decrease'); |
define('ADME_LG_ACTION_COMMUN_DIMINUER_ALT', 'Decrease'); |
define('ADME_LG_ACTION_COMMUN_DIMINUER_TITLE', 'Decrease of one level this menu'); |
define('ADME_LG_ACTION_COMMUN_AUGMENTER', 'common_menu_increase'); |
define('ADME_LG_ACTION_COMMUN_AUGMENTER_ALT', 'Increase'); |
define('ADME_LG_ACTION_COMMUN_AUGMENTER_TITLE', 'Increase of one level this'); |
define('ADME_LG_ACTION_COMMUN_TRADUIRE', 'commun_menu_translate'); |
define('ADME_LG_ACTION_COMMUN_TRADUIRE_ACTION', 'commun_menu_translate_action'); |
define('ADME_LG_ACTION_COMMUN_TRADUIRE_ALT', 'Translate'); |
define('ADME_LG_ACTION_COMMUN_TRADUIRE_TITLE', 'Translate thid menu'); |
define('ADME_LG_ACTION_COMMUN_SUPPRIMER', 'common_menu_remove'); |
define('ADME_LG_ACTION_COMMUN_SUPPRIMER_ALT', 'Remove'); |
define('ADME_LG_ACTION_COMMUN_SUPPRIMER_TITLE', 'Remove this menu'); |
define('ADME_LG_ACTION_COMMUN_SUPPRIMER_TRADUCTION', 'common_menu_remove_translation'); |
define('ADME_LG_ACTION_COMMUN_SUPPRIMER_TRADUCTION_ALT', 'Remove'); |
define('ADME_LG_ACTION_COMMUN_SUPPRIMER_TRADUCTION_TITLE', 'Remove this menu'); |
define('ADME_LG_ACTION_COMMUN_AJOUTER', 'common_menu_add'); |
define('ADME_LG_ACTION_COMMUN_AJOUTER_ALT', 'Add'); |
define('ADME_LG_ACTION_COMMUN_AJOUTER_TITLE', 'Add this menu'); |
define('ADME_LG_ACTION_COMMUN_VERIFIER', 'common_menu_check'); |
define('ADME_LG_ACTION_COMMUN_VERIFIER_TRADUCTION', 'common_menu_check_translation'); |
define('ADME_LG_ACTION_COMMUN_TRADUCTION_DEFAUT', 'common_menu_translation_default'); |
define('ADME_LG_ACTION_COMMUN_TRADUCTION_DEFAUT_ALT', 'Chose this menu as default translation'); |
define('ADME_LG_ACTION_COMMUN_TRADUCTION_DEFAUT_TITLE', 'Chose this menu as default translation'); |
// Les actions générales: |
define('ADME_LG_ACTION_ADMINISTRER', 'Manage'); |
define('ADME_LG_ACTION_ADMINISTRER_ALT', 'Manage'); |
define('ADME_LG_ACTION_ADMINISTRER_TITLE', 'Manage the application of this menu'); |
define('ADME_LG_ACTION_PLIER', 'adme_menu_close'); |
define('ADME_LG_ACTION_PLIER_ALT', 'Fold'); |
define('ADME_LG_ACTION_DEPLIER', 'adme_menu_open'); |
define('ADME_LG_ACTION_DEPLIER_ALT', 'Unfold'); |
define('ADME_LG_ACTION_SUPPRIMER_CONFIRMATION', 'Are you sure to want to remove this menu?'); |
// Les erreurs: |
define('ADME_LG_ERREUR_INFO_MENU', 'impossible to read the informations of the menu.'); |
define('ADME_LG_ERREUR_INFO_SITE', 'impossible to read the informations of the website.'); |
define('ADME_LG_ERREUR_INFO_MENU_RELATION', 'impossible to read the informations about the relations of the menu.'); |
define('ADME_LG_ERREUR_ID_MENU_PERE', 'impossible to read identifying of the menu father.'); |
define('ADME_LG_ERREUR_CODE_NUM', "The value %s for the \"code nuérique\" yet exists"); |
define('ADME_LG_ERREUR_CODE_ALPHA', "The value %s for the \"Code alphanumérique\" yet exist"); |
define('ADME_LG_ERREUR_EXISTE_SOUS_MENU', 'This menu includes under-menues. Please, begin to remove them.'); |
// Le formulaire de modification d'un menu : |
define('ADME_LG_FORM_MENU_CLASSIQUE_TITRE_GENERAL', 'Mofify menu'); |
define('ADME_LG_FORM_MENU_COMMUN_TITRE_GENERAL', 'Modify common menu'); |
define('ADME_LG_FORM_MENU_CLASSIQUE_TITRE_CONFIG', 'Menu config'); |
define('ADME_LG_FORM_MENU_COMMUN_TITRE_CONFIG', 'Common menu confgig'); |
define('ADME_LG_FORM_MENU_ID', 'Identifier of this menu : '); |
define('ADME_LG_FORM_MENU_CODE_NUM', 'Numeric code of this menu'); |
define('ADME_LG_FORM_MENU_REGLE_CODE_NUM', ' a numeric digital code is necessary for the menu !'); |
define('ADME_LG_FORM_MENU_CODE_ALPHA', 'Code alphanumérique of the menu'); |
define('ADME_LG_FORM_MENU_REGLE_CODE_ALPHA', 'An alphanumeric code is necessary for the menu!'); |
define('ADME_LG_FORM_MENU_NOM', 'Name of the menu'); |
define('ADME_LG_FORM_MENU_REGLE_NOM', 'a name is necessary for the menu !'); |
define('ADME_LG_FORM_MENU_RACCOURCI', ' Shortened clavier'); |
define('ADME_LG_FORM_MENU_DEFAUT', 'Making the menu by défaut'); |
define('ADME_LG_FORM_MENU_FICHIER_SQUELETTE', ' File squelette'); |
define('ADME_LG_FORM_MENU_INFO_BULLE', ' Contained information-bulle'); |
define('ADME_LG_FORM_MENU_REGLE_INFO_BULLE', ' a short description for the information-bubble is necessary for this menu!'); |
define('ADME_LG_FORM_MENU_APPLI', 'Application'); |
define('ADME_LG_FORM_MENU_APPLI_ARGUMENT', 'Application arguments'); |
define('ADME_LG_FORM_MENU_CLASSIQUE_TITRE_ENTETE', ' Heading of the pages of the menu'); |
define('ADME_LG_FORM_MENU_COMMUN_TITRE_ENTETE', ' Heading of the pages of the common menu'); |
define('ADME_LG_FORM_MENU_ROBOT', ' Indexing by robots'); |
define('ADME_LG_FORM_MENU_INDEX_FOLLOW', 'Indexeing this page and next'); |
define('ADME_LG_FORM_MENU_INDEX', 'Indexing only this page'); |
define('ADME_LG_FORM_MENU_NOINDEX_NOFOLLOW', 'Do notindexing this page and next pages'); |
define('ADME_LG_FORM_MENU_NOINDEX', 'Do not indexing this page'); |
define('ADME_LG_FORM_MENU_INDEX_VIDE', 'None'); |
define('ADME_LG_FORM_MENU_TITRE', 'Title of the page'); |
define('ADME_LG_FORM_MENU_TITRE_ALTERNATIF', 'Alternative tittle for the page'); |
define('ADME_LG_FORM_MENU_MOT_CLE', 'key-words'); |
define('ADME_LG_FORM_MENU_DESCRIPTION', ' Description of the content'); |
define('ADME_LG_FORM_MENU_TABLE_MATIERE', 'Contents'); |
define('ADME_LG_FORM_MENU_SOURCE', 'Source'); |
define('ADME_LG_FORM_MENU_AUTEUR', 'Author'); |
define('ADME_LG_FORM_MENU_CONTRIBUTEUR', 'Contributor'); |
define('ADME_LG_FORM_MENU_EDITEUR', 'Éditor'); |
define('ADME_LG_FORM_MENU_DATE_CREATION', 'Creation date'); |
define('ADME_LG_FORM_MENU_DATE_VALIDITE_DEBUT', 'Go back to beginning of validity'); |
define('ADME_LG_FORM_MENU_DATE_VALIDITE_FIN', 'Completion date of validity'); |
define('ADME_LG_FORM_MENU_DATE_COPYRIGHT', 'Year for the copyright'); |
define('ADME_LG_FORM_MENU_URL_LICENCE', 'URL of the licence'); |
define('ADME_LG_FORM_MENU_CATEGORIE', 'Catégory'); |
define('ADME_LG_FORM_MENU_PUBLIC', 'Public for the page'); |
define('ADME_LG_FORM_MENU_PUBLIC_NIVEAU', 'level of public for this page'); |
define('ADME_LG_FORM_MENU_ZG_TYPE', 'Type of space range'); |
define('ADME_LG_FORM_MENU_ZG_VALEUR', 'Space range of the page'); |
define('ADME_LG_FORM_MENU_ZG_VIDE', 'None'); |
define('ADME_LG_FORM_MENU_ZG_ISO', 'Code of the country on two letters(iso3166)'); |
define('ADME_LG_FORM_MENU_ZG_DC', ' Representation of the geographical areas of Dublin Core'); |
define('ADME_LG_FORM_MENU_ZG_POINT', 'Géographique point'); |
define('ADME_LG_FORM_MENU_ZG_GTGN', 'Noms issus du Getty Thesaurus of Geographic Names'); |
define('ADME_LG_FORM_MENU_TMP_TYPE', ' Standard of range temporal'); |
define('ADME_LG_FORM_MENU_TMP_VALEUR', ' Temporal dimension of the page'); |
define('ADME_LG_FORM_MENU_TMP_VIDE', 'None'); |
define('ADME_LG_FORM_MENU_TMP_W3C', ' Coding of the dates and hours of the W3C'); |
define('ADME_LG_FORM_MENU_TMP_DC', ' Representation of the intervals of time of Dublin Core'); |
define('ADME_LG_FORM_MENU_VALIDER', 'Record'); |
define('ADME_LG_FORM_MENU_ANNULER', 'Cancel'); |
define('ADME_LG_FORM_TXT_CHP_OBLIGATOIRE', ' Indicates the fields obligatoires'); |
define('ADME_LG_FORM_SYMBOLE_CHP_OBLIGATOIRE', '*'); |
// Charactère spéciaux: |
define('ADME_LG_PARENTHESE_OUVRANTE', '('); |
define('ADME_LG_PARENTHESE_FERMANTE', ')'); |
define('ADME_LG_SLASH', '/'); |
// +------------------------------------------------------------------------------------------------------+ |
// | PIED du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.2 2007-10-23 14:10:00 ddelon |
* Ajout traductions manquantes pour l'anglais |
* |
* Revision 1.1 2006-04-12 21:11:54 ddelon |
* Multilinguisme menus communs |
* |
* Revision 1.7 2005/07/18 16:14:32 ddelon |
* css admin + menu communs |
* |
* Revision 1.6 2005/07/08 21:13:15 ddelon |
* Gestion indentation menu |
* |
* Revision 1.5 2005/05/26 15:45:09 jpm |
* Ajout d'une majuscule accentuée. |
* |
* Revision 1.4 2005/03/29 15:49:31 jpm |
* Ajout de la constante pour la date de création dans le formulaire des menus. |
* |
* Revision 1.3 2004/12/01 16:47:07 jpm |
* Ajout d'un texte pour la boite javascript de confirmation de suppression de menu. |
* |
* Revision 1.2 2004/11/10 17:26:12 jpm |
* Fin gestion de la traduction. |
* |
* Revision 1.1 2004/11/10 11:58:31 jpm |
* Début de la traduction de l'appli. |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v5.0-ouadji/papyrus/applications/admin_menu/presentations/styles/adme_standard.css |
---|
New file |
0,0 → 1,68 |
/* vim: set expandtab tabstop=4 shiftwidth=4: */ |
/* ======================================================================================================== |
| Copyright (C) 1999-2004 Tela Botanica (accueil@tela-botanica.org) | |
+---------------------------------------------------------------------------------------------------------+ |
| This file is part of Papyrus - Admin Menus. | |
| | |
| Foobar is free software; you can redistribute it and/or modify it under the terms of the GNU General | |
| Public License as published by the Free Software Foundation; either version 2 of the License, or | |
| (at your option) any later version. | |
| | |
| Foobar is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the | |
| implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public | |
| License for more details. | |
| | |
| You should have received a copy of the GNU General Public License along with Foobar; if not, write to | |
| the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
+---------------------------------------------------------------------------------------------------------+ |
CVS : $Id: adme_standard.css,v 1.3 2006-10-06 13:38:45 florian Exp $ |
=========================================================================================================== |
DESCRIPTION : Fichier contenant les styles css de l'application ADME de Papyrus. |
=========================================================================================================== |
Auteur original : jean-Pascal MILCENT <jpm[at]tela-botanica[point]org> |
Autres auteurs : aucun |
=========================================================================================================== |
AUTEUR : $Author: florian $ |
VERSION : $Revision: 1.3 $ $Date: 2006-10-06 13:38:45 $ |
======================================================================================================= */ |
/* +----------------------------------------------------------------------------------------------------+ |
| STRUCTURE | |
+----------------------------------------------------------------------------------------------------+*/ |
/* +----------------------------------------------------------------------------------------------------+ |
| DESIGN | |
+----------------------------------------------------------------------------------------------------+*/ |
.adme_img_icone { |
border: 0px; |
width: 16px; |
height: 16px; |
} |
.adme_img_plier_deplier { |
border: 0px; |
width: 9px; |
height: 9px; |
} |
.menu_classique, .menu_commun { |
list-style-type: none; |
} |
/* +--Fin des CSS ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.2 2005/02/28 11:05:55 jpm |
* Modification de la licence. |
* |
* Revision 1.1 2004/11/09 12:51:43 jpm |
* Ajout de styles pour les icônes. |
* |
* |
* +-- Fin des CSS ----------------------------------------------------------------------------------------+ |
*/ |
/tags/v5.0-ouadji/papyrus/applications/admin_menu/presentations/images/interface/adme_monter.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v5.0-ouadji/papyrus/applications/admin_menu/presentations/images/interface/adme_monter.png |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/tags/v5.0-ouadji/papyrus/applications/admin_menu/presentations/images/interface/adme_ouvrir.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v5.0-ouadji/papyrus/applications/admin_menu/presentations/images/interface/adme_ouvrir.png |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/tags/v5.0-ouadji/papyrus/applications/admin_menu/presentations/images/interface/adme_supprimer.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v5.0-ouadji/papyrus/applications/admin_menu/presentations/images/interface/adme_supprimer.png |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/tags/v5.0-ouadji/papyrus/applications/admin_menu/presentations/images/interface/adme_augmenter.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v5.0-ouadji/papyrus/applications/admin_menu/presentations/images/interface/adme_augmenter.png |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/tags/v5.0-ouadji/papyrus/applications/admin_menu/presentations/images/interface/adme_radio_off.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v5.0-ouadji/papyrus/applications/admin_menu/presentations/images/interface/adme_radio_off.png |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/tags/v5.0-ouadji/papyrus/applications/admin_menu/presentations/images/interface/adme_ajouter.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v5.0-ouadji/papyrus/applications/admin_menu/presentations/images/interface/adme_ajouter.png |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/tags/v5.0-ouadji/papyrus/applications/admin_menu/presentations/images/interface/adme_radio_on.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v5.0-ouadji/papyrus/applications/admin_menu/presentations/images/interface/adme_radio_on.png |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/tags/v5.0-ouadji/papyrus/applications/admin_menu/presentations/images/interface/adme_descendre.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v5.0-ouadji/papyrus/applications/admin_menu/presentations/images/interface/adme_descendre.png |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/tags/v5.0-ouadji/papyrus/applications/admin_menu/presentations/images/interface/adme_diminuer.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v5.0-ouadji/papyrus/applications/admin_menu/presentations/images/interface/adme_diminuer.png |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/tags/v5.0-ouadji/papyrus/applications/admin_menu/presentations/images/interface/adme_modifier.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v5.0-ouadji/papyrus/applications/admin_menu/presentations/images/interface/adme_modifier.png |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/tags/v5.0-ouadji/papyrus/applications/admin_menu/presentations/images/interface/adme_fermer.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v5.0-ouadji/papyrus/applications/admin_menu/presentations/images/interface/adme_fermer.png |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/tags/v5.0-ouadji/papyrus/applications/admin_menu/presentations/images/interface/adme_administrer.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v5.0-ouadji/papyrus/applications/admin_menu/presentations/images/interface/adme_administrer.png |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/tags/v5.0-ouadji/papyrus/applications/admin_site/admin_site.php |
---|
New file |
0,0 → 1,408 |
<?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 | |
// +------------------------------------------------------------------------------------------------------+ |
/** |
* Application Administrateur de Papyrus. |
* |
* Application permettant de gérer actulement les projets et la mise en cache des pages. |
* Dans l'avenir la gestion via l'interface d'administration des fichiers CSS et |
* des Squelettes pourrait être envisagée. |
* Cette application peut prendre 1 des 3 arguments ci-dessous lors de son appel par un menu de Papyrus : |
* - site : pour indiquer que l'on veut gérer les sites |
* - cache : pour indiquer que l'on veut gérer le cache |
* Liste des paquetages Pear nécessaire à cette application : |
* - DB |
* - Auth |
* - Net_URL |
* |
*@package Admin_site |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Alexandre GRANIER <alexandre@tela-botanica.org> |
*@author Laurent COUDOUNEAU <lc@gsite.org> |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.12 $ $Date: 2006-10-06 10:40:51 $ |
// +------------------------------------------------------------------------------------------------------+ |
// |
// $Id: admin_site.php,v 1.12 2006-10-06 10:40:51 florian Exp $ |
// FICHIER : $RCSfile: admin_site.php,v $ |
// AUTEUR : $Author: florian $ |
// VERSION : $Revision: 1.12 $ |
// DATE : $Date: 2006-10-06 10:40:51 $ |
// +------------------------------------------------------------------------------------------------------+ |
**/ |
// +------------------------------------------------------------------------------------------------------+ |
// | 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 des fichiers de traduction de l'appli ADSI de Papyrus |
if (file_exists(ADSI_CHEMIN_LANGUE.'adsi_langue_'.$GLOBALS['_GEN_commun']['i18n'].'.inc.php')) { |
require_once ADSI_CHEMIN_LANGUE.'adsi_langue_'.$GLOBALS['_GEN_commun']['i18n'].'.inc.php'; |
} else { |
require_once ADSI_CHEMIN_LANGUE.'adsi_langue_'.ADSI_I18N_DEFAUT.'.inc.php'; |
} |
/** Inclusion de la bibliothèque PEAR de conception de formulaire.*/ |
require_once ADSI_CHEMIN_BIBLIOTHEQUE_PEAR.'HTML/QuickForm.php'; |
require_once ADSI_CHEMIN_BIBLIOTHEQUE_PEAR.'HTML/QuickForm/element.php'; |
/** Inclusion de l'API de fonctions gérant les erreurs sql.*/ |
require_once ADSI_CHEMIN_BIBLIOTHEQUE_API.'debogage/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/SQL_manipulation.fonct.php'; |
/** Inclusion des fonctions de manipulation de fichiers et dossiers. |
* Permet la suppression d'un dossier et de son contenu.*/ |
require_once ADSI_CHEMIN_BIBLIOTHEQUE_API.'fichier/FIC_manipulation.fonct.php'; |
/** 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 bibliothèque de fonctions concernant les tables "gen_site..." de Papyrus.*/ |
require_once ADSI_CHEMIN_BIBLIOTHEQUE_GEN.'pap_site.fonct.php'; |
/** Inclusion de la bibliotheque de fonction gérant l'affichage de l'application Administrateur.*/ |
require_once ADSI_CHEMIN_BIBLIOTHEQUE_ADSI.'adsi_affichage.fonct.php'; |
/** Inclusion de la bibliotheque de fonction gérant l'administration des sites de Papyrus.*/ |
require_once ADSI_CHEMIN_BIBLIOTHEQUE_ADSI.'adsi_site.fonct.php'; |
///** Inclusion de la bibliotheque de fonction gérant l'administration du cache de Papyrus.*/ |
//require_once ADSI_CHEMIN_BIBLIOTHEQUE_ADSI.'adsi_cache.fonct.php'; |
///** Inclusion de la bibliotheque de fonction gérant l'administration des squelettes des sites de Papyrus.*/ |
//require_once ADSI_CHEMIN_BIBLIOTHEQUE_ADSI.'adsi_squelette.fonct.php'; |
///** Inclusion de la bibliotheque de fonction gérant l'administration des feuilles de styles des sites de Papyrus.*/ |
//require_once ADSI_CHEMIN_BIBLIOTHEQUE_ADSI.'adsi_style.fonct.php'; |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/** Fonction afficherContenuTete() - Fonction appelé par le gestionnaire Papyrus. |
* |
* Elle retourne l'entête de l'application.. |
* |
* @return string du code XHTML correspondant à la zone d'entête de l'application. |
*/ |
function afficherContenuTete() |
{ |
return ''; |
} |
/** Fonction afficherContenuCorps() - Retourne le contenu XHTML à afficherdans la zone contenu corps. |
* |
* Cette fonction retourne le contenu final d'un appel à l'application Administrateur. |
* Cette fonction peut être appelé par Papyrus où depuis n'importe quel autre interface. |
* |
* @return string le contenu xhtml généré par l'application Administrateur et devant être affiché. |
*/ |
function afficherContenuCorps() |
{ |
// +----------------------------------------------------------------------------------------------+ |
// Initialisation des variables |
// +----------------------------------------------------------------------------------------------+ |
// Objet Pear Auth |
$objet_pear_auth =& $GLOBALS['_GEN_commun']['pear_auth']; |
// +----------------------------------------------------------------------------------------------+ |
// Gestion de l'URL pour revenir sur le menu courant. |
$url = $GLOBALS['_GEN_commun']['url']->getUrl(); |
// +----------------------------------------------------------------------------------------------+ |
if ($objet_pear_auth->getAuth()) { |
// +----------------------------------------------------------------------------------------------+ |
// Initialisation des variables. |
$sortie_xhtml = '';// Le XHTML à renvoyer.// Ancien nom : $outputText |
$msg = ''; |
// +----------------------------------------------------------------------------------------------+ |
// Arguments passé par le menu de Papyrus à l'application l'Administrateur de site. |
// 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 |
if (isset($GLOBALS['_GEN_commun']['info_application']->id_site)) { |
$id_site_a_administrer = $GLOBALS['_GEN_commun']['info_application']->id_site; |
} |
if (isset($GLOBALS['_GEN_commun']['info_application']->bool_site) && $GLOBALS['_GEN_commun']['info_application']->bool_site == 'true') { |
// Interface d'administration des sites |
$bool_site = true; |
} |
if (isset($GLOBALS['_GEN_commun']['info_application']->bool_auth) && $GLOBALS['_GEN_commun']['info_application']->bool_auth == 'true') { |
// Interface d'administration du cache d'un site |
$bool_cache = true; |
} |
if (isset($GLOBALS['_GEN_commun']['info_application']->bool_cache) && $GLOBALS['_GEN_commun']['info_application']->bool_cache == 'true') { |
// Interface d'administration du cache d'un site |
$bool_cache = true; |
} |
if (isset($GLOBALS['_GEN_commun']['info_application']->bool_squelette) && $GLOBALS['_GEN_commun']['info_application']->bool_squelette == 'true') { |
// Interface d'administration du fichier squelette d'un site |
$bool_squelette = true; |
} |
if (isset($GLOBALS['_GEN_commun']['info_application']->bool_style) && $GLOBALS['_GEN_commun']['info_application']->bool_style == 'true') { |
// Interface d'administration du fichier de styles d'un site |
$bool_style = 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($GLOBALS['_GEN_commun']['pear_db'], $url); |
return $sortie_xhtml; |
} else if (isset($_POST['site_enregistrer'])) { |
// Nous cherchons à enregistrer un site |
$message = ADMIN_validerFormSite($GLOBALS['_GEN_commun']['pear_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($GLOBALS['_GEN_commun']['pear_db'], $url, $_POST, $message); |
} else { |
// Les données sont valide. Nous les enregistrons et retournons au formulaire de départ. |
$message = ADMIN_enregistrerSite($GLOBALS['_GEN_commun']['pear_db'], $_POST, $objet_pear_auth->getAuthData('ga_id_administrateur')); |
$sortie_xhtml .= ADMIN_afficherFormListeSites($GLOBALS['_GEN_commun']['pear_db'], $url, $message); |
} |
return $sortie_xhtml; |
} else if (isset($_POST['form_sites_modifier'])) { |
// Nous cherchons à modifier un site |
$message = ADMIN_validerFormListesSites($GLOBALS['_GEN_commun']['pear_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($GLOBALS['_GEN_commun']['pear_db'], $url, $message); |
} else { |
// Les données sont valide. Nous affichons le formulaire de modification. |
$sortie_xhtml .= ADMIN_afficherFormSite($GLOBALS['_GEN_commun']['pear_db'], $url, $_POST, $message); |
} |
return $sortie_xhtml; |
} else if (isset($_POST['site_modifier'])) { |
// Nous cherchons à enregistrer les modification d'un site |
$message = ADMIN_validerFormSite($GLOBALS['_GEN_commun']['pear_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($GLOBALS['_GEN_commun']['pear_db'], $url, $_POST, $message); |
} else { |
// Les données sont valide. Nous les enregistrons et retournons au formulaire de départ. |
$message = ADMIN_modifierSite($GLOBALS['_GEN_commun']['pear_db'], $_POST, $objet_pear_auth->getAuthData('ga_id_administrateur')); |
$sortie_xhtml .= ADMIN_afficherFormListeSites($GLOBALS['_GEN_commun']['pear_db'], $url, $message); |
} |
return $sortie_xhtml; |
} else if (isset($_POST['form_sites_supprimer'])) { |
// Nous cherchons à supprimer un site |
$message = ADMIN_validerFormListesSites($GLOBALS['_GEN_commun']['pear_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($GLOBALS['_GEN_commun']['pear_db'], $url, $message); |
} else { |
// Les données sont valide. Nous supprimons et retournons au formulaire de départ. |
$message = ADMIN_supprimerSite($GLOBALS['_GEN_commun']['pear_db'], $_POST); |
$sortie_xhtml .= ADMIN_afficherFormListeSites($GLOBALS['_GEN_commun']['pear_db'], $url, $message); |
} |
return $sortie_xhtml; |
} else if (isset($_POST['form_sites_traduire'])) { |
// Nous cherchons à traduire un site |
$message = ADMIN_validerFormListesSites($GLOBALS['_GEN_commun']['pear_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($GLOBALS['_GEN_commun']['pear_db'], $url, $message); |
} else { |
$message = ADMIN_verifier_traduction_possible($GLOBALS['_GEN_commun']['pear_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($GLOBALS['_GEN_commun']['pear_db'], $url, $message); |
} |
else { |
// Les données sont valide. Nous affichons le formulaire de traduction |
$sortie_xhtml .= ADMIN_afficherFormSite($GLOBALS['_GEN_commun']['pear_db'], $url, $_POST, $message); |
} |
} |
return $sortie_xhtml; |
} else if (isset($_POST['site_traduire'])) { |
// Nous cherchons à enregistrer la traduction d'un site |
$message = ADMIN_validerFormSite($GLOBALS['_GEN_commun']['pear_db'], $_POST); |
$message=''; |
if (!empty($message)) { |
// Les données ne sont pas valide. Nous retournons le formulaires avec les messages d'erreurs. |
$sortie_xhtml .= ADMIN_afficherFormSite($GLOBALS['_GEN_commun']['pear_db'], $url, $_POST, $message); |
} else { |
// Les données sont valide. Nous les enregistrons et retournons au formulaire de départ. |
$message = ADMIN_traduireSite($GLOBALS['_GEN_commun']['pear_db'], $_POST, $objet_pear_auth->getAuthData('ga_id_administrateur')); |
$sortie_xhtml .= ADMIN_afficherFormListeSites($GLOBALS['_GEN_commun']['pear_db'], $url, $message); |
} |
return $sortie_xhtml; |
} else if (isset($_POST['form_annuler'])) { |
// Retour à la liste des sites |
$sortie_xhtml .= ADMIN_afficherFormListeSites($GLOBALS['_GEN_commun']['pear_db'], $url); |
return $sortie_xhtml; |
} else { |
// Liste des sites |
$sortie_xhtml .= ADMIN_afficherFormListeSites($GLOBALS['_GEN_commun']['pear_db'], $url); |
} |
} |
// +----------------------------------------------------------------------------------------------+ |
// Gestion du cache... A FAIRE |
if ($bool_cache) { |
} |
// +----------------------------------------------------------------------------------------------+ |
// Gestion des squelettes... A FAIRE |
if ($bool_squelette) { |
} |
// +----------------------------------------------------------------------------------------------+ |
// Gestion des styles... A FAIRE |
if ($bool_style) { |
} |
return $sortie_xhtml; |
} else { |
// L'utilisateur n'est pas identifie, nous lui demandons de le faire. |
$res=''; |
$res .= '<p class="zone_alert">'.ADSI_IDENTIFIEZ_VOUS.'</p>'."\n" ; |
$res .= '<form id="form_connexion" style="clear:both;" class="form_identification" action="' ; |
$res .= $url; |
$res .= '" method="post"> |
<fieldset> |
<legend>Identifiez vous</legend> |
<label for="username">Courriel : </label> |
<input type="text" id="username" name="username" maxlength="80" tabindex="1" value="courriel" /> |
<label for="password">Mot de passe : </label> |
<input type="password" id="password" name="password" maxlength="80" tabindex="2" value="mot de passe" /> |
<input type="submit" id="connexion" name="connexion" tabindex="3" value="ok" /> |
</fieldset> |
</form>'; |
return $res ; |
} |
}//Fin de la fonction afficherContenuCorps(). |
/* +--Fin du code ---------------------------------------------------------------------------------------+ |
* $Log: not supported by cvs2svn $ |
* Revision 1.11 2006/03/15 23:35:25 ddelon |
* Gestion site |
* |
* Revision 1.10 2006/03/02 10:49:49 ddelon |
* Fusion branche multilinguisme dans branche principale |
* |
* Revision 1.9.2.2 2006/02/28 14:02:09 ddelon |
* Finition multilinguisme |
* |
* Revision 1.9.2.1 2006/01/19 21:26:20 ddelon |
* Multilinguisme site + bug ftp |
* |
* Revision 1.9 2005/04/08 13:28:43 jpm |
* Utiliation de références. |
* |
* Revision 1.8 2005/02/28 13:09:17 jpm |
* Correction bogue : virgule manquante. |
* |
* Revision 1.7 2005/02/28 11:07:05 jpm |
* Modification des auteurs. |
* |
* Revision 1.6 2005/02/28 10:58:38 jpm |
* Suppression de code inutile. |
* |
* Revision 1.5 2005/02/28 10:32:06 jpm |
* Changement de nom de dossier. |
* |
* Revision 1.4 2004/12/03 19:22:57 jpm |
* Gestion des types de sites externes gérés par Papyrus. |
* |
* Revision 1.3 2004/10/18 18:27:37 jpm |
* Correction problèmes FTP et manipulation de fichiers. |
* |
* Revision 1.2 2004/07/06 17:08:14 jpm |
* Modification de la documentation pour une mailleur analyse par PhpDocumentor. |
* |
* Revision 1.1 2004/06/16 14:20:39 jpm |
* Changement de nom de Génésia en Papyrus. |
* Changement de l'arborescence. |
* |
* Revision 1.23 2004/05/10 12:23:26 jpm |
* Correction mineure. |
* |
* Revision 1.22 2004/05/07 16:33:18 jpm |
* Intégration de constantes. |
* |
* Revision 1.21 2004/05/07 07:23:03 jpm |
* Ajout de la gestion des modification et suppression de site. Amélioration de la création des sites. |
* |
* Revision 1.20 2004/05/05 06:45:36 jpm |
* Suppression de l'appel de la fonction générant le "vous êtes ici" dans la fonction affichant l'entête de l'application. |
* |
* Revision 1.19 2004/05/04 16:28:30 jpm |
* Réduction de code pour la fonction afficherContenuTete(). |
* |
* Revision 1.18 2004/04/30 16:22:59 jpm |
* Poursuite de l'administration des sites. |
* |
* Revision 1.17 2004/04/22 08:33:11 jpm |
* Transformation de $GS_GLOBAL en $_GEN_commun. |
* |
* Revision 1.16 2004/04/09 16:24:08 jpm |
* Prise en compte des tables i18n. |
* |
* Revision 1.15 2004/04/02 16:37:09 jpm |
* Modification de la gestion des actions d'administration. |
* Ajout de commentaires. |
* |
* Revision 1.14 2004/03/31 16:58:15 jpm |
* Changement des chemins d'accès aux fichiers à inclure. |
* |
* Revision 1.13 2004/03/24 10:07:04 jpm |
* Ajout des commentaires d'entête. |
* Début mise en conformité avec la convention de codage. |
* Déplacement de la fonction d'affichage du xhtml dans la bibliothèque de fonctions. |
* |
* +--Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v5.0-ouadji/papyrus/applications/admin_site/configuration/adsi_configuration.inc.php |
---|
New file |
0,0 → 1,90 |
<?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.5 2006-03-22 13:18:00 alexandre_tb 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 Admin_site |
*@subpackage Configuration |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.5 $ $Date: 2006-03-22 13:18:00 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTETE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS 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/'); |
// Chemin vers les dossiers de l'application |
/** Chemin vers l'application Admin Site de Papyrus.*/ |
define('ADSI_CHEMIN_APPLICATION', GEN_CHEMIN_APPLICATION.'admin_site/'); |
/** Chemin vers les fichiers de traduction de l'application Admin Auth de Papyrus.*/ |
define('ADSI_CHEMIN_LANGUE', ADSI_CHEMIN_APPLICATION.'langues/'); |
define ('ADSI_I18N_DEFAUT', 'fr'); |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.4 2006/03/02 10:49:49 ddelon |
* Fusion branche multilinguisme dans branche principale |
* |
* Revision 1.3.2.1 2006/02/28 14:02:11 ddelon |
* Finition multilinguisme |
* |
* Revision 1.3 2005/02/28 10:59:38 jpm |
* Modification des commentaires. |
* |
* Revision 1.2 2004/07/06 17:08:20 jpm |
* Modification de la documentation pour une mailleur analyse par PhpDocumentor. |
* |
* Revision 1.1 2004/06/16 14:20:28 jpm |
* Changement de nom de Génésia en Papyrus. |
* Changement de l'arborescence. |
* |
* Revision 1.1 2004/05/07 08:21:39 jpm |
* Ajout des constantes de définition des chemins des fichiers à inclure. |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v5.0-ouadji/papyrus/applications/admin_site/bibliotheque/adsi_site.fonct.php |
---|
New file |
0,0 → 1,2041 |
<?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_site.fonct.php,v 1.42 2007-10-23 13:31:22 ddelon Exp $ |
/** |
* Bibliotheque de fonctions d'admininistration des projets |
* |
* Contient un ensemble de fonctions permettant a l'application Administrateur de Papyrus, de modifier des informations |
* sur les projets (=sites geres par Papyrus). |
* |
*@package Admin_site |
*@subpackage Fonctions |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Alexandre GRANIER <alexandre@tela-botanica.org> |
*@author Laurent COUDOUNEAU <lc@gsite.org> |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.42 $ $Date: 2007-10-23 13:31:22 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
if (GEN_FTP_UTILISE) { |
/** Inclusion bibliotheque de PEAR gerant le FTP.*/ |
require_once ADSI_CHEMIN_BIBLIOTHEQUE_PEAR.'Net/FTP.php'; |
} |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/** Fonction ADMIN_afficherListeSites()- Genere le xhtml permettant de choisir un site parmis une liste. |
* |
* Cette fonction fournie une liste des sites principaux geres par papyrus. |
* |
* @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 a retourner. |
*/ |
function ADMIN_afficherFormListeSites(&$db, $url, $message = '') |
{ |
$id_langue = $GLOBALS['_GEN_commun']['i18n']; //identifiant de la langue choisie |
// Langue en cours : langue choisie ou langue par defaut (principale) |
if (isset($id_langue) && ($id_langue!='')) { |
$langue_test=$id_langue; |
} else { |
$langue_test=GEN_I18N_ID_DEFAUT; |
} |
// Liste des sites principaux : |
// Recherche de tous les sites langue en cours |
$requete = 'SELECT * '. |
'FROM gen_site, gen_site_relation '. |
'WHERE gsr_id_site_01 = gsr_id_site_02 '. |
'AND gsr_id_site_01 = gs_id_site '. |
'AND gsr_id_valeur IN (102, 103) '. |
'AND gs_ce_i18n = "'.$langue_test.'" '. |
'ORDER BY gsr_ordre'; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '' ; |
$liste_site=array(); |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) { |
if ($langue_test == GEN_I18N_ID_DEFAUT) { |
$requete_est_traduction = 'SELECT gsr_id_site_01 '. |
'FROM gen_site_relation '. |
'WHERE '.$ligne->gs_id_site.' = gsr_id_site_02 ' . |
'AND gsr_id_site_01 <> gsr_id_site_02 ' . |
'AND gsr_id_valeur = 1 ';// 1 = "avoir traduction" |
$resultat_est_traduction = $db->query($requete_est_traduction); |
(DB::isError($resultat_est_traduction)) |
? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_est_traduction->getMessage(), $requete_est_traduction)) |
: ''; |
if ( $resultat_est_traduction->numRows() == 0 ) { |
$liste_site[]=$ligne; |
} |
} |
else { |
$liste_site[]=$ligne; |
} |
} |
$resultat->free(); |
// Si la langue en cours n'est pas la langue par defaut, recherche des sites ayant comme langue |
// la langue par defaut, non traduits dans la langue en cours et n'etant pas des traductions |
if ($langue_test != GEN_I18N_ID_DEFAUT) { |
$requete = 'SELECT * '. |
'FROM gen_site, gen_site_relation '. |
'WHERE gsr_id_site_01 = gsr_id_site_02 '. |
'AND gs_id_site = gsr_id_site_01 '. |
'AND gsr_id_valeur IN (102, 103) '. |
'AND gs_ce_i18n = "'.GEN_I18N_ID_DEFAUT.'" '. |
'ORDER BY gs_code_num ASC';// 102 = site "principal" et 103 = site "externe" |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
// Recherche de tous les sites de la langue principale qui ne sont pas traduits dans la langue en cours |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) { |
$requete_est_traduction = 'SELECT gsr_id_site_01 '. |
'FROM gen_site_relation '. |
'WHERE '.$ligne->gs_id_site.' = gsr_id_site_02 ' . |
'AND gsr_id_site_01 <> gsr_id_site_02 ' . |
'AND gsr_id_valeur = 1 ';// 1 = "avoir traduction" |
$resultat_est_traduction = $db->query($requete_est_traduction); |
(DB::isError($resultat_est_traduction)) |
? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_est_traduction->getMessage(), $requete_est_traduction)) |
: ''; |
if ( $resultat_est_traduction->numRows() == 0 ) { |
if (isset($id_langue) && ($id_langue!='')) { |
$langue_test=$id_langue; |
} else { |
$langue_test=GEN_I18N_ID_DEFAUT; |
} |
$requete_traduction = 'SELECT gsr_id_site_01 '. |
'FROM gen_site_relation, gen_site '. |
'WHERE '.$ligne->gs_id_site.' = gsr_id_site_01 ' . |
'AND gsr_id_site_02 = gs_id_site '. |
'AND gs_ce_i18n = "'.$langue_test.'" '. |
'AND gsr_id_valeur = 1 ';// 1 = "avoir traduction" |
$resultat_traduction = $db->query($requete_traduction); |
(DB::isError($resultat_traduction)) |
? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_traduction->getMessage(), $requete_traduction)) |
: ''; |
if ( $resultat_traduction->numRows() == 0 ) { |
$liste_site []=$ligne; |
} |
$resultat_traduction->free(); |
} |
$resultat_est_traduction->free(); |
} |
$resultat->free(); |
} |
//---------------------------------------------------------------------------- |
// Création du formulaire |
$form =& new HTML_QuickForm('form_sites', 'post', str_replace('&', '&', $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(); |
foreach ($liste_site as $ligne ) { |
$aso_options[$ligne->gs_id_site] = htmlentities($ligne->gs_nom.' ('.$ligne->gs_code_alpha.')'); |
// Affichage des traductions |
$requete_traduction = 'SELECT * '. |
'FROM gen_site_relation, gen_site '. |
'WHERE '.$ligne->gs_id_site.' = gsr_id_site_01 ' . |
'AND gsr_id_site_02 <> gsr_id_site_01 '. |
'AND gsr_id_site_02 = gs_id_site '. |
'AND gsr_id_valeur = 1 ';// 1 = "avoir traduction" |
$resultat_traduction = $db->query($requete_traduction); |
(DB::isError($resultat_traduction)) |
? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_traduction->getMessage(), $requete_traduction)) |
: ''; |
while ($ligne_traduction = $resultat_traduction->fetchRow(DB_FETCHMODE_OBJECT)) { |
$aso_options[$ligne_traduction->gs_id_site] = ' '.$ligne_traduction->gs_ce_i18n.": ".htmlentities($ligne_traduction->gs_nom.' ('.$ligne_traduction->gs_code_alpha.')'); |
} |
$resultat_traduction->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); |
$id = 'form_sites_ajouter'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++); |
$label = 'Ajouter'; |
$form->addElement('submit', $id, $label, $aso_attributs); |
$id = 'form_sites_modifier'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++); |
$label = 'Modifier'; |
$form->addElement('submit', $id, $label, $aso_attributs); |
$id = 'form_sites_traduire'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++); |
$label = 'Traduire'; |
$form->addElement('submit', $id, $label, $aso_attributs); |
$id = 'form_sites_supprimer'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'onclick' => 'javascript:return confirm(\''.'êtes vous sûr de vouloir supprimer ce site ?'.'\');'); |
$label = 'Supprimer'; |
$form->addElement('submit', $id, $label, $aso_attributs); |
$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 donnees du formulaire |
if (empty($aso_valeurs['form_sites_id_site'])) { |
$message .= '<p class="pap_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 a la base de donnees. |
* @param string l'url a laquelle renvoyer le formulaire. |
* @param string le tableau contenant les valeurs du formulaire. |
* @param string un message a destination de l'utilisateur. |
* return string le code XHTML a retourner. |
*/ |
function ADMIN_afficherFormSite(&$db, $url, $aso_valeurs = array(), $message = '') |
{ |
// Initialisation des valeurs |
$sortie = ''; |
$aso_valeurs['modification'] = false; |
$aso_valeurs['traduction'] = false; |
$aso_valeurs['defaut'] = false; |
$aso_valeurs['type_site_externe'] = 0; |
// Nous cherchons a savoir si nous somme en modification |
if ((isset($aso_valeurs['form_sites_modifier'])) || (isset($aso_valeurs['form_sites_traduire']))) { |
if ((isset($aso_valeurs['form_sites_modifier']))) { |
$as_val['modification'] = true; |
$as_val['traduction'] = false; |
} |
else { |
$as_val['traduction'] = true; |
$as_val['modification'] = false; |
} |
if ($as_val['traduction']) { |
// Traduction d'un site principal uniquement : |
$requete = 'SELECT * '. |
'FROM gen_site_relation '. |
'WHERE gsr_id_site_02 = '.$aso_valeurs['form_sites_id_site'].' '. |
'AND gsr_id_valeur =1 '; // 1 = "avoir traduction" |
$resultat = $db->query($requete); |
if (DB::isError($resultat)) { |
die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) ); |
} |
if ( $resultat->numRows() == 0 ) { |
$site_id = $aso_valeurs['form_sites_id_site']; |
} |
else { |
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT); |
$site_id = $ligne->gsr_id_site_01; |
} |
$resultat->free(); |
} |
else { |
$site_id = $aso_valeurs['form_sites_id_site']; |
} |
// Requete pour recuperer les informations sur le site a modifier |
$requete = 'SELECT * '. |
'FROM gen_site '. |
'WHERE gs_id_site = '.$site_id; |
$resultat = $db->query($requete); |
if (DB::isError($resultat)) { |
die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) ); |
} |
$aso_valeurs = $resultat->fetchRow(DB_FETCHMODE_ASSOC); |
$site_ligne = $aso_valeurs; |
$resultat->free(); |
// Requete pour recuperer les informations issues des relations du site a modifier |
$requete = 'SELECT * '. |
'FROM gen_site_relation '. |
'WHERE gsr_id_site_01 = '.$site_id.' '. |
'AND gsr_id_site_01 = gsr_id_site_02'; |
$resultat = $db->query($requete); |
if (DB::isError($resultat)) { |
die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) ); |
} |
$tab_type = GEN_retournerTableauTypeSiteExterne($db); |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ) { |
if ($ligne->gsr_id_valeur == 101) {// 101 = site par defaut |
$aso_valeurs['defaut'] = true; |
} |
foreach ($tab_type as $cle => $val) { |
if ($ligne->gsr_id_valeur == $val['id']) {// 20x = type de site externe a Papyrus |
$aso_valeurs['type_site_externe'] = $val['id']; |
} |
} |
} |
$resultat->free(); |
if (($as_val['modification'])) { |
$aso_valeurs['modification'] = true; |
$aso_valeurs['traduction'] = false; |
} |
else { |
$aso_valeurs['traduction'] = true; |
$aso_valeurs['modification'] = false; |
}; |
} else if (isset($aso_valeurs['gs_id_site'])) { |
$aso_valeurs['modification'] = true; |
} |
// Debogage : |
//$GLOBALS['_DEBOGAGE_'] .= '<pre>'.print_r($aso_valeurs, true).'</pre>'; |
//------------------------------------------------------------------------------------------------------------------- |
// Information precedent le formulaire (en modification) |
if ((isset($aso_valeurs['modification'])||isset($aso_valeurs['traduction']))&&isset($aso_valeurs['gs_id_site'])) { |
$sortie .= '<p>'.'Identifiant de ce site : '.'<span id="adsi_site_id">'.$aso_valeurs['gs_id_site'].'</span></p>'."\n"; |
} |
//------------------------------------------------------------------------------------------------------------------- |
// Création du formulaire |
$form =& new HTML_QuickForm('site', 'post', str_replace('&', '&', $url)); |
$tab_index = 1000; |
$squelette =& $form->defaultRenderer(); |
$squelette->setFormTemplate("\n".'<form {attributes}>'."\n".'{content}'."\n".'</form>'."\n"); |
$squelette->setElementTemplate( '<p class="formulaire_element"><span class="form_label">'."\n". |
'{label}'."\n". |
'<!-- BEGIN required --><span style="color:red; width:5px; margin:0; padding:0;">*</span><!-- END required -->'."\n". |
'</span>'."\n".'{element}'."\n". |
'<!-- BEGIN error --><span class="erreur">{error}</span><!-- END error -->'."\n". |
'</p>'."\n"); |
$squelette->setGroupElementTemplate('<p style="display:inline">{element}</p>', 'form_boutons'); |
$squelette->setRequiredNoteTemplate("\n".'<p class="symbole_obligatoire">* : {requiredNote}</p>'."\n"); |
//Note pour les erreurs javascript |
$form->setJsWarnings('Erreur de saisie', 'Veuillez verifier vos informations saisies'); |
// Note de fin de formulaire |
$form->setRequiredNote('Indique les champs obligatoires'); |
// $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->setGroupElementTemplate('{label}'."\n". |
// '{element}'."\n". |
// '<!-- BEGIN required --><span class="symbole_obligatoire">*</span><!-- END required -->'."\n". |
// ' '."\n" |
// , 'double'); |
// $squelette->setRequiredNoteTemplate("\n".'<p><span class="symbole_obligatoire">*</span> {requiredNote}</p>'."\n"); |
// |
$partie_site_debut = '<fieldset>'."\n".'<legend>Configuration du site</legend>'."\n"; |
$form->addElement('html', $partie_site_debut); |
if ($aso_valeurs['modification'] || $aso_valeurs['traduction']) { |
$form->addElement('hidden', 'gs_id_site'); |
$form->addElement('hidden', 'modification'); |
$form->addElement('hidden', 'traduction'); |
} |
$id = 'gs_nom'; |
$aso_attributs = array('id'=>$id, 'tabindex' => $tab_index++, 'size' => 35, '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); |
// 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>'; |
if (isset($aso_valeurs['gs_ce_auth'])) { |
$s = &$form->createElement('select', $id , $label, "", $aso_attributs); |
$s->loadArray($aso_options,$aso_valeurs['gs_ce_auth']); |
$form->addElement($s); |
} |
else { |
$form->addElement('select', $id, $label, $aso_options, $aso_attributs); |
} |
// En modification nous affichons la liste des squelettes disponibles dans |
// le dossier du site. |
if ($aso_valeurs['modification'] || $aso_valeurs['traduction']) { |
$aso_options = array(); |
if (!GEN_FTP_UTILISE) { |
$chemin_squelettes = PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP. |
$aso_valeurs['gs_ce_i18n'].GEN_SEP.GEN_DOSSIER_SQUELETTE.GEN_SEP; |
$dossier = opendir($chemin_squelettes); |
while(($fichier = readdir($dossier)) !== false) { |
if ($fichier != '.' && $fichier != '..') { |
$chemin_type = $chemin_squelettes.GEN_SEP.$fichier; |
if (filetype($chemin_type) != 'dir') { |
$aso_options[$fichier] = $fichier; |
} |
} |
} |
} else { |
// ouverture des squelettes present dans le dossier du site |
// creation de l'objet pear ftp |
$objet_pear_ftp = new Net_FTP(PAP_FTP_SERVEUR, PAP_FTP_PORT); |
// creation de la connexion |
$ftp_conn = $objet_pear_ftp->connect(PAP_FTP_SERVEUR, PAP_FTP_PORT); |
// identification |
$ftp_login_result = $objet_pear_ftp->login(PAP_FTP_UTILISATEUR, PAP_FTP_MOT_DE_PASSE); |
// Gestion des erreurs ftp |
if ((PEAR::isError($ftp_conn) || PEAR::isError($ftp_login_result))) { |
return ('ERREUR Papyrus 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 />'); |
//'Message erreur de connection : '.$ftp_conn->getMessage().'<br />'. |
//'Message erreur de login : '.$ftp_login_result->getMessage()); |
} |
$chemin_squelettes = PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP. |
$aso_valeurs['gs_ce_i18n'].GEN_SEP.GEN_DOSSIER_SQUELETTE.GEN_SEP; |
$tab_squelettes = $objet_pear_ftp->ls($chemin_squelettes); |
$aso_options = array(); |
if (PEAR::isError($tab_squelettes)) { |
return ('ERREUR Papyrus admin : impossible d\'accé aux fichiers par ftp.<br />'. |
'Chemin : '. $chemin_squelettes .'<br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br />'. |
'Message : '. $tab_squelettes->getMessage()); |
} |
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(); |
} |
// Verification de la presence de squelettes |
if (count($aso_options) == 0) { |
$aso_options['Aucun squelette'] = 'Aucun squelette'; |
} |
$id = 'gs_fichier_squelette'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++); |
$label = '<label for="'.$id.'">'.'Squelette : '.'</label>'; |
$s = &$form->createElement('select', $id , $label, "", $aso_attributs); |
$s->loadArray($aso_options,$aso_valeurs['gs_fichier_squelette']); |
$form->addElement($s); |
} |
// Requete pour connaitre les internationalisation dispo |
if (!$aso_valeurs['modification'] && !$aso_valeurs['traduction']) { |
$requete = 'SELECT * '. |
'FROM gen_i18n '; |
} |
else { |
if ($aso_valeurs['traduction']) { |
// Recherche liste des sites deja traduits |
$requete = 'SELECT distinct gs_ce_i18n '. |
'FROM gen_site_relation, gen_site '. |
'WHERE gsr_id_site_01 = ' .$site_ligne['gs_id_site'] .' '. |
'AND gs_id_site = gsr_id_site_02 '. |
'AND gsr_id_valeur =1 '; // 1 = "avoir traduction" |
$resultat = $db->query($requete) ; |
if (DB::isError($resultat)) { |
die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) ); |
} |
$not_in_langue=''; |
if ( $resultat->numRows() == 0 ) { |
$not_in_langue="gi_id_i18n not in('".$site_ligne['gs_ce_i18n']."')"; |
} |
else { |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) { |
$not_in_langue="'".$ligne->gs_ce_i18n."'".",".$not_in_langue; |
$end="'".$ligne->gs_ce_i18n."'"; |
} |
if ($not_in_langue) { |
$not_in_langue="'".$site_ligne['gs_ce_i18n']."'".",".$not_in_langue; |
$not_in_langue=' gi_id_i18n not in('.$not_in_langue.$end.')'; |
} |
else { |
$not_in_langue="gi_id_i18n not in('".$site_ligne['gs_ce_i18n']."')"; |
} |
} |
$resultat->free(); |
$requete = "SELECT * FROM gen_i18n where ".$not_in_langue; |
} |
else |
{ |
$requete = "SELECT * FROM gen_i18n where gi_id_i18n =('".$site_ligne['gs_ce_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); |
$id = 'defaut'; |
$aso_attributs = array('id' => $id, 'tabindex' => $tab_index++); |
if (isset($aso_valeurs[$id]) && $aso_valeurs[$id] === true) { |
$aso_attributs['checked'] = 'checked'; |
} |
$label = '<label for="'.$id.'">'.'En faire le site par défaut : '.'</label>'; |
$form->addElement('checkbox', $id, $label, null, $aso_attributs); |
// Groupe site externe |
$tab_type = GEN_retournerTableauTypeSiteExterne($db); |
$aso_options = array('0' => 'Aucun'); |
foreach ($tab_type as $cle => $val) { |
$aso_options[$val['id']] = $val['intitule']; |
} |
$id = 'type_site_externe'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++); |
$label = '<label>'.'Type de site externe : '.'</label>'; |
$form->addElement('select', $id, $label, $aso_options, $aso_attributs); |
$id = 'gs_url'; |
$aso_attributs = array('id' => $id, 'tabindex' => $tab_index++,'size' => 35, 'maxlength' => 255, 'value' => 'http://'); |
$label = '<label>'.'URL du site externe : '.'</label>'; |
$form->addElement('text', $id, $label, $aso_attributs); |
$partie_site_fin = "\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"; |
$form->addElement('html', $partie_entete_debut); |
$id = 'gs_titre'; |
$aso_attributs = array('id'=>$id, 'tabindex' => $tab_index++, 'size' => 35, 'maxlength' => 255, 'value' => ADSI_TITRE_SITE); |
$label = '<label for="'.$id.'">'.ADSI_TITRE_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' => 35, '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 = "\n".'</fieldset>'."\n"; |
$form->addElement('html', $partie_entete_fin); |
if ($aso_valeurs['modification'] || $aso_valeurs['traduction']) { |
// 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); |
if (isset($ligne_admin)) { |
$info_admin = '<p class="info">Site créé le '.$aso_valeurs['gs_date_creation'].'. Dernière modification par '. |
$ligne_admin->ga_prenom.' '.$ligne_admin->ga_nom.'.'.'</p>'; |
$form->addElement('html', $info_admin); |
$form->addElement('hidden', 'gs_ce_admin'); |
$form->addElement('hidden', 'gs_date_creation'); |
} |
// Titre de la page: |
if ($aso_valeurs['modification']) { |
$titre = 'Modifier un site'; |
$bouton_validation = '<input type="submit" id="site_modifier" name="site_modifier" value="Enregistrer" />'; |
} |
else { |
$titre = 'Traduire un site'; |
$bouton_validation = '<input type="submit" id="site_traduire" name="site_traduire" 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 defaut du formulaire |
$form->setDefaults($aso_valeurs); |
// Javascript pour la validation cote client |
$regles_javascript = $form->getValidationScript(); |
// 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 donnees issues du formulaire pour gen_site. |
* |
* Cette fonction valide les donnees a ajouter dans la table gen_site. |
* |
* @param string l'objet pear de connexion a 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 donnees du formulaire |
if (empty($aso_valeurs['gs_nom'])) { |
$message .= '<p class="pap_erreur">Le champ "Nom" ne doit pas être vide.</p>'; |
} |
if (empty($aso_valeurs['gs_code_alpha'])) { |
$message .= '<p class="pap_erreur">Le champ "Code alphanumérique" ne doit pas être vide.</p>'; |
} |
if ($aso_valeurs['gs_code_num'] == '') { |
// Note: ne pas utilisez empty() car si on veut saisir 0, cela est considéré comme vide! |
$message .= '<p class="pap_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="pap_erreur">Le champ "Code numérique" doit contenir un nombre.</p>'; |
} |
// Requete pour verifier l'absence du code numerique et alphanumerique de la table gen_site |
// en mode creation uniquement ! |
if (!isset($aso_valeurs['site_modifier'])) $aso_valeurs['site_modifier']=0; |
if (!isset($aso_valeurs['site_traduire'])) $aso_valeurs['site_traduire']=0; |
if (@!$aso_valeurs['site_modifier'] && @!$aso_valeurs['site_traduire'] ) { |
$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_site_01 = gs_id_site '. |
'AND gsr_id_valeur IN (102, 103) ';// 102 = site "principal" et 103 = site "externe" |
$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="pap_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="pap_erreur">La valeur "'.$aso_valeurs['gs_code_alpha'].'" pour le champ "Code alphanumérique" existe déjà.</p>'; |
} |
} |
$resultat->free(); |
} |
else { |
// Refuser si plus de traduction disponible ! |
} |
if (empty($aso_valeurs['gs_titre'])) { |
$message .= '<p class="pap_erreur">Le champ "Titre" ne doit pas être vide.</p>'; |
} |
if (empty($aso_valeurs['gs_mots_cles'])) { |
$message .= '<p class="pap_erreur">Le champ "Mots clés" ne doit pas être vide.</p>'; |
} |
if (empty($aso_valeurs['gs_description'])) { |
$message .= '<p class="pap_erreur">Le champ "Description" ne doit pas être vide.</p>'; |
} |
if (empty($aso_valeurs['gs_auteur'])) { |
$message .= '<p class="pap_erreur">Le champ "Auteur" ne doit pas être vide.</p>'; |
} |
if (isset($aso_valeurs['externe']) && $aso_valeurs['externe'] == 1 && (empty($aso_valeurs['gs_url']) || $aso_valeurs['gs_url'] == 'http://')) { |
$message .= '<p class="pap_erreur">'.'Vous avez désigné ce site comme étant externe. Il est nécessaire de saisir son URL!'.'</p>'; |
} |
if (isset($aso_valeurs['externe']) && $aso_valeurs['externe'] == 0 && (!empty($aso_valeurs['gs_url']) && $aso_valeurs['gs_url'] != 'http://')) { |
$message .= '<p class="pap_erreur">'.'Vous avez saisie une l\'url : '.$aso_valeurs['gs_url'].'<br />'. |
'Vous conscidérez donc ce site comme étant externe. Il est nécessaire de cocher la case "oui"!'.'</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) |
{ |
// Nous verifions si nous avons a faire a un site externe. |
$id_type_site = '102';// par defaut on considère que c'est un site "principal" |
if (isset($aso_valeurs['type_site_externe']) && $aso_valeurs['type_site_externe'] > 0 && !empty($aso_valeurs['gs_url']) && $aso_valeurs['gs_url'] != 'http://') { |
$id_type_site = '103';// c'est un site "externe" |
} |
// Ajout des repertoires des sites "principaux" soit par manipulation de fichier soit par FTP en fonction de la constante definie |
// par l'utilisateur dans le fichier de config avancee. |
$tab_rep_langue = array(GEN_DOSSIER_GENERIQUE, $aso_valeurs['gs_ce_i18n']); |
$tab_rep_site = array( GEN_DOSSIER_IMAGE, |
GEN_DOSSIER_STYLE, |
GEN_DOSSIER_SCRIPT, |
GEN_DOSSIER_SQUELETTE, |
GEN_DOSSIER_DOC); |
if (!GEN_FTP_UTILISE && $id_type_site != '103') { |
foreach ($tab_rep_langue as $nom_rep_langue) { |
foreach ($tab_rep_site as $nom_rep_site) { |
$chemin_repertoire = PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP. |
$nom_rep_langue.GEN_SEP.$nom_rep_site; |
$vieux_umask = umask(0); |
$resultat = creerDossier($chemin_repertoire, 0777, GEN_SEP); |
umask($vieux_umask); |
if ($resultat == false) { |
$message = '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de créer le répertoire.<br />'. |
'Répertoire : '. $chemin_repertoire .'<br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br /></p>'; |
return $message; |
} |
} |
} |
$chemin_squelette_defaut = PAP_CHEMIN_RACINE.GEN_CHEMIN_COMMUN.GEN_DOSSIER_GENERIQUE.GEN_SEP. |
GEN_DOSSIER_SQUELETTE.GEN_SEP.GEN_FICHIER_SQUELETTE; |
$chemin_squelette_site = PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP. |
$aso_valeurs['gs_ce_i18n'].GEN_SEP.GEN_DOSSIER_SQUELETTE.GEN_SEP.GEN_FICHIER_SQUELETTE; |
if (!copy($chemin_squelette_defaut, $chemin_squelette_site)) { |
$message = '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de créer le fichier de squellete par défaut.<br />'. |
'Fichier : '. $chemin_squelette_site .'<br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br /></p>'; |
return $message; |
} |
$chemin_style_defaut = PAP_CHEMIN_RACINE.GEN_CHEMIN_COMMUN.GEN_DOSSIER_GENERIQUE.GEN_SEP. |
GEN_DOSSIER_STYLE.GEN_SEP.GEN_FICHIER_STYLE; |
$chemin_style_site = PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP. |
$aso_valeurs['gs_ce_i18n'].GEN_SEP.GEN_DOSSIER_STYLE.GEN_SEP.GEN_FICHIER_STYLE; |
if (!copy($chemin_style_defaut, $chemin_style_site)) { |
$message = '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de créer le fichier de style par défaut.<br />'. |
'Fichier : '. $chemin_style_site .'<br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br /></p>'; |
return $message; |
} |
} else if (GEN_FTP_UTILISE && $id_type_site != '103') { // 103 est le type "site externe" |
// Creation d'une connection ftp avec Net_FTP de PEAR |
// voir http://pear.php.net/manual/fr/package.networking.net-ftp.php |
// creation de l'objet pear ftp |
$objet_pear_ftp = new Net_FTP(PAP_FTP_SERVEUR, PAP_FTP_PORT); |
// creation de la connexion |
$ftp_conn = $objet_pear_ftp->connect(PAP_FTP_SERVEUR, PAP_FTP_PORT); |
// identification |
$ftp_login_result = $objet_pear_ftp->login(PAP_FTP_UTILISATEUR, PAP_FTP_MOT_DE_PASSE); |
// Gestion des erreurs ftp |
if ((PEAR::isError($ftp_conn) || PEAR::isError($ftp_login_result))) { |
$message = '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de se connecter par ftp.<br />'. |
'Serveur : '. PAP_FTP_SERVEUR .'<br />'. |
'Utilisateur : '. PAP_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; |
} |
$resultat = $objet_pear_ftp->mkdir(PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha']) ; |
if (PEAR::isError($resultat)) { |
$message = '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de créer le répertoire par ftp.<br />'. |
'Répertoire : '. PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'] .'<br />'. |
'Erreur origine : '. $resultat->getMessage() .'<br />'. |
'Informations de debogage : '.$resultat->getDebugInfo().'<br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br /></p>'; |
return $message; |
} |
//$objet_pear_ftp->cd(PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha']) ; |
foreach ($tab_rep_langue as $nom_rep_langue) { |
$objet_pear_ftp->mkdir(PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.$nom_rep_langue) ; |
foreach ($tab_rep_site as $nom_rep_site) { |
$chemin_repertoire = PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.$nom_rep_langue.GEN_SEP.$nom_rep_site; |
$resultat = $objet_pear_ftp->mkdir($chemin_repertoire) ; |
if (PEAR::isError($resultat)) { |
$message = '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de créer le répertoire par ftp.<br />'. |
'Répertoire : '. $chemin_repertoire .'<br />'. |
'Erreur origine : '. $resultat->getMessage() .'<br />'. |
'Informations de debogage : '.$resultat->getDebugInfo().'<br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br /></p>'; |
return $message; |
} |
} |
} |
$chemin_squelette_defaut = PAP_CHEMIN_RACINE.GEN_CHEMIN_COMMUN.GEN_DOSSIER_GENERIQUE.GEN_SEP. |
GEN_DOSSIER_SQUELETTE.GEN_SEP.GEN_FICHIER_SQUELETTE; |
$chemin_squelette_site = PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP. |
$aso_valeurs['gs_ce_i18n'].GEN_SEP.GEN_DOSSIER_SQUELETTE.GEN_SEP.GEN_FICHIER_SQUELETTE; |
$resultat = $objet_pear_ftp->put($chemin_squelette_defaut, $chemin_squelette_site, true, FTP_BINARY); |
if (PEAR::isError($resultat)) { |
$message = '<p class="pap_erreur"> ERREUR Papyrus 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 = PAP_CHEMIN_RACINE.GEN_CHEMIN_COMMUN.GEN_DOSSIER_GENERIQUE.GEN_SEP. |
GEN_DOSSIER_STYLE.GEN_SEP.GEN_FICHIER_STYLE; |
$chemin_style_site = PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP. |
$aso_valeurs['gs_ce_i18n'].GEN_SEP.GEN_DOSSIER_STYLE.GEN_SEP.GEN_FICHIER_STYLE; |
$resultat = $objet_pear_ftp->put($chemin_style_defaut, $chemin_style_site, true, FTP_BINARY); |
if (PEAR::isError($resultat)) { |
$message = '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de copier les styles 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; |
} |
$chemin_image_defaut = PAP_CHEMIN_RACINE.GEN_CHEMIN_COMMUN.GEN_DOSSIER_GENERIQUE.GEN_SEP. |
GEN_DOSSIER_IMAGE.GEN_SEP; |
$chemin_image_site = PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP. |
$aso_valeurs['gs_ce_i18n'].GEN_SEP.GEN_DOSSIER_IMAGE.GEN_SEP; |
$resultat = $objet_pear_ftp->putRecursive($chemin_image_defaut, $chemin_image_site, false, FTP_BINARY); |
if (PEAR::isError($resultat)) { |
$message = '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de copier le dossier images par ftp.<br />'. |
'Fichier origine : '. $chemin_image_defaut .'<br />'. |
'Fichier copié : '. $chemin_image_site .'<br />'. |
'Erreur origine : '. $resultat->getMessage() .'<br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br /></p>'; |
return $message; |
} |
$objet_pear_ftp->disconnect(); |
} |
$id_site = SQL_obtenirNouveauId($db, 'gen_site','gs_id_site'); |
if ($id_site == false) { |
$message = '<p class="erreur"> ERREUR papyrus 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; |
} |
// Modification de la requete si nous avons a faire a un site externe. |
$requete_complement = ', gs_url = NULL'; |
if (isset($aso_valeurs['type_site_externe']) && $aso_valeurs['type_site_externe'] > 0 && !empty($aso_valeurs['gs_url']) && $aso_valeurs['gs_url'] != 'http://') { |
$requete_complement = ', gs_url = "'.$aso_valeurs['gs_url'].'"'; |
} |
// 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. |
$requete_complement; |
$resultat = $db->query($requete); |
if (DB::isError($resultat)) { |
die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) ); |
} |
// Recherche du nouveau numero d'ordre de ce site "principal" ou "externe" |
$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 IN (102, 103) ';// 102 = site "principal" et 103 = site "externe" |
$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 = '.$id_type_site.', '. |
'gsr_ordre = '.$nouvel_ordre; |
$resultat = $db->query($requete); |
if (DB::isError($resultat)) { |
die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)); |
} |
// Gestion du site par défaut |
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 defaut |
$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)); |
} |
} |
// Gestion des sites externes |
if ($id_type_site == '103') { |
// 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 = '.$aso_valeurs['type_site_externe'].', '. |
'gsr_ordre = NULL '; |
$resultat = $db->query($requete); |
if (DB::isError($resultat)) { |
die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)); |
} |
} |
$message = '<p class="pap_info">'.'Succés de l\'ajout du site.'.'</p>'; |
return $message; |
} |
/** Fonction ADMIN_traduireSite() - Traduire un site papyrus |
* |
* Cette fonction traduit un site a Papyrus, c'est a dire : |
* - 1. Creation des repertoire du projet en fonction du nom et des sous-repertoires. |
* - 2. Insertion d'une ligne dans la table "gen_site". |
* - 3. Insertion d'une ligne dans la table "gen_site_auth" et ses tables liees si necessaire. |
* |
* @param string l'objet pear de connexion a la base de données. |
* @param string le tableau contenant les valeurs du formulaire. |
* @param int identifiant de l'administrateur realisant cette création. |
* @return string retourne un message en cas de succes ou d'echec. |
*/ |
function ADMIN_traduireSite(&$db, $aso_valeurs, $id_admin) |
{ |
// Nous verifions si nous avons a faire a un site externe. |
$id_type_site = '102';// par defaut on considere que c'est un site "principal" |
if (isset($aso_valeurs['type_site_externe']) && $aso_valeurs['type_site_externe'] > 0 && !empty($aso_valeurs['gs_url']) && $aso_valeurs['gs_url'] != 'http://') { |
$id_type_site = '103';// c'est un site "externe" |
} |
// Ajout des repertoires des sites "principaux" soit par manipulation de fichier soit par FTP en fonction de la constante definie |
// par l'utilisateur dans le fichier de config avancee. |
$tab_rep_langue = array(GEN_DOSSIER_GENERIQUE, $aso_valeurs['gs_ce_i18n']); |
$tab_rep_site = array( GEN_DOSSIER_IMAGE, |
GEN_DOSSIER_STYLE, |
GEN_DOSSIER_SCRIPT, |
GEN_DOSSIER_SQUELETTE, |
GEN_DOSSIER_DOC); |
if (!GEN_FTP_UTILISE && $id_type_site != '103') { |
foreach ($tab_rep_langue as $nom_rep_langue) { |
foreach ($tab_rep_site as $nom_rep_site) { |
$chemin_repertoire = PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP. |
$nom_rep_langue.GEN_SEP.$nom_rep_site; |
$vieux_umask = umask(0); |
$resultat = creerDossier($chemin_repertoire, 0777, GEN_SEP); |
umask($vieux_umask); |
if ($resultat == false) { |
$message = '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de créer le répertoire.<br />'. |
'Répertoire : '. $chemin_repertoire .'<br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br /></p>'; |
return $message; |
} |
} |
} |
$chemin_squelette_defaut = PAP_CHEMIN_RACINE.GEN_CHEMIN_COMMUN.GEN_DOSSIER_GENERIQUE.GEN_SEP. |
GEN_DOSSIER_SQUELETTE.GEN_SEP.GEN_FICHIER_SQUELETTE; |
$chemin_squelette_site = PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP. |
$aso_valeurs['gs_ce_i18n'].GEN_SEP.GEN_DOSSIER_SQUELETTE.GEN_SEP.GEN_FICHIER_SQUELETTE; |
if (!copy($chemin_squelette_defaut, $chemin_squelette_site)) { |
$message = '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de créer le fichier de squellete par défaut.<br />'. |
'Fichier : '. $chemin_squelette_site .'<br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br /></p>'; |
return $message; |
} |
$chemin_style_defaut = PAP_CHEMIN_RACINE.GEN_CHEMIN_COMMUN.GEN_DOSSIER_GENERIQUE.GEN_SEP. |
GEN_DOSSIER_STYLE.GEN_SEP.GEN_FICHIER_STYLE; |
$chemin_style_site = PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP. |
$aso_valeurs['gs_ce_i18n'].GEN_SEP.GEN_DOSSIER_STYLE.GEN_SEP.GEN_FICHIER_STYLE; |
if (!copy($chemin_style_defaut, $chemin_style_site)) { |
$message = '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de créer le fichier de style par défaut.<br />'. |
'Fichier : '. $chemin_style_site .'<br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br /></p>'; |
return $message; |
} |
$chemin_image_defaut = PAP_CHEMIN_RACINE.GEN_CHEMIN_COMMUN.GEN_DOSSIER_GENERIQUE.GEN_SEP. |
GEN_DOSSIER_IMAGE.GEN_SEP; |
$chemin_image_site = PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP. |
$aso_valeurs['gs_ce_i18n'].GEN_SEP.GEN_DOSSIER_IMAGE.GEN_SEP; |
if (!copy($chemin_image_defaut, $chemin_image_site)) { |
$message = '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de créer les fichhiers image par defaut.<br />'. |
'Fichier : '. $chemin_style_site .'<br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br /></p>'; |
return $message; |
} |
} else if (GEN_FTP_UTILISE && $id_type_site != '103') { // 103 est le type "site externe" |
// 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(PAP_FTP_SERVEUR, PAP_FTP_PORT); |
// création de la connexion |
$ftp_conn = $objet_pear_ftp->connect(PAP_FTP_SERVEUR, PAP_FTP_PORT); |
// identification |
$ftp_login_result = $objet_pear_ftp->login(PAP_FTP_UTILISATEUR, PAP_FTP_MOT_DE_PASSE); |
// Gestion des erreurs ftp |
if ((PEAR::isError($ftp_conn) || PEAR::isError($ftp_login_result))) { |
$message = '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de se connecter par ftp.<br />'. |
'Serveur : '. PAP_FTP_SERVEUR .'<br />'. |
'Utilisateur : '. PAP_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; |
} |
$objet_pear_ftp->mkdir(PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha']) ; |
//$objet_pear_ftp->cd(PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha']) ; |
foreach ($tab_rep_langue as $nom_rep_langue) { |
$objet_pear_ftp->mkdir(PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.$nom_rep_langue) ; |
foreach ($tab_rep_site as $nom_rep_site) { |
$chemin_repertoire = PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.$nom_rep_langue.GEN_SEP.$nom_rep_site; |
$resultat = $objet_pear_ftp->mkdir($chemin_repertoire) ; |
if (PEAR::isError($resultat)) { |
$message = '<p class="pap_erreur"> ERREUR Papyrus 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 = PAP_CHEMIN_RACINE.GEN_CHEMIN_COMMUN.GEN_DOSSIER_GENERIQUE.GEN_SEP. |
GEN_DOSSIER_SQUELETTE.GEN_SEP.GEN_FICHIER_SQUELETTE; |
$chemin_squelette_site = PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP. |
$aso_valeurs['gs_ce_i18n'].GEN_SEP.GEN_DOSSIER_SQUELETTE.GEN_SEP.GEN_FICHIER_SQUELETTE; |
$resultat = $objet_pear_ftp->put($chemin_squelette_defaut, $chemin_squelette_site, true, FTP_BINARY); |
if (PEAR::isError($resultat)) { |
$message = '<p class="pap_erreur"> ERREUR Papyrus 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 = PAP_CHEMIN_RACINE.GEN_CHEMIN_COMMUN.GEN_DOSSIER_GENERIQUE.GEN_SEP. |
GEN_DOSSIER_STYLE.GEN_SEP.GEN_FICHIER_STYLE; |
$chemin_style_site = PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP. |
$aso_valeurs['gs_ce_i18n'].GEN_SEP.GEN_DOSSIER_STYLE.GEN_SEP.GEN_FICHIER_STYLE; |
$resultat = $objet_pear_ftp->put($chemin_style_defaut, $chemin_style_site, true, FTP_BINARY); |
if (PEAR::isError($resultat)) { |
$message = '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de copier les styles 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; |
} |
$chemin_image_defaut = PAP_CHEMIN_RACINE.GEN_CHEMIN_COMMUN.GEN_DOSSIER_GENERIQUE.GEN_SEP. |
GEN_DOSSIER_IMAGE.GEN_SEP; |
$chemin_image_site = PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP. |
$aso_valeurs['gs_ce_i18n'].GEN_SEP.GEN_DOSSIER_IMAGE.GEN_SEP; |
$resultat = $objet_pear_ftp->putRecursive($chemin_image_defaut, $chemin_image_site, false, FTP_BINARY); |
if (PEAR::isError($resultat)) { |
$message = '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de copier le dossier images par ftp.<br />'. |
'Fichier origine : '. $chemin_image_defaut .'<br />'. |
'Fichier copié : '. $chemin_image_site .'<br />'. |
'Erreur origine : '. $resultat->getMessage() .'<br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br /></p>'; |
return $message; |
} |
$objet_pear_ftp->disconnect(); |
} |
$id_site = SQL_obtenirNouveauId($db, 'gen_site','gs_id_site'); |
if ($id_site == false) { |
$message = '<p class="erreur"> ERREUR Papyrus 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; |
} |
// Modification de la requete si nous avons à faire à un site externe. |
$requete_complement = ', gs_url = NULL'; |
if (isset($aso_valeurs['type_site_externe']) && $aso_valeurs['type_site_externe'] > 0 && !empty($aso_valeurs['gs_url']) && $aso_valeurs['gs_url'] != 'http://') { |
$requete_complement = ', gs_url = "'.$aso_valeurs['gs_url'].'"'; |
} |
// 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. |
$requete_complement; |
$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" ou "externe" |
$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 IN (102, 103) ';// 102 = site "principal" et 103 = site "externe" |
$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 = '.$id_type_site.', '. |
'gsr_ordre = '.$nouvel_ordre; |
$resultat = $db->query($requete); |
if (DB::isError($resultat)) { |
die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)); |
} |
// Traduction : Requete d'insertion des relations dans gen_site_relation |
$requete = 'SELECT MAX(gsr_ordre) AS max_ordre '. |
'FROM gen_site_relation '. |
'WHERE gsr_id_site_01 = ' .$aso_valeurs['gs_id_site'] .' '. |
'AND gsr_id_valeur =1 '; // 1 = "avoir traduction" |
$resultat = $db->query($requete) ; |
if (DB::isError($resultat)) { |
die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) ); |
} |
if ( $resultat->numRows() == 0 ) { |
$nouvel_ordre = 1; |
} |
else { |
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT); |
$nouvel_ordre = $ligne->max_ordre + 1; |
} |
// 1 : insertion information traduction pere (si inexistant) |
$requete = 'SELECT * '. |
'FROM gen_site_relation '. |
'WHERE gsr_id_site_01 = ' .$aso_valeurs['gs_id_site'] .' '. |
'AND gsr_id_site_01 = gsr_id_site_02 '. |
'AND gsr_id_valeur =1 '; // 1 = "avoir traduction" |
$resultat = $db->query($requete) ; |
if (DB::isError($resultat)) { |
die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) ); |
} |
if ( $resultat->numRows() == 0 ) { |
$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 = 1, '. // 1 = "avoir traduction" |
'gsr_ordre = 1 '; |
$resultat = $db->query($requete); |
if (DB::isError($resultat)) { |
die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)); |
} |
$nouvel_ordre = 2; |
} |
// 2 : insertion information traduction site en cours (si inexistant ?) (et la mise a jour, c'est ailleurs |
// dans les mises à jour |
$requete = 'INSERT INTO gen_site_relation '. |
'SET gsr_id_site_01 = '. $aso_valeurs['gs_id_site'].', '. |
'gsr_id_site_02 = '.$id_site.', '. |
'gsr_id_valeur = 1, '. // 1 = "avoir traduction" |
'gsr_ordre = '.$nouvel_ordre; |
$resultat = $db->query($requete); |
if (DB::isError($resultat)) { |
die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)); |
} |
// Gestion du site par défaut |
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 = '.$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)); |
} |
} |
// Gestion des sites externes |
if ($id_type_site == '103') { |
// 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 = '.$aso_valeurs['type_site_externe'].', '. |
'gsr_ordre = NULL '; |
$resultat = $db->query($requete); |
if (DB::isError($resultat)) { |
die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)); |
} |
} |
$message = '<p class="pap_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) |
{ |
// Initialisation de variables |
$message_complement = ''; |
// Récupération de l'ancien code alphanumérique |
$requete = 'SELECT gs_code_alpha '. |
'FROM gen_site '. |
'WHERE gs_id_site = '.$aso_valeurs['gs_id_site']; |
$ancien_code_alphnum = $db->getOne($requete); |
if (DB::isError($ancien_code_alphnum)) { |
die( BOG_afficherErreurSql(__FILE__, __LINE__, $ancien_code_alphnum->getMessage(), $requete) ); |
} |
// Nous vérifions si nous avons à faire à un site externe. |
$id_type_site = '102';// par défaut on considère que c'est un site "principal" |
$requete_complement = ', gs_url = NULL '; |
if (isset($aso_valeurs['type_site_externe']) && $aso_valeurs['type_site_externe'] > 0 && !empty($aso_valeurs['gs_url']) && $aso_valeurs['gs_url'] != 'http://') { |
$requete_complement = ', gs_url = "'.$aso_valeurs['gs_url'].'" '; |
$id_type_site = '103';// c'est un site "externe" |
} |
// Si le code alphanumérique à changé et que nous n'avons pas à faire à un site externe. |
if ($aso_valeurs['gs_code_alpha'] != $ancien_code_alphnum && $id_type_site != 103) { |
if (!GEN_FTP_UTILISE) { |
$chemin_site_ancien = PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$ancien_code_alphnum.GEN_SEP; |
$chemin_site_nouveau = PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP; |
if (!rename($chemin_site_ancien, $chemin_site_nouveau)) { |
$message = '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de changer le nom du dossier du site.<br />'. |
'Ancien nom : '. $chemin_site_ancien .'<br />'. |
'Nouveau nom : '. $chemin_site_nouveau .'<br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br /></p>'; |
return $message; |
} |
} else { |
$chemin_site_ancien = PAP_FTP_RACINE.GEN_CHEMIN_SITES.$ancien_code_alphnum.GEN_SEP; |
$chemin_site_nouveau = PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP; |
// 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(PAP_FTP_SERVEUR, PAP_FTP_PORT); |
// création de la connexion |
$ftp_conn = $objet_pear_ftp->connect(PAP_FTP_SERVEUR, PAP_FTP_PORT); |
// identification |
$ftp_login_result = $objet_pear_ftp->login(PAP_FTP_UTILISATEUR, PAP_FTP_MOT_DE_PASSE); |
// Gestion des erreurs ftp |
if ((PEAR::isError($ftp_conn) || PEAR::isError($ftp_login_result))) { |
$message = '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de se connecter par ftp.<br />'. |
'Serveur : '. PAP_FTP_SERVEUR .'<br />'. |
'Utilisateur : '. PAP_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; |
} |
$resultat = $objet_pear_ftp->putRecursive($chemin_site_ancien, $chemin_site_nouveau, false, FTP_BINARY); |
if (PEAR::isError($resultat)) { |
$message = '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de copier l\'ancien dossier du site.<br />'. |
'Dossier site ancien : '. $chemin_site_ancien .'<br />'. |
'Dossier site nouveau : '. $chemin_site_nouveau .'<br />'. |
'Erreur origine : '. $resultat->getMessage() .'<br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br /></p>'; |
return $message; |
} |
// On utilise la racine FTP pour rm |
$chemin_site_ancien = PAP_FTP_RACINE.GEN_CHEMIN_SITES.$ancien_code_alphnum.GEN_SEP; |
// Changement du niveau d'erreur pour éviter les Notices PHP dues à Net_FTP |
error_reporting(E_PARSE); |
$resultat = $objet_pear_ftp->rm($chemin_site_ancien, true); |
if (PEAR::isError($resultat)) { |
$message = '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de supprimer l\'ancien dossier du site.<br />'. |
'Dossier site ancien : '. $chemin_site_ancien .'<br />'. |
'Erreur origine : '. $resultat->getMessage() .'<br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br /></p>'; |
return $message; |
} |
// Retour au niveau d'erreur définit dans le fichier de config de Papyrus |
error_reporting(GEN_DEBOGAGE_NIVEAU); |
$objet_pear_ftp->disconnect(); |
} |
} |
// 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 = "'.$aso_valeurs['gs_date_creation'].'", '. |
'gs_ce_admin = '.$id_admin.' '. |
$requete_complement. |
'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) ); |
} |
// Gestion du site externe |
if ($id_type_site == 103) { |
// Vérification pour voir si nous avons à faire à une transformation d'un site "principal" en site "externe" |
$requete = 'SELECT COUNT(gsr_id_site_01) AS nbre_relation '. |
'FROM gen_site_relation '. |
'WHERE gsr_id_site_01 = gsr_id_site_02 '. |
'AND gsr_id_site_01 = '.$aso_valeurs['gs_id_site'].' '. |
'AND gsr_id_valeur = 102 ';// 102 = site "principal" |
$nbre_relation = $db->getOne($requete); |
if (DB::isError($nbre_relation)) { |
die( BOG_afficherErreurSql(__FILE__, __LINE__, $nbre_relation->getMessage(), $requete) ); |
} |
// Nous supprimons l'ancienne relation si nécessaire |
if ($nbre_relation >= 1) { |
$requete_supr_ext = 'DELETE FROM gen_site_relation '. |
'WHERE gsr_id_site_01 = gsr_id_site_02 '. |
'AND gsr_id_site_01 = '.$aso_valeurs['gs_id_site'].' '. |
'AND gsr_id_valeur = 102 ';// 102 = site "principal" |
$resultat_supr_ext = $db->query($requete_supr_ext); |
if (DB::isError($resultat_supr_ext)) { |
die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_supr_ext->getMessage(), $requete_supr_ext)); |
} |
$message_complement = 'Le site "principal" a été transformé en site "externe". Si nécessaire, veuillez '. |
'supprimer manuellement par FTP, le dossier contenant les fichiers de ce site sur '. |
'le serveur!'; |
} |
// Vérification pour voir si le site est déjà "externe" |
$requete = 'SELECT COUNT(gsr_id_site_01) AS nbre_relation '. |
'FROM gen_site_relation '. |
'WHERE gsr_id_site_01 = gsr_id_site_02 '. |
'AND gsr_id_site_01 = '.$aso_valeurs['gs_id_site'].' '. |
'AND gsr_id_valeur = 103 ';// 103 = site "externe" |
$nbre_relation = $db->getOne($requete); |
if (DB::isError($nbre_relation)) { |
die( BOG_afficherErreurSql(__FILE__, __LINE__, $nbre_relation->getMessage(), $requete) ); |
} |
if ($nbre_relation == 0) { |
// Requete d'insertion de la relations site "externe" |
$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 = '.$id_type_site.', '. |
'gsr_ordre = NULL '; |
$resultat = $db->query($requete); |
if (DB::isError($resultat)) { |
die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)); |
} |
} |
// Ajout du type de site externe |
$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 = '.$aso_valeurs['type_site_externe'].', '. |
'gsr_ordre = NULL '; |
$resultat = $db->query($requete); |
if (DB::isError($resultat)) { |
die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)); |
} |
} |
// Gestion du site par défaut |
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="pap_info">'.'Succès de la modification du site.'.'</p>'; |
$message .= '<p class="pap_info">'.$message_complement.'</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)); |
} |
// Nous vérifions que le site n'a pas le code alphanum correspondant au site par défaut d'administration (admin). |
if ($code_alpha_site_principal == GEN_SITE_DEFAUT) { |
$message = '<p class="pap_erreur">Si vous voulez vraiment supprimer le site d\'administration par défaut de '. |
'Papyrus, veuillez commencer par changer la valeur de son code alphanumérique. Vous pourrez '. |
'ensuite le supprimer via cette interface.</p>'; |
return $message; |
} |
// 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 |
if (!GEN_FTP_UTILISE) { |
$chemin_repertoire = PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$code_alpha_site_principal; |
$resultat = supprimerDossier($chemin_repertoire, GEN_SEP); |
if (!$resultat) { |
$message = '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de supprimer le répertoire.<br />'. |
'Répertoire : '. $chemin_repertoire .'<br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br /></p>'; |
return $message; |
} |
} else { |
// 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(PAP_FTP_SERVEUR, PAP_FTP_PORT); |
// création de la connexion |
$ftp_conn = $objet_pear_ftp->connect(PAP_FTP_SERVEUR, PAP_FTP_PORT); |
// identification |
$ftp_login_result = $objet_pear_ftp->login(PAP_FTP_UTILISATEUR, PAP_FTP_MOT_DE_PASSE); |
// Gestion des erreurs ftp |
if ((PEAR::isError($ftp_conn) || PEAR::isError($ftp_login_result))) { |
$message = '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de se connecter par ftp.<br />'. |
'Erreur connexion : '.$ftp_conn->getMessage().'<br />'. |
'Erreur login : '.$ftp_login_result->getMessage().'<br />'. |
'Serveur : '. PAP_FTP_SERVEUR .'<br />'. |
'Utilisateur : '. PAP_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 = PAP_FTP_RACINE.GEN_CHEMIN_SITES.$code_alpha_site_principal.'/'; |
if ($code_alpha_site_principal!='') { |
$resultat = $objet_pear_ftp->rm($chemin_repertoire, true); |
if (PEAR::isError($resultat)) { |
$message = '<p class="pap_erreur"> ERREUR Papyrus 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="pap_info">Succés de la suppression du site.</p>'; |
return $message; |
} |
function ADMIN_verifier_traduction_possible(&$db, $aso_valeurs) { |
// Traduction d'un site principal uniquement : |
$requete = 'SELECT gsr_id_site_01, gs_ce_i18n '. |
'FROM gen_site_relation, gen_site '. |
'WHERE gsr_id_site_02 = '.$aso_valeurs['form_sites_id_site'].' '. |
'AND gs_id_site = gsr_id_site_01 '. |
'AND gsr_id_valeur =1 '; // 1 = "avoir traduction" |
$resultat = $db->query($requete); |
if (DB::isError($resultat)) { |
die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) ); |
} |
if ( $resultat->numRows() == 0 ) { |
$site_id = $aso_valeurs['form_sites_id_site']; |
} |
else { |
$ligne_site = $resultat->fetchRow(DB_FETCHMODE_OBJECT); |
$site_id = $ligne_site->gsr_id_site_01; |
} |
$requete = 'SELECT distinct gs_ce_i18n '. |
'FROM gen_site_relation, gen_site '. |
'WHERE gsr_id_site_01 = ' . $site_id .' '. |
'AND gs_id_site = gsr_id_site_02 '. |
'AND gsr_id_valeur =1 '; // 1 = "avoir traduction" |
$resultat = $db->query($requete) ; |
if (DB::isError($resultat)) { |
die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) ); |
} |
$not_in_langue=''; |
if ( $resultat->numRows() == 0 ) { |
$not_in_langue="gi_id_i18n not in('".$ligne_site->gs_ce_i18n."')"; |
} |
else { |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) { |
$not_in_langue="'".$ligne->gs_ce_i18n."'".",".$not_in_langue; |
$end="'".$ligne->gs_ce_i18n."'"; |
} |
$not_in_langue=' gi_id_i18n not in('.$not_in_langue.$end.')'; |
} |
$resultat->free(); |
$requete = "SELECT * FROM gen_i18n where ".$not_in_langue; |
$resultat = $db->query($requete) ; |
if (DB::isError($resultat)) { |
die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) ); |
} |
$retour = $resultat->numRows(); |
$resultat->free(); |
$message=''; |
if ($retour == 0) { |
$message = '<p class="pap_erreur">Plus de traduction possible pour ce site </p>'; |
} |
return $message; |
} |
// +- Fin du code source --------------------------------------------------------------------------------+ |
/* |
* $Log: not supported by cvs2svn $ |
* Revision 1.41 2007-10-21 16:44:37 ddelon |
* Pb Pap chemin |
* |
* Revision 1.40 2007-10-04 12:57:37 ddelon |
* retablisssement chemin ftp dans traduction site |
* |
* Revision 1.39 2007-06-26 14:18:53 florian |
* amélioration des formulaires des différentes applis de l'interface d'administration afin de les simplifier |
* |
* Revision 1.38 2007-06-25 12:15:06 alexandre_tb |
* merge from narmer |
* |
* Revision 1.37 2007/04/24 13:27:57 alexandre_tb |
* encodage |
* |
* Revision 1.36 2007/04/20 13:48:31 alexandre_tb |
* nettoyage accent |
* |
* Revision 1.35 2007/04/20 10:42:42 neiluj |
* suite oubli, fix des derniers bugs FTP |
* |
* Revision 1.34 2007/04/20 09:21:41 neiluj |
* correction bug ftp création/suppression/modification de site |
* (changé PAP_FTP_RACINE en PAP_CHEMIN_RACINE) |
* voir compatibilité chroot() du serveur FTP) |
* |
* Revision 1.33 2007/04/19 15:34:35 neiluj |
* préparration release (livraison) "Narmer" - v0.25 |
* |
* Revision 1.32 2006/10/16 15:49:06 ddelon |
* Refactorisation code mulitlinguisme et gestion menu invisibles |
* |
* Revision 1.31 2006/09/12 09:54:02 ddelon |
* Affichage des identifications disponibles lors de la création d'un site. Un bug faisait que l'affichage de l'identification par défaut ne fonctionnait plus en creation. |
* |
* Revision 1.30 2006/07/19 13:57:35 ddelon |
* Bug suppression de site |
* |
* Revision 1.29 2006/03/23 20:24:58 ddelon |
* *** empty log message *** |
* |
* Revision 1.28 2006/03/15 23:44:19 ddelon |
* Gestion site |
* |
* Revision 1.27 2006/03/15 23:35:25 ddelon |
* Gestion site |
* |
* Revision 1.26 2006/03/02 10:49:49 ddelon |
* Fusion branche multilinguisme dans branche principale |
* |
* Revision 1.25.2.2 2006/02/28 14:02:10 ddelon |
* Finition multilinguisme |
* |
* Revision 1.25.2.1 2006/01/19 21:26:20 ddelon |
* Multilinguisme site + bug ftp |
* |
* Revision 1.25 2005/10/17 13:48:59 jp_milcent |
* Ajout d'un espace après le texte "Dernière modification par". |
* |
* Revision 1.24 2005/09/23 14:32:54 florian |
* compatibilité XHTML + correction interface |
* |
* Revision 1.23 2005/09/20 17:01:22 ddelon |
* php5 et bugs divers |
* |
* Revision 1.22 2005/05/27 16:06:16 jpm |
* Gestion des infos sur l'admin modifiant les infos. |
* |
* Revision 1.21 2005/04/08 13:29:04 jpm |
* Utiliation de références. |
* Correction du double & dans les urls du formulaire. |
* |
* Revision 1.20 2005/03/08 11:17:47 jpm |
* Suppression de l'inclusion d'un fichier inutile. |
* |
* Revision 1.19 2005/02/28 11:07:00 jpm |
* Modification des auteurs. |
* |
* Revision 1.18 2005/02/28 10:59:07 jpm |
* Modification des commentaires et copyright. |
* |
* Revision 1.17 2005/02/17 17:51:11 florian |
* Correction bug FTP |
* |
* Revision 1.16 2005/02/17 16:44:55 florian |
* correction du bug sur les sites par défaut |
* |
* Revision 1.15 2005/01/04 19:52:50 alex |
* correction de bug de copie de répertoire récursif de PEAR. |
* |
* Revision 1.14 2004/12/03 19:22:53 jpm |
* Gestion des types de sites externes gérés par Papyrus. |
* |
* Revision 1.13 2004/12/03 16:37:34 jpm |
* Correction d'un bogue qui empêcher la mise à jour des url des sites externes. |
* |
* Revision 1.12 2004/12/01 17:22:58 jpm |
* Ajout d'une confirmation javascript pour la suppression d'un site. |
* |
* Revision 1.11 2004/11/30 16:43:51 jpm |
* Correction de bogues. |
* |
* Revision 1.10 2004/11/29 17:05:28 jpm |
* Correction d'un bogue concernat les cases à cocher. |
* |
* Revision 1.9 2004/11/26 13:13:51 jpm |
* Mise en commentaire de variable passée dans un message d'erreur car elles semblent provoquer un bogue et ne sont pas obligatoire. |
* |
* Revision 1.8 2004/11/03 17:59:59 jpm |
* Corrections bogues erreurs variable inconnue. |
* |
* Revision 1.7 2004/10/26 18:41:28 jpm |
* Gestion des sites externes à Papyrus. |
* |
* Revision 1.6 2004/10/22 17:25:31 jpm |
* Changement du nom de la class CSS d'erreur. |
* |
* Revision 1.5 2004/10/19 15:57:55 jpm |
* Amélioration de la gestion des fichiers sur le serveur. |
* Ajout d'une contrainte pour éviter la suppression par erreur du site par défaut. |
* |
* Revision 1.4 2004/10/18 18:27:41 jpm |
* Correction problèmes FTP et manipulation de fichiers. |
* |
* Revision 1.3 2004/09/23 16:51:27 jpm |
* Ajout d'informations supplémentaires sur les messages d'erreur. |
* |
* Revision 1.2 2004/07/06 17:08:01 jpm |
* Modification de la documentation pour une mailleur analyse par PhpDocumentor. |
* |
* Revision 1.1 2004/06/16 14:28:46 jpm |
* Changement de nom de Papyrus en Papyrus. |
* Changement de l'arborescence. |
* |
* 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. |
* |
* |
*/ |
?> |
/tags/v5.0-ouadji/papyrus/applications/admin_site/bibliotheque/adsi_affichage.fonct.php |
---|
New file |
0,0 → 1,107 |
<?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_affichage.fonct.php,v 1.5 2005-02-28 11:07:00 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 Admin_site |
*@subpackage Fonctions |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Alexandre GRANIER <alexandre@tela-botanica.org> |
*@author Laurent COUDOUNEAU <lc@gsite.org> |
*@copyright Tela-Botanica 2000-2004 |
*@version $Date: 2005-02-28 11:07:00 $ |
// +------------------------------------------------------------------------------------------------------+ |
**/ |
// +------------------------------------------------------------------------------------------------------+ |
// | 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; |
} |
// +- Fin du code source --------------------------------------------------------------------------------+ |
/* |
* $Log: not supported by cvs2svn $ |
* Revision 1.4 2005/02/28 10:59:07 jpm |
* Modification des commentaires et copyright. |
* |
* Revision 1.3 2005/02/28 10:40:49 jpm |
* Suppression d'une fonction inutile. |
* |
* Revision 1.2 2004/07/06 17:08:01 jpm |
* Modification de la documentation pour une mailleur analyse par PhpDocumentor. |
* |
* Revision 1.1 2004/06/16 14:23:01 jpm |
* Changement de nom de Génésia en Papyrus. |
* Changement de l'arborescence. |
* |
* 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. |
* |
* |
*/ |
/tags/v5.0-ouadji/papyrus/applications/admin_site/langues/adsi_langue_en.inc.php |
---|
New file |
0,0 → 1,65 |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// +------------------------------------------------------------------------------------------------------+ |
// | PHP version 4.1 | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) | |
// +------------------------------------------------------------------------------------------------------+ |
// | This file is part of Papyrus. | |
// | | |
// | Foobar is free software; you can redistribute it and/or modify | |
// | it under the terms of the GNU General Public License as published by | |
// | the Free Software Foundation; either version 2 of the License, or | |
// | (at your option) any later version. | |
// | | |
// | Foobar is distributed in the hope that it will be useful, | |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
// | GNU General Public License for more details. | |
// | | |
// | You should have received a copy of the GNU General Public License | |
// | along with Foobar; if not, write to the Free Software | |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
// +------------------------------------------------------------------------------------------------------+ |
// CVS : $Id: adsi_langue_en.inc.php,v 1.2 2006-03-02 10:49:49 ddelon Exp $ |
/** |
* Gestion des langues de l'application ADME |
* |
* Contient les constantes pour la langue française de l'application ADSI |
* |
*@package Admin_auth |
*@subpackage Langues |
//Auteur original : |
*@author Alexandre Granier <alexandre@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.2 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | LISTE des CONSTANTES | |
// +------------------------------------------------------------------------------------------------------+ |
define('ADSI_TITRE_SITE', 'Site title'); |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.1.2.1 2006/02/28 14:02:10 ddelon |
* Finition multilinguisme |
* |
* Revision 1.3 2005/04/14 13:54:51 jpm |
* Amélioration de l'interface et mise en conformité. |
* |
* Revision 1.2 2004/12/13 18:07:57 alex |
* ajout de labels |
* |
* Revision 1.1 2004/12/06 11:31:37 alex |
* version initiale |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v5.0-ouadji/papyrus/applications/admin_site/langues/adsi_langue_fr.inc.php |
---|
New file |
0,0 → 1,68 |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// +------------------------------------------------------------------------------------------------------+ |
// | PHP version 4.1 | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) | |
// +------------------------------------------------------------------------------------------------------+ |
// | This file is part of Papyrus. | |
// | | |
// | Foobar is free software; you can redistribute it and/or modify | |
// | it under the terms of the GNU General Public License as published by | |
// | the Free Software Foundation; either version 2 of the License, or | |
// | (at your option) any later version. | |
// | | |
// | Foobar is distributed in the hope that it will be useful, | |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
// | GNU General Public License for more details. | |
// | | |
// | You should have received a copy of the GNU General Public License | |
// | along with Foobar; if not, write to the Free Software | |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
// +------------------------------------------------------------------------------------------------------+ |
// CVS : $Id: adsi_langue_fr.inc.php,v 1.3 2006-10-06 10:40:51 florian Exp $ |
/** |
* Gestion des langues de l'application ADME |
* |
* Contient les constantes pour la langue française de l'application ADSI |
* |
*@package Admin_auth |
*@subpackage Langues |
//Auteur original : |
*@author Alexandre Granier <alexandre@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.3 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | LISTE des CONSTANTES | |
// +------------------------------------------------------------------------------------------------------+ |
define('ADSI_TITRE_SITE', 'Titre du site'); |
define('ADSI_IDENTIFIEZ_VOUS','Veuillez vous identifier pour accèder à ce menu.'); |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.2 2006/03/02 10:49:49 ddelon |
* Fusion branche multilinguisme dans branche principale |
* |
* Revision 1.1.2.1 2006/02/28 14:02:10 ddelon |
* Finition multilinguisme |
* |
* Revision 1.3 2005/04/14 13:54:51 jpm |
* Amélioration de l'interface et mise en conformité. |
* |
* Revision 1.2 2004/12/13 18:07:57 alex |
* ajout de labels |
* |
* Revision 1.1 2004/12/06 11:31:37 alex |
* version initiale |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v5.0-ouadji/papyrus/applications/afficheur/squelettes/historique.tpl.html |
---|
New file |
0,0 → 1,7 |
<h1>Archives</h1> |
<p>Cliquer sur un des liens pour éditer à nouveau la version de la page sauvegardée à la date indiquée.</p> |
<ul> |
<?php foreach ($archives as $archive) : ?> |
<li><a href="<?=$archive->url;?>"><?=$archive->gmc_date_modification;?></a></li> |
<?php endforeach; ?> |
</ul> |
/tags/v5.0-ouadji/papyrus/applications/afficheur/squelettes/afficheur.css |
---|
New file |
0,0 → 1,53 |
/* vim: set expandtab tabstop=4 shiftwidth=4: */ |
/* ======================================================================================================== |
| Copyright (C) 1999-2004 Tela Botanica (accueil@tela-botanica.org) | |
+---------------------------------------------------------------------------------------------------------+ |
| This file is part of Papyrus. | |
| | |
| Foobar is free software; you can redistribute it and/or modify it under the terms of the GNU General | |
| Public License as published by the Free Software Foundation; either version 2 of the License, or | |
| (at your option) any later version. | |
| | |
| Foobar is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the | |
| implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public | |
| License for more details. | |
| | |
| You should have received a copy of the GNU General Public License along with Foobar; if not, write to | |
| the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
+---------------------------------------------------------------------------------------------------------+ |
CVS : $Id: afficheur.css,v 1.1 2007-06-26 13:30:48 jp_milcent Exp $ |
=========================================================================================================== |
DESCRIPTION : Fichier de style de l'application d'administration de l'affichage. |
=========================================================================================================== |
Auteur original : Jean-Pascal MILCENT <jpm@tela-botanica.org> |
Autres auteurs : |
=========================================================================================================== |
AUTEUR : $Author: jp_milcent $ |
VERSION : $Revision: 1.1 $ $Date: 2007-06-26 13:30:48 $ |
======================================================================================================= */ |
/* +----------------------------------------------------------------------------------------------------+ |
| STRUCTURE | |
+----------------------------------------------------------------------------------------------------+*/ |
#gmc_contenu { |
width: 100%; |
min-height:400px; |
} |
/* +----------------------------------------------------------------------------------------------------+ |
| DESIGN | |
+----------------------------------------------------------------------------------------------------+*/ |
/* +--Fin des CSS ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.1 2005-04-25 13:56:08 jpm |
* Ajout du style pour l'afficheur. |
* |
* |
* +-- Fin des CSS ----------------------------------------------------------------------------------------+ |
*/ |
/tags/v5.0-ouadji/papyrus/applications/afficheur/squelettes/formulaire.tpl.html |
---|
New file |
0,0 → 1,41 |
<h1>Rédaction</h1> |
<?php if (isset($reedition_info)) :?> |
<p class="zone_info">Vous venez de rééditer la version archivée du <?=$reedition_info;?>.</p> |
<?php endif; ?> |
<form action="<?=$form_url;?>" method="post" name="form_modifier_contenu" id="form_modifier_contenu"> |
<ul> |
<li> |
<?=$fck_editor;?> |
</li> |
<li> |
<label for="gmc_ce_type_modification">Type de modification : </label> |
<select id="gmc_ce_type_modification" tabindex="1000" name="gmc_ce_type_modification"> |
<option value="1">Mineure</option> |
<option value="2">Majeure</option> |
</select> |
</li> |
<li> |
<label for="gmc_resume_modification">Resumé modification : </label> |
<input id="gmc_resume_modification" tabindex="1001" size="45" maxlength="255" name="gmc_resume_modification" type="text" /> |
</li> |
<li> |
<ul class="liste_bouton"> |
<li> |
<input id="afficheur_enregistrer_quitter" name="afficheur_enregistrer_quitter" value="Enregistrer et quitter" type="submit" /> |
</li> |
<li> |
<input id="afficheur_enregistrer_rester" name="afficheur_enregistrer_rester" value="Enregistrer et rester en édition" type="submit" /> |
</li> |
<li> |
<input id="afficheur_historique" name="afficheur_historique" value="Réediter une version archivée" type="submit" /> |
</li> |
<li> |
<input id="afficheur_annuler" name="afficheur_annuler" value="Annuler" type="submit" /> |
</li> |
</ul> |
<input name="gmc_ce_type_contenu" type="hidden" value="<?=$gmc_ce_type_contenu;?>" /> |
<input name="gmc_ce_menu" type="hidden" value="<?=$gmc_ce_menu;?>" /> |
<input name="gmc_ce_type_contenu_table" type="hidden" value="1" /> |
</li> |
</ul> |
</form> |
/tags/v5.0-ouadji/papyrus/applications/afficheur/afficheur.php |
---|
New file |
0,0 → 1,384 |
<?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.14 2007-06-26 15:38:39 jp_milcent 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.14 $ $Date: 2007-06-26 15:38:39 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/** Inclusion du fichier de configuration de cette application.*/ |
require_once GEN_CHEMIN_PAP.'applications/afficheur/configuration/affi_configuration.inc.php'; |
// Inclusion de la bibliothèque PEAR Text_Wiki réalisées par Papyrus. |
// +------------------------------------------------------------------------------------------------------+ |
// | 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 ''; |
} |
function afficherContenuCorps() { |
$retour = ''; |
$db = $GLOBALS['_AFFICHEUR']['objet_pear_db']; |
$id_or = GEN_rechercheMenuCode($db, GEN_rechercheMenuIdentifiant($db, $GLOBALS['_AFFICHEUR']['menu_courant_id'])); |
$ligne_contenu = GEN_rechercheContenu($db, $id_or); |
$contenu = $ligne_contenu->gmc_contenu; |
// Inclusion de la bibliothèque Text_Wiki_Papyrus effectuées par Papyrus précédement |
// Les actions Text_Wiki_Papyrus sont gérées par Papyrus |
// Nous regardons si nous avons à faire à un texte sous format Wikini ou XHTML |
if (($ligne_contenu->gmc_ce_type_contenu == 1)||(substr($ligne_contenu->gmc_ce_type_contenu,-1)== 1)) { |
$retour = $contenu; |
} elseif (($ligne_contenu->gmc_ce_type_contenu == 2) || (substr($ligne_contenu->gmc_ce_type_contenu,-1)== 2)){ |
include_once AFFI_CHEMIN_BIBLIOTHEQUE_API.'text/wiki_wikini/Wikini.class.php'; |
// Création d'un objet Text_Wikini : |
$wikini =& new Text_Wikini(); |
// Pour éviter de remplacer les caractères spéciaux du XHTML: |
$wikini->setFormatConf('Xhtml', 'translate', false); |
// Configuration de la règle Freelink : |
$wikini->setRenderConf('Xhtml', 'freelink', 'pages', null); |
$wikini->setRenderConf('Xhtml', 'freelink', 'view_url', AFFI_URL_PAPYRUS); |
// Configuration de la règle Interwiki : |
$wikini->setRenderConf('Xhtml', 'interwiki', 'sites', $GLOBALS['_AFFICHEUR']['interwiki_sites']); |
// Application des règles de Wikini : |
$retour = $wikini->transform($contenu, 'Xhtml'); |
} |
//---------------------------------------------------------------------------- |
// Renvoie du contenu de la page |
return $retour; |
} |
/** 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 afficherContenuCorpsOld() |
{ |
//---------------------------------------------------------------------------- |
// Initialisation des variable |
$retour = ''; |
$id_langue = $GLOBALS['_GEN_commun']['i18n']; |
if (isset($id_langue) && ($id_langue!='')) { |
$langue_test=$id_langue; |
} else { |
$langue_test=GEN_I18N_ID_DEFAUT; |
} |
//------------------------------------------------------------------------------------------------------------------- |
// Récupération des informations du contenu concerné. |
$ligne_menu = GEN_lireInfoMenu($GLOBALS['_AFFICHEUR']['objet_pear_db'], $GLOBALS['_AFFICHEUR']['menu_courant_id'], DB_FETCHMODE_ASSOC); |
if ($ligne_menu == false) { |
die('ERREUR Papyrus Administrateur de Menus: impossible de lire les infos du menu.<br />'. |
'Idenitifiant du menu n° : '. $GLOBALS['_AFFICHEUR']['objet_pear_db'] .'<br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br />'); |
} |
// Comment ca marche ? |
// Historiquement, le code menu est associé au contenu |
// Depuis le passage au multilinguisme : ce comportement est conservé mais : |
// Tout nouveau contenu, contient également l'information code gm_id_menu, enfoui dans le |
// type contenu. |
// Récupération identifiant du menu en cours |
$requete = 'SELECT gm_id_menu, gm_code_num '. |
'FROM gen_menu '. |
'WHERE gm_code_num = '.$ligne_menu['gm_code_num'].' '. |
'AND gm_ce_i18n = "'.$langue_test.'" '; |
$resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
if ( $resultat->numRows() > 0 ) { |
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT); |
} |
else { |
// Recherche defaut : |
$requete = 'SELECT gm_id_menu, gm_code_num '. |
'FROM gen_menu '. |
'WHERE gm_code_num = '.$ligne_menu['gm_code_num'].' '; |
'AND gm_ce_i18n = "'.GEN_I18N_ID_DEFAUT.'" '; |
$resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT); |
if ($langue_test!=GEN_I18N_ID_DEFAUT) { |
$requete_defaut = 'SELECT gmr_id_menu_02 as gm_id_menu , ' . $ligne->gm_code_num . ' as gm_code_num '. |
'FROM gen_menu_relation '. |
'WHERE '.$ligne->gm_id_menu. ' = gmr_id_menu_01 ' . |
'AND gmr_id_valeur = 105 ';// 105 Traduction par defaut |
$resultat_defaut = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete_defaut); |
(DB::isError($resultat_defaut)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_defaut->getMessage(), $requete_defaut)) |
: ''; |
if ($resultat_defaut->numRows() > 0) { |
$ligne=$resultat_defaut->fetchRow(DB_FETCHMODE_OBJECT); |
} |
} |
} |
// Cas historique : ce menu n'a jamais été traduit. |
$requete = 'SELECT gmc_contenu , gmc_ce_type_contenu '. |
'FROM gen_menu_contenu '. |
'WHERE gmc_ce_menu = '.$ligne->gm_id_menu.' '. |
'AND gmc_ce_type_contenu in (1,2) '. |
'AND gmc_bool_dernier = 1'; |
$resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
// Rien trouvé ? : Migration multilinguisme ou pas encore de contenu |
if ( $resultat->numRows() == 0 ) { |
// Migration multilinguisme |
$requete = 'SELECT gmc_contenu , gmc_ce_type_contenu '. |
'FROM gen_menu_contenu '. |
'WHERE gmc_ce_menu = '.$ligne_menu['gm_code_num'].' '. |
'AND truncate((gmc_ce_type_contenu/10),0) = '. $ligne->gm_id_menu . ' '. |
'AND gmc_bool_dernier = 1'; |
$resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
// Pas de contenu, tentative de recuperation du contenu se |
if ( $resultat->numRows() == 0 ) { |
$requete = 'SELECT gmr_id_menu_02 as gm_id_menu , ' . $ligne->gm_code_num . ' as gm_code_num '. |
'FROM gen_menu_relation '. |
'WHERE '.$ligne->gm_id_menu. ' = gmr_id_menu_01 ' . |
'AND gmr_id_valeur = 105 ';// 105 Traduction par defaut |
$resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) |
: ''; |
$requete = 'SELECT gmc_contenu , gmc_ce_type_contenu '. |
'FROM gen_menu_contenu, gen_menu_relation '. |
'WHERE truncate((gmc_ce_type_contenu/10),0) = gmr_id_menu_01 '. |
'AND '.$ligne->gm_id_menu.' = gmr_id_menu_02 '. |
'AND gmr_id_valeur = 2 '. |
'AND gmc_bool_dernier = 1'; |
$resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
/* |
$requete = 'SELECT gmr_id_menu_02 as gm_id_menu , ' . $ligne->gm_code_num . ' as gm_code_num '. |
'FROM gen_menu_relation '. |
'WHERE '.$ligne->gm_id_menu. ' = gmr_id_menu_01 ' . |
'AND gmr_id_valeur = 105 ';// 105 Traduction par defaut |
$resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete); |
print_r ($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) |
: ''; |
*/ |
} |
// Toujours rien ? |
if ( $resultat->numRows() == 0 ) { |
$requete = 'SELECT gmc_contenu , gmc_ce_type_contenu '. |
'FROM gen_menu_contenu '. |
'WHERE gmc_ce_menu = '.$ligne->gm_code_num.' '. |
'AND gmc_ce_type_contenu in (1,2) '. |
'AND gmc_bool_dernier = 1'; |
$resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
} |
} |
$ligne_contenu = $resultat->fetchRow(DB_FETCHMODE_OBJECT); |
$contenu = $ligne_contenu->gmc_contenu; |
// Inclusion de la bibliothèque Text_Wiki_Papyrus effectuées par Papyrus précédement |
// Les actions Text_Wiki_Papyrus sont gérées par Papyrus |
// Nous regardons si nous avons à faire à un texte sous format Wikini ou XHTML |
if (($ligne_contenu->gmc_ce_type_contenu == 1)||(substr($ligne_contenu->gmc_ce_type_contenu,-1)== 1)) { |
$retour = $contenu; |
} elseif (($ligne_contenu->gmc_ce_type_contenu == 2) || (substr($ligne_contenu->gmc_ce_type_contenu,-1)== 2)){ |
include_once AFFI_CHEMIN_BIBLIOTHEQUE_API.'text/wiki_wikini/Wikini.class.php'; |
// Création d'un objet Text_Wikini : |
$wikini =& new Text_Wikini(); |
// Pour éviter de remplacer les caractères spéciaux du XHTML: |
$wikini->setFormatConf('Xhtml', 'translate', false); |
// Configuration de la règle Freelink : |
$wikini->setRenderConf('Xhtml', 'freelink', 'pages', null); |
$wikini->setRenderConf('Xhtml', 'freelink', 'view_url', AFFI_URL_PAPYRUS); |
// Configuration de la règle Interwiki : |
$wikini->setRenderConf('Xhtml', 'interwiki', 'sites', $GLOBALS['_AFFICHEUR']['interwiki_sites']); |
// Application des règles de Wikini : |
$retour = $wikini->transform($contenu, 'Xhtml'); |
} |
// +---------------------------------------------------------------------------------------------------------------+ |
// Nous regardons si nous voulons surligner ou pas des mots |
if (isset($_GET['var_recherche'])) { |
$tab_mots = explode(' ', rawurldecode($_GET['var_recherche'])); |
foreach ($tab_mots as $mot) { |
if (strlen($mot) >= 2) { |
$regexp = '/(>[^<]*)('.$mot.'\b)/Uis'; |
$retour = preg_replace($regexp, '$1<span class="surlignage">$2</span>', $retour); |
} |
} |
} |
//---------------------------------------------------------------------------- |
// Renvoie du contenu de la page |
return $retour; |
} |
// +------------------------------------------------------------------------------------------------------+ |
// | LISTE de FONCTIONS | |
// +------------------------------------------------------------------------------------------------------+ |
// +------------------------------------------------------------------------------------------------------+ |
// | PIED du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.13 2006-11-21 18:52:20 jp_milcent |
* Ajout de la possibilité de surligner des mots. |
* |
* Revision 1.12 2006/11/21 15:50:05 jp_milcent |
* Ajout du surlignage des mots passé dans la query string via la variable var_recherche. |
* |
* Revision 1.11 2006/10/16 15:49:07 ddelon |
* Refactorisation code mulitlinguisme et gestion menu invisibles |
* |
* Revision 1.10 2006/06/29 15:12:26 ddelon |
* Multilinguisme : contenu par defaut |
* |
* Revision 1.9 2006/03/27 10:50:24 ddelon |
* Still some pb |
* |
* Revision 1.7 2006/03/13 21:00:20 ddelon |
* Suppression messages d'erreur multilinguisme |
* |
* Revision 1.6 2006/03/02 10:49:49 ddelon |
* Fusion branche multilinguisme dans branche principale |
* |
* Revision 1.5.2.3 2006/03/02 00:22:23 ddelon |
* bug afficheur multilinguisme |
* |
* Revision 1.5.2.2 2006/03/01 23:51:07 ddelon |
* bug afficheur multilinguisme |
* |
* Revision 1.5.2.1 2006/02/28 14:02:11 ddelon |
* Finition multilinguisme |
* |
* Revision 1.5 2005/04/21 16:46:17 jpm |
* Gestion via Papyrus du XHTML. |
* |
* Revision 1.4 2005/02/22 18:25:13 jpm |
* Déplacement d'un message d'alerte en cas d'erreur sql. |
* |
* Revision 1.3 2004/12/07 12:24:30 jpm |
* Changement chemin d'accés à l'api Text/Wiki... |
* |
* Revision 1.2 2004/11/26 13:10:05 jpm |
* Utilisation des actions Papyrus et implémentation de la syntaxe Wikini. |
* |
* Revision 1.1 2004/06/16 14:35:26 jpm |
* Changement de nom de Génésia en Papyrus. |
* Changement de l'arborescence. |
* |
* 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 ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v5.0-ouadji/papyrus/applications/afficheur/configuration/affi_fckconfig.js |
---|
New file |
0,0 → 1,335 |
/* |
* FCKeditor - The text editor for Internet - http://www.fckeditor.net |
* Copyright (C) 2003-2008 Frederico Caldeira Knabben |
* |
* == BEGIN LICENSE == |
* |
* Licensed under the terms of any of the following licenses at your |
* choice: |
* |
* - GNU General Public License Version 2 or later (the "GPL") |
* http://www.gnu.org/licenses/gpl.html |
* |
* - GNU Lesser General Public License Version 2.1 or later (the "LGPL") |
* http://www.gnu.org/licenses/lgpl.html |
* |
* - Mozilla Public License Version 1.1 or later (the "MPL") |
* http://www.mozilla.org/MPL/MPL-1.1.html |
* |
* == END LICENSE == |
* |
* Editor configuration settings. |
* |
* Follow this link for more information: |
* http://docs.fckeditor.net/FCKeditor_2.x/Developers_Guide/Configuration/Configuration_Options |
*/ |
FCKConfig.CustomConfigurationsPath = '' ; |
FCKConfig.EditorAreaCSS = FCKConfig.BasePath + 'css/fck_editorarea.css' ; |
FCKConfig.EditorAreaStyles = '' ; |
FCKConfig.ToolbarComboPreviewCSS = '' ; |
FCKConfig.DocType = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">' ; |
FCKConfig.BaseHref = '' ; |
FCKConfig.FullPage = false ; |
// The following option determines whether the "Show Blocks" feature is enabled or not at startup. |
FCKConfig.StartupShowBlocks = false ; |
FCKConfig.Debug = false ; |
FCKConfig.AllowQueryStringDebug = true ; |
FCKConfig.SkinPath = FCKConfig.BasePath + 'skins/default/' ; |
FCKConfig.SkinEditorCSS = '' ; // FCKConfig.SkinPath + "|<minified css>" ; |
FCKConfig.SkinDialogCSS = '' ; // FCKConfig.SkinPath + "|<minified css>" ; |
FCKConfig.PreloadImages = [ FCKConfig.SkinPath + 'images/toolbar.start.gif', FCKConfig.SkinPath + 'images/toolbar.buttonarrow.gif' ] ; |
FCKConfig.PluginsPath = FCKConfig.BasePath + 'plugins/' ; |
// FCKConfig.Plugins.Add( 'autogrow' ) ; |
// FCKConfig.Plugins.Add( 'dragresizetable' ); |
FCKConfig.AutoGrowMax = 400 ; |
// FCKConfig.ProtectedSource.Add( /<%[\s\S]*?%>/g ) ; // ASP style server side code <%...%> |
// FCKConfig.ProtectedSource.Add( /<\?[\s\S]*?\?>/g ) ; // PHP style server side code |
// FCKConfig.ProtectedSource.Add( /(<asp:[^\>]+>[\s|\S]*?<\/asp:[^\>]+>)|(<asp:[^\>]+\/>)/gi ) ; // ASP.Net style tags <asp:control> |
FCKConfig.AutoDetectLanguage = true ; |
FCKConfig.DefaultLanguage = 'fr' ; |
FCKConfig.ContentLangDirection = 'ltr' ; |
FCKConfig.ProcessHTMLEntities = true ; |
FCKConfig.IncludeLatinEntities = true ; |
FCKConfig.IncludeGreekEntities = true ; |
FCKConfig.ProcessNumericEntities = false ; |
FCKConfig.AdditionalNumericEntities = '' ; // Single Quote: "'" |
FCKConfig.FillEmptyBlocks = true ; |
FCKConfig.FormatSource = true ; |
FCKConfig.FormatOutput = true ; |
FCKConfig.FormatIndentator = ' ' ; |
FCKConfig.EMailProtection = 'encode' ; // none | encode | function |
FCKConfig.EMailProtectionFunction = 'mt(NAME,DOMAIN,SUBJECT,BODY)' ; |
FCKConfig.StartupFocus = false ; |
FCKConfig.ForcePasteAsPlainText = false ; |
FCKConfig.AutoDetectPasteFromWord = true ; // IE only. |
FCKConfig.ShowDropDialog = true ; |
FCKConfig.ForceSimpleAmpersand = false ; |
FCKConfig.TabSpaces = 0 ; |
FCKConfig.ShowBorders = true ; |
FCKConfig.SourcePopup = false ; |
FCKConfig.ToolbarStartExpanded = true ; |
FCKConfig.ToolbarCanCollapse = true ; |
FCKConfig.IgnoreEmptyParagraphValue = true ; |
FCKConfig.FloatingPanelsZIndex = 10000 ; |
FCKConfig.HtmlEncodeOutput = false ; |
FCKConfig.TemplateReplaceAll = true ; |
FCKConfig.TemplateReplaceCheckbox = true ; |
FCKConfig.ToolbarLocation = 'In' ; |
FCKConfig.ToolbarSets["Default"] = [ |
['Source','DocProps','-','Save','NewPage','Preview','-','Templates'], |
['Cut','Copy','Paste','PasteText','PasteWord','-','Print','SpellCheck'], |
['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'], |
['Form','Checkbox','Radio','TextField','Textarea','Select','Button','ImageButton','HiddenField'], |
'/', |
['Bold','Italic','Underline','StrikeThrough','-','Subscript','Superscript'], |
['OrderedList','UnorderedList','-','Outdent','Indent','Blockquote','CreateDiv'], |
['JustifyLeft','JustifyCenter','JustifyRight','JustifyFull'], |
['Link','Unlink','Anchor'], |
['Image','Flash','Table','Rule','Smiley','SpecialChar','PageBreak'], |
'/', |
['Style','FontFormat','FontName','FontSize'], |
['TextColor','BGColor'], |
['FitWindow','ShowBlocks','-','About'] // No comma for the last row. |
] ; |
FCKConfig.ToolbarSets["Basic"] = [ |
['Bold','Italic','-','OrderedList','UnorderedList','-','Link','Unlink','-','About'] |
] ; |
FCKConfig.ToolbarSets["Papyrus"] = [ |
['FitWindow','ShowBlocks','Source','Preview','-','Cut','Copy','Paste','PasteText','PasteWord','SelectAll','-','Undo','Redo','Find','Replace'], |
['RemoveFormat','Bold','Italic','Underline','StrikeThrough','Subscript','Superscript','-','JustifyLeft','JustifyCenter','JustifyRight','JustifyFull','-','OrderedList','UnorderedList'], |
'/', |
['Image','Link','Unlink','Table','Rule','SpecialChar'], |
['FontFormat','FontName','FontSize'], |
['TextColor','BGColor'], |
['About'] |
] ; |
FCKConfig.EnterMode = 'p' ; // p | div | br |
FCKConfig.ShiftEnterMode = 'br' ; // p | div | br |
FCKConfig.Keystrokes = [ |
[ CTRL + 65 /*A*/, true ], |
[ CTRL + 67 /*C*/, true ], |
[ CTRL + 70 /*F*/, true ], |
[ CTRL + 83 /*S*/, true ], |
[ CTRL + 84 /*T*/, true ], |
[ CTRL + 88 /*X*/, true ], |
[ CTRL + 86 /*V*/, 'Paste' ], |
[ CTRL + 45 /*INS*/, true ], |
[ SHIFT + 45 /*INS*/, 'Paste' ], |
[ CTRL + 88 /*X*/, 'Cut' ], |
[ SHIFT + 46 /*DEL*/, 'Cut' ], |
[ CTRL + 90 /*Z*/, 'Undo' ], |
[ CTRL + 89 /*Y*/, 'Redo' ], |
[ CTRL + SHIFT + 90 /*Z*/, 'Redo' ], |
[ CTRL + 76 /*L*/, 'Link' ], |
[ CTRL + 66 /*B*/, 'Bold' ], |
[ CTRL + 73 /*I*/, 'Italic' ], |
[ CTRL + 85 /*U*/, 'Underline' ], |
[ CTRL + SHIFT + 83 /*S*/, 'Save' ], |
[ CTRL + ALT + 13 /*ENTER*/, 'FitWindow' ], |
[ SHIFT + 32 /*SPACE*/, 'Nbsp' ] |
] ; |
FCKConfig.ContextMenu = ['Generic','Link','Anchor','Image','Flash','Select','Textarea','Checkbox','Radio','TextField','HiddenField','ImageButton','Button','BulletedList','NumberedList','Table','Form','DivContainer'] ; |
FCKConfig.BrowserContextMenuOnCtrl = false ; |
FCKConfig.BrowserContextMenu = false ; |
FCKConfig.EnableMoreFontColors = true ; |
FCKConfig.FontColors = '000000,993300,333300,003300,003366,000080,333399,333333,800000,FF6600,808000,808080,008080,0000FF,666699,808080,FF0000,FF9900,99CC00,339966,33CCCC,3366FF,800080,999999,FF00FF,FFCC00,FFFF00,00FF00,00FFFF,00CCFF,993366,C0C0C0,FF99CC,FFCC99,FFFF99,CCFFCC,CCFFFF,99CCFF,CC99FF,FFFFFF' ; |
FCKConfig.FontFormats = 'p;h1;h2;h3;h4;h5;h6;pre;address;div' ; |
FCKConfig.FontNames = 'Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana' ; |
FCKConfig.FontSizes = 'smaller;larger;xx-small;x-small;small;medium;large;x-large;xx-large' ; |
FCKConfig.StylesXmlPath = FCKConfig.EditorPath + 'fckstyles.xml' ; |
FCKConfig.TemplatesXmlPath = FCKConfig.EditorPath + 'fcktemplates.xml' ; |
FCKConfig.SpellChecker = 'ieSpell' ; // 'ieSpell' | 'SpellerPages' |
FCKConfig.IeSpellDownloadUrl = 'http://www.iespell.com/download.php' ; |
FCKConfig.SpellerPagesServerScript = 'server-scripts/spellchecker.php' ; // Available extension: .php .cfm .pl |
FCKConfig.FirefoxSpellChecker = false ; |
FCKConfig.MaxUndoLevels = 15 ; |
FCKConfig.DisableObjectResizing = false ; |
FCKConfig.DisableFFTableHandles = true ; |
FCKConfig.LinkDlgHideTarget = false ; |
FCKConfig.LinkDlgHideAdvanced = false ; |
FCKConfig.ImageDlgHideLink = false ; |
FCKConfig.ImageDlgHideAdvanced = false ; |
FCKConfig.FlashDlgHideAdvanced = false ; |
FCKConfig.ProtectedTags = '' ; |
// This will be applied to the body element of the editor |
FCKConfig.BodyId = '' ; |
FCKConfig.BodyClass = '' ; |
FCKConfig.DefaultStyleLabel = '' ; |
FCKConfig.DefaultFontFormatLabel = '' ; |
FCKConfig.DefaultFontLabel = '' ; |
FCKConfig.DefaultFontSizeLabel = '' ; |
FCKConfig.DefaultLinkTarget = '' ; |
// The option switches between trying to keep the html structure or do the changes so the content looks like it was in Word |
FCKConfig.CleanWordKeepsStructure = false ; |
// Only inline elements are valid. |
FCKConfig.RemoveFormatTags = 'b,big,code,del,dfn,em,font,i,ins,kbd,q,samp,small,span,strike,strong,sub,sup,tt,u,var' ; |
// Attributes that will be removed |
FCKConfig.RemoveAttributes = 'class,style,lang,width,height,align,hspace,valign' ; |
FCKConfig.CustomStyles = |
{ |
'Red Title' : { Element : 'h3', Styles : { 'color' : 'Red' } } |
}; |
// Do not add, rename or remove styles here. Only apply definition changes. |
FCKConfig.CoreStyles = |
{ |
// Basic Inline Styles. |
'Bold' : { Element : 'strong', Overrides : 'b' }, |
'Italic' : { Element : 'em', Overrides : 'i' }, |
'Underline' : { Element : 'u' }, |
'StrikeThrough' : { Element : 'strike' }, |
'Subscript' : { Element : 'sub' }, |
'Superscript' : { Element : 'sup' }, |
// Basic Block Styles (Font Format Combo). |
'p' : { Element : 'p' }, |
'div' : { Element : 'div' }, |
'pre' : { Element : 'pre' }, |
'address' : { Element : 'address' }, |
'h1' : { Element : 'h1' }, |
'h2' : { Element : 'h2' }, |
'h3' : { Element : 'h3' }, |
'h4' : { Element : 'h4' }, |
'h5' : { Element : 'h5' }, |
'h6' : { Element : 'h6' }, |
// Other formatting features. |
'FontFace' : |
{ |
Element : 'span', |
Styles : { 'font-family' : '#("Font")' }, |
Overrides : [ { Element : 'font', Attributes : { 'face' : null } } ] |
}, |
'Size' : |
{ |
Element : 'span', |
Styles : { 'font-size' : '#("Size","fontSize")' }, |
Overrides : [ { Element : 'font', Attributes : { 'size' : null } } ] |
}, |
'Color' : |
{ |
Element : 'span', |
Styles : { 'color' : '#("Color","color")' }, |
Overrides : [ { Element : 'font', Attributes : { 'color' : null } } ] |
}, |
'BackColor' : { Element : 'span', Styles : { 'background-color' : '#("Color","color")' } }, |
'SelectionHighlight' : { Element : 'span', Styles : { 'background-color' : 'navy', 'color' : 'white' } } |
}; |
// The distance of an indentation step. |
FCKConfig.IndentLength = 40 ; |
FCKConfig.IndentUnit = 'px' ; |
// Alternatively, FCKeditor allows the use of CSS classes for block indentation. |
// This overrides the IndentLength/IndentUnit settings. |
FCKConfig.IndentClasses = [] ; |
// [ Left, Center, Right, Justified ] |
FCKConfig.JustifyClasses = [] ; |
// The following value defines which File Browser connector and Quick Upload |
// "uploader" to use. It is valid for the default implementaion and it is here |
// just to make this configuration file cleaner. |
// It is not possible to change this value using an external file or even |
// inline when creating the editor instance. In that cases you must set the |
// values of LinkBrowserURL, ImageBrowserURL and so on. |
// Custom implementations should just ignore it. |
var _FileBrowserLanguage = 'php' ; // asp | aspx | cfm | lasso | perl | php | py |
var _QuickUploadLanguage = 'php' ; // asp | aspx | cfm | lasso | perl | php | py |
// Don't care about the following two lines. It just calculates the correct connector |
// extension to use for the default File Browser (Perl uses "cgi"). |
var _FileBrowserExtension = _FileBrowserLanguage == 'perl' ? 'cgi' : _FileBrowserLanguage ; |
var _QuickUploadExtension = _QuickUploadLanguage == 'perl' ? 'cgi' : _QuickUploadLanguage ; |
FCKConfig.LinkBrowser = true ; |
FCKConfig.LinkBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Connector=' + encodeURIComponent( FCKConfig.BasePath + 'filemanager/connectors/' + _FileBrowserLanguage + '/connector.' + _FileBrowserExtension ) ; |
FCKConfig.LinkBrowserWindowWidth = FCKConfig.ScreenWidth * 0.7 ; // 70% |
FCKConfig.LinkBrowserWindowHeight = FCKConfig.ScreenHeight * 0.7 ; // 70% |
FCKConfig.ImageBrowser = true ; |
FCKConfig.ImageBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Type=Image&Connector=' + encodeURIComponent( FCKConfig.BasePath + 'filemanager/connectors/' + _FileBrowserLanguage + '/connector.' + _FileBrowserExtension ) ; |
FCKConfig.ImageBrowserWindowWidth = FCKConfig.ScreenWidth * 0.7 ; // 70% ; |
FCKConfig.ImageBrowserWindowHeight = FCKConfig.ScreenHeight * 0.7 ; // 70% ; |
FCKConfig.FlashBrowser = true ; |
FCKConfig.FlashBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Type=Flash&Connector=' + encodeURIComponent( FCKConfig.BasePath + 'filemanager/connectors/' + _FileBrowserLanguage + '/connector.' + _FileBrowserExtension ) ; |
FCKConfig.FlashBrowserWindowWidth = FCKConfig.ScreenWidth * 0.7 ; //70% ; |
FCKConfig.FlashBrowserWindowHeight = FCKConfig.ScreenHeight * 0.7 ; //70% ; |
FCKConfig.LinkUpload = true ; |
FCKConfig.LinkUploadURL = FCKConfig.BasePath + 'filemanager/connectors/' + _QuickUploadLanguage + '/upload.' + _QuickUploadExtension ; |
FCKConfig.LinkUploadAllowedExtensions = ".(7z|aiff|asf|avi|bmp|csv|doc|fla|flv|gif|gz|gzip|jpeg|jpg|mid|mov|mp3|mp4|mpc|mpeg|mpg|ods|odt|pdf|png|ppt|pxd|qt|ram|rar|rm|rmi|rmvb|rtf|sdc|sitd|swf|sxc|sxw|tar|tgz|tif|tiff|txt|vsd|wav|wma|wmv|xls|xml|zip)$" ; // empty for all |
FCKConfig.LinkUploadDeniedExtensions = "" ; // empty for no one |
FCKConfig.ImageUpload = true ; |
FCKConfig.ImageUploadURL = FCKConfig.BasePath + 'filemanager/connectors/' + _QuickUploadLanguage + '/upload.' + _QuickUploadExtension + '?Type=Image' ; |
FCKConfig.ImageUploadAllowedExtensions = ".(jpg|gif|jpeg|png|bmp)$" ; // empty for all |
FCKConfig.ImageUploadDeniedExtensions = "" ; // empty for no one |
FCKConfig.FlashUpload = true ; |
FCKConfig.FlashUploadURL = FCKConfig.BasePath + 'filemanager/connectors/' + _QuickUploadLanguage + '/upload.' + _QuickUploadExtension + '?Type=Flash' ; |
FCKConfig.FlashUploadAllowedExtensions = ".(swf|flv)$" ; // empty for all |
FCKConfig.FlashUploadDeniedExtensions = "" ; // empty for no one |
FCKConfig.SmileyPath = FCKConfig.BasePath + 'images/smiley/msn/' ; |
FCKConfig.SmileyImages = ['regular_smile.gif','sad_smile.gif','wink_smile.gif','teeth_smile.gif','confused_smile.gif','tounge_smile.gif','embaressed_smile.gif','omg_smile.gif','whatchutalkingabout_smile.gif','angry_smile.gif','angel_smile.gif','shades_smile.gif','devil_smile.gif','cry_smile.gif','lightbulb.gif','thumbs_down.gif','thumbs_up.gif','heart.gif','broken_heart.gif','kiss.gif','envelope.gif'] ; |
FCKConfig.SmileyColumns = 8 ; |
FCKConfig.SmileyWindowWidth = 320 ; |
FCKConfig.SmileyWindowHeight = 210 ; |
FCKConfig.BackgroundBlockerColor = '#ffffff' ; |
FCKConfig.BackgroundBlockerOpacity = 0.50 ; |
FCKConfig.MsWebBrowserControlCompat = false ; |
FCKConfig.PreventSubmitHandler = false ; |
/tags/v5.0-ouadji/papyrus/applications/afficheur/configuration/affi_configuration.inc.php |
---|
New file |
0,0 → 1,152 |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// +------------------------------------------------------------------------------------------------------+ |
// | PHP version 4.3 | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) | |
// +------------------------------------------------------------------------------------------------------+ |
// | This file is part of Papyrus. | |
// | | |
// | Foobar is free software; you can redistribute it and/or modify | |
// | it under the terms of the GNU General Public License as published by | |
// | the Free Software Foundation; either version 2 of the License, or | |
// | (at your option) any later version. | |
// | | |
// | Foobar is distributed in the hope that it will be useful, | |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
// | GNU General Public License for more details. | |
// | | |
// | You should have received a copy of the GNU General Public License | |
// | along with Foobar; if not, write to the Free Software | |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
// +------------------------------------------------------------------------------------------------------+ |
// CVS : $Id: affi_configuration.inc.php,v 1.14 2007-06-26 13:30:48 jp_milcent Exp $ |
/** |
* Application réalisant l'affichage du contenu stocké dans Papyrus. |
* |
* Les constantes et variables de configuration de l'application Afficheur. |
* |
*@package Afficheur |
*@subpackage Configuration |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.14 $ $Date: 2007-06-26 13:30:48 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTETE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// Chemin des fichiers à inclure. |
/** Chemin vers la bibliothèque PEAR.*/ |
define('AFFI_CHEMIN_BIBLIOTHEQUE_PEAR', ''); |
/** Chemin vers la bibliothèque API.*/ |
define('AFFI_CHEMIN_BIBLIOTHEQUE_API', 'api'.GEN_SEP); |
/** Chemin vers la bibliothèque API : fckeditor.*/ |
define('AFFI_CHEMIN_FCKEDITOR', AFFI_CHEMIN_BIBLIOTHEQUE_API.'fckeditor'.GEN_SEP); |
/** Chemin vers l'application Admin de l'afficheur de Papyrus.*/ |
define('AFFI_CHEMIN_APPLICATION', GEN_CHEMIN_APPLICATION.'afficheur'.GEN_SEP); |
/** Chemin vers le dossier des squelettes de l'application.*/ |
define('AFFI_CHEMIN_SQUELETTE', AFFI_CHEMIN_APPLICATION.'squelettes'.GEN_SEP); |
/** Chemin vers le dossier des styles de l'application.*/ |
define('AFFI_CHEMIN_STYLE', AFFI_CHEMIN_SQUELETTE); |
/** Chaine à utiliser pour l'URL de la règle Freelink.*/ |
define('AFFI_URL_PAPYRUS', PAP_URL.'?menu=%s'); |
/** Utilisation de fckeditor (true).*/ |
$GLOBALS['_AFFI_']['fckeditor']['utilisation'] = true; |
/** Hauteur de fckeditor.*/ |
$GLOBALS['_AFFI_']['fckeditor']['hauteur'] = '400'; |
/** Type de barre d'outil de fckeditor.*/ |
$GLOBALS['_AFFI_']['fckeditor']['barre'] = 'Papyrus'; |
/** Langue de fckeditor.*/ |
$GLOBALS['_AFFI_']['fckeditor']['langue'] = $GLOBALS['_GEN_commun']['i18n']; |
/** Fichier de config personnalisé de fckeditor.*/ |
$base_url = parse_url(PAP_URL); |
$dirname_base_url = dirname($base_url['path']); |
// Suppression double slash pour site interdisant ce type d'url (a confirmer ...) |
// Probleme également avec des sous-domaines (~ree05/papyrus etc.) .... |
$GLOBALS['_AFFI_']['fckeditor']['CustomConfigurationsPath'] = str_replace('//', '/', $dirname_base_url.GEN_SEP.AFFI_CHEMIN_APPLICATION.'configuration'.GEN_SEP.'affi_fckconfig.js'); |
// L'objet PEAR::DB à utiliser pour l'afficheur : |
$GLOBALS['_AFFICHEUR']['objet_pear_db'] =& $GLOBALS['_GEN_commun']['pear_db']; |
// L'identifiant du menu courant : |
if (isset($GLOBALS['_GEN_commun']['traduction_info_menu'])) { |
$GLOBALS['_AFFICHEUR']['menu_courant_id'] = $GLOBALS['_GEN_commun']['traduction_info_menu']->gm_id_menu; |
} else if (isset($GLOBALS['_GEN_commun']['info_menu'])) { |
$GLOBALS['_AFFICHEUR']['menu_courant_id'] = $GLOBALS['_GEN_commun']['info_menu']->gm_id_menu; |
} else { |
$GLOBALS['_AFFICHEUR']['menu_courant_id'] = $GLOBALS['_GEN_commun']['url_menu']; |
} |
// Le jeu de caractère à utiliser pour la page courante : |
$GLOBALS['_AFFICHEUR']['jeu_de_caracteres'] = $GLOBALS['_PAPYRUS_']['page']['jeu_de_caracteres']; |
// Les sites correspodant aux liens interwiki: |
$GLOBALS['_AFFICHEUR']['interwiki_sites'] =& $GLOBALS['_PAPYRUS_']['interwiki_sites']; |
// Les sites correspodant à l'action inclure: |
$GLOBALS['_AFFICHEUR']['inclure_sites'] =& $GLOBALS['_PAPYRUS_']['inclure_sites']; |
// +------------------------------------------------------------------------------------------------------+ |
// | PIED du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.13 2006-04-28 12:41:49 florian |
* corrections erreurs chemin |
* |
* Revision 1.12 2005/08/25 08:59:12 ddelon |
* Integrateur Wikini et administration des Wikini |
* |
* Revision 1.11 2005/08/18 10:20:04 ddelon |
* Integrateur Wikini et Acces PEAR |
* |
* Revision 1.10 2005/07/21 18:11:43 ddelon |
* configuration barre outil fcke |
* |
* Revision 1.9 2005/07/18 08:53:14 ddelon |
* Configuration Fcsk et menage |
* |
* Revision 1.8 2005/07/15 17:10:08 ddelon |
* Configuration Fcsk et menage |
* |
* Revision 1.7 2005/06/03 18:39:30 jpm |
* Ajout de la barre d'outil Papyrus FCKeditor. |
* |
* Revision 1.6 2005/04/25 13:56:19 jpm |
* Ajout de chemin vers les styles. |
* |
* Revision 1.5 2005/04/21 16:46:21 jpm |
* Gestion via Papyrus du XHTML. |
* |
* Revision 1.4 2005/02/23 18:16:49 jpm |
* Changement de l'url de Papyrus pour qu'elle corresponde à l'url courante de Papyrus. |
* |
* Revision 1.3 2005/02/23 17:41:21 jpm |
* Modification de l'initialisation d'une variable. |
* |
* Revision 1.2 2005/02/22 17:55:38 jpm |
* Changement de variable pour la récupération de l'identifiant du menu courant. |
* |
* Revision 1.1 2004/11/26 13:10:20 jpm |
* Utilisation des actions Papyrus et implémentation de la syntaxe Wikini. |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v5.0-ouadji/papyrus/applications/afficheur/afficheur.admin.php |
---|
New file |
0,0 → 1,367 |
<?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.admin.php,v 1.24 2007-06-26 15:38:39 jp_milcent Exp $ |
/** |
* Gestion de la rédaction du contenu pour Papyrus. |
* |
* Contient les fonctions nécessaires à la gestion du contenu de Papyrus. |
* |
*@package Afficheur |
*@subpackage Administration |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.24 $ $Date: 2007-06-26 15:38:39 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// Nous indiquons à Papyrus de ne pas chercher de balises d'applettes dans le contenu généré par l'appli |
$GLOBALS['_PAPYRUS_']['applette']['analyse'] = false; |
// +------------------------------------------------------------------------------------------------------+ |
// | CLASSE | |
// +------------------------------------------------------------------------------------------------------+ |
class Afficheur_Admin { |
var $objet_pear_auth; |
var $objet_pear_db; |
var $objet_pear_url; |
var $sortie_xhtml; |
/** Fonction redigerContenu() - Affiche le formulaire de rédaction |
* |
* |
* @return string Le HTML |
*/ |
function afficherContenuCorps() |
{ |
/** Inclusion du fichier de configuration de cette application.*/ |
require_once GEN_CHEMIN_PAP.'applications'.GEN_SEP.'afficheur'.GEN_SEP.'configuration'.GEN_SEP.'affi_configuration.inc.php'; |
//------------------------------------------------------------------------------------------------------------------- |
// Stockage des styles de l'application |
GEN_stockerStyleExterne('afficheur', AFFI_CHEMIN_STYLE.'afficheur.css'); |
//------------------------------------------------------------------------------------------------------------------- |
// Initialisation des attributs |
$this->objet_pear_auth = $GLOBALS['_GEN_commun']['pear_auth']; |
$this->objet_pear_db = $GLOBALS['_GEN_commun']['pear_db']; |
$this->objet_pear_url = $GLOBALS['_GEN_commun']['url']; |
$this->sortie_xhtml = ''; |
//------------------------------------------------------------------------------------------------------------------- |
// Gestion de l'interface |
if (isset($_POST['afficheur_annuler'])) { |
return false; |
} else if (isset($_POST['afficheur_enregistrer_quitter'])) { |
// Mise à jour du contenu |
$this->_ajouterContenu($this->objet_pear_db, $this->objet_pear_url, $this->objet_pear_auth, $_GET['adme_menu_id'], $_POST); |
return false; |
} else if (isset($_POST['afficheur_enregistrer_rester'])) { |
// Mise à jour du contenu |
$this->_ajouterContenu($this->objet_pear_db, $this->objet_pear_url, $this->objet_pear_auth, $_GET['adme_menu_id'], $_POST); |
$this->sortie_xhtml .= $this->_redigerContenu($this->objet_pear_db, $this->objet_pear_url, $_GET['adme_site_id'], $_GET['adme_menu_id'], $_GET['adme_action']); |
} else if (isset($_POST['afficheur_historique'])) { |
// Réediter une version archivée |
$this->sortie_xhtml .= $this->_reediterContenu($this->objet_pear_db, $this->objet_pear_url, $_GET['adme_site_id'], $_GET['adme_menu_id'], $_GET['adme_action']); |
} else { |
if (isset($_GET['adme_version'])) { |
// Nous avons demandés la réedition d'une version archivées |
$this->sortie_xhtml .= $this->_redigerContenu($this->objet_pear_db, $this->objet_pear_url, $_GET['adme_site_id'], $_GET['adme_menu_id'], $_GET['adme_action'], $_GET['adme_version']); |
} else { |
// Nous affichons le dernier contenu |
$this->sortie_xhtml .= $this->_redigerContenu($this->objet_pear_db, $this->objet_pear_url, $_GET['adme_site_id'], $_GET['adme_menu_id'], $_GET['adme_action']); |
} |
} |
return $this->sortie_xhtml; |
} |
function _redigerContenu($db, $url, $adme_site_id, $adme_menu_id, $adme_action, $adme_contenu_id = '') |
{ |
//------------------------------------------------------------------------------------------------------------------- |
// Initialisation de variable |
$contenu = ''; |
$donnees = array(); |
$url->addQueryString('adme_site_id', $adme_site_id); |
$url->addQueryString('adme_menu_id', $adme_menu_id); |
$url->addQueryString('adme_action', $adme_action); |
if ($adme_contenu_id != '') { |
// Nous réeditons une version archivée |
$ligne_dernier_contenu = GEN_rechercheContenuIdentifiant($db, $adme_contenu_id, DB_FETCHMODE_ASSOC); |
$donnees['reedition_info'] = $ligne_dernier_contenu['gmc_date_modification']; |
} else { |
// Nous affichons la dernière version du contenu |
$ligne_dernier_contenu = GEN_rechercheContenu($db, $adme_menu_id, DB_FETCHMODE_ASSOC); |
} |
//------------------------------------------------------------------------------------------------------------------- |
// Récupération des données |
$donnees['form_url'] = $url->getUrl(); |
// Gestion de FckEditor |
$donnees['fck_editor'] = ''; |
if ($GLOBALS['_AFFI_']['fckeditor']['utilisation']) { |
/** Inclusion du fichier de FCKeditor*/ |
require_once AFFI_CHEMIN_FCKEDITOR.'fckeditor.php'; |
$fckeditor = new FCKeditor('gmc_contenu'); |
if ($ligne_dernier_contenu['gmc_contenu']) { |
$fckeditor->Value = $ligne_dernier_contenu['gmc_contenu']; |
} else { |
if ($contenu) { |
$fckeditor->Value = $contenu; |
} else { |
$fckeditor->Value = ''; |
} |
} |
$fckeditor->Height = $GLOBALS['_AFFI_']['fckeditor']['hauteur']; |
$fckeditor->ToolbarSet = $GLOBALS['_AFFI_']['fckeditor']['barre']; |
$fckeditor->Config['CustomConfigurationsPath']=$GLOBALS['_AFFI_']['fckeditor']['CustomConfigurationsPath']; |
$fckeditor->Config['AutoDetectLanguage'] = false; |
$fckeditor->Config['DefaultLanguage'] = $GLOBALS['_AFFI_']['fckeditor']['langue']; |
$fckeditor->BasePath = AFFI_CHEMIN_FCKEDITOR; |
if ($fckeditor->IsCompatible()) { |
$donnees['fck_editor'] = $fckeditor->CreateHtml(); |
} |
} |
// Identifiant du menu |
$donnees['gmc_ce_menu'] = $adme_menu_id; |
// Type de contenu |
// Par défaut c'est du XHTML (donc 1) |
$donnees['gmc_ce_type_contenu'] = 1; |
if (isset($ligne_dernier_contenu['gmc_ce_type_contenu'])) { |
$donnees['gmc_ce_type_contenu'] = $ligne_dernier_contenu['gmc_ce_type_contenu']; |
} |
$squelette = AFFI_CHEMIN_SQUELETTE.'formulaire.tpl.html'; |
return $this->_genererContenu($squelette, $donnees); |
} |
function _reediterContenu($db, $url, $adme_site_id, $adme_menu_id, $adme_action) |
{ |
//------------------------------------------------------------------------------------------------------------------- |
// Initialisation de variable |
$contenu = ''; |
$donnees = array(); |
$url->addQueryString('adme_site_id', $adme_site_id); |
$url->addQueryString('adme_menu_id', $adme_menu_id); |
$url->addQueryString('adme_action', $adme_action); |
$donnees['archives'] = GEN_lireContenuMenuHistorique(&$db, $adme_menu_id); |
foreach ($donnees['archives'] as $cle => $archive) { |
$url->addQueryString('adme_version', $archive->gmc_id_contenu); |
$donnees['archives'][$cle]->url = $url->getURL(); |
$url->removeQueryString('adme_version'); |
} |
// print_r($donnees['archives']); |
$squelette = AFFI_CHEMIN_SQUELETTE.'historique.tpl.html'; |
return $this->_genererContenu($squelette, $donnees); |
} |
/** Méthode ajouterContenu() - Enregistre les infos du formulaire de saisie d'un menu |
* |
* |
* @return void les données sont enregistrées dans la base de données. |
*/ |
function _ajouterContenu($db, $url, $auth, $adme_menu_id, $tab_valeur) |
{ |
//------------------------------------------------------------------------------------------------------------------- |
// Récupération des informations du contenu concerné. |
$ligne_menu = GEN_lireInfoMenu($db, $adme_menu_id, DB_FETCHMODE_ASSOC); |
if ($ligne_menu == false) { |
die('ERREUR Papyrus Administrateur de Menus: impossible de lire les infos du menu.<br />'. |
'Idenitifiant du menu n° : '. $adme_menu_id .'<br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br />'); |
} |
if ((isset($tab_valeur['gmc_ce_menu']) && $tab_valeur['gmc_ce_menu']!='') && (isset($tab_valeur['gmc_ce_type_contenu_table']) && $tab_valeur['gmc_ce_type_contenu_table']!='')) { |
//------------------------------------------------------------------------------------------------------------------- |
// Mise à jour de l'ancien contenu du menu |
$requete = 'UPDATE gen_menu_contenu SET '. |
'gmc_bool_dernier = 0 '. |
'WHERE gmc_ce_menu = '.$tab_valeur['gmc_ce_menu'] . ' '. |
'AND gmc_ce_type_contenu = '. $tab_valeur['gmc_ce_type_contenu_table']. ' '; |
$result = $db->query($requete); |
(DB::isError($result)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $result->getMessage(), $requete)) : ''; |
} |
//------------------------------------------------------------------------------------------------------------------- |
// Obtention d'un nouvel identifiant de contenu |
$nouveau_id_contenu = SQL_obtenirNouveauId($db, 'gen_menu_contenu', 'gmc_id_contenu'); |
//------------------------------------------------------------------------------------------------------------------- |
// Ajout du nouveau contenu pour ce menu |
$requete = 'INSERT INTO gen_menu_contenu SET '. |
'gmc_id_contenu = '.$nouveau_id_contenu.', '. |
'gmc_ce_admin = '.$auth->getAuthData('ga_id_administrateur').', '. |
'gmc_ce_menu = '.$adme_menu_id.', '. |
'gmc_ce_type_contenu = '.$tab_valeur['gmc_ce_type_contenu'].', '. |
'gmc_contenu = "'.$tab_valeur['gmc_contenu'].'", '. |
'gmc_ce_type_modification = '.$tab_valeur['gmc_ce_type_modification'].', '. |
'gmc_resume_modification = "'.$tab_valeur['gmc_resume_modification'].'", '. |
'gmc_date_modification = "'.date('Y-m-d H:i:s').'", '. |
'gmc_bool_dernier = 1'; |
$result = $db->query($requete); |
(DB::isError($result)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $result->getMessage(), $requete)) : ''; |
} |
function _genererContenu($squelette, $donnees) |
{ |
//+------------------------------------------------------------------------------------------------------------+ |
// Extrait les variables et les ajoutes à l'espace de noms local |
// Gestion des squelettes |
extract($donnees); |
// Démarre le buffer |
ob_start(); |
// Inclusion du fichier |
include($squelette); |
// Récupérer le contenu du buffer |
$contenu = ob_get_contents(); |
// Arrête et détruit le buffer |
ob_end_clean(); |
return $contenu; |
} |
}// Fin de la classe |
// +------------------------------------------------------------------------------------------------------+ |
// | PIED du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.23 2007-06-26 13:30:48 jp_milcent |
* Suppression de l'utilisation de Quickform. |
* Utilisation de squellette PHP. |
* |
* Revision 1.22 2007-01-03 11:28:34 ddelon |
* correction bug multilinguisme (portage bug livraison) |
* |
* Revision 1.21 2006/12/01 16:59:45 florian |
* Ajout d'une variable parametrant la recherche de balise d'applette dans le contenu généré par l'appli. |
* |
* Revision 1.20 2006/12/01 11:23:23 ddelon |
* Suppression mode wiki afficheur |
* |
* Revision 1.19 2006/10/16 15:49:07 ddelon |
* Refactorisation code mulitlinguisme et gestion menu invisibles |
* |
* Revision 1.18 2006/04/28 12:41:49 florian |
* corrections erreurs chemin |
* |
* Revision 1.17 2006/03/27 13:42:32 ddelon |
* the last but not the least |
* |
* Revision 1.16 2006/03/27 11:21:49 ddelon |
* Still some pb |
* |
* Revision 1.15 2006/03/27 10:14:43 ddelon |
* Still some pb |
* |
* Revision 1.11 2006/03/13 22:27:23 ddelon |
* bug afficheur multilinguisme |
* |
* Revision 1.10 2006/03/13 22:12:20 ddelon |
* bug afficheur multilinguisme |
* |
* Revision 1.9 2006/03/13 21:00:20 ddelon |
* Suppression messages d'erreur multilinguisme |
* |
* Revision 1.8 2006/03/02 10:49:49 ddelon |
* Fusion branche multilinguisme dans branche principale |
* |
* Revision 1.7.2.1 2006/02/28 14:02:11 ddelon |
* Finition multilinguisme |
* |
* Revision 1.7 2005/07/18 08:53:14 ddelon |
* Configuration Fcsk et menage |
* |
* Revision 1.6 2005/07/15 17:10:08 ddelon |
* Configuration Fcsk et menage |
* |
* Revision 1.5 2005/06/03 18:39:30 jpm |
* Ajout de la barre d'outil Papyrus FCKeditor. |
* |
* Revision 1.4 2005/05/31 13:43:57 jpm |
* Ajout d'un bouton pour remplacer les entités html. |
* |
* Revision 1.3 2005/04/25 13:56:31 jpm |
* Ajout de styles. |
* |
* Revision 1.2 2005/02/28 10:34:15 jpm |
* Changement de nom Genesia en Papyrus. |
* |
* Revision 1.1 2004/11/09 17:53:49 jpm |
* Interface d'administration de l'application afficheur. |
* |
* Revision 1.4 2004/11/08 17:40:33 jpm |
* Mise en conformité avec la convention de codage. |
* Légères corrections. |
* |
* Revision 1.3 2004/09/23 17:45:13 jpm |
* Amélioration de la gestion des liens annuler et du selecteur de sites. |
* |
* Revision 1.2 2004/07/06 17:07:37 jpm |
* Modification de la documentation pour une mailleur analyse par PhpDocumentor. |
* |
* Revision 1.1 2004/06/16 15:04:32 jpm |
* Changement de nom de Génésia en Papyrus. |
* Changement de l'arborescence. |
* |
* Revision 1.5 2004/05/07 16:32:27 jpm |
* Modification des commentaires. |
* |
* Revision 1.4 2004/05/07 07:23:53 jpm |
* Amélioration du code, des commentaires et correction de bogues. |
* |
* Revision 1.3 2004/05/04 16:27:55 jpm |
* Amélioration gestion du déplacement des menus. |
* |
* Revision 1.2 2004/05/03 14:51:59 jpm |
* Normalisation du nom d'une fonction et ajout de la gestion d'une erreur. |
* |
* Revision 1.1 2004/04/30 16:21:30 jpm |
* Ajout de la rédaction de contenu. |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |