126 |
jpm |
1 |
<?php
|
|
|
2 |
/*vim: set expandtab tabstop=4 shiftwidth=4: */
|
410 |
ddelon |
3 |
// Copyright (C) 1999-2004 Tela Botanica (accueil@tela-botanica.org)
|
|
|
4 |
//
|
|
|
5 |
// Ce logiciel est un programme informatique servant à gérer du contenu et des
|
|
|
6 |
// applications web.
|
|
|
7 |
|
|
|
8 |
// Ce logiciel est régi par la licence CeCILL soumise au droit français et
|
|
|
9 |
// respectant les principes de diffusion des logiciels libres. Vous pouvez
|
|
|
10 |
// utiliser, modifier et/ou redistribuer ce programme sous les conditions
|
|
|
11 |
// de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA
|
|
|
12 |
// sur le site "http://www.cecill.info".
|
|
|
13 |
|
|
|
14 |
// En contrepartie de l'accessibilité au code source et des droits de copie,
|
|
|
15 |
// de modification et de redistribution accordés par cette licence, il n'est
|
|
|
16 |
// offert aux utilisateurs qu'une garantie limitée. Pour les mêmes raisons,
|
|
|
17 |
// seule une responsabilité restreinte pèse sur l'auteur du programme, le
|
|
|
18 |
// titulaire des droits patrimoniaux et les concédants successifs.
|
|
|
19 |
|
|
|
20 |
// A cet égard l'attention de l'utilisateur est attirée sur les risques
|
|
|
21 |
// associés au chargement, à l'utilisation, à la modification et/ou au
|
|
|
22 |
// développement et à la reproduction du logiciel par l'utilisateur étant
|
|
|
23 |
// donné sa spécificité de logiciel libre, qui peut le rendre complexe à
|
|
|
24 |
// manipuler et qui le réserve donc à des développeurs et des professionnels
|
|
|
25 |
// avertis possédant des connaissances informatiques approfondies. Les
|
|
|
26 |
// utilisateurs sont donc invités à charger et tester l'adéquation du
|
|
|
27 |
// logiciel à leurs besoins dans des conditions permettant d'assurer la
|
|
|
28 |
// sécurité de leurs systèmes et ou de leurs données et, plus généralement,
|
|
|
29 |
// à l'utiliser et l'exploiter dans les mêmes conditions de sécurité.
|
|
|
30 |
|
|
|
31 |
// Le fait que vous puissiez accéder à cet en-tête signifie que vous avez
|
|
|
32 |
// pris connaissance de la licence CeCILL, et que vous en avez accepté les
|
|
|
33 |
// termes.
|
|
|
34 |
// ----
|
422 |
ddelon |
35 |
// CVS : $Id: adme_general.fonct.php,v 1.11 2005-07-18 16:14:32 ddelon Exp $
|
126 |
jpm |
36 |
/**
|
134 |
jpm |
37 |
* Contient l'affichage par défaut de l'appli quand aucune actin
|
126 |
jpm |
38 |
*
|
134 |
jpm |
39 |
* Ce fichier contient les fonctions d'affichage commune à toute l'application Admin Menu.
|
|
|
40 |
* Nous y trouvons, entre autre, la fonction d'affichage par défaut de l'appli.
|
126 |
jpm |
41 |
*
|
134 |
jpm |
42 |
*@package Admin_menu
|
|
|
43 |
*@subpackage Fonctions
|
126 |
jpm |
44 |
//Auteur original :
|
134 |
jpm |
45 |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org>
|
126 |
jpm |
46 |
//Autres auteurs :
|
|
|
47 |
*@author Aucun
|
|
|
48 |
*@copyright Tela-Botanica 2000-2004
|
422 |
ddelon |
49 |
*@version $Revision: 1.11 $ $Date: 2005-07-18 16:14:32 $
|
126 |
jpm |
50 |
// +------------------------------------------------------------------------------------------------------+
|
|
|
51 |
*/
|
|
|
52 |
|
|
|
53 |
// +------------------------------------------------------------------------------------------------------+
|
|
|
54 |
// | ENTETE du PROGRAMME |
|
|
|
55 |
// +------------------------------------------------------------------------------------------------------+
|
|
|
56 |
|
|
|
57 |
|
|
|
58 |
// +------------------------------------------------------------------------------------------------------+
|
|
|
59 |
// | LISTE de FONCTIONS |
|
|
|
60 |
// +------------------------------------------------------------------------------------------------------+
|
141 |
jpm |
61 |
/** Fonction ADME_afficherFormPrincipal() - Affichage par défaut.
|
|
|
62 |
*
|
|
|
63 |
* Fournit l'affichage par défaut de l'application Admin Menus.
|
|
|
64 |
*
|
|
|
65 |
* @param object objet Pear de connection à la base de données.
|
|
|
66 |
* @param object objet Pear représentant l'url de base.
|
|
|
67 |
* @return string le XHTML par défaut de la page.
|
|
|
68 |
*/
|
|
|
69 |
function ADME_afficherFormPrincipal($objet_pear_db, $objet_pear_url, $adme_site_id, $adme_menu_id, $adme_action)
|
126 |
jpm |
70 |
{
|
|
|
71 |
//---------------------------------------------------------------------------------------------------------------
|
|
|
72 |
// Nous affichons la liste des menus classiques et communs
|
|
|
73 |
$retour = '';
|
|
|
74 |
// Liste des sites principaux
|
|
|
75 |
$requete = 'SELECT gs_id_site, gs_code_alpha, gs_nom '.
|
|
|
76 |
'FROM gen_site, gen_site_relation '.
|
|
|
77 |
'WHERE gsr_id_site_01 = gsr_id_site_02 '.
|
|
|
78 |
'AND gsr_id_valeur = 102 '.// 102 = site "principal"
|
|
|
79 |
'AND gsr_id_site_01 = gs_id_site '.
|
367 |
alex |
80 |
'ORDER BY gsr_ordre DESC';
|
126 |
jpm |
81 |
|
|
|
82 |
$resultat = $objet_pear_db->query($requete);
|
|
|
83 |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '' ;
|
|
|
84 |
|
|
|
85 |
//---------------------------------------------------------------------------------------------------------------
|
|
|
86 |
// Création du formulaire
|
|
|
87 |
// Notes : Quickform semble remplacer les & des & à nouveau par des & solution utiliser str_replace()...
|
|
|
88 |
$form =& new HTML_QuickForm('adme_form_sites', 'post', str_replace('&', '&', $objet_pear_url->getUrl()));
|
|
|
89 |
$tab_index = 1000;
|
|
|
90 |
$squelette =& $form->defaultRenderer();
|
|
|
91 |
$squelette->setFormTemplate("\n".'<form{attributes}>'."\n".'{content}'."\n"."\n".'</form>'."\n");
|
|
|
92 |
$squelette->setElementTemplate( '{label}'."\n".'{element}'."\n".
|
|
|
93 |
'<!-- BEGIN required --><span class="symbole_obligatoire">*</span><!-- END required -->'."\n".
|
|
|
94 |
'<!-- BEGIN error --><span class="erreur">{error}</span><!-- END error -->'."\n");
|
|
|
95 |
$partie_site_debut = '<fieldset>'."\n".
|
150 |
jpm |
96 |
'<legend>'.ADME_LG_FORM_SITE_TITRE.'</legend>'."\n";
|
126 |
jpm |
97 |
$form->addElement('html', $partie_site_debut);
|
|
|
98 |
$id = 'adme_site_id';
|
|
|
99 |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'onchange' => 'javascript:this.form.submit();');
|
148 |
jpm |
100 |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_SITE_CHOIX.'</label>';
|
126 |
jpm |
101 |
$objet_select = new HTML_QuickForm_select($id, $label, '', $aso_attributs);
|
|
|
102 |
$aso_options = array();
|
|
|
103 |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
|
141 |
jpm |
104 |
if (!isset($adme_site_id) || $adme_site_id == 0) {
|
|
|
105 |
$adme_site_id = $ligne->gs_id_site;
|
126 |
jpm |
106 |
}
|
141 |
jpm |
107 |
if ($ligne->gs_id_site == $adme_site_id) {
|
132 |
jpm |
108 |
$objet_select->addOption(htmlentities($ligne->gs_nom.' ('.$ligne->gs_code_alpha.')'), $ligne->gs_id_site, 'selected="selected"');
|
251 |
jpm |
109 |
// Attribution du nom du site sur lequel on travaille pour le titre
|
|
|
110 |
$site_nom = $ligne->gs_nom;
|
126 |
jpm |
111 |
} else {
|
132 |
jpm |
112 |
$objet_select->addOption(htmlentities($ligne->gs_nom.' ('.$ligne->gs_code_alpha.')'), $ligne->gs_id_site);
|
126 |
jpm |
113 |
}
|
|
|
114 |
}
|
|
|
115 |
$resultat->free();
|
|
|
116 |
$form->addElement($objet_select);
|
148 |
jpm |
117 |
$form->addElement('submit', 'choisir_site', ADME_LG_FORM_SITE_VALIDER);
|
126 |
jpm |
118 |
$partie_site_fin = "\n".'</fieldset>';
|
|
|
119 |
$form->addElement('html', $partie_site_fin);
|
|
|
120 |
|
|
|
121 |
// Instanciation des valeurs par défaut du formulaire
|
141 |
jpm |
122 |
$form->setDefaults($adme_site_id);
|
126 |
jpm |
123 |
|
148 |
jpm |
124 |
$retour .= '<h1>'.ADME_LG_MENU_TITRE.$site_nom.'</h1>'."\n";
|
126 |
jpm |
125 |
$retour .= $form->toHTML()."\n";
|
|
|
126 |
|
|
|
127 |
//---------------------------------------------------------------------------------------------------------------
|
|
|
128 |
// Gestion des menus classiques
|
|
|
129 |
$retour .= '<p>'."\n";
|
|
|
130 |
$objet_pear_url_copie = $objet_pear_url;
|
166 |
jpm |
131 |
$objet_pear_url_copie->addQueryString('adme_action', ADME_LG_ACTION_CLASSIQUE_AJOUTER);
|
141 |
jpm |
132 |
$objet_pear_url_copie->addQueryString('adme_site_id', $adme_site_id);
|
126 |
jpm |
133 |
$objet_pear_url_copie->addQueryString('adme_menu_id', 0);
|
|
|
134 |
$url_ajout_menu_classique_n1 = $objet_pear_url_copie->getURL();
|
|
|
135 |
unset($url_ajout_menu_n1);
|
|
|
136 |
$retour .= '<a href="'.$url_ajout_menu_classique_n1.'" >'.
|
148 |
jpm |
137 |
ADME_LG_MENU_CLASSIQUE_RACINE.' '.
|
126 |
jpm |
138 |
'<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_NOUVEAU.'" alt="+" />'.
|
|
|
139 |
'</a>'."\n";
|
|
|
140 |
$retour .= '</p>'."\n";
|
|
|
141 |
|
141 |
jpm |
142 |
$retour .= ADME_afficherListeMenuClassique($objet_pear_db, $objet_pear_url, $adme_site_id, $adme_menu_id, $adme_action, 0);
|
126 |
jpm |
143 |
//---------------------------------------------------------------------------------------------------------------
|
|
|
144 |
// Gestion des menus communs
|
|
|
145 |
$retour .= '<p>'."\n";
|
|
|
146 |
$objet_pear_url_copie = $objet_pear_url;
|
166 |
jpm |
147 |
$objet_pear_url_copie->addQueryString('adme_action', ADME_LG_ACTION_COMMUN_AJOUTER);
|
141 |
jpm |
148 |
$objet_pear_url_copie->addQueryString('adme_site_id', $adme_site_id);
|
126 |
jpm |
149 |
$objet_pear_url_copie->addQueryString('adme_menu_id', 0);
|
|
|
150 |
$url_ajout_menu_commun_n1 = $objet_pear_url_copie->getURL();
|
|
|
151 |
unset($url_ajout_menu_n1);
|
|
|
152 |
$retour .= '<a href="'.$url_ajout_menu_commun_n1.'">'.
|
148 |
jpm |
153 |
ADME_LG_MENU_COMMUN_RACINE.' '.
|
126 |
jpm |
154 |
'<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_NOUVEAU.'" alt="+" />'.
|
|
|
155 |
'</a>'."\n";
|
|
|
156 |
$retour .= '</p>'."\n";
|
141 |
jpm |
157 |
$retour .= ADME_afficherListeMenuCommun($objet_pear_db, $objet_pear_url, $adme_site_id, $adme_menu_id, $adme_action, 0);
|
126 |
jpm |
158 |
return $retour;
|
|
|
159 |
}
|
141 |
jpm |
160 |
|
126 |
jpm |
161 |
// +------------------------------------------------------------------------------------------------------+
|
|
|
162 |
// | PIED du PROGRAMME |
|
|
|
163 |
// +------------------------------------------------------------------------------------------------------+
|
|
|
164 |
|
|
|
165 |
|
|
|
166 |
/* +--Fin du code ----------------------------------------------------------------------------------------+
|
|
|
167 |
*
|
|
|
168 |
* $Log: not supported by cvs2svn $
|
422 |
ddelon |
169 |
* Revision 1.10 2005/07/08 21:57:24 ddelon
|
|
|
170 |
* Copyright
|
|
|
171 |
*
|
410 |
ddelon |
172 |
* Revision 1.9 2005/05/12 16:51:37 alex
|
|
|
173 |
* Changement de l'odre d'apparition des sites dans l'administration des menus.
|
|
|
174 |
*
|
367 |
alex |
175 |
* Revision 1.8 2005/01/26 16:18:05 jpm
|
|
|
176 |
* Correction bogue 221 : mauvais réglage du titre.
|
|
|
177 |
*
|
251 |
jpm |
178 |
* Revision 1.7 2004/11/24 11:31:51 jpm
|
|
|
179 |
* Ajout d'une contante de langue à la place d'un texte.
|
|
|
180 |
*
|
166 |
jpm |
181 |
* Revision 1.6 2004/11/10 17:26:07 jpm
|
|
|
182 |
* Fin gestion de la traduction.
|
|
|
183 |
*
|
150 |
jpm |
184 |
* Revision 1.5 2004/11/10 11:58:54 jpm
|
|
|
185 |
* Mise en place des constantes de traduction de l'appli.
|
|
|
186 |
*
|
148 |
jpm |
187 |
* Revision 1.4 2004/11/09 17:48:35 jpm
|
|
|
188 |
* Gestion de différentes interfaces d'administration.
|
|
|
189 |
*
|
141 |
jpm |
190 |
* Revision 1.3 2004/11/09 12:37:34 jpm
|
|
|
191 |
* Fin de gestion des menus et mise en conformité avec la convention de codage.
|
|
|
192 |
*
|
134 |
jpm |
193 |
* Revision 1.2 2004/11/08 17:41:07 jpm
|
|
|
194 |
* Légères corrections : multisite, corrections SQL.
|
|
|
195 |
*
|
132 |
jpm |
196 |
* Revision 1.1 2004/11/04 12:26:42 jpm
|
|
|
197 |
* Contient les fonctions d'affichage général de l'appli ADME.
|
126 |
jpm |
198 |
*
|
132 |
jpm |
199 |
*
|
126 |
jpm |
200 |
* +-- Fin du code ----------------------------------------------------------------------------------------+
|
|
|
201 |
*/
|
|
|
202 |
?>
|