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.11 2005-07-18 16:14:32 ddelon Exp $ |
// CVS : $Id: adme_general.fonct.php,v 1.12 2006-03-02 10:49:49 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.11 $ $Date: 2005-07-18 16:14:32 $ |
*@version $Revision: 1.12 $ $Date: 2006-03-02 10:49:49 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
|
68,20 → 68,125 |
*/ |
function ADME_afficherFormPrincipal($objet_pear_db, $objet_pear_url, $adme_site_id, $adme_menu_id, $adme_action) |
{ |
|
$id_langue = $_GEN_commun['i18n'];//identifiant de la langue choisie |
|
//--------------------------------------------------------------------------------------------------------------- |
// Nous affichons la liste des menus classiques et communs |
$retour = ''; |
// Liste des sites principaux |
$requete = 'SELECT gs_id_site, gs_code_alpha, gs_nom '. |
|
if (isset($id_langue) && ($id_langue!='')) { |
$langue_test=$id_langue; |
} else { |
$langue_test=GEN_I18N_ID_DEFAUT; |
} |
|
$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 '. |
'AND gs_id_site = gsr_id_site_01 '. |
'AND gsr_id_valeur = 102 '.// 102 = site "principal" |
'AND gsr_id_site_01 = gs_id_site '. |
'AND gs_ce_i18n = "'.$langue_test.'" '. |
'ORDER BY gsr_ordre DESC'; |
|
|
$resultat = $objet_pear_db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '' ; |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
|
$liste_site=array(); |
|
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) { |
// Si le site trouvé est une traduction vers la langue principale, on ne le selectionne pas |
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 = $objet_pear_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(); |
|
|
|
// On recherche l'ensemble des site en excluant le site admin (administration de Papyrus). |
|
if ($langue_test != GEN_I18N_ID_DEFAUT) { |
|
|
// Site ayant commme langue, la langue par defaut |
$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 '. |
'AND gs_id_site = gsr_id_site_01 '. |
'AND gsr_id_valeur = 102 '.// 102 = site "principal" |
'AND gs_ce_i18n = "'.GEN_I18N_ID_DEFAUT.'" '. |
'ORDER BY gsr_ordre DESC'; |
|
$resultat = $objet_pear_db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
|
// Est il traduit ? Non, alors affichage |
|
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) { |
|
if (isset($id_langue) && ($id_langue!='')) { |
$langue_test=$id_langue; |
} else { |
$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 = $objet_pear_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 ) { |
|
|
|
$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 = $objet_pear_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->free(); |
} |
|
//--------------------------------------------------------------------------------------------------------------- |
// Création du formulaire |
// Notes : Quickform semble remplacer les & des & à nouveau par des & solution utiliser str_replace()... |
100,7 → 205,7 |
$label = '<label for="'.$id.'">'.ADME_LG_FORM_SITE_CHOIX.'</label>'; |
$objet_select = new HTML_QuickForm_select($id, $label, '', $aso_attributs); |
$aso_options = array(); |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) { |
foreach ($liste_site as $ligne ) { |
if (!isset($adme_site_id) || $adme_site_id == 0) { |
$adme_site_id = $ligne->gs_id_site; |
} |
166,6 → 271,12 |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.11.2.1 2006/02/28 14:02:11 ddelon |
* Finition multilinguisme |
* |
* Revision 1.11 2005/07/18 16:14:32 ddelon |
* css admin + menu communs |
* |
* Revision 1.10 2005/07/08 21:57:24 ddelon |
* Copyright |
* |