21,7 → 21,7 |
// | along with Foobar; if not, write to the Free Software | |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
// +------------------------------------------------------------------------------------------------------+ |
// CVS : $Id: adme_menu_commun.fonct.php,v 1.20 2006-04-12 21:11:54 ddelon Exp $ |
// CVS : $Id: adme_menu_commun.fonct.php,v 1.21 2006-06-29 18:58:57 ddelon Exp $ |
/** |
* Application de gestion des menus communs |
* |
38,7 → 38,7 |
*@author David Delon <david.delon@clapas.net> |
*@author Laurent COUDOUNEAU <lc@gsite.org> |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.20 $ $Date: 2006-04-12 21:11:54 $ |
*@version $Revision: 1.21 $ $Date: 2006-06-29 18:58:57 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
|
158,7 → 158,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_retournerXhtmlMenuCommun($db, $url, $adme_site_id, $adme_menu_id, $int_deplier,$est_traduction=false) |
function ADME_retournerXhtmlMenuCommun($db, $url, $adme_site_id, $adme_menu_id, $int_deplier,$est_traduction=false,$menu_traduction_defaut=0) |
{ |
//------------------------------------------------------------------------------------------------------------------- |
// Récupération des infos concernant l'administrateur d'un menu |
281,8 → 281,22 |
ADME_LG_ACTION_COMMUN_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_COMMUN_TRADUCTION_DEFAUT_ALT.'" />'. |
' '."\n"; |
} |
else { |
$url->removeQueryString('adme_action'); |
$url->addQueryString('adme_action', ADME_LG_ACTION_COMMUN_TRADUCTION_DEFAUT); |
$xhtml_action .= '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_COMMUN_TRADUCTION_DEFAUT_TITLE.'">'. |
'<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_TRADUCTION_DEFAUT.'" alt="'.ADME_LG_ACTION_COMMUN_TRADUCTION_DEFAUT_ALT.'" />'. |
'</a>'.' '."\n"; |
|
} |
} |
|
|
|
$xhtml_traduction=''; |
|
// $id_langue = $GLOBALS['_GEN_commun']['i18n']; |
298,13 → 312,50 |
(DB::isError($resultat_traduction)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_traduction->getMessage(), $requete_traduction)) |
: ''; |
|
while ($ligne_resultat = $resultat_traduction->fetchRow(DB_FETCHMODE_OBJECT)) { |
$xhtml_traduction.="<br><em>".$ligne_resultat->gm_ce_i18n.": ".ADME_retournerXhtmlMenuCommun($db, $url, $adme_site_id, $ligne_resultat->gmr_id_menu_02, 0,true)."</em>"; |
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_COMMUN_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_COMMUN_TRADUCTION_DEFAUT); |
$xhtml_action .= '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_COMMUN_TRADUCTION_DEFAUT_TITLE.'">'. |
'<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_TRADUCTION_DEFAUT.'" alt="'.ADME_LG_ACTION_COMMUN_TRADUCTION_DEFAUT_ALT.'" />'. |
'</a>'.' '."\n"; |
} |
else { |
$xhtml_action .= '<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_TRADUCTION_DEFAUT_AFFICHAGE.'" alt="'.ADME_LG_ACTION_COMMUN_TRADUCTION_DEFAUT_ALT.'" />'. |
' '."\n"; |
|
} |
|
} |
|
while ($ligne_resultat = $resultat_traduction->fetchRow(DB_FETCHMODE_OBJECT)) { |
$xhtml_traduction.="<br><em>".$ligne_resultat->gm_ce_i18n.": ".ADME_retournerXhtmlMenuCommun($db, $url, $adme_site_id, $ligne_resultat->gmr_id_menu_02, 0,true,$menu_traduction_defaut)."</em>"; |
|
} |
|
} |
|
|
|
//------------------------------------------------------------------------------------------------------------------- |
// Envoi du menu. |
|
1431,8 → 1482,62 |
} |
|
|
/** 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)) : ''; |
|
|
|
} |
|
|
// +------------------------------------------------------------------------------------------------------+ |
// | PIED du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
1442,6 → 1547,9 |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.20 2006/04/12 21:11:54 ddelon |
* Multilinguisme menus communs |
* |
* Revision 1.19 2005/09/27 08:42:49 ddelon |
* Menu et Squelette |
* |