Subversion Repositories Applications.papyrus

Rev

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

Rev 285 Rev 832
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 file is part of Papyrus.                                                                        |
8
// | This file is part of Papyrus.                                                                        |
9
// |                                                                                                      |
9
// |                                                                                                      |
10
// | Foobar is free software; you can redistribute it and/or modify                                       |
10
// | Foobar is free software; you can redistribute it and/or modify                                       |
11
// | it under the terms of the GNU General Public License as published by                                 |
11
// | it under the terms of the GNU General Public License as published by                                 |
12
// | the Free Software Foundation; either version 2 of the License, or                                    |
12
// | the Free Software Foundation; either version 2 of the License, or                                    |
13
// | (at your option) any later version.                                                                  |
13
// | (at your option) any later version.                                                                  |
14
// |                                                                                                      |
14
// |                                                                                                      |
15
// | Foobar is distributed in the hope that it will be useful,                                            |
15
// | Foobar is distributed in the hope that it will be useful,                                            |
16
// | but WITHOUT ANY WARRANTY; without even the implied warranty of                                       |
16
// | but WITHOUT ANY WARRANTY; without even the implied warranty of                                       |
17
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                                        |
17
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                                        |
18
// | GNU General Public License for more details.                                                         |
18
// | GNU General Public License for more details.                                                         |
19
// |                                                                                                      |
19
// |                                                                                                      |
20
// | You should have received a copy of the GNU General Public License                                    |
20
// | You should have received a copy of the GNU General Public License                                    |
21
// | along with Foobar; if not, write to the Free Software                                                |
21
// | along with Foobar; if not, write to the Free Software                                                |
22
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                            |
22
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                            |
23
// +------------------------------------------------------------------------------------------------------+
23
// +------------------------------------------------------------------------------------------------------+
24
// CVS : $Id: pap_application.fonct.php,v 1.2 2005-02-28 11:12:03 jpm Exp $
24
// CVS : $Id: pap_application.fonct.php,v 1.3 2006-04-28 12:41:49 florian Exp $
25
/**
25
/**
26
* Biblibothèque de fonction sur les applications.
26
* Biblibothèque de fonction sur les applications.
27
*
27
*
28
* Liste des fonctions sur les applications.
28
* Liste des fonctions sur les applications.
29
*
29
*
30
*@package Papyrus
30
*@package Papyrus
31
*@subpackage Fonctions
31
*@subpackage Fonctions
32
//Auteur original :
32
//Auteur original :
33
*@author        Jean-Pascal MILCENT <jpm@tela-botanica.org>
33
*@author        Jean-Pascal MILCENT <jpm@tela-botanica.org>
34
//Autres auteurs :
34
//Autres auteurs :
35
*@author        Aucun
35
*@author        Aucun
36
*@copyright     Tela-Botanica 2000-2004
36
*@copyright     Tela-Botanica 2000-2004
37
*@version       $Revision: 1.2 $ $Date: 2005-02-28 11:12:03 $
37
*@version       $Revision: 1.3 $ $Date: 2006-04-28 12:41:49 $
38
// +------------------------------------------------------------------------------------------------------+
38
// +------------------------------------------------------------------------------------------------------+
39
*/
39
*/
40
 
40
 
41
// +------------------------------------------------------------------------------------------------------+
41
// +------------------------------------------------------------------------------------------------------+
42
// |                                            ENTETE du PROGRAMME                                       |
42
// |                                            ENTETE du PROGRAMME                                       |
43
// +------------------------------------------------------------------------------------------------------+
43
// +------------------------------------------------------------------------------------------------------+
44
 
44
 
45
 
45
 
46
// +------------------------------------------------------------------------------------------------------+
46
// +------------------------------------------------------------------------------------------------------+
47
// |                                           LISTE de FONCTIONS                                         |
47
// |                                           LISTE de FONCTIONS                                         |
48
// +------------------------------------------------------------------------------------------------------+
48
// +------------------------------------------------------------------------------------------------------+
49
/** Fonction GEN_verifierPresenceInterfaceAdmin() - Vérifie la présence d'une interface d'administration.
49
/** Fonction GEN_verifierPresenceInterfaceAdmin() - Vérifie la présence d'une interface d'administration.
50
*
50
*
51
* Vérifie que l'application attribuée à un menu possède une interface d'administration.
51
* Vérifie que l'application attribuée à un menu possède une interface d'administration.
52
*
52
*
53
* @param  object objet Pear de connection à la base de données.
53
* @param  object objet Pear de connection à la base de données.
54
* @param  integer l'identifiant de l'application.
54
* @param  integer l'identifiant de l'application.
55
* @return boolean true si l'appli peut être administrer, sinon false.
55
* @return boolean true si l'appli peut être administrer, sinon false.
56
*/
56
*/
57
function GEN_verifierPresenceInterfaceAdmin($db, $id_appli) {
57
function GEN_verifierPresenceInterfaceAdmin($db, $id_appli) {
58
    // Gestion des erreurs
58
    // Gestion des erreurs
59
    if ($id_appli == 0) {
59
    if ($id_appli == 0) {
60
        return false;
60
        return false;
61
    }
61
    }
62
    // Requête sur les applications
62
    // Requête sur les applications
63
    $requete =  'SELECT * '.
63
    $requete =  'SELECT * '.
64
                'FROM gen_application '.
64
                'FROM gen_application '.
65
                'WHERE gap_id_application = '.$id_appli;
65
                'WHERE gap_id_application = '.$id_appli;
66
    $resultat = $db->query($requete);
66
    $resultat = $db->query($requete);
67
    
67
    
68
    $ligne_appli = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
68
    $ligne_appli = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
69
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
69
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
70
    
70
    
71
    $chemin_appli = $ligne_appli->gap_chemin;
71
    $chemin_appli = $ligne_appli->gap_chemin;
72
    $chemin_appli = preg_replace('/.php$/', '.admin.php', $chemin_appli);
72
    $chemin_appli = preg_replace('/.php$/', '.admin.php', $chemin_appli);
73
    
73
    
74
    if (file_exists($chemin_appli)) {
74
    if (file_exists($chemin_appli)) {
75
        return true;
75
        return true;
76
    } else {
76
    } else {
77
        return false;
77
        return false;
78
    }
78
    }
79
}
79
}
80
 
80
 
81
/** Fonction GEN_retournerCheminInterfaceAdmin() - Retourne le chemin de l'interface d'administration d'une appli.
81
/** Fonction GEN_retournerCheminInterfaceAdmin() - Retourne le chemin de l'interface d'administration d'une appli.
82
*
82
*
83
* Retourne le chemin de l'interface d'administration d'une appli si elle en possède sinon false
83
* Retourne le chemin de l'interface d'administration d'une appli si elle en possède sinon false
84
*
84
*
85
* @param  object objet Pear de connection à la base de données.
85
* @param  object objet Pear de connection à la base de données.
86
* @param  integer l'identifiant de l'application.
86
* @param  integer l'identifiant de l'application.
87
* @return mixed le chemin si l'appli peut être administrer, sinon false.
87
* @return mixed le chemin si l'appli peut être administrer, sinon false.
88
*/
88
*/
89
function GEN_retournerCheminInterfaceAdmin($db, $id_appli) {
89
function GEN_retournerCheminInterfaceAdmin($db, $id_appli) {
90
    // Requête sur les applications
90
    // Requête sur les applications
91
    $requete =  'SELECT gap_chemin '.
91
    $requete =  'SELECT gap_chemin '.
92
                'FROM gen_application '.
92
                'FROM gen_application '.
93
                'WHERE gap_id_application = '.$id_appli.' ';
93
                'WHERE gap_id_application = '.$id_appli.' ';
94
    $resultat = $db->query($requete);
94
    $resultat = $db->query($requete);
95
    $ligne_appli = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
95
    $ligne_appli = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
96
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
96
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
97
    
97
    
98
    $chemin_appli = $ligne_appli->gap_chemin;
98
    $chemin_appli = $ligne_appli->gap_chemin;
99
    $chemin_interface_admin = preg_replace('/.php$/', '.admin.php', $chemin_appli);
99
    $chemin_interface_admin = preg_replace('/.php$/', '.admin.php', $chemin_appli);
100
    if (file_exists($chemin_interface_admin)) {
100
    if (file_exists($chemin_interface_admin)) {
101
        return $chemin_interface_admin;
101
        return $chemin_interface_admin;
102
    } else {
102
    } else {
103
        return false;
103
        return false;
104
    }
104
    }
105
}
105
}
106
 
106
 
107
/** Fonction GEN_retournerNomInterfaceAdmin() - Retourne le nom de la classe d'une interface d'administration d'une appli.
107
/** Fonction GEN_retournerNomInterfaceAdmin() - Retourne le nom de la classe d'une interface d'administration d'une appli.
108
*
108
*
109
* Retourne le nom de la classe d'une interface d'administration d'une appli si elle en possède sinon false
109
* Retourne le nom de la classe d'une interface d'administration d'une appli si elle en possède sinon false
110
*
110
*
111
* @param  object objet Pear de connection à la base de données.
111
* @param  object objet Pear de connection à la base de données.
112
* @param  integer l'identifiant de l'application.
112
* @param  integer l'identifiant de l'application.
113
* @return mixed le nom de l'interface d'admin de l'appli, sinon false.
113
* @return mixed le nom de l'interface d'admin de l'appli, sinon false.
114
*/
114
*/
115
function GEN_retournerNomInterfaceAdmin($db, $id_appli) {
115
function GEN_retournerNomInterfaceAdmin($db, $id_appli) {
116
    // Requête sur les applications
116
    // Requête sur les applications
117
    $requete =  'SELECT gap_chemin '.
117
    $requete =  'SELECT gap_chemin '.
118
                'FROM gen_application '.
118
                'FROM gen_application '.
119
                'WHERE gap_id_application = '.$id_appli.' ';
119
                'WHERE gap_id_application = '.$id_appli.' ';
120
    $resultat = $db->query($requete);
120
    $resultat = $db->query($requete);
121
    $ligne_appli = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
121
    $ligne_appli = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
122
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
122
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
123
    
123
    
124
    $chemin_appli = $ligne_appli->gap_chemin;
124
    $chemin_appli = $ligne_appli->gap_chemin;
-
 
125
    $morceaux='';
125
    preg_match('/([\w_]+).php$/', $chemin_appli, $morceaux);
126
    preg_match('/([\w_]+).php$/', $chemin_appli, $morceaux);
126
    $nom_interface_admin = ucfirst($morceaux[1]).'_Admin';
127
    $nom_interface_admin = ucfirst($morceaux[1]).'_Admin';
127
    return $nom_interface_admin;
128
    return $nom_interface_admin;
128
}
129
}
129
 
130
 
130
/** Fonction GEN_retournerNomAppli() - Retourne le nom de la classe d'une appli.
131
/** Fonction GEN_retournerNomAppli() - Retourne le nom de la classe d'une appli.
131
*
132
*
132
* Retourne le nom de la classe d'une appli.
133
* Retourne le nom de la classe d'une appli.
133
*
134
*
134
* @param  object objet Pear de connection à la base de données.
135
* @param  object objet Pear de connection à la base de données.
135
* @param  integer l'identifiant de l'application.
136
* @param  integer l'identifiant de l'application.
136
* @return mixed le nom de la classe de l'appli, sinon false.
137
* @return mixed le nom de la classe de l'appli, sinon false.
137
*/
138
*/
138
function GEN_retournerNomAppli($db, $id_appli) {
139
function GEN_retournerNomAppli($db, $id_appli) {
139
    // Requête sur les applications
140
    // Requête sur les applications
140
    $requete =  'SELECT gap_chemin '.
141
    $requete =  'SELECT gap_chemin '.
141
                'FROM gen_application '.
142
                'FROM gen_application '.
142
                'WHERE gap_id_application = '.$id_appli.' ';
143
                'WHERE gap_id_application = '.$id_appli.' ';
143
    $resultat = $db->query($requete);
144
    $resultat = $db->query($requete);
144
    $ligne_appli = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
145
    $ligne_appli = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
145
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
146
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
146
    
147
    
147
    $chemin_appli = $ligne_appli->gap_chemin;
148
    $chemin_appli = $ligne_appli->gap_chemin;
-
 
149
    $morceaux='';
148
    preg_match('/([\w_]+).php$/', $chemin_appli, $morceaux);
150
    preg_match('/([\w_]+).php$/', $chemin_appli, $morceaux);
149
    preg_replace('/_(\w)/', '_'.ucfirst(${1}),$morceaux[1]);
151
    preg_replace('/_(\w)/', '_'.ucfirst(${1}),$morceaux[1]);
150
    $nom_classe_appli = $morceaux[1];
152
    $nom_classe_appli = $morceaux[1];
151
    return $nom_classe_appli;
153
    return $nom_classe_appli;
152
}
154
}
153
 
155
 
154
/** Fonction GEN_retournerInfoAppliMenu() - Retourne les infos de l'application d'un menu.
156
/** Fonction GEN_retournerInfoAppliMenu() - Retourne les infos de l'application d'un menu.
155
*
157
*
156
* Retourne un objet contenant les infos de l'application liée à un menu
158
* Retourne un objet contenant les infos de l'application liée à un menu
157
*
159
*
158
* @param  object objet Pear de connection à la base de données.
160
* @param  object objet Pear de connection à la base de données.
159
* @param  integer l'identifiant du menu.
161
* @param  integer l'identifiant du menu.
160
* @return mixed l'objet représentant les infos de l'appli, sinon false.
162
* @return mixed l'objet représentant les infos de l'appli, sinon false.
161
*/
163
*/
162
function GEN_retournerInfoAppliMenu($db, $id_menu) {
164
function GEN_retournerInfoAppliMenu($db, $id_menu) {
163
    // Gestion des erreurs
165
    // Gestion des erreurs
164
    if ($id_menu == 0) {
166
    if ($id_menu == 0) {
165
        return false;
167
        return false;
166
    }
168
    }
167
    // Requête sur les applications
169
    // Requête sur les applications
168
    $requete =  'SELECT gen_application.* '.
170
    $requete =  'SELECT gen_application.* '.
169
                'FROM gen_application, gen_menu '.
171
                'FROM gen_application, gen_menu '.
170
                'WHERE gm_id_menu = '.$id_menu.' '.
172
                'WHERE gm_id_menu = '.$id_menu.' '.
171
                'AND gm_ce_application = gap_id_application';
173
                'AND gm_ce_application = gap_id_application';
172
    $resultat = $db->query($requete);
174
    $resultat = $db->query($requete);
173
    $ligne_appli = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
175
    $ligne_appli = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
174
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
176
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
175
    return $ligne_appli;
177
    return $ligne_appli;
176
}
178
}
177
 
179
 
178
/** Fonction GEN_retournerIdAppliMenu() - Retourne l'identifiant de l'application d'un menu.
180
/** Fonction GEN_retournerIdAppliMenu() - Retourne l'identifiant de l'application d'un menu.
179
*
181
*
180
* Retourne l'identifiant de l'application liée à un menu
182
* Retourne l'identifiant de l'application liée à un menu
181
*
183
*
182
* @param  object objet Pear de connection à la base de données.
184
* @param  object objet Pear de connection à la base de données.
183
* @param  integer l'identifiant du menu.
185
* @param  integer l'identifiant du menu.
184
* @return integer identifiant de l'appli du menu, sinon false.
186
* @return integer identifiant de l'appli du menu, sinon false.
185
*/
187
*/
186
function GEN_retournerIdAppliMenu($db, $id_menu) {
188
function GEN_retournerIdAppliMenu($db, $id_menu) {
187
    // Requête sur les applications
189
    // Requête sur les applications
188
    $requete =  'SELECT gen_application.* '.
190
    $requete =  'SELECT gen_application.* '.
189
                'FROM gen_application, gen_menu '.
191
                'FROM gen_application, gen_menu '.
190
                'WHERE gm_id_menu = '.$id_menu.' '.
192
                'WHERE gm_id_menu = '.$id_menu.' '.
191
                'AND gm_ce_application = gap_id_application';
193
                'AND gm_ce_application = gap_id_application';
192
    $resultat = $db->query($requete);
194
    $resultat = $db->query($requete);
193
    $ligne_appli = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
195
    $ligne_appli = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
194
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
196
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
195
    return $ligne_appli->gap_id_application;
197
    return $ligne_appli->gap_id_application;
196
}
198
}
197
// +------------------------------------------------------------------------------------------------------+
199
// +------------------------------------------------------------------------------------------------------+
198
// |                                            PIED du PROGRAMME                                         |
200
// |                                            PIED du PROGRAMME                                         |
199
// +------------------------------------------------------------------------------------------------------+
201
// +------------------------------------------------------------------------------------------------------+
200
 
202
 
201
 
203
 
202
 
204
 
203
/* +--Fin du code ----------------------------------------------------------------------------------------+
205
/* +--Fin du code ----------------------------------------------------------------------------------------+
204
*
206
*
205
* $Log: not supported by cvs2svn $
207
* $Log: not supported by cvs2svn $
-
 
208
* Revision 1.2  2005/02/28 11:12:03  jpm
-
 
209
* Modification des auteurs.
-
 
210
*
206
* Revision 1.1  2004/11/09 17:54:50  jpm
211
* Revision 1.1  2004/11/09 17:54:50  jpm
207
* Ajout de fonction permettant de manipuler les informations liées aux applications.
212
* Ajout de fonction permettant de manipuler les informations liées aux applications.
208
*
213
*
209
*
214
*
210
* +-- Fin du code ----------------------------------------------------------------------------------------+
215
* +-- Fin du code ----------------------------------------------------------------------------------------+
211
*/
216
*/
212
?>
217
?>