1,4 → 1,4 |
<?php |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// +------------------------------------------------------------------------------------------------------+ |
// | PHP version 4.1 | |
19,7 → 19,7 |
// | License along with this library; if not, write to the Free Software | |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
// +------------------------------------------------------------------------------------------------------+ |
// CVS : $Id: adme_menu_classique.fonct.php,v 1.5 2004-11-04 19:11:38 jpm Exp $ |
// CVS : $Id: adme_menu_classique.fonct.php,v 1.6 2004-11-08 17:40:07 jpm Exp $ |
/** |
* Fonctions de gestion des menus classiques |
* |
35,7 → 35,7 |
*@author Alexandre GRANIER <alexandre@tela-botanica.org> |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.5 $ $Date: 2004-11-04 19:11:38 $ |
*@version $Revision: 1.6 $ $Date: 2004-11-08 17:40:07 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
|
672,7 → 672,7 |
* @param integer l'identifiant du menu qui doit être déployé. |
* @return string du code XHTML. |
*/ |
function ADME_afficherListeMenuClassique($db, $url, $adme_site_id, $adme_menu_id, $adme_menu_ouvert, $id_menu_a_deployer, $bln_premier_appel = true) |
function ADME_afficherListeMenuClassique($db, $url, $adme_site_id, $adme_menu_id, $adme_action, $id_menu_a_deployer, $bln_premier_appel = true) |
{ |
// Initialisation des variables : |
$retour = ''; |
694,22 → 694,46 |
die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_sous_menu->getMessage(), $requete_sous_menu)); |
} |
|
// Gestion du stockage ou déstockage des menus ouverts |
if ($adme_action == 'adme_menu_ouvrir' && $id_menu_a_deployer != 0) { |
$_SESSION['adme_menus_ouverts'][$adme_menu_id] = $adme_menu_id; |
} |
if ($adme_action == 'adme_menu_fermer' && $id_menu_a_deployer != 0) { |
unset($_SESSION['adme_menus_ouverts'][$adme_menu_id]); |
foreach ($_SESSION['adme_menus_ouverts'] as $val) { |
if (GEN_etreAncetre($adme_menu_id, $val)) { |
unset($_SESSION['adme_menus_ouverts'][$val]); |
} |
} |
} |
|
// Gestion affichage des menus |
if ($resultat_sous_menu->numRows() > 0) { |
// Ici, on sait qu'un menu a des sous menus, on commence par l'afficher: |
if ($bln_premier_appel == false) { |
$retour .= '<li>'."\n"; |
if (GEN_etreFils($adme_menu_ouvert, $id_menu_a_deployer) || $adme_menu_ouvert == $id_menu_a_deployer || GEN_etreAncetre($id_menu_a_deployer, $adme_menu_id)){ |
|
if (GEN_etreAncetre($id_menu_a_deployer, $adme_menu_id) || |
($id_menu_a_deployer == $adme_menu_id && $adme_action == 'adme_menu_ouvrir') || |
isset($_SESSION['adme_menus_ouverts'][$id_menu_a_deployer]) |
){ |
// Affiche un - |
$retour .= ADME_retournerXhtmlMenuClassique($db, $url, $adme_site_id, $id_menu_a_deployer, $adme_menu_ouvert, 1); |
} else if (!(GEN_etreAncetre($id_menu_a_deployer, $adme_menu_id)) || !(GEN_etreFils($adme_menu_ouvert, $id_menu_a_deployer))) { |
$retour .= ADME_retournerXhtmlMenuClassique($db, $url, $adme_site_id, $id_menu_a_deployer, 1); |
} else if ( !GEN_etreAncetre($id_menu_a_deployer, $adme_menu_id) || |
($id_menu_a_deployer == $adme_menu_id && $adme_action == 'adme_menu_fermer') || |
!isset($_SESSION['adme_menus_ouverts'][$id_menu_a_deployer]) |
){ |
// Affiche un + |
$retour .= ADME_retournerXhtmlMenuClassique($db, $url, $adme_site_id, $id_menu_a_deployer, $adme_menu_ouvert, 2); |
$retour .= ADME_retournerXhtmlMenuClassique($db, $url, $adme_site_id, $id_menu_a_deployer, 2); |
} |
} |
if ($bln_premier_appel == true || GEN_etreFils($adme_menu_ouvert, $id_menu_a_deployer) || $adme_menu_ouvert == $id_menu_a_deployer || GEN_etreAncetre($id_menu_a_deployer, $adme_menu_id)){ |
if ($bln_premier_appel == true || GEN_etreAncetre($id_menu_a_deployer, $adme_menu_id) || |
($id_menu_a_deployer == $adme_menu_id && $adme_action == 'adme_menu_ouvrir') || |
isset($_SESSION['adme_menus_ouverts'][$id_menu_a_deployer]) |
){ |
$retour .= '<ul>'."\n"; |
while ($ligne_sous_menu = $resultat_sous_menu->fetchRow(DB_FETCHMODE_OBJECT)) { |
$retour .= ADME_afficherListeMenuClassique($db, $url, $adme_site_id, $adme_menu_id, $adme_menu_ouvert, $ligne_sous_menu->gm_id_menu, false); |
$retour .= ADME_afficherListeMenuClassique($db, $url, $adme_site_id, $adme_menu_id, $adme_action, $ligne_sous_menu->gm_id_menu, false); |
} |
$retour .= '</ul>'."\n"; |
} |
718,7 → 742,7 |
} |
} else if ($resultat_sous_menu->numRows() == 0 && $bln_premier_appel == false) { |
$retour .= '<li>'."\n"; |
$retour .= ADME_retournerXhtmlMenuClassique($db, $url, $adme_site_id, $id_menu_a_deployer, $adme_menu_ouvert, 0); |
$retour .= ADME_retournerXhtmlMenuClassique($db, $url, $adme_site_id, $id_menu_a_deployer, 0); |
$retour .= '</li>'."\n"; |
} |
|
731,7 → 755,7 |
* |
* @return string Une liste HTML |
*/ |
function ADME_retournerXhtmlMenuClassique($db, $url, $adme_site_id, $adme_menu_id, $adme_menu_ouvert, $int_deplier) |
function ADME_retournerXhtmlMenuClassique($db, $url, $adme_site_id, $adme_menu_id, $int_deplier) |
{ |
$etiquette_annuler = 'Annuler'; |
$etiquette_alt_modifier = 'Modifier'; |
783,24 → 807,18 |
// Afficher un - |
$image_plier_deplier = ADME_IMAGE_MOINS; |
$alt = $etiquette_plier; |
$url->addQueryString('adme_menu_ouvert', GEN_lireIdentifiantMenuPere($adme_menu_id)); |
$url->addQueryString('adme_action', 'adme_menu_fermer'); |
$url_plier_deplier = $url->getURL(); |
$url->removeQueryString('adme_menu_ouvert'); |
$url->addQueryString('adme_menu_ouvert', $adme_menu_ouvert); |
} else if ($int_deplier == 2) { |
// Afficher un + |
$image_plier_deplier = ADME_IMAGE_PLUS; |
$alt = $etiquette_deplier; |
$url->addQueryString('adme_menu_ouvert', $adme_menu_id); |
$url->addQueryString('adme_action', 'adme_menu_ouvrir'); |
$url_plier_deplier = $url->getURL(); |
$url->removeQueryString('adme_menu_ouvert'); |
$url->addQueryString('adme_menu_ouvert', $adme_menu_ouvert); |
} |
$xhtml_pd = '<a href="'.$url_plier_deplier.'" title="'.$alt.'">'. |
'<img class="'.ADME_CLASS_IMG_PD.'" src="'.$image_plier_deplier.'" alt="'.$alt.'" />'. |
'</a>'.' '."\n"; |
} else { |
$url->addQueryString('adme_menu_ouvert', $adme_menu_ouvert); |
} |
|
//------------------------------------------------------------------------------------------------------------------- |
812,6 → 830,7 |
|
//------------------------------------------------------------------------------------------------------------------- |
// XHTML actions |
$url->removeQueryString('adme_action'); |
$url->addQueryString('adme_action', 'modifier_menu_classique'); |
$xhtml_action = '<a href="'.$url->getURL().'" title="'.$etiquette_title_modifier.'">'. |
'<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_VOIR.'" alt="'.$etiquette_alt_modifier.'" />'. |
832,8 → 851,6 |
'<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_SUPPRIMER.'" alt="'.$etiquette_alt_supprimer.'" />'. |
'</a> '."\n"; |
$url->removeQueryString('adme_action'); |
$url->removeQueryString('adme_menu_ouvert'); |
$url->addQueryString('adme_menu_ouvert', $adme_menu_id); |
$url->addQueryString('adme_action', 'ajouter_menu_classique'); |
$xhtml_action .= '<a href="'.$url->getURL().'" title="'.$etiquette_title_ajouter.'">'. |
'<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_NOUVEAU.'" alt="'.$etiquette_alt_ajouter.'" />'. |
843,8 → 860,6 |
// l'administration de cette application. |
if ($ligne->gm_ce_application == 3) { // l'appli afficheur a pour id 3 |
$url->removeQueryString('adme_action'); |
$url->removeQueryString('adme_menu_ouvert'); |
$url->addQueryString('adme_menu_ouvert', $adme_menu_ouvert); |
$url->addQueryString('adme_action', 'contenu_rediger'); |
$xhtml_action .= '<a href="'.$url->getURL().'" title="'.$etiquette_title_redaction.'">'. |
'<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_TEXTE.'" alt="'.$etiquette_alt_redaction.'" />'. |
865,6 → 880,10 |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.5 2004/11/04 19:11:38 jpm |
* Mise en conformité vis à vis de la convention de codage. |
* Amélioration de la récursivité de la gestion de l'affichage des menus. |
* |
* Revision 1.4 2004/10/25 16:27:42 jpm |
* Correction d'un bogue dans la gestion du déplacement des menus. |
* |