Line 17... |
Line 17... |
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.25 2005-10-17 13:48:59 jp_milcent Exp $
|
22 |
// CVS : $Id: adsi_site.fonct.php,v 1.26 2006-03-02 10:49:49 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).
|
Line 32... |
Line 32... |
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.25 $ $Date: 2005-10-17 13:48:59 $
|
37 |
*@version $Revision: 1.26 $ $Date: 2006-03-02 10:49:49 $
|
38 |
// +------------------------------------------------------------------------------------------------------+
|
38 |
// +------------------------------------------------------------------------------------------------------+
|
39 |
*/
|
39 |
*/
|
Line 40... |
Line 40... |
40 |
|
40 |
|
41 |
// +------------------------------------------------------------------------------------------------------+
|
41 |
// +------------------------------------------------------------------------------------------------------+
|
Line 58... |
Line 58... |
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 |
|
- |
|
64 |
$id_langue = $GLOBALS['_GEN_commun']['i18n']; //identifiant de la langue choisie
|
- |
|
65 |
|
- |
|
66 |
// Langue en cours : langue choisie ou langue par defaut (principale)
|
- |
|
67 |
|
- |
|
68 |
if (isset($id_langue) && ($id_langue!='')) {
|
- |
|
69 |
$langue_test=$id_langue;
|
- |
|
70 |
} else {
|
- |
|
71 |
$langue_test=GEN_I18N_ID_DEFAUT;
|
- |
|
72 |
}
|
- |
|
73 |
|
63 |
// Liste des sites principaux
|
74 |
// Liste des sites principaux :
|
- |
|
75 |
// Recherche de tous les sites langue en cours
|
- |
|
76 |
|
64 |
$requete = 'SELECT * '.
|
77 |
$requete = 'SELECT * '.
|
65 |
'FROM gen_site, gen_site_relation '.
|
78 |
'FROM gen_site, gen_site_relation '.
|
66 |
'WHERE gsr_id_site_01 = gsr_id_site_02 '.
|
79 |
'WHERE gsr_id_site_01 = gsr_id_site_02 '.
|
67 |
'AND gsr_id_site_01 = gs_id_site '.
|
80 |
'AND gsr_id_site_01 = gs_id_site '.
|
68 |
'AND gsr_id_valeur IN (102, 103) '.
|
81 |
'AND gsr_id_valeur IN (102, 103) '.
|
- |
|
82 |
'AND gs_ce_i18n = "'.$langue_test.'" '.
|
69 |
'ORDER BY gsr_ordre';
|
83 |
'ORDER BY gsr_ordre';
|
- |
|
84 |
|
Line 70... |
Line 85... |
70 |
|
85 |
|
71 |
$resultat = $db->query($requete);
|
86 |
$resultat = $db->query($requete);
|
Line -... |
Line 87... |
- |
|
87 |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '' ;
|
- |
|
88 |
|
- |
|
89 |
$liste_site=array();
|
- |
|
90 |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
|
- |
|
91 |
|
- |
|
92 |
if ($langue_test == GEN_I18N_ID_DEFAUT) {
|
- |
|
93 |
|
- |
|
94 |
$requete_est_traduction = 'SELECT gsr_id_site_01 '.
|
- |
|
95 |
'FROM gen_site_relation '.
|
- |
|
96 |
'WHERE '.$ligne->gs_id_site.' = gsr_id_site_02 ' .
|
- |
|
97 |
'AND gsr_id_site_01 <> gsr_id_site_02 ' .
|
- |
|
98 |
'AND gsr_id_valeur = 1 ';// 1 = "avoir traduction"
|
- |
|
99 |
|
- |
|
100 |
|
- |
|
101 |
$resultat_est_traduction = $db->query($requete_est_traduction);
|
- |
|
102 |
(DB::isError($resultat_est_traduction))
|
- |
|
103 |
? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_est_traduction->getMessage(), $requete_est_traduction))
|
- |
|
104 |
: '';
|
- |
|
105 |
|
- |
|
106 |
if ( $resultat_est_traduction->numRows() == 0 ) {
|
- |
|
107 |
$liste_site[]=$ligne;
|
- |
|
108 |
}
|
- |
|
109 |
}
|
- |
|
110 |
else {
|
- |
|
111 |
$liste_site[]=$ligne;
|
- |
|
112 |
}
|
- |
|
113 |
}
|
- |
|
114 |
$resultat->free();
|
- |
|
115 |
|
- |
|
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
|
- |
|
118 |
|
- |
|
119 |
|
- |
|
120 |
if ($langue_test != GEN_I18N_ID_DEFAUT) {
|
- |
|
121 |
|
- |
|
122 |
|
- |
|
123 |
$requete = 'SELECT * '.
|
- |
|
124 |
'FROM gen_site, gen_site_relation '.
|
- |
|
125 |
'WHERE gsr_id_site_01 = gsr_id_site_02 '.
|
- |
|
126 |
'AND gs_id_site = gsr_id_site_01 '.
|
- |
|
127 |
'AND gsr_id_valeur IN (102, 103) '.
|
- |
|
128 |
'AND gs_ce_i18n = "'.GEN_I18N_ID_DEFAUT.'" '.
|
- |
|
129 |
'ORDER BY gs_code_num ASC';// 102 = site "principal" et 103 = site "externe"
|
- |
|
130 |
|
- |
|
131 |
$resultat = $db->query($requete);
|
- |
|
132 |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
|
- |
|
133 |
|
- |
|
134 |
|
- |
|
135 |
|
- |
|
136 |
|
- |
|
137 |
// Recherche de tous les sites de la langue principale qui ne sont pas traduits dans la langue en cours
|
- |
|
138 |
|
- |
|
139 |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
|
- |
|
140 |
|
- |
|
141 |
$requete_est_traduction = 'SELECT gsr_id_site_01 '.
|
- |
|
142 |
'FROM gen_site_relation '.
|
- |
|
143 |
'WHERE '.$ligne->gs_id_site.' = gsr_id_site_02 ' .
|
- |
|
144 |
'AND gsr_id_site_01 <> gsr_id_site_02 ' .
|
- |
|
145 |
'AND gsr_id_valeur = 1 ';// 1 = "avoir traduction"
|
- |
|
146 |
|
- |
|
147 |
|
- |
|
148 |
$resultat_est_traduction = $db->query($requete_est_traduction);
|
- |
|
149 |
(DB::isError($resultat_est_traduction))
|
- |
|
150 |
? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_est_traduction->getMessage(), $requete_est_traduction))
|
- |
|
151 |
: '';
|
- |
|
152 |
|
- |
|
153 |
if ( $resultat_est_traduction->numRows() == 0 ) {
|
- |
|
154 |
|
- |
|
155 |
|
- |
|
156 |
if (isset($id_langue) && ($id_langue!='')) {
|
- |
|
157 |
$langue_test=$id_langue;
|
- |
|
158 |
} else {
|
- |
|
159 |
$langue_test=GEN_I18N_ID_DEFAUT;
|
- |
|
160 |
}
|
- |
|
161 |
|
- |
|
162 |
$requete_traduction = 'SELECT gsr_id_site_01 '.
|
- |
|
163 |
'FROM gen_site_relation, gen_site '.
|
- |
|
164 |
'WHERE '.$ligne->gs_id_site.' = gsr_id_site_01 ' .
|
- |
|
165 |
'AND gsr_id_site_02 = gs_id_site '.
|
- |
|
166 |
'AND gs_ce_i18n = "'.$langue_test.'" '.
|
- |
|
167 |
'AND gsr_id_valeur = 1 ';// 1 = "avoir traduction"
|
- |
|
168 |
|
- |
|
169 |
$resultat_traduction = $db->query($requete_traduction);
|
- |
|
170 |
(DB::isError($resultat_traduction))
|
- |
|
171 |
? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_traduction->getMessage(), $requete_traduction))
|
- |
|
172 |
: '';
|
- |
|
173 |
|
- |
|
174 |
if ( $resultat_traduction->numRows() == 0 ) {
|
- |
|
175 |
$liste_site []=$ligne;
|
- |
|
176 |
}
|
- |
|
177 |
|
- |
|
178 |
$resultat_traduction->free();
|
- |
|
179 |
|
- |
|
180 |
}
|
- |
|
181 |
$resultat_est_traduction->free();
|
- |
|
182 |
|
- |
|
183 |
}
|
- |
|
184 |
$resultat->free();
|
- |
|
185 |
}
|
- |
|
186 |
|
72 |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '' ;
|
187 |
|
73 |
|
188 |
|
74 |
//----------------------------------------------------------------------------
|
189 |
//----------------------------------------------------------------------------
|
75 |
// Création du formulaire
|
190 |
// Création du formulaire
|
76 |
$form =& new HTML_QuickForm('form_sites', 'post', str_replace('&', '&', $url));
|
191 |
$form =& new HTML_QuickForm('form_sites', 'post', str_replace('&', '&', $url));
|
Line 87... |
Line 202... |
87 |
'<legend>Listes des sites</legend>'."\n".
|
202 |
'<legend>Listes des sites</legend>'."\n".
|
88 |
'<ul>'."\n";
|
203 |
'<ul>'."\n";
|
89 |
$form->addElement('html', $partie_site_debut);
|
204 |
$form->addElement('html', $partie_site_debut);
|
Line 90... |
Line 205... |
90 |
|
205 |
|
91 |
$aso_options = array();
|
206 |
$aso_options = array();
|
92 |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
|
207 |
foreach ($liste_site as $ligne ) {
|
- |
|
208 |
$aso_options[$ligne->gs_id_site] = htmlentities($ligne->gs_nom.' ('.$ligne->gs_code_alpha.')');
|
- |
|
209 |
|
- |
|
210 |
// Affichage des traductions
|
- |
|
211 |
$requete_traduction = 'SELECT * '.
|
- |
|
212 |
'FROM gen_site_relation, gen_site '.
|
- |
|
213 |
'WHERE '.$ligne->gs_id_site.' = gsr_id_site_01 ' .
|
- |
|
214 |
'AND gsr_id_site_02 <> gsr_id_site_01 '.
|
- |
|
215 |
'AND gsr_id_site_02 = gs_id_site '.
|
- |
|
216 |
'AND gsr_id_valeur = 1 ';// 1 = "avoir traduction"
|
- |
|
217 |
$resultat_traduction = $db->query($requete_traduction);
|
- |
|
218 |
(DB::isError($resultat_traduction))
|
- |
|
219 |
? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_traduction->getMessage(), $requete_traduction))
|
- |
|
220 |
: '';
|
- |
|
221 |
|
- |
|
222 |
while ($ligne_traduction = $resultat_traduction->fetchRow(DB_FETCHMODE_OBJECT)) {
|
- |
|
223 |
$aso_options[$ligne_traduction->gs_id_site] = ' '.$ligne_traduction->gs_ce_i18n.": ".htmlentities($ligne_traduction->gs_nom.' ('.$ligne_traduction->gs_code_alpha.')');
|
- |
|
224 |
}
|
- |
|
225 |
$resultat_traduction->free();
|
93 |
$aso_options[$ligne->gs_id_site] = htmlentities($ligne->gs_nom.' ('.$ligne->gs_code_alpha.')');
|
226 |
|
94 |
}
|
227 |
}
|
Line 95... |
Line 228... |
95 |
$resultat->free();
|
228 |
$resultat->free();
|
96 |
|
229 |
|
Line 113... |
Line 246... |
113 |
|
246 |
|
114 |
$id = 'form_sites_modifier';
|
247 |
$id = 'form_sites_modifier';
|
115 |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++);
|
248 |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++);
|
116 |
$label = 'Modifier';
|
249 |
$label = 'Modifier';
|
- |
|
250 |
$form->addElement('submit', $id, $label, $aso_attributs);
|
- |
|
251 |
|
- |
|
252 |
$id = 'form_sites_traduire';
|
- |
|
253 |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++);
|
- |
|
254 |
$label = 'Traduire';
|
Line 117... |
Line 255... |
117 |
$form->addElement('submit', $id, $label, $aso_attributs);
|
255 |
$form->addElement('submit', $id, $label, $aso_attributs);
|
118 |
|
256 |
|
119 |
$id = 'form_sites_supprimer';
|
257 |
$id = 'form_sites_supprimer';
|
120 |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'onclick' => 'javascript:return confirm(\''.'Êtes vous sûr de vouloir supprimer ce site ?'.'\');');
|
258 |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'onclick' => 'javascript:return confirm(\''.'Êtes vous sûr de vouloir supprimer ce site ?'.'\');');
|
Line 166... |
Line 304... |
166 |
function ADMIN_afficherFormSite(&$db, $url, $aso_valeurs = array(), $message = '')
|
304 |
function ADMIN_afficherFormSite(&$db, $url, $aso_valeurs = array(), $message = '')
|
167 |
{
|
305 |
{
|
168 |
// Initialisation des valeurs
|
306 |
// Initialisation des valeurs
|
169 |
$sortie = '';
|
307 |
$sortie = '';
|
170 |
$aso_valeurs['modification'] = false;
|
308 |
$aso_valeurs['modification'] = false;
|
- |
|
309 |
$aso_valeurs['traduction'] = false;
|
171 |
$aso_valeurs['defaut'] = false;
|
310 |
$aso_valeurs['defaut'] = false;
|
172 |
$aso_valeurs['type_site_externe'] = 0;
|
311 |
$aso_valeurs['type_site_externe'] = 0;
|
173 |
// Nous cherchons à savoir si nous somme en modification
|
312 |
// Nous cherchons à savoir si nous somme en modification
|
- |
|
313 |
if ((isset($aso_valeurs['form_sites_modifier'])) || (isset($aso_valeurs['form_sites_traduire']))) {
|
174 |
if (isset($aso_valeurs['form_sites_modifier'])) {
|
314 |
if ((isset($aso_valeurs['form_sites_modifier']))) {
|
- |
|
315 |
$as_val['modification'] = true;
|
- |
|
316 |
}
|
- |
|
317 |
else {
|
- |
|
318 |
$as_val['traduction'] = true;
|
- |
|
319 |
};
|
- |
|
320 |
|
- |
|
321 |
if ($as_val['traduction']) {
|
- |
|
322 |
// Traduction d'un site principal uniquement :
|
- |
|
323 |
|
- |
|
324 |
$requete = 'SELECT * '.
|
- |
|
325 |
'FROM gen_site_relation '.
|
- |
|
326 |
'WHERE gsr_id_site_02 = '.$aso_valeurs['form_sites_id_site'].' '.
|
- |
|
327 |
'AND gsr_id_valeur =1 '; // 1 = "avoir traduction"
|
- |
|
328 |
|
- |
|
329 |
$resultat = $db->query($requete);
|
- |
|
330 |
|
- |
|
331 |
if (DB::isError($resultat)) {
|
- |
|
332 |
die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
|
- |
|
333 |
}
|
- |
|
334 |
|
- |
|
335 |
if ( $resultat->numRows() == 0 ) {
|
175 |
$site_id = $aso_valeurs['form_sites_id_site'];
|
336 |
$site_id = $aso_valeurs['form_sites_id_site'];
|
- |
|
337 |
}
|
- |
|
338 |
else {
|
- |
|
339 |
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
|
- |
|
340 |
$site_id = $ligne->gsr_id_site_01;
|
- |
|
341 |
}
|
- |
|
342 |
$resultat->free();
|
- |
|
343 |
}
|
- |
|
344 |
else {
|
- |
|
345 |
$site_id = $aso_valeurs['form_sites_id_site'];
|
- |
|
346 |
}
|
- |
|
347 |
|
176 |
// Requete pour récupérer les informations sur le site à modifier
|
348 |
// Requete pour récupérer les informations sur le site à modifier
|
177 |
$requete = 'SELECT * '.
|
349 |
$requete = 'SELECT * '.
|
178 |
'FROM gen_site '.
|
350 |
'FROM gen_site '.
|
179 |
'WHERE gs_id_site = '.$site_id;
|
351 |
'WHERE gs_id_site = '.$site_id;
|
180 |
$resultat = $db->query($requete);
|
352 |
$resultat = $db->query($requete);
|
181 |
if (DB::isError($resultat)) {
|
353 |
if (DB::isError($resultat)) {
|
182 |
die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
|
354 |
die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
|
183 |
}
|
355 |
}
|
184 |
$aso_valeurs = $resultat->fetchRow(DB_FETCHMODE_ASSOC);
|
356 |
$aso_valeurs = $resultat->fetchRow(DB_FETCHMODE_ASSOC);
|
- |
|
357 |
$site_ligne = $aso_valeurs;
|
185 |
$resultat->free();
|
358 |
$resultat->free();
|
Line 186... |
Line 359... |
186 |
|
359 |
|
187 |
// Requete pour récupérer les informations issues des relations du site à modifier
|
360 |
// Requete pour récupérer les informations issues des relations du site à modifier
|
188 |
$requete = 'SELECT * '.
|
361 |
$requete = 'SELECT * '.
|
189 |
'FROM gen_site_relation '.
|
362 |
'FROM gen_site_relation '.
|
Line 205... |
Line 378... |
205 |
}
|
378 |
}
|
206 |
}
|
379 |
}
|
207 |
}
|
380 |
}
|
208 |
$resultat->free();
|
381 |
$resultat->free();
|
Line -... |
Line 382... |
- |
|
382 |
|
209 |
|
383 |
if (($as_val['modification'])) {
|
- |
|
384 |
$aso_valeurs['modification'] = true;
|
- |
|
385 |
}
|
- |
|
386 |
else {
|
- |
|
387 |
$aso_valeurs['traduction'] = true;
|
- |
|
388 |
};
|
- |
|
389 |
|
- |
|
390 |
|
210 |
$aso_valeurs['modification'] = true;
|
391 |
|
211 |
} else if (isset($aso_valeurs['gs_id_site'])) {
|
392 |
} else if (isset($aso_valeurs['gs_id_site'])) {
|
212 |
$aso_valeurs['modification'] = true;
|
393 |
$aso_valeurs['modification'] = true;
|
213 |
}
|
394 |
}
|
214 |
// Débogage :
|
395 |
// Débogage :
|
215 |
//$GLOBALS['_DEBOGAGE_'] .= '<pre>'.print_r($aso_valeurs, true).'</pre>';
|
396 |
//$GLOBALS['_DEBOGAGE_'] .= '<pre>'.print_r($aso_valeurs, true).'</pre>';
|
216 |
//-------------------------------------------------------------------------------------------------------------------
|
397 |
//-------------------------------------------------------------------------------------------------------------------
|
217 |
// Information précédent le formulaire (en modification)
|
398 |
// Information précédent le formulaire (en modification)
|
218 |
if (isset($aso_valeurs['modification'])&&isset($aso_valeurs['gs_id_site'])) {
|
399 |
if ((isset($aso_valeurs['modification'])||isset($aso_valeurs['traduction']))&&isset($aso_valeurs['gs_id_site'])) {
|
219 |
$sortie .= '<p>'.'Identifiant de ce site : '.'<span id="adsi_site_id">'.$aso_valeurs['gs_id_site'].'</span></p>'."\n";
|
400 |
$sortie .= '<p>'.'Identifiant de ce site : '.'<span id="adsi_site_id">'.$aso_valeurs['gs_id_site'].'</span></p>'."\n";
|
220 |
}
|
401 |
}
|
221 |
//-------------------------------------------------------------------------------------------------------------------
|
402 |
//-------------------------------------------------------------------------------------------------------------------
|
222 |
// Création du formulaire
|
403 |
// Création du formulaire
|
Line 238... |
Line 419... |
238 |
$squelette->setRequiredNoteTemplate("\n".'<p><span class="symbole_obligatoire">*</span> {requiredNote}</p>'."\n");
|
419 |
$squelette->setRequiredNoteTemplate("\n".'<p><span class="symbole_obligatoire">*</span> {requiredNote}</p>'."\n");
|
Line 239... |
Line 420... |
239 |
|
420 |
|
240 |
$partie_site_debut = '<fieldset>'."\n".'<legend>Configuration du site</legend>'."\n".'<ul>'."\n";
|
421 |
$partie_site_debut = '<fieldset>'."\n".'<legend>Configuration du site</legend>'."\n".'<ul>'."\n";
|
Line 241... |
Line 422... |
241 |
$form->addElement('html', $partie_site_debut);
|
422 |
$form->addElement('html', $partie_site_debut);
|
242 |
|
423 |
|
- |
|
424 |
if ($aso_valeurs['modification'] || $aso_valeurs['traduction']) {
|
- |
|
425 |
$form->addElement('hidden', 'gs_id_site');
|
243 |
if ($aso_valeurs['modification']) {
|
426 |
$form->addElement('hidden', 'modification');
|
Line 244... |
Line 427... |
244 |
$form->addElement('hidden', 'gs_id_site');
|
427 |
$form->addElement('hidden', 'traduction');
|
245 |
}
|
428 |
}
|
246 |
|
429 |
|
Line 290... |
Line 473... |
290 |
$id = 'gs_ce_auth';
|
473 |
$id = 'gs_ce_auth';
|
291 |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++);
|
474 |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++);
|
292 |
$label = '<label for="'.$id.'">'.'Identification : '.'</label>';
|
475 |
$label = '<label for="'.$id.'">'.'Identification : '.'</label>';
|
293 |
$form->addElement('select', $id, $label, $aso_options, $aso_attributs);
|
476 |
$form->addElement('select', $id, $label, $aso_options, $aso_attributs);
|
Line 294... |
Line 477... |
294 |
|
477 |
|
295 |
// En modification nous affichons la liste des squelettes disponiblent dans
|
478 |
// En modification nous affichons la liste des squelettes disponibles dans
|
296 |
// le dossier du site.
|
479 |
// le dossier du site.
|
297 |
if ($aso_valeurs['modification']) {
|
480 |
if ($aso_valeurs['modification'] || $aso_valeurs['traduction']) {
|
298 |
$aso_options = array();
|
481 |
$aso_options = array();
|
299 |
if (!GEN_FTP_UTILISE) {
|
482 |
if (!GEN_FTP_UTILISE) {
|
300 |
$chemin_squelettes = PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.
|
483 |
$chemin_squelettes = PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.
|
301 |
$aso_valeurs['gs_ce_i18n'].GEN_SEP.GEN_DOSSIER_SQUELETTE.GEN_SEP;
|
484 |
$aso_valeurs['gs_ce_i18n'].GEN_SEP.GEN_DOSSIER_SQUELETTE.GEN_SEP;
|
Line 348... |
Line 531... |
348 |
$label = '<label for="'.$id.'">'.'Squelette : '.'</label>';
|
531 |
$label = '<label for="'.$id.'">'.'Squelette : '.'</label>';
|
349 |
$form->addElement('select', $id, $label, $aso_options, $aso_attributs);
|
532 |
$form->addElement('select', $id, $label, $aso_options, $aso_attributs);
|
350 |
}
|
533 |
}
|
Line 351... |
Line 534... |
351 |
|
534 |
|
- |
|
535 |
// Requete pour connaitre les internationalisation dispo
|
- |
|
536 |
|
352 |
// Requete pour connaitre les internationalisation dispo
|
537 |
if (!$aso_valeurs['modification'] && !$aso_valeurs['traduction']) {
|
353 |
$requete = 'SELECT * '.
|
538 |
$requete = 'SELECT * '.
|
- |
|
539 |
'FROM gen_i18n ';
|
- |
|
540 |
}
|
- |
|
541 |
else {
|
- |
|
542 |
|
- |
|
543 |
|
- |
|
544 |
if ($aso_valeurs['traduction']) {
|
- |
|
545 |
|
- |
|
546 |
// Recherche liste des sites deja traduits
|
- |
|
547 |
|
- |
|
548 |
$requete = 'SELECT distinct gs_ce_i18n '.
|
- |
|
549 |
'FROM gen_site_relation, gen_site '.
|
- |
|
550 |
'WHERE gsr_id_site_01 = ' .$site_ligne['gs_id_site'] .' '.
|
- |
|
551 |
'AND gs_id_site = gsr_id_site_02 '.
|
- |
|
552 |
'AND gsr_id_valeur =1 '; // 1 = "avoir traduction"
|
- |
|
553 |
|
- |
|
554 |
$resultat = $db->query($requete) ;
|
- |
|
555 |
if (DB::isError($resultat)) {
|
- |
|
556 |
die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
|
- |
|
557 |
}
|
- |
|
558 |
$not_in_langue='';
|
- |
|
559 |
if ( $resultat->numRows() == 0 ) {
|
- |
|
560 |
$not_in_langue="gi_id_i18n not in('".$site_ligne['gs_ce_i18n']."')";
|
- |
|
561 |
}
|
- |
|
562 |
else {
|
- |
|
563 |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
|
- |
|
564 |
$not_in_langue="'".$ligne->gs_ce_i18n."'".",".$not_in_langue;
|
- |
|
565 |
$end="'".$ligne->gs_ce_i18n."'";
|
- |
|
566 |
}
|
- |
|
567 |
$not_in_langue=' gi_id_i18n not in('.$not_in_langue.$end.')';
|
- |
|
568 |
}
|
- |
|
569 |
$resultat->free();
|
- |
|
570 |
|
- |
|
571 |
$requete = "SELECT * FROM gen_i18n where ".$not_in_langue;
|
- |
|
572 |
}
|
- |
|
573 |
else
|
- |
|
574 |
{
|
- |
|
575 |
$requete = "SELECT * FROM gen_i18n where gi_id_i18n =('".$site_ligne['gs_ce_i18n']."')";
|
- |
|
576 |
}
|
354 |
'FROM gen_i18n ';
|
577 |
}
|
355 |
$resultat = $db->query($requete) ;
|
578 |
$resultat = $db->query($requete) ;
|
356 |
if (DB::isError($resultat)) {
|
579 |
if (DB::isError($resultat)) {
|
357 |
die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
|
580 |
die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
|
358 |
}
|
581 |
}
|
Line 396... |
Line 619... |
396 |
|
619 |
|
397 |
$partie_entete_debut = '<fieldset>'."\n".'<legend>Entête par défaut des pages du site</legend>'."\n".'<ul>'."\n";
|
620 |
$partie_entete_debut = '<fieldset>'."\n".'<legend>Entête par défaut des pages du site</legend>'."\n".'<ul>'."\n";
|
Line 398... |
Line 621... |
398 |
$form->addElement('html', $partie_entete_debut);
|
621 |
$form->addElement('html', $partie_entete_debut);
|
399 |
|
622 |
|
400 |
$id = 'gs_titre';
|
623 |
$id = 'gs_titre';
|
401 |
$aso_attributs = array('id'=>$id, 'tabindex' => $tab_index++, 'size' => 45, 'maxlength' => 255, 'value' => 'titre du site');
|
624 |
$aso_attributs = array('id'=>$id, 'tabindex' => $tab_index++, 'size' => 45, 'maxlength' => 255, 'value' => ADSI_TITRE_SITE);
|
402 |
$label = '<label for="'.$id.'">'.'Titre du site : '.'</label>';
|
625 |
$label = '<label for="'.$id.'">'.ADSI_TITRE_SITE.' : '.'</label>';
|
Line 403... |
Line 626... |
403 |
$form->addElement('text', $id, $label, $aso_attributs);
|
626 |
$form->addElement('text', $id, $label, $aso_attributs);
|
404 |
$form->addRule('gs_titre', 'Un titre est requis pour le site !', 'required', '', 'client');
|
627 |
$form->addRule('gs_titre', 'Un titre est requis pour le site !', 'required', '', 'client');
|
Line 426... |
Line 649... |
426 |
$form->addRule('gs_auteur', 'Un auteur est requis pour le site !', 'required', '', 'client');
|
649 |
$form->addRule('gs_auteur', 'Un auteur est requis pour le site !', 'required', '', 'client');
|
Line 427... |
Line 650... |
427 |
|
650 |
|
428 |
$partie_entete_fin = '</ul>'."\n".'</fieldset>'."\n";
|
651 |
$partie_entete_fin = '</ul>'."\n".'</fieldset>'."\n";
|
Line 429... |
Line 652... |
429 |
$form->addElement('html', $partie_entete_fin);
|
652 |
$form->addElement('html', $partie_entete_fin);
|
430 |
|
653 |
|
431 |
if ($aso_valeurs['modification']) {
|
654 |
if ($aso_valeurs['modification'] || $aso_valeurs['traduction']) {
|
432 |
// Requete pour connaitre les informations sur l'administrateur ayant fait la dernière modif
|
655 |
// Requete pour connaitre les informations sur l'administrateur ayant fait la dernière modif
|
433 |
$requete_admin = 'SELECT * '.
|
656 |
$requete_admin = 'SELECT * '.
|
434 |
'FROM gen_annuaire '.
|
657 |
'FROM gen_annuaire '.
|
Line 445... |
Line 668... |
445 |
$form->addElement('hidden', 'gs_ce_admin');
|
668 |
$form->addElement('hidden', 'gs_ce_admin');
|
446 |
$form->addElement('hidden', 'gs_date_creation');
|
669 |
$form->addElement('hidden', 'gs_date_creation');
|
447 |
}
|
670 |
}
|
Line 448... |
Line 671... |
448 |
|
671 |
|
- |
|
672 |
// Titre de la page:
|
449 |
// Titre de la page:
|
673 |
if ($aso_valeurs['modification']) {
|
- |
|
674 |
$titre = 'Modifier un site';
|
- |
|
675 |
$bouton_validation = '<input type="submit" id="site_modifier" name="site_modifier" value="Enregistrer" />';
|
- |
|
676 |
}
|
450 |
$titre = 'Modifier un site';
|
677 |
else {
|
451 |
// Bouton validant le formulaire
|
678 |
$titre = 'Traduire un site';
|
- |
|
679 |
$bouton_validation = '<input type="submit" id="site_traduire" name="site_traduire" value="Enregistrer" />';
|
- |
|
680 |
}
|
452 |
$bouton_validation = '<input type="submit" id="site_modifier" name="site_modifier" value="Enregistrer" />';
|
681 |
|
453 |
} else {
|
682 |
} else {
|
454 |
// Titre de la page:
|
683 |
// Titre de la page:
|
455 |
$titre = 'Ajouter un site';
|
684 |
$titre = 'Ajouter un site';
|
456 |
// Bouton validant le formulaire
|
685 |
// Bouton validant le formulaire
|
Line 513... |
Line 742... |
513 |
}
|
742 |
}
|
514 |
if (preg_match('/^[0-9]+$/',$aso_valeurs['gs_code_num']) == 0) {
|
743 |
if (preg_match('/^[0-9]+$/',$aso_valeurs['gs_code_num']) == 0) {
|
515 |
$message .= '<p class="pap_erreur">Le champ "Code numérique" doit contenir un nombre.</p>';
|
744 |
$message .= '<p class="pap_erreur">Le champ "Code numérique" doit contenir un nombre.</p>';
|
516 |
}
|
745 |
}
|
Line 517... |
Line 746... |
517 |
|
746 |
|
518 |
// Requete pour vérifier l'abscence du code numérique et alphanumérique de la table gen_site
|
- |
|
519 |
$requete = 'SELECT gs_code_alpha, gs_code_num '.
|
747 |
// Requete pour vérifier l'absence du code numérique et alphanumérique de la table gen_site
|
520 |
'FROM gen_site, gen_site_relation '.
|
- |
|
521 |
'WHERE gsr_id_site_01 = gsr_id_site_02 '.
|
- |
|
522 |
'AND gsr_id_site_01 = gs_id_site '.
|
- |
|
523 |
'AND gsr_id_valeur IN (102, 103) ';// 102 = site "principal" et 103 = site "externe"
|
- |
|
Line -... |
Line 748... |
- |
|
748 |
// en mode creation uniquement !
|
- |
|
749 |
|
- |
|
750 |
if (!$aso_valeurs['site_modifier'] && !$aso_valeurs['site_traduire'] ) {
|
- |
|
751 |
|
- |
|
752 |
$requete = 'SELECT gs_code_alpha, gs_code_num '.
|
- |
|
753 |
'FROM gen_site, gen_site_relation '.
|
- |
|
754 |
'WHERE gsr_id_site_01 = gsr_id_site_02 '.
|
- |
|
755 |
'AND gsr_id_site_01 = gs_id_site '.
|
- |
|
756 |
'AND gsr_id_valeur IN (102, 103) ';// 102 = site "principal" et 103 = site "externe"
|
- |
|
757 |
$requete .= (isset($aso_valeurs['gs_id_site'])) ? 'AND gs_id_site != '.$aso_valeurs['gs_id_site'] : '';
|
524 |
$requete .= (isset($aso_valeurs['gs_id_site'])) ? 'AND gs_id_site != '.$aso_valeurs['gs_id_site'] : '';
|
758 |
|
525 |
|
759 |
|
526 |
$resultat = $db->query($requete);
|
760 |
$resultat = $db->query($requete);
|
- |
|
761 |
if (DB::isError($resultat)) {
|
- |
|
762 |
die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
|
- |
|
763 |
}
|
- |
|
764 |
|
- |
|
765 |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ) {
|
- |
|
766 |
if ($ligne->gs_code_num == $aso_valeurs['gs_code_num']) {
|
- |
|
767 |
$message .= '<p class="pap_erreur">La valeur "'.$aso_valeurs['gs_code_num'].'" pour le champ "Code numérique" existe déjà.</p>';
|
- |
|
768 |
}
|
- |
|
769 |
if ($ligne->gs_code_alpha == $aso_valeurs['gs_code_alpha']) {
|
- |
|
770 |
$message .= '<p class="pap_erreur">La valeur "'.$aso_valeurs['gs_code_alpha'].'" pour le champ "Code alphanumérique" existe déjà.</p>';
|
- |
|
771 |
}
|
- |
|
772 |
}
|
- |
|
773 |
|
527 |
if (DB::isError($resultat)) {
|
774 |
$resultat->free();
|
Line 528... |
Line -... |
528 |
die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
|
- |
|
529 |
}
|
- |
|
530 |
|
- |
|
531 |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ) {
|
775 |
|
532 |
if ($ligne->gs_code_num == $aso_valeurs['gs_code_num']) {
|
776 |
}
|
533 |
$message .= '<p class="pap_erreur">La valeur "'.$aso_valeurs['gs_code_num'].'" pour le champ "Code numérique" existe déjà.</p>';
|
- |
|
534 |
}
|
- |
|
535 |
if ($ligne->gs_code_alpha == $aso_valeurs['gs_code_alpha']) {
|
777 |
|
536 |
$message .= '<p class="pap_erreur">La valeur "'.$aso_valeurs['gs_code_alpha'].'" pour le champ "Code alphanumérique" existe déjà.</p>';
|
- |
|
Line 537... |
Line 778... |
537 |
}
|
778 |
else {
|
538 |
}
|
779 |
// Refuser si plus de traduction disponible !
|
539 |
$resultat->free();
|
780 |
}
|
540 |
|
781 |
|
Line 795... |
Line 1036... |
795 |
|
1036 |
|
796 |
$message = '<p class="pap_info">'.'Succés de l\'ajout du site.'.'</p>';
|
1037 |
$message = '<p class="pap_info">'.'Succés de l\'ajout du site.'.'</p>';
|
797 |
return $message;
|
1038 |
return $message;
|
Line -... |
Line 1039... |
- |
|
1039 |
}
|
- |
|
1040 |
|
- |
|
1041 |
/** Fonction ADMIN_traduireSite() - Traduire un site papyrus
|
- |
|
1042 |
*
|
- |
|
1043 |
* Cette fonction traduit un site à Papyrus, c'est à dire :
|
- |
|
1044 |
* - 1. Création des répertoire du projet en fonction du nom et des sous-répertoires.
|
- |
|
1045 |
* - 2. Insertion d'une ligne dans la table "gen_site".
|
- |
|
1046 |
* - 3. Insertion d'une ligne dans la table "gen_site_auth" et ses tables liées si nécessaire.
|
- |
|
1047 |
*
|
- |
|
1048 |
* @param string l'objet pear de connexion à la base de données.
|
- |
|
1049 |
* @param string le tableau contenant les valeurs du formulaire.
|
- |
|
1050 |
* @param int identifiant de l'administrateur réalisant cette création.
|
- |
|
1051 |
* @return string retourne un message en cas de succès ou d'échec.
|
- |
|
1052 |
*/
|
- |
|
1053 |
function ADMIN_traduireSite(&$db, $aso_valeurs, $id_admin)
|
- |
|
1054 |
{
|
- |
|
1055 |
// Nous vérifions si nous avons à faire à un site externe.
|
- |
|
1056 |
$id_type_site = '102';// par défaut on considére que c'est un site "principal"
|
- |
|
1057 |
if (isset($aso_valeurs['type_site_externe']) && $aso_valeurs['type_site_externe'] > 0 && !empty($aso_valeurs['gs_url']) && $aso_valeurs['gs_url'] != 'http://') {
|
- |
|
1058 |
$id_type_site = '103';// c'est un site "externe"
|
- |
|
1059 |
}
|
- |
|
1060 |
|
- |
|
1061 |
// Ajout des répertoires des sites "principaux" soit par manipulation de fichier soit par FTP en fonction de la constante définie
|
- |
|
1062 |
// par l'utilisateur dans le fichier de config avancée.
|
- |
|
1063 |
$tab_rep_langue = array(GEN_DOSSIER_GENERIQUE, $aso_valeurs['gs_ce_i18n']);
|
- |
|
1064 |
$tab_rep_site = array( GEN_DOSSIER_IMAGE,
|
- |
|
1065 |
GEN_DOSSIER_STYLE,
|
- |
|
1066 |
GEN_DOSSIER_SCRIPT,
|
- |
|
1067 |
GEN_DOSSIER_SQUELETTE,
|
- |
|
1068 |
GEN_DOSSIER_DOC);
|
- |
|
1069 |
if (!GEN_FTP_UTILISE && $id_type_site != '103') {
|
- |
|
1070 |
foreach ($tab_rep_langue as $nom_rep_langue) {
|
- |
|
1071 |
foreach ($tab_rep_site as $nom_rep_site) {
|
- |
|
1072 |
$chemin_repertoire = PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.
|
- |
|
1073 |
$nom_rep_langue.GEN_SEP.$nom_rep_site;
|
- |
|
1074 |
$vieux_umask = umask(0);
|
- |
|
1075 |
$resultat = creerDossier($chemin_repertoire, 0777, GEN_SEP);
|
- |
|
1076 |
umask($vieux_umask);
|
- |
|
1077 |
if ($resultat == false) {
|
- |
|
1078 |
$message = '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de créer le répertoire.<br />'.
|
- |
|
1079 |
'Répertoire : '. $chemin_repertoire .'<br />'.
|
- |
|
1080 |
'Ligne n° : '. __LINE__ .'<br />'.
|
- |
|
1081 |
'Fichier n° : '. __FILE__ .'<br /></p>';
|
- |
|
1082 |
return $message;
|
- |
|
1083 |
}
|
- |
|
1084 |
}
|
- |
|
1085 |
}
|
- |
|
1086 |
$chemin_squelette_defaut = PAP_CHEMIN_RACINE.GEN_CHEMIN_COMMUN.GEN_DOSSIER_GENERIQUE.GEN_SEP.
|
- |
|
1087 |
GEN_DOSSIER_SQUELETTE.GEN_SEP.GEN_FICHIER_SQUELETTE;
|
- |
|
1088 |
$chemin_squelette_site = PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.
|
- |
|
1089 |
$aso_valeurs['gs_ce_i18n'].GEN_SEP.GEN_DOSSIER_SQUELETTE.GEN_SEP.GEN_FICHIER_SQUELETTE;
|
- |
|
1090 |
if (!copy($chemin_squelette_defaut, $chemin_squelette_site)) {
|
- |
|
1091 |
$message = '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de créer le fichier de squellete par défaut.<br />'.
|
- |
|
1092 |
'Fichier : '. $chemin_squelette_site .'<br />'.
|
- |
|
1093 |
'Ligne n° : '. __LINE__ .'<br />'.
|
- |
|
1094 |
'Fichier n° : '. __FILE__ .'<br /></p>';
|
- |
|
1095 |
return $message;
|
- |
|
1096 |
}
|
- |
|
1097 |
$chemin_style_defaut = PAP_CHEMIN_RACINE.GEN_CHEMIN_COMMUN.GEN_DOSSIER_GENERIQUE.GEN_SEP.
|
- |
|
1098 |
GEN_DOSSIER_STYLE.GEN_SEP.GEN_FICHIER_STYLE;
|
- |
|
1099 |
$chemin_style_site = PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.
|
- |
|
1100 |
$aso_valeurs['gs_ce_i18n'].GEN_SEP.GEN_DOSSIER_STYLE.GEN_SEP.GEN_FICHIER_STYLE;
|
- |
|
1101 |
if (!copy($chemin_style_defaut, $chemin_style_site)) {
|
- |
|
1102 |
$message = '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de créer le fichier de style par défaut.<br />'.
|
- |
|
1103 |
'Fichier : '. $chemin_style_site .'<br />'.
|
- |
|
1104 |
'Ligne n° : '. __LINE__ .'<br />'.
|
- |
|
1105 |
'Fichier n° : '. __FILE__ .'<br /></p>';
|
- |
|
1106 |
return $message;
|
- |
|
1107 |
}
|
- |
|
1108 |
} else if (GEN_FTP_UTILISE && $id_type_site != '103') { // 103 est le type "site externe"
|
- |
|
1109 |
// Création d'une connection ftp avec Net_FTP de PEAR
|
- |
|
1110 |
// voir http://pear.php.net/manual/fr/package.networking.net-ftp.php
|
- |
|
1111 |
|
- |
|
1112 |
// création de l'objet pear ftp
|
- |
|
1113 |
$objet_pear_ftp = new Net_FTP(PAP_FTP_SERVEUR, PAP_FTP_PORT);
|
- |
|
1114 |
// création de la connexion
|
- |
|
1115 |
$ftp_conn = $objet_pear_ftp->connect(PAP_FTP_SERVEUR, PAP_FTP_PORT);
|
- |
|
1116 |
// identification
|
- |
|
1117 |
$ftp_login_result = $objet_pear_ftp->login(PAP_FTP_UTILISATEUR, PAP_FTP_MOT_DE_PASSE);
|
- |
|
1118 |
// Gestion des erreurs ftp
|
- |
|
1119 |
if ((PEAR::isError($ftp_conn) || PEAR::isError($ftp_login_result))) {
|
- |
|
1120 |
$message = '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de se connecter par ftp.<br />'.
|
- |
|
1121 |
'Serveur : '. PAP_FTP_SERVEUR .'<br />'.
|
- |
|
1122 |
'Utilisateur : '. PAP_FTP_UTILISATEUR .'<br />'.
|
- |
|
1123 |
'Erreur connexion : '.$ftp_conn->getMessage().'<br />'.
|
- |
|
1124 |
'Erreur login : '.$ftp_login_result->getMessage().'<br />'.
|
- |
|
1125 |
'Ligne n° : '. __LINE__ .'<br />'.
|
- |
|
1126 |
'Fichier n° : '. __FILE__ .'<br /><p>';
|
- |
|
1127 |
return $message;
|
- |
|
1128 |
}
|
- |
|
1129 |
$objet_pear_ftp->mkdir(PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha']) ;
|
- |
|
1130 |
|
- |
|
1131 |
//$objet_pear_ftp->cd(PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha']) ;
|
- |
|
1132 |
foreach ($tab_rep_langue as $nom_rep_langue) {
|
- |
|
1133 |
$objet_pear_ftp->mkdir(PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.$nom_rep_langue) ;
|
- |
|
1134 |
foreach ($tab_rep_site as $nom_rep_site) {
|
- |
|
1135 |
$chemin_repertoire = PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.$nom_rep_langue.GEN_SEP.$nom_rep_site;
|
- |
|
1136 |
|
- |
|
1137 |
$resultat = $objet_pear_ftp->mkdir($chemin_repertoire) ;
|
- |
|
1138 |
if (PEAR::isError($resultat)) {
|
- |
|
1139 |
$message = '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de créer le répertoire par ftp.<br />'.
|
- |
|
1140 |
'Répertoire : '. $chemin_repertoire .'<br />'.
|
- |
|
1141 |
'Erreur origine : '. $resultat->getMessage() .'<br />'.
|
- |
|
1142 |
'Ligne n° : '. __LINE__ .'<br />'.
|
- |
|
1143 |
'Fichier n° : '. __FILE__ .'<br /></p>';
|
- |
|
1144 |
return $message;
|
- |
|
1145 |
}
|
- |
|
1146 |
}
|
- |
|
1147 |
}
|
- |
|
1148 |
$chemin_squelette_defaut = PAP_CHEMIN_RACINE.GEN_CHEMIN_COMMUN.GEN_DOSSIER_GENERIQUE.GEN_SEP.
|
- |
|
1149 |
GEN_DOSSIER_SQUELETTE.GEN_SEP.GEN_FICHIER_SQUELETTE;
|
- |
|
1150 |
$chemin_squelette_site = PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.
|
- |
|
1151 |
$aso_valeurs['gs_ce_i18n'].GEN_SEP.GEN_DOSSIER_SQUELETTE.GEN_SEP.GEN_FICHIER_SQUELETTE;
|
- |
|
1152 |
$resultat = $objet_pear_ftp->put($chemin_squelette_defaut, $chemin_squelette_site, true, FTP_BINARY);
|
- |
|
1153 |
if (PEAR::isError($resultat)) {
|
- |
|
1154 |
$message = '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de copier le squelette defaut par ftp.<br />'.
|
- |
|
1155 |
'Fichier origine : '. $chemin_squelette_defaut .'<br />'.
|
- |
|
1156 |
'Fichier copié : '. $chemin_squelette_site .'<br />'.
|
- |
|
1157 |
'Erreur origine : '. $resultat->getMessage() .'<br />'.
|
- |
|
1158 |
'Ligne n° : '. __LINE__ .'<br />'.
|
- |
|
1159 |
'Fichier n° : '. __FILE__ .'<br /></p>';
|
- |
|
1160 |
return $message;
|
- |
|
1161 |
}
|
- |
|
1162 |
$chemin_style_defaut = PAP_CHEMIN_RACINE.GEN_CHEMIN_COMMUN.GEN_DOSSIER_GENERIQUE.GEN_SEP.
|
- |
|
1163 |
GEN_DOSSIER_STYLE.GEN_SEP.GEN_FICHIER_STYLE;
|
- |
|
1164 |
$chemin_style_site = PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.
|
- |
|
1165 |
$aso_valeurs['gs_ce_i18n'].GEN_SEP.GEN_DOSSIER_STYLE.GEN_SEP.GEN_FICHIER_STYLE;
|
- |
|
1166 |
$resultat = $objet_pear_ftp->put($chemin_style_defaut, $chemin_style_site, true, FTP_BINARY);
|
- |
|
1167 |
if (PEAR::isError($resultat)) {
|
- |
|
1168 |
$message = '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de copier les styles defaut par ftp.<br />'.
|
- |
|
1169 |
'Fichier origine : '. $chemin_style_defaut .'<br />'.
|
- |
|
1170 |
'Fichier copié : '. $chemin_style_site .'<br />'.
|
- |
|
1171 |
'Erreur origine : '. $resultat->getMessage() .'<br />'.
|
- |
|
1172 |
'Ligne n° : '. __LINE__ .'<br />'.
|
- |
|
1173 |
'Fichier n° : '. __FILE__ .'<br /></p>';
|
- |
|
1174 |
return $message;
|
- |
|
1175 |
}
|
- |
|
1176 |
$objet_pear_ftp->disconnect();
|
- |
|
1177 |
}
|
- |
|
1178 |
|
- |
|
1179 |
$id_site = SQL_obtenirNouveauId($db, 'gen_site','gs_id_site');
|
- |
|
1180 |
|
- |
|
1181 |
if ($id_site == false) {
|
- |
|
1182 |
$message = '<p class="erreur"> ERREUR Génésia admin : impossible de récupérer un identifiant pour la table gen_site.<br />'.
|
- |
|
1183 |
'Ligne n° : '. __LINE__ .'<br />'.
|
- |
|
1184 |
'Fichier n° : '. __FILE__ .'<br /></p>';
|
- |
|
1185 |
return $message;
|
- |
|
1186 |
}
|
- |
|
1187 |
|
- |
|
1188 |
// Modification de la requete si nous avons à faire à un site externe.
|
- |
|
1189 |
$requete_complement = ', gs_url = NULL';
|
- |
|
1190 |
if (isset($aso_valeurs['type_site_externe']) && $aso_valeurs['type_site_externe'] > 0 && !empty($aso_valeurs['gs_url']) && $aso_valeurs['gs_url'] != 'http://') {
|
- |
|
1191 |
$requete_complement = ', gs_url = "'.$aso_valeurs['gs_url'].'"';
|
- |
|
1192 |
}
|
- |
|
1193 |
|
- |
|
1194 |
// Requete d'insertion des infos d'un site dans gen_site
|
- |
|
1195 |
$requete = 'INSERT INTO gen_site '.
|
- |
|
1196 |
'SET gs_id_site = '.$id_site.', '.
|
- |
|
1197 |
'gs_ce_i18n = "'.$aso_valeurs['gs_ce_i18n'].'", '.
|
- |
|
1198 |
'gs_ce_auth = '.$aso_valeurs['gs_ce_auth'].', '.
|
- |
|
1199 |
'gs_fichier_squelette = "defaut.html", '.
|
- |
|
1200 |
'gs_code_num = '.$aso_valeurs['gs_code_num'].', '.
|
- |
|
1201 |
'gs_code_alpha = "'.$aso_valeurs['gs_code_alpha'].'", '.
|
- |
|
1202 |
'gs_nom = "'.$aso_valeurs['gs_nom'].'", '.
|
- |
|
1203 |
'gs_raccourci_clavier = "'.$aso_valeurs['gs_raccourci_clavier'].'", '.
|
- |
|
1204 |
'gs_titre = "'.$aso_valeurs['gs_titre'].'", '.
|
- |
|
1205 |
'gs_mots_cles = "'.$aso_valeurs['gs_mots_cles'].'", '.
|
- |
|
1206 |
'gs_description = "'.$aso_valeurs['gs_description'].'", '.
|
- |
|
1207 |
'gs_auteur = "'.$aso_valeurs['gs_auteur'].'", '.
|
- |
|
1208 |
'gs_date_creation = "'.date('Y-m-d H:i:s').'", '.
|
- |
|
1209 |
'gs_ce_admin = '.$id_admin.
|
- |
|
1210 |
$requete_complement;
|
- |
|
1211 |
$resultat = $db->query($requete);
|
- |
|
1212 |
if (DB::isError($resultat)) {
|
- |
|
1213 |
die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
|
- |
|
1214 |
}
|
- |
|
1215 |
|
- |
|
1216 |
// Recherche du nouveau numéro d'ordre de ce site "principal" ou "externe"
|
- |
|
1217 |
$requete = 'SELECT MAX(gsr_ordre) AS max_ordre '.
|
- |
|
1218 |
'FROM gen_site_relation '.
|
- |
|
1219 |
'WHERE gsr_id_site_01 = gsr_id_site_02 '.
|
- |
|
1220 |
'AND gsr_id_valeur IN (102, 103) ';// 102 = site "principal" et 103 = site "externe"
|
- |
|
1221 |
$resultat = $db->query($requete) ;
|
- |
|
1222 |
if (DB::isError($resultat)) {
|
- |
|
1223 |
die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
|
- |
|
1224 |
}
|
- |
|
1225 |
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
|
- |
|
1226 |
$nouvel_ordre = $ligne->max_ordre + 1;
|
- |
|
1227 |
|
- |
|
1228 |
// Requete d'insertion des relations dans gen_site_relation
|
- |
|
1229 |
|
- |
|
1230 |
$requete = 'INSERT INTO gen_site_relation '.
|
- |
|
1231 |
'SET gsr_id_site_01 = '.$id_site.', '.
|
- |
|
1232 |
'gsr_id_site_02 = '.$id_site.', '.
|
- |
|
1233 |
'gsr_id_valeur = '.$id_type_site.', '.
|
- |
|
1234 |
'gsr_ordre = '.$nouvel_ordre;
|
- |
|
1235 |
$resultat = $db->query($requete);
|
- |
|
1236 |
if (DB::isError($resultat)) {
|
- |
|
1237 |
die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
|
- |
|
1238 |
}
|
- |
|
1239 |
|
- |
|
1240 |
// Traduction : Requete d'insertion des relations dans gen_site_relation
|
- |
|
1241 |
|
- |
|
1242 |
$requete = 'SELECT MAX(gsr_ordre) AS max_ordre '.
|
- |
|
1243 |
'FROM gen_site_relation '.
|
- |
|
1244 |
'WHERE gsr_id_site_01 = ' .$aso_valeurs['gs_id_site'] .' '.
|
- |
|
1245 |
'AND gsr_id_valeur =1 '; // 1 = "avoir traduction"
|
- |
|
1246 |
$resultat = $db->query($requete) ;
|
- |
|
1247 |
if (DB::isError($resultat)) {
|
- |
|
1248 |
die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
|
- |
|
1249 |
}
|
- |
|
1250 |
if ( $resultat->numRows() == 0 ) {
|
- |
|
1251 |
$nouvel_ordre = 1;
|
- |
|
1252 |
}
|
- |
|
1253 |
else {
|
- |
|
1254 |
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
|
- |
|
1255 |
$nouvel_ordre = $ligne->max_ordre + 1;
|
- |
|
1256 |
}
|
- |
|
1257 |
|
- |
|
1258 |
// 1 : insertion information traduction pere (si inexistant)
|
- |
|
1259 |
|
- |
|
1260 |
$requete = 'SELECT * '.
|
- |
|
1261 |
'FROM gen_site_relation '.
|
- |
|
1262 |
'WHERE gsr_id_site_01 = ' .$aso_valeurs['gs_id_site'] .' '.
|
- |
|
1263 |
'AND gsr_id_site_01 = gsr_id_site_02 '.
|
- |
|
1264 |
'AND gsr_id_valeur =1 '; // 1 = "avoir traduction"
|
- |
|
1265 |
|
- |
|
1266 |
$resultat = $db->query($requete) ;
|
- |
|
1267 |
if (DB::isError($resultat)) {
|
- |
|
1268 |
die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
|
- |
|
1269 |
}
|
- |
|
1270 |
if ( $resultat->numRows() == 0 ) {
|
- |
|
1271 |
|
- |
|
1272 |
$requete = 'INSERT INTO gen_site_relation '.
|
- |
|
1273 |
'SET gsr_id_site_01 = '. $aso_valeurs['gs_id_site'].', '.
|
- |
|
1274 |
'gsr_id_site_02 = '.$aso_valeurs['gs_id_site'].', '.
|
- |
|
1275 |
'gsr_id_valeur = 1, '. // 1 = "avoir traduction"
|
- |
|
1276 |
'gsr_ordre = 1 ';
|
- |
|
1277 |
$resultat = $db->query($requete);
|
- |
|
1278 |
if (DB::isError($resultat)) {
|
- |
|
1279 |
die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
|
- |
|
1280 |
}
|
- |
|
1281 |
$nouvel_ordre = 2;
|
- |
|
1282 |
}
|
- |
|
1283 |
|
- |
|
1284 |
|
- |
|
1285 |
// 2 : insertion information traduction site en cours (si inexistant ?) (et la mise a jour, c'est ailleurs
|
- |
|
1286 |
// dans les mises à jour
|
- |
|
1287 |
|
- |
|
1288 |
$requete = 'INSERT INTO gen_site_relation '.
|
- |
|
1289 |
'SET gsr_id_site_01 = '. $aso_valeurs['gs_id_site'].', '.
|
- |
|
1290 |
'gsr_id_site_02 = '.$id_site.', '.
|
- |
|
1291 |
'gsr_id_valeur = 1, '. // 1 = "avoir traduction"
|
- |
|
1292 |
'gsr_ordre = '.$nouvel_ordre;
|
- |
|
1293 |
$resultat = $db->query($requete);
|
- |
|
1294 |
if (DB::isError($resultat)) {
|
- |
|
1295 |
die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
|
- |
|
1296 |
}
|
- |
|
1297 |
|
- |
|
1298 |
|
- |
|
1299 |
// Gestion du site par défaut
|
- |
|
1300 |
if (isset($aso_valeurs['defaut']) && $aso_valeurs['defaut'] == 1) {
|
- |
|
1301 |
$requete_supr_defaut = 'DELETE FROM gen_site_relation '.
|
- |
|
1302 |
'WHERE gsr_id_site_01 = gsr_id_site_02 '.
|
- |
|
1303 |
'AND gsr_id_valeur = 101 ';// 101 = site par "defaut"
|
- |
|
1304 |
$resultat_supr_defaut = $db->query($requete_supr_defaut);
|
- |
|
1305 |
if (DB::isError($resultat_supr_defaut)) {
|
- |
|
1306 |
die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_supr_defaut->getMessage(), $requete_supr_defaut));
|
- |
|
1307 |
}
|
- |
|
1308 |
|
- |
|
1309 |
// Requete d'insertion de la relations site par défaut
|
- |
|
1310 |
$requete = 'INSERT INTO gen_site_relation '.
|
- |
|
1311 |
'SET gsr_id_site_01 = '.$id_site.', '.
|
- |
|
1312 |
'gsr_id_site_02 = '.$id_site.', '.
|
- |
|
1313 |
'gsr_id_valeur = 101, '.
|
- |
|
1314 |
'gsr_ordre = NULL ';
|
- |
|
1315 |
$resultat = $db->query($requete);
|
- |
|
1316 |
if (DB::isError($resultat)) {
|
- |
|
1317 |
die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
|
- |
|
1318 |
}
|
- |
|
1319 |
}
|
- |
|
1320 |
|
- |
|
1321 |
// Gestion des sites externes
|
- |
|
1322 |
if ($id_type_site == '103') {
|
- |
|
1323 |
// Requete d'insertion des relations dans gen_site_relation
|
- |
|
1324 |
$requete = 'INSERT INTO gen_site_relation '.
|
- |
|
1325 |
'SET gsr_id_site_01 = '.$id_site.', '.
|
- |
|
1326 |
'gsr_id_site_02 = '.$id_site.', '.
|
- |
|
1327 |
'gsr_id_valeur = '.$aso_valeurs['type_site_externe'].', '.
|
- |
|
1328 |
'gsr_ordre = NULL ';
|
- |
|
1329 |
$resultat = $db->query($requete);
|
- |
|
1330 |
if (DB::isError($resultat)) {
|
- |
|
1331 |
die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
|
- |
|
1332 |
}
|
- |
|
1333 |
}
|
- |
|
1334 |
|
- |
|
1335 |
$message = '<p class="pap_info">'.'Succés de l\'ajout du site.'.'</p>';
|
- |
|
1336 |
return $message;
|
- |
|
1337 |
}
|
798 |
}
|
1338 |
|
799 |
|
1339 |
|
800 |
/** Fonction ADMIN_modifierSite() - Modifie un site de Papyrus.
|
1340 |
/** Fonction ADMIN_modifierSite() - Modifie un site de Papyrus.
|
801 |
*
|
1341 |
*
|
802 |
* Cette fonction modifie un site géré par Papyrus.
|
1342 |
* Cette fonction modifie un site géré par Papyrus.
|
Line 1162... |
Line 1702... |
1162 |
}
|
1702 |
}
|
Line 1163... |
Line 1703... |
1163 |
|
1703 |
|
1164 |
// +- Fin du code source --------------------------------------------------------------------------------+
|
1704 |
// +- Fin du code source --------------------------------------------------------------------------------+
|
1165 |
/*
|
1705 |
/*
|
- |
|
1706 |
* $Log: not supported by cvs2svn $
|
- |
|
1707 |
* Revision 1.25.2.2 2006/02/28 14:02:10 ddelon
|
- |
|
1708 |
* Finition multilinguisme
|
- |
|
1709 |
*
|
- |
|
1710 |
* Revision 1.25.2.1 2006/01/19 21:26:20 ddelon
|
- |
|
1711 |
* Multilinguisme site + bug ftp
|
- |
|
1712 |
*
|
- |
|
1713 |
* Revision 1.25 2005/10/17 13:48:59 jp_milcent
|
- |
|
1714 |
* Ajout d'un espace après le texte "Dernière modification par".
|
1166 |
* $Log: not supported by cvs2svn $
|
1715 |
*
|
1167 |
* Revision 1.24 2005/09/23 14:32:54 florian
|
1716 |
* Revision 1.24 2005/09/23 14:32:54 florian
|
1168 |
* compatibilité XHTML + correction interface
|
1717 |
* compatibilité XHTML + correction interface
|
1169 |
*
|
1718 |
*
|
1170 |
* Revision 1.23 2005/09/20 17:01:22 ddelon
|
1719 |
* Revision 1.23 2005/09/20 17:01:22 ddelon
|