예제 #1
0
 private function _init_user()
 {
     if ($this->init_user) {
         if ($auth = getglobal('auth', 'cookie')) {
             $auth = daddslashes(explode("\t", authcode($auth, 'DECODE')));
         }
         list($core_pw, $core_user_id) = empty($auth) || count($auth) < 2 ? array('', '') : $auth;
         if ($core_user_id) {
             $user = getuserbyuid($core_user_id, 1);
         }
         if (!empty($user) && $user['password'] == $core_pw) {
             $this->var['member'] = $user;
         } else {
             $user = array();
             $this->_init_guest();
         }
     } else {
         $this->_init_guest();
     }
     if (empty($this->var['cookie']['lastvisit'])) {
         $this->var['member']['lastvisit'] = TIMESTAMP - 3600;
         dsetcookie('lastvisit', TIMESTAMP - 3600, 86400 * 30);
     } else {
         $this->var['member']['lastvisit'] = $this->var['cookie']['lastvisit'];
     }
     //setglobal('uid', getglobal('user_id', 'member'));
     setglobal('user_id', $core_user_id);
     setglobal('user_name', getglobal('user_name', 'member'));
     setglobal('user_realname', getglobal('user_realname', 'member'));
     setglobal('user_group_id', getglobal('user_group_id', 'member'));
     setglobal('d_id', getglobal('d_id', 'member'));
     if (getglobal('user_role_id', 'member')) {
         setglobal('user_role_id', getglobal('user_role_id', 'member'));
     } else {
         setglobal('user_role_id', 1);
     }
     //DEBUG  初始化角色名称
     if (getglobal('user_role_id', 'member')) {
         setglobal('role_name', ext::role_name(getglobal('user_role_id', 'member')));
     }
     setglobal('user_level_id', getglobal('user_level_id', 'member'));
     //初始化所属区域与学校
     if (getglobal('d_id', 'member')) {
         setglobal('d_name', ext::d_name(getglobal('d_id', 'member')));
     }
     /*
     if($core_user_id) {
     	//TODO user_access 暂未有业务逻辑需求
     	//$user_access = ext::getuseraccessbyuid($core_user_id);
     	//setglobal('user_access', $user_access);
     }
     */
     //DEBUG 初始化用户菜单
     $login_user_menu = array();
     $user_menu = $this->var['setting']['user_role_menu']['user_menu'];
     $role_menu = $this->var['setting']['user_role_menu']['role_menu'];
     $user_role_id = getglobal('user_role_id');
     if (!empty($user_menu[$core_user_id])) {
         $login_user_menu = $user_menu[$core_user_id]['menu_url_tree'];
         $login_user_menu_url_md5 = $user_menu[$core_user_id]['menu_url_md5'];
     } elseif (!empty($role_menu[$user_role_id])) {
         $login_user_menu = $role_menu[$user_role_id]['menu_url_tree'];
         $login_user_menu_url_md5 = $role_menu[$user_role_id]['menu_url_md5'];
     }
     setglobal('setting/user_role_menu', '');
     setglobal('login_user_menu', $login_user_menu);
     setglobal('login_user_menu_url_md5', $login_user_menu_url_md5);
 }