Subversion Repositories Applications.papyrus

Rev

Rev 96 | Rev 123 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 96 Rev 115
Line 18... Line 18...
18
// |                                                                                                      |
18
// |                                                                                                      |
19
// | You should have received a copy of the GNU Lesser General Public                                     |
19
// | You should have received a copy of the GNU Lesser General Public                                     |
20
// | License along with this library; if not, write to the Free Software                                  |
20
// | License along with this library; if not, write to the Free Software                                  |
21
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                            |
21
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                            |
22
// +------------------------------------------------------------------------------------------------------+
22
// +------------------------------------------------------------------------------------------------------+
23
// CVS : $Id: adsi_site.fonct.php,v 1.6 2004-10-22 17:25:31 jpm Exp $
23
// CVS : $Id: adsi_site.fonct.php,v 1.7 2004-10-26 18:41:28 jpm Exp $
24
/**
24
/**
25
* Bibliothèque de fonctions d'admininistration des projets
25
* Bibliothèque de fonctions d'admininistration des projets
26
*
26
*
27
* Contient un ensemble de fonctions permettant à l'application Administrateur de Papyrus, de modifier des informations
27
* Contient un ensemble de fonctions permettant à l'application Administrateur de Papyrus, de modifier des informations
28
* sur les projets (=sites gérés par Papyrus).
28
* sur les projets (=sites gérés par Papyrus).
Line 33... Line 33...
33
*@author        Laurent COUDOUNEAU <lc@gsite.org>
33
*@author        Laurent COUDOUNEAU <lc@gsite.org>
34
//Autres auteurs :
34
//Autres auteurs :
35
*@author        Alexandre GRANIER <alexandre@tela-botanica.org>
35
*@author        Alexandre GRANIER <alexandre@tela-botanica.org>
36
*@author        Jean-Pascal MILCENT <jpm@tela-botanica.org>
36
*@author        Jean-Pascal MILCENT <jpm@tela-botanica.org>
37
*@copyright     Tela-Botanica 2000-2004
37
*@copyright     Tela-Botanica 2000-2004
38
*@version       $Revision: 1.6 $ $Date: 2004-10-22 17:25:31 $
38
*@version       $Revision: 1.7 $ $Date: 2004-10-26 18:41:28 $
39
// +------------------------------------------------------------------------------------------------------+
39
// +------------------------------------------------------------------------------------------------------+
40
*/
40
*/
Line 41... Line 41...
41
 
41
 
42
// +------------------------------------------------------------------------------------------------------+
42
// +------------------------------------------------------------------------------------------------------+
Line 68... Line 68...
68
{
68
{
69
    // Liste des sites principaux
69
    // Liste des sites principaux
70
    $requete =  'SELECT * '.
70
    $requete =  'SELECT * '.
71
                'FROM gen_site, gen_site_relation '.
71
                'FROM gen_site, gen_site_relation '.
72
                'WHERE gsr_id_site_01 = gsr_id_site_02 '.
72
                'WHERE gsr_id_site_01 = gsr_id_site_02 '.
73
                'AND gsr_id_valeur = 102 '.
-
 
74
                'AND gsr_id_site_01 = gs_id_site '.
73
                'AND gsr_id_site_01 = gs_id_site '.
-
 
74
                'AND gsr_id_valeur IN (102, 103) '.
75
                'ORDER BY gsr_ordre';
75
                'ORDER BY gsr_ordre';
Line 76... Line 76...
76
    
76
    
77
    $resultat = $db->query($requete);
77
    $resultat = $db->query($requete);
Line 187... Line 187...
187
                                    '{label}'."\n".
187
                                    '{label}'."\n".
188
                                    '{element}'."\n".
188
                                    '{element}'."\n".
189
                                    '<!-- BEGIN required --><span class="symbole_obligatoire">*</span><!-- END required -->'."\n".
189
                                    '<!-- BEGIN required --><span class="symbole_obligatoire">*</span><!-- END required -->'."\n".
190
                                    '<!-- BEGIN error --><span class="erreur">{error}</span><!-- END error -->'."\n".
190
                                    '<!-- BEGIN error --><span class="erreur">{error}</span><!-- END error -->'."\n".
191
                                    '</li>'."\n");
191
                                    '</li>'."\n");
-
 
192
    $squelette->setGroupElementTemplate('{label}'."\n".
-
 
193
                                        '{element}'."\n".
-
 
194
                                        '<!-- BEGIN required --><span class="symbole_obligatoire">*</span><!-- END required -->'."\n".
-
 
195
                                        '&nbsp;'."\n"
-
 
196
                                        , 'double');
192
    $squelette->setRequiredNoteTemplate("\n".'<p><span class="symbole_obligatoire">*</span> {requiredNote}</p>'."\n");
197
    $squelette->setRequiredNoteTemplate("\n".'<p><span class="symbole_obligatoire">*</span> {requiredNote}</p>'."\n");
Line 193... Line 198...
193
    
198
    
194
    $partie_site_debut = '<fieldset>'."\n".'<legend>Configuration du site</legend>'."\n".'<ul>'."\n";
199
    $partie_site_debut = '<fieldset>'."\n".'<legend>Configuration du site</legend>'."\n".'<ul>'."\n";
Line 219... Line 224...
219
    $id = 'gs_raccourci_clavier';
224
    $id = 'gs_raccourci_clavier';
220
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 1, 'maxlength' => 1, 'value' => 'Z');
225
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 1, 'maxlength' => 1, 'value' => 'Z');
221
    $label = '<label for="'.$id.'">'.'Raccourci clavier : '.'</label>';
226
    $label = '<label for="'.$id.'">'.'Raccourci clavier : '.'</label>';
222
    $form->addElement('text', $id, $label, $aso_attributs);
227
    $form->addElement('text', $id, $label, $aso_attributs);
Line 223... Line -...
223
    
-
 
224
    $id = 'defaut';
-
 
225
    $aso_attributs = array('id'=>$id, 'tabindex' => $tab_index++);
-
 
226
    $label = '<label for="'.$id.'">'.'En faire le site par défaut : '.'</label>';
-
 
227
    $form->addElement('checkbox', $id, $label, '', $aso_attributs);
-
 
228
    
228
    
229
    // Requete pour connaitre les identifications dispo
229
    // Requete pour connaitre les identifications dispo
230
    $requete =  'SELECT * '.
230
    $requete =  'SELECT * '.
231
                'FROM gen_site_auth '.
231
                'FROM gen_site_auth '.
232
                'WHERE gsa_id_auth != 0';
232
                'WHERE gsa_id_auth != 0';
Line 317... Line 317...
317
    $id = 'gs_ce_i18n';
317
    $id = 'gs_ce_i18n';
318
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++);
318
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++);
319
    $label = '<label for="'.$id.'">'.'Langue : '.'</label>';
319
    $label = '<label for="'.$id.'">'.'Langue : '.'</label>';
320
    $form->addElement('select', $id, $label, $aso_options, $aso_attributs);
320
    $form->addElement('select', $id, $label, $aso_options, $aso_attributs);
Line -... Line 321...
-
 
321
    
-
 
322
    $id = 'defaut';
-
 
323
    $aso_attributs = array('id'=>$id, 'tabindex' => $tab_index++);
-
 
324
    $label = '<label for="'.$id.'">'.'En faire le site par défaut : '.'</label>';
-
 
325
    $form->addElement('checkbox', $id, $label, '', $aso_attributs);
-
 
326
    
-
 
327
    // Groupe site externe
-
 
328
    $id = 'externe';
-
 
329
    $aso_attributs = array('id'=>$id, 'tabindex' => $tab_index++);
-
 
330
    $label = 'oui : ';// Les navigateurs gères mal les labels au sein d'un même <li>
-
 
331
    $groupe[] =& HTML_QuickForm::createElement('checkbox', $id, $label, '', $aso_attributs);
-
 
332
    
-
 
333
    $id = 'gs_url';
-
 
334
    $aso_attributs = array('id'=>$id, 'tabindex' => $tab_index++,'size' => 45, 'maxlength' => 255, 'value' => 'http://');
-
 
335
    $label = 'url externe : ';// Les navigateurs gères mal les labels au sein d'un même <li>
-
 
336
    $groupe[] =& HTML_QuickForm::createElement('text', $id, $label, $aso_attributs);
-
 
337
    
-
 
338
    $label = '<label>'.'Le site n\'est pas géré par Papyrus : '.'</label>';
-
 
339
    $form->addGroup($groupe, 'double', $label, '', false);
321
    
340
    
322
    $partie_site_fin = '</ul>'."\n".'</fieldset>'."\n";
341
    $partie_site_fin = '</ul>'."\n".'</fieldset>'."\n";
Line 323... Line 342...
323
    $form->addElement('html', $partie_site_fin);
342
    $form->addElement('html', $partie_site_fin);
324
    
343
    
Line 440... Line 459...
440
    
459
    
441
    // Requete pour vérifier l'abscence du code numérique et alphanumérique de la table gen_site
460
    // Requete pour vérifier l'abscence du code numérique et alphanumérique de la table gen_site
442
    $requete =  'SELECT gs_code_alpha, gs_code_num '.
461
    $requete =  'SELECT gs_code_alpha, gs_code_num '.
443
                'FROM gen_site, gen_site_relation '.
462
                'FROM gen_site, gen_site_relation '.
444
                'WHERE gsr_id_site_01 = gsr_id_site_02 '.
463
                'WHERE gsr_id_site_01 = gsr_id_site_02 '.
445
                'AND gsr_id_valeur = 102 '.// 102 = site "principal"
464
                'AND gsr_id_site_01 = gs_id_site '.
446
                'AND gsr_id_site_01 = gs_id_site ';
465
                'AND gsr_id_valeur IN (102, 103) ';// 102 = site "principal" et 103 = site "externe"
Line 447... Line 466...
447
    $requete .= (isset($aso_valeurs['gs_id_site'])) ? 'AND gs_id_site != '.$aso_valeurs['gs_id_site'] : '';
466
    $requete .= (isset($aso_valeurs['gs_id_site'])) ? 'AND gs_id_site != '.$aso_valeurs['gs_id_site'] : '';
448
    
467
    
449
    $resultat = $db->query($requete);
468
    $resultat = $db->query($requete);
Line 471... Line 490...
471
        $message .= '<p class="pap_erreur">Le champ "Description" ne doit pas être vide.</p>';
490
        $message .= '<p class="pap_erreur">Le champ "Description" ne doit pas être vide.</p>';
472
    }
491
    }
473
    if (empty($aso_valeurs['gs_auteur'])) {
492
    if (empty($aso_valeurs['gs_auteur'])) {
474
        $message .= '<p class="pap_erreur">Le champ "Auteur" ne doit pas être vide.</p>';
493
        $message .= '<p class="pap_erreur">Le champ "Auteur" ne doit pas être vide.</p>';
475
    }
494
    }
-
 
495
    if ($aso_valeurs['externe'] == 1 && (empty($aso_valeurs['gs_url']) || $aso_valeurs['gs_url'] == 'http://')) {
-
 
496
        $message .= '<p class="pap_erreur">'.'Vous avez désigné ce site comme étant externe. Il est nécessaire de saisir son URL!'.'</p>';
-
 
497
    }
-
 
498
    if ($aso_valeurs['externe'] == 0 && (!empty($aso_valeurs['gs_url']) && $aso_valeurs['gs_url'] != 'http://')) {
-
 
499
        $message .= '<p class="pap_erreur">'.'Vous avez saisie une l\'url : '.$aso_valeurs['gs_url'].'<br />'.
-
 
500
                    'Vous conscidérez donc ce site comme étant externe. Il est nécessaire de cocher la case "oui"!'.'</p>';
476
    
501
    }
477
    return $message;
502
    return $message;
478
}
503
}
Line 479... Line 504...
479
 
504
 
480
/** Fonction ADMIN_enregistrerSite() - Ajoute un site à Papyrus.
505
/** Fonction ADMIN_enregistrerSite() - Ajoute un site à Papyrus.
Line 496... Line 521...
496
        $message = '<p class="erreur"> ERREUR Génésia admin : impossible de récupérer un identifiant pour la table gen_site.<br />'.
521
        $message = '<p class="erreur"> ERREUR Génésia admin : impossible de récupérer un identifiant pour la table gen_site.<br />'.
497
                    'Ligne n° : '. __LINE__ .'<br />'.
522
                    'Ligne n° : '. __LINE__ .'<br />'.
498
                    'Fichier n° : '. __FILE__ .'<br /></p>';
523
                    'Fichier n° : '. __FILE__ .'<br /></p>';
499
        return $message;
524
        return $message;
500
    }
525
    }
-
 
526
    // Nous vérifions si nous avons à faire à un site externe.
-
 
527
    $id_type_site = '102';// par défaut on conscidére que c'est un site "principal"
-
 
528
    $requete_complement = ', gs_url = NULL';
-
 
529
    if ($aso_valeurs['externe'] == 1 && !empty($aso_valeurs['gs_url']) && $aso_valeurs['gs_url'] != 'http://') {
-
 
530
        $requete_complement = ', gs_url = "'.$aso_valeurs['gs_url'].'"';
-
 
531
        $id_type_site = '103';// c'est un site "externe"
-
 
532
    }
-
 
533
    
501
    // Requete d'insertion des infos d'un site dans gen_site
534
    // Requete d'insertion des infos d'un site dans gen_site
502
    $requete =  'INSERT INTO gen_site '.
535
    $requete =  'INSERT INTO gen_site '.
503
                'SET gs_id_site = '.$id_site.', '.
536
                'SET gs_id_site = '.$id_site.', '.
504
                'gs_ce_i18n = "'.$aso_valeurs['gs_ce_i18n'].'", '.
537
                'gs_ce_i18n = "'.$aso_valeurs['gs_ce_i18n'].'", '.
505
                'gs_ce_auth = '.$aso_valeurs['gs_ce_auth'].', '.
538
                'gs_ce_auth = '.$aso_valeurs['gs_ce_auth'].', '.
Line 511... Line 544...
511
                'gs_titre = "'.$aso_valeurs['gs_titre'].'", '.
544
                'gs_titre = "'.$aso_valeurs['gs_titre'].'", '.
512
                'gs_mots_cles = "'.$aso_valeurs['gs_mots_cles'].'", '.
545
                'gs_mots_cles = "'.$aso_valeurs['gs_mots_cles'].'", '.
513
                'gs_description = "'.$aso_valeurs['gs_description'].'", '.
546
                'gs_description = "'.$aso_valeurs['gs_description'].'", '.
514
                'gs_auteur = "'.$aso_valeurs['gs_auteur'].'", '.
547
                'gs_auteur = "'.$aso_valeurs['gs_auteur'].'", '.
515
                'gs_date_creation = "'.date('Y-m-d H:i:s').'", '.
548
                'gs_date_creation = "'.date('Y-m-d H:i:s').'", '.
516
                'gs_ce_admin = '.$id_admin;
549
                'gs_ce_admin = '.$id_admin.
-
 
550
                $requete_complement;
517
    $resultat = $db->query($requete) ;
551
    $resultat = $db->query($requete);
518
    if (DB::isError($resultat)) {
552
    if (DB::isError($resultat)) {
519
        die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
553
        die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
520
    }
554
    }
Line 521... Line 555...
521
    
555
    
522
    // Recherche du nouveau numéro d'ordre de ce site principal
556
    // Recherche du nouveau numéro d'ordre de ce site "principal" ou "externe"
523
    $requete =  'SELECT MAX(gsr_ordre) AS max_ordre '.
557
    $requete =  'SELECT MAX(gsr_ordre) AS max_ordre '.
524
                'FROM gen_site_relation '.
558
                'FROM gen_site_relation '.
525
                'WHERE gsr_id_site_01 = gsr_id_site_02 '.
559
                'WHERE gsr_id_site_01 = gsr_id_site_02 '.
526
                'AND gsr_id_valeur = 102 ';// 102 = site "principal"
560
                'AND gsr_id_valeur IN (102, 103) ';// 102 = site "principal" et 103 = site "externe"
527
    $resultat = $db->query($requete) ;
561
    $resultat = $db->query($requete) ;
528
    if (DB::isError($resultat)) {
562
    if (DB::isError($resultat)) {
529
        die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
563
        die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
530
    }
564
    }
Line 533... Line 567...
533
    
567
    
534
    // Requete d'insertion des relations dans gen_site_relation
568
    // Requete d'insertion des relations dans gen_site_relation
535
    $requete =  'INSERT INTO gen_site_relation '.
569
    $requete =  'INSERT INTO gen_site_relation '.
536
                'SET gsr_id_site_01 = '.$id_site.', '.
570
                'SET gsr_id_site_01 = '.$id_site.', '.
537
                'gsr_id_site_02 = '.$id_site.', '.
571
                'gsr_id_site_02 = '.$id_site.', '.
538
                'gsr_id_valeur = 102, '.
572
                'gsr_id_valeur = '.$id_type_site.', '.
539
                'gsr_ordre = '.$nouvel_ordre;
573
                'gsr_ordre = '.$nouvel_ordre;
540
    $resultat = $db->query($requete);
574
    $resultat = $db->query($requete);
541
    if (DB::isError($resultat)) {
575
    if (DB::isError($resultat)) {
542
        die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
576
        die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
Line -... Line 577...
-
 
577
    }
543
    }
578
    
544
    
579
    // Gestion du site par défaut
545
    if (isset($aso_valeurs['defaut']) && $aso_valeurs['defaut'] == 1) {
580
    if (isset($aso_valeurs['defaut']) && $aso_valeurs['defaut'] == 1) {
546
        $ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
581
        $ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
547
        $requete_supr_defaut =  'DELETE FROM gen_site_relation '.
582
        $requete_supr_defaut =  'DELETE FROM gen_site_relation '.
Line 561... Line 596...
561
        $resultat = $db->query($requete);
596
        $resultat = $db->query($requete);
562
        if (DB::isError($resultat)) {
597
        if (DB::isError($resultat)) {
563
            die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
598
            die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
564
        }
599
        }
565
    }
600
    }
566
    // Ajout des répertoires du site soit par manipulation de fichier soit par FTP en fonction de l'activation du safe_mode ou pas
601
    // Ajout des répertoires des sites "principaux" soit par manipulation de fichier soit par FTP en fonction de la constante définie
-
 
602
    // par l'utilisateur dans le fichier de config avancée.
567
    $tab_rep_langue = array(GEN_DOSSIER_GENERIQUE, $aso_valeurs['gs_ce_i18n']);
603
    $tab_rep_langue = array(GEN_DOSSIER_GENERIQUE, $aso_valeurs['gs_ce_i18n']);
568
    $tab_rep_site = array(  GEN_DOSSIER_IMAGE,
604
    $tab_rep_site = array(  GEN_DOSSIER_IMAGE,
569
                            GEN_DOSSIER_STYLE,
605
                            GEN_DOSSIER_STYLE,
570
                            GEN_DOSSIER_SCRIPT,
606
                            GEN_DOSSIER_SCRIPT,
571
                            GEN_DOSSIER_SQUELETTE,
607
                            GEN_DOSSIER_SQUELETTE,
572
                            GEN_DOSSIER_DOC);
608
                            GEN_DOSSIER_DOC);
573
    if (!GEN_FTP_UTILISE) {
609
    if (!GEN_FTP_UTILISE && $id_type_site == '101') {
574
        foreach ($tab_rep_langue as $nom_rep_langue) {
610
        foreach ($tab_rep_langue as $nom_rep_langue) {
575
            foreach ($tab_rep_site as $nom_rep_site) {
611
            foreach ($tab_rep_site as $nom_rep_site) {
576
                $chemin_repertoire =    PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.
612
                $chemin_repertoire =    PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP.
577
                                        $nom_rep_langue.GEN_SEP.$nom_rep_site;
613
                                        $nom_rep_langue.GEN_SEP.$nom_rep_site;
578
                $vieux_umask = umask(0);
614
                $vieux_umask = umask(0);
Line 607... Line 643...
607
                        'Fichier : '. $chemin_style_site .'<br />'.
643
                        'Fichier : '. $chemin_style_site .'<br />'.
608
                        'Ligne n° : '. __LINE__ .'<br />'.
644
                        'Ligne n° : '. __LINE__ .'<br />'.
609
                        'Fichier n° : '. __FILE__ .'<br /></p>';
645
                        'Fichier n° : '. __FILE__ .'<br /></p>';
610
            return $message;
646
            return $message;
611
        }
647
        }
612
    } else {
648
    } else if (GEN_FTP_UTILISE && $id_type_site == '101') {
613
        // Création d'une connection ftp avec Net_FTP de PEAR
649
        // Création d'une connection ftp avec Net_FTP de PEAR
614
        // voir http://pear.php.net/manual/fr/package.networking.net-ftp.php
650
        // voir http://pear.php.net/manual/fr/package.networking.net-ftp.php
Line 615... Line 651...
615
        
651
        
616
        // création de l'objet pear ftp
652
        // création de l'objet pear ftp
Line 697... Line 733...
697
                'WHERE gs_id_site = '.$aso_valeurs['gs_id_site'];
733
                'WHERE gs_id_site = '.$aso_valeurs['gs_id_site'];
698
    $ancien_code_alphnum = $db->getOne($requete);
734
    $ancien_code_alphnum = $db->getOne($requete);
699
    if (DB::isError($ancien_code_alphnum)) {
735
    if (DB::isError($ancien_code_alphnum)) {
700
        die( BOG_afficherErreurSql(__FILE__, __LINE__, $ancien_code_alphnum->getMessage(), $requete) );
736
        die( BOG_afficherErreurSql(__FILE__, __LINE__, $ancien_code_alphnum->getMessage(), $requete) );
701
    }
737
    }
-
 
738
    
-
 
739
    // Nous vérifions si nous avons à faire à un site externe.
-
 
740
    $id_type_site = '102';// par défaut on conscidére que c'est un site "principal"
-
 
741
    $requete_complement = ', gs_url = NULL';
-
 
742
    if ($aso_valeurs['externe'] == 1 && !empty($aso_valeurs['gs_url']) && $aso_valeurs['gs_url'] != 'http://') {
-
 
743
        $requete_complement = ', gs_url = "'.$aso_valeurs['gs_url'].'"';
-
 
744
        $id_type_site = '103';// c'est un site "externe"
-
 
745
    }
-
 
746
    
-
 
747
    // Si le code alphanumérique à changé et que nous n'avons pas à faire à un site externe.
702
    if ($aso_valeurs['gs_code_alpha'] != $ancien_code_alphnum) {
748
    if ($aso_valeurs['gs_code_alpha'] != $ancien_code_alphnum && $id_type_site == 102) {
703
        if (!GEN_FTP_UTILISE) {
749
        if (!GEN_FTP_UTILISE) {
704
            $chemin_site_ancien = PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$ancien_code_alphnum.GEN_SEP;
750
            $chemin_site_ancien = PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$ancien_code_alphnum.GEN_SEP;
705
            $chemin_site_nouveau = PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP;
751
            $chemin_site_nouveau = PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP;
706
            if (!rename($chemin_site_ancien, $chemin_site_nouveau)) {
752
            if (!rename($chemin_site_ancien, $chemin_site_nouveau)) {
707
                $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de changer le nom du dossier du site.<br />'.
753
                $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de changer le nom du dossier du site.<br />'.
Line 759... Line 805...
759
            // Retour au niveau d'erreur définit dans le fichier de config de Papyrus
805
            // Retour au niveau d'erreur définit dans le fichier de config de Papyrus
760
            error_reporting(GEN_DEBOGAGE_NIVEAU);
806
            error_reporting(GEN_DEBOGAGE_NIVEAU);
761
            $objet_pear_ftp->disconnect();
807
            $objet_pear_ftp->disconnect();
762
        }
808
        }
763
    }
809
    }
-
 
810
    
764
    // Requete de mise à jour des infos d'un site dans gen_site
811
    // Requete de mise à jour des infos d'un site dans gen_site
765
    $requete =  'UPDATE gen_site '.
812
    $requete =  'UPDATE gen_site '.
766
                'SET gs_ce_i18n = "'.$aso_valeurs['gs_ce_i18n'].'", '.
813
                'SET gs_ce_i18n = "'.$aso_valeurs['gs_ce_i18n'].'", '.
767
                'gs_ce_auth = '.$aso_valeurs['gs_ce_auth'].', '.
814
                'gs_ce_auth = '.$aso_valeurs['gs_ce_auth'].', '.
768
                'gs_fichier_squelette = "'.$aso_valeurs['gs_fichier_squelette'].'", '.
815
                'gs_fichier_squelette = "'.$aso_valeurs['gs_fichier_squelette'].'", '.
Line 779... Line 826...
779
                'WHERE gs_id_site = '.$aso_valeurs['gs_id_site'];
826
                'WHERE gs_id_site = '.$aso_valeurs['gs_id_site'];
780
    $resultat = $db->query($requete) ;
827
    $resultat = $db->query($requete) ;
781
    if (DB::isError($resultat)) {
828
    if (DB::isError($resultat)) {
782
        die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
829
        die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
783
    }
830
    }
-
 
831
    // Gestion du site externe
-
 
832
    if ($id_type_site == 103) {
-
 
833
        // Vérification pour voir si nous avons à faire à une transformation d'un site "principal" en site "externe"
-
 
834
        $requete =  'SELECT COUNT(gsr_id_site_01) AS nbre_relation '.
-
 
835
                    'FROM gen_site_relation '.
-
 
836
                    'WHERE gsr_id_site_01 = gsr_id_site_02 '.
-
 
837
                    'AND gsr_id_site_01 = '.$aso_valeurs['gs_id_site'].' '.
-
 
838
                    'AND gsr_id_valeur = 102 ';// 102 = site "principal"
-
 
839
        $nbre_relation = $db->getOne($requete);
-
 
840
        if (DB::isError($nbre_relation)) {
-
 
841
            die( BOG_afficherErreurSql(__FILE__, __LINE__, $nbre_relation->getMessage(), $requete) );
-
 
842
        }
-
 
843
        
-
 
844
        // Nous supprimons l'ancienne relation si nécessaire
-
 
845
        if ($nbre_relation >= 1) {
-
 
846
            $requete_supr_ext = 'DELETE FROM gen_site_relation '.
-
 
847
                                'WHERE gsr_id_site_01 = gsr_id_site_02 '.
-
 
848
                                'AND gsr_id_site_01 = '.$aso_valeurs['gs_id_site'].' '.
-
 
849
                                'AND gsr_id_valeur = 102 ';// 102 = site "principal"
-
 
850
            $resultat_supr_ext = $db->query($requete_supr_ext);
-
 
851
            if (DB::isError($resultat_supr_ext)) {
-
 
852
                die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_supr_ext->getMessage(), $requete_supr_ext));
-
 
853
            }
-
 
854
            $message_complement =   'Le site "principal" a été transformé en site "externe". Si nécessaire, veuillez '.
-
 
855
                                    'supprimer manuellement par FTP, le dossier contenant les fichiers de ce site sur '.
-
 
856
                                    'le serveur!';
-
 
857
        }
-
 
858
        
-
 
859
        // Requete d'insertion de la relations site "externe"
-
 
860
        $requete =  'INSERT INTO gen_site_relation '.
-
 
861
                    'SET gsr_id_site_01 = '.$id_site.', '.
-
 
862
                    'gsr_id_site_02 = '.$id_site.', '.
-
 
863
                    'gsr_id_valeur = '.$id_type_site.', '.
-
 
864
                    'gsr_ordre = NULL ';
-
 
865
        $resultat = $db->query($requete);
-
 
866
        if (DB::isError($resultat)) {
-
 
867
            die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
-
 
868
        }
-
 
869
    }
Line -... Line 870...
-
 
870
    
784
    
871
    // Gestion du site par défaut
785
    if (isset($aso_valeurs['defaut']) && $aso_valeurs['defaut'] == 1) {
872
    if (isset($aso_valeurs['defaut']) && $aso_valeurs['defaut'] == 1) {
786
        $requete_supr_defaut =  'DELETE FROM gen_site_relation '.
873
        $requete_supr_defaut =  'DELETE FROM gen_site_relation '.
787
                                'WHERE gsr_id_site_01 = gsr_id_site_02 '.
874
                                'WHERE gsr_id_site_01 = gsr_id_site_02 '.
788
                                'AND gsr_id_valeur = 101 ';// 101 = site par "defaut"
875
                                'AND gsr_id_valeur = 101 ';// 101 = site par "defaut"
Line 800... Line 887...
800
        $resultat = $db->query($requete);
887
        $resultat = $db->query($requete);
801
        if (DB::isError($resultat)) {
888
        if (DB::isError($resultat)) {
802
            die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
889
            die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
803
        }
890
        }
804
    }
891
    }
-
 
892
    
805
    $message = '<p class="genesia_info">'.'Succés de la modification du site.'.'</p>';
893
    $message = '<p class="pap_info">'.'Succés de la modification du site.'.'</p>';
-
 
894
    $message .= '<p class="pap_info">'.$message_complement.'</p>';
806
    return $message;
895
    return $message;
807
}
896
}
Line 808... Line 897...
808
 
897
 
809
/** Fonction ADMIN_supprimerSite() - Ajoute un site à Papyrus.
898
/** Fonction ADMIN_supprimerSite() - Ajoute un site à Papyrus.
Line 963... Line 1052...
963
}
1052
}
Line 964... Line 1053...
964
 
1053
 
965
// +- Fin du code source  --------------------------------------------------------------------------------+
1054
// +- Fin du code source  --------------------------------------------------------------------------------+
966
/*
1055
/*
-
 
1056
* $Log: not supported by cvs2svn $
-
 
1057
* Revision 1.6  2004/10/22 17:25:31  jpm
-
 
1058
* Changement du nom de la class CSS d'erreur.
967
* $Log: not supported by cvs2svn $
1059
*
968
* Revision 1.5  2004/10/19 15:57:55  jpm
1060
* Revision 1.5  2004/10/19 15:57:55  jpm
969
* Amélioration de la gestion des fichiers sur le serveur.
1061
* Amélioration de la gestion des fichiers sur le serveur.
970
* Ajout d'une contrainte pour éviter la suppression par erreur du site par défaut.
1062
* Ajout d'une contrainte pour éviter la suppression par erreur du site par défaut.
971
*
1063
*