Subversion Repositories Applications.papyrus

Rev

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

Rev 925 Rev 1033
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.31 2006-09-12 09:54:02 ddelon Exp $
22
// CVS : $Id: adsi_site.fonct.php,v 1.32 2006-10-16 15:49:06 ddelon Exp $
23
/**
23
/**
24
* Bibliothèque de fonctions d'admininistration des projets
24
* Bibliothèque de fonctions d'admininistration des projets
25
*
25
*
26
* Contient un ensemble de fonctions permettant à l'application Administrateur de Papyrus, de modifier des informations
26
* Contient un ensemble de fonctions permettant à l'application Administrateur de Papyrus, de modifier des informations
27
* sur les projets (=sites gérés par Papyrus).
27
* sur les projets (=sites gérés par Papyrus).
28
*
28
*
29
*@package Admin_site
29
*@package Admin_site
30
*@subpackage Fonctions
30
*@subpackage Fonctions
31
//Auteur original :
31
//Auteur original :
32
*@author        Jean-Pascal MILCENT <jpm@tela-botanica.org>
32
*@author        Jean-Pascal MILCENT <jpm@tela-botanica.org>
33
//Autres auteurs :
33
//Autres auteurs :
34
*@author        Alexandre GRANIER <alexandre@tela-botanica.org>
34
*@author        Alexandre GRANIER <alexandre@tela-botanica.org>
35
*@author        Laurent COUDOUNEAU <lc@gsite.org>
35
*@author        Laurent COUDOUNEAU <lc@gsite.org>
36
*@copyright     Tela-Botanica 2000-2004
36
*@copyright     Tela-Botanica 2000-2004
37
*@version       $Revision: 1.31 $ $Date: 2006-09-12 09:54:02 $
37
*@version       $Revision: 1.32 $ $Date: 2006-10-16 15:49:06 $
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
	
63
	
64
	$id_langue = $GLOBALS['_GEN_commun']['i18n']; //identifiant de la langue choisie
64
	$id_langue = $GLOBALS['_GEN_commun']['i18n']; //identifiant de la langue choisie
65
	
65
	
66
	// Langue en cours : langue choisie ou langue par defaut (principale)
66
	// Langue en cours : langue choisie ou langue par defaut (principale)
67
	
67
	
68
	if (isset($id_langue) && ($id_langue!='')) {
68
	if (isset($id_langue) && ($id_langue!='')) {
69
		$langue_test=$id_langue;
69
		$langue_test=$id_langue;
70
	} else {
70
	} else {
71
		$langue_test=GEN_I18N_ID_DEFAUT;
71
		$langue_test=GEN_I18N_ID_DEFAUT;
72
	}
72
	}
73
 
73
 
74
    // Liste des sites principaux :
74
    // Liste des sites principaux :
75
    // Recherche de tous les sites langue en cours
75
    // Recherche de tous les sites langue en cours
76
    
76
    
77
    $requete =  'SELECT * '.
77
    $requete =  'SELECT * '.
78
                'FROM gen_site, gen_site_relation '.
78
                'FROM gen_site, gen_site_relation '.
79
                'WHERE gsr_id_site_01 = gsr_id_site_02 '.
79
                'WHERE gsr_id_site_01 = gsr_id_site_02 '.
80
                'AND gsr_id_site_01 = gs_id_site '.
80
                'AND gsr_id_site_01 = gs_id_site '.
81
                'AND gsr_id_valeur IN (102, 103) '.
81
                'AND gsr_id_valeur IN (102, 103) '.
82
                'AND gs_ce_i18n = "'.$langue_test.'" '.
82
                'AND gs_ce_i18n = "'.$langue_test.'" '.
83
                'ORDER BY gsr_ordre';
83
                'ORDER BY gsr_ordre';
84
                    
84
                    
85
    
85
    
86
    $resultat = $db->query($requete);
86
    $resultat = $db->query($requete);
87
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '' ;
87
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '' ;
88
    
88
    
89
    $liste_site=array();
89
    $liste_site=array();
90
    while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
90
    while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
91
    	
91
    	
92
    		if ($langue_test == GEN_I18N_ID_DEFAUT) {
92
    		if ($langue_test == GEN_I18N_ID_DEFAUT) {
93
    			
93
    			
94
    		  $requete_est_traduction =   'SELECT gsr_id_site_01 '.
94
    		  $requete_est_traduction =   'SELECT gsr_id_site_01 '.
95
	                       'FROM  gen_site_relation '.
95
	                       'FROM  gen_site_relation '.
96
	                       'WHERE '.$ligne->gs_id_site.' = gsr_id_site_02 ' .
96
	                       'WHERE '.$ligne->gs_id_site.' = gsr_id_site_02 ' .
97
	                  	   'AND  gsr_id_site_01 <> gsr_id_site_02 ' .
97
	                  	   'AND  gsr_id_site_01 <> gsr_id_site_02 ' .
98
	                       'AND gsr_id_valeur = 1 ';// 1 = "avoir traduction"
98
	                       'AND gsr_id_valeur = 1 ';// 1 = "avoir traduction"
99
	                                
99
	                                
100
	                                
100
	                                
101
	            $resultat_est_traduction = $db->query($requete_est_traduction);
101
	            $resultat_est_traduction = $db->query($requete_est_traduction);
102
	            (DB::isError($resultat_est_traduction))
102
	            (DB::isError($resultat_est_traduction))
103
	                ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_est_traduction->getMessage(), $requete_est_traduction))
103
	                ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_est_traduction->getMessage(), $requete_est_traduction))
104
	                : '';
104
	                : '';
105
	                
105
	                
106
	   			if ( $resultat_est_traduction->numRows() == 0 ) {
106
	   			if ( $resultat_est_traduction->numRows() == 0 ) {
107
    	 			$liste_site[]=$ligne;
107
    	 			$liste_site[]=$ligne;
108
	            }
108
	            }
109
    		}
109
    		}
110
    		else {
110
    		else {
111
    			   $liste_site[]=$ligne;
111
    			   $liste_site[]=$ligne;
112
    		}
112
    		}
113
    }
113
    }
114
    $resultat->free();
114
    $resultat->free();
115
    
115
    
116
    // Si la langue en cours n'est pas la langue par défaut, recherche des sites ayant comme langue
116
    // Si la langue en cours n'est pas la langue par défaut, recherche des sites ayant comme langue
117
    // la langue par defaut, non traduits dans la langue en cours et n'etant pas des traductions
117
    // la langue par defaut, non traduits dans la langue en cours et n'etant pas des traductions
118
  	
118
  	
119
  	
119
  	
120
	if ($langue_test != GEN_I18N_ID_DEFAUT) {
120
	if ($langue_test != GEN_I18N_ID_DEFAUT) {
121
 
121
 
122
    
122
    
123
	    $requete =  'SELECT * '.
123
	    $requete =  'SELECT * '.
124
	                'FROM gen_site, gen_site_relation '.
124
	                'FROM gen_site, gen_site_relation '.
125
	                'WHERE gsr_id_site_01 = gsr_id_site_02 '.
125
	                'WHERE gsr_id_site_01 = gsr_id_site_02 '.
126
	                'AND gs_id_site = gsr_id_site_01 '.
126
	                'AND gs_id_site = gsr_id_site_01 '.
127
	                'AND gsr_id_valeur IN (102, 103) '.
127
	                'AND gsr_id_valeur IN (102, 103) '.
128
	                'AND gs_ce_i18n = "'.GEN_I18N_ID_DEFAUT.'" '.
128
	                'AND gs_ce_i18n = "'.GEN_I18N_ID_DEFAUT.'" '.
129
	                'ORDER BY gs_code_num ASC';// 102 = site "principal" et 103 = site "externe"
129
	                'ORDER BY gs_code_num ASC';// 102 = site "principal" et 103 = site "externe"
130
	                
130
	                
131
	    $resultat = $db->query($requete);
131
	    $resultat = $db->query($requete);
132
	    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
132
	    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
133
	    
133
	    
134
	    
134
	    
135
	            
135
	            
136
	    
136
	    
137
	    // Recherche de tous les sites de la langue principale  qui ne sont pas traduits dans la langue en cours
137
	    // Recherche de tous les sites de la langue principale  qui ne sont pas traduits dans la langue en cours
138
	    
138
	    
139
	    while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
139
	    while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
140
	    	
140
	    	
141
	    		$requete_est_traduction =   'SELECT gsr_id_site_01 '.
141
	    		$requete_est_traduction =   'SELECT gsr_id_site_01 '.
142
	                                'FROM  gen_site_relation '.
142
	                                'FROM  gen_site_relation '.
143
	                                'WHERE '.$ligne->gs_id_site.' = gsr_id_site_02 ' .
143
	                                'WHERE '.$ligne->gs_id_site.' = gsr_id_site_02 ' .
144
	                                'AND  gsr_id_site_01 <> gsr_id_site_02 ' .
144
	                                'AND  gsr_id_site_01 <> gsr_id_site_02 ' .
145
	                                'AND gsr_id_valeur = 1 ';// 1 = "avoir traduction"
145
	                                'AND gsr_id_valeur = 1 ';// 1 = "avoir traduction"
146
	                                
146
	                                
147
	                                
147
	                                
148
	            $resultat_est_traduction = $db->query($requete_est_traduction);
148
	            $resultat_est_traduction = $db->query($requete_est_traduction);
149
	            (DB::isError($resultat_est_traduction))
149
	            (DB::isError($resultat_est_traduction))
150
	                ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_est_traduction->getMessage(), $requete_est_traduction))
150
	                ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_est_traduction->getMessage(), $requete_est_traduction))
151
	                : '';
151
	                : '';
152
	                
152
	                
153
	            if ( $resultat_est_traduction->numRows() == 0 ) {
153
	            if ( $resultat_est_traduction->numRows() == 0 ) {
154
	            	
154
	            	
155
		    	
155
		    	
156
					if (isset($id_langue) && ($id_langue!='')) {
156
					if (isset($id_langue) && ($id_langue!='')) {
157
						$langue_test=$id_langue;
157
						$langue_test=$id_langue;
158
					} else {
158
					} else {
159
						$langue_test=GEN_I18N_ID_DEFAUT;
159
						$langue_test=GEN_I18N_ID_DEFAUT;
160
					}
160
					}
161
				    	
161
				    	
162
		    		$requete_traduction =   'SELECT gsr_id_site_01 '.
162
		    		$requete_traduction =   'SELECT gsr_id_site_01 '.
163
		                                    'FROM  gen_site_relation, gen_site '.
163
		                                    'FROM  gen_site_relation, gen_site '.
164
		                                    'WHERE '.$ligne->gs_id_site.' = gsr_id_site_01 ' .
164
		                                    'WHERE '.$ligne->gs_id_site.' = gsr_id_site_01 ' .
165
		                                    'AND gsr_id_site_02 = gs_id_site '.
165
		                                    'AND gsr_id_site_02 = gs_id_site '.
166
		                                    'AND gs_ce_i18n = "'.$langue_test.'" '.
166
		                                    'AND gs_ce_i18n = "'.$langue_test.'" '.
167
		                                    'AND gsr_id_valeur = 1 ';// 1 = "avoir traduction"
167
		                                    'AND gsr_id_valeur = 1 ';// 1 = "avoir traduction"
168
		                                    
168
		                                    
169
		            $resultat_traduction = $db->query($requete_traduction);
169
		            $resultat_traduction = $db->query($requete_traduction);
170
		            (DB::isError($resultat_traduction))
170
		            (DB::isError($resultat_traduction))
171
		                ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_traduction->getMessage(), $requete_traduction))
171
		                ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_traduction->getMessage(), $requete_traduction))
172
		                : '';
172
		                : '';
173
		                
173
		                
174
		            if ( $resultat_traduction->numRows() == 0 ) {
174
		            if ( $resultat_traduction->numRows() == 0 ) {
175
		            	$liste_site []=$ligne;
175
		            	$liste_site []=$ligne;
176
		            }
176
		            }
177
		            
177
		            
178
		            $resultat_traduction->free();
178
		            $resultat_traduction->free();
179
		            
179
		            
180
	            }
180
	            }
181
	               $resultat_est_traduction->free();
181
	               $resultat_est_traduction->free();
182
		    
182
		    
183
	    }
183
	    }
184
	    $resultat->free();
184
	    $resultat->free();
185
	}
185
	}
186
    
186
    
187
    
187
    
188
  
188
  
189
    //----------------------------------------------------------------------------
189
    //----------------------------------------------------------------------------
190
    // Création du formulaire
190
    // Création du formulaire
191
    $form =& new HTML_QuickForm('form_sites', 'post', str_replace('&amp;', '&', $url));
191
    $form =& new HTML_QuickForm('form_sites', 'post', str_replace('&amp;', '&', $url));
192
    $tab_index = 1000;
192
    $tab_index = 1000;
193
    $squelette =& $form->defaultRenderer();
193
    $squelette =& $form->defaultRenderer();
194
    $squelette->setFormTemplate("\n".'<form{attributes}>'."\n".'{content}'."\n".'</form>'."\n");
194
    $squelette->setFormTemplate("\n".'<form{attributes}>'."\n".'{content}'."\n".'</form>'."\n");
195
    $squelette->setElementTemplate( '<li>'."\n".'{label}'."\n".'{element}'."\n".
195
    $squelette->setElementTemplate( '<li>'."\n".'{label}'."\n".'{element}'."\n".
196
                                    '<!-- BEGIN required --><span class="symbole_obligatoire">*</span><!-- END required -->'."\n".
196
                                    '<!-- BEGIN required --><span class="symbole_obligatoire">*</span><!-- END required -->'."\n".
197
                                    '<!-- BEGIN error --><span class="erreur">{error}</span><!-- END error -->'."\n".
197
                                    '<!-- BEGIN error --><span class="erreur">{error}</span><!-- END error -->'."\n".
198
                                    '</li>'."\n");
198
                                    '</li>'."\n");
199
    $squelette->setRequiredNoteTemplate("\n".'<p>'."\n".'<span class="symbole_obligatoire">*</span> {requiredNote}'."\n".'</p>'."\n");
199
    $squelette->setRequiredNoteTemplate("\n".'<p>'."\n".'<span class="symbole_obligatoire">*</span> {requiredNote}'."\n".'</p>'."\n");
200
    
200
    
201
    $partie_site_debut =    '<fieldset>'."\n".
201
    $partie_site_debut =    '<fieldset>'."\n".
202
                            '<legend>Listes des sites</legend>'."\n".
202
                            '<legend>Listes des sites</legend>'."\n".
203
                            '<ul>'."\n";
203
                            '<ul>'."\n";
204
    $form->addElement('html', $partie_site_debut);
204
    $form->addElement('html', $partie_site_debut);
205
    
205
    
206
    $aso_options = array();
206
    $aso_options = array();
207
    foreach ($liste_site as $ligne ) {
207
    foreach ($liste_site as $ligne ) {
208
        $aso_options[$ligne->gs_id_site] = htmlentities($ligne->gs_nom.' ('.$ligne->gs_code_alpha.')');
208
        $aso_options[$ligne->gs_id_site] = htmlentities($ligne->gs_nom.' ('.$ligne->gs_code_alpha.')');
209
        
209
        
210
        // Affichage des traductions
210
        // Affichage des traductions
211
        $requete_traduction =   'SELECT * '.
211
        $requete_traduction =   'SELECT * '.
212
	                            'FROM  gen_site_relation, gen_site '.
212
	                            'FROM  gen_site_relation, gen_site '.
213
	                            'WHERE '.$ligne->gs_id_site.' = gsr_id_site_01 ' .
213
	                            'WHERE '.$ligne->gs_id_site.' = gsr_id_site_01 ' .
214
	                            'AND gsr_id_site_02 <> gsr_id_site_01 '.
214
	                            'AND gsr_id_site_02 <> gsr_id_site_01 '.
215
	                            'AND gsr_id_site_02 = gs_id_site '.
215
	                            'AND gsr_id_site_02 = gs_id_site '.
216
	                            'AND gsr_id_valeur = 1 ';// 1 = "avoir traduction"
216
	                            'AND gsr_id_valeur = 1 ';// 1 = "avoir traduction"
217
	    $resultat_traduction = $db->query($requete_traduction);
217
	    $resultat_traduction = $db->query($requete_traduction);
218
        (DB::isError($resultat_traduction))
218
        (DB::isError($resultat_traduction))
219
            ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_traduction->getMessage(), $requete_traduction))
219
            ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_traduction->getMessage(), $requete_traduction))
220
            : '';
220
            : '';
221
        
221
        
222
        while ($ligne_traduction = $resultat_traduction->fetchRow(DB_FETCHMODE_OBJECT)) {    
222
        while ($ligne_traduction = $resultat_traduction->fetchRow(DB_FETCHMODE_OBJECT)) {    
223
        	$aso_options[$ligne_traduction->gs_id_site] = '&nbsp;&nbsp;&nbsp;'.$ligne_traduction->gs_ce_i18n.":&nbsp;".htmlentities($ligne_traduction->gs_nom.' ('.$ligne_traduction->gs_code_alpha.')');
223
        	$aso_options[$ligne_traduction->gs_id_site] = '&nbsp;&nbsp;&nbsp;'.$ligne_traduction->gs_ce_i18n.":&nbsp;".htmlentities($ligne_traduction->gs_nom.' ('.$ligne_traduction->gs_code_alpha.')');
224
        }
224
        }
225
        $resultat_traduction->free();
225
        $resultat_traduction->free();
226
    
226
    
227
    }
227
    }
228
    
228
    
229
    $id = 'form_sites_id_site';
229
    $id = 'form_sites_id_site';
230
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++);
230
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++);
231
    $label = '<label for="'.$id.'">'.'Listes des sites : '.'</label>';
231
    $label = '<label for="'.$id.'">'.'Listes des sites : '.'</label>';
232
    $form->addElement('select', $id, $label, $aso_options, $aso_attributs);
232
    $form->addElement('select', $id, $label, $aso_options, $aso_attributs);
233
    
233
    
234
    $partie_site_fin =  '</ul>'."\n".
234
    $partie_site_fin =  '</ul>'."\n".
235
                        '</fieldset>'."\n";
235
                        '</fieldset>'."\n";
236
    $form->addElement('html', $partie_site_fin);
236
    $form->addElement('html', $partie_site_fin);
237
    
237
    
238
    $liste_bouton_debut = '<ul class="liste_bouton">'."\n";
238
    $liste_bouton_debut = '<ul class="liste_bouton">'."\n";
239
    $form->addElement('html', $liste_bouton_debut);
239
    $form->addElement('html', $liste_bouton_debut);
240
    
240
    
241
    $id = 'form_sites_ajouter';
241
    $id = 'form_sites_ajouter';
242
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++);
242
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++);
243
    $label = 'Ajouter';
243
    $label = 'Ajouter';
244
    $form->addElement('submit', $id, $label, $aso_attributs);
244
    $form->addElement('submit', $id, $label, $aso_attributs);
245
    
245
    
246
    $id = 'form_sites_modifier';
246
    $id = 'form_sites_modifier';
247
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++);
247
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++);
248
    $label = 'Modifier';
248
    $label = 'Modifier';
249
    $form->addElement('submit', $id, $label, $aso_attributs);
249
    $form->addElement('submit', $id, $label, $aso_attributs);
250
 
250
 
251
    $id = 'form_sites_traduire';
251
    $id = 'form_sites_traduire';
252
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++);
252
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++);
253
    $label = 'Traduire';
253
    $label = 'Traduire';
254
    $form->addElement('submit', $id, $label, $aso_attributs);
254
    $form->addElement('submit', $id, $label, $aso_attributs);
255
    
255
    
256
    $id = 'form_sites_supprimer';
256
    $id = 'form_sites_supprimer';
257
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'onclick' => 'javascript:return confirm(\''.'Êtes vous sûr de vouloir supprimer ce site ?'.'\');');
257
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'onclick' => 'javascript:return confirm(\''.'Êtes vous sûr de vouloir supprimer ce site ?'.'\');');
258
    $label = 'Supprimer';
258
    $label = 'Supprimer';
259
    $form->addElement('submit', $id, $label, $aso_attributs);
259
    $form->addElement('submit', $id, $label, $aso_attributs);
260
    
260
    
261
    $liste_bouton_fin = '</ul>'."\n";
261
    $liste_bouton_fin = '</ul>'."\n";
262
    $form->addElement('html', $liste_bouton_fin);
262
    $form->addElement('html', $liste_bouton_fin);
263
    
263
    
264
    $sortie = $form->toHTML()."\n";
264
    $sortie = $form->toHTML()."\n";
265
    
265
    
266
    // Titre de la page:
266
    // Titre de la page:
267
    $titre = 'Configuration des sites';
267
    $titre = 'Configuration des sites';
268
    
268
    
269
    // Construction de la page.
269
    // Construction de la page.
270
    return ADMIN_contruirePage($titre, $sortie, $message);
270
    return ADMIN_contruirePage($titre, $sortie, $message);
271
}
271
}
272
 
272
 
273
/** Fonction ADMIN_validerFormListesSites() - Valide les données issues du formulaire de liste de sites.
273
/** Fonction ADMIN_validerFormListesSites() - Valide les données issues du formulaire de liste de sites.
274
*
274
*
275
* Cette fonction valide les données du formulaire de liste de site.
275
* Cette fonction valide les données du formulaire de liste de site.
276
*
276
*
277
* @param  string   l'objet pear de connexion à la base de données.
277
* @param  string   l'objet pear de connexion à la base de données.
278
* @param  string   le tableau contenant les valeurs du formulaire.
278
* @param  string   le tableau contenant les valeurs du formulaire.
279
* @return string   retourne les messages d'erreurs sinon rien.
279
* @return string   retourne les messages d'erreurs sinon rien.
280
*/
280
*/
281
function ADMIN_validerFormListesSites(&$db, $aso_valeurs)
281
function ADMIN_validerFormListesSites(&$db, $aso_valeurs)
282
{
282
{
283
    $message = '';
283
    $message = '';
284
    
284
    
285
    // Validation des données du formulaire
285
    // Validation des données du formulaire
286
    if (empty($aso_valeurs['form_sites_id_site'])) {
286
    if (empty($aso_valeurs['form_sites_id_site'])) {
287
        $message .= '<p class="pap_erreur">Vous devez d\'abord sélectionner un site.</p>';
287
        $message .= '<p class="pap_erreur">Vous devez d\'abord sélectionner un site.</p>';
288
    }
288
    }
289
    
289
    
290
    return $message;
290
    return $message;
291
}
291
}
292
 
292
 
293
/** Fonction ADMIN_afficherFormSite()- Génére un formulaire pour gen_site.
293
/** Fonction ADMIN_afficherFormSite()- Génére un formulaire pour gen_site.
294
*
294
*
295
* Cette fonction retourne un formulaire pour modification ou pour ajout.
295
* Cette fonction retourne un formulaire pour modification ou pour ajout.
296
*
296
*
297
* @param  string   l'objet pear de connexion à la base de données.
297
* @param  string   l'objet pear de connexion à la base de données.
298
* @param  string   l'url à laquelle renvoyer le formulaire.
298
* @param  string   l'url à laquelle renvoyer le formulaire.
299
* @param  string   le tableau contenant les valeurs du formulaire.
299
* @param  string   le tableau contenant les valeurs du formulaire.
300
* @param  string   un message à destination de l'utilisateur.
300
* @param  string   un message à destination de l'utilisateur.
301
* return  string   le code XHTML à retourner.
301
* return  string   le code XHTML à retourner.
302
*/
302
*/
303
function ADMIN_afficherFormSite(&$db, $url, $aso_valeurs = array(), $message = '')
303
function ADMIN_afficherFormSite(&$db, $url, $aso_valeurs = array(), $message = '')
304
{
304
{
305
    // Initialisation des valeurs
305
    // Initialisation des valeurs
306
    $sortie = '';
306
    $sortie = '';
307
    $aso_valeurs['modification'] = false;
307
    $aso_valeurs['modification'] = false;
308
    $aso_valeurs['traduction'] = false;
308
    $aso_valeurs['traduction'] = false;
309
    $aso_valeurs['defaut'] = false;
309
    $aso_valeurs['defaut'] = false;
310
    $aso_valeurs['type_site_externe'] = 0;
310
    $aso_valeurs['type_site_externe'] = 0;
311
    // Nous cherchons à savoir si nous somme en modification
311
    // Nous cherchons à savoir si nous somme en modification
312
    if ((isset($aso_valeurs['form_sites_modifier']))  || (isset($aso_valeurs['form_sites_traduire'])))  {
312
    if ((isset($aso_valeurs['form_sites_modifier']))  || (isset($aso_valeurs['form_sites_traduire'])))  {
313
    	if ((isset($aso_valeurs['form_sites_modifier']))) { 
313
    	if ((isset($aso_valeurs['form_sites_modifier']))) { 
314
        	$as_val['modification'] = true;
314
        	$as_val['modification'] = true;
315
        	$as_val['traduction'] = false;
315
        	$as_val['traduction'] = false;
316
    	}
316
    	}
317
        else { 
317
        else { 
318
        	$as_val['traduction'] = true;
318
        	$as_val['traduction'] = true;
319
        	$as_val['modification'] = false;
319
        	$as_val['modification'] = false;
320
        }
320
        }
321
        
321
        
322
        if ($as_val['traduction']) {
322
        if ($as_val['traduction']) {
323
	        // Traduction d'un site principal uniquement :
323
	        // Traduction d'un site principal uniquement :
324
	        
324
	        
325
	        $requete =  'SELECT * '.
325
	        $requete =  'SELECT * '.
326
	                    'FROM gen_site_relation '.
326
	                    'FROM gen_site_relation '.
327
	                    'WHERE gsr_id_site_02 = '.$aso_valeurs['form_sites_id_site'].' '.
327
	                    'WHERE gsr_id_site_02 = '.$aso_valeurs['form_sites_id_site'].' '.
328
	                    'AND gsr_id_valeur =1  '; // 1 = "avoir traduction"
328
	                    'AND gsr_id_valeur =1  '; // 1 = "avoir traduction"
329
	        
329
	        
330
	        $resultat = $db->query($requete);
330
	        $resultat = $db->query($requete);
331
	        
331
	        
332
	        if (DB::isError($resultat)) {
332
	        if (DB::isError($resultat)) {
333
	            die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
333
	            die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
334
	        }
334
	        }
335
	
335
	
336
	        if ( $resultat->numRows() == 0 ) {
336
	        if ( $resultat->numRows() == 0 ) {
337
	        	$site_id = $aso_valeurs['form_sites_id_site'];
337
	        	$site_id = $aso_valeurs['form_sites_id_site'];
338
	        }
338
	        }
339
	        else {
339
	        else {
340
	        	$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
340
	        	$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
341
		        $site_id = $ligne->gsr_id_site_01;
341
		        $site_id = $ligne->gsr_id_site_01;
342
	        }
342
	        }
343
	        $resultat->free();
343
	        $resultat->free();
344
       		 }
344
       		 }
345
        else {
345
        else {
346
          	$site_id = $aso_valeurs['form_sites_id_site'];
346
          	$site_id = $aso_valeurs['form_sites_id_site'];
347
      	 }
347
      	 }
348
	        
348
	        
349
	        // Requete pour récupérer les informations sur le site à modifier
349
	        // Requete pour récupérer les informations sur le site à modifier
350
	        $requete =  'SELECT * '.
350
	        $requete =  'SELECT * '.
351
	                    'FROM gen_site '.
351
	                    'FROM gen_site '.
352
	                    'WHERE gs_id_site = '.$site_id;
352
	                    'WHERE gs_id_site = '.$site_id;
353
	        $resultat = $db->query($requete);
353
	        $resultat = $db->query($requete);
354
	        if (DB::isError($resultat)) {
354
	        if (DB::isError($resultat)) {
355
	            die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
355
	            die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
356
	        }
356
	        }
357
	        $aso_valeurs = $resultat->fetchRow(DB_FETCHMODE_ASSOC);
357
	        $aso_valeurs = $resultat->fetchRow(DB_FETCHMODE_ASSOC);
358
	        $site_ligne = $aso_valeurs;
358
	        $site_ligne = $aso_valeurs;
359
	        $resultat->free();
359
	        $resultat->free();
360
        
360
        
361
        // Requete pour récupérer les informations issues des relations du site à modifier
361
        // Requete pour récupérer les informations issues des relations du site à modifier
362
        $requete =  'SELECT * '.
362
        $requete =  'SELECT * '.
363
                    'FROM gen_site_relation '.
363
                    'FROM gen_site_relation '.
364
                    'WHERE gsr_id_site_01 = '.$site_id.' '.
364
                    'WHERE gsr_id_site_01 = '.$site_id.' '.
365
                    'AND gsr_id_site_01 = gsr_id_site_02';
365
                    'AND gsr_id_site_01 = gsr_id_site_02';
366
        $resultat = $db->query($requete);
366
        $resultat = $db->query($requete);
367
        if (DB::isError($resultat)) {
367
        if (DB::isError($resultat)) {
368
            die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
368
            die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
369
        }
369
        }
370
        
370
        
371
        $tab_type = GEN_retournerTableauTypeSiteExterne($db);
371
        $tab_type = GEN_retournerTableauTypeSiteExterne($db);
372
        while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ) {
372
        while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ) {
373
            if ($ligne->gsr_id_valeur == 101) {// 101 = site par défaut
373
            if ($ligne->gsr_id_valeur == 101) {// 101 = site par défaut
374
                $aso_valeurs['defaut'] = true;
374
                $aso_valeurs['defaut'] = true;
375
            }
375
            }
376
            foreach ($tab_type as $cle => $val) {
376
            foreach ($tab_type as $cle => $val) {
377
                if ($ligne->gsr_id_valeur == $val['id']) {// 20x = type de site externe à Papyrus
377
                if ($ligne->gsr_id_valeur == $val['id']) {// 20x = type de site externe à Papyrus
378
                    $aso_valeurs['type_site_externe'] = $val['id'];
378
                    $aso_valeurs['type_site_externe'] = $val['id'];
379
                }
379
                }
380
            }
380
            }
381
        }
381
        }
382
        $resultat->free();
382
        $resultat->free();
383
        
383
        
384
        if (($as_val['modification'])) { 
384
        if (($as_val['modification'])) { 
385
        	$aso_valeurs['modification'] = true;
385
        	$aso_valeurs['modification'] = true;
386
        	$aso_valeurs['traduction'] = false;
386
        	$aso_valeurs['traduction'] = false;
387
        }
387
        }
388
        else { 
388
        else { 
389
        	$aso_valeurs['traduction'] = true;
389
        	$aso_valeurs['traduction'] = true;
390
        	$aso_valeurs['modification'] = false;
390
        	$aso_valeurs['modification'] = false;
391
        };
391
        };
392
      
392
      
393
        
393
        
394
        
394
        
395
    } else if (isset($aso_valeurs['gs_id_site'])) {
395
    } else if (isset($aso_valeurs['gs_id_site'])) {
396
        $aso_valeurs['modification'] = true;
396
        $aso_valeurs['modification'] = true;
397
    }
397
    }
398
    // Débogage :
398
    // Débogage :
399
    //$GLOBALS['_DEBOGAGE_'] .= '<pre>'.print_r($aso_valeurs, true).'</pre>';
399
    //$GLOBALS['_DEBOGAGE_'] .= '<pre>'.print_r($aso_valeurs, true).'</pre>';
400
    //-------------------------------------------------------------------------------------------------------------------
400
    //-------------------------------------------------------------------------------------------------------------------
401
    // Information précédent le formulaire (en modification)
401
    // Information précédent le formulaire (en modification)
402
    if ((isset($aso_valeurs['modification'])||isset($aso_valeurs['traduction']))&&isset($aso_valeurs['gs_id_site'])) {
402
    if ((isset($aso_valeurs['modification'])||isset($aso_valeurs['traduction']))&&isset($aso_valeurs['gs_id_site'])) {
403
        $sortie .= '<p>'.'Identifiant de ce site : '.'<span id="adsi_site_id">'.$aso_valeurs['gs_id_site'].'</span></p>'."\n";
403
        $sortie .= '<p>'.'Identifiant de ce site : '.'<span id="adsi_site_id">'.$aso_valeurs['gs_id_site'].'</span></p>'."\n";
404
    }
404
    }
405
    //-------------------------------------------------------------------------------------------------------------------
405
    //-------------------------------------------------------------------------------------------------------------------
406
    // Création du formulaire
406
    // Création du formulaire
407
    $form =& new HTML_QuickForm('site', 'post', str_replace('&amp;', '&', $url));
407
    $form =& new HTML_QuickForm('site', 'post', str_replace('&amp;', '&', $url));
408
    $tab_index = 1000;
408
    $tab_index = 1000;
409
    $squelette =& $form->defaultRenderer();
409
    $squelette =& $form->defaultRenderer();
410
    $squelette->setFormTemplate("\n".'<form{attributes}>'."\n".'{content}'."\n".'</form>'."\n");
410
    $squelette->setFormTemplate("\n".'<form{attributes}>'."\n".'{content}'."\n".'</form>'."\n");
411
    $squelette->setElementTemplate(  '<li>'."\n".
411
    $squelette->setElementTemplate(  '<li>'."\n".
412
                                    '{label}'."\n".
412
                                    '{label}'."\n".
413
                                    '{element}'."\n".
413
                                    '{element}'."\n".
414
                                    '<!-- BEGIN required --><span class="symbole_obligatoire">*</span><!-- END required -->'."\n".
414
                                    '<!-- BEGIN required --><span class="symbole_obligatoire">*</span><!-- END required -->'."\n".
415
                                    '<!-- BEGIN error --><span class="erreur">{error}</span><!-- END error -->'."\n".
415
                                    '<!-- BEGIN error --><span class="erreur">{error}</span><!-- END error -->'."\n".
416
                                    '</li>'."\n");
416
                                    '</li>'."\n");
417
    $squelette->setGroupElementTemplate('{label}'."\n".
417
    $squelette->setGroupElementTemplate('{label}'."\n".
418
                                        '{element}'."\n".
418
                                        '{element}'."\n".
419
                                        '<!-- BEGIN required --><span class="symbole_obligatoire">*</span><!-- END required -->'."\n".
419
                                        '<!-- BEGIN required --><span class="symbole_obligatoire">*</span><!-- END required -->'."\n".
420
                                        '&nbsp;'."\n"
420
                                        '&nbsp;'."\n"
421
                                        , 'double');
421
                                        , 'double');
422
    $squelette->setRequiredNoteTemplate("\n".'<p><span class="symbole_obligatoire">*</span> {requiredNote}</p>'."\n");
422
    $squelette->setRequiredNoteTemplate("\n".'<p><span class="symbole_obligatoire">*</span> {requiredNote}</p>'."\n");
423
    
423
    
424
    $partie_site_debut = '<fieldset>'."\n".'<legend>Configuration du site</legend>'."\n".'<ul>'."\n";
424
    $partie_site_debut = '<fieldset>'."\n".'<legend>Configuration du site</legend>'."\n".'<ul>'."\n";
425
    $form->addElement('html', $partie_site_debut);
425
    $form->addElement('html', $partie_site_debut);
426
    
426
    
427
    if ($aso_valeurs['modification'] || $aso_valeurs['traduction']) {
427
    if ($aso_valeurs['modification'] || $aso_valeurs['traduction']) {
428
        $form->addElement('hidden', 'gs_id_site');
428
        $form->addElement('hidden', 'gs_id_site');
429
        $form->addElement('hidden', 'modification');
429
        $form->addElement('hidden', 'modification');
430
        $form->addElement('hidden', 'traduction');
430
        $form->addElement('hidden', 'traduction');
431
    }
431
    }
432
    
432
    
433
    $id = 'gs_nom';
433
    $id = 'gs_nom';
434
    $aso_attributs = array('id'=>$id, 'tabindex' => $tab_index++, 'size' => 45, 'maxlength' => 100, 'value' => 'nom du site');
434
    $aso_attributs = array('id'=>$id, 'tabindex' => $tab_index++, 'size' => 45, 'maxlength' => 100, 'value' => 'nom du site');
435
    $label = '<label for="'.$id.'">'.'Nom du site : '.'</label>';
435
    $label = '<label for="'.$id.'">'.'Nom du site : '.'</label>';
436
    $form->addElement('text', $id, $label, $aso_attributs);
436
    $form->addElement('text', $id, $label, $aso_attributs);
437
    $form->addRule($id, 'Un nom est requis pour le site !', 'required', '', 'client');
437
    $form->addRule($id, 'Un nom est requis pour le site !', 'required', '', 'client');
438
    
438
    
439
    $id = 'gs_code_alpha';
439
    $id = 'gs_code_alpha';
440
    $aso_attributs = array('id'=>$id, 'tabindex' => $tab_index++, 'size' => 20, 'maxlength' => 20, 'value' => 'site_01');
440
    $aso_attributs = array('id'=>$id, 'tabindex' => $tab_index++, 'size' => 20, 'maxlength' => 20, 'value' => 'site_01');
441
    $label = '<label for="'.$id.'">'.'Code alphanumérique : '.'</label>';
441
    $label = '<label for="'.$id.'">'.'Code alphanumérique : '.'</label>';
442
    $form->addElement('text', $id, $label, $aso_attributs);
442
    $form->addElement('text', $id, $label, $aso_attributs);
443
    $form->addRule('gs_code_alpha', 'Un code alphanumérique est requis pour le site !', 'required', '', 'client');
443
    $form->addRule('gs_code_alpha', 'Un code alphanumérique est requis pour le site !', 'required', '', 'client');
444
    
444
    
445
    $id = 'gs_code_num';
445
    $id = 'gs_code_num';
446
    $aso_attributs = array('id'=>$id, 'tabindex' => $tab_index++, 'size' => 20, 'maxlength' => 20, 'value' => 1);
446
    $aso_attributs = array('id'=>$id, 'tabindex' => $tab_index++, 'size' => 20, 'maxlength' => 20, 'value' => 1);
447
    $label = '<label for="'.$id.'">'.'Code numérique : '.'</label>';
447
    $label = '<label for="'.$id.'">'.'Code numérique : '.'</label>';
448
    $form->addElement('text', $id, $label, $aso_attributs);
448
    $form->addElement('text', $id, $label, $aso_attributs);
449
    $form->addRule('gs_code_num', 'Un code numérique est requis pour le site !', 'required', '', 'client');
449
    $form->addRule('gs_code_num', 'Un code numérique est requis pour le site !', 'required', '', 'client');
450
    
450
    
451
    $id = 'gs_raccourci_clavier';
451
    $id = 'gs_raccourci_clavier';
452
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 1, 'maxlength' => 1, 'value' => 'Z');
452
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 1, 'maxlength' => 1, 'value' => 'Z');
453
    $label = '<label for="'.$id.'">'.'Raccourci clavier : '.'</label>';
453
    $label = '<label for="'.$id.'">'.'Raccourci clavier : '.'</label>';
454
    $form->addElement('text', $id, $label, $aso_attributs);
454
    $form->addElement('text', $id, $label, $aso_attributs);
455
    
455
    
456
    // Requete pour connaitre les identifications dispo
456
    // Requete pour connaitre les identifications dispo
457
    $requete =  'SELECT * '.
457
    $requete =  'SELECT * '.
458
                'FROM gen_site_auth '.
458
                'FROM gen_site_auth '.
459
                'WHERE gsa_id_auth != 0';
459
                'WHERE gsa_id_auth != 0';
460
    $resultat = $db->query($requete) ;
460
    $resultat = $db->query($requete) ;
461
    if (DB::isError($resultat)) {
461
    if (DB::isError($resultat)) {
462
        die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
462
        die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
463
    }
463
    }
464
    $aso_options = array();
464
    $aso_options = array();
465
    while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ) {
465
    while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ) {
466
        // Test pour connaître le type d'authentification.
466
        // Test pour connaître le type d'authentification.
467
        $type = '';
467
        $type = '';
468
        if ($ligne->gsa_ce_type_auth == '1' ) {
468
        if ($ligne->gsa_ce_type_auth == '1' ) {
469
            $type = 'Base de données';
469
            $type = 'Base de données';
470
        } else if ($ligne->gsa_ce_type_auth == '2' ) {
470
        } else if ($ligne->gsa_ce_type_auth == '2' ) {
471
            $type = 'LDAP';
471
            $type = 'LDAP';
472
        }
472
        }
473
        $aso_options[$ligne->gsa_id_auth] = $ligne->gsa_nom.' ('.$type.')';
473
        $aso_options[$ligne->gsa_id_auth] = $ligne->gsa_nom.' ('.$type.')';
474
    }
474
    }
475
    $resultat->free();
475
    $resultat->free();
476
    
476
    
477
    
477
    
478
    $id = 'gs_ce_auth';
478
    $id = 'gs_ce_auth';
479
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++);
479
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++);
480
    $label = '<label for="'.$id.'">'.'Identification : '.'</label>';
480
    $label = '<label for="'.$id.'">'.'Identification : '.'</label>';
481
    if (isset($aso_valeurs['gs_ce_auth'])) {
481
    if (isset($aso_valeurs['gs_ce_auth'])) {
482
	    $s = &$form->createElement('select', $id , $label, "", $aso_attributs);
482
	    $s = &$form->createElement('select', $id , $label, "", $aso_attributs);
483
    	$s->loadArray($aso_options,$aso_valeurs['gs_ce_auth']);
483
    	$s->loadArray($aso_options,$aso_valeurs['gs_ce_auth']);
484
    	$form->addElement($s);
484
    	$form->addElement($s);
485
    }
485
    }
486
    else {
486
    else {
487
	    $form->addElement('select', $id, $label, $aso_options, $aso_attributs);
487
	    $form->addElement('select', $id, $label, $aso_options, $aso_attributs);
488
    } 
488
    } 
489
    
489
    
490
    // En modification nous affichons la liste des squelettes disponibles dans
490
    // En modification nous affichons la liste des squelettes disponibles dans
491
    // le dossier du site.
491
    // le dossier du site.
492
    if ($aso_valeurs['modification'] || $aso_valeurs['traduction']) {
492
    if ($aso_valeurs['modification'] || $aso_valeurs['traduction']) {
493
        $aso_options = array();
493
        $aso_options = array();
494
        if (!GEN_FTP_UTILISE) {
494
        if (!GEN_FTP_UTILISE) {
495
            $chemin_squelettes =    PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.
495
            $chemin_squelettes =    PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.
496
                                    $aso_valeurs['gs_ce_i18n'].GEN_SEP.GEN_DOSSIER_SQUELETTE.GEN_SEP;
496
                                    $aso_valeurs['gs_ce_i18n'].GEN_SEP.GEN_DOSSIER_SQUELETTE.GEN_SEP;
497
            $dossier = opendir($chemin_squelettes);
497
            $dossier = opendir($chemin_squelettes);
498
            while(($fichier = readdir($dossier)) !== false) {
498
            while(($fichier = readdir($dossier)) !== false) {
499
                if ($fichier != '.' && $fichier != '..') {
499
                if ($fichier != '.' && $fichier != '..') {
500
                    $chemin_type = $chemin_squelettes.GEN_SEP.$fichier;
500
                    $chemin_type = $chemin_squelettes.GEN_SEP.$fichier;
501
                    if (filetype($chemin_type) != 'dir') {
501
                    if (filetype($chemin_type) != 'dir') {
502
                        $aso_options[$fichier] = $fichier;
502
                        $aso_options[$fichier] = $fichier;
503
                    }
503
                    }
504
                }
504
                }
505
            }
505
            }
506
        } else {
506
        } else {
507
            // ouverture des squelettes présent dans le dossier du site 
507
            // ouverture des squelettes présent dans le dossier du site 
508
            // création de l'objet pear ftp
508
            // création de l'objet pear ftp
509
            $objet_pear_ftp = new Net_FTP(PAP_FTP_SERVEUR, PAP_FTP_PORT);
509
            $objet_pear_ftp = new Net_FTP(PAP_FTP_SERVEUR, PAP_FTP_PORT);
510
            // création de la connexion
510
            // création de la connexion
511
            $ftp_conn = $objet_pear_ftp->connect(PAP_FTP_SERVEUR, PAP_FTP_PORT);
511
            $ftp_conn = $objet_pear_ftp->connect(PAP_FTP_SERVEUR, PAP_FTP_PORT);
512
            // identification
512
            // identification
513
            $ftp_login_result = $objet_pear_ftp->login(PAP_FTP_UTILISATEUR, PAP_FTP_MOT_DE_PASSE);
513
            $ftp_login_result = $objet_pear_ftp->login(PAP_FTP_UTILISATEUR, PAP_FTP_MOT_DE_PASSE);
514
            // Gestion des erreurs ftp
514
            // Gestion des erreurs ftp
515
            if ((PEAR::isError($ftp_conn) || PEAR::isError($ftp_login_result))) {
515
            if ((PEAR::isError($ftp_conn) || PEAR::isError($ftp_login_result))) {
516
                die('ERREUR Papyrus admin : impossible de se connecter par ftp.<br />'.
516
                die('ERREUR Papyrus admin : impossible de se connecter par ftp.<br />'.
517
                    'Serveur : '. GEN_FTP_SERVEUR .'<br />'.
517
                    'Serveur : '. GEN_FTP_SERVEUR .'<br />'.
518
                    'Utilisateur : '. GEN_FTP_UTILISATEUR .'<br />'.
518
                    'Utilisateur : '. GEN_FTP_UTILISATEUR .'<br />'.
519
                    'Ligne n° : '. __LINE__ .'<br />'.
519
                    'Ligne n° : '. __LINE__ .'<br />'.
520
                    'Fichier n° : '. __FILE__ .'<br />');
520
                    'Fichier n° : '. __FILE__ .'<br />');
521
                    //'Message erreur de connection : '.$ftp_conn->getMessage().'<br />'.
521
                    //'Message erreur de connection : '.$ftp_conn->getMessage().'<br />'.
522
                    //'Message erreur de login : '.$ftp_login_result->getMessage());
522
                    //'Message erreur de login : '.$ftp_login_result->getMessage());
523
            }
523
            }
524
            $chemin_squelettes =    PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.
524
            $chemin_squelettes =    PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.
525
                                    $aso_valeurs['gs_ce_i18n'].GEN_SEP.GEN_DOSSIER_SQUELETTE.GEN_SEP;
525
                                    $aso_valeurs['gs_ce_i18n'].GEN_SEP.GEN_DOSSIER_SQUELETTE.GEN_SEP;
526
            $tab_squelettes = $objet_pear_ftp->ls($chemin_squelettes);
526
            $tab_squelettes = $objet_pear_ftp->ls($chemin_squelettes);
527
            $aso_options = array();
527
            $aso_options = array();
528
            for ($i = 0; $i < count($tab_squelettes) ; $i++) {
528
            for ($i = 0; $i < count($tab_squelettes) ; $i++) {
529
                if ($tab_squelettes[$i]['is_dir'] == false) {
529
                if ($tab_squelettes[$i]['is_dir'] == false) {
530
                    $aso_options[$tab_squelettes[$i]['name']] = $tab_squelettes[$i]['name'];
530
                    $aso_options[$tab_squelettes[$i]['name']] = $tab_squelettes[$i]['name'];
531
                }
531
                }
532
            }
532
            }
533
            $objet_pear_ftp->disconnect();
533
            $objet_pear_ftp->disconnect();
534
        }
534
        }
535
        
535
        
536
        // Vérification de la présence de squelettes
536
        // Vérification de la présence de squelettes
537
        if (count($aso_options) == 0) {
537
        if (count($aso_options) == 0) {
538
            $aso_options['Aucun squelette'] = 'Aucun squelette';
538
            $aso_options['Aucun squelette'] = 'Aucun squelette';
539
        }
539
        }
540
        
540
        
541
        $id = 'gs_fichier_squelette';
541
        $id = 'gs_fichier_squelette';
542
        $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++);
542
        $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++);
543
        $label = '<label for="'.$id.'">'.'Squelette : '.'</label>';
543
        $label = '<label for="'.$id.'">'.'Squelette : '.'</label>';
544
        $s = &$form->createElement('select', $id , $label, "", $aso_attributs);
544
        $s = &$form->createElement('select', $id , $label, "", $aso_attributs);
545
    	$s->loadArray($aso_options,$aso_valeurs['gs_fichier_squelette']);
545
    	$s->loadArray($aso_options,$aso_valeurs['gs_fichier_squelette']);
546
    	$form->addElement($s);
546
    	$form->addElement($s);
547
    
547
    
548
    }
548
    }
549
    
549
    
550
    // Requete pour connaitre les internationalisation dispo
550
    // Requete pour connaitre les internationalisation dispo
551
    
551
    
552
    if (!$aso_valeurs['modification'] && !$aso_valeurs['traduction']) {
552
    if (!$aso_valeurs['modification'] && !$aso_valeurs['traduction']) {
553
    	$requete =  'SELECT * '.
553
    	$requete =  'SELECT * '.
554
        	        'FROM gen_i18n ';
554
        	        'FROM gen_i18n ';
555
    }
555
    }
556
    	else  {
556
    	else  {
557
    		
557
    		
558
    		
558
    		
559
    		if ($aso_valeurs['traduction']) {
559
    		if ($aso_valeurs['traduction']) {
560
    			
560
    			
561
    		// Recherche liste des sites deja traduits 
561
    		// Recherche liste des sites deja traduits 
562
    		
562
    		
563
	    		 $requete =  'SELECT distinct gs_ce_i18n  '.
563
	    		 $requete =  'SELECT distinct gs_ce_i18n  '.
564
                'FROM gen_site_relation, gen_site '.
564
                'FROM gen_site_relation, gen_site '.
565
                'WHERE gsr_id_site_01 = ' .$site_ligne['gs_id_site'] .' '.
565
                'WHERE gsr_id_site_01 = ' .$site_ligne['gs_id_site'] .' '.
566
                'AND gs_id_site = gsr_id_site_02  '.
566
                'AND gs_id_site = gsr_id_site_02  '.
567
                'AND gsr_id_valeur =1  '; // 1 = "avoir traduction"
567
                'AND gsr_id_valeur =1  '; // 1 = "avoir traduction"
568
                
568
                
569
                
569
                
570
			    $resultat = $db->query($requete) ;
570
			    $resultat = $db->query($requete) ;
571
			    if (DB::isError($resultat)) {
571
			    if (DB::isError($resultat)) {
572
			        die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
572
			        die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
573
			    }
573
			    }
574
			    $not_in_langue='';
574
			    $not_in_langue='';
575
			    if ( $resultat->numRows() == 0 ) {
575
			    if ( $resultat->numRows() == 0 ) {
576
					$not_in_langue="gi_id_i18n not in('".$site_ligne['gs_ce_i18n']."')";
576
					$not_in_langue="gi_id_i18n not in('".$site_ligne['gs_ce_i18n']."')";
577
			    }
577
			    }
578
			    else {
578
			    else {
579
			    	    while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
579
			    	    while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
580
    	 					$not_in_langue="'".$ligne->gs_ce_i18n."'".",".$not_in_langue;
580
    	 					$not_in_langue="'".$ligne->gs_ce_i18n."'".",".$not_in_langue;
581
    	 					$end="'".$ligne->gs_ce_i18n."'";
581
    	 					$end="'".$ligne->gs_ce_i18n."'";
582
    					}
582
    					}
583
    					if ($not_in_langue) {
583
    					if ($not_in_langue) {
584
			    			$not_in_langue="'".$site_ligne['gs_ce_i18n']."'".",".$not_in_langue;
584
			    			$not_in_langue="'".$site_ligne['gs_ce_i18n']."'".",".$not_in_langue;
585
			    			$not_in_langue=' gi_id_i18n not in('.$not_in_langue.$end.')';
585
			    			$not_in_langue=' gi_id_i18n not in('.$not_in_langue.$end.')';
586
			    		}
586
			    		}
587
			    		else {
587
			    		else {
588
			    			$not_in_langue="gi_id_i18n not in('".$site_ligne['gs_ce_i18n']."')";
588
			    			$not_in_langue="gi_id_i18n not in('".$site_ligne['gs_ce_i18n']."')";
589
			    		}
589
			    		}
590
			    }
590
			    }
591
				$resultat->free();		    
591
				$resultat->free();		    
592
    		
592
    		
593
	    		$requete =  "SELECT * FROM gen_i18n where ".$not_in_langue;
593
	    		$requete =  "SELECT * FROM gen_i18n where ".$not_in_langue;
594
    		}
594
    		}
595
    		else 
595
    		else 
596
    		{
596
    		{
597
    			$requete =  "SELECT * FROM gen_i18n where  gi_id_i18n =('".$site_ligne['gs_ce_i18n']."')";
597
    			$requete =  "SELECT * FROM gen_i18n where  gi_id_i18n =('".$site_ligne['gs_ce_i18n']."')";
598
    		}
598
    		}
599
    }
599
    }
600
    $resultat = $db->query($requete) ;
600
    $resultat = $db->query($requete) ;
601
    if (DB::isError($resultat)) {
601
    if (DB::isError($resultat)) {
602
        die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
602
        die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
603
    }
603
    }
604
    $aso_options = array();
604
    $aso_options = array();
605
    while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ) {
605
    while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ) {
606
        $aso_options[$ligne->gi_id_i18n] = $ligne->gi_id_i18n;
606
        $aso_options[$ligne->gi_id_i18n] = $ligne->gi_id_i18n;
607
    }
607
    }
608
    $resultat->free();
608
    $resultat->free();
609
    $id = 'gs_ce_i18n';
609
    $id = 'gs_ce_i18n';
610
    $aso_attributs = array('id' => $id, 'tabindex' => $tab_index++);
610
    $aso_attributs = array('id' => $id, 'tabindex' => $tab_index++);
611
    $label = '<label for="'.$id.'">'.'Langue : '.'</label>';
611
    $label = '<label for="'.$id.'">'.'Langue : '.'</label>';
612
    $form->addElement('select', $id, $label, $aso_options, $aso_attributs);
612
    $form->addElement('select', $id, $label, $aso_options, $aso_attributs);
613
    
613
    
614
    $id = 'defaut';
614
    $id = 'defaut';
615
    $aso_attributs = array('id' => $id, 'tabindex' => $tab_index++);
615
    $aso_attributs = array('id' => $id, 'tabindex' => $tab_index++);
616
    if (isset($aso_valeurs[$id]) && $aso_valeurs[$id] === true) {
616
    if (isset($aso_valeurs[$id]) && $aso_valeurs[$id] === true) {
617
        $aso_attributs['checked'] = 'checked';
617
        $aso_attributs['checked'] = 'checked';
618
    }
618
    }
619
    $label = '<label for="'.$id.'">'.'En faire le site par défaut : '.'</label>';
619
    $label = '<label for="'.$id.'">'.'En faire le site par défaut : '.'</label>';
620
    $form->addElement('checkbox', $id, $label, null, $aso_attributs);
620
    $form->addElement('checkbox', $id, $label, null, $aso_attributs);
621
    
621
    
622
    // Groupe site externe
622
    // Groupe site externe
623
    $tab_type = GEN_retournerTableauTypeSiteExterne($db);
623
    $tab_type = GEN_retournerTableauTypeSiteExterne($db);
624
    $aso_options = array('0' => 'Aucun');
624
    $aso_options = array('0' => 'Aucun');
625
    foreach ($tab_type as $cle => $val) {
625
    foreach ($tab_type as $cle => $val) {
626
        $aso_options[$val['id']] = $val['intitule'];
626
        $aso_options[$val['id']] = $val['intitule'];
627
    }
627
    }
628
    
628
    
629
    $id = 'type_site_externe';
629
    $id = 'type_site_externe';
630
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++);
630
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++);
631
    $label = '<label>'.'Type de site externe : '.'</label>';
631
    $label = '<label>'.'Type de site externe : '.'</label>';
632
    $form->addElement('select', $id, $label, $aso_options, $aso_attributs);
632
    $form->addElement('select', $id, $label, $aso_options, $aso_attributs);
633
    
633
    
634
    $id = 'gs_url';
634
    $id = 'gs_url';
635
    $aso_attributs = array('id' => $id, 'tabindex' => $tab_index++,'size' => 45, 'maxlength' => 255, 'value' => 'http://');
635
    $aso_attributs = array('id' => $id, 'tabindex' => $tab_index++,'size' => 45, 'maxlength' => 255, 'value' => 'http://');
636
    $label = '<label>'.'URL du site externe : '.'</label>';
636
    $label = '<label>'.'URL du site externe : '.'</label>';
637
    $form->addElement('text', $id, $label, $aso_attributs);
637
    $form->addElement('text', $id, $label, $aso_attributs);
638
    
638
    
639
    $partie_site_fin = '</ul>'."\n".'</fieldset>'."\n";
639
    $partie_site_fin = '</ul>'."\n".'</fieldset>'."\n";
640
    $form->addElement('html', $partie_site_fin);
640
    $form->addElement('html', $partie_site_fin);
641
    
641
    
642
    $partie_entete_debut = '<fieldset>'."\n".'<legend>Entête par défaut des pages du site</legend>'."\n".'<ul>'."\n";
642
    $partie_entete_debut = '<fieldset>'."\n".'<legend>Entête par défaut des pages du site</legend>'."\n".'<ul>'."\n";
643
    $form->addElement('html', $partie_entete_debut);
643
    $form->addElement('html', $partie_entete_debut);
644
    
644
    
645
    $id = 'gs_titre';
645
    $id = 'gs_titre';
646
    $aso_attributs = array('id'=>$id, 'tabindex' => $tab_index++, 'size' => 45, 'maxlength' => 255, 'value' => ADSI_TITRE_SITE);
646
    $aso_attributs = array('id'=>$id, 'tabindex' => $tab_index++, 'size' => 45, 'maxlength' => 255, 'value' => ADSI_TITRE_SITE);
647
    $label = '<label for="'.$id.'">'.ADSI_TITRE_SITE.' : '.'</label>';
647
    $label = '<label for="'.$id.'">'.ADSI_TITRE_SITE.' : '.'</label>';
648
    $form->addElement('text', $id, $label, $aso_attributs);
648
    $form->addElement('text', $id, $label, $aso_attributs);
649
    $form->addRule('gs_titre', 'Un titre est requis pour le site !', 'required', '', 'client');
649
    $form->addRule('gs_titre', 'Un titre est requis pour le site !', 'required', '', 'client');
650
    
650
    
651
    $id = 'gs_mots_cles';
651
    $id = 'gs_mots_cles';
652
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'rows' => 3, 'cols' => 45);
652
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'rows' => 3, 'cols' => 45);
653
    $label = '<label for="'.$id.'">'.'Mots-clés : '.'</label>';
653
    $label = '<label for="'.$id.'">'.'Mots-clés : '.'</label>';
654
    $zone_mots_cles = $form->createElement('textarea', $id, $label, $aso_attributs);
654
    $zone_mots_cles = $form->createElement('textarea', $id, $label, $aso_attributs);
655
    $zone_mots_cles->setValue('mots-clés du site');
655
    $zone_mots_cles->setValue('mots-clés du site');
656
    $form->addElement($zone_mots_cles);
656
    $form->addElement($zone_mots_cles);
657
    $form->addRule($id, 'Des mots clés sont requis pour le site !', 'required', '', 'client');
657
    $form->addRule($id, 'Des mots clés sont requis pour le site !', 'required', '', 'client');
658
    
658
    
659
    $id = 'gs_description';
659
    $id = 'gs_description';
660
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'rows' => 3, 'cols' => 45);
660
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'rows' => 3, 'cols' => 45);
661
    $label = '<label for="'.$id.'">'.'Description du contenu : '.'</label>';
661
    $label = '<label for="'.$id.'">'.'Description du contenu : '.'</label>';
662
    $zone = $form->createElement('textarea', $id, $label, $aso_attributs);
662
    $zone = $form->createElement('textarea', $id, $label, $aso_attributs);
663
    $zone->setValue('description du site');
663
    $zone->setValue('description du site');
664
    $form->addElement($zone);
664
    $form->addElement($zone);
665
    $form->addRule($id, 'Une description est requise pour le site !', 'required', '', 'client');
665
    $form->addRule($id, 'Une description est requise pour le site !', 'required', '', 'client');
666
    
666
    
667
    $id = 'gs_auteur';
667
    $id = 'gs_auteur';
668
    $aso_attributs = array('id'=>$id, 'tabindex' => $tab_index++, 'size' => 45, 'maxlength' => 255, 'value' => 'auteur du site');
668
    $aso_attributs = array('id'=>$id, 'tabindex' => $tab_index++, 'size' => 45, 'maxlength' => 255, 'value' => 'auteur du site');
669
    $label = '<label for="'.$id.'">'.'Auteur du site : '.'</label>';
669
    $label = '<label for="'.$id.'">'.'Auteur du site : '.'</label>';
670
    $form->addElement('text', $id, $label, $aso_attributs);
670
    $form->addElement('text', $id, $label, $aso_attributs);
671
    $form->addRule('gs_auteur', 'Un auteur est requis pour le site !', 'required', '', 'client');  
671
    $form->addRule('gs_auteur', 'Un auteur est requis pour le site !', 'required', '', 'client');  
672
    
672
    
673
    $partie_entete_fin = '</ul>'."\n".'</fieldset>'."\n";
673
    $partie_entete_fin = '</ul>'."\n".'</fieldset>'."\n";
674
    $form->addElement('html', $partie_entete_fin);
674
    $form->addElement('html', $partie_entete_fin);
675
    
675
    
676
    if ($aso_valeurs['modification'] ||  $aso_valeurs['traduction']) {
676
    if ($aso_valeurs['modification'] ||  $aso_valeurs['traduction']) {
677
        // Requete pour connaitre les informations sur l'administrateur ayant fait la dernière modif
677
        // Requete pour connaitre les informations sur l'administrateur ayant fait la dernière modif
678
        $requete_admin =    'SELECT * '.
678
        $requete_admin =    'SELECT * '.
679
                            'FROM gen_annuaire '.
679
                            'FROM gen_annuaire '.
680
                            'WHERE ga_id_administrateur = '.$aso_valeurs['gs_ce_admin'];
680
                            'WHERE ga_id_administrateur = '.$aso_valeurs['gs_ce_admin'];
681
        $resultat_admin = $db->query($requete_admin);
681
        $resultat_admin = $db->query($requete_admin);
682
        if (DB::isError($resultat_admin)) {
682
        if (DB::isError($resultat_admin)) {
683
            die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_admin->getMessage(), $requete_admin));
683
            die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_admin->getMessage(), $requete_admin));
684
        }
684
        }
685
        $ligne_admin = $resultat_admin->fetchRow(DB_FETCHMODE_OBJECT);
685
        $ligne_admin = $resultat_admin->fetchRow(DB_FETCHMODE_OBJECT);
686
        if (isset($ligne_admin)) {
686
        if (isset($ligne_admin)) {
687
        	$info_admin =   '<p class="info">Site créé le '.$aso_valeurs['gs_date_creation'].'. Dernière modification par '.
687
        	$info_admin =   '<p class="info">Site créé le '.$aso_valeurs['gs_date_creation'].'. Dernière modification par '.
688
                        $ligne_admin->ga_prenom.' '.$ligne_admin->ga_nom.'.'.'</p>';
688
                        $ligne_admin->ga_prenom.' '.$ligne_admin->ga_nom.'.'.'</p>';
689
        	$form->addElement('html', $info_admin);
689
        	$form->addElement('html', $info_admin);
690
        	$form->addElement('hidden', 'gs_ce_admin');
690
        	$form->addElement('hidden', 'gs_ce_admin');
691
        	$form->addElement('hidden', 'gs_date_creation');
691
        	$form->addElement('hidden', 'gs_date_creation');
692
        }
692
        }
693
        
693
        
694
        // Titre de la page:
694
        // Titre de la page:
695
        if ($aso_valeurs['modification']) {
695
        if ($aso_valeurs['modification']) {
696
        	$titre = 'Modifier un site';
696
        	$titre = 'Modifier un site';
697
        	$bouton_validation = '<input type="submit" id="site_modifier" name="site_modifier" value="Enregistrer" />';
697
        	$bouton_validation = '<input type="submit" id="site_modifier" name="site_modifier" value="Enregistrer" />';
698
        }
698
        }
699
        else {
699
        else {
700
        	$titre = 'Traduire un site';
700
        	$titre = 'Traduire un site';
701
        	$bouton_validation = '<input type="submit" id="site_traduire" name="site_traduire" value="Enregistrer" />';
701
        	$bouton_validation = '<input type="submit" id="site_traduire" name="site_traduire" value="Enregistrer" />';
702
        }
702
        }
703
        
703
        
704
    } else {
704
    } else {
705
        // Titre de la page:
705
        // Titre de la page:
706
        $titre = 'Ajouter un site';
706
        $titre = 'Ajouter un site';
707
        // Bouton validant le formulaire
707
        // Bouton validant le formulaire
708
        $bouton_validation = '<input type="submit" id="site_enregistrer" name="site_enregistrer" value="Enregistrer" />';
708
        $bouton_validation = '<input type="submit" id="site_enregistrer" name="site_enregistrer" value="Enregistrer" />';
709
    }
709
    }
710
    $bouton_annuler =   '<input type="submit" id="form_annuler" name="form_annuler" value="Annuler" />';
710
    $bouton_annuler =   '<input type="submit" id="form_annuler" name="form_annuler" value="Annuler" />';
711
    $bouton_effacer =   '<input type="reset" id="effacer" name="effacer" value="Effacer" />';
711
    $bouton_effacer =   '<input type="reset" id="effacer" name="effacer" value="Effacer" />';
712
    $boutons =  '<p>'."\n".
712
    $boutons =  '<p>'."\n".
713
                $bouton_validation."\n".
713
                $bouton_validation."\n".
714
                $bouton_annuler."\n".
714
                $bouton_annuler."\n".
715
                $bouton_effacer."\n".
715
                $bouton_effacer."\n".
716
                '</p>'."\n";
716
                '</p>'."\n";
717
    $form->addElement('html', $boutons);
717
    $form->addElement('html', $boutons);
718
    
718
    
719
    // Instanciation des valeurs par défaut du formulaire
719
    // Instanciation des valeurs par défaut du formulaire
720
    $form->setDefaults($aso_valeurs);
720
    $form->setDefaults($aso_valeurs);
721
    
721
    
722
    // Javascript pour la validation côté client
722
    // Javascript pour la validation côté client
723
    $regles_javascript = $form->getValidationScript();
723
    $regles_javascript = $form->getValidationScript();
724
    // Suppression des balises déjà créées par GEN_stockerCodeScript()
724
    // Suppression des balises déjà créées par GEN_stockerCodeScript()
725
    // Le code ci-dessous devrait être utilisé si on arrive à empécher Quickform de l'ajouter lui-même!
725
    // Le code ci-dessous devrait être utilisé si on arrive à empécher Quickform de l'ajouter lui-même!
726
    /*
726
    /*
727
    $regles_javascript = ereg_replace ( '<script type="text\/javascript">', '', $regles_javascript);
727
    $regles_javascript = ereg_replace ( '<script type="text\/javascript">', '', $regles_javascript);
728
    $regles_javascript = ereg_replace ( '<!--', '', $regles_javascript);
728
    $regles_javascript = ereg_replace ( '<!--', '', $regles_javascript);
729
    $regles_javascript = ereg_replace ( '\/\/-->', '', $regles_javascript);
729
    $regles_javascript = ereg_replace ( '\/\/-->', '', $regles_javascript);
730
    $regles_javascript = ereg_replace ( '<\/script>', '', $regles_javascript);
730
    $regles_javascript = ereg_replace ( '<\/script>', '', $regles_javascript);
731
    GEN_stockerCodeScript($regles_javascript);
731
    GEN_stockerCodeScript($regles_javascript);
732
    */
732
    */
733
    
733
    
734
    // Note de fin de formulaire
734
    // Note de fin de formulaire
735
    $form->setRequiredNote('Indique les champs obligatoires');
735
    $form->setRequiredNote('Indique les champs obligatoires');
736
    $sortie .= $form->toHTML()."\n";
736
    $sortie .= $form->toHTML()."\n";
737
    
737
    
738
    // Construction de la page.
738
    // Construction de la page.
739
    return ADMIN_contruirePage($titre, $sortie, $message);
739
    return ADMIN_contruirePage($titre, $sortie, $message);
740
}
740
}
741
 
741
 
742
/** Fonction ADMIN_validerFormAjouterSite() - Valide les données issues du formulaire pour gen_site.
742
/** Fonction ADMIN_validerFormAjouterSite() - Valide les données issues du formulaire pour gen_site.
743
*
743
*
744
* Cette fonction valide les données à ajouter dans la table gen_site.
744
* Cette fonction valide les données à ajouter dans la table gen_site.
745
*
745
*
746
* @param  string   l'objet pear de connexion à la base de données.
746
* @param  string   l'objet pear de connexion à la base de données.
747
* @param  string   le tableau contenant les valeurs du formulaire.
747
* @param  string   le tableau contenant les valeurs du formulaire.
748
* @return string   retourne les messages d'erreurs sinon rien.
748
* @return string   retourne les messages d'erreurs sinon rien.
749
*/
749
*/
750
function ADMIN_validerFormSite(&$db, $aso_valeurs)
750
function ADMIN_validerFormSite(&$db, $aso_valeurs)
751
{
751
{
752
    $message = '';
752
    $message = '';
753
    
753
    
754
    // Validation des données du formulaire
754
    // Validation des données du formulaire
755
    if (empty($aso_valeurs['gs_nom'])) {
755
    if (empty($aso_valeurs['gs_nom'])) {
756
        $message .= '<p class="pap_erreur">Le champ "Nom" ne doit pas être vide.</p>';
756
        $message .= '<p class="pap_erreur">Le champ "Nom" ne doit pas être vide.</p>';
757
    }
757
    }
758
    if (empty($aso_valeurs['gs_code_alpha'])) {
758
    if (empty($aso_valeurs['gs_code_alpha'])) {
759
        $message .= '<p class="pap_erreur">Le champ "Code alphanumérique" ne doit pas être vide.</p>';
759
        $message .= '<p class="pap_erreur">Le champ "Code alphanumérique" ne doit pas être vide.</p>';
760
    }
760
    }
761
    if ($aso_valeurs['gs_code_num'] == '') {
761
    if ($aso_valeurs['gs_code_num'] == '') {
762
        // Note: ne pas utilisez empty() car si on veut saisir 0, cela est conscidéré comme vide!
762
        // Note: ne pas utilisez empty() car si on veut saisir 0, cela est conscidéré comme vide!
763
        $message .= '<p class="pap_erreur">Le champ "Code numérique" ne doit pas être vide.</p>';
763
        $message .= '<p class="pap_erreur">Le champ "Code numérique" ne doit pas être vide.</p>';
764
    }
764
    }
765
    if (preg_match('/^[0-9]+$/',$aso_valeurs['gs_code_num']) == 0) {
765
    if (preg_match('/^[0-9]+$/',$aso_valeurs['gs_code_num']) == 0) {
766
        $message .= '<p class="pap_erreur">Le champ "Code numérique" doit contenir un nombre.</p>';
766
        $message .= '<p class="pap_erreur">Le champ "Code numérique" doit contenir un nombre.</p>';
767
    }
767
    }
768
    
768
    
769
    // Requete pour vérifier l'absence du code numérique et alphanumérique de la table gen_site
769
    // Requete pour vérifier l'absence du code numérique et alphanumérique de la table gen_site
770
    // en mode creation uniquement !
770
    // en mode creation uniquement !
-
 
771
   
-
 
772
   
-
 
773
    if (!isset($aso_valeurs['site_modifier'])) $aso_valeurs['site_modifier']=0;
-
 
774
    if (!isset($aso_valeurs['site_traduire'])) $aso_valeurs['site_traduire']=0;
771
    
775
    
772
    if (!$aso_valeurs['site_modifier'] && !$aso_valeurs['site_traduire'] ) {
776
    if (@!$aso_valeurs['site_modifier'] && @!$aso_valeurs['site_traduire'] ) {
773
    
777
    
774
	    $requete =  'SELECT gs_code_alpha, gs_code_num '.
778
	    $requete =  'SELECT gs_code_alpha, gs_code_num '.
775
	                'FROM gen_site, gen_site_relation '.
779
	                'FROM gen_site, gen_site_relation '.
776
	                'WHERE gsr_id_site_01 = gsr_id_site_02 '.
780
	                'WHERE gsr_id_site_01 = gsr_id_site_02 '.
777
	                'AND gsr_id_site_01 = gs_id_site '.
781
	                'AND gsr_id_site_01 = gs_id_site '.
778
	                'AND gsr_id_valeur IN (102, 103) ';// 102 = site "principal" et 103 = site "externe"
782
	                'AND gsr_id_valeur IN (102, 103) ';// 102 = site "principal" et 103 = site "externe"
779
	    $requete .= (isset($aso_valeurs['gs_id_site'])) ? 'AND gs_id_site != '.$aso_valeurs['gs_id_site'] : '';
783
	    $requete .= (isset($aso_valeurs['gs_id_site'])) ? 'AND gs_id_site != '.$aso_valeurs['gs_id_site'] : '';
780
	    
784
	    
781
	    
785
	    
782
	    $resultat = $db->query($requete);
786
	    $resultat = $db->query($requete);
783
	    if (DB::isError($resultat)) {
787
	    if (DB::isError($resultat)) {
784
	        die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
788
	        die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
785
	    }
789
	    }
786
	    
790
	    
787
	    while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ) {
791
	    while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ) {
788
	        if ($ligne->gs_code_num == $aso_valeurs['gs_code_num']) {
792
	        if ($ligne->gs_code_num == $aso_valeurs['gs_code_num']) {
789
	            $message .= '<p class="pap_erreur">La valeur "'.$aso_valeurs['gs_code_num'].'" pour le champ "Code numérique" existe déjà.</p>';
793
	            $message .= '<p class="pap_erreur">La valeur "'.$aso_valeurs['gs_code_num'].'" pour le champ "Code numérique" existe déjà.</p>';
790
	        }
794
	        }
791
	        if ($ligne->gs_code_alpha == $aso_valeurs['gs_code_alpha']) {
795
	        if ($ligne->gs_code_alpha == $aso_valeurs['gs_code_alpha']) {
792
	            $message .= '<p class="pap_erreur">La valeur "'.$aso_valeurs['gs_code_alpha'].'" pour le champ "Code alphanumérique" existe déjà.</p>';
796
	            $message .= '<p class="pap_erreur">La valeur "'.$aso_valeurs['gs_code_alpha'].'" pour le champ "Code alphanumérique" existe déjà.</p>';
793
	        }
797
	        }
794
	    }
798
	    }
795
	    
799
	    
796
	    $resultat->free();
800
	    $resultat->free();
797
	    
801
	    
798
    }
802
    }
799
    
803
    
800
    else {
804
    else {
801
    // Refuser si plus de traduction disponible !	
805
    // Refuser si plus de traduction disponible !	
802
    }
806
    }
803
    
807
    
804
    if (empty($aso_valeurs['gs_titre'])) {
808
    if (empty($aso_valeurs['gs_titre'])) {
805
        $message .= '<p class="pap_erreur">Le champ "Titre" ne doit pas être vide.</p>';
809
        $message .= '<p class="pap_erreur">Le champ "Titre" ne doit pas être vide.</p>';
806
    }
810
    }
807
    if (empty($aso_valeurs['gs_mots_cles'])) {
811
    if (empty($aso_valeurs['gs_mots_cles'])) {
808
        $message .= '<p class="pap_erreur">Le champ "Mots clés" ne doit pas être vide.</p>';
812
        $message .= '<p class="pap_erreur">Le champ "Mots clés" ne doit pas être vide.</p>';
809
    }
813
    }
810
    if (empty($aso_valeurs['gs_description'])) {
814
    if (empty($aso_valeurs['gs_description'])) {
811
        $message .= '<p class="pap_erreur">Le champ "Description" ne doit pas être vide.</p>';
815
        $message .= '<p class="pap_erreur">Le champ "Description" ne doit pas être vide.</p>';
812
    }
816
    }
813
    if (empty($aso_valeurs['gs_auteur'])) {
817
    if (empty($aso_valeurs['gs_auteur'])) {
814
        $message .= '<p class="pap_erreur">Le champ "Auteur" ne doit pas être vide.</p>';
818
        $message .= '<p class="pap_erreur">Le champ "Auteur" ne doit pas être vide.</p>';
815
    }
819
    }
816
    if (isset($aso_valeurs['externe']) && $aso_valeurs['externe'] == 1 && (empty($aso_valeurs['gs_url']) || $aso_valeurs['gs_url'] == 'http://')) {
820
    if (isset($aso_valeurs['externe']) && $aso_valeurs['externe'] == 1 && (empty($aso_valeurs['gs_url']) || $aso_valeurs['gs_url'] == 'http://')) {
817
        $message .= '<p class="pap_erreur">'.'Vous avez désigné ce site comme étant externe. Il est nécessaire de saisir son URL!'.'</p>';
821
        $message .= '<p class="pap_erreur">'.'Vous avez désigné ce site comme étant externe. Il est nécessaire de saisir son URL!'.'</p>';
818
    }
822
    }
819
    if (isset($aso_valeurs['externe']) && $aso_valeurs['externe'] == 0 && (!empty($aso_valeurs['gs_url']) && $aso_valeurs['gs_url'] != 'http://')) {
823
    if (isset($aso_valeurs['externe']) && $aso_valeurs['externe'] == 0 && (!empty($aso_valeurs['gs_url']) && $aso_valeurs['gs_url'] != 'http://')) {
820
        $message .= '<p class="pap_erreur">'.'Vous avez saisie une l\'url : '.$aso_valeurs['gs_url'].'<br />'.
824
        $message .= '<p class="pap_erreur">'.'Vous avez saisie une l\'url : '.$aso_valeurs['gs_url'].'<br />'.
821
                    'Vous conscidérez donc ce site comme étant externe. Il est nécessaire de cocher la case "oui"!'.'</p>';
825
                    'Vous conscidérez donc ce site comme étant externe. Il est nécessaire de cocher la case "oui"!'.'</p>';
822
    }
826
    }
823
    return $message;
827
    return $message;
824
}
828
}
825
 
829
 
826
/** Fonction ADMIN_enregistrerSite() - Ajoute un site à Papyrus.
830
/** Fonction ADMIN_enregistrerSite() - Ajoute un site à Papyrus.
827
*
831
*
828
* Cette fonction ajoute le site à Papyrus, c'est à dire :
832
* Cette fonction ajoute le site à Papyrus, c'est à dire :
829
* - 1. Création des répertoire du projet en fonction du nom et des sous-répertoires.
833
* - 1. Création des répertoire du projet en fonction du nom et des sous-répertoires.
830
* - 2. Insertion d'une ligne dans la table "gen_site".
834
* - 2. Insertion d'une ligne dans la table "gen_site".
831
* - 3. Insertion d'une ligne dans la table "gen_site_auth" et ses tables liées si nécessaire.
835
* - 3. Insertion d'une ligne dans la table "gen_site_auth" et ses tables liées si nécessaire.
832
*
836
*
833
* @param  string   l'objet pear de connexion à la base de données.
837
* @param  string   l'objet pear de connexion à la base de données.
834
* @param  string   le tableau contenant les valeurs du formulaire.
838
* @param  string   le tableau contenant les valeurs du formulaire.
835
* @param  int      identifiant de l'administrateur réalisant cette création.
839
* @param  int      identifiant de l'administrateur réalisant cette création.
836
* @return string retourne un message en cas de succès ou d'échec.
840
* @return string retourne un message en cas de succès ou d'échec.
837
*/
841
*/
838
function ADMIN_enregistrerSite(&$db, $aso_valeurs, $id_admin)
842
function ADMIN_enregistrerSite(&$db, $aso_valeurs, $id_admin)
839
{
843
{
840
    // Nous vérifions si nous avons à faire à un site externe.
844
    // Nous vérifions si nous avons à faire à un site externe.
841
    $id_type_site = '102';// par défaut on conscidére que c'est un site "principal"
845
    $id_type_site = '102';// par défaut on conscidére que c'est un site "principal"
842
    if (isset($aso_valeurs['type_site_externe']) && $aso_valeurs['type_site_externe'] > 0 && !empty($aso_valeurs['gs_url']) && $aso_valeurs['gs_url'] != 'http://') {
846
    if (isset($aso_valeurs['type_site_externe']) && $aso_valeurs['type_site_externe'] > 0 && !empty($aso_valeurs['gs_url']) && $aso_valeurs['gs_url'] != 'http://') {
843
        $id_type_site = '103';// c'est un site "externe"
847
        $id_type_site = '103';// c'est un site "externe"
844
    }
848
    }
845
    
849
    
846
    // Ajout des répertoires des sites "principaux" soit par manipulation de fichier soit par FTP en fonction de la constante définie
850
    // Ajout des répertoires des sites "principaux" soit par manipulation de fichier soit par FTP en fonction de la constante définie
847
    // par l'utilisateur dans le fichier de config avancée.
851
    // par l'utilisateur dans le fichier de config avancée.
848
    $tab_rep_langue = array(GEN_DOSSIER_GENERIQUE, $aso_valeurs['gs_ce_i18n']);
852
    $tab_rep_langue = array(GEN_DOSSIER_GENERIQUE, $aso_valeurs['gs_ce_i18n']);
849
    $tab_rep_site = array(  GEN_DOSSIER_IMAGE,
853
    $tab_rep_site = array(  GEN_DOSSIER_IMAGE,
850
                            GEN_DOSSIER_STYLE,
854
                            GEN_DOSSIER_STYLE,
851
                            GEN_DOSSIER_SCRIPT,
855
                            GEN_DOSSIER_SCRIPT,
852
                            GEN_DOSSIER_SQUELETTE,
856
                            GEN_DOSSIER_SQUELETTE,
853
                            GEN_DOSSIER_DOC);
857
                            GEN_DOSSIER_DOC);
854
    if (!GEN_FTP_UTILISE && $id_type_site != '103') {
858
    if (!GEN_FTP_UTILISE && $id_type_site != '103') {
855
        foreach ($tab_rep_langue as $nom_rep_langue) {
859
        foreach ($tab_rep_langue as $nom_rep_langue) {
856
            foreach ($tab_rep_site as $nom_rep_site) {
860
            foreach ($tab_rep_site as $nom_rep_site) {
857
                $chemin_repertoire =    PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.
861
                $chemin_repertoire =    PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.
858
                                        $nom_rep_langue.GEN_SEP.$nom_rep_site;
862
                                        $nom_rep_langue.GEN_SEP.$nom_rep_site;
859
                $vieux_umask = umask(0);
863
                $vieux_umask = umask(0);
860
                $resultat = creerDossier($chemin_repertoire, 0777, GEN_SEP);
864
                $resultat = creerDossier($chemin_repertoire, 0777, GEN_SEP);
861
                umask($vieux_umask);
865
                umask($vieux_umask);
862
                if ($resultat == false) {
866
                if ($resultat == false) {
863
                    $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de créer le répertoire.<br />'.
867
                    $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de créer le répertoire.<br />'.
864
                                'Répertoire : '. $chemin_repertoire .'<br />'.
868
                                'Répertoire : '. $chemin_repertoire .'<br />'.
865
                                'Ligne n° : '. __LINE__ .'<br />'.
869
                                'Ligne n° : '. __LINE__ .'<br />'.
866
                                'Fichier n° : '. __FILE__ .'<br /></p>';
870
                                'Fichier n° : '. __FILE__ .'<br /></p>';
867
                    return $message;
871
                    return $message;
868
                }
872
                }
869
            }
873
            }
870
        }
874
        }
871
        $chemin_squelette_defaut =  PAP_CHEMIN_RACINE.GEN_CHEMIN_COMMUN.GEN_DOSSIER_GENERIQUE.GEN_SEP.
875
        $chemin_squelette_defaut =  PAP_CHEMIN_RACINE.GEN_CHEMIN_COMMUN.GEN_DOSSIER_GENERIQUE.GEN_SEP.
872
                                    GEN_DOSSIER_SQUELETTE.GEN_SEP.GEN_FICHIER_SQUELETTE;
876
                                    GEN_DOSSIER_SQUELETTE.GEN_SEP.GEN_FICHIER_SQUELETTE;
873
        $chemin_squelette_site =    PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.
877
        $chemin_squelette_site =    PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.
874
                                    $aso_valeurs['gs_ce_i18n'].GEN_SEP.GEN_DOSSIER_SQUELETTE.GEN_SEP.GEN_FICHIER_SQUELETTE;
878
                                    $aso_valeurs['gs_ce_i18n'].GEN_SEP.GEN_DOSSIER_SQUELETTE.GEN_SEP.GEN_FICHIER_SQUELETTE;
875
        if (!copy($chemin_squelette_defaut, $chemin_squelette_site)) {
879
        if (!copy($chemin_squelette_defaut, $chemin_squelette_site)) {
876
            $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de créer le fichier de squellete par défaut.<br />'.
880
            $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de créer le fichier de squellete par défaut.<br />'.
877
                        'Fichier : '. $chemin_squelette_site .'<br />'.
881
                        'Fichier : '. $chemin_squelette_site .'<br />'.
878
                        'Ligne n° : '. __LINE__ .'<br />'.
882
                        'Ligne n° : '. __LINE__ .'<br />'.
879
                        'Fichier n° : '. __FILE__ .'<br /></p>';
883
                        'Fichier n° : '. __FILE__ .'<br /></p>';
880
            return $message;
884
            return $message;
881
        }
885
        }
882
        $chemin_style_defaut =  PAP_CHEMIN_RACINE.GEN_CHEMIN_COMMUN.GEN_DOSSIER_GENERIQUE.GEN_SEP.
886
        $chemin_style_defaut =  PAP_CHEMIN_RACINE.GEN_CHEMIN_COMMUN.GEN_DOSSIER_GENERIQUE.GEN_SEP.
883
                                GEN_DOSSIER_STYLE.GEN_SEP.GEN_FICHIER_STYLE;
887
                                GEN_DOSSIER_STYLE.GEN_SEP.GEN_FICHIER_STYLE;
884
        $chemin_style_site =    PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.
888
        $chemin_style_site =    PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.
885
                                $aso_valeurs['gs_ce_i18n'].GEN_SEP.GEN_DOSSIER_STYLE.GEN_SEP.GEN_FICHIER_STYLE;
889
                                $aso_valeurs['gs_ce_i18n'].GEN_SEP.GEN_DOSSIER_STYLE.GEN_SEP.GEN_FICHIER_STYLE;
886
        if (!copy($chemin_style_defaut, $chemin_style_site)) {
890
        if (!copy($chemin_style_defaut, $chemin_style_site)) {
887
            $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de créer le fichier de style par défaut.<br />'.
891
            $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de créer le fichier de style par défaut.<br />'.
888
                        'Fichier : '. $chemin_style_site .'<br />'.
892
                        'Fichier : '. $chemin_style_site .'<br />'.
889
                        'Ligne n° : '. __LINE__ .'<br />'.
893
                        'Ligne n° : '. __LINE__ .'<br />'.
890
                        'Fichier n° : '. __FILE__ .'<br /></p>';
894
                        'Fichier n° : '. __FILE__ .'<br /></p>';
891
            return $message;
895
            return $message;
892
        }
896
        }
893
    } else if (GEN_FTP_UTILISE && $id_type_site != '103') {  // 103 est le type "site externe"
897
    } else if (GEN_FTP_UTILISE && $id_type_site != '103') {  // 103 est le type "site externe"
894
        // Création d'une connection ftp avec Net_FTP de PEAR
898
        // Création d'une connection ftp avec Net_FTP de PEAR
895
        // voir http://pear.php.net/manual/fr/package.networking.net-ftp.php
899
        // voir http://pear.php.net/manual/fr/package.networking.net-ftp.php
896
        
900
        
897
        // création de l'objet pear ftp
901
        // création de l'objet pear ftp
898
        $objet_pear_ftp = new Net_FTP(PAP_FTP_SERVEUR, PAP_FTP_PORT);
902
        $objet_pear_ftp = new Net_FTP(PAP_FTP_SERVEUR, PAP_FTP_PORT);
899
        // création de la connexion
903
        // création de la connexion
900
        $ftp_conn = $objet_pear_ftp->connect(PAP_FTP_SERVEUR, PAP_FTP_PORT);
904
        $ftp_conn = $objet_pear_ftp->connect(PAP_FTP_SERVEUR, PAP_FTP_PORT);
901
        // identification
905
        // identification
902
        $ftp_login_result = $objet_pear_ftp->login(PAP_FTP_UTILISATEUR, PAP_FTP_MOT_DE_PASSE);
906
        $ftp_login_result = $objet_pear_ftp->login(PAP_FTP_UTILISATEUR, PAP_FTP_MOT_DE_PASSE);
903
        // Gestion des erreurs ftp
907
        // Gestion des erreurs ftp
904
        if ((PEAR::isError($ftp_conn) || PEAR::isError($ftp_login_result))) {
908
        if ((PEAR::isError($ftp_conn) || PEAR::isError($ftp_login_result))) {
905
            $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de se connecter par ftp.<br />'.
909
            $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de se connecter par ftp.<br />'.
906
                        'Serveur : '. PAP_FTP_SERVEUR .'<br />'.
910
                        'Serveur : '. PAP_FTP_SERVEUR .'<br />'.
907
                        'Utilisateur : '. PAP_FTP_UTILISATEUR .'<br />'.
911
                        'Utilisateur : '. PAP_FTP_UTILISATEUR .'<br />'.
908
                        'Erreur connexion : '.$ftp_conn->getMessage().'<br />'.
912
                        'Erreur connexion : '.$ftp_conn->getMessage().'<br />'.
909
                        'Erreur login : '.$ftp_login_result->getMessage().'<br />'.
913
                        'Erreur login : '.$ftp_login_result->getMessage().'<br />'.
910
                        'Ligne n° : '. __LINE__ .'<br />'.
914
                        'Ligne n° : '. __LINE__ .'<br />'.
911
                        'Fichier n° : '. __FILE__ .'<br /><p>';
915
                        'Fichier n° : '. __FILE__ .'<br /><p>';
912
            return $message;
916
            return $message;
913
        }
917
        }
914
        $objet_pear_ftp->mkdir(PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha']) ;
918
        $objet_pear_ftp->mkdir(PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha']) ;
915
        
919
        
916
        //$objet_pear_ftp->cd(PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha']) ;
920
        //$objet_pear_ftp->cd(PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha']) ;
917
        foreach ($tab_rep_langue as $nom_rep_langue) {
921
        foreach ($tab_rep_langue as $nom_rep_langue) {
918
            $objet_pear_ftp->mkdir(PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.$nom_rep_langue) ;
922
            $objet_pear_ftp->mkdir(PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.$nom_rep_langue) ;
919
            foreach ($tab_rep_site as $nom_rep_site) {
923
            foreach ($tab_rep_site as $nom_rep_site) {
920
                $chemin_repertoire =    PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.$nom_rep_langue.GEN_SEP.$nom_rep_site;
924
                $chemin_repertoire =    PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.$nom_rep_langue.GEN_SEP.$nom_rep_site;
921
                
925
                
922
                $resultat = $objet_pear_ftp->mkdir($chemin_repertoire) ;
926
                $resultat = $objet_pear_ftp->mkdir($chemin_repertoire) ;
923
                if (PEAR::isError($resultat)) {
927
                if (PEAR::isError($resultat)) {
924
                    $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de créer le répertoire par ftp.<br />'.
928
                    $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de créer le répertoire par ftp.<br />'.
925
                                'Répertoire : '. $chemin_repertoire .'<br />'.
929
                                'Répertoire : '. $chemin_repertoire .'<br />'.
926
                                'Erreur origine : '. $resultat->getMessage() .'<br />'.
930
                                'Erreur origine : '. $resultat->getMessage() .'<br />'.
927
                                'Ligne n° : '. __LINE__ .'<br />'.
931
                                'Ligne n° : '. __LINE__ .'<br />'.
928
                                'Fichier n° : '. __FILE__ .'<br /></p>';
932
                                'Fichier n° : '. __FILE__ .'<br /></p>';
929
                    return $message;
933
                    return $message;
930
                }
934
                }
931
            }
935
            }
932
        }
936
        }
933
        $chemin_squelette_defaut =  PAP_CHEMIN_RACINE.GEN_CHEMIN_COMMUN.GEN_DOSSIER_GENERIQUE.GEN_SEP.
937
        $chemin_squelette_defaut =  PAP_CHEMIN_RACINE.GEN_CHEMIN_COMMUN.GEN_DOSSIER_GENERIQUE.GEN_SEP.
934
                                    GEN_DOSSIER_SQUELETTE.GEN_SEP.GEN_FICHIER_SQUELETTE;
938
                                    GEN_DOSSIER_SQUELETTE.GEN_SEP.GEN_FICHIER_SQUELETTE;
935
        $chemin_squelette_site =    PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.
939
        $chemin_squelette_site =    PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.
936
                                    $aso_valeurs['gs_ce_i18n'].GEN_SEP.GEN_DOSSIER_SQUELETTE.GEN_SEP.GEN_FICHIER_SQUELETTE;
940
                                    $aso_valeurs['gs_ce_i18n'].GEN_SEP.GEN_DOSSIER_SQUELETTE.GEN_SEP.GEN_FICHIER_SQUELETTE;
937
        $resultat = $objet_pear_ftp->put($chemin_squelette_defaut, $chemin_squelette_site, true, FTP_BINARY);
941
        $resultat = $objet_pear_ftp->put($chemin_squelette_defaut, $chemin_squelette_site, true, FTP_BINARY);
938
        if (PEAR::isError($resultat)) {
942
        if (PEAR::isError($resultat)) {
939
            $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de copier le squelette defaut par ftp.<br />'.
943
            $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de copier le squelette defaut par ftp.<br />'.
940
                        'Fichier origine : '. $chemin_squelette_defaut .'<br />'.
944
                        'Fichier origine : '. $chemin_squelette_defaut .'<br />'.
941
                        'Fichier copié : '. $chemin_squelette_site .'<br />'.
945
                        'Fichier copié : '. $chemin_squelette_site .'<br />'.
942
                        'Erreur origine : '. $resultat->getMessage() .'<br />'.
946
                        'Erreur origine : '. $resultat->getMessage() .'<br />'.
943
                        'Ligne n° : '. __LINE__ .'<br />'.
947
                        'Ligne n° : '. __LINE__ .'<br />'.
944
                        'Fichier n° : '. __FILE__ .'<br /></p>';
948
                        'Fichier n° : '. __FILE__ .'<br /></p>';
945
                return $message;
949
                return $message;
946
        }
950
        }
947
        $chemin_style_defaut =  PAP_CHEMIN_RACINE.GEN_CHEMIN_COMMUN.GEN_DOSSIER_GENERIQUE.GEN_SEP.
951
        $chemin_style_defaut =  PAP_CHEMIN_RACINE.GEN_CHEMIN_COMMUN.GEN_DOSSIER_GENERIQUE.GEN_SEP.
948
                                GEN_DOSSIER_STYLE.GEN_SEP.GEN_FICHIER_STYLE;
952
                                GEN_DOSSIER_STYLE.GEN_SEP.GEN_FICHIER_STYLE;
949
        $chemin_style_site =    PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.
953
        $chemin_style_site =    PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.
950
                                $aso_valeurs['gs_ce_i18n'].GEN_SEP.GEN_DOSSIER_STYLE.GEN_SEP.GEN_FICHIER_STYLE;
954
                                $aso_valeurs['gs_ce_i18n'].GEN_SEP.GEN_DOSSIER_STYLE.GEN_SEP.GEN_FICHIER_STYLE;
951
        $resultat = $objet_pear_ftp->put($chemin_style_defaut, $chemin_style_site, true, FTP_BINARY);
955
        $resultat = $objet_pear_ftp->put($chemin_style_defaut, $chemin_style_site, true, FTP_BINARY);
952
        if (PEAR::isError($resultat)) {
956
        if (PEAR::isError($resultat)) {
953
            $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de copier les styles defaut par ftp.<br />'.
957
            $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de copier les styles defaut par ftp.<br />'.
954
                        'Fichier origine : '. $chemin_style_defaut .'<br />'.
958
                        'Fichier origine : '. $chemin_style_defaut .'<br />'.
955
                        'Fichier copié : '. $chemin_style_site .'<br />'.
959
                        'Fichier copié : '. $chemin_style_site .'<br />'.
956
                        'Erreur origine : '. $resultat->getMessage() .'<br />'.
960
                        'Erreur origine : '. $resultat->getMessage() .'<br />'.
957
                        'Ligne n° : '. __LINE__ .'<br />'.
961
                        'Ligne n° : '. __LINE__ .'<br />'.
958
                        'Fichier n° : '. __FILE__ .'<br /></p>';
962
                        'Fichier n° : '. __FILE__ .'<br /></p>';
959
                return $message;
963
                return $message;
960
        }
964
        }
-
 
965
        
-
 
966
        $chemin_image_defaut =  PAP_CHEMIN_RACINE.GEN_CHEMIN_COMMUN.GEN_DOSSIER_GENERIQUE.GEN_SEP.
-
 
967
                                GEN_DOSSIER_IMAGE.GEN_SEP;
-
 
968
        $chemin_image_site =    PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.
-
 
969
                                $aso_valeurs['gs_ce_i18n'].GEN_SEP.GEN_DOSSIER_IMAGE.GEN_SEP;
-
 
970
        $resultat = $objet_pear_ftp->putRecursive($chemin_image_defaut, $chemin_image_site, false, FTP_BINARY);
-
 
971
        if (PEAR::isError($resultat)) {
-
 
972
            $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de copier les styles defaut par ftp.<br />'.
-
 
973
                        'Fichier origine : '. $chemin_style_defaut .'<br />'.
-
 
974
                        'Fichier copié : '. $chemin_style_site .'<br />'.
-
 
975
                        'Erreur origine : '. $resultat->getMessage() .'<br />'.
-
 
976
                        'Ligne n° : '. __LINE__ .'<br />'.
-
 
977
                        'Fichier n° : '. __FILE__ .'<br /></p>';
-
 
978
                return $message;
-
 
979
        }
-
 
980
 
-
 
981
        
-
 
982
        
961
        $objet_pear_ftp->disconnect();
983
        $objet_pear_ftp->disconnect();
962
    }
984
    }
963
    
985
    
964
    $id_site = SQL_obtenirNouveauId($db, 'gen_site','gs_id_site');
986
    $id_site = SQL_obtenirNouveauId($db, 'gen_site','gs_id_site');
965
    if ($id_site == false) {
987
    if ($id_site == false) {
966
        $message = '<p class="erreur"> ERREUR Génésia admin : impossible de récupérer un identifiant pour la table gen_site.<br />'.
988
        $message = '<p class="erreur"> ERREUR Génésia admin : impossible de récupérer un identifiant pour la table gen_site.<br />'.
967
                    'Ligne n° : '. __LINE__ .'<br />'.
989
                    'Ligne n° : '. __LINE__ .'<br />'.
968
                    'Fichier n° : '. __FILE__ .'<br /></p>';
990
                    'Fichier n° : '. __FILE__ .'<br /></p>';
969
        return $message;
991
        return $message;
970
    }
992
    }
971
    
993
    
972
    // Modification de la requete si nous avons à faire à un site externe.
994
    // Modification de la requete si nous avons à faire à un site externe.
973
    $requete_complement = ', gs_url = NULL';
995
    $requete_complement = ', gs_url = NULL';
974
    if (isset($aso_valeurs['type_site_externe']) && $aso_valeurs['type_site_externe'] > 0 && !empty($aso_valeurs['gs_url']) && $aso_valeurs['gs_url'] != 'http://') {
996
    if (isset($aso_valeurs['type_site_externe']) && $aso_valeurs['type_site_externe'] > 0 && !empty($aso_valeurs['gs_url']) && $aso_valeurs['gs_url'] != 'http://') {
975
        $requete_complement = ', gs_url = "'.$aso_valeurs['gs_url'].'"';
997
        $requete_complement = ', gs_url = "'.$aso_valeurs['gs_url'].'"';
976
    }
998
    }
977
    
999
    
978
    // Requete d'insertion des infos d'un site dans gen_site
1000
    // Requete d'insertion des infos d'un site dans gen_site
979
    $requete =  'INSERT INTO gen_site '.
1001
    $requete =  'INSERT INTO gen_site '.
980
                'SET gs_id_site = '.$id_site.', '.
1002
                'SET gs_id_site = '.$id_site.', '.
981
                'gs_ce_i18n = "'.$aso_valeurs['gs_ce_i18n'].'", '.
1003
                'gs_ce_i18n = "'.$aso_valeurs['gs_ce_i18n'].'", '.
982
                'gs_ce_auth = '.$aso_valeurs['gs_ce_auth'].', '.
1004
                'gs_ce_auth = '.$aso_valeurs['gs_ce_auth'].', '.
983
                'gs_fichier_squelette = "defaut.html", '.
1005
                'gs_fichier_squelette = "defaut.html", '.
984
                'gs_code_num = '.$aso_valeurs['gs_code_num'].', '.
1006
                'gs_code_num = '.$aso_valeurs['gs_code_num'].', '.
985
                'gs_code_alpha = "'.$aso_valeurs['gs_code_alpha'].'", '.
1007
                'gs_code_alpha = "'.$aso_valeurs['gs_code_alpha'].'", '.
986
                'gs_nom = "'.$aso_valeurs['gs_nom'].'", '.
1008
                'gs_nom = "'.$aso_valeurs['gs_nom'].'", '.
987
                'gs_raccourci_clavier = "'.$aso_valeurs['gs_raccourci_clavier'].'", '.
1009
                'gs_raccourci_clavier = "'.$aso_valeurs['gs_raccourci_clavier'].'", '.
988
                'gs_titre = "'.$aso_valeurs['gs_titre'].'", '.
1010
                'gs_titre = "'.$aso_valeurs['gs_titre'].'", '.
989
                'gs_mots_cles = "'.$aso_valeurs['gs_mots_cles'].'", '.
1011
                'gs_mots_cles = "'.$aso_valeurs['gs_mots_cles'].'", '.
990
                'gs_description = "'.$aso_valeurs['gs_description'].'", '.
1012
                'gs_description = "'.$aso_valeurs['gs_description'].'", '.
991
                'gs_auteur = "'.$aso_valeurs['gs_auteur'].'", '.
1013
                'gs_auteur = "'.$aso_valeurs['gs_auteur'].'", '.
992
                'gs_date_creation = "'.date('Y-m-d H:i:s').'", '.
1014
                'gs_date_creation = "'.date('Y-m-d H:i:s').'", '.
993
                'gs_ce_admin = '.$id_admin.
1015
                'gs_ce_admin = '.$id_admin.
994
                $requete_complement;
1016
                $requete_complement;
995
    $resultat = $db->query($requete);
1017
    $resultat = $db->query($requete);
996
    if (DB::isError($resultat)) {
1018
    if (DB::isError($resultat)) {
997
        die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
1019
        die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
998
    }
1020
    }
999
    
1021
    
1000
    // Recherche du nouveau numéro d'ordre de ce site "principal" ou "externe"
1022
    // Recherche du nouveau numéro d'ordre de ce site "principal" ou "externe"
1001
    $requete =  'SELECT MAX(gsr_ordre) AS max_ordre '.
1023
    $requete =  'SELECT MAX(gsr_ordre) AS max_ordre '.
1002
                'FROM gen_site_relation '.
1024
                'FROM gen_site_relation '.
1003
                'WHERE gsr_id_site_01 = gsr_id_site_02 '.
1025
                'WHERE gsr_id_site_01 = gsr_id_site_02 '.
1004
                'AND gsr_id_valeur IN (102, 103) ';// 102 = site "principal" et 103 = site "externe"
1026
                'AND gsr_id_valeur IN (102, 103) ';// 102 = site "principal" et 103 = site "externe"
1005
    $resultat = $db->query($requete) ;
1027
    $resultat = $db->query($requete) ;
1006
    if (DB::isError($resultat)) {
1028
    if (DB::isError($resultat)) {
1007
        die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
1029
        die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
1008
    }
1030
    }
1009
    $ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
1031
    $ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
1010
    $nouvel_ordre = $ligne->max_ordre + 1;
1032
    $nouvel_ordre = $ligne->max_ordre + 1;
1011
    
1033
    
1012
    // Requete d'insertion des relations dans gen_site_relation
1034
    // Requete d'insertion des relations dans gen_site_relation
1013
    $requete =  'INSERT INTO gen_site_relation '.
1035
    $requete =  'INSERT INTO gen_site_relation '.
1014
                'SET gsr_id_site_01 = '.$id_site.', '.
1036
                'SET gsr_id_site_01 = '.$id_site.', '.
1015
                'gsr_id_site_02 = '.$id_site.', '.
1037
                'gsr_id_site_02 = '.$id_site.', '.
1016
                'gsr_id_valeur = '.$id_type_site.', '.
1038
                'gsr_id_valeur = '.$id_type_site.', '.
1017
                'gsr_ordre = '.$nouvel_ordre;
1039
                'gsr_ordre = '.$nouvel_ordre;
1018
    $resultat = $db->query($requete);
1040
    $resultat = $db->query($requete);
1019
    if (DB::isError($resultat)) {
1041
    if (DB::isError($resultat)) {
1020
        die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
1042
        die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
1021
    }
1043
    }
1022
    
1044
    
1023
    // Gestion du site par défaut
1045
    // Gestion du site par défaut
1024
    if (isset($aso_valeurs['defaut']) && $aso_valeurs['defaut'] == 1) {
1046
    if (isset($aso_valeurs['defaut']) && $aso_valeurs['defaut'] == 1) {
1025
        $requete_supr_defaut =  'DELETE FROM gen_site_relation '.
1047
        $requete_supr_defaut =  'DELETE FROM gen_site_relation '.
1026
                                'WHERE gsr_id_site_01 = gsr_id_site_02 '.
1048
                                'WHERE gsr_id_site_01 = gsr_id_site_02 '.
1027
                                'AND gsr_id_valeur = 101 ';// 101 = site par "defaut"
1049
                                'AND gsr_id_valeur = 101 ';// 101 = site par "defaut"
1028
        $resultat_supr_defaut = $db->query($requete_supr_defaut);
1050
        $resultat_supr_defaut = $db->query($requete_supr_defaut);
1029
        if (DB::isError($resultat_supr_defaut)) {
1051
        if (DB::isError($resultat_supr_defaut)) {
1030
            die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_supr_defaut->getMessage(), $requete_supr_defaut));
1052
            die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_supr_defaut->getMessage(), $requete_supr_defaut));
1031
        }
1053
        }
1032
        
1054
        
1033
        // Requete d'insertion de la relations site par défaut
1055
        // Requete d'insertion de la relations site par défaut
1034
        $requete =  'INSERT INTO gen_site_relation '.
1056
        $requete =  'INSERT INTO gen_site_relation '.
1035
                    'SET gsr_id_site_01 = '.$id_site.', '.
1057
                    'SET gsr_id_site_01 = '.$id_site.', '.
1036
                    'gsr_id_site_02 = '.$id_site.', '.
1058
                    'gsr_id_site_02 = '.$id_site.', '.
1037
                    'gsr_id_valeur = 101, '.
1059
                    'gsr_id_valeur = 101, '.
1038
                    'gsr_ordre = NULL ';
1060
                    'gsr_ordre = NULL ';
1039
        $resultat = $db->query($requete);
1061
        $resultat = $db->query($requete);
1040
        if (DB::isError($resultat)) {
1062
        if (DB::isError($resultat)) {
1041
            die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
1063
            die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
1042
        }
1064
        }
1043
    }
1065
    }
1044
    
1066
    
1045
    // Gestion des sites externes
1067
    // Gestion des sites externes
1046
    if ($id_type_site == '103') {
1068
    if ($id_type_site == '103') {
1047
        // Requete d'insertion des relations dans gen_site_relation
1069
        // Requete d'insertion des relations dans gen_site_relation
1048
        $requete =  'INSERT INTO gen_site_relation '.
1070
        $requete =  'INSERT INTO gen_site_relation '.
1049
                    'SET gsr_id_site_01 = '.$id_site.', '.
1071
                    'SET gsr_id_site_01 = '.$id_site.', '.
1050
                    'gsr_id_site_02 = '.$id_site.', '.
1072
                    'gsr_id_site_02 = '.$id_site.', '.
1051
                    'gsr_id_valeur = '.$aso_valeurs['type_site_externe'].', '.
1073
                    'gsr_id_valeur = '.$aso_valeurs['type_site_externe'].', '.
1052
                    'gsr_ordre = NULL ';
1074
                    'gsr_ordre = NULL ';
1053
        $resultat = $db->query($requete);
1075
        $resultat = $db->query($requete);
1054
        if (DB::isError($resultat)) {
1076
        if (DB::isError($resultat)) {
1055
            die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
1077
            die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
1056
        }
1078
        }
1057
    }
1079
    }
1058
    
1080
    
1059
    $message = '<p class="pap_info">'.'Succés de l\'ajout du site.'.'</p>';
1081
    $message = '<p class="pap_info">'.'Succés de l\'ajout du site.'.'</p>';
1060
    return $message;
1082
    return $message;
1061
}
1083
}
1062
 
1084
 
1063
/** Fonction ADMIN_traduireSite() - Traduire un site papyrus
1085
/** Fonction ADMIN_traduireSite() - Traduire un site papyrus
1064
*
1086
*
1065
* Cette fonction traduit un site à Papyrus, c'est à dire :
1087
* Cette fonction traduit un site à Papyrus, c'est à dire :
1066
* - 1. Création des répertoire du projet en fonction du nom et des sous-répertoires.
1088
* - 1. Création des répertoire du projet en fonction du nom et des sous-répertoires.
1067
* - 2. Insertion d'une ligne dans la table "gen_site".
1089
* - 2. Insertion d'une ligne dans la table "gen_site".
1068
* - 3. Insertion d'une ligne dans la table "gen_site_auth" et ses tables liées si nécessaire.
1090
* - 3. Insertion d'une ligne dans la table "gen_site_auth" et ses tables liées si nécessaire.
1069
*
1091
*
1070
* @param  string   l'objet pear de connexion à la base de données.
1092
* @param  string   l'objet pear de connexion à la base de données.
1071
* @param  string   le tableau contenant les valeurs du formulaire.
1093
* @param  string   le tableau contenant les valeurs du formulaire.
1072
* @param  int      identifiant de l'administrateur réalisant cette création.
1094
* @param  int      identifiant de l'administrateur réalisant cette création.
1073
* @return string retourne un message en cas de succès ou d'échec.
1095
* @return string retourne un message en cas de succès ou d'échec.
1074
*/
1096
*/
1075
function ADMIN_traduireSite(&$db, $aso_valeurs, $id_admin)
1097
function ADMIN_traduireSite(&$db, $aso_valeurs, $id_admin)
1076
{
1098
{
1077
    // Nous vérifions si nous avons à faire à un site externe.
1099
    // Nous vérifions si nous avons à faire à un site externe.
1078
    $id_type_site = '102';// par défaut on considére que c'est un site "principal"
1100
    $id_type_site = '102';// par défaut on considére que c'est un site "principal"
1079
    if (isset($aso_valeurs['type_site_externe']) && $aso_valeurs['type_site_externe'] > 0 && !empty($aso_valeurs['gs_url']) && $aso_valeurs['gs_url'] != 'http://') {
1101
    if (isset($aso_valeurs['type_site_externe']) && $aso_valeurs['type_site_externe'] > 0 && !empty($aso_valeurs['gs_url']) && $aso_valeurs['gs_url'] != 'http://') {
1080
        $id_type_site = '103';// c'est un site "externe"
1102
        $id_type_site = '103';// c'est un site "externe"
1081
    }
1103
    }
1082
    
1104
    
1083
    // Ajout des répertoires des sites "principaux" soit par manipulation de fichier soit par FTP en fonction de la constante définie
1105
    // Ajout des répertoires des sites "principaux" soit par manipulation de fichier soit par FTP en fonction de la constante définie
1084
    // par l'utilisateur dans le fichier de config avancée.
1106
    // par l'utilisateur dans le fichier de config avancée.
1085
    $tab_rep_langue = array(GEN_DOSSIER_GENERIQUE, $aso_valeurs['gs_ce_i18n']);
1107
    $tab_rep_langue = array(GEN_DOSSIER_GENERIQUE, $aso_valeurs['gs_ce_i18n']);
1086
    $tab_rep_site = array(  GEN_DOSSIER_IMAGE,
1108
    $tab_rep_site = array(  GEN_DOSSIER_IMAGE,
1087
                            GEN_DOSSIER_STYLE,
1109
                            GEN_DOSSIER_STYLE,
1088
                            GEN_DOSSIER_SCRIPT,
1110
                            GEN_DOSSIER_SCRIPT,
1089
                            GEN_DOSSIER_SQUELETTE,
1111
                            GEN_DOSSIER_SQUELETTE,
1090
                            GEN_DOSSIER_DOC);
1112
                            GEN_DOSSIER_DOC);
1091
    if (!GEN_FTP_UTILISE && $id_type_site != '103') {
1113
    if (!GEN_FTP_UTILISE && $id_type_site != '103') {
1092
        foreach ($tab_rep_langue as $nom_rep_langue) {
1114
        foreach ($tab_rep_langue as $nom_rep_langue) {
1093
            foreach ($tab_rep_site as $nom_rep_site) {
1115
            foreach ($tab_rep_site as $nom_rep_site) {
1094
                $chemin_repertoire =    PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.
1116
                $chemin_repertoire =    PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.
1095
                                        $nom_rep_langue.GEN_SEP.$nom_rep_site;
1117
                                        $nom_rep_langue.GEN_SEP.$nom_rep_site;
1096
                $vieux_umask = umask(0);
1118
                $vieux_umask = umask(0);
1097
                $resultat = creerDossier($chemin_repertoire, 0777, GEN_SEP);
1119
                $resultat = creerDossier($chemin_repertoire, 0777, GEN_SEP);
1098
                umask($vieux_umask);
1120
                umask($vieux_umask);
1099
                if ($resultat == false) {
1121
                if ($resultat == false) {
1100
                    $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de créer le répertoire.<br />'.
1122
                    $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de créer le répertoire.<br />'.
1101
                                'Répertoire : '. $chemin_repertoire .'<br />'.
1123
                                'Répertoire : '. $chemin_repertoire .'<br />'.
1102
                                'Ligne n° : '. __LINE__ .'<br />'.
1124
                                'Ligne n° : '. __LINE__ .'<br />'.
1103
                                'Fichier n° : '. __FILE__ .'<br /></p>';
1125
                                'Fichier n° : '. __FILE__ .'<br /></p>';
1104
                    return $message;
1126
                    return $message;
1105
                }
1127
                }
1106
            }
1128
            }
1107
        }
1129
        }
1108
        $chemin_squelette_defaut =  PAP_CHEMIN_RACINE.GEN_CHEMIN_COMMUN.GEN_DOSSIER_GENERIQUE.GEN_SEP.
1130
        $chemin_squelette_defaut =  PAP_CHEMIN_RACINE.GEN_CHEMIN_COMMUN.GEN_DOSSIER_GENERIQUE.GEN_SEP.
1109
                                    GEN_DOSSIER_SQUELETTE.GEN_SEP.GEN_FICHIER_SQUELETTE;
1131
                                    GEN_DOSSIER_SQUELETTE.GEN_SEP.GEN_FICHIER_SQUELETTE;
1110
        $chemin_squelette_site =    PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.
1132
        $chemin_squelette_site =    PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.
1111
                                    $aso_valeurs['gs_ce_i18n'].GEN_SEP.GEN_DOSSIER_SQUELETTE.GEN_SEP.GEN_FICHIER_SQUELETTE;
1133
                                    $aso_valeurs['gs_ce_i18n'].GEN_SEP.GEN_DOSSIER_SQUELETTE.GEN_SEP.GEN_FICHIER_SQUELETTE;
1112
        if (!copy($chemin_squelette_defaut, $chemin_squelette_site)) {
1134
        if (!copy($chemin_squelette_defaut, $chemin_squelette_site)) {
1113
            $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de créer le fichier de squellete par défaut.<br />'.
1135
            $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de créer le fichier de squellete par défaut.<br />'.
1114
                        'Fichier : '. $chemin_squelette_site .'<br />'.
1136
                        'Fichier : '. $chemin_squelette_site .'<br />'.
1115
                        'Ligne n° : '. __LINE__ .'<br />'.
1137
                        'Ligne n° : '. __LINE__ .'<br />'.
1116
                        'Fichier n° : '. __FILE__ .'<br /></p>';
1138
                        'Fichier n° : '. __FILE__ .'<br /></p>';
1117
            return $message;
1139
            return $message;
1118
        }
1140
        }
1119
        $chemin_style_defaut =  PAP_CHEMIN_RACINE.GEN_CHEMIN_COMMUN.GEN_DOSSIER_GENERIQUE.GEN_SEP.
1141
        $chemin_style_defaut =  PAP_CHEMIN_RACINE.GEN_CHEMIN_COMMUN.GEN_DOSSIER_GENERIQUE.GEN_SEP.
1120
                                GEN_DOSSIER_STYLE.GEN_SEP.GEN_FICHIER_STYLE;
1142
                                GEN_DOSSIER_STYLE.GEN_SEP.GEN_FICHIER_STYLE;
1121
        $chemin_style_site =    PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.
1143
        $chemin_style_site =    PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.
1122
                                $aso_valeurs['gs_ce_i18n'].GEN_SEP.GEN_DOSSIER_STYLE.GEN_SEP.GEN_FICHIER_STYLE;
1144
                                $aso_valeurs['gs_ce_i18n'].GEN_SEP.GEN_DOSSIER_STYLE.GEN_SEP.GEN_FICHIER_STYLE;
1123
        if (!copy($chemin_style_defaut, $chemin_style_site)) {
1145
        if (!copy($chemin_style_defaut, $chemin_style_site)) {
1124
            $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de créer le fichier de style par défaut.<br />'.
1146
            $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de créer le fichier de style par défaut.<br />'.
1125
                        'Fichier : '. $chemin_style_site .'<br />'.
1147
                        'Fichier : '. $chemin_style_site .'<br />'.
1126
                        'Ligne n° : '. __LINE__ .'<br />'.
1148
                        'Ligne n° : '. __LINE__ .'<br />'.
1127
                        'Fichier n° : '. __FILE__ .'<br /></p>';
1149
                        'Fichier n° : '. __FILE__ .'<br /></p>';
1128
            return $message;
1150
            return $message;
1129
        }
1151
        }
1130
    } else if (GEN_FTP_UTILISE && $id_type_site != '103') {  // 103 est le type "site externe"
1152
    } else if (GEN_FTP_UTILISE && $id_type_site != '103') {  // 103 est le type "site externe"
1131
        // Création d'une connection ftp avec Net_FTP de PEAR
1153
        // Création d'une connection ftp avec Net_FTP de PEAR
1132
        // voir http://pear.php.net/manual/fr/package.networking.net-ftp.php
1154
        // voir http://pear.php.net/manual/fr/package.networking.net-ftp.php
1133
        
1155
        
1134
        // création de l'objet pear ftp
1156
        // création de l'objet pear ftp
1135
        $objet_pear_ftp = new Net_FTP(PAP_FTP_SERVEUR, PAP_FTP_PORT);
1157
        $objet_pear_ftp = new Net_FTP(PAP_FTP_SERVEUR, PAP_FTP_PORT);
1136
        // création de la connexion
1158
        // création de la connexion
1137
        $ftp_conn = $objet_pear_ftp->connect(PAP_FTP_SERVEUR, PAP_FTP_PORT);
1159
        $ftp_conn = $objet_pear_ftp->connect(PAP_FTP_SERVEUR, PAP_FTP_PORT);
1138
        // identification
1160
        // identification
1139
        $ftp_login_result = $objet_pear_ftp->login(PAP_FTP_UTILISATEUR, PAP_FTP_MOT_DE_PASSE);
1161
        $ftp_login_result = $objet_pear_ftp->login(PAP_FTP_UTILISATEUR, PAP_FTP_MOT_DE_PASSE);
1140
        // Gestion des erreurs ftp
1162
        // Gestion des erreurs ftp
1141
        if ((PEAR::isError($ftp_conn) || PEAR::isError($ftp_login_result))) {
1163
        if ((PEAR::isError($ftp_conn) || PEAR::isError($ftp_login_result))) {
1142
            $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de se connecter par ftp.<br />'.
1164
            $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de se connecter par ftp.<br />'.
1143
                        'Serveur : '. PAP_FTP_SERVEUR .'<br />'.
1165
                        'Serveur : '. PAP_FTP_SERVEUR .'<br />'.
1144
                        'Utilisateur : '. PAP_FTP_UTILISATEUR .'<br />'.
1166
                        'Utilisateur : '. PAP_FTP_UTILISATEUR .'<br />'.
1145
                        'Erreur connexion : '.$ftp_conn->getMessage().'<br />'.
1167
                        'Erreur connexion : '.$ftp_conn->getMessage().'<br />'.
1146
                        'Erreur login : '.$ftp_login_result->getMessage().'<br />'.
1168
                        'Erreur login : '.$ftp_login_result->getMessage().'<br />'.
1147
                        'Ligne n° : '. __LINE__ .'<br />'.
1169
                        'Ligne n° : '. __LINE__ .'<br />'.
1148
                        'Fichier n° : '. __FILE__ .'<br /><p>';
1170
                        'Fichier n° : '. __FILE__ .'<br /><p>';
1149
            return $message;
1171
            return $message;
1150
        }
1172
        }
1151
        $objet_pear_ftp->mkdir(PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha']) ;
1173
        $objet_pear_ftp->mkdir(PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha']) ;
1152
        
1174
        
1153
        //$objet_pear_ftp->cd(PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha']) ;
1175
        //$objet_pear_ftp->cd(PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha']) ;
1154
        foreach ($tab_rep_langue as $nom_rep_langue) {
1176
        foreach ($tab_rep_langue as $nom_rep_langue) {
1155
            $objet_pear_ftp->mkdir(PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.$nom_rep_langue) ;
1177
            $objet_pear_ftp->mkdir(PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.$nom_rep_langue) ;
1156
            foreach ($tab_rep_site as $nom_rep_site) {
1178
            foreach ($tab_rep_site as $nom_rep_site) {
1157
                $chemin_repertoire =    PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.$nom_rep_langue.GEN_SEP.$nom_rep_site;
1179
                $chemin_repertoire =    PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.$nom_rep_langue.GEN_SEP.$nom_rep_site;
1158
                
1180
                
1159
                $resultat = $objet_pear_ftp->mkdir($chemin_repertoire) ;
1181
                $resultat = $objet_pear_ftp->mkdir($chemin_repertoire) ;
1160
                if (PEAR::isError($resultat)) {
1182
                if (PEAR::isError($resultat)) {
1161
                    $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de créer le répertoire par ftp.<br />'.
1183
                    $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de créer le répertoire par ftp.<br />'.
1162
                                'Répertoire : '. $chemin_repertoire .'<br />'.
1184
                                'Répertoire : '. $chemin_repertoire .'<br />'.
1163
                                'Erreur origine : '. $resultat->getMessage() .'<br />'.
1185
                                'Erreur origine : '. $resultat->getMessage() .'<br />'.
1164
                                'Ligne n° : '. __LINE__ .'<br />'.
1186
                                'Ligne n° : '. __LINE__ .'<br />'.
1165
                                'Fichier n° : '. __FILE__ .'<br /></p>';
1187
                                'Fichier n° : '. __FILE__ .'<br /></p>';
1166
                    return $message;
1188
                    return $message;
1167
                }
1189
                }
1168
            }
1190
            }
1169
        }
1191
        }
1170
        $chemin_squelette_defaut =  PAP_CHEMIN_RACINE.GEN_CHEMIN_COMMUN.GEN_DOSSIER_GENERIQUE.GEN_SEP.
1192
        $chemin_squelette_defaut =  PAP_CHEMIN_RACINE.GEN_CHEMIN_COMMUN.GEN_DOSSIER_GENERIQUE.GEN_SEP.
1171
                                    GEN_DOSSIER_SQUELETTE.GEN_SEP.GEN_FICHIER_SQUELETTE;
1193
                                    GEN_DOSSIER_SQUELETTE.GEN_SEP.GEN_FICHIER_SQUELETTE;
1172
        $chemin_squelette_site =    PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.
1194
        $chemin_squelette_site =    PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.
1173
                                    $aso_valeurs['gs_ce_i18n'].GEN_SEP.GEN_DOSSIER_SQUELETTE.GEN_SEP.GEN_FICHIER_SQUELETTE;
1195
                                    $aso_valeurs['gs_ce_i18n'].GEN_SEP.GEN_DOSSIER_SQUELETTE.GEN_SEP.GEN_FICHIER_SQUELETTE;
1174
        $resultat = $objet_pear_ftp->put($chemin_squelette_defaut, $chemin_squelette_site, true, FTP_BINARY);
1196
        $resultat = $objet_pear_ftp->put($chemin_squelette_defaut, $chemin_squelette_site, true, FTP_BINARY);
1175
        if (PEAR::isError($resultat)) {
1197
        if (PEAR::isError($resultat)) {
1176
            $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de copier le squelette defaut par ftp.<br />'.
1198
            $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de copier le squelette defaut par ftp.<br />'.
1177
                        'Fichier origine : '. $chemin_squelette_defaut .'<br />'.
1199
                        'Fichier origine : '. $chemin_squelette_defaut .'<br />'.
1178
                        'Fichier copié : '. $chemin_squelette_site .'<br />'.
1200
                        'Fichier copié : '. $chemin_squelette_site .'<br />'.
1179
                        'Erreur origine : '. $resultat->getMessage() .'<br />'.
1201
                        'Erreur origine : '. $resultat->getMessage() .'<br />'.
1180
                        'Ligne n° : '. __LINE__ .'<br />'.
1202
                        'Ligne n° : '. __LINE__ .'<br />'.
1181
                        'Fichier n° : '. __FILE__ .'<br /></p>';
1203
                        'Fichier n° : '. __FILE__ .'<br /></p>';
1182
                return $message;
1204
                return $message;
1183
        }
1205
        }
1184
        $chemin_style_defaut =  PAP_CHEMIN_RACINE.GEN_CHEMIN_COMMUN.GEN_DOSSIER_GENERIQUE.GEN_SEP.
1206
        $chemin_style_defaut =  PAP_CHEMIN_RACINE.GEN_CHEMIN_COMMUN.GEN_DOSSIER_GENERIQUE.GEN_SEP.
1185
                                GEN_DOSSIER_STYLE.GEN_SEP.GEN_FICHIER_STYLE;
1207
                                GEN_DOSSIER_STYLE.GEN_SEP.GEN_FICHIER_STYLE;
1186
        $chemin_style_site =    PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.
1208
        $chemin_style_site =    PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.
1187
                                $aso_valeurs['gs_ce_i18n'].GEN_SEP.GEN_DOSSIER_STYLE.GEN_SEP.GEN_FICHIER_STYLE;
1209
                                $aso_valeurs['gs_ce_i18n'].GEN_SEP.GEN_DOSSIER_STYLE.GEN_SEP.GEN_FICHIER_STYLE;
1188
        $resultat = $objet_pear_ftp->put($chemin_style_defaut, $chemin_style_site, true, FTP_BINARY);
1210
        $resultat = $objet_pear_ftp->put($chemin_style_defaut, $chemin_style_site, true, FTP_BINARY);
1189
        if (PEAR::isError($resultat)) {
1211
        if (PEAR::isError($resultat)) {
1190
            $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de copier les styles defaut par ftp.<br />'.
1212
            $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de copier les styles defaut par ftp.<br />'.
1191
                        'Fichier origine : '. $chemin_style_defaut .'<br />'.
1213
                        'Fichier origine : '. $chemin_style_defaut .'<br />'.
1192
                        'Fichier copié : '. $chemin_style_site .'<br />'.
1214
                        'Fichier copié : '. $chemin_style_site .'<br />'.
1193
                        'Erreur origine : '. $resultat->getMessage() .'<br />'.
1215
                        'Erreur origine : '. $resultat->getMessage() .'<br />'.
1194
                        'Ligne n° : '. __LINE__ .'<br />'.
1216
                        'Ligne n° : '. __LINE__ .'<br />'.
1195
                        'Fichier n° : '. __FILE__ .'<br /></p>';
1217
                        'Fichier n° : '. __FILE__ .'<br /></p>';
1196
                return $message;
1218
                return $message;
1197
        }
1219
        }
1198
        $objet_pear_ftp->disconnect();
1220
        $objet_pear_ftp->disconnect();
1199
    }
1221
    }
1200
    
1222
    
1201
    $id_site = SQL_obtenirNouveauId($db, 'gen_site','gs_id_site');
1223
    $id_site = SQL_obtenirNouveauId($db, 'gen_site','gs_id_site');
1202
    
1224
    
1203
    if ($id_site == false) {
1225
    if ($id_site == false) {
1204
        $message = '<p class="erreur"> ERREUR Génésia admin : impossible de récupérer un identifiant pour la table gen_site.<br />'.
1226
        $message = '<p class="erreur"> ERREUR Génésia admin : impossible de récupérer un identifiant pour la table gen_site.<br />'.
1205
                    'Ligne n° : '. __LINE__ .'<br />'.
1227
                    'Ligne n° : '. __LINE__ .'<br />'.
1206
                    'Fichier n° : '. __FILE__ .'<br /></p>';
1228
                    'Fichier n° : '. __FILE__ .'<br /></p>';
1207
        return $message;
1229
        return $message;
1208
    }
1230
    }
1209
    
1231
    
1210
    // Modification de la requete si nous avons à faire à un site externe.
1232
    // Modification de la requete si nous avons à faire à un site externe.
1211
    $requete_complement = ', gs_url = NULL';
1233
    $requete_complement = ', gs_url = NULL';
1212
    if (isset($aso_valeurs['type_site_externe']) && $aso_valeurs['type_site_externe'] > 0 && !empty($aso_valeurs['gs_url']) && $aso_valeurs['gs_url'] != 'http://') {
1234
    if (isset($aso_valeurs['type_site_externe']) && $aso_valeurs['type_site_externe'] > 0 && !empty($aso_valeurs['gs_url']) && $aso_valeurs['gs_url'] != 'http://') {
1213
        $requete_complement = ', gs_url = "'.$aso_valeurs['gs_url'].'"';
1235
        $requete_complement = ', gs_url = "'.$aso_valeurs['gs_url'].'"';
1214
    }
1236
    }
1215
    
1237
    
1216
    // Requete d'insertion des infos d'un site dans gen_site
1238
    // Requete d'insertion des infos d'un site dans gen_site
1217
    $requete =  'INSERT INTO gen_site '.
1239
    $requete =  'INSERT INTO gen_site '.
1218
                'SET gs_id_site = '.$id_site.', '.
1240
                'SET gs_id_site = '.$id_site.', '.
1219
                'gs_ce_i18n = "'.$aso_valeurs['gs_ce_i18n'].'", '.
1241
                'gs_ce_i18n = "'.$aso_valeurs['gs_ce_i18n'].'", '.
1220
                'gs_ce_auth = '.$aso_valeurs['gs_ce_auth'].', '.
1242
                'gs_ce_auth = '.$aso_valeurs['gs_ce_auth'].', '.
1221
                'gs_fichier_squelette = "defaut.html", '.
1243
                'gs_fichier_squelette = "defaut.html", '.
1222
                'gs_code_num = '.$aso_valeurs['gs_code_num'].', '.
1244
                'gs_code_num = '.$aso_valeurs['gs_code_num'].', '.
1223
                'gs_code_alpha = "'.$aso_valeurs['gs_code_alpha'].'", '.
1245
                'gs_code_alpha = "'.$aso_valeurs['gs_code_alpha'].'", '.
1224
                'gs_nom = "'.$aso_valeurs['gs_nom'].'", '.
1246
                'gs_nom = "'.$aso_valeurs['gs_nom'].'", '.
1225
                'gs_raccourci_clavier = "'.$aso_valeurs['gs_raccourci_clavier'].'", '.
1247
                'gs_raccourci_clavier = "'.$aso_valeurs['gs_raccourci_clavier'].'", '.
1226
                'gs_titre = "'.$aso_valeurs['gs_titre'].'", '.
1248
                'gs_titre = "'.$aso_valeurs['gs_titre'].'", '.
1227
                'gs_mots_cles = "'.$aso_valeurs['gs_mots_cles'].'", '.
1249
                'gs_mots_cles = "'.$aso_valeurs['gs_mots_cles'].'", '.
1228
                'gs_description = "'.$aso_valeurs['gs_description'].'", '.
1250
                'gs_description = "'.$aso_valeurs['gs_description'].'", '.
1229
                'gs_auteur = "'.$aso_valeurs['gs_auteur'].'", '.
1251
                'gs_auteur = "'.$aso_valeurs['gs_auteur'].'", '.
1230
                'gs_date_creation = "'.date('Y-m-d H:i:s').'", '.
1252
                'gs_date_creation = "'.date('Y-m-d H:i:s').'", '.
1231
                'gs_ce_admin = '.$id_admin.
1253
                'gs_ce_admin = '.$id_admin.
1232
                $requete_complement;
1254
                $requete_complement;
1233
    $resultat = $db->query($requete);
1255
    $resultat = $db->query($requete);
1234
    if (DB::isError($resultat)) {
1256
    if (DB::isError($resultat)) {
1235
        die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
1257
        die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
1236
    }
1258
    }
1237
    
1259
    
1238
    // Recherche du nouveau numéro d'ordre de ce site "principal" ou "externe"
1260
    // Recherche du nouveau numéro d'ordre de ce site "principal" ou "externe"
1239
    $requete =  'SELECT MAX(gsr_ordre) AS max_ordre '.
1261
    $requete =  'SELECT MAX(gsr_ordre) AS max_ordre '.
1240
                'FROM gen_site_relation '.
1262
                'FROM gen_site_relation '.
1241
                'WHERE gsr_id_site_01 = gsr_id_site_02 '.
1263
                'WHERE gsr_id_site_01 = gsr_id_site_02 '.
1242
                'AND gsr_id_valeur IN (102, 103) ';// 102 = site "principal" et 103 = site "externe"
1264
                'AND gsr_id_valeur IN (102, 103) ';// 102 = site "principal" et 103 = site "externe"
1243
    $resultat = $db->query($requete) ;
1265
    $resultat = $db->query($requete) ;
1244
    if (DB::isError($resultat)) {
1266
    if (DB::isError($resultat)) {
1245
        die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
1267
        die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
1246
    }
1268
    }
1247
    $ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
1269
    $ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
1248
    $nouvel_ordre = $ligne->max_ordre + 1;
1270
    $nouvel_ordre = $ligne->max_ordre + 1;
1249
    
1271
    
1250
    // Requete d'insertion des relations dans gen_site_relation
1272
    // Requete d'insertion des relations dans gen_site_relation
1251
    
1273
    
1252
    $requete =  'INSERT INTO gen_site_relation '.
1274
    $requete =  'INSERT INTO gen_site_relation '.
1253
                'SET gsr_id_site_01 = '.$id_site.', '.
1275
                'SET gsr_id_site_01 = '.$id_site.', '.
1254
                'gsr_id_site_02 = '.$id_site.', '.
1276
                'gsr_id_site_02 = '.$id_site.', '.
1255
                'gsr_id_valeur = '.$id_type_site.', '.
1277
                'gsr_id_valeur = '.$id_type_site.', '.
1256
                'gsr_ordre = '.$nouvel_ordre;
1278
                'gsr_ordre = '.$nouvel_ordre;
1257
    $resultat = $db->query($requete);
1279
    $resultat = $db->query($requete);
1258
    if (DB::isError($resultat)) {
1280
    if (DB::isError($resultat)) {
1259
        die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
1281
        die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
1260
    }
1282
    }
1261
    
1283
    
1262
    // Traduction : Requete d'insertion des relations dans gen_site_relation
1284
    // Traduction : Requete d'insertion des relations dans gen_site_relation
1263
 
1285
 
1264
    $requete =  'SELECT MAX(gsr_ordre) AS max_ordre '.
1286
    $requete =  'SELECT MAX(gsr_ordre) AS max_ordre '.
1265
                'FROM gen_site_relation '.
1287
                'FROM gen_site_relation '.
1266
                'WHERE gsr_id_site_01 = ' .$aso_valeurs['gs_id_site'] .' '.
1288
                'WHERE gsr_id_site_01 = ' .$aso_valeurs['gs_id_site'] .' '.
1267
                'AND gsr_id_valeur =1  '; // 1 = "avoir traduction"
1289
                'AND gsr_id_valeur =1  '; // 1 = "avoir traduction"
1268
    $resultat = $db->query($requete) ;
1290
    $resultat = $db->query($requete) ;
1269
    if (DB::isError($resultat)) {
1291
    if (DB::isError($resultat)) {
1270
        die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
1292
        die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
1271
    }
1293
    }
1272
    if ( $resultat->numRows() == 0 ) {
1294
    if ( $resultat->numRows() == 0 ) {
1273
	      $nouvel_ordre = 1;
1295
	      $nouvel_ordre = 1;
1274
    }
1296
    }
1275
    else {
1297
    else {
1276
    	$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
1298
    	$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
1277
    	$nouvel_ordre = $ligne->max_ordre + 1;
1299
    	$nouvel_ordre = $ligne->max_ordre + 1;
1278
    }
1300
    }
1279
 
1301
 
1280
    // 1 : insertion information traduction pere (si inexistant)
1302
    // 1 : insertion information traduction pere (si inexistant)
1281
    
1303
    
1282
    $requete =  'SELECT * '.
1304
    $requete =  'SELECT * '.
1283
                'FROM gen_site_relation '.
1305
                'FROM gen_site_relation '.
1284
                'WHERE gsr_id_site_01 = ' .$aso_valeurs['gs_id_site'] .' '.
1306
                'WHERE gsr_id_site_01 = ' .$aso_valeurs['gs_id_site'] .' '.
1285
                'AND gsr_id_site_01 = gsr_id_site_02 '.
1307
                'AND gsr_id_site_01 = gsr_id_site_02 '.
1286
                'AND gsr_id_valeur =1  '; // 1 = "avoir traduction"
1308
                'AND gsr_id_valeur =1  '; // 1 = "avoir traduction"
1287
                
1309
                
1288
    $resultat = $db->query($requete) ;
1310
    $resultat = $db->query($requete) ;
1289
    if (DB::isError($resultat)) {
1311
    if (DB::isError($resultat)) {
1290
        die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
1312
        die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
1291
    }
1313
    }
1292
    if ( $resultat->numRows() == 0 ) {
1314
    if ( $resultat->numRows() == 0 ) {
1293
    
1315
    
1294
		$requete =  'INSERT INTO gen_site_relation '.
1316
		$requete =  'INSERT INTO gen_site_relation '.
1295
		            'SET gsr_id_site_01 = '. $aso_valeurs['gs_id_site'].', '.
1317
		            'SET gsr_id_site_01 = '. $aso_valeurs['gs_id_site'].', '.
1296
		            'gsr_id_site_02 = '.$aso_valeurs['gs_id_site'].', '.
1318
		            'gsr_id_site_02 = '.$aso_valeurs['gs_id_site'].', '.
1297
		            'gsr_id_valeur = 1, '. // 1 = "avoir traduction"
1319
		            'gsr_id_valeur = 1, '. // 1 = "avoir traduction"
1298
		            'gsr_ordre = 1 ';
1320
		            'gsr_ordre = 1 ';
1299
		$resultat = $db->query($requete);
1321
		$resultat = $db->query($requete);
1300
		if (DB::isError($resultat)) {
1322
		if (DB::isError($resultat)) {
1301
		    die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
1323
		    die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
1302
		}
1324
		}
1303
		$nouvel_ordre = 2;
1325
		$nouvel_ordre = 2;
1304
    }    
1326
    }    
1305
 
1327
 
1306
 
1328
 
1307
    // 2 : insertion information traduction site en cours (si inexistant ?) (et la mise a jour, c'est ailleurs
1329
    // 2 : insertion information traduction site en cours (si inexistant ?) (et la mise a jour, c'est ailleurs
1308
    // dans les mises à jour
1330
    // dans les mises à jour
1309
    
1331
    
1310
    $requete =  'INSERT INTO gen_site_relation '.
1332
    $requete =  'INSERT INTO gen_site_relation '.
1311
                'SET gsr_id_site_01 = '. $aso_valeurs['gs_id_site'].', '.
1333
                'SET gsr_id_site_01 = '. $aso_valeurs['gs_id_site'].', '.
1312
                'gsr_id_site_02 = '.$id_site.', '.
1334
                'gsr_id_site_02 = '.$id_site.', '.
1313
                'gsr_id_valeur = 1, '. // 1 = "avoir traduction"
1335
                'gsr_id_valeur = 1, '. // 1 = "avoir traduction"
1314
                'gsr_ordre = '.$nouvel_ordre;
1336
                'gsr_ordre = '.$nouvel_ordre;
1315
    $resultat = $db->query($requete);
1337
    $resultat = $db->query($requete);
1316
    if (DB::isError($resultat)) {
1338
    if (DB::isError($resultat)) {
1317
        die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
1339
        die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
1318
    }
1340
    }
1319
        
1341
        
1320
  
1342
  
1321
    // Gestion du site par défaut
1343
    // Gestion du site par défaut
1322
    if (isset($aso_valeurs['defaut']) && $aso_valeurs['defaut'] == 1) {
1344
    if (isset($aso_valeurs['defaut']) && $aso_valeurs['defaut'] == 1) {
1323
        $requete_supr_defaut =  'DELETE FROM gen_site_relation '.
1345
        $requete_supr_defaut =  'DELETE FROM gen_site_relation '.
1324
                                'WHERE gsr_id_site_01 = gsr_id_site_02 '.
1346
                                'WHERE gsr_id_site_01 = gsr_id_site_02 '.
1325
                                'AND gsr_id_valeur = 101 ';// 101 = site par "defaut"
1347
                                'AND gsr_id_valeur = 101 ';// 101 = site par "defaut"
1326
        $resultat_supr_defaut = $db->query($requete_supr_defaut);
1348
        $resultat_supr_defaut = $db->query($requete_supr_defaut);
1327
        if (DB::isError($resultat_supr_defaut)) {
1349
        if (DB::isError($resultat_supr_defaut)) {
1328
            die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_supr_defaut->getMessage(), $requete_supr_defaut));
1350
            die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_supr_defaut->getMessage(), $requete_supr_defaut));
1329
        }
1351
        }
1330
        
1352
        
1331
        // Requete d'insertion de la relations site par défaut
1353
        // Requete d'insertion de la relations site par défaut
1332
        $requete =  'INSERT INTO gen_site_relation '.
1354
        $requete =  'INSERT INTO gen_site_relation '.
1333
                    'SET gsr_id_site_01 = '.$id_site.', '.
1355
                    'SET gsr_id_site_01 = '.$id_site.', '.
1334
                    'gsr_id_site_02 = '.$id_site.', '.
1356
                    'gsr_id_site_02 = '.$id_site.', '.
1335
                    'gsr_id_valeur = 101, '.
1357
                    'gsr_id_valeur = 101, '.
1336
                    'gsr_ordre = NULL ';
1358
                    'gsr_ordre = NULL ';
1337
        $resultat = $db->query($requete);
1359
        $resultat = $db->query($requete);
1338
        if (DB::isError($resultat)) {
1360
        if (DB::isError($resultat)) {
1339
            die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
1361
            die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
1340
        }
1362
        }
1341
    }
1363
    }
1342
    
1364
    
1343
    // Gestion des sites externes
1365
    // Gestion des sites externes
1344
    if ($id_type_site == '103') {
1366
    if ($id_type_site == '103') {
1345
        // Requete d'insertion des relations dans gen_site_relation
1367
        // Requete d'insertion des relations dans gen_site_relation
1346
        $requete =  'INSERT INTO gen_site_relation '.
1368
        $requete =  'INSERT INTO gen_site_relation '.
1347
                    'SET gsr_id_site_01 = '.$id_site.', '.
1369
                    'SET gsr_id_site_01 = '.$id_site.', '.
1348
                    'gsr_id_site_02 = '.$id_site.', '.
1370
                    'gsr_id_site_02 = '.$id_site.', '.
1349
                    'gsr_id_valeur = '.$aso_valeurs['type_site_externe'].', '.
1371
                    'gsr_id_valeur = '.$aso_valeurs['type_site_externe'].', '.
1350
                    'gsr_ordre = NULL ';
1372
                    'gsr_ordre = NULL ';
1351
        $resultat = $db->query($requete);
1373
        $resultat = $db->query($requete);
1352
        if (DB::isError($resultat)) {
1374
        if (DB::isError($resultat)) {
1353
            die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
1375
            die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
1354
        }
1376
        }
1355
    }
1377
    }
1356
    
1378
    
1357
    $message = '<p class="pap_info">'.'Succés de l\'ajout du site.'.'</p>';
1379
    $message = '<p class="pap_info">'.'Succés de l\'ajout du site.'.'</p>';
1358
    return $message;
1380
    return $message;
1359
}
1381
}
1360
 
1382
 
1361
 
1383
 
1362
/** Fonction ADMIN_modifierSite() - Modifie un site de Papyrus.
1384
/** Fonction ADMIN_modifierSite() - Modifie un site de Papyrus.
1363
*
1385
*
1364
* Cette fonction modifie un site géré par Papyrus.
1386
* Cette fonction modifie un site géré par Papyrus.
1365
* Il faudrait aussi pouvoir renomer le dossier du site si le code alpha change.
1387
* Il faudrait aussi pouvoir renomer le dossier du site si le code alpha change.
1366
*
1388
*
1367
* @param  string   l'objet pear de connexion à la base de données.
1389
* @param  string   l'objet pear de connexion à la base de données.
1368
* @param  string   le tableau contenant les valeurs du formulaire.
1390
* @param  string   le tableau contenant les valeurs du formulaire.
1369
* @param  int      identifiant de l'administrateur réalisant cette modification.
1391
* @param  int      identifiant de l'administrateur réalisant cette modification.
1370
* @return string retourne un message en cas de succès ou d'échec.
1392
* @return string retourne un message en cas de succès ou d'échec.
1371
*/
1393
*/
1372
function ADMIN_modifierSite(&$db, $aso_valeurs, $id_admin)
1394
function ADMIN_modifierSite(&$db, $aso_valeurs, $id_admin)
1373
{
1395
{
1374
    // Initialisation de variables
1396
    // Initialisation de variables
1375
    $message_complement = '';
1397
    $message_complement = '';
1376
    
1398
    
1377
    // Récupération de l'ancien code alphanumérique
1399
    // Récupération de l'ancien code alphanumérique
1378
    $requete =  'SELECT gs_code_alpha '.
1400
    $requete =  'SELECT gs_code_alpha '.
1379
                'FROM gen_site '.
1401
                'FROM gen_site '.
1380
                'WHERE gs_id_site = '.$aso_valeurs['gs_id_site'];
1402
                'WHERE gs_id_site = '.$aso_valeurs['gs_id_site'];
1381
    $ancien_code_alphnum = $db->getOne($requete);
1403
    $ancien_code_alphnum = $db->getOne($requete);
1382
    if (DB::isError($ancien_code_alphnum)) {
1404
    if (DB::isError($ancien_code_alphnum)) {
1383
        die( BOG_afficherErreurSql(__FILE__, __LINE__, $ancien_code_alphnum->getMessage(), $requete) );
1405
        die( BOG_afficherErreurSql(__FILE__, __LINE__, $ancien_code_alphnum->getMessage(), $requete) );
1384
    }
1406
    }
1385
    
1407
    
1386
    // Nous vérifions si nous avons à faire à un site externe.
1408
    // Nous vérifions si nous avons à faire à un site externe.
1387
    $id_type_site = '102';// par défaut on conscidére que c'est un site "principal"
1409
    $id_type_site = '102';// par défaut on conscidére que c'est un site "principal"
1388
    $requete_complement = ', gs_url = NULL ';
1410
    $requete_complement = ', gs_url = NULL ';
1389
    if (isset($aso_valeurs['type_site_externe']) && $aso_valeurs['type_site_externe'] > 0 && !empty($aso_valeurs['gs_url']) && $aso_valeurs['gs_url'] != 'http://') {
1411
    if (isset($aso_valeurs['type_site_externe']) && $aso_valeurs['type_site_externe'] > 0 && !empty($aso_valeurs['gs_url']) && $aso_valeurs['gs_url'] != 'http://') {
1390
        $requete_complement = ', gs_url = "'.$aso_valeurs['gs_url'].'" ';
1412
        $requete_complement = ', gs_url = "'.$aso_valeurs['gs_url'].'" ';
1391
        $id_type_site = '103';// c'est un site "externe"
1413
        $id_type_site = '103';// c'est un site "externe"
1392
    }
1414
    }
1393
    
1415
    
1394
    // Si le code alphanumérique à changé et que nous n'avons pas à faire à un site externe.
1416
    // Si le code alphanumérique à changé et que nous n'avons pas à faire à un site externe.
1395
    if ($aso_valeurs['gs_code_alpha'] != $ancien_code_alphnum && $id_type_site != 103) {
1417
    if ($aso_valeurs['gs_code_alpha'] != $ancien_code_alphnum && $id_type_site != 103) {
1396
        if (!GEN_FTP_UTILISE) {
1418
        if (!GEN_FTP_UTILISE) {
1397
            $chemin_site_ancien = PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$ancien_code_alphnum.GEN_SEP;
1419
            $chemin_site_ancien = PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$ancien_code_alphnum.GEN_SEP;
1398
            $chemin_site_nouveau = PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP;
1420
            $chemin_site_nouveau = PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP;
1399
            if (!rename($chemin_site_ancien, $chemin_site_nouveau)) {
1421
            if (!rename($chemin_site_ancien, $chemin_site_nouveau)) {
1400
                $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de changer le nom du dossier du site.<br />'.
1422
                $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de changer le nom du dossier du site.<br />'.
1401
                            'Ancien nom : '. $chemin_site_ancien .'<br />'.
1423
                            'Ancien nom : '. $chemin_site_ancien .'<br />'.
1402
                            'Nouveau nom : '. $chemin_site_nouveau .'<br />'.
1424
                            'Nouveau nom : '. $chemin_site_nouveau .'<br />'.
1403
                            'Ligne n° : '. __LINE__ .'<br />'.
1425
                            'Ligne n° : '. __LINE__ .'<br />'.
1404
                            'Fichier n° : '. __FILE__ .'<br /></p>';
1426
                            'Fichier n° : '. __FILE__ .'<br /></p>';
1405
                return $message;
1427
                return $message;
1406
            }
1428
            }
1407
        } else {
1429
        } else {
1408
            $chemin_site_ancien = PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$ancien_code_alphnum.GEN_SEP;
1430
            $chemin_site_ancien = PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$ancien_code_alphnum.GEN_SEP;
1409
            $chemin_site_nouveau = PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP;
1431
            $chemin_site_nouveau = PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP;
1410
            // Création d'une connection ftp avec Net_FTP de PEAR
1432
            // Création d'une connection ftp avec Net_FTP de PEAR
1411
            // voir http://pear.php.net/manual/fr/package.networking.net-ftp.php
1433
            // voir http://pear.php.net/manual/fr/package.networking.net-ftp.php
1412
            // création de l'objet pear ftp
1434
            // création de l'objet pear ftp
1413
            $objet_pear_ftp = new Net_FTP(PAP_FTP_SERVEUR, PAP_FTP_PORT);
1435
            $objet_pear_ftp = new Net_FTP(PAP_FTP_SERVEUR, PAP_FTP_PORT);
1414
            // création de la connexion
1436
            // création de la connexion
1415
            $ftp_conn = $objet_pear_ftp->connect(PAP_FTP_SERVEUR, PAP_FTP_PORT);
1437
            $ftp_conn = $objet_pear_ftp->connect(PAP_FTP_SERVEUR, PAP_FTP_PORT);
1416
            // identification
1438
            // identification
1417
            $ftp_login_result = $objet_pear_ftp->login(PAP_FTP_UTILISATEUR, PAP_FTP_MOT_DE_PASSE);
1439
            $ftp_login_result = $objet_pear_ftp->login(PAP_FTP_UTILISATEUR, PAP_FTP_MOT_DE_PASSE);
1418
            // Gestion des erreurs ftp
1440
            // Gestion des erreurs ftp
1419
            if ((PEAR::isError($ftp_conn) || PEAR::isError($ftp_login_result))) {
1441
            if ((PEAR::isError($ftp_conn) || PEAR::isError($ftp_login_result))) {
1420
                $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de se connecter par ftp.<br />'.
1442
                $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de se connecter par ftp.<br />'.
1421
                            'Serveur : '. PAP_FTP_SERVEUR .'<br />'.
1443
                            'Serveur : '. PAP_FTP_SERVEUR .'<br />'.
1422
                            'Utilisateur : '. PAP_FTP_UTILISATEUR .'<br />'.
1444
                            'Utilisateur : '. PAP_FTP_UTILISATEUR .'<br />'.
1423
                            'Erreur connexion : '.$ftp_conn->getMessage().'<br />'.
1445
                            'Erreur connexion : '.$ftp_conn->getMessage().'<br />'.
1424
                            'Erreur login : '.$ftp_login_result->getMessage().'<br />'.
1446
                            'Erreur login : '.$ftp_login_result->getMessage().'<br />'.
1425
                            'Ligne n° : '. __LINE__ .'<br />'.
1447
                            'Ligne n° : '. __LINE__ .'<br />'.
1426
                            'Fichier n° : '. __FILE__ .'<br /><p>';
1448
                            'Fichier n° : '. __FILE__ .'<br /><p>';
1427
                return $message;
1449
                return $message;
1428
            }
1450
            }
1429
            $resultat = $objet_pear_ftp->putRecursive($chemin_site_ancien, $chemin_site_nouveau, false, FTP_BINARY);
1451
            $resultat = $objet_pear_ftp->putRecursive($chemin_site_ancien, $chemin_site_nouveau, false, FTP_BINARY);
1430
            if (PEAR::isError($resultat)) {
1452
            if (PEAR::isError($resultat)) {
1431
                $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de copier l\'ancien dossier du site.<br />'.
1453
                $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de copier l\'ancien dossier du site.<br />'.
1432
                            'Dossier site ancien : '. $chemin_site_ancien .'<br />'.
1454
                            'Dossier site ancien : '. $chemin_site_ancien .'<br />'.
1433
                            'Dossier site nouveau : '. $chemin_site_nouveau .'<br />'.
1455
                            'Dossier site nouveau : '. $chemin_site_nouveau .'<br />'.
1434
                            'Erreur origine : '. $resultat->getMessage() .'<br />'.
1456
                            'Erreur origine : '. $resultat->getMessage() .'<br />'.
1435
                            'Ligne n° : '. __LINE__ .'<br />'.
1457
                            'Ligne n° : '. __LINE__ .'<br />'.
1436
                            'Fichier n° : '. __FILE__ .'<br /></p>';
1458
                            'Fichier n° : '. __FILE__ .'<br /></p>';
1437
                    return $message;
1459
                    return $message;
1438
            }
1460
            }
1439
            // On utilise la racine FTP pour rm
1461
            // On utilise la racine FTP pour rm
1440
            $chemin_site_ancien = PAP_FTP_RACINE.GEN_CHEMIN_SITES.$ancien_code_alphnum.GEN_SEP;
1462
            $chemin_site_ancien = PAP_FTP_RACINE.GEN_CHEMIN_SITES.$ancien_code_alphnum.GEN_SEP;
1441
            // Changement du niveau d'erreur pour éviter les Notices PHP dues à Net_FTP
1463
            // Changement du niveau d'erreur pour éviter les Notices PHP dues à Net_FTP
1442
            error_reporting(E_PARSE);
1464
            error_reporting(E_PARSE);
1443
            $resultat = $objet_pear_ftp->rm($chemin_site_ancien, true);
1465
            $resultat = $objet_pear_ftp->rm($chemin_site_ancien, true);
1444
            if (PEAR::isError($resultat)) {
1466
            if (PEAR::isError($resultat)) {
1445
                $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de supprimer l\'ancien dossier du site.<br />'.
1467
                $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de supprimer l\'ancien dossier du site.<br />'.
1446
                            'Dossier site ancien : '. $chemin_site_ancien .'<br />'.
1468
                            'Dossier site ancien : '. $chemin_site_ancien .'<br />'.
1447
                            'Erreur origine : '. $resultat->getMessage() .'<br />'.
1469
                            'Erreur origine : '. $resultat->getMessage() .'<br />'.
1448
                            'Ligne n° : '. __LINE__ .'<br />'.
1470
                            'Ligne n° : '. __LINE__ .'<br />'.
1449
                            'Fichier n° : '. __FILE__ .'<br /></p>';
1471
                            'Fichier n° : '. __FILE__ .'<br /></p>';
1450
                    return $message;
1472
                    return $message;
1451
            }
1473
            }
1452
            // Retour au niveau d'erreur définit dans le fichier de config de Papyrus
1474
            // Retour au niveau d'erreur définit dans le fichier de config de Papyrus
1453
            error_reporting(GEN_DEBOGAGE_NIVEAU);
1475
            error_reporting(GEN_DEBOGAGE_NIVEAU);
1454
            $objet_pear_ftp->disconnect();
1476
            $objet_pear_ftp->disconnect();
1455
        }
1477
        }
1456
    }
1478
    }
1457
    
1479
    
1458
    // Requete de mise à jour des infos d'un site dans gen_site
1480
    // Requete de mise à jour des infos d'un site dans gen_site
1459
    $requete =  'UPDATE gen_site '.
1481
    $requete =  'UPDATE gen_site '.
1460
                'SET gs_ce_i18n = "'.$aso_valeurs['gs_ce_i18n'].'", '.
1482
                'SET gs_ce_i18n = "'.$aso_valeurs['gs_ce_i18n'].'", '.
1461
                'gs_ce_auth = '.$aso_valeurs['gs_ce_auth'].', '.
1483
                'gs_ce_auth = '.$aso_valeurs['gs_ce_auth'].', '.
1462
                'gs_fichier_squelette = "'.$aso_valeurs['gs_fichier_squelette'].'", '.
1484
                'gs_fichier_squelette = "'.$aso_valeurs['gs_fichier_squelette'].'", '.
1463
                'gs_code_num = '.$aso_valeurs['gs_code_num'].', '.
1485
                'gs_code_num = '.$aso_valeurs['gs_code_num'].', '.
1464
                'gs_code_alpha = "'.$aso_valeurs['gs_code_alpha'].'", '.
1486
                'gs_code_alpha = "'.$aso_valeurs['gs_code_alpha'].'", '.
1465
                'gs_nom = "'.$aso_valeurs['gs_nom'].'", '.
1487
                'gs_nom = "'.$aso_valeurs['gs_nom'].'", '.
1466
                'gs_raccourci_clavier = "'.$aso_valeurs['gs_raccourci_clavier'].'", '.
1488
                'gs_raccourci_clavier = "'.$aso_valeurs['gs_raccourci_clavier'].'", '.
1467
                'gs_titre = "'.$aso_valeurs['gs_titre'].'", '.
1489
                'gs_titre = "'.$aso_valeurs['gs_titre'].'", '.
1468
                'gs_mots_cles = "'.$aso_valeurs['gs_mots_cles'].'", '.
1490
                'gs_mots_cles = "'.$aso_valeurs['gs_mots_cles'].'", '.
1469
                'gs_description = "'.$aso_valeurs['gs_description'].'", '.
1491
                'gs_description = "'.$aso_valeurs['gs_description'].'", '.
1470
                'gs_auteur = "'.$aso_valeurs['gs_auteur'].'", '.
1492
                'gs_auteur = "'.$aso_valeurs['gs_auteur'].'", '.
1471
                'gs_date_creation = "'.$aso_valeurs['gs_date_creation'].'", '.
1493
                'gs_date_creation = "'.$aso_valeurs['gs_date_creation'].'", '.
1472
                'gs_ce_admin = '.$id_admin.' '.
1494
                'gs_ce_admin = '.$id_admin.' '.
1473
                $requete_complement.
1495
                $requete_complement.
1474
                'WHERE gs_id_site = '.$aso_valeurs['gs_id_site'];
1496
                'WHERE gs_id_site = '.$aso_valeurs['gs_id_site'];
1475
    $resultat = $db->query($requete) ;
1497
    $resultat = $db->query($requete) ;
1476
    if (DB::isError($resultat)) {
1498
    if (DB::isError($resultat)) {
1477
        die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
1499
        die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
1478
    }
1500
    }
1479
    // Gestion du site externe
1501
    // Gestion du site externe
1480
    if ($id_type_site == 103) {
1502
    if ($id_type_site == 103) {
1481
        // Vérification pour voir si nous avons à faire à une transformation d'un site "principal" en site "externe"
1503
        // Vérification pour voir si nous avons à faire à une transformation d'un site "principal" en site "externe"
1482
        $requete =  'SELECT COUNT(gsr_id_site_01) AS nbre_relation '.
1504
        $requete =  'SELECT COUNT(gsr_id_site_01) AS nbre_relation '.
1483
                    'FROM gen_site_relation '.
1505
                    'FROM gen_site_relation '.
1484
                    'WHERE gsr_id_site_01 = gsr_id_site_02 '.
1506
                    'WHERE gsr_id_site_01 = gsr_id_site_02 '.
1485
                    'AND gsr_id_site_01 = '.$aso_valeurs['gs_id_site'].' '.
1507
                    'AND gsr_id_site_01 = '.$aso_valeurs['gs_id_site'].' '.
1486
                    'AND gsr_id_valeur = 102 ';// 102 = site "principal"
1508
                    'AND gsr_id_valeur = 102 ';// 102 = site "principal"
1487
        $nbre_relation = $db->getOne($requete);
1509
        $nbre_relation = $db->getOne($requete);
1488
        if (DB::isError($nbre_relation)) {
1510
        if (DB::isError($nbre_relation)) {
1489
            die( BOG_afficherErreurSql(__FILE__, __LINE__, $nbre_relation->getMessage(), $requete) );
1511
            die( BOG_afficherErreurSql(__FILE__, __LINE__, $nbre_relation->getMessage(), $requete) );
1490
        }
1512
        }
1491
        
1513
        
1492
        // Nous supprimons l'ancienne relation si nécessaire
1514
        // Nous supprimons l'ancienne relation si nécessaire
1493
        if ($nbre_relation >= 1) {
1515
        if ($nbre_relation >= 1) {
1494
            $requete_supr_ext = 'DELETE FROM gen_site_relation '.
1516
            $requete_supr_ext = 'DELETE FROM gen_site_relation '.
1495
                                'WHERE gsr_id_site_01 = gsr_id_site_02 '.
1517
                                'WHERE gsr_id_site_01 = gsr_id_site_02 '.
1496
                                'AND gsr_id_site_01 = '.$aso_valeurs['gs_id_site'].' '.
1518
                                'AND gsr_id_site_01 = '.$aso_valeurs['gs_id_site'].' '.
1497
                                'AND gsr_id_valeur = 102 ';// 102 = site "principal"
1519
                                'AND gsr_id_valeur = 102 ';// 102 = site "principal"
1498
            $resultat_supr_ext = $db->query($requete_supr_ext);
1520
            $resultat_supr_ext = $db->query($requete_supr_ext);
1499
            if (DB::isError($resultat_supr_ext)) {
1521
            if (DB::isError($resultat_supr_ext)) {
1500
                die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_supr_ext->getMessage(), $requete_supr_ext));
1522
                die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_supr_ext->getMessage(), $requete_supr_ext));
1501
            }
1523
            }
1502
            $message_complement =   'Le site "principal" a été transformé en site "externe". Si nécessaire, veuillez '.
1524
            $message_complement =   'Le site "principal" a été transformé en site "externe". Si nécessaire, veuillez '.
1503
                                    'supprimer manuellement par FTP, le dossier contenant les fichiers de ce site sur '.
1525
                                    'supprimer manuellement par FTP, le dossier contenant les fichiers de ce site sur '.
1504
                                    'le serveur!';
1526
                                    'le serveur!';
1505
        }
1527
        }
1506
        
1528
        
1507
        // Vérification pour voir si le site est déjà "externe"
1529
        // Vérification pour voir si le site est déjà "externe"
1508
        $requete =  'SELECT COUNT(gsr_id_site_01) AS nbre_relation '.
1530
        $requete =  'SELECT COUNT(gsr_id_site_01) AS nbre_relation '.
1509
                    'FROM gen_site_relation '.
1531
                    'FROM gen_site_relation '.
1510
                    'WHERE gsr_id_site_01 = gsr_id_site_02 '.
1532
                    'WHERE gsr_id_site_01 = gsr_id_site_02 '.
1511
                    'AND gsr_id_site_01 = '.$aso_valeurs['gs_id_site'].' '.
1533
                    'AND gsr_id_site_01 = '.$aso_valeurs['gs_id_site'].' '.
1512
                    'AND gsr_id_valeur = 103 ';// 103 = site "externe"
1534
                    'AND gsr_id_valeur = 103 ';// 103 = site "externe"
1513
        $nbre_relation = $db->getOne($requete);
1535
        $nbre_relation = $db->getOne($requete);
1514
        if (DB::isError($nbre_relation)) {
1536
        if (DB::isError($nbre_relation)) {
1515
            die( BOG_afficherErreurSql(__FILE__, __LINE__, $nbre_relation->getMessage(), $requete) );
1537
            die( BOG_afficherErreurSql(__FILE__, __LINE__, $nbre_relation->getMessage(), $requete) );
1516
        }
1538
        }
1517
        if ($nbre_relation == 0) {
1539
        if ($nbre_relation == 0) {
1518
            // Requete d'insertion de la relations site "externe"
1540
            // Requete d'insertion de la relations site "externe"
1519
            $requete =  'INSERT INTO gen_site_relation '.
1541
            $requete =  'INSERT INTO gen_site_relation '.
1520
                        'SET gsr_id_site_01 = '.$aso_valeurs['gs_id_site'].', '.
1542
                        'SET gsr_id_site_01 = '.$aso_valeurs['gs_id_site'].', '.
1521
                        'gsr_id_site_02 = '.$aso_valeurs['gs_id_site'].', '.
1543
                        'gsr_id_site_02 = '.$aso_valeurs['gs_id_site'].', '.
1522
                        'gsr_id_valeur = '.$id_type_site.', '.
1544
                        'gsr_id_valeur = '.$id_type_site.', '.
1523
                        'gsr_ordre = NULL ';
1545
                        'gsr_ordre = NULL ';
1524
            $resultat = $db->query($requete);
1546
            $resultat = $db->query($requete);
1525
            if (DB::isError($resultat)) {
1547
            if (DB::isError($resultat)) {
1526
                die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
1548
                die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
1527
            }
1549
            }
1528
        }
1550
        }
1529
        
1551
        
1530
        // Ajout du type de site externe
1552
        // Ajout du type de site externe
1531
        $requete =  'INSERT INTO gen_site_relation '.
1553
        $requete =  'INSERT INTO gen_site_relation '.
1532
                    'SET gsr_id_site_01 = '.$aso_valeurs['gs_id_site'].', '.
1554
                    'SET gsr_id_site_01 = '.$aso_valeurs['gs_id_site'].', '.
1533
                    'gsr_id_site_02 = '.$aso_valeurs['gs_id_site'].', '.
1555
                    'gsr_id_site_02 = '.$aso_valeurs['gs_id_site'].', '.
1534
                    'gsr_id_valeur = '.$aso_valeurs['type_site_externe'].', '.
1556
                    'gsr_id_valeur = '.$aso_valeurs['type_site_externe'].', '.
1535
                    'gsr_ordre = NULL ';
1557
                    'gsr_ordre = NULL ';
1536
        $resultat = $db->query($requete);
1558
        $resultat = $db->query($requete);
1537
        if (DB::isError($resultat)) {
1559
        if (DB::isError($resultat)) {
1538
            die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
1560
            die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
1539
        }
1561
        }
1540
        
1562
        
1541
    }
1563
    }
1542
    
1564
    
1543
    // Gestion du site par défaut
1565
    // Gestion du site par défaut
1544
    if (isset($aso_valeurs['defaut']) && $aso_valeurs['defaut'] == 1) {
1566
    if (isset($aso_valeurs['defaut']) && $aso_valeurs['defaut'] == 1) {
1545
        $requete_supr_defaut =  'DELETE FROM gen_site_relation '.
1567
        $requete_supr_defaut =  'DELETE FROM gen_site_relation '.
1546
                                'WHERE gsr_id_site_01 = gsr_id_site_02 '.
1568
                                'WHERE gsr_id_site_01 = gsr_id_site_02 '.
1547
                                'AND gsr_id_valeur = 101 ';// 101 = site par "defaut"
1569
                                'AND gsr_id_valeur = 101 ';// 101 = site par "defaut"
1548
        $resultat_supr_defaut = $db->query($requete_supr_defaut);
1570
        $resultat_supr_defaut = $db->query($requete_supr_defaut);
1549
        if (DB::isError($resultat_supr_defaut)) {
1571
        if (DB::isError($resultat_supr_defaut)) {
1550
            die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_supr_defaut->getMessage(), $requete_supr_defaut));
1572
            die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_supr_defaut->getMessage(), $requete_supr_defaut));
1551
        }
1573
        }
1552
        
1574
        
1553
        // Requete d'insertion de la relations site par défaut
1575
        // Requete d'insertion de la relations site par défaut
1554
        $requete =  'INSERT INTO gen_site_relation '.
1576
        $requete =  'INSERT INTO gen_site_relation '.
1555
                    'SET gsr_id_site_01 = '.$aso_valeurs['gs_id_site'].', '.
1577
                    'SET gsr_id_site_01 = '.$aso_valeurs['gs_id_site'].', '.
1556
                    'gsr_id_site_02 = '.$aso_valeurs['gs_id_site'].', '.
1578
                    'gsr_id_site_02 = '.$aso_valeurs['gs_id_site'].', '.
1557
                    'gsr_id_valeur = 101, '.
1579
                    'gsr_id_valeur = 101, '.
1558
                    'gsr_ordre = NULL ';
1580
                    'gsr_ordre = NULL ';
1559
        $resultat = $db->query($requete);
1581
        $resultat = $db->query($requete);
1560
        if (DB::isError($resultat)) {
1582
        if (DB::isError($resultat)) {
1561
            die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
1583
            die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
1562
        }
1584
        }
1563
    }
1585
    }
1564
    
1586
    
1565
    $message = '<p class="pap_info">'.'Succés de la modification du site.'.'</p>';
1587
    $message = '<p class="pap_info">'.'Succés de la modification du site.'.'</p>';
1566
    $message .= '<p class="pap_info">'.$message_complement.'</p>';
1588
    $message .= '<p class="pap_info">'.$message_complement.'</p>';
1567
    return $message;
1589
    return $message;
1568
}
1590
}
1569
 
1591
 
1570
/** Fonction ADMIN_supprimerSite() - Ajoute un site à Papyrus.
1592
/** Fonction ADMIN_supprimerSite() - Ajoute un site à Papyrus.
1571
*
1593
*
1572
* Cette fonction ajoute le site à Papyrus, c'est à dire :
1594
* Cette fonction ajoute le site à Papyrus, c'est à dire :
1573
* - 1. Création des répertoire du projet en fonction du nom et des sous-répertoires.
1595
* - 1. Création des répertoire du projet en fonction du nom et des sous-répertoires.
1574
* - 2. Insertion d'une ligne dans la table "gen_site".
1596
* - 2. Insertion d'une ligne dans la table "gen_site".
1575
* - 3. Insertion d'une ligne dans la table "gen_site_auth" et ses tables liées si nécessaire.
1597
* - 3. Insertion d'une ligne dans la table "gen_site_auth" et ses tables liées si nécessaire.
1576
*
1598
*
1577
* @param  string   l'objet pear de connexion à la base de données.
1599
* @param  string   l'objet pear de connexion à la base de données.
1578
* @param  string   le tableau contenant les valeurs du formulaire.
1600
* @param  string   le tableau contenant les valeurs du formulaire.
1579
* @param  int      identifiant de l'administrateur réalisant cette création.
1601
* @param  int      identifiant de l'administrateur réalisant cette création.
1580
* @return string retourne un message en cas de succès ou d'échec.
1602
* @return string retourne un message en cas de succès ou d'échec.
1581
*/
1603
*/
1582
function ADMIN_supprimerSite(&$db, $aso_valeurs)
1604
function ADMIN_supprimerSite(&$db, $aso_valeurs)
1583
{
1605
{
1584
    // Recherche du coda alpha du site principal afin de pouvoir détruire ses répertoires
1606
    // Recherche du coda alpha du site principal afin de pouvoir détruire ses répertoires
1585
    $requete =  'SELECT gs_code_alpha '.
1607
    $requete =  'SELECT gs_code_alpha '.
1586
                'FROM gen_site '.
1608
                'FROM gen_site '.
1587
                'WHERE gs_id_site = '.$aso_valeurs['form_sites_id_site'];
1609
                'WHERE gs_id_site = '.$aso_valeurs['form_sites_id_site'];
1588
    $code_alpha_site_principal = $db->getOne($requete);
1610
    $code_alpha_site_principal = $db->getOne($requete);
1589
    if (DB::isError($code_alpha_site_principal)) {
1611
    if (DB::isError($code_alpha_site_principal)) {
1590
        die(BOG_afficherErreurSql(__FILE__, __LINE__, $code_alpha_site_principal->getMessage(), $requete));
1612
        die(BOG_afficherErreurSql(__FILE__, __LINE__, $code_alpha_site_principal->getMessage(), $requete));
1591
    }
1613
    }
1592
    
1614
    
1593
    // Nous vérifions que le site n'a pas le code alphanum correspondant au site par défaut d'administration (admin).
1615
    // Nous vérifions que le site n'a pas le code alphanum correspondant au site par défaut d'administration (admin).
1594
    if ($code_alpha_site_principal == GEN_SITE_DEFAUT) {
1616
    if ($code_alpha_site_principal == GEN_SITE_DEFAUT) {
1595
        $message =  '<p class="pap_erreur">Si vous voulez vraiment supprimer le site d\'administration par défaut de '.
1617
        $message =  '<p class="pap_erreur">Si vous voulez vraiment supprimer le site d\'administration par défaut de '.
1596
                    'Papyrus, veuillez commencer par changer la valeur de son code alphanumérique. Vous pourrez '.
1618
                    'Papyrus, veuillez commencer par changer la valeur de son code alphanumérique. Vous pourrez '.
1597
                    'ensuite le supprimer via cette interface.</p>';
1619
                    'ensuite le supprimer via cette interface.</p>';
1598
        return $message;
1620
        return $message;
1599
    }
1621
    }
1600
    
1622
    
1601
    // Recherche des différents sites liés à celui que l'on veut détruire
1623
    // Recherche des différents sites liés à celui que l'on veut détruire
1602
    // Cela comprend le site à détruire lui méme car il posséde la relations
1624
    // Cela comprend le site à détruire lui méme car il posséde la relations
1603
    // sur lui meme "site principale".
1625
    // sur lui meme "site principale".
1604
    $requete =  'SELECT gs_id_site '.
1626
    $requete =  'SELECT gs_id_site '.
1605
                'FROM gen_site, gen_site_relation '.
1627
                'FROM gen_site, gen_site_relation '.
1606
                'WHERE gsr_id_site_01 = '.$aso_valeurs['form_sites_id_site'].' '.
1628
                'WHERE gsr_id_site_01 = '.$aso_valeurs['form_sites_id_site'].' '.
1607
                'AND gsr_id_site_02 = gs_id_site ';
1629
                'AND gsr_id_site_02 = gs_id_site ';
1608
    $resultat = $db->query($requete);
1630
    $resultat = $db->query($requete);
1609
    if (DB::isError($resultat)) {
1631
    if (DB::isError($resultat)) {
1610
        die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
1632
        die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
1611
    }
1633
    }
1612
    
1634
    
1613
    while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
1635
    while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
1614
        // Requete de suppression des sites liés dans gen_site
1636
        // Requete de suppression des sites liés dans gen_site
1615
        $requete_supr_site =    'DELETE FROM gen_site '.
1637
        $requete_supr_site =    'DELETE FROM gen_site '.
1616
                                'WHERE gs_id_site = '.$ligne->gs_id_site;
1638
                                'WHERE gs_id_site = '.$ligne->gs_id_site;
1617
        $resultat_supr_site = $db->query($requete_supr_site);
1639
        $resultat_supr_site = $db->query($requete_supr_site);
1618
        if (DB::isError($resultat_supr_site)) {
1640
        if (DB::isError($resultat_supr_site)) {
1619
            die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_supr_site->getMessage(), $requete_supr_site));
1641
            die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_supr_site->getMessage(), $requete_supr_site));
1620
        }
1642
        }
1621
        
1643
        
1622
        // Requete de suppression des relations des sites à détruire
1644
        // Requete de suppression des relations des sites à détruire
1623
        $requete_supr_site_relation =   'DELETE FROM gen_site_relation '.
1645
        $requete_supr_site_relation =   'DELETE FROM gen_site_relation '.
1624
                                        'WHERE gsr_id_site_01 = '.$ligne->gs_id_site;
1646
                                        'WHERE gsr_id_site_01 = '.$ligne->gs_id_site;
1625
        $resultat_supr_site_relation = $db->query($requete_supr_site_relation);
1647
        $resultat_supr_site_relation = $db->query($requete_supr_site_relation);
1626
        if (DB::isError($resultat_supr_site_relation)) {
1648
        if (DB::isError($resultat_supr_site_relation)) {
1627
            die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_supr_site_relation->getMessage(), $requete_supr_site_relation));
1649
            die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_supr_site_relation->getMessage(), $requete_supr_site_relation));
1628
        }
1650
        }
1629
        
1651
        
1630
        // Recherche des différents menus liés au site à détruire
1652
        // Recherche des différents menus liés au site à détruire
1631
        $requete_menu = 'SELECT gm_id_menu '.
1653
        $requete_menu = 'SELECT gm_id_menu '.
1632
                        'FROM gen_menu '.
1654
                        'FROM gen_menu '.
1633
                        'WHERE gm_ce_site = '.$ligne->gs_id_site;
1655
                        'WHERE gm_ce_site = '.$ligne->gs_id_site;
1634
        $resultat_menu = $db->query($requete_menu) ;
1656
        $resultat_menu = $db->query($requete_menu) ;
1635
        if (DB::isError($resultat_menu)) {
1657
        if (DB::isError($resultat_menu)) {
1636
            die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_menu->getMessage(), $requete_menu));
1658
            die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_menu->getMessage(), $requete_menu));
1637
        }
1659
        }
1638
        while ($ligne_menu = $resultat_menu->fetchRow(DB_FETCHMODE_OBJECT)) {
1660
        while ($ligne_menu = $resultat_menu->fetchRow(DB_FETCHMODE_OBJECT)) {
1639
            // Requete de suppression des des menus
1661
            // Requete de suppression des des menus
1640
            $requete_supr_menu =   'DELETE FROM gen_menu '.
1662
            $requete_supr_menu =   'DELETE FROM gen_menu '.
1641
                                            'WHERE gm_id_menu = '.$ligne_menu->gm_id_menu;
1663
                                            'WHERE gm_id_menu = '.$ligne_menu->gm_id_menu;
1642
            $resultat_supr_menu = $db->query($requete_supr_menu);
1664
            $resultat_supr_menu = $db->query($requete_supr_menu);
1643
            if (DB::isError($resultat_supr_menu)) {
1665
            if (DB::isError($resultat_supr_menu)) {
1644
                die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_supr_menu->getMessage(), $requete_supr_menu));
1666
                die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_supr_menu->getMessage(), $requete_supr_menu));
1645
            }
1667
            }
1646
            // Requete de suppression des relations des menus
1668
            // Requete de suppression des relations des menus
1647
            $requete_supr_menu_relation =   'DELETE FROM gen_menu_relation '.
1669
            $requete_supr_menu_relation =   'DELETE FROM gen_menu_relation '.
1648
                                            'WHERE gmr_id_menu_01 = '.$ligne_menu->gm_id_menu;
1670
                                            'WHERE gmr_id_menu_01 = '.$ligne_menu->gm_id_menu;
1649
            $resultat_supr_menu_relation = $db->query($requete_supr_menu_relation);
1671
            $resultat_supr_menu_relation = $db->query($requete_supr_menu_relation);
1650
            if (DB::isError($resultat_supr_menu_relation)) {
1672
            if (DB::isError($resultat_supr_menu_relation)) {
1651
                die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_supr_menu_relation->getMessage(), $requete_supr_menu_relation));
1673
                die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_supr_menu_relation->getMessage(), $requete_supr_menu_relation));
1652
            }
1674
            }
1653
            
1675
            
1654
            // Requete de suppression des contenus des menus
1676
            // Requete de suppression des contenus des menus
1655
            $requete_supr_menu_contenu =   'DELETE FROM gen_menu_contenu '.
1677
            $requete_supr_menu_contenu =   'DELETE FROM gen_menu_contenu '.
1656
                                            'WHERE gmc_ce_menu = '.$ligne_menu->gm_id_menu;
1678
                                            'WHERE gmc_ce_menu = '.$ligne_menu->gm_id_menu;
1657
            $resultat_supr_menu_contenu = $db->query($requete_supr_menu_contenu);
1679
            $resultat_supr_menu_contenu = $db->query($requete_supr_menu_contenu);
1658
            if (DB::isError($resultat_supr_menu_contenu)) {
1680
            if (DB::isError($resultat_supr_menu_contenu)) {
1659
                die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_supr_menu_contenu->getMessage(), $requete_supr_menu_contenu));
1681
                die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_supr_menu_contenu->getMessage(), $requete_supr_menu_contenu));
1660
            }
1682
            }
1661
            
1683
            
1662
            // Requete de suppression des ulr alternatives des menus
1684
            // Requete de suppression des ulr alternatives des menus
1663
            $requete_supr_menu_url_alt =   'DELETE FROM gen_menu_url_alternative '.
1685
            $requete_supr_menu_url_alt =   'DELETE FROM gen_menu_url_alternative '.
1664
                                            'WHERE gmua_ce_menu = '.$ligne_menu->gm_id_menu;
1686
                                            'WHERE gmua_ce_menu = '.$ligne_menu->gm_id_menu;
1665
            $resultat_supr_menu_url_alt = $db->query($requete_supr_menu_url_alt);
1687
            $resultat_supr_menu_url_alt = $db->query($requete_supr_menu_url_alt);
1666
            if (DB::isError($resultat_supr_menu_url_alt)) {
1688
            if (DB::isError($resultat_supr_menu_url_alt)) {
1667
                die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_supr_menu_url_alt->getMessage(), $requete_supr_menu_url_alt));
1689
                die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_supr_menu_url_alt->getMessage(), $requete_supr_menu_url_alt));
1668
            }
1690
            }
1669
        }
1691
        }
1670
        $resultat_menu->free();
1692
        $resultat_menu->free();
1671
    }
1693
    }
1672
    $resultat->free();
1694
    $resultat->free();
1673
    
1695
    
1674
    // Suppression des répertoires du site
1696
    // Suppression des répertoires du site
1675
    if (!GEN_FTP_UTILISE) {
1697
    if (!GEN_FTP_UTILISE) {
1676
        $chemin_repertoire = PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$code_alpha_site_principal;
1698
        $chemin_repertoire = PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$code_alpha_site_principal;
1677
        $resultat = supprimerDossier($chemin_repertoire, GEN_SEP);
1699
        $resultat = supprimerDossier($chemin_repertoire, GEN_SEP);
1678
        if (!$resultat) {
1700
        if (!$resultat) {
1679
            $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de supprimer le répertoire.<br />'.
1701
            $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de supprimer le répertoire.<br />'.
1680
                        'Répertoire : '. $chemin_repertoire .'<br />'.
1702
                        'Répertoire : '. $chemin_repertoire .'<br />'.
1681
                        'Ligne n° : '. __LINE__ .'<br />'.
1703
                        'Ligne n° : '. __LINE__ .'<br />'.
1682
                        'Fichier n° : '. __FILE__ .'<br /></p>';
1704
                        'Fichier n° : '. __FILE__ .'<br /></p>';
1683
            return $message;
1705
            return $message;
1684
        }
1706
        }
1685
    } else {
1707
    } else {
1686
        // Création d'une connection ftp avec Net_FTP de PEAR
1708
        // Création d'une connection ftp avec Net_FTP de PEAR
1687
        // voir http://pear.php.net/manual/fr/package.networking.net-ftp.php
1709
        // voir http://pear.php.net/manual/fr/package.networking.net-ftp.php
1688
        
1710
        
1689
        // création de l'objet pear ftp
1711
        // création de l'objet pear ftp
1690
        $objet_pear_ftp = new Net_FTP(PAP_FTP_SERVEUR, PAP_FTP_PORT);
1712
        $objet_pear_ftp = new Net_FTP(PAP_FTP_SERVEUR, PAP_FTP_PORT);
1691
        // création de la connexion
1713
        // création de la connexion
1692
        $ftp_conn = $objet_pear_ftp->connect(PAP_FTP_SERVEUR, PAP_FTP_PORT);
1714
        $ftp_conn = $objet_pear_ftp->connect(PAP_FTP_SERVEUR, PAP_FTP_PORT);
1693
        // identification
1715
        // identification
1694
        $ftp_login_result = $objet_pear_ftp->login(PAP_FTP_UTILISATEUR, PAP_FTP_MOT_DE_PASSE);
1716
        $ftp_login_result = $objet_pear_ftp->login(PAP_FTP_UTILISATEUR, PAP_FTP_MOT_DE_PASSE);
1695
        // Gestion des erreurs ftp
1717
        // Gestion des erreurs ftp
1696
        if ((PEAR::isError($ftp_conn) || PEAR::isError($ftp_login_result))) {
1718
        if ((PEAR::isError($ftp_conn) || PEAR::isError($ftp_login_result))) {
1697
            $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de se connecter par ftp.<br />'.
1719
            $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de se connecter par ftp.<br />'.
1698
                        'Erreur connexion : '.$ftp_conn->getMessage().'<br />'.
1720
                        'Erreur connexion : '.$ftp_conn->getMessage().'<br />'.
1699
                        'Erreur login : '.$ftp_login_result->getMessage().'<br />'.
1721
                        'Erreur login : '.$ftp_login_result->getMessage().'<br />'.
1700
                        'Serveur : '. PAP_FTP_SERVEUR .'<br />'.
1722
                        'Serveur : '. PAP_FTP_SERVEUR .'<br />'.
1701
                        'Utilisateur : '. PAP_FTP_UTILISATEUR .'<br />'.
1723
                        'Utilisateur : '. PAP_FTP_UTILISATEUR .'<br />'.
1702
                        'Ligne n° : '. __LINE__ .'<br />'.
1724
                        'Ligne n° : '. __LINE__ .'<br />'.
1703
                        'Fichier n° : '. __FILE__ .'<br /><p>';
1725
                        'Fichier n° : '. __FILE__ .'<br /><p>';
1704
            return $message;
1726
            return $message;
1705
        }
1727
        }
1706
        // Changement du niveau d'erreur pour éviter les Notices PHP dues à  Net_FTP
1728
        // Changement du niveau d'erreur pour éviter les Notices PHP dues à  Net_FTP
1707
        error_reporting(E_PARSE);
1729
        error_reporting(E_PARSE);
1708
        $chemin_repertoire = PAP_FTP_RACINE.GEN_CHEMIN_SITES.$code_alpha_site_principal.'/';
1730
        $chemin_repertoire = PAP_FTP_RACINE.GEN_CHEMIN_SITES.$code_alpha_site_principal.'/';
1709
        
1731
        
1710
        if ($code_alpha_site_principal!='') {
1732
        if ($code_alpha_site_principal!='') {
1711
	        $resultat = $objet_pear_ftp->rm($chemin_repertoire, true);
1733
	        $resultat = $objet_pear_ftp->rm($chemin_repertoire, true);
1712
	        if (PEAR::isError($resultat)) {
1734
	        if (PEAR::isError($resultat)) {
1713
	            $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de supprimer le répertoire par ftp.<br />'.
1735
	            $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de supprimer le répertoire par ftp.<br />'.
1714
	                        'Erreur ftp : '.$resultat->getMessage().'<br />'.
1736
	                        'Erreur ftp : '.$resultat->getMessage().'<br />'.
1715
	                        'Répertoire : '. $chemin_repertoire .'<br />'.
1737
	                        'Répertoire : '. $chemin_repertoire .'<br />'.
1716
	                        'Ligne n° : '. __LINE__ .'<br />'.
1738
	                        'Ligne n° : '. __LINE__ .'<br />'.
1717
	                        'Fichier n° : '. __FILE__ .'<br /></p>';
1739
	                        'Fichier n° : '. __FILE__ .'<br /></p>';
1718
	            return $message;
1740
	            return $message;
1719
	        }
1741
	        }
1720
        }
1742
        }
1721
        $objet_pear_ftp->disconnect();
1743
        $objet_pear_ftp->disconnect();
1722
        // Retour au niveau d'erreur définit dans le fichier de config de Papyrus
1744
        // Retour au niveau d'erreur définit dans le fichier de config de Papyrus
1723
        error_reporting(GEN_DEBOGAGE_NIVEAU);
1745
        error_reporting(GEN_DEBOGAGE_NIVEAU);
1724
    }
1746
    }
1725
    $message = '<p class="pap_info">Succés de la suppression du site.</p>';
1747
    $message = '<p class="pap_info">Succés de la suppression du site.</p>';
1726
    return $message;
1748
    return $message;
1727
}
1749
}
1728
 
1750
 
1729
 
1751
 
1730
function ADMIN_verifier_traduction_possible(&$db, $aso_valeurs) {
1752
function ADMIN_verifier_traduction_possible(&$db, $aso_valeurs) {
1731
	
1753
	
1732
		
1754
		
1733
	// 	Traduction d'un site principal uniquement :
1755
	// 	Traduction d'un site principal uniquement :
1734
    
1756
    
1735
    $requete =  'SELECT gsr_id_site_01, gs_ce_i18n '.
1757
    $requete =  'SELECT gsr_id_site_01, gs_ce_i18n '.
1736
                'FROM gen_site_relation, gen_site '.
1758
                'FROM gen_site_relation, gen_site '.
1737
                'WHERE gsr_id_site_02 = '.$aso_valeurs['form_sites_id_site'].' '.
1759
                'WHERE gsr_id_site_02 = '.$aso_valeurs['form_sites_id_site'].' '.
1738
                'AND gs_id_site = gsr_id_site_01  '.
1760
                'AND gs_id_site = gsr_id_site_01  '.
1739
                'AND gsr_id_valeur =1  '; // 1 = "avoir traduction"
1761
                'AND gsr_id_valeur =1  '; // 1 = "avoir traduction"
1740
    
1762
    
1741
    $resultat = $db->query($requete);
1763
    $resultat = $db->query($requete);
1742
    
1764
    
1743
    if (DB::isError($resultat)) {
1765
    if (DB::isError($resultat)) {
1744
        die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
1766
        die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
1745
    }
1767
    }
1746
 
1768
 
1747
    if ( $resultat->numRows() == 0 ) {
1769
    if ( $resultat->numRows() == 0 ) {
1748
    	$site_id = $aso_valeurs['form_sites_id_site'];
1770
    	$site_id = $aso_valeurs['form_sites_id_site'];
1749
    }
1771
    }
1750
    else {
1772
    else {
1751
    	$ligne_site = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
1773
    	$ligne_site = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
1752
        $site_id = $ligne_site->gsr_id_site_01;
1774
        $site_id = $ligne_site->gsr_id_site_01;
1753
    }
1775
    }
1754
    
1776
    
1755
		
1777
		
1756
	 $requete =  'SELECT distinct gs_ce_i18n '.
1778
	 $requete =  'SELECT distinct gs_ce_i18n '.
1757
    'FROM gen_site_relation, gen_site '.
1779
    'FROM gen_site_relation, gen_site '.
1758
    'WHERE gsr_id_site_01 = ' . $site_id .' '.
1780
    'WHERE gsr_id_site_01 = ' . $site_id .' '.
1759
    'AND gs_id_site = gsr_id_site_02  '.
1781
    'AND gs_id_site = gsr_id_site_02  '.
1760
    'AND gsr_id_valeur =1  '; // 1 = "avoir traduction"
1782
    'AND gsr_id_valeur =1  '; // 1 = "avoir traduction"
1761
    
1783
    
1762
    $resultat = $db->query($requete) ;
1784
    $resultat = $db->query($requete) ;
1763
    if (DB::isError($resultat)) {
1785
    if (DB::isError($resultat)) {
1764
        die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
1786
        die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
1765
    }
1787
    }
1766
    $not_in_langue='';
1788
    $not_in_langue='';
1767
    if ( $resultat->numRows() == 0 ) {
1789
    if ( $resultat->numRows() == 0 ) {
1768
		$not_in_langue="gi_id_i18n not in('".$ligne_site->gs_ce_i18n."')";    
1790
		$not_in_langue="gi_id_i18n not in('".$ligne_site->gs_ce_i18n."')";    
1769
    }
1791
    }
1770
    else {
1792
    else {
1771
    	    while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
1793
    	    while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
1772
				$not_in_langue="'".$ligne->gs_ce_i18n."'".",".$not_in_langue;
1794
				$not_in_langue="'".$ligne->gs_ce_i18n."'".",".$not_in_langue;
1773
				$end="'".$ligne->gs_ce_i18n."'";
1795
				$end="'".$ligne->gs_ce_i18n."'";
1774
			}
1796
			}
1775
    		$not_in_langue=' gi_id_i18n not in('.$not_in_langue.$end.')';
1797
    		$not_in_langue=' gi_id_i18n not in('.$not_in_langue.$end.')';
1776
    }
1798
    }
1777
	$resultat->free();		    
1799
	$resultat->free();		    
1778
 
1800
 
1779
	$requete =  "SELECT * FROM gen_i18n where ".$not_in_langue;
1801
	$requete =  "SELECT * FROM gen_i18n where ".$not_in_langue;
1780
	
1802
	
1781
    $resultat = $db->query($requete) ;
1803
    $resultat = $db->query($requete) ;
1782
    if (DB::isError($resultat)) {
1804
    if (DB::isError($resultat)) {
1783
        die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
1805
        die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
1784
    }
1806
    }
1785
    
1807
    
1786
    $retour = $resultat->numRows();
1808
    $retour = $resultat->numRows();
1787
    $resultat->free();
1809
    $resultat->free();
1788
    
1810
    
1789
    $message='';
1811
    $message='';
1790
    if ($retour == 0) {
1812
    if ($retour == 0) {
1791
    	  $message = '<p class="pap_erreur">Plus de traduction possible pour ce site </p>';
1813
    	  $message = '<p class="pap_erreur">Plus de traduction possible pour ce site </p>';
1792
    }
1814
    }
1793
    return  $message;
1815
    return  $message;
1794
}
1816
}
1795
    
1817
    
1796
// +- Fin du code source  --------------------------------------------------------------------------------+
1818
// +- Fin du code source  --------------------------------------------------------------------------------+
1797
/*
1819
/*
1798
* $Log: not supported by cvs2svn $
1820
* $Log: not supported by cvs2svn $
-
 
1821
* Revision 1.31  2006/09/12 09:54:02  ddelon
-
 
1822
* Affichage des identifications disponibles lors de la création d'un site. Un bug faisait que l'affichage de l'identification par défaut ne fonctionnait plus en creation.
-
 
1823
*
1799
* Revision 1.30  2006/07/19 13:57:35  ddelon
1824
* Revision 1.30  2006/07/19 13:57:35  ddelon
1800
* Bug suppression de site
1825
* Bug suppression de site
1801
*
1826
*
1802
* Revision 1.29  2006/03/23 20:24:58  ddelon
1827
* Revision 1.29  2006/03/23 20:24:58  ddelon
1803
* *** empty log message ***
1828
* *** empty log message ***
1804
*
1829
*
1805
* Revision 1.28  2006/03/15 23:44:19  ddelon
1830
* Revision 1.28  2006/03/15 23:44:19  ddelon
1806
* Gestion site
1831
* Gestion site
1807
*
1832
*
1808
* Revision 1.27  2006/03/15 23:35:25  ddelon
1833
* Revision 1.27  2006/03/15 23:35:25  ddelon
1809
* Gestion site
1834
* Gestion site
1810
*
1835
*
1811
* Revision 1.26  2006/03/02 10:49:49  ddelon
1836
* Revision 1.26  2006/03/02 10:49:49  ddelon
1812
* Fusion branche multilinguisme dans branche principale
1837
* Fusion branche multilinguisme dans branche principale
1813
*
1838
*
1814
* Revision 1.25.2.2  2006/02/28 14:02:10  ddelon
1839
* Revision 1.25.2.2  2006/02/28 14:02:10  ddelon
1815
* Finition multilinguisme
1840
* Finition multilinguisme
1816
*
1841
*
1817
* Revision 1.25.2.1  2006/01/19 21:26:20  ddelon
1842
* Revision 1.25.2.1  2006/01/19 21:26:20  ddelon
1818
* Multilinguisme site + bug ftp
1843
* Multilinguisme site + bug ftp
1819
*
1844
*
1820
* Revision 1.25  2005/10/17 13:48:59  jp_milcent
1845
* Revision 1.25  2005/10/17 13:48:59  jp_milcent
1821
* Ajout d'un espace après le texte "Dernière modification par".
1846
* Ajout d'un espace après le texte "Dernière modification par".
1822
*
1847
*
1823
* Revision 1.24  2005/09/23 14:32:54  florian
1848
* Revision 1.24  2005/09/23 14:32:54  florian
1824
* compatibilité XHTML + correction interface
1849
* compatibilité XHTML + correction interface
1825
*
1850
*
1826
* Revision 1.23  2005/09/20 17:01:22  ddelon
1851
* Revision 1.23  2005/09/20 17:01:22  ddelon
1827
* php5 et bugs divers
1852
* php5 et bugs divers
1828
*
1853
*
1829
* Revision 1.22  2005/05/27 16:06:16  jpm
1854
* Revision 1.22  2005/05/27 16:06:16  jpm
1830
* Gestion des infos sur l'admin modifiant les infos.
1855
* Gestion des infos sur l'admin modifiant les infos.
1831
*
1856
*
1832
* Revision 1.21  2005/04/08 13:29:04  jpm
1857
* Revision 1.21  2005/04/08 13:29:04  jpm
1833
* Utiliation de références.
1858
* Utiliation de références.
1834
* Correction du double &amp; dans les urls du formulaire.
1859
* Correction du double &amp; dans les urls du formulaire.
1835
*
1860
*
1836
* Revision 1.20  2005/03/08 11:17:47  jpm
1861
* Revision 1.20  2005/03/08 11:17:47  jpm
1837
* Suppression de l'inclusion d'un fichier inutile.
1862
* Suppression de l'inclusion d'un fichier inutile.
1838
*
1863
*
1839
* Revision 1.19  2005/02/28 11:07:00  jpm
1864
* Revision 1.19  2005/02/28 11:07:00  jpm
1840
* Modification des auteurs.
1865
* Modification des auteurs.
1841
*
1866
*
1842
* Revision 1.18  2005/02/28 10:59:07  jpm
1867
* Revision 1.18  2005/02/28 10:59:07  jpm
1843
* Modification des commentaires et copyright.
1868
* Modification des commentaires et copyright.
1844
*
1869
*
1845
* Revision 1.17  2005/02/17 17:51:11  florian
1870
* Revision 1.17  2005/02/17 17:51:11  florian
1846
* Correction bug FTP
1871
* Correction bug FTP
1847
*
1872
*
1848
* Revision 1.16  2005/02/17 16:44:55  florian
1873
* Revision 1.16  2005/02/17 16:44:55  florian
1849
* correction du bug sur les sites par défaut
1874
* correction du bug sur les sites par défaut
1850
*
1875
*
1851
* Revision 1.15  2005/01/04 19:52:50  alex
1876
* Revision 1.15  2005/01/04 19:52:50  alex
1852
* correction de bug de copie de répertoire récursif de PEAR.
1877
* correction de bug de copie de répertoire récursif de PEAR.
1853
*
1878
*
1854
* Revision 1.14  2004/12/03 19:22:53  jpm
1879
* Revision 1.14  2004/12/03 19:22:53  jpm
1855
* Gestion des types de sites externes gérés par Papyrus.
1880
* Gestion des types de sites externes gérés par Papyrus.
1856
*
1881
*
1857
* Revision 1.13  2004/12/03 16:37:34  jpm
1882
* Revision 1.13  2004/12/03 16:37:34  jpm
1858
* Correction d'un bogue qui empécher la mise à jour des url des sites externes.
1883
* Correction d'un bogue qui empécher la mise à jour des url des sites externes.
1859
*
1884
*
1860
* Revision 1.12  2004/12/01 17:22:58  jpm
1885
* Revision 1.12  2004/12/01 17:22:58  jpm
1861
* Ajout d'une confirmation javascript pour la suppression d'un site.
1886
* Ajout d'une confirmation javascript pour la suppression d'un site.
1862
*
1887
*
1863
* Revision 1.11  2004/11/30 16:43:51  jpm
1888
* Revision 1.11  2004/11/30 16:43:51  jpm
1864
* Correction de bogues.
1889
* Correction de bogues.
1865
*
1890
*
1866
* Revision 1.10  2004/11/29 17:05:28  jpm
1891
* Revision 1.10  2004/11/29 17:05:28  jpm
1867
* Correction d'un bogue concernat les cases à cocher.
1892
* Correction d'un bogue concernat les cases à cocher.
1868
*
1893
*
1869
* Revision 1.9  2004/11/26 13:13:51  jpm
1894
* Revision 1.9  2004/11/26 13:13:51  jpm
1870
* Mise en commentaire de variable passée dans un message d'erreur car elles semblent provoquer un bogue et ne sont pas obligatoire.
1895
* Mise en commentaire de variable passée dans un message d'erreur car elles semblent provoquer un bogue et ne sont pas obligatoire.
1871
*
1896
*
1872
* Revision 1.8  2004/11/03 17:59:59  jpm
1897
* Revision 1.8  2004/11/03 17:59:59  jpm
1873
* Corrections bogues erreurs variable inconnue.
1898
* Corrections bogues erreurs variable inconnue.
1874
*
1899
*
1875
* Revision 1.7  2004/10/26 18:41:28  jpm
1900
* Revision 1.7  2004/10/26 18:41:28  jpm
1876
* Gestion des sites externes à Papyrus.
1901
* Gestion des sites externes à Papyrus.
1877
*
1902
*
1878
* Revision 1.6  2004/10/22 17:25:31  jpm
1903
* Revision 1.6  2004/10/22 17:25:31  jpm
1879
* Changement du nom de la class CSS d'erreur.
1904
* Changement du nom de la class CSS d'erreur.
1880
*
1905
*
1881
* Revision 1.5  2004/10/19 15:57:55  jpm
1906
* Revision 1.5  2004/10/19 15:57:55  jpm
1882
* Amélioration de la gestion des fichiers sur le serveur.
1907
* Amélioration de la gestion des fichiers sur le serveur.
1883
* Ajout d'une contrainte pour éviter la suppression par erreur du site par défaut.
1908
* Ajout d'une contrainte pour éviter la suppression par erreur du site par défaut.
1884
*
1909
*
1885
* Revision 1.4  2004/10/18 18:27:41  jpm
1910
* Revision 1.4  2004/10/18 18:27:41  jpm
1886
* Correction problèmes FTP et manipulation de fichiers.
1911
* Correction problèmes FTP et manipulation de fichiers.
1887
*
1912
*
1888
* Revision 1.3  2004/09/23 16:51:27  jpm
1913
* Revision 1.3  2004/09/23 16:51:27  jpm
1889
* Ajout d'informations supplémentaires sur les messages d'erreur.
1914
* Ajout d'informations supplémentaires sur les messages d'erreur.
1890
*
1915
*
1891
* Revision 1.2  2004/07/06 17:08:01  jpm
1916
* Revision 1.2  2004/07/06 17:08:01  jpm
1892
* Modification de la documentation pour une mailleur analyse par PhpDocumentor.
1917
* Modification de la documentation pour une mailleur analyse par PhpDocumentor.
1893
*
1918
*
1894
* Revision 1.1  2004/06/16 14:28:46  jpm
1919
* Revision 1.1  2004/06/16 14:28:46  jpm
1895
* Changement de nom de Génésia en Papyrus.
1920
* Changement de nom de Génésia en Papyrus.
1896
* Changement de l'arborescence.
1921
* Changement de l'arborescence.
1897
*
1922
*
1898
* Revision 1.20  2004/05/10 14:32:14  jpm
1923
* Revision 1.20  2004/05/10 14:32:14  jpm
1899
* Changement du titre.
1924
* Changement du titre.
1900
*
1925
*
1901
* Revision 1.19  2004/05/10 12:23:39  jpm
1926
* Revision 1.19  2004/05/10 12:23:39  jpm
1902
* Modification formulaire.
1927
* Modification formulaire.
1903
*
1928
*
1904
* Revision 1.18  2004/05/07 16:33:53  jpm
1929
* Revision 1.18  2004/05/07 16:33:53  jpm
1905
* Amélioration des formulaires.
1930
* Amélioration des formulaires.
1906
*
1931
*
1907
* Revision 1.17  2004/05/07 07:22:51  jpm
1932
* Revision 1.17  2004/05/07 07:22:51  jpm
1908
* Ajout de la gestion des modification et suppression de site.
1933
* Ajout de la gestion des modification et suppression de site.
1909
* Amélioration de la création des sites.
1934
* Amélioration de la création des sites.
1910
*
1935
*
1911
* Revision 1.16  2004/04/30 16:22:53  jpm
1936
* Revision 1.16  2004/04/30 16:22:53  jpm
1912
* Poursuite de l'administration des sites.
1937
* Poursuite de l'administration des sites.
1913
*
1938
*
1914
* Revision 1.14  2004/04/02 15:58:39  jpm
1939
* Revision 1.14  2004/04/02 15:58:39  jpm
1915
* Modification fonction liste des projets.
1940
* Modification fonction liste des projets.
1916
*
1941
*
1917
* Revision 1.13  2004/04/01 11:21:41  jpm
1942
* Revision 1.13  2004/04/01 11:21:41  jpm
1918
* Ajout et modification de commentaires pour PhpDocumentor.
1943
* Ajout et modification de commentaires pour PhpDocumentor.
1919
*
1944
*
1920
* Revision 1.12  2004/03/24 20:01:02  jpm
1945
* Revision 1.12  2004/03/24 20:01:02  jpm
1921
* Traduction, mise en forme, ajout de commentaire pour les fonctions listProjects() et updateProject().
1946
* Traduction, mise en forme, ajout de commentaire pour les fonctions listProjects() et updateProject().
1922
*
1947
*
1923
* Revision 1.11  2004/03/24 10:06:01  jpm
1948
* Revision 1.11  2004/03/24 10:06:01  jpm
1924
* Ajout des commentaires d'entête.
1949
* Ajout des commentaires d'entête.
1925
* Début mise en conformité avec la convention de codage.
1950
* Début mise en conformité avec la convention de codage.
1926
* Début traitement de la fonction listant les projets.
1951
* Début traitement de la fonction listant les projets.
1927
*
1952
*
1928
*
1953
*
1929
*/
1954
*/
1930
?>
1955
?>