32,7 → 32,7 |
// pris connaissance de la licence CeCILL, et que vous en avez accepté les |
// termes. |
// ---- |
// CVS : $Id: adme_menu_classique.fonct.php,v 1.31 2006-04-12 21:11:54 ddelon Exp $ |
// CVS : $Id: adme_menu_classique.fonct.php,v 1.32 2006-06-28 12:53:34 ddelon Exp $ |
/** |
* Fonctions de gestion des menus classiques |
* |
46,9 → 46,8 |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Alexandre GRANIER <alexandre@tela-botanica.org> |
*@author Laurent COUDOUNEAU <lc@gsite.org> |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.31 $ $Date: 2006-04-12 21:11:54 $ |
*@version $Revision: 1.32 $ $Date: 2006-06-28 12:53:34 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
|
166,7 → 165,7 |
* @param integer 0 indique que le menu ne possède pas de fils, 1 qu'il faut afficher un - et 2 un +. |
* @return string une ligne de liste XHTML |
*/ |
function ADME_retournerXhtmlMenuClassique($db, $url, $adme_site_id, $adme_menu_id, $int_deplier,$est_traduction=false) |
function ADME_retournerXhtmlMenuClassique($db, $url, $adme_site_id, $adme_menu_id, $int_deplier,$est_traduction=false,$menu_traduction_defaut=0) |
{ |
//------------------------------------------------------------------------------------------------------------------- |
// Initialisation des variables |
289,6 → 288,7 |
else { |
$gap_id_application=$ligne_app->gap_id_application; |
} |
|
if ($gap_id_application != 0 && GEN_verifierPresenceInterfaceAdmin($db, $gap_id_application)) { |
$url->removeQueryString('adme_action'); |
$url->addQueryString('adme_action', ADME_LG_ACTION_ADMINISTRER); |
303,14 → 303,25 |
ADME_LG_ACTION_CLASSIQUE_TRADUIRE_ALT. |
'</a> '."\n"; |
} |
else { |
if ($menu_traduction_defaut==$adme_menu_id) { |
$xhtml_action .= '<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_TRADUCTION_DEFAUT_AFFICHAGE.'" alt="'.ADME_LG_ACTION_CLASSIQUE_TRADUCTION_DEFAUT_ALT.'" />'. |
' '."\n"; |
} |
else { |
$url->removeQueryString('adme_action'); |
$url->addQueryString('adme_action', ADME_LG_ACTION_CLASSIQUE_TRADUCTION_DEFAUT); |
$xhtml_action .= '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_CLASSIQUE_TRADUCTION_DEFAUT_TITLE.'">'. |
'<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_TRADUCTION_DEFAUT.'" alt="'.ADME_LG_ACTION_CLASSIQUE_TRADUCTION_DEFAUT_ALT.'" />'. |
'</a>'.' '."\n"; |
|
} |
} |
|
|
$xhtml_traduction=''; |
|
// $id_langue = $GLOBALS['_GEN_commun']['i18n']; |
|
|
$requete_traduction = 'SELECT gmr_id_menu_02, gm_ce_i18n '. |
'FROM gen_menu_relation, gen_menu '. |
'WHERE '.$adme_menu_id.' = gmr_id_menu_01 ' . |
321,15 → 332,58 |
(DB::isError($resultat_traduction)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_traduction->getMessage(), $requete_traduction)) |
: ''; |
|
if ($resultat_traduction->numRows() > 0 ) { |
|
$requete_traduction_defaut = 'SELECT gmr_id_menu_02 '. |
'FROM gen_menu_relation '. |
'WHERE '.$adme_menu_id.' = gmr_id_menu_01 ' . |
'AND gmr_id_valeur = 105 ';// 105 traduction par defaut |
$resultat_traduction_defaut = $db->query($requete_traduction_defaut); |
(DB::isError($resultat_traduction_defaut)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_traduction->getMessage(), $requete_traduction_defaut)) |
: ''; |
|
|
if ($resultat_traduction_defaut->numRows() == 0 ) { |
$menu_traduction_defaut=0; |
$xhtml_action .= '<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_TRADUCTION_DEFAUT_AFFICHAGE.'" alt="'.ADME_LG_ACTION_CLASSIQUE_TRADUCTION_DEFAUT_ALT.'" />'. |
' '."\n"; |
} |
else { |
|
|
$ligne_traduction_defaut = $resultat_traduction_defaut->fetchRow(DB_FETCHMODE_OBJECT); |
$menu_traduction_defaut=$ligne_traduction_defaut->gmr_id_menu_02; |
|
if ($menu_traduction_defaut!=$adme_menu_id) { |
$url->removeQueryString('adme_action'); |
$url->addQueryString('adme_action', ADME_LG_ACTION_CLASSIQUE_TRADUCTION_DEFAUT); |
$xhtml_action .= '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_CLASSIQUE_TRADUCTION_DEFAUT_TITLE.'">'. |
'<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_TRADUCTION_DEFAUT.'" alt="'.ADME_LG_ACTION_CLASSIQUE_TRADUCTION_DEFAUT_ALT.'" />'. |
'</a>'.' '."\n"; |
} |
else { |
$xhtml_action .= '<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_TRADUCTION_DEFAUT_AFFICHAGE.'" alt="'.ADME_LG_ACTION_CLASSIQUE_TRADUCTION_DEFAUT_ALT.'" />'. |
' '."\n"; |
|
} |
|
} |
|
while ($ligne_resultat = $resultat_traduction->fetchRow(DB_FETCHMODE_OBJECT)) { |
$xhtml_traduction.="<br><em>".$ligne_resultat->gm_ce_i18n.": ".ADME_retournerXhtmlMenuClassique($db, $url, $adme_site_id, $ligne_resultat->gmr_id_menu_02, 0,true)."</em>"; |
$xhtml_traduction.="<br><em>".$ligne_resultat->gm_ce_i18n.": ".ADME_retournerXhtmlMenuClassique($db, $url, $adme_site_id, $ligne_resultat->gmr_id_menu_02, 0,true,$menu_traduction_defaut)."</em>"; |
|
} |
|
|
} |
|
//------------------------------------------------------------------------------------------------------------------- |
// Envoi du menu. |
//------------------------------------------------------------------------------------------------------------------- |
|
|
$retour = $xhtml_pd.$xhtml_info.$xhtml_action.$xhtml_traduction; |
|
return $retour; |
} |
|
1599,6 → 1653,69 |
|
|
|
/** Fonction ADME_selectionnerMenuCommunTraduction()() Selection un menu classique comme traduction par defaut |
* |
* |
* @param mixed l'objet Pear DB de connexion à la base de données. |
* @param integer l'identifiant du site du menu à supprimer |
* @param integer l'identifiant du menu à supprimer |
* @return void le menu classique est supprimé de la base de données. |
*/ |
function ADME_selectionnerMenuCommunTraduction($db, $adme_id_site, $id_menu) |
{ |
|
// 1 : Rechercher traduction parente : si presente on est dans une traduc. si absente on |
// est dans un menu traduit. |
|
|
$requete_origine_traduction = 'SELECT gmr_id_menu_01 '. |
'FROM gen_menu_relation, gen_menu '. |
'WHERE gmr_id_menu_02 = ' . $id_menu .' '. |
'AND gmr_id_valeur = 2 '; // 2 = "avoir traduction" |
|
$resultat_origine_traduction = $db->query($requete_origine_traduction) ; |
|
if (DB::isError($resultat_origine_traduction)) { |
die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete_origine_traduction) ); |
} |
|
|
if ($resultat_origine_traduction->numRows() > 0) { |
$ligne_origine_traduction = $resultat_origine_traduction->fetchRow(DB_FETCHMODE_OBJECT); |
$id_menu_origine=$ligne_origine_traduction->gmr_id_menu_01; |
} |
else { |
$id_menu_origine=$id_menu; |
} |
|
$requete_suppression = 'DELETE from gen_menu_relation '. |
'WHERE gmr_id_menu_01 = ' . $id_menu_origine . ' ' . |
'AND gmr_id_valeur=105 '; // 105 Traduction par defaut |
|
$resultat_suppression = $db->query($requete_suppression); |
(DB::isError($resultat_suppression)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_suppression->getMessage(), $requete_suppression)) : ''; |
|
|
$requete_insertion = 'INSERT into gen_menu_relation '. |
' SET gmr_id_menu_01 = ' . $id_menu_origine . ', ' . |
' gmr_id_menu_02 = ' . $id_menu . ', ' . |
' gmr_id_valeur = 105' ; |
|
$resultat_insertion = $db->query($requete_insertion); |
(DB::isError($resultat_insertion)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_insertion->getMessage(), $requete_insertion)) : ''; |
|
|
|
/* $requete = 'UPDATE gen_menu_relation SET gmr_id_menu_02 = '. $g |
'WHERE gmr_id_menu_01 = ' . $id_menu . |
'AND gmr_id_menu_02 =42 AND `gmr_id_valeur` =105 LIMIT 1 ; |
*/ |
|
|
} |
|
|
|
// +------------------------------------------------------------------------------------------------------+ |
// | PIED du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
1607,6 → 1724,9 |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.31 2006/04/12 21:11:54 ddelon |
* Multilinguisme menus communs |
* |
* Revision 1.30 2006/03/27 14:33:04 ddelon |
* Gestion suppression de contenu menu afficheur |
* |