Esempio n. 1
0
 public function menu()
 {
     $this->checkUser();
     if (isset($_SESSION[C('USER_AUTH_KEY')])) {
         //显示菜单项
         $menu = array();
         if (isset($_SESSION['menu' . $_SESSION[C('USER_AUTH_KEY')]])) {
             //如果已经缓存,直接读取缓存
             $menu = $_SESSION['menu' . $_SESSION[C('USER_AUTH_KEY')]];
         } else {
             //读取数据库模块列表生成菜单项
             $node = M("Node");
             $map['level'] = 2;
             $map['status'] = 1;
             $list = $node->where($map)->field('id,name,pid,title')->order('sort asc')->select();
             $accessList = $_SESSION['_ACCESS_LIST'];
             foreach ($list as $key => $module) {
                 if (isset($accessList[strtoupper(APP_NAME)][strtoupper($module['name'])]) || $_SESSION['administrator']) {
                     //设置模块访问权限
                     $module['access'] = 1;
                     $menu[$key] = $module;
                 }
             }
             //缓存菜单访问
             $_SESSION['menu' . $_SESSION[C('USER_AUTH_KEY')]] = $menu;
         }
         if (isset($_GET['tag'])) {
             $tag = $_GET['tag'];
             if (0 == $tag) {
                 $this->assign('menuTitle', '扩展功能');
             } else {
                 $mapid['id'] = array('eq', $tag);
                 $node = M("Node");
                 $title = $list = $node->where($mapid)->getField('title');
                 $this->assign('menuTitle', $title);
             }
             $this->assign('menuTag', $tag);
         } else {
             $this->assign('menuTitle', '内容管理');
         }
         $this->assign('menu', $menu);
     }
     //显示站点栏目
     $cate = new CategoryModel();
     $this->cate = $list = $cate->getMyCategory();
     //加载栏目
     $menu = $cate->getMyCategory1();
     //加载栏目
     $menu = arrToTree($menu, 0);
     $tree = outMenuNode($menu);
     $this->assign('tree', $tree);
     $this->display();
 }
Esempio n. 2
0
function outMenuNode($tree)
{
    $html = '';
    foreach ($tree as $t) {
        if (empty($t['pid'])) {
            $url = U($t['modelname'] . '/index', array('catid' => $t['id']));
            $html .= "<li><a href=\"" . $url . "\">{$t['catname']}</a></li>";
        } else {
            $html .= "<li class=\"m-expanded\"><span>{$t['catname']}</span><ul>";
            $html .= outMenuNode($t['pid']);
            $html = $html . '</ul></li>';
        }
    }
    return $html;
}