/tags/v4.0-djer/papyrus/langues/pap_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: pap_langue_fr.inc.php,v 1.1 2004-10-21 18:16:50 jpm Exp $ |
/** |
* Traduction de Papyrus |
* |
* Traduction française. |
* |
*@package Papyrus |
*@subpackage Traduction |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.1 $ $Date: 2004-10-21 18:16:50 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// +------------------------------------------------------------------------------------------------------+ |
// | CONSTANTE DE LANGUES | |
// +------------------------------------------------------------------------------------------------------+ |
// Débogage : |
/** Texte d'entête du message d'une erreur (txt ou XHTML).*/ |
define('PAP_LANG_DEBOG_TETE', 'ERREUR Papyrus : '); |
/** Texte de pied du message d'une erreur (txt ou XHTML).*/ |
define('PAP_LANG_DEBOG_PIED', '.'); |
/** Texte du niveau d'erreur d'un message d'erreur (txt ou XHTML).*/ |
define('PAP_LANG_DEBOG_NIVEAU', 'Niveau d\'erreur : '); |
/** Texte précédent le nom du fichier d'un message d'erreur (txt ou XHTML).*/ |
define('PAP_LANG_DEBOG_FICHIER', 'Nom du fichier : '); |
/** Texte précédent le n° de la ligne d'un message d'erreur (txt ou XHTML).*/ |
define('PAP_LANG_DEBOG_LIGNE', 'N° de ligne : '); |
/** Texte précédent le contexte d'un message d'erreur (txt ou XHTML).*/ |
define('PAP_LANG_DEBOG_CONTEXTE', 'Contexte d\'erreur : '); |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v4.0-djer/papyrus/langues/pap_langue_fr-FR.inc.php |
---|
New file |
0,0 → 1,64 |
<?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: pap_langue_fr-FR.inc.php,v 1.1 2004-10-21 18:16:50 jpm Exp $ |
/** |
* Traduction de Papyrus |
* |
* Traduction française-France. |
* |
*@package Papyrus |
*@subpackage Traduction |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.1 $ $Date: 2004-10-21 18:16:50 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// +------------------------------------------------------------------------------------------------------+ |
// | CONSTANTE DE LANGUES | |
// +------------------------------------------------------------------------------------------------------+ |
// +------------------------------------------------------------------------------------------------------+ |
// | PIED du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/** Inclusion de la traduction principale pour la langue française de Papyrus.*/ |
require_once GEN_CHEMIN_LANGUE.'pap_langue_fr.inc.php'; |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v4.0-djer/papyrus/pap_envoi.inc.php |
---|
New file |
0,0 → 1,102 |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// +------------------------------------------------------------------------------------------------------+ |
// | PHP version 4.1 | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) | |
// +------------------------------------------------------------------------------------------------------+ |
// | This library is free software; you can redistribute it and/or | |
// | modify it under the terms of the GNU Lesser General Public | |
// | License as published by the Free Software Foundation; either | |
// | version 2.1 of the License, or (at your option) any later version. | |
// | | |
// | This library is distributed in the hope that it will be useful, | |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
// | Lesser General Public License for more details. | |
// | | |
// | You should have received a copy of the GNU Lesser General Public | |
// | License along with this library; if not, write to the Free Software | |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
// +------------------------------------------------------------------------------------------------------+ |
// CVS : $Id: pap_envoi.inc.php,v 1.11 2007-06-25 15:44:32 jp_milcent Exp $ |
/** |
* Gestion de l'envoie des pages à afficher. |
* |
* Ce fichier envoi les données en les compressant si possible. |
* |
*@package Papyrus |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Laurent COUDOUNEAU <lc@gsite.org> |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.11 $ $Date: 2007-06-25 15:44:32 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
function pap_compress_sortie($output) { |
return gzencode($output); |
} |
// Nous vérifions si le navigateur supporte la compression, HTTP_ACCEPT_ENCODING |
if (strstr ($HTTP_SERVER_VARS['HTTP_ACCEPT_ENCODING'], 'gzip') && function_exists('gzencode') ) { |
// Nous mettons en buffer la sortie et nous demandons l'appel de la fonction de compression (voir ci-dessus) |
ob_start ('pap_compress_sortie'); |
// Nous prévenons le navigateur que le contenu est compressé avec gzip |
header ('Content-Encoding: gzip'); |
} |
echo($GLOBALS['_GEN_commun']['sortie']); |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.10 2007-04-13 09:41:09 neiluj |
* réparration cvs |
* |
* Revision 1.9 2006/06/08 09:00:06 ddelon |
* Bug affichage wikini |
* |
* Revision 1.8 2006/05/10 16:02:49 ddelon |
* Finition multilinguise et schizo flo |
* |
* Revision 1.7 2006/01/12 16:37:01 ddelon |
* compression N**t*n |
* |
* Revision 1.6 2005/12/09 16:01:53 ddelon |
* retablissement compression |
* |
* Revision 1.5 2005/11/25 14:33:08 ddelon |
* desactivation compression |
* |
* Revision 1.4 2005/02/28 11:20:42 jpm |
* Modification des auteurs. |
* |
* Revision 1.3 2004/10/15 18:29:19 jpm |
* Modif pour gérer l'appli installateur de Papyrus. |
* |
* Revision 1.2 2004/06/16 15:07:56 jpm |
* Correction d'un chemin et nom de fichier. |
* |
* Revision 1.1 2004/06/16 08:11:37 jpm |
* Changement de nom de Génésia en Papyrus. |
* Changement de l'arborescence. |
* |
* Revision 1.3 2004/04/28 12:04:31 jpm |
* Changement du modèle de la base de données. |
* |
* Revision 1.2 2004/04/22 08:31:43 jpm |
* Transformation de $GS_GLOBAL en $_GEN_commun. |
* |
* Revision 1.1 2004/04/09 16:19:23 jpm |
* Ajout du fichier indépendant d'envoi avec gestion des tables i18n. |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v4.0-djer/papyrus/pap_verification.inc.php |
---|
New file |
0,0 → 1,137 |
<?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: pap_verification.inc.php,v 1.9 2007-04-13 09:41:09 neiluj Exp $ |
/** |
* Réalisation de la vérification des besoins de Papyrus. |
* |
* Ce fichier vérifie la présence de certaines extensions nécessaires à Papyrus. |
* |
*@package Papyrus |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Laurent COUDOUNEAU <lc@gsite.org> |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.9 $ $Date: 2007-04-13 09:41:09 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// +------------------------------------------------------------------------------------------------------+ |
// Initialisation des variables globales de gestion d'erreur et de l'installation: |
$_GEN_commun['erreur_instal_afaire'] = false; |
// +------------------------------------------------------------------------------------------------------+ |
// Gestion des fichiers de configuration et de l'installation |
$chemin_fichier_config_defaut = 'papyrus/configuration/pap_config.inc.php'; |
/** Inclusion du fichier de configuration avancée |
** Ajout du fichier de configuration avancée de de Papyrus contenant les chemins des fichiers.*/ |
include_once 'configuration/pap_config_avancee.inc.php'; |
// Gestion du fichier de config par défaut permettant de savoir si l'installation a été faite ou pas |
if (file_exists($chemin_fichier_config_defaut)) { |
/** Inclusion du fichier de configuration de base contenant la connexion à la base de donnée de Papyrus.*/ |
include_once $chemin_fichier_config_defaut; |
// Nous vérifions que nous avons pas à faire à une mise à jour de Papyrus |
if (GEN_VERSION != PAP_VERSION) { |
$_GEN_commun['erreur_instal_afaire'] = true; |
} |
// Initialisation de la variable stockant les infos de débogage. |
if (GEN_DEBOGAGE) { |
$_GEN_commun['debogage_info'] = ''; |
} |
// Niveau d'erreur pour le code PHP de Papyrus |
// Inutile car shunté par set_error_handler du gestionnaire d'erreur |
error_reporting(GEN_DEBOGAGE_NIVEAU); |
} else { |
$_GEN_commun['erreur_instal_afaire'] = true; |
} |
// +------------------------------------------------------------------------------------------------------+ |
// | PIED du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.8 2006/04/28 12:41:49 florian |
* corrections erreurs chemin |
* |
* Revision 1.7 2006/03/15 09:30:50 florian |
* suppression des echos, qui entrainaient des problemes d'affichages |
* |
* Revision 1.6 2005/09/20 17:01:22 ddelon |
* php5 et bugs divers |
* |
* Revision 1.5 2005/02/28 11:20:42 jpm |
* Modification des auteurs. |
* |
* Revision 1.4 2004/10/25 16:28:47 jpm |
* Ajout de nouvelles balises Papyrus, ajout vérification mise à jour de Papyrus, meilleure gestion des sessions... |
* |
* Revision 1.3 2004/10/22 17:23:59 jpm |
* Début amélioration de la gestion des erreurs et de l'installation. |
* |
* Revision 1.2 2004/10/15 18:29:19 jpm |
* Modif pour gérer l'appli installateur de Papyrus. |
* |
* Revision 1.1 2004/06/16 08:14:23 jpm |
* Changement de nom de Génésia en Papyrus. |
* Changement de l'arborescence. |
* |
* Revision 1.7 2004/05/10 12:24:24 jpm |
* Configuration de la gestion des niveaux d'erreur. |
* |
* Revision 1.6 2004/04/28 12:04:31 jpm |
* Changement du modèle de la base de données. |
* |
* Revision 1.5 2004/04/23 09:24:47 jpm |
* Suppression recherche ip et port. |
* |
* Revision 1.4 2004/04/22 08:23:47 jpm |
* Transformation de $GS_GLOBAL en $_GEN_commun. |
* |
* Revision 1.3 2004/04/09 16:21:23 jpm |
* Extraction de la gestion de la connexion à la BdD transféré dans genesia.php. |
* |
* Revision 1.2 2004/04/08 14:13:02 jpm |
* Suppression de code inutile et renomage de fonctions. |
* |
* Revision 1.1 2004/04/08 12:29:00 jpm |
* Ajout du code réalisant les vérification nécessaires au fonctionnement de Génésia. |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v4.0-djer/papyrus/applettes/lien/configuration/lien_configuration.inc.php |
---|
New file |
0,0 → 1,89 |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// +------------------------------------------------------------------------------------------------------+ |
// | PHP version 5.1 | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (C) 2006 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: lien_configuration.inc.php,v 1.1 2006-12-08 20:08:59 jp_milcent Exp $ |
/** |
* papyrus |
* |
* Description... |
* |
*@package Applette |
*@subpackage Lien |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2006 |
*@version $Revision: 1.1 $ $Date: 2006-12-08 20:08:59 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
$GLOBALS['_LIEN_'] = array(); |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/** Constante stockant la valeur de la langue par défaut pour l'applette LIEN.*/ |
define('LIEN_I18N_DEFAUT', GEN_I18N_ID_DEFAUT); |
// Chemin des fichiers à inclure. |
/** Chemin vers la bibliothèque PEAR.*/ |
define('LIEN_CHEMIN_BIBLIOTHEQUE_PEAR', PAP_CHEMIN_API_PEAR); |
// Chemin vers les dossiers de l'applette |
/** Chemin vers l'applette Lien de Papyrus.*/ |
define('LIEN_CHEMIN_APPLETTE', GEN_CHEMIN_APPLETTE.'lien'.GEN_SEP); |
/** Chemin vers les fichiers de traduction de l'applette Lien de Papyrus.*/ |
define('LIEN_CHEMIN_LANGUE', LIEN_CHEMIN_APPLETTE.'langues'.GEN_SEP); |
/** Chemin vers les fichiers de la bibliotheque de l'applette Lien de Papyrus.*/ |
define('LIEN_CHEMIN_BIBLIO', LIEN_CHEMIN_APPLETTE.'bibliotheque'.GEN_SEP); |
/** Chemin vers les fichiers squelettes de l'applette Lien de Papyrus.*/ |
define('LIEN_CHEMIN_SQUELETTE', LIEN_CHEMIN_APPLETTE.'squelettes'.GEN_SEP); |
// Configuration du rendu |
/** Nom du fichier de squelette à utiliser pour la liste des pages.*/ |
define('LIEN_SQUELETTE_LISTE', 'lien.tpl.html'); |
// +------------------------------------------------------------------------------------------------------+ |
// | PIED du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v4.0-djer/papyrus/applettes/lien/lien.php |
---|
New file |
0,0 → 1,188 |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// +------------------------------------------------------------------------------------------------------+ |
// | PHP version 5.1 | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (C) 1999-2006 Tela Botanica (accueil@tela-botanica.org) | |
// +------------------------------------------------------------------------------------------------------+ |
// | This file is part of papyrus_bp. | |
// | | |
// | 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: lien.php,v 1.2 2008-11-14 11:22:24 jp_milcent Exp $ |
/** |
* papyrus_bp - lien.php |
* |
* Description : |
* |
*@package papyrus_bp |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 1999-2006 |
*@version $Revision: 1.2 $ $Date: 2008-11-14 11:22:24 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
$GLOBALS['_GEN_commun']['info_applette_nom_fonction'] = 'afficherLien'; |
$GLOBALS['_GEN_commun']['info_applette_balise'] = '\{\{[Ll]ien(?:\s*(?:((?:menu|site)="[^"]+")|(titre="[^"]+")|))+\s*\}\}'; |
// -------------------------------------------------------------------------------------------------------- |
/** Inclusion du fichier de configuration de cette application.*/ |
require_once GEN_CHEMIN_APPLETTE.'lien'.GEN_SEP.'configuration'.GEN_SEP.'lien_configuration.inc.php'; |
// Inclusion des fichiers de traduction de l'applette LIEN de Papyrus |
if (file_exists(LIEN_CHEMIN_LANGUE.'lien_langue_'.$GLOBALS['_GEN_commun']['i18n'].'.inc.php')) { |
/** Inclusion du fichier de traduction suite à la transaction avec le navigateur.*/ |
require_once LIEN_CHEMIN_LANGUE.'lien_langue_'.$GLOBALS['_GEN_commun']['i18n'].'.inc.php'; |
} else { |
/** Inclusion du fichier de traduction par défaut.*/ |
require_once LIEN_CHEMIN_LANGUE.'lien_langue_'.LIEN_I18N_DEFAUT.'.inc.php'; |
} |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/** Fonction afficherLien() - Retourne le lien d'un menu ou d'un site. |
* |
* Cette fonction retourne un lien vers un menu ou un site. Le lien est créé dynamiquement et donc toujours à jour. |
* Il est possible d'utiliser les code numérique ou alphanumérique. |
* |
* @param array contient les arguments de la fonction. |
* @param array tableau global de Papyrus. |
* @return string XHTML le lien. |
*/ |
function afficherLien($tab_applette_arguments, $_GEN_commun) |
{ |
// Initialisation des variables |
$sortie = ''; |
$niveau = null; |
$GLOBALS['_LIEN_']['url'] = ''; |
$GLOBALS['_LIEN_']['titre'] = LIEN_LG_ERREUR_TITRE; |
$GLOBALS['_LIEN_']['erreurs'] = array(); |
//+----------------------------------------------------------------------------------------------------------------+ |
// Gestion des arguments |
$tab_arguments = $tab_applette_arguments; |
unset($tab_arguments[0]); |
foreach($tab_arguments as $argument) { |
$tab_parametres = explode('=', $argument); |
$options[$tab_parametres[0]] = trim($tab_parametres[1], '"'); |
} |
//+----------------------------------------------------------------------------------------------------------------+ |
// Gestion des erreurs de paramètrage |
if (!isset($options['menu']) && !isset($options['site']) ) { |
$GLOBALS['_LIEN_']['erreur'] = LIEN_LG_ERREUR_SITE_MENU; |
} else { |
if (isset($options['menu'])) { |
$niveau = 'menu'; |
$identifiant = $options['menu']; |
} else if (isset($options['site'])) { |
$niveau = 'site'; |
$identifiant = $options['site']; |
} |
} |
//+----------------------------------------------------------------------------------------------------------------+ |
// Récupération des données |
$bdd =& $GLOBALS['_GEN_commun']['pear_db']; |
$id_langue = $GLOBALS['_GEN_commun']['i18n']; //identifiant de la langue choisie |
if (isset($id_langue) && ($id_langue != '')) { |
$langue_url = $id_langue; |
} else { |
$langue_url = GEN_I18N_ID_DEFAUT; |
} |
$une_url =& new Pap_URL(); |
// Les sites |
if ($niveau == "site") { |
if (preg_match('/^[0-9]+$/', $identifiant)) { |
$aso_site = GEN_lireInfoSiteI18nCodeAlpha($bdd, GEN_retournerSiteCodeAlpha($bdd, $identifiant), $langue_url, DB_FETCHMODE_ASSOC); |
} else { |
$aso_site = GEN_lireInfoSiteI18nCodeAlpha($bdd, $identifiant, $langue_url, DB_FETCHMODE_ASSOC); |
} |
if (isset($options['titre'])) { |
$GLOBALS['_LIEN_']['titre'] = $options['titre']; |
} else { |
if (!empty($aso_site['gs_titre'])) { |
$GLOBALS['_LIEN_']['titre'] = $aso_site['gs_titre']; |
} else { |
$GLOBALS['_LIEN_']['titre'] = $aso_site['gs_nom']; |
} |
} |
$une_url->setUrlType('SITE'); |
$une_url->setId($aso_site['gs_id_site']); |
} |
// Les menus |
if ($niveau == "menu") { |
if (preg_match('/^[0-9]+$/', $identifiant)) { |
$aso_menu = GEN_lireInfoMenu($bdd, GEN_retournerIdMenuParCodeNum($bdd, $identifiant), DB_FETCHMODE_ASSOC); |
} else { |
$aso_menu = GEN_lireInfoMenu($bdd, GEN_retournerIdMenuParCodeNum($bdd, GEN_retournerMenuCodeNum($bdd, $identifiant)), DB_FETCHMODE_ASSOC); |
} |
if (isset($options['titre'])) { |
$GLOBALS['_LIEN_']['titre'] = $options['titre']; |
} else { |
if (!empty($aso_menu['gm_titre'])) { |
$GLOBALS['_LIEN_']['titre'] = $aso_menu['gm_titre']; |
} elseif (!empty($aso_menu['gm_titre_alternatif'])) { |
$GLOBALS['_LIEN_']['titre'] = $aso_menu['gm_titre_alternatif']; |
} elseif (!empty($aso_menu['gm_nom'])) { |
$GLOBALS['_LIEN_']['titre'] = $aso_menu['gm_nom']; |
} |
} |
$une_url->setId($aso_menu['gm_id_menu']); |
} |
if ($langue_url != GEN_I18N_ID_DEFAUT) { |
$une_url->addQueryString(GEN_URL_CLE_I18N, $langue_url); |
} |
$GLOBALS['_LIEN_']['url'] = $une_url->getURL(); |
$GLOBALS['_LIEN_']['titre'] = htmlentities($GLOBALS['_LIEN_']['titre']); |
//+----------------------------------------------------------------------------------------------------------------+ |
// Extrait les variables et les ajoutes à l'espace de noms local |
// Gestion des squelettes |
extract($GLOBALS['_LIEN_']); |
// Démarre le buffer |
ob_start(); |
// Inclusion du fichier |
include(LIEN_CHEMIN_SQUELETTE.LIEN_SQUELETTE_LISTE); |
// Récupérer le contenu du buffer |
$sortie = ob_get_contents(); |
// Arrête et détruit le buffer |
ob_end_clean(); |
//+----------------------------------------------------------------------------------------------------------------+ |
// Sortie |
return $sortie; |
} |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.1 2006-12-08 20:08:59 jp_milcent |
* Ajout de l'apllette Lien. |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v4.0-djer/papyrus/applettes/lien/langues/lien_langue_fr.inc.php |
---|
New file |
0,0 → 1,74 |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// +------------------------------------------------------------------------------------------------------+ |
// | PHP version 5.1 | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (C) 2006 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: lien_langue_fr.inc.php,v 1.1 2006-12-08 20:08:59 jp_milcent Exp $ |
/** |
* papyrus |
* |
* Description... |
* |
*@package Applette |
*@subpackage Lien |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2006 |
*@version $Revision: 1.1 $ $Date: 2006-12-08 20:08:59 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/** Texte affiché quand le paramètre "menu" ou "site" est abscent.*/ |
define('LIEN_LG_ERREUR_SITE_MENU', "Applette LIEN : le paramètre 'site' ou 'menu' est obligatoire dans '%s' !"); |
/** Texte affiché quand aucun titre n'est trouvé.*/ |
define('LIEN_LG_ERREUR_TITRE', "page sans nom"); |
// +------------------------------------------------------------------------------------------------------+ |
// | PIED du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v4.0-djer/papyrus/applettes/lien/squelettes/lien.tpl.html |
---|
New file |
0,0 → 1,9 |
<?php if ($erreurs) : ?> |
<!-- LIEN - DEBUT --> |
<?php foreach ($erreurs as $erreur) : ?> |
<p class="pap_erreur"><?=$erreur;?></p> |
<?php endforeach; ?> |
<!-- LIEN - FIN --> |
<?php else : ?> |
<a href="<?=$url;?>"><?=$titre;?></a> |
<?php endif; ?> |
/tags/v4.0-djer/papyrus/applettes/redirection/redirection.php |
---|
New file |
0,0 → 1,138 |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// +------------------------------------------------------------------------------------------------------+ |
// | PHP version 5.1 | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (C) 1999-2006 Tela Botanica (accueil@tela-botanica.org) | |
// +------------------------------------------------------------------------------------------------------+ |
// | This file is part of papyrus_bp. | |
// | | |
// | 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: redirection.php,v 1.2 2007-12-07 10:08:43 alexandre_tb Exp $ |
/** |
* papyrus_bp - redirection.php |
* |
* Description : |
* |
*@package papyrus_bp |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 1999-2006 |
*@version $Revision: 1.2 $ $Date: 2007-12-07 10:08:43 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
$GLOBALS['_GEN_commun']['info_applette_nom_fonction'] = 'lancerRedirection'; |
$GLOBALS['_GEN_commun']['info_applette_balise'] = '\{\{[Rr]edirection'. |
'(?:\s*'. |
'(?:'. |
'(url="[^"]*")|'. |
')'. |
')+'. |
'\s*\}\}'; |
// -------------------------------------------------------------------------------------------------------- |
/** Inclusion du fichier de configuration de cette application.*/ |
require_once GEN_CHEMIN_APPLETTE.'redirection'.GEN_SEP.'configuration'.GEN_SEP.'redi_configuration.inc.php'; |
// Inclusion des fichiers de traduction de l'applette REDI de Papyrus |
if (file_exists(REDI_CHEMIN_LANGUE.'redi_langue_'.$GLOBALS['_GEN_commun']['i18n'].'.inc.php')) { |
/** Inclusion du fichier de traduction suite à la transaction avec le navigateur.*/ |
require_once REDI_CHEMIN_LANGUE.'redi_langue_'.$GLOBALS['_GEN_commun']['i18n'].'.inc.php'; |
} else { |
/** Inclusion du fichier de traduction par défaut.*/ |
require_once REDI_CHEMIN_LANGUE.'redi_langue_'.REDI_I18N_DEFAUT.'.inc.php'; |
} |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/** Fonction lancerRedirection() - Redirige vers une nouvelle URL. |
* |
* Cette fonction redirige l'utilisateur vers une nouvelle url. |
* |
* @param array contient les arguments de la fonction. |
* @param array tableau global de Papyrus. |
* @return null on est redirigé. |
*/ |
function lancerRedirection($tab_applette_arguments, $_GEN_commun) |
{ |
// Initialisation des variables |
$sortie = ''; |
$GLOBALS['_REDIRECTION_']['erreurs'] = array(); |
//+----------------------------------------------------------------------------------------------------------------+ |
// Gestion des arguments |
$balise = $tab_applette_arguments[0]; |
$tab_arguments = $tab_applette_arguments; |
unset($tab_arguments[0]); |
foreach($tab_arguments as $argument) { |
if ($argument != '') { |
$tab_parametres = explode('=', $argument,2); |
$options[$tab_parametres[0]] = trim($tab_parametres[1], '"'); |
} |
} |
//+----------------------------------------------------------------------------------------------------------------+ |
// Gestion des erreurs de paramètrage |
if (!isset($options['url'])) { |
$GLOBALS['_REDIRECTION_']['erreurs'][] = sprintf(REDI_LG_ERREUR_URL, $balise); |
} |
if (isset($options['url']) && $options['url'] == '') { |
$GLOBALS['_REDIRECTION_']['erreurs'][] = sprintf(REDI_LG_ERREUR_URL_VIDE, $balise); |
} |
//+----------------------------------------------------------------------------------------------------------------+ |
// Redirection |
if (count($GLOBALS['_REDIRECTION_']['erreurs']) == 0) { |
$options['url'] = preg_replace('/&/', '&', $options['url']); |
header('Location: '.$options['url']); |
exit(); |
} else { |
//+----------------------------------------------------------------------------------------------------------------+ |
// Extrait les variables et les ajoutes à l'espace de noms local |
// Gestion des squelettes |
extract($GLOBALS['_REDIRECTION_']); |
// Démarre le buffer |
ob_start(); |
// Inclusion du fichier |
include(REDI_CHEMIN_SQUELETTE.REDI_SQUELETTE_PRINCIPAL); |
// Récupérer le contenu du buffer |
$sortie = ob_get_contents(); |
// Arrête et détruit le buffer |
ob_end_clean(); |
//+----------------------------------------------------------------------------------------------------------------+ |
// Sortie |
return $sortie; |
} |
} |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.1 2006-12-13 10:52:30 jp_milcent |
* Ajout de l'applette Rediection. |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v4.0-djer/papyrus/applettes/redirection/langues/redi_langue_fr.inc.php |
---|
New file |
0,0 → 1,58 |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// +------------------------------------------------------------------------------------------------------+ |
// | PHP version 5.1 | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (C) 1999-2006 Tela Botanica (accueil@tela-botanica.org) | |
// +------------------------------------------------------------------------------------------------------+ |
// | This file is part of papyrus_bp. | |
// | | |
// | 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: redi_langue_fr.inc.php,v 1.1 2006-12-13 10:52:30 jp_milcent Exp $ |
/** |
* papyrus_bp - redi_langue_fr.inc.php |
* |
* Description : |
* |
*@package papyrus_bp |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 1999-2006 |
*@version $Revision: 1.1 $ $Date: 2006-12-13 10:52:30 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/** Texte affiché quand le paramètre "url" est abscent.*/ |
define('REDI_LG_ERREUR_URL', "Applette REDIRECTION : le paramètre 'url' est obligatoire dans %s !"); |
/** Texte affiché quand le paramètre "url" est vide.*/ |
define('REDI_LG_ERREUR_URL_VIDE', "Applette REDIRECTION : le paramètre 'url' doit être renseigné dans %s !"); |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v4.0-djer/papyrus/applettes/redirection/squelettes/redi_erreur.tpl.html |
---|
New file |
0,0 → 1,7 |
<!-- REDIRECTION - DEBUT --> |
<?php if ($erreurs) : ?> |
<?php foreach ($erreurs as $erreur) : ?> |
<p class="pap_erreur"><?=$erreur;?></p> |
<?php endforeach; ?> |
<?php endif; ?> |
<!-- REDIRECTION - FIN --> |
/tags/v4.0-djer/papyrus/applettes/redirection/configuration/redi_configuration.inc.php |
---|
New file |
0,0 → 1,69 |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// +------------------------------------------------------------------------------------------------------+ |
// | PHP version 5.1 | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (C) 1999-2006 Tela Botanica (accueil@tela-botanica.org) | |
// +------------------------------------------------------------------------------------------------------+ |
// | This file is part of papyrus_bp. | |
// | | |
// | 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: redi_configuration.inc.php,v 1.1 2006-12-13 10:52:30 jp_milcent Exp $ |
/** |
* papyrus_bp - redi_configuration.inc.php |
* |
* Description : |
* |
*@package papyrus_bp |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 1999-2006 |
*@version $Revision: 1.1 $ $Date: 2006-12-13 10:52:30 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
$GLOBALS['_REDIRECTION_'] = array(); |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/** Constante stockant la valeur de la langue par défaut pour l'applette REDI.*/ |
define('REDI_I18N_DEFAUT', GEN_I18N_ID_DEFAUT); |
// Chemin vers les dossiers de l'applette |
/** Chemin vers l'applette Redirection de Papyrus.*/ |
define('REDI_CHEMIN_APPLETTE', GEN_CHEMIN_APPLETTE.'redirection'.GEN_SEP); |
/** Chemin vers les fichiers de traduction de l'applette Redirection de Papyrus.*/ |
define('REDI_CHEMIN_LANGUE', REDI_CHEMIN_APPLETTE.'langues'.GEN_SEP); |
/** Chemin vers les fichiers squelettes de l'applette Redirection de Papyrus.*/ |
define('REDI_CHEMIN_SQUELETTE', REDI_CHEMIN_APPLETTE.'squelettes'.GEN_SEP); |
// Configuration du rendu |
/** Nom du fichier de squelette à utiliser pour les erreurs.*/ |
define('REDI_SQUELETTE_PRINCIPAL', 'redi_erreur.tpl.html'); |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v4.0-djer/papyrus/applettes/identification/configuration/iden_config.inc.php |
---|
New file |
0,0 → 1,80 |
<?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: iden_config.inc.php,v 1.3 2007-09-18 08:41:14 alexandre_tb Exp $ |
/** |
* Configuration de l'applette Identification. |
* |
* Fichier de configuration de l'applette Identification. |
* |
*@package Applette |
*@subpackage Identification |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2005 |
*@version $Revision: 1.3 $ $Date: 2007-09-18 08:41:14 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTETE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/** Constante stockant la valeur de la langue par défaut pour l'applette IDEN.*/ |
define('IDEN_I18N_DEFAUT', GEN_I18N_ID_DEFAUT); |
/** Constante stockant la valeur de durée de la session.*/ |
define('IDEN_AUTH_SESSION_DUREE', PAP_AUTH_SESSION_DUREE); |
// Chemin vers les dossiers de l'applette |
/** Chemin vers l'applette Identification de Papyrus.*/ |
define('IDEN_CHEMIN_APPLETTE', GEN_CHEMIN_APPLETTE.'identification'.GEN_SEP); |
/** Chemin vers les fichiers de traduction de l'applette Identification de Papyrus.*/ |
define('IDEN_CHEMIN_LANGUE', IDEN_CHEMIN_APPLETTE.'langues'.GEN_SEP); |
/** Chemin vers les fichiers de la bibliotheque de l'applette Identification de Papyrus.*/ |
define('IDEN_CHEMIN_BIBLIO', IDEN_CHEMIN_APPLETTE.'bibliotheque'.GEN_SEP); |
/** Chemin vers le fichier squelette par defaut */ |
define ('IDEN_SQUELETTE_DEFAUT', 'identification.tpl.html'); |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.2 2006/11/20 17:30:40 jp_milcent |
* Amélioration de la gestion de l'identification. |
* Utilisation des durées de session correcte. |
* Suppression du code pour Spip non fonctionnel. |
* |
* Revision 1.1 2005/03/15 14:18:49 jpm |
* Ajout d'un fichier de config. |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v4.0-djer/papyrus/applettes/identification/langues/iden_langue_en.inc.php |
---|
New file |
0,0 → 1,112 |
<?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: iden_langue_en.inc.php,v 1.2 2006-11-20 18:39:22 jp_milcent Exp $ |
/** |
* Traduction de l'applette Identification : en |
* |
* Fichier de traduction de l'applette Identification en anglais |
* |
*@package Applette |
*@subpackage Identification |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2005 |
*@version $Revision: 1.2 $ $Date: 2006-11-20 18:39:22 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTETE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/** Message de bienvenu de l'identification.*/ |
define('IDEN_LG_MESSAGE', 'You are'); |
/** Message de la légende du formulaire demandant de s'identifier.*/ |
define('IDEN_LG_FORM_LEGEND', 'Please log in'); |
/** Label du champ courriel.*/ |
define('IDEN_LG_FORM_LABEL_COURRIEL', 'Mail : '); |
/** Valeur du champ courriel.*/ |
define('IDEN_LG_FORM_VALUE_COURRIEL', 'mail'); |
/** Label du champ mot de passe.*/ |
define('IDEN_LG_FORM_LABEL_MDP', 'Password : '); |
/** Valeur du champ mot de passe.*/ |
define('IDEN_LG_FORM_VALUE_MDP', 'password'); |
/** Valeur du champ submit.*/ |
define('IDEN_LG_FORM_VALUE_SUBMIT', 'ok'); |
/** Message indiquant le lien vers la page d'inscription.*/ |
define('IDEN_LG_INSCRIPTION_URL', 'Register... '); |
/** Message indiquant le lien vers la page d'aide de l'inscription.*/ |
define('IDEN_LG_INSCRIPTION_AIDE', 'Help... '); |
/** Message indiquant le lien vers la page de modification de son inscription.*/ |
define('IDEN_LG_INSCRIPTION_URL_MODIF', 'Change parameters...'); |
/** Message indiquant le lien pour se déconnecter.*/ |
define('IDEN_LG_DECONNEXION', 'Logout'); |
/** Message d'échec d'authentification */ |
define ('IDEN_ECHEC_AUTH', 'Lost password ? ') ; |
/** Message ici */ |
define ('IDEN_ICI', 'Clic here') ; |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.1 2006/03/13 21:00:20 ddelon |
* Suppression messages d'erreur multilinguisme |
* |
* Revision 1.7 2006/03/02 10:49:49 ddelon |
* Fusion branche multilinguisme dans branche principale |
* |
* Revision 1.6 2005/12/13 11:13:52 alexandre_tb |
* ajout d'un message si l'identification échoue |
* |
* Revision 1.5.2.1 2005/12/20 14:40:25 ddelon |
* Fusion Head vers Livraison |
* |
* Revision 1.6 2005/12/13 11:13:52 alexandre_tb |
* ajout d'un message si l'identification échoue |
* |
* Revision 1.5 2005/06/09 17:06:28 jpm |
* Ajout de constantes de langue. |
* |
* Revision 1.4 2005/06/02 11:56:00 jpm |
* Modification de l'affichage de l'identification. |
* |
* Revision 1.3 2005/04/14 16:37:27 jpm |
* Ajout de la gestion de la modification de son inscription. |
* |
* Revision 1.2 2005/03/25 14:41:04 jpm |
* Modification et ajout de constantes. |
* |
* Revision 1.1 2005/03/15 14:19:32 jpm |
* Ajout d'un fichier de traduction. |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v4.0-djer/papyrus/applettes/identification/langues/iden_langue_fr.inc.php |
---|
New file |
0,0 → 1,114 |
<?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: iden_langue_fr.inc.php,v 1.9 2006-11-20 18:39:22 jp_milcent Exp $ |
/** |
* Traduction de l'applette Identification : fr |
* |
* Fichier de traduction de l'applette Identification en français. |
* |
*@package Applette |
*@subpackage Identification |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2005 |
*@version $Revision: 1.9 $ $Date: 2006-11-20 18:39:22 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTETE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/** Message de bienvenu de l'identification.*/ |
define('IDEN_LG_MESSAGE', 'Votre identité'); |
/** Message de la légende du formulaire demandant de s'identifier.*/ |
define('IDEN_LG_FORM_LEGEND', 'Identifiez vous'); |
/** Label du champ courriel.*/ |
define('IDEN_LG_FORM_LABEL_COURRIEL', 'Courriel : '); |
/** Valeur du champ courriel.*/ |
define('IDEN_LG_FORM_VALUE_COURRIEL', 'courriel'); |
/** Label du champ mot de passe.*/ |
define('IDEN_LG_FORM_LABEL_MDP', 'Mot de passe : '); |
/** Valeur du champ mot de passe.*/ |
define('IDEN_LG_FORM_VALUE_MDP', 'mot de passe'); |
/** Valeur du champ submit.*/ |
define('IDEN_LG_FORM_VALUE_SUBMIT', 'ok'); |
/** Message indiquant le lien vers la page d'inscription.*/ |
define('IDEN_LG_INSCRIPTION_URL', 'S\'inscrire... '); |
/** Message indiquant le lien vers la page d'aide de l'inscription.*/ |
define('IDEN_LG_INSCRIPTION_AIDE', 'Aide... '); |
/** Message indiquant le lien vers la page de modification de son inscription.*/ |
define('IDEN_LG_INSCRIPTION_URL_MODIF', 'Modifier votre inscription...'); |
/** Message indiquant le lien pour se déconnecter.*/ |
define('IDEN_LG_DECONNEXION', 'Déconnexion'); |
/** Message d'échec d'authentification */ |
define ('IDEN_ECHEC_AUTH', 'Mot de passe perdu ? ') ; |
/** Message ici */ |
define ('IDEN_ICI', 'Cliquer ici') ; |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.8 2006/11/20 17:30:40 jp_milcent |
* Amélioration de la gestion de l'identification. |
* Utilisation des durées de session correcte. |
* Suppression du code pour Spip non fonctionnel. |
* |
* Revision 1.7 2006/03/02 10:49:49 ddelon |
* Fusion branche multilinguisme dans branche principale |
* |
* Revision 1.6 2005/12/13 11:13:52 alexandre_tb |
* ajout d'un message si l'identification échoue |
* |
* Revision 1.5.2.1 2005/12/20 14:40:25 ddelon |
* Fusion Head vers Livraison |
* |
* Revision 1.6 2005/12/13 11:13:52 alexandre_tb |
* ajout d'un message si l'identification échoue |
* |
* Revision 1.5 2005/06/09 17:06:28 jpm |
* Ajout de constantes de langue. |
* |
* Revision 1.4 2005/06/02 11:56:00 jpm |
* Modification de l'affichage de l'identification. |
* |
* Revision 1.3 2005/04/14 16:37:27 jpm |
* Ajout de la gestion de la modification de son inscription. |
* |
* Revision 1.2 2005/03/25 14:41:04 jpm |
* Modification et ajout de constantes. |
* |
* Revision 1.1 2005/03/15 14:19:32 jpm |
* Ajout d'un fichier de traduction. |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v4.0-djer/papyrus/applettes/identification/squelettes/identification.tpl.html |
---|
New file |
0,0 → 1,49 |
<?php if ($loggue) : ?> |
<p id="identification_info<?=$id_xhtml;?>"> |
<span id="identification_message<?=$id_xhtml;?>"><?=IDEN_LG_MESSAGE;?></span> |
<?php if ($url_page_inscription) : ?> |
<a href="<?=$url_page_inscription;?>" id="voir_inscription<?=$id_xhtml;?>" title="Voir mon inscription"> |
<?=$chp_personne_prenom; ?> <?=$chp_personne_nom; ?> <?=$chp_structure; ?> |
</a> |
<?php else : ?> |
<?=$chp_personne_prenom; ?> <?=$chp_personne_nom; ?> <?=$chp_structure; ?> |
<?php endif; ?> |
</p> |
<p id="iden_action<?=$id_xhtml;?>"> |
<?php if ($url_page_modif_inscription) : ?> |
<a id="lien_inscription_modif<?=$id_xhtml;?>" href="<?=$url_page_modif_inscription; ?>"> |
<?=IDEN_LG_INSCRIPTION_URL_MODIF;?> |
</a> |
<?php endif; ?> |
<a id="deconnexion<?=$id_xhtml;?>" href="<?=$url_deconnect;?>"><?=IDEN_LG_DECONNEXION;?></a> |
</p> |
<?php else : ?> |
<form id="form_connexion<?=$id_xhtml;?>" class="form_identification" action="<?=$url;?>" method="post"> |
<?php if ($url_erreur) : ?> |
<span class="erreur"><?=IDEN_ECHEC_AUTH;?><a id="lien_inscription<?=$id_xhtml;?>" href="<?=$url_erreur;?>"><?=IDEN_ICI;?></a></span> |
<?php endif ;?> |
<fieldset> |
<legend><?=IDEN_LG_FORM_LEGEND;?></legend> |
<label for="username"><?=IDEN_LG_FORM_LABEL_COURRIEL;?></label> |
<input type="text" id="username<?=$id_xhtml;?>" name="username" maxlength="80" tabindex="<?= (4*$compteur+1); ?>" value="<?=IDEN_LG_FORM_VALUE_COURRIEL;?>" /> |
<label for="password"><?=IDEN_LG_FORM_LABEL_MDP;?></label> |
<input type="password" id="password<?=$id_xhtml;?>" name="password" maxlength="80" tabindex="<?= (4*$compteur+2); ?>" value="<?=IDEN_LG_FORM_VALUE_MDP;?>" /> |
<input type="submit" id="connexion<?=$id_xhtml;?>" name="connexion" tabindex="<?= (4*$compteur+4); ?>" value="<?=IDEN_LG_FORM_VALUE_SUBMIT;?>" /> |
<?php if (IDEN_AUTH_SESSION_DUREE != 0) : ?> |
<input type="checkbox" id="persistant<?=$id_xhtml;?>" name="persistant" tabindex="<?= (4*$compteur+3); ?>" value="o" /> |
<label id="persistant_label<?=$id_xhtml;?>" for="persistant">Mémoriser mon compte</label> |
<?php endif ;?> |
<?php if ($url_page_inscription || $url_inscription_aide) : ?> |
<p id="inscription_info<?=$id_xhtml;?>"> |
<?php if ($url_page_inscription) : ?> |
<a id="lien_inscription<?=$id_xhtml;?>" href="<?=$url_page_inscription;?>"><?=IDEN_LG_INSCRIPTION_URL;?></a> |
<?php endif ;?> |
<?php if ($url_inscription_aide) : ?> |
<a id="inscription_aide<?=$id_xhtml;?>" href="<?=$url_inscription_aide;?>"><?=IDEN_LG_INSCRIPTION_AIDE;?></a> |
<?php endif; ?> |
</p> |
<?php endif; ?> |
</fieldset> |
</form> |
<?php endif; ?> |
/tags/v4.0-djer/papyrus/applettes/identification/identification.php |
---|
New file |
0,0 → 1,377 |
<?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: identification.php,v 1.38 2008-05-22 15:05:54 alexandre_tb Exp $ |
/** |
* Applette : identification |
* |
* Génère un formulaire les champs nécessaires pour s'identifier. |
* Nécessite : |
* - Variable globale de Génésia. |
* - Pear Auth |
* - Pear Net_URL |
* |
* A faire : remplacer le formulaire par un QuickForm |
* |
*@package Applette |
*@subpackage Identification |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.38 $ $Date: 2008-05-22 15:05:54 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
$GLOBALS['_GEN_commun']['info_applette_nom_fonction'] = 'afficherFormIdentification'; |
$GLOBALS['_GEN_commun']['info_applette_balise'] = '(?:<!-- '.$GLOBALS['_GEN_commun']['balise_prefixe'].'(IDENTIFICATION) -->|'. |
'\{\{[Ii]dentification'. |
'(?:\s*'. |
'(?:'. |
'(template=".*")|'. |
')'. |
')+'. |
'\s*\}\})'; |
/** Inclusion du fichier de configuration de cette applette.*/ |
require_once GEN_CHEMIN_APPLETTE.'identification'.GEN_SEP.'configuration'.GEN_SEP.'iden_config.inc.php'; |
// Inclusion des fichiers de traduction de l'applette. |
if (file_exists(IDEN_CHEMIN_LANGUE.'iden_langue_'.$GLOBALS['_GEN_commun']['i18n'].'.inc.php')) { |
/** Inclusion du fichier de traduction suite à la transaction avec le navigateur.*/ |
require_once IDEN_CHEMIN_LANGUE.'iden_langue_'.$GLOBALS['_GEN_commun']['i18n'].'.inc.php'; |
} else { |
/** Inclusion du fichier de traduction par défaut.*/ |
require_once IDEN_CHEMIN_LANGUE.'iden_langue_'.IDEN_I18N_DEFAUT.'.inc.php'; |
} |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// Si le site utilise une authentification. |
if ($GLOBALS['_GEN_commun']['info_auth']->gsa_ce_type_auth == 1) { |
$cookie_persistant_nom = session_name().'-memo'; |
// Si un formulaire nous renvoie en POST une variable "deconnexion", nous délogons l'utilisateur. |
if ((isset($_REQUEST['deconnexion']) || isset($_REQUEST['logout']))) { |
$GLOBALS['_GEN_commun']['pear_auth']->logout(); |
// Destruction du cookie de session de Papyrus : est ce utile? |
setcookie(session_name(), session_id(), time()-3600, '/'); |
// Destruction du cookie de permanence de l'identitification de Papyrus |
setcookie($cookie_persistant_nom, '', time()-3600, '/'); |
//$GLOBALS['_GEN_commun']['pear_auth']->start(); |
} else { |
if (isset($_REQUEST['connexion'])) { |
// Si un formulaire nous renvoie en POST une variable "connexion", nous logons l'utilisateur. |
// Nous vérifions que l'utilisateur est coché "Mémoriser mon compte" |
if (isset($_POST['persistant']) && $_POST['persistant'] == 'o' && IDEN_AUTH_SESSION_DUREE != 0) { |
// Expiration si l'utilisateur ne referme pas son navigateur |
$GLOBALS['_GEN_commun']['pear_auth']->setExpire((int)IDEN_AUTH_SESSION_DUREE); |
// Création d'un cookie pour rendre permanente l'identification de Papyrus |
$cookie_val = md5($_POST['password']).$_POST['username']; |
setcookie($cookie_persistant_nom, $cookie_val, (int)IDEN_AUTH_SESSION_DUREE, '/'); |
} |
} else if (isset($_COOKIE[$cookie_persistant_nom])) { |
// Si un cookie existe, nous loggons l'utilisateur. |
$GLOBALS['_GEN_commun']['pear_auth']->password = substr($_COOKIE[$cookie_persistant_nom], 0, 32 ); |
$GLOBALS['_GEN_commun']['pear_auth']->username = substr($_COOKIE[$cookie_persistant_nom], 32); |
// Nous sommes obligés de crypter le mot de passe |
if (isset($GLOBALS['_GEN_commun']['pear_auth']->storage_options)) { |
$GLOBALS['_GEN_commun']['pear_auth']->storage_options['cryptType'] = 'none'; |
} |
if (isset($GLOBALS['_GEN_commun']['pear_auth']->storage->options)) { |
$GLOBALS['_GEN_commun']['pear_auth']->storage->options['cryptType'] = 'none'; |
} |
} |
$GLOBALS['_GEN_commun']['pear_auth']->login(); |
//echo '<pre>'.print_r($GLOBALS['_GEN_commun']['pear_auth'], true).'</pre>'; |
} |
} |
// +------------------------------------------------------------------------------------------------------+ |
// | LISTE de FONCTIONS | |
// +------------------------------------------------------------------------------------------------------+ |
/** Fonction afficherFormIdentification() - Retourne une formulaire pour s'identifier. |
* |
* Retourne un formulaire d'identificatin ou de déconnexion suivant que l'utilisateur est |
* identifié ou pas. |
* |
* @param array tableau d'éventuel arguments présent dans la balise transmis à la fonction. |
* @param array tableau global de Papyrus. |
* @return string formulaire de connexion ou de déconnexion. |
*/ |
function afficherFormIdentification($tab_arguments, $_GEN_commun) |
{ |
// Extraction des arguments s il y a |
$balise = $tab_arguments[0]; |
$tab_arguments = $tab_arguments; |
unset($tab_arguments[0]); |
foreach($tab_arguments as $argument) { |
if ($argument != '') { |
$tab_parametres = explode('=', $argument, 2); |
if (isset($tab_parametres[1])) $options[$tab_parametres[0]] = trim($tab_parametres[1], '"'); |
} |
} |
if (!isset($options['template'])) { |
$options['template'] = IDEN_CHEMIN_APPLETTE.'squelettes/'.IDEN_SQUELETTE_DEFAUT; |
} |
// Initialisation de variable. |
$retour = ''; |
// Gestion des attributs "id" des balises XHTML uniques |
$id_xhtml = ''; |
if ( $GLOBALS['_PAPYRUS_']['applette']['comptage']['afficherFormIdentification'] > 1) { |
$id_xhtml = $GLOBALS['_PAPYRUS_']['applette']['comptage']['afficherFormIdentification']; |
} |
$objet_pear_auth =& $_GEN_commun['pear_auth']; |
$objet_pear_db =& $_GEN_commun['pear_db']; |
$InfoAuthBdd =& $_GEN_commun['info_auth_bdd']; |
$objet_url =& $_GEN_commun['url']; |
$url = $objet_url->getURL(); |
$objet_url->addQueryString('logout', 1); |
$url_deconnect = $objet_url->getURL(); |
$objet_url->removeQueryString('logout'); |
// Récupération des valeurs pour le login et le mot de passe |
$mot_de_passe = (! isset($_POST['password'])) ? '' : $_POST['password']; |
$login = (! isset($_POST['username'])) ? '' : $_POST['username']; |
// ATTENTION : Partie à supprimer une fois les mise à jour effectué dans l'annuaire de Tela Botanica |
// Devrait être déplacer dans l'appli inscription de Tela. |
if (isset($InfoAuthBdd->gsab_nom_table) && $InfoAuthBdd->gsab_nom_table == 'annuaire_tela') { |
verification_mot_de_passe($objet_pear_db, $mot_de_passe, $login); |
if (isset($_POST['connexion'])) { |
$objet_pear_auth->login(); |
} |
} |
// L'utilisateur a essayé de s'identifier mais a échoué |
$url_erreur = false; |
if ($login != '') { |
$url_erreur = '#'; |
if (isset($InfoAuthBdd->url_erreur)) { |
$url_erreur = $InfoAuthBdd->url_erreur; |
} else if (isset($InfoAuthBdd->url_inscription)) { |
$url_erreur = $InfoAuthBdd->url_inscription; |
} |
} |
$url_inscription_aide = ''; |
$url_page_inscription = ''; |
$url_page_modif_inscription = ''; |
if (isset($InfoAuthBdd->url_inscription)) { |
$url_page_inscription = $InfoAuthBdd->url_inscription; |
} |
if (isset($InfoAuthBdd->url_inscription_modif)) { |
$url_page_modif_inscription = $InfoAuthBdd->url_inscription_modif; |
} |
if (isset($InfoAuthBdd->url_inscription_aide)) { |
$url_inscription_aide = $InfoAuthBdd->url_inscription_aide; |
} |
$chp_personne_prenom=''; |
if (isset($InfoAuthBdd->chp_personne_prenom)) { |
$chp_personne_prenom = $objet_pear_auth->getAuthData($InfoAuthBdd->chp_personne_prenom); |
} |
$chp_personne_nom=''; |
if (isset($InfoAuthBdd->chp_personne_nom)) { |
$chp_personne_nom = $objet_pear_auth->getAuthData($InfoAuthBdd->chp_personne_nom); |
} |
$chp_structure=''; |
if (isset($InfoAuthBdd->chp_structure_nom)) { |
$chp_structure = $objet_pear_auth->getAuthData($InfoAuthBdd->chp_structure_nom); |
} |
if ($objet_pear_auth->getAuth()) { $loggue = true; } else { $loggue = false; } |
/** Compteur sert a compter le nombre de fois qu est appele l applet |
* et ce afin que les tabindex du formulaire soient correct |
*/ |
static $compteur = 0; |
ob_start(); |
include $options['template']; |
$retour = ob_get_contents(); |
// Arrete et detruit le buffer |
ob_end_clean(); |
$compteur++; |
return $retour; |
} |
// +------------------------------------------------------------------------------------------------------+ |
// | PIED du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.37 2008-04-18 14:19:09 jp_milcent |
* Fusion avec la livraison AHA : 18 avril 2008 |
* |
* Revision 1.35.2.2 2008-04-18 14:14:55 jp_milcent |
* Gestion de plusieurs applettes identifications sur la même page html. |
* Correction de bogues. |
* |
* Revision 1.36 2007-11-27 11:26:55 jp_milcent |
* Fusion avec la livraison AHA : 27 novembre 2007 |
* |
* Revision 1.35.2.1 2007-11-27 11:25:30 jp_milcent |
* Correction bogue : non affichage de l'url d'erreur de saisie du login. |
* |
* Revision 1.35 2007-10-11 14:14:22 florian |
* amelioration du template de l'applette inscription |
* |
* Revision 1.34 2007-09-18 08:40:54 alexandre_tb |
* modification de la balise identification pour permettre de preciser un template. |
* |
* Revision 1.33 2007-08-28 14:23:35 jp_milcent |
* Amélioration de la gestion des mots de passe perdus. |
* |
* Revision 1.32 2007-08-28 14:14:35 jp_milcent |
* Ajout de la gestion des erreurs d'identification. |
* |
* Revision 1.31 2006-12-15 14:49:47 jp_milcent |
* Correction bogue : le type de cryptage est stocké à 2 endroits... |
* |
* Revision 1.30 2006/12/14 15:01:05 jp_milcent |
* Utilisation d'un système permettant de mémoriser les idenitifications. |
* Passage à Auth 1.4.3 et DB 1.7.6. |
* |
* Revision 1.29 2006/12/12 13:53:54 jp_milcent |
* Mise en place du nouveau format des balises d'applette. |
* |
* Revision 1.28 2006/12/12 13:26:42 jp_milcent |
* Modification de la gestion de l'identification. Utilisation des variables de session. |
* |
* Revision 1.27 2006/12/08 18:14:57 jp_milcent |
* Correction bogue : l'identification ne tenait pas... |
* |
* Revision 1.26 2006/12/01 16:33:40 florian |
* Amélioration de la gestion des applettes et compatibilité avec le nouveau mode de gestion de l'inclusion des applettes. |
* |
* Revision 1.25 2006/11/20 18:40:33 jp_milcent |
* Amélioration de la gestion des infos sur l'inscription. |
* Ajout du paramêtre url_inscription_aide permettant d'indiquer l'url vers une page d'aide sur l'inscription. |
* |
* Revision 1.24 2006/11/20 17:42:40 jp_milcent |
* Ajout d'un test activant ou pas la mémorisation de l'identification. |
* |
* Revision 1.23 2006/11/20 17:30:40 jp_milcent |
* Amélioration de la gestion de l'identification. |
* Utilisation des durées de session correcte. |
* Suppression du code pour Spip non fonctionnel. |
* |
* Revision 1.22 2006/09/21 15:25:17 jp_milcent |
* Nettoyage dans l'url de la querystring logout. |
* |
* Revision 1.21 2006/03/02 10:49:49 ddelon |
* Fusion branche multilinguisme dans branche principale |
* |
* Revision 1.20 2005/12/13 11:13:35 alexandre_tb |
* ajout d'un message si l'identification échoue |
* |
* Revision 1.19.2.1 2005/12/20 14:40:24 ddelon |
* Fusion Head vers Livraison |
* |
* Revision 1.20 2005/12/13 11:13:35 alexandre_tb |
* ajout d'un message si l'identification échoue |
* |
* Revision 1.19 2005/10/31 17:09:28 ddelon |
* Suppression auth start suite à deconnexion ... attention aux effets de bord |
* |
* Revision 1.18 2005/09/27 09:07:32 ddelon |
* size applette et squelettes |
* |
* Revision 1.17 2005/09/12 09:17:17 alexandre_tb |
* utilisation de l'objet Net_URL pour ajouter la variable logout dans le lien de déconnexion |
* |
* Revision 1.16 2005/06/09 17:06:28 jpm |
* Ajout de constantes de langue. |
* |
* Revision 1.15 2005/06/02 11:56:00 jpm |
* Modification de l'affichage de l'identification. |
* |
* Revision 1.14 2005/05/19 14:00:58 jpm |
* Déplacement du menu de modif de l'inscription. |
* |
* Revision 1.13 2005/04/14 16:37:22 jpm |
* Ajout de la gestion de la modification de son inscription. |
* |
* Revision 1.12 2005/03/25 14:40:51 jpm |
* Prise en compte du paramêtre url_inscription permettant de faire figurer dans l'applette inscription un lien vers la page d'inscription. |
* |
* Revision 1.11 2005/03/17 15:52:17 jpm |
* Suppression d'un / causant un bogue. |
* |
* Revision 1.10 2005/03/15 14:47:14 jpm |
* Utilisation d'un lien à la place d'un formulaire pour la déconnexion. |
* |
* Revision 1.9 2005/03/15 14:17:46 jpm |
* Ajout d'un fichier de config et de traduction. |
* Début gestion des constantes de langue. |
* |
* Revision 1.8 2005/03/10 12:50:44 alex |
* remplacement de & par & |
* |
* Revision 1.7 2005/01/07 12:43:03 alex |
* réauction de la taille des champs texte à 12 |
* |
* Revision 1.6 2004/12/13 18:07:09 alex |
* désauthentification spip presque parfaite |
* |
* Revision 1.5 2004/09/23 14:31:12 jpm |
* Correction bogue sur l'identification de l'annuaire_tela. |
* |
* Revision 1.4 2004/09/23 10:53:44 jpm |
* Suppression de l'attribut size. Gestion via les css. |
* |
* Revision 1.3 2004/06/28 10:18:48 alex |
* suppression de balises <p> |
* |
* Revision 1.2 2004/06/21 07:37:30 alex |
* Modification d'un label |
* |
* Revision 1.1 2004/06/15 15:01:41 jpm |
* Changement de nom et d'arborescence de Genesia en Papyrus. |
* |
* Revision 1.5 2004/05/05 06:44:15 jpm |
* Complément des commentaires indiquant les paquetages nécessaire à l'applette. |
* |
* Revision 1.4 2004/05/03 11:18:55 jpm |
* Intégration de la variable globale de Génésia dans les arguments de la fonction de l'applette. |
* |
* Revision 1.3 2004/05/01 17:21:16 jpm |
* Ajout d'un fieldset et d'une légende au formulaire. |
* |
* Revision 1.2 2004/05/01 16:13:07 jpm |
* Ajout du nom de la balise de l'applette dans le code de l'applette. |
* |
* Revision 1.1 2004/05/01 11:42:01 jpm |
* Ajout de l'applette identification. |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v4.0-djer/papyrus/applettes/plan/configuration/plan_configuration.inc.php |
---|
New file |
0,0 → 1,71 |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// +------------------------------------------------------------------------------------------------------+ |
// | PHP version 5.1 | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (C) 1999-2006 Tela Botanica (accueil@tela-botanica.org) | |
// +------------------------------------------------------------------------------------------------------+ |
// | This file is part of papyrus_bp. | |
// | | |
// | 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_configuration.inc.php,v 1.1 2006-12-13 09:42:39 jp_milcent Exp $ |
/** |
* papyrus_bp - plan_configuration.inc.php |
* |
* Description : |
* |
*@package papyrus_bp |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 1999-2006 |
*@version $Revision: 1.1 $ $Date: 2006-12-13 09:42:39 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
$GLOBALS['_PLAN_'] = array(); |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/** Constante stockant la valeur de la langue par défaut pour l'applette PLAN.*/ |
define('PLAN_I18N_DEFAUT', GEN_I18N_ID_DEFAUT); |
// Chemin vers les dossiers de l'applette |
/** Chemin vers l'applette Plan de Papyrus.*/ |
define('PLAN_CHEMIN_APPLETTE', GEN_CHEMIN_APPLETTE.'plan'.GEN_SEP); |
/** Chemin vers les fichiers de traduction de l'applette Plan de Papyrus.*/ |
define('PLAN_CHEMIN_LANGUE', PLAN_CHEMIN_APPLETTE.'langues'.GEN_SEP); |
/** Chemin vers les fichiers de la bibliotheque de l'applette Plan de Papyrus.*/ |
define('PLAN_CHEMIN_BIBLIO', PLAN_CHEMIN_APPLETTE.'bibliotheque'.GEN_SEP); |
/** Chemin vers les fichiers squelettes de l'applette Plan de Papyrus.*/ |
define('PLAN_CHEMIN_SQUELETTE', PLAN_CHEMIN_APPLETTE.'squelettes'.GEN_SEP); |
// Configuration du rendu |
/** Nom du fichier de squelette à utiliser pour la liste des pages.*/ |
define('PLAN_SQUELETTE_LISTE', 'plan_liste.tpl.html'); |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v4.0-djer/papyrus/applettes/plan/langues/plan_langue_fr.inc.php |
---|
New file |
0,0 → 1,70 |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// +------------------------------------------------------------------------------------------------------+ |
// | PHP version 5.1 | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (C) 1999-2006 Tela Botanica (accueil@tela-botanica.org) | |
// +------------------------------------------------------------------------------------------------------+ |
// | This file is part of papyrus_bp. | |
// | | |
// | 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-12-13 10:53:36 jp_milcent Exp $ |
/** |
* papyrus_bp - plan_langue_fr.inc.php |
* |
* Description : |
* |
*@package papyrus_bp |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 1999-2006 |
*@version $Revision: 1.2 $ $Date: 2006-12-13 10:53:36 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/** Texte affiché quand le paramètre "permalien" est abscent.*/ |
define('PLAN_LG_ERREUR_PERMALIEN', "Applette PLAN : le paramètre 'permalien' peut prendre les valeurs 'oui' ou 'non' dans : %s !"); |
/** Texte affiché quand le type ne convient.*/ |
define('PLAN_LG_ERREUR_TYPE', "Applette PLAN : le paramètre 'type' peut prendre les valeurs 'majeure' ou 'mineure' dans : %s !"); |
/** Texte affiché quand on n'a pas de page à afficher.*/ |
define('PLAN_LG_INFO_ZERO_PAGE', "Applette PLAN : aucune page n'a été trouvée pour : %s !"); |
/** Texte affiché quand l'auteur est inconnu.*/ |
define('PLAN_LG_INCONNU_NOM', 'Anonyme'); |
/** Texte affiché quand le titre est vide.*/ |
define('PLAN_LG_INCONNU_TITRE', 'Titre inconnu'); |
/** Texte affiché quand l'url est inconnu.*/ |
define('PLAN_LG_INCONNU_URL', '#'); |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.1 2006/12/13 09:42:39 jp_milcent |
* Ajout de l'applette Plan. |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v4.0-djer/papyrus/applettes/plan/squelettes/plan_liste.tpl.html |
---|
New file |
0,0 → 1,35 |
<!-- PLAN - DEBUT --> |
<?php if ($erreurs) : ?> |
<?php foreach ($erreurs as $erreur) : ?> |
<p class="pap_erreur"><?=$erreur;?></p> |
<?php endforeach; ?> |
<?php elseif ($informations) : ?> |
<?php foreach ($informations as $information) : ?> |
<p class="pap_info"><?=$information;?></p> |
<?php endforeach; ?> |
<?php else : ?> |
<?php foreach ($sites as $site) : ?> |
<h2 class="plan_titre"><a href="<?=$site['url'];?>"><?=$site['titre'];?></a></h2> |
<ul class="plan_site"> |
<?php foreach ($site['pages'] as $page) : ?> |
<?php if ($page['sous_menus'] == 'fermer_liste') : ?> |
</ul> |
</li> |
<?php else : ?> |
<li class="plan_page"> |
<a href="<?=$page['url'];?>" title="<?=$page['titre'];?>"><?=$page['nom'];?></a> |
<?php if (isset($page['permalien_url'])) : ?> |
<span class="page_separateur_permalien"> - </span> |
<a class="plan_permalien" href="<?=$page['permalien_url'];?>"><?=$page['permalien_nom'];?></a> |
<?php endif; ?> |
<?php if ($page['sous_menus'] == 'ouvrir_liste') : ?> |
<ul> |
<?php elseif ($page['sous_menus'] == 'fermer') : ?> |
</li> |
<?php endif; ?> |
<?php endif; ?> |
<?php endforeach; ?> |
</ul> |
<?php endforeach; ?> |
<?php endif; ?> |
<!-- PLAN - FIN --> |
/tags/v4.0-djer/papyrus/applettes/plan/plan.php |
---|
New file |
0,0 → 1,225 |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// +------------------------------------------------------------------------------------------------------+ |
// | PHP version 5.1 | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (C) 1999-2006 Tela Botanica (accueil@tela-botanica.org) | |
// +------------------------------------------------------------------------------------------------------+ |
// | This file is part of papyrus_bp. | |
// | | |
// | 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.php,v 1.2 2006-12-13 10:53:36 jp_milcent Exp $ |
/** |
* papyrus_bp - plan.php |
* |
* Description : |
* |
*@package papyrus_bp |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 1999-2006 |
*@version $Revision: 1.2 $ $Date: 2006-12-13 10:53:36 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
$GLOBALS['_GEN_commun']['info_applette_nom_fonction'] = 'afficherPlan'; |
$GLOBALS['_GEN_commun']['info_applette_balise'] = '\{\{[Pp]lan'. |
'(?:\s*'. |
'(?:'. |
'(site="[^"]*")|'. |
'(permalien="[^"]*")|'. |
')'. |
')+'. |
'\s*\}\}'; |
// -------------------------------------------------------------------------------------------------------- |
/** Inclusion du fichier de configuration de cette application.*/ |
require_once GEN_CHEMIN_APPLETTE.'plan'.GEN_SEP.'configuration'.GEN_SEP.'plan_configuration.inc.php'; |
// Inclusion des fichiers de traduction de l'applette PLAN de Papyrus |
if (file_exists(PLAN_CHEMIN_LANGUE.'plan_langue_'.$GLOBALS['_GEN_commun']['i18n'].'.inc.php')) { |
/** Inclusion du fichier de traduction suite à la transaction avec le navigateur.*/ |
require_once PLAN_CHEMIN_LANGUE.'plan_langue_'.$GLOBALS['_GEN_commun']['i18n'].'.inc.php'; |
} else { |
/** Inclusion du fichier de traduction par défaut.*/ |
require_once PLAN_CHEMIN_LANGUE.'plan_langue_'.PLAN_I18N_DEFAUT.'.inc.php'; |
} |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/** Fonction afficherPlan() - Retourne la liste des pages du plan d'un site. |
* |
* Cette fonction retourne la liste des pages du plan d'un site. |
* |
* @param array contient les arguments de la fonction. |
* @param array tableau global de Papyrus. |
* @return string HTML la liste de menus. |
*/ |
function afficherPlan($tab_applette_arguments, $_GEN_commun) |
{ |
// Initialisation des variables |
$sortie = ''; |
$GLOBALS['_PLAN_']['erreurs'] = array(); |
$GLOBALS['_PLAN_']['informations'] = array(); |
$GLOBALS['_PLAN_']['sites'] = array(); |
//+----------------------------------------------------------------------------------------------------------------+ |
// Gestion des arguments |
$balise = $tab_applette_arguments[0]; |
$tab_arguments = $tab_applette_arguments; |
unset($tab_arguments[0]); |
foreach($tab_arguments as $argument) { |
if ($argument != '') { |
$tab_parametres = explode('=', $argument); |
$options[$tab_parametres[0]] = trim($tab_parametres[1], '"'); |
} |
} |
//+----------------------------------------------------------------------------------------------------------------+ |
// Gestion des erreurs de paramètrage |
if (!isset($options['site'])) { |
$GLOBALS['_PLAN_']['erreurs'][] = sprintf(PLAN_LG_ERREUR_SITE, $balise); |
} |
if (!isset($options['permalien'])) { |
$options['permalien'] = false; |
} |
if (isset($options['permalien']) && $options['permalien'] != '' && $options['permalien'] != 'oui' && $options['permalien'] != 'non') { |
$GLOBALS['_PLAN_']['erreurs'][] = sprintf(PLAN_LG_ERREUR_PERMALIEN, $balise); |
} else { |
if ($options['permalien'] == 'oui') { |
$options['permalien'] = true; |
} else if ($options['permalien'] == 'non') { |
$options['permalien'] = false; |
} |
} |
//+----------------------------------------------------------------------------------------------------------------+ |
// Récupération des données |
if (count($GLOBALS['_PLAN_']['erreurs']) == 0) { |
$tab_site = array_map('trim', explode(',', $options['site'])); |
if (count($tab_site) == 0) { |
$GLOBALS['_PLAN_']['informations'][] = sprintf(PLAN_LG_INFO_ZERO_PAGE, $options['site']); |
} else { |
foreach ($tab_site as $cle => $site) { |
$aso_site_info = GEN_lireInfoSitePrincipalCodeAlpha($GLOBALS['_GEN_commun']['pear_db'], $site, DB_FETCHMODE_ASSOC); |
$aso_site['abreviation'] = $site; |
if (!empty($aso_site_info['gs_titre'])) { |
$titre = $aso_site_info['gs_titre']; |
} else { |
$titre = $aso_site_info['gs_nom']; |
} |
$aso_site['titre'] = htmlentities($titre); |
$url_site =& new Pap_URL(); |
$url_site->setUrlType('SITE'); |
$url_site->setId($aso_site_info['gs_id_site']); |
$aso_site['url'] = $url_site->getUrl(); |
$aso_menus = GEN_retournerTableauMenusSiteCodeAlpha($GLOBALS['_GEN_commun']['pear_db'], $site); |
$aso_site['pages'] = parserTableauMenus($aso_menus, $options['permalien']); |
$GLOBALS['_PLAN_']['sites'][] = $aso_site; |
} |
} |
} |
//+----------------------------------------------------------------------------------------------------------------+ |
// Extrait les variables et les ajoutes à l'espace de noms local |
// Gestion des squelettes |
extract($GLOBALS['_PLAN_']); |
// Démarre le buffer |
ob_start(); |
// Inclusion du fichier |
include(PLAN_CHEMIN_SQUELETTE.PLAN_SQUELETTE_LISTE); |
// Récupérer le contenu du buffer |
$sortie = ob_get_contents(); |
// Arrête et détruit le buffer |
ob_end_clean(); |
//+----------------------------------------------------------------------------------------------------------------+ |
// Sortie |
return $sortie; |
} |
function parserTableauMenus($aso_menus, $permalien) |
{ |
$aso_arbo_site = array(); |
foreach ($aso_menus as $menu_id => $menu_valeur) { |
if ( $menu_valeur['gm_date_fin_validite'] == '' |
|| $menu_valeur['gm_date_fin_validite'] == '0000-00-00 00:00:00' |
|| strtotime($menu_valeur['gm_date_fin_validite']) > time()) { |
// Initialisation |
$aso_page = array(); |
$aso_page['url'] = PLAN_LG_INCONNU_URL; |
$aso_page['nom'] = PLAN_LG_INCONNU_NOM; |
$aso_page['titre'] = PLAN_LG_INCONNU_TITRE; |
$aso_page['sous_menus'] = 'fermer'; |
// Création de l'url |
$une_url =& new Pap_URL(); |
$une_url->setId($menu_id); |
$aso_page['url'] = $une_url->getURL(); |
// Construction de l'attribut title |
$title = ''; |
if (!empty($menu_valeur['gm_titre'])) { |
$title = $menu_valeur['gm_titre']; |
} elseif (!empty($menu_valeur['gm_titre_alternatif'])) { |
$title = $menu_valeur['gm_titre_alternatif']; |
} |
$aso_page['titre'] = htmlentities($title); |
// Le nom |
$aso_page['nom'] = htmlentities($menu_valeur['gm_nom']); |
// Nous affichons ou pas le permalien |
if ($permalien) { |
$une_url->setPermalienBool(true); |
$aso_page['permalien_url'] = $une_url->getURL(); |
$aso_page['permalien_nom'] = $une_url->getPermalien(); |
$une_url->setPermalienBool(false); |
} |
// Nous ajoutons les sous-menus s'il y en a. |
$retour = parserTableauMenus($menu_valeur['sous_menus'], $permalien); |
if (count($retour) != 0) { |
$aso_page['sous_menus'] = 'ouvrir_liste'; |
$aso_arbo_site[] = $aso_page; |
$aso_arbo_site = array_merge($aso_arbo_site, $retour); |
$aso_arbo_site[]['sous_menus'] = 'fermer_liste'; |
} else { |
$aso_arbo_site[] = $aso_page; |
} |
} |
} |
return $aso_arbo_site; |
} |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.1 2006/12/13 09:42:39 jp_milcent |
* Ajout de l'applette Plan. |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v4.0-djer/papyrus/applettes/nouveaute/configuration/nouv_configuration.inc.php |
---|
New file |
0,0 → 1,70 |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// +------------------------------------------------------------------------------------------------------+ |
// | PHP version 5.1 | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (C) 1999-2006 Tela Botanica (accueil@tela-botanica.org) | |
// +------------------------------------------------------------------------------------------------------+ |
// | This file is part of papyrus_bp. | |
// | | |
// | 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: nouv_configuration.inc.php,v 1.1 2006-12-12 17:16:22 jp_milcent Exp $ |
/** |
* papyrus_bp - nouv_configuration.inc.php |
* |
* Description : |
* |
*@package papyrus_bp |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 1999-2006 |
*@version $Revision: 1.1 $ $Date: 2006-12-12 17:16:22 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
$GLOBALS['_NOUVEAUTE_'] = array(); |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/** Constante stockant la valeur de la langue par défaut pour l'applette NOUV.*/ |
define('NOUV_I18N_DEFAUT', GEN_I18N_ID_DEFAUT); |
// Chemin vers les dossiers de l'applette |
/** Chemin vers l'applette Nouveauté de Papyrus.*/ |
define('NOUV_CHEMIN_APPLETTE', GEN_CHEMIN_APPLETTE.'nouveaute'.GEN_SEP); |
/** Chemin vers les fichiers de traduction de l'applette Nouveauté de Papyrus.*/ |
define('NOUV_CHEMIN_LANGUE', NOUV_CHEMIN_APPLETTE.'langues'.GEN_SEP); |
/** Chemin vers les fichiers de la bibliotheque de l'applette Nouveauté de Papyrus.*/ |
define('NOUV_CHEMIN_BIBLIO', NOUV_CHEMIN_APPLETTE.'bibliotheque'.GEN_SEP); |
/** Chemin vers les fichiers squelettes de l'applette Nouveauté de Papyrus.*/ |
define('NOUV_CHEMIN_SQUELETTE', NOUV_CHEMIN_APPLETTE.'squelettes'.GEN_SEP); |
// Configuration du rendu |
/** Nom du fichier de squelette à utiliser pour la liste des pages.*/ |
define('NOUV_SQUELETTE_LISTE', 'nouv_liste.tpl.html'); |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v4.0-djer/papyrus/applettes/nouveaute/langues/nouv_langue_fr.inc.php |
---|
New file |
0,0 → 1,102 |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// +------------------------------------------------------------------------------------------------------+ |
// | PHP version 5.1 | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (C) 1999-2006 Tela Botanica (accueil@tela-botanica.org) | |
// +------------------------------------------------------------------------------------------------------+ |
// | This file is part of papyrus_bp. | |
// | | |
// | 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: nouv_langue_fr.inc.php,v 1.3 2006-12-13 09:27:42 jp_milcent Exp $ |
/** |
* papyrus_bp - nouv_langue_fr.inc.php |
* |
* Description : |
* |
*@package papyrus_bp |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 1999-2006 |
*@version $Revision: 1.3 $ $Date: 2006-12-13 09:27:42 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/** Texte affiché quand le paramètre "nombre" est abscent.*/ |
define('NOUV_LG_ERREUR_NOMBRE', "Applette NOUVEAUTÉ : le paramètre 'nombre' est obligatoire dans %s !"); |
/** Texte affiché quand le type ne convient.*/ |
define('NOUV_LG_ERREUR_TYPE', "Applette NOUVEAUTÉ : le paramètre 'type' peut prendre les valeurs 'majeure' ou 'mineure' dans : %s !"); |
/** Texte affiché quand on n'a pas de page à afficher.*/ |
define('NOUV_LG_INFO_ZERO_PAGE', "Applette NOUVEAUTÉ : aucune page n'a été trouvée pour : %s !"); |
/** Texte affiché quand un champ est vide.*/ |
define('NOUV_LG_INCONNU_GENERAL', ' '); |
/** Texte affiché quand l'auteur est inconnu.*/ |
define('NOUV_LG_INCONNU_AUTEUR', 'Anonyme'); |
/** Texte affiché quand le titre est vide.*/ |
define('NOUV_LG_INCONNU_TITRE', 'Titre inconnu'); |
/** Texte affiché quand le titre est vide.*/ |
define('NOUV_LG_INCONNU_URL', '#'); |
/** Mois de janvier.*/ |
define('NOUV_LG_MOIS_01', 'janvier'); |
/** Mois de février.*/ |
define('NOUV_LG_MOIS_02', 'février'); |
/** Mois de mars.*/ |
define('NOUV_LG_MOIS_03', 'mars'); |
/** Mois d'avril.*/ |
define('NOUV_LG_MOIS_04', 'avril'); |
/** Mois de mai.*/ |
define('NOUV_LG_MOIS_05', 'mai'); |
/** Mois de juin.*/ |
define('NOUV_LG_MOIS_06', 'juin'); |
/** Mois de juillet.*/ |
define('NOUV_LG_MOIS_07', 'juillet'); |
/** Mois d'août'.*/ |
define('NOUV_LG_MOIS_08', 'août'); |
/** Mois de septembre.*/ |
define('NOUV_LG_MOIS_09', 'septembre'); |
/** Mois d'octobre.*/ |
define('NOUV_LG_MOIS_10', 'octobre'); |
/** Mois de novembre.*/ |
define('NOUV_LG_MOIS_11', 'novembre'); |
/** Mois de décembre.*/ |
define('NOUV_LG_MOIS_12', 'décembre'); |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.2 2006/12/13 09:26:44 jp_milcent |
* Ajout d'une valeur pour les champs vides. |
* |
* Revision 1.1 2006/12/12 17:16:22 jp_milcent |
* Ajout de l'applette Nouveaute. |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v4.0-djer/papyrus/applettes/nouveaute/squelettes/nouv_liste.tpl.html |
---|
New file |
0,0 → 1,42 |
<!-- NOUVEAUTE - DEBUT --> |
<?php if ($erreurs) : ?> |
<?php foreach ($erreurs as $erreur) : ?> |
<p class="pap_erreur"><?=$erreur;?></p> |
<?php endforeach; ?> |
<?php elseif ($informations) : ?> |
<?php foreach ($informations as $information) : ?> |
<p class="pap_info"><?=$information;?></p> |
<?php endforeach; ?> |
<?php else : ?> |
<ul class="page_liste"> |
<?php foreach ($pages as $page) : ?> |
<li class="page_modification_<?=$page['type'];?>"> |
<h2 class="page_titre"><a href="<?=$page['url'];?>"><span class="page_titre"><?=$page['titre'];?></span></a></h2> |
<dl> |
<dt class="page_auteur">Auteur(s) :</dt> |
<dd><?=$page['auteur'];?></dd> |
<dt class="page_contributeur">Contributeur(s) :</dt> |
<dd><?=$page['contributeur'];?></dd> |
<dt class="page_modification_date">Modifié le :</dt> |
<dd> |
<span class="page_creation_heure"><?=$page['heure'];?></span> |
<span class="page_separateur_heure">:</span> |
<span class="page_creation_minute"><?=$page['minute'];?></span> |
<span class="page_separateur_heure">:</span> |
<span class="page_creation_seconde"><?=$page['seconde'];?></span> |
<span class="page_separateur_date_heure"> - </span> |
<span class="page_creation_jour"><?=$page['jour'];?></span> |
<span class="page_creation_mois"><?=$page['mois'];?></span> |
<span class="page_creation_annee"><?=$page['annee'];?></span> |
</dd> |
<dt class="page_description">Description :</dt> |
<dd><?=$page['description'];?></dd> |
<dt class="page_resumer_modification_">Résumer modification :</dt> |
<dd><?=$page['resumer'];?></dd> |
</dl> |
</li> |
<?php endforeach; ?> |
</ul> |
<?php endif; ?> |
<!-- NOUVEAUTE - FIN --> |
/tags/v4.0-djer/papyrus/applettes/nouveaute/nouveaute.php |
---|
New file |
0,0 → 1,287 |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// +------------------------------------------------------------------------------------------------------+ |
// | PHP version 5.1 | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (C) 1999-2006 Tela Botanica (accueil@tela-botanica.org) | |
// +------------------------------------------------------------------------------------------------------+ |
// | This file is part of papyrus_bp. | |
// | | |
// | 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: nouveaute.php,v 1.3 2006-12-13 09:27:42 jp_milcent Exp $ |
/** |
* papyrus_bp - nouveaute.php |
* |
* Description : |
* |
*@package papyrus_bp |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 1999-2006 |
*@version $Revision: 1.3 $ $Date: 2006-12-13 09:27:42 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
$GLOBALS['_GEN_commun']['info_applette_nom_fonction'] = 'afficherNouveaute'; |
$GLOBALS['_GEN_commun']['info_applette_balise'] = '\{\{[Nn]ouveaute'. |
'(?:\s*'. |
'(?:'. |
'(nombre="[^"]+")|'. |
'(categorie="[^"]+")|'. |
'(type="[^"]+")|'. |
'(site="[^"]+")|'. |
')'. |
')+'. |
'\s*\}\}'; |
// -------------------------------------------------------------------------------------------------------- |
/** Inclusion du fichier de configuration de cette application.*/ |
require_once GEN_CHEMIN_APPLETTE.'nouveaute'.GEN_SEP.'configuration'.GEN_SEP.'nouv_configuration.inc.php'; |
// Inclusion des fichiers de traduction de l'applette NOUV de Papyrus |
if (file_exists(NOUV_CHEMIN_LANGUE.'nouv_langue_'.$GLOBALS['_GEN_commun']['i18n'].'.inc.php')) { |
/** Inclusion du fichier de traduction suite à la transaction avec le navigateur.*/ |
require_once NOUV_CHEMIN_LANGUE.'nouv_langue_'.$GLOBALS['_GEN_commun']['i18n'].'.inc.php'; |
} else { |
/** Inclusion du fichier de traduction par défaut.*/ |
require_once NOUV_CHEMIN_LANGUE.'nouv_langue_'.NOUV_I18N_DEFAUT.'.inc.php'; |
} |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/** Fonction afficherNouveaute() - Retourne la liste des pages modifiées récement. |
* |
* Cette fonction retourne la liste des pages modifiées récement. |
* |
* @param array contient les arguments de la fonction. |
* @param array tableau global de Papyrus. |
* @return string HTML la liste de menus. |
*/ |
function afficherNouveaute($tab_applette_arguments, $_GEN_commun) |
{ |
// Initialisation des variables |
$sortie = ''; |
$GLOBALS['_NOUVEAUTE_']['erreurs'] = array(); |
$GLOBALS['_NOUVEAUTE_']['informations'] = array(); |
$GLOBALS['_NOUVEAUTE_']['pages'] = array(); |
//+----------------------------------------------------------------------------------------------------------------+ |
// Gestion des arguments |
$balise = $tab_applette_arguments[0]; |
$tab_arguments = $tab_applette_arguments; |
unset($tab_arguments[0]); |
foreach($tab_arguments as $argument) { |
if ($argument != '') { |
$tab_parametres = explode('=', $argument); |
$options[$tab_parametres[0]] = trim($tab_parametres[1], '"'); |
} |
} |
//+----------------------------------------------------------------------------------------------------------------+ |
// Gestion des erreurs de paramètrage |
if (!isset($options['nombre'])) { |
$GLOBALS['_NOUVEAUTE_']['erreurs'][] = sprintf(NOUV_LG_ERREUR_NOMBRE, $balise); |
} |
if (!isset($options['type'])) { |
$options['type'] = ''; |
} |
if (isset($options['type']) && $options['type'] != '' && $options['type'] != 'mineure' && $options['type'] != 'majeure') { |
$GLOBALS['_NOUVEAUTE_']['erreurs'][] = sprintf(NOUV_LG_ERREUR_TYPE, $balise); |
} else { |
if ($options['type'] == 'mineure') { |
$options['type'] = 1; |
} else if ($options['type'] == 'majeure') { |
$options['type'] = 2; |
} |
} |
if (!isset($options['site'])) { |
$options['site'] = ''; |
} |
if (!isset($options['categorie'])) { |
$options['categorie'] = ''; |
} |
//+----------------------------------------------------------------------------------------------------------------+ |
// Récupération des données |
if (count($GLOBALS['_NOUVEAUTE_']['erreurs']) == 0) { |
$aso_info_menu = GEN_lireInfoMenuContenuDate($GLOBALS['_GEN_commun']['pear_db'], $options['type'], $options['site'], $options['categorie']); |
if (count($aso_info_menu) == 0) { |
$GLOBALS['_NOUVEAUTE_']['informations'][] = sprintf(NOUV_LG_INFO_ZERO_PAGE, $options['mots']); |
} else { |
$i = 0; |
foreach ($aso_info_menu as $id_menu => $un_menu) { |
// On stope l'affichage si le nombre de nouveauté demandé est atteint. |
if ($i == $options['nombre']) { |
break; |
} else { |
$i++; |
} |
// Initialisation |
$aso_page = array(); |
$aso_page['url'] = NOUV_LG_INCONNU_URL; |
$aso_page['auteur'] = NOUV_LG_INCONNU_AUTEUR; |
$aso_page['contributeur'] = NOUV_LG_INCONNU_GENERAL; |
$aso_page['titre'] = NOUV_LG_INCONNU_TITRE; |
$aso_page['heure'] = NOUV_LG_INCONNU_GENERAL; |
$aso_page['minute'] = NOUV_LG_INCONNU_GENERAL; |
$aso_page['seconde'] = NOUV_LG_INCONNU_GENERAL; |
$aso_page['jours'] = NOUV_LG_INCONNU_GENERAL; |
$aso_page['mois'] = NOUV_LG_INCONNU_GENERAL; |
$aso_page['annee'] = NOUV_LG_INCONNU_GENERAL; |
$aso_page['description'] = NOUV_LG_INCONNU_GENERAL; |
$aso_page['resumer'] = NOUV_LG_INCONNU_GENERAL; |
// Création de l'url |
$une_url =& new Pap_URL(); |
$une_url->setId($id_menu); |
$aso_page['url'] = $une_url->getURL(); |
// Affichage du type de modification de la page |
if ($un_menu->gmc_ce_type_modification = 1) { |
$aso_page['type'] = 'mineure'; |
} elseif ($un_menu->gmc_ce_type_modification = 2) { |
$aso_page['type'] = 'majeure'; |
} |
// Affichage de l'auteur(s) |
if ($un_menu->gm_auteur != '') { |
$aso_page['auteur'] = $un_menu->gm_auteur; |
} |
// Affichage des contributeur(s) |
if (!empty($un_menu->gm_contributeur)) { |
$sortie .= '<dt class="page_contributeur"> Contributeur(s) : '.'</dt>'."\n"; |
$sortie .= '<dd>'.$un_menu->gm_contributeur.'</dd>'."\n"; |
$aso_page['contributeur'] = $un_menu->gm_contributeur; |
} |
// Affichage du titre |
if (!empty($un_menu->gm_titre)) { |
$aso_page['titre'] = $un_menu->gm_titre; |
} elseif (!empty($un_menu->gm_titre_alternatif)) { |
$aso_page['titre'] = $un_menu->gm_titre_alternatif; |
} else { |
$aso_page['titre'] = $un_menu->gm_nom; |
} |
// Affichage de l'horaire de la création de la page |
if (($heure = date('G', strtotime($un_menu->gm_date_creation)) ) != 0 ) { |
$aso_page['heure'] = $heure; |
$minute = date('i', strtotime($un_menu->gm_date_creation)); |
$aso_page['minute'] = $minute; |
if (($seconde = date('s', strtotime($un_menu->gm_date_creation)) ) != 0 ) { |
$aso_page['seconde'] = $seconde; |
} |
} |
// Affichage de la date de la création de la page |
if (($jour = date('d', strtotime($un_menu->gm_date_creation)) ) != 0 ) { |
$aso_page['jour'] = $jour; |
} |
if (($mois = _traduireMois(date('m', strtotime($un_menu->gm_date_creation))) ) != '' ) { |
$aso_page['mois'] = $mois; |
} |
if (($annee = date('Y', strtotime($un_menu->gm_date_creation)) ) != 0 ) { |
$aso_page['annee'] = $annee; |
} |
// Affichage de la description |
if (!empty($un_menu->gm_description_libre)) { |
$aso_page['decription'] = $un_menu->gm_description_libre; |
} |
// Affichage du résumé de la modification |
if (!empty($un_menu->gmc_resume_modification)) { |
$aso_page['resumer'] = $un_menu->gmc_resume_modification; |
} |
$GLOBALS['_NOUVEAUTE_']['pages'][] = $aso_page; |
} |
} |
} |
//+----------------------------------------------------------------------------------------------------------------+ |
// Extrait les variables et les ajoutes à l'espace de noms local |
// Gestion des squelettes |
extract($GLOBALS['_NOUVEAUTE_']); |
// Démarre le buffer |
ob_start(); |
// Inclusion du fichier |
include(NOUV_CHEMIN_SQUELETTE.NOUV_SQUELETTE_LISTE); |
// Récupérer le contenu du buffer |
$sortie = ob_get_contents(); |
// Arrête et détruit le buffer |
ob_end_clean(); |
//+----------------------------------------------------------------------------------------------------------------+ |
// Sortie |
return $sortie; |
} |
if (!function_exists('_traduireMois')) { |
function _traduireMois($mois_numerique) |
{ |
switch ($mois_numerique) { |
case '01' : |
return NOUV_LG_MOIS_01; |
case '02' : |
return NOUV_LG_MOIS_02; |
case '03' : |
return NOUV_LG_MOIS_03; |
case '04' : |
return NOUV_LG_MOIS_04; |
case '05' : |
return NOUV_LG_MOIS_05; |
case '06' : |
return NOUV_LG_MOIS_06; |
case '07' : |
return NOUV_LG_MOIS_07; |
case '08' : |
return NOUV_LG_MOIS_08; |
case '09' : |
return NOUV_LG_MOIS_09; |
case '10' : |
return NOUV_LG_MOIS_10; |
case '11' : |
return NOUV_LG_MOIS_11; |
case '12' : |
return NOUV_LG_MOIS_12; |
default: |
return ''; |
} |
} |
} |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.2 2006/12/13 09:26:44 jp_milcent |
* Ajout d'une valeur pour les champs vides. |
* |
* Revision 1.1 2006/12/12 17:16:22 jp_milcent |
* Ajout de l'applette Nouveaute. |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v4.0-djer/papyrus/applettes/body_attributs/body_attributs.php |
---|
New file |
0,0 → 1,56 |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// +------------------------------------------------------------------------------------------------------+ |
// | PHP version 5.1 | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (C) 2006 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 $ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
$GLOBALS['_GEN_commun']['info_applette_nom_fonction'] = 'afficherAttributsBody'; |
$GLOBALS['_GEN_commun']['info_applette_balise'] = '<!-- '.$GLOBALS['_GEN_commun']['balise_prefixe'].'BODY_ATTRIBUTS -->'; |
function afficherAttributsBody() |
{ |
global $_GEN_commun; |
$html = ""; |
if(!isset($_GEN_commun['attributs_body'])) |
return; |
foreach($_GEN_commun['attributs_body'] as $attribut => $valeur) |
{ |
$html .= " ".$attribut.'="'.$valeur .'"'; |
} |
return($html); |
} |
?> |
/tags/v4.0-djer/papyrus/applettes/vous_etes_ici/vous_etes_ici.php |
---|
New file |
0,0 → 1,257 |
<?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: vous_etes_ici.php,v 1.14 2008-08-08 15:11:24 jp_milcent Exp $ |
/** |
* Applette : Vous Etes Ici |
* |
* Affiche les liens contenant la suite des menus visités pour arriver |
* au menu courant visioné par l'utilisateur. |
* Nécessite : |
* - Constantes et variable de Papyrus. |
* - Base de données de Papyrus |
* - Pear Net_URL |
* - Pear DB |
* - API Débogage 1.0 |
* |
*@package Applette |
*@subpackage Vous_Etes_Ici |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.14 $ $Date: 2008-08-08 15:11:24 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// Inclusion de la bibliothèque defonction sur les menu : inutile car inclue par Papyrus |
// require_once GEN_CHEMIN_BIBLIO.'pap_menu.fonct.php'; |
$GLOBALS['_VEI_']['nom_fonction'] = 'afficherVousEtesIci'; |
$GLOBALS['_GEN_commun']['info_applette_nom_fonction'] = $GLOBALS['_VEI_']['nom_fonction']; |
$GLOBALS['_GEN_commun']['info_applette_balise'] = '(?:<!-- '.$GLOBALS['_GEN_commun']['balise_prefixe'].'(VOUS_ETES_ICI) -->|'. |
'\{\{[Vv]ousEtesIci\s*\}\})'; |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// +------------------------------------------------------------------------------------------------------+ |
// | LISTE de FONCTIONS | |
// +------------------------------------------------------------------------------------------------------+ |
/** Fonction afficherVousEtesIci() - Déploie le "vous êtes ici" d'un menu. |
* |
* Affiche la suite des menus visité, sous forme de lien, pour arriver |
* au menu courant visioné par l'utilisateur. |
* Necessite : |
* - Constantes et variable de Papyrus. |
* - Pear Net_URL |
* - Pear DB |
* |
* @param array tableau d'éventuel arguments présent dans la balise transmis à la fonction. |
* @param array tableau global de Papyrus. |
* @param int identifiant du menu courant qui représentent la fin du "vous êtes ici". |
* @param boolean indique que nous avons à faire au premier appel de cette fonction récursive. |
* @return string une liste de listes XHTML représentant le plan du site. |
*/ |
function afficherVousEtesIci($tab_arguments, $_GEN_commun, $menu_courant_id = '', $premier_appel = true) |
{ |
// Initialisation de variable. |
$objet_pear_db =& $_GEN_commun['pear_db']; |
$vei_numero = $GLOBALS['_PAPYRUS_']['applette']['comptage'][$GLOBALS['_VEI_']['nom_fonction']]; |
if (isset($_GEN_commun['info_menu']->gm_id_menu)) { |
(empty($menu_courant_id)) ? $menu_courant_id = $_GEN_commun['info_menu']->gm_id_menu : ''; |
} |
$vei = ''; |
// Gestion des erreurs |
if (empty($menu_courant_id)) { |
if (isset($GLOBALS['_VEI_']['usurpation'])) { |
$vei = $GLOBALS['_VEI_']['usurpation']; |
} |
return $vei; |
} |
// Début contruction du vei |
$menu_pere_id = GEN_lireIdentifiantMenuPere($menu_courant_id, $objet_pear_db); |
// Récupération des infos sur sur l'entrée du menu à afficher |
// GEN_I18N_ID_DEFAUT; |
$id_langue = $_GEN_commun['i18n']; |
if (isset($id_langue) && ($id_langue!='')) { |
$langue_test=$id_langue; |
} else { |
$langue_test = GEN_I18N_ID_DEFAUT; |
} |
$requete_traduction = 'SELECT gmr_id_menu_02, gm_ce_i18n '. |
'FROM gen_menu_relation, gen_menu '. |
'WHERE '.$menu_courant_id.' = gmr_id_menu_01 ' . |
'AND gmr_id_menu_02 = gm_id_menu '. |
'AND gmr_id_valeur = 2 '.// 2 = "avoir traduction" |
'AND gm_ce_i18n = "'.$langue_test.'" '; |
$resultat_traduction = $objet_pear_db->query($requete_traduction); |
(DB::isError($resultat_traduction)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_traduction->getMessage(), $requete_traduction)) |
: ''; |
if ($resultat_traduction->numRows() > 0) { |
$ligne_resultat_traduction=$resultat_traduction->fetchRow(DB_FETCHMODE_ASSOC); |
$menu_courant_id=$ligne_resultat_traduction['gmr_id_menu_02']; |
} |
$menu_info = GEN_lireInfoMenu($objet_pear_db, $menu_courant_id, DB_FETCHMODE_ASSOC); |
// Nous affichons le menu seulement si sa date de validité est bonne |
if ($menu_info['gm_date_fin_validite'] == '0000-00-00 00:00:00' || strtotime($menu_info['gm_date_fin_validite']) > time() ) { |
// Préparation d'une entrée dans la liste du menu |
$menu_nom = htmlentities($menu_info['gm_nom']); |
$menu_hreflang = htmlentities($menu_info['gm_ce_i18n']); |
$menu_accesskey = ''; |
$raccourci_txt = ''; |
if (($menu_accesskey = htmlentities($menu_info['gm_raccourci_clavier'])) != '') { |
$raccourci_txt = '(Raccourci : '.$menu_accesskey.' ).'; |
$menu_accesskey = 'accesskey="'.$menu_accesskey.'" '; |
} |
$menu_texte_title = ''; |
if (($menu_texte_title = htmlentities($menu_info['gm_description_resume'])) != '') { |
$menu_texte_title = 'title="'.$raccourci_txt.$menu_texte_title.'" ';; |
} |
// Création de l'url du menu courant |
$une_url =& new Pap_URL(PAP_URL); |
$une_url->setId($menu_courant_id); |
$menu_url = $une_url->getURL(); |
// Construction du VEI |
$vei .= '<a id="vei_menu_'.$vei_numero.'_'.$menu_courant_id.'" href="'.$menu_url.'" '; |
$vei .= 'hreflang="'.$menu_hreflang.'" '.$menu_texte_title.$menu_accesskey.'>'.$menu_nom.'</a>'; |
if ($menu_pere_id != 0) { |
// Ce n'est pas le menu racine : nous afficons le symbole de séparation |
$vei .= ' >>> '; |
} |
$vei .= "\n"; |
} |
// Ce n'est pas le menu racine : nous continuons à rechercher les menus |
if ($menu_pere_id != 0) { |
$vei .= afficherVousEtesIci($tab_arguments, $_GEN_commun, $menu_pere_id, false); |
} |
// Retour du VEI après la recherche récursive des liens |
if ($premier_appel) { |
$tab_vei = explode(' >>> ', $vei); |
// Récupération des liens pour les inverser et créer le VEI |
$retour = ''; |
for ($i = (count($tab_vei) - 1); $i >= 0 ;$i--) { |
if ($i == 0) { |
// Supprime le lien pour le nom du menu courant |
$tab_txt_capture=''; |
preg_match("/>(.*)<\/a>/", $tab_vei[$i], $tab_txt_capture); |
$retour .= $tab_txt_capture[1]; |
} else { |
$retour .= $tab_vei[$i]; |
} |
// Ajout du séparateur |
$retour .= ($i != 0) ? "\n".'<span class="separateur_vei"> > </span>'."\n" : '' ; |
} |
// Retour de la chaine de liens et de textes du VEI |
return $retour; |
} |
return $vei; |
} |
// +------------------------------------------------------------------------------------------------------+ |
// | PIED du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.13.2.1 2008-08-08 15:10:06 jp_milcent |
* Correction du boge : FS#89 |
* |
* Revision 1.13 2007-05-24 16:51:55 jp_milcent |
* Utilisation de la constante PAP_URL. |
* |
* Revision 1.12 2006-12-12 13:53:54 jp_milcent |
* Mise en place du nouveau format des balises d'applette. |
* |
* Revision 1.11 2006/12/01 16:33:40 florian |
* Amélioration de la gestion des applettes et compatibilité avec le nouveau mode de gestion de l'inclusion des applettes. |
* |
* Revision 1.10 2006/04/28 12:41:49 florian |
* corrections erreurs chemin |
* |
* Revision 1.9 2006/03/02 10:49:49 ddelon |
* Fusion branche multilinguisme dans branche principale |
* |
* Revision 1.8.2.1 2006/02/28 14:02:10 ddelon |
* Finition multilinguisme |
* |
* Revision 1.8 2005/09/26 20:18:27 ddelon |
* Appli projet : php5 et generalisation |
* |
* Revision 1.7 2005/09/23 14:21:18 florian |
* compatibilité XHTML |
* |
* Revision 1.6 2005/04/14 16:38:02 jpm |
* Ajout de la gestion des URL avec la classe Pap_URL de Papyrus. |
* |
* Revision 1.5 2004/12/06 19:39:57 jpm |
* Gestion de l'usurpation de VEI. |
* |
* Revision 1.4 2004/11/10 19:41:27 jpm |
* Correction bogue quand pas de menu par défaut. |
* |
* Revision 1.3 2004/09/23 17:57:19 jpm |
* La page active n'est pas afficher sous forme de lien mais sous forme de texte. |
* |
* Revision 1.2 2004/07/06 17:07:21 jpm |
* Modification de la documentation pour une mailleur analyse par PhpDocumentor. |
* |
* Revision 1.1 2004/06/15 15:06:25 jpm |
* Changement de nom et d'arborescence de Genesia en Papyrus. |
* |
* Revision 1.4 2004/05/05 14:33:19 jpm |
* Gestion de l'indication de langue dans l'url. |
* Utile que si on veut forcer la langue. |
* |
* Revision 1.2 2004/05/05 06:44:33 jpm |
* Complément des commentaires indiquant les paquetages nécessaire à l'applette. |
* |
* Revision 1.1 2004/05/05 06:39:18 jpm |
* Transformation en applette de la fonction générant le "vous êtes ici". |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v4.0-djer/papyrus/applettes/inclure/langues/incl_langue_fr.inc.php |
---|
New file |
0,0 → 1,89 |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// +------------------------------------------------------------------------------------------------------+ |
// | PHP version 5.1 | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (C) 2006 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: incl_langue_fr.inc.php,v 1.4 2007-08-28 14:23:55 jp_milcent Exp $ |
/** |
* papyrus |
* |
* Description... |
* |
*@package Applette |
*@subpackage Inclure |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2006 |
*@version $Revision: 1.4 $ $Date: 2007-08-28 14:23:55 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/** Texte affiché quand un problème a été rencontré lors de l'inclusion.*/ |
define('CATEG_LG_ERREUR_INCLUSION', "Applette INCLURE : problème lors de la tentative d'inclusion de la page : %s"); |
/** Texte affiché quand un problème a été rencontré pour la détermination de l'encodage.*/ |
define('CATEG_LG_ERREUR_ENCODAGE', "Applette INCLURE : problème lors de la recherche de l'encodage de la page à inclure : %s"); |
/** Texte affiché quand un site n'a pas été indexé.*/ |
define('CATEG_LG_ERREUR_SITE', "Applette INCLURE : le site interwiki '%s' n'est pas référencé dans le fichier de configuration avancé de Papyrus."); |
/** Texte affiché quand le paramètre "interwiki" est abscent.*/ |
define('CATEG_LG_ERREUR_INTERWIKI', "Applette INCLURE : le paramètre 'interwiki' est obligatoire dans '%s' !"); |
/** Texte affiché quand le paramètre "page" est abscent.*/ |
define('CATEG_LG_ERREUR_PAGE', "Applette INCLURE : le paramètre 'page' est obligatoire dans '%s' !"); |
// +------------------------------------------------------------------------------------------------------+ |
// | PIED du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.3 2007-08-28 14:14:13 jp_milcent |
* Correction de bogues empéchant l'affichage. |
* |
* Revision 1.2 2006-12-08 15:57:30 jp_milcent |
* Amélioration de la gestion du débogage de l'applette inclure. |
* |
* Revision 1.1 2006/12/01 17:36:28 florian |
* Ajout de l'apllette Inclure, provenant de l'action Inclure. |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v4.0-djer/papyrus/applettes/inclure/squelettes/incl_liste.tpl.html |
---|
New file |
0,0 → 1,12 |
<!-- INCLURE - DEBUT --> |
<?php if ($erreurs) : ?> |
<?php foreach ($erreurs as $erreur) : ?> |
<p class="pap_erreur"><?=$erreur;?></p> |
<?php endforeach; ?> |
<?php elseif ($informations) : ?> |
<?php foreach ($informations as $information) : ?> |
<p class="pap_info"><?=$information;?></p> |
<?php endforeach; ?> |
<?php endif; ?> |
<?=$sortie;?> |
<!-- INCLURE - FIN --> |
/tags/v4.0-djer/papyrus/applettes/inclure/configuration/incl_configuration.inc.php |
---|
New file |
0,0 → 1,97 |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// +------------------------------------------------------------------------------------------------------+ |
// | PHP version 5.1 | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (C) 2006 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: incl_configuration.inc.php,v 1.2 2006-12-08 15:57:30 jp_milcent Exp $ |
/** |
* papyrus |
* |
* Description... |
* |
*@package Applette |
*@subpackage Inclure |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2006 |
*@version $Revision: 1.2 $ $Date: 2006-12-08 15:57:30 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
$GLOBALS['_INCLURE_'] = array(); |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/** Variable contenant les sites pouvant être inclus.*/ |
$GLOBALS['_INCLURE_']['site'] = $GLOBALS['_PAPYRUS_']['inclure_sites']; |
/** Variable contenant l'encodage de la page courrante de Papyrus.*/ |
$GLOBALS['_INCLURE_']['encodage'] = $GLOBALS['_PAPYRUS_']['page']['jeu_de_caracteres']; |
/** Constante stockant la valeur de la langue par défaut pour l'applette INCL.*/ |
define('INCL_I18N_DEFAUT', GEN_I18N_ID_DEFAUT); |
// Chemin des fichiers à inclure. |
/** Chemin vers la bibliothèque PEAR.*/ |
define('INCL_CHEMIN_BIBLIOTHEQUE_PEAR', PAP_CHEMIN_API_PEAR); |
// Chemin vers les dossiers de l'applette |
/** Chemin vers l'applette Inclure de Papyrus.*/ |
define('INCL_CHEMIN_APPLETTE', GEN_CHEMIN_APPLETTE.'inclure'.GEN_SEP); |
/** Chemin vers les fichiers de traduction de l'applette Inclure de Papyrus.*/ |
define('INCL_CHEMIN_LANGUE', INCL_CHEMIN_APPLETTE.'langues'.GEN_SEP); |
/** Chemin vers les fichiers de la bibliotheque de l'applette Inclure de Papyrus.*/ |
define('INCL_CHEMIN_BIBLIO', INCL_CHEMIN_APPLETTE.'bibliotheque'.GEN_SEP); |
/** Chemin vers les fichiers squelettes de l'applette Inclure de Papyrus.*/ |
define('INCL_CHEMIN_SQUELETTE', INCL_CHEMIN_APPLETTE.'squelettes'.GEN_SEP); |
// Configuration du rendu |
/** Nom du fichier de squelette à utiliser pour la liste des pages.*/ |
define('INCL_SQUELETTE_LISTE', 'incl_liste.tpl.html'); |
// +------------------------------------------------------------------------------------------------------+ |
// | PIED du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.1 2006/12/01 17:36:28 florian |
* Ajout de l'apllette Inclure, provenant de l'action Inclure. |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v4.0-djer/papyrus/applettes/inclure/inclure.php |
---|
New file |
0,0 → 1,180 |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// +------------------------------------------------------------------------------------------------------+ |
// | PHP version 5.1 | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (C) 2006 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: inclure.php,v 1.5 2008-11-19 09:26:48 aperonnet Exp $ |
/** |
* Applette : Inclure |
* |
* Retourne toutes les pages Papyrus appartenant à une catégorie donnée. |
* |
*@package Applette |
*@subpackage Inclure |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2006 |
*@version $Revision: 1.5 $ $Date: 2008-11-19 09:26:48 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
$GLOBALS['_GEN_commun']['info_applette_nom_fonction'] = 'afficherInclure'; |
$GLOBALS['_GEN_commun']['info_applette_balise'] = '\{\{[Ii]nclure(?:\s*(?:(page="[^"]+")|(interwiki="[^"]+")|))+\s*\}\}'; |
// -------------------------------------------------------------------------------------------------------- |
//Utilisation de la bibliothèque Papyrus pap_meta.fonct.php inclue par Papyrus |
//Utilisation de la bibliothèque PEAR NET_URL inclue par Papyrus |
/** Inclusion du fichier de configuration de cette application.*/ |
require_once GEN_CHEMIN_APPLETTE.'inclure'.GEN_SEP.'configuration'.GEN_SEP.'incl_configuration.inc.php'; |
// Inclusion des fichiers de traduction de l'applette CATEG de Papyrus |
if (file_exists(INCL_CHEMIN_LANGUE.'incl_langue_'.$GLOBALS['_GEN_commun']['i18n'].'.inc.php')) { |
/** Inclusion du fichier de traduction suite à la transaction avec le navigateur.*/ |
require_once INCL_CHEMIN_LANGUE.'incl_langue_'.$GLOBALS['_GEN_commun']['i18n'].'.inc.php'; |
} else { |
/** Inclusion du fichier de traduction par défaut.*/ |
require_once INCL_CHEMIN_LANGUE.'incl_langue_'.INCL_I18N_DEFAUT.'.inc.php'; |
} |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/** Fonction afficherInclure() - Retourne la liste des pages d'une catégorie. |
* |
* Cette fonction retourne la liste des pages appartenant à une catégorie donnée. |
* |
* @param array contient les arguments de la fonction. |
* @param array tableau global de Papyrus. |
* @return string HTML la liste des listes de menus. |
*/ |
function afficherInclure($tab_applette_arguments, $_GEN_commun) |
{ |
// Initialisation des variables |
$sortie = ''; |
$GLOBALS['_INCLURE_']['informations'] = array(); |
$GLOBALS['_INCLURE_']['erreurs'] = array(); |
//+----------------------------------------------------------------------------------------------------------------+ |
// Gestion des arguments |
$tab_arguments = $tab_applette_arguments; |
unset($tab_arguments[0]); |
foreach($tab_arguments as $argument) { |
$tab_parametres = explode('=', $argument); |
if ($tab_parametres[0] != '' && $tab_parametres[1] != '') { |
$options[$tab_parametres[0]] = trim($tab_parametres[1], '"'); |
} |
} |
//+----------------------------------------------------------------------------------------------------------------+ |
// Gestion des erreurs de paramètrage |
$ok = true; |
if (!isset($options['interwiki'])) { |
$GLOBALS['_INCLURE_']['erreurs'][] = sprintf(CATEG_LG_ERREUR_INTERWIKI, $tab_applette_arguments[0]); |
$ok = false; |
} else { |
if (!isset($GLOBALS['_INCLURE_']['site'][$options['interwiki']])) { |
$GLOBALS['_INCLURE_']['erreurs'][] = sprintf(CATEG_LG_ERREUR_SITE, $options['interwiki']); |
$ok = false; |
} |
} |
if (!isset($options['page'])) { |
$GLOBALS['_INCLURE_']['erreurs'][] = sprintf(CATEG_LG_ERREUR_PAGE, $tab_applette_arguments[0]); |
$ok = false; |
} |
//+----------------------------------------------------------------------------------------------------------------+ |
// Récupération des données |
$GLOBALS['_INCLURE_']['sortie'] = ''; |
if ($ok) { |
$href = $GLOBALS['_INCLURE_']['site'][$options['interwiki']]['url']; |
$href = sprintf($href, $options['page']); |
$contenu = file_get_contents($href); |
if ($contenu != false) { |
$tab_matches = ''; |
preg_match($GLOBALS['_INCLURE_']['site'][$options['interwiki']]['preg'], $contenu, $tab_matches); |
$tab_encodage = ''; |
if (preg_match('/charset=(.+)"/Ui', $contenu, $tab_encodage) || preg_match('/encoding="(.+)"/Ui', $contenu, $tab_encodage)) { |
if (preg_match('/^(?:iso-8859-1|iso-8859-15)$/i', $GLOBALS['_INCLURE_']['encodage']) && preg_match('/utf-8/i', $tab_encodage[1])) { |
$GLOBALS['_INCLURE_']['sortie'] = utf8_decode($tab_matches[1]); |
} else { |
$GLOBALS['_INCLURE_']['sortie'] = $tab_matches[1]; |
} |
} else { |
$GLOBALS['_INCLURE_']['informations'][] = sprintf(CATEG_LG_ERREUR_ENCODAGE, $href); |
} |
} else { |
$GLOBALS['_INCLURE_']['informations'][] = sprintf(CATEG_LG_ERREUR_INCLUSION, $href); |
} |
} |
//+----------------------------------------------------------------------------------------------------------------+ |
// Extrait les variables et les ajoutes à l'espace de noms local |
// Gestion des squelettes |
extract($GLOBALS['_INCLURE_']); |
// Démarre le buffer |
ob_start(); |
// Inclusion du fichier |
include(INCL_CHEMIN_SQUELETTE.INCL_SQUELETTE_LISTE); |
// Récupérer le contenu du buffer |
$sortie = ob_get_contents(); |
// Arrête et détruit le buffer |
ob_end_clean(); |
//+----------------------------------------------------------------------------------------------------------------+ |
// Sortie |
return $sortie; |
} |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.4 2007-08-28 14:23:55 jp_milcent |
* Amélioration de la gestion de l'inclusion. |
* |
* Revision 1.3 2007-08-28 14:14:13 jp_milcent |
* Correction de bogues empéchant l'affichage. |
* |
* Revision 1.2 2006-12-08 15:57:30 jp_milcent |
* Amélioration de la gestion du débogage de l'applette inclure. |
* |
* Revision 1.1 2006/12/01 17:36:28 florian |
* Ajout de l'apllette Inclure, provenant de l'action Inclure. |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v4.0-djer/papyrus/applettes/categorie/configuration/categ_configuration.inc.php |
---|
New file |
0,0 → 1,88 |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// +------------------------------------------------------------------------------------------------------+ |
// | PHP version 5.1 | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (C) 2006 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: categ_configuration.inc.php,v 1.2 2006-12-07 18:16:45 jp_milcent Exp $ |
/** |
* papyrus |
* |
* Description... |
* |
*@package Applette |
*@subpackage Identification |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2006 |
*@version $Revision: 1.2 $ $Date: 2006-12-07 18:16:45 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
$GLOBALS['_CATEGORIE_'] = array(); |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/** Constante stockant la valeur de la langue par défaut pour l'applette CATEG.*/ |
define('CATEG_I18N_DEFAUT', GEN_I18N_ID_DEFAUT); |
// Chemin vers les dossiers de l'applette |
/** Chemin vers l'applette Categorie de Papyrus.*/ |
define('CATEG_CHEMIN_APPLETTE', GEN_CHEMIN_APPLETTE.'categorie'.GEN_SEP); |
/** Chemin vers les fichiers de traduction de l'applette Categorie de Papyrus.*/ |
define('CATEG_CHEMIN_LANGUE', CATEG_CHEMIN_APPLETTE.'langues'.GEN_SEP); |
/** Chemin vers les fichiers de la bibliotheque de l'applette Categorie de Papyrus.*/ |
define('CATEG_CHEMIN_BIBLIO', CATEG_CHEMIN_APPLETTE.'bibliotheque'.GEN_SEP); |
/** Chemin vers les fichiers squelettes de l'applette Categorie de Papyrus.*/ |
define('CATEG_CHEMIN_SQUELETTE', CATEG_CHEMIN_APPLETTE.'squelettes'.GEN_SEP); |
// Configuration du rendu |
/** Nom du fichier de squelette à utiliser pour la liste des pages.*/ |
define('CATEG_SQUELETTE_LISTE', 'categ_liste.tpl.html'); |
// +------------------------------------------------------------------------------------------------------+ |
// | PIED du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.1 2006/12/01 16:34:50 florian |
* Ajout de l'apllette Categorie, provenant de l'action Categorie. |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v4.0-djer/papyrus/applettes/categorie/categorie.php |
---|
New file |
0,0 → 1,239 |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// +------------------------------------------------------------------------------------------------------+ |
// | PHP version 5.1 | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (C) 2006 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: categorie.php,v 1.5 2006-12-12 13:32:00 jp_milcent Exp $ |
/** |
* Applette : Catégorie |
* |
* Retourne toutes les pages Papyrus appartenant à une catégorie donnée. |
* |
*@package Applette |
*@subpackage Categorie |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2006 |
*@version $Revision: 1.5 $ $Date: 2006-12-12 13:32:00 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
$GLOBALS['_GEN_commun']['info_applette_nom_fonction'] = 'afficherCategorie'; |
$GLOBALS['_GEN_commun']['info_applette_balise'] = '\{\{[Cc]ategorie(?:\s*(?:(mots="[^"]+")|))+\s*\}\}'; |
// -------------------------------------------------------------------------------------------------------- |
//Utilisation de la bibliothèque Papyrus pap_meta.fonct.php inclue par Papyrus |
//Utilisation de la bibliothèque PEAR NET_URL inclue par Papyrus |
/** Inclusion du fichier de configuration de cette application.*/ |
require_once GEN_CHEMIN_APPLETTE.'categorie'.GEN_SEP.'configuration'.GEN_SEP.'categ_configuration.inc.php'; |
// Inclusion des fichiers de traduction de l'applette CATEG de Papyrus |
if (file_exists(CATEG_CHEMIN_LANGUE.'categ_langue_'.$GLOBALS['_GEN_commun']['i18n'].'.inc.php')) { |
/** Inclusion du fichier de traduction suite à la transaction avec le navigateur.*/ |
require_once CATEG_CHEMIN_LANGUE.'categ_langue_'.$GLOBALS['_GEN_commun']['i18n'].'.inc.php'; |
} else { |
/** Inclusion du fichier de traduction par défaut.*/ |
require_once CATEG_CHEMIN_LANGUE.'categ_langue_'.CATEG_I18N_DEFAUT.'.inc.php'; |
} |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/** Fonction afficherCategorie() - Retourne la liste des pages d'une catégorie. |
* |
* Cette fonction retourne la liste des pages appartenant à une catégorie donnée. |
* |
* @param array contient les arguments de la fonction. |
* @param array tableau global de Papyrus. |
* @return string HTML la liste des listes de menus. |
*/ |
function afficherCategorie($tab_applette_arguments, $_GEN_commun) |
{ |
// Initialisation des variables |
$sortie = ''; |
//+----------------------------------------------------------------------------------------------------------------+ |
// Gestion des arguments |
$tab_arguments = $tab_applette_arguments; |
unset($tab_arguments[0]); |
foreach($tab_arguments as $argument) { |
$tab_parametres = explode('=', $argument); |
$options[$tab_parametres[0]] = trim($tab_parametres[1], '"'); |
} |
//+----------------------------------------------------------------------------------------------------------------+ |
// Gestion des erreurs de paramètrage |
$GLOBALS['_CATEGORIE_']['erreur'] = ''; |
if (!isset($options['mots'])) { |
$GLOBALS['_CATEGORIE_']['erreur'] = CATEG_LG_ERREUR_MOTS; |
} |
//+----------------------------------------------------------------------------------------------------------------+ |
// Récupération des données |
$tab_mots = explode(',', $options['mots']); |
for ($i = 0; $i < count($tab_mots); $i++) { |
// Suppression des espaces, tabulations... en début et fin de chaine |
$tab_mots[$i] = trim($tab_mots[$i]); |
} |
$aso_info_menu = GEN_lireInfoMenuCategorie($_GEN_commun['pear_db'], $tab_mots); |
if (count($aso_info_menu) == 0) { |
$GLOBALS['_CATEGORIE_']['information'] = sprintf(CATEG_LG_INFO_ZERO_PAGE, $options['mots']); |
} else { |
foreach ($aso_info_menu as $id_menu => $un_menu) { |
// Initialisation |
$aso_page = array(); |
$aso_page['url'] = '#'; |
$aso_page['auteur'] = CATEG_LG_INCONNU_AUTEUR; |
$aso_page['titre'] = CATEG_LG_INCONNU_TITRE; |
$aso_page['heure'] = ''; |
$aso_page['minute'] = ''; |
$aso_page['seconde'] = ''; |
$aso_page['jours'] = ''; |
$aso_page['mois'] = ''; |
$aso_page['annee'] = ''; |
// Création de l'url |
$une_url =& new Pap_URL(); |
$une_url->setId($id_menu); |
$aso_page['url'] = $une_url->getURL(); |
// Affichage de l'auteur(s) |
if ($un_menu->gm_auteur != '') { |
$aso_page['auteur'] = $un_menu->gm_auteur; |
} |
// Affichage du titre |
if ($un_menu->gm_titre != '') { |
$aso_page['titre'] = $un_menu->gm_titre; |
} |
// Affichage de l'horaire de la création de la page |
if (($heure = date('G', strtotime($un_menu->gm_date_creation)) ) != 0 ) { |
$aso_page['heure'] = $heure; |
$minute = date('i', strtotime($un_menu->gm_date_creation)); |
$aso_page['minute'] = $minute; |
if (($seconde = date('s', strtotime($un_menu->gm_date_creation)) ) != 0 ) { |
$aso_page['seconde'] = $seconde; |
} |
} |
// Affichage de la date de la création de la page |
if (($jour = date('d', strtotime($un_menu->gm_date_creation)) ) != 0 ) { |
$aso_page['jour'] = $jour; |
} |
if (($mois = _traduireMois(date('m', strtotime($un_menu->gm_date_creation))) ) != '' ) { |
$aso_page['mois'] = $mois; |
} |
if (($annee = date('Y', strtotime($un_menu->gm_date_creation)) ) != 0 ) { |
$aso_page['annee'] = $annee; |
} |
$GLOBALS['_CATEGORIE_']['pages'][] = $aso_page; |
} |
} |
//+----------------------------------------------------------------------------------------------------------------+ |
// Extrait les variables et les ajoutes à l'espace de noms local |
// Gestion des squelettes |
extract($GLOBALS['_CATEGORIE_']); |
// Démarre le buffer |
ob_start(); |
// Inclusion du fichier |
include(CATEG_CHEMIN_SQUELETTE.CATEG_SQUELETTE_LISTE); |
// Récupérer le contenu du buffer |
$sortie = ob_get_contents(); |
// Arrête et détruit le buffer |
ob_end_clean(); |
//+----------------------------------------------------------------------------------------------------------------+ |
// Sortie |
return $sortie; |
} |
// +------------------------------------------------------------------------------------------------------+ |
// | LISTE DES FONCTIONS | |
// +------------------------------------------------------------------------------------------------------+ |
if (!function_exists('_traduireMois')) { |
function _traduireMois($mois_numerique) |
{ |
switch ($mois_numerique) { |
case '01' : |
return CATEG_LG_MOIS_01; |
case '02' : |
return CATEG_LG_MOIS_02; |
case '03' : |
return CATEG_LG_MOIS_03; |
case '04' : |
return CATEG_LG_MOIS_04; |
case '05' : |
return CATEG_LG_MOIS_05; |
case '06' : |
return CATEG_LG_MOIS_06; |
case '07' : |
return CATEG_LG_MOIS_07; |
case '08' : |
return CATEG_LG_MOIS_08; |
case '09' : |
return CATEG_LG_MOIS_09; |
case '10' : |
return CATEG_LG_MOIS_10; |
case '11' : |
return CATEG_LG_MOIS_11; |
case '12' : |
return CATEG_LG_MOIS_12; |
default: |
return ''; |
} |
} |
} |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.4 2006/12/08 20:10:41 jp_milcent |
* Amélioration de l'expression régulière. |
* |
* Revision 1.3 2006/12/07 18:16:21 jp_milcent |
* Gestion des squelettes. |
* |
* Revision 1.2 2006/12/01 17:37:46 florian |
* Amélioration de la gestion des arguments de l'applette dans l'expression régulière. |
* |
* Revision 1.1 2006/12/01 16:34:50 florian |
* Ajout de l'apllette Categorie, provenant de l'action Categorie. |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v4.0-djer/papyrus/applettes/categorie/langues/categ_langue_fr.inc.php |
---|
New file |
0,0 → 1,108 |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// +------------------------------------------------------------------------------------------------------+ |
// | PHP version 5.1 | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (C) 2006 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: categ_langue_fr.inc.php,v 1.3 2006-12-07 18:12:26 jp_milcent Exp $ |
/** |
* papyrus |
* |
* Description... |
* |
*@package Applette |
*@subpackage Categorie |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2006 |
*@version $Revision: 1.3 $ $Date: 2006-12-07 18:12:26 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/** Texte affiché quand l'auteur est inconnu.*/ |
define('CATEG_LG_INCONNU_AUTEUR', 'Anonyme'); |
/** Texte affiché quand le titre est vide.*/ |
define('CATEG_LG_INCONNU_TITRE', 'Titre inconnu'); |
/** Texte affiché quand le paramètre "mots" est abscent.*/ |
define('CATEG_LG_ERREUR_MOTS', "Applette CATEGORIE : le paramètre 'mots' est obligatoire!"); |
/** Texte affiché quand on n'a pas de page à afficher'.*/ |
define('CATEG_LG_INFO_ZERO_PAGE', "Applette CATEGORIE : aucune page n'a été trouvé pour : %s !"); |
/** Mois de janvier.*/ |
define('CATEG_LG_MOIS_01', 'janvier'); |
/** Mois de février.*/ |
define('CATEG_LG_MOIS_02', 'février'); |
/** Mois de mars.*/ |
define('CATEG_LG_MOIS_03', 'mars'); |
/** Mois d'avril.*/ |
define('CATEG_LG_MOIS_04', 'avril'); |
/** Mois de mai.*/ |
define('CATEG_LG_MOIS_05', 'mai'); |
/** Mois de juin.*/ |
define('CATEG_LG_MOIS_06', 'juin'); |
/** Mois de juillet.*/ |
define('CATEG_LG_MOIS_07', 'juillet'); |
/** Mois d'août'.*/ |
define('CATEG_LG_MOIS_08', 'août'); |
/** Mois de septembre.*/ |
define('CATEG_LG_MOIS_09', 'septembre'); |
/** Mois d'octobre.*/ |
define('CATEG_LG_MOIS_10', 'octobre'); |
/** Mois de novembre.*/ |
define('CATEG_LG_MOIS_11', 'novembre'); |
/** Mois de décembre.*/ |
define('CATEG_LG_MOIS_12', 'décembre'); |
// +------------------------------------------------------------------------------------------------------+ |
// | PIED du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.2 2006/12/07 17:51:48 jp_milcent |
* Ajout d'un fichier de langue. |
* |
* Revision 1.1 2006/12/01 16:34:50 florian |
* Ajout de l'apllette Categorie, provenant de l'action Categorie. |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v4.0-djer/papyrus/applettes/categorie/squelettes/categ_liste.tpl.html |
---|
New file |
0,0 → 1,32 |
<!-- CATEGORIE - DEBUT --> |
<?php if ($erreur) : ?> |
<p class="pap_erreur"><?=$erreur;?></p> |
<?php elseif ($information) : ?> |
<p class="zone_info"><?=$information;?></p> |
<?php else : ?> |
<ul class="page_liste"> |
<?php foreach ($pages as $page) : ?> |
<li> |
<span class="page_auteur"><?=$page['auteur'];?></span> |
<span class="page_separateur_auteur"> - </span> |
<a href="<?=$page['url'];?>"><span class="page_titre"><?=$page['titre'];?></span></a> |
<span class="page_separateur_titre"> - </span> |
<span class="page_creation_heure"><?=$page['heure'];?></span> |
<span class="page_separateur_heure">:</span> |
<span class="page_creation_minute"><?=$page['minute'];?></span> |
<span class="page_separateur_heure">:</span> |
<span class="page_creation_seconde"><?=$page['seconde'];?></span> |
<span class="page_separateur_date_heure"> - </span> |
<span class="page_creation_jour"><?=$page['jour'];?></span> |
<span class="page_creation_mois"><?=$page['mois'];?></span> |
<span class="page_creation_annee"><?=$page['annee'];?></span> |
</li> |
<?php endforeach; ?> |
</ul> |
<?php endif; ?> |
<!-- CATEGORIE - FIN --> |
/tags/v4.0-djer/papyrus/applettes/selecteur_sites/configuration/sesi_config.inc.php |
---|
New file |
0,0 → 1,72 |
<?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: sesi_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'applette IDEN.*/ |
define('SESI_I18N_DEFAUT', GEN_I18N_ID_DEFAUT); |
// Chemin vers les dossiers de l'applette |
/** Chemin vers l'applette Identification de Papyrus.*/ |
define('SESI_CHEMIN_APPLETTE', GEN_CHEMIN_APPLETTE.'selecteur_sites'.GEN_SEP); |
/** Chemin vers les fichiers de traduction de l'applette Identification de Papyrus.*/ |
define('SESI_CHEMIN_LANGUE', SESI_CHEMIN_APPLETTE.'langues'.GEN_SEP); |
/** Chemin vers les fichiers de la bibliotheque de l'applette Identification de Papyrus.*/ |
define('SESI_CHEMIN_BIBLIO', SESI_CHEMIN_APPLETTE.'bibliotheque'.GEN_SEP); |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* 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/v4.0-djer/papyrus/applettes/selecteur_sites/selecteur_sites.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: selecteur_sites.php,v 1.12 2007-05-24 16:26:08 jp_milcent Exp $ |
/** |
* Applette : selecteur sites |
* |
* Génère un formulaire contenant un menu déroulant permettant de choisir un site parmis les disponibles. |
* Nécessite : |
* - Constantes et globales de Papyrus. |
* - Base de données de Papyrus |
* - Pear Net_URL |
* - Pear DB |
* - API Débogage 1.0 |
* Le nom de l'applette est "SELECTEUR_SITES" pour afficher un formulaire HTML et "SELECTEUR_SITES_XHTML" |
* pour afficher un formulaire XHTML strict. |
* |
*@package Applette |
*@subpackage Selecteur_sites |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.12 $ $Date: 2007-05-24 16:26:08 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
$GLOBALS['_GEN_commun']['info_applette_nom_fonction'] = 'afficherSelecteurSite'; |
$GLOBALS['_GEN_commun']['info_applette_balise'] = '<!-- '.$GLOBALS['_GEN_commun']['balise_prefixe'].'(SELECTEUR_SITES_?(XHTML)?_?(SANS_(?:\d+_?)+)?) -->'; |
/** Inclusion du fichier de configuration de cette applette.*/ |
require_once GEN_CHEMIN_APPLETTE.'selecteur_sites'.GEN_SEP.'configuration'.GEN_SEP.'sesi_config.inc.php'; |
// Inclusion des fichiers de traduction de l'applette. |
if (file_exists(SESI_CHEMIN_LANGUE.'sesi_langue_'.$GLOBALS['_GEN_commun']['i18n'].'.inc.php')) { |
/** Inclusion du fichier de traduction suite à la transaction avec le navigateur.*/ |
require_once SESI_CHEMIN_LANGUE.'sesi_langue_'.$GLOBALS['_GEN_commun']['i18n'].'.inc.php'; |
} else { |
/** Inclusion du fichier de traduction par défaut.*/ |
require_once SESI_CHEMIN_LANGUE.'sesi_langue_'.SESI_I18N_DEFAUT.'.inc.php'; |
} |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// +------------------------------------------------------------------------------------------------------+ |
// | LISTE de FONCTIONS | |
// +------------------------------------------------------------------------------------------------------+ |
/** Fonnction GEN_afficherContenuApplette() - Fournit un formulaire de sélection des sites. |
* |
* Renvoie un formulaire permettant de passer de site en site pour une langue donnée. |
* Le formulaire affiche les noms des sites en fonctions de la langue passée dans l'url. |
* Necessite l'utilisation de Pear Net_URL par le programme appelant cette fonction. |
* |
* @param array tableau d'éventuel arguments présent dans la balise transmis à la fonction. |
* @param array tableau global de Papyrus. |
* @return string formulaire XHTML contenant les sites disponibles. |
*/ |
function afficherSelecteurSite($tab_applette_arguments, $_GEN_commun) |
{ |
// Initialisation de variable de configuration. |
$liste_type_site = '102, 103';// Les id des types des sites pouvant apparaître dans le sélecteur |
$objet_pear_db = $_GEN_commun['pear_db'];//objet Pear créé par DB contenant la connexion à la base de données. |
$code_site = $_GEN_commun['url_site'];//identifiant du site courant. |
$id_langue = $_GEN_commun['i18n'];//identifiant de la langue choisie |
$url_base = PAP_URL; |
$url_cle_site = GEN_URL_CLE_SITE; |
$url_cle_i18n = GEN_URL_CLE_I18N; |
$url_id_type_site = GEN_URL_ID_TYPE_SITE; |
$indent_origine = 12;// Indentation de départ en nombre d'espace |
$indent_pas = 4;// Pas d'indentation en nombre d'espace |
// Récupérations des arguments passés dans la balise. |
// Nous vérifions si on veut du XHTML strict ou pas |
$bln_xhtml_strict = 0; |
if (isset($tab_applette_arguments[2]) && $tab_applette_arguments[2] == 'XHTML') { |
$bln_xhtml_strict = 1; |
} |
// Nous vérifions s'il y a des sites que nous ne voulons pas afficher: |
$morceau_requete_id_suppr = ''; |
$tab_id_suppr_groupe = ''; |
if (isset($tab_applette_arguments[3]) && ereg('SANS_(.+)', $tab_applette_arguments[3], $tab_id_suppr_groupe)) { |
if (preg_match('/^\d+$/', $tab_id_suppr_groupe[1])) { |
$liste_id_suppr = $tab_id_suppr_groupe[1]; |
} else if (preg_match('/^\d+(?:_\d+)+$/', $tab_id_suppr_groupe[1])) { |
$liste_id_suppr = preg_replace('/_/', ', ', $tab_id_suppr_groupe[1]); |
} else { |
$liste_id_suppr = '0'; |
} |
$morceau_requete_id_suppr = 'AND gs_id_site NOT IN ('.$liste_id_suppr.') '; |
} |
// Recherche de tous les sites langue en cours |
// On recherche l'ensemble des site en excluant le site admin ? (administration de Papyrus). |
if (isset($id_langue) && ($id_langue != '')) { |
$langue_test = $id_langue; |
} else { |
$langue_test = GEN_I18N_ID_DEFAUT; |
} |
$requete = 'SELECT gs_id_site, gs_code_num, gs_code_alpha, gs_nom, gs_ce_i18n '. |
'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 ('.$liste_type_site.') '. |
'AND gs_ce_i18n = "'.$langue_test.'" '. |
$morceau_requete_id_suppr.// Liste des sites ne devant pas figurer |
'ORDER BY gs_code_num ASC';// 102 = site "principal" et 103 = site "externe" |
$resultat = $objet_pear_db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
$liste_site = array(); |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) { |
// Si le site trouvé est une traduction vers la langue principale, on ne le selectionne pas |
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 = $objet_pear_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 et non traduits dans la langue en cours. |
// On recherche l'ensemble des site en excluant le site admin (administration de Papyrus). |
if ($langue_test != GEN_I18N_ID_DEFAUT) { |
// Site ayant commme langue, la langue par defaut |
$requete = 'SELECT gs_id_site, gs_code_num, gs_code_alpha, gs_nom, gs_ce_i18n '. |
'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 ('.$liste_type_site.') '. |
'AND gs_ce_i18n = "'.GEN_I18N_ID_DEFAUT.'" '. |
$morceau_requete_id_suppr.// Liste des sites ne devant pas figurer |
'ORDER BY gs_code_num ASC';// 102 = site "principal" et 103 = site "externe" |
$resultat = $objet_pear_db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
// Est il traduit ? Non, alors affichage |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) { |
if (isset($id_langue) && ($id_langue != '')) { |
$langue_test=$id_langue; |
} else { |
$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 = $objet_pear_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 ) { |
$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 = $objet_pear_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->free(); |
} |
if (count($liste_site) == 0 ) { |
$retour = str_repeat(' ', $indent_origine + ($indent_pas * 0)). |
'<!-- '.SESI_LG_ETIQUETTE_VALIDER.' -->'; |
} else { |
// Préparation de l'url de retour du formulaire |
$objet_pear_url = & new Pap_URL($url_base); |
$objet_pear_url->setPermalienBool(false); |
// Préparation du code du sites |
$champs_code_site = ($url_id_type_site == 'int') ? 'gs_code_num' : 'gs_code_alpha'; |
// Préparation du formulaire |
$retour = str_repeat(' ', $indent_origine + ($indent_pas * 0)). |
'<form id="sesi_selecteur" '; |
// Test sur XHTML strict |
if ($bln_xhtml_strict == 0) { |
$retour .= 'name="sesi_selecteur" '; |
} |
$retour .= 'action="'.$objet_pear_url->getURL().'" method="get">'."\n"; |
$retour .= str_repeat(' ', $indent_origine + ($indent_pas * 1)). |
'<fieldset>'."\n"; |
$retour .= str_repeat(' ', $indent_origine + ($indent_pas * 2)). |
'<legend>'.SESI_LG_LEGENDE.'</legend>'."\n"; |
$retour .= str_repeat(' ', $indent_origine + ($indent_pas * 2)). |
'<select id="sesi_'.$url_cle_site.'" name="'.$url_cle_site.'" onchange="javascript:this.form.submit();">'."\n"; |
$retour .= str_repeat(' ', $indent_origine + ($indent_pas * 3)). |
'<option value="'.$code_site.'" selected="selected">'.SESI_LG_DEFAUT.'</option>'."\n"; |
foreach ($liste_site as $ligne ) { |
// Initialisation des variables |
$nom = $ligne['gs_nom']; |
$retour .= str_repeat(' ', $indent_origine + ($indent_pas * 3)). |
'<option value="'.$ligne[$champs_code_site].'">'.$nom.'</option>'."\n"; |
} |
$retour .= str_repeat(' ', $indent_origine + ($indent_pas * 2)). |
'</select>'."\n"; |
$retour .= str_repeat(' ', $indent_origine + ($indent_pas * 2)). |
'<input id="sesi_ok" name="sesi_ok" type="submit" value="'.SESI_LG__VALIDER.'"/>'."\n"; |
$retour .= str_repeat(' ', $indent_origine + ($indent_pas * 1)). |
'</fieldset>'."\n"; |
if ($langue_test != GEN_I18N_ID_DEFAUT) { |
$retour .= str_repeat(' ', $indent_origine + ($indent_pas * 1)). |
'<input name="'.$url_cle_i18n.'" type="hidden" value="'.$id_langue.'"/>'."\n"; |
} |
$retour .= str_repeat(' ', $indent_origine + ($indent_pas * 0)). |
'</form>'."\n"; |
} |
return $retour; |
} |
// +------------------------------------------------------------------------------------------------------+ |
// | PIED du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.11 2006-12-01 16:33:40 florian |
* Amélioration de la gestion des applettes et compatibilité avec le nouveau mode de gestion de l'inclusion des applettes. |
* |
* Revision 1.10 2006/10/11 17:20:19 jp_milcent |
* Formatage du code. |
* |
* Revision 1.9 2006/04/28 12:41:49 florian |
* corrections erreurs chemin |
* |
* Revision 1.8 2006/03/02 10:49:49 ddelon |
* Fusion branche multilinguisme dans branche principale |
* |
* Revision 1.7.2.4 2006/02/28 14:02:07 ddelon |
* Finition multilinguisme |
* |
* Revision 1.7.2.3 2006/01/19 21:26:20 ddelon |
* Multilinguisme site + bug ftp |
* |
* Revision 1.7.2.2 2005/12/20 14:40:24 ddelon |
* Fusion Head vers Livraison |
* |
* Revision 1.7.2.1 2005/12/07 19:46:14 ddelon |
* Merge + navi sites |
* |
* Revision 1.7 2005/05/25 12:53:00 jpm |
* Changement et ajout d'attributs id. |
* |
* Revision 1.6 2005/05/23 09:31:43 jpm |
* Ajout d'une majuscule à un txt. |
* |
* Revision 1.5 2004/10/26 18:42:02 jpm |
* Possibilité d'externaliser l'applette. |
* Gestion des sites externes. |
* |
* Revision 1.4 2004/09/15 09:32:01 jpm |
* Mise en conformité avec le standard XHTML Strict. |
* |
* Revision 1.3 2004/07/06 17:07:16 jpm |
* Modification de la documentation pour une mailleur analyse par PhpDocumentor. |
* |
* Revision 1.2 2004/06/21 07:37:50 alex |
* Modification d'un label |
* |
* Revision 1.1 2004/06/15 15:05:47 jpm |
* Changement de nom et d'arborescence de Genesia en Papyrus. |
* |
* Revision 1.5 2004/05/05 08:27:12 jpm |
* Ajout du paramétrage de l'indentation et l'utilisation de variable pour contenir les textes de l'appli. |
* |
* Revision 1.4 2004/05/05 06:44:28 jpm |
* Complément des commentaires indiquant les paquetages nécessaire à l'applette. |
* |
* Revision 1.3 2004/05/03 11:19:10 jpm |
* Intégration de la variable globale de Génésia dans les arguments de la fonction de l'applette. |
* |
* Revision 1.2 2004/05/01 16:13:11 jpm |
* Ajout du nom de la balise de l'applette dans le code de l'applette. |
* |
* Revision 1.1 2004/05/01 10:30:59 jpm |
* Ajout de l'applette selecteur de sites. |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v4.0-djer/papyrus/applettes/selecteur_sites/langues/sesi_langue_en.inc.php |
---|
New file |
0,0 → 1,84 |
<?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: sesi_langue_en.inc.php,v 1.2 2006-03-02 10:49:49 ddelon Exp $ |
/** |
* Traduction de l'applette selecteur de site : fr |
* |
* Fichier de traduction de l'applette Identification en français. |
* |
*@package Applette |
*@subpackage Identification |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//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 | |
// +------------------------------------------------------------------------------------------------------+ |
/** Legende de l'applette */ |
define('SESI_LG_LEGENDE', 'Site selection'); |
/** Message du texte par defaut */ |
define('SESI_LG_DEFAUT', 'Site selection'); |
/** Texte du bouton valider.*/ |
define('SESI_LG__VALIDER', 'ok'); |
/** Texte message erreur */ |
define('SESI_LG_ETIQUETTE_VALIDER', 'Only one site available'); |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.1.2.1 2005/12/07 19:46:14 ddelon |
* Merge + navi sites |
* |
* Revision 1.5 2005/06/09 17:06:28 jpm |
* Ajout de constantes de langue. |
* |
* Revision 1.4 2005/06/02 11:56:00 jpm |
* Modification de l'affichage de l'identification. |
* |
* Revision 1.3 2005/04/14 16:37:27 jpm |
* Ajout de la gestion de la modification de son inscription. |
* |
* Revision 1.2 2005/03/25 14:41:04 jpm |
* Modification et ajout de constantes. |
* |
* Revision 1.1 2005/03/15 14:19:32 jpm |
* Ajout d'un fichier de traduction. |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v4.0-djer/papyrus/applettes/selecteur_sites/langues/sesi_langue_fr.inc.php |
---|
New file |
0,0 → 1,87 |
<?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: sesi_langue_fr.inc.php,v 1.3 2006-11-27 13:52:26 florian Exp $ |
/** |
* Traduction de l'applette selecteur de site : fr |
* |
* Fichier de traduction de l'applette Identification en français. |
* |
*@package Applette |
*@subpackage Identification |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2005 |
*@version $Revision: 1.3 $ $Date: 2006-11-27 13:52:26 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTETE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/** Legende de l'applette */ |
define('SESI_LG_LEGENDE', 'Sélecteur de monde'); |
/** Message du texte par defaut */ |
define('SESI_LG_DEFAUT', 'changer de site'); |
/** Texte du bouton valider.*/ |
define('SESI_LG__VALIDER', 'ok'); |
/** Texte message erreur */ |
define('SESI_LG_ETIQUETTE_VALIDER', 'Un seul site disponible dans Papyrus.'); |
/* +--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 2005/12/07 19:46:14 ddelon |
* Merge + navi sites |
* |
* Revision 1.5 2005/06/09 17:06:28 jpm |
* Ajout de constantes de langue. |
* |
* Revision 1.4 2005/06/02 11:56:00 jpm |
* Modification de l'affichage de l'identification. |
* |
* Revision 1.3 2005/04/14 16:37:27 jpm |
* Ajout de la gestion de la modification de son inscription. |
* |
* Revision 1.2 2005/03/25 14:41:04 jpm |
* Modification et ajout de constantes. |
* |
* Revision 1.1 2005/03/15 14:19:32 jpm |
* Ajout d'un fichier de traduction. |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v4.0-djer/papyrus/applettes/moteur_recherche/moteur_recherche.php |
---|
New file |
0,0 → 1,311 |
<?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: moteur_recherche.php,v 1.24 2008-10-21 15:24:50 aperonnet Exp $ |
/** |
* Applette : moteur de recherche |
* |
* Génère un formulaire contenant une zone de saisie permettant de taper un texte à rechercher sur l'ensemble |
* des sites gérés par Papyrus. |
* Utilisation des bibliothèques inclue par Papyrus : |
* - Papyrus pap_meta.fonct.php |
* - PEAR NET_URL |
* |
*@package Applette |
*@subpackage Moteur_recherche |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.24 $ $Date: 2008-10-21 15:24:50 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTETE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
$GLOBALS['_GEN_commun']['info_applette_nom_fonction'] = 'afficherMoteurRecherche'; |
$GLOBALS['_GEN_commun']['info_applette_balise'] = '(?:<!-- '.$GLOBALS['_GEN_commun']['balise_prefixe'].'(MOTEUR_RECHERCHE) -->|'. |
'\{\{[[Mm]oteurRecherche\s*\}\})'; |
// -------------------------------------------------------------------------------------------------------- |
//Utilisation de la bibliothèque Papyrus pap_meta.fonct.php inclue par Papyrus |
//Utilisation de la bibliothèque PEAR NET_URL inclue par Papyrus |
/** Inclusion du fichier de configuration de cette application.*/ |
require_once GEN_CHEMIN_APPLETTE.'moteur_recherche/configuration/more_configuration.inc.php'; |
/** Inclusion du fichier de configuration des Spip.*/ |
require_once GEN_CHEMIN_APPLETTE.'moteur_recherche/configuration/more_config_spip.inc.php'; |
/** Inclusion du fichier de configuration de l appli projet.*/ |
require_once GEN_CHEMIN_APPLETTE.'moteur_recherche/configuration/more_config_projet.inc.php'; |
/** Inclusion du fichier de configuration de l appli bazar.*/ |
require_once GEN_CHEMIN_APPLETTE.'moteur_recherche/configuration/more_config_bazar.inc.php'; |
// Inclusion des fichiers de traduction de l'appli ADME de Papyrus |
if (file_exists(MORE_CHEMIN_LANGUE.'more_langue_'.$GLOBALS['_GEN_commun']['i18n'].'.inc.php')) { |
/** Inclusion du fichier de traduction suite à la transaction avec le navigateur.*/ |
require_once MORE_CHEMIN_LANGUE.'more_langue_'.$GLOBALS['_GEN_commun']['i18n'].'.inc.php'; |
} else { |
/** Inclusion du fichier de traduction par défaut.*/ |
require_once MORE_CHEMIN_LANGUE.'more_langue_'.MORE_I18N_DEFAUT.'.inc.php'; |
} |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
if (isset($_POST['more_motif']) && $_POST['more_motif'] != '') { |
// Initialisation de variable extérieures |
$GLOBALS['_VEI_']['usurpation'] = MORE_LG_USURPATION.htmlentities(stripslashes($_POST['more_motif'])); |
$GLOBALS['_PAPYRUS_']['general']['application_chemin'] = null; |
// Modification des meta de l'entête de la page |
GEN_modifierMetaHttpEquiv('Content-Type', 'text/html; charset=ISO-8859-15'); |
GEN_modifierMetaHttpEquiv('Content-style-type', 'text/css'); |
GEN_modifierMetaHttpEquiv('Content-script-type', 'text/javascript'); |
GEN_modifierMetaHttpEquiv('Content-language', $GLOBALS['_GEN_commun']['i18n']); |
GEN_modifierMetaName('revisit-after', '15 days'); |
GEN_modifierMetaName('robots', 'index,follow'); |
GEN_modifierMetaName('author', 'Tela Botanica'); |
GEN_modifierMetaName('keywords', 'Recherche, résultat.'); |
GEN_modifierMetaName('description', 'Page de résultats du moteur de recherche de Papyrus.'); |
GEN_viderMeta('dc'); |
} |
// +------------------------------------------------------------------------------------------------------+ |
// | LISTE de FONCTIONS | |
// +------------------------------------------------------------------------------------------------------+ |
/** Fonction afficherMoteurRecherche() - Fournit un formulaire de recherche. |
* |
* Renvoie un formulaire permettant de rechercher une chaine de caractères dans les sites |
* gérés par Papyrus. |
* Necessite l'utilisation de Pear Net_URL par le programme appelant cette fonction. |
* |
* @param array tableau d'éventuel arguments présent dans la balise transmis à la fonction. |
* @param array tableau global de Papyrus. |
* @return string formulaire XHTML de recherche. |
*/ |
function afficherMoteurRecherche($tab_applette_arguments, $_GEN_commun) |
{ |
// -------------------------------------------------------------------------------------------------------- |
// Initialisation de variable de configuration. |
$liste_type_site = '102, 103';// Les id des types des sites pouvant apparaître dans le sélecteur |
$objet_pear_db =& $_GEN_commun['pear_db'];//objet Pear créé par DB contenant la connexion à la base de données. |
$GLOBALS['_MOTEUR_RECHERCHE_']['bd']['papyrus'] =& $_GEN_commun['pear_db'];// Connexion à la BD de Papyrus |
$GLOBALS['_MOTEUR_RECHERCHE_']['variables'] = array(); |
$code_site = $_GEN_commun['url_site'];// identifiant du site courant. |
$url = $_GEN_commun['url']; |
$url_id_type_site = GEN_URL_ID_TYPE_SITE; |
$indent_origine = 12;// Indentation de départ en nombre d'espace |
$indent_pas = 4;// Pas d'indentation en nombre d'espace |
$retour = ''; |
$retour_resultats = ''; |
// -------------------------------------------------------------------------------------------------------- |
// Lancement de la recherche si nécessaire |
$aso_squelette = array('formulaire' => MORE_FORM_SQUELETTE); |
$_SESSION['_MOTEUR_RECHERCHE_']['rechercher']['more_motif'] = ''; |
$GLOBALS['_MOTEUR_RECHERCHE_']['formulaire']['form_url'] = $url->getUrl(); |
$GLOBALS['_MOTEUR_RECHERCHE_']['formulaire']['form_tab'] = MORE_FORM_MOTIF_TAB; |
$GLOBALS['_MOTEUR_RECHERCHE_']['formulaire']['more_motif_base'] = MORE_LG_FORM_MOTIF_VALUE; |
if (!isset($_POST['more_motif']) || $_POST['more_motif'] == '') { |
$GLOBALS['_MOTEUR_RECHERCHE_']['formulaire']['more_motif'] = MORE_LG_FORM_MOTIF_VALUE; |
} else { |
// Ajout du squelette de résultat |
$aso_squelette['resultat'] = MORE_RESULTAT_SQUELETTE; |
// Titre de la page |
$GLOBALS['_PAPYRUS_']['rendu']['TITRE_PAGE'] = MORE_LG_TITRE.htmlentities(stripslashes($_POST['more_motif'])); |
$_SESSION['_MOTEUR_RECHERCHE_']['rechercher']['more_motif'] = $_POST['more_motif']; |
$GLOBALS['_MOTEUR_RECHERCHE_']['formulaire']['more_motif'] = htmlentities(stripslashes($_POST['more_motif'])); |
/** Inclusion de la classe Recherche.*/ |
require_once MORE_CHEMIN_BIBLIO.'more_recherche.class.php'; |
/** Inclusion de la classe Recherche_Papyrus_Menu.*/ |
require_once MORE_CHEMIN_BIBLIO.'more_recherche_papyrus_menu.class.php'; |
/** Inclusion de la classe Recherche_Spip_Article.*/ |
require_once MORE_CHEMIN_BIBLIO.'more_recherche_spip_article.class.php'; |
/** Inclusion de la classe Recherche_Projet.*/ |
require_once MORE_CHEMIN_BIBLIO.'more_recherche_projet.class.php'; |
/** inclusion de la classe Recheche Bazar. */ |
require_once MORE_CHEMIN_BIBLIO.'more_recherche_bazar.class.php'; |
$moteur = new More_Recherche($_SESSION['_MOTEUR_RECHERCHE_']['rechercher']['more_motif']); |
$recherche_papyrus_menu = new More_Recherche_Papyrus_Menu($_SESSION['_MOTEUR_RECHERCHE_']['rechercher']['more_motif']); |
$recherche_spip_article = new More_Recherche_Spip_Article($_SESSION['_MOTEUR_RECHERCHE_']['rechercher']['more_motif']); |
$recherche_projet = new More_Recherche_Projet($_SESSION['_MOTEUR_RECHERCHE_']['rechercher']['more_motif']); |
$recherche_bazar = new More_Recherche_Bazar($_SESSION['_MOTEUR_RECHERCHE_']['rechercher']['more_motif']); |
$moteur->ajouterRecherche($recherche_papyrus_menu); |
$moteur->ajouterRecherche($recherche_spip_article); |
$moteur->ajouterRecherche($recherche_projet); |
$moteur->ajouterRecherche($recherche_bazar); |
$GLOBALS['_MOTEUR_RECHERCHE_']['resultat']['resultats'] = $moteur->rechercherMotif(); |
//$GLOBALS['_DEBOGAGE_'] = '<pre>'.print_r($GLOBALS['_MOTEUR_RECHERCHE_']['resultat']['resultats'], true).'</pre>'; |
$nbre_pages = count($GLOBALS['_MOTEUR_RECHERCHE_']['resultat']['resultats']); |
$GLOBALS['_MOTEUR_RECHERCHE_']['resultat']['nbre_pages'] = $nbre_pages; |
$GLOBALS['_MOTEUR_RECHERCHE_']['resultat']['vide'] = MORE_LG_RESULTAT_VIDE; |
if ($nbre_pages <= 1) { |
$GLOBALS['_MOTEUR_RECHERCHE_']['resultat']['titre'] = sprintf(MORE_LG_RESULTAT_TITRE, $nbre_pages); |
} else { |
$GLOBALS['_MOTEUR_RECHERCHE_']['resultat']['titre'] = sprintf(MORE_LG_RESULTAT_TITRE_PLURIEL, $nbre_pages); |
} |
foreach ($GLOBALS['_MOTEUR_RECHERCHE_']['resultat']['resultats'] as $cle => $val) { |
if (empty($val['url'])) { |
unset($GLOBALS['_MOTEUR_RECHERCHE_']['resultat']['resultats'][$cle]); |
} else { |
$GLOBALS['_MOTEUR_RECHERCHE_']['resultat']['resultats'][$cle]['score'] = trim($val['score']); |
$GLOBALS['_MOTEUR_RECHERCHE_']['resultat']['resultats'][$cle]['date_creation'] = trim($val['date_creation']); |
$GLOBALS['_MOTEUR_RECHERCHE_']['resultat']['resultats'][$cle]['description'] = trim($val['description']); |
} |
} |
} |
// Génération du contenu à partir des squelettes |
foreach ($aso_squelette as $squelette => $fichier) { |
// Extrait les variables et les ajoutes à l'espace de noms local |
extract($GLOBALS['_MOTEUR_RECHERCHE_'][$squelette]); |
// Démarre le buffer |
ob_start(); |
// Inclusion du fichier |
include(MORE_CHEMIN_SQUELETTE.$fichier); |
// Récupérer le contenu du buffer |
$retour = ob_get_contents(); |
// Arrête et détruit le buffer |
ob_end_clean(); |
// Retourne le contenu |
switch ($squelette) { |
case 'resultat' : |
// L'applette fournie un résultat qui écrase le contenu de la page courrante |
$GLOBALS['_PAPYRUS_']['rendu']['CONTENU_NAVIGATION'] = ''; |
$GLOBALS['_PAPYRUS_']['rendu']['CONTENU_TETE'] = ''; |
$GLOBALS['_PAPYRUS_']['rendu']['CONTENU_CORPS'] = $retour; |
$GLOBALS['_PAPYRUS_']['rendu']['CONTENU_PIED'] = ''; |
$GLOBALS['_GEN_commun']['info_menu'] = ''; |
break; |
case 'formulaire' : |
// L'applette est appelée par défaut |
$retour_formulaire = $retour; |
break; |
default: |
$e = "Squellette <$squelette> pour le moteur de recherche inconnu!"; |
trigger_error($e, E_USER_WARNING); |
} |
} |
return $retour_formulaire; |
} |
// +------------------------------------------------------------------------------------------------------+ |
// | PIED du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.23 2008-08-26 15:31:16 alexandre_tb |
* ajout du moteur de recherche dans l'appli projet |
* |
* Revision 1.22 2007-11-30 14:02:48 alexandre_tb |
* Fusion avec la livraison |
* |
* Revision 1.21 2007-10-29 18:29:30 jp_milcent |
* Ajout d'un préfixe devant les classes de l'applette pour éviter les conflits avec d'autres classes provenant des applis clientes. |
* |
* Revision 1.20 2007-06-15 12:27:39 jp_milcent |
* Ajout de fonctionnalités Javascript au moteur de recherche. |
* |
* Revision 1.19 2007-01-02 18:49:22 jp_milcent |
* Amélioration de la gestion du motif. |
* Ajout de la gestion des expressions complête via l'utilisation de guillemets. |
* |
* Revision 1.18 2006/12/12 13:53:54 jp_milcent |
* Mise en place du nouveau format des balises d'applette. |
* |
* Revision 1.17 2006/12/01 16:33:40 florian |
* Amélioration de la gestion des applettes et compatibilité avec le nouveau mode de gestion de l'inclusion des applettes. |
* |
* Revision 1.16 2006/11/20 09:36:59 jp_milcent |
* Correction bogue zéro résultat et ajout d'url simple pour indiquer la page de l'article. |
* |
* Revision 1.15 2006/11/14 16:10:13 jp_milcent |
* Extraction du XHTML et utilisation de squelettes à la place. |
* Possibilité de configurer le squlette voulu via le fichier de conf. |
* |
* Revision 1.14 2006/10/10 13:28:14 jp_milcent |
* Suppression d'une variable et utilisation de la constante PAP_URL |
* |
* Revision 1.13 2006/10/10 12:02:30 jp_milcent |
* Suppression d'une bibliothèque Pear qu'il est inutile d'inclure. |
* Ajout du chemin vers la bibliotheque Pear de Papyrus. |
* |
* Revision 1.12 2006/06/16 09:45:10 jp_milcent |
* Correction bogue lié à la suppression de l'objet info_menu. |
* |
* Revision 1.11 2006/05/23 13:39:13 florian |
* corection bug notice de jean pascal ;-) |
* |
* Revision 1.10 2006/05/19 10:04:55 jp_milcent |
* Ajout d'un moteur de recherche analysant les articles des sites sous Spip. |
* |
* Revision 1.9 2006/04/28 12:41:49 florian |
* corrections erreurs chemin |
* |
* Revision 1.8 2006/03/02 10:49:49 ddelon |
* Fusion branche multilinguisme dans branche principale |
* |
* Revision 1.7.2.2 2005/12/27 15:56:00 ddelon |
* Fusion Head vers multilinguisme (wikini double clic) |
* |
* Revision 1.7.2.1 2005/12/20 14:40:25 ddelon |
* Fusion Head vers Livraison |
* |
* Revision 1.7 2005/09/27 09:07:32 ddelon |
* size applette et squelettes |
* |
* Revision 1.6 2005/05/25 13:49:22 jpm |
* Corection erreur pour la recherche dans le contenu. |
* |
* Revision 1.5 2005/05/19 12:46:12 jpm |
* Correction bogue accesskey. |
* Ajout d'un id à la liste. |
* Arrondissement des score. |
* |
* Revision 1.4 2005/04/14 17:39:34 jpm |
* Amélioration du moteur de rechercher : |
* - pourcentage |
* - ajout d'info |
* |
* Revision 1.3 2005/02/22 19:27:21 jpm |
* Changement de nom de variables. |
* Suppression de l'attribut nam de la balise form via une méthode de HTML_Common. |
* |
* Revision 1.2 2005/02/22 17:44:03 jpm |
* Suppression de référence posant problème. |
* |
* Revision 1.1 2004/12/07 10:24:01 jpm |
* Moteur de recherche version de départ. |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v4.0-djer/papyrus/applettes/moteur_recherche/bibliotheque/more_recherche_papyrus_menu.class.php |
---|
New file |
0,0 → 1,207 |
<?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: more_recherche_papyrus_menu.class.php,v 1.15 2008-10-21 15:24:50 aperonnet Exp $ |
/** |
* Classe permettant d'effectuer des recherches sur les informations des menus de Papyrus. |
* |
* Permet de rechercher et classer les menus en fonction d'une chaine. |
* Utilisation des bibliothèques inclue par Papyrus : |
* - Papyrus pap_meta.fonct.php |
* - Papyrus pap_menu.fonct.php |
* - Papyrus pap_url.class.php |
* |
*@package Applette |
*@subpackage Moteur_Recherche |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.15 $ $Date: 2008-10-21 15:24:50 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTETE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
///** Inclusion du fichier contenant les fonctions de manipulations des menus de Papyrus.*/ |
//require_once GEN_CHEMIN_BIBLIO.'pap_menu.fonct.php'; |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
class More_Recherche_Papyrus_Menu extends More_Recherche{ |
// Constructeur |
function Recherche_Menu_Meta($motif) { |
$this->setMotif($motif); |
} |
// Accesseurs |
function getMotif() { |
return $this->motif; |
} |
function setMotif($motif) { |
$this->motif = $motif; |
} |
// Méthodes |
function rechercherMotif($motif) { |
$db = $GLOBALS['_MOTEUR_RECHERCHE_']['bd']['papyrus']; |
$tab_menus = GEN_retournerMenus($db); |
foreach ($tab_menus as $cle => $menu_id) { |
// Initialisation du tableau de résultat vide |
$aso_resultat = array( 'poids' => 0, 'url' => '', 'titre' => '', |
'hreflang' => '', 'accesskey' => '', 'title' => '', |
'date_creation' => '', 'description' => ''); |
// Récupération des infos du menu courant : transtypage pour éviter les erreur avec array_merge |
$aso_menu_info = (array) GEN_lireInfoMenu($db, $menu_id, DB_FETCHMODE_ASSOC); |
// Nous vérifions que le menu a une date de validité valide |
if ($aso_menu_info['gm_date_fin_validite'] == '0000-00-00 00:00:00' || strtotime($aso_menu_info['gm_date_fin_validite']) > time() ) { |
// Récupération du contenu du menu courant : transtypage pour éviter les erreur avec array_merge |
$aso_menu_contenu = (array) GEN_lireContenuMenu($db, $menu_id, DB_FETCHMODE_ASSOC); |
// Fusion des deux tableaux de champs à analyser |
$aso_menu = array_merge($aso_menu_info, $aso_menu_contenu); |
// Analyse du poids de cette page vis à vis des méta informations et du contenu |
$tab_champs_a_visiter = array( 'gm_nom', 'gm_titre', 'gm_titre_alternatif', 'gm_mots_cles', |
'gm_description_libre', 'gm_description_resume', 'gm_description_table_matieres', |
'gm_source', 'gm_auteur', 'gm_contributeur', 'gm_editeur', 'gm_categorie', |
'gm_public', 'gmc_contenu'); |
foreach ($tab_champs_a_visiter as $val) { |
// Vérification que le champ existe et contient quelque chose |
if (isset($aso_menu[$val]) && $aso_menu[$val] != '') { |
$aso_resultat['poids'] += $this->retournerOccurenceMotif($motif, $aso_menu[$val]); |
} |
} |
// Si le menu contient les mots recherchés nous poursuivons |
if ($aso_resultat['poids'] > 0) { |
// Création de l'url |
// TODO : utiliser comme pour spip un fichier de config spécifique pour virer PAP_URL d'ici |
$une_url =& new Pap_URL(PAP_URL); |
$une_url->setId($menu_id); |
$aso_resultat['url_simple'] = $une_url->getURL(); |
$une_url->addQueryString('var_recherche', $this->traiterMotif($motif, 'url'), true); |
$aso_resultat['url'] = $une_url->getURL(); |
$une_url->removeQueryString('var_recherche'); |
// Récupération du titre de la page |
if (trim($aso_menu_info['gm_nom']) != '') { |
$aso_resultat['titre'] = htmlentities($aso_menu_info['gm_nom']); |
} else if (trim($aso_menu_info['gm_titre']) != '') { |
$aso_resultat['titre'] = htmlentities($aso_menu_info['gm_titre']); |
} else if (trim($aso_menu_info['gm_titre_alternatif']) != '') { |
$aso_resultat['titre'] = htmlentities($aso_menu_info['gm_titre_alternatif']); |
} |
$aso_resultat['hreflang'] = htmlentities($aso_menu_info['gm_ce_i18n']); |
$raccourci_txt = ''; |
$aso_resultat['accesskey'] = htmlentities($aso_menu_info['gm_raccourci_clavier']); |
if ($aso_resultat['accesskey'] != '') { |
$raccourci_txt = MORE_LG_RESULTAT_CADRE_OUVRIR. |
MORE_LG_RESULTAT_RACCOURCI.$aso_resultat['accesskey'].' '. |
MORE_LG_RESULTAT_CADRE_FERMER.MORE_LG_RESULTAT_POINT.' '; |
} |
$aso_resultat['title'] = htmlentities($raccourci_txt.$aso_menu_info['gm_description_resume']); |
$aso_resultat['description'] = htmlentities($aso_menu_info['gm_description_libre']); |
if (($jour = date('d', strtotime($aso_menu_info['gm_date_creation'] )) ) != 0 ) { |
$aso_resultat['date_creation'] .= '<span class="page_modification_jour"> '.$jour.'</span>'."\n"; |
} |
if (($mois = $this->traduireMois(date('m', strtotime($aso_menu_info['gm_date_creation'] ))) ) != '' ) { |
$aso_resultat['date_creation'] .= '<span class="page_modification_mois"> '.$mois.'</span>'."\n"; |
} |
if (($annee = date('Y', strtotime($aso_menu_info['gm_date_creation'] )) ) != 0 ) { |
$aso_resultat['date_creation'] .= '<span class="page_modification_annee"> '.$annee.'</span>'."\n"; |
} |
$this->setResultat($aso_resultat); |
} |
} |
} |
return $this->getResultats(); |
} |
} |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.14 2008-08-08 16:04:41 jp_milcent |
* Fusion avec la livraions AHA. |
* |
* Revision 1.13.2.1 2008-08-08 15:59:09 jp_milcent |
* Les menus dont la date de fin de validité est dépassée ne sont plus affichés. |
* |
* Revision 1.13 2007-10-29 18:29:30 jp_milcent |
* Ajout d'un préfixe devant les classes de l'applette pour éviter les conflits avec d'autres classes provenant des applis clientes. |
* |
* Revision 1.12 2007-01-02 18:49:22 jp_milcent |
* Amélioration de la gestion du motif. |
* Ajout de la gestion des expressions complête via l'utilisation de guillemets. |
* |
* Revision 1.11 2006/11/21 18:52:20 jp_milcent |
* Ajout de la possibilité de surligner des mots. |
* |
* Revision 1.10 2006/11/20 09:36:59 jp_milcent |
* Correction bogue zéro résultat et ajout d'url simple pour indiquer la page de l'article. |
* |
* Revision 1.9 2006/10/17 09:21:40 jp_milcent |
* Mise en commun des spécifications de la recherche. |
* |
* Revision 1.8 2006/10/16 14:11:30 jp_milcent |
* Amélioration du moteur de recherche. |
* Utilisation de l'opérateur "et" entre les mots recherchés. |
* |
* Revision 1.7 2006/10/10 13:28:13 jp_milcent |
* Suppression d'une variable et utilisation de la constante PAP_URL |
* |
* Revision 1.6 2006/05/19 10:04:55 jp_milcent |
* Ajout d'un moteur de recherche analysant les articles des sites sous Spip. |
* |
* Revision 1.5 2006/04/28 12:41:49 florian |
* corrections erreurs chemin |
* |
* Revision 1.4 2005/05/25 13:49:22 jpm |
* Corection erreur pour la recherche dans le contenu. |
* |
* Revision 1.3 2005/05/19 12:46:12 jpm |
* Correction bogue accesskey. |
* Ajout d'un id à la liste. |
* Arrondissement des score. |
* |
* Revision 1.2 2005/04/14 17:39:34 jpm |
* Amélioration du moteur de rechercher : |
* - pourcentage |
* - ajout d'info |
* |
* Revision 1.1 2004/12/07 10:24:06 jpm |
* Moteur de recherche version de départ. |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v4.0-djer/papyrus/applettes/moteur_recherche/bibliotheque/more_recherche_spip_article.class.php |
---|
New file |
0,0 → 1,187 |
<?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$ |
/** |
* Classe permettant d'effectuer des recherches sur les informations des articles de Spip. |
* |
* Permet de rechercher et classer les articles en fonction d'une chaine. |
* Utilisation des bibliothèques inclue par Papyrus : |
* - Papyrus pap_meta.fonct.php |
* - Papyrus pap_menu.fonct.php |
* - Papyrus pap_url.class.php |
* |
*@package Applette |
*@subpackage Moteur_Recherche |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author aucun |
*@copyright Tela-Botanica 2000-2006 |
*@version $Revision$ $Date$ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTETE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
///** Inclusion du fichier contenant les fonctions de manipulations des menus de Papyrus.*/ |
//require_once GEN_CHEMIN_BIBLIO.'pap_menu.fonct.php'; |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
class More_Recherche_Spip_Article extends More_Recherche { |
// Constructeur |
function Recherche_Menu_Meta($motif) { |
$this->setMotif($motif); |
} |
// Accesseurs |
function getMotif() { |
return $this->motif; |
} |
function setMotif($motif) { |
$this->motif = $motif; |
} |
// Méthodes |
function rechercherMotif($motif) { |
for ($i = 0; $i < count($GLOBALS['_MOTEUR_RECHERCHE_']['spip']); $i++ ) { |
$db = DB::connect($GLOBALS['_MOTEUR_RECHERCHE_']['spip'][$i]['bdd_dsn']); |
if (DB::isError($db)) { |
$msg_erreur_connection = 'Impossible de se connecter à la base de données Spip.'; |
die(BOG_afficherErreurSql(__FILE__, __LINE__, $db->getMessage(), 'connexion à la base de données',$msg_erreur_connection)); |
} |
$prefixe = $GLOBALS['_MOTEUR_RECHERCHE_']['spip'][$i]['table_prefixe']; |
$url_base = $GLOBALS['_MOTEUR_RECHERCHE_']['spip'][$i]['url']; |
$tab_articles = $this->retournerArticles($db, $prefixe); |
foreach ($tab_articles as $article_id => $Article) { |
// Initialisation du tableau de résultat vide |
$aso_resultat = array( 'poids' => 0, 'url' => '', 'titre' => '', |
'hreflang' => '', 'accesskey' => '', 'title' => '', |
'date_creation' => '', 'description' => ''); |
// Analyse du poids de cette page vis à vis des données |
$tab_champs_a_visiter = array('surtitre', 'titre', 'soustitre', 'descriptif', 'chapo', 'texte', 'ps'); |
foreach ($tab_champs_a_visiter as $val) { |
// Vérification que le champ existe et contient quelque chose |
if (isset($Article->$val) && $Article->$val != '') { |
$aso_resultat['poids'] += $this->retournerOccurenceMotif($motif, $Article->$val); |
} |
} |
if ($aso_resultat['poids'] > 0) { |
// Création de l'url |
$aso_resultat['url_simple'] = $url_base.'article'.$article_id.'.html'; |
$aso_resultat['url'] = $aso_resultat['url_simple'].'?var_recherche='.$this->traiterMotif($motif, 'url'); |
// Récupération du titre de la page |
if (trim($Article->titre) != '') { |
$aso_resultat['titre'] = htmlentities($Article->titre); |
} else if (trim($Article->surtitre) != '') { |
$aso_resultat['titre'] = htmlentities($Article->surtitre); |
} else if (trim($Article->soustitre) != '') { |
$aso_resultat['titre'] = htmlentities($Article->soustitre); |
} |
$aso_resultat['hreflang'] = htmlentities($Article->lang); |
$aso_resultat['description'] = $this->couperTexte($Article->texte, MORE_RESULTAT_TAILLE_DESCRIPTION); |
if (($jour = date('d', strtotime($Article->date)) ) != 0 ) { |
$aso_resultat['date_creation'] .= '<span class="page_modification_jour"> '.$jour.'</span>'."\n"; |
} |
if (($mois = $this->traduireMois(date('m', strtotime($Article->date))) ) != '' ) { |
$aso_resultat['date_creation'] .= '<span class="page_modification_mois"> '.$mois.'</span>'."\n"; |
} |
if (($annee = date('Y', strtotime($Article->date)) ) != 0 ) { |
$aso_resultat['date_creation'] .= '<span class="page_modification_annee"> '.$annee.'</span>'."\n"; |
} |
$this->setResultat($aso_resultat); |
} |
} |
} |
return $this->getResultats(); |
} |
/** Renvoie un tableau contenant les infos sur les articles |
* |
* @param mixed une instance de la classse Pear DB. |
* @param string le préfixe pour les tables spip. |
* @return array tableau contenant les articles. |
*/ |
function retournerArticles(&$db, $prefixe = '') |
{ |
//---------------------------------------------------------------------------- |
// Recherche des informations sur le menu |
$requete = 'SELECT * '. |
'FROM '.$prefixe.'spip_articles '. |
'WHERE statut = "publie"'; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
//---------------------------------------------------------------------------- |
// Récupération des infos |
$tab_retour = array(); |
while ($info_article = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) { |
$tab_retour[$info_article->id_article] = $info_article; |
} |
$resultat->free(); |
return $tab_retour; |
} |
} |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log$ |
* Revision 1.7 2007-10-29 18:29:30 jp_milcent |
* Ajout d'un préfixe devant les classes de l'applette pour éviter les conflits avec d'autres classes provenant des applis clientes. |
* |
* Revision 1.6 2007-01-02 18:49:22 jp_milcent |
* Amélioration de la gestion du motif. |
* Ajout de la gestion des expressions complête via l'utilisation de guillemets. |
* |
* Revision 1.5 2006/11/20 09:36:59 jp_milcent |
* Correction bogue zéro résultat et ajout d'url simple pour indiquer la page de l'article. |
* |
* Revision 1.4 2006/11/14 16:08:40 jp_milcent |
* Paramétrage de la découpe de la description et du symbole "etc" |
* |
* Revision 1.3 2006/10/17 09:21:40 jp_milcent |
* Mise en commun des spécifications de la recherche. |
* |
* Revision 1.2 2006/10/16 14:11:30 jp_milcent |
* Amélioration du moteur de recherche. |
* Utilisation de l'opérateur "et" entre les mots recherchés. |
* |
* Revision 1.1 2006/05/19 10:04:55 jp_milcent |
* Ajout d'un moteur de recherche analysant les articles des sites sous Spip. |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v4.0-djer/papyrus/applettes/moteur_recherche/bibliotheque/more_recherche_bazar.class.php |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v4.0-djer/papyrus/applettes/moteur_recherche/bibliotheque/more_recherche_bazar.class.php |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/tags/v4.0-djer/papyrus/applettes/moteur_recherche/bibliotheque/more_recherche.class.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 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: more_recherche.class.php,v 1.15 2008-11-04 17:34:37 aperonnet Exp $ |
/** |
* Classe permettant d'effectuer des recherches sur les métas informations des menus. |
* |
* Permet de rechercher et classer les menus en fonction d'une chaine. |
* |
*@package Applette |
*@subpackage Moteur_Recherche |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.15 $ $Date: 2008-11-04 17:34:37 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTETE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
class More_Recherche { |
var $motif = ''; |
var $moteurs_recherches = array(); |
var $resultats = array(); |
// Constructeur |
function More_Recherche($motif) { |
$this->setMotif($motif); |
} |
// Accesseurs |
function getMotif() { |
return $this->motif; |
} |
function setMotif($motif) { |
$this->motif = $motif ; |
} |
function getMoteurs() { |
return $this->moteurs_recherches; |
} |
function getMoteur($id) { |
return $this->moteurs_recherches[$id]; |
} |
function setMoteur($val) { |
$id_nouveau = count($this->moteurs_recherches); |
$this->moteurs_recherches[$id_nouveau] = $val; |
} |
function getResultats() { |
return $this->resultats; |
} |
function setResultats($val) { |
$this->resultats = $val; |
} |
function setResultat($aso_page) { |
$id_nouveau = count($this->resultats); |
$this->resultats[$id_nouveau] = $aso_page; |
} |
// Méthodes |
function eliminerAccents($motif) |
{ |
return strtr($motif,"ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÌÍÎÏìíîïÙÚÛÜùúûüÿÑñÇç'", |
"AAAAAAaaaaaaOOOOOOooooooEEEEeeeeIIIIiiiiUUUUuuuuyNnCc " ); |
} |
function ajouterRecherche(&$objet_recherche) { |
return $this->setMoteur($objet_recherche); |
} |
function rechercherMotif() { |
foreach ($this->getMoteurs() as $cle => $val) { |
$this->setResultats(array_merge((array)$this->getResultats(),(array)$val->rechercherMotif($this->getMotif()))); |
} |
$aso_resultats = $this->getResultats(); |
// on teste l'existence de la fonction anonyme car sinon bug d'inclusion très pénible ! |
if (!function_exists('comparer')) { |
function comparer($a, $b) { |
if ($a['poids'] > $b['poids']) { |
return -1; |
} |
if ($a['poids'] < $b['poids']) { |
return +1; |
} |
if ($a['poids'] = $b['poids']) { |
return 0; |
} |
} |
} |
usort($aso_resultats, 'comparer'); |
$pds_max = 0; |
if (isset($aso_resultats[0]['poids'])) { |
$pds_max = $aso_resultats[0]['poids']; |
} |
for ($i = 0 ; $i < count($aso_resultats) ; $i++) { |
$aso_resultats[$i]['score'] = round((100 / $pds_max) * $aso_resultats[$i]['poids'], 1); |
} |
return $aso_resultats; |
} |
/** Renvoie le nombre d'occurences total de la présence de chaque mot. |
* |
* @param string le motif à rechercher. |
* @param string le texte dans lequel effectuer la recherche. |
* @return integer le nombre de fois où les mots sont trouvés. |
*/ |
function retournerOccurenceMotif($motif, &$texte, $mode = MORE_MODE) |
{ |
$nbre_correspondance = 0; |
$nbre_correspondance_total = 0; |
$motif = $this->traiterMotif($motif, 'simple'); |
// Si demande de recherche d'expression complète |
if (preg_match('/^".+"$/', $motif)) { |
$mode = 2; |
} |
$motif = $this->traiterMotif($motif, 'recherche'); |
switch ($mode) { |
case '1' : |
// Découpage en mot |
$tab_motif = explode(' ', $motif); |
break; |
case '2' : |
// La chaine saisie par l'utilisateur est recherchée tel quel |
$tab_motif[] = $motif; |
break; |
default: |
$e = 'Mode pour le moteur de recherche inconnu : '.$mode. |
trigger_error($e, E_USER_ERROR); |
} |
// Nous recherchons chaque mot |
$compteur_mot = 0; |
foreach ($tab_motif as $mot) { |
//$nbre_correspondance += preg_match_all('/'.$mot.'/i', $texte, $tab_morceaux); |
$nbre_correspondance = substr_count($this->eliminerAccents(strtolower($texte)), $this->eliminerAccents(strtolower($mot))); |
if ($nbre_correspondance > 0) { |
$compteur_mot++; |
} |
$nbre_correspondance_total += $nbre_correspondance; |
} |
// Si tous les mots recherchés sont présents nous renvoyons le poids de la page. |
if ($compteur_mot == count($tab_motif)) { |
return $nbre_correspondance_total; |
} else { |
return 0; |
} |
} |
function traiterMotif($motif, $type = 0) |
{ |
switch ($type) { |
case 'simple' : |
return trim(stripslashes($motif)); |
break; |
case 'recherche' : |
if (preg_match('/^"(.+)"$/', $motif, $match)) { |
$motif = $match[1]; |
} |
return $motif; |
break; |
case 'url' : |
$motif = trim(stripslashes($motif)); |
if (preg_match('/^"(.+)"$/', $motif, $match)) { |
$motif = $match[1]; |
} |
return urlencode($motif); |
break; |
default: |
return $motif; |
} |
} |
function traduireMois($mois_numerique) |
{ |
switch ($mois_numerique) { |
case '01' : |
return 'janvier'; |
case '02' : |
return 'février'; |
case '03' : |
return 'mars'; |
case '04' : |
return 'avril'; |
case '05' : |
return 'mai'; |
case '06' : |
return 'juin'; |
case '07' : |
return 'juillet'; |
case '08' : |
return 'août'; |
case '09' : |
return 'septembre'; |
case '10' : |
return 'octobre'; |
case '11' : |
return 'novembre'; |
case '12' : |
return 'décembre'; |
default: |
return ''; |
} |
} |
/** |
* Coupe un texte suivant une taille donnée, pour éviter qu'il ne soit |
* trop long lors de l'affichage |
* @param String texte à couper |
* @param int taille maximum du texte |
*/ |
function couperTexte($texte, $taille = 50) |
{ |
$texte = substr($texte, 0, 400 + 2*$taille); /* eviter de travailler sur 10ko pour extraire 150 caracteres */ |
// on utilise les \r pour passer entre les gouttes |
$texte = str_replace("\r\n", "\n", $texte); |
$texte = str_replace("\r", "\n", $texte); |
// sauts de ligne et paragraphes |
$texte = ereg_replace("\n\n+", "\r", $texte); |
$texte = ereg_replace("<(p|br)( [^>]*)?".">", "\r", $texte); |
// supprimer les traits, lignes etc |
$texte = ereg_replace("(^|\r|\n)(-[-#\*]*|_ )", "\r", $texte); |
// supprimer les tags |
$texte = $this->supprimerTags($texte); |
$texte = trim(str_replace("\n"," ", $texte)); |
$texte .= "\n"; // marquer la fin |
// travailler en accents charset |
// On supprime dans Papyrus car cela tire trop de fonctions... |
//$texte = $this->filtrer_entites($texte); |
// supprimer les liens |
$texte = ereg_replace("\[->([^]]*)\]","\\1", $texte); // liens sans texte |
$texte = ereg_replace("\[([^\[]*)->([^]]*)\]","\\1", $texte); |
// supprimer les notes |
$texte = ereg_replace("\[\[([^]]|\][^]])*\]\]", "", $texte); |
// supprimer les codes typos |
$texte = ereg_replace("[}{]", "", $texte); |
// supprimer les tableaux |
$texte = ereg_replace("(^|\r)\|.*\|\r", "\r", $texte); |
// couper au mot precedent |
$long = $this->gererSubstr($texte, 0, max($taille-4,1)); |
$court = ereg_replace("([^[:space:]][[:space:]]+)[^[:space:]]*\n?$", "\\1", $long); |
$points = MORE_LG_RESULTAT_ETC; |
// trop court ? ne pas faire de (...) |
if (strlen($court) < max(0.75 * $taille,2)) { |
$points = ''; |
$long = $this->gererSubstr($texte, 0, $taille); |
$texte = ereg_replace("([^[:space:]][[:space:]]+)[^[:space:]]*$", "\\1", $long); |
// encore trop court ? couper au caractere |
if (strlen($texte) < 0.75 * $taille) |
$texte = $long; |
} else |
$texte = $court; |
if (strpos($texte, "\n")) // la fin est encore la : c'est qu'on n'a pas de texte de suite |
$points = ''; |
// remettre les paragraphes |
$texte = ereg_replace("\r+", "\n\n", $texte); |
// supprimer l'eventuelle entite finale mal coupee |
$texte = preg_replace('/&#?[a-z0-9]*$/', '', $texte); |
return trim($texte).$points; |
} |
// Gerer les outils mb_string |
// Fichier : inc_texte.php3 |
function gererSubstr($c, $start=0, $end='') |
{ |
// methode substr normale |
if ($end) { |
return substr($c, $start, $end); |
} else { |
return substr($c, $start); |
} |
} |
// Suppression basique et brutale de tous les <...> |
// Fichier : inc_filtres.php3 |
function supprimerTags($texte, $rempl = "") |
{ |
$texte = preg_replace(",<[^>]*>,U", $rempl, $texte); |
// ne pas oublier un < final non ferme |
$texte = str_replace('<', ' ', $texte); |
return $texte; |
} |
} |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.14 2008-10-21 16:54:18 aperonnet |
* correction de bug de double inclusion de fichier quand une balise syndication est présente dans la page |
* |
* Revision 1.13 2008-10-21 15:24:50 aperonnet |
* Ajout de résultats issus des fiches de bazar pour le moteur de recherche |
* |
* Revision 1.12 2007-10-29 18:29:30 jp_milcent |
* Ajout d'un préfixe devant les classes de l'applette pour éviter les conflits avec d'autres classes provenant des applis clientes. |
* |
* Revision 1.11 2007-01-02 18:49:22 jp_milcent |
* Amélioration de la gestion du motif. |
* Ajout de la gestion des expressions complête via l'utilisation de guillemets. |
* |
* Revision 1.10 2006/12/12 13:54:41 jp_milcent |
* Correction bogue : variable non initialisée. |
* |
* Revision 1.9 2006/10/17 09:21:40 jp_milcent |
* Mise en commun des spécifications de la recherche. |
* |
* Revision 1.8 2006/05/23 14:18:19 jp_milcent |
* Ajout de la gestion du mode de recherche au moteur de recherche de Papyrus. |
* Soit on recherche chaque mot du motif, soit le motif entier. |
* |
* Revision 1.7 2006/05/19 10:04:55 jp_milcent |
* Ajout d'un moteur de recherche analysant les articles des sites sous Spip. |
* |
* Revision 1.6 2006/04/28 12:41:49 florian |
* corrections erreurs chemin |
* |
* Revision 1.5 2005/09/20 17:01:22 ddelon |
* php5 et bugs divers |
* |
* Revision 1.4 2005/05/25 13:49:22 jpm |
* Corection erreur pour la recherche dans le contenu. |
* |
* Revision 1.3 2005/05/19 12:46:12 jpm |
* Correction bogue accesskey. |
* Ajout d'un id à la liste. |
* Arrondissement des score. |
* |
* Revision 1.2 2005/04/14 17:39:34 jpm |
* Amélioration du moteur de rechercher : |
* - pourcentage |
* - ajout d'info |
* |
* Revision 1.1 2004/12/07 10:24:06 jpm |
* Moteur de recherche version de départ. |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v4.0-djer/papyrus/applettes/moteur_recherche/bibliotheque/more_recherche_projet.class.php |
---|
New file |
0,0 → 1,243 |
<?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: more_recherche_projet.class.php,v 1.1 2008-08-26 15:31:31 alexandre_tb Exp $ |
/** |
* Classe permettant d'effectuer des recherches sur les informations des articles de Spip. |
* |
* Permet de rechercher et classer les articles en fonction d'une chaine. |
* Utilisation des bibliothèques inclue par Papyrus : |
* - Papyrus pap_meta.fonct.php |
* - Papyrus pap_menu.fonct.php |
* - Papyrus pap_url.class.php |
* |
*@package Applette |
*@subpackage Moteur_Recherche |
//Auteur original : |
*@author Alexandre Granier <alexandre@tela-botanica.org> |
//Autres auteurs : |
*@author aucun |
*@copyright Tela-Botanica 2000-2006 |
*@version $Revision: 1.1 $ $Date: 2008-08-26 15:31:31 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTETE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
class More_Recherche_Projet extends More_Recherche { |
// Constructeur |
function Recherche_Menu_Meta($motif) { |
$this->setMotif($motif); |
} |
// Accesseurs |
function getMotif() { |
return $this->motif; |
} |
function setMotif($motif) { |
$this->motif = $motif; |
} |
// Méthodes |
function rechercherMotif($motif) { |
$db = $GLOBALS['_MOTEUR_RECHERCHE_']['bd']['papyrus']; |
$url_base = $GLOBALS['_MOTEUR_RECHERCHE_']['projet']['url']; |
$tab_articles = $this->retournerProjets($db); |
foreach ($tab_articles as $article_id => $Article) { |
// Initialisation du tableau de résultat vide |
$aso_resultat = array( 'poids' => 0, 'url' => '', 'titre' => '', |
'hreflang' => '', 'accesskey' => '', 'title' => '', |
'date_creation' => '', 'description' => ''); |
// Analyse du poids de cette page vis à vis des données |
$tab_champs_a_visiter = array('p_id', 'p_titre', 'p_resume', 'p_description', 'pd_nom', 'pd_description'); |
foreach ($tab_champs_a_visiter as $val) { |
// Vérification que le champ existe et contient quelque chose |
if (isset($Article->$val) && $Article->$val != '') { |
$aso_resultat['poids'] += $this->retournerOccurenceMotif($motif, $Article->$val); |
} |
} |
if ($aso_resultat['poids'] > 0) { |
// Création de l'url |
$aso_resultat['url_simple'] = $url_base.'?id_projet='.$article_id; |
$aso_resultat['url'] = $aso_resultat['url_simple']; |
// Récupération du titre de la page |
if (trim($Article->p_titre) != '') { |
$aso_resultat['titre'] = htmlentities($Article->p_titre); |
} |
$aso_resultat['id'] = htmlentities($Article->p_id); |
$aso_resultat['description'] = $this->couper($Article->p_description, MORE_RESULTAT_TAILLE_DESCRIPTION); |
if (($jour = date('d', strtotime($Article->p_date_creation)) ) != 0 ) { |
$aso_resultat['date_creation'] .= '<span class="page_modification_jour"> '.$jour.'</span>'."\n"; |
} |
if (($mois = $this->traduireMois(date('m', strtotime($Article->p_date_creation))) ) != '' ) { |
$aso_resultat['date_creation'] .= '<span class="page_modification_mois"> '.$mois.'</span>'."\n"; |
} |
if (($annee = date('Y', strtotime($Article->p_date_creation)) ) != 0 ) { |
$aso_resultat['date_creation'] .= '<span class="page_modification_annee"> '.$annee.'</span>'."\n"; |
} |
$this->setResultat($aso_resultat); |
} |
} |
return $this->getResultats(); |
} |
/** Renvoie un tableau contenant les infos sur les articles |
* |
* @param mixed une instance de la classse Pear DB. |
* @param string le préfixe pour les tables spip. |
* @return array tableau contenant les articles. |
*/ |
function retournerProjets(&$db) |
{ |
//---------------------------------------------------------------------------- |
// Recherche des informations sur le menu |
$requete = 'SELECT * '. |
'FROM projet '; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die (BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
//---------------------------------------------------------------------------- |
// Récupération des infos |
$tab_retour = array(); |
while ($info_article = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) { |
$tab_retour[$info_article->p_id] = $info_article; |
} |
$resultat->free(); |
return $tab_retour; |
} |
// Fichier : inc_texte.php3 |
function couper($texte, $taille = 50) |
{ |
$texte = substr($texte, 0, 400 + 2*$taille); /* eviter de travailler sur 10ko pour extraire 150 caracteres */ |
// on utilise les \r pour passer entre les gouttes |
$texte = str_replace("\r\n", "\n", $texte); |
$texte = str_replace("\r", "\n", $texte); |
// sauts de ligne et paragraphes |
$texte = ereg_replace("\n\n+", "\r", $texte); |
$texte = ereg_replace("<(p|br)( [^>]*)?".">", "\r", $texte); |
// supprimer les traits, lignes etc |
$texte = ereg_replace("(^|\r|\n)(-[-#\*]*|_ )", "\r", $texte); |
// supprimer les tags |
$texte = $this->supprimer_tags($texte); |
$texte = trim(str_replace("\n"," ", $texte)); |
$texte .= "\n"; // marquer la fin |
// travailler en accents charset |
// On supprime dans Papyrus car cela tire trop de fonctions... |
//$texte = $this->filtrer_entites($texte); |
// supprimer les liens |
$texte = ereg_replace("\[->([^]]*)\]","\\1", $texte); // liens sans texte |
$texte = ereg_replace("\[([^\[]*)->([^]]*)\]","\\1", $texte); |
// supprimer les notes |
$texte = ereg_replace("\[\[([^]]|\][^]])*\]\]", "", $texte); |
// supprimer les codes typos |
$texte = ereg_replace("[}{]", "", $texte); |
// supprimer les tableaux |
$texte = ereg_replace("(^|\r)\|.*\|\r", "\r", $texte); |
// couper au mot precedent |
$long = $this->spip_substr($texte, 0, max($taille-4,1)); |
$court = ereg_replace("([^[:space:]][[:space:]]+)[^[:space:]]*\n?$", "\\1", $long); |
$points = MORE_LG_RESULTAT_ETC; |
// trop court ? ne pas faire de (...) |
if (strlen($court) < max(0.75 * $taille,2)) { |
$points = ''; |
$long = $this->spip_substr($texte, 0, $taille); |
$texte = ereg_replace("([^[:space:]][[:space:]]+)[^[:space:]]*$", "\\1", $long); |
// encore trop court ? couper au caractere |
if (strlen($texte) < 0.75 * $taille) |
$texte = $long; |
} else |
$texte = $court; |
if (strpos($texte, "\n")) // la fin est encore la : c'est qu'on n'a pas de texte de suite |
$points = ''; |
// remettre les paragraphes |
$texte = ereg_replace("\r+", "\n\n", $texte); |
// supprimer l'eventuelle entite finale mal coupee |
$texte = preg_replace('/&#?[a-z0-9]*$/', '', $texte); |
return trim($texte).$points; |
} |
// Gerer les outils mb_string |
// Fichier : inc_texte.php3 |
function spip_substr($c, $start=0, $end='') |
{ |
// methode substr normale |
if ($end) { |
return substr($c, $start, $end); |
} else { |
return substr($c, $start); |
} |
} |
// Suppression basique et brutale de tous les <...> |
// Fichier : inc_filtres.php3 |
function supprimer_tags($texte, $rempl = "") |
{ |
$texte = preg_replace(",<[^>]*>,U", $rempl, $texte); |
// ne pas oublier un < final non ferme |
$texte = str_replace('<', ' ', $texte); |
return $texte; |
} |
} |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v4.0-djer/papyrus/applettes/moteur_recherche/langues/more_langue_fr.inc.php |
---|
New file |
0,0 → 1,113 |
<?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: more_langue_fr.inc.php,v 1.7 2006-11-14 16:07:41 jp_milcent Exp $ |
/** |
* Gestion des langues de l'applette Moteur_Recherche |
* |
* Contient les constantes pour la langue française de l'applette MORE. |
* |
*@package Applette |
*@subpackage Moteur_Recherche |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.7 $ $Date: 2006-11-14 16:07:41 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTETE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// Le formulaire de sélection du site dont les menus doivent être administrer : |
define('MORE_LG_FORM_TITRE', 'Moteur de recherche'); |
define('MORE_LG_FORM_ACCESSKEY', '4'); |
define('MORE_LG_FORM_MOTIF', 'Rechercher : '); |
define('MORE_LG_FORM_MOTIF_REGLE', 'Une chaine doit être saisie pour pouvoir lancer la recherche !'); |
define('MORE_LG_FORM_MOTIF_VALUE', 'Rechercher'); |
define('MORE_LG_FORM_VALIDER', 'ok'); |
define('MORE_LG_FORM_SYMBOLE_OBLIGATOIRE', '*'); |
define('MORE_LG_TITRE', 'Résultat de la recherche de : '); |
define('MORE_LG_USURPATION', 'Recherche de : '); |
// Les résultats de la recherche : |
define('MORE_LG_RESULTAT_TITRE', 'Résultats de la recherche : %s page trouvée'); |
define('MORE_LG_RESULTAT_TITRE_PLURIEL', 'Résultats de la recherche : %s pages trouvées'); |
define('MORE_LG_RESULTAT_RACCOURCI', 'Raccourci : '); |
define('MORE_LG_RESULTAT_DESCRIPTION', 'Description : '); |
define('MORE_LG_RESULTAT_DATE_CREATION', 'Date de création : '); |
define('MORE_LG_RESULTAT_DETAIL', 'Détail : '); |
define('MORE_LG_RESULTAT_POIDS', 'Poids : '); |
define('MORE_LG_RESULTAT_SCORE', 'Pertinence : '); |
define('MORE_LG_RESULTAT_URL', 'URL : '); |
define('MORE_LG_RESULTAT_SEPARATEUR', '-'); |
define('MORE_LG_RESULTAT_POURCENT', '%'); |
define('MORE_LG_RESULTAT_CADRE_OUVRIR', '('); |
define('MORE_LG_RESULTAT_CADRE_FERMER', ')'); |
define('MORE_LG_RESULTAT_POINT', '.'); |
define('MORE_LG_RESULTAT_VIDE', 'Aucun résultat pour cette recherche!'); |
define('MORE_LG_RESULTAT_ETC', ' (...)'); |
// +------------------------------------------------------------------------------------------------------+ |
// | PIED du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.6 2006/05/19 10:04:55 jp_milcent |
* Ajout d'un moteur de recherche analysant les articles des sites sous Spip. |
* |
* Revision 1.5 2006/03/02 10:49:49 ddelon |
* Fusion branche multilinguisme dans branche principale |
* |
* Revision 1.4.2.1 2005/12/27 15:56:00 ddelon |
* Fusion Head vers multilinguisme (wikini double clic) |
* |
* Revision 1.4 2005/10/26 08:14:51 jp_milcent |
* Changement du terme "score" en "pertinence". |
* |
* Revision 1.3 2005/05/25 13:49:22 jpm |
* Corection erreur pour la recherche dans le contenu. |
* |
* Revision 1.2 2005/04/14 17:39:34 jpm |
* Amélioration du moteur de rechercher : |
* - pourcentage |
* - ajout d'info |
* |
* Revision 1.1 2004/12/07 10:24:16 jpm |
* Moteur de recherche version de départ. |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v4.0-djer/papyrus/applettes/moteur_recherche/langues/more_langue_en.inc.php |
---|
New file |
0,0 → 1,116 |
<?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: more_langue_en.inc.php,v 1.4 2006-11-14 16:07:41 jp_milcent Exp $ |
/** |
* Gestion des langues de l'applette Moteur_Recherche |
* |
* Contient les constantes pour la langue anglaise de l'applette MORE. |
* |
*@package Applette |
*@subpackage Moteur_Recherche |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.4 $ $Date: 2006-11-14 16:07:41 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTETE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// Le formulaire de sélection du site dont les menus doivent être administrer : |
define('MORE_LG_FORM_TITRE', 'Search engine'); |
define('MORE_LG_FORM_ACCESSKEY', '4'); |
define('MORE_LG_FORM_MOTIF', 'Search : '); |
define('MORE_LG_FORM_MOTIF_REGLE', 'You must type a string !'); |
define('MORE_LG_FORM_MOTIF_VALUE', 'Search'); |
define('MORE_LG_FORM_VALIDER', 'ok'); |
define('MORE_LG_FORM_SYMBOLE_OBLIGATOIRE', '*'); |
define('MORE_LG_TITRE', 'Search result of : '); |
define('MORE_LG_USURPATION', 'Search of : '); |
// Les résultats de la recherche : |
define('MORE_LG_RESULTAT_TITRE', 'Search results : %s page found'); |
define('MORE_LG_RESULTAT_TITRE_PLURIEL', 'Search results : %s pages found'); |
define('MORE_LG_RESULTAT_RACCOURCI', 'Shortcut : '); |
define('MORE_LG_RESULTAT_DESCRIPTION', 'Description : '); |
define('MORE_LG_RESULTAT_DATE_CREATION', 'Creation date : '); |
define('MORE_LG_RESULTAT_DETAIL', 'Detail : '); |
define('MORE_LG_RESULTAT_POIDS', 'Weight : '); |
define('MORE_LG_RESULTAT_SCORE', 'Accuracy : '); |
define('MORE_LG_RESULTAT_URL', 'URL : '); |
define('MORE_LG_RESULTAT_SEPARATEUR', '-'); |
define('MORE_LG_RESULTAT_POURCENT', '%'); |
define('MORE_LG_RESULTAT_CADRE_OUVRIR', '('); |
define('MORE_LG_RESULTAT_CADRE_FERMER', ')'); |
define('MORE_LG_RESULTAT_POINT', '.'); |
define('MORE_LG_RESULTAT_VIDE', 'No matches for this query!'); |
define('MORE_LG_RESULTAT_ETC', ' (...)'); |
// +------------------------------------------------------------------------------------------------------+ |
// | PIED du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.3 2006/05/19 10:04:55 jp_milcent |
* Ajout d'un moteur de recherche analysant les articles des sites sous Spip. |
* |
* Revision 1.2 2006/03/02 10:49:49 ddelon |
* Fusion branche multilinguisme dans branche principale |
* |
* Revision 1.1.2.2 2005/12/27 15:56:00 ddelon |
* Fusion Head vers multilinguisme (wikini double clic) |
* |
* Revision 1.1.2.1 2005/12/20 14:40:25 ddelon |
* Fusion Head vers Livraison |
* |
* Revision 1.4 2005/10/26 08:14:51 jp_milcent |
* Changement du terme "score" en "pertinence". |
* |
* Revision 1.3 2005/05/25 13:49:22 jpm |
* Corection erreur pour la recherche dans le contenu. |
* |
* Revision 1.2 2005/04/14 17:39:34 jpm |
* Amélioration du moteur de rechercher : |
* - pourcentage |
* - ajout d'info |
* |
* Revision 1.1 2004/12/07 10:24:16 jpm |
* Moteur de recherche version de départ. |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v4.0-djer/papyrus/applettes/moteur_recherche/squelettes/formulaire_extensible_js.tpl.html |
---|
New file |
0,0 → 1,40 |
<?php |
// Le code javascript pour le basculement de taille est directement dans le template utiliser plutôt le squelette formulaire_extensible.tpl.html |
// en mettant le code js dans un fichier à part si le moteur de recherche est accessible depuis de nombreuses pages du site. |
?> |
<form action="<?=$form_url;?>" method="post" id="form_more_recherche"> |
<fieldset> |
<legend><?=MORE_LG_FORM_TITRE;?></legend> |
<label for="more_motif"><?=MORE_LG_FORM_MOTIF;?></label> |
<input id="more_motif" name="more_motif" tabindex="<?=$form_tab;?>" maxlength="<?=MORE_FORM_MOTIF_MAXLENGTH;?>" accesskey="<?=MORE_LG_FORM_ACCESSKEY;?>" type="text" value="<?=$more_motif;?>" onfocus="nettoyerChamp('more_motif', '<?=$more_motif_base;?>');basculerTaille('more_motif', true);" onblur="nettoyerChamp('more_motif', '<?=$more_motif_base;?>');basculerTaille('more_motif', false);" title="Mettre les termes entre guillemets pour rechercher sur la phrase exacte."/> |
<input id="more_ok" name="more_ok" tabindex="<?=++$form_tab;?>" value="<?=MORE_LG_FORM_VALIDER;?>" type="submit" /> |
</fieldset> |
</form> |
<script type="text/javascript"> |
//<![CDATA[ |
// Fonction aggrandissant ou diminuant la taille d'un champ |
// Provient du site https://addons.mozilla.org/ |
function basculerTaille(id, grand) |
{ |
var sb = document.getElementById(id); |
if (grand) { |
sb.style.width = '20em;'; |
} else { |
sb.style.width = '10em;'; |
} |
} |
// Fonction nettoyant un champ de formulaire d'une chaine donnée... |
function nettoyerChamp(id, chaine) |
{ |
var sb = document.getElementById(id); |
var valeur = sb.value; |
if (valeur == chaine) { |
sb.value = ''; |
} |
if (valeur == '') { |
sb.value = chaine; |
} |
} |
//]]> |
</script> |
/tags/v4.0-djer/papyrus/applettes/moteur_recherche/squelettes/formulaire.tpl.html |
---|
New file |
0,0 → 1,8 |
<form action="<?=$form_url;?>" method="post" id="form_more_recherche"> |
<fieldset> |
<legend><?=MORE_LG_FORM_TITRE;?></legend> |
<label for="more_motif"><?=MORE_LG_FORM_MOTIF;?></label> |
<input id="more_motif" name="more_motif" tabindex="<?=$form_tab;?>" maxlength="<?=MORE_FORM_MOTIF_MAXLENGTH;?>" accesskey="<?=MORE_LG_FORM_ACCESSKEY;?>" type="text" value="<?=$more_motif;?>" title="Mettre les termes entre guillemets pour rechercher sur la phrase exacte." /> |
<input id="more_ok" name="more_ok" tabindex="<?=++$form_tab;?>" value="<?=MORE_LG_FORM_VALIDER;?>" type="submit" /> |
</fieldset> |
</form> |
/tags/v4.0-djer/papyrus/applettes/moteur_recherche/squelettes/formulaire_extensible.tpl.html |
---|
New file |
0,0 → 1,12 |
<?php |
// Le code javascript pour le basculement de taille doit être mis dans un fichier js à part |
// Les fonctions nécessaires sont disponibles dans le fichier de template : formulaire_extensible_js.tpl.html |
?> |
<form action="<?=$form_url;?>" method="post" id="form_more_recherche"> |
<fieldset> |
<legend><?=MORE_LG_FORM_TITRE;?></legend> |
<label for="more_motif"><?=MORE_LG_FORM_MOTIF;?></label> |
<input id="more_motif" name="more_motif" tabindex="<?=$form_tab;?>" maxlength="<?=MORE_FORM_MOTIF_MAXLENGTH;?>" accesskey="<?=MORE_LG_FORM_ACCESSKEY;?>" type="text" value="<?=$more_motif;?>" onfocus="nettoyerChamp('more_motif', '<?=$more_motif_base;?>');basculerTaille('more_motif', true);" onblur="nettoyerChamp('more_motif', '<?=$more_motif_base;?>');basculerTaille('more_motif', false);" title="Mettre les termes entre guillemets pour rechercher sur la phrase exacte."/> |
<input id="more_ok" name="more_ok" tabindex="<?=++$form_tab;?>" value="<?=MORE_LG_FORM_VALIDER;?>" type="submit" /> |
</fieldset> |
</form> |
/tags/v4.0-djer/papyrus/applettes/moteur_recherche/squelettes/resultat_std.tpl.html |
---|
New file |
0,0 → 1,26 |
<h1><?=$titre;?></h1> |
<?php if ($nbre_pages == 0) : ?> |
<p class="information"><?=$vide;?></p> |
<?php else : ?> |
<ul id="more_resultat"> |
<?php foreach ($resultats as $val) : ?> |
<li> |
<h2><a href="<?=$val['url'];?>" <?=$val['hreflang']!= ''?'hreflang="'.$val['hreflang'].'"':'';?> <?=$val['accesskey']!= ''?'accesskey="'.$val['accesskey'].'"':'';?> <?=$val['title']!= ''?'title="'.$val['title'].'"':'';?> ><?=$val['titre'];?></a></h2> |
<dl> |
<?php if ($val['score'] != '') : ?> |
<dt><?=MORE_LG_RESULTAT_SCORE;?></dt> |
<dd><?=$val['score'].MORE_LG_RESULTAT_POURCENT;?></dd> |
<?php endif; ?> |
<?php if ($val['date_creation'] != '') : ?> |
<dt><?=MORE_LG_RESULTAT_DATE_CREATION;?></dt> |
<dd><?=$val['date_creation'];?></dd> |
<?php endif; ?> |
<?php if ($val['description'] != '') : ?> |
<dt><?=MORE_LG_RESULTAT_DESCRIPTION;?></dt> |
<dd><?=$val['description'];?></dd> |
<?php endif; ?> |
</dl> |
</li> |
<?php endforeach; ?> |
</ul> |
<?php endif;?> |
/tags/v4.0-djer/papyrus/applettes/moteur_recherche/squelettes/resultat_gg.tpl.html |
---|
New file |
0,0 → 1,31 |
<h1><?=$titre;?></h1> |
<?php if ($nbre_pages == 0) : ?> |
<p class="information"><?=$vide;?></p> |
<?php else : ?> |
<ul id="more_resultat"> |
<?php foreach ($resultats as $val) : ?> |
<li> |
<h2><a href="<?=$val['url'];?>" <?=$val['hreflang']!= ''?'hreflang="'.$val['hreflang'].'"':'';?> <?=$val['accesskey']!= ''?'accesskey="'.$val['accesskey'].'"':'';?><?=$val['title']!= ''?'title="'.$val['title'].'"':'';?> ><?=$val['titre'];?></a></h2> |
<dl class="more_info"> |
<?php if ($val['date_creation'] != '') : ?> |
<dt class="more_iidc"><?=MORE_LG_RESULTAT_DATE_CREATION;?></dt> |
<dd class="more_ivdc"><?=$val['date_creation'];?></dd> |
<?php endif; ?> |
<?php if ($val['description'] != '') : ?> |
<dt class="more_iid"><?=MORE_LG_RESULTAT_DESCRIPTION;?></dt> |
<dd class="more_ivd"><?=$val['description'];?></dd> |
<?php endif; ?> |
<dt class="more_iid"><?=MORE_LG_RESULTAT_DETAIL;?></dt> |
<dd class="more_ivd"> |
<ul class="more_detail"> |
<li class="more_du"><span class="more_dui"><?=MORE_LG_RESULTAT_URL;?></span><span class="more_duv"><a href="<?=$val['url'];?>" <?=$val['hreflang']!= ''?'hreflang="'.$val['hreflang'].'"':'';?> <?=$val['accesskey']!= ''?'accesskey="'.$val['accesskey'].'"':'';?> ><?=$val['url_simple'];?></a></span</li> |
<?php if ($val['score'] != '') : ?> |
<li class="more_ds"><span class="more_dsi"><?=MORE_LG_RESULTAT_SCORE;?></span><span class="more_dsv"><?=$val['score'].MORE_LG_RESULTAT_POURCENT;?></span></li> |
<?php endif; ?> |
</ul> |
</dd> |
</dl> |
</li> |
<?php endforeach; ?> |
</ul> |
<?php endif;?> |
/tags/v4.0-djer/papyrus/applettes/moteur_recherche/configuration/more_config_spip.inc.php |
---|
New file |
0,0 → 1,66 |
<?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$ |
/** |
* Fichier de configuration de la recherche dans Spip. |
* |
* Permet de définir certains paramètres valables pour toutes l'applette MORE. |
* |
*@package Applette |
*@subpackage Moteur_Recherche |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author aucun |
*@copyright Tela-Botanica 2000-2006 |
*@version $Revision$ $Date$ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTETE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
$GLOBALS['_MOTEUR_RECHERCHE_']['spip'] = array(); |
// Information pour un premier site Spip... |
//$GLOBALS['_MOTEUR_RECHERCHE_']['spip'][0] = |
// array( 'bdd_dsn' => 'mysql://nom_utilisateur:mot_de_passe@localhost/nom_base_de_donnees', |
// 'table_prefixe' => '', |
// 'url' => 'url_de_base_du_spip'); |
// Information pour un deuxième site Spip... |
//$GLOBALS['_MOTEUR_RECHERCHE_']['spip'][1] = |
// array( 'bdd_dsn' => 'mysql://nom_utilisateur:mot_de_passe@localhost/nom_base_de_donnees', |
// 'table_prefixe' => '', |
// 'url' => 'url_de_base_du_spip'); |
// Ainsi de suite... |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log$ |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v4.0-djer/papyrus/applettes/moteur_recherche/configuration/more_config_bazar.inc.php |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v4.0-djer/papyrus/applettes/moteur_recherche/configuration/more_config_bazar.inc.php |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/tags/v4.0-djer/papyrus/applettes/moteur_recherche/configuration/more_configuration.inc.php |
---|
New file |
0,0 → 1,105 |
<?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: more_configuration.inc.php,v 1.5 2006-11-14 16:08:12 jp_milcent Exp $ |
/** |
* Fichier de configuration général de l'applette Moteur_Recherche. |
* |
* Permet de définir certains paramètres valables pour toutes l'applette MORE. |
* |
*@package Applette |
*@subpackage Moteur_Recherche |
//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-11-14 16:08:12 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTETE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/** Constante stockant la valeur de la langue par défaut pour l'applette MORE.*/ |
define('MORE_I18N_DEFAUT', GEN_I18N_ID_DEFAUT); |
/** Constante stockant la valeur de la langue par défaut pour l'applette MORE.*/ |
define('MORE_MODE', 1);// 1 : recherche de chaque mot du motif; 2: recherche du motif complet |
// Chemin des fichiers à inclure. |
/** Chemin vers la bibliothèque PEAR.*/ |
define('MORE_CHEMIN_BIBLIOTHEQUE_PEAR', PAP_CHEMIN_API_PEAR); |
// Chemin vers les dossiers de l'applette |
/** Chemin vers l'applette Moteur de Recherche de Papyrus.*/ |
define('MORE_CHEMIN_APPLETTE', GEN_CHEMIN_APPLETTE.'moteur_recherche'.GEN_SEP); |
/** Chemin vers les fichiers de traduction de l'applette Moteur de Recherche de Papyrus.*/ |
define('MORE_CHEMIN_LANGUE', MORE_CHEMIN_APPLETTE.'langues'.GEN_SEP); |
/** Chemin vers les fichiers de la bibliotheque de l'applette Moteur de Recherche de Papyrus.*/ |
define('MORE_CHEMIN_BIBLIO', MORE_CHEMIN_APPLETTE.'bibliotheque'.GEN_SEP); |
/** Chemin vers les fichiers squelettes de l'applette Moteur de Recherche de Papyrus.*/ |
define('MORE_CHEMIN_SQUELETTE', MORE_CHEMIN_APPLETTE.'squelettes'.GEN_SEP); |
// Configuration du formulaire de recherche |
/** Nom du fichier de squelette à utiliser pour le formulaire du moteur de recherche.*/ |
define('MORE_FORM_SQUELETTE', 'formulaire.tpl.html'); |
/** Valeur de départ des tabulations pour le formulaire de recherche.*/ |
define('MORE_FORM_MOTIF_TAB', 100); |
/** Taille de la zone de saisie de texte du formulaire de recherche.*/ |
define('MORE_FORM_MOTIF_SIZE', 20); |
/** Nombre de caractères maximum pouvant être saisis dans la zone de texte du formulaire de recherche.*/ |
define('MORE_FORM_MOTIF_MAXLENGTH', 100); |
// Configuration des résultats d'une recherche |
/** Nom du fichier de squelette à utiliser pour les résultats du moteur de recherche.*/ |
define('MORE_RESULTAT_SQUELETTE', 'resultat_gg.tpl.html'); |
/** Taille du champ description en nombre de caractères.*/ |
define('MORE_RESULTAT_TAILLE_DESCRIPTION', 200); |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.4 2006/10/17 09:22:02 jp_milcent |
* Utilisation par défaut du mode de recherche 1. |
* |
* Revision 1.3 2006/10/10 12:02:30 jp_milcent |
* Suppression d'une bibliothèque Pear qu'il est inutile d'inclure. |
* Ajout du chemin vers la bibliotheque Pear de Papyrus. |
* |
* Revision 1.2 2006/05/23 14:18:19 jp_milcent |
* Ajout de la gestion du mode de recherche au moteur de recherche de Papyrus. |
* Soit on recherche chaque mot du motif, soit le motif entier. |
* |
* Revision 1.1 2004/12/07 10:24:12 jpm |
* Moteur de recherche version de départ. |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v4.0-djer/papyrus/applettes/moteur_recherche/configuration/more_config_projet.inc.php |
---|
New file |
0,0 → 1,52 |
<?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: more_config_projet.inc.php,v 1.1 2008-08-26 15:31:44 alexandre_tb Exp $ |
/** |
* Fichier de configuration de la recherche dans l appli projet. |
* |
* Permet de définir certains paramètres valables pour toutes l'applette MORE. |
* |
*@package Applette |
*@subpackage Moteur_Recherche |
//Auteur original : |
*@author Alexandre Granier <alexandre@tela-botanica.org> |
//Autres auteurs : |
*@author aucun |
*@copyright Tela-Botanica 2000-2008 |
*@version $Revision: 1.1 $ $Date: 2008-08-26 15:31:44 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTETE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
$GLOBALS['_MOTEUR_RECHERCHE_']['projet']['url'] = ''; |
// |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v4.0-djer/papyrus/applettes/menu/menu.php |
---|
New file |
0,0 → 1,668 |
<?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: menu.php,v 1.35 2008-08-12 16:22:51 jp_milcent Exp $ |
/** |
* Applette : menu |
* |
* Génère une liste de listes comportant tous les niveaux des menus "classiques" d'un site. |
* Nécessite : |
* - Variable de Papyrus. |
* - Base de données de Papyrus |
* - Pear DB |
* - Pear Net_URL |
* - API Débogage 1.0 |
* |
*@package Applette |
*@subpackage Menu |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.35 $ $Date: 2008-08-12 16:22:51 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// Inclusion de la bibliothèque defonction sur les menu : inutile car inclue par Papyrus |
require_once GEN_CHEMIN_BIBLIO.'pap_menu.fonct.php'; |
$GLOBALS['_MENU_']['nom_fonction'] = 'afficherMenuNiveauMultiple'; |
$GLOBALS['_GEN_commun']['info_applette_nom_fonction'] = $GLOBALS['_MENU_']['nom_fonction']; |
$GLOBALS['_GEN_commun']['info_applette_balise'] = '<!-- '.$GLOBALS['_GEN_commun']['balise_prefixe'].'(MENU_?(?:(|CLASSIQUE|COMMUN|DEROULANT)_([0-9]+)_([0-9]+)(|_ID_([0-9]+))|(UNIQUE)_([0-9]+))(?:|_NUMID_([0-9]+))) -->'; |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// +------------------------------------------------------------------------------------------------------+ |
// | LISTE de FONCTIONS | |
// +------------------------------------------------------------------------------------------------------+ |
/** Fonction GEN_afficherMenuNiveauMultiple() - Retourne la liste des listes de menus. |
* |
* Cette fonction retourne ne fait qu'encapsuler une fonction récursive |
* retournant les listes de menus de l'arborescence d'un site dans une |
* langue donnée. |
* |
* @param array contient les arguments de la fonction en 1 le niveau de départ et en 2 le niveau d'arrivée (profondeur max demandée). |
* @param array tableau global de Papyrus. |
* @return string HTML la liste des listes de menus. |
*/ |
function afficherMenuNiveauMultiple($tab_applette_arguments, $_GEN_commun) |
{ |
// Initialisation de variable et gestion des globales |
$objet_pear_db = $_GEN_commun['pear_db']; |
$id_site = $_GEN_commun['info_site']->gs_id_site; |
if (isset($_GEN_commun['info_menu'])) { |
$id_menu = $_GEN_commun['info_menu']->gm_id_menu; |
} |
$num_menu = $GLOBALS['_PAPYRUS_']['applette']['comptage'][$GLOBALS['_MENU_']['nom_fonction']]; |
// Indentation du html |
$indent_origine = 12;// Indentation de départ en nombre d'espace |
$indent_pas = 4;// Pas d'indentation en nombre d'espace |
// Récupérations des arguments passés dans la balise. |
// Pour les menus CLASSIQUE et COMMUN |
$balise = $tab_applette_arguments[1]; |
$menu_type = $tab_applette_arguments[2]; |
$niveau_depart = (isset($tab_applette_arguments[3])) ? $tab_applette_arguments[3] : 1; |
$profondeur = $tab_applette_arguments[4]; |
$menu_depart = 0; |
// Si on indique un ID de menu de départ |
if (isset($tab_applette_arguments[5]) && !empty($tab_applette_arguments[5])) { |
$menu_depart = $tab_applette_arguments[6]; |
} |
// Pour les menus UNIQUE |
if (isset($tab_applette_arguments[7])) { |
$menu_type = $tab_applette_arguments[7]; // Type de menu : UNIQUE |
} |
if (isset($tab_applette_arguments[8])) { |
$menu_depart = $tab_applette_arguments[8]; // ID du menu de type UNIQUE |
} |
// Pour les balises menus avec NUMID en dur |
// Gestion du numéro unique pour l'attribut id des li des menus |
if (isset($tab_applette_arguments[9])) { |
$num_menu = $tab_applette_arguments[9]; |
} |
// Gestion du type de menu |
switch ($menu_type) { |
case 'COMMUN' : |
$menu_type = 'commun'; |
break; |
case 'UNIQUE' : |
$menu_type = 'unique'; |
break; |
case 'DEROULANT' : |
$menu_type = 'deroulant'; |
break; |
case 'CLASSIQUE' : |
default: |
$menu_type = 'classique'; |
} |
// Si le niveau de départ est supérieur à 1 et qu'aucun id de menu n'a été indiqué dans la balise |
$niveau_actuel = 1; |
if (1 < $niveau_depart && 0 == $menu_depart && isset($id_menu)) { |
$menu_depart = GEN_lireIdentifiantMenuPere($id_menu); |
$niveau_actuel = GEN_donnerProfondeur($id_site, $id_menu); |
//trigger_error("Niveau actuel du menu si$id_site:me$id_menu pour la balise {$tab_applette_arguments[0]} : $niveau_actuel", E_USER_NOTICE); |
} |
//Construction du menu |
$xhtml_menu = afficherListeNiveauMultiple( $objet_pear_db, $id_site,$niveau_depart, |
$profondeur, $menu_depart, 1, $menu_type, $indent_origine, |
$indent_pas, $_GEN_commun, $num_menu, $niveau_actuel); |
// Si le menu est déroulant il faut stocker un peu de javascript pour IE |
if ($menu_type == 'deroulant') { |
GEN_stockerCodeScript ('sfHover = function() { |
var sfEls = document.getElementById("groupe_menu_1_0").getElementsByTagName("LI"); |
for (var i=0; i<sfEls.length; i++) { |
sfEls[i].onmouseover=function() { |
this.className+=" sfhover"; |
} |
sfEls[i].onmouseout=function() { |
this.className=this.className.replace(new RegExp(" sfhover\\\\b"), ""); |
} |
} |
} |
if (window.attachEvent) window.attachEvent("onload", sfHover);') ; |
} |
//Si nous avons un |
if (! empty($xhtml_menu)) { |
$retour = $xhtml_menu; |
} else { |
$retour = '<!-- '.$balise.' : aucun menu trouvé ! -->'; |
} |
return $retour; |
} |
/** Fonction afficherListeNiveauMultiple() - Affiche une arborescence des menu classiques d'un site. |
* |
* Créé et retourne une liste pour chaque niveau de menu classique trouvé dans l'arborescence |
* des menus d'un site dans une langue donnée. |
* C'est une fonction récursive. |
* |
* @param mixed objet Pear DB de connexion à la base de données. |
* @param integer identifiant d'un site. |
* @param integer identifiant de la langue demandée. |
* @param integer niveau de départ. |
* @param integer niveau d'arrivée (profondeur max demandée). |
* @param integer identifiant d'un menu pére. |
* @return string les listes de menus au format XHTML. |
*/ |
function afficherListeNiveauMultiple( &$objet_pear_db, $id_site, $niveau_depart, $profondeur, |
$id_pere_menu_a_deployer, $position, $menu_type, $indent_origine = 12, |
$indent_pas = 4, $_GEN_commun, $num_menu, $niveau_actuel = 1) |
{ |
// Initialisation des variables |
$retour = ''; |
$tete = ''; |
$corps = ''; |
$pied = ''; |
$i18n_url = '' ; |
$id_langue = $_GEN_commun['i18n'];//identifiant de la langue choisie |
if ($id_langue != GEN_I18N_ID_DEFAUT) { |
$i18n_url=$id_langue; |
} |
if (isset($id_langue) && ($id_langue!='')) { |
$langue_test=$id_langue; |
} else { |
$langue_test=GEN_I18N_ID_DEFAUT; |
} |
// Récupération des infos sur sur l'entrée du menu à afficher |
$menu_info = GEN_lireInfoMenu($objet_pear_db, $id_pere_menu_a_deployer, DB_FETCHMODE_ASSOC); |
// Gestion des menus uniques |
if ($menu_type == 'unique' && ($menu_info['gm_date_fin_validite'] == '0000-00-00 00:00:00' || strtotime($menu_info['gm_date_fin_validite']) > time() )) { |
$retour .= afficherEntreeListeMenu( $objet_pear_db, $id_pere_menu_a_deployer, $i18n_url, |
$niveau_actuel, 1, $position, $menu_type, $indent_origine, $indent_pas, $_GEN_commun, $num_menu); |
// Dans le cas, d'un menu unique, on retourne directement le résultat ici. |
return $retour; |
} |
// On affiche un menu que si $profondeur <= $niveau_actuel <= $depart |
if ($niveau_actuel > $profondeur) { |
return null; |
} |
// Nous regardons si nous devons afficher un menu racine |
if ($id_pere_menu_a_deployer != 0 && $niveau_actuel == 1 && ($menu_info['gm_date_fin_validite'] == '' || $menu_info['gm_date_fin_validite'] == '0000-00-00 00:00:00' || strtotime($menu_info['gm_date_fin_validite']) > time() )) { |
$tete .= str_repeat(' ', $indent_origine + ($indent_pas * $position)). |
'<ul class="groupe_menu_'.$num_menu.'_'.$id_pere_menu_a_deployer.'" class="menu_'.$menu_type.'_'.'n'.$niveau_actuel.'">'."\n"; |
$id_menu_selectionne = $GLOBALS['_GEN_commun']['info_menu']->gm_id_menu; |
if (!empty($id_menu_selectionne) && (GEN_etreAncetre($id_pere_menu_a_deployer, $id_menu_selectionne) || $id_pere_menu_a_deployer == $id_menu_selectionne) ) { |
$classe = 'menu_actif'; |
} else { |
$classe = 'menu_inactif'; |
} |
// Pour un menu dont on spécifie l'identifiant du menu départ, on affiche ce menu. |
$corps .= str_repeat(' ', $indent_origine + ($indent_pas * ($position + 1))). |
'<li id="menu_'.$num_menu.'_'.$id_pere_menu_a_deployer.'" class="'.$classe.'">'."\n"; |
$corps .= afficherEntreeListeMenu( $objet_pear_db, $id_pere_menu_a_deployer, $i18n_url, |
$niveau_actuel, 1, $position, $menu_type, $indent_origine, $indent_pas, $_GEN_commun, $num_menu); |
} |
if ($niveau_actuel >= $niveau_depart && $niveau_actuel <= $profondeur) { |
$tete .= str_repeat(' ', $indent_origine + ($indent_pas * ($position + 1))). |
'<ul id="groupe_menu_'.$num_menu.'_'.$id_pere_menu_a_deployer.'" class="menu_'.$menu_type.'_'.'n'.$niveau_actuel.'">'."\n"; |
} |
$requete = 'SELECT gm_id_menu, gm_date_fin_validite, gm_ce_i18n , GMR01.gmr_ordre, gm_nom '. |
'FROM gen_menu, gen_menu_relation AS GMR01, gen_menu_relation AS GMR02 '. |
'WHERE GMR01.gmr_id_menu_01 = gm_id_menu '. |
'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 (gm_ce_i18n = "'.GEN_I18N_ID_DEFAUT.'" '. |
'OR gm_ce_i18n = "'.$langue_test.'" )' ; |
$requete .= 'AND GMR01.gmr_id_menu_02 = '.$id_pere_menu_a_deployer.' '; |
if ($menu_type == 'classique' || $menu_type == 'deroulant') { |
$requete .= 'AND gm_ce_site = '.$id_site.' '. |
'AND GMR02.gmr_id_valeur = 100 '.// 100 = type "menu classique" |
'ORDER BY GMR01.gmr_ordre ASC'; |
} else if ($menu_type == 'commun') { |
$requete .= 'AND gm_ce_site = 0 '. |
'AND GMR02.gmr_id_valeur = 102 '.// 102 = type "menu commun" |
'ORDER BY GMR01.gmr_ordre ASC'; |
} |
//$GLOBALS['_GEN_commun']['debogage_info'] .= $requete; |
$resultat = $objet_pear_db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
$liste_menu=array(); |
// On ne retient pas les menus qui sont des traductions ... |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) { |
if ($langue_test == GEN_I18N_ID_DEFAUT) { |
// Le menu n'est pas une traduction : on le traite |
$requete_est_traduction = 'SELECT gmr_id_menu_01 '. |
'FROM gen_menu_relation '. |
'WHERE '.$ligne->gm_id_menu.' = gmr_id_menu_02 ' . |
'AND gmr_id_menu_01 <> gmr_id_menu_02 '. |
'AND gmr_id_valeur = 2 ';// 2 = "avoir traduction" |
$resultat_est_traduction = $objet_pear_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_menu[]=$ligne; |
} |
} |
// Par defaut, on traite tous les menus trouvés |
else { |
$liste_menu[]=$ligne; |
} |
} |
if (!function_exists('cmp')) { |
function cmp($a, $b) { |
if ($a->gmr_ordre == $b->gmr_ordre) { |
return 0; |
} |
return ($a->gmr_ordre < $b->gmr_ordre) ? -1 : 1; |
} |
} |
usort ($liste_menu,"cmp"); |
foreach ($liste_menu as $ligne) { |
//while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) { |
if ($ligne->gm_date_fin_validite == '' || $ligne->gm_date_fin_validite == '0000-00-00 00:00:00' || strtotime($ligne->gm_date_fin_validite) > time()) { |
// On ne retient pas egalement les menu reserve a une seule langue |
$requete_restriction = 'SELECT gmr_id_menu_02 '. |
'FROM gen_menu_relation '. |
'WHERE '.$ligne->gm_id_menu.' = gmr_id_menu_01 ' . |
'AND gmr_id_valeur = 106 ';// 106 restriction de menu |
$resultat_restriction = $objet_pear_db->query($requete_restriction); |
(DB::isError($resultat_restriction)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_restriction->getMessage(), $requete_restriction)) |
: ''; |
if ($resultat_restriction->numRows()>0 && $langue_test!=$ligne->gm_ce_i18n) { |
$select_menu=0; |
} |
else { |
$select_menu=1; |
} |
if ($niveau_actuel >= $niveau_depart && $niveau_actuel <= $profondeur && $select_menu==1) { |
$id_menu_inf = $ligne->gm_id_menu; |
$id_menu_selectionne = ''; |
if (isset($GLOBALS['_GEN_commun']['info_menu']->gm_id_menu)) { |
$id_menu_selectionne = $GLOBALS['_GEN_commun']['info_menu']->gm_id_menu; |
} |
// On vérifie si le menu est le menu sélectionné |
if (!empty($id_menu_selectionne) && (GEN_etreAncetre($id_menu_inf, $id_menu_selectionne) || $id_menu_inf == $id_menu_selectionne) ) { |
$classe = 'menu_actif'; |
} else { |
$classe = 'menu_inactif'; |
} |
$tmp= afficherEntreeListeMenu( $objet_pear_db, $id_menu_inf, $niveau_actuel, |
$ligne->gmr_ordre, $position, $menu_type, $indent_origine, $indent_pas, $_GEN_commun, $num_menu); |
// Affichage du menu |
if ($tmp!='') { |
$corps .= str_repeat(' ', $indent_origine + ($indent_pas * ($position + 2))). |
'<li id="menu_'.$num_menu.'_'.$id_menu_inf.'" class="'.$classe.'">'."\n"; |
$corps .= $tmp; |
} |
} |
// Pour chaque menu on regarde s'il y a des fils. Si oui, on les déploie. |
$requete_fils = 'SELECT gm_id_menu '. |
'FROM gen_menu, gen_menu_relation AS GMR01, gen_menu_relation AS GMR02 '. |
'WHERE GMR01.gmr_id_menu_02 = '.$ligne->gm_id_menu.' '. |
'AND GMR01.gmr_id_menu_01 = gm_id_menu '. |
'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 ' ; |
if ($menu_type == 'classique') { |
$requete_fils .='AND GMR02.gmr_id_valeur = 100 ' ;// 100 = type "menu classique" |
} |
if ($menu_type == 'commun') { |
$requete_fils .='AND GMR02.gmr_id_valeur = 102 '; // 102 = type "menu commun" |
} |
$requete_fils .= 'ORDER BY GMR01.gmr_ordre ASC LIMIT 0,1'; |
$resultat_fils = $objet_pear_db->query($requete_fils); |
(DB::isError($resultat_fils)) |
? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_fils->getMessage(), $requete_fils)) |
: ''; |
if (isset($_GEN_commun['info_menu'])) { |
if ($resultat_fils->numRows() != 0 && $ligne->gm_id_menu == $GLOBALS['_GEN_commun']['info_menu']->gm_id_menu |
|| GEN_etreAncetre($ligne->gm_id_menu, $GLOBALS['_GEN_commun']['info_menu']->gm_id_menu) || $menu_type == 'deroulant') { |
$niveau_actuel++; |
$corps .= afficherListeNiveauMultiple( $objet_pear_db, $id_site, $niveau_depart, |
$profondeur, $ligne->gm_id_menu, ($position + 3), $menu_type, |
null, null, $_GEN_commun, $num_menu, $niveau_actuel); |
// On ramène $niveau_actuel un cran plus bas |
$niveau_actuel--; |
} |
} |
if ($niveau_actuel >= $niveau_depart && $niveau_actuel <= $profondeur) { |
$corps .= str_repeat(' ', $indent_origine + ($indent_pas * ($position + 2))).'</li>'."\n"; |
} |
$resultat_fils->free(); |
} |
} |
if ($niveau_actuel >= $niveau_depart && $niveau_actuel <= $profondeur) { |
$pied .= str_repeat(' ', $indent_origine + ($indent_pas * $position+ 1)).'</ul>'."\n"; |
} |
// Nous regardons si nous avons affiché le menu racine |
if ($id_pere_menu_a_deployer != 0 && $niveau_actuel == 1) { |
$corps .= str_repeat(' ', $indent_origine + ($indent_pas * ($position + 1))).'</li>'."\n"; |
$pied .= str_repeat(' ', $indent_origine + ($indent_pas * $position)).'</ul>'."\n"; |
} |
if (empty($corps)) { |
return $retour; |
} else { |
$retour = $tete.$corps.$pied; |
return $retour; |
} |
} |
/** Fonction afficherEntreeListeMenu() - Contruit une entrée dans une liste du menu d'un site. |
* |
* Cette fonction retourne une entrée dans la liste du menu d'un site (<a></a>). |
* Le menu est un lien. |
* Necessite l'utilisation de Pear Net_URL par le programme appelant cette fonction. |
* |
* @param mixed objet Pear DB de connexion à la base de données. |
* @param integer niveau du menu. |
* @param integer ordre du menu dans le niveau. |
* @return string liste représentant le menu duHTML |
* |
* $menu_id : identifiant du menu (!= code menu) |
*/ |
function afficherEntreeListeMenu($db, $menu_id, $niveau, $ordre, $position, $menu_type, $indent_origine = 12, $indent_pas = 4, $_GEN_commun, $num_menu) |
{ |
$id_langue = $GLOBALS['_GEN_commun']['i18n']; |
if (isset($id_langue) && ($id_langue!='')) { |
$langue_test=$id_langue; |
} else { |
$langue_test=GEN_I18N_ID_DEFAUT; |
} |
$requete_traduction = 'SELECT gmr_id_menu_02, gm_ce_i18n '. |
'FROM gen_menu_relation, gen_menu '. |
'WHERE '.$menu_id.' = gmr_id_menu_01 ' . |
'AND gmr_id_menu_02 = gm_id_menu '. |
'AND gmr_id_valeur = 2 '.// 2 = "avoir traduction" |
'AND gm_ce_i18n = "'.$langue_test.'" '; |
$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) { |
$ligne_resultat_traduction=$resultat_traduction->fetchRow(DB_FETCHMODE_ASSOC); |
$menu_id=$ligne_resultat_traduction['gmr_id_menu_02']; |
} |
else { |
// Ne sont affichés que les traductions par defaut des menus |
// non traduits |
// Ici : pas de traduction |
if ($langue_test!=GEN_I18N_ID_DEFAUT) { |
$requete_defaut = 'SELECT gmr_id_menu_02 '. |
'FROM gen_menu_relation '. |
'WHERE '.$menu_id. ' = gmr_id_menu_01 ' . |
'AND gmr_id_valeur = 105 ';// 105 Traduction par defaut |
$resultat_defaut = $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=$resultat_defaut->fetchRow(DB_FETCHMODE_ASSOC); |
$menu_id=$ligne_resultat_defaut['gmr_id_menu_02']; |
} |
} |
} |
// Récupération des infos sur sur l'entrée du menu à afficher |
$menu_info = GEN_lireInfoMenu($db, $menu_id, DB_FETCHMODE_ASSOC); |
// Préparation d'une entrée dans la liste du menu |
$menu_nom = htmlentities($menu_info['gm_nom']); |
if (trim($menu_nom)=='') return ''; |
$menu_accesskey = ''; |
$raccourci_txt = ''; |
if (($menu_accesskey = htmlentities($menu_info['gm_raccourci_clavier'])) != '') { |
$raccourci_txt = '[Raccourci : Alt+'.$menu_accesskey.' ] '; |
$menu_accesskey = 'accesskey="'.$menu_accesskey.'" '; |
} |
$menu_texte_title = ''; |
if (($menu_texte_title = htmlentities($menu_info['gm_description_resume'])) != '') { |
$menu_texte_title = 'title="'.$raccourci_txt.$menu_texte_title.'" ';; |
} |
$une_url =& new Pap_URL(PAP_URL); |
$une_url->setId($menu_id); |
if (isset($i18n) && ($i18n!='')) { |
$une_url->addQuerystring(GEN_URL_CLE_I18N,$i18n); |
} |
//Création d'une entrée dans la liste du menu |
$espaces = str_repeat(' ', $indent_origine + ($indent_pas * ($position + 2))); |
$retour = $espaces.'<a id="menu_lien_'.$num_menu.'_'.$menu_id.'" href="'.$une_url->getURL().'" '.$menu_texte_title.$menu_accesskey.'>'.$menu_nom.'</a>'."\n"; |
return $retour; |
} |
// +------------------------------------------------------------------------------------------------------+ |
// | PIED du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.34 2008-08-12 16:21:44 jp_milcent |
* Correction bogue FS#101. |
* |
* Revision 1.33 2008-08-08 14:56:46 jp_milcent |
* Les listes de menu sous les menus cachés s'affiche maintenant. |
* |
* Revision 1.32 2007-10-24 14:43:02 ddelon |
* Gestion des menus reservés à une langue |
* |
* Revision 1.31 2006-12-01 16:33:40 florian |
* Amélioration de la gestion des applettes et compatibilité avec le nouveau mode de gestion de l'inclusion des applettes. |
* |
* Revision 1.30 2006/11/27 13:47:23 florian |
* ajout de la touche alt pour les raccourcis |
* |
* Revision 1.29 2006/10/16 15:49:46 ddelon |
* Refactorisation code mulitlinguisme et gestion menu invisibles |
* |
* Revision 1.28 2006/09/21 15:52:19 jp_milcent |
* Utilisation de PAP_URL pour Net_URL à la place des constantes serveur. |
* |
* Revision 1.27 2006/09/20 09:25:31 alexandre_tb |
* Initialisation de la variable $i18n_url pour éviter un notice |
* |
* Revision 1.26 2006/07/04 09:43:21 alexandre_tb |
* correction d'un bug du javascript |
* |
* Revision 1.25 2006/06/28 12:53:34 ddelon |
* Multilinguisme : menu par defaut |
* |
* Revision 1.24 2006/03/13 21:00:20 ddelon |
* Suppression messages d'erreur multilinguisme |
* |
* Revision 1.23 2006/03/02 10:49:49 ddelon |
* Fusion branche multilinguisme dans branche principale |
* |
* Revision 1.22.2.2 2006/02/28 14:02:11 ddelon |
* Finition multilinguisme |
* |
* Revision 1.22.2.1 2005/12/20 14:40:25 ddelon |
* Fusion Head vers Livraison |
* |
* Revision 1.22 2005/09/27 08:42:49 ddelon |
* Menu et Squelette |
* |
* Revision 1.21 2005/09/22 14:02:49 ddelon |
* nettoyage annuaire et php5 |
* |
* Revision 1.20 2005/05/27 14:56:51 alex |
* correction de bug d'affichage des menus communs |
* |
* Revision 1.19 2005/05/27 10:23:00 jpm |
* Modification du style des raccourcis. |
* |
* Revision 1.18 2005/05/03 08:39:32 jpm |
* Ajout d'un test sur la date. |
* |
* Revision 1.17 2005/04/19 16:59:51 jpm |
* Suppression de l'affichage d'un débogage. |
* |
* Revision 1.16 2005/04/19 16:47:24 jpm |
* Gestion des dates de fin de validité des menus. |
* |
* Revision 1.15 2005/04/14 16:37:48 jpm |
* Ajout de la gestion des URL avec la classe Pap_URL de Papyrus. |
* |
* Revision 1.14 2005/03/02 11:02:33 jpm |
* Suppression des espaces avant l'ouverture de la balise php. |
* |
* Revision 1.13 2005/02/08 19:03:03 alex |
* ajout de la balise DEROULANT qui permet de faire un affichage des menus avec survol javascript. Il nécessite des styles particuliers. |
* |
* Revision 1.12 2004/12/02 10:42:15 jpm |
* Correction bogue liste ul vide si pas de menu. |
* |
* Revision 1.11 2004/11/26 19:02:22 jpm |
* Correction bogue li surnuméraires. |
* |
* Revision 1.10 2004/11/15 17:40:02 jpm |
* Changement nom balise. |
* |
* Revision 1.9 2004/11/15 16:17:40 jpm |
* Gestion des différents types de menus. |
* |
* Revision 1.8 2004/11/10 18:59:21 jpm |
* Début de gestion de l'ensemble des types de menu dans l'applette menu. |
* |
* Revision 1.7 2004/09/23 14:31:40 jpm |
* Correction bogue sur le menu actif. |
* |
* Revision 1.6 2004/09/23 10:47:16 jpm |
* Amélioration de la gestion du menu actif en fonction du menu demandé dans l'url. |
* |
* Revision 1.5 2004/09/15 09:32:21 jpm |
* Mise en conformité avec le standard XHTML Strict. |
* Amélioration de la gestion de l'indentation. |
* |
* Revision 1.4 2004/09/13 18:02:34 jpm |
* Changement de nom de m_select en menu_actif et de m_non_select en menu_inactif. |
* Amélioration du rendu du code html. |
* |
* Revision 1.3 2004/07/23 11:21:25 alex |
* suppression du javascript. |
* |
* Revision 1.2 2004/06/25 08:32:02 alex |
* modification des styles |
* |
* Revision 1.1 2004/06/15 15:04:14 jpm |
* Changement de nom et d'arborescence de Genesia en Papyrus. |
* |
* Revision 1.10 2004/05/05 14:33:04 jpm |
* Gestion de l'indication de langue dans l'url. |
* Utile que si on veut forcer la langue. |
* |
* Revision 1.8 2004/05/05 06:44:19 jpm |
* Complément des commentaires indiquant les paquetages nécessaire à l'applette. |
* |
* Revision 1.7 2004/05/04 14:19:37 jpm |
* Mise entre guillemet simple d'un texte. |
* |
* Revision 1.6 2004/05/03 14:11:01 jpm |
* Intégration du fichier bibliothèquie de fonctions sur gen_menu provenant de la bibliothèque de Génésia INUTILE! |
* |
* Revision 1.5 2004/05/03 14:09:32 jpm |
* Intégration du fichier bibliothèquie de fonctions sur gen_menu provenant de la bibliothèque de Génésia. |
* |
* Revision 1.4 2004/05/03 11:19:00 jpm |
* Intégration de la variable globale de Génésia dans les arguments de la fonction de l'applette. |
* |
* Revision 1.3 2004/05/03 08:52:44 jpm |
* Modification pour intégrer les sous listes (ul) de menus à l'intèrieur de l'entrée (li) du menu supérieur. |
* |
* Revision 1.2 2004/05/01 17:22:23 jpm |
* Changement de nom de l'applette dans les commentaires. |
* |
* Revision 1.1 2004/05/01 16:12:39 jpm |
* Ajout de l'applette gérant les menus multi niveaux ou niveau unique. |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v4.0-djer/papyrus/applettes/syndication/configuration/synd_configuration.inc.php |
---|
New file |
0,0 → 1,89 |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// +------------------------------------------------------------------------------------------------------+ |
// | PHP version 5.1 | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (C) 1999-2006 Tela Botanica (accueil@tela-botanica.org) | |
// +------------------------------------------------------------------------------------------------------+ |
// | This file is part of papyrus_bp. | |
// | | |
// | 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: synd_configuration.inc.php,v 1.2 2008-10-29 15:54:40 alexandre_tb Exp $ |
/** |
* papyrus_bp - synd_configuration.inc.php |
* |
* Description : |
* |
*@package papyrus_bp |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 1999-2006 |
*@version $Revision: 1.2 $ $Date: 2008-10-29 15:54:40 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
$GLOBALS['_SYNDICATION_'] = array(); |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/** Constante stockant la valeur de la langue par défaut pour l'applette SYND.*/ |
define('SYND_I18N_DEFAUT', GEN_I18N_ID_DEFAUT); |
// Paramétrage de la bibliothèque de manipulation des flux RSS |
/** Constante stockant le chemin vers la bibliothèque MAGPIERSS.*/ |
define('MAGPIE_DIR', GEN_CHEMIN_API.'syndication_rss/magpierss/'); |
/** Constante stockant le chemin vers le dossier de cache pour MAGPIERSS.*/ |
define('MAGPIE_CACHE_DIR', MAGPIE_DIR.'/tmp/magpie_cache'); |
/** Constante stockant le nombre de page syndiqués à afficher par site.*/ |
define('SYND_NOMBRE', 10); |
/** Constante stockant si oui ou non on ouvre une nouvelle fenêtre pour consulter la page d'un site syndiqué.*/ |
define('SYND_OUVRIR_LIEN_RSS_NOUVELLE_FENETRE', 1); |
/** Constante stockant le format des dates.*/ |
define('SYND_FORMAT_DATE', 'jma'); |
// Chemin vers les dossiers de l'applette |
/** Chemin vers l'applette Syndication de Papyrus.*/ |
define('SYND_CHEMIN_APPLETTE', GEN_CHEMIN_APPLETTE.'syndication'.GEN_SEP); |
/** Chemin vers les fichiers de traduction de l'applette Syndication de Papyrus.*/ |
define('SYND_CHEMIN_LANGUE', SYND_CHEMIN_APPLETTE.'langues'.GEN_SEP); |
/** Chemin vers les fichiers squelettes de l'applette Syndication de Papyrus.*/ |
define('SYND_CHEMIN_SQUELETTE', SYND_CHEMIN_APPLETTE.'squelettes'.GEN_SEP); |
// Configuration du rendu |
/** Nom du fichier de squelette, par défaut, à utiliser pour la liste des pages.*/ |
define('SYND_SQUELETTE_LISTE', 'synd_liste.tpl.html'); |
$GLOBALS['jours'] = array (1 => 'lundi', 2 => 'mardi', 3 => 'mercredi', 4 => 'jeudi', 5 => 'vendredi', |
6 => 'samedi', 0 => 'dimanche') ; |
$GLOBALS['mois'] = array (1 => 'janvier', 2 => 'février', 3 => 'mars', 4 => 'avril', 5 => 'mai', 6 => 'juin', |
7 => 'juillet', 8 => 'août', 9 => 'septembre', 10 => 'octobre', 11 =>'novembre', |
12 => 'décembre') ; |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.1 2006-12-13 17:06:36 jp_milcent |
* Ajout de l'applette Syndication. |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v4.0-djer/papyrus/applettes/syndication/syndication.php |
---|
New file |
0,0 → 1,338 |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// +------------------------------------------------------------------------------------------------------+ |
// | PHP version 5.1 | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (C) 1999-2006 Tela Botanica (accueil@tela-botanica.org) | |
// +------------------------------------------------------------------------------------------------------+ |
// | This file is part of papyrus_bp. | |
// | | |
// | 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: syndication.php,v 1.11 2008-10-29 15:55:56 alexandre_tb Exp $ |
/** |
* papyrus_bp - syndication.php |
* |
* Description : |
* |
*@package papyrus_bp |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 1999-2006 |
*@version $Revision: 1.11 $ $Date: 2008-10-29 15:55:56 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
$GLOBALS['_GEN_commun']['info_applette_nom_fonction'] = 'afficherSyndication'; |
$GLOBALS['_GEN_commun']['info_applette_balise'] = '\{\{[Ss]yndication'. |
'(?:\s*'. |
'(?:'. |
'(url="[^"]*")|'. |
'(titre="[^"]*")|'. |
'(nb="?\d+"?)|'. |
'(nouvellefenetre="?(?:0|1)"?)|'. |
'(formatdate="[^"]*")|'. |
'(formatdatepro="[^"]*")|'. |
'(template=".*")|'. |
')'. |
')+'. |
'\s*\}\}'; |
// +------------------------------------------------------------------------------------------------------+ |
/** Inclusion du fichier de configuration de cette application.*/ |
require_once GEN_CHEMIN_APPLETTE.'syndication'.GEN_SEP.'configuration'.GEN_SEP.'synd_configuration.inc.php'; |
// Inclusion des fichiers de traduction de l'applette SYND de Papyrus |
if (file_exists(SYND_CHEMIN_LANGUE.'synd_langue_'.$GLOBALS['_GEN_commun']['i18n'].'.inc.php')) { |
/** Inclusion du fichier de traduction suite à la transaction avec le navigateur.*/ |
require_once SYND_CHEMIN_LANGUE.'synd_langue_'.$GLOBALS['_GEN_commun']['i18n'].'.inc.php'; |
} else { |
/** Inclusion du fichier de traduction par défaut.*/ |
require_once SYND_CHEMIN_LANGUE.'synd_langue_'.SYND_I18N_DEFAUT.'.inc.php'; |
} |
/** Inclusion du fichier de la bibliotheque permettant de manipuler les flux RSS.*/ |
//require_once(MAGPIE_DIR.'rss_fetch.inc'); |
require_once PAP_CHEMIN_API_PEAR.'XML/Feed/Parser.php'; |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/** Fonction afficherSyndication() - Retourne la liste des pages des sites syndiqués. |
* |
* Cette fonction retourne la liste des pages des sites syndiqués. |
* |
* @param array contient les arguments de la fonction. |
* @param array tableau global de Papyrus. |
* @return string XHTML la liste des pages. |
*/ |
function afficherSyndication($tab_applette_arguments, $_GEN_commun) |
{ |
// Initialisation des variables |
$sortie = ''; |
$GLOBALS['_SYNDICATION_']['erreurs'] = array(); |
$GLOBALS['_SYNDICATION_']['informations'] = array(); |
$GLOBALS['_SYNDICATION_']['sites'] = array(); |
//+----------------------------------------------------------------------------------------------------------------+ |
// Gestion des arguments |
$balise = $tab_applette_arguments[0]; |
$tab_arguments = $tab_applette_arguments; |
unset($tab_arguments[0]); |
foreach($tab_arguments as $argument) { |
if ($argument != '') { |
$tab_parametres = explode('=', $argument, 2); |
$options[$tab_parametres[0]] = trim($tab_parametres[1], '"'); |
} |
} |
// |
//+----------------------------------------------------------------------------------------------------------------+ |
// Gestion des erreurs de paramétrage |
if (!isset($options['url'])) { |
$GLOBALS['_SYNDICATION_']['erreurs'][] = sprintf(SYND_LG_ERREUR_URL, $balise); |
} |
if (!isset($options['titre'])) { |
$options['titre'] = ''; |
} |
if (!isset($options['nb'])) { |
$options['nb'] = SYND_NOMBRE; |
} |
if (!isset($options['nouvellefenetre'])) { |
$options['nouvellefenetre'] = SYND_OUVRIR_LIEN_RSS_NOUVELLE_FENETRE; |
} |
if (!isset($options['formatdate'])) { |
$options['formatdate'] = SYND_FORMAT_DATE; |
} |
if (!isset($options['formatdatepro'])) { |
$options['formatdatepro'] = false; |
} |
if (!isset($options['template'])) { |
$options['template'] = SYND_CHEMIN_SQUELETTE.SYND_SQUELETTE_LISTE; |
} else { |
if (file_exists(SYND_CHEMIN_SQUELETTE.$options['template'])) { |
$options['template'] = SYND_CHEMIN_SQUELETTE.$options['template']; |
} |
} |
//+----------------------------------------------------------------------------------------------------------------+ |
// Recuperation des donnees |
if (count($GLOBALS['_SYNDICATION_']['erreurs']) == 0) { |
$tab_url = array_map('trim', explode(',', $options['url'])); |
foreach ($tab_url as $cle => $url) { |
if ($url != '') { |
$aso_site = array(); |
// Liste des encodages acceptés pour les flux |
$encodages = 'UTF-8, ISO-8859-1, ISO-8859-15'; |
try { |
$feed = new XML_Feed_Parser(file_get_contents($url)); |
} catch (XML_Feed_Parser_Exception $e) { |
return('Le flux RSS est invalide : ' . $e->getMessage()); |
} |
if ($options['template'] != '' && !file_exists($options['template'])) { |
$i = 0 ; |
$res= ''; |
foreach ($feed as $item) { |
// Le test suivant pour savoir s il faut reduire l excendent de description |
// Si {all} est present dans le template on ne reduit pas |
if (preg_match ('/{all}/', $options['template'])) { |
$template = str_replace('{all}', '', $options['template']); |
$all = true ; |
} else { |
$all = false; |
} |
if (isset($item->summary)) { |
$item->description = mb_convert_encoding($item->summary, 'HTML-ENTITIES', $encodages); |
} else { |
if (strlen($item->description) > 200 && !$all) { |
$item->description = substr(mb_convert_encoding($item->description, 'HTML-ENTITIES', $encodages), 0, 300). |
'... <a href="'.htmlentities($item->link).'">Lire la suite</a>'; |
} |
} |
if (!isset($item->pubdate)) { |
$item->pubdate = date('dmY'); |
} |
// Le code ci-apres est pour rattraper les dates du type 01012005 parsees par magpie |
// lorsque les flux donne des dates au format iso |
if (preg_match('/^([0-3][0-9])([0-1][0-9])([0-9][0-9][0-9][0-9])$/', $item->pubdate, $match)) { |
$item->pubdate = $match[3].'-'.$match[2].'-'.$match[1]; |
//echo $item['pubdate']; |
} |
$res .= str_replace ('{num}', ++$i, |
str_replace ('{item}', '<a href="'.htmlentities($item->link).'" target="_top">'.mb_convert_encoding($item->title, 'HTML-ENTITIES', $encodages).'</a>', |
str_replace ('{date}', strftime('%d.%m.%Y',strtotime($item->pubdate)), |
str_replace ('{description}', mb_convert_encoding($item->description, 'HTML-ENTITIES', $encodages), $options['template'])))) ; |
$res .= "\n"; |
if ($i > $options['nb']) { |
break; |
} |
} |
return $res; |
} |
// Gestion du titre |
if ( $options['titre'] == '' ) { |
$aso_site['titre'] = mb_convert_encoding($feed->title, 'HTML-ENTITIES', $encodages); |
} else if ( $options['titre'] != '0' ) { |
$aso_site['titre'] = $options['titre']; |
} |
// Gestion de l'url du site |
$aso_site['url'] = htmlentities($feed->link); |
// Ouverture du lien dans une nouvelle fenetre |
$aso_site['ext'] = false; |
if ($options['nouvellefenetre'] == 1) { |
$aso_site['ext'] = true; |
} |
// Gestion des pages syndiquees |
$i = 0; |
$nb_item = $feed->numberEntries; |
foreach ($feed as $item) { |
if ($options['nb'] != 0 && $nb_item >= $options['nb'] && $i >= $options['nb']) { |
break; |
} |
$i++; |
$aso_page = array(); |
$aso_page['site'] = $aso_site; |
$aso_page['url'] = htmlentities($item->link); |
$aso_page['titre'] = mb_convert_encoding($item->title, 'HTML-ENTITIES', $encodages); |
$aso_page['description'] = mb_convert_encoding($item->description, 'HTML-ENTITIES', $encodages); |
$aso_page['category'] = mb_convert_encoding($item->model->getElementsByTagName('category')->item(0)->nodeValue, 'HTML-ENTITIES', $encodages); |
$aso_page['author'] = mb_convert_encoding($item->author, 'HTML-ENTITIES', $encodages); |
$aso_page['date'] = $item->pubDate; |
if ($options['formatdatepro']) { |
switch ($options['formatdatepro']) { |
case 'jm' : |
$aso_page['date'] = strftime('%d.%m', $aso_page['date']); |
break; |
case 'jma' : |
$aso_page['date'] = strftime('%d.%m.%Y', $aso_page['date']); |
break; |
case 'jmh' : |
$aso_page['date'] = strftime('%d.%m %H:%M', $aso_page['date']); |
break; |
case 'jmah' : |
$aso_page['date'] = strftime('%d.%m.%Y %H:%M', $aso_page['date']); |
break; |
default : |
$aso_page['date'] = strftime('%d.%m.%Y %H:%M', $aso_page['date']); |
} |
} else { |
switch ($options['formatdate']) { |
case 'jm' : |
$aso_page['date'] = strftime('%d.%m', $aso_page['date']); |
break; |
case 'jma' : |
$aso_page['date'] = strftime('%d.%m.%Y', $aso_page['date']); |
break; |
case 'jmh' : |
$aso_page['date'] = strftime('%d.%m %H:%M', $aso_page['date']); |
break; |
case 'jmah' : |
$aso_page['date'] = strftime('%d.%m.%Y %H:%M', $aso_page['date']); |
break; |
default : |
$aso_page['date'] = strftime('%d.%m.%Y %H:%M', $aso_page['date']); |
} |
} |
$aso_site['pages'][] = $aso_page; |
$GLOBALS['_SYNDICATION_']['pages'][strtotime($aso_page['date'])] = $aso_page; |
} |
$GLOBALS['_SYNDICATION_']['sites'][] = $aso_site; |
} |
} |
} |
// Trie des pages par date |
//var_dump($GLOBALS['_SYNDICATION_']['pages']); |
krsort($GLOBALS['_SYNDICATION_']['pages']); |
//+----------------------------------------------------------------------------------------------------------------+ |
// Extrait les variables et les ajoutes a l'espace de noms local |
// Gestion des squelettes |
extract($GLOBALS['_SYNDICATION_']); |
// Demarre le buffer |
ob_start(); |
// Inclusion du fichier |
include($options['template']); |
// Recuperer le contenu du buffer |
$sortie = ob_get_contents(); |
// Arrete et detruit le buffer |
ob_end_clean(); |
//+----------------------------------------------------------------------------------------------------------------+ |
// Sortie |
return $sortie; |
} |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.10 2007-12-13 14:10:51 alexandre_tb |
* Fusion avec la livraison AHA : 13 decembre 2007 |
* |
* Revision 1.9 2007-12-03 14:54:14 jp_milcent |
* Fusion avec la livraison AHA : 3 décembre 2007 |
* |
* Revision 1.7.2.2 2007-12-03 14:52:21 jp_milcent |
* Correction bogue : & dans les urls. |
* |
* Revision 1.8 2007-11-30 14:17:30 jp_milcent |
* Fusion avec la livraison AHA : 30 novembre 2007 |
* |
* Revision 1.7.2.1 2007-11-30 14:15:02 jp_milcent |
* Amélioration du décodage utf8. |
* |
* Revision 1.7 2007-07-25 15:09:44 jp_milcent |
* Fusion avec la livraison Narmer. |
* |
* Revision 1.5.2.4 2007-07-25 15:07:52 jp_milcent |
* Correction problème url. |
* |
* Revision 1.5.2.3 2007-07-25 14:50:21 jp_milcent |
* Corrections, meilleure utilisation de XML_Feed_Parser. |
* |
* Revision 1.5.2.2 2007-07-25 09:45:07 jp_milcent |
* Utilisation de XML_Feed_Parser de Pear pour l'applette Syndication. |
* |
* Revision 1.6 2007-06-25 12:15:07 alexandre_tb |
* merge from narmer |
* |
* Revision 1.5.2.1 2007-06-06 15:24:37 jp_milcent |
* Amélioration de la compatibilité avec les anciennes version des balises de l'applette syndication. |
* |
* Revision 1.5 2007-04-20 12:50:18 florian |
* correction bugs suite au merge |
* |
* Revision 1.4 2007/03/28 15:53:27 florian |
* correction pb date, encodage utf-8 |
* |
* Revision 1.3 2007/01/23 14:17:19 alexandre_tb |
* backport : hack pour rattraper les dates du type 01012005 parsees par magpie |
* lorsque les flux donne des dates au format iso |
* |
* Revision 1.2 2006/12/13 17:20:51 jp_milcent |
* Correction bogue : paramètre nb non pris en compte |
* |
* Revision 1.1 2006/12/13 17:06:36 jp_milcent |
* Ajout de l'applette Syndication. |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v4.0-djer/papyrus/applettes/syndication/langues/synd_langue_fr.inc.php |
---|
New file |
0,0 → 1,58 |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// +------------------------------------------------------------------------------------------------------+ |
// | PHP version 5.1 | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (C) 1999-2006 Tela Botanica (accueil@tela-botanica.org) | |
// +------------------------------------------------------------------------------------------------------+ |
// | This file is part of papyrus_bp. | |
// | | |
// | 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: synd_langue_fr.inc.php,v 1.1 2006-12-13 17:06:35 jp_milcent Exp $ |
/** |
* papyrus_bp - synd_langue_fr.inc.php |
* |
* Description : |
* |
*@package papyrus_bp |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 1999-2006 |
*@version $Revision: 1.1 $ $Date: 2006-12-13 17:06:35 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/** Texte affiché quand le paramètre "url" est abscent.*/ |
define('SYND_LG_ERREUR_URL', "Applette SYNDICATION : le paramètre 'url' est obligatoire!"); |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v4.0-djer/papyrus/applettes/syndication/squelettes/synd_liste_actu.tpl.html |
---|
New file |
0,0 → 1,45 |
<!-- SYNDICATION - DEBUT --> |
<h1 id="rss_titre_general">La botanique sur la toile</h1> |
<?php if ($erreurs) : ?> |
<?php foreach ($erreurs as $erreur) : ?> |
<p class="pap_erreur"><?=$erreur;?></p> |
<?php endforeach; ?> |
<?php elseif ($informations) : ?> |
<?php foreach ($informations as $information) : ?> |
<p class="pap_info"><?=$information;?></p> |
<?php endforeach; ?> |
<?php else : ?> |
<div class="rss"> |
<?php $flux = array(); ?> |
<?php foreach ($sites as $site) : ?> |
<?php foreach ($site['pages'] as $page) : ?> |
<?php array_push ($flux, array ($page['url'], $page['titre'], $site['titre'], strtotime($page['date']))); ?> |
<?php endforeach; ?> |
<?php endforeach; ?> |
<?php foreach ($flux as $key=>$row) : ?> |
<?php $date_flux[$key] = $row[3]; ?> |
<?php endforeach; ?> |
<?php array_multisort($date_flux, SORT_DESC, $flux); ?> |
<?php foreach ($flux as $key=>$news) : ?> |
<h2 class="rss_titre_article"><a href="<?=$news[0];?>" class="lien_ext"><?php echo preg_replace('/^\d+-\d+ :/', '', $news[1]);?></a></h2> |
<h1 class="rss_titre_site"><?= $news[2]; ?> - <span class="date"><?php echo $GLOBALS['jours'][date ('w', $news[3])].' '.date('d',$news[3]). |
' '.$GLOBALS['mois'][date('n', $news[3])].' '.date ('Y', strtotime ($news[3])); ?></span></h1> |
<?php endforeach; ?> |
<!-- |
<?php foreach ($sites as $site) : ?> |
<?php foreach ($site['pages'] as $page) : ?> |
<h2 class="rss_titre_article"><a href="<?=$page['url'];?>" class="lien_ext"><?php echo preg_replace('/^\d+-\d+ :/', '', $page['titre']);?></a></h2> |
<h1 class="rss_titre_site"><?= $site['titre']; ?> - <span class="date"><?php echo $GLOBALS['jours'][date ('w', strtotime ($page['date']))].' '.date('d', strtotime($page['date'])). |
' '.$GLOBALS['mois'][date('n', strtotime ($page['date']))].' '.date('Y'); ?></span></h1> |
<?php endforeach; ?> |
<?php endforeach; ?> |
--> |
</div> |
<?php endif; ?> |
<!-- SYNDICATION - FIN --> |
/tags/v4.0-djer/papyrus/applettes/syndication/squelettes/synd_liste_date.tpl.html |
---|
New file |
0,0 → 1,20 |
<!-- SYNDICATION - DEBUT --> |
<?php if ($erreurs) : ?> |
<?php foreach ($erreurs as $erreur) : ?> |
<p class="pap_erreur"><?=$erreur;?></p> |
<?php endforeach; ?> |
<?php elseif ($informations) : ?> |
<?php foreach ($informations as $information) : ?> |
<p class="pap_info"><?=$information;?></p> |
<?php endforeach; ?> |
<?php else : ?> |
<ul class="rss_liste"> |
<?php foreach ($pages as $page) : ?> |
<li class="rss_page"> |
<h1 class="rss_titre_site"><a href="<?=$page['site']['url'];?>"><?=$page['site']['titre'];?></a> - <span class="rss_date"><?=$page['date'];?></span></h1> |
<h2 class="rss_titre_article"><a href="<?=$page['url'];?>" <?=($page['ext'])? 'onclick="window.open(this.href); return false;" title="S\'ouvre dans une nouvelle fenêtre"':'';?> ><?=$page['titre'];?></a></h2> |
</li> |
<?php endforeach; ?> |
</ul> |
<?php endif; ?> |
<!-- SYNDICATION - FIN --> |
/tags/v4.0-djer/papyrus/applettes/syndication/squelettes/synd_liste.tpl.html |
---|
New file |
0,0 → 1,24 |
<!-- SYNDICATION - DEBUT --> |
<?php if ($erreurs) : ?> |
<?php foreach ($erreurs as $erreur) : ?> |
<p class="pap_erreur"><?=$erreur;?></p> |
<?php endforeach; ?> |
<?php elseif ($informations) : ?> |
<?php foreach ($informations as $information) : ?> |
<p class="pap_info"><?=$information;?></p> |
<?php endforeach; ?> |
<?php else : ?> |
<?php foreach ($sites as $site) : ?> |
<h2 class="rss_site_titre"><a href="<?=$site['url'];?>"><?=$site['titre'];?></a></h2> |
<ul class="liste_rss"> |
<?php foreach ($site['pages'] as $page) : ?> |
<li class="titre_rss"> |
<span class="rss_date"><?=$page['date'];?></span> |
<span class="rss_separateur_date"> - </span> |
<a class="lien_rss" href="<?=$page['url'];?>" <?=($site['ext'])? 'onclick="window.open(this.href); return false;"':'';?>><?=$page['titre'];?></a> |
</li> |
<?php endforeach; ?> |
</ul> |
<?php endforeach; ?> |
<?php endif; ?> |
<!-- SYNDICATION - FIN --> |
/tags/v4.0-djer/papyrus/applettes/syndication/squelettes/synd_liste_evenement.tpl.html |
---|
New file |
0,0 → 1,23 |
<!-- SYNDICATION - DEBUT --> |
<?php if ($erreurs) : ?> |
<?php foreach ($erreurs as $erreur) : ?> |
<p class="pap_erreur"><?=$erreur;?></p> |
<?php endforeach; ?> |
<?php elseif ($informations) : ?> |
<?php foreach ($informations as $information) : ?> |
<p class="pap_info"><?=$information;?></p> |
<?php endforeach; ?> |
<?php else : ?> |
<?php foreach ($sites as $site) : ?> |
<?php foreach ($site['pages'] as $page) : ?> |
<div class="menu_titre"> |
<h1 class="intituler_rubrique"><a class="lien_rss" href="<?=$page['url'];?>" <?=($site['ext'])? 'onclick="window.open(this.href); return false;"':'';?>><?=$page['titre'];?></a></h1> |
<p class="date"><?php echo $page['category']; ?> début le <?php echo $GLOBALS['jours'][date ('w', strtotime ($page['date']))].' '.date('d', strtotime($page['date'])). |
' '.$GLOBALS['mois'][date('n', strtotime ($page['date']))].' '.date ('Y', strtotime ($page['date'])); ?> par <?php echo $page['author']; ?></p> |
<p class="descriptif_contenu"><?php echo substr($page['description'], 0, 400); ?></p> |
</div> |
<hr /> |
<?php endforeach; ?> |
<?php endforeach; ?> |
<?php endif; ?> |
<!-- SYNDICATION - FIN --> |
/tags/v4.0-djer/papyrus/applettes/mot_cles/configuration/mocl_configuration.inc.php |
---|
New file |
0,0 → 1,71 |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// +------------------------------------------------------------------------------------------------------+ |
// | PHP version 5.1 | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (C) 1999-2006 Tela Botanica (accueil@tela-botanica.org) | |
// +------------------------------------------------------------------------------------------------------+ |
// | This file is part of papyrus_bp. | |
// | | |
// | 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: mocl_configuration.inc.php,v 1.1 2006-12-12 13:32:27 jp_milcent Exp $ |
/** |
* papyrus_bp - mocl_configuration.inc.php |
* |
* Description : |
* |
*@package papyrus_bp |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 1999-2006 |
*@version $Revision: 1.1 $ $Date: 2006-12-12 13:32:27 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
$GLOBALS['_MOT_CLES_'] = array(); |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/** Constante stockant la valeur de la langue par défaut pour l'applette MOCL.*/ |
define('MOCL_I18N_DEFAUT', GEN_I18N_ID_DEFAUT); |
// Chemin vers les dossiers de l'applette |
/** Chemin vers l'applette Categorie de Papyrus.*/ |
define('MOCL_CHEMIN_APPLETTE', GEN_CHEMIN_APPLETTE.'mot_cles'.GEN_SEP); |
/** Chemin vers les fichiers de traduction de l'applette Categorie de Papyrus.*/ |
define('MOCL_CHEMIN_LANGUE', MOCL_CHEMIN_APPLETTE.'langues'.GEN_SEP); |
/** Chemin vers les fichiers de la bibliotheque de l'applette Categorie de Papyrus.*/ |
define('MOCL_CHEMIN_BIBLIO', MOCL_CHEMIN_APPLETTE.'bibliotheque'.GEN_SEP); |
/** Chemin vers les fichiers squelettes de l'applette Categorie de Papyrus.*/ |
define('MOCL_CHEMIN_SQUELETTE', MOCL_CHEMIN_APPLETTE.'squelettes'.GEN_SEP); |
// Configuration du rendu |
/** Nom du fichier de squelette à utiliser pour la liste des pages.*/ |
define('MOCL_SQUELETTE_LISTE', 'mocl_liste.tpl.html'); |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v4.0-djer/papyrus/applettes/mot_cles/mot_cles.php |
---|
New file |
0,0 → 1,269 |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// +------------------------------------------------------------------------------------------------------+ |
// | PHP version 5.1 | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (C) 1999-2006 Tela Botanica (accueil@tela-botanica.org) | |
// +------------------------------------------------------------------------------------------------------+ |
// | This file is part of papyrus_bp. | |
// | | |
// | 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: mot_cles.php,v 1.2 2006-12-12 17:17:12 jp_milcent Exp $ |
/** |
* papyrus_bp - mot_cles.php |
* |
* Description : |
* |
*@package papyrus_bp |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 1999-2006 |
*@version $Revision: 1.2 $ $Date: 2006-12-12 17:17:12 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
$GLOBALS['_GEN_commun']['info_applette_nom_fonction'] = 'afficherMotCles'; |
$GLOBALS['_GEN_commun']['info_applette_balise'] = '\{\{[Mm]otCles'. |
'(?:\s*'. |
'(?:'. |
'(mots="[^"]+")|'. |
'(categorie="[^"]+")|'. |
'(condition="(?i:et|ou)")|'. |
'(mots_condition="(?i:et|ou)")|'. |
'(categorie_condition="(?i:et|ou)")|'. |
'(ordre="(?i:asc|desc)")|'. |
')'. |
')+'. |
'\s*\}\}'; |
// -------------------------------------------------------------------------------------------------------- |
/** Inclusion du fichier de configuration de cette application.*/ |
require_once GEN_CHEMIN_APPLETTE.'mot_cles'.GEN_SEP.'configuration'.GEN_SEP.'mocl_configuration.inc.php'; |
// Inclusion des fichiers de traduction de l'applette MOCL de Papyrus |
if (file_exists(MOCL_CHEMIN_LANGUE.'mocl_langue_'.$GLOBALS['_GEN_commun']['i18n'].'.inc.php')) { |
/** Inclusion du fichier de traduction suite à la transaction avec le navigateur.*/ |
require_once MOCL_CHEMIN_LANGUE.'mocl_langue_'.$GLOBALS['_GEN_commun']['i18n'].'.inc.php'; |
} else { |
/** Inclusion du fichier de traduction par défaut.*/ |
require_once MOCL_CHEMIN_LANGUE.'mocl_langue_'.MOCL_I18N_DEFAUT.'.inc.php'; |
} |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/** Fonction afficherMotCles() - Retourne la liste des pages pour un mot clés donné. |
* |
* Cette fonction retourne la liste des pages pour un mot clés donné. |
* |
* @param array contient les arguments de la fonction. |
* @param array tableau global de Papyrus. |
* @return string HTML la liste des listes de menus. |
*/ |
function afficherMotCles($tab_applette_arguments, $_GEN_commun) |
{ |
// Initialisation des variables |
$sortie = ''; |
$GLOBALS['_MOT_CLES_']['erreurs'] = array(); |
$GLOBALS['_MOT_CLES_']['informations'] = array(); |
$GLOBALS['_MOT_CLES_']['pages'] = array(); |
//+----------------------------------------------------------------------------------------------------------------+ |
// Gestion des arguments |
$balise = $tab_applette_arguments[0]; |
$tab_arguments = $tab_applette_arguments; |
unset($tab_arguments[0]); |
foreach($tab_arguments as $argument) { |
if ($argument != '') { |
$tab_parametres = explode('=', $argument); |
$options[$tab_parametres[0]] = trim($tab_parametres[1], '"'); |
} |
} |
//+----------------------------------------------------------------------------------------------------------------+ |
// Gestion des erreurs de paramètrage |
if (!isset($options['mots'])) { |
$GLOBALS['_MOT_CLES_']['erreurs'][] = MOCL_LG_ERREUR_MOTS; |
} |
if (!isset($options['categorie']) && isset($options['categorie_condition'])) { |
$GLOBALS['_MOT_CLES_']['erreurs'][] = sprintf(MOCL_LG_ERREUR_MOTS_CATEG, $balise); |
} |
if (!isset($options['categorie'])) { |
$options['categorie'] = ''; |
} |
// Les conditions étant écrites en français, ce qui suit les traduit, "et" devient "AND" etc. |
$tab_condition_type = array('condition', 'mots_condition', 'categorie_condition'); |
foreach ($tab_condition_type as $type) { |
if (isset($options[$type])) { |
if (strtolower($options[$type]) == 'et') { |
$options[$type] = 'AND'; |
} elseif (strtolower($options[$type]) == 'ou') { |
$options[$type] = 'OR'; |
} |
} |
} |
if (!isset($options['mots_condition']) && isset($options['condition'])) { |
$options['mots_condition'] = $options['condition']; |
} |
if (!isset($options['categorie_condition']) && isset($options['condition'])) { |
$options['categorie_condition'] = $options['condition']; |
} |
if (!isset($options['categorie_condition']) && !isset($options['condition']) && isset($options['mots_condition'])) { |
$options['categorie_condition'] = $options['mots_condition']; |
} |
if (!isset($options['ordre'])) { |
$options['ordre'] = 'ASC'; |
} |
//+----------------------------------------------------------------------------------------------------------------+ |
// Récupération des données |
// Récupération des infos sur les mots |
$tab_mots = explode(',', $options['mots']); |
for ($i = 0; $i < count($tab_mots); $i++) { |
// Suppression des espaces, tabulations... en début et fin de chaine |
$tab_mots[$i] = trim($tab_mots[$i]); |
} |
// Récupération des infos sur les catégories |
$tab_cat = explode(',', $options['categorie']) ; |
for ($i = 0; $i < count($tab_cat); $i++) { |
// Suppression des espaces, tabulations... en début et fin de chaine |
$tab_cat[$i] = trim($tab_cat[$i]); |
} |
$aso_info_menu = GEN_lireInfoMenuMeta($GLOBALS['_GEN_commun']['pear_db'], $tab_mots, $tab_cat, $options['mots_condition'], $options['categorie_condition'], $options['ordre']); |
if (count($aso_info_menu) == 0) { |
$GLOBALS['_MOT_CLES_']['informations'][] = sprintf(CATEG_LG_INFO_ZERO_PAGE, $options['mots']); |
} else { |
foreach ($aso_info_menu as $id_menu => $un_menu) { |
// Initialisation |
$aso_page = array(); |
$aso_page['url'] = '#'; |
$aso_page['auteur'] = MOCL_LG_INCONNU_AUTEUR; |
$aso_page['titre'] = MOCL_LG_INCONNU_TITRE; |
$aso_page['heure'] = ''; |
$aso_page['minute'] = ''; |
$aso_page['seconde'] = ''; |
$aso_page['jours'] = ''; |
$aso_page['mois'] = ''; |
$aso_page['annee'] = ''; |
// Création de l'url |
$une_url =& new Pap_URL(); |
$une_url->setId($id_menu); |
$aso_page['url'] = $une_url->getURL(); |
// Affichage de l'auteur(s) |
if ($un_menu->gm_auteur != '') { |
$aso_page['auteur'] = $un_menu->gm_auteur; |
} |
// Affichage du titre |
if ($un_menu->gm_titre != '') { |
$aso_page['titre'] = $un_menu->gm_titre; |
} |
// Affichage de l'horaire de la création de la page |
if (($heure = date('G', strtotime($un_menu->gm_date_creation)) ) != 0 ) { |
$aso_page['heure'] = $heure; |
$minute = date('i', strtotime($un_menu->gm_date_creation)); |
$aso_page['minute'] = $minute; |
if (($seconde = date('s', strtotime($un_menu->gm_date_creation)) ) != 0 ) { |
$aso_page['seconde'] = $seconde; |
} |
} |
// Affichage de la date de la création de la page |
if (($jour = date('d', strtotime($un_menu->gm_date_creation)) ) != 0 ) { |
$aso_page['jour'] = $jour; |
} |
if (($mois = _traduireMois(date('m', strtotime($un_menu->gm_date_creation))) ) != '' ) { |
$aso_page['mois'] = $mois; |
} |
if (($annee = date('Y', strtotime($un_menu->gm_date_creation)) ) != 0 ) { |
$aso_page['annee'] = $annee; |
} |
$GLOBALS['_MOT_CLES_']['pages'][] = $aso_page; |
} |
} |
//+----------------------------------------------------------------------------------------------------------------+ |
// Extrait les variables et les ajoutes à l'espace de noms local |
// Gestion des squelettes |
extract($GLOBALS['_MOT_CLES_']); |
// Démarre le buffer |
ob_start(); |
// Inclusion du fichier |
include(MOCL_CHEMIN_SQUELETTE.MOCL_SQUELETTE_LISTE); |
// Récupérer le contenu du buffer |
$sortie = ob_get_contents(); |
// Arrête et détruit le buffer |
ob_end_clean(); |
//+----------------------------------------------------------------------------------------------------------------+ |
// Sortie |
return $sortie; |
} |
if (!function_exists('_traduireMois')) { |
function _traduireMois($mois_numerique) |
{ |
switch ($mois_numerique) { |
case '01' : |
return MOCL_LG_MOIS_01; |
case '02' : |
return MOCL_LG_MOIS_02; |
case '03' : |
return MOCL_LG_MOIS_03; |
case '04' : |
return MOCL_LG_MOIS_04; |
case '05' : |
return MOCL_LG_MOIS_05; |
case '06' : |
return MOCL_LG_MOIS_06; |
case '07' : |
return MOCL_LG_MOIS_07; |
case '08' : |
return MOCL_LG_MOIS_08; |
case '09' : |
return MOCL_LG_MOIS_09; |
case '10' : |
return MOCL_LG_MOIS_10; |
case '11' : |
return MOCL_LG_MOIS_11; |
case '12' : |
return MOCL_LG_MOIS_12; |
default: |
return ''; |
} |
} |
} |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.1 2006/12/12 13:32:27 jp_milcent |
* Ajout de l'applette MotCles. |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v4.0-djer/papyrus/applettes/mot_cles/langues/mocl_langue_fr.inc.php |
---|
New file |
0,0 → 1,90 |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// +------------------------------------------------------------------------------------------------------+ |
// | PHP version 5.1 | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (C) 1999-2006 Tela Botanica (accueil@tela-botanica.org) | |
// +------------------------------------------------------------------------------------------------------+ |
// | This file is part of papyrus_bp. | |
// | | |
// | 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: mocl_langue_fr.inc.php,v 1.1 2006-12-12 13:32:27 jp_milcent Exp $ |
/** |
* papyrus_bp - mocl_langue_fr.inc.php |
* |
* Description : |
* |
*@package papyrus_bp |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 1999-2006 |
*@version $Revision: 1.1 $ $Date: 2006-12-12 13:32:27 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/** Texte affiché quand le paramètre "mots" est abscent.*/ |
define('MOCL_LG_ERREUR_MOTS', "Applette MOT CLES : le paramètre 'mots' est obligatoire!"); |
/** Texte affiché quand le paramètre "categorie_condition" est présent avec "categorie" abscent.*/ |
define('MOCL_LG_ERREUR_MOTS_CATEG', "Applette MOT CLES : le paramètre 'categorie' est obligatoire si vous renseignez 'categorie_condition' dans %s !"); |
/** Texte affiché quand on n'a pas de page à afficher.*/ |
define('MOCL_LG_INFO_ZERO_PAGE', "Applette MOT CLES : aucune page n'a été trouvé pour : %s !"); |
/** Texte affiché quand l'auteur est inconnu.*/ |
define('MOCL_LG_INCONNU_AUTEUR', 'Anonyme'); |
/** Texte affiché quand le titre est vide.*/ |
define('MOCL_LG_INCONNU_TITRE', 'Titre inconnu'); |
/** Mois de janvier.*/ |
define('MOCL_LG_MOIS_01', 'janvier'); |
/** Mois de février.*/ |
define('MOCL_LG_MOIS_02', 'février'); |
/** Mois de mars.*/ |
define('MOCL_LG_MOIS_03', 'mars'); |
/** Mois d'avril.*/ |
define('MOCL_LG_MOIS_04', 'avril'); |
/** Mois de mai.*/ |
define('MOCL_LG_MOIS_05', 'mai'); |
/** Mois de juin.*/ |
define('MOCL_LG_MOIS_06', 'juin'); |
/** Mois de juillet.*/ |
define('MOCL_LG_MOIS_07', 'juillet'); |
/** Mois d'août'.*/ |
define('MOCL_LG_MOIS_08', 'août'); |
/** Mois de septembre.*/ |
define('MOCL_LG_MOIS_09', 'septembre'); |
/** Mois d'octobre.*/ |
define('MOCL_LG_MOIS_10', 'octobre'); |
/** Mois de novembre.*/ |
define('MOCL_LG_MOIS_11', 'novembre'); |
/** Mois de décembre.*/ |
define('MOCL_LG_MOIS_12', 'décembre'); |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v4.0-djer/papyrus/applettes/mot_cles/squelettes/mocl_liste.tpl.html |
---|
New file |
0,0 → 1,32 |
<!-- MOT CLES - DEBUT --> |
<?php if ($erreurs) : ?> |
<?php foreach ($erreurs as $erreur) : ?> |
<p class="pap_erreur"><?=$erreur;?></p> |
<?php endforeach; ?> |
<?php elseif ($informations) : ?> |
<?php foreach ($informations as $information) : ?> |
<p class="pap_info"><?=$information;?></p> |
<?php endforeach; ?> |
<?php else : ?> |
<ul class="page_liste"> |
<?php foreach ($pages as $page) : ?> |
<li> |
<span class="page_auteur"><?=$page['auteur'];?></span> |
<span class="page_separateur_auteur"> - </span> |
<a href="<?=$page['url'];?>"><span class="page_titre"><?=$page['titre'];?></span></a> |
<span class="page_separateur_titre"> - </span> |
<span class="page_creation_heure"><?=$page['heure'];?></span> |
<span class="page_separateur_heure">:</span> |
<span class="page_creation_minute"><?=$page['minute'];?></span> |
<span class="page_separateur_heure">:</span> |
<span class="page_creation_seconde"><?=$page['seconde'];?></span> |
<span class="page_separateur_date_heure"> - </span> |
<span class="page_creation_jour"><?=$page['jour'];?></span> |
<span class="page_creation_mois"><?=$page['mois'];?></span> |
<span class="page_creation_annee"><?=$page['annee'];?></span> |
</li> |
<?php endforeach; ?> |
</ul> |
<?php endif; ?> |
<!-- MOT CLES - FIN --> |
/tags/v4.0-djer/papyrus/installation/papyrus_v0.24.sql |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v4.0-djer/papyrus/installation/papyrus_v0.24.sql |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/tags/v4.0-djer/papyrus/pap_cache.inc.php |
---|
New file |
0,0 → 1,127 |
<?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: pap_cache.inc.php,v 1.4 2007-04-13 09:41:09 neiluj Exp $ |
/** |
* Gestion de la suppression et de la recherche dans le cache. |
* |
* Ce fichier n'est utilisé que si le site utilise la gestion du cache proposée |
* par Papyrus. |
* Il commence par supprimer les pages en cache trop anciennes et recherche en suite |
* la présence de la page demandée dans le cache. Si elle est trouvée la page est renvoyée |
* directement et le programme s'arrête ici. Si elle n'est pas trouvée, le programme de rendu |
* la reconstruit et le programme d'envoi la sotcke dans le cache. |
* |
*@package Papyrus |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Laurent COUDOUNEAU <lc@gsite.org> |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.4 $ $Date: 2007-04-13 09:41:09 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/** <BR> Inclusion de la bibliothèque de fonctions de gestion du cache.*/ |
include_once './bibliotheque/fonctions/pap_cache.fonct.php'; |
/** <BR> Inclusion de la bibliothèque de fonctions de compression des données à envoyer.*/ |
include_once './bibliotheque/fonctions/pap_compression.fonct.php'; |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// +------------------------------------------------------------------------------------------------------+ |
// Gestion de la recherche dans le cache de la page demandée. |
/* |
// Utilisons nous le cache ? |
if (! $GS_ARGUMENTS['cachectrl']) { |
//header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 |
//header ("Pragma: no-cache"); // HTTP/1.0 |
} |
*/ |
// Nous supprimons les pages en cache dont le délai de mise en cache est dépassé. |
$duree_cache = $_GEN_commun['application_info']->cache_duree * 3600; |
if ($duree_cache > 0) { |
$requete = 'DELETE FROM gen_page_cache '. |
'WHERE gpc_ce_site = '.$_GEN_commun['site_info']->gsi_id_site.' '. |
'AND gpc_ce_i18n = "'.$_GEN_commun['site_info']->gsi_id_i18n.'" '. |
'AND gpc_date_heure + '.$duree_cache.' < NOW()'; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) |
? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) |
: ''; |
} |
// Vérification de la présence de la page demandée dans le cache. |
$requete = 'SELECT * '. |
'FROM gen_page_cache '. |
'WHERE gpc_ce_site = '.$_GEN_commun['site_info']->gsi_id_site.' '. |
'AND gpc_ce_i18n = "'.$_GEN_commun['site_info']->gsi_id_i18n.'" '. |
'AND gpc_id_md5_url = "'.GEN_donnerMD5UriPostSession().'"'; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) |
? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) |
: ''; |
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ; |
$resultat->free(); |
// Nous avons trouvé la page. Nous essayons de la renvoyer. |
if ($ligne == true) { |
if ( GEN_envoyerDonneesCompressees($ligne->gpc_corps) ) { |
// Si l'envoie des données à réussi nous arrétons le script ICI. |
exit(); |
} |
} |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.3 2006/04/28 12:41:49 florian |
* corrections erreurs chemin |
* |
* Revision 1.2 2005/02/28 11:20:42 jpm |
* Modification des auteurs. |
* |
* Revision 1.1 2004/06/16 08:11:01 jpm |
* Changement de nom de Génésia en Papyrus. |
* Changement de l'arborescence. |
* |
* Revision 1.2 2004/04/22 08:29:55 jpm |
* Transformation de $GS_GLOBAL en $_GEN_commun. |
* |
* Revision 1.1 2004/04/09 16:19:15 jpm |
* Ajout du fichier indépendant du cache avec gestion des tables i18n. |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v4.0-djer/papyrus/pap_initialise_info.inc.php |
---|
New file |
0,0 → 1,688 |
<?php |
//vim: set expandtab tabstop=4 shiftwidth=4: |
// +------------------------------------------------------------------------------------------------------+ |
// | PHP version 4.1 | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (C) 2003 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: pap_initialise_info.inc.php,v 1.32 2007-10-23 13:45:33 ddelon Exp $ |
/** |
*Initialisation de Papyrus : vérification et récupération de paramètres généraux. |
* |
* La page contient le code initialisant l'exécution du rendu d'une page par Papyrus. |
* Nous y trouvons la recherche des informations disponibles sur : |
* - le site présent sur le serveur demandé, |
* - l'identification, |
* - la langue, |
* - le menu, |
* - la page |
* - l'application |
* |
*@package Papyrus |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Alexandre GRANIER <alex@tela-botanica.org> |
*@author Laurent COUDOUNEAU <laurent.coudouneau@ema.fr> |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.32 $ $Date: 2007-10-23 13:45:33 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/** Inclusion de l'objet PEAR servant à négocier le language avec le navigateur client. */ |
require_once PAP_CHEMIN_API_PEAR.'HTTP.php'; |
/** Inclusion de la classe PEAR gérant les URL : Utilisé pour l'url demandée par le client.*/ |
require_once PAP_CHEMIN_API_PEAR.'Net/URL.php'; |
/** Inclusion de la bibliothèque de fonctions servant à l'initialisation des variables globales de Papyrus. */ |
require_once GEN_CHEMIN_BIBLIO.'pap_initialisation.fonct.php'; |
/** Inclusion de la classe Papyrus gérant les URL : Utilisé pour l'url demandée par le client.*/ |
require_once GEN_CHEMIN_BIBLIO_CLASSE.'pap_url.class.php'; |
/** Inclusion de la bibliothèque de fonctions servant au menu pour la réecriture d'url. */ |
require_once GEN_CHEMIN_BIBLIO.'pap_menu.fonct.php'; |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// +------------------------------------------------------------------------------------------------------+ |
// Gestion de la réecriture d'url et des url erreur 404 |
if ((defined('PAP_URL_REECRITURE') AND PAP_URL_REECRITURE == '1' && (! isset($_GET[GEN_URL_CLE_SITE]) || empty($_GET[GEN_URL_CLE_SITE])) && (! isset($_GET[GEN_URL_CLE_MENU]) || empty($_GET[GEN_URL_CLE_MENU]))) ) { |
$tab_type_reecriture = array('MENU', 'SITE'); |
foreach ($tab_type_reecriture as $reecriture) { |
if (PAP_URL_REECRITURE_SEP == '/') { |
$masque_reecriture = '/^(\/.*?)'.constant('PAP_URL_REECRITURE_'.$reecriture).'\\'.PAP_URL_REECRITURE_SEP.'([^?]+?)(?:\?(.*)|)$/'; |
} else { |
$masque_reecriture = '/^(\/.*?)'.constant('PAP_URL_REECRITURE_'.$reecriture).PAP_URL_REECRITURE_SEP.'([^?]+?)(?:\?(.*)|)$/'; |
} |
if (preg_match($masque_reecriture, rawurldecode($_SERVER['REQUEST_URI']), $tab_raccourci)) { |
$chemin_vers_papyrus = $tab_raccourci[1]; |
$raccourci = $tab_raccourci[2]; |
$parametres = ''; |
if (isset($tab_raccourci[3])) { |
$parametres = $tab_raccourci[3]; |
} |
if ($reecriture == 'SITE') { |
/** Inclusion de la bibliothèque de fonctions servant au site pour la réecriture d'url. */ |
require_once GEN_CHEMIN_BIBLIO.'pap_site.fonct.php'; |
} |
// Nous cherchons à savoir si le raccourci est entièrement numérique ou pas. |
if (preg_match('/^[0-9]+$/', $raccourci)) { |
// Nous vérifions si nous utilisons les codes numériques ou alphanumérique dans les url |
if (constant('GEN_URL_ID_TYPE_'.$reecriture) != 'int') { |
$_GET[constant('GEN_URL_CLE_'.$reecriture)] = call_user_func('GEN_retourner'.$reecriture.'CodeAlpha', $db, $raccourci); |
} else { |
$_GET[constant('GEN_URL_CLE_'.$reecriture)] = $raccourci; |
} |
} else { |
// Nous vérifions si nous utilisons les codes numériques ou alphanumérique dans les url |
if (constant('GEN_URL_ID_TYPE_'.$reecriture) != 'int') { |
$_GET[constant('GEN_URL_CLE_'.$reecriture)] = $raccourci; |
} else { |
$_GET[constant('GEN_URL_CLE_'.$reecriture)] = call_user_func('GEN_retourner'.$reecriture.'CodeNum', $db, $raccourci); |
} |
} |
} |
} |
} |
// +------------------------------------------------------------------------------------------------------+ |
// Gestion des sites : disponibles sur le serveur courant. |
// Liste des catégories de site à prendre en compte : |
// Pas de site, ni de menu dans l'URL, recherche du site par défaut |
$site_liste_id = '102, 103';// 102 = site "principal" et 103 = site "externe" |
if ( (! isset($_GET[GEN_URL_CLE_SITE]) || empty($_GET[GEN_URL_CLE_SITE])) && (! isset($_GET[GEN_URL_CLE_MENU]) || empty($_GET[GEN_URL_CLE_MENU])) ) { |
$requete = 'SELECT gen_site.*, GSR02.* '. |
'FROM gen_site, gen_site_relation AS GSR01, gen_site_relation AS GSR02 '. |
'WHERE GSR01.gsr_id_site_01 = GSR01.gsr_id_site_02 '. |
'AND GSR01.gsr_id_valeur = 101 '.// 101 = site défaut |
'AND GSR01.gsr_id_site_01 = gs_id_site '. |
'AND GSR02.gsr_id_site_01 = GSR02.gsr_id_site_02 '. |
'AND GSR02.gsr_id_valeur IN ('.$site_liste_id.') '. |
'AND GSR02.gsr_id_site_01 = gs_id_site'; |
$resultat = $db->query($requete); |
if (DB::isError($resultat)) { |
die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) ); |
} |
// Aucun site trouvé |
if ($resultat->numRows() == 0) { |
// Appel à l'application Installateur si nécessaire |
/** <br> Inclusion du programme Installateur de Papyrus. |
* L'abscence de site oblige à relancer l'installation et le script sql qui régénérera la base de données.*/ |
include_once GEN_CHEMIN_APPLICATION.'installateur/installateur.php'; |
$_GEN_commun['sortie'] = afficherContenuCorps(); |
include_once GEN_CHEMIN_PAP.'pap_envoi.inc.php'; |
// Fin du programme Papyrus. |
exit(0); |
} |
// Nous avons trouvé un site. |
$_GEN_commun['info_site'] = $resultat->fetchRow(DB_FETCHMODE_OBJECT); |
$resultat->free(); |
if (GEN_URL_ID_TYPE_SITE == 'int') { |
$_GEN_commun['url_site'] = $_GEN_commun['info_site']->gs_code_num; |
} else { |
$_GEN_commun['url_site'] = $_GEN_commun['info_site']->gs_code_alpha; |
} |
// Le code du menu est présent dans l'url mais pas celui du site |
} else if ( (! isset($_GET[GEN_URL_CLE_SITE]) || empty($_GET[GEN_URL_CLE_SITE])) && (isset($_GET[GEN_URL_CLE_MENU]) || !empty($_GET[GEN_URL_CLE_MENU])) ) { |
// Nous récupérons les infos du menu et du sites dans la variable globale de Papyrus. |
$_GEN_commun['url_menu'] = $_GET[GEN_URL_CLE_MENU]; |
// Récupération des informations sur le menu demandé |
$requete = 'SELECT * '. |
'FROM gen_menu '. |
'WHERE '; |
$requete .= (GEN_URL_ID_TYPE_MENU == 'int') |
? 'gm_code_num = '.$_GEN_commun['url_menu'] |
: 'gm_code_alpha = "'.$_GEN_commun['url_menu'].'"'; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) |
? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) |
: ''; |
$_GEN_commun['info_menu'] = $resultat->fetchRow(DB_FETCHMODE_OBJECT); |
$resultat->free(); |
if ($_GEN_commun['info_menu']->gm_ce_site != 0) { |
// Récupération des infos du site |
$requete = 'SELECT * '. |
'FROM gen_site, gen_site_relation '. |
'WHERE gsr_id_site_01 = gsr_id_site_02 '. |
'AND gsr_id_valeur IN ('.$site_liste_id.') '. |
'AND gsr_id_site_01 = gs_id_site '. |
'AND gs_id_site = '. $_GEN_commun['info_menu']->gm_ce_site; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
$_GEN_commun['info_site'] = $resultat->fetchRow(DB_FETCHMODE_OBJECT); |
$_GEN_commun['url_site'] = (GEN_URL_ID_TYPE_SITE == 'int') |
? $_GEN_commun['info_site']->gs_code_num |
: $_GEN_commun['info_site']->gs_code_alpha; |
$resultat->free(); |
} else { |
// Récupération des infos du site |
$requete = 'SELECT * '. |
'FROM gen_site, gen_site_relation '. |
'WHERE gsr_id_site_01 = gsr_id_site_02 '. |
'AND gsr_id_valeur = 101 '. |
'AND gsr_id_site_01 = gs_id_site '; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
$_GEN_commun['info_site'] = $resultat->fetchRow(DB_FETCHMODE_OBJECT); |
$_GEN_commun['url_site'] = (GEN_URL_ID_TYPE_SITE == 'int') |
? $_GEN_commun['info_site']->gs_code_num |
: $_GEN_commun['info_site']->gs_code_alpha; |
$resultat->free(); |
} |
} else { |
// Récupération de la valeur identifiant le site depuis l'url |
$_GEN_commun['url_site'] = $_GET[GEN_URL_CLE_SITE]; |
// Récupération des informations sur le site |
$requete = 'SELECT * '. |
'FROM gen_site, gen_site_relation '. |
'WHERE gsr_id_site_01 = gsr_id_site_02 '. |
'AND gsr_id_valeur IN ('.$site_liste_id.') '. |
'AND gsr_id_site_01 = gs_id_site '. |
'AND '; |
$requete .= (GEN_URL_ID_TYPE_SITE == 'int') |
? 'gs_code_num = '.$_GEN_commun['url_site'] |
: 'gs_code_alpha = "'.$_GEN_commun['url_site'].'"'; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
$_GEN_commun['info_site'] = $resultat->fetchRow(DB_FETCHMODE_OBJECT); |
$resultat->free(); |
} |
//Gestion de l'erreur aucun site trouvable. |
if (! isset($_GEN_commun['info_site'])) { |
// Appel à l'application Installateur si nécessaire |
/** <br> Inclusion du programme Installateur de Papyrus. |
* L'abscence de site oblige à relancer l'installation et le script sql qui régénérera la base de données.*/ |
include_once GEN_CHEMIN_APPLICATION.'installateur/installateur.php'; |
$_GEN_commun['sortie'] .= afficherContenuCorps(); |
include_once GEN_CHEMIN_PAP.'pap_envoi.inc.php'; |
// Fin du programme Papyrus. |
exit(0); |
} else if ($_GEN_commun['info_site']->gsr_id_valeur == 103) { |
// Gestion de la redirection pour les sites "externes" |
header('Location:'.$_GEN_commun['info_site']->gs_url); |
exit(0); |
} |
// Recherche de la présence de la valeur d'i18n dans l'url |
if ( (isset($_GET[GEN_URL_CLE_I18N])) && (!empty($_GET[GEN_URL_CLE_I18N])) ) { |
$_GEN_commun['i18n'] = $_GET[GEN_URL_CLE_I18N]; |
} else { |
$_GEN_commun['i18n'] = GEN_I18N_ID_DEFAUT; |
} |
// Nous récupérons des informations sur l'internationalisation |
$requete = 'SELECT * '. |
'FROM gen_i18n '. |
'WHERE gi_id_i18n = "'.$_GEN_commun['i18n'].'"'; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
$_GEN_commun['info_i18n'] = $resultat->fetchRow(DB_FETCHMODE_OBJECT); |
$resultat->free(); |
// Récupération des informations sur la langue |
$requete = 'SELECT * '. |
'FROM gen_i18n_langue '. |
'WHERE gil_id_langue = "'.$_GEN_commun['info_i18n']->gi_ce_langue.'"'; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
$_GEN_commun['info_i18n_langue'] = $resultat->fetchRow(DB_FETCHMODE_OBJECT); |
$resultat->free(); |
// Récupération des informations sur le pays |
$requete = 'SELECT * '. |
'FROM gen_i18n_pays '. |
'WHERE gip_id_pays = "'.$_GEN_commun['info_i18n']->gi_ce_pays.'"'; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
$_GEN_commun['info_i18n_pays'] = $resultat->fetchRow(DB_FETCHMODE_OBJECT); |
$resultat->free(); |
// +------------------------------------------------------------------------------------------------------+ |
// Gestion des menus |
// Nous vérifions le cas où le code du menu est introuvable dans l'url. |
if ( (! isset($_GET[GEN_URL_CLE_MENU])) || (empty($_GET[GEN_URL_CLE_MENU])) ) { |
// Recherche du premier menu du site courant: |
$requete = 'SELECT gen_menu.* '. |
'FROM gen_menu, gen_menu_relation '. |
'WHERE gm_ce_site = '.$_GEN_commun['info_site']->gs_id_site.' '. |
'AND gmr_id_menu_01 = gm_id_menu '. |
'AND gmr_id_menu_01 = gmr_id_menu_02 '. |
'AND gmr_id_valeur = 101 ';// 101 = menu par "defaut" |
$resultat = $db->query($requete); |
(DB::isError($resultat)) |
? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) |
: ''; |
// Nous avons trouvé un menu "défaut" pour le site courant. |
$_GEN_commun['info_menu'] = $resultat->fetchRow(DB_FETCHMODE_OBJECT); |
$resultat->free(); |
if (isset($_GEN_commun['url_menu'])) { |
// Stockage du code du menu demandée dans la variable globale de Papyrus. |
if (GEN_URL_ID_TYPE_MENU == 'int') { |
$_GEN_commun['url_menu'] = $_GEN_commun['info_menu']->gm_code_num; |
} else { |
$_GEN_commun['url_menu'] = $_GEN_commun['info_menu']->gm_code_alpha; |
} |
} |
} |
else |
if (! isset($_GET['url_menu']) && empty($_GEN_commun['url_menu'])) { |
// Le code du menu est présent dans l'url et il n'a pas encore été récupéré |
// Nous le récupérons dans la variable globale de Papyrus. |
$_GEN_commun['url_menu'] = $_GET[GEN_URL_CLE_MENU]; |
// Récupération des informations sur le menu demandé |
$requete = 'SELECT * '. |
'FROM gen_menu '. |
'WHERE '; |
$requete .= (GEN_URL_ID_TYPE_MENU == 'int') |
? 'gm_code_num = '.$_GEN_commun['url_menu'] |
: 'gm_code_alpha = "'.$_GEN_commun['url_menu'].'"'; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) |
? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) |
: ''; |
$_GEN_commun['info_menu'] = $resultat->fetchRow(DB_FETCHMODE_OBJECT); |
$resultat->free(); |
} |
// +------------------------------------------------------------------------------------------------------+ |
// Gestion des traductions |
// Si le résultat de la négociation de l'internationalisation donne une langue différente |
// de celle du site principal, nous récupérons les éventuelles valeurs traduite pour le site. |
$id_langue = $GLOBALS['_GEN_commun']['i18n']; |
if (isset($id_langue) && ($id_langue!='')) { |
$langue_test=$id_langue; |
} else { |
$langue_test=GEN_I18N_ID_DEFAUT; |
} |
if ($langue_test!=GEN_I18N_ID_DEFAUT) { |
// Récupération des informations sur la traduction du site |
$requete = 'SELECT * '. |
'FROM gen_site '. |
'WHERE gs_ce_i18n = "'.$langue_test.'" '. |
'AND gs_code_num = "'.$_GEN_commun['info_site']->gs_code_num.'"'; |
// 'WHERE gs_ce_i18n = "'.$_GEN_commun['i18n'].'" '. |
// 'AND gs_code_alpha = "'.$_GEN_commun['info_site']->gs_code_alpha.'"'; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
// Nous créons l'entrée 'traduction_info_site' dans _GEN_commun que si nous avons bien trouvé une |
// traduction pour le site. Il faut donc tester l'existence de cette entrée avant de l'utiliser. |
if ($resultat->numRows() > 0) { |
$_GEN_commun['traduction_info_site'] = $resultat->fetchRow(DB_FETCHMODE_OBJECT); |
} |
$resultat->free(); |
} |
// Si le résultat de la négociation de l'internationalisation donne une langue différente |
// de celle du menu, nous récupérons les éventuelles valeurs traduite pour le menu. |
//print_r($_GEN_commun); |
if (isset($_GEN_commun['info_menu'])) { // Evite les warning si pas encore de menu cree pour ce site |
if ($langue_test!=GEN_I18N_ID_DEFAUT) { |
// Récupération des informations sur la traduction du menu |
$requete = 'SELECT * '. |
'FROM gen_menu '. |
'WHERE gm_ce_i18n = "'.$langue_test.'" '. |
'AND gm_code_num = "'.$_GEN_commun['info_menu']->gm_code_num.'"'; |
// 'WHERE gm_ce_i18n = "'.$_GEN_commun['i18n'].'" '. |
// 'AND gm_code_alpha = "'.$_GEN_commun['info_menu']->gm_code_alpha.'"'; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
// Nous créons l'entrée 'traduction_info_menu' dans _GEN_commun que si nous avons bien trouvé une |
// traduction pour le menu. Il faut donc tester l'existence de cette entrée avant de l'utiliser. |
if ($resultat->numRows() > 0) { |
$_GEN_commun['traduction_info_menu'] = $resultat->fetchRow(DB_FETCHMODE_OBJECT); |
} |
$resultat->free(); |
} |
} |
// +------------------------------------------------------------------------------------------------------+ |
// Gestion de l'application du menu demandé. |
// Recherche de la première application liée |
if (isset($_GEN_commun['info_menu']->gm_id_menu)) { |
$info_appli_menu = GEN_donnerIdPremiereApplicationLiee($_GEN_commun['info_menu']->gm_id_menu); |
if (is_array($info_appli_menu)) { |
$id_application = $info_appli_menu['gm_ce_application']; |
$id_menu_actif = $info_appli_menu['gm_id_menu']; |
// Si le menu n'a pas d'application lié, on recalcule l'objet $_GEN_commun['info_menu'] |
if ($id_menu_actif != $_GEN_commun['info_menu']->gm_id_menu) { |
$requete = 'SELECT gen_menu.* '. |
'FROM gen_menu '. |
'WHERE gm_id_menu = '.$id_menu_actif; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) |
? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) |
: ''; |
// Nous avons trouvé un menu "défaut" pour le site courant. |
$_GEN_commun['info_menu'] = $resultat->fetchRow(DB_FETCHMODE_OBJECT); |
$resultat->free(); |
} |
// Recherche des informations sur l'application liée |
$requete_applicaton = 'SELECT * '. |
'FROM gen_application '. |
'WHERE gap_id_application = '.$id_application; |
$resultat_applicaton = $db->query($requete_applicaton); |
(DB::isError($resultat_applicaton)) |
? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_applicaton->getMessage(), $requete_applicaton)) |
: ''; |
$_GEN_commun['info_application'] = $resultat_applicaton->fetchRow(DB_FETCHMODE_OBJECT) ; |
$resultat_applicaton->free(); |
} else { |
// Gestion des erreurs sur la recherche de l'application liée. |
// Finalement il a été décidé de ne pas afficher cette information sous la forme d'erreur. |
//trigger_error('application du menu demandée introuvable', E_USER_NOTICE); |
} |
} |
// +------------------------------------------------------------------------------------------------------+ |
// Gestion des arguments de l'application |
if (isset($_GEN_commun['info_menu']->gm_application_arguments)) { |
$arguments = explode(' ', $_GEN_commun['info_menu']->gm_application_arguments); |
// Initialisaton de la variable globale $GS_ARGUMENTS |
$_GEN_commun['info_application']->cache = false; |
$_GEN_commun['info_application']->cache_duree = 0; |
for ($i = 0; $i < count($arguments); $i++) { |
$attr = explode('=', $arguments[$i]); |
if ($attr[0] == 'cache_duree') { |
$_GEN_commun['info_application']->cache_duree = $attr[1]; |
if ($_GEN_commun['info_application']->cache_duree > 0) { |
$_GEN_commun['info_application']->cache = true; |
} |
} else if ($attr[0] != '') { |
$_GEN_commun['info_application']->$attr[0] = (isset($attr[1]) ? $attr[1] : ''); |
} |
} |
} |
// +------------------------------------------------------------------------------------------------------+ |
// Gestion des applettes |
$requete = 'SELECT * '. |
'FROM gen_application '. |
'WHERE gap_bool_applette = 1 '; |
$resultat = $_GEN_commun['pear_db']->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
$_GEN_commun['info_applette'] = array(); |
$i = 0; |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) { |
$_GEN_commun['info_applette'][$i] = $ligne; |
$i++; |
} |
$resultat->free(); |
// +------------------------------------------------------------------------------------------------------+ |
// Gestion de l'objet URL |
$_GEN_commun['url'] = & new Pap_URL(PAP_URL); |
if (isset($_GEN_commun['info_menu'])) { |
$_GEN_commun['url']->setId($_GEN_commun['info_menu']->gm_id_menu); |
} |
if ( (isset($_GEN_commun['url_site'])) && (!empty($_GEN_commun['url_site'])) ) { |
$_GEN_commun['url']->addQueryString(GEN_URL_CLE_SITE, $_GEN_commun['url_site']); |
} |
if ( (isset($_GEN_commun['url_menu'])) && (!empty($_GEN_commun['url_menu'])) ) { |
$_GEN_commun['url']->addQueryString(GEN_URL_CLE_MENU, $_GEN_commun['url_menu']); |
} |
if ( (isset($_GET[GEN_URL_CLE_DATE])) && (!empty($_GET[GEN_URL_CLE_DATE])) ) { |
$_GEN_commun['url_date'] = $_GET[GEN_URL_CLE_DATE]; |
$_GEN_commun['url']->addQueryString(GEN_URL_CLE_DATE, $_GEN_commun['url_date']); |
} |
if ( (isset($_GET[GEN_URL_CLE_FORMAT])) && (!empty($_GET[GEN_URL_CLE_FORMAT])) ) { |
$_GEN_commun['url_format'] = $_GET[GEN_URL_CLE_FORMAT]; |
$_GEN_commun['url']->addQueryString(GEN_URL_CLE_FORMAT, $_GEN_commun['url_format']); |
} |
/* +--Fin du code ---------------------------------------------------------------------------------------+ |
* $Log: not supported by cvs2svn $ |
* Revision 1.31 2007-04-19 16:54:52 ddelon |
* backport mulitlinguisme |
* |
* Revision 1.30 2007/04/19 15:34:35 neiluj |
* préparration release (livraison) "Narmer" - v0.25 |
* |
* Revision 1.29 2007/04/13 09:41:09 neiluj |
* réparration cvs |
* |
* Revision 1.28 2006/12/01 15:41:21 ddelon |
* erreur affichage |
* |
* Revision 1.27 2006/11/07 18:43:54 jp_milcent |
* Modification des expressions régulières des permaliens. |
* |
* Revision 1.26 2006/10/18 10:18:05 jp_milcent |
* Gestion des erreurs HTTP par Papyrus. |
* |
* Revision 1.25 2006/10/11 18:04:11 jp_milcent |
* Gestion avancée de la réecriture d'URL. |
* |
* Revision 1.24 2006/03/02 10:49:49 ddelon |
* Fusion branche multilinguisme dans branche principale |
* |
* Revision 1.23.2.2 2005/12/20 14:40:24 ddelon |
* Fusion Head vers Livraison |
* |
* Revision 1.23.2.1 2005/12/01 23:31:57 ddelon |
* Merge Head vers multilinguisme |
* |
* Revision 1.23 2005/09/22 14:02:49 ddelon |
* nettoyage annuaire et php5 |
* |
* Revision 1.22 2005/09/20 17:01:22 ddelon |
* php5 et bugs divers |
* |
* Revision 1.21 2005/08/31 17:34:52 ddelon |
* Integrateur Wikini et administration des Wikini |
* |
* Revision 1.20 2005/06/24 10:48:35 jpm |
* Modification des chemins des fichiers pour fonctionnement avec API Pear locale. |
* |
* Revision 1.19 2005/04/14 13:52:37 jpm |
* Utilisation de la classe Pap_URL. |
* |
* Revision 1.18 2005/02/28 11:20:42 jpm |
* Modification des auteurs. |
* |
* Revision 1.17 2005/02/23 15:35:04 jpm |
* L'erreur "pas d'application" a été supprimé une message dans le corps du texte fourni déjà cette information. |
* |
* Revision 1.16 2005/02/17 17:51:40 florian |
* Correction bug monde sans menu ni appli |
* |
* Revision 1.15 2004/12/06 12:12:28 jpm |
* Début de gestion des auth multiples. |
* |
* Revision 1.14 2004/11/15 17:14:09 jpm |
* Gestion des url avec seulement le code d'un menu. |
* |
* Revision 1.13 2004/11/03 17:14:38 jpm |
* Gestion des sites externes. |
* |
* Revision 1.12 2004/10/26 18:42:21 jpm |
* Gestion des sites externes. |
* |
* Revision 1.11 2004/10/25 16:28:47 jpm |
* Ajout de nouvelles balises Papyrus, ajout vérification mise à jour de Papyrus, meilleure gestion des sessions... |
* |
* Revision 1.10 2004/10/22 17:23:59 jpm |
* Début amélioration de la gestion des erreurs et de l'installation. |
* |
* Revision 1.9 2004/10/15 18:29:19 jpm |
* Modif pour gérer l'appli installateur de Papyrus. |
* |
* Revision 1.8 2004/09/23 14:30:53 jpm |
* Correction bogue sur les menus. |
* |
* Revision 1.7 2004/09/23 10:46:46 jpm |
* Amélioration de la gestion du menu actif quand un menu n'a pas d'application liée. |
* |
* Revision 1.6 2004/09/10 16:38:34 jpm |
* Ajout de l'initialisation d'une variable stockant les infos de débogage. |
* |
* Revision 1.5 2004/06/30 07:35:16 jpm |
* Correction d'un bogue du à une mauvaise gestion de la résolution des conflits entre fichier CVS. |
* |
* Revision 1.4 2004/06/30 07:25:37 jpm |
* Ajout d'un commentaire. |
* |
* Revision 1.3 2004/06/18 15:52:45 alex |
* Actualisation de la variable $_GEN_commun['info_menu'] lorsque un menu n'a pas d'application lié |
* |
* Revision 1.2 2004/06/17 07:03:01 jpm |
* Correction d'un bogue concernant l'internationalisation par défaut quand la langue du navigateur ne correspond pas à celle du site. |
* |
* Revision 1.1 2004/06/16 08:13:20 jpm |
* Changement de nom de Papyrus en Papyrus. |
* Changement de l'arborescence. |
* |
* Revision 1.24 2004/05/05 14:33:37 jpm |
* Gestion de l'indication de langue dans l'url. |
* Utile que si on veut forcer la langue. |
* |
* Revision 1.23 2004/05/05 10:42:35 jpm |
* Amélioration de la gestion de l'internationalisation. |
* |
* Revision 1.22 2004/05/04 16:17:05 jpm |
* Légère amélioration du code (libération |
de ressource). |
* |
* Revision 1.21 2004/05/03 11:21:58 jpm |
* Fin de la gestion des applettes et suppression de l'info_menu_hierarchie de _GEN_commun. |
* |
* Revision 1.20 2004/04/30 16:17:27 jpm |
* Ajout de la récupération d'une info sur la hiérarchie. |
* Surement à supprimer car inutile. |
* |
* Revision 1.19 2004/04/28 12:04:31 jpm |
* Changement du modèle de la base de données. |
* |
* Revision 1.18 2004/04/22 08:28:12 jpm |
* Transformation de $GS_GLOBAL en $_GEN_commun. |
* |
* Revision 1.17 2004/04/09 16:43:32 jpm |
* Suppression d'un blanc. |
* |
* Revision 1.16 2004/04/09 16:20:11 jpm |
* Récupération de la création de l'objet URL. |
* Gestion des tables i18n. |
* |
* Revision 1.15 2004/04/05 16:37:43 jpm |
* Utilisation de la classe Pear HTTP pour la négociation du langage à utiliser pour le site. |
* |
* Revision 1.14 2004/04/02 16:29:30 jpm |
* Déplacement dans le fichier gen_initialisation_pear.inc.php de la création des objets Pear Net_URL et Auth. |
* |
* Revision 1.13 2004/04/01 11:27:13 jpm |
* Ajout et modification de commentaires pour PhpDocumentor. |
* |
* Revision 1.12 2004/03/31 16:50:04 jpm |
* Prise en compte du nouveau modèle de Papyrus révision 1.9. |
* |
* Revision 1.11 2004/03/27 11:04:14 jpm |
* Déplacement des fonctions de gestion d'erreur dans la bibliotheque de l'application Installateur. |
* Modification des commentaires vis à vis du nouveau modèle. |
* Changement et simplification des noms des variables globales. |
* Suppression de l'attribution d'une configuration par défaut. |
* Remplacement de variable par des constante provenant du fichier de configuration. |
* Traduction en français de certaines variables et partie de code. |
* |
* Revision 1.10 2004/03/24 07:20:03 jpm |
* Mise en forme requête sql. |
* |
* Revision 1.9 2004/03/23 17:06:56 jpm |
* Ajout de commentaire dans l'entête. |
* Mise en conformité avec la convention de codage. |
* |
* Revision 1.8 2004/03/23 16:31:54 jpm |
* Ajout du code provenant de gen_noyau.inc.php. |
* Ajout, formatage et traduction des commentaires. |
* |
* Revision 1.7 2004/03/22 18:35:32 jpm |
* Traduction et ajout de commentaires. |
* Amélioration de la conformité avec la convention de codage. |
* Changement requête sql pour le nouveau modèle de Papyrus. |
* |
* Revision 1.6 2004/03/22 11:14:30 jpm |
* Ajout de commentaires et mise en forme. |
* Correction des requêtes sql pour mise en conformité avec le nouveau modèle de Papyrus et la convention de codage. |
* |
* Revision 1.5 2003/12/16 16:57:59 alex |
* mise à jour pour compatibilité avec genesia |
* |
* Revision 1.4 2003/11/24 16:05:02 jpm |
* Ajout de commentaires et début de mise en conformité |
* avec la convention de codage. |
* |
* |
* +--Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v4.0-djer/papyrus/pap_connecte_bdd.inc.php |
---|
New file |
0,0 → 1,92 |
<?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: pap_connecte_bdd.inc.php,v 1.4 2007-04-13 09:41:09 neiluj Exp $ |
/** |
* Connection à la base de données et inclusions des classes générées par DataObject de Pear. |
* |
* Ce fichier permet de se connecter à la base de données et d'inclure les classes représentant les tables |
* de la base de données de Papyrus. Ces tables sont générées par DataObject de Pear. |
* |
*@package Papyrus |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.4 $ $Date: 2007-04-13 09:41:09 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/** <br> Inclusion de la classe PEAR d'abstraction de base de donnée. */ |
require_once PAP_CHEMIN_API_PEAR.'DB.php'; |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// +------------------------------------------------------------------------------------------------------+ |
// Connexion à la base de données. |
$db = DB::connect(PAP_DSN) ; |
$_GEN_commun['pear_db'] = $db; |
if (DB::isError($db)) { |
$msg_erreur_connection = 'Impossible de se connecter à la base de données.'; |
die(BOG_afficherErreurSql(__FILE__, __LINE__, $db->getMessage(), 'connexion à la base de données',$msg_erreur_connection)); |
} |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.3 2006/04/28 12:41:49 florian |
* corrections erreurs chemin |
* |
* Revision 1.2 2004/10/15 18:29:19 jpm |
* Modif pour gérer l'appli installateur de Papyrus. |
* |
* Revision 1.1 2004/06/16 08:11:22 jpm |
* Changement de nom de Génésia en Papyrus. |
* Changement de l'arborescence. |
* |
* Revision 1.5 2004/05/10 13:24:16 jpm |
* Correction gestion de l'erreur impossible de se connecter. |
* |
* Revision 1.4 2004/05/01 11:41:31 jpm |
* Ajout de la variable globale $_GEN_commun['pear_db'] devant être utilisé à la place de $db. |
* |
* Revision 1.3 2004/04/28 12:04:31 jpm |
* Changement du modèle de la base de données. |
* |
* Revision 1.2 2004/04/22 08:25:05 jpm |
* Transformation de $GS_GLOBAL en $_GEN_commun. |
* |
* Revision 1.1 2004/04/21 16:24:29 jpm |
* Ajout d'un fichier spécifique pour la connexion à la base de données et incluant les classes DataObject de Pear. |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/papyrus/applications/installateur/presentations/images/Calendrier-coin-jaune.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v4.0-djer/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/v4.0-djer/papyrus/applications/installateur/presentations/images/Infos.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v4.0-djer/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/v4.0-djer/papyrus/applications/installateur/presentations/images/picto.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v4.0-djer/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/v4.0-djer/papyrus/applications/installateur/presentations/images/Logo_papyrus.jpg |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v4.0-djer/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/v4.0-djer/papyrus/applications/installateur/presentations/images/Bandeau_haut.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v4.0-djer/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/v4.0-djer/papyrus/applications/installateur/presentations/images/logo-firefox.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v4.0-djer/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/v4.0-djer/papyrus/applications/installateur/presentations/images/Bandeau_bas.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/papyrus/applications/installateur/presentations/images/logo-css.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v4.0-djer/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/v4.0-djer/papyrus/applications/installateur/presentations/images/Agraphe.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v4.0-djer/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/v4.0-djer/papyrus/applications/installateur/presentations/images/Main_Erreur.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v4.0-djer/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/v4.0-djer/papyrus/applications/installateur/presentations/images/logo-xhtml11.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v4.0-djer/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/v4.0-djer/papyrus/applications/installateur/presentations/images/navigation/adme_augmenter.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v4.0-djer/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/v4.0-djer/papyrus/applications/installateur/presentations/images/navigation/adme_ajouter.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v4.0-djer/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/v4.0-djer/papyrus/applications/installateur/presentations/images/navigation/adme_descendre.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v4.0-djer/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/v4.0-djer/papyrus/applications/installateur/presentations/images/navigation/adme_diminuer.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v4.0-djer/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/v4.0-djer/papyrus/applications/installateur/presentations/images/navigation/adme_modifier.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v4.0-djer/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/v4.0-djer/papyrus/applications/installateur/presentations/images/navigation/adme_fermer.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v4.0-djer/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/v4.0-djer/papyrus/applications/installateur/presentations/images/navigation/adme_administrer.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v4.0-djer/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/v4.0-djer/papyrus/applications/installateur/presentations/images/navigation/adme_monter.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v4.0-djer/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/v4.0-djer/papyrus/applications/installateur/presentations/images/navigation/adme_ouvrir.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v4.0-djer/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/v4.0-djer/papyrus/applications/installateur/presentations/images/navigation/adme_supprimer.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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 ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v4.0-djer/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/v4.0-djer/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/v4.0-djer/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/v4.0-djer/papyrus/configuration/pap_config_avancee.inc.php |
---|
New file |
0,0 → 1,332 |
<?php |
//vim: set expandtab tabstop=4 shiftwidth=4: |
// +------------------------------------------------------------------------------------------------------+ |
// | PHP version 4.1 | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (C) 2003 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: pap_config_avancee.inc.php,v 1.31 2007-08-28 14:13:40 jp_milcent Exp $ |
/** |
* Page de configuration avancée de Papyrus |
* |
* La page contient différents paramètre permettant de configurer, le chronométrage, le débogage, les url... |
* |
*@package Papyrus |
*@subpackage Configuration |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Alexandre GRANIER <alex@tela-botanica.org> |
*@author Laurent COUDOUNEAU <laurent.coudouneau@ema.fr> |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.31 $ $Date: 2007-08-28 14:13:40 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
//test au cas ou il s'agirai d'une nouvelle installation ou si le fichier de conf n'existe pas |
if (file_exists('papyrus/configuration/pap_config.inc.php') ) {include_once 'papyrus/configuration/pap_config.inc.php';} |
if (!defined("PAP_CHEMIN_RACINE")) define('PAP_CHEMIN_RACINE',''); |
// +------------------------------------------------------------------------------------------------------+ |
// Paramétrage du mode d'écriture des fichiers sur le serveur |
/** Booléen permetant de savoir si on utilise ou pas le ftp. */ |
define('GEN_FTP_UTILISE', true) ;//ini_get('safe_mode') |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// +------------------------------------------------------------------------------------------------------+ |
// Paramétrage de la version : NE PAS MODIFIER MANUELLEMENT! |
/** Constante stockant la version de Papyrus.*/ |
define('GEN_VERSION', '0.25'); |
// +------------------------------------------------------------------------------------------------------+ |
// Paramétrage du débogage. |
/** Constante stockant une valeur booléen permettant de savoir si on veut déboguer le code (true) ou pas (false).*/ |
define('GEN_DEBOGAGE', true);// true ou false |
/** Constante permettant de savoir sous quelle forme le débogage va avoir lieu.*/ |
define('PAP_DEBOGAGE_TYPE', 'HTML');// HTML ou FIREBUG |
/** Constante stockant une valeur correspondant au niveau d'erreur à employer pour le code PHP |
* de Papyrus et de ses applications.*/ |
define('GEN_DEBOGAGE_NIVEAU', E_ALL);// Voir le manuel de PHP pour les différents niveaux disponibles. |
/** Constante permettant de savoir si on veut afficher le contexte des variables d'une erreur |
* pour le code PHP de Papyrus et de ses applications.*/ |
define('GEN_DEBOGAGE_CONTEXTE', false);// true or false |
/** Constante permettant de savoir la langue pour le débogage du code PHP de Papyrus et de ses |
* applications.*/ |
define('GEN_DEBOGAGE_I18N', 'fr'); |
// +------------------------------------------------------------------------------------------------------+ |
// Paramétrage de l'identification : Auth |
$tps = time()+3600*24*30; |
/** Constante stockant la durée pendant laquelle on mémorise l'identification via un cookie.*/ |
define('PAP_AUTH_SESSION_DUREE', (int)$tps);// Mettre 0 pour "dàconnecter en fin de session" sinon utiliser la variable $tps |
/** Constante stockant si oui (true) ou non (false) on met en place la sécurité avancée pour l'identification.*/ |
define('PAP_AUTH_SECURITE_AVANCEE', true); |
/** Constante stockant le préfixe pour les noms des sessions Papyrus.*/ |
define('PAP_AUTH_SESSION_PREFIXE', 'pap-'); |
// +------------------------------------------------------------------------------------------------------+ |
// Paramétrage du nom du champ servant à identifier un site dans l'url |
/** Type du code d'un site passé dans l'url.*/ |
define('GEN_URL_ID_TYPE_SITE', 'int');// string ou int |
/** Type du code d'un menu passé dans l'url.*/ |
define('GEN_URL_ID_TYPE_MENU', 'int');// string ou int |
/** Type du code d'un site pour les urls raccourcies.*/ |
define('GEN_URL_RACCOURCI_ID_TYPE_SITE', 'string');// string ou int |
/** Type du code d'un menu pour les urls raccourcies.*/ |
define('GEN_URL_RACCOURCI_ID_TYPE_MENU', 'string');// string ou int |
// +------------------------------------------------------------------------------------------------------+ |
// Paramétrage des clés de l'url |
// Redéfini le séparateur utilisé lorsque PHP génère des URLs pour séparer les arguments. (compatible XHTML strict) |
ini_set('arg_separator.output', '&'); |
/** Nom de la variable passée dans l'url et contenant l'identifiant d'un site.*/ |
define('GEN_URL_CLE_SITE', 'site'); |
/** Nom de la variable passée dans l'url et contenant l'identifiant d'un menu.*/ |
define('GEN_URL_CLE_MENU', 'menu'); |
/** Nom de la variable passée dans l'url et contenant l'identifiant d'une internationalisation.*/ |
define('GEN_URL_CLE_I18N', 'langue'); |
/** Nom de la variable passée dans l'url et contenant une date.*/ |
define('GEN_URL_CLE_DATE', 'date'); |
/** Nom de la variable passée dans l'url et contenant un format.*/ |
define('GEN_URL_CLE_FORMAT', 'format'); |
// +------------------------------------------------------------------------------------------------------+ |
// Paramétrage des langues |
/** Identifiant de l'I18N par défaut de Papyrus. */ |
define('GEN_I18N_ID_DEFAUT', 'fr'); |
// +------------------------------------------------------------------------------------------------------+ |
// Noms des sites |
/** Nom du site par défaut d'administration de Papyrus.*/ |
define('GEN_SITE_DEFAUT', 'admin'); |
// +------------------------------------------------------------------------------------------------------+ |
// Paramétrage réecriture d'URL et erreur HTTP |
/** Mot signalant une réecriture d'url présent à la base de l'url. */ |
define('PAP_URL_REECRITURE_MENU', 'page'); |
/** Mot signalant une réecriture d'url présent à la base de l'url. */ |
define('PAP_URL_REECRITURE_SITE', 'site'); |
/** Caractère séparant les informations constituant le permalien Papyrus. */ |
// Si vous utilisez "/", vous devrez indiquer le chemin depuis la racine pour les chemins présent dans les squelettes. |
// Exemple : "/sites/commun..." et non "sites/commun..." |
define('PAP_URL_REECRITURE_SEP', ':'); |
/** Chemin et nom du fichier affichant une erreur HTTP.*/ |
define('PAP_FICHIER_ERREUR_HTTP', PAP_CHEMIN_RACINE.'sites/commun/%s/http_erreurs/erreur%s.php'); |
/** URL absolue du fichier affichant une erreur HTTP.*/ |
define('PAP_URL_ERREUR_HTTP', '/sites/commun/%s/http_erreurs/erreur%s.php?url=%s'); |
// +------------------------------------------------------------------------------------------------------+ |
/** Séparateur dans les chemins d'accès aux fichiers.*/ |
define('GEN_SEP', '/'); |
/** Chemin relatif par rapport au fichier papyrus.php vers le dossier contenant les fichiers des api.*/ |
define('GEN_CHEMIN_API', PAP_CHEMIN_RACINE.'api'.GEN_SEP); |
/** Chemin relatif par rapport au fichier papyrus.php vers le dossier contenant les fichiers des api.*/ |
define('PAP_CHEMIN_API_PEAR', GEN_CHEMIN_API.'pear'.GEN_SEP); |
/** Chemin relatif par rapport au fichier papyrus.php vers le dossier contenant le reste de l'application Papyrus.*/ |
define('GEN_CHEMIN_PAP', 'papyrus'.GEN_SEP); |
/** Chemin relatif par rapport au fichier papyrus.php vers le dossier contenant les applications clientes.*/ |
define('GEN_CHEMIN_CLIENT', 'client'.GEN_SEP); |
/** Chemin relatif par rapport au fichier papyrus.php vers le dossier contenant les fichiers des sites.*/ |
define('GEN_CHEMIN_SITES', 'sites'.GEN_SEP); |
/** Chemin relatif par rapport au fichier papyrus.php vers le dossier contenant les fichiers de configuration de Papyrus.*/ |
define('GEN_CHEMIN_CONFIG', GEN_CHEMIN_PAP.'configuration'.GEN_SEP); |
/** Chemin relatif par rapport au fichier papyrus.php vers le dossier contenant les fichiers sql d'installation de Papyrus.*/ |
define('GEN_CHEMIN_INSTAL', GEN_CHEMIN_PAP.'installation'.GEN_SEP); |
/** Chemin relatif par rapport au fichier papyrus.php vers le dossier contenant les applications internes à Papyrus.*/ |
define('GEN_CHEMIN_APPLICATION', GEN_CHEMIN_PAP.'applications'.GEN_SEP); |
/** Chemin relatif par rapport au fichier papyrus.php vers le dossier contenant les applettes.*/ |
define('GEN_CHEMIN_APPLETTE', GEN_CHEMIN_PAP.'applettes'.GEN_SEP); |
/** Chemin relatif par rapport au fichier papyrus.php vers le dossier contenant la bibliothèque de codes de Papyrus.*/ |
define('GEN_CHEMIN_BIBLIO', GEN_CHEMIN_PAP.'bibliotheque'.GEN_SEP.'fonctions'.GEN_SEP); |
/** Chemin relatif par rapport au fichier papyrus.php vers le dossier contenant la bibliothèque de codes de Papyrus.*/ |
define('GEN_CHEMIN_BIBLIO_CLASSE', GEN_CHEMIN_PAP.'bibliotheque'.GEN_SEP.'classes'.GEN_SEP); |
/** Chemin relatif par rapport au fichier papyrus.php vers le dossier contenant les traductions de Papyrus.*/ |
define('GEN_CHEMIN_LANGUE', GEN_CHEMIN_PAP.'langues'.GEN_SEP); |
/** Chemin vers le dossier Commun des sites.*/ |
define('GEN_CHEMIN_COMMUN', GEN_CHEMIN_SITES.'commun'.GEN_SEP); |
/** Chemin vers le dossier contenant des fichiers temporaires.*/ |
define('GEN_CHEMIN_TMP', 'tmp'); |
// +------------------------------------------------------------------------------------------------------+ |
// Nom des dossiers d'un site présent dans le dossier de langue. |
/** Nom du dossier contenant les squelettes d'un site donné.*/ |
define('GEN_DOSSIER_SQUELETTE', 'squelettes'); |
/** Nom du dossier contenant les feuilles de styles d'un site donné.*/ |
define('GEN_DOSSIER_STYLE', 'styles'); |
/** Nom du dossier contenant les scripts côté client d'un site donné.*/ |
define('GEN_DOSSIER_SCRIPT', 'scripts'); |
/** Nom du dossier contenant les images d'un site donné.*/ |
define('GEN_DOSSIER_IMAGE', 'images'); |
/** Nom du dossier contenant les documents d'un site donné.*/ |
define('GEN_DOSSIER_DOC', 'documents'); |
/** Nom du dossier contenant des dossiers et fichiers communs à plusieurs langues.*/ |
define('GEN_DOSSIER_GENERIQUE', 'generique'); |
// +------------------------------------------------------------------------------------------------------+ |
// Nom des fichiers par défaut d'un site présent dans le dossier de langue. |
/** Nom du fichier de configuration principal de Papyrus.*/ |
define('GEN_FICHIER_CONFIG', 'pap_config.inc.php'); |
/** Nom du fichier squelette par défaut d'un site donné.*/ |
define('GEN_FICHIER_SQUELETTE', 'defaut.html'); |
/** Nom du fichier de styles par défaut d'un site donné.*/ |
define('GEN_FICHIER_STYLE', 'defaut.css'); |
/** Chemin relatif par rapport au fichier papyrus.php vers le dossier contenant les fichiers des wikini*/ |
define('GEN_CHEMIN_WIKINI', 'wikini'.GEN_SEP); |
// +------------------------------------------------------------------------------------------------------+ |
// Nom des styles de Papyrus. |
/** Style erreur.*/ |
define('GEN_CSS_ERREUR', 'pap_erreur'); |
// +------------------------------------------------------------------------------------------------------+ |
//Gestion des actions Papyrus |
/** Les sites correspodant aux liens interwiki. */ |
$GLOBALS['_PAPYRUS_']['interwiki_sites'] = array( |
'Papyrus' => 'http://'.$_SERVER['HTTP_HOST'].'/'.$_SERVER['PHP_SELF'].'?menu=%s', |
'Weflore' => 'http://wiki.tela-botanica.org/eflore/wakka.php?wiki=%s', |
'Wikipedia' => 'http://fr.wikipedia.org/wiki/%s', |
'Wikipedia_fr' => 'http://fr.wikipedia.org/wiki/%s' |
); |
/** Les sites correspodant à l'action inclure. */ |
$GLOBALS['_PAPYRUS_']['inclure_sites'] = array( |
'Papyrus' => array('preg' => '/<!-- start contenu -->(.*)<!-- end contenu -->/Umsi', 'url' => 'http://'.$_SERVER['HTTP_HOST'].'/'.$_SERVER['PHP_SELF'].'?menu=%s'), |
'Wikipedia' => array('preg' => '/<!-- start content -->(.*)<!-- end content -->/Umsi', 'url' => 'http://fr.wikipedia.org/wiki/%s'), |
'Wikipedia_fr' => array('preg' => '/<!-- start content -->(.*)<!-- end content -->/Umsi', 'url' => 'http://fr.wikipedia.org/wiki/%s'), |
'Wikipedia_en' => array('preg' => '/<!-- start content -->(.*)<!-- end content -->/Umsi', 'url' => 'http://en.wikipedia.org/wiki/%s'), |
'Wikini_eFlore' => array('preg' => '/<div class="page">(.*)<\/div>.*<div class="commentsheader">/Umsi', 'url' => 'http://www.tela-botanica.org/wikini/eflore/wakka.php?wiki=%s'), |
'Wikini_isff' => array('preg' => '/<div class="page">(.*)<\/div>.*<div class="commentsheader">/Umsi', 'url' => 'http://www.tela-botanica.org/wikini/isff/wakka.php?wiki=%s') |
); |
/* +--Fin du code ---------------------------------------------------------------------------------------+ |
* $Log: not supported by cvs2svn $ |
* Revision 1.30 2007-04-19 16:54:24 neiluj |
* changement de version |
* |
* Revision 1.29 2007/03/01 11:07:19 jp_milcent |
* Gestion de la constante définissant le type de débogage. |
* |
* Revision 1.28 2006/12/14 15:01:05 jp_milcent |
* Utilisation d'un système permettant de mémoriser les idenitifications. |
* Passage à Auth 1.4.3 et DB 1.7.6. |
* |
* Revision 1.27 2006/11/20 17:48:33 jp_milcent |
* Mise à 0 de PAP_AUTH_SESSION_DUREE pour garder la compatibilité avec les anciennes installations. |
* |
* Revision 1.26 2006/11/20 17:29:04 jp_milcent |
* Ajout d'une constante permettant de gérer la durée des session de Papyrus. |
* |
* Revision 1.25 2006/10/26 16:29:52 jp_milcent |
* Correction erreur redirection en boucle. |
* |
* Revision 1.24 2006/10/18 10:18:04 jp_milcent |
* Gestion des erreurs HTTP par Papyrus. |
* |
* Revision 1.23 2006/10/11 18:04:11 jp_milcent |
* Gestion avancée de la réecriture d'URL. |
* |
* Revision 1.22 2006/10/05 13:17:47 ddelon |
* Changement Version Papyrus : 0.21 --> 0.24 |
* |
* Revision 1.21 2006/09/13 12:31:18 florian |
* ménage: fichier de config Papyrus, fichiers temporaires |
* |
* Revision 1.20 2006/04/28 12:41:49 florian |
* corrections erreurs chemin |
* |
* Revision 1.19 2006/03/13 21:00:20 ddelon |
* Suppression messages d'erreur multilinguisme |
* |
* Revision 1.18 2006/03/02 10:49:49 ddelon |
* Fusion branche multilinguisme dans branche principale |
* |
* Revision 1.17.2.1 2005/12/01 23:31:57 ddelon |
* Merge Head vers multilinguisme |
* |
* Revision 1.14 2005/04/18 16:40:39 jpm |
* Ajout de constantes pour contrôler les permaliens. |
* |
* Revision 1.12 2005/04/06 13:22:58 jpm |
* Ajout du chemin vers l'API PEAR présente dans le dossier api. |
* |
* Revision 1.11 2005/02/28 11:12:24 jpm |
* Modification des auteurs. |
* |
* Revision 1.10 2005/02/17 17:56:33 jpm |
* Changement de version de 0.2 à 0.21. |
* |
* Revision 1.9 2004/10/25 16:26:19 jpm |
* Changement de la valeur de la variable GEN_VERSION. |
* |
* Revision 1.8 2004/10/22 17:22:41 jpm |
* Modification du au changement de place de l'inclusion de ce fichier dans Papyrus. |
* |
* Revision 1.7 2004/10/21 18:16:18 jpm |
* Ajout de contantes pour le débogage et corrections de commentaires. |
* |
* Revision 1.6 2004/10/19 16:00:23 jpm |
* Extraction de constante pour ajout dans le fichier de conf géré par l'installateur de Papyrus. |
* Ajout de nouvelles constantes. |
* |
* Revision 1.4 2004/10/14 16:37:04 jpm |
* Correction. |
* |
* Revision 1.3 2004/09/13 17:09:25 jpm |
* Redéfini le séparateur utilisé lorsque PHP génère des URLs pour séparer les arguments. (compatible XHTML strict) |
* |
* Revision 1.2 2004/06/16 15:06:45 jpm |
* Ajout de constantes de chemin. |
* |
* Revision 1.1 2004/06/15 15:19:56 jpm |
* Changement de nom et d'arborescence de Genesia en Papyrus. |
* |
* Revision 1.10 2004/05/06 11:14:56 jpm |
* Ajout de nouvelles constantes. |
* |
* Revision 1.8 2004/04/01 11:26:27 jpm |
* Ajout et modification de commentaires pour PhpDocumentor. |
* |
* Revision 1.7 2004/03/31 16:55:44 jpm |
* Ajout de constant gérant l'url. |
* |
* Revision 1.6 2004/03/27 11:09:21 jpm |
* Transformation de variable en constante. |
* |
* Revision 1.5 2004/03/22 10:58:59 jpm |
* Ajout de commentaires. |
* |
* Revision 1.4 2003/12/16 16:57:59 alex |
* mise à jour pour compatibilité avec genesia |
* |
* Revision 1.3 2003/12/05 14:35:41 alex |
* en cours |
* |
* Revision 1.2 2003/11/24 15:19:52 jpm |
* Mise en conformité avec la convention de codage. |
* |
* +--Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/tags/v4.0-djer/papyrus/configuration |
---|
New file |
Property changes: |
Added: svn:ignore |
+pap_config.inc.php |
/tags/v4.0-djer/papyrus/documentation/modele/images/modele_papyrus_general.png |
---|
New file |
0,0 → 1,2618 |
PNG |
+IHDR â 5 = IDATxìÝlWº8üÇ+s5Â+ |
+®Á5¸æÉ®T ÀÔ5@!B!B!Ðݲ\QNÓ+;B!z -WTeïµq[¸×d×8÷;v5±ë@!ÐâQ¤R)Å!B!(ËU·®Ý(³QÉqS$IJ¼J)©R;'Ëôü0v]nÚ=Õ5($ ¥¤ s]^º;Ô° UU¨¤Ä®ÖÈIJ |
+Çb¼ (ãj_0̼Y3ð47³³ìr6Û{ï3µÚ¸úª@°ïHT:û^}fÌ{»Cö÷l³odÁÃ^ØcD!BÝ»J¦}ÊävËüÑP¶qìz.ýÞ{]Ë:Ûï\C1S¥¤H Ð$!¤Jä´åô²ó?.B-iú øÄ/ª8ÃË&¶%!6|ÂöY¹eS[ ç°Î8ûý,·×Õê +ÃßáAÅ4"LèÙ%óia¡ÂÎMÍ/ì1"B!îM |
+ âÆ?ËM!ÐB]BWiJJBD jÆ2B!î ÊT*%}Î9(VèlMáç*c9:äämM\v3zÍfó\fCåö-ú²ÛÌÖ ýBt¿µÄø¿ÍOÎgî¦;öB#B!Bè^Êl ,*%IRâUªä¾PrßEî*Ù5¹c]Þ÷õÜ»¦ @I$¡Tºü,¾4j bÈ&D*ðÐ}k¹¢*J)ôÓìt ¸×Üãk e_KÓ®&vÝmÍ3So¼4½ï÷>ý6]Þûä¦(%h¹ð>òE(v¦v«¥ ¼¿÷ß0ò_ù8¡*Ía]©í¥"Ás1Q"PÁèÝlxQçR,ú:"Ä P¬~Q·zn_ H,è;Mìï /üˬ}¿ SôÆú²fð«!À¬Ò¶TK¦âuæÍLÁ°c}þ0e°5d.WÄþì3FÛv¶tØÞ|é*Ü.«¥¦FÖOð bÀ®Ö_I¡3£Hõ~8<<Ì B©YË\èhxr¹þÔB!B·e¹¢êÚ?F; |
+ôp$¨ëÚçxããG^*°ÝöSdO6b¶Ý§+ªn]+wÇR¹b·uqnwR¹÷rî½| w¦w |
+bäthð(eÛÞ>r2¦ÛlbW2ÅÂæ^äBGà ÀãÎz8E¶¿kóþÞgÚ_>v|0äL¿52 O?clMgr%kØbÈ['} |
+;M&q!t<}i®?5B!ÐmJ¥RÂU~±£@~ê?6<Ï "^"RÀöSprÛ´ívJ´ÐýKÂ-,HØûÕ;=ßeÕ |
+³5½×2Q«Þ?Hnr¹Ð0Y@³!7 UÂðßÄìÆ×ì |
+ÕÓö£Rèä0!¢ |
+]%BÐw$S«gfíé»a êOþí0l1¥§FµÓ Ià pªÉ¡Ås³ |
+ ~%p/óú-öY,Éäÿgrx¦Ê©ÑT%À>y÷ B!*Rf¾ñóÙ?wÿ©ß¤aã±swWöÕÀzýÁN¾·¤Ñ°'½wÐ}xÈ¿47·4»¶u¯k9Üâ=Õ_Ë #/ٶٶröÔùso|¥}ªñ&_Ã;S¿lj}¥$Mð]¤¾ZJIÞ·dÉ65Ù¿v÷½7»N¯Í£ÿk JUlIR h |
+!B!tÛ |
+V5]l_SÉÄÇTè.âã²õ(o}ÓT«cq) H |
+z ½U¥\2·Lf·Â`ïó |ìN~ñÞeHí}.Ë¡Ä©RR$I hAIAR%@rú2BE(ó¦å^51|}Äð¬d !òßDìÞ¡ |
+^ÐRJÿÛ¹Ðý©xûE¶ÀgãN3·¥¿x2ÉܸGëBä«0L~1éoË4üUн ú,lÚªg@SÕBÍ?Ìe |
+OuÆóº¼Ê° |
+OG"GN©#)b|ÇçÕ½1>Ëú?²;7gjÓÎþXçúSC!B-lµsé®z |
+o¸¬)Y.ÐxT Æêìß´ûåêæßܯ{¤ö}7 EöÝ\òfÜtek¼x^z÷;·ï=Ø5¥¤IR.ý(ÚúoÚÈÄ bH@2&K>"tßR(7þYn |
+YîÐ%)t Öª¤!D$¢b$7/8§Ô&z¨dKxͱ1ï3ÿ{$|:HP§ÓØvk>ÈLÑí´È_?!I`ª9óoó¿ä)¼ýÊü¢æÜP(£Ûj^1oÑOÂ(5kØbbãßÁPvÖÓÒ¿F B7_«¡ñ"` K-úEì*e{~ ÷²ixñ%÷±ùû[³ |
+}âãß°Ø©_HÝk&ù¿ú]±¼Z8ÂBø«p^^õ¬É¤@©9ãv½p4\öpB!BwH69««á1°nÌ<Ç3¯Vh àâè(ùËL]â¹ôäîT¦å´Ö |
+T¹ÝËÌñ°¸½SÝWUõGGMªüÖ¹½CÃ/}ìå¸3½S ¤HP³\øVШ "q2È×G±Ú*F7Ý¿¤b¢ZíÈ<%×þ£G!BhQ0À |
+W3 (cZë><êÞ¬aãW]{\ÃãRº$oÞ§jð½kUS$ð£ëõèß} PõhMïß4©h R°æ G¶NI¡æ±ºß)Ó:66ìÛfï;ÿs£fÕxã md-ð¡LÔÂû&"UÚmM=§\[õâX¸½É§Ù&ºs¼_¡1ɸF-$@J>. $ É$& |