tpl=TEMPLATE.'member/';ʋҍ;$this->sql=self::load_data();}public static function load_data(){if(is_null(self::$static_sql)){self::$static_sql=system_member_data();}return self::$static_sql;}public static function get_info($){$œ=self::load_data();Ċ;return $œ->get($);酪ߤߊՅٿ彚ؗ̀ݦĮህ;}public static function space_change($,$=false){$=self::load_data();$=$->get($);if(!is_array($)){show_json($this->L["data_not_full"],!1);}if($===!1){$=_path_info_more(USER_PATH.$['path'].'/');$=$['size'];if(isset($['home_path'])&& file_exists(iconv_app($['home_path']))){$=_path_info_more(iconv_app($['home_path']));$+= $['size'];}}else{$=floatval($['config']['size_use'])+floatval($);}$['config']['size_use']=$<0?0:$;󎇡죖êЉLj轃덽;$->set($,$);}public static function space_check($){$뱾=self::load_data();趓;$=$뱾->get($);ǎǕᘗͮƞ霭螴֑;if(!is_array($)){show_json($this->L["data_not_full"],!1);}$=floatval($['config']['size_use']);$=floatval($['config']['size_max']);if($!=0&& $*0x0000040000000<$){show_json($GLOBALS['L']['space_is_full'],!1);}}public static function group_remove_user_update($ϗ){$=self::load_data();чǿ׻;$=$->get();ʬːаωܲꇮӒ㍲ȅǙͳċ;foreach($ as $Ҷ=>$){if(in_array($ϗ,array_keys($['group_info']))){unset($['group_info'][$ϗ]);$->set($['user_id'],$);}}}public static function role_remove_user_update($){$؍=self::load_data();·䮩٨˺үԭÌс֑ܺڹ렲;$=$؍->get();ҍض΄븤ڃ;foreach($ as $=>$){if($['role']==$){$['role']='';$؍->set($['user_id'],$);}}}public static function user_auth_group($){$߅=self::load_data();$=$߅->get($_SESSION['kod_user']['user_id']);$=$['group_info'];Ź̙ǐ;if(!is_array($)){return !1;}if(isset($[$])){return $[$];}foreach($ as $õ=>$){$=system_group::get_info($õ);$=explode(',',$['children']);if(in_array($,$)){return $[$õ];}}return !1;π;}public static function _filter_list($DZ,$='path'){if($GLOBALS['is_root'])return $DZ;foreach($DZ as $=>&$ܩ){unset($ܩ[$]);unset($ܩ['password']);ұ͕޳걜ƒ;}return $DZ;ƶڦװ캣ج懍;}public static function get_user_at_group($){$=self::load_data();Ω;$=self::_filter_list($->get());if($=='0'){return $;}$=array();foreach($ as $){if(isset($['group_info'][$])){$[]=$;}}return $;گ㰨읗ײÖܛ;}public static function user_share_sql($֤܈){static $ߞ;𷫉ݹ;if(!is_array($ߞ)){$ߞ=array();}if(!isset($ߞ[$֤܈])){$Ϗ=system_member::get_info($֤܈);if(!isset($Ϗ['path'])){return;}$=new fileCache(USER_PATH.$Ϗ['path'].'/data/share.php');$ߞ[$֤܈]=$;}return $ߞ[$֤܈];ַőڑ;}public static function user_share_list($){$=self::user_share_sql($);ѥNJ끂ޫڷ킸֫Ț”հ;$=$->get();ՉܨޛԽ蓏Œڟ색;if($==$_SESSION['kod_user']['user_id']){return $;}foreach($ as $=>&$){unset($['share_password']);}return $;}public static function user_share_get($,$){$=self::user_share_sql($);݅帍;return $->get('name',$);ױǫΰ흗ǹ;}public function get($='0'){$=self::get_user_at_group($);show_json($);ݎ댮񐜏Ꭲ˨݀;}public function add(){if(!isset($this->in['name'])|| !isset($this->in['password'])|| !isset($this->in['role'])|| !isset($this->in['group_info'])|| !isset($this->in['size_max']))show_json($this->L["data_not_full"],!1);$=trim(rawurldecode($this->in['name']));$ۊ=rawurldecode($this->in['password']);®רХޔͦԜ;$=json_decode(rawurldecode($this->in['group_info']),!0);ѷݪ҄äץ;if(!is_array($)){show_json($this->L["system_member_group_error"],!1);}if($this->sql->get(array('name',$))){show_json($this->L['error_repeat'],!1);}if(!$GLOBALS['is_root']&& $this->in['role']=='1'){show_json($this->L['group_role_error'],!1);}$=array();if(isset($this->in['isImport'])){$=explode("\n",$);foreach($ as $){if(trim($)!=''){$[]=trim($);}}}else{$[]=$;;}$=array();foreach($ as $){if($this->sql->get('name',$)){$[]=$;continue;}$=$this->sql->get_max_id().'';$=array('user_id' =>$,'name' =>$,'password' =>md5($ۊ),'role' =>$this->in['role'],'config' =>array('size_max' =>floatval($this->in['size_max']),'size_use' =>0x00000400*0x00000400),'group_info'=> $,'path' =>hash_path($),'status' =>0x001,'last_login'=> '','create_time'=> time(),);if(!$GLOBALS['is_root']){show_json($this->L['no_permission'],!1);}if(isset($this->in['home_path'])){$['home_path']=_DIR(rawurldecode($this->in['home_path']));if(!file_exists($['home_path'])){show_json($this->L['not_exists'],!1);}$['home_path']=iconv_app($['home_path']);}else{unset($['home_path']);񨪦ى;}if($this->sql->set($,$)){$this->_initDir($['path']);}else{$[]=$;}}$=count($)-count($);;$ӯ=" success:$";膶ȟ΁ﳟևִƴ񦡔ϒ;if($==count($)){show_json($this->L['success'].$ӯ,!0,$);}else if($!=0){$=" error:".count($);show_json($this->L['success'].$ӯ.$,!1,implode("\n",$));}else{show_json($this->L['error_repeat'],!1);}}public function edit(){if(!$this->in['user_id'])show_json($this->L["data_not_full"],!1);$=$this->in['user_id'];$=$this->sql->get($);if(!$){show_json($this->L['error'],!1);}if(!$GLOBALS['is_root']&& $this->in['role']=='1'){show_json($this->L['group_role_error'],!1);}if(!$GLOBALS['is_root']&& $['role']=='1'){show_json($this->L['group_role_error_admin'],!1);}if($GLOBALS['is_root']&& $_SESSION['kod_user']['user_id']==$&& $this->in['role']!='1'){show_json($this->L['error'],!1);}$=trim(rawurldecode($this->in['name']));if($['name']!=$){if($this->sql->get(array('name',$))){show_json($this->L['error_repeat'],!1);}}$this->in['name']=rawurlencode($);$=array('name','role','password','group_info','home_path','status','size_max');foreach($ as $υ){if(!isset($this->in[$υ]))continue;$[$υ]=rawurldecode($this->in[$υ]);if($υ=='password'){$['password']=md5($[$υ]);}else if($υ=='size_max'){$['config']['size_max']=floatval($[$υ]);}else if($υ=='group_info'){$['group_info']=json_decode(rawurldecode($this->in['group_info']),!0);}}if(!$GLOBALS['is_root']){show_json($this->L['no_permission'],!1);}if(isset($this->in['home_path'])){$['home_path']=_DIR(rawurldecode($this->in['home_path']));if(!file_exists($['home_path'])){show_json($this->L['not_exists'],!1);}$['home_path']=iconv_app($['home_path']);}else{unset($['home_path']);}if($this->sql->set($,$)){self::space_change($);show_json($this->L['success'],!0,$);}show_json($this->L['error_repeat'],!1);}public function do_action(){if(!isset($this->in['user_id'])){show_json($this->L["username_can_not_null"],!1);}$=$this->in['action'];$ͺ=json_decode($this->in['user_id'],!0);ۧNj̋ޘ¦ؼ嶫뇇ف;if(!is_array($ͺ)){show_json($this->L['error'],!1);}if(in_array('1',$ͺ)){show_json($this->L['default_user_can_not_do'],!1);}foreach($ͺ as $){switch($){case 'del':$ȴ=$this->sql->get($);if($this->sql->remove($)&& $ȴ['name']!=''){del_dir(USER_PATH.$ȴ['path'].'/');}break;case 'status_set':$=intval($this->in['param']);̱򾄨ýҸ⤁ܠҔ;$this->sql->set(array('user_id',$),array('status',$));break;Ř޴ߏ晃͵Ɂ;case 'role_set':$=$this->in['param'];if(!$GLOBALS['is_root']&& $=='1'){show_json($this->L['group_role_error'],!1);}$this->sql->set(array('user_id',$),array('role',$));break;ѳ滞;case 'group_reset':$멽=json_decode($this->in['param'],!0);if(!is_array($멽)){show_json($this->L['error'],!1);}$this->sql->set(array('user_id',$),array('group_info',$멽));break;case 'group_remove_from':$=$this->in['param'];;$ȴ=$this->sql->get($);unset($ȴ['group_info'][$]);$this->sql->set($,$ȴ);break;٩Ηÿ;case 'group_add':$멽=json_decode($this->in['param'],!0);if(!is_array($멽)){show_json($this->L['error'],!1);}$ȴ=$this->sql->get($);foreach($멽 as $=>$){$ȴ['group_info'][$]=$;}$this->sql->set($,$ȴ);Ǿ;default:break;̶򀶀琈Αڔʥ;}}show_json($this->L['success']);}public function init_install(){$=system_member::load_data();$=$->get();;foreach($ as $=>&$){$=hash_path();$this->_initDir($);$['path']=$;ҩґү׺̽ݻϘ꧓̕;$['create_time']=time();ِܖܖ;}$->reset($);$=explode(',',$this->config['setting_system']['new_group_folder']);$=system_group::load_data();$=$->get();foreach($ as $=>&$){$=hash_path();楍뢫ܲԟ;$Ƒ=GROUP_PATH.$.'/';foreach($ as $){mk_dir($Ƒ.'home/'.iconv_system($));ЩՌę砳;}$['path']=$;$['create_time']=time();βˆѴ꓏ّňǻ;}$->reset($);}private function _initDir($){$=array('home','recycle','data');涸ѣ᫖Ӥ߁֜;$=explode(',',$this->config['setting_system']['new_user_folder']);$=USER_PATH.$.'/';foreach($ as $){mk_dir($.$);}foreach($ as $){mk_dir($.'home/'.iconv_system($));ٖ̕מ;}fileCache::save($.'data/config.php',$this->config['setting_default']);}}