Subversion Repositories Applications.papyrus

Compare Revisions

Ignore whitespace Rev 2075 → Rev 2076

/trunk/papyrus/pap_initialise_info.inc.php
62,6 → 62,14
// +------------------------------------------------------------------------------------------------------+
// | CORPS du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
 
// Recherche de la présence de la valeur d'i18n dans l'url
if ( (isset($_GET[GEN_URL_CLE_I18N])) && (!empty($_GET[GEN_URL_CLE_I18N])) ) {
$_GEN_commun['i18n'] = $_GET[GEN_URL_CLE_I18N];
} else {
$_GEN_commun['i18n'] = GEN_I18N_ID_DEFAUT;
}
 
// +------------------------------------------------------------------------------------------------------+
// Gestion de la réecriture d'url et des url erreur 404
if ((defined('PAP_URL_REECRITURE') AND PAP_URL_REECRITURE == '1' && (! isset($_GET[GEN_URL_CLE_SITE]) || empty($_GET[GEN_URL_CLE_SITE])) && (! isset($_GET[GEN_URL_CLE_MENU]) || empty($_GET[GEN_URL_CLE_MENU]))) ) {
87,7 → 95,11
if (preg_match('/^[0-9]+$/', $raccourci)) {
// Nous vérifions si nous utilisons les codes numériques ou alphanumérique dans les url
if (constant('GEN_URL_ID_TYPE_'.$reecriture) != 'int') {
$_GET[constant('GEN_URL_CLE_'.$reecriture)] = call_user_func('GEN_retourner'.$reecriture.'CodeAlpha', $db, $raccourci);
if ($reecriture == 'SITE') {
$_GET[constant('GEN_URL_CLE_'.$reecriture)] = call_user_func('GEN_retourner'.$reecriture.'CodeAlpha', $db, $raccourci, $_GEN_commun['i18n']);
} else {
$_GET[constant('GEN_URL_CLE_'.$reecriture)] = call_user_func('GEN_retourner'.$reecriture.'CodeAlpha', $db, $raccourci);
}
} else {
$_GET[constant('GEN_URL_CLE_'.$reecriture)] = $raccourci;
}
96,7 → 108,11
if (constant('GEN_URL_ID_TYPE_'.$reecriture) != 'int') {
$_GET[constant('GEN_URL_CLE_'.$reecriture)] = $raccourci;
} else {
$_GET[constant('GEN_URL_CLE_'.$reecriture)] = call_user_func('GEN_retourner'.$reecriture.'CodeNum', $db, $raccourci);
if ($reecriture == 'SITE') {
$_GET[constant('GEN_URL_CLE_'.$reecriture)] = call_user_func('GEN_retourner'.$reecriture.'CodeNum', $db, $raccourci, $_GEN_commun['i18n']);
} else {
$_GET[constant('GEN_URL_CLE_'.$reecriture)] = call_user_func('GEN_retourner'.$reecriture.'CodeNum', $db, $raccourci);
}
}
}
}
196,19 → 212,23
$resultat->free();
}
} else {
// Récupération de la valeur identifiant le site depuis l'url
// Récupération de la valeur identifiant le site depuis l'url
$_GEN_commun['url_site'] = $_GET[GEN_URL_CLE_SITE];
// Récupération des informations sur le site
$requete = 'SELECT * '.
'FROM gen_site, gen_site_relation '.
'WHERE gsr_id_site_01 = gsr_id_site_02 '.
'AND gsr_id_valeur IN ('.$site_liste_id.') '.
'AND gsr_id_site_01 = gs_id_site '.
// ATTENTION : pour fonctionner le site par dans la langue par défaut doit avoir une relation : id_site id_site id_valeur=1
$requete = 'SELECT gen_site.*, gsr01.* '.
'FROM gen_site, gen_site_relation AS gsr01, gen_site_relation AS gsr02 '.
'WHERE gsr01.gsr_id_site_01 = gsr01.gsr_id_site_02 '.
'AND gsr01.gsr_id_valeur IN ('.$site_liste_id.') '.
'AND gsr01.gsr_id_site_01 = gs_id_site '.
'AND gsr02.gsr_id_site_01 = gs_id_site '.
'AND gsr02.gsr_id_site_01 = gsr02.gsr_id_site_02 '.
'AND gsr02.gsr_id_valeur = 1 '.
'AND ';
$requete .= (GEN_URL_ID_TYPE_SITE == 'int')
? 'gs_code_num = '.$_GEN_commun['url_site']
: 'gs_code_alpha = "'.$_GEN_commun['url_site'].'"';
? 'gs_code_num = "'.$_GEN_commun['url_site'].'" '
: 'gs_code_alpha = "'.$_GEN_commun['url_site'].'" ';
$resultat = $db->query($requete);
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
232,13 → 252,6
exit(0);
}
 
// Recherche de la présence de la valeur d'i18n dans l'url
if ( (isset($_GET[GEN_URL_CLE_I18N])) && (!empty($_GET[GEN_URL_CLE_I18N])) ) {
$_GEN_commun['i18n'] = $_GET[GEN_URL_CLE_I18N];
} else {
$_GEN_commun['i18n'] = GEN_I18N_ID_DEFAUT;
}
 
// Nous récupérons des informations sur l'internationalisation
$requete = 'SELECT * '.
'FROM gen_i18n '.
273,7 → 286,7
 
// +------------------------------------------------------------------------------------------------------+
// Gestion des menus
 
//
// Nous vérifions le cas où le code du menu est introuvable dans l'url.
if ( (! isset($_GET[GEN_URL_CLE_MENU])) || (empty($_GET[GEN_URL_CLE_MENU])) ) {
// Recherche du premier menu du site courant:
/trunk/papyrus/bibliotheque/fonctions/pap_site.fonct.php
214,15 → 214,17
*
* @param mixed une instance de la classe Pear DB.
* @param string le code alphanumérique d'un site.
* @param string le code de la langue pour l'i18n (fr, en, ...).
* @return mixed le code numérique du site sinon false.
*/
function GEN_retournerSiteCodeNum(&$db, $code_alphanum)
function GEN_retournerSiteCodeNum(&$db, $code_alphanum, $i18n = null)
{
//----------------------------------------------------------------------------
// Recherche des informations sur le menu
$requete = 'SELECT gs_code_num '.
'FROM gen_site '.
'WHERE gs_code_alpha = "'.$code_alphanum.'"';
'WHERE gs_code_alpha = "'.$code_alphanum.'" '.
(is_null($i18n) ? '' : 'AND gs_ce_i18n = "'.$i18n.'" ');
 
$resultat = $db->query($requete);
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
246,15 → 248,18
*
* @param mixed une instance de la classse Pear DB.
* @param string le code numérique d'un site.
* @param string le code de la langue pour l'i18n (fr, en, ...).
* @return mixed le code alphanumérique du site sinon false.
*/
function GEN_retournerSiteCodeAlpha(&$db, $code_num)
function GEN_retournerSiteCodeAlpha(&$db, $code_num, $i18n = null)
{
//----------------------------------------------------------------------------
 
//----------------------------------------------------------------------------
// Recherche des informations sur le menu
$requete = 'SELECT gs_code_alpha '.
'FROM gen_site '.
'WHERE gs_code_num = '.$code_num;
'WHERE gs_code_num = '.$code_num.' '.
(is_null($i18n) ? '' : 'AND gs_ce_i18n = "'.$i18n.'" ');
 
$resultat = $db->query($requete);
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';