blob: 3de8896cd451649b37b47e4e6a1a6a6d18209f43 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
<?php
/**
* @package themes
* @subpackage functions
*/
/**
* Required setup
*/
global $gBitUser, $gBitSystem, $gBitSmarty;
// Global menu
// $gBitSystem->registerAppMenu( 'global', null, null, 'bitpackage:kernel/menu_global.tpl' );
// Application menu
uasort( $gBitSystem->mAppMenu, "mAppMenu_sort" );
// Admin menu
$adminMenu = [];
foreach( array_keys( $gBitSystem->mPackages ) as $package ) {
if( $gBitUser->hasPermission( 'p_'.$package.'_admin' ) ) {
$package = strtolower( $package );
$tpl = "bitpackage:$package/menu_".$package."_admin.tpl";
if(( $gBitSystem->isPackageActive( $package ) || $package == 'kernel') && $gBitSmarty->templateExists( $tpl )) {
$adminMenu[$package]['tpl'] = $tpl;
$adminMenu[$package]['display'] = 'display:'.( empty( $package ) || ( isset( $_COOKIE[$package.'admenu'] ) && ( $_COOKIE[$package.'admenu'] == 'o' ) ) ? 'block;' : 'none;' );
}
}
}
if( !empty( $adminMenu ) ) {
ksort( $adminMenu );
$gBitSmarty->assign( 'adminMenu', $adminMenu );
}
/**
* mAppMenu_sort
*/
function mAppMenu_sort( $a, $b ) {
if( empty( $a['menu_position'] ) ) {
return 0;
} elseif( is_numeric( $a['menu_position'] ) ) {
return( (int)$a['menu_position'] > (int)$b['menu_position'] );
} elseif( !empty( $a['menu_title'] ) ) {
return( strcmp( $a['menu_title'], $b['menu_title'] ) );
}
}
?>
|