Subversion Repositories Applications.bazar

Rev

Rev 227 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 227 Rev 468
1
<?php
1
<?php
2
//vim: set expandtab tabstop=4 shiftwidth=4:
2
//vim: set expandtab tabstop=4 shiftwidth=4:
3
 
3
 
4
// Copyright (C) 1999-2004 Tela Botanica (accueil@tela-botanica.org)
4
// Copyright (C) 1999-2004 Tela Botanica (accueil@tela-botanica.org)
5
//
5
//
6
// Ce logiciel est un programme informatique servant à gérer du contenu et des
6
// Ce logiciel est un programme informatique servant à gérer du contenu et des
7
// applications web.
7
// applications web.
8
                                                                                                      
8
                                                                                                      
9
// Ce logiciel est régi par la licence CeCILL soumise au droit français et
9
// Ce logiciel est régi par la licence CeCILL soumise au droit français et
10
// respectant les principes de diffusion des logiciels libres. Vous pouvez
10
// respectant les principes de diffusion des logiciels libres. Vous pouvez
11
// utiliser, modifier et/ou redistribuer ce programme sous les conditions
11
// utiliser, modifier et/ou redistribuer ce programme sous les conditions
12
// de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA 
12
// de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA 
13
// sur le site "http://www.cecill.info".
13
// sur le site "http://www.cecill.info".
14
 
14
 
15
// En contrepartie de l'accessibilité au code source et des droits de copie,
15
// En contrepartie de l'accessibilité au code source et des droits de copie,
16
// de modification et de redistribution accordés par cette licence, il n'est
16
// de modification et de redistribution accordés par cette licence, il n'est
17
// offert aux utilisateurs qu'une garantie limitée.  Pour les mêmes raisons,
17
// offert aux utilisateurs qu'une garantie limitée.  Pour les mêmes raisons,
18
// seule une responsabilité restreinte pèse sur l'auteur du programme,  le
18
// seule une responsabilité restreinte pèse sur l'auteur du programme,  le
19
// titulaire des droits patrimoniaux et les concédants successifs.
19
// titulaire des droits patrimoniaux et les concédants successifs.
20
 
20
 
21
// A cet égard  l'attention de l'utilisateur est attirée sur les risques
21
// A cet égard  l'attention de l'utilisateur est attirée sur les risques
22
// associés au chargement,  à l'utilisation,  à la modification et/ou au
22
// associés au chargement,  à l'utilisation,  à la modification et/ou au
23
// développement et à la reproduction du logiciel par l'utilisateur étant 
23
// développement et à la reproduction du logiciel par l'utilisateur étant 
24
// donné sa spécificité de logiciel libre, qui peut le rendre complexe à 
24
// donné sa spécificité de logiciel libre, qui peut le rendre complexe à 
25
// manipuler et qui le réserve donc à des développeurs et des professionnels
25
// manipuler et qui le réserve donc à des développeurs et des professionnels
26
// avertis possédant  des  connaissances  informatiques approfondies.  Les
26
// avertis possédant  des  connaissances  informatiques approfondies.  Les
27
// utilisateurs sont donc invités à charger  et  tester  l'adéquation  du
27
// utilisateurs sont donc invités à charger  et  tester  l'adéquation  du
28
// logiciel à leurs besoins dans des conditions permettant d'assurer la
28
// logiciel à leurs besoins dans des conditions permettant d'assurer la
29
// sécurité de leurs systèmes et ou de leurs données et, plus généralement, 
29
// sécurité de leurs systèmes et ou de leurs données et, plus généralement, 
30
// à l'utiliser et l'exploiter dans les mêmes conditions de sécurité. 
30
// à l'utiliser et l'exploiter dans les mêmes conditions de sécurité. 
31
 
31
 
32
// Le fait que vous puissiez accéder à cet en-tête signifie que vous avez 
32
// Le fait que vous puissiez accéder à cet en-tête signifie que vous avez 
33
// pris connaissance de la licence CeCILL, et que vous en avez accepté les
33
// pris connaissance de la licence CeCILL, et que vous en avez accepté les
34
// termes.
34
// termes.
35
// ----
35
// ----
36
// CVS : $Id: bazar.admin.php,v 1.2 2007-04-20 09:57:21 florian Exp $
36
// CVS : $Id: bazar.admin.php,v 1.2 2007/04/20 09:57:21 florian Exp $
37
 
37
 
38
/**
38
/**
39
* Papyrus : Programme d'administration du bazar
39
* Papyrus : Programme d'administration du bazar
40
*
40
*
41
* La page contient l'appel aux fonctions de l'application de vérification de l'installation puis
41
* La page contient l'appel aux fonctions de l'application de vérification de l'installation puis
42
* l'appel du fichier réalisant l'initialisation. Enfin, l'appel du fichier réalisant le rendu et 
42
* l'appel du fichier réalisant l'initialisation. Enfin, l'appel du fichier réalisant le rendu et 
43
* retournant la page au navigateur client.
43
* retournant la page au navigateur client.
44
*
44
*
45
*@package Bazar
45
*@package Bazar
46
//Auteur original :
46
//Auteur original :
47
*@author            Florian SCHMITT <florian.schmitt@laposte.net>
47
*@author            Florian SCHMITT <florian.schmitt@laposte.net>
48
*@copyright         Tela-Botanica 2000-2007
48
*@copyright         Tela-Botanica 2000-2007
49
*@version           $Revision: 1.2 $
49
*@version           $Revision: 1.2 $
50
// +------------------------------------------------------------------------------------------------------+
50
// +------------------------------------------------------------------------------------------------------+
51
*/
51
*/
52
// +------------------------------------------------------------------------------------------------------+
52
// +------------------------------------------------------------------------------------------------------+
53
// |                                            ENTÊTE du PROGRAMME                                       |
53
// |                                            ENTÊTE du PROGRAMME                                       |
54
// +------------------------------------------------------------------------------------------------------+
54
// +------------------------------------------------------------------------------------------------------+
55
 
55
 
56
include_once 'configuration/baz_config.inc.php'; //fichier de configuration de Bazar
56
include_once 'configuration/baz_config.inc.php'; //fichier de configuration de Bazar
57
//appel du fichier de constantes des langues
57
//appel du fichier de constantes des langues
58
include_once 'langues/baz_langue_'.$GLOBALS['_GEN_commun']['i18n'].'.inc.php'; 
58
include_once 'langues/baz_langue_'.$GLOBALS['_GEN_commun']['i18n'].'.inc.php'; 
59
 
59
 
60
 
60
 
61
// +------------------------------------------------------------------------------------------------------+
61
// +------------------------------------------------------------------------------------------------------+
62
// |                                                 CLASSE                                               |
62
// |                                                 CLASSE                                               |
63
// +------------------------------------------------------------------------------------------------------+
63
// +------------------------------------------------------------------------------------------------------+
64
 
64
 
65
class Bazar_Admin {
65
class Bazar_Admin {
66
    var $objet_pear_auth;
66
    var $objet_pear_auth;
67
    var $objet_pear_db;
67
    var $objet_pear_db;
68
    var $objet_pear_url;
68
    var $objet_pear_url;
69
    var $sortie_xhtml;
69
    var $sortie_xhtml;
70
    
70
    
71
    /** Fonction redigerContenu() - Affiche le formulaire de r?action
71
    /** Fonction redigerContenu() - Affiche le formulaire de r?action
72
    *
72
    *
73
    *
73
    *
74
    *   @return  string  Le HTML
74
    *   @return  string  Le HTML
75
    */
75
    */
76
    function afficherContenuCorps()
76
    function afficherContenuCorps()
77
    {                
77
    {                
78
        //-------------------------------------------------------------------------------------------------------------------
78
        //-------------------------------------------------------------------------------------------------------------------
79
        // Initialisation des attributs
79
        // Initialisation des attributs
80
        $this->objet_pear_auth = $GLOBALS['_GEN_commun']['pear_auth'];
80
        $this->objet_pear_auth = $GLOBALS['_GEN_commun']['pear_auth'];
81
        $this->objet_pear_db = $GLOBALS['_GEN_commun']['pear_db'];
81
        $this->objet_pear_db = $GLOBALS['_GEN_commun']['pear_db'];
82
        $this->objet_pear_url = $GLOBALS['_GEN_commun']['url'];
82
        $this->objet_pear_url = $GLOBALS['_GEN_commun']['url'];
83
        $this->sortie_xhtml = '<h1>'.BAZ_CONFIG.'</h1>'."\n";        
83
        $this->sortie_xhtml = '<h1>'.BAZ_CONFIG.'</h1>'."\n";        
84
        
84
        
85
        //-------------------------------------------------------------------------------------------------------------------
85
        //-------------------------------------------------------------------------------------------------------------------
86
        // Gestion des boutons de l'interface
86
        // Gestion des boutons de l'interface
87
        if (isset($_POST['afficheur_annuler'])) {
87
        if (isset($_POST['afficheur_annuler'])) {
88
            return false;
88
            return false;
89
        } else if (isset($_POST['afficheur_enregistrer_quitter'])) {
89
        } else if (isset($_POST['afficheur_enregistrer_quitter'])) {
90
            $requete = 'UPDATE gen_menu SET gm_application_arguments="num_questionnaire='.$_POST['num_questionnaire'].
90
            $requete = 'UPDATE gen_menu SET gm_application_arguments="num_questionnaire='.$_POST['num_questionnaire'].
91
					   '||mail_questionnaire='.$_POST['mail_questionnaire'].'||texte_questionnaire_envoye='.$_POST['texte_questionnaire_envoye'].'" WHERE gm_id_menu='.$_GET['adme_menu_id'];            
91
					   '||mail_questionnaire='.$_POST['mail_questionnaire'].'||texte_questionnaire_envoye='.$_POST['texte_questionnaire_envoye'].'" WHERE gm_id_menu='.$_GET['adme_menu_id'];            
92
            $resultat = $this->objet_pear_db->query($requete) ;
92
            $resultat = $this->objet_pear_db->query($requete) ;
93
            if (DB::isError($resultat)) {
93
            if (DB::isError($resultat)) {
94
            	die ("Echec de la requete<br />".$resultat->getMessage()."<br />".$resultat->getDebugInfo()) ;
94
            	die ("Echec de la requete<br />".$resultat->getMessage()."<br />".$resultat->getDebugInfo()) ;
95
            }
95
            }
96
            return false;
96
            return false;
97
        }
97
        }
98
        
98
        
99
        //--------------------------------------------------------------------------------------------------------------
99
        //--------------------------------------------------------------------------------------------------------------
100
        // Gestion des valeurs par defauts, en fonctions des donnees sauvees dans le menu
100
        // Gestion des valeurs par defauts, en fonctions des donnees sauvees dans le menu
101
        $requete = 'SELECT gm_application_arguments FROM gen_menu WHERE gm_id_menu='.$_GET['adme_menu_id'];
101
        $requete = 'SELECT gm_application_arguments FROM gen_menu WHERE gm_id_menu='.$_GET['adme_menu_id'];
102
        $resultat = $this->objet_pear_db->query($requete) ;
102
        $resultat = $this->objet_pear_db->query($requete) ;
103
        //echo $requete;
103
        //echo $requete;
104
        if (DB::isError($resultat)) {
104
        if (DB::isError($resultat)) {
105
        	die ("Echec de la requete<br />".$resultat->getMessage()."<br />".$resultat->getDebugInfo()) ;
105
        	die ("Echec de la requete<br />".$resultat->getMessage()."<br />".$resultat->getDebugInfo()) ;
106
        }
106
        }
107
        $valeurs_par_defaut = array();
107
        $valeurs_par_defaut = array();
108
        if ($resultat->numRows()>0) {        	        	
108
        if ($resultat->numRows()>0) {        	        	
109
        	while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {        		
109
        	while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {        		
110
        		$arguments = explode('||', $ligne->gm_application_arguments);        	
110
        		$arguments = explode('||', $ligne->gm_application_arguments);        	
111
 				for ($i = 0; $i < count($arguments); $i++) {
111
 				for ($i = 0; $i < count($arguments); $i++) {
112
 					$attr = explode('=', $arguments[$i], 2);
112
 					$attr = explode('=', $arguments[$i], 2);
113
 					if ($attr[0] != '') {
113
 					if ($attr[0] != '') {
114
 						$info_application->$attr[0] = (isset($attr[1]) ? $attr[1] : '');
114
 						$info_application->$attr[0] = (isset($attr[1]) ? $attr[1] : '');
115
 					}
115
 					}
116
 			   	}
116
 			   	}
117
 			}
117
 			}
118
        	//valeurs par defaut enregistrees dans la table        	
118
        	//valeurs par defaut enregistrees dans la table        	
119
        	if (isset($info_application)) {
119
        	if (isset($info_application)) {
120
        		$valeurs_par_defaut['num_questionnaire']=$info_application->num_questionnaire; 
120
        		$valeurs_par_defaut['num_questionnaire']=$info_application->num_questionnaire; 
121
        		$valeurs_par_defaut['mail_questionnaire']=$info_application->mail_questionnaire;   
121
        		$valeurs_par_defaut['mail_questionnaire']=$info_application->mail_questionnaire;   
122
        		$valeurs_par_defaut['texte_questionnaire_envoye']=$info_application->texte_questionnaire_envoye;
122
        		$valeurs_par_defaut['texte_questionnaire_envoye']=$info_application->texte_questionnaire_envoye;
123
        	}      
123
        	}      
124
        } else {
124
        } else {
125
        	//valeurs par defaut pour afficher une carto des structures
125
        	//valeurs par defaut pour afficher une carto des structures
126
        	$valeurs_par_defaut['num_questionnaire']='';
126
        	$valeurs_par_defaut['num_questionnaire']='';
127
        	$valeurs_par_defaut['mail_questionnaire']='';
127
        	$valeurs_par_defaut['mail_questionnaire']='';
128
        	$valeurs_par_defaut['texte_questionnaire_envoye']='';
128
        	$valeurs_par_defaut['texte_questionnaire_envoye']='';
129
        }
129
        }
130
        
130
        
131
        //--------------------------------------------------------------------------------------------------------------
131
        //--------------------------------------------------------------------------------------------------------------
132
        // Gestion du questionnaire
132
        // Gestion du questionnaire
133
        $this->objet_pear_url->addQueryString('adme_site_id', $_GET['adme_site_id']);
133
        $this->objet_pear_url->addQueryString('adme_site_id', $_GET['adme_site_id']);
134
        $this->objet_pear_url->addQueryString('adme_menu_id', $_GET['adme_menu_id']);
134
        $this->objet_pear_url->addQueryString('adme_menu_id', $_GET['adme_menu_id']);
135
        $this->objet_pear_url->addQueryString('adme_action', 'administrer');
135
        $this->objet_pear_url->addQueryString('adme_action', 'administrer');
136
        $form =& new HTML_QuickForm('form_param_bazar', 'post', str_replace('&amp;', '&', $this->objet_pear_url->getUrl()));
136
        $form =& new HTML_QuickForm('form_param_bazar', 'post', str_replace('&amp;', '&', $this->objet_pear_url->getUrl()));
137
        $squelette =& $form->defaultRenderer();
137
        $squelette =& $form->defaultRenderer();
138
        $squelette->setFormTemplate("\n".'<form {attributes}>'."\n".'{content}'."\n".'</form>'."\n");
138
        $squelette->setFormTemplate("\n".'<form {attributes}>'."\n".'{content}'."\n".'</form>'."\n");
139
        $squelette->setElementTemplate( '<p>'."\n".
139
        $squelette->setElementTemplate( '<p>'."\n".
140
                                        '<label style="width:100px;padding:5px;text-align:right;">{label}'.
140
                                        '<label style="width:100px;padding:5px;text-align:right;">{label}'.
141
                                        '<!-- BEGIN required --><span class="symbole_obligatoire">*</span><!-- END required -->'."\n".
141
                                        '<!-- BEGIN required --><span class="symbole_obligatoire">*</span><!-- END required -->'."\n".
142
                                        '<!-- BEGIN error --><span class="erreur">{error}</span><!-- END error -->'."\n".
142
                                        '<!-- BEGIN error --><span class="erreur">{error}</span><!-- END error -->'."\n".
143
										' : </label>'."\n".'{element}'."\n".
143
										' : </label>'."\n".'{element}'."\n".
144
										'</p>'."\n" );
144
										'</p>'."\n" );
145
        $form->addElement('text', 'mail_questionnaire', QUESTIONNAIRE_MAIL);                
145
        $form->addElement('text', 'mail_questionnaire', QUESTIONNAIRE_MAIL);                
146
        $liste_bouton_debut = '<ul class="liste_bouton">'."\n";
146
        $liste_bouton_debut = '<ul class="liste_bouton">'."\n";
147
        $form->addElement('html', $liste_bouton_debut);
147
        $form->addElement('html', $liste_bouton_debut);
148
        $form->addElement('submit', 'afficheur_enregistrer_quitter', BAZ_ENREGISTRER_ET_QUITTER);
148
        $form->addElement('submit', 'afficheur_enregistrer_quitter', BAZ_ENREGISTRER_ET_QUITTER);
149
        $form->addElement('submit', 'afficheur_annuler', BAZ_ANNULER);
149
        $form->addElement('submit', 'afficheur_annuler', BAZ_ANNULER);
150
        $liste_bouton_fin = '</ul>'."\n";
150
        $liste_bouton_fin = '</ul>'."\n";
151
        $form->addElement('html', $liste_bouton_fin);
151
        $form->addElement('html', $liste_bouton_fin);
152
        $form->setDefaults($valeurs_par_defaut);
152
        $form->setDefaults($valeurs_par_defaut);
153
        $this->sortie_xhtml .= $form->toHTML()."\n";	
153
        $this->sortie_xhtml .= $form->toHTML()."\n";	
154
        return $this->sortie_xhtml;
154
        return $this->sortie_xhtml;
155
    }
155
    }
156
 
156
 
157
}// Fin de la classe
157
}// Fin de la classe
158
 
158
 
159
// +------------------------------------------------------------------------------------------------------+
159
// +------------------------------------------------------------------------------------------------------+
160
// |                                            PIED du PROGRAMME                                         |
160
// |                                            PIED du PROGRAMME                                         |
161
// +------------------------------------------------------------------------------------------------------+
161
// +------------------------------------------------------------------------------------------------------+
162
/* +--Fin du code ---------------------------------------------------------------------------------------+
162
/* +--Fin du code ---------------------------------------------------------------------------------------+
163
* $Log: not supported by cvs2svn $
163
* $Log: bazar.admin.php,v $
-
 
164
* Revision 1.2  2007/04/20 09:57:21  florian
-
 
165
* correction bugs suite au merge
-
 
166
*
164
* Revision 1.1  2007/02/02 14:02:08  alexandre_tb
167
* Revision 1.1  2007/02/02 14:02:08  alexandre_tb
165
* version initiale vide pour le moment
168
* version initiale vide pour le moment
166
*
169
*
167
* +--Fin du code ----------------------------------------------------------------------------------------+
170
* +--Fin du code ----------------------------------------------------------------------------------------+
168
*/
171
*/
169
?>
172
?>