Subversion Repositories Applications.papyrus

Rev

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

Rev 201 Rev 205
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.13 2004-12-03 16:37:34 jpm Exp $
23
// CVS : $Id: adsi_site.fonct.php,v 1.14 2004-12-03 19:22:53 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.13 $ $Date: 2004-12-03 16:37:34 $
38
*@version       $Revision: 1.14 $ $Date: 2004-12-03 19:22:53 $
39
// +------------------------------------------------------------------------------------------------------+
39
// +------------------------------------------------------------------------------------------------------+
40
*/
40
*/
Line 41... Line 41...
41
 
41
 
42
// +------------------------------------------------------------------------------------------------------+
42
// +------------------------------------------------------------------------------------------------------+
Line 186... Line 186...
186
        }
186
        }
187
        $aso_valeurs = $resultat->fetchRow(DB_FETCHMODE_ASSOC);
187
        $aso_valeurs = $resultat->fetchRow(DB_FETCHMODE_ASSOC);
188
        $resultat->free();
188
        $resultat->free();
Line 189... Line 189...
189
        
189
        
190
        // Requete pour récupérer les informations issues des relations du site à modifier
190
        // Requete pour récupérer les informations issues des relations du site à modifier
191
        $requete =    'SELECT * '.
191
        $requete =  'SELECT * '.
192
                        'FROM gen_site_relation '.
192
                    'FROM gen_site_relation '.
-
 
193
                    'WHERE gsr_id_site_01 = '.$site_id.' '.
193
                        'WHERE gsr_id_site_01 = '.$site_id;
194
                    'AND gsr_id_site_01 = gsr_id_site_02';
194
        $resultat = $db->query($requete);
195
        $resultat = $db->query($requete);
195
        if (DB::isError($resultat)) {
196
        if (DB::isError($resultat)) {
196
            die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
197
            die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
197
        }
198
        }
198
        $aso_valeurs['defaut'] = 0;
199
        $aso_valeurs['defaut'] = 0;
-
 
200
        $aso_valeurs['type_site_externe'] = 0;
199
        $aso_valeurs['externe'] = 0;
201
        $tab_type = GEN_retournerTableauTypeSiteExterne($db);
200
        while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ) {
202
        while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ) {
201
            if ($ligne->gsr_id_valeur == 101) {// 101 = site par défaut
203
            if ($ligne->gsr_id_valeur == 101) {// 101 = site par défaut
202
                $aso_valeurs['defaut'] = true;
204
                $aso_valeurs['defaut'] = true;
-
 
205
            }
203
            }
206
            foreach ($tab_type as $cle => $val) {
204
            if ($ligne->gsr_id_valeur == 103) {// 103 = site externe à Papyrus
207
                if ($ligne->gsr_id_valeur == $val['id']) {// 20x = type de site externe à Papyrus
-
 
208
                    $aso_valeurs['type_site_externe'] = $val['id'];
205
                $aso_valeurs['externe'] = true;
209
                }
206
            }
210
            }
207
        }
211
        }
Line 208... Line 212...
208
        $resultat->free();
212
        $resultat->free();
Line 369... Line 373...
369
    }
373
    }
370
    $label = '<label for="'.$id.'">'.'En faire le site par défaut : '.'</label>';
374
    $label = '<label for="'.$id.'">'.'En faire le site par défaut : '.'</label>';
371
    $form->addElement('checkbox', $id, $label, null, $aso_attributs);
375
    $form->addElement('checkbox', $id, $label, null, $aso_attributs);
Line 372... Line 376...
372
    
376
    
373
    // Groupe site externe
377
    // Groupe site externe
374
    $id = 'externe';
378
    $tab_type = GEN_retournerTableauTypeSiteExterne($db);
375
    $aso_attributs = array('id' => $id, 'tabindex' => $tab_index++);
379
    $aso_options = array('0' => 'Aucun');
376
    if ($aso_valeurs[$id] === true) {
380
    foreach ($tab_type as $cle => $val) {
377
        $aso_attributs['checked'] = 'checked';
381
        $aso_options[$val['id']] = $val['intitule'];
-
 
382
    }
378
    }
383
    $id = 'type_site_externe';
-
 
384
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++);
379
    $label = 'oui : ';// Les navigateurs gèrent mal les labels au sein d'un même <li>
385
    $label = 'type : ';
Line 380... Line 386...
380
    $groupe[] =& HTML_QuickForm::createElement('checkbox', $id, $label, null, $aso_attributs);
386
    $groupe[] =& HTML_QuickForm::createElement('select', $id, $label, $aso_options, $aso_attributs);
381
    
387
    
382
    $id = 'gs_url';
388
    $id = 'gs_url';
383
    $aso_attributs = array('id' => $id, 'tabindex' => $tab_index++,'size' => 45, 'maxlength' => 255, 'value' => 'http://');
389
    $aso_attributs = array('id' => $id, 'tabindex' => $tab_index++,'size' => 45, 'maxlength' => 255, 'value' => 'http://');
Line 384... Line 390...
384
    $label = 'url externe : ';// Les navigateurs gères mal les labels au sein d'un même <li>
390
    $label = 'url : ';// Les navigateurs gères mal les labels au sein d'un même <li>
385
    $groupe[] =& HTML_QuickForm::createElement('text', $id, $label, $aso_attributs);
391
    $groupe[] =& HTML_QuickForm::createElement('text', $id, $label, $aso_attributs);
Line 386... Line 392...
386
    
392
    
387
    $label = '<label>'.'Le site n\'est pas géré par Papyrus : '.'</label>';
393
    $label = '<label>'.'Site externe : '.'</label>';
Line 463... Line 469...
463
    $form->setDefaults($aso_valeurs);
469
    $form->setDefaults($aso_valeurs);
Line 464... Line 470...
464
    
470
    
465
    // Javascript pour la validation côté client
471
    // Javascript pour la validation côté client
466
    $regles_javascript = $form->getValidationScript();
472
    $regles_javascript = $form->getValidationScript();
-
 
473
    // Suppression des balises déjà créées par GEN_stockerCodeScript()
-
 
474
    // Le code ci-dessous devrait être utilisé si on arrive à empécher Quickform de l'ajouter lui-même!
467
    // Suppression des balises déjà créées par GEN_stockerCodeScript()
475
    /*
468
    $regles_javascript = ereg_replace ( '<script type="text\/javascript">', '', $regles_javascript);
476
    $regles_javascript = ereg_replace ( '<script type="text\/javascript">', '', $regles_javascript);
469
    $regles_javascript = ereg_replace ( '<!--', '', $regles_javascript);
477
    $regles_javascript = ereg_replace ( '<!--', '', $regles_javascript);
470
    $regles_javascript = ereg_replace ( '\/\/-->', '', $regles_javascript);
478
    $regles_javascript = ereg_replace ( '\/\/-->', '', $regles_javascript);
471
    $regles_javascript = ereg_replace ( '<\/script>', '', $regles_javascript);
479
    $regles_javascript = ereg_replace ( '<\/script>', '', $regles_javascript);
-
 
480
    GEN_stockerCodeScript($regles_javascript);
Line 472... Line 481...
472
    GEN_stockerCodeScript($regles_javascript);
481
    */
473
    
482
    
474
    // Note de fin de formulaire
483
    // Note de fin de formulaire
Line 573... Line 582...
573
        return $message;
582
        return $message;
574
    }
583
    }
575
    // Nous vérifions si nous avons à faire à un site externe.
584
    // Nous vérifions si nous avons à faire à un site externe.
576
    $id_type_site = '102';// par défaut on conscidére que c'est un site "principal"
585
    $id_type_site = '102';// par défaut on conscidére que c'est un site "principal"
577
    $requete_complement = ', gs_url = NULL';
586
    $requete_complement = ', gs_url = NULL';
578
    if (isset($aso_valeurs['externe']) && $aso_valeurs['externe'] == 1 && !empty($aso_valeurs['gs_url']) && $aso_valeurs['gs_url'] != 'http://') {
587
    if (isset($aso_valeurs['type_site_externe']) && $aso_valeurs['type_site_externe'] > 0 && !empty($aso_valeurs['gs_url']) && $aso_valeurs['gs_url'] != 'http://') {
579
        $requete_complement = ', gs_url = "'.$aso_valeurs['gs_url'].'"';
588
        $requete_complement = ', gs_url = "'.$aso_valeurs['gs_url'].'"';
580
        $id_type_site = '103';// c'est un site "externe"
589
        $id_type_site = '103';// c'est un site "externe"
581
    }
590
    }
Line 582... Line 591...
582
    
591
    
Line 645... Line 654...
645
        $resultat = $db->query($requete);
654
        $resultat = $db->query($requete);
646
        if (DB::isError($resultat)) {
655
        if (DB::isError($resultat)) {
647
            die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
656
            die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
648
        }
657
        }
649
    }
658
    }
-
 
659
    
-
 
660
    // Gestion des sites externes
-
 
661
    if ($id_type_site == '103') {
-
 
662
        // Requete d'insertion des relations dans gen_site_relation
-
 
663
        $requete =  'INSERT INTO gen_site_relation '.
-
 
664
                    'SET gsr_id_site_01 = '.$id_site.', '.
-
 
665
                    'gsr_id_site_02 = '.$id_site.', '.
-
 
666
                    'gsr_id_valeur = '.$aso_valeurs['type_site_externe'].', '.
-
 
667
                    'gsr_ordre = NULL ';
-
 
668
        $resultat = $db->query($requete);
-
 
669
        if (DB::isError($resultat)) {
-
 
670
            die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
-
 
671
        }
-
 
672
    }
-
 
673
    
650
    // Ajout des répertoires des sites "principaux" soit par manipulation de fichier soit par FTP en fonction de la constante définie
674
    // Ajout des répertoires des sites "principaux" soit par manipulation de fichier soit par FTP en fonction de la constante définie
651
    // par l'utilisateur dans le fichier de config avancée.
675
    // par l'utilisateur dans le fichier de config avancée.
652
    $tab_rep_langue = array(GEN_DOSSIER_GENERIQUE, $aso_valeurs['gs_ce_i18n']);
676
    $tab_rep_langue = array(GEN_DOSSIER_GENERIQUE, $aso_valeurs['gs_ce_i18n']);
653
    $tab_rep_site = array(  GEN_DOSSIER_IMAGE,
677
    $tab_rep_site = array(  GEN_DOSSIER_IMAGE,
654
                            GEN_DOSSIER_STYLE,
678
                            GEN_DOSSIER_STYLE,
Line 789... Line 813...
789
    }
813
    }
Line 790... Line 814...
790
    
814
    
791
    // Nous vérifions si nous avons à faire à un site externe.
815
    // Nous vérifions si nous avons à faire à un site externe.
792
    $id_type_site = '102';// par défaut on conscidére que c'est un site "principal"
816
    $id_type_site = '102';// par défaut on conscidére que c'est un site "principal"
793
    $requete_complement = ', gs_url = NULL ';
817
    $requete_complement = ', gs_url = NULL ';
794
    if (isset($aso_valeurs['externe']) && $aso_valeurs['externe'] == 1 && !empty($aso_valeurs['gs_url']) && $aso_valeurs['gs_url'] != 'http://') {
818
    if (isset($aso_valeurs['type_site_externe']) && $aso_valeurs['type_site_externe'] > 0 && !empty($aso_valeurs['gs_url']) && $aso_valeurs['gs_url'] != 'http://') {
795
        $requete_complement = ', gs_url = "'.$aso_valeurs['gs_url'].'" ';
819
        $requete_complement = ', gs_url = "'.$aso_valeurs['gs_url'].'" ';
796
        $id_type_site = '103';// c'est un site "externe"
820
        $id_type_site = '103';// c'est un site "externe"
Line 797... Line 821...
797
    }
821
    }
Line 929... Line 953...
929
            $resultat = $db->query($requete);
953
            $resultat = $db->query($requete);
930
            if (DB::isError($resultat)) {
954
            if (DB::isError($resultat)) {
931
                die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
955
                die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
932
            }
956
            }
933
        }
957
        }
-
 
958
        
-
 
959
        // Ajout du type de site externe
-
 
960
        $requete =  'INSERT INTO gen_site_relation '.
-
 
961
                    'SET gsr_id_site_01 = '.$aso_valeurs['gs_id_site'].', '.
-
 
962
                    'gsr_id_site_02 = '.$aso_valeurs['gs_id_site'].', '.
-
 
963
                    'gsr_id_valeur = '.$aso_valeurs['type_site_externe'].', '.
-
 
964
                    'gsr_ordre = NULL ';
-
 
965
        $resultat = $db->query($requete);
-
 
966
        if (DB::isError($resultat)) {
-
 
967
            die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
-
 
968
        }
-
 
969
        
934
    }
970
    }
Line 935... Line 971...
935
    
971
    
936
    // Gestion du site par défaut
972
    // Gestion du site par défaut
937
    if (isset($aso_valeurs['defaut']) && $aso_valeurs['defaut'] == 1) {
973
    if (isset($aso_valeurs['defaut']) && $aso_valeurs['defaut'] == 1) {
Line 1117... Line 1153...
1117
}
1153
}
Line 1118... Line 1154...
1118
 
1154
 
1119
// +- Fin du code source  --------------------------------------------------------------------------------+
1155
// +- Fin du code source  --------------------------------------------------------------------------------+
1120
/*
1156
/*
-
 
1157
* $Log: not supported by cvs2svn $
-
 
1158
* Revision 1.13  2004/12/03 16:37:34  jpm
-
 
1159
* Correction d'un bogue qui empécher la mise à jour des url des sites externes.
1121
* $Log: not supported by cvs2svn $
1160
*
1122
* Revision 1.12  2004/12/01 17:22:58  jpm
1161
* Revision 1.12  2004/12/01 17:22:58  jpm
1123
* Ajout d'une confirmation javascript pour la suppression d'un site.
1162
* Ajout d'une confirmation javascript pour la suppression d'un site.
1124
*
1163
*
1125
* Revision 1.11  2004/11/30 16:43:51  jpm
1164
* Revision 1.11  2004/11/30 16:43:51  jpm