Subversion Repositories Applications.papyrus

Compare Revisions

Ignore whitespace Rev 92 → Rev 93

/trunk/papyrus/pap_initialise_info.inc.php
22,7 → 22,7
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
// | |
// +------------------------------------------------------------------------------------------------------+
// CVS : $Id: pap_initialise_info.inc.php,v 1.9 2004-10-15 18:29:19 jpm Exp $
// CVS : $Id: pap_initialise_info.inc.php,v 1.10 2004-10-22 17:23:59 jpm Exp $
/**
*Initialisation de Papyrus : vérification et récupération de paramètres généraux.
*
42,7 → 42,7
*@author Alexandre GRANIER <alex@tela-botanica.org>
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org>
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.9 $ $Date: 2004-10-15 18:29:19 $
*@version $Revision: 1.10 $ $Date: 2004-10-22 17:23:59 $
// +------------------------------------------------------------------------------------------------------+
*/
 
91,9 → 91,14
// Aucun site trouvé
if ($resultat->numRows() == 0) {
die( 'ERREUR Génésia : impossible de trouver de sites.<br />'.
'Ligne n° : '. __LINE__ .'<br />'.
'Fichier n° : '. __FILE__ .'<br />');
// Appel à l'application Installateur si nécessaire
/** <br> Inclusion du programme Installateur de Papyrus.
* L'abscence de site oblige à relancer l'installation et le script sql qui regénèrera la base de données.*/
include_once GEN_CHEMIN_APPLICATION.'installateur/installateur.php';
$_GEN_commun['sortie'] = afficherContenuCorps();
include_once GEN_CHEMIN_PAP.'pap_envoi.inc.php';
// Fin du programme Papyrus.
exit(0);
}
// Nous avons trouvé un site.
$_GEN_commun['info_site'] = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
126,10 → 131,14
 
//Gestion de l'erreur aucun site trouvable.
if (! isset($_GEN_commun['info_site'])) {
die('ERREUR Génésia : impossible de trouver les informations du site.<br />'.
'Site : '.$_GEN_commun['url_site'].'<br />'.
'Ligne n° : '. __LINE__ .'<br />'.
'Fichier n° : '. __FILE__ .'<br />');
// Appel à l'application Installateur si nécessaire
/** <br> Inclusion du programme Installateur de Papyrus.
* L'abscence de site oblige à relancer l'installation et le script sql qui regénèrera la base de données.*/
include_once GEN_CHEMIN_APPLICATION.'installateur/installateur.php';
$_GEN_commun['sortie'] .= afficherContenuCorps();
include_once GEN_CHEMIN_PAP.'pap_envoi.inc.php';
// Fin du programme Papyrus.
exit(0);
}
 
// +------------------------------------------------------------------------------------------------------+
330,9 → 339,7
}
 
if (empty($_GEN_commun['url_menu'])) {
die('ERREUR Génésia : identifiant de menu introuvable. <br />'.
'Ligne n° : '. __LINE__ .'<br />'.
'Fichier : '. __FILE__ );
trigger_error ('identifiant de menu introuvable', E_USER_NOTICE);
}
 
// +------------------------------------------------------------------------------------------------------+
382,67 → 389,69
// Gestion de l'application du menu demandé.
 
// Recherche de la première application liée
$info_appli_menu = GEN_donnerIdPremiereApplicationLiee($_GEN_commun['info_menu']->gm_id_menu);
$id_application = $info_appli_menu['gm_ce_application'];
$id_menu_actif = $info_appli_menu['gm_id_menu'];
 
// Si le menu n'a pas d'application lié, on recalcule l'objet $_GEN_commun['info_menu']
if ($id_menu_actif != $_GEN_commun['info_menu']->gm_id_menu) {
$requete = 'SELECT gen_menu.* '.
'FROM gen_menu '.
'WHERE gm_id_menu = '.$id_menu_actif;
$resultat = $db->query($requete);
(DB::isError($resultat))
? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete))
: '';
// Nous avons trouvé un menu "défaut" pour le site courant.
$_GEN_commun['info_menu'] = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
$resultat->free();
if (isset($_GEN_commun['info_menu']->gm_id_menu)) {
$info_appli_menu = GEN_donnerIdPremiereApplicationLiee($_GEN_commun['info_menu']->gm_id_menu);
if (is_array($info_appli_menu)) {
$id_application = $info_appli_menu['gm_ce_application'];
$id_menu_actif = $info_appli_menu['gm_id_menu'];
// Si le menu n'a pas d'application lié, on recalcule l'objet $_GEN_commun['info_menu']
if ($id_menu_actif != $_GEN_commun['info_menu']->gm_id_menu) {
$requete = 'SELECT gen_menu.* '.
'FROM gen_menu '.
'WHERE gm_id_menu = '.$id_menu_actif;
$resultat = $db->query($requete);
(DB::isError($resultat))
? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete))
: '';
// Nous avons trouvé un menu "défaut" pour le site courant.
$_GEN_commun['info_menu'] = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
$resultat->free();
}
// Recherche des informations sur l'application liée
$requete_applicaton = 'SELECT * '.
'FROM gen_application '.
'WHERE gap_id_application = '.$id_application;
$resultat_applicaton = $db->query($requete_applicaton);
(DB::isError($resultat_applicaton))
? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_applicaton->getMessage(), $requete_applicaton))
: '';
$_GEN_commun['info_application'] = $resultat_applicaton->fetchRow(DB_FETCHMODE_OBJECT) ;
$resultat_applicaton->free();
}
// Gestion des erreurs sur la recherche de l'application liée.
trigger_error ('application du menu demandée introuvable', E_USER_NOTICE);
} else if ( empty($_GEN_commun['info_application']) ) {
// Gestion des erreurs sur la recherche de l'application liée.
trigger_error ('application du menu demandée introuvable', E_USER_NOTICE);
}
 
 
// Recherche des informations sur l'application liée
$requete_applicaton = 'SELECT * '.
'FROM gen_application '.
'WHERE gap_id_application = '.$id_application;
 
$resultat_applicaton = $db->query($requete_applicaton);
(DB::isError($resultat_applicaton))
? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_applicaton->getMessage(), $requete_applicaton))
: '';
 
$_GEN_commun['info_application'] = $resultat_applicaton->fetchRow(DB_FETCHMODE_OBJECT) ;
 
$resultat_applicaton->free() ;
 
// Gestion des erreurs sur la recherche de l'application liée.
if ( empty($_GEN_commun['info_application']) ) {
die('ERREUR Génésia : application de la page demandée introuvable. <br />'.
'Page : '.$page_id.'<br />'.
'Ligne n° : '. __LINE__ . '<br />'.
'Fichier : '. __FILE__ . '<br />');
}
 
// +------------------------------------------------------------------------------------------------------+
// Gestion des arguments de l'application
 
$arguments = explode(' ', $_GEN_commun['info_menu']->gm_application_arguments);
 
// Initialisaton de la variable globale $GS_ARGUMENTS
$_GEN_commun['info_application']->cache = false;
$_GEN_commun['info_application']->cache_duree = 0;
 
for ($i = 0; $i < count($arguments); $i++) {
$attr = explode('=', $arguments[$i]);
if (isset($_GEN_commun['info_menu']->gm_application_arguments)) {
$arguments = explode(' ', $_GEN_commun['info_menu']->gm_application_arguments);
if ($attr[0] == 'cache_duree') {
$_GEN_commun['info_application']->cache_duree = $attr[1];
if ($_GEN_commun['info_application']->cache_duree > 0) {
$_GEN_commun['info_application']->cache = true;
// Initialisaton de la variable globale $GS_ARGUMENTS
$_GEN_commun['info_application']->cache = false;
$_GEN_commun['info_application']->cache_duree = 0;
for ($i = 0; $i < count($arguments); $i++) {
$attr = explode('=', $arguments[$i]);
if ($attr[0] == 'cache_duree') {
$_GEN_commun['info_application']->cache_duree = $attr[1];
if ($_GEN_commun['info_application']->cache_duree > 0) {
$_GEN_commun['info_application']->cache = true;
}
} else if ($attr[0] != '') {
$_GEN_commun['info_application']->$attr[0] = (isset($attr[1]) ? $attr[1] : '');
}
} else if ($attr[0] != '') {
$_GEN_commun['info_application']->$attr[0] = (isset($attr[1]) ? $attr[1] : '');
}
}
 
467,9 → 476,15
// Gestion de l'objet URL
 
$_GEN_commun['url'] = & new Net_URL('http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']);
$_GEN_commun['url']->addQueryString(GEN_URL_CLE_SITE, $_GEN_commun['url_site']);
$_GEN_commun['url']->addQueryString(GEN_URL_CLE_MENU, $_GEN_commun['url_menu']);
 
if ( (isset($_GEN_commun['url_site'])) && (!empty($_GEN_commun['url_site'])) ) {
$_GEN_commun['url']->addQueryString(GEN_URL_CLE_SITE, $_GEN_commun['url_site']);
}
 
if ( (isset($_GEN_commun['url_menu'])) && (!empty($_GEN_commun['url_menu'])) ) {
$_GEN_commun['url']->addQueryString(GEN_URL_CLE_MENU, $_GEN_commun['url_menu']);
}
 
if ( (isset($_GEN_commun['url_i18n'])) && (!empty($_GEN_commun['url_i18n'])) ) {
$_GEN_commun['url']->addQueryString(GEN_URL_CLE_I18N, $_GEN_commun['url_i18n']);
}
486,6 → 501,9
 
/* +--Fin du code ---------------------------------------------------------------------------------------+
* $Log: not supported by cvs2svn $
* Revision 1.9 2004/10/15 18:29:19 jpm
* Modif pour gérer l'appli installateur de Papyrus.
*
* Revision 1.8 2004/09/23 14:30:53 jpm
* Correction bogue sur les menus.
*