Subversion Repositories Applications.papyrus

Compare Revisions

Ignore whitespace Rev 129 → Rev 130

/trunk/papyrus/applications/admin_menu/bibliotheque/adme_menu_classique.fonct.php
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>'.'&nbsp;'."\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>&nbsp;'."\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.
*