/trunk/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 ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/trunk/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 ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/trunk/papyrus/applications/plan/plan.php |
---|
19,7 → 19,7 |
// | 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.4 2005-10-14 11:49:51 alexandre_tb Exp $ |
// CVS : $Id: plan.php,v 1.5 2006-03-02 10:49:49 ddelon Exp $ |
/** |
* Application réalisant le plan d'un site web géré par Papyrus. |
* |
33,7 → 33,7 |
//Autres auteurs : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.4 $ $Date: 2005-10-14 11:49:51 $ |
*@version $Revision: 1.5 $ $Date: 2006-03-02 10:49:49 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
44,6 → 44,16 |
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 | |
// +------------------------------------------------------------------------------------------------------+ |
74,10 → 84,10 |
// 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 du site'.'</h1>'."\n"; |
$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 des sites'.'</h1>'."\n"; |
$retour .= '<h1 id="titre_page">'.PLAN_PLAN_DES_SITES.'</h1>'."\n"; |
} |
foreach ($aso_sites as $cle => $site) { |
154,6 → 164,12 |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* 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. |
/trunk/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 ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/trunk/papyrus/applications/admin_menu/bibliotheque/adme_general.fonct.php |
---|
32,7 → 32,7 |
// pris connaissance de la licence CeCILL, et que vous en avez accepté les |
// termes. |
// ---- |
// CVS : $Id: adme_general.fonct.php,v 1.11 2005-07-18 16:14:32 ddelon Exp $ |
// CVS : $Id: adme_general.fonct.php,v 1.12 2006-03-02 10:49:49 ddelon Exp $ |
/** |
* Contient l'affichage par défaut de l'appli quand aucune actin |
* |
46,7 → 46,7 |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.11 $ $Date: 2005-07-18 16:14:32 $ |
*@version $Revision: 1.12 $ $Date: 2006-03-02 10:49:49 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
68,20 → 68,125 |
*/ |
function ADME_afficherFormPrincipal($objet_pear_db, $objet_pear_url, $adme_site_id, $adme_menu_id, $adme_action) |
{ |
$id_langue = $_GEN_commun['i18n'];//identifiant de la langue choisie |
//--------------------------------------------------------------------------------------------------------------- |
// Nous affichons la liste des menus classiques et communs |
$retour = ''; |
// Liste des sites principaux |
$requete = 'SELECT gs_id_site, gs_code_alpha, gs_nom '. |
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 = 102 '.// 102 = site "principal" |
'AND gsr_id_site_01 = gs_id_site '. |
'AND gs_ce_i18n = "'.$langue_test.'" '. |
'ORDER BY gsr_ordre DESC'; |
$resultat = $objet_pear_db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '' ; |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
$liste_site=array(); |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) { |
// 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(); |
// 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 = 102 '.// 102 = site "principal" |
'AND gs_ce_i18n = "'.GEN_I18N_ID_DEFAUT.'" '. |
'ORDER BY gsr_ordre DESC'; |
$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_OBJECT)) { |
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(); |
} |
//--------------------------------------------------------------------------------------------------------------- |
// Création du formulaire |
// Notes : Quickform semble remplacer les & des & à nouveau par des & solution utiliser str_replace()... |
100,7 → 205,7 |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_SITE_CHOIX.'</label>'; |
$objet_select = new HTML_QuickForm_select($id, $label, '', $aso_attributs); |
$aso_options = array(); |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) { |
foreach ($liste_site as $ligne ) { |
if (!isset($adme_site_id) || $adme_site_id == 0) { |
$adme_site_id = $ligne->gs_id_site; |
} |
166,6 → 271,12 |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* 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 |
* |
/trunk/papyrus/applications/admin_menu/bibliotheque/adme_menu_classique.fonct.php |
---|
32,7 → 32,7 |
// pris connaissance de la licence CeCILL, et que vous en avez accepté les |
// termes. |
// ---- |
// CVS : $Id: adme_menu_classique.fonct.php,v 1.24 2005-09-23 13:58:07 ddelon Exp $ |
// CVS : $Id: adme_menu_classique.fonct.php,v 1.25 2006-03-02 10:49:49 ddelon Exp $ |
/** |
* Fonctions de gestion des menus classiques |
* |
48,7 → 48,7 |
*@author Alexandre GRANIER <alexandre@tela-botanica.org> |
*@author Laurent COUDOUNEAU <lc@gsite.org> |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.24 $ $Date: 2005-09-23 13:58:07 $ |
*@version $Revision: 1.25 $ $Date: 2006-03-02 10:49:49 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
164,7 → 164,7 |
* @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) |
function ADME_retournerXhtmlMenuClassique($db, $url, $adme_site_id, $adme_menu_id, $int_deplier,$est_traduction=false) |
{ |
//------------------------------------------------------------------------------------------------------------------- |
// Initialisation des variables |
228,46 → 228,60 |
//------------------------------------------------------------------------------------------------------------------- |
// 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'); |
$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"; |
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->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'); |
$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'); |
$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"; |
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)) { |
if (!isset($ligne_app->gap_id_application)) { |
$gap_id_application=0; |
} |
else { |
281,9 → 295,39 |
'</a>'.' '."\n"; |
} |
if (!$est_traduction) { |
$url->addQueryString('adme_action',ADME_LG_ACTION_CLASSIQUE_TRADUIRE); |
$xhtml_action .= '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_CLASSIQUE_TRADUIRE_TITLE.'">'. |
'<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_LANGUES.'" alt="'.ADME_LG_ACTION_CLASSIQUE_TRADUIRE_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)) |
: ''; |
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)."</em>"; |
} |
//------------------------------------------------------------------------------------------------------------------- |
// Envoi du menu. |
$retour = $xhtml_pd.$xhtml_info.$xhtml_action; |
$retour = $xhtml_pd.$xhtml_info.$xhtml_action.$xhtml_traduction; |
return $retour; |
} |
415,15 → 459,15 |
* @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) |
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); |
// Nous sommes toujours en modification car un menu est ajouter automatiquement! |
// 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])) { |
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 />'. |
442,8 → 486,15 |
} |
// Titre de la page |
$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"; |
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()... |
522,6 → 573,25 |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_APPLI.'</label>'; |
$form->addElement('select', $id, $label, $aso_options, $aso_attributs); |
if ($traduction) { |
$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>'; |
656,29 → 726,42 |
$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); |
// 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)); |
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); |
} |
$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); |
$form->addElement('submit', ADME_LG_ACTION_CLASSIQUE_VERIFIER, ADME_LG_FORM_MENU_VALIDER); |
if ($traduction) { |
$form->addElement('submit', ADME_LG_ACTION_CLASSIQUE_VERIFIER_TRADUCTION, ADME_LG_FORM_MENU_VALIDER); |
$form->addElement('hidden', 'adme_site_id', $adme_site_id); |
} |
else { |
$form->addElement('submit', ADME_LG_ACTION_CLASSIQUE_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); |
707,20 → 790,37 |
$message = ''; |
if ($aso_valeurs['gm_code_alpha'] == '') { |
$message .= '<p class="pap_erreur">'.ADME_LG_FORM_MENU_REGLE_CODE_ALPHA.'</p>'; |
} else { |
// Requete pour vérifier l'abscence du code alphanumérique de la table gen_menu |
if (GEN_verifierPresenceCodeMenu($db, 'string', $aso_valeurs['gm_id_menu'], $aso_valeurs['gm_code_alpha']) === true) { |
$message .= '<p class="pap_erreur">'.sprintf(ADME_LG_ERREUR_CODE_ALPHA, $aso_valeurs['gm_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>'; |
} else { |
// Requete pour vérifier l'abscence du code numérique de la table gen_menu |
if (GEN_verifierPresenceCodeMenu($db, 'int', $aso_valeurs['gm_id_menu'], $aso_valeurs['gm_code_num']) === true) { |
$message .= '<p class="pap_erreur">'.sprintf(ADME_LG_ERREUR_CODE_NUM, $aso_valeurs['gm_code_num']).'</p>'; |
} |
} |
} |
if ($aso_valeurs['gm_nom'] == '') { |
$message .= '<p class="pap_erreur">'.ADME_LG_FORM_MENU_REGLE_NOM.'</p>'; |
} |
730,6 → 830,8 |
return $message; |
} |
/** Fonction ADME_modifierMenuClassique() - Met à jour les infos d'un menu classique |
* |
* Fonction modifiant un menu commun à Papyrus. |
913,6 → 1015,137 |
} |
/** 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 |
* |
1172,6 → 1405,45 |
(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) |
{ |
$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)) : ''; |
} |
// +------------------------------------------------------------------------------------------------------+ |
// | PIED du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
1180,6 → 1452,12 |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* 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 |
* |
/trunk/papyrus/applications/admin_menu/langues/adme_langue_fr.inc.php |
---|
32,7 → 32,7 |
// pris connaissance de la licence CeCILL, et que vous en avez accepté les |
// termes. |
// ---- |
// CVS : $Id: adme_langue_fr.inc.php,v 1.7 2005-07-18 16:14:32 ddelon Exp $ |
// CVS : $Id: adme_langue_fr.inc.php,v 1.8 2006-03-02 10:49:49 ddelon Exp $ |
/** |
* Gestion des langues de l'application ADME |
* |
45,7 → 45,7 |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.7 $ $Date: 2005-07-18 16:14:32 $ |
*@version $Revision: 1.8 $ $Date: 2006-03-02 10:49:49 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
89,10 → 89,18 |
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_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'); |
120,6 → 128,10 |
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_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'); |
156,6 → 168,9 |
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 : '); |
228,6 → 243,12 |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* 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 |
* |
/trunk/papyrus/applications/admin_menu/admin_menu.php |
---|
32,7 → 32,7 |
// pris connaissance de la licence CeCILL, et que vous en avez accepté les |
// termes. |
// ---- |
// CVS : $Id: admin_menu.php,v 1.18 2005-09-23 15:27:17 florian Exp $ |
// CVS : $Id: admin_menu.php,v 1.19 2006-03-02 10:49:49 ddelon Exp $ |
/** |
* Application gérant les menus de Papyrus |
* |
46,7 → 46,7 |
*@author Alexandre GRANIER <alexandre@tela-botanica.org> |
*@author Laurent COUDOUNEAU <lc@gsite.org> |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.18 $ $Date: 2005-09-23 15:27:17 $ |
*@version $Revision: 1.19 $ $Date: 2006-03-02 10:49:49 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
118,7 → 118,6 |
if (isset($GLOBALS['_GEN_commun']['url_menu'])) { |
$url_menu = $GLOBALS['_GEN_commun']['url_menu']; |
} |
$url_i18n = $GLOBALS['_GEN_commun']['url_i18n']; |
if (isset($_POST['adme_site_id'])) { |
$_GET['adme_site_id'] = $_POST['adme_site_id']; |
} else { |
143,6 → 142,7 |
$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_CLASSIQUE_VERIFIER])) { |
// Nous cherchons à enregistrer une modification de menu |
$message = ADME_validerFormAjouterMenuClassique($objet_pear_db, $_POST); |
149,7 → 149,7 |
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_afficherFormMenuClassique($objet_pear_db, $objet_pear_url, $_GET['adme_menu_id'], $_POST); |
$sortie_xhtml .= ADME_afficherFormMenuClassique($objet_pear_db, $objet_pear_url, $_GET['adme_site_id'], $_GET['adme_menu_id'], $_POST); |
return $sortie_xhtml; |
} else { |
// Les données sont valide. Nous les enregistrons et retournons au formulaire de départ. |
177,6 → 177,28 |
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) { |
$sortie_xhtml .= ADME_afficherFormMenuClassique($objet_pear_db, $objet_pear_url, $_GET['adme_site_id'], $_GET['adme_menu_id'], $_POST,TRUE); |
return $sortie_xhtml; |
//ADME_traduireMenuClassique($objet_pear_db, $_GET['adme_site_id'], $_GET['adme_menu_id'], false); |
} |
if (isset($_POST[ADME_LG_ACTION_CLASSIQUE_VERIFIER_TRADUCTION])) { |
// Nous cherchons à enregistrer une traduction de menu |
$message = ADME_validerFormTraduireMenuClassique($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_afficherFormMenuClassique($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_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) { |
// Récupération du menu de remplacement pour éviter de fermer l'arborescence |
191,6 → 213,14 |
$_GET['adme_menu_id'] = $adme_menu_id_remplacement; |
} |
// 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']); |
} |
//--------------------------------------------------------------------------------------------------------------- |
// GESTION DES MENUS COMMUNS |
298,6 → 328,15 |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* 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 |
* |
/trunk/papyrus/applications/admin_site/bibliotheque/adsi_site.fonct.php |
---|
19,7 → 19,7 |
// | 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.25 2005-10-17 13:48:59 jp_milcent Exp $ |
// CVS : $Id: adsi_site.fonct.php,v 1.26 2006-03-02 10:49:49 ddelon Exp $ |
/** |
* Bibliothèque de fonctions d'admininistration des projets |
* |
34,7 → 34,7 |
*@author Alexandre GRANIER <alexandre@tela-botanica.org> |
*@author Laurent COUDOUNEAU <lc@gsite.org> |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.25 $ $Date: 2005-10-17 13:48:59 $ |
*@version $Revision: 1.26 $ $Date: 2006-03-02 10:49:49 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
60,17 → 60,132 |
*/ |
function ADMIN_afficherFormListeSites(&$db, $url, $message = '') |
{ |
// Liste des sites principaux |
$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 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(); |
} |
//---------------------------------------------------------------------------- |
// Création du formulaire |
$form =& new HTML_QuickForm('form_sites', 'post', str_replace('&', '&', $url)); |
89,8 → 204,26 |
$form->addElement('html', $partie_site_debut); |
$aso_options = array(); |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) { |
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(); |
} |
$resultat->free(); |
115,6 → 248,11 |
$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 ?'.'\');'); |
168,22 → 306,57 |
// Initialisation des valeurs |
$sortie = ''; |
$aso_valeurs['modification'] = false; |
$aso_valeurs['traduction'] = false; |
$aso_valeurs['defaut'] = false; |
$aso_valeurs['type_site_externe'] = 0; |
// Nous cherchons à savoir si nous somme en modification |
if (isset($aso_valeurs['form_sites_modifier'])) { |
$site_id = $aso_valeurs['form_sites_id_site']; |
// Requete pour récupérer les informations sur le site à 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); |
$resultat->free(); |
if ((isset($aso_valeurs['form_sites_modifier'])) || (isset($aso_valeurs['form_sites_traduire']))) { |
if ((isset($aso_valeurs['form_sites_modifier']))) { |
$as_val['modification'] = true; |
} |
else { |
$as_val['traduction'] = true; |
}; |
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 récupérer les informations sur le site à 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 récupérer les informations issues des relations du site à modifier |
$requete = 'SELECT * '. |
'FROM gen_site_relation '. |
207,7 → 380,15 |
} |
$resultat->free(); |
$aso_valeurs['modification'] = true; |
if (($as_val['modification'])) { |
$aso_valeurs['modification'] = true; |
} |
else { |
$aso_valeurs['traduction'] = true; |
}; |
} else if (isset($aso_valeurs['gs_id_site'])) { |
$aso_valeurs['modification'] = true; |
} |
215,7 → 396,7 |
//$GLOBALS['_DEBOGAGE_'] .= '<pre>'.print_r($aso_valeurs, true).'</pre>'; |
//------------------------------------------------------------------------------------------------------------------- |
// Information précédent le formulaire (en modification) |
if (isset($aso_valeurs['modification'])&&isset($aso_valeurs['gs_id_site'])) { |
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"; |
} |
//------------------------------------------------------------------------------------------------------------------- |
240,8 → 421,10 |
$partie_site_debut = '<fieldset>'."\n".'<legend>Configuration du site</legend>'."\n".'<ul>'."\n"; |
$form->addElement('html', $partie_site_debut); |
if ($aso_valeurs['modification']) { |
if ($aso_valeurs['modification'] || $aso_valeurs['traduction']) { |
$form->addElement('hidden', 'gs_id_site'); |
$form->addElement('hidden', 'modification'); |
$form->addElement('hidden', 'traduction'); |
} |
$id = 'gs_nom'; |
292,9 → 475,9 |
$label = '<label for="'.$id.'">'.'Identification : '.'</label>'; |
$form->addElement('select', $id, $label, $aso_options, $aso_attributs); |
// En modification nous affichons la liste des squelettes disponiblent dans |
// En modification nous affichons la liste des squelettes disponibles dans |
// le dossier du site. |
if ($aso_valeurs['modification']) { |
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. |
350,8 → 533,48 |
} |
// Requete pour connaitre les internationalisation dispo |
$requete = 'SELECT * '. |
'FROM gen_i18n '; |
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."'"; |
} |
$not_in_langue=' gi_id_i18n not in('.$not_in_langue.$end.')'; |
} |
$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) ); |
398,8 → 621,8 |
$form->addElement('html', $partie_entete_debut); |
$id = 'gs_titre'; |
$aso_attributs = array('id'=>$id, 'tabindex' => $tab_index++, 'size' => 45, 'maxlength' => 255, 'value' => 'titre du site'); |
$label = '<label for="'.$id.'">'.'Titre du site : '.'</label>'; |
$aso_attributs = array('id'=>$id, 'tabindex' => $tab_index++, 'size' => 45, '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'); |
428,7 → 651,7 |
$partie_entete_fin = '</ul>'."\n".'</fieldset>'."\n"; |
$form->addElement('html', $partie_entete_fin); |
if ($aso_valeurs['modification']) { |
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 '. |
447,9 → 670,15 |
} |
// Titre de la page: |
$titre = 'Modifier un site'; |
// Bouton validant le formulaire |
$bouton_validation = '<input type="submit" id="site_modifier" name="site_modifier" value="Enregistrer" />'; |
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'; |
515,28 → 744,40 |
$message .= '<p class="pap_erreur">Le champ "Code numérique" doit contenir un nombre.</p>'; |
} |
// Requete pour vérifier l'abscence du code numérique et alphanumérique de la table gen_site |
$requete = 'SELECT gs_code_alpha, gs_code_num '. |
'FROM gen_site, gen_site_relation '. |
'WHERE gsr_id_site_01 = gsr_id_site_02 '. |
'AND gsr_id_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'] : ''; |
// Requete pour vérifier l'absence du code numérique et alphanumérique de la table gen_site |
// en mode creation uniquement ! |
$resultat = $db->query($requete); |
if (DB::isError($resultat)) { |
die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) ); |
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(); |
} |
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>'; |
} |
else { |
// Refuser si plus de traduction disponible ! |
} |
$resultat->free(); |
if (empty($aso_valeurs['gs_titre'])) { |
$message .= '<p class="pap_erreur">Le champ "Titre" ne doit pas être vide.</p>'; |
797,6 → 1038,305 |
return $message; |
} |
/** Fonction ADMIN_traduireSite() - Traduire un site papyrus |
* |
* Cette fonction traduit un 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_traduireSite(&$db, $aso_valeurs, $id_admin) |
{ |
// 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" |
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 répertoires des sites "principaux" soit par manipulation de fichier soit par FTP en fonction de la constante définie |
// par l'utilisateur dans le fichier de config avancée. |
$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" |
// 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_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha']) ; |
//$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 />'. |
'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; |
} |
$objet_pear_ftp->disconnect(); |
} |
$id_site = SQL_obtenirNouveauId($db, 'gen_site','gs_id_site'); |
if ($id_site == false) { |
$message = '<p class="erreur"> ERREUR Génésia admin : impossible de récupérer un identifiant pour la table gen_site.<br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br /></p>'; |
return $message; |
} |
// 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. |
1164,6 → 1704,15 |
// +- Fin du code source --------------------------------------------------------------------------------+ |
/* |
* $Log: not supported by cvs2svn $ |
* 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 |
* |
/trunk/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 ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/trunk/papyrus/applications/admin_site/langues/adsi_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: adsi_langue_fr.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', 'Titre du site'); |
/* +--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 ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/trunk/papyrus/applications/admin_site/admin_site.php |
---|
40,17 → 40,16 |
*@author Alexandre GRANIER <alexandre@tela-botanica.org> |
*@author Laurent COUDOUNEAU <lc@gsite.org> |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.9 $ $Date: 2005-04-08 13:28:43 $ |
*@version $Revision: 1.10 $ $Date: 2006-03-02 10:49:49 $ |
// +------------------------------------------------------------------------------------------------------+ |
// |
// $Id: admin_site.php,v 1.9 2005-04-08 13:28:43 jpm Exp $ |
// $Id: admin_site.php,v 1.10 2006-03-02 10:49:49 ddelon Exp $ |
// FICHIER : $RCSfile: admin_site.php,v $ |
// AUTEUR : $Author: jpm $ |
// VERSION : $Revision: 1.9 $ |
// DATE : $Date: 2005-04-08 13:28:43 $ |
// AUTEUR : $Author: ddelon $ |
// VERSION : $Revision: 1.10 $ |
// DATE : $Date: 2006-03-02 10:49:49 $ |
// +------------------------------------------------------------------------------------------------------+ |
**/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
60,6 → 59,15 |
/** 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'; |
87,6 → 95,8 |
/** 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'; |
99,6 → 109,7 |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/** Fonction afficherContenuTete() - Fonction appelé par le gestionnaire Papyrus. |
* |
* Elle retourne l'entête de l'application.. |
119,6 → 130,7 |
*/ |
function afficherContenuCorps() |
{ |
// +----------------------------------------------------------------------------------------------+ |
// Initialisation des variables |
238,25 → 250,26 |
} |
return $sortie_xhtml; |
} else if (isset($_POST['form_sites_traduire'])) { |
// Nous cherchons à modifier un site |
// 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 { |
// Les données sont valide. Nous supprimons et retournons au formulaire de départ. |
$sortie_xhtml .= ADMIN_afficherFormTraduireSite($GLOBALS['_GEN_commun']['pear_db'], $url, $_POST, $message); |
// 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['form_trad_site_enregistrer'])) { |
// Nous cherchons à enregistrer la traduction d'un site |
$message = ADMIN_validerFormTraduireSite($GLOBALS['_GEN_commun']['pear_db'], $_POST); |
} 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_afficherFormModifierSite($GLOBALS['_GEN_commun']['pear_db'], $url, $message); |
$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_enregistrerFormModifierSite($GLOBALS['_GEN_commun']['pear_db'], $_POST); |
$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; |
294,6 → 307,15 |
/* +--Fin du code ---------------------------------------------------------------------------------------+ |
* $Log: not supported by cvs2svn $ |
* 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. |
* |
/trunk/papyrus/applications/admin_site/configuration/adsi_configuration.inc.php |
---|
19,7 → 19,7 |
// | 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.3 2005-02-28 10:59:38 jpm Exp $ |
// CVS : $Id: adsi_configuration.inc.php,v 1.4 2006-03-02 10:49:49 ddelon Exp $ |
/** |
* Fichier de configuration général de l'application Administrateur de sites. |
* |
33,7 → 33,7 |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.3 $ $Date: 2005-02-28 10:59:38 $ |
*@version $Revision: 1.4 $ $Date: 2006-03-02 10:49:49 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
55,10 → 55,21 |
/** <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/'); |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* 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. |
* |
/trunk/papyrus/applications/afficheur/afficheur.admin.php |
---|
19,7 → 19,7 |
// | 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.7 2005-07-18 08:53:14 ddelon Exp $ |
// CVS : $Id: afficheur.admin.php,v 1.8 2006-03-02 10:49:49 ddelon Exp $ |
/** |
* Gestion de la rédaction du contenu pour Papyrus. |
* |
32,7 → 32,7 |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.7 $ $Date: 2005-07-18 08:53:14 $ |
*@version $Revision: 1.8 $ $Date: 2006-03-02 10:49:49 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
107,6 → 107,7 |
//------------------------------------------------------------------------------------------------------------------- |
// 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 />'. |
114,12 → 115,39 |
'Fichier n° : '. __FILE__ .'<br />'); |
} |
// Requête sur les applications |
$requete = 'SELECT * '. |
'FROM gen_menu_contenu '. |
'WHERE gmc_ce_menu = '.$adme_menu_id.' '. |
'AND gmc_bool_dernier = 1 '; |
$resultat = $db->query($requete); |
$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 du dernier contenu : cas d'un traduction |
$requete = 'SELECT gmc_contenu , gmc_ce_type_contenu '. |
'FROM gen_menu_contenu '. |
'WHERE truncate((gmc_ce_type_contenu/10),0) = '. $adme_menu_id . ' '. |
'AND gmc_bool_dernier = 1'; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
if ( $resultat->numRows() == 0 ) { |
$requete = 'SELECT gmc_contenu , gmc_ce_type_contenu '. |
'FROM gen_menu_contenu '. |
'WHERE gmc_ce_menu = '.$adme_menu_id.' '. |
'AND gmc_ce_type_contenu in (1,2) '. |
'AND gmc_bool_dernier = 1'; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
} |
$ligne_dernier_contenu = $resultat->fetchRow(DB_FETCHMODE_ASSOC); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
208,6 → 236,18 |
*/ |
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 />'); |
} |
//------------------------------------------------------------------------------------------------------------------- |
// Mise à jour de l'ancien contenu du menu |
$requete = 'UPDATE gen_menu_contenu SET '. |
221,10 → 261,11 |
//------------------------------------------------------------------------------------------------------------------- |
// Ajout du nouveau contenu pour ce menu |
$tab_valeur['gmc_ce_type_contenu']=$tab_valeur['gmc_ce_type_contenu']+(10*$adme_menu_id); |
$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_menu = '.$ligne_menu['gm_code_num'].', '. |
'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'].', '. |
245,6 → 286,12 |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* 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 |
* |
/trunk/papyrus/applications/afficheur/afficheur.php |
---|
19,7 → 19,7 |
// | 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.5 2005-04-21 16:46:17 jpm Exp $ |
// CVS : $Id: afficheur.php,v 1.6 2006-03-02 10:49:49 ddelon Exp $ |
/** |
* Application réalisant l'affichage du contenu stocké dans Papyrus. |
* |
31,7 → 31,7 |
//Autres auteurs : |
*@author Alexandre GRANIER <alexandrel@tela-botanica.org> |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.5 $ $Date: 2005-04-21 16:46:17 $ |
*@version $Revision: 1.6 $ $Date: 2006-03-02 10:49:49 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
68,39 → 68,114 |
// Initialisation des variable |
$retour = ''; |
//---------------------------------------------------------------------------- |
// Récupération du dernier contenu |
$requete = 'SELECT gmc_contenu, gmc_ce_type_contenu '. |
'FROM gen_menu_contenu '. |
'WHERE gmc_ce_menu = '.$GLOBALS['_AFFICHEUR']['menu_courant_id'].' '. |
'AND gmc_bool_dernier = 1'; |
$id_langue = $GLOBALS['_GEN_commun']['i18n']; |
$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; |
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 />'); |
} |
// Récupération identifiant du menu en cours |
// 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) { |
$retour = $contenu; |
} elseif ($ligne_contenu->gmc_ce_type_contenu == 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'); |
} |
$requete = 'SELECT gm_id_menu '. |
'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); |
// Récupération du dernier contenu : cas d'un traduction |
$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'; |
//print $requete; |
$resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
if ( $resultat->numRows() == 0 ) { |
$requete = 'SELECT gmc_contenu , gmc_ce_type_contenu '. |
'FROM gen_menu_contenu '. |
'WHERE gmc_ce_menu = '.$GLOBALS['_AFFICHEUR']['menu_courant_id'].' '. |
'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)) : ''; |
} |
} |
else { |
$requete = 'SELECT gmc_contenu , gmc_ce_type_contenu '. |
'FROM gen_menu_contenu '. |
'WHERE gmc_ce_menu = '.$GLOBALS['_AFFICHEUR']['menu_courant_id'].' '. |
'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'); |
} |
//---------------------------------------------------------------------------- |
// Renvoie du contenu de la page |
return $retour; |
120,6 → 195,18 |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* 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. |
* |
/trunk/papyrus/configuration/pap_config.inc.php |
---|
New file |
0,0 → 1,34 |
<?php |
// pap_config.inc.php construit le lun 04 jui 2005 12:22:53 CEST |
// ne changez pas la version de Papyrus manuellement! |
define('PAP_VERSION','0.21'); |
define('PAP_BDD_SERVEUR','localhost'); |
define('PAP_BDD_NOM','papyrus'); |
define('PAP_BDD_UTILISATEUR','root'); |
define('PAP_BDD_MOT_DE_PASSE',''); |
define('PAP_DSN', 'mysql://'.PAP_BDD_UTILISATEUR.':'.PAP_BDD_MOT_DE_PASSE.'@'.PAP_BDD_SERVEUR.'/'.PAP_BDD_NOM); |
define('PAP_FTP_SERVEUR','localhost'); |
define('PAP_FTP_PORT','21'); |
define('PAP_FTP_UTILISATEUR','david'); |
define('PAP_FTP_MOT_DE_PASSE','qsdfgh'); |
define('PAP_FTP_RACINE','/papyrus_principal/'); |
define('PAP_URL','http://localhost/~david/papyrus_principal/papyrus.php'); |
define('PAP_CHEMIN_RACINE','/home/david/workspace/papyrus_principal/'); |
define('PAP_URL_REECRITURE',''); |
?> |
/trunk/papyrus/configuration/pap_config_avancee.inc.php |
---|
22,7 → 22,7 |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
// | | |
// +------------------------------------------------------------------------------------------------------+ |
// CVS : $Id: pap_config_avancee.inc.php,v 1.17 2005-09-20 17:01:22 ddelon Exp $ |
// CVS : $Id: pap_config_avancee.inc.php,v 1.18 2006-03-02 10:49:49 ddelon Exp $ |
/** |
* Page de configuration avancée de Papyrus |
* |
36,7 → 36,7 |
*@author Alexandre GRANIER <alex@tela-botanica.org> |
*@author Laurent COUDOUNEAU <laurent.coudouneau@ema.fr> |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.17 $ $Date: 2005-09-20 17:01:22 $ |
*@version $Revision: 1.18 $ $Date: 2006-03-02 10:49:49 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
60,8 → 60,9 |
// +------------------------------------------------------------------------------------------------------+ |
// 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 |
define('GEN_DEBOGAGE', false);// true ou false |
/** 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. |
72,7 → 73,6 |
* applications.*/ |
define('GEN_DEBOGAGE_I18N', 'fr'); |
// +------------------------------------------------------------------------------------------------------+ |
// Paramétrage du nom du champ servant à identifier un site dans l'url |
/** Type du code d'un site passé dans l'url.*/ |
127,8 → 127,6 |
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 des wikini*/ |
define('GEN_CHEMIN_WIKINI', 'wikini'.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.*/ |
171,7 → 169,10 |
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.*/ |
198,12 → 199,9 |
); |
/* +--Fin du code ---------------------------------------------------------------------------------------+ |
* $Log: not supported by cvs2svn $ |
* Revision 1.16 2005/08/31 17:34:52 ddelon |
* Integrateur Wikini et administration des Wikini |
* Revision 1.17.2.1 2005/12/01 23:31:57 ddelon |
* Merge Head vers multilinguisme |
* |
* Revision 1.15 2005/04/21 16:46:51 jpm |
* Gestion via Papyrus du XHTML de Text_Wiki_Papyrus. |
* |
* Revision 1.14 2005/04/18 16:40:39 jpm |
* Ajout de constantes pour contrôler les permaliens. |
* |
/trunk/papyrus/pap_rendu.inc.php |
---|
32,7 → 32,7 |
// pris connaissance de la licence CeCILL, et que vous en avez accepté les |
// termes. |
// ---- |
// CVS : $Id: pap_rendu.inc.php,v 1.25 2005-12-09 15:07:07 florian Exp $ |
// CVS : $Id: pap_rendu.inc.php,v 1.26 2006-03-02 10:49:49 ddelon Exp $ |
/** |
* Rendu : programme traitant l'url demandée et retournant la page compressé au navigateur. |
* |
48,7 → 48,7 |
*@author Alexandre GRANIER <alexandre@tela-botanica.org> |
*@author Laurent COUDOUNEAU <laurent.coudouneau@ema.fr> |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.25 $ $Date: 2005-12-09 15:07:07 $ |
*@version $Revision: 1.26 $ $Date: 2006-03-02 10:49:49 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
155,6 → 155,13 |
$GLOBALS['_PAPYRUS_']['page']['code_alpha_site'] = htmlentities($GLOBALS['_GEN_commun']['info_site']->gs_code_alpha); |
$GLOBALS['_PAPYRUS_']['rendu']['SITE_CODE_ALPHA'] = $GLOBALS['_PAPYRUS_']['page']['code_alpha_site']; |
//Construction des infos sur le contexte d'affichage de la page |
$une_url =& new Pap_URL(); |
$une_url->addqueryString("site",$_GEN_commun['url_site']); |
$une_url->removequeryString("langue"); |
$GLOBALS['_PAPYRUS_']['rendu']['PAGE_URL'] = $une_url->getUrl(); |
// Construction des Meta "http-equiv". |
$_GEN_commun['meta_http_equiv'] = array(); |
$GLOBALS['_PAPYRUS_']['page']['jeu_de_caracteres'] = htmlentities(strtoupper($_GEN_commun['info_i18n']->gi_jeu_de_caracteres)); |
532,6 → 539,30 |
/* +--Fin du code ---------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.25 2005/12/09 15:07:07 florian |
* suppression de debogage.css, pour optimiser les performances (c'est intégré dans la feuille de style par défaut dorénavant) |
* |
* Revision 1.24.2.6 2006/03/01 22:28:15 ddelon |
* Balise url page |
* |
* Revision 1.24.2.5 2006/03/01 22:09:49 ddelon |
* Balise url page |
* |
* Revision 1.24.2.4 2006/02/28 15:54:07 ddelon |
* Integration branche principale |
* |
* Revision 1.24.2.3 2006/02/28 14:02:09 ddelon |
* Finition multilinguisme |
* |
* Revision 1.24.2.2 2006/01/19 21:26:20 ddelon |
* Multilinguisme site + bug ftp |
* |
* Revision 1.24.2.1 2005/12/20 14:40:24 ddelon |
* Fusion Head vers Livraison |
* |
* Revision 1.25 2005/12/09 15:07:07 florian |
* suppression de debogage.css, pour optimiser les performances (c'est intégré dans la feuille de style par défaut dorénavant) |
* |
* Revision 1.24 2005/10/21 22:22:16 ddelon |
* projet wikini : fiche synthese |
* |
/trunk/papyrus/bibliotheque/classes/pap_url.class.php |
---|
21,7 → 21,7 |
// | 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_url.class.php,v 1.2 2005-04-18 16:40:50 jpm Exp $ |
// CVS : $Id: pap_url.class.php,v 1.3 2006-03-02 10:49:49 ddelon Exp $ |
/** |
* Classe de gestion des url de Papyrus |
* |
34,7 → 34,7 |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.2 $ $Date: 2005-04-18 16:40:50 $ |
*@version $Revision: 1.3 $ $Date: 2006-03-02 10:49:49 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
182,6 → 182,15 |
*/ |
function getURL() |
{ |
// identifiant de la langue choisie |
if ( (isset($GLOBALS['_GEN_commun']['i18n'])) && (!empty($GLOBALS['_GEN_commun']['i18n'])) ) { |
if ($GLOBALS['_GEN_commun']['i18n']!=GEN_I18N_ID_DEFAUT) { |
$this->addQueryString(GEN_URL_CLE_I18N, $GLOBALS['_GEN_commun']['i18n']); |
} |
} |
// Nous regardons si un id de menu existe |
if ($this->getId() != '') { |
// Préparation des noms des champs des codes pour le site et le menu |
224,10 → 233,6 |
$this->setCodeAlpha($ligne['gm_code_alpha']); |
$this->setCodeNum($ligne['gm_code_num']); |
if ( (isset($GLOBALS['_GEN_commun']['url_i18n'])) && (!empty($GLOBALS['_GEN_commun']['url_i18n'])) ) { |
$this->addQueryString(GEN_URL_CLE_I18N, $GLOBALS['_GEN_commun']['url_i18n']); |
} |
if ( (isset($GLOBALS['_GEN_commun']['url_date'])) && (!empty($GLOBALS['_GEN_commun']['url_date'])) ) { |
$this->addQueryString(GEN_URL_CLE_DATE, $GLOBALS['_GEN_commun']['url_date']); |
} |
320,6 → 325,12 |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.2.2.1 2005/12/27 15:56:00 ddelon |
* Fusion Head vers multilinguisme (wikini double clic) |
* |
* Revision 1.2 2005/04/18 16:40:50 jpm |
* Modifications pour contrôler les permaliens. |
* |
* Revision 1.1 2005/04/14 13:56:25 jpm |
* Ajout de la classe URL de Papyrus. |
* |
/trunk/papyrus/bibliotheque/fonctions/pap_menu.fonct.php |
---|
19,7 → 19,7 |
// | 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_menu.fonct.php,v 1.25 2005-11-08 17:43:46 ddelon Exp $ |
// CVS : $Id: pap_menu.fonct.php,v 1.26 2006-03-02 10:49:49 ddelon Exp $ |
/** |
* Bibliothèque de fonction sur le rendu. |
* |
31,9 → 31,8 |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Alexandre GRANIER <alexadandre@tela-botanica.org> |
*@author Laurent COUDOUNEAU <laurent.coudouneau@ema.fr> |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.25 $ $Date: 2005-11-08 17:43:46 $ |
*@version $Revision: 1.26 $ $Date: 2006-03-02 10:49:49 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
691,6 → 690,12 |
} |
/* +--Fin du code ---------------------------------------------------------------------------------------+ |
* $Log: not supported by cvs2svn $ |
* Revision 1.25.2.1 2005/12/20 14:40:24 ddelon |
* Fusion Head vers Livraison |
* |
* Revision 1.25 2005/11/08 17:43:46 ddelon |
* Bug Nouveaute ne s'affichant pas pour les menu communs |
* |
* Revision 1.24 2005/09/20 17:01:22 ddelon |
* php5 et bugs divers |
* |
/trunk/papyrus/applettes/vous_etes_ici/vous_etes_ici.php |
---|
19,7 → 19,7 |
// | 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.8 2005-09-26 20:18:27 ddelon Exp $ |
// CVS : $Id: vous_etes_ici.php,v 1.9 2006-03-02 10:49:49 ddelon Exp $ |
/** |
* Applette : Vous Etes Ici |
* |
39,7 → 39,7 |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.8 $ $Date: 2005-09-26 20:18:27 $ |
*@version $Revision: 1.9 $ $Date: 2006-03-02 10:49:49 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
98,7 → 98,34 |
// 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 |
// Récupération des infos sur sur l'entrée du menu à afficher |
// GEN_I18N_ID_DEFAUT; |
$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_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); |
// Préparation d'une entrée dans la liste du menu |
$menu_nom = htmlentities($menu_info['gm_nom']); |
162,6 → 189,12 |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* 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 |
* |
/trunk/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 ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/trunk/papyrus/applettes/selecteur_sites/selecteur_sites.php |
---|
19,7 → 19,7 |
// | 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.7 2005-05-25 12:53:00 jpm Exp $ |
// CVS : $Id: selecteur_sites.php,v 1.8 2006-03-02 10:49:49 ddelon Exp $ |
/** |
* Applette : selecteur sites |
* |
40,7 → 40,7 |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.7 $ $Date: 2005-05-25 12:53:00 $ |
*@version $Revision: 1.8 $ $Date: 2006-03-02 10:49:49 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
50,6 → 50,19 |
$_GEN_commun['info_applette_nom_fonction'] = 'afficherSelecteurSite'; |
$_GEN_commun['info_applette_balise'] = 'SELECTEUR_SITES_?(XHTML)?_?(SANS_(?:\d+_?)+)?'; |
/** Inclusion du fichier de configuration de cette applette.*/ |
require_once GEN_CHEMIN_APPLETTE.'selecteur_sites/configuration/sesi_config.inc.php'; |
// Inclusion des fichiers de traduction de l'applette. |
if (file_exists(SESI_CHEMIN_LANGUE.'sesi_langue_'.$_GEN_commun['i18n'].'.inc.php')) { |
/** Inclusion du fichier de traduction suite à la transaction avec le navigateur.*/ |
require_once SESI_CHEMIN_LANGUE.'sesi_langue_'.$_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 | |
// +------------------------------------------------------------------------------------------------------+ |
61,8 → 74,6 |
* |
* 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. |
* L'url renvoyée comporte seulement le nom du site, ainsi la langue par défaut défini |
* par l'utilisateur est employée pour implémenter la variable $_GEN_commun['url_i18n']. |
* 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. |
75,11 → 86,13 |
$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['url_i18n'];//identifiant de la langue principale 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 |
102,29 → 115,135 |
$morceau_requete_id_suppr = 'AND gs_id_site NOT IN ('.$liste_id_suppr.') '; |
} |
// Texte à traduire |
$etiquette_legende = 'Sélecteur de monde'; |
$etiquette_option_defaut = 'Changer de monde'; |
$etiquette_bouton_valider = 'ok'; |
$etiquette_erreur = 'Un seul site disponible dans Papyrus.'; |
// Recherche de tous les sites langue en cours |
// On recherche l'ensemble des sites principaux en excluant le site admin (administration de Génésia). |
$requete = 'SELECT gs_id_site, gs_code_num, gs_code_alpha, gs_nom '. |
// 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 '. |
'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.') '. |
$morceau_requete_id_suppr.// Liste des sites ne devant pas figurer |
'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" |
$retourultat = $objet_pear_db->query($requete); |
(DB::isError($retourultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $retourultat->getMessage(), $requete)) : ''; |
if ( $retourultat->numRows() == 0 ) { |
$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)). |
'<!-- '.$etiquette_erreur.' -->'; |
'<!-- '.SESI_LG_ETIQUETTE_VALIDER.' -->'; |
} else { |
// Préparation de l'url de retour du formulaire |
$objet_pear_url = & new Net_URL($url_base); |
//$objet_pear_url->addQueryString($url_cle_i18n, $id_langue); |
// Préparation du code du sites |
$champs_code_site = ($url_id_type_site == 'int') ? 'gs_code_num' : 'gs_code_alpha'; |
140,34 → 259,14 |
$retour .= str_repeat(' ', $indent_origine + ($indent_pas * 1)). |
'<fieldset>'."\n"; |
$retour .= str_repeat(' ', $indent_origine + ($indent_pas * 2)). |
'<legend>'.$etiquette_legende.'</legend>'."\n"; |
'<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">'.$etiquette_option_defaut.'</option>'."\n"; |
while ($ligne = $retourultat->fetchRow(DB_FETCHMODE_ASSOC)) { |
'<option value="'.$code_site.'" selected="selected">'.SESI_LG_DEFAUT.'</option>'."\n"; |
foreach ($liste_site as $ligne ) { |
// Initialisation des variables |
$nom = ''; |
// Recherche de traduction |
$requete_traduction = 'SELECT gs_ce_i18n, gs_nom '. |
'FROM gen_site, gen_site_relation '. |
'WHERE '.$ligne['gs_id_site'].' = gsr_id_site_01 '. |
'AND gsr_id_valeur = 1 '. // 1 = "avoir traduction" |
'AND gsr_id_site_02 = gs_id_site '. |
'AND gs_ce_i18n = "'.$id_langue.'"'; |
$retourultat_traduction = $objet_pear_db->query($requete_traduction); |
(DB::isError($retourultat_traduction)) |
? die(BOG_afficherErreurSql(__FILE__, __LINE__, $retourultat_traduction->getMessage(), $requete_traduction)) |
: ''; |
if ( $retourultat_traduction->numRows() != 0 ) { |
$ligne_traduction = $retourultat_traduction->fetchRow(DB_FETCHMODE_OBJECT); |
$nom = $ligne_traduction->gs_nom; |
} else { |
$nom = $ligne['gs_nom']; |
} |
$retourultat_traduction->free(); |
$nom = $ligne['gs_nom']; |
$retour .= str_repeat(' ', $indent_origine + ($indent_pas * 3)). |
'<option value="'.$ligne[$champs_code_site].'">'.$nom.'</option>'."\n"; |
} |
174,13 → 273,18 |
$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="'.$etiquette_bouton_valider.'"/>'."\n"; |
'<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"; |
'</form>'."\n"; |
} |
$retourultat->free(); |
return $retour; |
} |
194,6 → 298,21 |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* 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. |
* |
/trunk/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 ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/trunk/papyrus/applettes/selecteur_sites/langues/sesi_langue_fr.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_fr.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', 'Sélecteur de monde'); |
/** Message du texte par defaut */ |
define('SESI_LG_DEFAUT', 'Changer de monde'); |
/** 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.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 ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/trunk/papyrus/applettes/moteur_recherche/moteur_recherche.php |
---|
21,7 → 21,7 |
// | 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.7 2005-09-27 09:07:32 ddelon Exp $ |
// CVS : $Id: moteur_recherche.php,v 1.8 2006-03-02 10:49:49 ddelon Exp $ |
/** |
* Applette : moteur de recherche |
* |
38,7 → 38,7 |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.7 $ $Date: 2005-09-27 09:07:32 $ |
*@version $Revision: 1.8 $ $Date: 2006-03-02 10:49:49 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
73,11 → 73,11 |
if (isset($_POST['more_motif']) && $_POST['more_motif'] != '') { |
// Initialisation de variable extérieures |
$GLOBALS['_VEI_']['usurpation'] = 'Recherche de '.$_POST['more_motif']; |
$GLOBALS['_VEI_']['usurpation'] = MORE_LG_USURPATION.$_POST['more_motif']; |
$GLOBALS['_GEN_commun']['info_menu'] = null; |
$GLOBALS['_PAPYRUS_']['general']['application_chemin'] = null; |
// Titre de la page |
$GLOBALS['_PAPYRUS_']['rendu']['TITRE_PAGE'] = 'Résultat de la recherche de '.$_POST['more_motif']; |
$GLOBALS['_PAPYRUS_']['rendu']['TITRE_PAGE'] = MORE_LG_TITRE.$_POST['more_motif']; |
// 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'); |
115,11 → 115,8 |
$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 |
$code_site = $_GEN_commun['url_site'];// identifiant du site courant. |
$id_langue = $_GEN_commun['url_i18n'];// identifiant de la langue principale du site courant. |
$url = $_GEN_commun['url']; |
$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 |
241,6 → 238,15 |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* 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. |
* |
/trunk/papyrus/applettes/moteur_recherche/langues/more_langue_fr.inc.php |
---|
21,7 → 21,7 |
// | 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.4 2005-10-26 08:14:51 jp_milcent Exp $ |
// CVS : $Id: more_langue_fr.inc.php,v 1.5 2006-03-02 10:49:49 ddelon Exp $ |
/** |
* Gestion des langues de l'applette Moteur_Recherche |
* |
34,7 → 34,7 |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.4 $ $Date: 2005-10-26 08:14:51 $ |
*@version $Revision: 1.5 $ $Date: 2006-03-02 10:49:49 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
55,6 → 55,8 |
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'); |
78,6 → 80,12 |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* 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. |
* |
/trunk/papyrus/applettes/moteur_recherche/langues/more_langue_en.inc.php |
---|
New file |
0,0 → 1,106 |
<?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.2 2006-03-02 10:49:49 ddelon 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.2 $ $Date: 2006-03-02 10:49:49 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | 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'); |
define('MORE_LG_RESULTAT_RACCOURCI', 'Shortcut : '); |
define('MORE_LG_RESULTAT_DESCRIPTION', 'Description : '); |
define('MORE_LG_RESULTAT_DATE_CREATION', 'Creation date : '); |
define('MORE_LG_RESULTAT_POIDS', 'Weight : '); |
define('MORE_LG_RESULTAT_SCORE', 'Accuracy : '); |
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!'); |
// +------------------------------------------------------------------------------------------------------+ |
// | PIED du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* 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 ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/trunk/papyrus/applettes/menu/menu.php |
---|
19,7 → 19,7 |
// | 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.22 2005-09-27 08:42:49 ddelon Exp $ |
// CVS : $Id: menu.php,v 1.23 2006-03-02 10:49:49 ddelon Exp $ |
/** |
* Applette : menu |
* |
38,7 → 38,7 |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.22 $ $Date: 2005-09-27 08:42:49 $ |
*@version $Revision: 1.23 $ $Date: 2006-03-02 10:49:49 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
79,12 → 79,7 |
$id_menu = $_GEN_commun['info_menu']->gm_id_menu; |
} |
$num_menu = $GLOBALS['_PAPYRUS_']['applette']['comptage'][$GLOBALS['_MENU_']['nom_fonction']]; |
$id_langue = $_GEN_commun['i18n']; |
$i18n_url = '';// Evite d'écrire l'i18n dans l'url demandée. |
if (!empty($_GEN_commun['url_i18n'])) { |
// L'écriture de l'i18n dans les urls des menus est demandée. |
$i18n_url = $_GEN_commun['url_i18n']; |
} |
$indent_origine = 12;// Indentation de départ en nombre d'espace |
$indent_pas = 4;// Pas d'indentation en nombre d'espace |
$niveau_depart = 1; |
184,7 → 179,21 |
$retour = ''; |
$tete = ''; |
$corps = ''; |
$pied = ''; |
$pied = ''; |
$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 |
226,7 → 235,8 |
'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 GMR02.gmr_id_menu_01 = GMR02.gmr_id_menu_02 '. |
'AND gm_ce_i18n = "'.GEN_I18N_ID_DEFAUT.'" '; |
$requete .= 'AND GMR01.gmr_id_menu_02 = '.$id_pere_menu_a_deployer.' '; |
if ($menu_type == 'classique' || $menu_type == 'deroulant') { |
243,28 → 253,59 |
$resultat = $objet_pear_db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) { |
$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 commence par regarder si le menu existe dans la langue demandée |
if ($niveau_actuel >= $niveau_depart && $niveau_actuel <= $profondeur) { |
$requete_i18n = 'SELECT gm_id_menu '. |
'FROM gen_menu, gen_menu_relation '. |
'WHERE gmr_id_menu_01 = '.$ligne->gm_id_menu.' '. |
'AND gmr_id_menu_02 = gm_id_menu '. |
'AND gmr_id_valeur = 2 '.// 2 = "avoir traduction" |
'AND gm_ce_i18n = "'.$id_langue.'"'; |
$resultat_i18n = $objet_pear_db->query($requete_i18n); |
(DB::isError($resultat_i18n)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_i18n->getMessage(), $requete_i18n)) : ''; |
// Récupération de l'id du menu à afficher |
if ($resultat_i18n->numRows() != 0) { |
$id_menu_i18n = $resultat_i18n->fetchRow(DB_FETCHMODE_OBJECT); |
$id_menu_inf = $id_menu_i18n->gm_id_menu; |
$resultat_i18n->free(); |
} else { |
$id_menu_inf = $ligne->gm_id_menu; |
} |
$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; |
322,7 → 363,6 |
$resultat_fils->free(); |
} |
} |
$resultat->free(); |
if ($niveau_actuel >= $niveau_depart && $niveau_actuel <= $profondeur) { |
$pied .= str_repeat(' ', $indent_origine + ($indent_pas * $position+ 1)).'</ul>'."\n"; |
353,14 → 393,40 |
* @param integer ordre du menu dans le niveau. |
* @return string liste représentant le menu duHTML |
*/ |
function afficherEntreeListeMenu($db, $menu_id, $i18n_url, $niveau, $ordre, $position, $menu_type, $indent_origine = 12, $indent_pas = 4, $_GEN_commun, $num_menu) |
function afficherEntreeListeMenu($db, $menu_id, $i18n, $niveau, $ordre, $position, $menu_type, $indent_origine = 12, $indent_pas = 4, $_GEN_commun, $num_menu) |
{ |
// GEN_I18N_ID_DEFAUT; |
$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']; |
} |
// 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']); |
$menu_hreflang = htmlentities($menu_info['gm_ce_i18n']); |
$menu_accesskey = ''; |
$raccourci_txt = ''; |
if (($menu_accesskey = htmlentities($menu_info['gm_raccourci_clavier'])) != '') { |
375,11 → 441,13 |
// Préparation de l'url de l'entrée |
$une_url =& new Pap_URL('http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']); |
$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().'" '. |
'hreflang="'.$menu_hreflang.'" '.$menu_texte_title.$menu_accesskey.'>'.$menu_nom.'</a>'."\n"; |
$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; |
} |
391,6 → 459,15 |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* 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 |
* |
/trunk/papyrus/applettes/identification/langues/iden_langue_fr.inc.php |
---|
21,7 → 21,7 |
// | 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.6 2005-12-13 11:13:52 alexandre_tb Exp $ |
// CVS : $Id: iden_langue_fr.inc.php,v 1.7 2006-03-02 10:49:49 ddelon Exp $ |
/** |
* Traduction de l'applette Identification : fr |
* |
34,7 → 34,7 |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2005 |
*@version $Revision: 1.6 $ $Date: 2005-12-13 11:13:52 $ |
*@version $Revision: 1.7 $ $Date: 2006-03-02 10:49:49 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
74,6 → 74,15 |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* 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. |
* |
/trunk/papyrus/applettes/identification/identification.php |
---|
19,7 → 19,7 |
// | 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.20 2005-12-13 11:13:35 alexandre_tb Exp $ |
// CVS : $Id: identification.php,v 1.21 2006-03-02 10:49:49 ddelon Exp $ |
/** |
* Applette : identification |
* |
38,7 → 38,7 |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.20 $ $Date: 2005-12-13 11:13:35 $ |
*@version $Revision: 1.21 $ $Date: 2006-03-02 10:49:49 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
214,6 → 214,15 |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* 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 |
* |
/trunk/papyrus/installation/papyrus_v0.1.sql |
---|
496,4 → 496,5 |
INSERT INTO `gen_site_relation` VALUES (1, 1, 101, NULL); |
INSERT INTO `gen_site_relation` VALUES (1, 1, 102, 1); |
INSERT INTO `gen_site_relation` VALUES (1, 2, 1, 1); |
-- Pas de traduction à l'installation ! |
-- INSERT INTO `gen_site_relation` VALUES (1, 2, 1, 1); |
/trunk/papyrus/pap_initialise_info.inc.php |
---|
21,7 → 21,7 |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
// | | |
// +------------------------------------------------------------------------------------------------------+ |
// CVS : $Id: pap_initialise_info.inc.php,v 1.23 2005-09-22 14:02:49 ddelon Exp $ |
// CVS : $Id: pap_initialise_info.inc.php,v 1.24 2006-03-02 10:49:49 ddelon Exp $ |
/** |
*Initialisation de Papyrus : vérification et récupération de paramètres généraux. |
* |
41,7 → 41,7 |
*@author Alexandre GRANIER <alex@tela-botanica.org> |
*@author Laurent COUDOUNEAU <laurent.coudouneau@ema.fr> |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.23 $ $Date: 2005-09-22 14:02:49 $ |
*@version $Revision: 1.24 $ $Date: 2006-03-02 10:49:49 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
62,8 → 62,9 |
// +------------------------------------------------------------------------------------------------------+ |
// +------------------------------------------------------------------------------------------------------+ |
// Gestion des sites : disponiblent sur le serveur courant. |
// 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.* '. |
74,12 → 75,12 |
'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 |
99,9 → 100,9 |
} 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])) ) { |
// Le code du menu est présent dans l'url mais pas celui du site |
// Nou$s récupérons les infos du menu et du sites dans la variable globale de Papyrus. |
// 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 * '. |
115,7 → 116,7 |
(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) { |
126,10 → 127,10 |
'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 |
142,10 → 143,10 |
'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 |
155,7 → 156,7 |
} 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 '. |
166,7 → 167,7 |
$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); |
189,66 → 190,17 |
exit(0); |
} |
// +------------------------------------------------------------------------------------------------------+ |
// Gestion de l'internationalisation du site |
// Nous recherchons la valeur de l'internationalisation du site passée dans l'url ou présente |
// dans le navigateur du client. Si nous trouvons pas la langue dans l'url, récupération depuis |
// le navigateur et comparaison aux langues disponibles pour le site demandé. |
// Initialisation de variable : |
$i18n = ''; |
// Nous recherchons les internationalisations disponibles pour le site demandé. |
// Si un site possède une traduction, il peut alors posséder des menus traduits. |
$requete = 'SELECT gs_ce_i18n '. |
'FROM gen_site, gen_site_relation '. |
'WHERE gsr_id_site_01 = '.$_GEN_commun['info_site']->gs_id_site.' '. |
'AND gsr_id_site_02 = gs_id_site '. |
'AND gsr_id_valeur = 1 '. |
'ORDER BY gsr_ordre'; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
// Récupération de la première valeur de langue d'un site. |
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT); |
if (! $ligne) { |
// Pas de traduction pour le site: nous regardons si le site possede une valeur d'i18n. |
if (! empty($_GEN_commun['info_site']->gs_ce_i18n) ) { |
$i18n_possible = array($_GEN_commun['info_site']->gs_ce_i18n => true); |
} else { |
// Sinon utilisation de la valeur par défaut définit dans le fichier de config. |
$i18n_possible = array(GEN_I18N_ID_DEFAUT => true); |
} |
// Utilisation de la fonction statique de Pear HTTP pour négocier cette i18n. |
$i18n = HTTP::negotiateLanguage($i18n_possible, GEN_I18N_ID_DEFAUT); |
} else { |
// La première traduction du site |
// peut être utilisé comme valeur par défaut. |
$i18n_site_url = $ligne->gs_ce_i18n; |
// Stockage des valeurs de l'i18n dans un tableau |
$aso_i18n_site = array(); |
$aso_i18n_site[$_GEN_commun['info_site']->gs_ce_i18n] = true; |
$aso_i18n_site[$ligne->gs_ce_i18n] = true; |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) { |
$aso_i18n_site[$ligne->gs_ce_i18n] = true; |
} |
$resultat->free(); |
// Utilisation de la fonction statique de Pear HTTP pour négocier cette i18n. |
$i18n = HTTP::negotiateLanguage($aso_i18n_site, $i18n_site_url); |
} |
// Nous stockons la valeur trouvé pour l'url demandée dans la variable globale de Génésia. |
$_GEN_commun['i18n'] = $i18n; |
// 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['url_i18n'] = ''; |
if ( (isset($_GET[GEN_URL_CLE_I18N])) && (!empty($_GET[GEN_URL_CLE_I18N])) ) { |
$_GEN_commun['i18n'] = $_GET[GEN_URL_CLE_I18N]; |
} else { |
// L'i18n est trouvé dans l'url, nous écrasons donc la valeur i18n. |
$_GEN_commun['url_i18n'] = $_GET[GEN_URL_CLE_I18N]; |
$_GEN_commun['i18n'] = $_GEN_commun['url_i18n']; |
$_GEN_commun['i18n'] = GEN_I18N_ID_DEFAUT; |
} |
//print "hola"; |
//print $_GEN_commun['i18n']; |
//print "hola"; |
// Nous récupérons des informations sur l'internationalisation |
$requete = 'SELECT * '. |
'FROM gen_i18n '. |
261,13 → 213,6 |
$resultat->free(); |
//Gestion de l'erreur aucune internationalisation trouvable. |
if (empty($_GEN_commun['i18n'])) { |
die('ERREUR Génésia : valeur internationalisation introuvable. <br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier : '. __FILE__ ); |
} |
// Récupération des informations sur la langue |
$requete = 'SELECT * '. |
'FROM gen_i18n_langue '. |
300,7 → 245,7 |
'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)) |
308,7 → 253,7 |
// 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') { |
324,7 → 269,7 |
// 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 '. |
332,12 → 277,12 |
$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(); |
} |
347,6 → 292,7 |
// 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. |
if ($_GEN_commun['i18n'] != $_GEN_commun['info_site']->gs_ce_i18n) { |
// Récupération des informations sur la traduction du site |
$requete = 'SELECT * '. |
353,11 → 299,11 |
'FROM gen_site '. |
'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 |
// 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); |
367,6 → 313,7 |
// 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. |
if ((isset($_GEN_commun['info_menu'])) && ($_GEN_commun['i18n'] != $_GEN_commun['info_menu']->gm_ce_i18n)) { |
// Récupération des informations sur la traduction du menu |
$requete = 'SELECT * '. |
373,11 → 320,11 |
'FROM gen_menu '. |
'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 |
// 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); |
394,13 → 341,13 |
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)) |
409,18 → 356,18 |
$_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 { |
435,14 → 382,14 |
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) { |
484,10 → 431,6 |
$_GEN_commun['url']->addQueryString(GEN_URL_CLE_MENU, $_GEN_commun['url_menu']); |
} |
if ( (isset($_GEN_commun['url_i18n'])) && (!empty($_GEN_commun['url_i18n'])) ) { |
$_GEN_commun['url']->addQueryString(GEN_URL_CLE_I18N, $_GEN_commun['url_i18n']); |
} |
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']); |
500,6 → 443,15 |
/* +--Fin du code ---------------------------------------------------------------------------------------+ |
* $Log: not supported by cvs2svn $ |
* 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 |
* |