This commit is contained in:
Abdulrahman
2019-02-19 20:47:37 +03:00
parent ed56fdb5b5
commit 44650e6c15
3 changed files with 75 additions and 6 deletions

View File

@@ -81,4 +81,26 @@ function toggleMenuItem(name, menu, hide, current) {
</li>
</LOOP>
</ul>
<h4 class="mt-5">{olang.MENU_TOGGLE_ADMIN_MENU}</h4>
<UNLESS NAME="is_founder_admin">
<div class="alert alert-light">{olang.MENU_TOGGLE_ADMIN_MENU_EXP}</div>
<ELSE>
<ul class="list-group">
<LOOP NAME="admin_menu_items">
<li class="list-group-item d-flex justify-content-between">
<div class="col col-md-auto">
<h5>{{title}}</h5>
</div>
<div class="col col-md-auto">
<p class="field switch" id="top_menu_{{name}}">
<label onclick="toggleMenuItem('{{name}}', 'admin', 0, {{hidden}})" class="cb-enable<IF LOOP="hidden == 0"> selected</IF>"><span>{olang.MENU_TOGGLE_SHOW}</span></label>
<label onclick="toggleMenuItem('{{name}}', 'admin', 1, {{hidden}})" class="cb-disable<IF LOOP="hidden == 1"> selected</IF>"><span>{olang.MENU_TOGGLE_HIDE}</span></label>
</p>
</div>
</li>
</LOOP>
</ul>
</UNLESS>
</div>

View File

@@ -69,6 +69,12 @@ $kleeja_plugin['menu_toggle']['install'] = function ($plg_id)
'plg_id' => $plg_id,
'type' => 'menu_toggle'
),
'menu_toggle_hidden_adminmenu_items' =>
array(
'value' => '',
'plg_id' => $plg_id,
'type' => 'menu_toggle'
),
));
@@ -78,6 +84,8 @@ $kleeja_plugin['menu_toggle']['install'] = function ($plg_id)
'MENU_TOGGLE_EXP' => 'يمكنك التحكم بالعناصر التي تريد عرضها أو إخفائها من قوائم كليجا.',
'MENU_TOGGLE_TOP_MENU' => 'القائمة العلوية',
'MENU_TOGGLE_SIDE_MENU' => 'القائمة الجانبية',
'MENU_TOGGLE_ADMIN_MENU' => 'قائمة لوحة التحكم',
'MENU_TOGGLE_ADMIN_MENU_EXP' => 'يجب أن تكون عضو في مجموعة المسؤولين، وتملك صلاحية مؤسس لتستطيع التحكم بقائمة لوحة التحكم.',
'MENU_TOGGLE_HIDE' => 'إخفاء',
'MENU_TOGGLE_SHOW' => 'عرض',
@@ -90,6 +98,8 @@ $kleeja_plugin['menu_toggle']['install'] = function ($plg_id)
'MENU_TOGGLE_EXP' => 'You can control which items you want to hide/show of Kleeja menus.',
'MENU_TOGGLE_TOP_MENU' => 'Top Menu',
'MENU_TOGGLE_SIDE_MENU' => 'Side Menu',
'MENU_TOGGLE_ADMIN_MENU' => 'Admin Panel Menu',
'MENU_TOGGLE_ADMIN_MENU_EXP' => 'You have to be a member in Administrators group and have the founder permissions to be able to control Admin panel menu items.',
'MENU_TOGGLE_HIDE' => 'hide',
'MENU_TOGGLE_SHOW' => 'show',
),
@@ -118,7 +128,11 @@ $kleeja_plugin['menu_toggle']['uninstall'] = function ($plg_id) {
delete_olang(null, null, $plg_id);
//delete options
delete_config(array('menu_toggle_hidden_topmenu_items', 'menu_toggle_hidden_sidemenu_items'));
delete_config(array(
'menu_toggle_hidden_topmenu_items',
'menu_toggle_hidden_sidemenu_items',
'menu_toggle_hidden_adminmenu_items'
));
};
@@ -143,10 +157,15 @@ $kleeja_plugin['menu_toggle']['functions'] = array(
},
'begin_admin_page' => function ($args) {
global $config;
$adm_extensions = $args['adm_extensions'];
$ext_expt = $args['ext_expt'];
$adm_extensions[] = 'menus_toggle';
$ext_expt[] = 'menus_toggle';
$hidden_admin_menu_items = explode(':', $config['menu_toggle_hidden_adminmenu_items'] . ':menus_toggle');
$hidden_admin_menu_items = array_filter($hidden_admin_menu_items);
$ext_expt = array_merge($args['ext_expt'], $hidden_admin_menu_items);
return compact('adm_extensions', 'ext_expt');
},

View File

@@ -18,6 +18,8 @@ $action = basename(ADMIN_PATH) . '?cp=' . basename(__file__, '.php');
$hidden_side_menu_items = explode(':', $config['menu_toggle_hidden_sidemenu_items']);
$is_founder_admin = intval($userinfo['founder']) === 1;
$side_menu_items = array(
array('name' => 'profile', 'title' => $lang['PROFILE'], 'hidden' => (int) in_array('profile', $hidden_side_menu_items)),
array('name' => 'fileuser', 'title' => $lang['YOUR_FILEUSER'], 'hidden' => (int) in_array('fileuser', $hidden_side_menu_items)),
@@ -37,9 +39,27 @@ $top_menu_items = array(
array('name' => 'call', 'title' => $lang['CALL'], 'hidden' => (int) in_array('call', $hidden_top_menu_items)),
);
$hidden_admin_menu_items = explode(':', $config['menu_toggle_hidden_adminmenu_items']);
$admin_menu_items = array();
foreach($adm_extensions as $item)
{
$m = isset($item[1]) && $item[1] == '_' ? substr($item, 2) : $item;
if(in_array($m, array('start', 'lgoutcp', 'exts', 'configs')))
{
continue;
}
$admin_menu_items[] = array(
'name' => $item,
'title' => !empty($lang['R_' . strtoupper($m)]) ? $lang['R_' . strtoupper($m)] : (!empty($olang['R_' . strtoupper($m)]) ? $olang['R_' . strtoupper($m)] : strtoupper($m)),
'hidden' => (int) in_array($item, $hidden_admin_menu_items)
);
}
$go_menu = array(
array('name' => $olang['R_MENUS_TOGGLE'], 'link' => './?cp=menus_toggle', 'goto' => 'menus_toggle', 'current' => g('cp') == 'menus_toggle')
'menus_toggle' => array('name' => $olang['R_MENUS_TOGGLE'], 'link' => './?cp=menus_toggle', 'goto' => 'menus_toggle', 'current' => g('cp') == 'menus_toggle')
);
if(ig('toggle'))
@@ -55,9 +75,17 @@ if(ig('toggle'))
$menu = g('menu');
$hide = g('toggle', 'int') == 1;
toggleMenuItem($name, $menu, $hide);
if($menu == 'top' && $is_founder_admin)
{
header('HTTP/1.1 405 Method Not Allowed');
$adminAjaxContent = $lang['HV_NOT_PRVLG_ACCESS'];
}
else
{
toggleMenuItem($name, $menu, $hide);
$adminAjaxContent = $lang['CONFIGS_UPDATED'];
$adminAjaxContent = $lang['CONFIGS_UPDATED'];
}
}
}