Subversion Repositories Applications.papyrus

Rev

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

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