Subversion Repositories Applications.papyrus

Rev

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

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