Subversion Repositories Applications.papyrus

Rev

Rev 326 | Rev 781 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
6 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 library is free software; you can redistribute it and/or                                        |
9
// | modify it under the terms of the GNU Lesser General Public                                           |
10
// | License as published by the Free Software Foundation; either                                         |
11
// | version 2.1 of the License, or (at your option) any later version.                                   |
12
// |                                                                                                      |
13
// | This library is distributed in the hope that it will be useful,                                      |
14
// | but WITHOUT ANY WARRANTY; without even the implied warranty of                                       |
15
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU                                    |
16
// | Lesser General Public License for more details.                                                      |
17
// |                                                                                                      |
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                                  |
20
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                            |
21
// +------------------------------------------------------------------------------------------------------+
22
/**
23
* Application Administrateur de Papyrus.
24
*
25
* Application permettant de gérer actulement les projets et la mise en cache des pages.
26
* Dans l'avenir la gestion via l'interface d'administration des fichiers CSS et
27
* des Squelettes pourrait être envisagée.
28
* Cette application peut prendre 1 des 3 arguments ci-dessous lors de son appel par un menu de Papyrus :
29
* - site : pour indiquer que l'on veut gérer les sites
30
* - cache : pour indiquer que l'on veut gérer le cache
31
* Liste des paquetages Pear nécessaire à cette application :
32
* - DB
33
* - Auth
34
* - Net_URL
35
*
25 jpm 36
*@package Admin_site
6 jpm 37
//Auteur original :
281 jpm 38
*@author        Jean-Pascal MILCENT <jpm@tela-botanica.org>
6 jpm 39
//Autres auteurs :
40
*@author        Alexandre GRANIER <alexandre@tela-botanica.org>
285 jpm 41
*@author        Laurent COUDOUNEAU <lc@gsite.org>
6 jpm 42
*@copyright     Tela-Botanica 2000-2004
754 ddelon 43
*@version       $Revision: 1.10 $ $Date: 2006-03-02 10:49:49 $
6 jpm 44
// +------------------------------------------------------------------------------------------------------+
45
//
754 ddelon 46
// $Id: admin_site.php,v 1.10 2006-03-02 10:49:49 ddelon Exp $
6 jpm 47
// FICHIER : $RCSfile: admin_site.php,v $
754 ddelon 48
// AUTEUR  : $Author: ddelon $
49
// VERSION : $Revision: 1.10 $
50
// DATE    : $Date: 2006-03-02 10:49:49 $
6 jpm 51
// +------------------------------------------------------------------------------------------------------+
52
**/
53
// +------------------------------------------------------------------------------------------------------+
54
// |                                            ENTÊTE du PROGRAMME                                       |
55
// +------------------------------------------------------------------------------------------------------+
56
 
57
// Note : cette application fait appel à des fonctions présentent dans la bibliotheque de Papyrus.
58
 
59
/** Inclusion du fichier de configuration de cette application.*/
60
require_once GEN_CHEMIN_APPLICATION.'admin_site/configuration/adsi_configuration.inc.php';
61
 
754 ddelon 62
 
63
 
64
// Inclusion des fichiers de traduction de l'appli ADSI de Papyrus
65
if (file_exists(ADSI_CHEMIN_LANGUE.'adsi_langue_'.$GLOBALS['_GEN_commun']['i18n'].'.inc.php')) {
66
    require_once ADSI_CHEMIN_LANGUE.'adsi_langue_'.$GLOBALS['_GEN_commun']['i18n'].'.inc.php';
67
} else {
68
    require_once ADSI_CHEMIN_LANGUE.'adsi_langue_'.ADSI_I18N_DEFAUT.'.inc.php';
69
}
70
 
6 jpm 71
/** Inclusion de la bibliothèque PEAR de conception de formulaire.*/
72
require_once ADSI_CHEMIN_BIBLIOTHEQUE_PEAR.'HTML/QuickForm.php';
73
 
74
/** Inclusion de l'API de fonctions gérant les erreurs sql.*/
276 jpm 75
require_once ADSI_CHEMIN_BIBLIOTHEQUE_API.'debogage/BOG_sql.fonct.php';
6 jpm 76
 
77
/** Inclusion des fonctions de manipulation du sql.
78
* Permet la récupération d'un nouvel identifiant d'une table.*/
276 jpm 79
require_once ADSI_CHEMIN_BIBLIOTHEQUE_API.'sql/SQL_manipulation.fonct.php';
6 jpm 80
 
72 jpm 81
/** Inclusion des fonctions de manipulation de fichiers et dossiers.
82
* Permet la suppression d'un dossier et de son contenu.*/
276 jpm 83
require_once ADSI_CHEMIN_BIBLIOTHEQUE_API.'fichier/FIC_manipulation.fonct.php';
72 jpm 84
 
281 jpm 85
/** Inclusion de la bibliothèque de fonctions concernant les tables "gen_menu..." de Papyrus.
6 jpm 86
* Permet d'inclure la fonction d'affichage du "Vous êtes ici".*/
87
require_once ADSI_CHEMIN_BIBLIOTHEQUE_GEN.'pap_menu.fonct.php';
88
 
281 jpm 89
/** Inclusion de la bibliothèque de fonctions concernant les tables "gen_site..." de Papyrus.*/
205 jpm 90
require_once ADSI_CHEMIN_BIBLIOTHEQUE_GEN.'pap_site.fonct.php';
91
 
6 jpm 92
/** Inclusion de la bibliotheque de fonction gérant l'affichage de l'application Administrateur.*/
93
require_once ADSI_CHEMIN_BIBLIOTHEQUE_ADSI.'adsi_affichage.fonct.php';
94
 
95
/** Inclusion de la bibliotheque de fonction gérant l'administration des sites de Papyrus.*/
96
require_once ADSI_CHEMIN_BIBLIOTHEQUE_ADSI.'adsi_site.fonct.php';
97
 
754 ddelon 98
 
99
 
25 jpm 100
///** Inclusion de la bibliotheque de fonction gérant l'administration du cache de Papyrus.*/
101
//require_once ADSI_CHEMIN_BIBLIOTHEQUE_ADSI.'adsi_cache.fonct.php';
6 jpm 102
 
25 jpm 103
///** Inclusion de la bibliotheque de fonction gérant l'administration des squelettes des sites de Papyrus.*/
104
//require_once ADSI_CHEMIN_BIBLIOTHEQUE_ADSI.'adsi_squelette.fonct.php';
6 jpm 105
 
25 jpm 106
///** Inclusion de la bibliotheque de fonction gérant l'administration des feuilles de styles des sites de Papyrus.*/
107
//require_once ADSI_CHEMIN_BIBLIOTHEQUE_ADSI.'adsi_style.fonct.php';
108
 
6 jpm 109
// +------------------------------------------------------------------------------------------------------+
110
// |                                            CORPS du PROGRAMME                                        |
111
// +------------------------------------------------------------------------------------------------------+
754 ddelon 112
 
6 jpm 113
/** Fonction afficherContenuTete() - Fonction appelé par le gestionnaire Papyrus.
114
*
115
* Elle retourne l'entête de l'application..
116
*
117
* @return  string  du code XHTML correspondant à la zone d'entête de l'application.
118
*/
119
function afficherContenuTete()
120
{
121
    return '';
122
}
123
 
124
/** Fonction afficherContenuCorps() - Retourne le contenu XHTML à afficherdans la zone contenu corps.
125
*
126
* Cette fonction retourne le contenu final d'un appel à l'application Administrateur.
127
* Cette fonction peut être appelé par Papyrus où depuis n'importe quel autre interface.
128
*
129
* @return  string  le contenu xhtml généré par l'application Administrateur et devant être affiché.
130
*/
131
function afficherContenuCorps()
132
{
754 ddelon 133
 
281 jpm 134
    // +----------------------------------------------------------------------------------------------+
135
    // Initialisation des variables
6 jpm 136
 
137
    // +----------------------------------------------------------------------------------------------+
138
    // Objet Pear Auth
326 jpm 139
    $objet_pear_auth =& $GLOBALS['_GEN_commun']['pear_auth'];
6 jpm 140
    // +----------------------------------------------------------------------------------------------+
141
    // Gestion de l'URL pour revenir sur le menu courant.
281 jpm 142
    $url = $GLOBALS['_GEN_commun']['url']->getUrl();
6 jpm 143
    // +----------------------------------------------------------------------------------------------+
144
    // Gestion de la langue de l'interface.
281 jpm 145
    $id_langue = $GLOBALS['_GEN_commun']['url_i18n'];
6 jpm 146
 
147
    if ($objet_pear_auth->getAuth()) {
148
        // +----------------------------------------------------------------------------------------------+
149
        // Initialisation des variables.
150
        $sortie_xhtml = '';// Le XHTML à renvoyer.// Ancien nom : $outputText
151
        $msg = '';
152
 
153
        // +----------------------------------------------------------------------------------------------+
281 jpm 154
        // Arguments passé par le menu de Papyrus à l'application l'Administrateur de site.
6 jpm 155
 
156
        // Initialisation des variables qui contiendront les arguments
157
        $id_site_a_administrer  = '';
158
        $bool_site              = false;
159
        $bool_auth              = false;
160
        $bool_cache             = false;
161
        $bool_squelette         = false;
162
        $bool_style             = false;
163
 
164
        // Instantciation des variables arguments
281 jpm 165
        if (isset($GLOBALS['_GEN_commun']['info_application']->id_site)) {
166
            $id_site_a_administrer = $GLOBALS['_GEN_commun']['info_application']->id_site;
6 jpm 167
        }
168
 
281 jpm 169
        if (isset($GLOBALS['_GEN_commun']['info_application']->bool_site) && $GLOBALS['_GEN_commun']['info_application']->bool_site == 'true') {
170
            // Interface d'administration des sites
171
            $bool_site = true;
172
        }
173
 
174
        if (isset($GLOBALS['_GEN_commun']['info_application']->bool_auth) && $GLOBALS['_GEN_commun']['info_application']->bool_auth == 'true') {
175
            // Interface d'administration du cache d'un site
176
            $bool_cache = true;
177
        }
178
 
179
        if (isset($GLOBALS['_GEN_commun']['info_application']->bool_cache) && $GLOBALS['_GEN_commun']['info_application']->bool_cache == 'true') {
180
            // Interface d'administration du cache d'un site
181
            $bool_cache = true;
182
        }
183
 
184
        if (isset($GLOBALS['_GEN_commun']['info_application']->bool_squelette) && $GLOBALS['_GEN_commun']['info_application']->bool_squelette == 'true') {
185
            // Interface d'administration du fichier squelette d'un site
186
            $bool_squelette = true;
187
        }
188
        if (isset($GLOBALS['_GEN_commun']['info_application']->bool_style) && $GLOBALS['_GEN_commun']['info_application']->bool_style == 'true') {
189
            // Interface d'administration du fichier de styles d'un site
190
            $bool_style = true;
191
        }
192
 
6 jpm 193
        // Si aucun argument transmis on affiche l'interface de gestion des sites
194
        if ( !($bool_site && $bool_cache && $bool_squelette && $bool_style) ) {
195
            $bool_site = true;
196
        }
197
 
198
        // +----------------------------------------------------------------------------------------------+
199
        // Gestion des sites...
200
        if ($bool_site) {
201
            if (isset($_POST['form_sites_ajouter'])) {
202
                // Nous voulons le formulaire d'ajout d'un site
287 jpm 203
                $sortie_xhtml .= ADMIN_afficherFormSite($GLOBALS['_GEN_commun']['pear_db'], $url);
6 jpm 204
                return $sortie_xhtml;
205
            } else if (isset($_POST['site_enregistrer'])) {
206
                // Nous cherchons à enregistrer un site
281 jpm 207
                $message = ADMIN_validerFormSite($GLOBALS['_GEN_commun']['pear_db'], $_POST);
6 jpm 208
                if (!empty($message)) {
209
                    // Les données ne sont pas valide. Nous retournons le formulaires avec les messages d'erreurs.
281 jpm 210
                    $sortie_xhtml .= ADMIN_afficherFormSite($GLOBALS['_GEN_commun']['pear_db'], $url, $_POST, $message);
6 jpm 211
                } else {
212
                    // Les données sont valide. Nous les enregistrons et retournons au formulaire de départ.
281 jpm 213
                    $message = ADMIN_enregistrerSite($GLOBALS['_GEN_commun']['pear_db'], $_POST, $objet_pear_auth->getAuthData('ga_id_administrateur'));
214
                    $sortie_xhtml .= ADMIN_afficherFormListeSites($GLOBALS['_GEN_commun']['pear_db'], $url, $message);
6 jpm 215
                }
216
                return $sortie_xhtml;
217
            } else if (isset($_POST['form_sites_modifier'])) {
218
                // Nous cherchons à modifier un site
281 jpm 219
                $message = ADMIN_validerFormListesSites($GLOBALS['_GEN_commun']['pear_db'], $_POST);
6 jpm 220
                if (!empty($message)) {
221
                    // Les données ne sont pas valide. Nous retournons le formulaires avec les messages d'erreurs.
281 jpm 222
                    $sortie_xhtml .= ADMIN_afficherFormListeSites($GLOBALS['_GEN_commun']['pear_db'], $url, $message);
6 jpm 223
                } else {
224
                    // Les données sont valide. Nous affichons le formulaire de modification.
281 jpm 225
                    $sortie_xhtml .= ADMIN_afficherFormSite($GLOBALS['_GEN_commun']['pear_db'], $url, $_POST, $message);
6 jpm 226
                }
227
                return $sortie_xhtml;
228
            } else if (isset($_POST['site_modifier'])) {
229
                // Nous cherchons à enregistrer les modification d'un site
281 jpm 230
                $message = ADMIN_validerFormSite($GLOBALS['_GEN_commun']['pear_db'], $_POST);
6 jpm 231
                if (!empty($message)) {
232
                    // Les données ne sont pas valide. Nous retournons le formulaires avec les messages d'erreurs.
281 jpm 233
                    $sortie_xhtml .= ADMIN_afficherFormSite($GLOBALS['_GEN_commun']['pear_db'], $url, $_POST, $message);
6 jpm 234
                } else {
235
                    // Les données sont valide. Nous les enregistrons et retournons au formulaire de départ.
281 jpm 236
                    $message = ADMIN_modifierSite($GLOBALS['_GEN_commun']['pear_db'], $_POST, $objet_pear_auth->getAuthData('ga_id_administrateur'));
237
                    $sortie_xhtml .= ADMIN_afficherFormListeSites($GLOBALS['_GEN_commun']['pear_db'], $url, $message);
6 jpm 238
                }
239
                return $sortie_xhtml;
240
            } else if (isset($_POST['form_sites_supprimer'])) {
241
                // Nous cherchons à supprimer un site
281 jpm 242
                $message = ADMIN_validerFormListesSites($GLOBALS['_GEN_commun']['pear_db'], $_POST);
6 jpm 243
                if (!empty($message)) {
244
                    // Les données ne sont pas valide. Nous retournons le formulaires avec les messages d'erreurs.
281 jpm 245
                    $sortie_xhtml .= ADMIN_afficherFormListeSites($GLOBALS['_GEN_commun']['pear_db'], $url, $message);
6 jpm 246
                } else {
247
                    // Les données sont valide. Nous supprimons et retournons au formulaire de départ.
281 jpm 248
                    $message = ADMIN_supprimerSite($GLOBALS['_GEN_commun']['pear_db'], $_POST);
249
                    $sortie_xhtml .= ADMIN_afficherFormListeSites($GLOBALS['_GEN_commun']['pear_db'], $url, $message);
6 jpm 250
                }
251
                return $sortie_xhtml;
252
            } else if (isset($_POST['form_sites_traduire'])) {
754 ddelon 253
                // Nous cherchons à traduire un site
281 jpm 254
                $message = ADMIN_validerFormListesSites($GLOBALS['_GEN_commun']['pear_db'], $_POST);
6 jpm 255
                if (!empty($message)) {
256
                    // Les données ne sont pas valide. Nous retournons le formulaires avec les messages d'erreurs.
281 jpm 257
                    $sortie_xhtml .= ADMIN_afficherFormListeSites($GLOBALS['_GEN_commun']['pear_db'], $url, $message);
6 jpm 258
                } else {
754 ddelon 259
                    // Les données sont valide. Nous affichons le formulaire de traduction
260
                    $sortie_xhtml .= ADMIN_afficherFormSite($GLOBALS['_GEN_commun']['pear_db'], $url, $_POST, $message);
6 jpm 261
                }
262
                return $sortie_xhtml;
754 ddelon 263
            } else if (isset($_POST['site_traduire'])) {
264
                // Nous cherchons à enregistrer la  traduction d'un site
265
                $message = ADMIN_validerFormSite($GLOBALS['_GEN_commun']['pear_db'], $_POST);
266
                $message='';
6 jpm 267
                if (!empty($message)) {
268
                    // Les données ne sont pas valide. Nous retournons le formulaires avec les messages d'erreurs.
754 ddelon 269
                    $sortie_xhtml .= ADMIN_afficherFormSite($GLOBALS['_GEN_commun']['pear_db'], $url, $_POST, $message);
6 jpm 270
                } else {
271
                    // Les données sont valide. Nous les enregistrons et retournons au formulaire de départ.
754 ddelon 272
                    $message = ADMIN_traduireSite($GLOBALS['_GEN_commun']['pear_db'], $_POST, $objet_pear_auth->getAuthData('ga_id_administrateur'));
281 jpm 273
                    $sortie_xhtml .= ADMIN_afficherFormListeSites($GLOBALS['_GEN_commun']['pear_db'], $url, $message);
6 jpm 274
                }
275
                return $sortie_xhtml;
276
            } else if (isset($_POST['form_annuler'])) {
277
                // Retour à la liste des sites
281 jpm 278
                $sortie_xhtml .= ADMIN_afficherFormListeSites($GLOBALS['_GEN_commun']['pear_db'], $url);
6 jpm 279
                return $sortie_xhtml;
280
            } else {
281
                // Liste des sites
281 jpm 282
                $sortie_xhtml .= ADMIN_afficherFormListeSites($GLOBALS['_GEN_commun']['pear_db'], $url);
6 jpm 283
            }
284
        }
285
        // +----------------------------------------------------------------------------------------------+
286
        // Gestion du cache... A FAIRE
287
        if ($bool_cache) {
288
 
289
        }
290
        // +----------------------------------------------------------------------------------------------+
291
        // Gestion des squelettes... A FAIRE
292
        if ($bool_squelette) {
281 jpm 293
 
6 jpm 294
        }
295
        // +----------------------------------------------------------------------------------------------+
296
        // Gestion des styles... A FAIRE
297
        if ($bool_style) {
298
 
299
        }
300
 
281 jpm 301
        return $sortie_xhtml;
6 jpm 302
    } else {
303
        // L'utilisateur n'est pas identifier, nous lui demandons de le faire.
304
        return GEN_afficherInfoIdentification();
305
    }
306
}//Fin de la fonction afficherContenuCorps().
307
 
308
/* +--Fin du code ---------------------------------------------------------------------------------------+
309
* $Log: not supported by cvs2svn $
754 ddelon 310
* Revision 1.9.2.2  2006/02/28 14:02:09  ddelon
311
* Finition multilinguisme
312
*
313
* Revision 1.9.2.1  2006/01/19 21:26:20  ddelon
314
* Multilinguisme site + bug ftp
315
*
316
* Revision 1.9  2005/04/08 13:28:43  jpm
317
* Utiliation de références.
318
*
326 jpm 319
* Revision 1.8  2005/02/28 13:09:17  jpm
320
* Correction bogue : virgule manquante.
321
*
287 jpm 322
* Revision 1.7  2005/02/28 11:07:05  jpm
323
* Modification des auteurs.
324
*
285 jpm 325
* Revision 1.6  2005/02/28 10:58:38  jpm
326
* Suppression de code inutile.
327
*
281 jpm 328
* Revision 1.5  2005/02/28 10:32:06  jpm
329
* Changement de nom de dossier.
330
*
276 jpm 331
* Revision 1.4  2004/12/03 19:22:57  jpm
332
* Gestion des types de sites externes gérés par Papyrus.
333
*
205 jpm 334
* Revision 1.3  2004/10/18 18:27:37  jpm
335
* Correction problèmes FTP et manipulation de fichiers.
336
*
72 jpm 337
* Revision 1.2  2004/07/06 17:08:14  jpm
338
* Modification de la documentation pour une mailleur analyse par PhpDocumentor.
339
*
25 jpm 340
* Revision 1.1  2004/06/16 14:20:39  jpm
341
* Changement de nom de Génésia en Papyrus.
342
* Changement de l'arborescence.
343
*
6 jpm 344
* Revision 1.23  2004/05/10 12:23:26  jpm
345
* Correction mineure.
346
*
347
* Revision 1.22  2004/05/07 16:33:18  jpm
348
* Intégration de constantes.
349
*
350
* Revision 1.21  2004/05/07 07:23:03  jpm
351
* Ajout de la gestion des modification et suppression de site. Amélioration de la création des sites.
352
*
353
* Revision 1.20  2004/05/05 06:45:36  jpm
354
* Suppression de l'appel de la fonction générant le "vous êtes ici" dans la fonction affichant l'entête de l'application.
355
*
356
* Revision 1.19  2004/05/04 16:28:30  jpm
357
* Réduction de code pour la fonction afficherContenuTete().
358
*
359
* Revision 1.18  2004/04/30 16:22:59  jpm
360
* Poursuite de l'administration des sites.
361
*
362
* Revision 1.17  2004/04/22 08:33:11  jpm
363
* Transformation de $GS_GLOBAL en $_GEN_commun.
364
*
365
* Revision 1.16  2004/04/09 16:24:08  jpm
366
* Prise en compte des tables i18n.
367
*
368
* Revision 1.15  2004/04/02 16:37:09  jpm
369
* Modification de la gestion des actions d'administration.
370
* Ajout de commentaires.
371
*
372
* Revision 1.14  2004/03/31 16:58:15  jpm
373
* Changement des chemins d'accès aux fichiers à inclure.
374
*
375
* Revision 1.13  2004/03/24 10:07:04  jpm
376
* Ajout des commentaires d'entête.
377
* Début mise en conformité avec la convention de codage.
378
* Déplacement de la fonction d'affichage du xhtml dans la bibliothèque de fonctions.
379
*
380
* +--Fin du code ----------------------------------------------------------------------------------------+
381
*/
382
?>