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); }