Subversion Repositories Applications.papyrus

Rev

Rev 261 | Rev 298 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 261 Rev 282
1
<?php
1
<?php
2
/*vim: set expandtab tabstop=4 shiftwidth=4: */ 
2
/*vim: set expandtab tabstop=4 shiftwidth=4: */ 
3
// +------------------------------------------------------------------------------------------------------+
3
// +------------------------------------------------------------------------------------------------------+
4
// | PHP version 4.1                                                                                      |
4
// | PHP version 4.1                                                                                      |
5
// +------------------------------------------------------------------------------------------------------+
5
// +------------------------------------------------------------------------------------------------------+
6
// | Copyright (C) 2001 Laurent COUDOUNEAU (lc@gsite.org)                                                 |
-
 
7
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org)                                         |
6
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org)                                         |
8
// +------------------------------------------------------------------------------------------------------+
7
// +------------------------------------------------------------------------------------------------------+
9
// | This library is free software; you can redistribute it and/or                                        |
8
// | This library is free software; you can redistribute it and/or                                        |
10
// | modify it under the terms of the GNU Lesser General Public                                           |
9
// | modify it under the terms of the GNU Lesser General Public                                           |
11
// | License as published by the Free Software Foundation; either                                         |
10
// | License as published by the Free Software Foundation; either                                         |
12
// | version 2.1 of the License, or (at your option) any later version.                                   |
11
// | version 2.1 of the License, or (at your option) any later version.                                   |
13
// |                                                                                                      |
12
// |                                                                                                      |
14
// | This library is distributed in the hope that it will be useful,                                      |
13
// | This library is distributed in the hope that it will be useful,                                      |
15
// | but WITHOUT ANY WARRANTY; without even the implied warranty of                                       |
14
// | but WITHOUT ANY WARRANTY; without even the implied warranty of                                       |
16
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU                                    |
15
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU                                    |
17
// | Lesser General Public License for more details.                                                      |
16
// | Lesser General Public License for more details.                                                      |
18
// |                                                                                                      |
17
// |                                                                                                      |
19
// | You should have received a copy of the GNU Lesser General Public                                     |
18
// | You should have received a copy of the GNU Lesser General Public                                     |
20
// | License along with this library; if not, write to the Free Software                                  |
19
// | License along with this library; if not, write to the Free Software                                  |
21
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                            |
20
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                            |
22
// +------------------------------------------------------------------------------------------------------+
21
// +------------------------------------------------------------------------------------------------------+
23
// CVS : $Id: adsi_site.fonct.php,v 1.17 2005-02-17 17:51:11 florian Exp $
22
// CVS : $Id: adsi_site.fonct.php,v 1.18 2005-02-28 10:59:07 jpm Exp $
24
/**
23
/**
25
* Bibliothèque de fonctions d'admininistration des projets
24
* Bibliothèque de fonctions d'admininistration des projets
26
*
25
*
27
* Contient un ensemble de fonctions permettant à l'application Administrateur de Papyrus, de modifier des informations
26
* Contient un ensemble de fonctions permettant à l'application Administrateur de Papyrus, de modifier des informations
28
* sur les projets (=sites gérés par Papyrus).
27
* sur les projets (=sites gérés par Papyrus).
29
*
28
*
30
*@package Admin_site
29
*@package Admin_site
31
*@subpackage Fonctions
30
*@subpackage Fonctions
32
//Auteur original :
31
//Auteur original :
33
*@author        Laurent COUDOUNEAU <lc@gsite.org>
32
*@author        Jean-Pascal MILCENT <jpm@tela-botanica.org>
34
//Autres auteurs :
33
//Autres auteurs :
35
*@author        Alexandre GRANIER <alexandre@tela-botanica.org>
34
*@author        Alexandre GRANIER <alexandre@tela-botanica.org>
36
*@author        Jean-Pascal MILCENT <jpm@tela-botanica.org>
-
 
37
*@copyright     Tela-Botanica 2000-2004
35
*@copyright     Tela-Botanica 2000-2004
38
*@version       $Revision: 1.17 $ $Date: 2005-02-17 17:51:11 $
36
*@version       $Revision: 1.18 $ $Date: 2005-02-28 10:59:07 $
39
// +------------------------------------------------------------------------------------------------------+
37
// +------------------------------------------------------------------------------------------------------+
40
*/
38
*/
41
 
39
 
42
// +------------------------------------------------------------------------------------------------------+
40
// +------------------------------------------------------------------------------------------------------+
43
// |                                            ENTÊTE du PROGRAMME                                       |
41
// |                                            ENTÊTE du PROGRAMME                                       |
44
// +------------------------------------------------------------------------------------------------------+
42
// +------------------------------------------------------------------------------------------------------+
45
 
43
 
46
/** Inclusion de la classe Formulaire.
44
/** Inclusion de la classe Formulaire.
47
* Elle permet la création rapide de formulaire basé sur les tables Mysql.
45
* Elle permet la création rapide de formulaire basé sur les tables Mysql.
48
*/
46
*/
49
require_once ADSI_CHEMIN_BIBLIOTHEQUE_API.'formulaire_1.0/FORM_Form.class.php';
47
require_once ADSI_CHEMIN_BIBLIOTHEQUE_API.'formulaire/FORM_Form.class.php';
50
if (GEN_FTP_UTILISE) {
48
if (GEN_FTP_UTILISE) {
51
    /** Inclusion bibliothèque de PEAR gérant le FTP.*/
49
    /** Inclusion bibliothèque de PEAR gérant le FTP.*/
52
    require_once ADSI_CHEMIN_BIBLIOTHEQUE_PEAR.'Net/FTP.php';
50
    require_once ADSI_CHEMIN_BIBLIOTHEQUE_PEAR.'Net/FTP.php';
53
}
51
}
54
 
52
 
55
// +------------------------------------------------------------------------------------------------------+
53
// +------------------------------------------------------------------------------------------------------+
56
// |                                            CORPS du PROGRAMME                                        |
54
// |                                            CORPS du PROGRAMME                                        |
57
// +------------------------------------------------------------------------------------------------------+
55
// +------------------------------------------------------------------------------------------------------+
58
/** Fonction ADMIN_afficherListeSites()- Génére le xhtml permettant de choisir un site parmis une liste.
56
/** Fonction ADMIN_afficherListeSites()- Génére le xhtml permettant de choisir un site parmis une liste.
59
*
57
*
60
* Cette fonction fournie une liste des sites principaux gérés par Génésia.
58
* Cette fonction fournie une liste des sites principaux gérés par Génésia.
61
*
59
*
62
* @param  string   l'objet Pear DB.
60
* @param  string   l'objet Pear DB.
63
* @param  string   l'url de la page à laquelle renvoyer le formulaire.
61
* @param  string   l'url de la page à laquelle renvoyer le formulaire.
64
* @param  string   un message important à destination de l'utilisateur.
62
* @param  string   un message important à destination de l'utilisateur.
65
* return  string   le code XHTML à retourner.
63
* return  string   le code XHTML à retourner.
66
*/
64
*/
67
function ADMIN_afficherFormListeSites($db, $url, $message = '')
65
function ADMIN_afficherFormListeSites($db, $url, $message = '')
68
{
66
{
69
    // Liste des sites principaux
67
    // Liste des sites principaux
70
    $requete =  'SELECT * '.
68
    $requete =  'SELECT * '.
71
                'FROM gen_site, gen_site_relation '.
69
                'FROM gen_site, gen_site_relation '.
72
                'WHERE gsr_id_site_01 = gsr_id_site_02 '.
70
                'WHERE gsr_id_site_01 = gsr_id_site_02 '.
73
                'AND gsr_id_site_01 = gs_id_site '.
71
                'AND gsr_id_site_01 = gs_id_site '.
74
                'AND gsr_id_valeur IN (102, 103) '.
72
                'AND gsr_id_valeur IN (102, 103) '.
75
                'ORDER BY gsr_ordre';
73
                'ORDER BY gsr_ordre';
76
    
74
    
77
    $resultat = $db->query($requete);
75
    $resultat = $db->query($requete);
78
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '' ;
76
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '' ;
79
    
77
    
80
    //----------------------------------------------------------------------------
78
    //----------------------------------------------------------------------------
81
    // Création du formulaire
79
    // Création du formulaire
82
    $form =& new HTML_QuickForm('form_sites', 'post', $url);
80
    $form =& new HTML_QuickForm('form_sites', 'post', $url);
83
    $tab_index = 1000;
81
    $tab_index = 1000;
84
    $squelette =& $form->defaultRenderer();
82
    $squelette =& $form->defaultRenderer();
85
    $squelette->setFormTemplate("\n".'<form{attributes}>'."\n".'{content}'."\n".'</form>'."\n");
83
    $squelette->setFormTemplate("\n".'<form{attributes}>'."\n".'{content}'."\n".'</form>'."\n");
86
    $squelette->setElementTemplate( '<li>'."\n".'{label}'."\n".'{element}'."\n".
84
    $squelette->setElementTemplate( '<li>'."\n".'{label}'."\n".'{element}'."\n".
87
                                    '<!-- BEGIN required --><span class="symbole_obligatoire">*</span><!-- END required -->'."\n".
85
                                    '<!-- BEGIN required --><span class="symbole_obligatoire">*</span><!-- END required -->'."\n".
88
                                    '<!-- BEGIN error --><span class="erreur">{error}</span><!-- END error -->'."\n".
86
                                    '<!-- BEGIN error --><span class="erreur">{error}</span><!-- END error -->'."\n".
89
                                    '</li>'."\n");
87
                                    '</li>'."\n");
90
    $squelette->setRequiredNoteTemplate("\n".'<p>'."\n".'<span class="symbole_obligatoire">*</span> {requiredNote}'."\n".'</p>'."\n");
88
    $squelette->setRequiredNoteTemplate("\n".'<p>'."\n".'<span class="symbole_obligatoire">*</span> {requiredNote}'."\n".'</p>'."\n");
91
    
89
    
92
    $partie_site_debut =    '<fieldset>'."\n".
90
    $partie_site_debut =    '<fieldset>'."\n".
93
                            '<legend>Listes des sites</legend>'."\n".
91
                            '<legend>Listes des sites</legend>'."\n".
94
                            '<ul>'."\n";
92
                            '<ul>'."\n";
95
    $form->addElement('html', $partie_site_debut);
93
    $form->addElement('html', $partie_site_debut);
96
    
94
    
97
    $aso_options = array();
95
    $aso_options = array();
98
    while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
96
    while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
99
        $aso_options[$ligne->gs_id_site] = htmlentities($ligne->gs_nom.' ('.$ligne->gs_code_alpha.')');
97
        $aso_options[$ligne->gs_id_site] = htmlentities($ligne->gs_nom.' ('.$ligne->gs_code_alpha.')');
100
    }
98
    }
101
    $resultat->free();
99
    $resultat->free();
102
    
100
    
103
    $id = 'form_sites_id_site';
101
    $id = 'form_sites_id_site';
104
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++);
102
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++);
105
    $label = '<label for="'.$id.'">'.'Listes des sites : '.'</label>';
103
    $label = '<label for="'.$id.'">'.'Listes des sites : '.'</label>';
106
    $form->addElement('select', $id, $label, $aso_options, $aso_attributs);
104
    $form->addElement('select', $id, $label, $aso_options, $aso_attributs);
107
    
105
    
108
    $partie_site_fin =  '</ul>'."\n".
106
    $partie_site_fin =  '</ul>'."\n".
109
                        '</fieldset>'."\n";
107
                        '</fieldset>'."\n";
110
    $form->addElement('html', $partie_site_fin);
108
    $form->addElement('html', $partie_site_fin);
111
    
109
    
112
    $liste_bouton_debut = '<ul class="liste_bouton">'."\n";
110
    $liste_bouton_debut = '<ul class="liste_bouton">'."\n";
113
    $form->addElement('html', $liste_bouton_debut);
111
    $form->addElement('html', $liste_bouton_debut);
114
    
112
    
115
    $id = 'form_sites_ajouter';
113
    $id = 'form_sites_ajouter';
116
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++);
114
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++);
117
    $label = 'Ajouter';
115
    $label = 'Ajouter';
118
    $form->addElement('submit', $id, $label, $aso_attributs);
116
    $form->addElement('submit', $id, $label, $aso_attributs);
119
    
117
    
120
    $id = 'form_sites_modifier';
118
    $id = 'form_sites_modifier';
121
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++);
119
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++);
122
    $label = 'Modifier';
120
    $label = 'Modifier';
123
    $form->addElement('submit', $id, $label, $aso_attributs);
121
    $form->addElement('submit', $id, $label, $aso_attributs);
124
    
122
    
125
    $id = 'form_sites_supprimer';
123
    $id = 'form_sites_supprimer';
126
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'onclick' => 'javascript:return confirm(\''.'Êtes vous sûr de vouloir supprimer ce site ?'.'\');');
124
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'onclick' => 'javascript:return confirm(\''.'Êtes vous sûr de vouloir supprimer ce site ?'.'\');');
127
    $label = 'Supprimer';
125
    $label = 'Supprimer';
128
    $form->addElement('submit', $id, $label, $aso_attributs);
126
    $form->addElement('submit', $id, $label, $aso_attributs);
129
    
127
    
130
    $liste_bouton_fin = '</ul>'."\n";
128
    $liste_bouton_fin = '</ul>'."\n";
131
    $form->addElement('html', $liste_bouton_fin);
129
    $form->addElement('html', $liste_bouton_fin);
132
    
130
    
133
    $sortie = $form->toHTML()."\n";
131
    $sortie = $form->toHTML()."\n";
134
    
132
    
135
    // Titre de la page:
133
    // Titre de la page:
136
    $titre = 'Configuration des sites';
134
    $titre = 'Configuration des sites';
137
    
135
    
138
    // Construction de la page.
136
    // Construction de la page.
139
    return ADMIN_contruirePage($titre, $sortie, $message);
137
    return ADMIN_contruirePage($titre, $sortie, $message);
140
}
138
}
141
 
139
 
142
/** Fonction ADMIN_validerFormListesSites() - Valide les données issues du formulaire de liste de sites.
140
/** Fonction ADMIN_validerFormListesSites() - Valide les données issues du formulaire de liste de sites.
143
*
141
*
144
* Cette fonction valide les données du formulaire de liste de site.
142
* Cette fonction valide les données du formulaire de liste de site.
145
*
143
*
146
* @param  string   l'objet pear de connexion à la base de données.
144
* @param  string   l'objet pear de connexion à la base de données.
147
* @param  string   le tableau contenant les valeurs du formulaire.
145
* @param  string   le tableau contenant les valeurs du formulaire.
148
* @return string   retourne les messages d'erreurs sinon rien.
146
* @return string   retourne les messages d'erreurs sinon rien.
149
*/
147
*/
150
function ADMIN_validerFormListesSites($db, $aso_valeurs)
148
function ADMIN_validerFormListesSites($db, $aso_valeurs)
151
{
149
{
152
    $message = '';
150
    $message = '';
153
    
151
    
154
    // Validation des données du formulaire
152
    // Validation des données du formulaire
155
    if (empty($aso_valeurs['form_sites_id_site'])) {
153
    if (empty($aso_valeurs['form_sites_id_site'])) {
156
        $message .= '<p class="pap_erreur">Vous devez d\'abord sélectionner un site.</p>';
154
        $message .= '<p class="pap_erreur">Vous devez d\'abord sélectionner un site.</p>';
157
    }
155
    }
158
    
156
    
159
    return $message;
157
    return $message;
160
}
158
}
161
 
159
 
162
/** Fonction ADMIN_afficherFormSite()- Génére un formulaire pour gen_site.
160
/** Fonction ADMIN_afficherFormSite()- Génére un formulaire pour gen_site.
163
*
161
*
164
* Cette fonction retourne un formulaire pour modification ou pour ajout.
162
* Cette fonction retourne un formulaire pour modification ou pour ajout.
165
*
163
*
166
* @param  string   l'objet pear de connexion à la base de données.
164
* @param  string   l'objet pear de connexion à la base de données.
167
* @param  string   l'url à laquelle renvoyer le formulaire.
165
* @param  string   l'url à laquelle renvoyer le formulaire.
168
* @param  string   le tableau contenant les valeurs du formulaire.
166
* @param  string   le tableau contenant les valeurs du formulaire.
169
* @param  string   un message à destination de l'utilisateur.
167
* @param  string   un message à destination de l'utilisateur.
170
* return  string   le code XHTML à retourner.
168
* return  string   le code XHTML à retourner.
171
*/
169
*/
172
function ADMIN_afficherFormSite($db, $url, $aso_valeurs = array(), $message = '')
170
function ADMIN_afficherFormSite($db, $url, $aso_valeurs = array(), $message = '')
173
{
171
{
174
    //initialisation des valeurs
172
    //initialisation des valeurs
175
    $aso_valeurs['modification'] = false;
173
    $aso_valeurs['modification'] = false;
176
    $aso_valeurs['defaut'] = false;
174
    $aso_valeurs['defaut'] = false;
177
    $aso_valeurs['type_site_externe'] = 0;
175
    $aso_valeurs['type_site_externe'] = 0;
178
    // Nous cherchons à savoir si nous somme en modification
176
    // Nous cherchons à savoir si nous somme en modification
179
    if (isset($aso_valeurs['form_sites_modifier'])) {
177
    if (isset($aso_valeurs['form_sites_modifier'])) {
180
        $site_id = $aso_valeurs['form_sites_id_site'];
178
        $site_id = $aso_valeurs['form_sites_id_site'];
181
        // Requete pour récupérer les informations sur le site à modifier
179
        // Requete pour récupérer les informations sur le site à modifier
182
        $requete =  'SELECT * '.
180
        $requete =  'SELECT * '.
183
                    'FROM gen_site '.
181
                    'FROM gen_site '.
184
                    'WHERE gs_id_site = '.$site_id;
182
                    'WHERE gs_id_site = '.$site_id;
185
        $resultat = $db->query($requete);
183
        $resultat = $db->query($requete);
186
        if (DB::isError($resultat)) {
184
        if (DB::isError($resultat)) {
187
            die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
185
            die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
188
        }
186
        }
189
        $aso_valeurs = $resultat->fetchRow(DB_FETCHMODE_ASSOC);
187
        $aso_valeurs = $resultat->fetchRow(DB_FETCHMODE_ASSOC);
190
        $resultat->free();
188
        $resultat->free();
191
        
189
        
192
        // Requete pour récupérer les informations issues des relations du site à modifier
190
        // Requete pour récupérer les informations issues des relations du site à modifier
193
        $requete =  'SELECT * '.
191
        $requete =  'SELECT * '.
194
                    'FROM gen_site_relation '.
192
                    'FROM gen_site_relation '.
195
                    'WHERE gsr_id_site_01 = '.$site_id.' '.
193
                    'WHERE gsr_id_site_01 = '.$site_id.' '.
196
                    'AND gsr_id_site_01 = gsr_id_site_02';
194
                    'AND gsr_id_site_01 = gsr_id_site_02';
197
        $resultat = $db->query($requete);
195
        $resultat = $db->query($requete);
198
        if (DB::isError($resultat)) {
196
        if (DB::isError($resultat)) {
199
            die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
197
            die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
200
        }
198
        }
201
        
199
        
202
        $tab_type = GEN_retournerTableauTypeSiteExterne($db);
200
        $tab_type = GEN_retournerTableauTypeSiteExterne($db);
203
        while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ) {
201
        while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ) {
204
            if ($ligne->gsr_id_valeur == 101) {// 101 = site par défaut
202
            if ($ligne->gsr_id_valeur == 101) {// 101 = site par défaut
205
                $aso_valeurs['defaut'] = true;
203
                $aso_valeurs['defaut'] = true;
206
            }
204
            }
207
            foreach ($tab_type as $cle => $val) {
205
            foreach ($tab_type as $cle => $val) {
208
                if ($ligne->gsr_id_valeur == $val['id']) {// 20x = type de site externe à Papyrus
206
                if ($ligne->gsr_id_valeur == $val['id']) {// 20x = type de site externe à Papyrus
209
                    $aso_valeurs['type_site_externe'] = $val['id'];
207
                    $aso_valeurs['type_site_externe'] = $val['id'];
210
                }
208
                }
211
            }
209
            }
212
        }
210
        }
213
        $resultat->free();
211
        $resultat->free();
214
        
212
        
215
        $aso_valeurs['modification'] = true;
213
        $aso_valeurs['modification'] = true;
216
    } else if (isset($aso_valeurs['gs_id_site'])) {
214
    } else if (isset($aso_valeurs['gs_id_site'])) {
217
        $aso_valeurs['modification'] = true;
215
        $aso_valeurs['modification'] = true;
218
    }
216
    }
219
    // Débogage :
217
    // Débogage :
220
    //$GLOBALS['_DEBOGAGE_'] .= '<pre>'.print_r($aso_valeurs, true).'</pre>';
218
    //$GLOBALS['_DEBOGAGE_'] .= '<pre>'.print_r($aso_valeurs, true).'</pre>';
221
    
219
    
222
    //----------------------------------------------------------------------------
220
    //----------------------------------------------------------------------------
223
    // Création du formulaire
221
    // Création du formulaire
224
    $form =& new HTML_QuickForm('site', 'post', $url);
222
    $form =& new HTML_QuickForm('site', 'post', $url);
225
    $tab_index = 1000;
223
    $tab_index = 1000;
226
    $squelette =& $form->defaultRenderer();
224
    $squelette =& $form->defaultRenderer();
227
    $squelette->setFormTemplate("\n".'<form{attributes}>'."\n".'{content}'."\n".'</form>'."\n");
225
    $squelette->setFormTemplate("\n".'<form{attributes}>'."\n".'{content}'."\n".'</form>'."\n");
228
    $squelette->setElementTemplate(  '<li>'."\n".
226
    $squelette->setElementTemplate(  '<li>'."\n".
229
                                    '{label}'."\n".
227
                                    '{label}'."\n".
230
                                    '{element}'."\n".
228
                                    '{element}'."\n".
231
                                    '<!-- BEGIN required --><span class="symbole_obligatoire">*</span><!-- END required -->'."\n".
229
                                    '<!-- BEGIN required --><span class="symbole_obligatoire">*</span><!-- END required -->'."\n".
232
                                    '<!-- BEGIN error --><span class="erreur">{error}</span><!-- END error -->'."\n".
230
                                    '<!-- BEGIN error --><span class="erreur">{error}</span><!-- END error -->'."\n".
233
                                    '</li>'."\n");
231
                                    '</li>'."\n");
234
    $squelette->setGroupElementTemplate('{label}'."\n".
232
    $squelette->setGroupElementTemplate('{label}'."\n".
235
                                        '{element}'."\n".
233
                                        '{element}'."\n".
236
                                        '<!-- BEGIN required --><span class="symbole_obligatoire">*</span><!-- END required -->'."\n".
234
                                        '<!-- BEGIN required --><span class="symbole_obligatoire">*</span><!-- END required -->'."\n".
237
                                        '&nbsp;'."\n"
235
                                        '&nbsp;'."\n"
238
                                        , 'double');
236
                                        , 'double');
239
    $squelette->setRequiredNoteTemplate("\n".'<p><span class="symbole_obligatoire">*</span> {requiredNote}</p>'."\n");
237
    $squelette->setRequiredNoteTemplate("\n".'<p><span class="symbole_obligatoire">*</span> {requiredNote}</p>'."\n");
240
    
238
    
241
    $partie_site_debut = '<fieldset>'."\n".'<legend>Configuration du site</legend>'."\n".'<ul>'."\n";
239
    $partie_site_debut = '<fieldset>'."\n".'<legend>Configuration du site</legend>'."\n".'<ul>'."\n";
242
    $form->addElement('html', $partie_site_debut);
240
    $form->addElement('html', $partie_site_debut);
243
    
241
    
244
    if ($aso_valeurs['modification']) {
242
    if ($aso_valeurs['modification']) {
245
        $form->addElement('hidden', 'gs_id_site');
243
        $form->addElement('hidden', 'gs_id_site');
246
    }
244
    }
247
    
245
    
248
    $id = 'gs_nom';
246
    $id = 'gs_nom';
249
    $aso_attributs = array('id'=>$id, 'tabindex' => $tab_index++, 'size' => 45, 'maxlength' => 100, 'value' => 'nom du site');
247
    $aso_attributs = array('id'=>$id, 'tabindex' => $tab_index++, 'size' => 45, 'maxlength' => 100, 'value' => 'nom du site');
250
    $label = '<label for="'.$id.'">'.'Nom du site : '.'</label>';
248
    $label = '<label for="'.$id.'">'.'Nom du site : '.'</label>';
251
    $form->addElement('text', $id, $label, $aso_attributs);
249
    $form->addElement('text', $id, $label, $aso_attributs);
252
    $form->addRule($id, 'Un nom est requis pour le site !', 'required', '', 'client');
250
    $form->addRule($id, 'Un nom est requis pour le site !', 'required', '', 'client');
253
    
251
    
254
    $id = 'gs_code_alpha';
252
    $id = 'gs_code_alpha';
255
    $aso_attributs = array('id'=>$id, 'tabindex' => $tab_index++, 'size' => 20, 'maxlength' => 20, 'value' => 'site_01');
253
    $aso_attributs = array('id'=>$id, 'tabindex' => $tab_index++, 'size' => 20, 'maxlength' => 20, 'value' => 'site_01');
256
    $label = '<label for="'.$id.'">'.'Code alphanumérique : '.'</label>';
254
    $label = '<label for="'.$id.'">'.'Code alphanumérique : '.'</label>';
257
    $form->addElement('text', $id, $label, $aso_attributs);
255
    $form->addElement('text', $id, $label, $aso_attributs);
258
    $form->addRule('gs_code_alpha', 'Un code alphanumérique est requis pour le site !', 'required', '', 'client');
256
    $form->addRule('gs_code_alpha', 'Un code alphanumérique est requis pour le site !', 'required', '', 'client');
259
    
257
    
260
    $id = 'gs_code_num';
258
    $id = 'gs_code_num';
261
    $aso_attributs = array('id'=>$id, 'tabindex' => $tab_index++, 'size' => 20, 'maxlength' => 20, 'value' => 1);
259
    $aso_attributs = array('id'=>$id, 'tabindex' => $tab_index++, 'size' => 20, 'maxlength' => 20, 'value' => 1);
262
    $label = '<label for="'.$id.'">'.'Code numérique : '.'</label>';
260
    $label = '<label for="'.$id.'">'.'Code numérique : '.'</label>';
263
    $form->addElement('text', $id, $label, $aso_attributs);
261
    $form->addElement('text', $id, $label, $aso_attributs);
264
    $form->addRule('gs_code_num', 'Un code numérique est requis pour le site !', 'required', '', 'client');
262
    $form->addRule('gs_code_num', 'Un code numérique est requis pour le site !', 'required', '', 'client');
265
    
263
    
266
    $id = 'gs_raccourci_clavier';
264
    $id = 'gs_raccourci_clavier';
267
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 1, 'maxlength' => 1, 'value' => 'Z');
265
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 1, 'maxlength' => 1, 'value' => 'Z');
268
    $label = '<label for="'.$id.'">'.'Raccourci clavier : '.'</label>';
266
    $label = '<label for="'.$id.'">'.'Raccourci clavier : '.'</label>';
269
    $form->addElement('text', $id, $label, $aso_attributs);
267
    $form->addElement('text', $id, $label, $aso_attributs);
270
    
268
    
271
    // Requete pour connaitre les identifications dispo
269
    // Requete pour connaitre les identifications dispo
272
    $requete =  'SELECT * '.
270
    $requete =  'SELECT * '.
273
                'FROM gen_site_auth '.
271
                'FROM gen_site_auth '.
274
                'WHERE gsa_id_auth != 0';
272
                'WHERE gsa_id_auth != 0';
275
    $resultat = $db->query($requete) ;
273
    $resultat = $db->query($requete) ;
276
    if (DB::isError($resultat)) {
274
    if (DB::isError($resultat)) {
277
        die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
275
        die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
278
    }
276
    }
279
    $aso_options = array();
277
    $aso_options = array();
280
    while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ) {
278
    while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ) {
281
        // Test pour connaître le type d'authentification.
279
        // Test pour connaître le type d'authentification.
282
        $type = '';
280
        $type = '';
283
        if ($ligne->gsa_ce_type_auth == '1' ) {
281
        if ($ligne->gsa_ce_type_auth == '1' ) {
284
            $type = 'Base de données';
282
            $type = 'Base de données';
285
        } else if ($ligne->gsa_ce_type_auth == '2' ) {
283
        } else if ($ligne->gsa_ce_type_auth == '2' ) {
286
            $type = 'LDAP';
284
            $type = 'LDAP';
287
        }
285
        }
288
        $aso_options[$ligne->gsa_id_auth] = $ligne->gsa_nom.' ('.$type.')';
286
        $aso_options[$ligne->gsa_id_auth] = $ligne->gsa_nom.' ('.$type.')';
289
    }
287
    }
290
    $resultat->free();
288
    $resultat->free();
291
    $id = 'gs_ce_auth';
289
    $id = 'gs_ce_auth';
292
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++);
290
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++);
293
    $label = '<label for="'.$id.'">'.'Identification : '.'</label>';
291
    $label = '<label for="'.$id.'">'.'Identification : '.'</label>';
294
    $form->addElement('select', $id, $label, $aso_options, $aso_attributs);
292
    $form->addElement('select', $id, $label, $aso_options, $aso_attributs);
295
    
293
    
296
    // En modification nous affichons la liste des squelettes disponiblent dans
294
    // En modification nous affichons la liste des squelettes disponiblent dans
297
    // le dossier du site.
295
    // le dossier du site.
298
    if ($aso_valeurs['modification']) {
296
    if ($aso_valeurs['modification']) {
299
        $aso_options = array();
297
        $aso_options = array();
300
        if (!GEN_FTP_UTILISE) {
298
        if (!GEN_FTP_UTILISE) {
301
            $chemin_squelettes =    PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.
299
            $chemin_squelettes =    PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.
302
                                    $aso_valeurs['gs_ce_i18n'].GEN_SEP.GEN_DOSSIER_SQUELETTE.GEN_SEP;
300
                                    $aso_valeurs['gs_ce_i18n'].GEN_SEP.GEN_DOSSIER_SQUELETTE.GEN_SEP;
303
            $dossier = opendir($chemin_squelettes);
301
            $dossier = opendir($chemin_squelettes);
304
            while(($fichier = readdir($dossier)) !== false) {
302
            while(($fichier = readdir($dossier)) !== false) {
305
                if ($fichier != '.' && $fichier != '..') {
303
                if ($fichier != '.' && $fichier != '..') {
306
                    $chemin_type = $chemin_squelettes.GEN_SEP.$fichier;
304
                    $chemin_type = $chemin_squelettes.GEN_SEP.$fichier;
307
                    if (filetype($chemin_type) != 'dir') {
305
                    if (filetype($chemin_type) != 'dir') {
308
                        $aso_options[$fichier] = $fichier;
306
                        $aso_options[$fichier] = $fichier;
309
                    }
307
                    }
310
                }
308
                }
311
            }
309
            }
312
        } else {
310
        } else {
313
            // ouverture des squelettes présent dans le dossier du site 
311
            // ouverture des squelettes présent dans le dossier du site 
314
            // création de l'objet pear ftp
312
            // création de l'objet pear ftp
315
            $objet_pear_ftp = new Net_FTP(PAP_FTP_SERVEUR, PAP_FTP_PORT);
313
            $objet_pear_ftp = new Net_FTP(PAP_FTP_SERVEUR, PAP_FTP_PORT);
316
            // création de la connexion
314
            // création de la connexion
317
            $ftp_conn = $objet_pear_ftp->connect(PAP_FTP_SERVEUR, PAP_FTP_PORT);
315
            $ftp_conn = $objet_pear_ftp->connect(PAP_FTP_SERVEUR, PAP_FTP_PORT);
318
            // identification
316
            // identification
319
            $ftp_login_result = $objet_pear_ftp->login(PAP_FTP_UTILISATEUR, PAP_FTP_MOT_DE_PASSE);
317
            $ftp_login_result = $objet_pear_ftp->login(PAP_FTP_UTILISATEUR, PAP_FTP_MOT_DE_PASSE);
320
            // Gestion des erreurs ftp
318
            // Gestion des erreurs ftp
321
            if ((PEAR::isError($ftp_conn) || PEAR::isError($ftp_login_result))) {
319
            if ((PEAR::isError($ftp_conn) || PEAR::isError($ftp_login_result))) {
322
                die('ERREUR Papyrus admin : impossible de se connecter par ftp.<br />'.
320
                die('ERREUR Papyrus admin : impossible de se connecter par ftp.<br />'.
323
                    'Serveur : '. GEN_FTP_SERVEUR .'<br />'.
321
                    'Serveur : '. GEN_FTP_SERVEUR .'<br />'.
324
                    'Utilisateur : '. GEN_FTP_UTILISATEUR .'<br />'.
322
                    'Utilisateur : '. GEN_FTP_UTILISATEUR .'<br />'.
325
                    'Ligne n° : '. __LINE__ .'<br />'.
323
                    'Ligne n° : '. __LINE__ .'<br />'.
326
                    'Fichier n° : '. __FILE__ .'<br />');
324
                    'Fichier n° : '. __FILE__ .'<br />');
327
                    //'Message erreur de connection : '.$ftp_conn->getMessage().'<br />'.
325
                    //'Message erreur de connection : '.$ftp_conn->getMessage().'<br />'.
328
                    //'Message erreur de login : '.$ftp_login_result->getMessage());
326
                    //'Message erreur de login : '.$ftp_login_result->getMessage());
329
            }
327
            }
330
            $chemin_squelettes =    PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.
328
            $chemin_squelettes =    PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.
331
                                    $aso_valeurs['gs_ce_i18n'].GEN_SEP.GEN_DOSSIER_SQUELETTE.GEN_SEP;
329
                                    $aso_valeurs['gs_ce_i18n'].GEN_SEP.GEN_DOSSIER_SQUELETTE.GEN_SEP;
332
            $tab_squelettes = $objet_pear_ftp->ls($chemin_squelettes);
330
            $tab_squelettes = $objet_pear_ftp->ls($chemin_squelettes);
333
            $aso_options = array();
331
            $aso_options = array();
334
            for ($i = 0; $i < count($tab_squelettes) ; $i++) {
332
            for ($i = 0; $i < count($tab_squelettes) ; $i++) {
335
                if ($tab_squelettes[$i]['is_dir'] == false) {
333
                if ($tab_squelettes[$i]['is_dir'] == false) {
336
                    $aso_options[$tab_squelettes[$i]['name']] = $tab_squelettes[$i]['name'];
334
                    $aso_options[$tab_squelettes[$i]['name']] = $tab_squelettes[$i]['name'];
337
                }
335
                }
338
            }
336
            }
339
            $objet_pear_ftp->disconnect();
337
            $objet_pear_ftp->disconnect();
340
        }
338
        }
341
        
339
        
342
        // Vérification de la présence de squelettes
340
        // Vérification de la présence de squelettes
343
        if (count($aso_options) == 0) {
341
        if (count($aso_options) == 0) {
344
            $aso_options['Aucun squelette'] = 'Aucun squelette';
342
            $aso_options['Aucun squelette'] = 'Aucun squelette';
345
        }
343
        }
346
        
344
        
347
        $id = 'gs_fichier_squelette';
345
        $id = 'gs_fichier_squelette';
348
        $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++);
346
        $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++);
349
        $label = '<label for="'.$id.'">'.'Squelette : '.'</label>';
347
        $label = '<label for="'.$id.'">'.'Squelette : '.'</label>';
350
        $form->addElement('select', $id, $label, $aso_options, $aso_attributs);
348
        $form->addElement('select', $id, $label, $aso_options, $aso_attributs);
351
    }
349
    }
352
    
350
    
353
    // Requete pour connaitre les internationalisation dispo
351
    // Requete pour connaitre les internationalisation dispo
354
    $requete =  'SELECT * '.
352
    $requete =  'SELECT * '.
355
                'FROM gen_i18n ';
353
                'FROM gen_i18n ';
356
    $resultat = $db->query($requete) ;
354
    $resultat = $db->query($requete) ;
357
    if (DB::isError($resultat)) {
355
    if (DB::isError($resultat)) {
358
        die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
356
        die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
359
    }
357
    }
360
    $aso_options = array();
358
    $aso_options = array();
361
    while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ) {
359
    while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ) {
362
        $aso_options[$ligne->gi_id_i18n] = $ligne->gi_id_i18n;
360
        $aso_options[$ligne->gi_id_i18n] = $ligne->gi_id_i18n;
363
    }
361
    }
364
    $resultat->free();
362
    $resultat->free();
365
    $id = 'gs_ce_i18n';
363
    $id = 'gs_ce_i18n';
366
    $aso_attributs = array('id' => $id, 'tabindex' => $tab_index++);
364
    $aso_attributs = array('id' => $id, 'tabindex' => $tab_index++);
367
    $label = '<label for="'.$id.'">'.'Langue : '.'</label>';
365
    $label = '<label for="'.$id.'">'.'Langue : '.'</label>';
368
    $form->addElement('select', $id, $label, $aso_options, $aso_attributs);
366
    $form->addElement('select', $id, $label, $aso_options, $aso_attributs);
369
    
367
    
370
    $id = 'defaut';
368
    $id = 'defaut';
371
    $aso_attributs = array('id' => $id, 'tabindex' => $tab_index++);
369
    $aso_attributs = array('id' => $id, 'tabindex' => $tab_index++);
372
    if ($aso_valeurs[$id] === true) {
370
    if ($aso_valeurs[$id] === true) {
373
        $aso_attributs['checked'] = 'checked';
371
        $aso_attributs['checked'] = 'checked';
374
    }
372
    }
375
    $label = '<label for="'.$id.'">'.'En faire le site par défaut : '.'</label>';
373
    $label = '<label for="'.$id.'">'.'En faire le site par défaut : '.'</label>';
376
    $form->addElement('checkbox', $id, $label, null, $aso_attributs);
374
    $form->addElement('checkbox', $id, $label, null, $aso_attributs);
377
    
375
    
378
    // Groupe site externe
376
    // Groupe site externe
379
    $tab_type = GEN_retournerTableauTypeSiteExterne($db);
377
    $tab_type = GEN_retournerTableauTypeSiteExterne($db);
380
    $aso_options = array('0' => 'Aucun');
378
    $aso_options = array('0' => 'Aucun');
381
    foreach ($tab_type as $cle => $val) {
379
    foreach ($tab_type as $cle => $val) {
382
        $aso_options[$val['id']] = $val['intitule'];
380
        $aso_options[$val['id']] = $val['intitule'];
383
    }
381
    }
384
    $id = 'type_site_externe';
382
    $id = 'type_site_externe';
385
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++);
383
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++);
386
    $label = 'type : ';
384
    $label = 'type : ';
387
    $groupe[] =& HTML_QuickForm::createElement('select', $id, $label, $aso_options, $aso_attributs);
385
    $groupe[] =& HTML_QuickForm::createElement('select', $id, $label, $aso_options, $aso_attributs);
388
    
386
    
389
    $id = 'gs_url';
387
    $id = 'gs_url';
390
    $aso_attributs = array('id' => $id, 'tabindex' => $tab_index++,'size' => 45, 'maxlength' => 255, 'value' => 'http://');
388
    $aso_attributs = array('id' => $id, 'tabindex' => $tab_index++,'size' => 45, 'maxlength' => 255, 'value' => 'http://');
391
    $label = 'url : ';// Les navigateurs gères mal les labels au sein d'un même <li>
389
    $label = 'url : ';// Les navigateurs gères mal les labels au sein d'un même <li>
392
    $groupe[] =& HTML_QuickForm::createElement('text', $id, $label, $aso_attributs);
390
    $groupe[] =& HTML_QuickForm::createElement('text', $id, $label, $aso_attributs);
393
    
391
    
394
    $label = '<label>'.'Site externe : '.'</label>';
392
    $label = '<label>'.'Site externe : '.'</label>';
395
    $form->addGroup($groupe, 'double', $label, '', false);
393
    $form->addGroup($groupe, 'double', $label, '', false);
396
    
394
    
397
    $partie_site_fin = '</ul>'."\n".'</fieldset>'."\n";
395
    $partie_site_fin = '</ul>'."\n".'</fieldset>'."\n";
398
    $form->addElement('html', $partie_site_fin);
396
    $form->addElement('html', $partie_site_fin);
399
    
397
    
400
    $partie_entete_debut = '<fieldset>'."\n".'<legend>Entête par défaut des pages du site</legend>'."\n".'<ul>'."\n";
398
    $partie_entete_debut = '<fieldset>'."\n".'<legend>Entête par défaut des pages du site</legend>'."\n".'<ul>'."\n";
401
    $form->addElement('html', $partie_entete_debut);
399
    $form->addElement('html', $partie_entete_debut);
402
    
400
    
403
    $id = 'gs_titre';
401
    $id = 'gs_titre';
404
    $aso_attributs = array('id'=>$id, 'tabindex' => $tab_index++, 'size' => 45, 'maxlength' => 255, 'value' => 'titre du site');
402
    $aso_attributs = array('id'=>$id, 'tabindex' => $tab_index++, 'size' => 45, 'maxlength' => 255, 'value' => 'titre du site');
405
    $label = '<label for="'.$id.'">'.'Titre du site : '.'</label>';
403
    $label = '<label for="'.$id.'">'.'Titre du site : '.'</label>';
406
    $form->addElement('text', $id, $label, $aso_attributs);
404
    $form->addElement('text', $id, $label, $aso_attributs);
407
    $form->addRule('gs_titre', 'Un titre est requis pour le site !', 'required', '', 'client');
405
    $form->addRule('gs_titre', 'Un titre est requis pour le site !', 'required', '', 'client');
408
    
406
    
409
    $id = 'gs_mots_cles';
407
    $id = 'gs_mots_cles';
410
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'rows' => 3, 'cols' => 45);
408
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'rows' => 3, 'cols' => 45);
411
    $label = '<label for="'.$id.'">'.'Mots-clés : '.'</label>';
409
    $label = '<label for="'.$id.'">'.'Mots-clés : '.'</label>';
412
    $zone_mots_cles = $form->createElement('textarea', $id, $label, $aso_attributs);
410
    $zone_mots_cles = $form->createElement('textarea', $id, $label, $aso_attributs);
413
    $zone_mots_cles->setValue('mots-clés du site');
411
    $zone_mots_cles->setValue('mots-clés du site');
414
    $form->addElement($zone_mots_cles);
412
    $form->addElement($zone_mots_cles);
415
    $form->addRule($id, 'Des mots clés sont requis pour le site !', 'required', '', 'client');
413
    $form->addRule($id, 'Des mots clés sont requis pour le site !', 'required', '', 'client');
416
    
414
    
417
    $id = 'gs_description';
415
    $id = 'gs_description';
418
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'rows' => 3, 'cols' => 45);
416
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'rows' => 3, 'cols' => 45);
419
    $label = '<label for="'.$id.'">'.'Description du contenu : '.'</label>';
417
    $label = '<label for="'.$id.'">'.'Description du contenu : '.'</label>';
420
    $zone = $form->createElement('textarea', $id, $label, $aso_attributs);
418
    $zone = $form->createElement('textarea', $id, $label, $aso_attributs);
421
    $zone->setValue('description du site');
419
    $zone->setValue('description du site');
422
    $form->addElement($zone);
420
    $form->addElement($zone);
423
    $form->addRule($id, 'Une description est requise pour le site !', 'required', '', 'client');
421
    $form->addRule($id, 'Une description est requise pour le site !', 'required', '', 'client');
424
    
422
    
425
    $id = 'gs_auteur';
423
    $id = 'gs_auteur';
426
    $aso_attributs = array('id'=>$id, 'tabindex' => $tab_index++, 'size' => 45, 'maxlength' => 255, 'value' => 'auteur du site');
424
    $aso_attributs = array('id'=>$id, 'tabindex' => $tab_index++, 'size' => 45, 'maxlength' => 255, 'value' => 'auteur du site');
427
    $label = '<label for="'.$id.'">'.'Auteur du site : '.'</label>';
425
    $label = '<label for="'.$id.'">'.'Auteur du site : '.'</label>';
428
    $form->addElement('text', $id, $label, $aso_attributs);
426
    $form->addElement('text', $id, $label, $aso_attributs);
429
    $form->addRule('gs_auteur', 'Un auteur est requis pour le site !', 'required', '', 'client');  
427
    $form->addRule('gs_auteur', 'Un auteur est requis pour le site !', 'required', '', 'client');  
430
    
428
    
431
    $partie_entete_fin = '</ul>'."\n".'</fieldset>'."\n";
429
    $partie_entete_fin = '</ul>'."\n".'</fieldset>'."\n";
432
    $form->addElement('html', $partie_entete_fin);
430
    $form->addElement('html', $partie_entete_fin);
433
    
431
    
434
    if ($aso_valeurs['modification']) {
432
    if ($aso_valeurs['modification']) {
435
        // Requete pour connaitre les informations sur l'administrateur ayant fait la dernière modif
433
        // Requete pour connaitre les informations sur l'administrateur ayant fait la dernière modif
436
        $requete_admin =    'SELECT * '.
434
        $requete_admin =    'SELECT * '.
437
                            'FROM gen_annuaire '.
435
                            'FROM gen_annuaire '.
438
                            'WHERE ga_id_administrateur = '.$aso_valeurs['gs_ce_admin'];
436
                            'WHERE ga_id_administrateur = '.$aso_valeurs['gs_ce_admin'];
439
        $resultat_admin = $db->query($requete_admin);
437
        $resultat_admin = $db->query($requete_admin);
440
        if (DB::isError($resultat_admin)) {
438
        if (DB::isError($resultat_admin)) {
441
            die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_admin->getMessage(), $requete_admin));
439
            die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_admin->getMessage(), $requete_admin));
442
        }
440
        }
443
        $ligne_admin = $resultat_admin->fetchRow(DB_FETCHMODE_OBJECT);
441
        $ligne_admin = $resultat_admin->fetchRow(DB_FETCHMODE_OBJECT);
444
        $info_admin =   '<p class="info">Dernière modification par'.$ligne_admin->ga_prenom.' '.$ligne_admin->ga_nom.
442
        $info_admin =   '<p class="info">Dernière modification par'.$ligne_admin->ga_prenom.' '.$ligne_admin->ga_nom.
445
                        ' le '.$aso_valeurs['gs_date_creation'].'</p>';
443
                        ' le '.$aso_valeurs['gs_date_creation'].'</p>';
446
        $form->addElement('html', $info_admin);
444
        $form->addElement('html', $info_admin);
447
        $form->addElement('hidden', 'gs_ce_admin');
445
        $form->addElement('hidden', 'gs_ce_admin');
448
        $form->addElement('hidden', 'gs_date_creation');
446
        $form->addElement('hidden', 'gs_date_creation');
449
        
447
        
450
        // Titre de la page:
448
        // Titre de la page:
451
        $titre = 'Modifier un site';
449
        $titre = 'Modifier un site';
452
        // Bouton validant le formulaire
450
        // Bouton validant le formulaire
453
        $bouton_validation = '<input type="submit" id="site_modifier" name="site_modifier" value="Enregistrer" />';
451
        $bouton_validation = '<input type="submit" id="site_modifier" name="site_modifier" value="Enregistrer" />';
454
    } else {
452
    } else {
455
        // Titre de la page:
453
        // Titre de la page:
456
        $titre = 'Ajouter un site';
454
        $titre = 'Ajouter un site';
457
        // Bouton validant le formulaire
455
        // Bouton validant le formulaire
458
        $bouton_validation = '<input type="submit" id="site_enregistrer" name="site_enregistrer" value="Enregistrer" />';
456
        $bouton_validation = '<input type="submit" id="site_enregistrer" name="site_enregistrer" value="Enregistrer" />';
459
    }
457
    }
460
    $bouton_annuler =   '<input type="submit" id="form_annuler" name="form_annuler" value="Annuler" />';
458
    $bouton_annuler =   '<input type="submit" id="form_annuler" name="form_annuler" value="Annuler" />';
461
    $bouton_effacer =   '<input type="reset" id="effacer" name="effacer" value="Effacer" />';
459
    $bouton_effacer =   '<input type="reset" id="effacer" name="effacer" value="Effacer" />';
462
    $boutons =  '<p>'."\n".
460
    $boutons =  '<p>'."\n".
463
                $bouton_validation."\n".
461
                $bouton_validation."\n".
464
                $bouton_annuler."\n".
462
                $bouton_annuler."\n".
465
                $bouton_effacer."\n".
463
                $bouton_effacer."\n".
466
                '</p>'."\n";
464
                '</p>'."\n";
467
    $form->addElement('html', $boutons);
465
    $form->addElement('html', $boutons);
468
    
466
    
469
    // Instanciation des valeurs par défaut du formulaire
467
    // Instanciation des valeurs par défaut du formulaire
470
    $form->setDefaults($aso_valeurs);
468
    $form->setDefaults($aso_valeurs);
471
    
469
    
472
    // Javascript pour la validation côté client
470
    // Javascript pour la validation côté client
473
    $regles_javascript = $form->getValidationScript();
471
    $regles_javascript = $form->getValidationScript();
474
    // Suppression des balises déjà créées par GEN_stockerCodeScript()
472
    // Suppression des balises déjà créées par GEN_stockerCodeScript()
475
    // Le code ci-dessous devrait être utilisé si on arrive à empécher Quickform de l'ajouter lui-même!
473
    // Le code ci-dessous devrait être utilisé si on arrive à empécher Quickform de l'ajouter lui-même!
476
    /*
474
    /*
477
    $regles_javascript = ereg_replace ( '<script type="text\/javascript">', '', $regles_javascript);
475
    $regles_javascript = ereg_replace ( '<script type="text\/javascript">', '', $regles_javascript);
478
    $regles_javascript = ereg_replace ( '<!--', '', $regles_javascript);
476
    $regles_javascript = ereg_replace ( '<!--', '', $regles_javascript);
479
    $regles_javascript = ereg_replace ( '\/\/-->', '', $regles_javascript);
477
    $regles_javascript = ereg_replace ( '\/\/-->', '', $regles_javascript);
480
    $regles_javascript = ereg_replace ( '<\/script>', '', $regles_javascript);
478
    $regles_javascript = ereg_replace ( '<\/script>', '', $regles_javascript);
481
    GEN_stockerCodeScript($regles_javascript);
479
    GEN_stockerCodeScript($regles_javascript);
482
    */
480
    */
483
    
481
    
484
    // Note de fin de formulaire
482
    // Note de fin de formulaire
485
    $form->setRequiredNote('Indique les champs obligatoires');
483
    $form->setRequiredNote('Indique les champs obligatoires');
486
    $sortie = $form->toHTML()."\n";
484
    $sortie = $form->toHTML()."\n";
487
    
485
    
488
    // Construction de la page.
486
    // Construction de la page.
489
    return ADMIN_contruirePage($titre, $sortie, $message);
487
    return ADMIN_contruirePage($titre, $sortie, $message);
490
}
488
}
491
 
489
 
492
/** Fonction ADMIN_validerFormAjouterSite() - Valide les données issues du formulaire pour gen_site.
490
/** Fonction ADMIN_validerFormAjouterSite() - Valide les données issues du formulaire pour gen_site.
493
*
491
*
494
* Cette fonction valide les données à ajouter dans la table gen_site.
492
* Cette fonction valide les données à ajouter dans la table gen_site.
495
*
493
*
496
* @param  string   l'objet pear de connexion à la base de données.
494
* @param  string   l'objet pear de connexion à la base de données.
497
* @param  string   le tableau contenant les valeurs du formulaire.
495
* @param  string   le tableau contenant les valeurs du formulaire.
498
* @return string   retourne les messages d'erreurs sinon rien.
496
* @return string   retourne les messages d'erreurs sinon rien.
499
*/
497
*/
500
function ADMIN_validerFormSite($db, $aso_valeurs)
498
function ADMIN_validerFormSite($db, $aso_valeurs)
501
{
499
{
502
    $message = '';
500
    $message = '';
503
    
501
    
504
    // Validation des données du formulaire
502
    // Validation des données du formulaire
505
    if (empty($aso_valeurs['gs_nom'])) {
503
    if (empty($aso_valeurs['gs_nom'])) {
506
        $message .= '<p class="pap_erreur">Le champ "Nom" ne doit pas être vide.</p>';
504
        $message .= '<p class="pap_erreur">Le champ "Nom" ne doit pas être vide.</p>';
507
    }
505
    }
508
    if (empty($aso_valeurs['gs_code_alpha'])) {
506
    if (empty($aso_valeurs['gs_code_alpha'])) {
509
        $message .= '<p class="pap_erreur">Le champ "Code alphanumérique" ne doit pas être vide.</p>';
507
        $message .= '<p class="pap_erreur">Le champ "Code alphanumérique" ne doit pas être vide.</p>';
510
    }
508
    }
511
    if ($aso_valeurs['gs_code_num'] == '') {
509
    if ($aso_valeurs['gs_code_num'] == '') {
512
        // Note: ne pas utilisez empty() car si on veut saisir 0, cela est conscidéré comme vide!
510
        // Note: ne pas utilisez empty() car si on veut saisir 0, cela est conscidéré comme vide!
513
        $message .= '<p class="pap_erreur">Le champ "Code numérique" ne doit pas être vide.</p>';
511
        $message .= '<p class="pap_erreur">Le champ "Code numérique" ne doit pas être vide.</p>';
514
    }
512
    }
515
    if (preg_match('/^[0-9]+$/',$aso_valeurs['gs_code_num']) == 0) {
513
    if (preg_match('/^[0-9]+$/',$aso_valeurs['gs_code_num']) == 0) {
516
        $message .= '<p class="pap_erreur">Le champ "Code numérique" doit contenir un nombre.</p>';
514
        $message .= '<p class="pap_erreur">Le champ "Code numérique" doit contenir un nombre.</p>';
517
    }
515
    }
518
    
516
    
519
    // Requete pour vérifier l'abscence du code numérique et alphanumérique de la table gen_site
517
    // Requete pour vérifier l'abscence du code numérique et alphanumérique de la table gen_site
520
    $requete =  'SELECT gs_code_alpha, gs_code_num '.
518
    $requete =  'SELECT gs_code_alpha, gs_code_num '.
521
                'FROM gen_site, gen_site_relation '.
519
                'FROM gen_site, gen_site_relation '.
522
                'WHERE gsr_id_site_01 = gsr_id_site_02 '.
520
                'WHERE gsr_id_site_01 = gsr_id_site_02 '.
523
                'AND gsr_id_site_01 = gs_id_site '.
521
                'AND gsr_id_site_01 = gs_id_site '.
524
                'AND gsr_id_valeur IN (102, 103) ';// 102 = site "principal" et 103 = site "externe"
522
                'AND gsr_id_valeur IN (102, 103) ';// 102 = site "principal" et 103 = site "externe"
525
    $requete .= (isset($aso_valeurs['gs_id_site'])) ? 'AND gs_id_site != '.$aso_valeurs['gs_id_site'] : '';
523
    $requete .= (isset($aso_valeurs['gs_id_site'])) ? 'AND gs_id_site != '.$aso_valeurs['gs_id_site'] : '';
526
    
524
    
527
    $resultat = $db->query($requete);
525
    $resultat = $db->query($requete);
528
    if (DB::isError($resultat)) {
526
    if (DB::isError($resultat)) {
529
        die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
527
        die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
530
    }
528
    }
531
    
529
    
532
    while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ) {
530
    while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ) {
533
        if ($ligne->gs_code_num == $aso_valeurs['gs_code_num']) {
531
        if ($ligne->gs_code_num == $aso_valeurs['gs_code_num']) {
534
            $message .= '<p class="pap_erreur">La valeur "'.$aso_valeurs['gs_code_num'].'" pour le champ "Code numérique" existe déjà.</p>';
532
            $message .= '<p class="pap_erreur">La valeur "'.$aso_valeurs['gs_code_num'].'" pour le champ "Code numérique" existe déjà.</p>';
535
        }
533
        }
536
        if ($ligne->gs_code_alpha == $aso_valeurs['gs_code_alpha']) {
534
        if ($ligne->gs_code_alpha == $aso_valeurs['gs_code_alpha']) {
537
            $message .= '<p class="pap_erreur">La valeur "'.$aso_valeurs['gs_code_alpha'].'" pour le champ "Code alphanumérique" existe déjà.</p>';
535
            $message .= '<p class="pap_erreur">La valeur "'.$aso_valeurs['gs_code_alpha'].'" pour le champ "Code alphanumérique" existe déjà.</p>';
538
        }
536
        }
539
    }
537
    }
540
    $resultat->free();
538
    $resultat->free();
541
    
539
    
542
    if (empty($aso_valeurs['gs_titre'])) {
540
    if (empty($aso_valeurs['gs_titre'])) {
543
        $message .= '<p class="pap_erreur">Le champ "Titre" ne doit pas être vide.</p>';
541
        $message .= '<p class="pap_erreur">Le champ "Titre" ne doit pas être vide.</p>';
544
    }
542
    }
545
    if (empty($aso_valeurs['gs_mots_cles'])) {
543
    if (empty($aso_valeurs['gs_mots_cles'])) {
546
        $message .= '<p class="pap_erreur">Le champ "Mots clés" ne doit pas être vide.</p>';
544
        $message .= '<p class="pap_erreur">Le champ "Mots clés" ne doit pas être vide.</p>';
547
    }
545
    }
548
    if (empty($aso_valeurs['gs_description'])) {
546
    if (empty($aso_valeurs['gs_description'])) {
549
        $message .= '<p class="pap_erreur">Le champ "Description" ne doit pas être vide.</p>';
547
        $message .= '<p class="pap_erreur">Le champ "Description" ne doit pas être vide.</p>';
550
    }
548
    }
551
    if (empty($aso_valeurs['gs_auteur'])) {
549
    if (empty($aso_valeurs['gs_auteur'])) {
552
        $message .= '<p class="pap_erreur">Le champ "Auteur" ne doit pas être vide.</p>';
550
        $message .= '<p class="pap_erreur">Le champ "Auteur" ne doit pas être vide.</p>';
553
    }
551
    }
554
    if (isset($aso_valeurs['externe']) && $aso_valeurs['externe'] == 1 && (empty($aso_valeurs['gs_url']) || $aso_valeurs['gs_url'] == 'http://')) {
552
    if (isset($aso_valeurs['externe']) && $aso_valeurs['externe'] == 1 && (empty($aso_valeurs['gs_url']) || $aso_valeurs['gs_url'] == 'http://')) {
555
        $message .= '<p class="pap_erreur">'.'Vous avez désigné ce site comme étant externe. Il est nécessaire de saisir son URL!'.'</p>';
553
        $message .= '<p class="pap_erreur">'.'Vous avez désigné ce site comme étant externe. Il est nécessaire de saisir son URL!'.'</p>';
556
    }
554
    }
557
    if (isset($aso_valeurs['externe']) && $aso_valeurs['externe'] == 0 && (!empty($aso_valeurs['gs_url']) && $aso_valeurs['gs_url'] != 'http://')) {
555
    if (isset($aso_valeurs['externe']) && $aso_valeurs['externe'] == 0 && (!empty($aso_valeurs['gs_url']) && $aso_valeurs['gs_url'] != 'http://')) {
558
        $message .= '<p class="pap_erreur">'.'Vous avez saisie une l\'url : '.$aso_valeurs['gs_url'].'<br />'.
556
        $message .= '<p class="pap_erreur">'.'Vous avez saisie une l\'url : '.$aso_valeurs['gs_url'].'<br />'.
559
                    'Vous conscidérez donc ce site comme étant externe. Il est nécessaire de cocher la case "oui"!'.'</p>';
557
                    'Vous conscidérez donc ce site comme étant externe. Il est nécessaire de cocher la case "oui"!'.'</p>';
560
    }
558
    }
561
    return $message;
559
    return $message;
562
}
560
}
563
 
561
 
564
/** Fonction ADMIN_enregistrerSite() - Ajoute un site à Papyrus.
562
/** Fonction ADMIN_enregistrerSite() - Ajoute un site à Papyrus.
565
*
563
*
566
* Cette fonction ajoute le site à Papyrus, c'est à dire :
564
* Cette fonction ajoute le site à Papyrus, c'est à dire :
567
* - 1. Création des répertoire du projet en fonction du nom et des sous-répertoires.
565
* - 1. Création des répertoire du projet en fonction du nom et des sous-répertoires.
568
* - 2. Insertion d'une ligne dans la table "gen_site".
566
* - 2. Insertion d'une ligne dans la table "gen_site".
569
* - 3. Insertion d'une ligne dans la table "gen_site_auth" et ses tables liées si nécessaire.
567
* - 3. Insertion d'une ligne dans la table "gen_site_auth" et ses tables liées si nécessaire.
570
*
568
*
571
* @param  string   l'objet pear de connexion à la base de données.
569
* @param  string   l'objet pear de connexion à la base de données.
572
* @param  string   le tableau contenant les valeurs du formulaire.
570
* @param  string   le tableau contenant les valeurs du formulaire.
573
* @param  int      identifiant de l'administrateur réalisant cette création.
571
* @param  int      identifiant de l'administrateur réalisant cette création.
574
* @return string retourne un message en cas de succès ou d'échec.
572
* @return string retourne un message en cas de succès ou d'échec.
575
*/
573
*/
576
function ADMIN_enregistrerSite($db, $aso_valeurs, $id_admin)
574
function ADMIN_enregistrerSite($db, $aso_valeurs, $id_admin)
577
{
575
{
578
    // Nous vérifions si nous avons à faire à un site externe.
576
    // Nous vérifions si nous avons à faire à un site externe.
579
    $id_type_site = '102';// par défaut on conscidére que c'est un site "principal"
577
    $id_type_site = '102';// par défaut on conscidére que c'est un site "principal"
580
    if (isset($aso_valeurs['type_site_externe']) && $aso_valeurs['type_site_externe'] > 0 && !empty($aso_valeurs['gs_url']) && $aso_valeurs['gs_url'] != 'http://') {
578
    if (isset($aso_valeurs['type_site_externe']) && $aso_valeurs['type_site_externe'] > 0 && !empty($aso_valeurs['gs_url']) && $aso_valeurs['gs_url'] != 'http://') {
581
        $id_type_site = '103';// c'est un site "externe"
579
        $id_type_site = '103';// c'est un site "externe"
582
    }
580
    }
583
    
581
    
584
    // Ajout des répertoires des sites "principaux" soit par manipulation de fichier soit par FTP en fonction de la constante définie
582
    // Ajout des répertoires des sites "principaux" soit par manipulation de fichier soit par FTP en fonction de la constante définie
585
    // par l'utilisateur dans le fichier de config avancée.
583
    // par l'utilisateur dans le fichier de config avancée.
586
    $tab_rep_langue = array(GEN_DOSSIER_GENERIQUE, $aso_valeurs['gs_ce_i18n']);
584
    $tab_rep_langue = array(GEN_DOSSIER_GENERIQUE, $aso_valeurs['gs_ce_i18n']);
587
    $tab_rep_site = array(  GEN_DOSSIER_IMAGE,
585
    $tab_rep_site = array(  GEN_DOSSIER_IMAGE,
588
                            GEN_DOSSIER_STYLE,
586
                            GEN_DOSSIER_STYLE,
589
                            GEN_DOSSIER_SCRIPT,
587
                            GEN_DOSSIER_SCRIPT,
590
                            GEN_DOSSIER_SQUELETTE,
588
                            GEN_DOSSIER_SQUELETTE,
591
                            GEN_DOSSIER_DOC);
589
                            GEN_DOSSIER_DOC);
592
    if (!GEN_FTP_UTILISE && $id_type_site != '103') {
590
    if (!GEN_FTP_UTILISE && $id_type_site != '103') {
593
        foreach ($tab_rep_langue as $nom_rep_langue) {
591
        foreach ($tab_rep_langue as $nom_rep_langue) {
594
            foreach ($tab_rep_site as $nom_rep_site) {
592
            foreach ($tab_rep_site as $nom_rep_site) {
595
                $chemin_repertoire =    PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.
593
                $chemin_repertoire =    PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.
596
                                        $nom_rep_langue.GEN_SEP.$nom_rep_site;
594
                                        $nom_rep_langue.GEN_SEP.$nom_rep_site;
597
                $vieux_umask = umask(0);
595
                $vieux_umask = umask(0);
598
                $resultat = creerDossier($chemin_repertoire, 0777, GEN_SEP);
596
                $resultat = creerDossier($chemin_repertoire, 0777, GEN_SEP);
599
                umask($vieux_umask);
597
                umask($vieux_umask);
600
                if ($resultat == false) {
598
                if ($resultat == false) {
601
                    $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de créer le répertoire.<br />'.
599
                    $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de créer le répertoire.<br />'.
602
                                'Répertoire : '. $chemin_repertoire .'<br />'.
600
                                'Répertoire : '. $chemin_repertoire .'<br />'.
603
                                'Ligne n° : '. __LINE__ .'<br />'.
601
                                'Ligne n° : '. __LINE__ .'<br />'.
604
                                'Fichier n° : '. __FILE__ .'<br /></p>';
602
                                'Fichier n° : '. __FILE__ .'<br /></p>';
605
                    return $message;
603
                    return $message;
606
                }
604
                }
607
            }
605
            }
608
        }
606
        }
609
        $chemin_squelette_defaut =  PAP_CHEMIN_RACINE.GEN_CHEMIN_COMMUN.GEN_DOSSIER_GENERIQUE.GEN_SEP.
607
        $chemin_squelette_defaut =  PAP_CHEMIN_RACINE.GEN_CHEMIN_COMMUN.GEN_DOSSIER_GENERIQUE.GEN_SEP.
610
                                    GEN_DOSSIER_SQUELETTE.GEN_SEP.GEN_FICHIER_SQUELETTE;
608
                                    GEN_DOSSIER_SQUELETTE.GEN_SEP.GEN_FICHIER_SQUELETTE;
611
        $chemin_squelette_site =    PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.
609
        $chemin_squelette_site =    PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.
612
                                    $aso_valeurs['gs_ce_i18n'].GEN_SEP.GEN_DOSSIER_SQUELETTE.GEN_SEP.GEN_FICHIER_SQUELETTE;
610
                                    $aso_valeurs['gs_ce_i18n'].GEN_SEP.GEN_DOSSIER_SQUELETTE.GEN_SEP.GEN_FICHIER_SQUELETTE;
613
        if (!copy($chemin_squelette_defaut, $chemin_squelette_site)) {
611
        if (!copy($chemin_squelette_defaut, $chemin_squelette_site)) {
614
            $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de créer le fichier de squellete par défaut.<br />'.
612
            $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de créer le fichier de squellete par défaut.<br />'.
615
                        'Fichier : '. $chemin_squelette_site .'<br />'.
613
                        'Fichier : '. $chemin_squelette_site .'<br />'.
616
                        'Ligne n° : '. __LINE__ .'<br />'.
614
                        'Ligne n° : '. __LINE__ .'<br />'.
617
                        'Fichier n° : '. __FILE__ .'<br /></p>';
615
                        'Fichier n° : '. __FILE__ .'<br /></p>';
618
            return $message;
616
            return $message;
619
        }
617
        }
620
        $chemin_style_defaut =  PAP_CHEMIN_RACINE.GEN_CHEMIN_COMMUN.GEN_DOSSIER_GENERIQUE.GEN_SEP.
618
        $chemin_style_defaut =  PAP_CHEMIN_RACINE.GEN_CHEMIN_COMMUN.GEN_DOSSIER_GENERIQUE.GEN_SEP.
621
                                GEN_DOSSIER_STYLE.GEN_SEP.GEN_FICHIER_STYLE;
619
                                GEN_DOSSIER_STYLE.GEN_SEP.GEN_FICHIER_STYLE;
622
        $chemin_style_site =    PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.
620
        $chemin_style_site =    PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.
623
                                $aso_valeurs['gs_ce_i18n'].GEN_SEP.GEN_DOSSIER_STYLE.GEN_SEP.GEN_FICHIER_STYLE;
621
                                $aso_valeurs['gs_ce_i18n'].GEN_SEP.GEN_DOSSIER_STYLE.GEN_SEP.GEN_FICHIER_STYLE;
624
        if (!copy($chemin_style_defaut, $chemin_style_site)) {
622
        if (!copy($chemin_style_defaut, $chemin_style_site)) {
625
            $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de créer le fichier de style par défaut.<br />'.
623
            $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de créer le fichier de style par défaut.<br />'.
626
                        'Fichier : '. $chemin_style_site .'<br />'.
624
                        'Fichier : '. $chemin_style_site .'<br />'.
627
                        'Ligne n° : '. __LINE__ .'<br />'.
625
                        'Ligne n° : '. __LINE__ .'<br />'.
628
                        'Fichier n° : '. __FILE__ .'<br /></p>';
626
                        'Fichier n° : '. __FILE__ .'<br /></p>';
629
            return $message;
627
            return $message;
630
        }
628
        }
631
    } else if (GEN_FTP_UTILISE && $id_type_site != '103') {  // 103 est le type "site externe"
629
    } else if (GEN_FTP_UTILISE && $id_type_site != '103') {  // 103 est le type "site externe"
632
        // Création d'une connection ftp avec Net_FTP de PEAR
630
        // Création d'une connection ftp avec Net_FTP de PEAR
633
        // voir http://pear.php.net/manual/fr/package.networking.net-ftp.php
631
        // voir http://pear.php.net/manual/fr/package.networking.net-ftp.php
634
        
632
        
635
        // création de l'objet pear ftp
633
        // création de l'objet pear ftp
636
        $objet_pear_ftp = new Net_FTP(PAP_FTP_SERVEUR, PAP_FTP_PORT);
634
        $objet_pear_ftp = new Net_FTP(PAP_FTP_SERVEUR, PAP_FTP_PORT);
637
        // création de la connexion
635
        // création de la connexion
638
        $ftp_conn = $objet_pear_ftp->connect(PAP_FTP_SERVEUR, PAP_FTP_PORT);
636
        $ftp_conn = $objet_pear_ftp->connect(PAP_FTP_SERVEUR, PAP_FTP_PORT);
639
        // identification
637
        // identification
640
        $ftp_login_result = $objet_pear_ftp->login(PAP_FTP_UTILISATEUR, PAP_FTP_MOT_DE_PASSE);
638
        $ftp_login_result = $objet_pear_ftp->login(PAP_FTP_UTILISATEUR, PAP_FTP_MOT_DE_PASSE);
641
        // Gestion des erreurs ftp
639
        // Gestion des erreurs ftp
642
        if ((PEAR::isError($ftp_conn) || PEAR::isError($ftp_login_result))) {
640
        if ((PEAR::isError($ftp_conn) || PEAR::isError($ftp_login_result))) {
643
            $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de se connecter par ftp.<br />'.
641
            $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de se connecter par ftp.<br />'.
644
                        'Serveur : '. PAP_FTP_SERVEUR .'<br />'.
642
                        'Serveur : '. PAP_FTP_SERVEUR .'<br />'.
645
                        'Utilisateur : '. PAP_FTP_UTILISATEUR .'<br />'.
643
                        'Utilisateur : '. PAP_FTP_UTILISATEUR .'<br />'.
646
                        'Erreur connexion : '.$ftp_conn->getMessage().'<br />'.
644
                        'Erreur connexion : '.$ftp_conn->getMessage().'<br />'.
647
                        'Erreur login : '.$ftp_login_result->getMessage().'<br />'.
645
                        'Erreur login : '.$ftp_login_result->getMessage().'<br />'.
648
                        'Ligne n° : '. __LINE__ .'<br />'.
646
                        'Ligne n° : '. __LINE__ .'<br />'.
649
                        'Fichier n° : '. __FILE__ .'<br /><p>';
647
                        'Fichier n° : '. __FILE__ .'<br /><p>';
650
            return $message;
648
            return $message;
651
        }
649
        }
652
        $objet_pear_ftp->mkdir(PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha']) ;
650
        $objet_pear_ftp->mkdir(PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha']) ;
653
        
651
        
654
        //$objet_pear_ftp->cd(PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha']) ;
652
        //$objet_pear_ftp->cd(PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha']) ;
655
        foreach ($tab_rep_langue as $nom_rep_langue) {
653
        foreach ($tab_rep_langue as $nom_rep_langue) {
656
            $objet_pear_ftp->mkdir(PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.$nom_rep_langue) ;
654
            $objet_pear_ftp->mkdir(PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.$nom_rep_langue) ;
657
            foreach ($tab_rep_site as $nom_rep_site) {
655
            foreach ($tab_rep_site as $nom_rep_site) {
658
                $chemin_repertoire =    PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.$nom_rep_langue.GEN_SEP.$nom_rep_site;
656
                $chemin_repertoire =    PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.$nom_rep_langue.GEN_SEP.$nom_rep_site;
659
                
657
                
660
                $resultat = $objet_pear_ftp->mkdir($chemin_repertoire) ;
658
                $resultat = $objet_pear_ftp->mkdir($chemin_repertoire) ;
661
                if (PEAR::isError($resultat)) {
659
                if (PEAR::isError($resultat)) {
662
                    $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de créer le répertoire par ftp.<br />'.
660
                    $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de créer le répertoire par ftp.<br />'.
663
                                'Répertoire : '. $chemin_repertoire .'<br />'.
661
                                'Répertoire : '. $chemin_repertoire .'<br />'.
664
                                'Erreur origine : '. $resultat->getMessage() .'<br />'.
662
                                'Erreur origine : '. $resultat->getMessage() .'<br />'.
665
                                'Ligne n° : '. __LINE__ .'<br />'.
663
                                'Ligne n° : '. __LINE__ .'<br />'.
666
                                'Fichier n° : '. __FILE__ .'<br /></p>';
664
                                'Fichier n° : '. __FILE__ .'<br /></p>';
667
                    return $message;
665
                    return $message;
668
                }
666
                }
669
            }
667
            }
670
        }
668
        }
671
        $chemin_squelette_defaut =  PAP_CHEMIN_RACINE.GEN_CHEMIN_COMMUN.GEN_DOSSIER_GENERIQUE.GEN_SEP.
669
        $chemin_squelette_defaut =  PAP_CHEMIN_RACINE.GEN_CHEMIN_COMMUN.GEN_DOSSIER_GENERIQUE.GEN_SEP.
672
                                    GEN_DOSSIER_SQUELETTE.GEN_SEP.GEN_FICHIER_SQUELETTE;
670
                                    GEN_DOSSIER_SQUELETTE.GEN_SEP.GEN_FICHIER_SQUELETTE;
673
        $chemin_squelette_site =    PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.
671
        $chemin_squelette_site =    PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.
674
                                    $aso_valeurs['gs_ce_i18n'].GEN_SEP.GEN_DOSSIER_SQUELETTE.GEN_SEP.GEN_FICHIER_SQUELETTE;
672
                                    $aso_valeurs['gs_ce_i18n'].GEN_SEP.GEN_DOSSIER_SQUELETTE.GEN_SEP.GEN_FICHIER_SQUELETTE;
675
        $resultat = $objet_pear_ftp->put($chemin_squelette_defaut, $chemin_squelette_site, true, FTP_BINARY);
673
        $resultat = $objet_pear_ftp->put($chemin_squelette_defaut, $chemin_squelette_site, true, FTP_BINARY);
676
        if (PEAR::isError($resultat)) {
674
        if (PEAR::isError($resultat)) {
677
            $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de copier le squelette defaut par ftp.<br />'.
675
            $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de copier le squelette defaut par ftp.<br />'.
678
                        'Fichier origine : '. $chemin_squelette_defaut .'<br />'.
676
                        'Fichier origine : '. $chemin_squelette_defaut .'<br />'.
679
                        'Fichier copié : '. $chemin_squelette_site .'<br />'.
677
                        'Fichier copié : '. $chemin_squelette_site .'<br />'.
680
                        'Erreur origine : '. $resultat->getMessage() .'<br />'.
678
                        'Erreur origine : '. $resultat->getMessage() .'<br />'.
681
                        'Ligne n° : '. __LINE__ .'<br />'.
679
                        'Ligne n° : '. __LINE__ .'<br />'.
682
                        'Fichier n° : '. __FILE__ .'<br /></p>';
680
                        'Fichier n° : '. __FILE__ .'<br /></p>';
683
                return $message;
681
                return $message;
684
        }
682
        }
685
        $chemin_style_defaut =  PAP_CHEMIN_RACINE.GEN_CHEMIN_COMMUN.GEN_DOSSIER_GENERIQUE.GEN_SEP.
683
        $chemin_style_defaut =  PAP_CHEMIN_RACINE.GEN_CHEMIN_COMMUN.GEN_DOSSIER_GENERIQUE.GEN_SEP.
686
                                GEN_DOSSIER_STYLE.GEN_SEP.GEN_FICHIER_STYLE;
684
                                GEN_DOSSIER_STYLE.GEN_SEP.GEN_FICHIER_STYLE;
687
        $chemin_style_site =    PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.
685
        $chemin_style_site =    PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.
688
                                $aso_valeurs['gs_ce_i18n'].GEN_SEP.GEN_DOSSIER_STYLE.GEN_SEP.GEN_FICHIER_STYLE;
686
                                $aso_valeurs['gs_ce_i18n'].GEN_SEP.GEN_DOSSIER_STYLE.GEN_SEP.GEN_FICHIER_STYLE;
689
        $resultat = $objet_pear_ftp->put($chemin_style_defaut, $chemin_style_site, true, FTP_BINARY);
687
        $resultat = $objet_pear_ftp->put($chemin_style_defaut, $chemin_style_site, true, FTP_BINARY);
690
        if (PEAR::isError($resultat)) {
688
        if (PEAR::isError($resultat)) {
691
            $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de copier les styles defaut par ftp.<br />'.
689
            $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de copier les styles defaut par ftp.<br />'.
692
                        'Fichier origine : '. $chemin_style_defaut .'<br />'.
690
                        'Fichier origine : '. $chemin_style_defaut .'<br />'.
693
                        'Fichier copié : '. $chemin_style_site .'<br />'.
691
                        'Fichier copié : '. $chemin_style_site .'<br />'.
694
                        'Erreur origine : '. $resultat->getMessage() .'<br />'.
692
                        'Erreur origine : '. $resultat->getMessage() .'<br />'.
695
                        'Ligne n° : '. __LINE__ .'<br />'.
693
                        'Ligne n° : '. __LINE__ .'<br />'.
696
                        'Fichier n° : '. __FILE__ .'<br /></p>';
694
                        'Fichier n° : '. __FILE__ .'<br /></p>';
697
                return $message;
695
                return $message;
698
        }
696
        }
699
        $objet_pear_ftp->disconnect();
697
        $objet_pear_ftp->disconnect();
700
    }
698
    }
701
    
699
    
702
    $id_site = SQL_obtenirNouveauId($db, 'gen_site','gs_id_site');
700
    $id_site = SQL_obtenirNouveauId($db, 'gen_site','gs_id_site');
703
    if ($id_site == false) {
701
    if ($id_site == false) {
704
        $message = '<p class="erreur"> ERREUR Génésia admin : impossible de récupérer un identifiant pour la table gen_site.<br />'.
702
        $message = '<p class="erreur"> ERREUR Génésia admin : impossible de récupérer un identifiant pour la table gen_site.<br />'.
705
                    'Ligne n° : '. __LINE__ .'<br />'.
703
                    'Ligne n° : '. __LINE__ .'<br />'.
706
                    'Fichier n° : '. __FILE__ .'<br /></p>';
704
                    'Fichier n° : '. __FILE__ .'<br /></p>';
707
        return $message;
705
        return $message;
708
    }
706
    }
709
    
707
    
710
    // Modification de la requete si nous avons à faire à un site externe.
708
    // Modification de la requete si nous avons à faire à un site externe.
711
    $requete_complement = ', gs_url = NULL';
709
    $requete_complement = ', gs_url = NULL';
712
    if (isset($aso_valeurs['type_site_externe']) && $aso_valeurs['type_site_externe'] > 0 && !empty($aso_valeurs['gs_url']) && $aso_valeurs['gs_url'] != 'http://') {
710
    if (isset($aso_valeurs['type_site_externe']) && $aso_valeurs['type_site_externe'] > 0 && !empty($aso_valeurs['gs_url']) && $aso_valeurs['gs_url'] != 'http://') {
713
        $requete_complement = ', gs_url = "'.$aso_valeurs['gs_url'].'"';
711
        $requete_complement = ', gs_url = "'.$aso_valeurs['gs_url'].'"';
714
    }
712
    }
715
    
713
    
716
    // Requete d'insertion des infos d'un site dans gen_site
714
    // Requete d'insertion des infos d'un site dans gen_site
717
    $requete =  'INSERT INTO gen_site '.
715
    $requete =  'INSERT INTO gen_site '.
718
                'SET gs_id_site = '.$id_site.', '.
716
                'SET gs_id_site = '.$id_site.', '.
719
                'gs_ce_i18n = "'.$aso_valeurs['gs_ce_i18n'].'", '.
717
                'gs_ce_i18n = "'.$aso_valeurs['gs_ce_i18n'].'", '.
720
                'gs_ce_auth = '.$aso_valeurs['gs_ce_auth'].', '.
718
                'gs_ce_auth = '.$aso_valeurs['gs_ce_auth'].', '.
721
                'gs_fichier_squelette = "defaut.html", '.
719
                'gs_fichier_squelette = "defaut.html", '.
722
                'gs_code_num = '.$aso_valeurs['gs_code_num'].', '.
720
                'gs_code_num = '.$aso_valeurs['gs_code_num'].', '.
723
                'gs_code_alpha = "'.$aso_valeurs['gs_code_alpha'].'", '.
721
                'gs_code_alpha = "'.$aso_valeurs['gs_code_alpha'].'", '.
724
                'gs_nom = "'.$aso_valeurs['gs_nom'].'", '.
722
                'gs_nom = "'.$aso_valeurs['gs_nom'].'", '.
725
                'gs_raccourci_clavier = "'.$aso_valeurs['gs_raccourci_clavier'].'", '.
723
                'gs_raccourci_clavier = "'.$aso_valeurs['gs_raccourci_clavier'].'", '.
726
                'gs_titre = "'.$aso_valeurs['gs_titre'].'", '.
724
                'gs_titre = "'.$aso_valeurs['gs_titre'].'", '.
727
                'gs_mots_cles = "'.$aso_valeurs['gs_mots_cles'].'", '.
725
                'gs_mots_cles = "'.$aso_valeurs['gs_mots_cles'].'", '.
728
                'gs_description = "'.$aso_valeurs['gs_description'].'", '.
726
                'gs_description = "'.$aso_valeurs['gs_description'].'", '.
729
                'gs_auteur = "'.$aso_valeurs['gs_auteur'].'", '.
727
                'gs_auteur = "'.$aso_valeurs['gs_auteur'].'", '.
730
                'gs_date_creation = "'.date('Y-m-d H:i:s').'", '.
728
                'gs_date_creation = "'.date('Y-m-d H:i:s').'", '.
731
                'gs_ce_admin = '.$id_admin.
729
                'gs_ce_admin = '.$id_admin.
732
                $requete_complement;
730
                $requete_complement;
733
    $resultat = $db->query($requete);
731
    $resultat = $db->query($requete);
734
    if (DB::isError($resultat)) {
732
    if (DB::isError($resultat)) {
735
        die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
733
        die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
736
    }
734
    }
737
    
735
    
738
    // Recherche du nouveau numéro d'ordre de ce site "principal" ou "externe"
736
    // Recherche du nouveau numéro d'ordre de ce site "principal" ou "externe"
739
    $requete =  'SELECT MAX(gsr_ordre) AS max_ordre '.
737
    $requete =  'SELECT MAX(gsr_ordre) AS max_ordre '.
740
                'FROM gen_site_relation '.
738
                'FROM gen_site_relation '.
741
                'WHERE gsr_id_site_01 = gsr_id_site_02 '.
739
                'WHERE gsr_id_site_01 = gsr_id_site_02 '.
742
                'AND gsr_id_valeur IN (102, 103) ';// 102 = site "principal" et 103 = site "externe"
740
                'AND gsr_id_valeur IN (102, 103) ';// 102 = site "principal" et 103 = site "externe"
743
    $resultat = $db->query($requete) ;
741
    $resultat = $db->query($requete) ;
744
    if (DB::isError($resultat)) {
742
    if (DB::isError($resultat)) {
745
        die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
743
        die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
746
    }
744
    }
747
    $ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
745
    $ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
748
    $nouvel_ordre = $ligne->max_ordre + 1;
746
    $nouvel_ordre = $ligne->max_ordre + 1;
749
    
747
    
750
    // Requete d'insertion des relations dans gen_site_relation
748
    // Requete d'insertion des relations dans gen_site_relation
751
    $requete =  'INSERT INTO gen_site_relation '.
749
    $requete =  'INSERT INTO gen_site_relation '.
752
                'SET gsr_id_site_01 = '.$id_site.', '.
750
                'SET gsr_id_site_01 = '.$id_site.', '.
753
                'gsr_id_site_02 = '.$id_site.', '.
751
                'gsr_id_site_02 = '.$id_site.', '.
754
                'gsr_id_valeur = '.$id_type_site.', '.
752
                'gsr_id_valeur = '.$id_type_site.', '.
755
                'gsr_ordre = '.$nouvel_ordre;
753
                'gsr_ordre = '.$nouvel_ordre;
756
    $resultat = $db->query($requete);
754
    $resultat = $db->query($requete);
757
    if (DB::isError($resultat)) {
755
    if (DB::isError($resultat)) {
758
        die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
756
        die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
759
    }
757
    }
760
    
758
    
761
    // Gestion du site par défaut
759
    // Gestion du site par défaut
762
    if (isset($aso_valeurs['defaut']) && $aso_valeurs['defaut'] == 1) {
760
    if (isset($aso_valeurs['defaut']) && $aso_valeurs['defaut'] == 1) {
763
        $requete_supr_defaut =  'DELETE FROM gen_site_relation '.
761
        $requete_supr_defaut =  'DELETE FROM gen_site_relation '.
764
                                'WHERE gsr_id_site_01 = gsr_id_site_02 '.
762
                                'WHERE gsr_id_site_01 = gsr_id_site_02 '.
765
                                'AND gsr_id_valeur = 101 ';// 101 = site par "defaut"
763
                                'AND gsr_id_valeur = 101 ';// 101 = site par "defaut"
766
        $resultat_supr_defaut = $db->query($requete_supr_defaut);
764
        $resultat_supr_defaut = $db->query($requete_supr_defaut);
767
        if (DB::isError($resultat_supr_defaut)) {
765
        if (DB::isError($resultat_supr_defaut)) {
768
            die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_supr_defaut->getMessage(), $requete_supr_defaut));
766
            die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_supr_defaut->getMessage(), $requete_supr_defaut));
769
        }
767
        }
770
        
768
        
771
        // Requete d'insertion de la relations site par défaut
769
        // Requete d'insertion de la relations site par défaut
772
        $requete =  'INSERT INTO gen_site_relation '.
770
        $requete =  'INSERT INTO gen_site_relation '.
773
                    'SET gsr_id_site_01 = '.$id_site.', '.
771
                    'SET gsr_id_site_01 = '.$id_site.', '.
774
                    'gsr_id_site_02 = '.$id_site.', '.
772
                    'gsr_id_site_02 = '.$id_site.', '.
775
                    'gsr_id_valeur = 101, '.
773
                    'gsr_id_valeur = 101, '.
776
                    'gsr_ordre = NULL ';
774
                    'gsr_ordre = NULL ';
777
        $resultat = $db->query($requete);
775
        $resultat = $db->query($requete);
778
        if (DB::isError($resultat)) {
776
        if (DB::isError($resultat)) {
779
            die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
777
            die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
780
        }
778
        }
781
    }
779
    }
782
    
780
    
783
    // Gestion des sites externes
781
    // Gestion des sites externes
784
    if ($id_type_site == '103') {
782
    if ($id_type_site == '103') {
785
        // Requete d'insertion des relations dans gen_site_relation
783
        // Requete d'insertion des relations dans gen_site_relation
786
        $requete =  'INSERT INTO gen_site_relation '.
784
        $requete =  'INSERT INTO gen_site_relation '.
787
                    'SET gsr_id_site_01 = '.$id_site.', '.
785
                    'SET gsr_id_site_01 = '.$id_site.', '.
788
                    'gsr_id_site_02 = '.$id_site.', '.
786
                    'gsr_id_site_02 = '.$id_site.', '.
789
                    'gsr_id_valeur = '.$aso_valeurs['type_site_externe'].', '.
787
                    'gsr_id_valeur = '.$aso_valeurs['type_site_externe'].', '.
790
                    'gsr_ordre = NULL ';
788
                    'gsr_ordre = NULL ';
791
        $resultat = $db->query($requete);
789
        $resultat = $db->query($requete);
792
        if (DB::isError($resultat)) {
790
        if (DB::isError($resultat)) {
793
            die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
791
            die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
794
        }
792
        }
795
    }
793
    }
796
    
794
    
797
    $message = '<p class="pap_info">'.'Succés de l\'ajout du site.'.'</p>';
795
    $message = '<p class="pap_info">'.'Succés de l\'ajout du site.'.'</p>';
798
    return $message;
796
    return $message;
799
}
797
}
800
 
798
 
801
/** Fonction ADMIN_modifierSite() - Modifie un site de Papyrus.
799
/** Fonction ADMIN_modifierSite() - Modifie un site de Papyrus.
802
*
800
*
803
* Cette fonction modifie un site géré par Papyrus.
801
* Cette fonction modifie un site géré par Papyrus.
804
* Il faudrait aussi pouvoir renomer le dossier du site si le code alpha change.
802
* Il faudrait aussi pouvoir renomer le dossier du site si le code alpha change.
805
*
803
*
806
* @param  string   l'objet pear de connexion à la base de données.
804
* @param  string   l'objet pear de connexion à la base de données.
807
* @param  string   le tableau contenant les valeurs du formulaire.
805
* @param  string   le tableau contenant les valeurs du formulaire.
808
* @param  int      identifiant de l'administrateur réalisant cette modification.
806
* @param  int      identifiant de l'administrateur réalisant cette modification.
809
* @return string retourne un message en cas de succès ou d'échec.
807
* @return string retourne un message en cas de succès ou d'échec.
810
*/
808
*/
811
function ADMIN_modifierSite($db, $aso_valeurs, $id_admin)
809
function ADMIN_modifierSite($db, $aso_valeurs, $id_admin)
812
{
810
{
813
    // Initialisation de variables
811
    // Initialisation de variables
814
    $message_complement = '';
812
    $message_complement = '';
815
    
813
    
816
    // Récupération de l'ancien code alphanumérique
814
    // Récupération de l'ancien code alphanumérique
817
    $requete =  'SELECT gs_code_alpha '.
815
    $requete =  'SELECT gs_code_alpha '.
818
                'FROM gen_site '.
816
                'FROM gen_site '.
819
                'WHERE gs_id_site = '.$aso_valeurs['gs_id_site'];
817
                'WHERE gs_id_site = '.$aso_valeurs['gs_id_site'];
820
    $ancien_code_alphnum = $db->getOne($requete);
818
    $ancien_code_alphnum = $db->getOne($requete);
821
    if (DB::isError($ancien_code_alphnum)) {
819
    if (DB::isError($ancien_code_alphnum)) {
822
        die( BOG_afficherErreurSql(__FILE__, __LINE__, $ancien_code_alphnum->getMessage(), $requete) );
820
        die( BOG_afficherErreurSql(__FILE__, __LINE__, $ancien_code_alphnum->getMessage(), $requete) );
823
    }
821
    }
824
    
822
    
825
    // Nous vérifions si nous avons à faire à un site externe.
823
    // Nous vérifions si nous avons à faire à un site externe.
826
    $id_type_site = '102';// par défaut on conscidére que c'est un site "principal"
824
    $id_type_site = '102';// par défaut on conscidére que c'est un site "principal"
827
    $requete_complement = ', gs_url = NULL ';
825
    $requete_complement = ', gs_url = NULL ';
828
    if (isset($aso_valeurs['type_site_externe']) && $aso_valeurs['type_site_externe'] > 0 && !empty($aso_valeurs['gs_url']) && $aso_valeurs['gs_url'] != 'http://') {
826
    if (isset($aso_valeurs['type_site_externe']) && $aso_valeurs['type_site_externe'] > 0 && !empty($aso_valeurs['gs_url']) && $aso_valeurs['gs_url'] != 'http://') {
829
        $requete_complement = ', gs_url = "'.$aso_valeurs['gs_url'].'" ';
827
        $requete_complement = ', gs_url = "'.$aso_valeurs['gs_url'].'" ';
830
        $id_type_site = '103';// c'est un site "externe"
828
        $id_type_site = '103';// c'est un site "externe"
831
    }
829
    }
832
    
830
    
833
    // Si le code alphanumérique à changé et que nous n'avons pas à faire à un site externe.
831
    // Si le code alphanumérique à changé et que nous n'avons pas à faire à un site externe.
834
    if ($aso_valeurs['gs_code_alpha'] != $ancien_code_alphnum && $id_type_site != 103) {
832
    if ($aso_valeurs['gs_code_alpha'] != $ancien_code_alphnum && $id_type_site != 103) {
835
        if (!GEN_FTP_UTILISE) {
833
        if (!GEN_FTP_UTILISE) {
836
            $chemin_site_ancien = PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$ancien_code_alphnum.GEN_SEP;
834
            $chemin_site_ancien = PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$ancien_code_alphnum.GEN_SEP;
837
            $chemin_site_nouveau = PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP;
835
            $chemin_site_nouveau = PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP;
838
            if (!rename($chemin_site_ancien, $chemin_site_nouveau)) {
836
            if (!rename($chemin_site_ancien, $chemin_site_nouveau)) {
839
                $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de changer le nom du dossier du site.<br />'.
837
                $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de changer le nom du dossier du site.<br />'.
840
                            'Ancien nom : '. $chemin_site_ancien .'<br />'.
838
                            'Ancien nom : '. $chemin_site_ancien .'<br />'.
841
                            'Nouveau nom : '. $chemin_site_nouveau .'<br />'.
839
                            'Nouveau nom : '. $chemin_site_nouveau .'<br />'.
842
                            'Ligne n° : '. __LINE__ .'<br />'.
840
                            'Ligne n° : '. __LINE__ .'<br />'.
843
                            'Fichier n° : '. __FILE__ .'<br /></p>';
841
                            'Fichier n° : '. __FILE__ .'<br /></p>';
844
                return $message;
842
                return $message;
845
            }
843
            }
846
        } else {
844
        } else {
847
            $chemin_site_ancien = PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$ancien_code_alphnum.GEN_SEP;
845
            $chemin_site_ancien = PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$ancien_code_alphnum.GEN_SEP;
848
            $chemin_site_nouveau = PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP;
846
            $chemin_site_nouveau = PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP;
849
            // Création d'une connection ftp avec Net_FTP de PEAR
847
            // Création d'une connection ftp avec Net_FTP de PEAR
850
            // voir http://pear.php.net/manual/fr/package.networking.net-ftp.php
848
            // voir http://pear.php.net/manual/fr/package.networking.net-ftp.php
851
            // création de l'objet pear ftp
849
            // création de l'objet pear ftp
852
            $objet_pear_ftp = new Net_FTP(PAP_FTP_SERVEUR, PAP_FTP_PORT);
850
            $objet_pear_ftp = new Net_FTP(PAP_FTP_SERVEUR, PAP_FTP_PORT);
853
            // création de la connexion
851
            // création de la connexion
854
            $ftp_conn = $objet_pear_ftp->connect(PAP_FTP_SERVEUR, PAP_FTP_PORT);
852
            $ftp_conn = $objet_pear_ftp->connect(PAP_FTP_SERVEUR, PAP_FTP_PORT);
855
            // identification
853
            // identification
856
            $ftp_login_result = $objet_pear_ftp->login(PAP_FTP_UTILISATEUR, PAP_FTP_MOT_DE_PASSE);
854
            $ftp_login_result = $objet_pear_ftp->login(PAP_FTP_UTILISATEUR, PAP_FTP_MOT_DE_PASSE);
857
            // Gestion des erreurs ftp
855
            // Gestion des erreurs ftp
858
            if ((PEAR::isError($ftp_conn) || PEAR::isError($ftp_login_result))) {
856
            if ((PEAR::isError($ftp_conn) || PEAR::isError($ftp_login_result))) {
859
                $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de se connecter par ftp.<br />'.
857
                $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de se connecter par ftp.<br />'.
860
                            'Serveur : '. PAP_FTP_SERVEUR .'<br />'.
858
                            'Serveur : '. PAP_FTP_SERVEUR .'<br />'.
861
                            'Utilisateur : '. PAP_FTP_UTILISATEUR .'<br />'.
859
                            'Utilisateur : '. PAP_FTP_UTILISATEUR .'<br />'.
862
                            'Erreur connexion : '.$ftp_conn->getMessage().'<br />'.
860
                            'Erreur connexion : '.$ftp_conn->getMessage().'<br />'.
863
                            'Erreur login : '.$ftp_login_result->getMessage().'<br />'.
861
                            'Erreur login : '.$ftp_login_result->getMessage().'<br />'.
864
                            'Ligne n° : '. __LINE__ .'<br />'.
862
                            'Ligne n° : '. __LINE__ .'<br />'.
865
                            'Fichier n° : '. __FILE__ .'<br /><p>';
863
                            'Fichier n° : '. __FILE__ .'<br /><p>';
866
                return $message;
864
                return $message;
867
            }
865
            }
868
            $resultat = $objet_pear_ftp->putRecursive($chemin_site_ancien, $chemin_site_nouveau, false, FTP_BINARY);
866
            $resultat = $objet_pear_ftp->putRecursive($chemin_site_ancien, $chemin_site_nouveau, false, FTP_BINARY);
869
            if (PEAR::isError($resultat)) {
867
            if (PEAR::isError($resultat)) {
870
                $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de copier l\'ancien dossier du site.<br />'.
868
                $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de copier l\'ancien dossier du site.<br />'.
871
                            'Dossier site ancien : '. $chemin_site_ancien .'<br />'.
869
                            'Dossier site ancien : '. $chemin_site_ancien .'<br />'.
872
                            'Dossier site nouveau : '. $chemin_site_nouveau .'<br />'.
870
                            'Dossier site nouveau : '. $chemin_site_nouveau .'<br />'.
873
                            'Erreur origine : '. $resultat->getMessage() .'<br />'.
871
                            'Erreur origine : '. $resultat->getMessage() .'<br />'.
874
                            'Ligne n° : '. __LINE__ .'<br />'.
872
                            'Ligne n° : '. __LINE__ .'<br />'.
875
                            'Fichier n° : '. __FILE__ .'<br /></p>';
873
                            'Fichier n° : '. __FILE__ .'<br /></p>';
876
                    return $message;
874
                    return $message;
877
            }
875
            }
878
            // On utilise la racine FTP pour rm
876
            // On utilise la racine FTP pour rm
879
            $chemin_site_ancien = PAP_FTP_RACINE.GEN_CHEMIN_SITES.$ancien_code_alphnum.GEN_SEP;
877
            $chemin_site_ancien = PAP_FTP_RACINE.GEN_CHEMIN_SITES.$ancien_code_alphnum.GEN_SEP;
880
            // Changement du niveau d'erreur pour éviter les Notices PHP dues à Net_FTP
878
            // Changement du niveau d'erreur pour éviter les Notices PHP dues à Net_FTP
881
            error_reporting(E_PARSE);
879
            error_reporting(E_PARSE);
882
            $resultat = $objet_pear_ftp->rm($chemin_site_ancien, true);
880
            $resultat = $objet_pear_ftp->rm($chemin_site_ancien, true);
883
            if (PEAR::isError($resultat)) {
881
            if (PEAR::isError($resultat)) {
884
                $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de supprimer l\'ancien dossier du site.<br />'.
882
                $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de supprimer l\'ancien dossier du site.<br />'.
885
                            'Dossier site ancien : '. $chemin_site_ancien .'<br />'.
883
                            'Dossier site ancien : '. $chemin_site_ancien .'<br />'.
886
                            'Erreur origine : '. $resultat->getMessage() .'<br />'.
884
                            'Erreur origine : '. $resultat->getMessage() .'<br />'.
887
                            'Ligne n° : '. __LINE__ .'<br />'.
885
                            'Ligne n° : '. __LINE__ .'<br />'.
888
                            'Fichier n° : '. __FILE__ .'<br /></p>';
886
                            'Fichier n° : '. __FILE__ .'<br /></p>';
889
                    return $message;
887
                    return $message;
890
            }
888
            }
891
            // Retour au niveau d'erreur définit dans le fichier de config de Papyrus
889
            // Retour au niveau d'erreur définit dans le fichier de config de Papyrus
892
            error_reporting(GEN_DEBOGAGE_NIVEAU);
890
            error_reporting(GEN_DEBOGAGE_NIVEAU);
893
            $objet_pear_ftp->disconnect();
891
            $objet_pear_ftp->disconnect();
894
        }
892
        }
895
    }
893
    }
896
    
894
    
897
    // Requete de mise à jour des infos d'un site dans gen_site
895
    // Requete de mise à jour des infos d'un site dans gen_site
898
    $requete =  'UPDATE gen_site '.
896
    $requete =  'UPDATE gen_site '.
899
                'SET gs_ce_i18n = "'.$aso_valeurs['gs_ce_i18n'].'", '.
897
                'SET gs_ce_i18n = "'.$aso_valeurs['gs_ce_i18n'].'", '.
900
                'gs_ce_auth = '.$aso_valeurs['gs_ce_auth'].', '.
898
                'gs_ce_auth = '.$aso_valeurs['gs_ce_auth'].', '.
901
                'gs_fichier_squelette = "'.$aso_valeurs['gs_fichier_squelette'].'", '.
899
                'gs_fichier_squelette = "'.$aso_valeurs['gs_fichier_squelette'].'", '.
902
                'gs_code_num = '.$aso_valeurs['gs_code_num'].', '.
900
                'gs_code_num = '.$aso_valeurs['gs_code_num'].', '.
903
                'gs_code_alpha = "'.$aso_valeurs['gs_code_alpha'].'", '.
901
                'gs_code_alpha = "'.$aso_valeurs['gs_code_alpha'].'", '.
904
                'gs_nom = "'.$aso_valeurs['gs_nom'].'", '.
902
                'gs_nom = "'.$aso_valeurs['gs_nom'].'", '.
905
                'gs_raccourci_clavier = "'.$aso_valeurs['gs_raccourci_clavier'].'", '.
903
                'gs_raccourci_clavier = "'.$aso_valeurs['gs_raccourci_clavier'].'", '.
906
                'gs_titre = "'.$aso_valeurs['gs_titre'].'", '.
904
                'gs_titre = "'.$aso_valeurs['gs_titre'].'", '.
907
                'gs_mots_cles = "'.$aso_valeurs['gs_mots_cles'].'", '.
905
                'gs_mots_cles = "'.$aso_valeurs['gs_mots_cles'].'", '.
908
                'gs_description = "'.$aso_valeurs['gs_description'].'", '.
906
                'gs_description = "'.$aso_valeurs['gs_description'].'", '.
909
                'gs_auteur = "'.$aso_valeurs['gs_auteur'].'", '.
907
                'gs_auteur = "'.$aso_valeurs['gs_auteur'].'", '.
910
                'gs_date_creation = "'.date('Y-m-d H:i:s').'", '.
908
                'gs_date_creation = "'.date('Y-m-d H:i:s').'", '.
911
                'gs_ce_admin = '.$id_admin.' '.
909
                'gs_ce_admin = '.$id_admin.' '.
912
                $requete_complement.
910
                $requete_complement.
913
                'WHERE gs_id_site = '.$aso_valeurs['gs_id_site'];
911
                'WHERE gs_id_site = '.$aso_valeurs['gs_id_site'];
914
    $resultat = $db->query($requete) ;
912
    $resultat = $db->query($requete) ;
915
    if (DB::isError($resultat)) {
913
    if (DB::isError($resultat)) {
916
        die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
914
        die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
917
    }
915
    }
918
    // Gestion du site externe
916
    // Gestion du site externe
919
    if ($id_type_site == 103) {
917
    if ($id_type_site == 103) {
920
        // Vérification pour voir si nous avons à faire à une transformation d'un site "principal" en site "externe"
918
        // Vérification pour voir si nous avons à faire à une transformation d'un site "principal" en site "externe"
921
        $requete =  'SELECT COUNT(gsr_id_site_01) AS nbre_relation '.
919
        $requete =  'SELECT COUNT(gsr_id_site_01) AS nbre_relation '.
922
                    'FROM gen_site_relation '.
920
                    'FROM gen_site_relation '.
923
                    'WHERE gsr_id_site_01 = gsr_id_site_02 '.
921
                    'WHERE gsr_id_site_01 = gsr_id_site_02 '.
924
                    'AND gsr_id_site_01 = '.$aso_valeurs['gs_id_site'].' '.
922
                    'AND gsr_id_site_01 = '.$aso_valeurs['gs_id_site'].' '.
925
                    'AND gsr_id_valeur = 102 ';// 102 = site "principal"
923
                    'AND gsr_id_valeur = 102 ';// 102 = site "principal"
926
        $nbre_relation = $db->getOne($requete);
924
        $nbre_relation = $db->getOne($requete);
927
        if (DB::isError($nbre_relation)) {
925
        if (DB::isError($nbre_relation)) {
928
            die( BOG_afficherErreurSql(__FILE__, __LINE__, $nbre_relation->getMessage(), $requete) );
926
            die( BOG_afficherErreurSql(__FILE__, __LINE__, $nbre_relation->getMessage(), $requete) );
929
        }
927
        }
930
        
928
        
931
        // Nous supprimons l'ancienne relation si nécessaire
929
        // Nous supprimons l'ancienne relation si nécessaire
932
        if ($nbre_relation >= 1) {
930
        if ($nbre_relation >= 1) {
933
            $requete_supr_ext = 'DELETE FROM gen_site_relation '.
931
            $requete_supr_ext = 'DELETE FROM gen_site_relation '.
934
                                'WHERE gsr_id_site_01 = gsr_id_site_02 '.
932
                                'WHERE gsr_id_site_01 = gsr_id_site_02 '.
935
                                'AND gsr_id_site_01 = '.$aso_valeurs['gs_id_site'].' '.
933
                                'AND gsr_id_site_01 = '.$aso_valeurs['gs_id_site'].' '.
936
                                'AND gsr_id_valeur = 102 ';// 102 = site "principal"
934
                                'AND gsr_id_valeur = 102 ';// 102 = site "principal"
937
            $resultat_supr_ext = $db->query($requete_supr_ext);
935
            $resultat_supr_ext = $db->query($requete_supr_ext);
938
            if (DB::isError($resultat_supr_ext)) {
936
            if (DB::isError($resultat_supr_ext)) {
939
                die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_supr_ext->getMessage(), $requete_supr_ext));
937
                die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_supr_ext->getMessage(), $requete_supr_ext));
940
            }
938
            }
941
            $message_complement =   'Le site "principal" a été transformé en site "externe". Si nécessaire, veuillez '.
939
            $message_complement =   'Le site "principal" a été transformé en site "externe". Si nécessaire, veuillez '.
942
                                    'supprimer manuellement par FTP, le dossier contenant les fichiers de ce site sur '.
940
                                    'supprimer manuellement par FTP, le dossier contenant les fichiers de ce site sur '.
943
                                    'le serveur!';
941
                                    'le serveur!';
944
        }
942
        }
945
        
943
        
946
        // Vérification pour voir si le site est déjà "externe"
944
        // Vérification pour voir si le site est déjà "externe"
947
        $requete =  'SELECT COUNT(gsr_id_site_01) AS nbre_relation '.
945
        $requete =  'SELECT COUNT(gsr_id_site_01) AS nbre_relation '.
948
                    'FROM gen_site_relation '.
946
                    'FROM gen_site_relation '.
949
                    'WHERE gsr_id_site_01 = gsr_id_site_02 '.
947
                    'WHERE gsr_id_site_01 = gsr_id_site_02 '.
950
                    'AND gsr_id_site_01 = '.$aso_valeurs['gs_id_site'].' '.
948
                    'AND gsr_id_site_01 = '.$aso_valeurs['gs_id_site'].' '.
951
                    'AND gsr_id_valeur = 103 ';// 103 = site "externe"
949
                    'AND gsr_id_valeur = 103 ';// 103 = site "externe"
952
        $nbre_relation = $db->getOne($requete);
950
        $nbre_relation = $db->getOne($requete);
953
        if (DB::isError($nbre_relation)) {
951
        if (DB::isError($nbre_relation)) {
954
            die( BOG_afficherErreurSql(__FILE__, __LINE__, $nbre_relation->getMessage(), $requete) );
952
            die( BOG_afficherErreurSql(__FILE__, __LINE__, $nbre_relation->getMessage(), $requete) );
955
        }
953
        }
956
        if ($nbre_relation == 0) {
954
        if ($nbre_relation == 0) {
957
            // Requete d'insertion de la relations site "externe"
955
            // Requete d'insertion de la relations site "externe"
958
            $requete =  'INSERT INTO gen_site_relation '.
956
            $requete =  'INSERT INTO gen_site_relation '.
959
                        'SET gsr_id_site_01 = '.$aso_valeurs['gs_id_site'].', '.
957
                        'SET gsr_id_site_01 = '.$aso_valeurs['gs_id_site'].', '.
960
                        'gsr_id_site_02 = '.$aso_valeurs['gs_id_site'].', '.
958
                        'gsr_id_site_02 = '.$aso_valeurs['gs_id_site'].', '.
961
                        'gsr_id_valeur = '.$id_type_site.', '.
959
                        'gsr_id_valeur = '.$id_type_site.', '.
962
                        'gsr_ordre = NULL ';
960
                        'gsr_ordre = NULL ';
963
            $resultat = $db->query($requete);
961
            $resultat = $db->query($requete);
964
            if (DB::isError($resultat)) {
962
            if (DB::isError($resultat)) {
965
                die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
963
                die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
966
            }
964
            }
967
        }
965
        }
968
        
966
        
969
        // Ajout du type de site externe
967
        // Ajout du type de site externe
970
        $requete =  'INSERT INTO gen_site_relation '.
968
        $requete =  'INSERT INTO gen_site_relation '.
971
                    'SET gsr_id_site_01 = '.$aso_valeurs['gs_id_site'].', '.
969
                    'SET gsr_id_site_01 = '.$aso_valeurs['gs_id_site'].', '.
972
                    'gsr_id_site_02 = '.$aso_valeurs['gs_id_site'].', '.
970
                    'gsr_id_site_02 = '.$aso_valeurs['gs_id_site'].', '.
973
                    'gsr_id_valeur = '.$aso_valeurs['type_site_externe'].', '.
971
                    'gsr_id_valeur = '.$aso_valeurs['type_site_externe'].', '.
974
                    'gsr_ordre = NULL ';
972
                    'gsr_ordre = NULL ';
975
        $resultat = $db->query($requete);
973
        $resultat = $db->query($requete);
976
        if (DB::isError($resultat)) {
974
        if (DB::isError($resultat)) {
977
            die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
975
            die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
978
        }
976
        }
979
        
977
        
980
    }
978
    }
981
    
979
    
982
    // Gestion du site par défaut
980
    // Gestion du site par défaut
983
    if (isset($aso_valeurs['defaut']) && $aso_valeurs['defaut'] == 1) {
981
    if (isset($aso_valeurs['defaut']) && $aso_valeurs['defaut'] == 1) {
984
        $requete_supr_defaut =  'DELETE FROM gen_site_relation '.
982
        $requete_supr_defaut =  'DELETE FROM gen_site_relation '.
985
                                'WHERE gsr_id_site_01 = gsr_id_site_02 '.
983
                                'WHERE gsr_id_site_01 = gsr_id_site_02 '.
986
                                'AND gsr_id_valeur = 101 ';// 101 = site par "defaut"
984
                                'AND gsr_id_valeur = 101 ';// 101 = site par "defaut"
987
        $resultat_supr_defaut = $db->query($requete_supr_defaut);
985
        $resultat_supr_defaut = $db->query($requete_supr_defaut);
988
        if (DB::isError($resultat_supr_defaut)) {
986
        if (DB::isError($resultat_supr_defaut)) {
989
            die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_supr_defaut->getMessage(), $requete_supr_defaut));
987
            die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_supr_defaut->getMessage(), $requete_supr_defaut));
990
        }
988
        }
991
        
989
        
992
        // Requete d'insertion de la relations site par défaut
990
        // Requete d'insertion de la relations site par défaut
993
        $requete =  'INSERT INTO gen_site_relation '.
991
        $requete =  'INSERT INTO gen_site_relation '.
994
                    'SET gsr_id_site_01 = '.$aso_valeurs['gs_id_site'].', '.
992
                    'SET gsr_id_site_01 = '.$aso_valeurs['gs_id_site'].', '.
995
                    'gsr_id_site_02 = '.$aso_valeurs['gs_id_site'].', '.
993
                    'gsr_id_site_02 = '.$aso_valeurs['gs_id_site'].', '.
996
                    'gsr_id_valeur = 101, '.
994
                    'gsr_id_valeur = 101, '.
997
                    'gsr_ordre = NULL ';
995
                    'gsr_ordre = NULL ';
998
        $resultat = $db->query($requete);
996
        $resultat = $db->query($requete);
999
        if (DB::isError($resultat)) {
997
        if (DB::isError($resultat)) {
1000
            die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
998
            die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
1001
        }
999
        }
1002
    }
1000
    }
1003
    
1001
    
1004
    $message = '<p class="pap_info">'.'Succés de la modification du site.'.'</p>';
1002
    $message = '<p class="pap_info">'.'Succés de la modification du site.'.'</p>';
1005
    $message .= '<p class="pap_info">'.$message_complement.'</p>';
1003
    $message .= '<p class="pap_info">'.$message_complement.'</p>';
1006
    return $message;
1004
    return $message;
1007
}
1005
}
1008
 
1006
 
1009
/** Fonction ADMIN_supprimerSite() - Ajoute un site à Papyrus.
1007
/** Fonction ADMIN_supprimerSite() - Ajoute un site à Papyrus.
1010
*
1008
*
1011
* Cette fonction ajoute le site à Papyrus, c'est à dire :
1009
* Cette fonction ajoute le site à Papyrus, c'est à dire :
1012
* - 1. Création des répertoire du projet en fonction du nom et des sous-répertoires.
1010
* - 1. Création des répertoire du projet en fonction du nom et des sous-répertoires.
1013
* - 2. Insertion d'une ligne dans la table "gen_site".
1011
* - 2. Insertion d'une ligne dans la table "gen_site".
1014
* - 3. Insertion d'une ligne dans la table "gen_site_auth" et ses tables liées si nécessaire.
1012
* - 3. Insertion d'une ligne dans la table "gen_site_auth" et ses tables liées si nécessaire.
1015
*
1013
*
1016
* @param  string   l'objet pear de connexion à la base de données.
1014
* @param  string   l'objet pear de connexion à la base de données.
1017
* @param  string   le tableau contenant les valeurs du formulaire.
1015
* @param  string   le tableau contenant les valeurs du formulaire.
1018
* @param  int      identifiant de l'administrateur réalisant cette création.
1016
* @param  int      identifiant de l'administrateur réalisant cette création.
1019
* @return string retourne un message en cas de succès ou d'échec.
1017
* @return string retourne un message en cas de succès ou d'échec.
1020
*/
1018
*/
1021
function ADMIN_supprimerSite($db, $aso_valeurs)
1019
function ADMIN_supprimerSite($db, $aso_valeurs)
1022
{
1020
{
1023
    // Recherche du coda alpha du site principal afin de pouvoir détruire ses répertoires
1021
    // Recherche du coda alpha du site principal afin de pouvoir détruire ses répertoires
1024
    $requete =  'SELECT gs_code_alpha '.
1022
    $requete =  'SELECT gs_code_alpha '.
1025
                'FROM gen_site '.
1023
                'FROM gen_site '.
1026
                'WHERE gs_id_site = '.$aso_valeurs['form_sites_id_site'];
1024
                'WHERE gs_id_site = '.$aso_valeurs['form_sites_id_site'];
1027
    $code_alpha_site_principal = $db->getOne($requete);
1025
    $code_alpha_site_principal = $db->getOne($requete);
1028
    if (DB::isError($code_alpha_site_principal)) {
1026
    if (DB::isError($code_alpha_site_principal)) {
1029
        die(BOG_afficherErreurSql(__FILE__, __LINE__, $code_alpha_site_principal->getMessage(), $requete));
1027
        die(BOG_afficherErreurSql(__FILE__, __LINE__, $code_alpha_site_principal->getMessage(), $requete));
1030
    }
1028
    }
1031
    
1029
    
1032
    // Nous vérifions que le site n'a pas le code alphanum correspondant au site par défaut d'administration (admin).
1030
    // Nous vérifions que le site n'a pas le code alphanum correspondant au site par défaut d'administration (admin).
1033
    if ($code_alpha_site_principal == GEN_SITE_DEFAUT) {
1031
    if ($code_alpha_site_principal == GEN_SITE_DEFAUT) {
1034
        $message =  '<p class="pap_erreur">Si vous voulez vraiment supprimer le site d\'administration par défaut de '.
1032
        $message =  '<p class="pap_erreur">Si vous voulez vraiment supprimer le site d\'administration par défaut de '.
1035
                    'Papyrus, veuillez commencer par changer la valeur de son code alphanumérique. Vous pourrez '.
1033
                    'Papyrus, veuillez commencer par changer la valeur de son code alphanumérique. Vous pourrez '.
1036
                    'ensuite le supprimer via cette interface.</p>';
1034
                    'ensuite le supprimer via cette interface.</p>';
1037
        return $message;
1035
        return $message;
1038
    }
1036
    }
1039
    
1037
    
1040
    // Recherche des différents sites liés à celui que l'on veut détruire
1038
    // Recherche des différents sites liés à celui que l'on veut détruire
1041
    // Cela comprend le site à détruire lui méme car il posséde la relations
1039
    // Cela comprend le site à détruire lui méme car il posséde la relations
1042
    // sur lui meme "site principale".
1040
    // sur lui meme "site principale".
1043
    $requete =  'SELECT gs_id_site '.
1041
    $requete =  'SELECT gs_id_site '.
1044
                'FROM gen_site, gen_site_relation '.
1042
                'FROM gen_site, gen_site_relation '.
1045
                'WHERE gsr_id_site_01 = '.$aso_valeurs['form_sites_id_site'].' '.
1043
                'WHERE gsr_id_site_01 = '.$aso_valeurs['form_sites_id_site'].' '.
1046
                'AND gsr_id_site_02 = gs_id_site ';
1044
                'AND gsr_id_site_02 = gs_id_site ';
1047
    $resultat = $db->query($requete);
1045
    $resultat = $db->query($requete);
1048
    if (DB::isError($resultat)) {
1046
    if (DB::isError($resultat)) {
1049
        die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
1047
        die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
1050
    }
1048
    }
1051
    
1049
    
1052
    while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
1050
    while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
1053
        // Requete de suppression des sites liés dans gen_site
1051
        // Requete de suppression des sites liés dans gen_site
1054
        $requete_supr_site =    'DELETE FROM gen_site '.
1052
        $requete_supr_site =    'DELETE FROM gen_site '.
1055
                                'WHERE gs_id_site = '.$ligne->gs_id_site;
1053
                                'WHERE gs_id_site = '.$ligne->gs_id_site;
1056
        $resultat_supr_site = $db->query($requete_supr_site);
1054
        $resultat_supr_site = $db->query($requete_supr_site);
1057
        if (DB::isError($resultat_supr_site)) {
1055
        if (DB::isError($resultat_supr_site)) {
1058
            die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_supr_site->getMessage(), $requete_supr_site));
1056
            die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_supr_site->getMessage(), $requete_supr_site));
1059
        }
1057
        }
1060
        
1058
        
1061
        // Requete de suppression des relations des sites à détruire
1059
        // Requete de suppression des relations des sites à détruire
1062
        $requete_supr_site_relation =   'DELETE FROM gen_site_relation '.
1060
        $requete_supr_site_relation =   'DELETE FROM gen_site_relation '.
1063
                                        'WHERE gsr_id_site_01 = '.$ligne->gs_id_site;
1061
                                        'WHERE gsr_id_site_01 = '.$ligne->gs_id_site;
1064
        $resultat_supr_site_relation = $db->query($requete_supr_site_relation);
1062
        $resultat_supr_site_relation = $db->query($requete_supr_site_relation);
1065
        if (DB::isError($resultat_supr_site_relation)) {
1063
        if (DB::isError($resultat_supr_site_relation)) {
1066
            die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_supr_site_relation->getMessage(), $requete_supr_site_relation));
1064
            die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_supr_site_relation->getMessage(), $requete_supr_site_relation));
1067
        }
1065
        }
1068
        
1066
        
1069
        // Recherche des différents menus liés au site à détruire
1067
        // Recherche des différents menus liés au site à détruire
1070
        $requete_menu = 'SELECT gm_id_menu '.
1068
        $requete_menu = 'SELECT gm_id_menu '.
1071
                        'FROM gen_menu '.
1069
                        'FROM gen_menu '.
1072
                        'WHERE gm_ce_site = '.$ligne->gs_id_site;
1070
                        'WHERE gm_ce_site = '.$ligne->gs_id_site;
1073
        $resultat_menu = $db->query($requete_menu) ;
1071
        $resultat_menu = $db->query($requete_menu) ;
1074
        if (DB::isError($resultat_menu)) {
1072
        if (DB::isError($resultat_menu)) {
1075
            die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_menu->getMessage(), $requete_menu));
1073
            die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_menu->getMessage(), $requete_menu));
1076
        }
1074
        }
1077
        while ($ligne_menu = $resultat_menu->fetchRow(DB_FETCHMODE_OBJECT)) {
1075
        while ($ligne_menu = $resultat_menu->fetchRow(DB_FETCHMODE_OBJECT)) {
1078
            // Requete de suppression des des menus
1076
            // Requete de suppression des des menus
1079
            $requete_supr_menu =   'DELETE FROM gen_menu '.
1077
            $requete_supr_menu =   'DELETE FROM gen_menu '.
1080
                                            'WHERE gm_id_menu = '.$ligne_menu->gm_id_menu;
1078
                                            'WHERE gm_id_menu = '.$ligne_menu->gm_id_menu;
1081
            $resultat_supr_menu = $db->query($requete_supr_menu);
1079
            $resultat_supr_menu = $db->query($requete_supr_menu);
1082
            if (DB::isError($resultat_supr_menu)) {
1080
            if (DB::isError($resultat_supr_menu)) {
1083
                die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_supr_menu->getMessage(), $requete_supr_menu));
1081
                die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_supr_menu->getMessage(), $requete_supr_menu));
1084
            }
1082
            }
1085
            // Requete de suppression des relations des menus
1083
            // Requete de suppression des relations des menus
1086
            $requete_supr_menu_relation =   'DELETE FROM gen_menu_relation '.
1084
            $requete_supr_menu_relation =   'DELETE FROM gen_menu_relation '.
1087
                                            'WHERE gmr_id_menu_01 = '.$ligne_menu->gm_id_menu;
1085
                                            'WHERE gmr_id_menu_01 = '.$ligne_menu->gm_id_menu;
1088
            $resultat_supr_menu_relation = $db->query($requete_supr_menu_relation);
1086
            $resultat_supr_menu_relation = $db->query($requete_supr_menu_relation);
1089
            if (DB::isError($resultat_supr_menu_relation)) {
1087
            if (DB::isError($resultat_supr_menu_relation)) {
1090
                die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_supr_menu_relation->getMessage(), $requete_supr_menu_relation));
1088
                die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_supr_menu_relation->getMessage(), $requete_supr_menu_relation));
1091
            }
1089
            }
1092
            
1090
            
1093
            // Requete de suppression des contenus des menus
1091
            // Requete de suppression des contenus des menus
1094
            $requete_supr_menu_contenu =   'DELETE FROM gen_menu_contenu '.
1092
            $requete_supr_menu_contenu =   'DELETE FROM gen_menu_contenu '.
1095
                                            'WHERE gmc_ce_menu = '.$ligne_menu->gm_id_menu;
1093
                                            'WHERE gmc_ce_menu = '.$ligne_menu->gm_id_menu;
1096
            $resultat_supr_menu_contenu = $db->query($requete_supr_menu_contenu);
1094
            $resultat_supr_menu_contenu = $db->query($requete_supr_menu_contenu);
1097
            if (DB::isError($resultat_supr_menu_contenu)) {
1095
            if (DB::isError($resultat_supr_menu_contenu)) {
1098
                die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_supr_menu_contenu->getMessage(), $requete_supr_menu_contenu));
1096
                die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_supr_menu_contenu->getMessage(), $requete_supr_menu_contenu));
1099
            }
1097
            }
1100
            
1098
            
1101
            // Requete de suppression des ulr alternatives des menus
1099
            // Requete de suppression des ulr alternatives des menus
1102
            $requete_supr_menu_url_alt =   'DELETE FROM gen_menu_url_alternative '.
1100
            $requete_supr_menu_url_alt =   'DELETE FROM gen_menu_url_alternative '.
1103
                                            'WHERE gmua_ce_menu = '.$ligne_menu->gm_id_menu;
1101
                                            'WHERE gmua_ce_menu = '.$ligne_menu->gm_id_menu;
1104
            $resultat_supr_menu_url_alt = $db->query($requete_supr_menu_url_alt);
1102
            $resultat_supr_menu_url_alt = $db->query($requete_supr_menu_url_alt);
1105
            if (DB::isError($resultat_supr_menu_url_alt)) {
1103
            if (DB::isError($resultat_supr_menu_url_alt)) {
1106
                die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_supr_menu_url_alt->getMessage(), $requete_supr_menu_url_alt));
1104
                die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_supr_menu_url_alt->getMessage(), $requete_supr_menu_url_alt));
1107
            }
1105
            }
1108
        }
1106
        }
1109
        $resultat_menu->free();
1107
        $resultat_menu->free();
1110
    }
1108
    }
1111
    $resultat->free();
1109
    $resultat->free();
1112
    
1110
    
1113
    // Suppression des répertoires du site
1111
    // Suppression des répertoires du site
1114
    if (!GEN_FTP_UTILISE) {
1112
    if (!GEN_FTP_UTILISE) {
1115
        $chemin_repertoire = PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$code_alpha_site_principal;
1113
        $chemin_repertoire = PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$code_alpha_site_principal;
1116
        $resultat = supprimerDossier($chemin_repertoire, GEN_SEP);
1114
        $resultat = supprimerDossier($chemin_repertoire, GEN_SEP);
1117
        if (!$resultat) {
1115
        if (!$resultat) {
1118
            $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de supprimer le répertoire.<br />'.
1116
            $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de supprimer le répertoire.<br />'.
1119
                        'Répertoire : '. $chemin_repertoire .'<br />'.
1117
                        'Répertoire : '. $chemin_repertoire .'<br />'.
1120
                        'Ligne n° : '. __LINE__ .'<br />'.
1118
                        'Ligne n° : '. __LINE__ .'<br />'.
1121
                        'Fichier n° : '. __FILE__ .'<br /></p>';
1119
                        'Fichier n° : '. __FILE__ .'<br /></p>';
1122
            return $message;
1120
            return $message;
1123
        }
1121
        }
1124
    } else {
1122
    } else {
1125
        // Création d'une connection ftp avec Net_FTP de PEAR
1123
        // Création d'une connection ftp avec Net_FTP de PEAR
1126
        // voir http://pear.php.net/manual/fr/package.networking.net-ftp.php
1124
        // voir http://pear.php.net/manual/fr/package.networking.net-ftp.php
1127
        
1125
        
1128
        // création de l'objet pear ftp
1126
        // création de l'objet pear ftp
1129
        $objet_pear_ftp = new Net_FTP(PAP_FTP_SERVEUR, PAP_FTP_PORT);
1127
        $objet_pear_ftp = new Net_FTP(PAP_FTP_SERVEUR, PAP_FTP_PORT);
1130
        // création de la connexion
1128
        // création de la connexion
1131
        $ftp_conn = $objet_pear_ftp->connect(PAP_FTP_SERVEUR, PAP_FTP_PORT);
1129
        $ftp_conn = $objet_pear_ftp->connect(PAP_FTP_SERVEUR, PAP_FTP_PORT);
1132
        // identification
1130
        // identification
1133
        $ftp_login_result = $objet_pear_ftp->login(PAP_FTP_UTILISATEUR, PAP_FTP_MOT_DE_PASSE);
1131
        $ftp_login_result = $objet_pear_ftp->login(PAP_FTP_UTILISATEUR, PAP_FTP_MOT_DE_PASSE);
1134
        // Gestion des erreurs ftp
1132
        // Gestion des erreurs ftp
1135
        if ((PEAR::isError($ftp_conn) || PEAR::isError($ftp_login_result))) {
1133
        if ((PEAR::isError($ftp_conn) || PEAR::isError($ftp_login_result))) {
1136
            $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de se connecter par ftp.<br />'.
1134
            $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de se connecter par ftp.<br />'.
1137
                        'Erreur connexion : '.$ftp_conn->getMessage().'<br />'.
1135
                        'Erreur connexion : '.$ftp_conn->getMessage().'<br />'.
1138
                        'Erreur login : '.$ftp_login_result->getMessage().'<br />'.
1136
                        'Erreur login : '.$ftp_login_result->getMessage().'<br />'.
1139
                        'Serveur : '. PAP_FTP_SERVEUR .'<br />'.
1137
                        'Serveur : '. PAP_FTP_SERVEUR .'<br />'.
1140
                        'Utilisateur : '. PAP_FTP_UTILISATEUR .'<br />'.
1138
                        'Utilisateur : '. PAP_FTP_UTILISATEUR .'<br />'.
1141
                        'Ligne n° : '. __LINE__ .'<br />'.
1139
                        'Ligne n° : '. __LINE__ .'<br />'.
1142
                        'Fichier n° : '. __FILE__ .'<br /><p>';
1140
                        'Fichier n° : '. __FILE__ .'<br /><p>';
1143
            return $message;
1141
            return $message;
1144
        }
1142
        }
1145
        // Changement du niveau d'erreur pour éviter les Notices PHP dues à  Net_FTP
1143
        // Changement du niveau d'erreur pour éviter les Notices PHP dues à  Net_FTP
1146
        error_reporting(E_PARSE);
1144
        error_reporting(E_PARSE);
1147
        $chemin_repertoire = PAP_FTP_RACINE.GEN_CHEMIN_SITES.$code_alpha_site_principal.'/';
1145
        $chemin_repertoire = PAP_FTP_RACINE.GEN_CHEMIN_SITES.$code_alpha_site_principal.'/';
1148
        $resultat = $objet_pear_ftp->rm($chemin_repertoire, true);
1146
        $resultat = $objet_pear_ftp->rm($chemin_repertoire, true);
1149
        if (PEAR::isError($resultat)) {
1147
        if (PEAR::isError($resultat)) {
1150
            $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de supprimer le répertoire par ftp.<br />'.
1148
            $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de supprimer le répertoire par ftp.<br />'.
1151
                        'Erreur ftp : '.$resultat->getMessage().'<br />'.
1149
                        'Erreur ftp : '.$resultat->getMessage().'<br />'.
1152
                        'Répertoire : '. $chemin_repertoire .'<br />'.
1150
                        'Répertoire : '. $chemin_repertoire .'<br />'.
1153
                        'Ligne n° : '. __LINE__ .'<br />'.
1151
                        'Ligne n° : '. __LINE__ .'<br />'.
1154
                        'Fichier n° : '. __FILE__ .'<br /></p>';
1152
                        'Fichier n° : '. __FILE__ .'<br /></p>';
1155
            return $message;
1153
            return $message;
1156
        }
1154
        }
1157
        $objet_pear_ftp->disconnect();
1155
        $objet_pear_ftp->disconnect();
1158
        // Retour au niveau d'erreur définit dans le fichier de config de Papyrus
1156
        // Retour au niveau d'erreur définit dans le fichier de config de Papyrus
1159
        error_reporting(GEN_DEBOGAGE_NIVEAU);
1157
        error_reporting(GEN_DEBOGAGE_NIVEAU);
1160
    }
1158
    }
1161
    $message = '<p class="pap_info">Succés de la suppression du site.</p>';
1159
    $message = '<p class="pap_info">Succés de la suppression du site.</p>';
1162
    return $message;
1160
    return $message;
1163
}
1161
}
1164
 
1162
 
1165
// +- Fin du code source  --------------------------------------------------------------------------------+
1163
// +- Fin du code source  --------------------------------------------------------------------------------+
1166
/*
1164
/*
1167
* $Log: not supported by cvs2svn $
1165
* $Log: not supported by cvs2svn $
-
 
1166
* Revision 1.17  2005/02/17 17:51:11  florian
-
 
1167
* Correction bug FTP
-
 
1168
*
1168
* Revision 1.16  2005/02/17 16:44:55  florian
1169
* Revision 1.16  2005/02/17 16:44:55  florian
1169
* correction du bug sur les sites par défaut
1170
* correction du bug sur les sites par défaut
1170
*
1171
*
1171
* Revision 1.15  2005/01/04 19:52:50  alex
1172
* Revision 1.15  2005/01/04 19:52:50  alex
1172
* correction de bug de copie de répertoire récursif de PEAR.
1173
* correction de bug de copie de répertoire récursif de PEAR.
1173
*
1174
*
1174
* Revision 1.14  2004/12/03 19:22:53  jpm
1175
* Revision 1.14  2004/12/03 19:22:53  jpm
1175
* Gestion des types de sites externes gérés par Papyrus.
1176
* Gestion des types de sites externes gérés par Papyrus.
1176
*
1177
*
1177
* Revision 1.13  2004/12/03 16:37:34  jpm
1178
* Revision 1.13  2004/12/03 16:37:34  jpm
1178
* Correction d'un bogue qui empécher la mise à jour des url des sites externes.
1179
* Correction d'un bogue qui empécher la mise à jour des url des sites externes.
1179
*
1180
*
1180
* Revision 1.12  2004/12/01 17:22:58  jpm
1181
* Revision 1.12  2004/12/01 17:22:58  jpm
1181
* Ajout d'une confirmation javascript pour la suppression d'un site.
1182
* Ajout d'une confirmation javascript pour la suppression d'un site.
1182
*
1183
*
1183
* Revision 1.11  2004/11/30 16:43:51  jpm
1184
* Revision 1.11  2004/11/30 16:43:51  jpm
1184
* Correction de bogues.
1185
* Correction de bogues.
1185
*
1186
*
1186
* Revision 1.10  2004/11/29 17:05:28  jpm
1187
* Revision 1.10  2004/11/29 17:05:28  jpm
1187
* Correction d'un bogue concernat les cases à cocher.
1188
* Correction d'un bogue concernat les cases à cocher.
1188
*
1189
*
1189
* Revision 1.9  2004/11/26 13:13:51  jpm
1190
* Revision 1.9  2004/11/26 13:13:51  jpm
1190
* Mise en commentaire de variable passée dans un message d'erreur car elles semblent provoquer un bogue et ne sont pas obligatoire.
1191
* Mise en commentaire de variable passée dans un message d'erreur car elles semblent provoquer un bogue et ne sont pas obligatoire.
1191
*
1192
*
1192
* Revision 1.8  2004/11/03 17:59:59  jpm
1193
* Revision 1.8  2004/11/03 17:59:59  jpm
1193
* Corrections bogues erreurs variable inconnue.
1194
* Corrections bogues erreurs variable inconnue.
1194
*
1195
*
1195
* Revision 1.7  2004/10/26 18:41:28  jpm
1196
* Revision 1.7  2004/10/26 18:41:28  jpm
1196
* Gestion des sites externes à Papyrus.
1197
* Gestion des sites externes à Papyrus.
1197
*
1198
*
1198
* Revision 1.6  2004/10/22 17:25:31  jpm
1199
* Revision 1.6  2004/10/22 17:25:31  jpm
1199
* Changement du nom de la class CSS d'erreur.
1200
* Changement du nom de la class CSS d'erreur.
1200
*
1201
*
1201
* Revision 1.5  2004/10/19 15:57:55  jpm
1202
* Revision 1.5  2004/10/19 15:57:55  jpm
1202
* Amélioration de la gestion des fichiers sur le serveur.
1203
* Amélioration de la gestion des fichiers sur le serveur.
1203
* Ajout d'une contrainte pour éviter la suppression par erreur du site par défaut.
1204
* Ajout d'une contrainte pour éviter la suppression par erreur du site par défaut.
1204
*
1205
*
1205
* Revision 1.4  2004/10/18 18:27:41  jpm
1206
* Revision 1.4  2004/10/18 18:27:41  jpm
1206
* Correction problèmes FTP et manipulation de fichiers.
1207
* Correction problèmes FTP et manipulation de fichiers.
1207
*
1208
*
1208
* Revision 1.3  2004/09/23 16:51:27  jpm
1209
* Revision 1.3  2004/09/23 16:51:27  jpm
1209
* Ajout d'informations supplémentaires sur les messages d'erreur.
1210
* Ajout d'informations supplémentaires sur les messages d'erreur.
1210
*
1211
*
1211
* Revision 1.2  2004/07/06 17:08:01  jpm
1212
* Revision 1.2  2004/07/06 17:08:01  jpm
1212
* Modification de la documentation pour une mailleur analyse par PhpDocumentor.
1213
* Modification de la documentation pour une mailleur analyse par PhpDocumentor.
1213
*
1214
*
1214
* Revision 1.1  2004/06/16 14:28:46  jpm
1215
* Revision 1.1  2004/06/16 14:28:46  jpm
1215
* Changement de nom de Génésia en Papyrus.
1216
* Changement de nom de Génésia en Papyrus.
1216
* Changement de l'arborescence.
1217
* Changement de l'arborescence.
1217
*
1218
*
1218
* Revision 1.20  2004/05/10 14:32:14  jpm
1219
* Revision 1.20  2004/05/10 14:32:14  jpm
1219
* Changement du titre.
1220
* Changement du titre.
1220
*
1221
*
1221
* Revision 1.19  2004/05/10 12:23:39  jpm
1222
* Revision 1.19  2004/05/10 12:23:39  jpm
1222
* Modification formulaire.
1223
* Modification formulaire.
1223
*
1224
*
1224
* Revision 1.18  2004/05/07 16:33:53  jpm
1225
* Revision 1.18  2004/05/07 16:33:53  jpm
1225
* Amélioration des formulaires.
1226
* Amélioration des formulaires.
1226
*
1227
*
1227
* Revision 1.17  2004/05/07 07:22:51  jpm
1228
* Revision 1.17  2004/05/07 07:22:51  jpm
1228
* Ajout de la gestion des modification et suppression de site.
1229
* Ajout de la gestion des modification et suppression de site.
1229
* Amélioration de la création des sites.
1230
* Amélioration de la création des sites.
1230
*
1231
*
1231
* Revision 1.16  2004/04/30 16:22:53  jpm
1232
* Revision 1.16  2004/04/30 16:22:53  jpm
1232
* Poursuite de l'administration des sites.
1233
* Poursuite de l'administration des sites.
1233
*
1234
*
1234
* Revision 1.14  2004/04/02 15:58:39  jpm
1235
* Revision 1.14  2004/04/02 15:58:39  jpm
1235
* Modification fonction liste des projets.
1236
* Modification fonction liste des projets.
1236
*
1237
*
1237
* Revision 1.13  2004/04/01 11:21:41  jpm
1238
* Revision 1.13  2004/04/01 11:21:41  jpm
1238
* Ajout et modification de commentaires pour PhpDocumentor.
1239
* Ajout et modification de commentaires pour PhpDocumentor.
1239
*
1240
*
1240
* Revision 1.12  2004/03/24 20:01:02  jpm
1241
* Revision 1.12  2004/03/24 20:01:02  jpm
1241
* Traduction, mise en forme, ajout de commentaire pour les fonctions listProjects() et updateProject().
1242
* Traduction, mise en forme, ajout de commentaire pour les fonctions listProjects() et updateProject().
1242
*
1243
*
1243
* Revision 1.11  2004/03/24 10:06:01  jpm
1244
* Revision 1.11  2004/03/24 10:06:01  jpm
1244
* Ajout des commentaires d'entête.
1245
* Ajout des commentaires d'entête.
1245
* Début mise en conformité avec la convention de codage.
1246
* Début mise en conformité avec la convention de codage.
1246
* Début traitement de la fonction listant les projets.
1247
* Début traitement de la fonction listant les projets.
1247
*
1248
*
1248
*
1249
*
1249
*/
1250
*/
1250
?>
1251
?>