Subversion Repositories Applications.papyrus

Rev

Rev 67 | Rev 112 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 67 Rev 93
Line 20... Line 20...
20
// | You should have received a copy of the GNU Lesser General Public                                     |
20
// | You should have received a copy of the GNU Lesser General Public                                     |
21
// | License along with this library; if not, write to the Free Software                                  |
21
// | License along with this library; 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
// +------------------------------------------------------------------------------------------------------+
24
// +------------------------------------------------------------------------------------------------------+
25
// CVS : $Id: pap_initialise_info.inc.php,v 1.9 2004-10-15 18:29:19 jpm Exp $
25
// CVS : $Id: pap_initialise_info.inc.php,v 1.10 2004-10-22 17:23:59 jpm Exp $
26
/**
26
/**
27
*Initialisation de Papyrus : vérification et récupération de paramètres généraux.
27
*Initialisation de Papyrus : vérification et récupération de paramètres généraux.
28
*
28
*
29
* La page contient le code initialisant l'éxecution du rendu d'une page par Papyrus.
29
* La page contient le code initialisant l'éxecution du rendu d'une page par Papyrus.
30
* Nous y trouvons la recherche des informations disponibles sur :
30
* Nous y trouvons la recherche des informations disponibles sur :
Line 40... Line 40...
40
*@author            Laurent COUDOUNEAU <laurent.coudouneau@ema.fr>
40
*@author            Laurent COUDOUNEAU <laurent.coudouneau@ema.fr>
41
//Autres auteurs :
41
//Autres auteurs :
42
*@author            Alexandre GRANIER <alex@tela-botanica.org>
42
*@author            Alexandre GRANIER <alex@tela-botanica.org>
43
*@author            Jean-Pascal MILCENT <jpm@tela-botanica.org>
43
*@author            Jean-Pascal MILCENT <jpm@tela-botanica.org>
44
*@copyright         Tela-Botanica 2000-2004
44
*@copyright         Tela-Botanica 2000-2004
45
*@version           $Revision: 1.9 $ $Date: 2004-10-15 18:29:19 $
45
*@version           $Revision: 1.10 $ $Date: 2004-10-22 17:23:59 $
46
// +------------------------------------------------------------------------------------------------------+
46
// +------------------------------------------------------------------------------------------------------+
47
*/
47
*/
Line 48... Line 48...
48
 
48
 
49
// +------------------------------------------------------------------------------------------------------+
49
// +------------------------------------------------------------------------------------------------------+
Line 89... Line 89...
89
        die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
89
        die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
90
    }
90
    }
Line 91... Line 91...
91
    
91
    
92
    // Aucun site trouvé
92
    // Aucun site trouvé
-
 
93
    if ($resultat->numRows() == 0) {
93
    if ($resultat->numRows() == 0) {
94
        // Appel à l'application Installateur si nécessaire
-
 
95
        /** <br> Inclusion du programme Installateur de Papyrus.
-
 
96
        * L'abscence de site oblige à relancer l'installation et le script sql qui regénèrera la base de données.*/
94
        die( 'ERREUR Génésia : impossible de trouver de sites.<br />'.
97
        include_once GEN_CHEMIN_APPLICATION.'installateur/installateur.php';
95
                    'Ligne n° : '. __LINE__ .'<br />'.
98
        $_GEN_commun['sortie'] = afficherContenuCorps();
-
 
99
        include_once GEN_CHEMIN_PAP.'pap_envoi.inc.php';
-
 
100
        // Fin du programme Papyrus.
96
                    'Fichier n° : '. __FILE__ .'<br />');
101
        exit(0);
97
    }
102
    }
98
    // Nous avons trouvé un site.
103
    // Nous avons trouvé un site.
99
    $_GEN_commun['info_site'] = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
104
    $_GEN_commun['info_site'] = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
100
    $resultat->free();
105
    $resultat->free();
Line 124... Line 129...
124
    $resultat->free();
129
    $resultat->free();
125
}
130
}
Line 126... Line 131...
126
 
131
 
127
//Gestion de l'erreur aucun site trouvable.
132
//Gestion de l'erreur aucun site trouvable.
-
 
133
if (! isset($_GEN_commun['info_site'])) {
128
if (! isset($_GEN_commun['info_site'])) {
134
    // Appel à l'application Installateur si nécessaire
-
 
135
    /** <br> Inclusion du programme Installateur de Papyrus.
-
 
136
    * L'abscence de site oblige à relancer l'installation et le script sql qui regénèrera la base de données.*/
129
    die('ERREUR Génésia : impossible de trouver les informations du site.<br />'.
137
    include_once GEN_CHEMIN_APPLICATION.'installateur/installateur.php';
130
        'Site : '.$_GEN_commun['url_site'].'<br />'.
138
    $_GEN_commun['sortie'] .= afficherContenuCorps();
131
        'Ligne n° : '. __LINE__ .'<br />'.
139
    include_once GEN_CHEMIN_PAP.'pap_envoi.inc.php';
-
 
140
    // Fin du programme Papyrus.
132
        'Fichier n° : '. __FILE__ .'<br />');
141
    exit(0);
Line 133... Line 142...
133
}
142
}
134
 
143
 
135
// +------------------------------------------------------------------------------------------------------+
144
// +------------------------------------------------------------------------------------------------------+
Line 328... Line 337...
328
    $_GEN_commun['info_menu'] = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
337
    $_GEN_commun['info_menu'] = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
329
    $resultat->free();
338
    $resultat->free();
330
}
339
}
Line 331... Line 340...
331
 
340
 
332
if (empty($_GEN_commun['url_menu'])) {
341
if (empty($_GEN_commun['url_menu'])) {
333
    die('ERREUR Génésia : identifiant de menu introuvable. <br />'.
-
 
334
        'Ligne n° : '. __LINE__ .'<br />'.
-
 
335
        'Fichier : '. __FILE__ );
342
    trigger_error ('identifiant de menu introuvable', E_USER_NOTICE);
Line 336... Line 343...
336
}
343
}
337
 
344
 
Line 380... Line 387...
380
 
387
 
381
// +------------------------------------------------------------------------------------------------------+
388
// +------------------------------------------------------------------------------------------------------+
Line 382... Line 389...
382
// Gestion de l'application du menu demandé.
389
// Gestion de l'application du menu demandé.
-
 
390
 
383
 
391
// Recherche de la première application liée
-
 
392
if (isset($_GEN_commun['info_menu']->gm_id_menu)) {
384
// Recherche de la première application liée
393
    $info_appli_menu = GEN_donnerIdPremiereApplicationLiee($_GEN_commun['info_menu']->gm_id_menu);
385
$info_appli_menu = GEN_donnerIdPremiereApplicationLiee($_GEN_commun['info_menu']->gm_id_menu);
394
    if (is_array($info_appli_menu)) {
386
$id_application = $info_appli_menu['gm_ce_application'];
395
        $id_application = $info_appli_menu['gm_ce_application'];
387
$id_menu_actif = $info_appli_menu['gm_id_menu'];
396
        $id_menu_actif = $info_appli_menu['gm_id_menu'];
388
 
397
        
389
// Si le menu n'a pas d'application lié, on recalcule l'objet $_GEN_commun['info_menu']
398
        // Si le menu n'a pas d'application lié, on recalcule l'objet $_GEN_commun['info_menu']
390
if ($id_menu_actif != $_GEN_commun['info_menu']->gm_id_menu) {
399
        if ($id_menu_actif != $_GEN_commun['info_menu']->gm_id_menu) {
391
    $requete =  'SELECT gen_menu.* '.
400
            $requete =  'SELECT gen_menu.* '.
392
                'FROM gen_menu '.
401
                        'FROM gen_menu '.
393
                'WHERE gm_id_menu = '.$id_menu_actif;
402
                        'WHERE gm_id_menu = '.$id_menu_actif;
394
    
403
            
395
    $resultat = $db->query($requete);
404
            $resultat = $db->query($requete);
396
    (DB::isError($resultat))
405
            (DB::isError($resultat))
397
        ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete))
406
                ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete))
398
        : '';
407
                : '';
399
    // Nous avons trouvé un menu "défaut" pour le site courant.
408
            // Nous avons trouvé un menu "défaut" pour le site courant.
400
    $_GEN_commun['info_menu'] = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
409
            $_GEN_commun['info_menu'] = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
401
    $resultat->free();
410
            $resultat->free();
402
}
411
        }
403
 
412
        
404
 
413
        
405
// Recherche des informations sur l'application liée
414
        // Recherche des informations sur l'application liée
406
$requete_applicaton =   'SELECT * '.
415
        $requete_applicaton =   'SELECT * '.
407
                        'FROM gen_application '.
416
                                'FROM gen_application '.
408
                        'WHERE gap_id_application = '.$id_application;
417
                                'WHERE gap_id_application = '.$id_application;
409
 
418
        
410
$resultat_applicaton = $db->query($requete_applicaton);
419
        $resultat_applicaton = $db->query($requete_applicaton);
411
(DB::isError($resultat_applicaton))
420
        (DB::isError($resultat_applicaton))
412
    ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_applicaton->getMessage(), $requete_applicaton))
421
            ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_applicaton->getMessage(), $requete_applicaton))
413
    : '';
422
            : '';
414
 
-
 
415
$_GEN_commun['info_application'] = $resultat_applicaton->fetchRow(DB_FETCHMODE_OBJECT) ;
423
        
416
 
424
        $_GEN_commun['info_application'] = $resultat_applicaton->fetchRow(DB_FETCHMODE_OBJECT) ;
417
$resultat_applicaton->free() ;
425
        $resultat_applicaton->free();
418
 
-
 
419
// Gestion des erreurs sur la recherche de l'application liée.
426
    }
420
if ( empty($_GEN_commun['info_application']) ) {
427
    // Gestion des erreurs sur la recherche de l'application liée.
421
    die('ERREUR Génésia : application de la page demandée introuvable. <br />'.
428
    trigger_error ('application du menu demandée introuvable', E_USER_NOTICE);
422
        'Page : '.$page_id.'<br />'.
429
} else if ( empty($_GEN_commun['info_application']) ) {
423
        'Ligne n° : '. __LINE__ . '<br />'.
430
    // Gestion des erreurs sur la recherche de l'application liée.
Line 424... Line 431...
424
        'Fichier : '. __FILE__ . '<br />');
431
    trigger_error ('application du menu demandée introuvable', E_USER_NOTICE);
425
}
432
}
Line -... Line 433...
-
 
433
 
426
 
434
// +------------------------------------------------------------------------------------------------------+
427
// +------------------------------------------------------------------------------------------------------+
435
// Gestion des arguments de l'application
428
// Gestion des arguments de l'application
436
 
429
 
437
if (isset($_GEN_commun['info_menu']->gm_application_arguments)) {
430
$arguments = explode(' ', $_GEN_commun['info_menu']->gm_application_arguments);
438
    $arguments = explode(' ', $_GEN_commun['info_menu']->gm_application_arguments);
431
 
439
    
432
// Initialisaton de la variable globale $GS_ARGUMENTS
440
    // Initialisaton de la variable globale $GS_ARGUMENTS
433
$_GEN_commun['info_application']->cache = false;
441
    $_GEN_commun['info_application']->cache = false;
434
$_GEN_commun['info_application']->cache_duree = 0;
442
    $_GEN_commun['info_application']->cache_duree = 0;
435
 
443
    
436
for ($i = 0; $i < count($arguments); $i++) {
444
    for ($i = 0; $i < count($arguments); $i++) {
437
    $attr = explode('=', $arguments[$i]);
445
        $attr = explode('=', $arguments[$i]);
438
    
446
        
-
 
447
        if ($attr[0] == 'cache_duree') {
-
 
448
            $_GEN_commun['info_application']->cache_duree = $attr[1];
-
 
449
            if ($_GEN_commun['info_application']->cache_duree > 0) {
439
    if ($attr[0] == 'cache_duree') {
450
                $_GEN_commun['info_application']->cache = true;
440
        $_GEN_commun['info_application']->cache_duree = $attr[1];
-
 
441
        if ($_GEN_commun['info_application']->cache_duree > 0) {
-
 
442
            $_GEN_commun['info_application']->cache = true;
451
            }
443
        }
452
        } else if ($attr[0] != '') {
Line 444... Line 453...
444
    } else if ($attr[0] != '') {
453
            $_GEN_commun['info_application']->$attr[0] = (isset($attr[1]) ? $attr[1] : '');
445
        $_GEN_commun['info_application']->$attr[0] = (isset($attr[1]) ? $attr[1] : '');
454
        }
Line 465... Line 474...
465
 
474
 
466
// +------------------------------------------------------------------------------------------------------+
475
// +------------------------------------------------------------------------------------------------------+
Line 467... Line 476...
467
// Gestion de l'objet URL
476
// Gestion de l'objet URL
-
 
477
 
-
 
478
$_GEN_commun['url'] = & new Net_URL('http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']);
468
 
479
 
-
 
480
if ( (isset($_GEN_commun['url_site'])) && (!empty($_GEN_commun['url_site'])) ) {
-
 
481
    $_GEN_commun['url']->addQueryString(GEN_URL_CLE_SITE, $_GEN_commun['url_site']);
-
 
482
}
469
$_GEN_commun['url'] = & new Net_URL('http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']);
483
 
-
 
484
if ( (isset($_GEN_commun['url_menu'])) && (!empty($_GEN_commun['url_menu'])) ) {
Line 470... Line 485...
470
$_GEN_commun['url']->addQueryString(GEN_URL_CLE_SITE, $_GEN_commun['url_site']);
485
    $_GEN_commun['url']->addQueryString(GEN_URL_CLE_MENU, $_GEN_commun['url_menu']);
471
$_GEN_commun['url']->addQueryString(GEN_URL_CLE_MENU, $_GEN_commun['url_menu']);
486
}
472
 
487
 
Line 484... Line 499...
484
    $_GEN_commun['url']->addQueryString(GEN_URL_CLE_DATE, $_GEN_commun['url_format']);
499
    $_GEN_commun['url']->addQueryString(GEN_URL_CLE_DATE, $_GEN_commun['url_format']);
485
}
500
}
Line 486... Line 501...
486
 
501
 
487
/* +--Fin du code ---------------------------------------------------------------------------------------+
502
/* +--Fin du code ---------------------------------------------------------------------------------------+
-
 
503
* $Log: not supported by cvs2svn $
-
 
504
* Revision 1.9  2004/10/15 18:29:19  jpm
-
 
505
* Modif pour gérer l'appli installateur de Papyrus.
488
* $Log: not supported by cvs2svn $
506
*
489
* Revision 1.8  2004/09/23 14:30:53  jpm
507
* Revision 1.8  2004/09/23 14:30:53  jpm
490
* Correction bogue sur les menus.
508
* Correction bogue sur les menus.
491
*
509
*
492
* Revision 1.7  2004/09/23 10:46:46  jpm
510
* Revision 1.7  2004/09/23 10:46:46  jpm