Subversion Repositories Applications.papyrus

Rev

Rev 410 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
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 &amp; à nouveau par des &amp; solution utiliser str_replace()...
88
    $form =& new HTML_QuickForm('adme_form_sites', 'post', str_replace('&amp;', '&', $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.'&nbsp;'.
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.'&nbsp;'.
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
?>