| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765 | <?php/** * 管理员后台会员操作类 */defined('IN_PHPCMS') or exit('No permission resources.');//模型缓存路径define('CACHE_MODEL_PATH',CACHE_PATH.'caches_model'.DIRECTORY_SEPARATOR.'caches_data'.DIRECTORY_SEPARATOR);pc_base::load_app_class('admin', 'admin', 0);pc_base::load_sys_class('format', '', 0);pc_base::load_sys_class('form', '', 0);pc_base::load_app_func('util', 'content');class member extends admin {		private $db, $verify_db;		function __construct() {		parent::__construct();		$this->db = pc_base::load_model('member_model');		$this->_init_phpsso();	}	/**	 * defalut	 */	function init() {		$show_header = $show_scroll = true;		pc_base::load_sys_class('form', '', 0);		$this->verify_db = pc_base::load_model('member_verify_model');				//搜索框		$keyword = isset($_GET['keyword']) ? $_GET['keyword'] : '';		$type = isset($_GET['type']) ? $_GET['type'] : '';		$groupid = isset($_GET['groupid']) ? $_GET['groupid'] : '';		$start_time = isset($_GET['start_time']) ? $_GET['start_time'] : date('Y-m-d', SYS_TIME-date('t', SYS_TIME)*86400);		$end_time = isset($_GET['end_time']) ? $_GET['end_time'] : date('Y-m-d', SYS_TIME);		$grouplist = getcache('grouplist');		foreach($grouplist as $k=>$v) {			$grouplist[$k] = $v['name'];		}		$memberinfo['totalnum'] = $this->db->count();		$memberinfo['vipnum'] = $this->db->count(array('vip'=>1));		$memberinfo['verifynum'] = $this->verify_db->count(array('status'=>0));		$todaytime = strtotime(date('Y-m-d', SYS_TIME));		$memberinfo['today_member'] = $this->db->count("`regdate` > '$todaytime'");				include $this->admin_tpl('member_init');	}		/**	 * 会员搜索	 */	function search() {		//搜索框		$keyword = isset($_GET['keyword']) ? $_GET['keyword'] : '';		$type = isset($_GET['type']) ? $_GET['type'] : '';		$groupid = isset($_GET['groupid']) ? $_GET['groupid'] : '';		$modelid = isset($_GET['modelid']) ? $_GET['modelid'] : '';				//站点信息		$sitelistarr = getcache('sitelist', 'commons');		$siteid = isset($_GET['siteid']) ? intval($_GET['siteid']) : '0';		foreach ($sitelistarr as $k=>$v) {			$sitelist[$k] = $v['name'];		}				$status = isset($_GET['status']) ? $_GET['status'] : '';		$amount_from = isset($_GET['amount_from']) ? $_GET['amount_from'] : '';		$amount_to = isset($_GET['amount_to']) ? $_GET['amount_to'] : '';		$point_from = isset($_GET['point_from']) ? $_GET['point_from'] : '';		$point_to = isset($_GET['point_to']) ? $_GET['point_to'] : '';						$start_time = isset($_GET['start_time']) ? $_GET['start_time'] : '';		$end_time = isset($_GET['end_time']) ? $_GET['end_time'] : date('Y-m-d', SYS_TIME);		$grouplist = getcache('grouplist');		foreach($grouplist as $k=>$v) {			$grouplist[$k] = $v['name'];		}		//会员所属模型				$modellistarr = getcache('member_model', 'commons');		foreach ($modellistarr as $k=>$v) {			$modellist[$k] = $v['name'];		}						if (isset($_GET['search'])) {						//默认选取一个月内的用户,防止用户量过大给数据造成灾难			$where_start_time = strtotime($start_time) ? strtotime($start_time) : 0;			$where_end_time = strtotime($end_time) + 86400;			//开始时间大于结束时间,置换变量			if($where_start_time > $where_end_time) {				$tmp = $where_start_time;				$where_start_time = $where_end_time;				$where_end_time = $tmp;				$tmptime = $start_time;								$start_time = $end_time;				$end_time = $tmptime;				unset($tmp, $tmptime);			}									$where = '';						//如果是超级管理员角色,显示所有用户,否则显示当前站点用户			if($_SESSION['roleid'] == 1) {				if(!empty($siteid)) {					$where .= "`siteid` = '$siteid' AND ";				}			} else {				$siteid = get_siteid();				$where .= "`siteid` = '$siteid' AND ";			}							if($status) {				$islock = $status == 1 ? 1 : 0;				$where .= "`islock` = '$islock' AND ";			}					if($groupid) {				$where .= "`groupid` = '$groupid' AND ";			}						if($modelid) {				$where .= "`modelid` = '$modelid' AND ";			}				$where .= "`regdate` BETWEEN '$where_start_time' AND '$where_end_time' AND ";			//资金范围			if($amount_from) {				if($amount_to) {					if($amount_from > $amount_to) {						$tmp = $amount_from;						$amount_from = $amount_to;						$amount_to = $tmp;						unset($tmp);					}					$where .= "`amount` BETWEEN '$amount_from' AND '$amount_to' AND ";				} else {					$where .= "`amount` > '$amount_from' AND ";				}			}			//点数范围			if($point_from) {				if($point_to) {					if($point_from > $point_to) {						$tmp = $amount_from;						$point_from = $point_to;						$point_to = $tmp;						unset($tmp);					}					$where .= "`point` BETWEEN '$point_from' AND '$point_to' AND ";				} else {					$where .= "`point` > '$point_from' AND ";				}			}					if($keyword) {				if ($type == '1') {					$where .= "`username` LIKE '%$keyword%'";				} elseif($type == '2') {					$where .= "`userid` = '$keyword'";				} elseif($type == '3') {					$where .= "`email` like '%$keyword%'";				} elseif($type == '4') {					$where .= "`regip` = '$keyword'";				} elseif($type == '5') {					$where .= "`nickname` LIKE '%$keyword%'";				} else {					$where .= "`username` like '%$keyword%'";				}			} else {				$where .= '1';			}					} else {			$where = '';		}		$page = isset($_GET['page']) ? intval($_GET['page']) : 1;		$memberlist = $this->db->listinfo($where, 'userid DESC', $page, 15);		//查询会员头像		foreach($memberlist as $k=>$v) {			$memberlist[$k]['avatar'] = get_memberavatar($v['phpssouid']);		}		$pages = $this->db->pages;		$big_menu = array('?m=member&c=member&a=manage&menuid=72', L('member_research'));		include $this->admin_tpl('member_list');	}		/**	 * member list	 */	function manage() {		$sitelistarr = getcache('sitelist', 'commons');		foreach ($sitelistarr as $k=>$v) {			$sitelist[$k] = $v['name'];		}			$groupid = isset($_GET['groupid']) ? intval($_GET['groupid']) : '';		$page = isset($_GET['page']) ? intval($_GET['page']) : 1;				//如果是超级管理员角色,显示所有用户,否则显示当前站点用户		if($_SESSION['roleid'] == 1) {			$where = '';		} else {			$siteid = get_siteid();			$where .= "`siteid` = '$siteid'";		}				$memberlist_arr = $this->db->listinfo($where, 'userid DESC', $page, 15);		$pages = $this->db->pages;		//搜索框		$keyword = isset($_GET['keyword']) ? $_GET['keyword'] : '';		$type = isset($_GET['type']) ? $_GET['type'] : '';		$start_time = isset($_GET['start_time']) ? $_GET['start_time'] : '';		$end_time = isset($_GET['end_time']) ? $_GET['end_time'] : date('Y-m-d', SYS_TIME);		$grouplist = getcache('grouplist');		foreach($grouplist as $k=>$v) {			$grouplist[$k] = $v['name'];		}				//会员所属模型				$modellistarr = getcache('member_model', 'commons');		foreach ($modellistarr as $k=>$v) {			$modellist[$k] = $v['name'];		}				//查询会员头像		foreach($memberlist_arr as $k=>$v) {			$memberlist[$k] = $v;			$memberlist[$k]['avatar'] = get_memberavatar($v['phpssouid']);		}		$big_menu = array('javascript:window.top.art.dialog({id:\'add\',iframe:\'?m=member&c=member&a=add\', title:\''.L('member_add').'\', width:\'700\', height:\'500\', lock:true}, function(){var d = window.top.art.dialog({id:\'add\'}).data.iframe;var form = d.document.getElementById(\'dosubmit\');form.click();return false;}, function(){window.top.art.dialog({id:\'add\'}).close()});void(0);', L('member_add'));		include $this->admin_tpl('member_list');	}			/**	 * add member	 */	function add() {		header("Cache-control: private");		if(isset($_POST['dosubmit'])) {			$info = array();			if(!$this->_checkname($_POST['info']['username'])){				showmessage(L('member_exist'));			}			$info = $this->_checkuserinfo($_POST['info']);			if(!$this->_checkpasswd($info['password'])){				showmessage(L('password_format_incorrect'));			}			$info['regip'] = ip();			$info['overduedate'] = strtotime($info['overduedate']);			$status = $this->client->ps_member_register($info['username'], $info['password'], $info['email'], $info['regip']);			if($status > 0) {				unset($info[pwdconfirm]);				$info['phpssouid'] = $status;				//取phpsso密码随机数				$memberinfo = $this->client->ps_get_member_info($status);				$memberinfo = unserialize($memberinfo);				$info['encrypt'] = $memberinfo['random'];				$info['password'] = password($info['password'], $info['encrypt']);				$info['regdate'] = $info['lastdate'] = SYS_TIME;								$this->db->insert($info);				if($this->db->insert_id()){					showmessage(L('operation_success'),'?m=member&c=member&a=add', '', 'add');				}			} elseif($status == -4) {				showmessage(L('username_deny'), HTTP_REFERER);			} elseif($status == -5) {				showmessage(L('email_deny'), HTTP_REFERER);			} else {				showmessage(L('operation_failure'), HTTP_REFERER);			}		} else {			$show_header = $show_scroll = true;			$siteid = get_siteid();			//会员组缓存			$group_cache = getcache('grouplist', 'member');			foreach($group_cache as $_key=>$_value) {				$grouplist[$_key] = $_value['name'];			}			//会员模型缓存			$member_model_cache = getcache('member_model', 'commons');			foreach($member_model_cache as $_key=>$_value) {				if($siteid == $_value['siteid']) {					$modellist[$_key] = $_value['name'];				}			}						include $this->admin_tpl('member_add');		}			}		/**	 * edit member	 */	function edit() {		if(isset($_POST['dosubmit'])) {			$memberinfo = $info = array();			$basicinfo['userid'] = $_POST['info']['userid'];			$basicinfo['username'] = $_POST['info']['username'];			$basicinfo['nickname'] = $_POST['info']['nickname'];			$basicinfo['email'] = $_POST['info']['email'];			$basicinfo['point'] = $_POST['info']['point'];			$basicinfo['password'] = $_POST['info']['password'];			$basicinfo['groupid'] = $_POST['info']['groupid'];			$basicinfo['modelid'] = $_POST['info']['modelid'];			$basicinfo['vip'] = $_POST['info']['vip'];			$basicinfo['mobile'] = $_POST['info']['mobile'];			$basicinfo['overduedate'] = strtotime($_POST['info']['overduedate']);			//会员基本信息			$info = $this->_checkuserinfo($basicinfo, 1);			//会员模型信息			$modelinfo = array_diff_key($_POST['info'], $info);			//过滤vip过期时间			unset($modelinfo['overduedate']);			unset($modelinfo['pwdconfirm']);			$userid = $info['userid'];						//如果是超级管理员角色,显示所有用户,否则显示当前站点用户			if($_SESSION['roleid'] == 1) {				$where = array('userid'=>$userid);			} else {				$siteid = get_siteid();				$where = array('userid'=>$userid, 'siteid'=>$siteid);			}								$userinfo = $this->db->get_one($where);			if(empty($userinfo)) {				showmessage(L('user_not_exist').L('or').L('no_permission'), HTTP_REFERER);			}			//删除用户头像			if(!empty($_POST['delavatar'])) {				$this->client->ps_deleteavatar($userinfo['phpssouid']);			}			$status = $this->client->ps_member_edit($info['username'], $info['email'], '', $info['password'], $userinfo['phpssouid'], $userinfo['encrypt']);  			if($status >= 0) { 				unset($info['userid']);				unset($info['username']);								//如果密码不为空,修改用户密码。				if(isset($info['password']) && !empty($info['password'])) {					$info['password'] = password($info['password'], $userinfo['encrypt']);				} else {					unset($info['password']);				}				$this->db->update($info, array('userid'=>$userid));								require_once CACHE_MODEL_PATH.'member_input.class.php';		        require_once CACHE_MODEL_PATH.'member_update.class.php';				$member_input = new member_input($basicinfo['modelid']);				$modelinfo = $member_input->get($modelinfo);				//更新模型表,方法更新了$this->table				$this->db->set_model($info['modelid']);				$userinfo = $this->db->get_one(array('userid'=>$userid));				if($userinfo) {					$this->db->update($modelinfo, array('userid'=>$userid));				} else {					$modelinfo['userid'] = $userid;					$this->db->insert($modelinfo);				}								showmessage(L('operation_success'), '?m=member&c=member&a=manage', '', 'edit');			} else {				showmessage(L('operation_failure'), HTTP_REFERER);			}		} else {			$show_header = $show_scroll = true;			$siteid = get_siteid();			$userid = isset($_GET['userid']) ? $_GET['userid'] : showmessage(L('illegal_parameters'), HTTP_REFERER);						//会员组缓存			$group_cache = getcache('grouplist', 'member');			foreach($group_cache as $_key=>$_value) {				$grouplist[$_key] = $_value['name'];			}			//会员模型缓存			$member_model_cache = getcache('member_model', 'commons');			foreach($member_model_cache as $_key=>$_value) {				if($siteid == $_value['siteid']) {					$modellist[$_key] = $_value['name'];				}			}						//如果是超级管理员角色,显示所有用户,否则显示当前站点用户			if($_SESSION['roleid'] == 1) {				$where = array('userid'=>$userid);			} else {				$where = array('userid'=>$userid, 'siteid'=>$siteid);			}			$memberinfo = $this->db->get_one($where);						if(empty($memberinfo)) {				showmessage(L('user_not_exist').L('or').L('no_permission'), HTTP_REFERER);			}						$memberinfo['avatar'] = get_memberavatar($memberinfo['phpssouid'], '', 90);						$modelid = isset($_GET['modelid']) ? $_GET['modelid'] : $memberinfo['modelid'];						//获取会员模型表单			require CACHE_MODEL_PATH.'member_form.class.php';			$member_form = new member_form($modelid);						$form_overdudate = form::date('info[overduedate]', date('Y-m-d H:i:s',$memberinfo['overduedate']), 1);			$this->db->set_model($modelid);			$membermodelinfo = $this->db->get_one(array('userid'=>$userid));			$forminfos = $forminfos_arr = $member_form->get($membermodelinfo);						//万能字段过滤			foreach($forminfos as $field=>$info) {				if($info['isomnipotent']) {					unset($forminfos[$field]);				} else {					if($info['formtype']=='omnipotent') {						foreach($forminfos_arr as $_fm=>$_fm_value) {							if($_fm_value['isomnipotent']) {								$info['form'] = str_replace('{'.$_fm.'}',$_fm_value['form'], $info['form']);							}						}						$forminfos[$field]['form'] = $info['form'];					}				}			}			$show_dialog = 1;			include $this->admin_tpl('member_edit');				}	}		/**	 * delete member	 */	function delete() {		$uidarr = isset($_POST['userid']) ? $_POST['userid'] : showmessage(L('illegal_parameters'), HTTP_REFERER);		$uidarr = array_map('intval',$uidarr);		$where = to_sqls($uidarr, '', 'userid');		$phpsso_userinfo = $this->db->listinfo($where);		$phpssouidarr = array();		if(is_array($phpsso_userinfo)) {			foreach($phpsso_userinfo as $v) {				if(!empty($v['phpssouid'])) {					$phpssouidarr[] = $v['phpssouid'];				}			}		}		//查询用户信息		$userinfo_arr = $this->db->select($where, "userid, modelid");		$userinfo = array();		if(is_array($userinfo_arr)) {			foreach($userinfo_arr as $v) {				$userinfo[$v['userid']] = $v['modelid'];			}		}		//delete phpsso member first		if(!empty($phpssouidarr)) {			$status = $this->client->ps_delete_member($phpssouidarr, 1);			if($status > 0) {				if ($this->db->delete($where)) {										//删除用户模型用户资料					foreach($uidarr as $v) {						if(!empty($userinfo[$v])) {							$this->db->set_model($userinfo[$v]);							$this->db->delete(array('userid'=>$v));						}					}									showmessage(L('operation_success'), HTTP_REFERER);				} else {					showmessage(L('operation_failure'), HTTP_REFERER);				}			} else {				showmessage(L('operation_failure'), HTTP_REFERER);			}		} else {			if ($this->db->delete($where)) {				showmessage(L('operation_success'), HTTP_REFERER);			} else {				showmessage(L('operation_failure'), HTTP_REFERER);			}		}	}	/**	 * lock member	 */	function lock() {		if(isset($_POST['userid'])) {			$uidarr = isset($_POST['userid']) ? $_POST['userid'] : showmessage(L('illegal_parameters'), HTTP_REFERER);			$where = to_sqls($uidarr, '', 'userid');			$this->db->update(array('islock'=>1), $where);			showmessage(L('member_lock').L('operation_success'), HTTP_REFERER);		} else {			showmessage(L('operation_failure'), HTTP_REFERER);		}	}		/**	 * unlock member	 */	function unlock() {		if(isset($_POST['userid'])) {			$uidarr = isset($_POST['userid']) ? $_POST['userid'] : showmessage(L('illegal_parameters'), HTTP_REFERER);			$where = to_sqls($uidarr, '', 'userid');			$this->db->update(array('islock'=>0), $where);			showmessage(L('member_unlock').L('operation_success'), HTTP_REFERER);		} else {			showmessage(L('operation_failure'), HTTP_REFERER);		}	}	/**	 * move member	 */	function move() {		if(isset($_POST['dosubmit'])) {			$uidarr = isset($_POST['userid']) ? $_POST['userid'] : showmessage(L('illegal_parameters'), HTTP_REFERER);			$groupid = isset($_POST['groupid']) && !empty($_POST['groupid']) ? $_POST['groupid'] : showmessage(L('illegal_parameters'), HTTP_REFERER);						$where = to_sqls($uidarr, '', 'userid');			$this->db->update(array('groupid'=>$groupid), $where);			showmessage(L('member_move').L('operation_success'), HTTP_REFERER, '', 'move');		} else {			$show_header = $show_scroll = true;			$grouplist = getcache('grouplist');			foreach($grouplist as $k=>$v) {				$grouplist[$k] = $v['name'];			}						$ids = isset($_GET['ids']) ? explode(',', $_GET['ids']): showmessage(L('illegal_parameters'), HTTP_REFERER);			array_pop($ids);			if(!empty($ids)) {				$where = to_sqls($ids, '', 'userid');				$userarr = $this->db->listinfo($where);			} else {				showmessage(L('illegal_parameters'), HTTP_REFERER, '', 'move');			}						include $this->admin_tpl('member_move');		}	}	function memberinfo() {		$show_header = false;				$userid = !empty($_GET['userid']) ? intval($_GET['userid']) : '';		$username = !empty($_GET['username']) ? trim($_GET['username']) : '';		if(!empty($userid)) {			$memberinfo = $this->db->get_one(array('userid'=>$userid));		} elseif(!empty($username)) {			$memberinfo = $this->db->get_one(array('username'=>$username));		} else {			showmessage(L('illegal_parameters'), HTTP_REFERER);		}				if(empty($memberinfo)) {			showmessage(L('user').L('not_exists'), HTTP_REFERER);		}				$memberinfo['avatar'] = get_memberavatar($memberinfo['phpssouid'], '', 90);		$grouplist = getcache('grouplist');		//会员模型缓存		$modellist = getcache('member_model', 'commons');		$modelid = !empty($_GET['modelid']) ? intval($_GET['modelid']) : $memberinfo['modelid'];		//站群缓存		$sitelist =getcache('sitelist', 'commons');		$this->db->set_model($modelid);		$member_modelinfo = $this->db->get_one(array('userid'=>$userid));		//模型字段名称		$model_fieldinfo = getcache('model_field_'.$modelid, 'model');			//图片字段显示图片		foreach($model_fieldinfo as $k=>$v) {			if($v['formtype'] == 'image') {				$member_modelinfo[$k] = "<a href='.$member_modelinfo[$k].' target='_blank'><img src='.$member_modelinfo[$k].' height='40' widht='40' onerror=\"this.src='$phpsso_api_url/statics/images/member/nophoto.gif'\"></a>";			} elseif($v['formtype'] == 'images') {				$tmp = string2array($member_modelinfo[$k]);				$member_modelinfo[$k] = '';				if(is_array($tmp)) {					foreach ($tmp as $tv) {						$member_modelinfo[$k] .= " <a href='$tv[url]' target='_blank'><img src='$tv[url]' height='40' widht='40' onerror=\"this.src='$phpsso_api_url/statics/images/member/nophoto.gif'\"></a>";					}					unset($tmp);				}			} elseif($v['formtype'] == 'box') {	//box字段,获取字段名称和值的数组				$tmp = explode("\n",$v['options']);				if(is_array($tmp)) {					foreach($tmp as $boxv) {						$box_tmp_arr = explode('|', trim($boxv));						if(is_array($box_tmp_arr) && isset($box_tmp_arr[1]) && isset($box_tmp_arr[0])) {							$box_tmp[$box_tmp_arr[1]] = $box_tmp_arr[0];							$tmp_key = intval($member_modelinfo[$k]);						}					}				}				if(isset($box_tmp[$tmp_key])) {					$member_modelinfo[$k] = $box_tmp[$tmp_key];				} else {					$member_modelinfo[$k] = $member_modelinfo_arr[$k];				}				unset($tmp, $tmp_key, $box_tmp, $box_tmp_arr);			} elseif($v['formtype'] == 'linkage') {	//如果为联动菜单				$tmp = string2array($v['setting']);				$tmpid = $tmp['linageid'];				$linkagelist = getcache($tmpid, 'linkage');				$fullname = $this->_get_linkage_fullname($member_modelinfo[$k], $linkagelist);								$member_modelinfo[$v['name']] = substr($fullname, 0, -1);				unset($tmp, $tmpid, $linkagelist, $fullname);			} else {				$member_modelinfo[$k] = $member_modelinfo[$k];			}		}		$member_fieldinfo = array();		//交换数组key值		foreach($model_fieldinfo as $v) {			if(!empty($member_modelinfo) && array_key_exists($v['field'], $member_modelinfo)) {				$tmp = $member_modelinfo[$v['field']];				unset($member_modelinfo[$v['field']]);				$member_fieldinfo[$v['name']] = $tmp;				unset($tmp);			} else {				$member_fieldinfo[$v['name']] = '';			}		}		include $this->admin_tpl('member_moreinfo');	}	/*	 * 通过linkageid获取名字路径	 */	private function _get_linkage_fullname($linkageid,  $linkagelist) {		$fullname = '';		if($linkagelist['data'][$linkageid]['parentid'] != 0) {			$fullname = $this->_get_linkage_fullname($linkagelist['data'][$linkageid]['parentid'], $linkagelist);		}		//所在地区名称		$return = $fullname.$linkagelist['data'][$linkageid]['name'].'>';		return $return;	}		private function _checkuserinfo($data, $is_edit=0) {		if(!is_array($data)){			showmessage(L('need_more_param'));return false;		} elseif (!is_username($data['username']) && !$is_edit){			showmessage(L('username_format_incorrect'));return false;		} elseif (!isset($data['userid']) && $is_edit) {			showmessage(L('username_format_incorrect'));return false;		}  elseif (empty($data['email']) || !is_email($data['email'])){			showmessage(L('email_format_incorrect'));return false;		}		return $data;	}			private function _checkpasswd($password){		if (!is_password($password)){			return false;		}		return true;	}		private function _checkname($username) {		$username =  trim($username);		if ($this->db->get_one(array('username'=>$username))){			return false;		}		return true;	}		/**	 * 初始化phpsso	 * about phpsso, include client and client configure	 * @return string phpsso_api_url phpsso地址	 */	private function _init_phpsso() {		pc_base::load_app_class('client', '', 0);		define('APPID', pc_base::load_config('system', 'phpsso_appid'));		$phpsso_api_url = pc_base::load_config('system', 'phpsso_api_url');		$phpsso_auth_key = pc_base::load_config('system', 'phpsso_auth_key');		$this->client = new client($phpsso_api_url, $phpsso_auth_key);		return $phpsso_api_url;	}		/**	 * 检查用户名	 * @param string $username	用户名	 * @return $status {-4:用户名禁止注册;-1:用户名已经存在 ;1:成功}	 */	public function public_checkname_ajax() {		$username = isset($_GET['username']) && trim($_GET['username']) ? trim($_GET['username']) : exit(0);		if(CHARSET != 'utf-8') {			$username = iconv('utf-8', CHARSET, $username);			$username = addslashes($username);		}		$status = $this->client->ps_checkname($username);					if($status == -4 || $status == -1) {			exit('0');		} else {			exit('1');		}			}		/**	 * 检查邮箱	 * @param string $email	 * @return $status {-1:email已经存在 ;-5:邮箱禁止注册;1:成功}	 */	public function public_checkemail_ajax() {		$email = isset($_GET['email']) && trim($_GET['email']) ? trim($_GET['email']) : exit(0);				$status = $this->client->ps_checkemail($email);		if($status == -5) {	//禁止注册			exit('0');		} elseif($status == -1) {	//用户名已存在,但是修改用户的时候需要判断邮箱是否是当前用户的			if(isset($_GET['phpssouid'])) {	//修改用户传入phpssouid				$status = $this->client->ps_get_member_info($email, 3);				if($status) {					$status = unserialize($status);	//接口返回序列化,进行判断					if (isset($status['uid']) && $status['uid'] == intval($_GET['phpssouid'])) {						exit('1');					} else {						exit('0');					}				} else {					exit('0');				}			} else {				exit('0');			}		} else {			exit('1');		}	}	}?>
 |