Et si je commitais la classe menu ?
This commit is contained in:
parent
57d93e600e
commit
b939bd2787
|
@ -360,6 +360,7 @@ bureau/class/m_hta.php -text
|
||||||
bureau/class/m_log.php -text
|
bureau/class/m_log.php -text
|
||||||
bureau/class/m_mail.php -text
|
bureau/class/m_mail.php -text
|
||||||
bureau/class/m_mem.php -text
|
bureau/class/m_mem.php -text
|
||||||
|
bureau/class/m_menu.php -text
|
||||||
bureau/class/m_mysql.php -text
|
bureau/class/m_mysql.php -text
|
||||||
bureau/class/m_piwik.php -text
|
bureau/class/m_piwik.php -text
|
||||||
bureau/class/m_quota.php -text
|
bureau/class/m_quota.php -text
|
||||||
|
|
|
@ -0,0 +1,170 @@
|
||||||
|
<?php
|
||||||
|
/*
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
AlternC - Web Hosting System
|
||||||
|
Copyright (C) 2000-2012 by the AlternC Development Team.
|
||||||
|
https://alternc.org/
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
LICENSE
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU General Public License (GPL)
|
||||||
|
as published by the Free Software Foundation; either version 2
|
||||||
|
of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
To read the license please visit http://www.gnu.org/copyleft/gpl.html
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
Purpose of file: Manage hook system.
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This class manage menu.
|
||||||
|
*
|
||||||
|
* @copyright AlternC-Team 2002-2005 http://alternc.org/
|
||||||
|
*/
|
||||||
|
class m_menu {
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/** Constructor
|
||||||
|
* menu([$mid]) Constructeur de la classe menu, ne fait rien pour le moment
|
||||||
|
*/
|
||||||
|
function m_menu() {
|
||||||
|
}
|
||||||
|
|
||||||
|
function getmenu() {
|
||||||
|
global $hooks, $quota, $mem;
|
||||||
|
|
||||||
|
// Force rebuilding quota, in case of add or edit of the quota and cache not up-to-date
|
||||||
|
$mesq = $quota->getquota("",true); // rebuild quota
|
||||||
|
|
||||||
|
// Get menu objects
|
||||||
|
$lsto = $hooks->invoke('hook_menu');
|
||||||
|
|
||||||
|
// Get system menu
|
||||||
|
$sm = $this->system_menu();
|
||||||
|
|
||||||
|
// Merge it !
|
||||||
|
$lst = array_merge($sm,$lsto);
|
||||||
|
|
||||||
|
// Sort it
|
||||||
|
uasort($lst, 'm_menu::order_menu');
|
||||||
|
|
||||||
|
// Get user specific menu visibility options
|
||||||
|
$mop = $mem->session_tempo_params_get('menu_toggle') ;
|
||||||
|
|
||||||
|
foreach( $lst as $k => $v ) {
|
||||||
|
|
||||||
|
// Set the javascript toggle link for menu asking for it
|
||||||
|
if ($v['link'] == 'toggle') {
|
||||||
|
$lst[$k]['link'] = 'javascript:menu_toggle(\'menu-'.$k.'\');';
|
||||||
|
}
|
||||||
|
|
||||||
|
// Be sure that the default visibility is true
|
||||||
|
if (! isset($lst[$k]['visibility'])) $lst[$k]['visibility'] = true;
|
||||||
|
|
||||||
|
// Set the user's specific visibility option
|
||||||
|
if (isset($mop["menu-$k"])) {
|
||||||
|
if ($mop["menu-$k"] == "hidden") $lst[$k]['visibility'] = false;
|
||||||
|
if ($mop["menu-$k"] == "visible") $lst[$k]['visibility'] = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( isset($mesq[$k])) { // if there are some quota for this class
|
||||||
|
// Hide the menu if there are none and not allowed to create
|
||||||
|
if ( $mesq[$k]['t'] < 1 && $mesq[$k]['u'] < 1 ) {
|
||||||
|
unset($lst[$k]);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Set the quota in the menu object
|
||||||
|
$lst[$k]['quota_used'] = $mesq[$k]['u'] ;
|
||||||
|
$lst[$k]['quota_total'] = $mesq[$k]['t'] ;
|
||||||
|
|
||||||
|
} // end if there are some quota for this class
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return $lst;
|
||||||
|
} //getmenu
|
||||||
|
|
||||||
|
function order_menu($a, $b) {
|
||||||
|
// Use to order the menu with a usort
|
||||||
|
return $a['pos'] > $b['pos'];
|
||||||
|
}
|
||||||
|
|
||||||
|
function system_menu() {
|
||||||
|
// Here some needed menu who don't have a class
|
||||||
|
global $help_baseurl, $lang_translation, $locales;
|
||||||
|
|
||||||
|
$m =
|
||||||
|
array(
|
||||||
|
'home' =>
|
||||||
|
array(
|
||||||
|
'title' => _("Home / Information"),
|
||||||
|
'ico' => 'images/home.png',
|
||||||
|
'link' => 'main.php',
|
||||||
|
'pos' => 0,
|
||||||
|
),
|
||||||
|
'logout' =>
|
||||||
|
array(
|
||||||
|
'title' => _("Logout"),
|
||||||
|
'ico' => 'images/exit.png',
|
||||||
|
'link' => 'mem_logout.php',
|
||||||
|
'pos' => 170,
|
||||||
|
),
|
||||||
|
'help' =>
|
||||||
|
array(
|
||||||
|
'title' => _("Online help"),
|
||||||
|
'ico' => 'images/help.png',
|
||||||
|
'target' => 'help',
|
||||||
|
'link' => $help_baseurl,
|
||||||
|
'pos' => 140,
|
||||||
|
),
|
||||||
|
'lang' =>
|
||||||
|
array(
|
||||||
|
'title' => _("Languages"),
|
||||||
|
'ico' => '/images/lang.png',
|
||||||
|
'visibility' => false,
|
||||||
|
'link' => 'toggle',
|
||||||
|
'links' => array(),
|
||||||
|
'pos' => 150,
|
||||||
|
)
|
||||||
|
) ;
|
||||||
|
foreach($locales as $l) {
|
||||||
|
$m['lang']['links'][] = array ( 'txt' => (isset($lang_translation[$l]))?$lang_translation[$l]:$l, 'url' => "/login.php?setlang=$l");
|
||||||
|
}
|
||||||
|
return $m;
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
|
||||||
|
<div class="menu-box">
|
||||||
|
<a href="javascript:menu_toggle('menu-lang');">
|
||||||
|
<div class="menu-title">
|
||||||
|
<img src="/images/lang.png" alt="<?php __("Languages"); ?>" /> <?php __("Languages"); ?>
|
||||||
|
<img src="/images/menu_moins.png" alt="" style="float:right;" id="menu-lang-img"/>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<div class="menu-content" id="menu-lang">
|
||||||
|
<ul>
|
||||||
|
<?php foreach($locales as $l) { ?>
|
||||||
|
<li><a href="/login.php?setlang=<?php echo $l; ?>" target="_top"><?php if (isset($lang_translation[$l])) echo $lang_translation[$l]; else echo $l; ?></a></li>
|
||||||
|
<?php } ?>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
*/
|
||||||
|
} //system_menu
|
||||||
|
|
||||||
|
} /* Class menu */
|
||||||
|
|
Loading…
Reference in New Issue