32,7 → 32,7 |
// pris connaissance de la licence CeCILL, et que vous en avez accepté les |
// termes. |
// ---- |
// CVS : $Id: adme_general.fonct.php,v 1.14 2006-03-23 20:24:59 ddelon Exp $ |
// CVS : $Id: adme_general.fonct.php,v 1.15 2006-03-24 13:03:24 ddelon Exp $ |
/** |
* Contient l'affichage par défaut de l'appli quand aucune actin |
* |
46,7 → 46,7 |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.14 $ $Date: 2006-03-23 20:24:59 $ |
*@version $Revision: 1.15 $ $Date: 2006-03-24 13:03:24 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
|
68,7 → 68,7 |
*/ |
function ADME_afficherFormPrincipal($objet_pear_db, $objet_pear_url, $adme_site_id, $adme_menu_id, $adme_action) |
{ |
|
/* |
$id_langue = $GLOBALS['_GEN_commun']['i18n'];//identifiant de la langue choisie |
|
//--------------------------------------------------------------------------------------------------------------- |
80,7 → 80,139 |
} else { |
$langue_test=GEN_I18N_ID_DEFAUT; |
} |
*/ |
|
$db=$objet_pear_db; |
|
$id_langue = $GLOBALS['_GEN_commun']['i18n']; //identifiant de la langue choisie |
|
// Langue en cours : langue choisie ou langue par defaut (principale) |
|
if (isset($id_langue) && ($id_langue!='')) { |
$langue_test=$id_langue; |
} else { |
$langue_test=GEN_I18N_ID_DEFAUT; |
} |
|
//$langue_test=GEN_I18N_ID_DEFAUT; |
|
// Liste des sites principaux : |
// Recherche de tous les sites langue en cours |
|
$requete = 'SELECT * '. |
'FROM gen_site, gen_site_relation '. |
'WHERE gsr_id_site_01 = gsr_id_site_02 '. |
'AND gsr_id_site_01 = gs_id_site '. |
'AND gsr_id_valeur IN (102, 103) '. |
'AND gs_ce_i18n = "'.$langue_test.'" '. |
'ORDER BY gsr_ordre'; |
|
|
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '' ; |
|
$liste_site=array(); |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) { |
|
if ($langue_test == GEN_I18N_ID_DEFAUT) { |
|
$requete_est_traduction = 'SELECT gsr_id_site_01 '. |
'FROM gen_site_relation '. |
'WHERE '.$ligne->gs_id_site.' = gsr_id_site_02 ' . |
'AND gsr_id_site_01 <> gsr_id_site_02 ' . |
'AND gsr_id_valeur = 1 ';// 1 = "avoir traduction" |
|
|
$resultat_est_traduction = $db->query($requete_est_traduction); |
(DB::isError($resultat_est_traduction)) |
? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_est_traduction->getMessage(), $requete_est_traduction)) |
: ''; |
|
if ( $resultat_est_traduction->numRows() == 0 ) { |
$liste_site[]=$ligne; |
} |
} |
else { |
$liste_site[]=$ligne; |
} |
} |
$resultat->free(); |
|
// Si la langue en cours n'est pas la langue par défaut, recherche des sites ayant comme langue |
// la langue par defaut, non traduits dans la langue en cours et n'etant pas des traductions |
|
|
if ($langue_test != GEN_I18N_ID_DEFAUT) { |
|
|
$requete = 'SELECT * '. |
'FROM gen_site, gen_site_relation '. |
'WHERE gsr_id_site_01 = gsr_id_site_02 '. |
'AND gs_id_site = gsr_id_site_01 '. |
'AND gsr_id_valeur IN (102, 103) '. |
'AND gs_ce_i18n = "'.GEN_I18N_ID_DEFAUT.'" '. |
'ORDER BY gs_code_num ASC';// 102 = site "principal" et 103 = site "externe" |
|
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
|
|
|
|
// Recherche de tous les sites de la langue principale qui ne sont pas traduits dans la langue en cours |
|
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) { |
|
$requete_est_traduction = 'SELECT gsr_id_site_01 '. |
'FROM gen_site_relation '. |
'WHERE '.$ligne->gs_id_site.' = gsr_id_site_02 ' . |
'AND gsr_id_site_01 <> gsr_id_site_02 ' . |
'AND gsr_id_valeur = 1 ';// 1 = "avoir traduction" |
|
|
$resultat_est_traduction = $db->query($requete_est_traduction); |
(DB::isError($resultat_est_traduction)) |
? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_est_traduction->getMessage(), $requete_est_traduction)) |
: ''; |
|
if ( $resultat_est_traduction->numRows() == 0 ) { |
|
|
if (isset($id_langue) && ($id_langue!='')) { |
$langue_test=$id_langue; |
} else { |
$langue_test=GEN_I18N_ID_DEFAUT; |
} |
|
$requete_traduction = 'SELECT gsr_id_site_01 '. |
'FROM gen_site_relation, gen_site '. |
'WHERE '.$ligne->gs_id_site.' = gsr_id_site_01 ' . |
'AND gsr_id_site_02 = gs_id_site '. |
'AND gs_ce_i18n = "'.$langue_test.'" '. |
'AND gsr_id_valeur = 1 ';// 1 = "avoir traduction" |
|
$resultat_traduction = $db->query($requete_traduction); |
(DB::isError($resultat_traduction)) |
? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_traduction->getMessage(), $requete_traduction)) |
: ''; |
|
if ( $resultat_traduction->numRows() == 0 ) { |
$liste_site []=$ligne; |
} |
|
$resultat_traduction->free(); |
|
} |
$resultat_est_traduction->free(); |
|
} |
$resultat->free(); |
} |
|
|
|
|
/* |
$requete = 'SELECT gs_id_site, gs_code_num, gs_code_alpha, gs_nom, gs_ce_i18n '. |
'FROM gen_site, gen_site_relation '. |
'WHERE gsr_id_site_01 = gsr_id_site_02 '. |
187,7 → 319,32 |
$resultat->free(); |
} |
|
*/ |
|
|
// Traduction d'un site principal uniquement : |
|
$requete = 'SELECT * '. |
'FROM gen_site_relation '. |
'WHERE gsr_id_site_02 = '.$adme_site_id.' '. |
'AND gsr_id_valeur =1 '; // 1 = "avoir traduction" |
|
$resultat = $db->query($requete); |
|
if (DB::isError($resultat)) { |
die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) ); |
} |
|
if ( $resultat->numRows() == 0 ) { |
$adme_site_id =$adme_site_id; |
} |
else { |
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT); |
$adme_site_id = $ligne->gsr_id_site_01; |
} |
$resultat->free(); |
|
|
|
//--------------------------------------------------------------------------------------------------------------- |
// Création du formulaire |
226,7 → 383,7 |
|
// Instanciation des valeurs par défaut du formulaire |
$form->setDefaults($adme_site_id); |
|
$retour =''; |
$retour .= '<h1>'.ADME_LG_MENU_TITRE.$site_nom.'</h1>'."\n"; |
$retour .= $form->toHTML()."\n"; |
|
272,6 → 429,9 |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.14 2006/03/23 20:24:59 ddelon |
* *** empty log message *** |
* |
* Revision 1.13 2006/03/13 21:00:20 ddelon |
* Suppression messages d'erreur multilinguisme |
* |