IndexController.php
2.4 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
63
64
65
66
67
68
69
70
<?php
// +----------------------------------------------------------------------
// | ThinkCMF [ WE CAN DO IT MORE SIMPLE ]
// +----------------------------------------------------------------------
// | Copyright (c) 2013-2019 http://www.thinkcmf.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: 小夏 < 449134904@qq.com>
// +----------------------------------------------------------------------
namespace app\admin\controller;
use cmf\controller\AdminBaseController;
use think\Db;
use app\admin\model\AdminMenuModel;
class IndexController extends AdminBaseController
{
public function initialize()
{
$adminSettings = cmf_get_option('admin_settings');
if (empty($adminSettings['admin_password']) || $this->request->path() == $adminSettings['admin_password']) {
$adminId = cmf_get_current_admin_id();
if (empty($adminId)) {
session("__LOGIN_BY_CMF_ADMIN_PW__", 1);//设置后台登录加密码
}
}
parent::initialize();
}
/**
* 后台首页
*/
public function index()
{
$content = hook_one('admin_index_index_view');
if (!empty($content)) {
return $content;
}
$adminMenuModel = new AdminMenuModel();
$menus = cache('admin_menus_' . cmf_get_current_admin_id(), '', null, 'admin_menus');
if (empty($menus)) {
$menus = $adminMenuModel->menuTree();
cache('admin_menus_' . cmf_get_current_admin_id(), $menus, null, 'admin_menus');
}
$this->assign("menus", $menus);
$result = Db::name('AdminMenu')->order(["app" => "ASC", "controller" => "ASC", "action" => "ASC"])->select();
$menusTmp = array();
foreach ($result as $item){
//去掉/ _ 全部小写。作为索引。
$indexTmp = $item['app'].$item['controller'].$item['action'];
$indexTmp = preg_replace("/[\\/|_]/","",$indexTmp);
$indexTmp = strtolower($indexTmp);
$menusTmp[$indexTmp] = $item;
}
$this->assign("menus_js_var",json_encode($menusTmp));
//$admin = Db::name("user")->where('id', cmf_get_current_admin_id())->find();
//$this->assign('admin', $admin);
return $this->fetch();
}
}