Subversion Repositories Applications.papyrus

Rev

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

Rev 204 Rev 350
1
<?php
1
<?php
2
/*vim: set expandtab tabstop=4 shiftwidth=4: */ 
2
/*vim: set expandtab tabstop=4 shiftwidth=4: */ 
3
// +------------------------------------------------------------------------------------------------------+
3
// +------------------------------------------------------------------------------------------------------+
4
// | PHP version 4.1                                                                                      |
4
// | PHP version 4.1                                                                                      |
5
// +------------------------------------------------------------------------------------------------------+
5
// +------------------------------------------------------------------------------------------------------+
6
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org)                                         |
6
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org)                                         |
7
// +------------------------------------------------------------------------------------------------------+
7
// +------------------------------------------------------------------------------------------------------+
8
// | This library is free software; you can redistribute it and/or                                        |
8
// | This library is free software; you can redistribute it and/or                                        |
9
// | modify it under the terms of the GNU Lesser General Public                                           |
9
// | modify it under the terms of the GNU Lesser General Public                                           |
10
// | License as published by the Free Software Foundation; either                                         |
10
// | License as published by the Free Software Foundation; either                                         |
11
// | version 2.1 of the License, or (at your option) any later version.                                   |
11
// | version 2.1 of the License, or (at your option) any later version.                                   |
12
// |                                                                                                      |
12
// |                                                                                                      |
13
// | This library is distributed in the hope that it will be useful,                                      |
13
// | This library is distributed in the hope that it will be useful,                                      |
14
// | but WITHOUT ANY WARRANTY; without even the implied warranty of                                       |
14
// | but WITHOUT ANY WARRANTY; without even the implied warranty of                                       |
15
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU                                    |
15
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU                                    |
16
// | Lesser General Public License for more details.                                                      |
16
// | Lesser General Public License for more details.                                                      |
17
// |                                                                                                      |
17
// |                                                                                                      |
18
// | You should have received a copy of the GNU Lesser General Public                                     |
18
// | You should have received a copy of the GNU Lesser General Public                                     |
19
// | License along with this library; if not, write to the Free Software                                  |
19
// | License along with this library; if not, write to the Free Software                                  |
20
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                            |
20
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                            |
21
// +------------------------------------------------------------------------------------------------------+
21
// +------------------------------------------------------------------------------------------------------+
22
// CVS : $Id: pap_site.fonct.php,v 1.3 2004-12-03 19:22:30 jpm Exp $
22
// CVS : $Id: pap_site.fonct.php,v 1.4 2005-04-19 17:21:19 jpm Exp $
23
/**
23
/**
24
* Bibliothèque de fonctions concernant les sites.
24
* Bibliothèque de fonctions concernant les sites.
25
*
25
*
26
* Bibliothèque de fonctions permettant de manipuler les tables :
26
* Bibliothèque de fonctions permettant de manipuler les tables :
27
* - gen_site,
27
* - gen_site,
28
* - gen_site_auth,
28
* - gen_site_auth,
29
* - gen_site_auth_bdd,
29
* - gen_site_auth_bdd,
30
* - gen_site_auth_ldap,
30
* - gen_site_auth_ldap,
31
* - gen_site_categorie,
31
* - gen_site_categorie,
32
* - gen_site_categorie_valeur.
32
* - gen_site_categorie_valeur.
33
*
33
*
34
*@package Papyrus
34
*@package Papyrus
35
*@subpackage Fonctions
35
*@subpackage Fonctions
36
//Auteur original :
36
//Auteur original :
37
*@author        Jean-Pascal MILCENT <jpm@tela-botanica.org>
37
*@author        Jean-Pascal MILCENT <jpm@tela-botanica.org>
38
//Autres auteurs :
38
//Autres auteurs :
39
*@author        Alexandre GRANIER <alexandre@tela-botanica.org>
39
*@author        Alexandre GRANIER <alexandre@tela-botanica.org>
40
*@copyright     Tela-Botanica 2000-2004
40
*@copyright     Tela-Botanica 2000-2004
41
*@version       $Revision: 1.3 $ $Date: 2004-12-03 19:22:30 $
41
*@version       $Revision: 1.4 $ $Date: 2005-04-19 17:21:19 $
42
// +------------------------------------------------------------------------------------------------------+
42
// +------------------------------------------------------------------------------------------------------+
43
*/
43
*/
44
 
44
 
45
// +------------------------------------------------------------------------------------------------------+
45
// +------------------------------------------------------------------------------------------------------+
46
// |                                           LISTE de FONCTIONS                                         |
46
// |                                           LISTE de FONCTIONS                                         |
47
// +------------------------------------------------------------------------------------------------------+
47
// +------------------------------------------------------------------------------------------------------+
-
 
48
 
-
 
49
/** Fonction GEN_lireInfoSites() - Renvoie un tableau contenant les lignes de la table gen_site
-
 
50
*
-
 
51
* Retourne un tableau contenant les lignes de la table gen_site pour les sites "classiques".
-
 
52
*
-
 
53
* @param  mixed  une instance de la classse Pear DB.
-
 
54
* @param  string  le mode dans Pear DB dans lequel on veut recevoir les infos du menu.
-
 
55
* @param  integer le type de site (par défaut 102 = site "principal")
-
 
56
* @return array  un tableau contenant les lignes de la table gen_site pour les sites "principaux".
-
 
57
*/
-
 
58
function GEN_lireInfoSites(&$bdd, $mode = DB_FETCHMODE_OBJECT, $type_site = 102)
-
 
59
{
-
 
60
    $aso_sites = array();
-
 
61
    
-
 
62
    $requete =  'SELECT gen_site.* '.
-
 
63
                'FROM gen_site, gen_site_relation '.
-
 
64
                'WHERE gs_id_site = gsr_id_site_01 '.
-
 
65
                'AND gsr_id_site_01 = gsr_id_site_02 '.
-
 
66
                'AND gsr_id_valeur = '.$type_site.' '; // 102 = par défaut site "principal"
-
 
67
    
-
 
68
    $resultat = $bdd->query($requete);
-
 
69
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
-
 
70
    
-
 
71
    if ($resultat->numRows() > 0) {
-
 
72
        while ($ligne = $resultat->fetchRow($mode)) { 
-
 
73
            array_push($aso_sites, $ligne);
-
 
74
        }
-
 
75
    }
-
 
76
    $resultat->free();
-
 
77
    
-
 
78
    return $aso_sites;
-
 
79
}
48
 
80
 
49
/** Fonction GEN_lireInfoSitePrincipal() - Renvoie un objet contenant une ligne de la table gen_site
81
/** Fonction GEN_lireInfoSitePrincipal() - Renvoie un objet contenant une ligne de la table gen_site
50
*
82
*
51
* Retourne la ligne de la table gen_site concernant le site principal ayant pour identifiant la valeur
83
* Retourne la ligne de la table gen_site concernant le site principal ayant pour identifiant la valeur
52
* passée en paramètre.
84
* passée en paramètre.
53
*
85
*
54
* @param  mixed   une instance de la classse Pear DB.
86
* @param  mixed   une instance de la classse Pear DB.
55
* @param  string  l'identifiant du site.
87
* @param  string  l'identifiant du site.
-
 
88
* @param  string  le mode dans Pear DB dans lequel on veut recevoir les infos du menu.
56
* @return  mixed  un objet résultat de Pear DB contenant une ligne de la table gen_site, ou false en cas d'erreur.
89
* @return  mixed  un objet résultat de Pear DB contenant une ligne de la table gen_site, ou false en cas d'erreur.
57
*/
90
*/
58
function GEN_lireInfoSitePrincipal($objet_pear_db, $site_id)
91
function GEN_lireInfoSitePrincipal(&$objet_pear_db, $site_id, $mode = DB_FETCHMODE_OBJECT)
59
{
92
{
60
    
93
    
61
    $requete =  'SELECT * '.
94
    $requete =  'SELECT * '.
62
                'FROM gen_site, gen_site_relation '.
95
                'FROM gen_site, gen_site_relation '.
63
                'WHERE gs_id_site = '.$site_id.' '.
96
                'WHERE gs_id_site = '.$site_id.' '.
64
                'AND gs_id_site = gsr_id_site_01 '.
97
                'AND gs_id_site = gsr_id_site_01 '.
65
                'AND gsr_id_site_01 = gsr_id_site_02 '.
98
                'AND gsr_id_site_01 = gsr_id_site_02 '.
66
                'AND gsr_id_valeur = 102 '; // 102 = site "principal"
99
                'AND gsr_id_valeur = 102 '; // 102 = site "principal"
67
    
100
    
68
    $resultat = $objet_pear_db->query($requete);
101
    $resultat = $objet_pear_db->query($requete);
69
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
102
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
70
    
103
    
71
    if ($resultat->numRows() != 1) {
104
    if ($resultat->numRows() != 1) {
72
        // Impossible de récupérer des informations sur le site principal ayant pour code alpha $code_alpha
105
        // Impossible de récupérer des informations sur le site principal ayant pour code alpha $code_alpha
73
        return false;
106
        return false;
74
    }
107
    }
75
    
108
    
76
    $info_site_principal = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
109
    $info_site_principal = $resultat->fetchRow($mode);
77
    $resultat->free();
110
    $resultat->free();
78
    
111
    
79
    return $info_site_principal;
112
    return $info_site_principal;
80
}
113
}
81
 
114
 
82
/** Fonction GEN_lireInfoSitePrincipalCodeAlpha() - Renvoie un objet contenant une ligne de la table gen_site
115
/** Fonction GEN_lireInfoSitePrincipalCodeAlpha() - Renvoie un objet contenant une ligne de la table gen_site
83
*
116
*
84
* Retourne la ligne de la table gen_site concernant le site principal ayant pour code alphanumérique la valeur
117
* Retourne la ligne de la table gen_site concernant le site principal ayant pour code alphanumérique la valeur
85
* passée en paramètre.
118
* passée en paramètre.
86
* Ancien nom : getProjectInfos()
119
* Ancien nom : getProjectInfos()
87
*
120
*
88
* @param  mixed   une instance de la classse Pear DB.
121
* @param  mixed   une instance de la classse Pear DB.
89
* @param  string  le code alphanumérique du site.
122
* @param  string  le code alphanumérique du site.
-
 
123
* @param  string  le mode dans Pear DB dans lequel on veut recevoir les infos du menu.
90
* @return  mixed  un objet résultat de Pear DB contenant une ligne de la table gen_site, ou false en cas d'erreur.
124
* @return  mixed  un objet résultat de Pear DB contenant une ligne de la table gen_site, ou false en cas d'erreur.
91
*/
125
*/
92
function GEN_lireInfoSitePrincipalCodeAlpha($objet_pear_db, $code_alpha)
126
function GEN_lireInfoSitePrincipalCodeAlpha(&$objet_pear_db, $code_alpha, $mode = DB_FETCHMODE_OBJECT)
93
{
127
{
94
    
128
    
95
    $requete =  'SELECT * '.
129
    $requete =  'SELECT * '.
96
                'FROM gen_site, gen_site_relation '.
130
                'FROM gen_site, gen_site_relation '.
97
                'WHERE gs_code_alpha = "'.$code_alpha.'" '.
131
                'WHERE gs_code_alpha = "'.$code_alpha.'" '.
98
                'AND gs_id_site = gsr_id_site_01 '.
132
                'AND gs_id_site = gsr_id_site_01 '.
99
                'AND gsr_id_site_01 = gsr_id_site_02 '.
133
                'AND gsr_id_site_01 = gsr_id_site_02 '.
100
                'AND gsr_id_valeur = 102 '; // 102 = site "principal"
134
                'AND gsr_id_valeur = 102 '; // 102 = site "principal"
101
    
135
    
102
    $resultat = $objet_pear_db->query($requete);
136
    $resultat = $objet_pear_db->query($requete);
103
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
137
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
104
    
138
    
105
    if ($resultat->numRows() != 1) {
139
    if ($resultat->numRows() != 1) {
106
        // Impossible de récupérer des informations sur le site principal ayant pour code alpha $code_alpha
140
        // Impossible de récupérer des informations sur le site principal ayant pour code alpha $code_alpha
107
        return false;
141
        return false;
108
    }
142
    }
109
    
143
    
110
    $info_site_principal = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
144
    $info_site_principal = $resultat->fetchRow($mode);
111
    $resultat->free();
145
    $resultat->free();
112
    
146
    
113
    return $info_site_principal;
147
    return $info_site_principal;
114
}
148
}
115
 
149
 
116
/** Fonction getSiteI18nInfos() - Renvoie un objet contenant une ligne de la table gen_site
150
/** Fonction getSiteI18nInfos() - Renvoie un objet contenant une ligne de la table gen_site
117
*
151
*
118
* Retourne la ligne de la table gen_site concernant un site ayant pour code alphanumérique et identifiant
152
* Retourne la ligne de la table gen_site concernant un site ayant pour code alphanumérique et identifiant
119
* i18n les valeurs passées en paramètres.
153
* i18n les valeurs passées en paramètres.
120
* Ancien nom :getSiteI18nInfos():
154
* Ancien nom :getSiteI18nInfos():
121
*
155
*
122
* @param  mixed   une instance de la classse Pear DB.
156
* @param  mixed   une instance de la classse Pear DB.
123
* @param  string  le code alphanumérique du site recherché.
157
* @param  string  le code alphanumérique du site recherché.
124
* @param  string  l'identifiant i18n possédé par le site recherché.
158
* @param  string  l'identifiant i18n possédé par le site recherché.
125
* @return  mixed  un objet résultat de Pear DB contenant une ligne de la table gen_site, ou false en cas d'erreur.
159
* @return  mixed  un objet résultat de Pear DB contenant une ligne de la table gen_site, ou false en cas d'erreur.
126
*/
160
*/
127
function GEN_lireInfoSiteI18nCodeAlpha($objet_pear_db, $code_alpha, $i18n)
161
function GEN_lireInfoSiteI18nCodeAlpha(&$objet_pear_db, $code_alpha, $i18n)
128
{
162
{
129
    $requete =  'SELECT * '.
163
    $requete =  'SELECT * '.
130
                'FROM gen_site, gen_site_relation '.
164
                'FROM gen_site, gen_site_relation '.
131
                'WHERE gs_code_alpha = "'.$code_alpha.'" '.
165
                'WHERE gs_code_alpha = "'.$code_alpha.'" '.
132
                'AND gs_ce_i18n = "'.$i18n.'" ';
166
                'AND gs_ce_i18n = "'.$i18n.'" ';
133
    
167
    
134
    $resultat = $objet_pear_db->query($requete);
168
    $resultat = $objet_pear_db->query($requete);
135
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
169
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
136
    
170
    
137
    if ($resultat->numRows() != 1) {
171
    if ($resultat->numRows() != 1) {
138
        return false;
172
        return false;
139
    }
173
    }
140
    
174
    
141
    $info_site = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
175
    $info_site = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
142
    $resultat->free();
176
    $resultat->free();
143
    
177
    
144
    return $info_site;
178
    return $info_site;
145
}
179
}
146
 
180
 
147
/** Fonction GEN_retournerTableauTypeSiteExterne() - Renvoie un tableau des types site externe
181
/** Fonction GEN_retournerTableauTypeSiteExterne() - Renvoie un tableau des types site externe
148
*
182
*
149
* Retourne un tableau de tableaux associatifs contenant les valeurs des types des sites externes.
183
* Retourne un tableau de tableaux associatifs contenant les valeurs des types des sites externes.
150
*
184
*
151
* @param  mixed   une instance de la classse Pear DB.
185
* @param  mixed   une instance de la classse Pear DB.
152
* @return  mixed  un tableau de tableaux associatifs contenant les valeurs des types des sites externes
186
* @return  mixed  un tableau de tableaux associatifs contenant les valeurs des types des sites externes
153
*/
187
*/
154
function GEN_retournerTableauTypeSiteExterne($objet_pear_db)
188
function GEN_retournerTableauTypeSiteExterne(&$objet_pear_db)
155
{
189
{
156
    $requete =  'SELECT * '.
190
    $requete =  'SELECT * '.
157
                'FROM gen_site_categorie_valeur '.
191
                'FROM gen_site_categorie_valeur '.
158
                'WHERE gscv_id_categorie = 3 ';// 3 = type de site externe
192
                'WHERE gscv_id_categorie = 3 ';// 3 = type de site externe
159
    
193
    
160
    $resultat = $objet_pear_db->query($requete);
194
    $resultat = $objet_pear_db->query($requete);
161
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
195
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
162
    
196
    
163
    if ($resultat->numRows() == 0) {
197
    if ($resultat->numRows() == 0) {
164
        return false;
198
        return false;
165
    }
199
    }
166
    $tab_type = array();
200
    $tab_type = array();
167
    while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ) {
201
    while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ) {
168
        $aso_type_site_externe = array('id' => $ligne->gscv_id_valeur, 'intitule' => $ligne->gscv_intitule_valeur);
202
        $aso_type_site_externe = array('id' => $ligne->gscv_id_valeur, 'intitule' => $ligne->gscv_intitule_valeur);
169
        array_push($tab_type, $aso_type_site_externe);
203
        array_push($tab_type, $aso_type_site_externe);
170
    }
204
    }
171
    $resultat->free();
205
    $resultat->free();
172
    
206
    
173
    return $tab_type;
207
    return $tab_type;
174
}
208
}
175
 
209
 
176
/* +--Fin du code ----------------------------------------------------------------------------------------+
210
/* +--Fin du code ----------------------------------------------------------------------------------------+
177
*
211
*
178
* $Log: not supported by cvs2svn $
212
* $Log: not supported by cvs2svn $
-
 
213
* Revision 1.3  2004/12/03 19:22:30  jpm
-
 
214
* Ajout d'une fonction retournant les types de sites externes gérés par Papyrus.
-
 
215
*
179
* Revision 1.2  2004/11/04 12:25:35  jpm
216
* Revision 1.2  2004/11/04 12:25:35  jpm
180
* Ajout d'une fonction permettant de récupérer les infos sur un site à partir de son id.
217
* Ajout d'une fonction permettant de récupérer les infos sur un site à partir de son id.
181
*
218
*
182
* Revision 1.1  2004/06/15 15:13:37  jpm
219
* Revision 1.1  2004/06/15 15:13:37  jpm
183
* Changement de nom et d'arborescence de Genesia en Papyrus.
220
* Changement de nom et d'arborescence de Genesia en Papyrus.
184
*
221
*
185
* Revision 1.1  2004/05/03 16:26:07  jpm
222
* Revision 1.1  2004/05/03 16:26:07  jpm
186
* Ajout de la bibliothèque de fonctions permettant de manipuler les informations issues des tables "gen_site_..." de Génésia.
223
* Ajout de la bibliothèque de fonctions permettant de manipuler les informations issues des tables "gen_site_..." de Génésia.
187
*
224
*
188
*
225
*
189
* +-- Fin du code ----------------------------------------------------------------------------------------+
226
* +-- Fin du code ----------------------------------------------------------------------------------------+
190
*/
227
*/
191
?>
228
?>