MenuListController.class.php
1.68 KB
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<?php
/**
* 菜单设置-获取管理员菜单信息
* CreateBy:何岳龙
* Date:2016-08-01
*/
namespace Apicp\Controller\Menu;
use Common\Service\CommonHidemenuService;
use VcySDK\AdminerRole;
use VcySDK\Service;
class MenuListController extends AbstractController
{
protected $needCheckThePayment = false;
public function Index()
{
// 拼接接口所需数据:管理员角色id
$condition = array(
'earId' => $this->_login->user['earId'],
'eaId' => $this->_login->user['eaId']
);
// 调用UC接口,查询管理员详情
$sdkRole = new AdminerRole(Service::instance());
$this->_result = $sdkRole->detail($condition);
// 定制企业用户需要隐藏的菜单
$servHideMenu = new CommonHidemenuService();
$hideMenu = $servHideMenu->get_by_conds([]);
$this->_result['hideMenu'] = empty($hideMenu['menus']) ? [] : unserialize($hideMenu['menus']);
// 禁用的菜单Key
$disabled_keys = ['ability-setting', 'clear-cache'];
if (!empty($disabled_keys)) {
$hidemenu_keys = array_column($this->_result['hideMenu'], 'key');
foreach ($disabled_keys as $k) {
if (!in_array($k, $hidemenu_keys)) {
$this->_result['hideMenu'][] = ['key' => $k];
}
}
}
// 修改超级官员称谓
if ($this->_login->is_super_admin()) {
$this->_result['earName'] = cfg('ADMIN_ROLE_PROTECT_NAME');
}
if (! $this->_result) {
$this->_set_error("_ERR_ADMIN_ROLE_NOT_EXIST");
return false;
}
return true;
}
}