Subversion Repositories Applications.papyrus

Rev

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

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