KodExplorer/controller/user.class.php

1 line
12 KiB
PHP
Raw Permalink Normal View History

2016-12-21 08:01:06 +00:00
<?php class user extends Controller{private $user;private $auth;private $notCheck;function __construct(){parent::__construct();<EFBFBD><EFBFBD><EFBFBD>;$this->tpl=TEMPLATE.'user/';if(!isset($_SESSION)){$this->login("session write error!");}else{$this->user=&$_SESSION['kod_user'];if(!isset($this->user['path'])&& isset($this->user['name'])){$this->user['path']=$this->user['name'];}}$this->notCheck=array('loginFirst','login','logout','loginSubmit','checkCode','public_link','qrcode','sso');<EFBFBD><EFBFBD>ϝ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;$this->notCheckApp=array('share','debug');<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӑ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѳ<EFBFBD><EFBFBD>;$this->config['forceWap']=is_wap()&&(!isset($_COOKIE['forceWap'])|| $_COOKIE['forceWap']=='1');<EFBFBD><EFBFBD><EFBFBD>ڙ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>𰎣<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ă<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ν<EFBFBD><EFBFBD><EFBFBD>ț<EFBFBD><EFBFBD>̭<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}public function loginCheck(){if(in_array(ST,$this->notCheckApp))return;if(in_array(ACT,$this->notCheck))return;if(isset($_SESSION['kod_login'])&& $_SESSION['kod_login']===!0){$<24>=system_member::get_info($this->user['user_id']);$this->login_success($<24>);return;}else if($_COOKIE['kod_user_id']!='' && $_COOKIE['kod_token']!=''){$<24>=system_member::get_info($_COOKIE['kod_user_id']);if(!is_array($<24>)|| !isset($<24>['password'])){$this->logout();}if($this->make_login_token($<24>)==$_COOKIE['kod_token']){@session_start();$_SESSION['kod_login']=!0;$_SESSION['kod_user']=$<24>;$_SESSION['CSRF-TOKEN']=rand_string(0x014);setcookie('CSRF-TOKEN',$_SESSION['CSRF-TOKEN'],time()+0x0e10*0x0000018*0x064);setcookie('kod_user_id',$_COOKIE['kod_user_id'],time()+0x0e10*0x0000018*0x064);setcookie('kod_token',$_COOKIE['kod_token'],time()+0x0e10*0x0000018*0x064);@session_write_close();unset($_SESSION);@session_start();if(!isset($_SESSION['kod_user'])|| !is_array($_SESSION['kod_user'])){$this->login("session write error!");}else{$this->login_success($<24>);}return;}$this->logout();<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̀ټ<EFBFBD><EFBFBD>س<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˨<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˢ<EFBFBD>à<EFBFBD><EFBFBD>;}else{if($this->config['setting_system']['auto_login']!='1'){$this->logout();}else{if(!file_exists(USER_SYSTEM.'install.lock')){$this->display('install.html');exit;}header('location:./index.php?user/loginSubmit&name=guest&password=guest');exit;<EFBFBD><EFBFBD><EFBFBD>؄<EFBFBD><EFBFBD><EFBFBD>ñ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}}}private function login_success($<24>݌<EFBFBD><DD8C>){$this->user=$<24>݌<EFBFBD><DD8C>;<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӈ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȳ<EFBFBD>؍<EFBFBD>Շ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԋ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>φ<EFBFBD>Ψ<EFBFBD>ҭ;if(!$<24>݌<EFBFBD><DD8C>['path']){$this->login($this->L['kod_version_error']);}else if($<24>݌<EFBFBD><DD8C>['status']==0){$this->login($this->L['login_error_user_not_use']);}else if($<24>݌<EFBFBD><DD8C>['role']==''){$this->login($this->L['login_error_role']);}define('USER',USER_PATH.$this->user['path'].'/');define('USER_TEMP',USER.'data/temp/');<EFBFBD><EFBFBD><EFBFBD>΋줒<EFBFBD>ئ;define('USER_RECYCLE',USER.'recycle/');if(!file_exists(USER)){$this->logout();}if($this->user['role']=='1'){define('MYHOME',USER.'home/');define('HOME','');$GLOBALS['web_root']=WEB_ROOT;$GLOBALS['is_root']=0x001;}else{$<24><>=user_home_path($this->user);define('HOME',$<24><>);define('MYHOME','/');$GLOBALS['web_root']='';$GLOBALS['is_root']=0;}$this->config['user']=fileCache::load(USER.'data/config.php');if(!isset($this->config['user']['file_repeat'])|| !isset($this->config['user']['resize_config'])){$this->config['user']['file_repeat']=$this->config['setting_default']['file_repeat'];$this->config['user']['recycle_open']=$this->config['setting_default']['recycle_open'];$this->config['user']['resize_config']=$this->config['setting_default']['resize_config'];}if($this->config['user']['theme']==''){$this->config['user']=$this->config['setting_default'];}}public function sso(){$<24><><EFBFBD>=!1;$<24><>="not login";<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˄<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ζ<EFBFBD>ҽ<EFBFBD>ݖ֒<EFBFBD><EFBFBD><EFBFBD>;if(isset($_SESSION)&& $_SESSION['kod_login']==0x001){$<24><>=$_SESSION['kod_user'];if($<24><>['role']=='1' || !isset($this->in['check'])|| !isset($this->in['value'])){$<24><><EFBFBD>=!0;}$<24>=!1;switch($this->in['check']){case 'user_id':$<24>=$<24><>['user_id'];<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>𳪮<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݨ<EFBFBD>ѣՒ<EFBFBD><EFBFBD><EFBFBD>Ρ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;break;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD>;case 'user_name':$<24>=$<24><>['name'];<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;break;case 'role_id':$<24>=$<24><>['role'];<EFBFBD><EFBFBD>DZ<EFBFBD><EFBFBD>‘<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ـ<EFBFBD><EFBFBD>Ĉ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>՝<EFBFBD><EFBFBD><EFBFBD>ə֎<EFBFBD><EFBFBD>;break;<EFBFBD>գ<EFBFBD><EFBFBD>ޡ<EFBFBD><EFBFBD><EFBFBD>ˇ<EFBFBD><EFBFBD><EFBFBD>;case 'role_name':$<24><><EFBFBD><EFBFBD><EFBFBD>=system_role::get_info($<24><>['role']);$<24>=$<24><><EFBFBD><EFBFBD><EFBFBD>['name'];<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>΄;break;case 'group_id':$<24>=array_keys($<24><>['group_info']);break;<EFBFBD>Ʒϝ<EFBFBD><EFBFBD><EFBFBD>ѧ<EFBFBD><EFBFBD>ҹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;case 'group_name':$<24>=