Subversion Repositories Applications.papyrus

Rev

Rev 285 | Go to most recent revision | Details | Last modification | View Log | RSS feed

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