Subversion Repositories Applications.papyrus

Rev

Rev 285 | Go to most recent revision | Details | Compare with Previous | 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
// +------------------------------------------------------------------------------------------------------+
285 jpm 8
// | This file is part of Papyrus.                                                                        |
145 jpm 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
// +------------------------------------------------------------------------------------------------------+
832 florian 24
// CVS : $Id: pap_application.fonct.php,v 1.3 2006-04-28 12:41:49 florian Exp $
145 jpm 25
/**
285 jpm 26
* Biblibothèque de fonction sur les applications.
145 jpm 27
*
285 jpm 28
* Liste des fonctions sur les applications.
145 jpm 29
*
285 jpm 30
*@package Papyrus
31
*@subpackage Fonctions
145 jpm 32
//Auteur original :
285 jpm 33
*@author        Jean-Pascal MILCENT <jpm@tela-botanica.org>
145 jpm 34
//Autres auteurs :
35
*@author        Aucun
36
*@copyright     Tela-Botanica 2000-2004
832 florian 37
*@version       $Revision: 1.3 $ $Date: 2006-04-28 12:41:49 $
145 jpm 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;
832 florian 125
    $morceaux='';
145 jpm 126
    preg_match('/([\w_]+).php$/', $chemin_appli, $morceaux);
127
    $nom_interface_admin = ucfirst($morceaux[1]).'_Admin';
128
    return $nom_interface_admin;
129
}
130
 
131
/** Fonction GEN_retournerNomAppli() - Retourne le nom de la classe d'une appli.
132
*
133
* Retourne le nom de la classe d'une appli.
134
*
135
* @param  object objet Pear de connection à la base de données.
136
* @param  integer l'identifiant de l'application.
137
* @return mixed le nom de la classe de l'appli, sinon false.
138
*/
139
function GEN_retournerNomAppli($db, $id_appli) {
140
    // Requête sur les applications
141
    $requete =  'SELECT gap_chemin '.
142
                'FROM gen_application '.
143
                'WHERE gap_id_application = '.$id_appli.' ';
144
    $resultat = $db->query($requete);
145
    $ligne_appli = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
146
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
147
 
148
    $chemin_appli = $ligne_appli->gap_chemin;
832 florian 149
    $morceaux='';
145 jpm 150
    preg_match('/([\w_]+).php$/', $chemin_appli, $morceaux);
151
    preg_replace('/_(\w)/', '_'.ucfirst(${1}),$morceaux[1]);
152
    $nom_classe_appli = $morceaux[1];
153
    return $nom_classe_appli;
154
}
155
 
156
/** Fonction GEN_retournerInfoAppliMenu() - Retourne les infos de l'application d'un menu.
157
*
158
* Retourne un objet contenant les infos de l'application liée à un menu
159
*
160
* @param  object objet Pear de connection à la base de données.
161
* @param  integer l'identifiant du menu.
162
* @return mixed l'objet représentant les infos de l'appli, sinon false.
163
*/
164
function GEN_retournerInfoAppliMenu($db, $id_menu) {
165
    // Gestion des erreurs
166
    if ($id_menu == 0) {
167
        return false;
168
    }
169
    // Requête sur les applications
170
    $requete =  'SELECT gen_application.* '.
171
                'FROM gen_application, gen_menu '.
172
                'WHERE gm_id_menu = '.$id_menu.' '.
173
                'AND gm_ce_application = gap_id_application';
174
    $resultat = $db->query($requete);
175
    $ligne_appli = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
176
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
177
    return $ligne_appli;
178
}
179
 
180
/** Fonction GEN_retournerIdAppliMenu() - Retourne l'identifiant de l'application d'un menu.
181
*
182
* Retourne l'identifiant de l'application liée à un menu
183
*
184
* @param  object objet Pear de connection à la base de données.
185
* @param  integer l'identifiant du menu.
186
* @return integer identifiant de l'appli du menu, sinon false.
187
*/
188
function GEN_retournerIdAppliMenu($db, $id_menu) {
189
    // Requête sur les applications
190
    $requete =  'SELECT gen_application.* '.
191
                'FROM gen_application, gen_menu '.
192
                'WHERE gm_id_menu = '.$id_menu.' '.
193
                'AND gm_ce_application = gap_id_application';
194
    $resultat = $db->query($requete);
195
    $ligne_appli = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
196
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
197
    return $ligne_appli->gap_id_application;
198
}
199
// +------------------------------------------------------------------------------------------------------+
200
// |                                            PIED du PROGRAMME                                         |
201
// +------------------------------------------------------------------------------------------------------+
202
 
203
 
204
 
205
/* +--Fin du code ----------------------------------------------------------------------------------------+
206
*
207
* $Log: not supported by cvs2svn $
832 florian 208
* Revision 1.2  2005/02/28 11:12:03  jpm
209
* Modification des auteurs.
210
*
285 jpm 211
* Revision 1.1  2004/11/09 17:54:50  jpm
212
* Ajout de fonction permettant de manipuler les informations liées aux applications.
145 jpm 213
*
285 jpm 214
*
145 jpm 215
* +-- Fin du code ----------------------------------------------------------------------------------------+
216
*/
217
?>