Subversion Repositories Applications.bazar

Rev

Rev 227 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
181 alexandre_ 1
<?php
2
//vim: set expandtab tabstop=4 shiftwidth=4:
3
 
4
// Copyright (C) 1999-2004 Tela Botanica (accueil@tela-botanica.org)
5
//
6
// Ce logiciel est un programme informatique servant à gérer du contenu et des
7
// applications web.
8
 
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
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
13
// sur le site "http://www.cecill.info".
14
 
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
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
19
// titulaire des droits patrimoniaux et les concédants successifs.
20
 
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
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 à
25
// manipuler et qui le réserve donc à des développeurs et des professionnels
26
// avertis possédant  des  connaissances  informatiques approfondies.  Les
27
// utilisateurs sont donc invités à charger  et  tester  l'adéquation  du
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,
30
// à l'utiliser et l'exploiter dans les mêmes conditions de sécurité.
31
 
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
34
// termes.
35
// ----
468 mathias 36
// CVS : $Id: bazar.admin.php,v 1.2 2007/04/20 09:57:21 florian Exp $
181 alexandre_ 37
 
38
/**
39
* Papyrus : Programme d'administration du bazar
40
*
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
43
* retournant la page au navigateur client.
44
*
45
*@package Bazar
46
//Auteur original :
227 florian 47
*@author            Florian SCHMITT <florian.schmitt@laposte.net>
181 alexandre_ 48
*@copyright         Tela-Botanica 2000-2007
227 florian 49
*@version           $Revision: 1.2 $
181 alexandre_ 50
// +------------------------------------------------------------------------------------------------------+
51
*/
52
// +------------------------------------------------------------------------------------------------------+
53
// |                                            ENTÊTE du PROGRAMME                                       |
54
// +------------------------------------------------------------------------------------------------------+
55
 
227 florian 56
include_once 'configuration/baz_config.inc.php'; //fichier de configuration de Bazar
57
//appel du fichier de constantes des langues
58
include_once 'langues/baz_langue_'.$GLOBALS['_GEN_commun']['i18n'].'.inc.php';
181 alexandre_ 59
 
60
 
227 florian 61
// +------------------------------------------------------------------------------------------------------+
62
// |                                                 CLASSE                                               |
63
// +------------------------------------------------------------------------------------------------------+
181 alexandre_ 64
 
227 florian 65
class Bazar_Admin {
66
    var $objet_pear_auth;
67
    var $objet_pear_db;
68
    var $objet_pear_url;
69
    var $sortie_xhtml;
70
 
71
    /** Fonction redigerContenu() - Affiche le formulaire de r?action
72
    *
73
    *
74
    *   @return  string  Le HTML
75
    */
76
    function afficherContenuCorps()
77
    {
78
        //-------------------------------------------------------------------------------------------------------------------
79
        // Initialisation des attributs
80
        $this->objet_pear_auth = $GLOBALS['_GEN_commun']['pear_auth'];
81
        $this->objet_pear_db = $GLOBALS['_GEN_commun']['pear_db'];
82
        $this->objet_pear_url = $GLOBALS['_GEN_commun']['url'];
83
        $this->sortie_xhtml = '<h1>'.BAZ_CONFIG.'</h1>'."\n";
84
 
85
        //-------------------------------------------------------------------------------------------------------------------
86
        // Gestion des boutons de l'interface
87
        if (isset($_POST['afficheur_annuler'])) {
88
            return false;
89
        } else if (isset($_POST['afficheur_enregistrer_quitter'])) {
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'];
92
            $resultat = $this->objet_pear_db->query($requete) ;
93
            if (DB::isError($resultat)) {
94
            	die ("Echec de la requete<br />".$resultat->getMessage()."<br />".$resultat->getDebugInfo()) ;
95
            }
96
            return false;
97
        }
98
 
99
        //--------------------------------------------------------------------------------------------------------------
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'];
102
        $resultat = $this->objet_pear_db->query($requete) ;
103
        //echo $requete;
104
        if (DB::isError($resultat)) {
105
        	die ("Echec de la requete<br />".$resultat->getMessage()."<br />".$resultat->getDebugInfo()) ;
106
        }
107
        $valeurs_par_defaut = array();
108
        if ($resultat->numRows()>0) {
109
        	while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
110
        		$arguments = explode('||', $ligne->gm_application_arguments);
111
 				for ($i = 0; $i < count($arguments); $i++) {
112
 					$attr = explode('=', $arguments[$i], 2);
113
 					if ($attr[0] != '') {
114
 						$info_application->$attr[0] = (isset($attr[1]) ? $attr[1] : '');
115
 					}
116
 			   	}
117
 			}
118
        	//valeurs par defaut enregistrees dans la table
119
        	if (isset($info_application)) {
120
        		$valeurs_par_defaut['num_questionnaire']=$info_application->num_questionnaire;
121
        		$valeurs_par_defaut['mail_questionnaire']=$info_application->mail_questionnaire;
122
        		$valeurs_par_defaut['texte_questionnaire_envoye']=$info_application->texte_questionnaire_envoye;
123
        	}
124
        } else {
125
        	//valeurs par defaut pour afficher une carto des structures
126
        	$valeurs_par_defaut['num_questionnaire']='';
127
        	$valeurs_par_defaut['mail_questionnaire']='';
128
        	$valeurs_par_defaut['texte_questionnaire_envoye']='';
129
        }
130
 
131
        //--------------------------------------------------------------------------------------------------------------
132
        // Gestion du questionnaire
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']);
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()));
137
        $squelette =& $form->defaultRenderer();
138
        $squelette->setFormTemplate("\n".'<form {attributes}>'."\n".'{content}'."\n".'</form>'."\n");
139
        $squelette->setElementTemplate( '<p>'."\n".
140
                                        '<label style="width:100px;padding:5px;text-align:right;">{label}'.
141
                                        '<!-- BEGIN required --><span class="symbole_obligatoire">*</span><!-- END required -->'."\n".
142
                                        '<!-- BEGIN error --><span class="erreur">{error}</span><!-- END error -->'."\n".
143
										' : </label>'."\n".'{element}'."\n".
144
										'</p>'."\n" );
145
        $form->addElement('text', 'mail_questionnaire', QUESTIONNAIRE_MAIL);
146
        $liste_bouton_debut = '<ul class="liste_bouton">'."\n";
147
        $form->addElement('html', $liste_bouton_debut);
148
        $form->addElement('submit', 'afficheur_enregistrer_quitter', BAZ_ENREGISTRER_ET_QUITTER);
149
        $form->addElement('submit', 'afficheur_annuler', BAZ_ANNULER);
150
        $liste_bouton_fin = '</ul>'."\n";
151
        $form->addElement('html', $liste_bouton_fin);
152
        $form->setDefaults($valeurs_par_defaut);
153
        $this->sortie_xhtml .= $form->toHTML()."\n";
154
        return $this->sortie_xhtml;
155
    }
181 alexandre_ 156
 
227 florian 157
}// Fin de la classe
158
 
159
// +------------------------------------------------------------------------------------------------------+
160
// |                                            PIED du PROGRAMME                                         |
161
// +------------------------------------------------------------------------------------------------------+
181 alexandre_ 162
/* +--Fin du code ---------------------------------------------------------------------------------------+
468 mathias 163
* $Log: bazar.admin.php,v $
164
* Revision 1.2  2007/04/20 09:57:21  florian
165
* correction bugs suite au merge
166
*
227 florian 167
* Revision 1.1  2007/02/02 14:02:08  alexandre_tb
168
* version initiale vide pour le moment
169
*
181 alexandre_ 170
* +--Fin du code ----------------------------------------------------------------------------------------+
171
*/
172
?>