From abb66a0e799e7ca613e8967a304e7c5ed00e034e Mon Sep 17 00:00:00 2001 From: chengkun <chengkun@ishangstudy.com> Date: Fri, 30 May 2025 11:37:48 +0800 Subject: [PATCH] 提交 --- app/model/userinfo.model.php | 9027 +++++++++++++++++++++++++++++----------------------------- 1 files changed, 4,510 insertions(+), 4,517 deletions(-) diff --git a/app/model/userinfo.model.php b/app/model/userinfo.model.php index 123f571..9e092cb 100644 --- a/app/model/userinfo.model.php +++ b/app/model/userinfo.model.php @@ -1,120 +1,116 @@ <?php - -class userinfo_model extends model -{ - - private $comstatusStr =array( - 0 => ' 被设为未审核状态', - 1 => ' 通过审核', - 2 => ' 被锁定', - 3 => ' 审核未通过', - 4 => ' 被暂停' +class userinfo_model extends model { + + private $comstatusStr = array( + 0 => ' 被设为未审核状态', + 1 => ' 通过审核', + 2 => ' 被锁定', + 3 => ' 审核未通过', + 4 => ' 被暂停' ); - - private function addErrorLog($uid,$type='',$content) - { + + private function addErrorLog($uid, $type = '', $content) { - require_once ('errlog.model.php'); + require_once('errlog.model.php'); $ErrlogM = new errlog_model($this->db, $this->def); - return $ErrlogM -> addErrorLog($uid, $type, $content); + return $ErrlogM->addErrorLog($uid, $type, $content); } - // 获取账户信息 - function getInfo($where,$data=array()) - { - - $field = empty($data['field']) ? '*' : $data['field']; - - if (!empty($where)) { - - $member = $this -> select_once('member',$where, $field); - - if($member && is_array($member)){ - - /* 是否有修改用户名权限查询 */ - if (isset($data['setname']) && $data['setname'] == '1') { - - if($member['restname']=='0'){ - - $member['setname'] = '1'; - } - } - if (isset($data['sf']) && $data['sf'] == '1') { - - $sflist = array(1=>'个人会员',2=>'企业会员',3=>'猎头会员',4=>'培训会员'); - - $member['sf'] = $sflist[$member['usertype']]; - } - return $member; + // 获取账户信息 + function getInfo($where, $data = array()) { + + $field = empty($data['field']) ? '*' : $data['field']; + + if (!empty($where)) { + + $member = $this->select_once('member', $where, $field); + + if ($member && is_array($member)) { + + /* 是否有修改用户名权限查询 */ + if (isset($data['setname']) && $data['setname'] == '1') { + + if ($member['restname'] == '0') { + + $member['setname'] = '1'; + } + } + if (isset($data['sf']) && $data['sf'] == '1') { + + $sflist = array(1 => '个人会员', 2 => '企业会员', 3 => '猎头会员', 4 => '培训会员'); + + $member['sf'] = $sflist[$member['usertype']]; + } + return $member; } - } - } - - // 账户数目 - function getMemberNum($Where = array()){ - return $this->select_num('member', $Where); - } - - // 获取账户信息,多条查询 - public function getList($whereData , $data = array(),$utype='') { - - $field = $data['field'] ? $data['field'] : '*'; - - $List = $this -> select_all('member',$whereData, $field); - - if ($utype == 'admin'){ - - $List = $this -> getDataList($List); - } - return $List; - } - - //添加用户 - public function addInfo($data){ - - if ($data && is_array($data)){ - - $mdata = $data['mdata']; - - $result = $this -> addMemberCheck($mdata); - - if ($result['msg']){ - - return $result; - } - if (!empty($mdata['clientid'])){ - //清除其他账号clientid - $this->clearPushId($mdata['clientid']); - } - $mdata['did'] = !empty($mdata['did']) ? $mdata['did'] : $this->config['did']; - $nid = $this->insert_into('member', $mdata); - if(!$nid){ - - $user_id = $this->getInfo(array('username'=>$mdata['username']),array('field'=>'uid')); - - $nid = $user_id['uid']; - - } - if ($nid){ - - $udata = !empty($data['udata']) ? $data['udata'] : array(); - $sdata = !empty($data['sdata']) ? $data['sdata'] : array(); - - $udata['uid'] = $nid; - - if ($mdata['usertype'] == 1){ - $udata['did'] = !empty($udata['did']) ? $udata['did'] : $this->config['did']; - $this -> insert_into('resume',$udata); - - $sdata['uid'] = $nid; - $this -> insert_into('member_statis',$sdata); - - }else if ($mdata['usertype'] == 2){ - if(empty($udata['crm_uid'])) { - if($this->config['sy_crm_duty'] == 1){ - + } + } + + // 账户数目 + function getMemberNum($Where = array()) { + return $this->select_num('member', $Where); + } + + // 获取账户信息,多条查询 + public function getList($whereData, $data = array(), $utype = '') { + + $field = $data['field'] ? $data['field'] : '*'; + + $List = $this->select_all('member', $whereData, $field); + + if ($utype == 'admin') { + + $List = $this->getDataList($List); + } + return $List; + } + + //添加用户 + public function addInfo($data) { + + if ($data && is_array($data)) { + + $mdata = $data['mdata']; + + $result = $this->addMemberCheck($mdata); + + if ($result['msg']) { + + return $result; + } + if (!empty($mdata['clientid'])) { + //清除其他账号clientid + $this->clearPushId($mdata['clientid']); + } + $mdata['did'] = !empty($mdata['did']) ? $mdata['did'] : $this->config['did']; + $nid = $this->insert_into('member', $mdata); + if (!$nid) { + + $user_id = $this->getInfo(array('username' => $mdata['username']), array('field' => 'uid')); + + $nid = $user_id['uid']; + + } + if ($nid) { + + $udata = !empty($data['udata']) ? $data['udata'] : array(); + $sdata = !empty($data['sdata']) ? $data['sdata'] : array(); + + $udata['uid'] = $nid; + + if ($mdata['usertype'] == 1) { + $udata['did'] = !empty($udata['did']) ? $udata['did'] : $this->config['did']; + $this->insert_into('resume', $udata); + + $sdata['uid'] = $nid; + $this->insert_into('member_statis', $sdata); + + } else if ($mdata['usertype'] == 2) { + if (empty($udata['crm_uid'])) { + if ($this->config['sy_crm_duty'] == 1) { + $crm_uid = $this->getCrmUid(array('type' => '2')); } if ($crm_uid) { @@ -122,314 +118,313 @@ $udata['crm_time'] = time(); } } - $this -> insert_into('company',$udata); - $this -> addStatis($nid,$sdata); - - }else if ($mdata['usertype'] == 5){ - - $this -> insert_into('gq_info',$udata); - } - } - return $nid; - } - } - - /** - * 检查子账号 - * - */ - public function checkChild($data = array()){ - $res = array( - 'ecode' => 0, - 'msg' => '' - ); - if(empty($data['uid'])){ - $res['ecode'] = 1; - $res['msg'] = '缺少企业id'; - return $res; - } - if(empty($data['cdata'])){ - $res['ecode'] = 2; - $res['msg'] = '缺少子账号信息'; - return $res; - } - $cdata = $data['cdata']; - - if(empty($cdata['name']) || empty($cdata['password'])){ - $res['ecode'] = 3; - $res['msg'] = '子账号信息不完整'; - return $res; - } - unset($cdata['password']); - - require_once ('companyaccount.model.php'); - $comaM = new companyaccount_model($this->db, $this->def); - - /* + $this->insert_into('company', $udata); + $this->addStatis($nid, $sdata); + + } else if ($mdata['usertype'] == 5) { + + $this->insert_into('gq_info', $udata); + } + } + return $nid; + } + } + + /** + * 检查子账号 + * + */ + public function checkChild($data = array()) { + $res = array( + 'ecode' => 0, + 'msg' => '' + ); + if (empty($data['uid'])) { + $res['ecode'] = 1; + $res['msg'] = '缺少企业id'; + return $res; + } + if (empty($data['cdata'])) { + $res['ecode'] = 2; + $res['msg'] = '缺少子账号信息'; + return $res; + } + $cdata = $data['cdata']; + + if (empty($cdata['name']) || empty($cdata['password'])) { + $res['ecode'] = 3; + $res['msg'] = '子账号信息不完整'; + return $res; + } + unset($cdata['password']); + + require_once('companyaccount.model.php'); + $comaM = new companyaccount_model($this->db, $this->def); + + /* //判断子账号是否存在 $oldData = $comaM -> getInfo(array('username' => $cdata['username'], 'comid' => $data['uid'])); - + if(!empty($oldData)){ $res['ecode'] = 4; $res['msg'] = '子账号已存在'; return $res; } */ - - //检查会员信息 - $result = $this -> addMemberCheck($cdata); - if (is_array($result) && !empty($result['msg'])){ - $res['ecode'] = $result['error']; - $res['msg'] = $result['msg']; - return $res; - } - - $res = array( - 'ecode' => 9, - 'msg' => '' - ); - return $res; - } - - /** - * @desc 添加企业子账户 - * @param array $data - * $data['uid'] 企业的uid - * $data['cdata'] 子账号的信息 - * $data['ptype'] vip 扣除套餐数量 - */ - public function addChildInfo($data = array()){ - $res = array( - 'ecode' => 0, - 'msg' => '' - ); - - $tmpRes = $this -> checkChild($data); - if($tmpRes['ecode'] != 9){ - return $tmpRes; - } - - //判断支付类型,扣除套餐数量 - if(isset($data['paytype']) && $data['paytype'] == 'vip'){ - require_once ('statis.model.php'); - $statisM = new statis_model($this->db, $this->def); - $staisInfo = $statisM -> getInfo($data['uid'], array('usertype' => 2, 'field' => '`sons_num`')); - if(empty($staisInfo) || $staisInfo['sons_num'] < 1){ - $res = array( - 'ecode' => 8, - 'msg' => '您的套餐数量已用完' - ); - return $res; - } - } - - $cdata = $data['cdata']; - - //密码加密 - $pwdData = $this -> generatePwd(array('password' => $cdata['password'])); - $cdata['password'] = $pwdData['pwd']; - $cdata['salt'] = $pwdData['salt']; - - //注册ip date - $cdata['reg_ip'] = fun_ip_get(); - $cdata['reg_date'] = time(); - - require_once ('companyaccount.model.php'); - $comaM = new companyaccount_model($this->db, $this->def); - - //补充其他账号信息 - $cdata['pid'] = $data['uid']; - $cdata['usertype'] = 2; - $cdata['status'] = 1; - $nid = $this -> insert_into('member', $cdata); - - $usernames = $this -> select_once('member',array('uid'=>$data['uid']),'`username`'); - $comnames = $this -> select_once('company',array('uid'=>$data['uid']),'`name`'); - if(empty($nid)){ - $res = array( - 'ecode' => 8, - 'msg' => '添加失败' - ); - return $res; - } - - // 企业子账号数据添加 - $adata = array(); - $adata['uid'] = $nid; - $adata['name'] = $cdata['name']; - $adata['comid'] = $data['uid']; - - $adata['ctime'] = time(); - $adata['status'] = 1; - $adata['lastupdate'] = time(); - $adata['did'] = '0'; - $adata['username'] = $usernames['username']; - $adata['comname'] = $comnames['name']; - $comaM -> createAccount($adata); - - //增加会员日志 - require_once ('log.model.php'); - $LogM = new log_model($this->db, $this->def); - $LogM -> addMemberLog($data['uid'], 2, '创建子账号:'.$cdata['name'], 27, 1); - - //判断支付类型,扣除套餐数量 - if(isset($data['paytype']) && $data['paytype'] == 'vip'){ - require_once ('statis.model.php'); - $statisM = new statis_model($this->db, $this->def); - $staisInfo = $statisM -> getInfo($data['uid'], array('usertype' => 2, 'field' => '`sons_num`')); - if(!empty($staisInfo) && $staisInfo['sons_num'] > 0){ - $statisM -> upInfo(array('sons_num' => array('-', 1)), array('usertype' => 2, 'uid' => $data['uid'])); - } - } - - $res = array( - 'ecode' => 9, - 'msg' => '创建成功' - ); - return $res; - - } - - /** - * @desc 添加企业子账户 - * @param array $where 条件 - * @param array $data - * $data['uid'] 企业的uid - * $data['cdata'] 子账号的信息 - * 会员名称不让修改,修改会员相关信息的话也就是修改会员的密码 - */ - public function updChildInfo($where = array(), $data = array()){ - - //不修改用户名称 - unset($data['username']); - - //修改会员密码 - if(!empty($data['password'])){ - $passwordA = $this -> generatePwd(array('password' => $data['password'])); - $password = $passwordA['pwd']; - $salt = $passwordA['salt']; - - $this -> update_once('member', array('password' => $password, 'salt' => $salt), array('uid' => $where['uid'])); - } - - //修改子账号信息 - require_once ('companyaccount.model.php'); - $comaM = new companyaccount_model($this->db, $this->def); - - $data['lastupdate'] = time(); - $comaM -> updInfo($where, $data); - - $res = array( - 'ecode' => 9, - 'msg' => '修改成功' - ); - return $res; - } - - /** - * @desc 添加企业账户,账户套餐信息添加 - * @param int $uid - * @param array $data - */ - private function addStatis($uid = null, $data = array()) { - - $uid = intval($uid); - - $id = $data['rating'] ? intval($data['rating']) : $this->config['com_rating']; - - $integral = $data['integral'] ? intval($data['integral']) : 0; - - require_once ('rating.model.php'); - - $ratingM = new rating_model($this->db, $this->def); - // 获取会员等级数据 - $rInfo = $ratingM -> getInfo(array('id' => $id)); - - $value = array( - 'uid' => $uid, - 'rating' => $id, - 'rating_name' => $rInfo['name'], - 'rating_type' => $rInfo['type'] + //检查会员信息 + $result = $this->addMemberCheck($cdata); + if (is_array($result) && !empty($result['msg'])) { + $res['ecode'] = $result['error']; + $res['msg'] = $result['msg']; + return $res; + } + + $res = array( + 'ecode' => 9, + 'msg' => '' ); - if($rInfo['type'] == 1){ - - $value = array_merge($value, array( - - 'job_num' => $rInfo['job_num'], - 'down_resume' => $rInfo['resume'], - 'breakjob_num' => $rInfo['breakjob_num'], - 'invite_resume' => $rInfo['interview'], - 'part_num' => $rInfo['part_num'], - 'breakpart_num' => $rInfo['breakpart_num'], - 'lt_job_num' => $rInfo['lt_job_num'], - 'lt_down_resume' => $rInfo['lt_resume'], - 'lt_breakjob_num' => $rInfo['lt_breakjob_num'], - 'zph_num' => $rInfo['zph_num'], - 'chat_num' => $rInfo['chat_num'], - 'spview_num' => $rInfo['spview_num'], - 'top_num' => $rInfo['top_num'], - 'urgent_num' => $rInfo['urgent_num'], - 'rec_num' => $rInfo['rec_num'], - 'sons_num' => $rInfo['sons_num'], - 'chat_num' => $rInfo['chat_num'], - 'spview_num' => $rInfo['spview_num'], - )); - } - - if($rInfo['service_time']){ - $time = time() + 86400 * $rInfo['service_time']; - $value['vip_etime']= $time; - }else{ - $value['vip_etime']= 0; - } - - $value['integral'] = $rInfo['integral_buy'] + $integral; - $value['vip_stime'] = time(); - $value['vip_etime'] = $rInfo['service_time'] ? strtotime('+'.$rInfo['service_time'].' day') : 0; + return $res; + } + + /** + * @desc 添加企业子账户 + * @param array $data + * $data['uid'] 企业的uid + * $data['cdata'] 子账号的信息 + * $data['ptype'] vip 扣除套餐数量 + */ + public function addChildInfo($data = array()) { + $res = array( + 'ecode' => 0, + 'msg' => '' + ); - $comSdata = array( - 'rating' => $id, - 'rating_name' => $rInfo['name'], - 'vipstime' => time(), - 'vipetime' => $rInfo['service_time'] ? strtotime('+'.$rInfo['service_time'].' day') : 0 + $tmpRes = $this->checkChild($data); + if ($tmpRes['ecode'] != 9) { + return $tmpRes; + } + + //判断支付类型,扣除套餐数量 + if (isset($data['paytype']) && $data['paytype'] == 'vip') { + require_once('statis.model.php'); + $statisM = new statis_model($this->db, $this->def); + $staisInfo = $statisM->getInfo($data['uid'], array('usertype' => 2, 'field' => '`sons_num`')); + if (empty($staisInfo) || $staisInfo['sons_num'] < 1) { + $res = array( + 'ecode' => 8, + 'msg' => '您的套餐数量已用完' + ); + return $res; + } + } + + $cdata = $data['cdata']; + + //密码加密 + $pwdData = $this->generatePwd(array('password' => $cdata['password'])); + $cdata['password'] = $pwdData['pwd']; + $cdata['salt'] = $pwdData['salt']; + + //注册ip date + $cdata['reg_ip'] = fun_ip_get(); + $cdata['reg_date'] = time(); + + require_once('companyaccount.model.php'); + $comaM = new companyaccount_model($this->db, $this->def); + + //补充其他账号信息 + $cdata['pid'] = $data['uid']; + $cdata['usertype'] = 2; + $cdata['status'] = 1; + $nid = $this->insert_into('member', $cdata); + + $usernames = $this->select_once('member', array('uid' => $data['uid']), '`username`'); + $comnames = $this->select_once('company', array('uid' => $data['uid']), '`name`'); + if (empty($nid)) { + $res = array( + 'ecode' => 8, + 'msg' => '添加失败' + ); + return $res; + } + + // 企业子账号数据添加 + $adata = array(); + $adata['uid'] = $nid; + $adata['name'] = $cdata['name']; + $adata['comid'] = $data['uid']; + + $adata['ctime'] = time(); + $adata['status'] = 1; + $adata['lastupdate'] = time(); + $adata['did'] = '0'; + $adata['username'] = $usernames['username']; + $adata['comname'] = $comnames['name']; + $comaM->createAccount($adata); + + //增加会员日志 + require_once('log.model.php'); + $LogM = new log_model($this->db, $this->def); + $LogM->addMemberLog($data['uid'], 2, '创建子账号:' . $cdata['name'], 27, 1); + + //判断支付类型,扣除套餐数量 + if (isset($data['paytype']) && $data['paytype'] == 'vip') { + require_once('statis.model.php'); + $statisM = new statis_model($this->db, $this->def); + $staisInfo = $statisM->getInfo($data['uid'], array('usertype' => 2, 'field' => '`sons_num`')); + if (!empty($staisInfo) && $staisInfo['sons_num'] > 0) { + $statisM->upInfo(array('sons_num' => array('-', 1)), array('usertype' => 2, 'uid' => $data['uid'])); + } + } + + $res = array( + 'ecode' => 9, + 'msg' => '创建成功' + ); + return $res; + + } + + /** + * @desc 添加企业子账户 + * @param array $where 条件 + * @param array $data + * $data['uid'] 企业的uid + * $data['cdata'] 子账号的信息 + * 会员名称不让修改,修改会员相关信息的话也就是修改会员的密码 + */ + public function updChildInfo($where = array(), $data = array()) { + + //不修改用户名称 + unset($data['username']); + + //修改会员密码 + if (!empty($data['password'])) { + $passwordA = $this->generatePwd(array('password' => $data['password'])); + $password = $passwordA['pwd']; + $salt = $passwordA['salt']; + + $this->update_once('member', array('password' => $password, 'salt' => $salt), array('uid' => $where['uid'])); + } + + //修改子账号信息 + require_once('companyaccount.model.php'); + $comaM = new companyaccount_model($this->db, $this->def); + + $data['lastupdate'] = time(); + $comaM->updInfo($where, $data); + + $res = array( + 'ecode' => 9, + 'msg' => '修改成功' + ); + return $res; + } + + /** + * @desc 添加企业账户,账户套餐信息添加 + * @param int $uid + * @param array $data + */ + private function addStatis($uid = null, $data = array()) { + + $uid = intval($uid); + + $id = $data['rating'] ? intval($data['rating']) : $this->config['com_rating']; + + $integral = $data['integral'] ? intval($data['integral']) : 0; + + require_once('rating.model.php'); + + $ratingM = new rating_model($this->db, $this->def); + + // 获取会员等级数据 + $rInfo = $ratingM->getInfo(array('id' => $id)); + + $value = array( + 'uid' => $uid, + 'rating' => $id, + 'rating_name' => $rInfo['name'], + 'rating_type' => $rInfo['type'] + ); + if ($rInfo['type'] == 1) { + + $value = array_merge($value, array( + + 'job_num' => $rInfo['job_num'], + 'down_resume' => $rInfo['resume'], + 'breakjob_num' => $rInfo['breakjob_num'], + 'invite_resume' => $rInfo['interview'], + 'part_num' => $rInfo['part_num'], + 'breakpart_num' => $rInfo['breakpart_num'], + 'lt_job_num' => $rInfo['lt_job_num'], + 'lt_down_resume' => $rInfo['lt_resume'], + 'lt_breakjob_num' => $rInfo['lt_breakjob_num'], + 'zph_num' => $rInfo['zph_num'], + 'chat_num' => $rInfo['chat_num'], + 'spview_num' => $rInfo['spview_num'], + 'top_num' => $rInfo['top_num'], + 'urgent_num' => $rInfo['urgent_num'], + 'rec_num' => $rInfo['rec_num'], + 'sons_num' => $rInfo['sons_num'], + 'chat_num' => $rInfo['chat_num'], + 'spview_num' => $rInfo['spview_num'], + )); + } + + if ($rInfo['service_time']) { + $time = time() + 86400 * $rInfo['service_time']; + $value['vip_etime'] = $time; + } else { + $value['vip_etime'] = 0; + } + + $value['integral'] = $rInfo['integral_buy'] + $integral; + $value['vip_stime'] = time(); + $value['vip_etime'] = $rInfo['service_time'] ? strtotime('+' . $rInfo['service_time'] . ' day') : 0; + + $comSdata = array( + 'rating' => $id, + 'rating_name' => $rInfo['name'], + 'vipstime' => time(), + 'vipetime' => $rInfo['service_time'] ? strtotime('+' . $rInfo['service_time'] . ' day') : 0 ); $this->update_once('company', $comSdata, array('uid' => $uid)); /* 待整理归类 */ - if($rInfo['coupon'] > 0){ + if ($rInfo['coupon'] > 0) { - require_once ('coupon.model.php'); - - $couponM = new coupon_model($this->db, $this->def); - - $coupon = $couponM -> getInfo(array('id' => intval($rInfo['coupon']))); + require_once('coupon.model.php'); - $val = array( + $couponM = new coupon_model($this->db, $this->def); + + $coupon = $couponM->getInfo(array('id' => intval($rInfo['coupon']))); + + $val = array( - 'uid' => $uid, - 'number' => time(), - 'ctime' => time(), - 'coupon_id' => intval($coupon['id']), - 'coupon_name' => trim($coupon['name']), - 'validity' => time() + $coupon['time'] * 86400, - 'coupon_amount' => $coupon['amount'], - 'coupon_scope' => $coupon['scope'] - + 'uid' => $uid, + 'number' => time(), + 'ctime' => time(), + 'coupon_id' => intval($coupon['id']), + 'coupon_name' => trim($coupon['name']), + 'validity' => time() + $coupon['time'] * 86400, + 'coupon_amount' => $coupon['amount'], + 'coupon_scope' => $coupon['scope'] + ); - - $this -> insert_into('coupon_list',$val); - } - - $this -> insert_into('company_statis',$value); - - } - - //修改用户信息 - public function upInfo($whereData = array(), $upData = array(), $data = array()) - { - + + $this->insert_into('coupon_list', $val); + } + + $this->insert_into('company_statis', $value); + + } + + //修改用户信息 + public function upInfo($whereData = array(), $upData = array(), $data = array()) { + if (!empty($whereData)) { //处理password if (isset($upData['password'])) { @@ -446,660 +441,664 @@ return $this->update_once('member', $upData, $whereData); } } - /** - * 用户注册检测,修改基本信息检测 - * @param $data - * @param $uid 修改用户名、手机号、邮箱时才需要传入,添加时的检测不需要传 - * @param $utype 修改基本信息时,操作的用户类型:user用户 ,admin 管理员 - */ - public function addMemberCheck($data, $uid = null, $utype = null){ - - $return = $oldMem = array(); - - if (!empty($uid)){ - - $oldMem = $this -> select_once('member',array('uid'=>$uid),'`username`,`moblie`,`email`,`status`,`lock_info`,`address`'); - } - - if (!empty($data['username'])){ - - if(CheckRegUser($data['username']) == false && CheckRegEmail($data['username']) == false){ - - return array('error'=>'101','msg'=>'用户名包含特殊字符'); - } - - if (!empty($this->config['sy_regname'])) { - - $regname = @explode(',', $this->config['sy_regname']); - - if (in_array($data['username'], $regname)) { - - return array('error'=>'107','msg'=>'该用户名禁止使用!'); - } - } - - $reged = $this -> select_once('member',array('username'=>trim($data['username'])),'`uid`'); - - if ($reged){ - - if (!empty($uid)){ - - if ($reged['uid'] != $uid){ - - return array('error'=>'102','msg'=>'用户名已被使用'); - - } - }else{ - - return array('error'=>'102','msg'=>'用户名已被使用'); - } - }else{ - $return['username'] = $data['username']; - if (!empty($oldMem)){ - $return['oldusername'] = $oldMem['username']; - } - } - - /* 会员中心修改用户名添加 */ - if (isset($data['restname']) && $data['restname'] == '1') { - - $member = $this -> getInfo(array('uid'=> intval($uid)), array('field'=>'restname,password,salt')); - - if ($member['restname'] == '1') { - - return array('error'=>'100','msg'=>'您无权限修改用户名!'); - } - - $nmsg = regUserNameComplex($data['username']); - if($nmsg){ - return array('error'=>'100','msg'=>$nmsg); - } - - if ($data['password']) { - - /* md5加密,验证密码传参:salt */ - - $passRes = $this -> generatePwd(array('password' => $data['password'], 'salt' => $member['salt'])); - - if(!empty($passRes)){ - - $oldpass = $passRes['pwd']; - } - - if ($member['password'] != $oldpass) { - - return array('error'=>'108','msg'=>'您的密码验证错误,请重试!'); - } - } - } - } - - if (!empty($data['companyName'])){ - $reged = $this->select_once('company', array('name' => trim($data['companyName'])), '`uid`'); - - if ($reged){ - - if (!empty($uid)){ - if ($reged['uid'] != $uid){ - return array('error'=>'106','msg'=>'企业名称已被使用'); - } - }else{ - return array('error'=>'106','msg'=>'企业名称已被使用'); - } - - } - $return['companyName'] = $data['companyName']; + + /** + * 用户注册检测,修改基本信息检测 + * @param $data + * @param $uid 修改用户名、手机号、邮箱时才需要传入,添加时的检测不需要传 + * @param $utype 修改基本信息时,操作的用户类型:user用户 ,admin 管理员 + */ + public function addMemberCheck($data, $uid = null, $utype = null) { + + $return = $oldMem = array(); + + if (!empty($uid)) { + + $oldMem = $this->select_once('member', array('uid' => $uid), '`username`,`moblie`,`email`,`status`,`lock_info`,`address`'); } - if (!empty($data['moblie'])){ - - if(CheckMobile($data['moblie']) == false){ - - return array('error'=>'103','msg'=>'手机号格式错误'); - } - $reged = $this -> select_once('member',array('moblie'=>trim($data['moblie']),'username'=>array('=',trim($data['moblie']),'or')),'`uid`'); - - if ($reged){ - - if (!empty($uid)){ - - if ($reged['uid'] != $uid){ - - return array('error'=>'104','msg'=>'手机号已被使用'); - - }elseif (!empty($oldMem) && $data['moblie'] != $oldMem['moblie']){//判断现有的和之前是否相同,不同返回可修改的值 - - $return['moblie'] = $data['moblie']; - } - }else{ - - return array('error'=>'104','msg'=>'手机号已被使用'); - } - }else { - - $return['moblie'] = $data['moblie']; - } - } - if (!empty($data['email'])){ - - if (CheckRegEmail($data['email']) == false){ - - return array('error'=>'105','msg'=>'邮箱格式错误'); - } - $reged = $this -> select_once('member',array('email'=>trim($data['email']),'username'=>array('=',trim($data['email']),'or')),'`uid`'); - if ($reged){ - - if (!empty($uid)){ - - if ($reged['uid'] != $uid){ - - return array('error'=>'106','msg'=>'邮箱已被使用'); + + if (!empty($data['username'])) { + + if (CheckRegUser($data['username']) == false && CheckRegEmail($data['username']) == false) { + + return array('error' => '101', 'msg' => '用户名包含特殊字符'); + } + + if (!empty($this->config['sy_regname'])) { + + $regname = @explode(',', $this->config['sy_regname']); + + if (in_array($data['username'], $regname)) { + + return array('error' => '107', 'msg' => '该用户名禁止使用!'); + } + } + + $reged = $this->select_once('member', array('username' => trim($data['username'])), '`uid`'); + + if ($reged) { + + if (!empty($uid)) { + + if ($reged['uid'] != $uid) { - }elseif (!empty($oldMem) && $data['moblie'] != $oldMem['moblie']){//判断现有的和之前是否相同,不同返回可修改的值 + return array('error' => '102', 'msg' => '用户名已被使用'); - $return['email'] = $data['email']; } - }else{ - - return array('error'=>'106','msg'=>'邮箱已被使用'); - } - }else{ - - $return['email'] = $data['email']; - } - } - //后台修改基本信息时的用户状态 - if (!empty($data['status'])){ - - if (!empty($oldMem)){ - //判断现有的和之前是否相同,不同返回可修改的值 - if ($data['status'] != $oldMem['status']){ - $return['status'] = $data['status']; - } - if (!empty($data['lock_info']) && $data['lock_info'] != $oldMem['lock_info']){ - $return['lock_info'] = $data['lock_info']; - } - } - } - //后台修改企业基本信息时的地址 - if (!empty($data['address'])){ - - if (!empty($oldMem) && $data['address'] != $oldMem['address']){ - $return['address'] = $data['address']; - } - } - //后台修改基本信息时的密码,此处不需要处理,到本model的upInfo里面处理 - if (!empty($data['password'])){ - - $return['password'] = $data['password']; - } - // - if ($utype){ - - $this -> setMemberInfo($uid, $utype, $return, $oldMem); - } - return $return; - } - private function setMemberInfo($uid, $utype, $up, $oldMem) - { - - $uData = array(); - - //如是修改会员基本信息时检查,可以修改的,直接修改 - if (!empty($uid) && !empty($oldMem)){ - //会员操作的,如原来是审核未通过,改成未审核 - if ($utype == 'user'){ - - if($oldMem['status'] == '3'){ - - $up['status'] = '0'; - } - } - - $this -> upInfo(array('uid'=>$uid), $up); - - $newMem = $this -> select_once('member',array('uid'=>$uid),'`uid`,`username`,`usertype`,`email`'); - //锁定会员需要发送邮件通知 - if (!empty($up['status']) && $up['status'] == 2 && $this->config['sy_email_lock'] == '1'){ - - $emailData = array( - 'email' => $newMem['email'], - 'uid' => $newMem['uid'], - 'username' => $newMem['username'], - 'lock_info' => $up['lock_info'], - 'type' => 'lock' - ); - - require_once ('notice.model.php'); - - $noticeM = new notice_model($this->db, $this->def); - - $noticeM -> sendEmailType($emailData); - } - // 管理员操作的,如改变了用户审核状态,同步修改相关信息 - if ($utype == 'admin' && !empty($up['status'])){ - - - if ($newMem['usertype'] == 1){ - - $this -> update_once('resume',array('status'=>$up['status']),array('uid'=>$uid)); - - }else if ($newMem['usertype'] == 2){ - - $this -> update_once('company',array('r_status' => $up['status']),array('uid'=>$uid)); - - }else if ($newMem['usertype'] == 3){ - - $this -> update_once('lt_job',array('r_status'=>$up['status']),array('uid'=>$uid)); - - }elseif ($newMem['usertype'] == 4){ - - $this -> update_once('px_subject', array('r_status'=>$up['status']), array('uid'=>$uid)); - $this -> update_once('px_teacher', array('r_status'=>$up['status']), array('uid'=>$uid)); - $this -> update_once('px_train_news', array('r_status'=>$up['status']), array('uid'=>$uid)); - } - } - - // 管理员操作,$up['moblie'], $up['email'],同步修改手机、邮箱 - if ($utype == 'admin') { - - if (!empty($up['moblie'])) { - + } else { + + return array('error' => '102', 'msg' => '用户名已被使用'); + } + } else { + $return['username'] = $data['username']; + if (!empty($oldMem)) { + $return['oldusername'] = $oldMem['username']; + } + } + + /* 会员中心修改用户名添加 */ + if (isset($data['restname']) && $data['restname'] == '1') { + + $member = $this->getInfo(array('uid' => intval($uid)), array('field' => 'restname,password,salt')); + + if ($member['restname'] == '1') { + + return array('error' => '100', 'msg' => '您无权限修改用户名!'); + } + + $nmsg = regUserNameComplex($data['username']); + if ($nmsg) { + return array('error' => '100', 'msg' => $nmsg); + } + + if ($data['password']) { + + /* md5加密,验证密码传参:salt */ + + $passRes = $this->generatePwd(array('password' => $data['password'], 'salt' => $member['salt'])); + + if (!empty($passRes)) { + + $oldpass = $passRes['pwd']; + } + + if ($member['password'] != $oldpass) { + + return array('error' => '108', 'msg' => '您的密码验证错误,请重试!'); + } + } + } + } + + if (!empty($data['companyName'])) { + $reged = $this->select_once('company', array('name' => trim($data['companyName'])), '`uid`'); + + if ($reged) { + + if (!empty($uid)) { + if ($reged['uid'] != $uid) { + return array('error' => '106', 'msg' => '企业名称已被使用'); + } + } else { + return array('error' => '106', 'msg' => '企业名称已被使用'); + } + + } + $return['companyName'] = $data['companyName']; + } + if (!empty($data['moblie'])) { + + if (CheckMobile($data['moblie']) == false) { + + return array('error' => '103', 'msg' => '手机号格式错误'); + } + $reged = $this->select_once('member', array('moblie' => trim($data['moblie']), 'username' => array('=', trim($data['moblie']), 'or')), '`uid`'); + + if ($reged) { + + if (!empty($uid)) { + + if ($reged['uid'] != $uid) { + + return array('error' => '104', 'msg' => '手机号已被使用'); + + } elseif (!empty($oldMem) && $data['moblie'] != $oldMem['moblie']) {//判断现有的和之前是否相同,不同返回可修改的值 + + $return['moblie'] = $data['moblie']; + } + } else { + + return array('error' => '104', 'msg' => '手机号已被使用'); + } + } else { + + $return['moblie'] = $data['moblie']; + } + } + if (!empty($data['email'])) { + + if (CheckRegEmail($data['email']) == false) { + + return array('error' => '105', 'msg' => '邮箱格式错误'); + } + $reged = $this->select_once('member', array('email' => trim($data['email']), 'username' => array('=', trim($data['email']), 'or')), '`uid`'); + if ($reged) { + + if (!empty($uid)) { + + if ($reged['uid'] != $uid) { + + return array('error' => '106', 'msg' => '邮箱已被使用'); + + } elseif (!empty($oldMem) && $data['moblie'] != $oldMem['moblie']) {//判断现有的和之前是否相同,不同返回可修改的值 + + $return['email'] = $data['email']; + } + } else { + + return array('error' => '106', 'msg' => '邮箱已被使用'); + } + } else { + + $return['email'] = $data['email']; + } + } + //后台修改基本信息时的用户状态 + if (!empty($data['status'])) { + + if (!empty($oldMem)) { + //判断现有的和之前是否相同,不同返回可修改的值 + if ($data['status'] != $oldMem['status']) { + $return['status'] = $data['status']; + } + if (!empty($data['lock_info']) && $data['lock_info'] != $oldMem['lock_info']) { + $return['lock_info'] = $data['lock_info']; + } + } + } + //后台修改企业基本信息时的地址 + if (!empty($data['address'])) { + + if (!empty($oldMem) && $data['address'] != $oldMem['address']) { + $return['address'] = $data['address']; + } + } + //后台修改基本信息时的密码,此处不需要处理,到本model的upInfo里面处理 + if (!empty($data['password'])) { + + $return['password'] = $data['password']; + } + // + if ($utype) { + + $this->setMemberInfo($uid, $utype, $return, $oldMem); + } + return $return; + } + + private function setMemberInfo($uid, $utype, $up, $oldMem) { + + $uData = array(); + + //如是修改会员基本信息时检查,可以修改的,直接修改 + if (!empty($uid) && !empty($oldMem)) { + //会员操作的,如原来是审核未通过,改成未审核 + if ($utype == 'user') { + + if ($oldMem['status'] == '3') { + + $up['status'] = '0'; + } + } + + $this->upInfo(array('uid' => $uid), $up); + + $newMem = $this->select_once('member', array('uid' => $uid), '`uid`,`username`,`usertype`,`email`'); + //锁定会员需要发送邮件通知 + if (!empty($up['status']) && $up['status'] == 2 && $this->config['sy_email_lock'] == '1') { + + $emailData = array( + 'email' => $newMem['email'], + 'uid' => $newMem['uid'], + 'username' => $newMem['username'], + 'lock_info' => $up['lock_info'], + 'type' => 'lock' + ); + + require_once('notice.model.php'); + + $noticeM = new notice_model($this->db, $this->def); + + $noticeM->sendEmailType($emailData); + } + // 管理员操作的,如改变了用户审核状态,同步修改相关信息 + if ($utype == 'admin' && !empty($up['status'])) { + + + if ($newMem['usertype'] == 1) { + + $this->update_once('resume', array('status' => $up['status']), array('uid' => $uid)); + + } else if ($newMem['usertype'] == 2) { + + $this->update_once('company', array('r_status' => $up['status']), array('uid' => $uid)); + + } else if ($newMem['usertype'] == 3) { + + $this->update_once('lt_job', array('r_status' => $up['status']), array('uid' => $uid)); + + } elseif ($newMem['usertype'] == 4) { + + $this->update_once('px_subject', array('r_status' => $up['status']), array('uid' => $uid)); + $this->update_once('px_teacher', array('r_status' => $up['status']), array('uid' => $uid)); + $this->update_once('px_train_news', array('r_status' => $up['status']), array('uid' => $uid)); + } + } + + // 管理员操作,$up['moblie'], $up['email'],同步修改手机、邮箱 + if ($utype == 'admin') { + + if (!empty($up['moblie'])) { + $this->update_once('resume', array('telphone' => $up['moblie']), array('uid' => $uid)); $this->update_once('company', array('linktel' => $up['moblie']), array('uid' => $uid)); $this->update_once('lt_info', array('moblie' => $up['moblie']), array('uid' => $uid)); $this->update_once('px_train', array('linktel' => $up['moblie']), array('uid' => $uid)); - } - - if (!empty($up['email'])) { - + } + + if (!empty($up['email'])) { + $this->update_once('resume', array('email' => $up['email']), array('uid' => $uid)); $this->update_once('company', array('linkmail' => $up['email']), array('uid' => $uid)); $this->update_once('lt_info', array('email' => $up['email']), array('uid' => $uid)); $this->update_once('px_train', array('linkmail' => $up['email']), array('uid' => $uid)); } - } - } - } - + } + } + } + /** * 根据用户类型,直接查找用户信息 * @param array $whereData * @param array $data * @return array|bool|false|string|void */ - function getUserInfo($whereData = array(), $data = array('usertype' => null, 'field' => null)) - { - + function getUserInfo($whereData = array(), $data = array('usertype' => null, 'field' => null)) { + if (!empty($whereData)) { - - $tblist = array(1 => 'resume', 2 => 'company', 3 => 'lt_info', 4 => 'px_train', 5 => 'gq_info'); - $table = $tblist[$data['usertype']]; - $field = $data['field'] ? $data['field'] : '*'; + + $tblist = array(1 => 'resume', 2 => 'company', 3 => 'lt_info', 4 => 'px_train', 5 => 'gq_info'); + $table = $tblist[$data['usertype']]; + $field = $data['field'] ? $data['field'] : '*'; return $this->select_once($table, $whereData, $field); } } - /** - * 根据用户类型,直接批量查找用户信息 - * @param array $whereData - * @param array $data - */ - function getUserInfoList($whereData = array(),$data = array('usertype'=>null,'field'=>null)){ - - if (!empty($whereData)){ - - $tblist = array(1=>'resume',2=>'company',3=>'lt_info',4=>'px_train',5=>'gq_info'); - - $table = $tblist[$data['usertype']]; - - $field = $data['field'] ? $data['field'] : '*'; - - return $this -> select_all($table,$whereData,$field); - } - } - /** - * 根据用户类型,修改用户信息 - */ - function UpdateUserInfo($data=array('usertype'=>null,'post'=>null),$Where=array()){ - - $tblist = array(1=>'resume',2=>'company',3=>'lt_info',4=>'px_train'); - - $table = $tblist[$data['usertype']]; - - return $this->update_once($table,$data['post'],$Where); + + /** + * 根据用户类型,直接批量查找用户信息 + * @param array $whereData + * @param array $data + */ + function getUserInfoList($whereData = array(), $data = array('usertype' => null, 'field' => null)) { + + if (!empty($whereData)) { + + $tblist = array(1 => 'resume', 2 => 'company', 3 => 'lt_info', 4 => 'px_train', 5 => 'gq_info'); + + $table = $tblist[$data['usertype']]; + + $field = $data['field'] ? $data['field'] : '*'; + + return $this->select_all($table, $whereData, $field); + } } - /** + + /** + * 根据用户类型,修改用户信息 + */ + function UpdateUserInfo($data = array('usertype' => null, 'post' => null), $Where = array()) { + + $tblist = array(1 => 'resume', 2 => 'company', 3 => 'lt_info', 4 => 'px_train'); + + $table = $tblist[$data['usertype']]; + + return $this->update_once($table, $data['post'], $Where); + } + + /** * 获取不同类型用户姓名、企业名称、头像 */ - public function getUserList($whereData) { - - if($whereData){ - $memberList = $this -> select_all('member',$whereData,'`uid`,`usertype`'); - //按usertype将uid分组 - - $type = array(); - foreach ($memberList as $k => $v) { - if($v['usertype']){ - $type[$v['usertype']][] = $v['uid']; - } - } - $ResumeList = $ComList = $LtList = $TrainList = $GqList = array(); - if (!empty($type[1])){ - $ResumeList = $this -> select_all( + public function getUserList($whereData) { + + if ($whereData) { + $memberList = $this->select_all('member', $whereData, '`uid`,`usertype`'); + //按usertype将uid分组 + + $type = array(); + foreach ($memberList as $k => $v) { + if ($v['usertype']) { + $type[$v['usertype']][] = $v['uid']; + } + } + $ResumeList = $ComList = $LtList = $TrainList = $GqList = array(); + if (!empty($type[1])) { + $ResumeList = $this->select_all( 'resume', array( - 'uid'=>array('in',pylode(',',$type[1])) + 'uid' => array('in', pylode(',', $type[1])) ), '`uid`,`name`,`photo`' - ); + ); } - if (!empty($type[2])){ - $ComList = $this -> select_all( + if (!empty($type[2])) { + $ComList = $this->select_all( 'company', array( - 'uid'=>array('in',pylode(',',$type[2])) + 'uid' => array('in', pylode(',', $type[2])) ), '`uid`,`name`,`logo`' - ); + ); } - if (!empty($type['3'])){ - $LtList = $this -> select_all( + if (!empty($type['3'])) { + $LtList = $this->select_all( 'lt_info', array( - 'uid'=>array('in',pylode(',',$type[3])) + 'uid' => array('in', pylode(',', $type[3])) ), '`uid`,`realname` as name,`photo`' - ); + ); } - if (!empty($type[4])){ - $TrainList = $this -> select_all( + if (!empty($type[4])) { + $TrainList = $this->select_all( 'px_train', array( - 'uid'=>array('in',pylode(',',$type[4])) + 'uid' => array('in', pylode(',', $type[4])) ), '`uid`,`name`,`logo`' - ); + ); } - if (!empty($type[5])){ - $GqList = $this -> select_all( + if (!empty($type[5])) { + $GqList = $this->select_all( 'gq_info', array( - 'uid'=>array('in',pylode(',',$type[5])) + 'uid' => array('in', pylode(',', $type[5])) ), '`uid`,`name`,`photo`' - ); + ); } - foreach($ResumeList as $k=>$v){ - $ResumeList[$k]['pic'] = checkpic($v['photo'],$this->config['sy_friend_icon']); - - } - foreach($ComList as $k=>$v){ - $ComList[$k]['pic'] = checkpic($v['logo'],$this->config['sy_friend_icon']); - - } - foreach($LtList as $k=>$v){ - $LtList[$k]['pic'] = checkpic($v['photo'],$this->config['sy_friend_icon']); - - } - foreach($TrainList as $k=>$v){ - $TrainList[$k]['pic'] = checkpic($v['logo'],$this->config['sy_friend_icon']); - - } - foreach($GqList as $k=>$v){ - $GqList[$k]['pic'] = checkpic($v['photo'],$this->config['sy_friend_icon']); - - } - - $List = array_merge($ResumeList,$ComList,$LtList,$TrainList,$GqList); - return $List; - } + foreach ($ResumeList as $k => $v) { + $ResumeList[$k]['pic'] = checkpic($v['photo'], $this->config['sy_friend_icon']); + + } + foreach ($ComList as $k => $v) { + $ComList[$k]['pic'] = checkpic($v['logo'], $this->config['sy_friend_icon']); + + } + foreach ($LtList as $k => $v) { + $LtList[$k]['pic'] = checkpic($v['photo'], $this->config['sy_friend_icon']); + + } + foreach ($TrainList as $k => $v) { + $TrainList[$k]['pic'] = checkpic($v['logo'], $this->config['sy_friend_icon']); + + } + foreach ($GqList as $k => $v) { + $GqList[$k]['pic'] = checkpic($v['photo'], $this->config['sy_friend_icon']); + + } + + $List = array_merge($ResumeList, $ComList, $LtList, $TrainList, $GqList); + return $List; + } } + /** * 根据不同类型用户的搜索条件获取uid集合 - * $whereData[1]:resume表查询条件 - * $whereData[2]:company表查询条件 + * $whereData[1]:resume表查询条件 + * $whereData[2]:company表查询条件 * $whereData[3]:lt_info表查询条件 - * $whereData[4]:px_train表查询条件 + * $whereData[4]:px_train表查询条件 */ - public function getUidsByWhere($whereData=array()) { - - if($whereData){ - - - if(!empty($whereData[1])){ - $ResumeList = $this -> select_all('resume',$whereData[1],'`uid`'); - } - - if(!empty($whereData[2])){ - $ComList = $this -> select_all('company',$whereData[2],'`uid`'); - } - - if(!empty($whereData[3])){ - $LtList = $this -> select_all('lt_info',$whereData[3],'`uid`'); - } - - if(!empty($whereData[4])){ - $TrainList = $this -> select_all('px_train',$whereData[4],'`uid`'); - } - - $List = array_merge($ResumeList,$ComList,$LtList,$TrainList); - - $uids = array(); - - foreach ($List as $k => $v) { - $uids[] = $v['uid']; - } - - return $uids; - } - } - - /** - * 删除单个身份会员信息 - * @param string $uid 因有批量删除,故传入的$uid为字符串型 ;如 1 或 1,2,3 - * @param string $usertype - * @param string $delAccount - */ - public function delInfo($uid, $usertype, $delAccount = ''){ - - $utname = ''; - $return['layertype'] = 0; - - if (!empty($uid)){ - - if(is_array($uid)){ - - $uid = pylode(',', $uid); - $return['layertype'] = 1; - }else if(strpos($uid, ',')){ - - $return['layertype'] = 1; - } - - if($delAccount == '1'){ - - $nid = $this->delMember($uid); - - }else{ - if ($usertype == 1) { - - $utname = '个人'; - $nid = $this->delUser($uid); - }else if ($usertype == 2) { - - $utname = '企业'; - $nid = $this->delCom($uid); - }else if ($usertype == 3) { - - $utname = '猎头'; - $nid = $this->delLt($uid); - }else if ($usertype == 4) { - - $utname = '培训'; - $nid = $this->delTrain($uid); - } - } - - if ($nid){ - //删除个人企业猎头培训供求,如果删除的是当前身份,就会去除会员类型 - $member = $this -> select_all('member',array('uid'=>array('in', $uid),'usertype' => $usertype),'`uid`'); - if(is_array($member) && $member){ - - foreach($member as $v){ - - $mids[] = $v['uid']; - } - $this -> update_once('member',array('usertype'=>0),array('uid'=>array('in',pylode(',',$mids)))); - } - - $return['msg'] = $utname.'会员(ID:'.$uid.')删除成功'; - $return['errcode'] = '9'; - }else{ - - $return['msg'] = $utname.'会员(ID:'.$uid.')删除失败'; - $return['errcode'] = '8'; - } - }else{ - - $return['msg'] = '请选择您要删除的会员'; - $return['errcode'] = '8'; - } - - return $return; - } - /** - * 锁定用户(账户锁定和相关用户类型审核是否通过没有关系) - * @param array $whereData - * @param array $data - */ - public function lock($whereData = array('uid'=>null,'usertype'=>null),$data = array('post'=>null)){ - - $return = array(); - - if (!empty($whereData)){ - - $status = intval($data['post']['status']); - $lock_info = trim($data['post']['lock_info']); - - if ($status == 2 && $lock_info=='') { - - $return['msg'] = '请填写锁定原因'; - $return['errcode'] = '8'; - - }else{ - - $post = $data['post']; - $uid = $whereData['uid']; - - $member = $this->getInfo(array('uid' => $uid), array('field' => '`uid`,`username`,`email`,`moblie`')); - - if($status==1){ - $sd = '解除锁定'; - $lock_info = ''; - // 已注销的账号,不支持解除锁定 - $logout = $this->select_once('member_logout',array('uid'=>$uid,'status'=>1)); - if (!empty($logout)){ - - $return['msg'] = '会员(ID:'.$whereData['uid'].')账号已注销,无法解除锁定'; - $return['errcode'] = '8'; - return $return; - } - }else{ - $sd = '锁定'; - $lock_info = '。原因:'.$post['lock_info']; - } - $nid = $this -> upInfo(array('uid' => $uid), $post); - - if ($nid){ - - $this -> commonLock($whereData['uid'],array('r_status'=>$status), $post['lock_info']); - - // 锁定子账户 - $this -> update_once('member', $post, array('pid' => $uid)); - - //锁定会员需要发送邮件通知 - if ($post['status'] == 2){ - - if($this->config['sy_email_lock'] == '1'){ - - $emailData = array( - 'email' => $member['email'], - 'uid' => $member['uid'], - 'username' => $member['username'], - 'lock_info' => $post['lock_info'], - 'type' => 'lock' - ); - - require_once ('notice.model.php'); - - $noticeM = new notice_model($this->db, $this->def); - - $noticeM -> sendEmailType($emailData); - } - if($this->config['sy_msg_lock'] == '1'){ - $msgData = array( - 'moblie' => $member['moblie'], - 'uid' => $member['uid'], - 'username' => $member['username'], - 'lock_info' => $post['lock_info'], - 'type' => 'lock' - ); - require_once ('notice.model.php'); - - $noticeM = new notice_model($this->db, $this->def); - - $noticeM -> sendSMSType($msgData); - } - } - - $comcrm = $this->select_all('company',array('uid' => $uid),'`name`,`r_status`,`crm_uid`'); - - if(!empty($comcrm)){ - - require_once 'crm.model.php'; + public function getUidsByWhere($whereData = array()) { + + if ($whereData) { - $crmM = new crm_model($this->db, $this->def); - foreach ($comcrm as $k => $v) { - if($v['crm_uid']!='0'){ - $wxcontent = '您的客户 '.$v['name'].$this->comstatusStr[$v['r_status']]; - $crmM -> sendCrmWxMsg($v['crm_uid'],array('first'=>$wxcontent,'title'=>'','type'=>9)); - } - } + + if (!empty($whereData[1])) { + $ResumeList = $this->select_all('resume', $whereData[1], '`uid`'); + } + + if (!empty($whereData[2])) { + $ComList = $this->select_all('company', $whereData[2], '`uid`'); + } + + if (!empty($whereData[3])) { + $LtList = $this->select_all('lt_info', $whereData[3], '`uid`'); + } + + if (!empty($whereData[4])) { + $TrainList = $this->select_all('px_train', $whereData[4], '`uid`'); + } + + $List = array_merge($ResumeList, $ComList, $LtList, $TrainList); + + $uids = array(); + + foreach ($List as $k => $v) { + $uids[] = $v['uid']; + } + + return $uids; + } + } + + /** + * 删除单个身份会员信息 + * @param string $uid 因有批量删除,故传入的$uid为字符串型 ;如 1 或 1,2,3 + * @param string $usertype + * @param string $delAccount + */ + public function delInfo($uid, $usertype, $delAccount = '') { + + $utname = ''; + $return['layertype'] = 0; + + if (!empty($uid)) { + + if (is_array($uid)) { + + $uid = pylode(',', $uid); + $return['layertype'] = 1; + } else if (strpos($uid, ',')) { + + $return['layertype'] = 1; + } + + if ($delAccount == '1') { + + $nid = $this->delMember($uid); + + } else { + if ($usertype == 1) { + + $utname = '个人'; + $nid = $this->delUser($uid); + } else if ($usertype == 2) { + + $utname = '企业'; + $nid = $this->delCom($uid); + } else if ($usertype == 3) { + + $utname = '猎头'; + $nid = $this->delLt($uid); + } else if ($usertype == 4) { + + $utname = '培训'; + $nid = $this->delTrain($uid); + } + } + + if ($nid) { + //删除个人企业猎头培训供求,如果删除的是当前身份,就会去除会员类型 + $member = $this->select_all('member', array('uid' => array('in', $uid), 'usertype' => $usertype), '`uid`'); + if (is_array($member) && $member) { + + foreach ($member as $v) { + + $mids[] = $v['uid']; } - - $return['msg'] = '会员'.$sd.'设置成功(ID:'.$whereData['uid'].$lock_info.')'; - $return['errcode'] = '9'; - - }else{ - $return['msg'] = '会员'.$sd.'设置失败(ID:'.$whereData['uid'].')'; - $return['errcode'] = '8'; - } - } - }else{ - $return['msg'] = '请选择需要锁定的会员'; - $return['errcode'] = '8'; - } - return $return; - } - - private function commonLock($uid, $up, $lock_info = '') - { - $where = array('uid' => $uid); + $this->update_once('member', array('usertype' => 0), array('uid' => array('in', pylode(',', $mids)))); + } + + $return['msg'] = $utname . '会员(ID:' . $uid . ')删除成功'; + $return['errcode'] = '9'; + } else { + + $return['msg'] = $utname . '会员(ID:' . $uid . ')删除失败'; + $return['errcode'] = '8'; + } + } else { + + $return['msg'] = '请选择您要删除的会员'; + $return['errcode'] = '8'; + } + + return $return; + } + + /** + * 锁定用户(账户锁定和相关用户类型审核是否通过没有关系) + * @param array $whereData + * @param array $data + */ + public function lock($whereData = array('uid' => null, 'usertype' => null), $data = array('post' => null)) { + + $return = array(); + + if (!empty($whereData)) { + + $status = intval($data['post']['status']); + $lock_info = trim($data['post']['lock_info']); + + if ($status == 2 && $lock_info == '') { + + $return['msg'] = '请填写锁定原因'; + $return['errcode'] = '8'; + + } else { + + $post = $data['post']; + $uid = $whereData['uid']; + + $member = $this->getInfo(array('uid' => $uid), array('field' => '`uid`,`username`,`email`,`moblie`')); + + if ($status == 1) { + $sd = '解除锁定'; + $lock_info = ''; + // 已注销的账号,不支持解除锁定 + $logout = $this->select_once('member_logout', array('uid' => $uid, 'status' => 1)); + if (!empty($logout)) { + + $return['msg'] = '会员(ID:' . $whereData['uid'] . ')账号已注销,无法解除锁定'; + $return['errcode'] = '8'; + return $return; + } + } else { + $sd = '锁定'; + $lock_info = '。原因:' . $post['lock_info']; + } + $nid = $this->upInfo(array('uid' => $uid), $post); + + if ($nid) { + + $this->commonLock($whereData['uid'], array('r_status' => $status), $post['lock_info']); + + // 锁定子账户 + $this->update_once('member', $post, array('pid' => $uid)); + + //锁定会员需要发送邮件通知 + if ($post['status'] == 2) { + + if ($this->config['sy_email_lock'] == '1') { + + $emailData = array( + 'email' => $member['email'], + 'uid' => $member['uid'], + 'username' => $member['username'], + 'lock_info' => $post['lock_info'], + 'type' => 'lock' + ); + + require_once('notice.model.php'); + + $noticeM = new notice_model($this->db, $this->def); + + $noticeM->sendEmailType($emailData); + } + if ($this->config['sy_msg_lock'] == '1') { + $msgData = array( + 'moblie' => $member['moblie'], + 'uid' => $member['uid'], + 'username' => $member['username'], + 'lock_info' => $post['lock_info'], + 'type' => 'lock' + ); + require_once('notice.model.php'); + + $noticeM = new notice_model($this->db, $this->def); + + $noticeM->sendSMSType($msgData); + } + } + + $comcrm = $this->select_all('company', array('uid' => $uid), '`name`,`r_status`,`crm_uid`'); + + if (!empty($comcrm)) { + + require_once 'crm.model.php'; + + $crmM = new crm_model($this->db, $this->def); + foreach ($comcrm as $k => $v) { + if ($v['crm_uid'] != '0') { + $wxcontent = '您的客户 ' . $v['name'] . $this->comstatusStr[$v['r_status']]; + $crmM->sendCrmWxMsg($v['crm_uid'], array('first' => $wxcontent, 'title' => '', 'type' => 9)); + } + } + } + + $return['msg'] = '会员' . $sd . '设置成功(ID:' . $whereData['uid'] . $lock_info . ')'; + $return['errcode'] = '9'; + + } else { + $return['msg'] = '会员' . $sd . '设置失败(ID:' . $whereData['uid'] . ')'; + $return['errcode'] = '8'; + } + } + } else { + $return['msg'] = '请选择需要锁定的会员'; + $return['errcode'] = '8'; + } + return $return; + } + + private function commonLock($uid, $up, $lock_info = '') { + $where = array('uid' => $uid); include_once('resume.model.php'); - $resumeM = new resume_model($this->db, $this->def); + $resumeM = new resume_model($this->db, $this->def); - $this->update_once('resume', $up, $where); + $this->update_once('resume', $up, $where); $this->update_once('company', $up, $where); $this->update_once('lt_info', $up, $where); $this->update_once('px_train', $up, $where); - + $expectdata = $up; - if($up['r_status']!=1){ - $expectdata['state'] = 3; // 锁定账户 将简历状态改成未通过 - $expectdata['statusbody'] = $lock_info; + if ($up['r_status'] != 1) { + $expectdata['state'] = 3; // 锁定账户 将简历状态改成未通过 + $expectdata['statusbody'] = $lock_info; } - $resumeM->setExpectState($expectdata,$where); - + $resumeM->setExpectState($expectdata, $where); + $this->update_once('company_job', $up, $where); $this->update_once('partjob', $up, $where); $this->update_once('school_xjh', $up, $where); @@ -1109,40 +1108,39 @@ $this->update_once('px_train_news', $up, $where); $this->update_once('gq_info', $up, $where); $this->update_once('gq_task', $up, $where); - } - + } + /** * 会员审核(会员审核,被锁定的账号,无法修改审核状态) * @param array $whereData 参数格式 uid=>array('in', '1,2,3'); uid=>1 * @param array $data * @return mixed */ - public function status($whereData = array('uid'=>null,'usertype'=>null), $data = array('post'=>null)) - { + public function status($whereData = array('uid' => null, 'usertype' => null), $data = array('post' => null)) { if (!empty($whereData)) { - $post = $data['post']; - $usertype = intval($whereData['usertype']); - - $up = array('r_status' => $data['post']['status']); - $where = array( - 'uid' => $whereData['uid'], - 'r_status' => array('<>', 2) + $post = $data['post']; + $usertype = intval($whereData['usertype']); + + $up = array('r_status' => $data['post']['status']); + $where = array( + 'uid' => $whereData['uid'], + 'r_status' => array('<>', 2) ); // 处理审核提示和管理员日志需要的内容 - if ($up['r_status'] == 4){ + if ($up['r_status'] == 4) { $msg = '暂停'; - }elseif ($up['r_status'] == 3){ + } elseif ($up['r_status'] == 3) { $msg = '审核未通过'; - }elseif ($up['r_status'] == 0){ + } elseif ($up['r_status'] == 0) { $msg = '未审核'; - }elseif ($up['r_status'] == 1){ + } elseif ($up['r_status'] == 1) { $msg = '审核通过'; } - $lock_info = !empty($post['lock_info']) ? '。原因:'.$post['lock_info'] : ''; + $lock_info = !empty($post['lock_info']) ? '。原因:' . $post['lock_info'] : ''; // 保存审核信息 - if (isset($post['lock_info'])){ - $this->update_once('member',array('lock_info'=>$post['lock_info']),array('uid'=>$whereData['uid'])); + if (isset($post['lock_info'])) { + $this->update_once('member', array('lock_info' => $post['lock_info']), array('uid' => $whereData['uid'])); } $isSendMsg = true; /** @@ -1151,88 +1149,88 @@ if ($usertype == 1) { $identity = '个人'; - $nid = $this->update_once('resume', $up, $where); - + $nid = $this->update_once('resume', $up, $where); + include_once('resume.model.php'); - $resumeM = new resume_model($this->db, $this->def); - + $resumeM = new resume_model($this->db, $this->def); + $expectdata = $up; - if($up['r_status']!=1){ - $expectdata['state'] = 0; - } - - $resumeM->setExpectState($expectdata,$where); + if ($up['r_status'] != 1) { + $expectdata['state'] = 0; + } + + $resumeM->setExpectState($expectdata, $where); } else if ($usertype == 2) { $where['r_status'] = array(); $where['r_status'][] = array('<>', 2); $comup = $up; - if($data['post']['status']==4){ + if ($data['post']['status'] == 4) { $comup['zt_time'] = time(); - }else if($post['setup']!='1'){ - $where['r_status'][] = array('<>', 4); + } else if ($post['setup'] != '1') { + $where['r_status'][] = array('<>', 4); } - if ($comup['r_status'] == 1){ + if ($comup['r_status'] == 1) { // 企业审核通过,同步把logo审核状态设为通过 $comup['logo_status'] = 0; } - if($post['setup']=='1'){ - $isSendMsg = false; + if ($post['setup'] == '1') { + $isSendMsg = false; } - + $identity = '企业'; - $nid = $this->update_once('company', $comup, $where); + $nid = $this->update_once('company', $comup, $where); $this->update_once('partjob', $up, $where); $this->update_once('company_job', $up, $where); $this->update_once('school_xjh', $up, $where); - $this->update_once('lt_job', $up, array( 'uid' => $whereData['uid'], 'usertype' => 2)); + $this->update_once('lt_job', $up, array('uid' => $whereData['uid'], 'usertype' => 2)); - $comcrm = $this->select_all('company',$where,'`name`,`r_status`,`crm_uid`'); + $comcrm = $this->select_all('company', $where, '`name`,`r_status`,`crm_uid`'); - if(is_array($comcrm)){ + if (is_array($comcrm)) { require_once 'crm.model.php'; - $crmM = new crm_model($this->db, $this->def); + $crmM = new crm_model($this->db, $this->def); foreach ($comcrm as $k => $v) { - if($v['crm_uid']!='0'){ - $wxcontent = '您的客户 '.$v['name'].$this->comstatusStr[$v['r_status']]; - $crmM -> sendCrmWxMsg($v['crm_uid'],array('first'=>$wxcontent,'title'=>'','type'=>9)); + if ($v['crm_uid'] != '0') { + $wxcontent = '您的客户 ' . $v['name'] . $this->comstatusStr[$v['r_status']]; + $crmM->sendCrmWxMsg($v['crm_uid'], array('first' => $wxcontent, 'title' => '', 'type' => 9)); } } } } else if ($usertype == 3) { $identity = '猎头'; - $nid = $this->update_once('lt_info', $up, $where); - $this->update_once('lt_job', $up, array('uid' => $whereData['uid'], 'usertype' => 3 )); + $nid = $this->update_once('lt_info', $up, $where); + $this->update_once('lt_job', $up, array('uid' => $whereData['uid'], 'usertype' => 3)); } else if ($usertype == 4) { $identity = '培训'; - $nid = $this->update_once('px_train', $up, $where); + $nid = $this->update_once('px_train', $up, $where); $this->update_once('px_teacher', $up, $where); $this->update_once('px_subject', $up, $where); $this->update_once('px_train_news', $up, $where); } if ($nid) { - if($isSendMsg){ - // 会员审核发送通知 - $stData = array( - 'status' => $post['status'], - 'statusbody'=> $post['lock_info'], - 'usertype' => $usertype - ); - } + if ($isSendMsg) { + // 会员审核发送通知 + $stData = array( + 'status' => $post['status'], + 'statusbody' => $post['lock_info'], + 'usertype' => $usertype + ); + } $this->sendStatus($whereData['uid'], $stData); //$this->update_once('member',array('status'=>$post['status']),array('uid'=>$whereData['uid'])); - $return['msg'] = $identity.'会员'.$msg.'设置成功(ID:' . $whereData['uid']['1'].$lock_info. ')'; + $return['msg'] = $identity . '会员' . $msg . '设置成功(ID:' . $whereData['uid']['1'] . $lock_info . ')'; $return['errcode'] = '9'; } else { - $return['msg'] = $identity.'会员'.$msg.'设置失败(ID:' . $whereData['uid']['1'] . ')'; + $return['msg'] = $identity . '会员' . $msg . '设置失败(ID:' . $whereData['uid']['1'] . ')'; $return['errcode'] = '8'; } } else { @@ -1241,1840 +1239,1827 @@ } return $return; } - /** - * 会员审核发送通知 - * @param $uid 参数格式:uid = array('in', '1,2,3'); uid = 1; - * @param array $post - */ - private function sendStatus($uid,$post=array()){ - //审核通过和审核未通过才提醒,并且要先判断审核提醒是否开启通知 + + /** + * 会员审核发送通知 + * @param $uid 参数格式:uid = array('in', '1,2,3'); uid = 1; + * @param array $post + */ + private function sendStatus($uid, $post = array()) { + //审核通过和审核未通过才提醒,并且要先判断审核提醒是否开启通知 - $msgtx = $this -> config['sy_msg_userstatus']; - $emailtx = $this -> config['sy_email_userstatus']; - - if ($post['status'] == 1 || $post['status'] == 3){ - - $members = $this -> getList(array('uid'=>$uid,'status'=>1),array('field'=>'uid,username,email,moblie')); - - if ($members){ - - $date = date('Y-m-d H:i:s'); - $statusInfo = ''; - //处理审核信息 - if($post['status'] == 1){ - - $statusInfo = '审核通过!'; - - }elseif($post['status'] == 3){ - - $statusInfo = '审核未通过,'; - - if($post['statusbody']){ - - $statusInfo .= '原因:'.$post['statusbody']; - - } - } - - if ($msgtx == '1' || $emailtx == '1'){ - $tplData = array( - 'auto_statis' => $statusInfo, - 'date' => $date, - 'type' => 'userstatus' - ); - - //因发送内容相同,可以先提取发送内容,然后再批量发送,可以减少循环查询次数 - require_once('notice.model.php'); - - $noticeM = new notice_model($this->db, $this->def); - //获取短息通知内容 - $msgTpl = $noticeM -> getTpl($tplData,'msg'); - //获取邮件通知内容 - $emailTpl = $noticeM -> getTpl($tplData,'email'); - } - - $uids = array(); - - foreach ($members as $k=>$v){ - - $uids[] = $v['uid']; - //批量发送短信 - if ($v['moblie'] && $msgtx == '1'){ - - $mdata = array( - 'uid' => $v['uid'], - 'cuid' => 0, - 'moblie' => $v['moblie'], - 'type' => 'userstatus', - 'port' => '5' - ); - $noticeM -> sendSMSType($mdata,$msgTpl['content']); - } - //批量发送邮件 - if ($v['email'] && $emailtx == '1'){ - - $edata = array( - 'uid' => $v['uid'], - 'cuid' => 0, - 'email' => $v['email'], - 'type' => 'userstatus' - ); - $noticeM -> sendEmailType($edata,$emailTpl); - } - } - //发送系统通知 - include_once('sysmsg.model.php'); - - $sysmsgM = new sysmsg_model($this->db, $this->def); - - $statusInfo = '您的账号'.$statusInfo; - $sysmsgM -> addInfo(array('uid'=>$uids,'content'=>$statusInfo,'usertype' => $post['usertype'])); - } - } - } - //后台个人会员列表处理数据 - private function getDataList($List){ - - foreach($List as $v){ - if($v['uid']){ - if($v['usertype']=='1'){ - $useruids[] = $v['uid']; - } - if($v['usertype']=='2'){ - if($v['pid']){ - $comuids[] = $v['pid']; - }else{ - $comuids[] = $v['uid']; - } - - } - if($v['usertype']=='3'){ - $ltuids[] = $v['uid']; - } - if($v['usertype']=='4'){ - $pxuids[] = $v['uid']; - } - } - - } - - - $countname = array(); - if(!empty($useruids)){ - $resumes = $this -> select_all('resume',array('uid'=>array('in',pylode(',', $useruids))),'`uid`,`name`,`def_job`'); - foreach($resumes as $rk=>$rv){ - $countname[$rv['uid']] = $rv['name']; - } - } - if(!empty($comuids)){ - $coms = $this -> select_all('company',array('uid'=>array('in',pylode(',', $comuids))),'`uid`,`name`'); - foreach($coms as $ck=>$cv){ - - $countname[$cv['uid']] = $cv['name']; - } - } - - if(!empty($ltuids)){ - $lts = $this -> select_all('lt_info',array('uid'=>array('in',pylode(',', $ltuids))),'`uid`,`com_name`'); - - foreach($lts as $lk=>$lv){ - $countname[$lv['uid']] = $lv['com_name']; - } - } - if(!empty($pxuids)){ - $pxs = $this -> select_all('px_train',array('uid'=>array('in',pylode(',', $pxuids))),'`uid`,`name`'); - foreach($pxs as $pk=>$pv){ - $countname[$pv['uid']] = $pv['name']; - } - } - - foreach($List as $k=>$v){ - if(!empty($resumes)){ - foreach($resumes as $val){ - - if($val['uid']==$v['uid']){ - - $List[$k]['name'] = $val['name']; - $List[$k]['def_job'] = $val['def_job']; - } - } - } - if(!empty($countname)){ - if($v['usertype']==2 && $v['pid']){ - $uid = $v['pid']; - }else{ - $uid = $v['uid']; - } - $List[$k]['countname'] = $countname[$uid]; - } - - } - - return $List; - } - /** - * @desc 生成password(包括原密码验证) - * - * @param array $pwdData (password:明密 salt:加密随机字符) - * - */ - public function generatePwd($pwdData){ - - $pwdRes = array(); - - if(empty($pwdData['password'])){ - - return $pwdRes; - - } - - if (empty($pwdData['salt'])) { - - $salt = substr(uniqid(rand()), -6); - - }else{ - - $salt = $pwdData['salt']; - - } - - $pass = passCheck($pwdData['password'],$salt); - - $pwdRes['pwd'] = $pass; - - $pwdRes['salt'] = $salt; - - return $pwdRes; - } - /** - * 删除个人会员 - */ - private function delUser($uid){ - - if (!empty($uid)){ - - - - $return = $this -> delete_all('resume',array('uid'=>array('in',$uid)),''); - - if ($return){ - - $this -> delete_all('answer',array('uid'=>array('in',$uid),'usertype'=>1),''); - - $this -> delete_all('answer_review',array('uid'=>array('in',$uid),'usertype'=>1),''); - - $this -> delete_all('atn',array('uid'=>array('in',$uid),'sc_uid'=>array('in',$uid,'OR')),''); - - $this -> delete_all('attention',array('uid'=>array('in',$uid)),''); - - $this -> delete_all('blacklist',array('p_uid'=>array('in',$uid)),''); - - $this -> delete_all('change',array('uid'=>array('in',$uid),'usertype'=>1),''); - - $this -> delete_all('chat_cs_log',array('uid'=>array('in',$uid),'usertype'=>1),''); - - $this -> delete_all('chat_cs_pick',array('uid'=>array('in',$uid),'usertype'=>1),''); - - $this -> delete_all('chat_friend',array('uid'=>array('in',$uid),'usertype'=>1),''); - - $this -> delete_all('chat_friend',array('fid'=>array('in',$uid),'fusertype'=>1),''); - - $this -> delete_all('chat_log',array('from'=>array('in',$uid),'fusertype'=>1),''); - - $this -> delete_all('chat_log',array('to'=>array('in',$uid),'tusertype'=>1),''); - - $this -> delete_all('chat_member',array('uid'=>array('in',$uid),'usertype'=>1),''); - - $this -> delete_all('chat_right',array('uid'=>array('in',$uid)),''); - - $this -> delete_all('company_job_rewardlist',array('uid'=>array('in',$uid)),''); - - $this -> delete_all('company_job_rewardlog',array('uid'=>array('in',$uid)),''); - - $this -> delete_all('company_job_sharelog',array('uid'=>array('in',$uid)), ''); - - $this -> delete_all('company_msg',array('uid'=>array('in',$uid)),''); - - $this -> delete_all('company_order',array('uid'=>array('in',$uid),'usertype'=>1), ''); - - $this -> delete_all('company_pay',array('com_id'=>array('in',$uid),'usertype'=>1),''); - - $this -> delete_all('concheck_log',array('uid'=>array('in',$uid),'usertype'=>1),''); - - $this -> delete_all('coupon_list',array('uid'=>array('in',$uid)),''); - - $this -> delete_all('down_resume',array('uid'=>array('in',$uid)),''); - - $this -> delete_all('evaluate_log',array('uid'=>array('in',$uid)),''); - - $this -> delete_all('fav_job',array('uid'=>array('in',$uid)),''); - - $this -> delete_all('job_tellog', array('uid' => array('in',$uid)), ''); - - $this -> delete_all('login_log',array('uid'=>array('in',$uid),'usertype'=>1),''); - - $this -> delete_all('look_job',array('uid'=>array('in',$uid)),''); - - $this -> delete_all('look_resume',array('uid'=>array('in',$uid)),''); - - $this -> delete_all('member_log',array('uid'=>array('in',$uid),'usertype'=>1),''); - - $this -> delete_all('member_statis',array('uid'=>array('in',$uid)),''); - - $this -> delete_all('msg',array('uid'=>array('in',$uid))); - - $this -> delete_all('part_apply',array('uid'=>array('in',$uid)),''); - - $this -> delete_all('part_collect',array('uid'=>array('in',$uid)),''); - - $this -> delete_all('px_subject_collect',array('uid'=>array('in',$uid)),''); - - $this -> delete_all('px_zixun',array('uid'=>array('in',$uid)),''); - - $this -> delete_all('question',array('uid'=>array('in',$uid)),''); - - $this -> delete_all('rebates',array('uid'=>array('in',$uid)),''); - - $this -> delete_all('report',array('p_uid'=>array('in',$uid),'c_uid'=>array('in',$uid,'OR')),''); - - $this -> delete_all('resume_expect',array('uid'=>array('in',$uid)),''); - - $this -> delete_all('resume_city_job_class',array('uid'=>array('in',$uid)),''); - - $this -> delete_all('resume_cityclass',array('uid'=>array('in',$uid)),''); - - $this -> delete_all('resume_doc',array('uid'=>array('in',$uid)),''); - - $this -> delete_all('resume_edu',array('uid'=>array('in',$uid)),''); - - $this -> delete_all('resume_jobclass',array('uid'=>array('in',$uid)),''); - - $this -> delete_all('resume_other',array('uid'=>array('in',$uid)),''); - - $this -> delete_all('resume_project',array('uid'=>array('in',$uid)),''); - - $this -> delete_all('resume_show',array('uid'=>array('in',$uid)),''); - - $this -> delete_all('resume_skill',array('uid'=>array('in',$uid)),''); - - $this -> delete_all('resume_trainging',array('uid'=>array('in',$uid)),''); - - $this -> delete_all('resume_work',array('uid'=>array('in',$uid)),''); - - $this -> delete_all('spview_log',array('uid'=>array('in',$uid)),''); - - $this -> delete_all('spview_subscribe',array('uid'=>array('in',$uid)),''); - - $this -> delete_all('spview_subscribe_msg',array('uid'=>array('in',$uid)),''); - - $this -> delete_all('subscribe',array('uid'=>array('in',$uid)),''); - - $this -> delete_all('subscriberecord',array('uid'=>array('in',$uid)),''); - - $this -> delete_all('talent_pool',array('uid'=>array('in',$uid)),''); - - $this -> delete_all('user_entrust',array('uid'=>array('in',$uid)),''); - - $this -> delete_all('user_entrust_record',array('uid'=>array('in',$uid)),''); - - $this -> delete_all('user_resume',array('uid'=>array('in',$uid)),''); - - $this -> delete_all('userid_job',array('uid'=>array('in',$uid)),''); - - $this -> delete_all('userid_msg',array('uid'=>array('in',$uid)),''); - - $this -> delete_all('xjhlive_black',array('uid'=>array('in',$uid),'usertype'=>1),''); - - $this -> delete_all('xjhlive_chat',array('fuid'=>array('in',$uid),'fusertype'=>1),''); - - $this -> delete_all('xjhlive_yy',array('uid'=>array('in',$uid)),''); - - $this -> delete_all('xjhlive_yy_msg',array('uid'=>array('in',$uid)),''); - - $this -> delete_all('zphnet_look',array('uid'=>array('in',$uid),'usertype'=>1),''); - - $this -> delete_all('zphnet_user',array('uid'=>array('in',$uid),'usertype'=>1),''); - } - - return $return; - } - } - - /** - * 删除企业会员 - */ - private function delCom($uid){ - if (!empty($uid)){ - - $return = $this -> delete_all('company',array('uid'=>array('in',$uid)), ''); - - if ($return){ - - $this -> delete_all('answer',array('uid'=>array('in',$uid),'usertype'=>2), ''); - - $this -> delete_all('answer_review',array('uid'=>array('in',$uid),'usertype'=>2), ''); - - $this -> delete_all('ad_order',array('comid'=>array('in',$uid)), ''); - - $this -> delete_all('atn',array('uid'=>array('in',$uid),'sc_uid'=>array('in',$uid,'OR')), ''); - - $this -> delete_all('attention',array('uid'=>array('in',$uid)), ''); - - $this -> delete_all('banner',array('uid'=>array('in',$uid)), ''); - - $this -> delete_all('blacklist',array('c_uid'=>array('in',$uid)), ''); - - $this -> delete_all('change',array('uid'=>array('in',$uid),'usertype'=>2),''); - - $this -> delete_all('chat_cs_log',array('uid'=>array('in',$uid),'usertype'=>2),''); - - $this -> delete_all('chat_cs_pick',array('uid'=>array('in',$uid),'usertype'=>2),''); - - $this -> delete_all('chat_friend',array('uid'=>array('in',$uid),'usertype'=>2), ''); - - $this -> delete_all('chat_friend',array('fid'=>array('in',$uid),'fusertype'=>2), ''); - - $this -> delete_all('chat_log',array('from'=>array('in',$uid),'fusertype'=>2), ''); - - $this -> delete_all('chat_log',array('to'=>array('in',$uid),'tusertype'=>2), ''); - - $this -> delete_all('chat_member',array('uid'=>array('in',$uid),'usertype'=>2), ''); - - $this -> delete_all('chat_right',array('comid'=>array('in',$uid)), ''); - - $this -> delete_all('company_account',array('comid'=>array('in',$uid)), ''); - - $this -> delete_all('company_job',array('uid'=>array('in',$uid)), ''); - - $this -> delete_all('company_job_link',array('uid'=>array('in',$uid)), ''); - - $this -> delete_all('company_job_reward',array('uid'=>array('in',$uid)),''); - - $this -> delete_all('company_job_rewardlist',array('comid'=>array('in',$uid)),''); - - $this -> delete_all('company_job_rewardlog',array('comid'=>array('in',$uid)),''); - - $this -> delete_all('company_job_share',array('comid'=>array('in',$uid)), ''); - - $this -> delete_all('company_job_sharelog',array('uid'=>array('in',$uid)), ''); - - $this -> delete_all('company_job_sharelog',array('comid'=>array('in',$uid)), ''); - - $this -> delete_all('company_cert',array('uid'=>array('in',$uid),'usertype'=>2), ''); - - $this -> delete_all('company_news',array('uid'=>array('in',$uid)), ''); - - $this -> delete_all('company_order',array('uid'=>array('in',$uid),'usertype'=>2), ''); - - $this -> delete_all('company_pay',array('com_id'=>array('in',$uid),'usertype'=>2), ''); - - $this -> delete_all('company_product',array('uid'=>array('in',$uid)), ''); - - $this -> delete_all('company_show',array('uid'=>array('in',$uid)), ''); - - $this -> delete_all('company_statis',array('uid'=>array('in',$uid)), ''); - - $this -> delete_all('company_msg',array('cuid'=>array('in',$uid)), ''); - - $this -> delete_all('concheck_log',array('uid'=>array('in',$uid),'usertype'=>1),''); - - $this -> delete_all('coupon_list',array('uid'=>array('in',$uid)), ''); - - $this -> delete_all('down_resume',array('comid'=>array('in',$uid),'usertype'=>2), ''); - - $this -> delete_all('email_msg',array('uid'=>array('in',$uid),'cuid'=>array('in',$uid,'OR')), ''); - - $this -> delete_all('evaluate_log',array('uid'=>array('in',$uid)), ''); - - $this -> delete_all('fav_job',array('com_id'=>array('in',$uid)), ''); - - $this -> delete_all('friend_help',array('comid'=>array('in',$uid)), ''); - - $this -> delete_all('friend_help_log',array('comid'=>array('in',$uid)), ''); - - $this -> delete_all('hotjob',array('uid'=>array('in',$uid)), ''); - - $this -> delete_all('invoice_record',array('uid'=>array('in',$uid)), ''); - - $this -> delete_all('job_tellog', array('comid' => array('in',$uid)), ''); - - $this -> delete_all('login_log',array('uid'=>array('in',$uid),'usertype'=>2), ''); - - $this -> delete_all('look_job',array('com_id'=>array('in',$uid)), ''); - - $this -> delete_all('look_resume',array('com_id'=>array('in',$uid),'usertype'=>2), ''); - - $this -> delete_all('lt_job',array('uid'=>array('in',$uid)), ''); - - $this -> delete_all('member_log',array('uid'=>array('in',$uid),'usertype'=>2), ''); - - $this -> delete_all('msg',array('job_uid'=>array('in',$uid)), ''); - - $this -> delete_all('partjob',array('uid'=>array('in',$uid)), ''); - - $this -> delete_all('part_apply',array('comid'=>array('in',$uid)), ''); - - $this -> delete_all('part_collect',array('comid'=>array('in',$uid)), ''); - - $this -> delete_all('px_subject_collect',array('uid'=>array('in',$uid)), ''); - - $this -> delete_all('px_zixun',array('uid'=>array('in',$uid)), ''); - - $this -> delete_all('question',array('uid'=>array('in',$uid)), ''); - - $this -> delete_all('rebates',array('job_uid'=>array('in',$uid),'uid'=>array('in',$uid,'OR')), ''); - - $this -> delete_all('report',array('p_uid'=>array('in',$uid),'c_uid'=>array('in',$uid,'OR')), ''); - - $this -> delete_all('school_xjh',array('uid'=>array('in',$uid)), ''); - - $this -> delete_all('special_com',array('uid'=>array('in',$uid)), ''); - - $this -> delete_all('spview',array('uid'=>array('in',$uid)), ''); - - $this -> delete_all('spview_log',array('comid'=>array('in',$uid)), ''); - - $this -> delete_all('spview_subscribe',array('comid'=>array('in',$uid)), ''); - - $this -> delete_all('spview_subscribe_msg',array('comid'=>array('in',$uid)), ''); - - $this -> delete_all('subscribe',array('uid'=>array('in',$uid)), ''); - - $this -> delete_all('subscriberecord',array('uid'=>array('in',$uid)), ''); - - $this -> delete_all('talent_pool',array('cuid'=>array('in',$uid)), ''); - - $this -> delete_all('user_entrust_record',array('comid'=>array('in',$uid)), ''); - - $this -> delete_all('userid_job',array('com_id'=>array('in',$uid)), ''); - - $this -> delete_all('userid_msg',array('fid'=>array('in',$uid)), ''); - - $this -> delete_all('zhaopinhui_com',array('uid'=>array('in',$uid)), ''); - - $this -> delete_all('zphnet_com',array('uid'=>array('in',$uid)), ''); - - $this -> delete_all('zphnet_look',array('uid'=>array('in',$uid), 'usertype'=>2), ''); - - $this -> delete_all('zphnet_user',array('uid'=>array('in',$uid), 'usertype'=>2), ''); - - $this -> delete_all('crmnew_concern',array('uid'=>array('in',$uid)), ''); - - $this -> delete_all('crm_comlog',array('uid'=>array('in',$uid)), ''); - - $this -> delete_all('crm_out',array('uid'=>array('in',$uid)), ''); - - $this -> delete_all('crm_work_plan',array('comid'=>array('in',$uid)), ''); - - $this -> delete_all('xjhlive_black',array('uid'=>array('in',$uid),'usertype'=>2), ''); - - $this -> delete_all('xjhlive_chat',array('fuid'=>array('in',$uid),'fusertype'=>2), ''); - - $this -> delete_all('xjhlive_com',array('uid'=>array('in',$uid)), ''); - - $this -> delete_all('yqmb',array('uid'=>array('in',$uid)), ''); - - } - return $return; - } - } - /** - * 删除猎头会员 - */ - private function delLt($uid){ - - if (!empty($uid)){ - - - $return = $this -> delete_all('lt_info',array('uid'=>array('in',$uid)), ''); - - if ($return){ - - $this -> delete_all('answer', array('uid' => array('in', $uid),'usertype'=>3), ''); - - $this -> delete_all('answer_review', array('uid' => array('in', $uid),'usertype'=>3), ''); - - $this -> delete_all('atn',array('uid'=>array('in',$uid),'sc_uid'=>array('in',$uid,'OR')), ''); - - $this -> delete_all('attention', array('uid' => array('in', $uid)), ''); - - $this -> delete_all('change',array('uid'=>array('in',$uid),'usertype'=>1),''); - - $this -> delete_all('chat_cs_log',array('uid'=>array('in',$uid),'usertype'=>3),''); - - $this -> delete_all('chat_cs_pick',array('uid'=>array('in',$uid),'usertype'=>3),''); - - $this -> delete_all('chat_friend',array('uid'=>array('in',$uid),'usertype'=>3), ''); - - $this -> delete_all('chat_friend',array('fid'=>array('in',$uid),'fusertype'=>3), ''); - - $this -> delete_all('chat_log',array('from'=>array('in',$uid),'fusertype'=>3), ''); - - $this -> delete_all('chat_log',array('to'=>array('in',$uid),'tusertype'=>3), ''); - - $this -> delete_all('chat_member',array('uid'=>array('in',$uid),'usertype'=>3), ''); - - $this -> delete_all('chat_right',array('comid'=>array('in',$uid)), ''); - - $this -> delete_all('company_cert', array('uid' => array('in', $uid),'usertype'=>3), ''); - - $this -> delete_all('company_job_reward',array('uid'=>array('in',$uid)),''); - - $this -> delete_all('company_job_rewardlist',array('comid'=>array('in',$uid)),''); - - $this -> delete_all('company_job_rewardlog',array('comid'=>array('in',$uid)),''); - - $this -> delete_all('company_job_share',array('comid'=>array('in',$uid)), ''); - - $this -> delete_all('company_job_sharelog',array('comid'=>array('in',$uid)), ''); - - $this -> delete_all('company_order', array('uid' => array('in', $uid),'usertype'=>3), ''); - - $this -> delete_all('company_pay', array('com_id' => array('in', $uid),'usertype'=>3), ''); - - $this -> delete_all('coupon_list',array('uid'=>array('in',$uid)), ''); - - $this -> delete_all('down_resume', array('comid' => array('in', $uid),'usertype'=>3), ''); - - $this -> delete_all('email_msg',array('uid'=>array('in',$uid),'cuid'=>array('in',$uid,'OR')), ''); - - $this -> delete_all('evaluate_log',array('uid'=>array('in',$uid)), ''); - - $this -> delete_all('fav_job',array('uid'=>array('in',$uid),'com_uid'=>array('in',$uid,'OR')), ''); - - $this -> delete_all('login_log', array('uid' => array('in', $uid),'usertype'=>3), ''); - - $this -> delete_all('lt_job', array('uid' => array('in', $uid)), ''); - - $this -> delete_all('lt_statis', array('uid' => array('in', $uid)), ''); - - $this -> delete_all('member_log',array('uid'=>array('in',$uid),'usertype'=>3), ''); - - $this -> delete_all('msg', array('job_uid' => array('in', $uid)), ''); - - $this -> delete_all('px_subject_collect', array('uid' => array('in', $uid)), ''); - - $this -> delete_all('px_zixun', array('uid' => array('in', $uid)), ''); - - $this -> delete_all('question', array('uid' => array('in', $uid)), ''); - - $this -> delete_all('rebates',array('uid'=>array('in',$uid),'job_uid'=>array('in',$uid,'OR')), ''); - - $this -> delete_all('xjhlive_black',array('uid'=>array('in',$uid),'usertype'=>3), ''); - - $this -> delete_all('xjhlive_chat',array('fuid'=>array('in',$uid),'fusertype'=>3), ''); - - $this -> delete_all('userid_job', array('comid' => array('in', $uid),'type'=>3), ''); - - } - return $return; - } - } - /** - * 删除培训会员 - */ - private function delTrain($uid){ - - if (!empty($uid)){ - - - $return = $this -> delete_all('px_train',array('uid'=>array('in',$uid)), ''); - - if ($return){ - - $this -> delete_all('answer', array('uid' => array('in', $uid),'usertype'=>4), ''); - - $this -> delete_all('answer_review', array('uid' => array('in', $uid),'usertype'=>4), ''); - - $this -> delete_all('atn',array('uid'=>array('in',$uid),'sc_uid'=>array('in',$uid,'OR')), ''); - - $this -> delete_all('attention', array('uid' => array('in', $uid)), ''); - - $this -> delete_all('change',array('uid'=>array('in',$uid),'usertype'=>1),''); - - $this -> delete_all('chat_cs_log',array('uid'=>array('in',$uid),'usertype'=>4),''); - - $this -> delete_all('chat_cs_pick',array('uid'=>array('in',$uid),'usertype'=>4),''); - - $this -> delete_all('company_cert', array('uid' => array('in', $uid),'usertype'=>4), ''); - - $this -> delete_all('company_order', array('uid' => array('in', $uid), 'usertype' => 4), ''); - - $this -> delete_all('company_pay', array('com_id' => array('in', $uid),'usertype'=>4), ''); - - $this -> delete_all('email_msg',array('uid'=>array('in',$uid),'cuid'=>array('in',$uid,'OR')), ''); - - $this -> delete_all('evaluate_log',array('uid'=>array('in',$uid)), ''); - - $this -> delete_all('login_log', array('uid' => array('in', $uid),'usertype'=>4), ''); - - $this -> delete_all('member_log',array('uid'=>array('in',$uid),'usertype'=>4), ''); - - $this -> delete_all('msg', array('job_uid' => array('in', $uid)), ''); - - $this -> delete_all('px_banner', array('uid' => array('in', $uid)), ''); - - $this -> delete_all('px_baoming', array('s_uid' => array('in', $uid)), ''); - - $this -> delete_all('px_subject', array('uid' => array('in', $uid)), ''); - - $this -> delete_all('px_subject_collect', array('s_uid' => array('in', $uid)), ''); - - $this -> delete_all('px_teacher', array('uid' => array('in', $uid)), ''); - - $this -> delete_all('px_train_news', array('uid' => array('in', $uid)), ''); - - $this -> delete_all('px_train_show', array('uid' => array('in', $uid)), ''); - - $this -> delete_all('px_train_statis', array('uid' => array('in', $uid)), ''); - - $this -> delete_all('px_zixun', array('s_uid' => array('in', $uid)), ''); - - } - return $return; - } - } - - function delgq($uid){ - - if (!empty($uid)){ - - - - $return = $this -> delete_all('gq_info',array('uid'=>array('in',$uid)), ''); - - if ($return){ - - $this -> delete_all('company_order', array('uid' => array('in', $uid), 'usertype' => 5), ''); - - $this -> delete_all('evaluate_log',array('uid'=>array('in',$uid)), ''); - - $this -> delete_all('gq_task', array('uid' => array('in', $uid)), ''); - - $this -> delete_all('gq_browse', array('uid' => array('in', $uid)), ''); - - $this -> delete_all('login_log', array('uid' => array('in', $uid),'usertype'=>5), ''); - - $this -> delete_all('member_log',array('uid'=>array('in',$uid),'usertype'=>5), ''); - - } - } - return $return; - } - /** - * @desc 修改用户名 - * @param array $data - */ - function saveUserName($data = array()) { + $msgtx = $this->config['sy_msg_userstatus']; + $emailtx = $this->config['sy_email_userstatus']; - $value = array('username' => trim($data['username'])); + if ($post['status'] == 1 || $post['status'] == 3) { + + $members = $this->getList(array('uid' => $uid, 'status' => 1), array('field' => 'uid,username,email,moblie')); + + if ($members) { + + $date = date('Y-m-d H:i:s'); + $statusInfo = ''; + //处理审核信息 + if ($post['status'] == 1) { + + $statusInfo = '审核通过!'; + + } elseif ($post['status'] == 3) { + + $statusInfo = '审核未通过,'; + + if ($post['statusbody']) { + + $statusInfo .= '原因:' . $post['statusbody']; + + } + } + + if ($msgtx == '1' || $emailtx == '1') { + $tplData = array( + 'auto_statis' => $statusInfo, + 'date' => $date, + 'type' => 'userstatus' + ); + + //因发送内容相同,可以先提取发送内容,然后再批量发送,可以减少循环查询次数 + require_once('notice.model.php'); + + $noticeM = new notice_model($this->db, $this->def); + //获取短息通知内容 + $msgTpl = $noticeM->getTpl($tplData, 'msg'); + //获取邮件通知内容 + $emailTpl = $noticeM->getTpl($tplData, 'email'); + } + + $uids = array(); + + foreach ($members as $k => $v) { + + $uids[] = $v['uid']; + //批量发送短信 + if ($v['moblie'] && $msgtx == '1') { + + $mdata = array( + 'uid' => $v['uid'], + 'cuid' => 0, + 'moblie' => $v['moblie'], + 'type' => 'userstatus', + 'port' => '5' + ); + $noticeM->sendSMSType($mdata, $msgTpl['content']); + } + //批量发送邮件 + if ($v['email'] && $emailtx == '1') { + + $edata = array( + 'uid' => $v['uid'], + 'cuid' => 0, + 'email' => $v['email'], + 'type' => 'userstatus' + ); + $noticeM->sendEmailType($edata, $emailTpl); + } + } + //发送系统通知 + include_once('sysmsg.model.php'); + + $sysmsgM = new sysmsg_model($this->db, $this->def); + + $statusInfo = '您的账号' . $statusInfo; + $sysmsgM->addInfo(array('uid' => $uids, 'content' => $statusInfo, 'usertype' => $post['usertype'])); + } + } + } + + //后台个人会员列表处理数据 + private function getDataList($List) { + + foreach ($List as $v) { + if ($v['uid']) { + if ($v['usertype'] == '1') { + $useruids[] = $v['uid']; + } + if ($v['usertype'] == '2') { + if ($v['pid']) { + $comuids[] = $v['pid']; + } else { + $comuids[] = $v['uid']; + } + + } + if ($v['usertype'] == '3') { + $ltuids[] = $v['uid']; + } + if ($v['usertype'] == '4') { + $pxuids[] = $v['uid']; + } + } + + } + + + $countname = array(); + if (!empty($useruids)) { + $resumes = $this->select_all('resume', array('uid' => array('in', pylode(',', $useruids))), '`uid`,`name`,`def_job`'); + foreach ($resumes as $rk => $rv) { + $countname[$rv['uid']] = $rv['name']; + } + } + if (!empty($comuids)) { + $coms = $this->select_all('company', array('uid' => array('in', pylode(',', $comuids))), '`uid`,`name`'); + foreach ($coms as $ck => $cv) { + + $countname[$cv['uid']] = $cv['name']; + } + } + + if (!empty($ltuids)) { + $lts = $this->select_all('lt_info', array('uid' => array('in', pylode(',', $ltuids))), '`uid`,`com_name`'); + + foreach ($lts as $lk => $lv) { + $countname[$lv['uid']] = $lv['com_name']; + } + } + if (!empty($pxuids)) { + $pxs = $this->select_all('px_train', array('uid' => array('in', pylode(',', $pxuids))), '`uid`,`name`'); + foreach ($pxs as $pk => $pv) { + $countname[$pv['uid']] = $pv['name']; + } + } + + foreach ($List as $k => $v) { + if (!empty($resumes)) { + foreach ($resumes as $val) { + + if ($val['uid'] == $v['uid']) { + + $List[$k]['name'] = $val['name']; + $List[$k]['def_job'] = $val['def_job']; + } + } + } + if (!empty($countname)) { + if ($v['usertype'] == 2 && $v['pid']) { + $uid = $v['pid']; + } else { + $uid = $v['uid']; + } + $List[$k]['countname'] = $countname[$uid]; + } + + } + + return $List; + } + + /** + * @desc 生成password(包括原密码验证) + * + * @param array $pwdData (password:明密 salt:加密随机字符) + * + */ + public function generatePwd($pwdData) { + + $pwdRes = array(); + + if (empty($pwdData['password'])) { + + return $pwdRes; + + } + + if (empty($pwdData['salt'])) { + + $salt = substr(uniqid(rand()), -6); + + } else { + + $salt = $pwdData['salt']; + + } + + $pass = passCheck($pwdData['password'], $salt); + + $pwdRes['pwd'] = $pass; + + $pwdRes['salt'] = $salt; + + return $pwdRes; + } + + /** + * 删除个人会员 + */ + private function delUser($uid) { + + if (!empty($uid)) { + + + $return = $this->delete_all('resume', array('uid' => array('in', $uid)), ''); + + if ($return) { + + $this->delete_all('answer', array('uid' => array('in', $uid), 'usertype' => 1), ''); + + $this->delete_all('answer_review', array('uid' => array('in', $uid), 'usertype' => 1), ''); + + $this->delete_all('atn', array('uid' => array('in', $uid), 'sc_uid' => array('in', $uid, 'OR')), ''); + + $this->delete_all('attention', array('uid' => array('in', $uid)), ''); + + $this->delete_all('blacklist', array('p_uid' => array('in', $uid)), ''); + + $this->delete_all('change', array('uid' => array('in', $uid), 'usertype' => 1), ''); + + $this->delete_all('chat_cs_log', array('uid' => array('in', $uid), 'usertype' => 1), ''); + + $this->delete_all('chat_cs_pick', array('uid' => array('in', $uid), 'usertype' => 1), ''); + + $this->delete_all('chat_friend', array('uid' => array('in', $uid), 'usertype' => 1), ''); + + $this->delete_all('chat_friend', array('fid' => array('in', $uid), 'fusertype' => 1), ''); + + $this->delete_all('chat_log', array('from' => array('in', $uid), 'fusertype' => 1), ''); + + $this->delete_all('chat_log', array('to' => array('in', $uid), 'tusertype' => 1), ''); + + $this->delete_all('chat_member', array('uid' => array('in', $uid), 'usertype' => 1), ''); + + $this->delete_all('chat_right', array('uid' => array('in', $uid)), ''); + + $this->delete_all('company_job_rewardlist', array('uid' => array('in', $uid)), ''); + + $this->delete_all('company_job_rewardlog', array('uid' => array('in', $uid)), ''); + + $this->delete_all('company_job_sharelog', array('uid' => array('in', $uid)), ''); + + $this->delete_all('company_msg', array('uid' => array('in', $uid)), ''); + + $this->delete_all('company_order', array('uid' => array('in', $uid), 'usertype' => 1), ''); + + $this->delete_all('company_pay', array('com_id' => array('in', $uid), 'usertype' => 1), ''); + + $this->delete_all('concheck_log', array('uid' => array('in', $uid), 'usertype' => 1), ''); + + $this->delete_all('coupon_list', array('uid' => array('in', $uid)), ''); + + $this->delete_all('down_resume', array('uid' => array('in', $uid)), ''); + + $this->delete_all('evaluate_log', array('uid' => array('in', $uid)), ''); + + $this->delete_all('fav_job', array('uid' => array('in', $uid)), ''); + + $this->delete_all('job_tellog', array('uid' => array('in', $uid)), ''); + + $this->delete_all('login_log', array('uid' => array('in', $uid), 'usertype' => 1), ''); + + $this->delete_all('look_job', array('uid' => array('in', $uid)), ''); + + $this->delete_all('look_resume', array('uid' => array('in', $uid)), ''); + + $this->delete_all('member_log', array('uid' => array('in', $uid), 'usertype' => 1), ''); + + $this->delete_all('member_statis', array('uid' => array('in', $uid)), ''); + + $this->delete_all('msg', array('uid' => array('in', $uid))); + + $this->delete_all('part_apply', array('uid' => array('in', $uid)), ''); + + $this->delete_all('part_collect', array('uid' => array('in', $uid)), ''); + + $this->delete_all('px_subject_collect', array('uid' => array('in', $uid)), ''); + + $this->delete_all('px_zixun', array('uid' => array('in', $uid)), ''); + + $this->delete_all('question', array('uid' => array('in', $uid)), ''); + + $this->delete_all('rebates', array('uid' => array('in', $uid)), ''); + + $this->delete_all('report', array('p_uid' => array('in', $uid), 'c_uid' => array('in', $uid, 'OR')), ''); + + $this->delete_all('resume_expect', array('uid' => array('in', $uid)), ''); + + $this->delete_all('resume_city_job_class', array('uid' => array('in', $uid)), ''); + + $this->delete_all('resume_cityclass', array('uid' => array('in', $uid)), ''); + + $this->delete_all('resume_doc', array('uid' => array('in', $uid)), ''); + + $this->delete_all('resume_edu', array('uid' => array('in', $uid)), ''); + + $this->delete_all('resume_jobclass', array('uid' => array('in', $uid)), ''); + + $this->delete_all('resume_other', array('uid' => array('in', $uid)), ''); + + $this->delete_all('resume_project', array('uid' => array('in', $uid)), ''); + + $this->delete_all('resume_show', array('uid' => array('in', $uid)), ''); + + $this->delete_all('resume_skill', array('uid' => array('in', $uid)), ''); + + $this->delete_all('resume_trainging', array('uid' => array('in', $uid)), ''); + + $this->delete_all('resume_work', array('uid' => array('in', $uid)), ''); + + $this->delete_all('spview_log', array('uid' => array('in', $uid)), ''); + + $this->delete_all('spview_subscribe', array('uid' => array('in', $uid)), ''); + + $this->delete_all('spview_subscribe_msg', array('uid' => array('in', $uid)), ''); + + $this->delete_all('subscribe', array('uid' => array('in', $uid)), ''); + + $this->delete_all('subscriberecord', array('uid' => array('in', $uid)), ''); + + $this->delete_all('talent_pool', array('uid' => array('in', $uid)), ''); + + $this->delete_all('user_entrust', array('uid' => array('in', $uid)), ''); + + $this->delete_all('user_entrust_record', array('uid' => array('in', $uid)), ''); + + $this->delete_all('user_resume', array('uid' => array('in', $uid)), ''); + + $this->delete_all('userid_job', array('uid' => array('in', $uid)), ''); + + $this->delete_all('userid_msg', array('uid' => array('in', $uid)), ''); + + $this->delete_all('xjhlive_black', array('uid' => array('in', $uid), 'usertype' => 1), ''); + + $this->delete_all('xjhlive_chat', array('fuid' => array('in', $uid), 'fusertype' => 1), ''); + + $this->delete_all('xjhlive_yy', array('uid' => array('in', $uid)), ''); + + $this->delete_all('xjhlive_yy_msg', array('uid' => array('in', $uid)), ''); + + $this->delete_all('zphnet_look', array('uid' => array('in', $uid), 'usertype' => 1), ''); + + $this->delete_all('zphnet_user', array('uid' => array('in', $uid), 'usertype' => 1), ''); + } + + return $return; + } + } + + /** + * 删除企业会员 + */ + private function delCom($uid) { + if (!empty($uid)) { + + $return = $this->delete_all('company', array('uid' => array('in', $uid)), ''); + + if ($return) { + + $this->delete_all('answer', array('uid' => array('in', $uid), 'usertype' => 2), ''); + + $this->delete_all('answer_review', array('uid' => array('in', $uid), 'usertype' => 2), ''); + + $this->delete_all('ad_order', array('comid' => array('in', $uid)), ''); + + $this->delete_all('atn', array('uid' => array('in', $uid), 'sc_uid' => array('in', $uid, 'OR')), ''); + + $this->delete_all('attention', array('uid' => array('in', $uid)), ''); + + $this->delete_all('banner', array('uid' => array('in', $uid)), ''); + + $this->delete_all('blacklist', array('c_uid' => array('in', $uid)), ''); + + $this->delete_all('change', array('uid' => array('in', $uid), 'usertype' => 2), ''); + + $this->delete_all('chat_cs_log', array('uid' => array('in', $uid), 'usertype' => 2), ''); + + $this->delete_all('chat_cs_pick', array('uid' => array('in', $uid), 'usertype' => 2), ''); + + $this->delete_all('chat_friend', array('uid' => array('in', $uid), 'usertype' => 2), ''); + + $this->delete_all('chat_friend', array('fid' => array('in', $uid), 'fusertype' => 2), ''); + + $this->delete_all('chat_log', array('from' => array('in', $uid), 'fusertype' => 2), ''); + + $this->delete_all('chat_log', array('to' => array('in', $uid), 'tusertype' => 2), ''); + + $this->delete_all('chat_member', array('uid' => array('in', $uid), 'usertype' => 2), ''); + + $this->delete_all('chat_right', array('comid' => array('in', $uid)), ''); + + $this->delete_all('company_account', array('comid' => array('in', $uid)), ''); + + $this->delete_all('company_job', array('uid' => array('in', $uid)), ''); + + $this->delete_all('company_job_link', array('uid' => array('in', $uid)), ''); + + $this->delete_all('company_job_reward', array('uid' => array('in', $uid)), ''); + + $this->delete_all('company_job_rewardlist', array('comid' => array('in', $uid)), ''); + + $this->delete_all('company_job_rewardlog', array('comid' => array('in', $uid)), ''); + + $this->delete_all('company_job_share', array('comid' => array('in', $uid)), ''); + + $this->delete_all('company_job_sharelog', array('uid' => array('in', $uid)), ''); + + $this->delete_all('company_job_sharelog', array('comid' => array('in', $uid)), ''); + + $this->delete_all('company_cert', array('uid' => array('in', $uid), 'usertype' => 2), ''); + + $this->delete_all('company_news', array('uid' => array('in', $uid)), ''); + + $this->delete_all('company_order', array('uid' => array('in', $uid), 'usertype' => 2), ''); + + $this->delete_all('company_pay', array('com_id' => array('in', $uid), 'usertype' => 2), ''); + + $this->delete_all('company_product', array('uid' => array('in', $uid)), ''); + + $this->delete_all('company_show', array('uid' => array('in', $uid)), ''); + + $this->delete_all('company_statis', array('uid' => array('in', $uid)), ''); + + $this->delete_all('company_msg', array('cuid' => array('in', $uid)), ''); + + $this->delete_all('concheck_log', array('uid' => array('in', $uid), 'usertype' => 1), ''); + + $this->delete_all('coupon_list', array('uid' => array('in', $uid)), ''); + + $this->delete_all('down_resume', array('comid' => array('in', $uid), 'usertype' => 2), ''); + + $this->delete_all('email_msg', array('uid' => array('in', $uid), 'cuid' => array('in', $uid, 'OR')), ''); + + $this->delete_all('evaluate_log', array('uid' => array('in', $uid)), ''); + + $this->delete_all('fav_job', array('com_id' => array('in', $uid)), ''); + + $this->delete_all('friend_help', array('comid' => array('in', $uid)), ''); + + $this->delete_all('friend_help_log', array('comid' => array('in', $uid)), ''); + + $this->delete_all('hotjob', array('uid' => array('in', $uid)), ''); + + $this->delete_all('invoice_record', array('uid' => array('in', $uid)), ''); + + $this->delete_all('job_tellog', array('comid' => array('in', $uid)), ''); + + $this->delete_all('login_log', array('uid' => array('in', $uid), 'usertype' => 2), ''); + + $this->delete_all('look_job', array('com_id' => array('in', $uid)), ''); + + $this->delete_all('look_resume', array('com_id' => array('in', $uid), 'usertype' => 2), ''); + + $this->delete_all('lt_job', array('uid' => array('in', $uid)), ''); + + $this->delete_all('member_log', array('uid' => array('in', $uid), 'usertype' => 2), ''); + + $this->delete_all('msg', array('job_uid' => array('in', $uid)), ''); + + $this->delete_all('partjob', array('uid' => array('in', $uid)), ''); + + $this->delete_all('part_apply', array('comid' => array('in', $uid)), ''); + + $this->delete_all('part_collect', array('comid' => array('in', $uid)), ''); + + $this->delete_all('px_subject_collect', array('uid' => array('in', $uid)), ''); + + $this->delete_all('px_zixun', array('uid' => array('in', $uid)), ''); + + $this->delete_all('question', array('uid' => array('in', $uid)), ''); + + $this->delete_all('rebates', array('job_uid' => array('in', $uid), 'uid' => array('in', $uid, 'OR')), ''); + + $this->delete_all('report', array('p_uid' => array('in', $uid), 'c_uid' => array('in', $uid, 'OR')), ''); + + $this->delete_all('school_xjh', array('uid' => array('in', $uid)), ''); + + $this->delete_all('special_com', array('uid' => array('in', $uid)), ''); + + $this->delete_all('spview', array('uid' => array('in', $uid)), ''); + + $this->delete_all('spview_log', array('comid' => array('in', $uid)), ''); + + $this->delete_all('spview_subscribe', array('comid' => array('in', $uid)), ''); + + $this->delete_all('spview_subscribe_msg', array('comid' => array('in', $uid)), ''); + + $this->delete_all('subscribe', array('uid' => array('in', $uid)), ''); + + $this->delete_all('subscriberecord', array('uid' => array('in', $uid)), ''); + + $this->delete_all('talent_pool', array('cuid' => array('in', $uid)), ''); + + $this->delete_all('user_entrust_record', array('comid' => array('in', $uid)), ''); + + $this->delete_all('userid_job', array('com_id' => array('in', $uid)), ''); + + $this->delete_all('userid_msg', array('fid' => array('in', $uid)), ''); + + $this->delete_all('zhaopinhui_com', array('uid' => array('in', $uid)), ''); + + $this->delete_all('zphnet_com', array('uid' => array('in', $uid)), ''); + + $this->delete_all('zphnet_look', array('uid' => array('in', $uid), 'usertype' => 2), ''); + + $this->delete_all('zphnet_user', array('uid' => array('in', $uid), 'usertype' => 2), ''); + + $this->delete_all('crmnew_concern', array('uid' => array('in', $uid)), ''); + + $this->delete_all('crm_comlog', array('uid' => array('in', $uid)), ''); + + $this->delete_all('crm_out', array('uid' => array('in', $uid)), ''); + + $this->delete_all('crm_work_plan', array('comid' => array('in', $uid)), ''); + + $this->delete_all('xjhlive_black', array('uid' => array('in', $uid), 'usertype' => 2), ''); + + $this->delete_all('xjhlive_chat', array('fuid' => array('in', $uid), 'fusertype' => 2), ''); + + $this->delete_all('xjhlive_com', array('uid' => array('in', $uid)), ''); + + $this->delete_all('yqmb', array('uid' => array('in', $uid)), ''); + + } + return $return; + } + } + + /** + * 删除猎头会员 + */ + private function delLt($uid) { + + if (!empty($uid)) { + + + $return = $this->delete_all('lt_info', array('uid' => array('in', $uid)), ''); + + if ($return) { + + $this->delete_all('answer', array('uid' => array('in', $uid), 'usertype' => 3), ''); + + $this->delete_all('answer_review', array('uid' => array('in', $uid), 'usertype' => 3), ''); + + $this->delete_all('atn', array('uid' => array('in', $uid), 'sc_uid' => array('in', $uid, 'OR')), ''); + + $this->delete_all('attention', array('uid' => array('in', $uid)), ''); + + $this->delete_all('change', array('uid' => array('in', $uid), 'usertype' => 1), ''); + + $this->delete_all('chat_cs_log', array('uid' => array('in', $uid), 'usertype' => 3), ''); + + $this->delete_all('chat_cs_pick', array('uid' => array('in', $uid), 'usertype' => 3), ''); + + $this->delete_all('chat_friend', array('uid' => array('in', $uid), 'usertype' => 3), ''); + + $this->delete_all('chat_friend', array('fid' => array('in', $uid), 'fusertype' => 3), ''); + + $this->delete_all('chat_log', array('from' => array('in', $uid), 'fusertype' => 3), ''); + + $this->delete_all('chat_log', array('to' => array('in', $uid), 'tusertype' => 3), ''); + + $this->delete_all('chat_member', array('uid' => array('in', $uid), 'usertype' => 3), ''); + + $this->delete_all('chat_right', array('comid' => array('in', $uid)), ''); + + $this->delete_all('company_cert', array('uid' => array('in', $uid), 'usertype' => 3), ''); + + $this->delete_all('company_job_reward', array('uid' => array('in', $uid)), ''); + + $this->delete_all('company_job_rewardlist', array('comid' => array('in', $uid)), ''); + + $this->delete_all('company_job_rewardlog', array('comid' => array('in', $uid)), ''); + + $this->delete_all('company_job_share', array('comid' => array('in', $uid)), ''); + + $this->delete_all('company_job_sharelog', array('comid' => array('in', $uid)), ''); + + $this->delete_all('company_order', array('uid' => array('in', $uid), 'usertype' => 3), ''); + + $this->delete_all('company_pay', array('com_id' => array('in', $uid), 'usertype' => 3), ''); + + $this->delete_all('coupon_list', array('uid' => array('in', $uid)), ''); + + $this->delete_all('down_resume', array('comid' => array('in', $uid), 'usertype' => 3), ''); + + $this->delete_all('email_msg', array('uid' => array('in', $uid), 'cuid' => array('in', $uid, 'OR')), ''); + + $this->delete_all('evaluate_log', array('uid' => array('in', $uid)), ''); + + $this->delete_all('fav_job', array('uid' => array('in', $uid), 'com_uid' => array('in', $uid, 'OR')), ''); + + $this->delete_all('login_log', array('uid' => array('in', $uid), 'usertype' => 3), ''); + + $this->delete_all('lt_job', array('uid' => array('in', $uid)), ''); + + $this->delete_all('lt_statis', array('uid' => array('in', $uid)), ''); + + $this->delete_all('member_log', array('uid' => array('in', $uid), 'usertype' => 3), ''); + + $this->delete_all('msg', array('job_uid' => array('in', $uid)), ''); + + $this->delete_all('px_subject_collect', array('uid' => array('in', $uid)), ''); + + $this->delete_all('px_zixun', array('uid' => array('in', $uid)), ''); + + $this->delete_all('question', array('uid' => array('in', $uid)), ''); + + $this->delete_all('rebates', array('uid' => array('in', $uid), 'job_uid' => array('in', $uid, 'OR')), ''); + + $this->delete_all('xjhlive_black', array('uid' => array('in', $uid), 'usertype' => 3), ''); + + $this->delete_all('xjhlive_chat', array('fuid' => array('in', $uid), 'fusertype' => 3), ''); + + $this->delete_all('userid_job', array('comid' => array('in', $uid), 'type' => 3), ''); + + } + return $return; + } + } + + /** + * 删除培训会员 + */ + private function delTrain($uid) { + + if (!empty($uid)) { + + + $return = $this->delete_all('px_train', array('uid' => array('in', $uid)), ''); + + if ($return) { + + $this->delete_all('answer', array('uid' => array('in', $uid), 'usertype' => 4), ''); + + $this->delete_all('answer_review', array('uid' => array('in', $uid), 'usertype' => 4), ''); + + $this->delete_all('atn', array('uid' => array('in', $uid), 'sc_uid' => array('in', $uid, 'OR')), ''); + + $this->delete_all('attention', array('uid' => array('in', $uid)), ''); + + $this->delete_all('change', array('uid' => array('in', $uid), 'usertype' => 1), ''); + + $this->delete_all('chat_cs_log', array('uid' => array('in', $uid), 'usertype' => 4), ''); + + $this->delete_all('chat_cs_pick', array('uid' => array('in', $uid), 'usertype' => 4), ''); + + $this->delete_all('company_cert', array('uid' => array('in', $uid), 'usertype' => 4), ''); + + $this->delete_all('company_order', array('uid' => array('in', $uid), 'usertype' => 4), ''); + + $this->delete_all('company_pay', array('com_id' => array('in', $uid), 'usertype' => 4), ''); + + $this->delete_all('email_msg', array('uid' => array('in', $uid), 'cuid' => array('in', $uid, 'OR')), ''); + + $this->delete_all('evaluate_log', array('uid' => array('in', $uid)), ''); + + $this->delete_all('login_log', array('uid' => array('in', $uid), 'usertype' => 4), ''); + + $this->delete_all('member_log', array('uid' => array('in', $uid), 'usertype' => 4), ''); + + $this->delete_all('msg', array('job_uid' => array('in', $uid)), ''); + + $this->delete_all('px_banner', array('uid' => array('in', $uid)), ''); + + $this->delete_all('px_baoming', array('s_uid' => array('in', $uid)), ''); + + $this->delete_all('px_subject', array('uid' => array('in', $uid)), ''); + + $this->delete_all('px_subject_collect', array('s_uid' => array('in', $uid)), ''); + + $this->delete_all('px_teacher', array('uid' => array('in', $uid)), ''); + + $this->delete_all('px_train_news', array('uid' => array('in', $uid)), ''); + + $this->delete_all('px_train_show', array('uid' => array('in', $uid)), ''); + + $this->delete_all('px_train_statis', array('uid' => array('in', $uid)), ''); + + $this->delete_all('px_zixun', array('s_uid' => array('in', $uid)), ''); + + } + return $return; + } + } + + function delgq($uid) { + + if (!empty($uid)) { + + + $return = $this->delete_all('gq_info', array('uid' => array('in', $uid)), ''); + + if ($return) { + + $this->delete_all('company_order', array('uid' => array('in', $uid), 'usertype' => 5), ''); + + $this->delete_all('evaluate_log', array('uid' => array('in', $uid)), ''); + + $this->delete_all('gq_task', array('uid' => array('in', $uid)), ''); + + $this->delete_all('gq_browse', array('uid' => array('in', $uid)), ''); + + $this->delete_all('login_log', array('uid' => array('in', $uid), 'usertype' => 5), ''); + + $this->delete_all('member_log', array('uid' => array('in', $uid), 'usertype' => 5), ''); + + } + } + return $return; + } + + /** + * @desc 修改用户名 + * @param array $data + */ + function saveUserName($data = array()) { + + $value = array('username' => trim($data['username'])); if (isset($data['restname']) && $data['restname'] == '1') { - $value['password'] = $data['password']; - $value['restname'] = $data['restname']; + $value['password'] = $data['password']; + $value['restname'] = $data['restname']; } - - $uid = intval($data['uid']); - $result = $this -> addMemberCheck($value, $uid); - + $uid = intval($data['uid']); + + $result = $this->addMemberCheck($value, $uid); + if ($result['username']) { - if ($data['restname']=='1' || $data['admin'] == '1') { + if ($data['restname'] == '1' || $data['admin'] == '1') { - unset($value['password']); + unset($value['password']); - require_once ('log.model.php'); + require_once('log.model.php'); $LogM = new log_model($this->db, $this->def); - $LogM -> addMemberLog($data['uid'], $data['usertype'], '修改用户名,原用户名:' . $result['oldusername'], 11); - - $this -> update_once('member', $value, array('uid' => $uid)); + $LogM->addMemberLog($data['uid'], $data['usertype'], '修改用户名,原用户名:' . $result['oldusername'], 11); - $return['errcode'] = '1'; - }else{ + $this->update_once('member', $value, array('uid' => $uid)); - $return['msg'] = '修改次数已用完!'; - } + $return['errcode'] = '1'; + } else { + + $return['msg'] = '修改次数已用完!'; + } - }else{ + } else { if ($data['admin'] == '1') { return $result; - }else{ + } else { - $return['msg'] = $result['msg']?$result['msg']:'修改失败!'; + $return['msg'] = $result['msg'] ? $result['msg'] : '修改失败!'; } - } + } - return $return; - - } - - /** - * @desc 修改密码 - * @param array $data - */ - function savePassword($data = array()) { - - if (!empty($data)) { - - $return = array(); - - $uid = intval($data['uid']); - $pass = trim($data['password']); - $oldpass = trim($data['oldpassword']); - $repass = trim($data['repassword']); - - $info = $this -> getInfo(array('uid'=> $uid), array('field'=>'salt,password')); - - if($info && is_array($info)){ - - //$pwdA = $this->generatePwd(array('password'=>$oldpass,'salt'=>$info['salt'])); - - //$old = $pwdA['pwd']; - - $pwmsg = regPassWordComplex($pass); - - if (!passCheck($oldpass,$info['salt'],$info['password'])) { - - $return['errcode'] = 8; - - $return['msg'] = '原始密码错误,请重试!'; - - }elseif ($pass != $repass) { - - $return['errcode'] = 8; - - $return['msg'] = '确认密码与新密码不一致,请重试!'; - - }elseif($pwmsg!=''){ - - $return['errcode'] = 8; - - $return['msg'] = $pwmsg; - - }else{ - - $passwordA = $this -> generatePwd(array('password'=>$pass)); - $password = $passwordA['pwd']; - $salt = $passwordA['salt']; - - $return['id'] = $this -> update_once('member',array('password'=>$password, 'salt'=>$salt), array('uid'=>intval($data['uid']))); - - require_once ('log.model.php'); - $LogM = new log_model($this->db, $this->def); - $LogM->addMemberLog($data['uid'], $data['usertype'], '修改密码', 8,2); - - $return['errcode'] = 9 ; - - $return['msg'] = '密码修改成功,请重新登录!'; - - } - } - - return $return; - - } - - } - - /** - * 获取member_reg信息 - * 通用的whereData条件 - */ - function getMemberregInfo($whereData,$data=array()){ - - $field = empty($data['field']) ? '*' : $data['field']; - - $List = $this -> select_once('member_reg', $whereData, $field); - - return $List; - - } - /** - * 获取member_reg信息 - * 通用的data数组 - */ - function addMemberreg($data=array()){ - - $nid = $this -> insert_into('member_reg', $data); - - return $nid; - - } - /** - * 上传个人头像 - */ - public function upLogo($id,$data=array()){ - - if($id && !empty($data)){ - - require_once ('integral.model.php'); - - $IntegralM = new integral_model($this -> db, $this -> def); - - $IntegralM -> invtalCheck($id,1,'integral_avatar','上传头像',20); - - - if($data['wap']){ - - $photo = './data/upload/user/'.date('Ymd').'/'.$data['pic']; - - }else{ - - $photo = str_replace('../data/upload/user/','./data/upload/user/',$data[1]); - - } - - if($this -> config['user_photo_status'] == 1){ - - $photo_status = '1'; - - $return['msg']='3'; - - }else{ - $photo_status = '0'; - - $return ['msg'] = '1'; - } - - //5.0图片上传后就显示,后台审核不通过直接删除 - $this -> update_once('resume',array('photo'=>$photo,'photo_status'=>$photo_status),array('uid'=>$id)); - - $this -> update_once('resume_expect',array('photo'=>$photo),array('uid'=>$id)); - - $this -> update_once('answer',array('pic'=>$photo),array('uid'=>$id)); - - $this -> update_once('question',array('pic'=>$photo),array('uid'=>$id)); - - return $return; - - } - - } - /** - * 个人身份认证 - */ - public function upidcardInfo($whereData = array(),$data = array()){ - - if(!empty($whereData)){ - - require_once ('resume.model.php'); - $ResumeM = new resume_model($this -> db, $this -> def); - $resume = $ResumeM -> getResumeInfo(array('uid'=>$whereData['uid'])); - - if($resume['r_status']==2){ - $status = 0; - }else{ - $status = $this->config['user_idcard_status'] == '1' ? '0' : '1'; - } - - $data['name'] = $data['name']?$data['name']:$resume['name']; - - $PostData = array( - 'name' => $data['name'], - 'idcard' => $data['idcard'], - 'idcard_status' => $status, - 'cert_time' => time() - ); - - //图片路径处理 - if ($data['file']['tmp_name'] || $data['preview']){ - - $upArr = array( - 'file' => $data['file'], - 'dir' => 'cert', - 'base' => $data['preview'], - ); - - $result = $this -> upload($upArr); - - if (!empty($result['msg'])){ - - $return['msg'] = $result['msg']; - - $return['errcode'] = '8'; - - return $return; - - }elseif (!empty($result['picurl'])){ - - $picurl = $result['picurl']; - - } - }elseif($data['idcard_pic']){ - $picurl = $data['idcard_pic']; - } - if (isset($picurl)){ - $PostData['idcard_pic'] = $picurl; - } - - $id = $this -> update_once('resume',$PostData,array('uid'=>$whereData['uid'])); - - $this -> update_once('resume_expect',array('idcard_status' => $status, 'uname' => trim($data['name'])),array('uid'=>$whereData['uid'])); - - if($id){ - - if ((!is_array($resume) || $resume['idcard_pic']=='') && $this->config['user_idcard_status']!=1){ - - $com = $this->select_once('company_pay',array('com_id'=>$whereData['uid'],'pay_remark'=>'上传身份验证')); - - if(empty($com)){ - require_once ('integral.model.php'); - $IntegralM = new integral_model($this->db, $this->def); - $IntegralM->invtalCheck($whereData['uid'],$data['usertype'],'integral_identity','上传身份验证',21); - } - } - require_once ('log.model.php'); - $LogM = new log_model($this->db, $this->def); - $LogM -> addMemberLog($whereData['uid'],$data['usertype'],'上传身份验证图片',13,1); - - if ($this -> config['user_idcard_status'] == '1'){ - - $return['errcode'] = '9'; - - $return['msg'] = '上传成功,请等待审核'; - - require_once('admin.model.php'); - $adminM = new admin_model($this->db,$this->def); - $adminM->sendAdminMsg(array('first'=>'个人用户《'.$data['name'].'》上传了新的身份认证,请查看审核。','type'=>8)); - }else{ - - $return['errcode'] = '9'; - $return['msg'] = '上传成功'; - } - }else{ - - $return['msg'] = '上传失败!'; - $return['errcode'] = 8; - } - return $return; - } - } - /** - * 处理单个图片上传 - * @param file/需上传文件; dir/上传目录; type/上传图片类型; base/需上传base64; preview/pc预览即上传 - */ - private function upload($data = array('file'=>null,'dir'=>null,'type'=>null,'base'=>null,'preview'=>null)){ - - include_once('upload.model.php'); - - $UploadM = new upload_model($this->db, $this->def); - - $upArr = array( - - 'file' => $data['file'], - - 'dir' => $data['dir'], - - 'type' => $data['type'], - - 'base' => $data['base'], - - 'preview' => $data['preview'] - - ); - - $return = $UploadM -> newUpload($upArr); - return $return; } - + + /** + * @desc 修改密码 + * @param array $data + */ + function savePassword($data = array()) { + + if (!empty($data)) { + + $return = array(); + + $uid = intval($data['uid']); + $pass = trim($data['password']); + $oldpass = trim($data['oldpassword']); + $repass = trim($data['repassword']); + + $info = $this->getInfo(array('uid' => $uid), array('field' => 'salt,password')); + + if ($info && is_array($info)) { + + //$pwdA = $this->generatePwd(array('password'=>$oldpass,'salt'=>$info['salt'])); + + //$old = $pwdA['pwd']; + + $pwmsg = regPassWordComplex($pass); + + if (!passCheck($oldpass, $info['salt'], $info['password'])) { + + $return['errcode'] = 8; + + $return['msg'] = '原始密码错误,请重试!'; + + } elseif ($pass != $repass) { + + $return['errcode'] = 8; + + $return['msg'] = '确认密码与新密码不一致,请重试!'; + + } elseif ($pwmsg != '') { + + $return['errcode'] = 8; + + $return['msg'] = $pwmsg; + + } else { + + $passwordA = $this->generatePwd(array('password' => $pass)); + $password = $passwordA['pwd']; + $salt = $passwordA['salt']; + + $return['id'] = $this->update_once('member', array('password' => $password, 'salt' => $salt), array('uid' => intval($data['uid']))); + + require_once('log.model.php'); + $LogM = new log_model($this->db, $this->def); + $LogM->addMemberLog($data['uid'], $data['usertype'], '修改密码', 8, 2); + + $return['errcode'] = 9; + + $return['msg'] = '密码修改成功,请重新登录!'; + + } + } + + return $return; + + } + + } + + /** + * 获取member_reg信息 + * 通用的whereData条件 + */ + function getMemberregInfo($whereData, $data = array()) { + + $field = empty($data['field']) ? '*' : $data['field']; + + $List = $this->select_once('member_reg', $whereData, $field); + + return $List; + + } + + /** + * 获取member_reg信息 + * 通用的data数组 + */ + function addMemberreg($data = array()) { + + $nid = $this->insert_into('member_reg', $data); + + return $nid; + + } + + /** + * 上传个人头像 + */ + public function upLogo($id, $data = array()) { + + if ($id && !empty($data)) { + + require_once('integral.model.php'); + + $IntegralM = new integral_model($this->db, $this->def); + + $IntegralM->invtalCheck($id, 1, 'integral_avatar', '上传头像', 20); + + + if ($data['wap']) { + + $photo = './data/upload/user/' . date('Ymd') . '/' . $data['pic']; + + } else { + + $photo = str_replace('../data/upload/user/', './data/upload/user/', $data[1]); + + } + + if ($this->config['user_photo_status'] == 1) { + + $photo_status = '1'; + + $return['msg'] = '3'; + + } else { + $photo_status = '0'; + + $return ['msg'] = '1'; + } + + //5.0图片上传后就显示,后台审核不通过直接删除 + $this->update_once('resume', array('photo' => $photo, 'photo_status' => $photo_status), array('uid' => $id)); + + $this->update_once('resume_expect', array('photo' => $photo), array('uid' => $id)); + + $this->update_once('answer', array('pic' => $photo), array('uid' => $id)); + + $this->update_once('question', array('pic' => $photo), array('uid' => $id)); + + return $return; + + } + + } + + /** + * 个人身份认证 + */ + public function upidcardInfo($whereData = array(), $data = array()) { + + if (!empty($whereData)) { + + require_once('resume.model.php'); + $ResumeM = new resume_model($this->db, $this->def); + $resume = $ResumeM->getResumeInfo(array('uid' => $whereData['uid'])); + + if ($resume['r_status'] == 2) { + $status = 0; + } else { + $status = $this->config['user_idcard_status'] == '1' ? '0' : '1'; + } + + $data['name'] = $data['name'] ? $data['name'] : $resume['name']; + + $PostData = array( + 'name' => $data['name'], + 'idcard' => $data['idcard'], + 'idcard_status' => $status, + 'cert_time' => time() + ); + + //图片路径处理 + if ($data['file']['tmp_name'] || $data['preview']) { + + $upArr = array( + 'file' => $data['file'], + 'dir' => 'cert', + 'base' => $data['preview'], + ); + + $result = $this->upload($upArr); + + if (!empty($result['msg'])) { + + $return['msg'] = $result['msg']; + + $return['errcode'] = '8'; + + return $return; + + } elseif (!empty($result['picurl'])) { + + $picurl = $result['picurl']; + + } + } elseif ($data['idcard_pic']) { + $picurl = $data['idcard_pic']; + } + if (isset($picurl)) { + $PostData['idcard_pic'] = $picurl; + } + + $id = $this->update_once('resume', $PostData, array('uid' => $whereData['uid'])); + + $this->update_once('resume_expect', array('idcard_status' => $status, 'uname' => trim($data['name'])), array('uid' => $whereData['uid'])); + + if ($id) { + + if ((!is_array($resume) || $resume['idcard_pic'] == '') && $this->config['user_idcard_status'] != 1) { + + $com = $this->select_once('company_pay', array('com_id' => $whereData['uid'], 'pay_remark' => '上传身份验证')); + + if (empty($com)) { + require_once('integral.model.php'); + $IntegralM = new integral_model($this->db, $this->def); + $IntegralM->invtalCheck($whereData['uid'], $data['usertype'], 'integral_identity', '上传身份验证', 21); + } + } + require_once('log.model.php'); + $LogM = new log_model($this->db, $this->def); + $LogM->addMemberLog($whereData['uid'], $data['usertype'], '上传身份验证图片', 13, 1); + + if ($this->config['user_idcard_status'] == '1') { + + $return['errcode'] = '9'; + + $return['msg'] = '上传成功,请等待审核'; + + require_once('admin.model.php'); + $adminM = new admin_model($this->db, $this->def); + $adminM->sendAdminMsg(array('first' => '个人用户《' . $data['name'] . '》上传了新的身份认证,请查看审核。', 'type' => 8)); + } else { + + $return['errcode'] = '9'; + $return['msg'] = '上传成功'; + } + } else { + + $return['msg'] = '上传失败!'; + $return['errcode'] = 8; + } + return $return; + } + } + + /** + * 处理单个图片上传 + * @param file/需上传文件; dir/上传目录; type/上传图片类型; base/需上传base64; preview/pc预览即上传 + */ + private function upload($data = array('file' => null, 'dir' => null, 'type' => null, 'base' => null, 'preview' => null)) { + + include_once('upload.model.php'); + + $UploadM = new upload_model($this->db, $this->def); + + $upArr = array( + + 'file' => $data['file'], + + 'dir' => $data['dir'], + + 'type' => $data['type'], + + 'base' => $data['base'], + + 'preview' => $data['preview'] + + ); + + $return = $UploadM->newUpload($upArr); + + return $return; + + } + /** * 登录 - * @param array $data $data['uid'] $data['usertype'] + * @param array $data $data['uid'] $data['usertype'] * @return array|int[]|string[] */ - public function userLogin($data = array()) - { - - $username = $data['username']; - if(!empty($data['moblie'])){ - $moblie = $data['moblie']; - }else{ - $moblie = $data['username']; - } - $return = array('msg'=>'系统繁忙','errcode'=>8); - require ('notice.model.php'); - $noticeM = new notice_model($this->db, $this->def); - //会员已登录判断 - if(!empty($data['uid']) && $data['uid'] > 0 && $username!=''){ - if($data['usertype']=='1'){ - return array('msg'=>'您现在是个人会员登录状态!'); - }elseif($data['usertype']=='2'){ - return array('msg'=>'您现在是企业会员登录状态!'); - }elseif($data['usertype']=='3'){ - return array('msg'=>'您现在是猎头会员登录状态!'); - }elseif($data['usertype']=='4'){ - return array('msg'=>'您现在是培训会员登录状态!'); - } - } - //username验证 - if($this->config['sy_msg_isopen'] && $this->config['sy_msg_login'] && !empty($data['act_login'])){ - if(!CheckMobile($moblie)){ - return array('msg'=>'手机号码格式不正确!','errcode'=>'8'); - } - // 未注册手机登录直接注册新账号 - $member_arr = $this->getMemberNum(array('moblie'=>$moblie)); - - - if(!$member_arr || $member_arr==0){ - - $return = $this -> regUserByMobile($moblie, $data); - - if($return['errcode']!=1){ - return $return; - }else{ - $regNew = 1; - } - } - $where = array('moblie'=> $moblie); - }else { - //验证码判断 手机动态码登录 无需验证验证码 - if($data['wxapp'] != '1'){ - $result = $noticeM->jycheck($data['authcode'],'前台登录'); - if(!empty($result)){ - return array('msg'=>$result['msg'],'errcode'=>'8'); - } - } - - if(CheckRegUser($username)==false && CheckRegEmail($username)==false && ($username!='')){ - return array('msg'=>'用户名或密码不正确!','errcode'=>'8'); - } - - $where = array('username'=> $username); - - if(CheckMobile($username)){ - $where['PHPYUNBTWSTART'] = 'OR'; - - $where['moblie'] = $username; - - $where['moblie_status'] = 1; - - $where['PHPYUNBTWEND'] = ''; - - } - //邮箱登录 - if(CheckRegEmail($username)){ - - $where['PHPYUNBTWSTART'] = 'OR'; - - $where['email'] = $username; - - $where['email_status'] = 1; - - $where['PHPYUNBTWEND'] = ''; - } - } - - $user = $this->getInfo($where); - - //开启UC情况下 需要判断UC账户 并进行同步登录 - if($this->config['sy_uc_type']=="uc_center" && !$data['act_login']){ - - - include APP_PATH.'data/api/uc/config.inc.php'; - include APP_PATH.'/api/uc/include/db_mysql.class.php'; - include APP_PATH.'/api/uc/uc_client/client.php'; - $uname = $username; - - - list($uid, $uname, $password, $email) = uc_user_login($uname, $data['password']); - - - if($uid>0){ - //创建登录同步通知 - $ucsynlogin=uc_user_synlogin($uid); - - $return['uclogin'] = $ucsynlogin; - } - } - //如果系统未找到该用户 转向UC验证 是否UC用户 排除动态码登录 - if(empty($user)){ - - //自动将UC账号注册至系统 - if($uid > 0) { - - if($data['source']){ - $source = $data['source']; - }else{ - $source = 1; - } - $salt = substr(uniqid(rand()), -6); - $pass = passCheck($data['password'],$salt); - $adata['username'] = $data['username']; - $adata['password'] = $pass; - $adata['did'] = $this->config['did']; - $adata['status'] = 1; - $adata['salt'] = $salt; - $adata['source'] = $source; - $adata['reg_date'] = time(); - $adata['reg_ip'] = fun_ip_get(); - $adata['usertype'] = 0; - $userid = $this->insert_into('member',$adata); - // - $user = $adata; - $user['uid'] = $userid; - $res = true; - $loginType = 'UC'; - }else{ - return array('msg'=>'该用户不存在!','errcode'=>'8'); - } - }else{ - - if($user['status']=='2'){ - return array('msg'=>'您的账号已被锁定!','errcode'=>'8','url'=>Url('register',array('c'=>'ok','type'=>2),'1')); - } - - //如果是企业用户,验证企业是否暂停 - if($user['usertype']=='2'){ - - $commember = $this->select_once('company',array('uid'=>$user['uid']),'r_status'); - - if($commember['r_status']==4){ - - return array('msg'=>'您的账号已被暂停!','errcode'=>'8'); - } - } - if ($this->config['sy_msg_isopen'] && $this->config['sy_msg_login'] && !empty($data['act_login'])) { - - //短信验证码校验 - if($regNew == 1){ - - $companywhere['check'] = $user['moblie']; - }else{ - - $companywhere['uid'] = $user['uid']; - } - - $companywhere['type'] = 2; - $companywhere['orderby'] = array('ctime,desc'); - - include_once ('company.model.php'); - $CompanyM = new company_model($this->db, $this->def); - $cert_arr = $CompanyM->getCertInfo($companywhere); - if (is_array($cert_arr)) { - $checkTime = $noticeM->checkTime($cert_arr['ctime']); - if($checkTime){ - $res = $data['password'] == $cert_arr['check2'] ? true : false; - if($res == false){ - return array('msg'=>'短信验证码错误!','errcode'=>'8'); - } - }else { - return array('msg'=>'验证码验证超时,请重新点击发送验证码!','errcode'=>'8'); - } - }else { - return array('msg'=>'验证码发送不成功,请重新点击发送短信验证码!','errcode'=>'8'); - } - $loginType = '短信验证码'; - }else{ - //普通密码校验 - $res = passCheck($data['password'],$user['salt'],$user['password']); - $loginType = '账号'; - } - } - - if($res){ - - //更新用户QQ互联ID - if (session_id() == ''){ - session_start(); - } - if(!empty($_SESSION['qq']['openid'])){ - if($_SESSION['qq']['unionid']){ - $qqdata = array( - 'qqid' => $_SESSION['qq']['openid'], - 'qqunionid' => $_SESSION['qq']['unionid'] - ); - }else{ - $qqdata = array( - 'qqid' => $_SESSION['qq']['openid'] - ); - } - $this->upInfo(array('username'=>$user['username']),$qqdata); - unset($_SESSION['qq']); - } - //更新用户微信unionid - if(!empty($_SESSION['wx']['openid'])){ - if($_SESSION['wx']['unionid']){ - $udate = array( - 'wxid' => $_SESSION['wx']['openid'], - 'unionid' => $_SESSION['wx']['unionid'] - ); - }else{ - $udate = array( - 'wxid' => $_SESSION['wx']['openid'] - ); - } - $this->upInfo($udate, array('wxid' => '', 'wxid' => '')); - $this->upInfo(array('username'=>$user['username']),$udate); - unset($_SESSION['wx']); - }elseif($_COOKIE['wxid']){ - - if($_COOKIE['unionid']){ - $udate = array( - 'wxid' => $_COOKIE['wxid'], - 'unionid' => $_COOKIE['unionid'] - ); - }else{ - $udate = array( - 'wxid' => $_COOKIE['wxid'] - ); - } - $this->upInfo($udate, array('wxid' => '', 'wxid' => '')); - $this->upInfo(array('username'=>$user['username']),$udate); + public function userLogin($data = array()) { + $username = $data['username']; + if (!empty($data['moblie'])) { + $moblie = $data['moblie']; + } else { + $moblie = $data['username']; + } + $return = array('msg' => '系统繁忙', 'errcode' => 8); + require('notice.model.php'); + $noticeM = new notice_model($this->db, $this->def); + //会员已登录判断 + if (!empty($data['uid']) && $data['uid'] > 0 && $username != '') { + if ($data['usertype'] == '1') { + return array('msg' => '您现在是个人会员登录状态!'); + } elseif ($data['usertype'] == '2') { + return array('msg' => '您现在是企业会员登录状态!'); + } elseif ($data['usertype'] == '3') { + return array('msg' => '您现在是猎头会员登录状态!'); + } elseif ($data['usertype'] == '4') { + return array('msg' => '您现在是培训会员登录状态!'); } - //更新用户新浪sinaid - if(!empty($_SESSION['sina']['openid'])){ - $this->upInfo(array('username'=>$user['username']),array('sinaid'=>$_SESSION['sina']['openid'])); - unset($_SESSION['sina']); - } - //马甲app内绑定登录 - if(!empty($_SESSION['mag']['user_id'])){ - $this->upInfo(array('maguid'=>$_SESSION['mag']['user_id']),array('maguid'=>'')); - $this->upInfo(array('uid'=>$user['uid']),array('maguid'=>$_SESSION['mag']['user_id'])); - unset($_SESSION['mag']); - } - //千帆云app内绑定登录 - if (!empty($data['qfyuid'])){ - $this->upInfo(array('qfyuid'=>$data['qfyuid']),array('qfyuid'=>'')); - $this->upInfo(array('uid'=>$user['uid']),array('qfyuid'=>$data['qfyuid'])); - } - - // 非APP/小程序cookie设置 - if (empty($data['wxapp'])){ - - require_once('cookie.model.php'); - $cookie = new cookie_model($this->db,$this->def); - - $cookie->unset_cookie(); - $cookie->add_cookie($user['uid'],$user['username'],$user['salt'],$user['email'],$user['password'],$user['usertype'],$this->config['sy_logintime'],$user['did']); - } - //会员登录信息变更 - $ip = fun_ip_get(); - $upLogin = array( - 'login_ip' => $ip, - 'login_date' => time(), - 'login_hits' => array('+', 1) - ); - if (!empty($data['wxapp'])){ - if (!empty($data['clientid'])){ - $upLogin['clientid'] = $data['clientid']; - $upLogin['deviceToken'] = $data['deviceToken']; - //清除其他账号clientid - $this->clearPushId($data['clientid'], $user['uid']); - } - } - $this->upInfo(array('uid'=>$user['uid']), $upLogin); - - if(!empty($user['usertype'])){ - - require_once ('log.model.php'); - $LogM = new log_model($this->db, $this->def); - //会员日志,记录登录 - $loginType .= $LogM->LoginType($data); - $LogM->addMemberLog($user['uid'],$user['usertype'], $loginType); - - $logtime = date('Ymd',$user['login_date']); - $nowtime = date('Ymd',time()); - if($logtime!=$nowtime){ - //登录积分 - include_once ('integral.model.php'); - $integralM = new integral_model($this->db, $this->def); - $integralM->invtalCheck($user['uid'],$user['usertype'],'integral_login','会员登录',22); - //登录日志 - $logdata['uid'] = $user['uid']; - $logdata['usertype'] = $user['usertype']; - $logdata['did'] = $user['did']; - - $LogM->addLoginlog($logdata, $data); - } - $resumeData = array('login_date'=>time()); - // 个人登录自动刷新简历 - if ($this->config['resume_sx'] == 1 && $user['usertype'] == 1) { - - $expect = $this->select_once('resume_expect',array('uid'=>$user['uid'],'defaults'=>1), '`id`'); - if (empty($expect)){ - $expect = $this->select_once('resume_expect',array('uid'=>$user['uid'],'orderby'=>'`id`'), '`id`'); - } - if (!empty($expect)) { - $this->update_once('resume_expect', array('lastupdate'=>time()),array('id'=>$expect['id'])); - $resumeData['lastupdate'] = time(); - - $LogM->addResumeSxLog(array('uid' => $user['uid'], 'resume_id' => $expect['id'], 'r_time' => time(), 'port' => $data['port'], 'ip' => fun_ip_get())); - } - } - // 同步登录时间 - $this->update_once('company', array('login_date' => time()), array('uid' => $user['uid'])); - $this->update_once('resume', $resumeData, array('uid' => $user['uid'])); - } - - if(empty($user['usertype'])){ - $return['errcode'] = 2; - $return['msg'] = ''; - }else if(!empty($_COOKIE['wxid'])){ - include_once ('wxredpack.model.php'); - $wxRedPackM = new wxredpack_model($this->db,$this->def); - $wxRedPackM -> sendRedPack(array('type'=>'2','openid'=>$_COOKIE['wxid'])); - $cookie->setcookie('wxid','',time() - 86400); - $return['msg'] = '绑定成功,请按左上方返回进入微信客户端'; - $return['url'] = Url('wap').'member/'; - $return['errcode'] = 9; - }else if(!empty($data['job'])){ - $return['errcode'] = 9; - $return['msg'] = ''; - $return['url'] = Url('wap',array('c'=>'job','a'=>'comapply','id'=>intval($data['job']))); - }else if(!empty($data['checkurl'])){ - $return['errcode'] = 9; - $return['msg'] = ''; - $return['url'] = $data['checkurl']; - }else{ - - if(!empty($data['backurl'])){ - $return['url'] = $data['backurl']; - }else{ - if(!empty($data['num']) && $data['num']!=1 ){ - if(!empty($data['referurl'])){ - $return['url'] = $data['referurl']; - }else{ - $return['url'] = $this->config['sy_weburl'].'/member/index.php'; - } - }else{ - $return['url'] = $_SERVER['HTTP_REFERER']; - } - } - $return['errcode'] = 9; - $return['msg'] = '登录成功'; - } - if (!empty($return['url'])){ - if (strpos($return['url'], 'register') !==false || strpos($return['url'], 'login') !==false || strpos($return['url'], 'setname') !==false || stripos($return['url'], 'forgetpw') !== false || ($return['url'] == $this->config['sy_weburl'] || $return['url'] == $this->config['sy_weburl'].'/') || $return['url'] == Url('wap')){ - if ($data['source'] == 2){ - $return['url'] = Url('wap',array(),'member'); - }else{ - $return['url'] = $this->config['sy_weburl'].'/member/index.php'; - } - } - } - // app 需要token - if (!empty($data['wxapp'])){ - $token = md5($user['username'].$user['password'].$user['salt'].$user['usertype']); - if($user['usertype'] > 0){ - $type = $user['usertype']; - }else{ - $type = 0; - } - $return['user'] = array('uid'=>$user['uid'],'usertype'=>$type,'token'=>$token); - if($user['pid']){ - $return['user']['spid'] = 1; - } - } - - return $return; - }else{ - - return array('msg'=>'用户名或密码不正确!','errcode'=>'8'); - } - return $return; - } - + } + //username验证 + if ($this->config['sy_msg_isopen'] && $this->config['sy_msg_login'] && !empty($data['act_login'])) { + if (!CheckMobile($moblie)) { + return array('msg' => '手机号码格式不正确!', 'errcode' => '8'); + } + // 未注册手机登录直接注册新账号 + $member_arr = $this->getMemberNum(array('moblie' => $moblie)); + + if (!$member_arr || $member_arr == 0) { + $return = $this->regUserByMobile($moblie, $data); + if ($return['errcode'] != 1) { + return $return; + } else { + $regNew = 1; + } + } + $where = array('moblie' => $moblie); + } else { + //验证码判断 手机动态码登录 无需验证验证码 + if ($data['wxapp'] != '1') { + $result = $noticeM->jycheck($data['authcode'], '前台登录'); + if (!empty($result)) { + return array('msg' => $result['msg'], 'errcode' => '8'); + } + } + + if (!CheckRegUser($username) && !CheckRegEmail($username) && ($username != '')) { + return array('msg' => '用户名或密码不正确!', 'errcode' => '8'); + } + + $where = array('username' => $username); + + if (CheckMobile($username)) { + $where['PHPYUNBTWSTART'] = 'OR'; + + $where['moblie'] = $username; + + $where['moblie_status'] = 1; + + $where['PHPYUNBTWEND'] = ''; + + } + //邮箱登录 + if (CheckRegEmail($username)) { + + $where['PHPYUNBTWSTART'] = 'OR'; + + $where['email'] = $username; + + $where['email_status'] = 1; + + $where['PHPYUNBTWEND'] = ''; + } + } + + $user = $this->getInfo($where); + + //开启UC情况下 需要判断UC账户 并进行同步登录 + if ($this->config['sy_uc_type'] == "uc_center" && !$data['act_login']) { + include APP_PATH . 'data/api/uc/config.inc.php'; + include APP_PATH . '/api/uc/include/db_mysql.class.php'; + include APP_PATH . '/api/uc/uc_client/client.php'; + $uname = $username; + + list($uid, $uname, $password, $email) = uc_user_login($uname, $data['password']); + + if ($uid > 0) { + //创建登录同步通知 + $ucsynlogin = uc_user_synlogin($uid); + $return['uclogin'] = $ucsynlogin; + } + } + + //如果系统未找到该用户 转向UC验证 是否UC用户 排除动态码登录 + if (empty($user)) { + //自动将UC账号注册至系统 + if ($uid > 0) { + if ($data['source']) { + $source = $data['source']; + } else { + $source = 1; + } + $salt = substr(uniqid(rand()), -6); + $pass = passCheck($data['password'], $salt); + $adata['username'] = $data['username']; + $adata['password'] = $pass; + $adata['did'] = $this->config['did']; + $adata['status'] = 1; + $adata['salt'] = $salt; + $adata['source'] = $source; + $adata['reg_date'] = time(); + $adata['reg_ip'] = fun_ip_get(); + $adata['usertype'] = 0; + $userid = $this->insert_into('member', $adata); + // + $user = $adata; + $user['uid'] = $userid; + $res = true; + $loginType = 'UC'; + } else { + return array('msg' => '该用户不存在!', 'errcode' => '8'); + } + } else { + if ($user['status'] == '2') { + return array('msg' => '您的账号已被锁定!', 'errcode' => '8', 'url' => Url('register', array('c' => 'ok', 'type' => 2), '1')); + } + + //如果是企业用户,验证企业是否暂停 + if ($user['usertype'] == '2') { + $commember = $this->select_once('company', array('uid' => $user['uid']), 'r_status'); + if ($commember['r_status'] == 4) { + return array('msg' => '您的账号已被暂停!', 'errcode' => '8'); + } + } + + if ($this->config['sy_msg_isopen'] && $this->config['sy_msg_login'] && !empty($data['act_login'])) { + //短信验证码校验 + if ($regNew == 1) { + $companywhere['check'] = $user['moblie']; + } else { + $companywhere['uid'] = $user['uid']; + } + + $companywhere['type'] = 2; + $companywhere['orderby'] = array('ctime,desc'); + + include_once('company.model.php'); + $CompanyM = new company_model($this->db, $this->def); + $cert_arr = $CompanyM->getCertInfo($companywhere); + + if (is_array($cert_arr)) { + $checkTime = $noticeM->checkTime($cert_arr['ctime']); + if ($checkTime) { + $res = $data['password'] == $cert_arr['check2']; + if (!$res) { + return array('msg' => '短信验证码错误!', 'errcode' => '8'); + } + } else { + return array('msg' => '验证码验证超时,请重新点击发送验证码!', 'errcode' => '8'); + } + } else { + return array('msg' => '验证码发送不成功,请重新点击发送短信验证码!', 'errcode' => '8'); + } + $loginType = '短信验证码'; + } else { + //普通密码校验 + $res = passCheck($data['password'], $user['salt'], $user['password']); + $loginType = '账号'; + } + } + + if ($res) { + //更新用户QQ互联ID + if (session_id() == '') { + session_start(); + } + if (!empty($_SESSION['qq']['openid'])) { + if ($_SESSION['qq']['unionid']) { + $qqdata = array( + 'qqid' => $_SESSION['qq']['openid'], + 'qqunionid' => $_SESSION['qq']['unionid'] + ); + } else { + $qqdata = array( + 'qqid' => $_SESSION['qq']['openid'] + ); + } + $this->upInfo(array('username' => $user['username']), $qqdata); + unset($_SESSION['qq']); + } + //更新用户微信unionid + if (!empty($_SESSION['wx']['openid'])) { + if ($_SESSION['wx']['unionid']) { + $udate = array( + 'wxid' => $_SESSION['wx']['openid'], + 'unionid' => $_SESSION['wx']['unionid'] + ); + } else { + $udate = array( + 'wxid' => $_SESSION['wx']['openid'] + ); + } + $this->upInfo($udate, array('wxid' => '', 'wxid' => '')); + $this->upInfo(array('username' => $user['username']), $udate); + unset($_SESSION['wx']); + } elseif ($_COOKIE['wxid']) { + + if ($_COOKIE['unionid']) { + $udate = array( + 'wxid' => $_COOKIE['wxid'], + 'unionid' => $_COOKIE['unionid'] + ); + } else { + $udate = array( + 'wxid' => $_COOKIE['wxid'] + ); + } + $this->upInfo($udate, array('wxid' => '', 'wxid' => '')); + $this->upInfo(array('username' => $user['username']), $udate); + } + //更新用户新浪sinaid + if (!empty($_SESSION['sina']['openid'])) { + $this->upInfo(array('username' => $user['username']), array('sinaid' => $_SESSION['sina']['openid'])); + unset($_SESSION['sina']); + } + //马甲app内绑定登录 + if (!empty($_SESSION['mag']['user_id'])) { + $this->upInfo(array('maguid' => $_SESSION['mag']['user_id']), array('maguid' => '')); + $this->upInfo(array('uid' => $user['uid']), array('maguid' => $_SESSION['mag']['user_id'])); + unset($_SESSION['mag']); + } + //千帆云app内绑定登录 + if (!empty($data['qfyuid'])) { + $this->upInfo(array('qfyuid' => $data['qfyuid']), array('qfyuid' => '')); + $this->upInfo(array('uid' => $user['uid']), array('qfyuid' => $data['qfyuid'])); + } + + // 非APP/小程序cookie设置 + if (empty($data['wxapp'])) { + + require_once('cookie.model.php'); + $cookie = new cookie_model($this->db, $this->def); + + $cookie->unset_cookie(); + $cookie->add_cookie($user['uid'], $user['username'], $user['salt'], $user['email'], $user['password'], $user['usertype'], $this->config['sy_logintime'], $user['did']); + } + //会员登录信息变更 + $ip = fun_ip_get(); + $upLogin = array( + 'login_ip' => $ip, + 'login_date' => time(), + 'login_hits' => array('+', 1) + ); + if (!empty($data['wxapp'])) { + if (!empty($data['clientid'])) { + $upLogin['clientid'] = $data['clientid']; + $upLogin['deviceToken'] = $data['deviceToken']; + //清除其他账号clientid + $this->clearPushId($data['clientid'], $user['uid']); + } + } + $this->upInfo(array('uid' => $user['uid']), $upLogin); + + if (!empty($user['usertype'])) { + + require_once('log.model.php'); + $LogM = new log_model($this->db, $this->def); + //会员日志,记录登录 + $loginType .= $LogM->LoginType($data); + $LogM->addMemberLog($user['uid'], $user['usertype'], $loginType); + + $logtime = date('Ymd', $user['login_date']); + $nowtime = date('Ymd', time()); + if ($logtime != $nowtime) { + //登录积分 + include_once('integral.model.php'); + $integralM = new integral_model($this->db, $this->def); + $integralM->invtalCheck($user['uid'], $user['usertype'], 'integral_login', '会员登录', 22); + //登录日志 + $logdata['uid'] = $user['uid']; + $logdata['usertype'] = $user['usertype']; + $logdata['did'] = $user['did']; + + $LogM->addLoginlog($logdata, $data); + } + $resumeData = array('login_date' => time()); + // 个人登录自动刷新简历 + if ($this->config['resume_sx'] == 1 && $user['usertype'] == 1) { + + $expect = $this->select_once('resume_expect', array('uid' => $user['uid'], 'defaults' => 1), '`id`'); + if (empty($expect)) { + $expect = $this->select_once('resume_expect', array('uid' => $user['uid'], 'orderby' => '`id`'), '`id`'); + } + if (!empty($expect)) { + $this->update_once('resume_expect', array('lastupdate' => time()), array('id' => $expect['id'])); + $resumeData['lastupdate'] = time(); + + $LogM->addResumeSxLog(array('uid' => $user['uid'], 'resume_id' => $expect['id'], 'r_time' => time(), 'port' => $data['port'], 'ip' => fun_ip_get())); + } + } + // 同步登录时间 + $this->update_once('company', array('login_date' => time()), array('uid' => $user['uid'])); + $this->update_once('resume', $resumeData, array('uid' => $user['uid'])); + } + + if (empty($user['usertype'])) { + $return['errcode'] = 2; + $return['msg'] = ''; + } else if (!empty($_COOKIE['wxid'])) { + include_once('wxredpack.model.php'); + $wxRedPackM = new wxredpack_model($this->db, $this->def); + $wxRedPackM->sendRedPack(array('type' => '2', 'openid' => $_COOKIE['wxid'])); + $cookie->setcookie('wxid', '', time() - 86400); + $return['msg'] = '绑定成功,请按左上方返回进入微信客户端'; + $return['url'] = Url('wap') . 'member/'; + $return['errcode'] = 9; + } else if (!empty($data['job'])) { + $return['errcode'] = 9; + $return['msg'] = ''; + $return['url'] = Url('wap', array('c' => 'job', 'a' => 'comapply', 'id' => intval($data['job']))); + } else if (!empty($data['checkurl'])) { + $return['errcode'] = 9; + $return['msg'] = ''; + $return['url'] = $data['checkurl']; + } else { + + if (!empty($data['backurl'])) { + $return['url'] = $data['backurl']; + } else { + if (!empty($data['num']) && $data['num'] != 1) { + if (!empty($data['referurl'])) { + $return['url'] = $data['referurl']; + } else { + $return['url'] = $this->config['sy_weburl'] . '/member/index.php'; + } + } else { + $return['url'] = $_SERVER['HTTP_REFERER']; + } + } + $return['errcode'] = 9; + $return['msg'] = '登录成功'; + } + if (!empty($return['url'])) { + if (strpos($return['url'], 'register') !== false || strpos($return['url'], 'login') !== false || strpos($return['url'], 'setname') !== false || stripos($return['url'], 'forgetpw') !== false || ($return['url'] == $this->config['sy_weburl'] || $return['url'] == $this->config['sy_weburl'] . '/') || $return['url'] == Url('wap')) { + if ($data['source'] == 2) { + $return['url'] = Url('wap', array(), 'member'); + } else { + $return['url'] = $this->config['sy_weburl'] . '/member/index.php'; + } + } + } + // app 需要token + if (!empty($data['wxapp'])) { + $token = md5($user['username'] . $user['password'] . $user['salt'] . $user['usertype']); + if ($user['usertype'] > 0) { + $type = $user['usertype']; + } else { + $type = 0; + } + $return['user'] = array('uid' => $user['uid'], 'usertype' => $type, 'token' => $token); + if ($user['pid']) { + $return['user']['spid'] = 1; + } + } + } else { + $return = array('msg' => '用户名或密码不正确!', 'errcode' => '8'); + } + return $return; + } + /** * 手机登录,直接注册 * @param String $moblie 未注册手机号登录,直接注册新会员 * @return int[] */ - private function regUserByMobile($moblie, $data = array()) - { - - include_once ('company.model.php'); - include_once ('notice.model.php'); - require_once('cookie.model.php'); - - $cookie = new cookie_model($this->db,$this->def); - $noticeM = new notice_model($this->db, $this->def); - $return = array('errcode'=>8); - - $usertype = 0; - $ip = fun_ip_get(); - $code = $data['password']; - - $CompanyM = new company_model($this->db, $this->def); - $cert_arr = $CompanyM->getCertInfo(array('type' => '2', 'check' => $moblie,'orderby'=>'ctime,desc')); + private function regUserByMobile($moblie, $data = array()) { + + include_once('company.model.php'); + include_once('notice.model.php'); + require_once('cookie.model.php'); + + $cookie = new cookie_model($this->db, $this->def); + $noticeM = new notice_model($this->db, $this->def); + $return = array('errcode' => 8); + + $usertype = 0; + $ip = fun_ip_get(); + $code = $data['password']; + + $CompanyM = new company_model($this->db, $this->def); + $cert_arr = $CompanyM->getCertInfo(array('type' => '2', 'check' => $moblie, 'orderby' => 'ctime,desc')); if (is_array($cert_arr)) { - $checkTime = $noticeM->checkTime($cert_arr['ctime']); - if($checkTime){ - $res = $code == $cert_arr['check2'] ? true : false; - if($res == false){ - return array('msg'=>'短信验证码错误!','errcode'=>'8'); + $checkTime = $noticeM->checkTime($cert_arr['ctime']); + if ($checkTime) { + $res = $code == $cert_arr['check2'] ? true : false; + if ($res == false) { + return array('msg' => '短信验证码错误!', 'errcode' => '8'); } - }else { - return array('msg'=>'验证码验证超时,请重新点击发送验证码!','errcode'=>'8'); + } else { + return array('msg' => '验证码验证超时,请重新点击发送验证码!', 'errcode' => '8'); } - }else { - return array('msg'=>'验证码发送不成功,请重新点击发送短信验证码!','errcode'=>'8'); + } else { + return array('msg' => '验证码发送不成功,请重新点击发送短信验证码!', 'errcode' => '8'); } - - $data['username'] = $moblie; - - $password = mt_rand(111111,999999); - - if($this->config['sy_uc_type']=="uc_center"){ - include APP_PATH.'data/api/uc/config.inc.php'; - include APP_PATH.'/api/uc/include/db_mysql.class.php'; - include APP_PATH.'/api/uc/uc_client/client.php'; - - $ucusername = $data['username']; - $ucemail = $ucinfo['UC_EMAIL']; - - $uid = uc_user_register($ucusername, $password, $ucemail); - - list($uid,$username,$password,$email,$salt) = uc_user_login($ucusername,$password); - $pass = md5(md5($password).$salt); - - }elseif($this->config['sy_pw_type']=='pw_center'){ - include(APP_PATH.'/api/pw_api/pw_client_class_phpapp.php'); - $email = ''; - $pw = new PwClientAPI($data['username'],$password,$email); - $pwuid = $pw->register(); - $salt = substr(uniqid(rand()), -6); - $pass = passCheck($password, $salt); - }else{ - $salt = substr(uniqid(rand()), -6); - $pass = passCheck($password, $salt); - } - - if($_COOKIE['wxid']){ - $source = '9'; - }elseif($_SESSION['wx']['openid']){ - $source = '4'; - }elseif($_SESSION['qq']['openid']){ - $source = '8'; - }elseif($_SESSION['sina']['openid']){ - $source = '10'; - }elseif($data['source']){ - $source = $data['source']; - }else{ - $source = 1; - } - - /* 生成uid */ - $adata['username'] = $data['username']; - $adata['password'] = $pass; - $adata['email'] = ''; - $adata['moblie'] = $moblie; - $adata['moblie_status'] = 1; - $adata['did'] = !empty($data['did']) ? $data['did'] : $this->config['did']; - $adata['status'] = 1; - $adata['salt'] = $salt; - $adata['source'] = $source; - $adata['reg_date'] = time(); - $adata['reg_ip'] = $ip; - $adata['qqid'] = $_SESSION['qq']['openid']; - $adata['sinaid'] = $_SESSION['sina']['openid']; - $adata['wxid'] = $_SESSION['wx']['openid']; - $adata['usertype'] = 0; - $adata['maguid'] = $_SESSION['mag']['user_id']; - $adata['qfyuid'] = $_POST['qfyuid']; - - $userid = $this->insert_into('member',$adata); - - // 容错机制,防止插入表没返回UID - if (!$userid){ - - $user_id = $this->getInfo(array('username'=>$data['username']),array('field'=>'uid')); - $userid = $user_id['uid']; + + $data['username'] = $moblie; + + $password = mt_rand(111111, 999999); + + if ($this->config['sy_uc_type'] == "uc_center") { + include APP_PATH . 'data/api/uc/config.inc.php'; + include APP_PATH . '/api/uc/include/db_mysql.class.php'; + include APP_PATH . '/api/uc/uc_client/client.php'; + + $ucusername = $data['username']; + $ucemail = $ucinfo['UC_EMAIL']; + + $uid = uc_user_register($ucusername, $password, $ucemail); + + list($uid, $username, $password, $email, $salt) = uc_user_login($ucusername, $password); + $pass = md5(md5($password) . $salt); + + } elseif ($this->config['sy_pw_type'] == 'pw_center') { + include(APP_PATH . '/api/pw_api/pw_client_class_phpapp.php'); + $email = ''; + $pw = new PwClientAPI($data['username'], $password, $email); + $pwuid = $pw->register(); + $salt = substr(uniqid(rand()), -6); + $pass = passCheck($password, $salt); + } else { + $salt = substr(uniqid(rand()), -6); + $pass = passCheck($password, $salt); } - - if($userid){ - - $cookie->unset_cookie(); - - if($this->config['sy_pw_type']=='pw_center'){ - $this->upInfo(array('pwuid'=>$pwuid),array('uid'=>$userid)); - } - - //处理注册赠送优惠券 - if($this->config['reg_coupon']){ - $coupon = $this->select_once('coupon',array('id'=>$this->config['reg_coupon'])); - $cdata['uid'] = $userid; - $cdata['number'] = time(); - $cdata['ctime'] = time(); - $cdata['coupon_id'] = $coupon['id']; - $cdata['coupon_name'] = $coupon['name']; - $cdata['validity'] = time()+$coupon['time']*86400; - $cdata['coupon_amount'] = $coupon['amount']; - $cdata['coupon_scope'] = $coupon['scope']; - $this->insert_into('coupon_list',$cdata); - } - - if(checkMsgOpen($this -> config)){ - - $noticeM->sendSMSType(array('name'=>$data['username'],'username'=>$data['username'],'password'=>$password,'moblie'=>$moblie,'type'=>'reg','uid'=>$userid,'port' => $data['port'])); - } - - - $this->upInfo(array('uid'=>$userid),array('login_date'=>time(),'login_ip'=>$ip)); - - $return['msg'] = '注册成功'; - $return['errcode'] = 1; - - - if (!empty($data['wxapp'])){ - // wxapp 需要token - $token = md5($data['username'].$pass.$salt.'0'); - $return['user'] = array('uid'=>$userid,'usertype'=>0,'token'=>$token); - - if (!empty($data['clientid'])){ - //清除其他账号clientid - $this->clearPushId($data['clientid'], $userid); - } - }else{ - // 浏览器需要cookie - $cookie->add_cookie($userid,$data['username'],$salt,$data['email'],$pass,'',$this->config['sy_logintime'],$adata['did']); - } - - return $return; - }else{ - - $return['msg'] = '注册失败'; - $this -> addErrorLog('', 1,$return['msg']); - $return['errcode'] = 8; - return $return; - } - } - + + if ($_COOKIE['wxid']) { + $source = '9'; + } elseif ($_SESSION['wx']['openid']) { + $source = '4'; + } elseif ($_SESSION['qq']['openid']) { + $source = '8'; + } elseif ($_SESSION['sina']['openid']) { + $source = '10'; + } elseif ($data['source']) { + $source = $data['source']; + } else { + $source = 1; + } + + /* 生成uid */ + $adata['username'] = $data['username']; + $adata['password'] = $pass; + $adata['email'] = ''; + $adata['moblie'] = $moblie; + $adata['moblie_status'] = 1; + $adata['did'] = !empty($data['did']) ? $data['did'] : $this->config['did']; + $adata['status'] = 1; + $adata['salt'] = $salt; + $adata['source'] = $source; + $adata['reg_date'] = time(); + $adata['reg_ip'] = $ip; + $adata['qqid'] = $_SESSION['qq']['openid']; + $adata['sinaid'] = $_SESSION['sina']['openid']; + $adata['wxid'] = $_SESSION['wx']['openid']; + $adata['usertype'] = 0; + $adata['maguid'] = $_SESSION['mag']['user_id']; + $adata['qfyuid'] = $_POST['qfyuid']; + + $userid = $this->insert_into('member', $adata); + + // 容错机制,防止插入表没返回UID + if (!$userid) { + + $user_id = $this->getInfo(array('username' => $data['username']), array('field' => 'uid')); + $userid = $user_id['uid']; + } + + if ($userid) { + + $cookie->unset_cookie(); + + if ($this->config['sy_pw_type'] == 'pw_center') { + $this->upInfo(array('pwuid' => $pwuid), array('uid' => $userid)); + } + + //处理注册赠送优惠券 + if ($this->config['reg_coupon']) { + $coupon = $this->select_once('coupon', array('id' => $this->config['reg_coupon'])); + $cdata['uid'] = $userid; + $cdata['number'] = time(); + $cdata['ctime'] = time(); + $cdata['coupon_id'] = $coupon['id']; + $cdata['coupon_name'] = $coupon['name']; + $cdata['validity'] = time() + $coupon['time'] * 86400; + $cdata['coupon_amount'] = $coupon['amount']; + $cdata['coupon_scope'] = $coupon['scope']; + $this->insert_into('coupon_list', $cdata); + } + + if (checkMsgOpen($this->config)) { + + $noticeM->sendSMSType(array('name' => $data['username'], 'username' => $data['username'], 'password' => $password, 'moblie' => $moblie, 'type' => 'reg', 'uid' => $userid, 'port' => $data['port'])); + } + + + $this->upInfo(array('uid' => $userid), array('login_date' => time(), 'login_ip' => $ip)); + + $return['msg'] = '注册成功'; + $return['errcode'] = 1; + + + if (!empty($data['wxapp'])) { + // wxapp 需要token + $token = md5($data['username'] . $pass . $salt . '0'); + $return['user'] = array('uid' => $userid, 'usertype' => 0, 'token' => $token); + + if (!empty($data['clientid'])) { + //清除其他账号clientid + $this->clearPushId($data['clientid'], $userid); + } + } else { + // 浏览器需要cookie + $cookie->add_cookie($userid, $data['username'], $salt, $data['email'], $pass, '', $this->config['sy_logintime'], $adata['did']); + } + + return $return; + } else { + + $return['msg'] = '注册失败'; + $this->addErrorLog('', 1, $return['msg']); + $return['errcode'] = 8; + return $return; + } + } + /** * 注册 * - * @param array $data $data['uid'] $data['usertype'] + * @param array $data $data['uid'] $data['usertype'] * @return mixed */ - public function userReg($data = array()){ - - if($data['moblie']){ - $resume_info = $this->getUserInfo(array('telphone'=>$data['moblie'] , 'moblie_status'=>'1') , array('usertype'=>'1','field'=>'uid,name')); - $company_info = $this->getUserInfo(array('linktel'=>$data['moblie'] , 'moblie_status'=>'1'),array('usertype'=>'2','field'=>'uid,name')); - $lt_info = $this->getUserInfo(array('moblie'=>$data['moblie'] , 'moblie_status'=>'1'),array('usertype'=>'3','field'=>'uid,realname')); - $px_info = $this->getUserInfo(array('linktel'=>$data['moblie'] , 'moblie_status'=>'1'),array('usertype'=>'4','field'=>'uid,name')); - $m_info = $this->getInfo(array('moblie' => $data['moblie'], 'username' => array('=', $data['moblie'], 'OR')),array('field'=>'`uid`,`usertype`,`username`,`moblie`')); - }elseif($data['email']){ - $resume_info = $this->getUserInfo(array('email'=>$data['email'] , 'moblie_status'=>'1') ,array('usertype'=>'1','field'=>'uid,name')); - $company_info = $this->getUserInfo(array('linkmail'=>$data['email'] , 'moblie_status'=>'1') ,array('usertype'=>'2','field'=>'uid,name')); - $lt_info = $this->getUserInfo(array('email'=>$data['email'] , 'moblie_status'=>'1') ,array('usertype'=>'3','field'=>'uid,realname')); - $px_info = $this->getUserInfo(array('linkmail'=>$data['email'] , 'moblie_status'=>'1') ,array('usertype'=>'4','field'=>'uid,name')); - $m_info = $this->getInfo(array('email' => $data['email'], 'username' => array('=', $data['email'], 'OR')),array('field'=>'`uid`,`usertype`,`username`,`email`')); - } - - if($resume_info){ - - $rdata['name'] = $resume_info['name']; - $rdata['uid'] = $resume_info['uid']; - $rdata['usertype'] = '1'; - }else if($company_info){ - - $rdata['name'] = $company_info['name']; - $rdata['uid'] = $company_info['uid']; - $rdata['usertype'] = '2'; - }else if($lt_info){ - - $rdata['name'] = $lt_info['realname']; - $rdata['uid'] = $lt_info['uid']; - $rdata['usertype'] = '3'; - }else if($px_info){ - - $rdata['name'] = $px_info['name']; - $rdata['uid'] = $px_info['uid']; - $rdata['usertype'] = '4'; - }else if($m_info){ - - if($m_info['usertype']=='1'){ - - $info = $this->getUserInfo(array('uid'=>$m_info['uid']),array('usertype'=>'1','field'=>'name')); - $rdata['name'] = $info['name']; - }else if($m_info['usertype']=='2'){ - - $info = $this->getUserInfo(array('uid'=>$m_info['uid']),array('usertype'=>'2','field'=>'name')); - $rdata['name'] = $info['name']; - }else if($m_info['usertype']=='3'){ - - $info = $this->getUserInfo(array('uid'=>$m_info['uid']),array('usertype'=>'3','field'=>'realname')); - $rdata['name'] = $info['realname']; - }else if($m_info['usertype']=='4'){ - - $info = $this->getUserInfo(array('uid'=>$m_info['uid']),array('usertype'=>'4','field'=>'name')); - $rdata['name'] = $info['name']; - } - - $rdata['uid'] = $m_info['uid']; - $rdata['usertype'] = $m_info['usertype']; - } - - if($rdata!=null){ - - $return['data'] = $rdata; - return $return; - } - if($this->config['sy_web_mobile']!=''){ - - $regnamer = @explode(';',$this->config['sy_web_mobile']); - if(in_array($data['moblie'],$regnamer)){ - - $return['errcode'] = 2; - } - } - $return['errcode'] = 0; - - return $return; - } - + public function userReg($data = array()) { + + if ($data['moblie']) { + $resume_info = $this->getUserInfo(array('telphone' => $data['moblie'], 'moblie_status' => '1'), array('usertype' => '1', 'field' => 'uid,name')); + $company_info = $this->getUserInfo(array('linktel' => $data['moblie'], 'moblie_status' => '1'), array('usertype' => '2', 'field' => 'uid,name')); + $lt_info = $this->getUserInfo(array('moblie' => $data['moblie'], 'moblie_status' => '1'), array('usertype' => '3', 'field' => 'uid,realname')); + $px_info = $this->getUserInfo(array('linktel' => $data['moblie'], 'moblie_status' => '1'), array('usertype' => '4', 'field' => 'uid,name')); + $m_info = $this->getInfo(array('moblie' => $data['moblie'], 'username' => array('=', $data['moblie'], 'OR')), array('field' => '`uid`,`usertype`,`username`,`moblie`')); + } elseif ($data['email']) { + $resume_info = $this->getUserInfo(array('email' => $data['email'], 'moblie_status' => '1'), array('usertype' => '1', 'field' => 'uid,name')); + $company_info = $this->getUserInfo(array('linkmail' => $data['email'], 'moblie_status' => '1'), array('usertype' => '2', 'field' => 'uid,name')); + $lt_info = $this->getUserInfo(array('email' => $data['email'], 'moblie_status' => '1'), array('usertype' => '3', 'field' => 'uid,realname')); + $px_info = $this->getUserInfo(array('linkmail' => $data['email'], 'moblie_status' => '1'), array('usertype' => '4', 'field' => 'uid,name')); + $m_info = $this->getInfo(array('email' => $data['email'], 'username' => array('=', $data['email'], 'OR')), array('field' => '`uid`,`usertype`,`username`,`email`')); + } + + if ($resume_info) { + + $rdata['name'] = $resume_info['name']; + $rdata['uid'] = $resume_info['uid']; + $rdata['usertype'] = '1'; + } else if ($company_info) { + + $rdata['name'] = $company_info['name']; + $rdata['uid'] = $company_info['uid']; + $rdata['usertype'] = '2'; + } else if ($lt_info) { + + $rdata['name'] = $lt_info['realname']; + $rdata['uid'] = $lt_info['uid']; + $rdata['usertype'] = '3'; + } else if ($px_info) { + + $rdata['name'] = $px_info['name']; + $rdata['uid'] = $px_info['uid']; + $rdata['usertype'] = '4'; + } else if ($m_info) { + + if ($m_info['usertype'] == '1') { + + $info = $this->getUserInfo(array('uid' => $m_info['uid']), array('usertype' => '1', 'field' => 'name')); + $rdata['name'] = $info['name']; + } else if ($m_info['usertype'] == '2') { + + $info = $this->getUserInfo(array('uid' => $m_info['uid']), array('usertype' => '2', 'field' => 'name')); + $rdata['name'] = $info['name']; + } else if ($m_info['usertype'] == '3') { + + $info = $this->getUserInfo(array('uid' => $m_info['uid']), array('usertype' => '3', 'field' => 'realname')); + $rdata['name'] = $info['realname']; + } else if ($m_info['usertype'] == '4') { + + $info = $this->getUserInfo(array('uid' => $m_info['uid']), array('usertype' => '4', 'field' => 'name')); + $rdata['name'] = $info['name']; + } + + $rdata['uid'] = $m_info['uid']; + $rdata['usertype'] = $m_info['usertype']; + } + + if ($rdata != null) { + + $return['data'] = $rdata; + return $return; + } + if ($this->config['sy_web_mobile'] != '') { + + $regnamer = @explode(';', $this->config['sy_web_mobile']); + if (in_array($data['moblie'], $regnamer)) { + + $return['errcode'] = 2; + } + } + $return['errcode'] = 0; + + return $return; + } + /** * 注册 * $data 处理的数据 * @param array $data * @return int[] */ - public function userRegSave($data = array()) - { - - include_once ('notice.model.php'); - $noticeM = new notice_model($this->db, $this->def); - - $return = array('errcode'=>8); - - if($this->config['reg_user_stop']!=1){ - $return['msg'] = '网站已关闭注册!'; - $return['errcode'] = 8; - return $return; - } - - if(!empty($data['uid'])){ - $return['msg'] = '您已经登录了!'; - $return['errcode'] = 8; - return $return; - } - - $ip = fun_ip_get(); - - if($this->config['sy_reg_interval']>0){ - - $intervaltime = time() - 3600 * $this->config['sy_reg_interval']; - - $regnum = $this -> getMemberNum(array('reg_ip' => $ip , 'reg_date' => array('>=', $intervaltime))); - - if($regnum){ - $return['errcode'] = 8; - $return['msg'] = '请勿频繁注册!'; - - return $return; - } - } - - //关闭用户名注册 - if($data['codeid']=='1' && $this->config['reg_user']!='1'){ - - $return['msg'] = '网站已关闭用户名注册!'; - $return['errcode'] = 8; - return $return; - } - //关闭手机注册 - if($data['codeid']=='2' && $this->config['reg_moblie']!='1'){ - - $return['msg'] = '网站已关闭手机注册!'; - $return['errcode'] = 8; - return $return; - } - //关闭邮箱注册 - if($data['codeid']=='3' && $this->config['reg_email']!='1'){ - - $return['msg'] = '网站已关闭邮箱注册!'; - $return['errcode'] = 8; - return $return; - } - + public function userRegSave($data = array()) { + + include_once('notice.model.php'); + $noticeM = new notice_model($this->db, $this->def); + + $return = array('errcode' => 8); + + if ($this->config['reg_user_stop'] != 1) { + $return['msg'] = '网站已关闭注册!'; + $return['errcode'] = 8; + return $return; + } + + if (!empty($data['uid'])) { + $return['msg'] = '您已经登录了!'; + $return['errcode'] = 8; + return $return; + } + + $ip = fun_ip_get(); + + if ($this->config['sy_reg_interval'] > 0) { + + $intervaltime = time() - 3600 * $this->config['sy_reg_interval']; + + $regnum = $this->getMemberNum(array('reg_ip' => $ip, 'reg_date' => array('>=', $intervaltime))); + + if ($regnum) { + $return['errcode'] = 8; + $return['msg'] = '请勿频繁注册!'; + + return $return; + } + } + + //关闭用户名注册 + if ($data['codeid'] == '1' && $this->config['reg_user'] != '1') { + + $return['msg'] = '网站已关闭用户名注册!'; + $return['errcode'] = 8; + return $return; + } + //关闭手机注册 + if ($data['codeid'] == '2' && $this->config['reg_moblie'] != '1') { + + $return['msg'] = '网站已关闭手机注册!'; + $return['errcode'] = 8; + return $return; + } + //关闭邮箱注册 + if ($data['codeid'] == '3' && $this->config['reg_email'] != '1') { + + $return['msg'] = '网站已关闭邮箱注册!'; + $return['errcode'] = 8; + return $return; + } + if ($this->config['sy_reg_type'] == 2) { - + if ($data['reg_type'] == 1) { - + if ($this->config['sy_resumename_num'] == 1) { - + if (!$data['reg_name'] || !preg_match("/^[\x{4e00}-\x{9fa5}]{2,6}$/u", $data['reg_name'])) { - + $return['msg'] = '姓名请输入2-6位汉字!'; $return['errcode'] = 8; return $return; } } } else if ($data['reg_type'] == 2) { - + $comNum = $this->select_num(array('name' => $data['reg_name'])); - + if ((int)$comNum > 0) { - $return['msg'] = '企业名称已存在!'; - $return['errcode'] = 8; + $return['msg'] = '企业名称已存在!'; + $return['errcode'] = 8; return $return; } } } - - /* 用户名注册 */ + + /* 用户名注册 */ if ($data['codeid'] == '1') { - - $data['username'] = str_replace('!', '!', $data['username']); - $username = $data['username']; - $msg = regUserNameComplex($username);//检测用户名复杂度 - + + $data['username'] = str_replace('!', '!', $data['username']); + $username = $data['username']; + $msg = regUserNameComplex($username);//检测用户名复杂度 + if ($username == '') { - - $return['msg'] = '用户名不能为空!'; + + $return['msg'] = '用户名不能为空!'; } elseif (CheckRegUser($username) == false && CheckRegEmail($username) == false) { - - $return['msg'] = '用户名不得包含特殊字符!'; + + $return['msg'] = '用户名不得包含特殊字符!'; } elseif ($msg != '') { - - $return['msg'] = $msg; + + $return['msg'] = $msg; } else { - - $usernameNum = $this->getMemberNum(array('username' => $username)); + + $usernameNum = $this->getMemberNum(array('username' => $username)); if ($usernameNum > 0) { $return['msg'] = '用户名已存在,请重新输入!'; } } - + if ($return['msg']) { - $return['errcode'] = 8; + $return['errcode'] = 8; return $return; } } - - /* 是否要输入手机号 */ - $needMobile = false; + + /* 是否要输入手机号 */ + $needMobile = false; if ($data['codeid'] == 2) { - $needMobile = true; + $needMobile = true; } else if ($this->config['reg_real_name_check'] == 1) { - $needMobile = true; + $needMobile = true; } if ($needMobile) { if ($data['moblie'] == '') { - $return['msg'] = '手机号码不能为空!'; + $return['msg'] = '手机号码不能为空!'; } elseif (!CheckMobile($data['moblie'])) { - $return['msg'] = '手机格式错误!'; + $return['msg'] = '手机格式错误!'; } else { - $moblieNum = $this->getMemberNum(array('moblie' => $data['moblie'])); + $moblieNum = $this->getMemberNum(array('moblie' => $data['moblie'])); if ($moblieNum > 0) { - $return['msg'] = '手机已存在!'; + $return['msg'] = '手机已存在!'; } } if ($return['msg']) { - $return['errcode'] = 8; + $return['errcode'] = 8; return $return; } } - - /* 是否要输入email */ - $needEmail = false; + + /* 是否要输入email */ + $needEmail = false; if ($data['codeid'] == 3) { - $needEmail = true; + $needEmail = true; } if ($needEmail) { if ($data['email'] == '') { @@ -3092,41 +3077,41 @@ return $return; } } - - /* 是否验证短信验证码 */ + + /* 是否验证短信验证码 */ $needMsg = false; - + if ($data['codeid'] == 2 && $this->config['sy_msg_regcode'] == '1') { $needMsg = true; } else if ($this->config['reg_real_name_check'] == 1) { $needMsg = true; } if ($needMsg) { - + $regCertMobile = $this->select_once('company_cert', array('type' => '2', 'check' => $data['moblie'], 'orderby' => 'ctime,desc'), '`check2`,`ctime`'); $codeTime = $noticeM->checkTime($regCertMobile['ctime']); if ($data['moblie_code'] == '') { - + $return['msg'] = '短信验证码不能为空!'; $return['errcode'] = 8; return $return; } elseif (!$codeTime) { - + $return['msg'] = '短信验证码验证超时,请重新点击发送验证码!'; $return['errcode'] = 8; return $return; } elseif ($regCertMobile['check2'] != $data['moblie_code']) { - + $return['msg'] = '短信验证码错误!'; $return['errcode'] = 8; return $return; } else { - + $adata['moblie_status'] = '1'; } } - - /* 已通过短信验证,则不需要极验证、图片验证 */ + + /* 已通过短信验证,则不需要极验证、图片验证 */ if ($data['wxapp'] != 1) { if (!$needMsg) { $result = $noticeM->jycheck($data['code'], '注册会员'); @@ -3137,44 +3122,44 @@ } } } - - /* 手机注册和邮箱注册 */ + + /* 手机注册和邮箱注册 */ if ($data['codeid'] == '2') { $data['username'] = $data['moblie']; } elseif ($data['codeid'] == '3') { $data['username'] = $data['email']; } - - $password = $data['password']; - - $pwmsg = regPassWordComplex($password);//检测用户名复杂度 + + $password = $data['password']; + + $pwmsg = regPassWordComplex($password);//检测用户名复杂度 /* 密码 */ if ($data['password'] == '') { - + $return['msg'] = '密码不能为空!'; $return['errcode'] = 8; return $return; } elseif (mb_strlen($data['password']) < 6 || mb_strlen($data['password']) > 20) { - + $return['msg'] = '密码长度应在6-20位!'; $return['errcode'] = 8; return $return; } elseif ($pwmsg != '') { - + $return['msg'] = $pwmsg; $return['errcode'] = 8; return $return; } - - if($data['username']){ + + if ($data['username']) { $nid = $this->getMemberNum(array('username' => $data['username'])); - + if ($nid) { $return['msg'] = '账户名已存在!'; $return['errcode'] = 8; return $return; } - + if ($this->config['sy_uc_type'] == "uc_center") { include APP_PATH . 'data/api/uc/config.inc.php'; include APP_PATH . '/api/uc/include/db_mysql.class.php'; @@ -3226,7 +3211,7 @@ $salt = substr(uniqid(rand()), -6); $pass = passCheck($data['password'], $salt); } - + if (isset($_COOKIE['wxid'])) { $source = '9'; } elseif (isset($_SESSION['wx']['openid'])) { @@ -3240,8 +3225,8 @@ } else { $source = 1; } - - /* 生成uid */ + + /* 生成uid */ $adata['username'] = $data['username']; $adata['password'] = $pass; $adata['email'] = $data['email']; @@ -3255,14 +3240,14 @@ $adata['qqid'] = $_SESSION['qq']['openid']; $adata['sinaid'] = $_SESSION['sina']['openid']; $adata['wxid'] = $_SESSION['wx']['openid']; - + // 小程序邀请注册 $adata['regcode'] = isset($data['fromUser']) ? $data['fromUser'] : (int)$_COOKIE['regcode']; - + if ($this->config['sy_reg_type'] == 2) { - - $adata['usertype'] = $data['reg_type']; - + + $adata['usertype'] = $data['reg_type']; + if (isset($data['wxapp'])) { if (isset($data['bdopenid'])) { $adata['bdopenid'] = $data['bdopenid']; @@ -3283,186 +3268,185 @@ $adata['qqunionid'] = $data['qqunionid']; } } - - if (isset($data['reg_qq'])){ - - $adata['qqid'] = $data['reg_qq']['openid']; - $adata['qqunionid'] = $data['reg_qq']['unionid']; - }elseif (isset($data['reg_weixin'])){ - - $adata['wxid'] = $data['reg_weixin']['openid']; // 公众号openid - - $adata['unionid'] = $data['reg_weixin']['unionid']; - }elseif (isset($data['reg_sina'])){ - - $adata['sinaid'] = $data['reg_sina']['openid']; + + if (isset($data['reg_qq'])) { + + $adata['qqid'] = $data['reg_qq']['openid']; + $adata['qqunionid'] = $data['reg_qq']['unionid']; + } elseif (isset($data['reg_weixin'])) { + + $adata['wxid'] = $data['reg_weixin']['openid']; // 公众号openid + + $adata['unionid'] = $data['reg_weixin']['unionid']; + } elseif (isset($data['reg_sina'])) { + + $adata['sinaid'] = $data['reg_sina']['openid']; } } else { - + $adata['usertype'] = 0; } - + $adata['maguid'] = $_SESSION['mag']['user_id']; $adata['qfyuid'] = $_POST['qfyuid']; - - //马甲app内注册的 - if(isset($_SESSION['mag'])){ - unset($_SESSION['mag']); - } - - if (!empty($data['clientid'])){ - $adata['clientid'] = $data['clientid']; - $adata['deviceToken'] = $data['deviceToken']; - } - $userid = $this->insert_into('member',$adata); - if (!$userid) { - - $uInfo = $this->getInfo(array('username' => $data['username']), array('field' => 'uid')); - $userid = $uInfo['uid']; + + //马甲app内注册的 + if (isset($_SESSION['mag'])) { + unset($_SESSION['mag']); } - - if($userid){ - - if($this->config['sy_pw_type']=='pw_center'){ - $this->upInfo(array('pwuid'=>$pwuid),array('uid'=>$userid)); - } - - //邀请注册获得积分 - if(!empty($_COOKIE['regcode'])){ - $regMember = $this->select_once('member',array('uid'=>(int)$_COOKIE['regcode']),"`usertype`"); - if(!empty($regMember)){ - include_once ('integral.model.php'); - $IntegralM = new integral_model($this->db, $this->def); - $IntegralM -> invtalCheck((int)$_COOKIE['regcode'],$regMember['usertype'], 'integral_invite_reg', '邀请注册', 23); - } - } - - //处理注册赠送优惠券 - if($this->config['reg_coupon']){ - $coupon = $this->select_once('coupon',array('id'=>$this->config['reg_coupon'])); - $cdata['uid'] = $userid; - $cdata['number'] = time(); - $cdata['ctime'] = time(); - $cdata['coupon_id'] = $coupon['id']; - $cdata['coupon_name'] = $coupon['name']; - $cdata['validity'] = time()+$coupon['time']*86400; - $cdata['coupon_amount'] = $coupon['amount']; - $cdata['coupon_scope'] = $coupon['scope']; - $this->insert_into('coupon_list',$cdata); - } - - /* 发送通知短信、邮件 */ - if($data['email']){ - $noticeM->sendEmailType(array('name'=>$data['username'],'username'=>$data['username'],'password'=>$data['password'],'email'=>$data['email'],'type'=>'reg','uid'=>$userid)); - } - if(checkMsgOpen($this -> config)){ - - $noticeM->sendSMSType(array('name'=>$data['username'],'username'=>$data['username'],'password'=>$data['password'],'moblie'=>$data['moblie'],'type'=>'reg','uid'=>$userid,'port' => $data['port'])); - } - - $this->upInfo(array('uid'=>$userid),array('login_date'=>time(),'login_ip'=>$ip)); - + + if (!empty($data['clientid'])) { + $adata['clientid'] = $data['clientid']; + $adata['deviceToken'] = $data['deviceToken']; + } + $userid = $this->insert_into('member', $adata); + if (!$userid) { + + $uInfo = $this->getInfo(array('username' => $data['username']), array('field' => 'uid')); + $userid = $uInfo['uid']; + } + + if ($userid) { + + if ($this->config['sy_pw_type'] == 'pw_center') { + $this->upInfo(array('pwuid' => $pwuid), array('uid' => $userid)); + } + + //邀请注册获得积分 + if (!empty($_COOKIE['regcode'])) { + $regMember = $this->select_once('member', array('uid' => (int)$_COOKIE['regcode']), "`usertype`"); + if (!empty($regMember)) { + include_once('integral.model.php'); + $IntegralM = new integral_model($this->db, $this->def); + $IntegralM->invtalCheck((int)$_COOKIE['regcode'], $regMember['usertype'], 'integral_invite_reg', '邀请注册', 23); + } + } + + //处理注册赠送优惠券 + if ($this->config['reg_coupon']) { + $coupon = $this->select_once('coupon', array('id' => $this->config['reg_coupon'])); + $cdata['uid'] = $userid; + $cdata['number'] = time(); + $cdata['ctime'] = time(); + $cdata['coupon_id'] = $coupon['id']; + $cdata['coupon_name'] = $coupon['name']; + $cdata['validity'] = time() + $coupon['time'] * 86400; + $cdata['coupon_amount'] = $coupon['amount']; + $cdata['coupon_scope'] = $coupon['scope']; + $this->insert_into('coupon_list', $cdata); + } + + /* 发送通知短信、邮件 */ + if ($data['email']) { + $noticeM->sendEmailType(array('name' => $data['username'], 'username' => $data['username'], 'password' => $data['password'], 'email' => $data['email'], 'type' => 'reg', 'uid' => $userid)); + } + if (checkMsgOpen($this->config)) { + + $noticeM->sendSMSType(array('name' => $data['username'], 'username' => $data['username'], 'password' => $data['password'], 'moblie' => $data['moblie'], 'type' => 'reg', 'uid' => $userid, 'port' => $data['port'])); + } + + $this->upInfo(array('uid' => $userid), array('login_date' => time(), 'login_ip' => $ip)); + $return['msg'] = '注册成功'; $return['errcode'] = 1; - + // app 需要token if (!empty($data['wxapp'])) { - + if ($this->config['sy_reg_type'] == 2) { - + $token = md5($data['username'] . $pass . $salt . $adata['usertype']); $return['user'] = array('uid' => $userid, 'usertype' => $adata['usertype'], 'token' => $token); $this->addIdentInfo($userid, array('reg_name' => $data['reg_name'], 'reg_link' => $data['reg_link'], 'reg_type' => $data['reg_type'], 'source' => $data['source'])); - }else{ - + } else { + $token = md5($data['username'] . $pass . $salt . '0'); $return['user'] = array('uid' => $userid, 'usertype' => 0, 'token' => $token); } if (!empty($data['clientid'])) { - + //清除其他账号clientid $this->clearPushId($data['clientid'], $userid); } } else { - + require_once('cookie.model.php'); $cookie = new cookie_model($this->db, $this->def); $cookie->unset_cookie(); - + if ($this->config['sy_reg_type'] == 2) { - + $cookie->add_cookie($userid, $data['username'], $salt, $data['email'], $pass, $data['reg_type'], $this->config['sy_logintime'], $this->config['did']); - $newResult = $this->addIdentInfo($userid, array('reg_name' => $data['reg_name'], 'reg_link' => $data['reg_link'], 'reg_type' => $data['reg_type'], 'source' => $data['source'])); - - $return['url'] = $newResult['url']; - $return['reg_type'] = $this->config['sy_reg_type']; - }else { - + $newResult = $this->addIdentInfo($userid, array('reg_name' => $data['reg_name'], 'reg_link' => $data['reg_link'], 'reg_type' => $data['reg_type'], 'source' => $data['source'])); + + $return['url'] = $newResult['url']; + $return['reg_type'] = $this->config['sy_reg_type']; + } else { + $cookie->add_cookie($userid, $data['username'], $salt, $data['email'], $pass, '', $this->config['sy_logintime'], $this->config['did']); } } - + return $return; - }else{ - + } else { + $this->addErrorLog('', 1, $return['msg']); - + $return['msg'] = '注册失败'; $return['errcode'] = 8; return $return; - } - - }else{ + } + + } else { $return['msg'] = '用户名不能为空!'; $return['errcode'] = 8; return $return; - } - } - + } + } + /** * 选择身份直接注册账号,添加基本信息 * @param $uid * @param array $data * @return mixed */ - private function addIdentInfo($uid, $data = array()) - { - - $usertype = $data['reg_type']; - $user = $this->getInfo(array('uid' => intval($uid)), array('field' => '`uid`,`username`,`password`,`salt`,`email`,`moblie`,`moblie_status`,`email_status`,`did`,`login_date`')); - + private function addIdentInfo($uid, $data = array()) { + + $usertype = $data['reg_type']; + $user = $this->getInfo(array('uid' => intval($uid)), array('field' => '`uid`,`username`,`password`,`salt`,`email`,`moblie`,`moblie_status`,`email_status`,`did`,`login_date`')); + //根据激活类型 生成对应信息表附表信息 if ($usertype == '1') { - + $table = 'member_statis'; $table2 = 'resume'; - + $data1 = array('uid' => $user['uid']); - + $crm_uid = $this->getCrmUid(array('type' => '1')); - + $data2 = array( - - 'uid' => $user['uid'], - 'name' => $data['reg_name'], - 'email' => $user['email'], - 'email_status' => $user['email_status'], - 'telphone' => $user['moblie'], - 'r_status' => $this->config['user_state'], + + 'uid' => $user['uid'], + 'name' => $data['reg_name'], + 'email' => $user['email'], + 'email_status' => $user['email_status'], + 'telphone' => $user['moblie'], + 'r_status' => $this->config['user_state'], 'moblie_status' => $user['moblie_status'], - 'crm_uid' => $crm_uid, - 'crm_time' => $crm_uid ? time() : '', - 'did' => !empty($user['did']) ? $user['did'] : $this->config['did'], - 'login_date' => time() + 'crm_uid' => $crm_uid, + 'crm_time' => $crm_uid ? time() : '', + 'did' => !empty($user['did']) ? $user['did'] : $this->config['did'], + 'login_date' => time() ); } elseif ($usertype == '2') { - + $table = 'company_statis'; $table2 = 'company'; - + require_once('rating.model.php'); $ratingM = new rating_model($this->db, $this->def); - + $data1 = $ratingM->fetchRatingInfo(array('uid' => $user['uid'])); $data1['uid'] = $user['uid']; $data1['did'] = $this->config['did']; @@ -3483,19 +3467,19 @@ if ($this->config['sy_crm_duty'] == 1) { $crm_uid = $this->getCrmUid(array('type' => '2')); } - + if ($crm_uid) { $data2['crm_uid'] = $crm_uid; $data2['crm_time'] = time(); } } elseif ($usertype == '3') { - + $table = 'lt_statis'; $table2 = 'lt_info'; - + require_once('rating.model.php'); $ratingM = new rating_model($this->db, $this->def); - + $data1 = $ratingM->ltratingInfo(0, $uid); $data1['uid'] = $user['uid']; $data2['uid'] = $user['uid']; @@ -3507,7 +3491,7 @@ $data2['moblie_status'] = $user['moblie_status']; $data2['r_status'] = $this->config['lt_status']; } elseif ($usertype == '4') { - + $table = 'px_train_statis'; $table2 = 'px_train'; $data1['uid'] = $user['uid']; @@ -3521,36 +3505,36 @@ $data2['did'] = !empty($user['did']) ? $user['did'] : $this->config['did']; $data2['r_status'] = $this->config['px_status']; } - + if ($table) { - + require_once('log.model.php'); $LogM = new log_model($this->db, $this->def); //容错机制 判断附表数据是否存在 不存在才作新增操作 $existTable = $this->select_num($table, array('uid' => $user['uid'])); - + if ($existTable < 1) { $this->insert_into($table, $data1); //会员注册插入会员日志 $LogM->addMemberLog($user['uid'], $usertype, '用户:' . $user['username'] . '注册成功'); - + //判断是否记录已发送 require_once 'integral.model.php'; $IntegralM = new integral_model($this->db, $this->def); $integralwhere['com_id'] = $user['uid']; $integralwhere['pay_remark'] = '注册赠送'; $Interpay = $IntegralM->getInfo($integralwhere); - + if (empty($Interpay) && $usertype != 5) { - + if ($this->config['integral_reg'] > 0) { $IntegralM->company_invtal($user['uid'], $usertype, $this->config['integral_reg'], true, '注册赠送', true, 2, 'integral', 23); } - + if ($this->config['integral_login']) { $IntegralM->invtalCheck($user['uid'], $usertype, 'integral_login', '会员登录', 22); } - + if ($this->config['integral_mobliecert'] && $user['moblie_status'] == 1) { $IntegralM->invtalCheck($user['uid'], $usertype, 'integral_mobliecert', '手机绑定'); } @@ -3577,66 +3561,65 @@ $adminM->sendAdminMsg(array('first' => '有新的企业会员《' . $user['username'] . '》需要审核,账号ID(' . $user['uid'] . ')', 'type' => 9)); } } - + if ($usertype == 1) { - + if ($data['source'] == 1) { - + $return['url'] = Url('member', array('c' => 'expect', 'act' => 'add')); } elseif ($data['source'] == 2) { - + $return['url'] = Url('wap') . 'member/index.php?c=addresume'; } - + } else { - + if ($data['source'] == 1) { - + $return['url'] = Url('member', array('c' => 'info')); } else { - + $return['url'] = Url('wap') . 'member/index.php?c=info'; } } - + return $return; } - - function insertMember($data=array()){ - - $nid = $this->insert_into('member', $data); - return $nid; - } - - /** - * @desc 注册成功,选择身份 - * @param array $data - * @return array $return - */ - function upUserType($data = array()) - { - $uid = intval($data['uid']); - - $usertype = intval($data['usertype']); - + + function insertMember($data = array()) { + + $nid = $this->insert_into('member', $data); + return $nid; + } + + /** + * @desc 注册成功,选择身份 + * @param array $data + * @return array $return + */ + function upUserType($data = array()) { + $uid = intval($data['uid']); + + $usertype = intval($data['usertype']); + if (in_array($usertype, array('1', '2', '3', '4'))) { - $user = $this->getInfo(array('uid' => $uid), array('field' => '`uid`,`username`,`email_status`,`moblie_status`,`password`,`salt`,`email`,`moblie`,`did`')); + $user = $this->getInfo(array('uid' => $uid), array('field' => '`uid`,`username`,`email_status`,`moblie_status`,`password`,`salt`,`email`,`moblie`,`did`')); - $return = array(); + $return = array(); if ($user['uid']) { // 增加来源 - if (isset($data['provider'])){ - $user['provider'] = $data['provider']; - } - if (isset($data['iswap'])) { - $user['source'] = 2; - } - $this -> activUser($user['uid'], $usertype, $user); + if (isset($data['provider'])) { + $user['provider'] = $data['provider']; + } + if (isset($data['iswap'])) { + $user['source'] = 2; + } + $this->activUser($user['uid'], $usertype, $user); - if (!isset($data['wxapp'])) { + if (!isset($data['wxapp'])) { $cookie = new cookie_model($this->db, $this->def); $cookie->setcookie('usertype', intval($usertype), time() + 86400); @@ -3645,15 +3628,15 @@ if (isset($data['iswap'])) { if ($usertype == 1) { - - $return['url'] = Url('wap').'member/index.php?c=addresume'; + + $return['url'] = Url('wap') . 'member/index.php?c=addresume'; } else { - $return['url'] = Url('wap').'member/index.php?c=info'; + $return['url'] = Url('wap') . 'member/index.php?c=info'; } } else { - + if ($usertype == 1) { $return['url'] = Url('member', array('c' => 'expect', 'act' => 'add')); @@ -3662,78 +3645,77 @@ $return['url'] = Url('member', array('c' => 'info')); } } - - $return['errcode'] = 1; + + $return['errcode'] = 1; // uni-app 需要token if (isset($data['wxapp'])) { - $token = md5($user['username'].$user['password'].$user['salt'].$usertype); + $token = md5($user['username'] . $user['password'] . $user['salt'] . $usertype); - $return['user'] = array('uid' => $uid, 'usertype' => $usertype, 'token' => $token); + $return['user'] = array('uid' => $uid, 'usertype' => $usertype, 'token' => $token); } } else { - $return['msg'] = '请先注册'; - $return['errcode'] = 9; + $return['msg'] = '请先注册'; + $return['errcode'] = 9; } } else { - - $return['msg'] = '参数错误,请正确选择!'; - $return['errcode'] = 9; + + $return['msg'] = '参数错误,请正确选择!'; + $return['errcode'] = 9; } - + return $return; } - + /** * 选择身份 * @param $uid * @param $usertype * @param array $user */ - public function activUser($uid, $usertype, $user = array()) - { - + public function activUser($uid, $usertype, $user = array()) { + $this->upInfo(array('uid' => intval($uid)), array('usertype' => $usertype)); - + if (empty($user)) { - $user = $this->getInfo(array('uid' => intval($uid)), array('field' => '`uid`,`username`,`password`,`salt`,`email`,`moblie`,`moblie_status`,`email_status`,`did`,`login_date`')); + $user = $this->getInfo(array('uid' => intval($uid)), array('field' => '`uid`,`username`,`password`,`salt`,`email`,`moblie`,`moblie_status`,`email_status`,`did`,`login_date`')); } - + //根据激活类型 生成对应信息表附表信息 if ($usertype == '1') { - - $table = 'member_statis'; - $table2 = 'resume'; - - $data1 = array('uid' => $user['uid']); - - $crm_uid= $this->getCrmUid(array('type' => '1')); - - $data2 = array( - - 'uid' => $user['uid'], - 'email' => $user['email'], - 'email_status' => $user['email_status'], - 'telphone' => $user['moblie'], - 'r_status' => $this->config['user_state'], + + $table = 'member_statis'; + $table2 = 'resume'; + + $data1 = array('uid' => $user['uid']); + + $crm_uid = $this->getCrmUid(array('type' => '1')); + + $data2 = array( + + 'uid' => $user['uid'], + 'email' => $user['email'], + 'email_status' => $user['email_status'], + 'telphone' => $user['moblie'], + 'r_status' => $this->config['user_state'], 'moblie_status' => $user['moblie_status'], - 'crm_uid' => $crm_uid, - 'crm_time' => $crm_uid ? time() : '', - 'did' => !empty($user['did']) ? $user['did'] : $this->config['did'], - 'login_date' => time() - + 'crm_uid' => $crm_uid, + 'crm_time' => $crm_uid ? time() : '', + 'did' => !empty($user['did']) ? $user['did'] : $this->config['did'], + 'login_date' => time() + ); - + } elseif ($usertype == '2') { - + $table = 'company_statis'; $table2 = 'company'; - + require_once('rating.model.php'); $ratingM = new rating_model($this->db, $this->def); - + $data1 = $ratingM->fetchRatingInfo(array('uid' => $user['uid'])); $data1['uid'] = $user['uid']; $data1['did'] = $this->config['did']; @@ -3752,8 +3734,8 @@ if ($this->config['sy_crm_duty'] == 1) { $crm_uid = $this->getCrmUid(array('type' => '2')); } - - + + if ($crm_uid) { $data2['crm_uid'] = $crm_uid; $data2['crm_time'] = time(); @@ -3761,10 +3743,10 @@ } elseif ($usertype == '3') { $table = 'lt_statis'; $table2 = 'lt_info'; - + require_once('rating.model.php'); $ratingM = new rating_model($this->db, $this->def); - + $data1 = $ratingM->ltratingInfo(0, $uid); $data1['uid'] = $user['uid']; $data2['uid'] = $user['uid']; @@ -3786,36 +3768,36 @@ $data2['did'] = !empty($user['did']) ? $user['did'] : $this->config['did']; $data2['r_status'] = $this->config['px_status']; } - + if ($table) { - + require_once('log.model.php'); $LogM = new log_model($this->db, $this->def); //容错机制 判断附表数据是否存在 不存在才作新增操作 $existTable = $this->select_num($table, array('uid' => $user['uid'])); - + if ($existTable < 1) { $this->insert_into($table, $data1); //会员注册插入会员日志 $LogM->addMemberLog($user['uid'], $usertype, '用户:' . $user['username'] . '注册成功'); - + //判断是否记录已发送 require_once 'integral.model.php'; $IntegralM = new integral_model($this->db, $this->def); $integralwhere['com_id'] = $user['uid']; $integralwhere['pay_remark'] = '注册赠送'; $Interpay = $IntegralM->getInfo($integralwhere); - + if (empty($Interpay) && $usertype != 5) { - + if ($this->config['integral_reg'] > 0) { $IntegralM->company_invtal($user['uid'], $usertype, $this->config['integral_reg'], true, '注册赠送', true, 2, 'integral', 23); } - + if ($this->config['integral_login']) { $IntegralM->invtalCheck($user['uid'], $usertype, 'integral_login', '会员登录', 22); } - + if ($this->config['integral_mobliecert'] && $user['moblie_status'] == 1) { $IntegralM->invtalCheck($user['uid'], $usertype, 'integral_mobliecert', '手机绑定'); } @@ -3843,225 +3825,225 @@ } } } - + /** * @desc 企业 / 个人注册,查询CRM信息绑定 * @param array $data * @return mixed */ - public function getCrmUid($data = array()) { - - if ($data['city'] == 1) { - - $crmWhere = array(); - $crmWhere['is_crm'] = '1'; - $crmWhere['status'] = '1'; - $crmWhere['PHPYUNBTWSTART_A'] = ''; - $crmWhere['crm_city'][] = array('findin', $data['provinceid'], 'OR'); - $crmWhere['crm_city'][] = array('findin', $data['cityid'], 'OR'); - if ($data['three_cityid']) { - $crmWhere['crm_city'][] = array('findin', $data['three_cityid'], 'OR'); - } - $crmWhere['PHPYUNBTWEND_A'] = ''; - $crmWhere['orderby'] = 'uid'; - - - $crms = $this -> select_all('admin_user', $crmWhere, '`uid`'); - + public function getCrmUid($data = array()) { + + if ($data['city'] == 1) { + + $crmWhere = array(); + $crmWhere['is_crm'] = '1'; + $crmWhere['status'] = '1'; + $crmWhere['PHPYUNBTWSTART_A'] = ''; + $crmWhere['crm_city'][] = array('findin', $data['provinceid'], 'OR'); + $crmWhere['crm_city'][] = array('findin', $data['cityid'], 'OR'); + if ($data['three_cityid']) { + $crmWhere['crm_city'][] = array('findin', $data['three_cityid'], 'OR'); + } + $crmWhere['PHPYUNBTWEND_A'] = ''; + $crmWhere['orderby'] = 'uid'; + + + $crms = $this->select_all('admin_user', $crmWhere, '`uid`'); + } else { - - $day = date('w') ==0 ? 7 : date('w'); - $crms = $this -> select_all('admin_user', array('is_crm' => 1, 'status' => 1, 'crm_duty' => array('findin', $day), 'orderby' => 'uid'), '`uid`'); + + $day = date('w') == 0 ? 7 : date('w'); + $crms = $this->select_all('admin_user', array('is_crm' => 1, 'status' => 1, 'crm_duty' => array('findin', $day), 'orderby' => 'uid'), '`uid`'); } - - if (is_array($crms)) { - - foreach ($crms as $k => $v){ - - $CrmUid[$v['uid']] = $k + 1; - $CrmK[$k] = $v['uid']; - } - - if ($data['type'] == '1') { - - $endCrm = $this->select_once('resume', array('crm_uid' => array('>', 0), 'orderby' => 'uid, desc'), '`crm_uid`'); - }elseif ($data['type'] == '2'){ - - $sql = "SELECT `crm_uid` FROM ".DEF_DATA."company LEFT JOIN ".DEF_DATA."member ON ".DEF_DATA."company.uid = ".DEF_DATA."member.uid WHERE ".DEF_DATA."member.source <> 16 AND ".DEF_DATA."company.crm_uid > 0 ORDER BY ".DEF_DATA."company.uid DESC LIMIT 1;"; - - $endCrm = $this->DB_query_all($sql, 'one'); - } - - if (!$CrmUid[$endCrm['crm_uid']]) { - - $CrmUid[$endCrm['crm_uid']] = 0; - } - if ($CrmUid[$endCrm['crm_uid']] >= count($crms)){ - - $crm_uid = $CrmK[0]; - }else{ - - $crm_uid = $CrmK[$CrmUid[$endCrm['crm_uid']]]; - } - } - - return $crm_uid; + + if (is_array($crms)) { + + foreach ($crms as $k => $v) { + + $CrmUid[$v['uid']] = $k + 1; + $CrmK[$k] = $v['uid']; + } + + if ($data['type'] == '1') { + + $endCrm = $this->select_once('resume', array('crm_uid' => array('>', 0), 'orderby' => 'uid, desc'), '`crm_uid`'); + } elseif ($data['type'] == '2') { + + $sql = "SELECT `crm_uid` FROM " . DEF_DATA . "company LEFT JOIN " . DEF_DATA . "member ON " . DEF_DATA . "company.uid = " . DEF_DATA . "member.uid WHERE " . DEF_DATA . "member.source <> 16 AND " . DEF_DATA . "company.crm_uid > 0 ORDER BY " . DEF_DATA . "company.uid DESC LIMIT 1;"; + + $endCrm = $this->DB_query_all($sql, 'one'); + } + + if (!$CrmUid[$endCrm['crm_uid']]) { + + $CrmUid[$endCrm['crm_uid']] = 0; + } + if ($CrmUid[$endCrm['crm_uid']] >= count($crms)) { + + $crm_uid = $CrmK[0]; + } else { + + $crm_uid = $CrmK[$CrmUid[$endCrm['crm_uid']]]; + } + } + + return $crm_uid; } - - //快捷登录信息绑定 - public function bindUser($username,$password,$bindinfo){ - - if($username && $password){ - - $userinfo = $this->select_once('member',array('username'=>$username)); - - if(!$userinfo && CheckMobile($username)){//手机号登录 - - $user = $this->select_once('member',array('moblie'=>$username),'username,usertype,password,uid,usertype,salt,status,did,login_date'); - - $binding = $this->getUserInfo(array('uid'=>$user['uid'],'moblie_status'=>1),array('usertype'=>$user['usertype'],'field'=>'uid')); - - if(!empty($binding)){ - $userinfo = $user; - } - } - if(!$userinfo&&CheckRegEmail($username)){//邮箱登录 - - $user = $this->select_once('member',array('email'=>$username),'username,usertype,password,uid,usertype,salt,status,did,login_date'); - - $binding = $this->getUserInfo(array('uid'=>$user['uid'],'email_status'=>1),array('usertype'=>$user['usertype'],'field'=>'uid')); - - if(!empty($binding)){ - $userinfo = $user; - } - } - if(!empty($userinfo)){ - - $res = passCheck($password,$userinfo['salt']) == $userinfo['password'] ? true : false; - if($res){ - if($userinfo['status']=='1'){ - //开始绑定操作 - if($bindinfo['qqid']){ - $sqlBind['qqid'] = $bindinfo['qqid']; - $sqlBind['qqunionid'] = $bindinfo['qqunionid']; - } - if($bindinfo['sinaid']){ - $sqlBind['sinaid'] = $bindinfo['sinaid']; - } - if($bindinfo['wxid']){ - $sqlBind['wxid'] = $bindinfo['wxid']; - $sqlBind['unionid'] = $bindinfo['wxunionid']; - } - if($sqlBind){ - $this->update_once('member',$sqlBind,array('uid'=>$userinfo['uid'])); - $error['info'] = $userinfo; - $error['error'] = '1'; - }else{ - $error['msg'] = '绑定失败!'; - } - }else{ - $error['msg'] = '该账户正在审核中,请稍后再绑定'; - } - }else{ - $error['msg'] = '密码错误,请重试!'; - } - }else{ - $error['msg'] = '请输入正确的账户名!'; - } - }else{ - $error['msg'] = '请输入需要绑定的账户、密码!'; - } - return $error; - } - - function upMemberInfo($uData=array(),$setData=array()){ - if (! empty($setData)) { - - $result = $this -> addMemberCheck($setData, $uData['uid'], $uData['usertype']); - + + //快捷登录信息绑定 + public function bindUser($username, $password, $bindinfo) { + + if ($username && $password) { + + $userinfo = $this->select_once('member', array('username' => $username)); + + if (!$userinfo && CheckMobile($username)) {//手机号登录 + + $user = $this->select_once('member', array('moblie' => $username), 'username,usertype,password,uid,usertype,salt,status,did,login_date'); + + $binding = $this->getUserInfo(array('uid' => $user['uid'], 'moblie_status' => 1), array('usertype' => $user['usertype'], 'field' => 'uid')); + + if (!empty($binding)) { + $userinfo = $user; + } + } + if (!$userinfo && CheckRegEmail($username)) {//邮箱登录 + + $user = $this->select_once('member', array('email' => $username), 'username,usertype,password,uid,usertype,salt,status,did,login_date'); + + $binding = $this->getUserInfo(array('uid' => $user['uid'], 'email_status' => 1), array('usertype' => $user['usertype'], 'field' => 'uid')); + + if (!empty($binding)) { + $userinfo = $user; + } + } + if (!empty($userinfo)) { + + $res = passCheck($password, $userinfo['salt']) == $userinfo['password'] ? true : false; + if ($res) { + if ($userinfo['status'] == '1') { + //开始绑定操作 + if ($bindinfo['qqid']) { + $sqlBind['qqid'] = $bindinfo['qqid']; + $sqlBind['qqunionid'] = $bindinfo['qqunionid']; + } + if ($bindinfo['sinaid']) { + $sqlBind['sinaid'] = $bindinfo['sinaid']; + } + if ($bindinfo['wxid']) { + $sqlBind['wxid'] = $bindinfo['wxid']; + $sqlBind['unionid'] = $bindinfo['wxunionid']; + } + if ($sqlBind) { + $this->update_once('member', $sqlBind, array('uid' => $userinfo['uid'])); + $error['info'] = $userinfo; + $error['error'] = '1'; + } else { + $error['msg'] = '绑定失败!'; + } + } else { + $error['msg'] = '该账户正在审核中,请稍后再绑定'; + } + } else { + $error['msg'] = '密码错误,请重试!'; + } + } else { + $error['msg'] = '请输入正确的账户名!'; + } + } else { + $error['msg'] = '请输入需要绑定的账户、密码!'; + } + return $error; + } + + function upMemberInfo($uData = array(), $setData = array()) { + if (!empty($setData)) { + + $result = $this->addMemberCheck($setData, $uData['uid'], $uData['usertype']); + if ($result['msg']) { - - $result['errcode'] = 8; - - $result['url'] = $_SERVER['HTTP_REFERER']; - + + $result['errcode'] = 8; + + $result['url'] = $_SERVER['HTTP_REFERER']; + return $result; } - if (!empty($setData['did'])){ - $result['did'] = $setData['did']; + if (!empty($setData['did'])) { + $result['did'] = $setData['did']; } - $result['reg_ip'] = $setData['reg_ip']; + $result['reg_ip'] = $setData['reg_ip']; - if($setData['utype'] == 'admin'){ + if ($setData['utype'] == 'admin') { - $result['moblie'] = $result['moblie'] ? $result['moblie'] : $setData['moblie']; - $result['email'] = $result['email'] ? $result['email'] : $setData['email']; + $result['moblie'] = $result['moblie'] ? $result['moblie'] : $setData['moblie']; + $result['email'] = $result['email'] ? $result['email'] : $setData['email']; } - $nid = $this->upInfo(array('uid' => $uData['uid']), $result); - + $nid = $this->upInfo(array('uid' => $uData['uid']), $result); + if ($nid) { - - + + if ($setData['utype'] == 'admin') { if ($result['moblie']) { - $this -> update_once('resume', array('moblie_status'=>'0', 'telphone'=>''), array('telphone'=>$result['moblie'], 'uid'=>array('<>',$uData['uid']))); + $this->update_once('resume', array('moblie_status' => '0', 'telphone' => ''), array('telphone' => $result['moblie'], 'uid' => array('<>', $uData['uid']))); - $this -> update_once('company', array('moblie_status'=>'0', 'linktel'=>''), array('linktel'=>$result['moblie'], 'uid'=>array('<>',$uData['uid']))); - $this -> update_once('lt_info', array('moblie_status'=>'0', 'moblie'=>''), array('moblie'=>$result['moblie'], 'uid'=>array('<>',$uData['uid']))); - $this -> update_once('px_train', array('moblie_status'=>'0', 'linktel'=>''), array('linktel'=>$result['moblie'], 'uid'=>array('<>',$uData['uid']))); - } - - if ($result['email']) { - - $this -> update_once('resume',array('email_status'=>'0', 'email'=>''), array('email'=>$result['email'],'uid' =>array('<>',$uData['uid']))); - $this -> update_once('company',array('email_status'=>'0', 'linkmail'=>''), array('linkmail'=>$result['email'],'uid' =>array('<>',$uData['uid']))); - $this -> update_once('lt_info',array('email_status'=>'0', 'email'=>''), array('email'=>$result['email'],'uid' =>array('<>',$uData['uid']))); - $this -> update_once('px_train',array('email_status'=>'0', 'linkmail'=>''),array('linkmail'=>$result['email'],'uid' =>array('<>',$uData['uid']))); + $this->update_once('company', array('moblie_status' => '0', 'linktel' => ''), array('linktel' => $result['moblie'], 'uid' => array('<>', $uData['uid']))); + $this->update_once('lt_info', array('moblie_status' => '0', 'moblie' => ''), array('moblie' => $result['moblie'], 'uid' => array('<>', $uData['uid']))); + $this->update_once('px_train', array('moblie_status' => '0', 'linktel' => ''), array('linktel' => $result['moblie'], 'uid' => array('<>', $uData['uid']))); } - - $this -> update_once('resume', array('telphone' => $result['moblie'], 'email' => $result['email']), array('uid' => $uData['uid'])); - - $this -> update_once('company', array('linktel' => $result['moblie'], 'linkmail' => $result['email']), array('uid' => $uData['uid'])); - - $this -> update_once('lt_info', array('moblie' => $result['moblie'], 'email' => $result['email']), array('uid' => $uData['uid'])); - - $this -> update_once('px_train', array('linktel' => $result['moblie'], 'linkmail' => $result['email']), array('uid' => $uData['uid'])); + if ($result['email']) { + + $this->update_once('resume', array('email_status' => '0', 'email' => ''), array('email' => $result['email'], 'uid' => array('<>', $uData['uid']))); + $this->update_once('company', array('email_status' => '0', 'linkmail' => ''), array('linkmail' => $result['email'], 'uid' => array('<>', $uData['uid']))); + $this->update_once('lt_info', array('email_status' => '0', 'email' => ''), array('email' => $result['email'], 'uid' => array('<>', $uData['uid']))); + $this->update_once('px_train', array('email_status' => '0', 'linkmail' => ''), array('linkmail' => $result['email'], 'uid' => array('<>', $uData['uid']))); + } + + + $this->update_once('resume', array('telphone' => $result['moblie'], 'email' => $result['email']), array('uid' => $uData['uid'])); + + $this->update_once('company', array('linktel' => $result['moblie'], 'linkmail' => $result['email']), array('uid' => $uData['uid'])); + + $this->update_once('lt_info', array('moblie' => $result['moblie'], 'email' => $result['email']), array('uid' => $uData['uid'])); + + $this->update_once('px_train', array('linktel' => $result['moblie'], 'linkmail' => $result['email']), array('uid' => $uData['uid'])); } - } - - $result['msg'] = $nid ? '修改成功!' : '修改失败!'; - - $result['errcode'] = $nid ? 9 : 8; - - $lasturl = str_replace('&', '&', $uData['lasturl']); - - $result['url'] = $lasturl; - + } + + $result['msg'] = $nid ? '修改成功!' : '修改失败!'; + + $result['errcode'] = $nid ? 9 : 8; + + $lasturl = str_replace('&', '&', $uData['lasturl']); + + $result['url'] = $lasturl; + return $result; } } - - function delMember($del){ - + + function delMember($del) { + if (!empty($del)) { - $return = array(); + $return = array(); if (is_array($del)) { - + $delid = pylode(',', $del); - + $return['layertype'] = 1; } else { - + $return['layertype'] = 0; $delid = $del; } - + $resume = $this->select_all('resume', array('uid' => array('in', $delid)), '`uid`'); if (is_array($resume) && $resume) { foreach ($resume as $v) { @@ -4070,7 +4052,7 @@ } } } - + $comacc = $this->select_all('company_account', array('uid' => array('in', $delid)), '`uid`'); if (is_array($comacc) && $comacc) { foreach ($comacc as $v) { @@ -4088,15 +4070,15 @@ } } } - + $lt = $this->select_all('lt_info', array('uid' => array('in', $delid)), '`uid`'); if (is_array($lt) && $lt) { foreach ($lt as $v) { $ltids[] = $v['uid']; } } - - $px = $this->select_all('px_train', array('uid' => array('in', $delid)), '`uid`'); + + $px = $this->select_all('px_train', array('uid' => array('in', $delid)), '`uid`'); if (is_array($px) && $px) { foreach ($px as $v) { if ($v['uid']) { @@ -4104,7 +4086,7 @@ } } } - + $gq = $this->select_all('gq_info', array('uid' => array('in', $delid)), '`uid`'); if (is_array($gq) && $gq) { foreach ($gq as $v) { @@ -4113,304 +4095,304 @@ } } } - - $result = $this->delete_all('member', array('uid' => array('in', $delid)),''); - - if($result){ - if (is_array($rids) && !empty($rids)) { - $result = $this->delUser(pylode(',', $rids)); - } - if (is_array($comids) && !empty($comids)) { - $result = $this->delCom(pylode(',', $comids)); - } - if (is_array($ltids) && !empty($ltids)) { - $result = $this->delLt(pylode(',', $ltids)); - } - if (is_array($pxids) && !empty($pxids)) { - $result = $this->delTrain(pylode(',', $pxids)); - } - if (is_array($gqids) && !empty($gqids)) { - $result = $this->delgq(pylode(',', $gqids)); - } - if (is_array($comaccids) && !empty($comaccids)) { - $result = $this->delete_all('company_account', array('uid' => array('in', pylode(',', $comaccids))),''); - } - } - $return['errcode'] = $result ? 9 : 8; - $return['msg'] = $result ? '会员删除成功' : '会员删除失败'; + + $result = $this->delete_all('member', array('uid' => array('in', $delid)), ''); + + if ($result) { + if (is_array($rids) && !empty($rids)) { + $result = $this->delUser(pylode(',', $rids)); + } + if (is_array($comids) && !empty($comids)) { + $result = $this->delCom(pylode(',', $comids)); + } + if (is_array($ltids) && !empty($ltids)) { + $result = $this->delLt(pylode(',', $ltids)); + } + if (is_array($pxids) && !empty($pxids)) { + $result = $this->delTrain(pylode(',', $pxids)); + } + if (is_array($gqids) && !empty($gqids)) { + $result = $this->delgq(pylode(',', $gqids)); + } + if (is_array($comaccids) && !empty($comaccids)) { + $result = $this->delete_all('company_account', array('uid' => array('in', pylode(',', $comaccids))), ''); + } + } + $return['errcode'] = $result ? 9 : 8; + $return['msg'] = $result ? '会员删除成功' : '会员删除失败'; } else { - $return['msg'] = '请选择您要删除的会员'; - $return['errcode'] = '8'; + $return['msg'] = '请选择您要删除的会员'; + $return['errcode'] = '8'; } return $return; } - /** - * 小程序和app账号绑定(微信、QQ、新浪微博) - */ - public function loginBind($data) - { - if(!empty($data)){ - - if (empty($data['openid'])){ - $return['error'] = 2; - $return['msg'] = '参数异常,绑定失败'; - return $return; - } - $uni = 'wxapp'; - $openid = $data['openid']; - $field = '`uid`,`username`,`password`,`salt`,`usertype`'; - - if ($data['type'] == 'weixin'){ - - if ($data['provider'] == 'app'){ - // app内 - $field .= ',`app_wxid`,`unionid`'; - $up = array('app_wxid'=>$openid); - $uni = 'APP/微信'; - }else{ - // 微信小程序内 - $field .= ',`wxopenid`,`unionid`'; - $up = array('wxopenid'=>$openid); - $uni = '微信小程序'; - } - if (!empty($data['unionid'])){ - $up['unionid'] = $data['unionid']; - } - - }elseif ($data['type'] == 'baidu'){ - $field .= ',`bdopenid`'; - $up = array('bdopenid'=>$openid); + + /** + * 小程序和app账号绑定(微信、QQ、新浪微博) + */ + public function loginBind($data) { + if (!empty($data)) { + + if (empty($data['openid'])) { + $return['error'] = 2; + $return['msg'] = '参数异常,绑定失败'; + return $return; + } + $uni = 'wxapp'; + $openid = $data['openid']; + $field = '`uid`,`username`,`password`,`salt`,`usertype`'; + + if ($data['type'] == 'weixin') { + + if ($data['provider'] == 'app') { + // app内 + $field .= ',`app_wxid`,`unionid`'; + $up = array('app_wxid' => $openid); + $uni = 'APP/微信'; + } else { + // 微信小程序内 + $field .= ',`wxopenid`,`unionid`'; + $up = array('wxopenid' => $openid); + $uni = '微信小程序'; + } + if (!empty($data['unionid'])) { + $up['unionid'] = $data['unionid']; + } + + } elseif ($data['type'] == 'baidu') { + $field .= ',`bdopenid`'; + $up = array('bdopenid' => $openid); $uni = "百度小程序"; - }elseif ($data['type'] == 'qq'){ - - $field .= ',`qqid`,`qqunionid`'; - $up = array('qqid'=>$openid,'qqunionid'=> !empty($data['unionid']) ? $data['unionid'] : ''); - if ($data['provider'] == 'app'){ - $uni = 'APP/QQ'; - }else{ - $uni = 'QQ'; - } - - }elseif ($data['type'] == 'sinaweibo'){ - - $field .= ',`sinaid`'; - $up = array('sinaid'=>$openid); - if ($data['provider'] == 'app'){ - $uni = 'APP/weibo'; - }else{ - $uni = 'weibo'; - } - } - $user = $this->select_once('member', array('uid'=>$data['uid']), $field); - - if (isset($up)){ - - $nid = $this->upInfo(array('uid'=>$user['uid']),$up); - - if ($data['type'] == 'weixin' && $data['provider'] == 'weixin' && !empty($data['unionid']) && empty($this->config['mini_wxopen'])){ - // 微信小程序内登录的,已绑定开放平台的,处理微信小程序绑定微信开放平台状态 - $new_config = array('mini_wxopen'=>1); - - include 'config.model.php'; - $configM = new config_model($this->db, $this->def); - $configM->setConfig($new_config); - // 重新生成config.php缓存 - $configM->makeConfig(); - } - require_once ('log.model.php'); - $LogM = new log_model($this->db, $this->def); - $LogM->addMemberLog($user['uid'], $user['usertype'], $uni.'绑定成功'); - - // 清空该账号的其他绑定账号 - $upWhere = array('uid'=>array('<>',$user['uid'])); - if ($data['type'] == 'weixin'){ - - if (!empty($data['unionid']) && $data['unionid'] != $user['unionid']){ - - $upWhere['PHPYUNBTWSTART'] = ''; - $upWhere['unionid'] = $data['unionid']; - if ($data['provider'] == 'app'){ - // app内 - $upWhere['app_wxid'] = array('=',$openid,'OR'); - }else{ - // 微信小程序内 - $upWhere['wxopenid'] = array('=',$openid,'OR'); - } - $upWhere['PHPYUNBTWEND'] = ''; - }else { - if ($data['provider'] == 'app'){ - // app内 - $upWhere['app_wxid'] = $openid; - }else{ - // 微信小程序内 - $upWhere['wxopenid'] = $openid; - } - } - $clear = array('wxid'=>'','app_wxid'=>'','wxopenid'=>'','unionid'=>''); - - }elseif ($data['type'] =='baidu'){ - - $upWhere['bdopenid'] = $openid; - - $clear = array('bdopenid'=>''); - - }elseif ($data['type'] == 'qq'){ - - if (!empty($data['unionid']) && $data['unionid'] != $user['qqunionid']){ - - $upWhere['PHPYUNBTWSTART'] = ''; - $upWhere['qqunionid'] = $data['unionid']; - $upWhere['qqid'] = array('=',$openid,'OR'); - $upWhere['PHPYUNBTWEND'] = ''; - - $clear = array('qqid'=>'','qqunionid'=>''); - - }else { - $upWhere['qqid'] = $openid; - - $clear = array('qqid'=>''); - } - - }elseif ($data['type'] == 'sinaweibo'){ - - $upWhere['sinaid'] = $openid; - - $clear = array('sinaid'=>''); - }else{ - // 参数错误,清除清理查询条件 - $upWhere = array(); - } - - if (!empty($upWhere) && !empty($clear)){ - - $bm = $this->select_all('member', $upWhere, '`uid`,`usertype`'); - if (!empty($bm)){ - $bmuid = array(); - foreach ($bm as $bv){ - $bmuid[] = $bv['uid']; - $LogM->addMemberLog($bv['uid'], $bv['usertype'], '在'.$uni.'解除绑定,绑定到新账号(ID:'.$user['uid'].')'); - } - - $this->upInfo(array('uid'=>array('in', pylode(',', $bmuid))), $clear); - } - } - } - if(isset($nid)){ - $return['error'] = 0; - $return['msg'] = ''; - $token = md5($user['username'].$user['password'].$user['salt'].$user['usertype']); - $return['user'] = array('uid'=>$user['uid'],'usertype'=>$user['usertype'],'token'=>$token); - }else{ - $return['error'] = 2; - $return['msg'] = '绑定失败'; - } - return $return; - } - } - /** - * 小程序和app第三方登录检测(微信、QQ、新浪微博) - */ - public function loginCheck($data) - { - - if ($data['type'] == 'weixin'){ - - if ($data['provider'] == 'app'){ - // app内微信登录 - if (!empty($data['unionid'])){ - - $where = array('unionid'=>$data['unionid'], 'app_wxid' => array('=', $data['openid'], 'OR')); - - }else{ - $where = array('app_wxid'=>$data['openid']); - } - $uni = 'APP/微信'; - }else{ - // 微信小程序内微信登录 - if (!empty($data['unionid'])){ - - $where = array('unionid'=>$data['unionid'], 'wxopenid' => array('=', $data['openid'], 'OR')); - - }else{ - $where = array('wxopenid'=>$data['openid']); - } - $uni = '微信小程序'; - } - }elseif($data['type']=='baidu'){ + } elseif ($data['type'] == 'qq') { + + $field .= ',`qqid`,`qqunionid`'; + $up = array('qqid' => $openid, 'qqunionid' => !empty($data['unionid']) ? $data['unionid'] : ''); + if ($data['provider'] == 'app') { + $uni = 'APP/QQ'; + } else { + $uni = 'QQ'; + } + + } elseif ($data['type'] == 'sinaweibo') { + + $field .= ',`sinaid`'; + $up = array('sinaid' => $openid); + if ($data['provider'] == 'app') { + $uni = 'APP/weibo'; + } else { + $uni = 'weibo'; + } + } + $user = $this->select_once('member', array('uid' => $data['uid']), $field); + + if (isset($up)) { + + $nid = $this->upInfo(array('uid' => $user['uid']), $up); + + if ($data['type'] == 'weixin' && $data['provider'] == 'weixin' && !empty($data['unionid']) && empty($this->config['mini_wxopen'])) { + // 微信小程序内登录的,已绑定开放平台的,处理微信小程序绑定微信开放平台状态 + $new_config = array('mini_wxopen' => 1); + + include 'config.model.php'; + $configM = new config_model($this->db, $this->def); + $configM->setConfig($new_config); + // 重新生成config.php缓存 + $configM->makeConfig(); + } + require_once('log.model.php'); + $LogM = new log_model($this->db, $this->def); + $LogM->addMemberLog($user['uid'], $user['usertype'], $uni . '绑定成功'); + + // 清空该账号的其他绑定账号 + $upWhere = array('uid' => array('<>', $user['uid'])); + if ($data['type'] == 'weixin') { + + if (!empty($data['unionid']) && $data['unionid'] != $user['unionid']) { + + $upWhere['PHPYUNBTWSTART'] = ''; + $upWhere['unionid'] = $data['unionid']; + if ($data['provider'] == 'app') { + // app内 + $upWhere['app_wxid'] = array('=', $openid, 'OR'); + } else { + // 微信小程序内 + $upWhere['wxopenid'] = array('=', $openid, 'OR'); + } + $upWhere['PHPYUNBTWEND'] = ''; + } else { + if ($data['provider'] == 'app') { + // app内 + $upWhere['app_wxid'] = $openid; + } else { + // 微信小程序内 + $upWhere['wxopenid'] = $openid; + } + } + $clear = array('wxid' => '', 'app_wxid' => '', 'wxopenid' => '', 'unionid' => ''); + + } elseif ($data['type'] == 'baidu') { + + $upWhere['bdopenid'] = $openid; + + $clear = array('bdopenid' => ''); + + } elseif ($data['type'] == 'qq') { + + if (!empty($data['unionid']) && $data['unionid'] != $user['qqunionid']) { + + $upWhere['PHPYUNBTWSTART'] = ''; + $upWhere['qqunionid'] = $data['unionid']; + $upWhere['qqid'] = array('=', $openid, 'OR'); + $upWhere['PHPYUNBTWEND'] = ''; + + $clear = array('qqid' => '', 'qqunionid' => ''); + + } else { + $upWhere['qqid'] = $openid; + + $clear = array('qqid' => ''); + } + + } elseif ($data['type'] == 'sinaweibo') { + + $upWhere['sinaid'] = $openid; + + $clear = array('sinaid' => ''); + } else { + // 参数错误,清除清理查询条件 + $upWhere = array(); + } + + if (!empty($upWhere) && !empty($clear)) { + + $bm = $this->select_all('member', $upWhere, '`uid`,`usertype`'); + if (!empty($bm)) { + $bmuid = array(); + foreach ($bm as $bv) { + $bmuid[] = $bv['uid']; + $LogM->addMemberLog($bv['uid'], $bv['usertype'], '在' . $uni . '解除绑定,绑定到新账号(ID:' . $user['uid'] . ')'); + } + + $this->upInfo(array('uid' => array('in', pylode(',', $bmuid))), $clear); + } + } + } + if (isset($nid)) { + $return['error'] = 0; + $return['msg'] = ''; + $token = md5($user['username'] . $user['password'] . $user['salt'] . $user['usertype']); + $return['user'] = array('uid' => $user['uid'], 'usertype' => $user['usertype'], 'token' => $token); + } else { + $return['error'] = 2; + $return['msg'] = '绑定失败'; + } + return $return; + } + } + + /** + * 小程序和app第三方登录检测(微信、QQ、新浪微博) + */ + public function loginCheck($data) { + + if ($data['type'] == 'weixin') { + + if ($data['provider'] == 'app') { + // app内微信登录 + if (!empty($data['unionid'])) { + + $where = array('unionid' => $data['unionid'], 'app_wxid' => array('=', $data['openid'], 'OR')); + + } else { + $where = array('app_wxid' => $data['openid']); + } + $uni = 'APP/微信'; + } else { + // 微信小程序内微信登录 + if (!empty($data['unionid'])) { + + $where = array('unionid' => $data['unionid'], 'wxopenid' => array('=', $data['openid'], 'OR')); + + } else { + $where = array('wxopenid' => $data['openid']); + } + $uni = '微信小程序'; + } + } elseif ($data['type'] == 'baidu') { // 百度小程序内百度登录 - $where = array('bdopenid'=>$data['openid']); - }elseif ($data['type'] == 'qq'){ - - if (!empty($data['unionid'])){ - - $where = array('qqunionid'=>$data['unionid']); - - }else{ - - $where = array('qqid'=>$data['openid']); - } - $uni = 'APP/QQ'; - }elseif ($data['type'] == 'sinaweibo'){ - - $where = array('sinaid'=>$data['openid']); - $uni = 'APP/weibo'; - } - - $userinfo = $this->getInfo($where,array('field'=>'uid,username,password,salt,usertype,login_date,status')); - - if (!empty($userinfo)){ - - if($userinfo['status']=='2'){ - $return['error'] = 3; - $return['msg'] = '您的账号已被锁定'; + $where = array('bdopenid' => $data['openid']); + } elseif ($data['type'] == 'qq') { + + if (!empty($data['unionid'])) { + + $where = array('qqunionid' => $data['unionid']); + + } else { + + $where = array('qqid' => $data['openid']); + } + $uni = 'APP/QQ'; + } elseif ($data['type'] == 'sinaweibo') { + + $where = array('sinaid' => $data['openid']); + $uni = 'APP/weibo'; + } + + $userinfo = $this->getInfo($where, array('field' => 'uid,username,password,salt,usertype,login_date,status')); + + if (!empty($userinfo)) { + + if ($userinfo['status'] == '2') { + $return['error'] = 3; + $return['msg'] = '您的账号已被锁定'; return $return; } - $time = time(); - $ip = fun_ip_get(); - $upLogin = array( - 'login_ip' => $ip, - 'login_date' => $time, - 'login_hits' => array('+', 1) + $time = time(); + $ip = fun_ip_get(); + $upLogin = array( + 'login_ip' => $ip, + 'login_date' => $time, + 'login_hits' => array('+', 1) ); - if (!empty($data['clientid'])){ - $upLogin['clientid'] = $data['clientid']; - $upLogin['deviceToken'] = $data['deviceToken']; + if (!empty($data['clientid'])) { + $upLogin['clientid'] = $data['clientid']; + $upLogin['deviceToken'] = $data['deviceToken']; //清除其他账号clientid $this->clearPushId($data['clientid'], $userinfo['uid']); } - if ($data['provider'] == 'app'){ + if ($data['provider'] == 'app') { // app内微信登录 $upLogin['app_wxid'] = $data['openid']; - }else{ + } else { // 微信小程序内微信登录 $upLogin['wxopenid'] = $data['openid']; } - if (!empty($data['unionid'])){ + if (!empty($data['unionid'])) { $upLogin['unionid'] = $data['unionid']; } - $this->upInfo(array('uid'=>$userinfo['uid']), $upLogin); - - if ($userinfo['usertype'] > 0){ - + $this->upInfo(array('uid' => $userinfo['uid']), $upLogin); + + if ($userinfo['usertype'] > 0) { + // 同步登录时间 $this->update_once('company', array('login_date' => time()), array('uid' => $userinfo['uid'])); $this->update_once('resume', array('login_date' => time()), array('uid' => $userinfo['uid'])); - + //会员日志,记录手动登录 - require_once ('log.model.php'); - $LogM = new log_model($this->db, $this->def); - $LogM->addMemberLog($userinfo['uid'],$userinfo['usertype'], $uni. '登录成功'); - + require_once('log.model.php'); + $LogM = new log_model($this->db, $this->def); + $LogM->addMemberLog($userinfo['uid'], $userinfo['usertype'], $uni . '登录成功'); + // 有身份类型的记录登录日志、加登录积分 - $logtime = date('Ymd',$userinfo['login_date']); - $nowtime = date('Ymd',$time); - if($logtime!=$nowtime){ + $logtime = date('Ymd', $userinfo['login_date']); + $nowtime = date('Ymd', $time); + if ($logtime != $nowtime) { require_once 'integral.model.php'; - $IntegralM = new integral_model($this->db, $this->def); - $IntegralM -> invtalCheck($userinfo['uid'],$userinfo['usertype'],'integral_login','会员登录',22); + $IntegralM = new integral_model($this->db, $this->def); + $IntegralM->invtalCheck($userinfo['uid'], $userinfo['usertype'], 'integral_login', '会员登录', 22); //登录日志 $logindata = array( @@ -4421,744 +4403,754 @@ } } - $token = md5($userinfo['username'].$userinfo['password'].$userinfo['salt'].$userinfo['usertype']); + $token = md5($userinfo['username'] . $userinfo['password'] . $userinfo['salt'] . $userinfo['usertype']); - $return['error'] = $userinfo['usertype'] > 0 ? 0 : 1; - $return['errmsg'] = ''; - $return['user'] = array('uid'=>$userinfo['uid'],'usertype'=>$userinfo['usertype'],'token'=>$token); + $return['error'] = $userinfo['usertype'] > 0 ? 0 : 1; + $return['errmsg'] = ''; + $return['user'] = array('uid' => $userinfo['uid'], 'usertype' => $userinfo['usertype'], 'token' => $token); - if ($data['provider'] == 'weixin' && !empty($data['unionid']) && empty($this->config['mini_wxopen'])){ + if ($data['provider'] == 'weixin' && !empty($data['unionid']) && empty($this->config['mini_wxopen'])) { // 微信小程序内登录的,已绑定开放平台的,处理微信小程序绑定微信开放平台状态 - $new_config = array('mini_wxopen'=>1); + $new_config = array('mini_wxopen' => 1); include 'config.model.php'; - $configM = new config_model($this->db, $this->def); + $configM = new config_model($this->db, $this->def); $configM->setConfig($new_config); // 重新生成config.php缓存 $configM->makeConfig(); } - }else{ - - if (!empty($data['phoneEncrypt']) && !empty($data['phoneIv'])){ - // 如果传了微信手机号解密参数(属于微信小程序) - $return = $this->decodePhoneNumber($data); - - }else{ - - if(!empty($data['cnewcount'])){ - if ($data['type'] == 'weixin' && $data['provider'] == 'weixin'){ - $provider = 'wxxcx'; - }else{ - $provider = $data['provider']; - } - $return = $this->fastReg($data, $provider, $data['type']); - }else{ - $return['error'] = 2; - $return['msg'] = ''; - $return['user'] = array(); - } - } - } - return $return; - } - /** - * 微信小程序通过解密getPhoneNumber接口参数,来获取手机号。 然后检测是否绑定账号,没绑定的,自动注册账号 - */ - public function decodePhoneNumber($data = array()){ - - $iv = $data['phoneIv']; - $encryptedData = $data['phoneEncrypt']; - //解密手机号 - include APP_PATH."/api/wxapp/PHP/wxBizDataCrypt.php"; - $pc = new wxBizDataCrypt($data['appid'], $data['session_key']); - - $errCode = $pc->decryptData($encryptedData,$iv,$res); - - if($errCode !== 0){ - - $return['error'] = $errCode; - $return['errmsg'] = '数据异常,请稍后重试'; - - }else{ - //根据手机号查询已有数据,如没有则注册新账号 - $res = json_decode($res,true); - $phone = $res['purePhoneNumber']; - if(!$phone || $phone==''){ - - $return['error'] = 2; - $return['errmsg'] = '微信绑定手机号错误'; - - }else{ - - $user = $this->select_once('member', array('moblie'=>$phone),'`uid`,`usertype`'); - - if (!empty($user)){ - //已有账号,绑定微信 - $data['uid'] = $user['uid']; - if($user['usertype']==1 || $user['usertype']==2 || $user['usertype']==0){ - - $return = $this->loginBind($data); - - }else{ - - $return['error'] = -1; - $return['errmsg'] = "只能登录个人或企业身份账号"; - } - }else{ - - $wdata = array( - 'moblie' => $phone, - 'openid' => $data['openid'], - 'unionid' => $data['unionid'], - 'source' => $data['source'] - ); - $return = $this->fastReg($wdata, 'wxxcx'); - } - } - } - return $return; - } - //申请切换用户列表 - public function getUserChangeList($where,$data=array()){ - $usertype = array('1'=>'个人会员','2'=>'企业会员','3'=>'猎头会员','4'=>'培训会员'); - $field = empty($data['field']) ? '*' : $data['field']; - $rows = $this->select_all('user_change',$where,$field); - - if(is_array($rows) && $rows){ - foreach($rows as $val){ - $memberid[] = $val['uid']; - } - $member = $this->select_all('member',array('uid'=>array('in',pylode(',',$memberid))),'`uid`,moblie'); - foreach($rows as $k=>$v){ - $rows[$k]['pres_usertype'] = $usertype[$v['pres_usertype']]; - $rows[$k]['apply_usertype'] = $usertype[$v['apply_usertype']]; - foreach($member as $val){ - if($v['uid']==$val['uid']){ - $rows[$k]['moblie'] = $val['moblie']; - } - } - - } - } - return $rows; - } - - public function addUserChange($addData=array()){ - $return = $this -> insert_into('user_change',$addData); - return $return; - } - public function upusChange($whereData=array(),$upData=array()){ - - $return = $this -> update_once('user_change',$upData,$whereData); - return $return; - } - // 获取账户信息 - function getUserChangeInfo($where,$data=array()){ - - $field = empty($data['field']) ? '*' : $data['field']; - - $rows = $this -> select_once('user_change',$where, $field); - - return $rows; - - } - function upAllUserChange($idarr,$data=array(), $port = null){ - - $status = $data['status']; - - if(!empty($idarr)){ - - $rows = $this->select_all('user_change',array('id'=>array('in',pylode(',',$idarr)),'status'=>array('<>',1))); - - $ids = array(); - $uidarr = array(); - foreach($rows as $k=>$v){ - $ids[] = $v['id']; - $uidarr[] = $v['uid']; - } - - $nid = $this->update_once('user_change',$data,array('id'=>array('in',pylode(',',$ids)))); - - if($nid){ - //审核通过 - $mems = $this->select_all('member',array('uid'=>array('in',pylode(',',$uidarr))),'`uid`,`moblie`'); - - $mobliearr = array(); - - foreach($mems as $mk=>$mv){ - - $mobliearr[$mv['uid']] = $mv['moblie']; - - } - - $ucarr = $this->select_all('user_change',array('id'=>array('in',pylode(',',$ids)))); - - foreach($ucarr as $uk=>$uv){ - - $this->actUserchange($uv['id'],$uv['uid'],$uv['apply_usertype'],$uv['name'],$status,$mobliearr[$uv['uid']], $port); - - } - $return['msg'] = '转换会员审核成功'; - $return['errcode'] = 9; - - - }else{ - //审核失败 - $return['msg'] = '转换会员审核失败'; - $return['errcode'] = 8; - } - - }else{ - $return['msg'] = '请选择要转换的用户'; - $return['errcode'] = 8; - } - return $return; - } - //审核 - function upUserChange($id,$uid,$moblie,$data=array(), $port = null){ - $status = $data['status']; - $nid = $this->update_once('user_change',$data,array('id'=>$id)); - if($nid){ - //审核通过 - $userwhere['id'] = $id; - $userwhere['uid'] = $uid; - $userows = $this->getUserChangeInfo($userwhere); - if($userows){ - $this->actUserchange($id,$uid,$userows['apply_usertype'],$userows['name'],$status,$moblie, $port); - $return['msg'] = '转换会员(ID:'.$id.')审核成功'; - $return['errcode'] = 9; - - }else{ - $return['msg'] = '转换会员数据不存在'; - $return['errcode'] = 8; - } - }else{ - //审核失败 - $return['msg'] = '转换会员(ID:'.$id.')审核失败'; - $return['errcode'] = 8; - } - return $return; - } - /** - * 身份切换 - * $data 处理的数据 - * $data['uid'] - * $data['usertype'] 需要切换成的身份 - */ - public function changeUsertype($data = array()){ - $return = array( - 'errcode' => 8, - 'msg' => '' - ); - - $uid = intval($data['uid']); - $usertype = intval($data['usertype']); - - if(!$uid){ - $return['msg'] = '请先登录!'; - return $return; - } - //判断是否有子账户 - if(!empty($data['spid'])){ - $return['msg'] = '当前为子账户,不支持切换!'; - return $return; - } - //参数判断 - if(!in_array($usertype, array(1, 2, 3, 4))){ - $return['msg'] = '无法转换成此身份!'; - return $return; - } - - //先获取uid信息 - $memField = array('field' => '`uid`,`username`, `usertype`, `pid`, `email`, `moblie`, `address`,`salt`,`email`,`password`,`did`,`moblie_status`,`email_status`,`did`'); - - $memInfo = $this -> getInfo(array('uid' => $uid), $memField); - if(empty($memInfo)){ - $return['msg'] = '数据错误!'; - return $return; - } - - //判断转换的身份 相同身份切换 直接返回成功,常见于同浏览器多窗口切换 或 后台管理员切换 - if(empty($usertype) || $usertype == $memInfo['usertype']){ - - $return = array( - 'errcode' => 9, - 'msg' => 'ok', - 'memInfo' => $memInfo - ); - return $return; - - } - // 添加切换身份日志 - $marr = array( - 'uid' => $uid, - 'usertype' => $usertype, - 'content' => '用户'.$memInfo['username'].'切换身份成功', - 'opera' => 11, - 'type' => 1, - 'ip' => fun_ip_get(), - 'ctime' => time(), - 'did' => $memInfo['did'] - ); - $this->insert_into('member_log',$marr); - // 根据切换的身份,来选择身份 - $this->activUser($uid,$usertype,$memInfo); - - $return = array( - 'errcode' => 9, - 'msg' => 'ok', - 'memInfo' => $memInfo - ); - return $return; - } + } else { + + if (!empty($data['phoneEncrypt']) && !empty($data['phoneIv'])) { + // 如果传了微信手机号解密参数(属于微信小程序) + $return = $this->decodePhoneNumber($data); + + } else { + + if (!empty($data['cnewcount'])) { + if ($data['type'] == 'weixin' && $data['provider'] == 'weixin') { + $provider = 'wxxcx'; + } else { + $provider = $data['provider']; + } + $return = $this->fastReg($data, $provider, $data['type']); + } else { + $return['error'] = 2; + $return['msg'] = ''; + $return['user'] = array(); + } + } + } + return $return; + } + + /** + * 微信小程序通过解密getPhoneNumber接口参数,来获取手机号。 然后检测是否绑定账号,没绑定的,自动注册账号 + */ + public function decodePhoneNumber($data = array()) { + + $iv = $data['phoneIv']; + $encryptedData = $data['phoneEncrypt']; + //解密手机号 + include APP_PATH . "/api/wxapp/PHP/wxBizDataCrypt.php"; + $pc = new wxBizDataCrypt($data['appid'], $data['session_key']); + + $errCode = $pc->decryptData($encryptedData, $iv, $res); + + if ($errCode !== 0) { + + $return['error'] = $errCode; + $return['errmsg'] = '数据异常,请稍后重试'; + + } else { + //根据手机号查询已有数据,如没有则注册新账号 + $res = json_decode($res, true); + $phone = $res['purePhoneNumber']; + if (!$phone || $phone == '') { + + $return['error'] = 2; + $return['errmsg'] = '微信绑定手机号错误'; + + } else { + + $user = $this->select_once('member', array('moblie' => $phone), '`uid`,`usertype`'); + + if (!empty($user)) { + //已有账号,绑定微信 + $data['uid'] = $user['uid']; + if ($user['usertype'] == 1 || $user['usertype'] == 2 || $user['usertype'] == 0) { + + $return = $this->loginBind($data); + + } else { + + $return['error'] = -1; + $return['errmsg'] = "只能登录个人或企业身份账号"; + } + } else { + + $wdata = array( + 'moblie' => $phone, + 'openid' => $data['openid'], + 'unionid' => $data['unionid'], + 'source' => $data['source'] + ); + $return = $this->fastReg($wdata, 'wxxcx'); + } + } + } + return $return; + } + + //申请切换用户列表 + public function getUserChangeList($where, $data = array()) { + $usertype = array('1' => '个人会员', '2' => '企业会员', '3' => '猎头会员', '4' => '培训会员'); + $field = empty($data['field']) ? '*' : $data['field']; + $rows = $this->select_all('user_change', $where, $field); + + if (is_array($rows) && $rows) { + foreach ($rows as $val) { + $memberid[] = $val['uid']; + } + $member = $this->select_all('member', array('uid' => array('in', pylode(',', $memberid))), '`uid`,moblie'); + foreach ($rows as $k => $v) { + $rows[$k]['pres_usertype'] = $usertype[$v['pres_usertype']]; + $rows[$k]['apply_usertype'] = $usertype[$v['apply_usertype']]; + foreach ($member as $val) { + if ($v['uid'] == $val['uid']) { + $rows[$k]['moblie'] = $val['moblie']; + } + } + + } + } + return $rows; + } + + public function addUserChange($addData = array()) { + $return = $this->insert_into('user_change', $addData); + return $return; + } + + public function upusChange($whereData = array(), $upData = array()) { + + $return = $this->update_once('user_change', $upData, $whereData); + return $return; + } + + // 获取账户信息 + function getUserChangeInfo($where, $data = array()) { + + $field = empty($data['field']) ? '*' : $data['field']; + + $rows = $this->select_once('user_change', $where, $field); + + return $rows; + + } + + function upAllUserChange($idarr, $data = array(), $port = null) { + + $status = $data['status']; + + if (!empty($idarr)) { + + $rows = $this->select_all('user_change', array('id' => array('in', pylode(',', $idarr)), 'status' => array('<>', 1))); + + $ids = array(); + $uidarr = array(); + foreach ($rows as $k => $v) { + $ids[] = $v['id']; + $uidarr[] = $v['uid']; + } + + $nid = $this->update_once('user_change', $data, array('id' => array('in', pylode(',', $ids)))); + + if ($nid) { + //审核通过 + $mems = $this->select_all('member', array('uid' => array('in', pylode(',', $uidarr))), '`uid`,`moblie`'); + + $mobliearr = array(); + + foreach ($mems as $mk => $mv) { + + $mobliearr[$mv['uid']] = $mv['moblie']; + + } + + $ucarr = $this->select_all('user_change', array('id' => array('in', pylode(',', $ids)))); + + foreach ($ucarr as $uk => $uv) { + + $this->actUserchange($uv['id'], $uv['uid'], $uv['apply_usertype'], $uv['name'], $status, $mobliearr[$uv['uid']], $port); + + } + $return['msg'] = '转换会员审核成功'; + $return['errcode'] = 9; + + + } else { + //审核失败 + $return['msg'] = '转换会员审核失败'; + $return['errcode'] = 8; + } + + } else { + $return['msg'] = '请选择要转换的用户'; + $return['errcode'] = 8; + } + return $return; + } + + //审核 + function upUserChange($id, $uid, $moblie, $data = array(), $port = null) { + $status = $data['status']; + $nid = $this->update_once('user_change', $data, array('id' => $id)); + if ($nid) { + //审核通过 + $userwhere['id'] = $id; + $userwhere['uid'] = $uid; + $userows = $this->getUserChangeInfo($userwhere); + if ($userows) { + $this->actUserchange($id, $uid, $userows['apply_usertype'], $userows['name'], $status, $moblie, $port); + $return['msg'] = '转换会员(ID:' . $id . ')审核成功'; + $return['errcode'] = 9; + + } else { + $return['msg'] = '转换会员数据不存在'; + $return['errcode'] = 8; + } + } else { + //审核失败 + $return['msg'] = '转换会员(ID:' . $id . ')审核失败'; + $return['errcode'] = 8; + } + return $return; + } + + /** + * 身份切换 + * $data 处理的数据 + * $data['uid'] + * $data['usertype'] 需要切换成的身份 + */ + public function changeUsertype($data = array()) { + $return = array( + 'errcode' => 8, + 'msg' => '' + ); + + $uid = intval($data['uid']); + $usertype = intval($data['usertype']); + + if (!$uid) { + $return['msg'] = '请先登录!'; + return $return; + } + //判断是否有子账户 + if (!empty($data['spid'])) { + $return['msg'] = '当前为子账户,不支持切换!'; + return $return; + } + //参数判断 + if (!in_array($usertype, array(1, 2, 3, 4))) { + $return['msg'] = '无法转换成此身份!'; + return $return; + } + + //先获取uid信息 + $memField = array('field' => '`uid`,`username`, `usertype`, `pid`, `email`, `moblie`, `address`,`salt`,`email`,`password`,`did`,`moblie_status`,`email_status`,`did`'); + + $memInfo = $this->getInfo(array('uid' => $uid), $memField); + if (empty($memInfo)) { + $return['msg'] = '数据错误!'; + return $return; + } + + //判断转换的身份 相同身份切换 直接返回成功,常见于同浏览器多窗口切换 或 后台管理员切换 + if (empty($usertype) || $usertype == $memInfo['usertype']) { + + $return = array( + 'errcode' => 9, + 'msg' => 'ok', + 'memInfo' => $memInfo + ); + return $return; + + } + // 添加切换身份日志 + $marr = array( + 'uid' => $uid, + 'usertype' => $usertype, + 'content' => '用户' . $memInfo['username'] . '切换身份成功', + 'opera' => 11, + 'type' => 1, + 'ip' => fun_ip_get(), + 'ctime' => time(), + 'did' => $memInfo['did'] + ); + $this->insert_into('member_log', $marr); + // 根据切换的身份,来选择身份 + $this->activUser($uid, $usertype, $memInfo); + + $return = array( + 'errcode' => 9, + 'msg' => 'ok', + 'memInfo' => $memInfo + ); + return $return; + } + /** * 后台切换身份后处理 */ - function actUserchange($id,$uid,$usertype,$username,$status,$moblie,$port = null) - { - - require_once 'notice.model.php'; - $noticeM = new notice_model($this->db, $this->def); - if($status==1){ - - switch($usertype){ - case '1' : $table = 'resume'; - break; - case '2' : $table = 'company'; - break; - case '3' : $table = 'lt_info'; - break; - case '4' : $table = 'px_train'; - break; - } - - $existTable = $this->select_num($table,array('uid' => $uid)); - if($existTable<1){ - $this -> activUser($uid,$usertype); - } - $this -> update_once('member', array('usertype' => $usertype), array('uid' => $uid)); - } - - include_once ('weixin.model.php'); - $Weixin = new weixin_model($this->db, $this->def); - $userdata = array( - 'id' => $id, - 'uid' => $uid, - 'status' => $status - ); - $Weixin->sendWxUsercahnge($userdata); - if($moblie){ - - //发送短信 - $sendData['type'] = 'userchange'; - $sendData['moblie'] = $moblie; - if($status==1){ - $sendData['status'] = '切换成功'; - }else{ - $sendData['status'] = '拒绝切换'; - } - $sendData['port'] = $port; - - $noticeM -> sendSMSType($sendData); - } - - } - /** - * 删除简历 - * @param string $id 格式:单个,如1 ; 批量,如1,2,3 - * @param array $data - */ - public function delUserChange($id){ - - if(!empty($id)){ - $return = array( + function actUserchange($id, $uid, $usertype, $username, $status, $moblie, $port = null) { + + require_once 'notice.model.php'; + $noticeM = new notice_model($this->db, $this->def); + if ($status == 1) { + + switch ($usertype) { + case '1' : + $table = 'resume'; + break; + case '2' : + $table = 'company'; + break; + case '3' : + $table = 'lt_info'; + break; + case '4' : + $table = 'px_train'; + break; + } + + $existTable = $this->select_num($table, array('uid' => $uid)); + if ($existTable < 1) { + $this->activUser($uid, $usertype); + } + $this->update_once('member', array('usertype' => $usertype), array('uid' => $uid)); + } + + include_once('weixin.model.php'); + $Weixin = new weixin_model($this->db, $this->def); + $userdata = array( + 'id' => $id, + 'uid' => $uid, + 'status' => $status + ); + $Weixin->sendWxUsercahnge($userdata); + if ($moblie) { + + //发送短信 + $sendData['type'] = 'userchange'; + $sendData['moblie'] = $moblie; + if ($status == 1) { + $sendData['status'] = '切换成功'; + } else { + $sendData['status'] = '拒绝切换'; + } + $sendData['port'] = $port; + + $noticeM->sendSMSType($sendData); + } + + } + + /** + * 删除简历 + * @param string $id 格式:单个,如1 ; 批量,如1,2,3 + * @param array $data + */ + public function delUserChange($id) { + + if (!empty($id)) { + $return = array( 'errcode' => 8, 'layertype' => 0, 'msg' => '' ); - if(is_array($id)){ - $ids = $id; - $return['layertype'] = 1; - }else{ - $ids = @explode(',', $id); - } - $id = pylode(',', $ids); - - - - $return['id'] = $this -> delete_all('user_change',array('id' => array('in',$id)), ''); - - $return['msg'] = '申请转换会员信息(ID:'.pylode(',', $ids).')'; - $return['errcode'] = $return['id'] ? '9' :'8'; - $return['msg'] = $return['id'] ? $return['msg'].'删除成功!' : $return['msg'].'删除失败!'; - }else{ - $return['msg'] = '请选择您要删除的申请转换会员信息!'; - $return['errcode'] = 8; + if (is_array($id)) { + $ids = $id; + $return['layertype'] = 1; + } else { + $ids = @explode(',', $id); + } + $id = pylode(',', $ids); + + + $return['id'] = $this->delete_all('user_change', array('id' => array('in', $id)), ''); + + $return['msg'] = '申请转换会员信息(ID:' . pylode(',', $ids) . ')'; + $return['errcode'] = $return['id'] ? '9' : '8'; + $return['msg'] = $return['id'] ? $return['msg'] . '删除成功!' : $return['msg'] . '删除失败!'; + } else { + $return['msg'] = '请选择您要删除的申请转换会员信息!'; + $return['errcode'] = 8; } - return $return; - } - - - /** - * 用户申请切换身份校验 - * errcode 1:有条件不符并且有跳转链接 2:有错误提示无需跳转 3:拒绝 重新申请 5:需要填写申请理由 6:身份申请成功 等待审核 9:身份切换成功 - */ - function checkChangeApply($uid,$usertype,$body=''){ - - if(empty($uid)){ - $return['msg'] = '请先登录'; - $return['url'] = Url('login'); - $return['errcode'] = 1; - - }elseif($this -> config['sy_user_change'] !='1'){ - - $return['msg'] = '请联系管理员进行操作!'; - - $return['errcode'] = 2; - - }else{ - $uid = (int)$uid; - $usertype = (int)$usertype; - - //获取账户基本信息 - $where['uid'] = $uid; - - $user = $this->getInfo($where,array('field'=>'`usertype`,`username`,`salt`,`email`,`password`,`pid`,`wxopenid`,`wxid`,`did`')); - - if($user['usertype']>0){ - - //查询是否有申请记录 - $cahnge = $this->getUserChangeInfo(array('uid' => $uid,'orderby'=>'id,desc')); - - //已经有申请记录的 禁止重复申请 - if(!empty($cahnge) && $cahnge['status']==0){ - - $utypes = array('1'=>'个人会员','2'=>'企业会员','3'=>'猎头会员','4'=>'培训会员'); - $return['msg'] = '您已申请'.$utypes[$cahnge['apply_usertype']].',请等待管理员审核'; - - $return['wxopenid'] = $user['wxopenid']; - $return['wxid'] = $user['wxid']; - $return['errcode'] = 6; - - }else{ - - //之前申请过并且被拒绝的 如果有body内容,则视为重新申请 - if($cahnge['status']==2 && !$body){ - - $return['msg'] = '管理员已拒绝您的申请,原因:'.$cahnge['statusbody']; - - $return['errcode'] = 3; - - }else{ - - - if($this -> config['sy_change_noshen'] != '1'){ - - if($usertype == 1){ - $InfoNum = $this -> select_num('resume',$where); - }else if($usertype == 2){ - $InfoNum = $this -> select_num('company',$where); - }else if($usertype == 3){ - $InfoNum = $this -> select_num('lt_info',$where); - }else if($usertype == 4){ - $InfoNum = $this -> select_num('px_train',$where); - } - } - //免审核或已经审核过的可以直接切换 - if($InfoNum>0 || $this -> config['sy_change_noshen'] == '1'){ - - $changeData['uid'] = $uid; - $changeData['usertype'] = $usertype; - $changeData['spid'] = $user['pid']; - - $res = $this -> changeUsertype($changeData); - - if($res['errcode'] == 9){ - - require_once('cookie.model.php'); - $cookieM = new cookie_model($this->db,$this->def); - - $cookieM -> add_cookie($uid, $user['username'], $user['salt'], $user['email'], $user['password'], $usertype, $this->config['sy_logintime'], $user['did']); - - $return['errcode'] = 9; - - $token = md5($user['username'].$user['password'].$user['salt'].$usertype); - $return['user'] = array('uid'=>$uid,'usertype'=>$usertype,'token'=>$token); - - }else{ - - $return['msg'] = $res['msg']; - $return['errcode'] = 4; - } - - - }else{ - //需要重新申请 如果有BODY字段 视为提交新申请 没有body则返回说明状态 - if($body != ''){ - - $addData = array( - 'uid' => $uid, - 'name' => $user['username'], - 'did' => $user['did'], - 'apply_usertype' => $usertype, - 'pres_usertype' => $user['usertype'], - 'applybody' => $body, - 'apply_time' => time(), - 'lastupdate' => time(), - 'type' => 1, - 'state' => 0, - ); - - $this -> addUserChange($addData); - - $return['wxid'] = $user['wxid']; - $return['msg'] = '申请成功,请等待管理员审核!'; - $return['errcode'] = 6; - - - }else{ - - $return['errcode'] = 5;//需要填写申请理由 - } - } - } - } - }else{ - $return['msg'] = '请先完善基本信息或者退出登录选择新身份'; - $return['url'] = $_SERVER['HTTP_REFERER']; - $return['errcode'] = 1; - } - } - - return $return; - - } - + return $return; + } + + + /** + * 用户申请切换身份校验 + * errcode 1:有条件不符并且有跳转链接 2:有错误提示无需跳转 3:拒绝 重新申请 5:需要填写申请理由 6:身份申请成功 等待审核 9:身份切换成功 + */ + function checkChangeApply($uid, $usertype, $body = '') { + + if (empty($uid)) { + $return['msg'] = '请先登录'; + $return['url'] = Url('login'); + $return['errcode'] = 1; + + } elseif ($this->config['sy_user_change'] != '1') { + + $return['msg'] = '请联系管理员进行操作!'; + + $return['errcode'] = 2; + + } else { + $uid = (int)$uid; + $usertype = (int)$usertype; + + //获取账户基本信息 + $where['uid'] = $uid; + + $user = $this->getInfo($where, array('field' => '`usertype`,`username`,`salt`,`email`,`password`,`pid`,`wxopenid`,`wxid`,`did`')); + + if ($user['usertype'] > 0) { + + //查询是否有申请记录 + $cahnge = $this->getUserChangeInfo(array('uid' => $uid, 'orderby' => 'id,desc')); + + //已经有申请记录的 禁止重复申请 + if (!empty($cahnge) && $cahnge['status'] == 0) { + + $utypes = array('1' => '个人会员', '2' => '企业会员', '3' => '猎头会员', '4' => '培训会员'); + $return['msg'] = '您已申请' . $utypes[$cahnge['apply_usertype']] . ',请等待管理员审核'; + + $return['wxopenid'] = $user['wxopenid']; + $return['wxid'] = $user['wxid']; + $return['errcode'] = 6; + + } else { + + //之前申请过并且被拒绝的 如果有body内容,则视为重新申请 + if ($cahnge['status'] == 2 && !$body) { + + $return['msg'] = '管理员已拒绝您的申请,原因:' . $cahnge['statusbody']; + + $return['errcode'] = 3; + + } else { + + + if ($this->config['sy_change_noshen'] != '1') { + + if ($usertype == 1) { + $InfoNum = $this->select_num('resume', $where); + } else if ($usertype == 2) { + $InfoNum = $this->select_num('company', $where); + } else if ($usertype == 3) { + $InfoNum = $this->select_num('lt_info', $where); + } else if ($usertype == 4) { + $InfoNum = $this->select_num('px_train', $where); + } + } + //免审核或已经审核过的可以直接切换 + if ($InfoNum > 0 || $this->config['sy_change_noshen'] == '1') { + + $changeData['uid'] = $uid; + $changeData['usertype'] = $usertype; + $changeData['spid'] = $user['pid']; + + $res = $this->changeUsertype($changeData); + + if ($res['errcode'] == 9) { + + require_once('cookie.model.php'); + $cookieM = new cookie_model($this->db, $this->def); + + $cookieM->add_cookie($uid, $user['username'], $user['salt'], $user['email'], $user['password'], $usertype, $this->config['sy_logintime'], $user['did']); + + $return['errcode'] = 9; + + $token = md5($user['username'] . $user['password'] . $user['salt'] . $usertype); + $return['user'] = array('uid' => $uid, 'usertype' => $usertype, 'token' => $token); + + } else { + + $return['msg'] = $res['msg']; + $return['errcode'] = 4; + } + + + } else { + //需要重新申请 如果有BODY字段 视为提交新申请 没有body则返回说明状态 + if ($body != '') { + + $addData = array( + 'uid' => $uid, + 'name' => $user['username'], + 'did' => $user['did'], + 'apply_usertype' => $usertype, + 'pres_usertype' => $user['usertype'], + 'applybody' => $body, + 'apply_time' => time(), + 'lastupdate' => time(), + 'type' => 1, + 'state' => 0, + ); + + $this->addUserChange($addData); + + $return['wxid'] = $user['wxid']; + $return['msg'] = '申请成功,请等待管理员审核!'; + $return['errcode'] = 6; + + + } else { + + $return['errcode'] = 5;//需要填写申请理由 + } + } + } + } + } else { + $return['msg'] = '请先完善基本信息或者退出登录选择新身份'; + $return['url'] = $_SERVER['HTTP_REFERER']; + $return['errcode'] = 1; + } + } + + return $return; + + } + /** * 第三方登录绑定账号 * @param array $data * @param string $type * @return array|string[] */ - function bindacount($data = array(),$type='') - { - - $username = $data['username']; - $return = array('msg'=>'系统繁忙','errcode'=>8); - - require ('notice.model.php'); - $noticeM = new notice_model($this->db, $this->def); - - //会员已登录判断 - if(!empty($data['uid']) && $data['uid'] > 0 && $username!=''){ - - if($data['usertype']=='1'){ - return array('msg'=>'您现在是个人会员登录状态!'); - }elseif($data['usertype']=='2'){ - return array('msg'=>'您现在是企业会员登录状态!'); - }elseif($data['usertype']=='3'){ - return array('msg'=>'您现在是猎头会员登录状态!'); - }elseif($data['usertype']=='4'){ - return array('msg'=>'您现在是培训会员登录状态!'); - } - } - //验证码判断 - if(!isset($data['provider'])){ - - $result = $noticeM->jycheck($data['authcode'],'前台登录'); - if(!empty($result)){ - return array('msg'=>$result['msg'],'errcode'=>'8'); - } - } - - if(CheckRegUser($username)==false && CheckRegEmail($username)==false && ($username!='')){ - return array('msg'=>'用户名包含特殊字符或为空!','errcode'=>'8'); - } - - $where = array('username'=> $username); - - if(CheckMobile($username)){ - - $where['PHPYUNBTWSTART'] = 'OR'; - $where['moblie'] = $username; - $where['moblie_status'] = 1; - $where['PHPYUNBTWEND'] = ''; - } - //邮箱登录 - if(CheckRegEmail($username)){ - - $where['PHPYUNBTWSTART'] = 'OR'; - $where['email'] = $username; - $where['email_status'] = 1; - $where['PHPYUNBTWEND'] = ''; - } - - $user = $this->getInfo($where); - - if (!empty($user)){ - - if($user['status']=='2'){ - return array('msg'=>'您的账号已被锁定!','errcode'=>'8','url'=>Url('register',array('c'=>'ok','type'=>2),'1')); - } - //普通密码校验 - $res = passCheck($data['password'],$user['salt'],$user['password']); - - if($res){ - - //cookie设置 - if (!isset($data['provider'])){ - - require_once('cookie.model.php'); - $cookie = new cookie_model($this->db,$this->def); - $cookie->unset_cookie(); - $cookie->add_cookie($user['uid'],$user['username'],$user['salt'],$user['email'],$user['password'],$user['usertype'],$this->config['sy_logintime'],$user['did']); - } - //会员登录信息变更 - $ip = fun_ip_get(); - $upLogin = array( - 'login_ip'=>$ip, - 'login_date'=> time(), - 'login_hits' => array('+', 1) - ); - if (isset($data['provider'])){ - if (!empty($data['clientid'])){ - $upLogin['clientid'] = $data['clientid']; - $upLogin['deviceToken'] = $data['deviceToken']; - //清除其他账号clientid - $this->clearPushId($data['clientid'], $user['uid']); - } - } - if($type=='weixin'){ - if (isset($data['provider'])){ - if ($data['provider'] == 'app'){ - $upLogin['app_wxid'] = !empty($data['openid']) ? $data['openid'] : ''; - }else{ - $upLogin['wxopenid'] = !empty($data['openid']) ? $data['openid'] : ''; - } - }else{ - $upLogin['wxid'] = !empty($data['openid']) ? $data['openid'] : ''; - } - $upLogin['unionid'] = !empty($data['unionid']) ? $data['unionid'] : ''; - - }elseif ($type == 'qq'){ - - $upLogin['qqid'] = !empty($data['openid']) ? $data['openid'] : ''; - $upLogin['qqunionid'] = !empty($data['unionid']) ? $data['unionid'] : ''; - - }elseif ($type == 'sinaweibo'){ - - $upLogin['sinaid'] = !empty($data['openid']) ? $data['openid'] : ''; - }elseif ($type=="baidu"){ - $upLogin['bdopenid'] = !empty($data['openid']) ? $data['openid'] : ''; - } - $this->upInfo(array('uid'=>$user['uid']), $upLogin); - - if(!empty($user['usertype'])){ - - // 同步登录时间 + function bindacount($data = array(), $type = '') { + + $username = $data['username']; + $return = array('msg' => '系统繁忙', 'errcode' => 8); + + require('notice.model.php'); + $noticeM = new notice_model($this->db, $this->def); + + //会员已登录判断 + if (!empty($data['uid']) && $data['uid'] > 0 && $username != '') { + + if ($data['usertype'] == '1') { + return array('msg' => '您现在是个人会员登录状态!'); + } elseif ($data['usertype'] == '2') { + return array('msg' => '您现在是企业会员登录状态!'); + } elseif ($data['usertype'] == '3') { + return array('msg' => '您现在是猎头会员登录状态!'); + } elseif ($data['usertype'] == '4') { + return array('msg' => '您现在是培训会员登录状态!'); + } + } + //验证码判断 + if (!isset($data['provider'])) { + + $result = $noticeM->jycheck($data['authcode'], '前台登录'); + if (!empty($result)) { + return array('msg' => $result['msg'], 'errcode' => '8'); + } + } + + if (CheckRegUser($username) == false && CheckRegEmail($username) == false && ($username != '')) { + return array('msg' => '用户名包含特殊字符或为空!', 'errcode' => '8'); + } + + $where = array('username' => $username); + + if (CheckMobile($username)) { + + $where['PHPYUNBTWSTART'] = 'OR'; + $where['moblie'] = $username; + $where['moblie_status'] = 1; + $where['PHPYUNBTWEND'] = ''; + } + //邮箱登录 + if (CheckRegEmail($username)) { + + $where['PHPYUNBTWSTART'] = 'OR'; + $where['email'] = $username; + $where['email_status'] = 1; + $where['PHPYUNBTWEND'] = ''; + } + + $user = $this->getInfo($where); + + if (!empty($user)) { + + if ($user['status'] == '2') { + return array('msg' => '您的账号已被锁定!', 'errcode' => '8', 'url' => Url('register', array('c' => 'ok', 'type' => 2), '1')); + } + //普通密码校验 + $res = passCheck($data['password'], $user['salt'], $user['password']); + + if ($res) { + + //cookie设置 + if (!isset($data['provider'])) { + + require_once('cookie.model.php'); + $cookie = new cookie_model($this->db, $this->def); + $cookie->unset_cookie(); + $cookie->add_cookie($user['uid'], $user['username'], $user['salt'], $user['email'], $user['password'], $user['usertype'], $this->config['sy_logintime'], $user['did']); + } + //会员登录信息变更 + $ip = fun_ip_get(); + $upLogin = array( + 'login_ip' => $ip, + 'login_date' => time(), + 'login_hits' => array('+', 1) + ); + if (isset($data['provider'])) { + if (!empty($data['clientid'])) { + $upLogin['clientid'] = $data['clientid']; + $upLogin['deviceToken'] = $data['deviceToken']; + //清除其他账号clientid + $this->clearPushId($data['clientid'], $user['uid']); + } + } + if ($type == 'weixin') { + if (isset($data['provider'])) { + if ($data['provider'] == 'app') { + $upLogin['app_wxid'] = !empty($data['openid']) ? $data['openid'] : ''; + } else { + $upLogin['wxopenid'] = !empty($data['openid']) ? $data['openid'] : ''; + } + } else { + $upLogin['wxid'] = !empty($data['openid']) ? $data['openid'] : ''; + } + $upLogin['unionid'] = !empty($data['unionid']) ? $data['unionid'] : ''; + + } elseif ($type == 'qq') { + + $upLogin['qqid'] = !empty($data['openid']) ? $data['openid'] : ''; + $upLogin['qqunionid'] = !empty($data['unionid']) ? $data['unionid'] : ''; + + } elseif ($type == 'sinaweibo') { + + $upLogin['sinaid'] = !empty($data['openid']) ? $data['openid'] : ''; + } elseif ($type == "baidu") { + $upLogin['bdopenid'] = !empty($data['openid']) ? $data['openid'] : ''; + } + $this->upInfo(array('uid' => $user['uid']), $upLogin); + + if (!empty($user['usertype'])) { + + // 同步登录时间 $this->update_once('company', array('login_date' => time()), array('uid' => $user['uid'])); $this->update_once('resume', array('login_date' => time()), array('uid' => $user['uid'])); - - //登录日志 - if (isset($data['provider'])){ - if ($data['source'] == '3'){ - $state_content = 'app绑定账号'; - }elseif ($data['source'] == '13'){ - $state_content = '微信小程序绑定账号'; - }elseif ($data['source'] == '19'){ - $state_content = '百度小程序绑定账号'; - } - }elseif ($type=='weixin'){ - - $state_content = $data['source'] == 1 ? 'PC绑定微信' : 'wap绑定微信'; - }elseif ($type=='qq'){ - - $state_content = $data['source'] == 1 ? 'PC绑定QQ' : 'wap绑定QQ'; - }elseif ($type=='sinaweibo'){ - - $state_content = $data['source'] == 1 ? 'PC绑定新浪微博' : 'wap绑定新浪微博'; - } - //会员日志,记录手动登录 - require_once ('log.model.php'); - $LogM = new log_model($this->db, $this->def); - $LogM->addMemberLog($user['uid'],$user['usertype'], $state_content. '登录成功'); - - $logtime = date('Ymd',$user['login_date']); - $nowtime = date('Ymd',time()); - if($logtime!=$nowtime){ - - //登录积分 - include_once ('integral.model.php'); - $integralM = new integral_model($this->db, $this->def); - $integralM->invtalCheck($user['uid'],$user['usertype'],'integral_login','会员登录',22); - - // 登录日志 - $logdata['content'] = $state_content; - - $logdata['uid'] = $user['uid']; - $logdata['usertype'] = $user['usertype']; - $logdata['did'] = $user['did']; - - $LogM->addLoginlog($logdata); - } - } - - if(empty($user['usertype'])){ - $return['errcode'] = 2; - $return['msg'] = ''; - }else{ - - $return['errcode'] = 9; - $return['msg'] = '登录成功'; - } - - if (isset($data['source'])){ - // wap、pc所需跳转地址 - if ($data['source'] == 2){ - $return['url'] = Url('wap',array(),'member'); - }elseif ($data['source'] == 1){ - $return['url'] = $this->config['sy_weburl'].'/member/index.php'; - } - } - // app/小程序, 需要token - if (isset($data['provider'])){ - - if($type=='weixin' && $data['provider'] == 'weixin' && !empty($data['unionid']) && empty($this->config['mini_wxopen'])){ - // 微信小程序内登录的,已绑定开放平台的,处理微信小程序绑定微信开放平台状态 - $new_config = array('mini_wxopen'=>1); - - include 'config.model.php'; - $configM = new config_model($this->db, $this->def); - $configM->setConfig($new_config); - // 重新生成config.php缓存 - $configM->makeConfig(); - } - - $token = md5($user['username'].$user['password'].$user['salt'].$user['usertype']); - if($user['usertype'] > 0){ - $usertype = $user['usertype']; - }else{ - $usertype = 0; - } - $return['user'] = array('uid'=>$user['uid'],'usertype'=>$usertype,'token'=>$token); - if($user['pid']){ - $return['user']['spid'] = 1; - } - } - - return $return; - }else{ - - return array('msg'=>'用户名或密码不正确!','errcode'=>'8'); - } - }else{ - return array('msg'=>'用户名或密码不正确!','errcode'=>'8'); - } - return $return; - } - + + //登录日志 + if (isset($data['provider'])) { + if ($data['source'] == '3') { + $state_content = 'app绑定账号'; + } elseif ($data['source'] == '13') { + $state_content = '微信小程序绑定账号'; + } elseif ($data['source'] == '19') { + $state_content = '百度小程序绑定账号'; + } + } elseif ($type == 'weixin') { + + $state_content = $data['source'] == 1 ? 'PC绑定微信' : 'wap绑定微信'; + } elseif ($type == 'qq') { + + $state_content = $data['source'] == 1 ? 'PC绑定QQ' : 'wap绑定QQ'; + } elseif ($type == 'sinaweibo') { + + $state_content = $data['source'] == 1 ? 'PC绑定新浪微博' : 'wap绑定新浪微博'; + } + //会员日志,记录手动登录 + require_once('log.model.php'); + $LogM = new log_model($this->db, $this->def); + $LogM->addMemberLog($user['uid'], $user['usertype'], $state_content . '登录成功'); + + $logtime = date('Ymd', $user['login_date']); + $nowtime = date('Ymd', time()); + if ($logtime != $nowtime) { + + //登录积分 + include_once('integral.model.php'); + $integralM = new integral_model($this->db, $this->def); + $integralM->invtalCheck($user['uid'], $user['usertype'], 'integral_login', '会员登录', 22); + + // 登录日志 + $logdata['content'] = $state_content; + + $logdata['uid'] = $user['uid']; + $logdata['usertype'] = $user['usertype']; + $logdata['did'] = $user['did']; + + $LogM->addLoginlog($logdata); + } + } + + if (empty($user['usertype'])) { + $return['errcode'] = 2; + $return['msg'] = ''; + } else { + + $return['errcode'] = 9; + $return['msg'] = '登录成功'; + } + + if (isset($data['source'])) { + // wap、pc所需跳转地址 + if ($data['source'] == 2) { + $return['url'] = Url('wap', array(), 'member'); + } elseif ($data['source'] == 1) { + $return['url'] = $this->config['sy_weburl'] . '/member/index.php'; + } + } + // app/小程序, 需要token + if (isset($data['provider'])) { + + if ($type == 'weixin' && $data['provider'] == 'weixin' && !empty($data['unionid']) && empty($this->config['mini_wxopen'])) { + // 微信小程序内登录的,已绑定开放平台的,处理微信小程序绑定微信开放平台状态 + $new_config = array('mini_wxopen' => 1); + + include 'config.model.php'; + $configM = new config_model($this->db, $this->def); + $configM->setConfig($new_config); + // 重新生成config.php缓存 + $configM->makeConfig(); + } + + $token = md5($user['username'] . $user['password'] . $user['salt'] . $user['usertype']); + if ($user['usertype'] > 0) { + $usertype = $user['usertype']; + } else { + $usertype = 0; + } + $return['user'] = array('uid' => $user['uid'], 'usertype' => $usertype, 'token' => $token); + if ($user['pid']) { + $return['user']['spid'] = 1; + } + } + + return $return; + } else { + + return array('msg' => '用户名或密码不正确!', 'errcode' => '8'); + } + } else { + return array('msg' => '用户名或密码不正确!', 'errcode' => '8'); + } + return $return; + } + /** * 微信/QQ等直接登录注册 * @param array $data @@ -5166,323 +5158,324 @@ * @param string $provider * @return mixed */ - function fastReg($data = array(), $type = '', $provider = 'weixin') - { - - // 微信小程序和百度小程序不需要验证 - if($type != 'wxxcx' && $data['moblie']!=''){ - - // 验证手机号 - if(!CheckMobile($data['moblie'])){ - - $return['msg'] = '手机格式错误!'; - }else{ + function fastReg($data = array(), $type = '', $provider = 'weixin') { + + // 微信小程序和百度小程序不需要验证 + if ($type != 'wxxcx' && $data['moblie'] != '') { + + // 验证手机号 + if (!CheckMobile($data['moblie'])) { + + $return['msg'] = '手机格式错误!'; + } else { //检查手机号是否已存在 如果存在则直接绑定 - $mobileUser = $this -> getInfo(array('moblie' => $data['moblie'])); - } - - if($return['msg']){ - $return['errcode'] = 8; - return $return; - } - $regCertMobile = $this->select_once('company_cert',array('type' => '2', 'check' => $data['moblie'],'orderby'=>'ctime,desc'), '`check2`,`ctime`'); - - include_once ('notice.model.php'); - $noticeM = new notice_model($this->db, $this->def); - - $codeTime = $noticeM->checkTime($regCertMobile['ctime']); - - if($data['moblie_code']==''){ - - $return['msg'] = '短信验证码不能为空!'; - $return['errcode'] = 8; - return $return; - }elseif(!$codeTime){ - - $return['msg'] = '短信验证码验证超时,请重新点击发送验证码!'; - $return['errcode'] = 8; - return $return; - }elseif($regCertMobile['check2']!=$data['moblie_code']){ - - $return['msg'] = '短信验证码错误!'; - $return['errcode'] = 8; - return $return; - } - if($this->config['sy_msg_regcode']=='1' || $type != ''){ - $needMsg = true; - } - if(!$needMsg){ - - $result = $noticeM->jycheck($data['code'],'前台登录'); - - if(!empty($result)){ - - $return['msg'] = $result['msg']; - $return['errcode'] = 8; - return $return; - } - } - } - if(!empty($mobileUser['uid'])){ - //直接绑定该账户 - if($mobileUser['status']=='2'){ - - $return['msg'] = '当前手机号对应账户已被锁定!'; - $return['errcode'] = 8; - }else{ - - if ($provider == 'weixin'){ - - if ($type != ''){ - if($type == 'app'){ - - $mdata['app_wxid'] = !empty($data['openid']) ? $data['openid'] : ''; - $loginType = 'APP/微信'; - }else{ - $mdata['wxopenid'] = !empty($data['openid']) ? $data['openid'] : ''; - $loginType = '微信小程序'; - } - }else{ - $mdata['wxid'] = !empty($data['openid']) ? $data['openid'] : ''; - $loginType = '微信公众号'; - } - $mdata['unionid'] = !empty($data['unionid']) ? $data['unionid'] : ''; - - }elseif ($provider == 'qq'){ - - $mdata['qqid'] = !empty($data['openid']) ? $data['openid'] : ''; - $mdata['qqunionid'] = !empty($data['unionid']) ? $data['unionid'] : ''; - $loginType = 'QQ'; - - }elseif ($provider == 'sinaweibo'){ - - $mdata['sinaid'] = !empty($data['openid']) ? $data['openid'] : ''; - $loginType = 'weibo'; - } - - //更新登录信息 - - $ip = fun_ip_get(); - $mdata['login_ip'] = $ip; - $mdata['login_date'] = time(); - $mdata['login_hits'] = array('+', 1); - - if ($type == 'app'){ - if (!empty($data['clientid'])){ - $mdata['clientid'] = $data['clientid']; - $mdata['deviceToken'] = $data['deviceToken']; - //清除其他账号clientid - $this->clearPushId($data['clientid'], $mobileUser['uid']); - } - } - //更新绑定 登录信息 - $this->upInfo(array('uid'=>$mobileUser['uid']),$mdata); - - if(!empty($mobileUser['usertype'])){ - + $mobileUser = $this->getInfo(array('moblie' => $data['moblie'])); + } + + if ($return['msg']) { + $return['errcode'] = 8; + return $return; + } + $regCertMobile = $this->select_once('company_cert', array('type' => '2', 'check' => $data['moblie'], 'orderby' => 'ctime,desc'), '`check2`,`ctime`'); + + include_once('notice.model.php'); + $noticeM = new notice_model($this->db, $this->def); + + $codeTime = $noticeM->checkTime($regCertMobile['ctime']); + + if ($data['moblie_code'] == '') { + + $return['msg'] = '短信验证码不能为空!'; + $return['errcode'] = 8; + return $return; + } elseif (!$codeTime) { + + $return['msg'] = '短信验证码验证超时,请重新点击发送验证码!'; + $return['errcode'] = 8; + return $return; + } elseif ($regCertMobile['check2'] != $data['moblie_code']) { + + $return['msg'] = '短信验证码错误!'; + $return['errcode'] = 8; + return $return; + } + if ($this->config['sy_msg_regcode'] == '1' || $type != '') { + $needMsg = true; + } + if (!$needMsg) { + + $result = $noticeM->jycheck($data['code'], '前台登录'); + + if (!empty($result)) { + + $return['msg'] = $result['msg']; + $return['errcode'] = 8; + return $return; + } + } + } + if (!empty($mobileUser['uid'])) { + //直接绑定该账户 + if ($mobileUser['status'] == '2') { + + $return['msg'] = '当前手机号对应账户已被锁定!'; + $return['errcode'] = 8; + } else { + + if ($provider == 'weixin') { + + if ($type != '') { + if ($type == 'app') { + + $mdata['app_wxid'] = !empty($data['openid']) ? $data['openid'] : ''; + $loginType = 'APP/微信'; + } else { + $mdata['wxopenid'] = !empty($data['openid']) ? $data['openid'] : ''; + $loginType = '微信小程序'; + } + } else { + $mdata['wxid'] = !empty($data['openid']) ? $data['openid'] : ''; + $loginType = '微信公众号'; + } + $mdata['unionid'] = !empty($data['unionid']) ? $data['unionid'] : ''; + + } elseif ($provider == 'qq') { + + $mdata['qqid'] = !empty($data['openid']) ? $data['openid'] : ''; + $mdata['qqunionid'] = !empty($data['unionid']) ? $data['unionid'] : ''; + $loginType = 'QQ'; + + } elseif ($provider == 'sinaweibo') { + + $mdata['sinaid'] = !empty($data['openid']) ? $data['openid'] : ''; + $loginType = 'weibo'; + } + + //更新登录信息 + + $ip = fun_ip_get(); + $mdata['login_ip'] = $ip; + $mdata['login_date'] = time(); + $mdata['login_hits'] = array('+', 1); + + if ($type == 'app') { + if (!empty($data['clientid'])) { + $mdata['clientid'] = $data['clientid']; + $mdata['deviceToken'] = $data['deviceToken']; + //清除其他账号clientid + $this->clearPushId($data['clientid'], $mobileUser['uid']); + } + } + //更新绑定 登录信息 + $this->upInfo(array('uid' => $mobileUser['uid']), $mdata); + + if (!empty($mobileUser['usertype'])) { + // 同步登录时间 $this->update_once('company', array('login_date' => time()), array('uid' => $mobileUser['uid'])); $this->update_once('resume', array('login_date' => time()), array('uid' => $mobileUser['uid'])); - + //会员日志,记录手动登录 - require_once ('log.model.php'); - $LogM = new log_model($this->db, $this->def); - $LogM->addMemberLog($mobileUser['uid'],$mobileUser['usertype'], $loginType. '绑定账号短信登录成功'); - - $logtime = date('Ymd',$mobileUser['login_date']); - $nowtime = date('Ymd',time()); - if($logtime!=$nowtime){ - //登录积分 - require_once ('integral.model.php'); - $IntegralM = new integral_model($this -> db, $this -> def); - $IntegralM->invtalCheck($mobileUser['uid'],$mobileUser['usertype'],'integral_login','会员登录',22); - //登录日志 - $logdata['uid'] = $mobileUser['uid']; - $logdata['usertype'] = $mobileUser['usertype']; - $logdata['did'] = $mobileUser['did']; - - $LogM->addLoginlog($logdata, array('provider'=>$provider)); - } - } - - if ($type == ''){ - // 非小程序/APP - require_once('cookie.model.php'); - $cookie = new cookie_model($this->db,$this->def); - $cookie->unset_cookie(); - $cookie->add_cookie($mobileUser['uid'], $mobileUser['username'], $mobileUser['salt'], $mobileUser['email'], $mobileUser['password'], $mobileUser['usertype'], $this->config['sy_logintime'], $mobileUser['did']); - - }else{ - // 小程序/APP - $token = md5($mobileUser['username'].$mobileUser['password'].$mobileUser['salt'].$mobileUser['usertype']); - $return['user'] = array('uid'=>$mobileUser['uid'],'usertype'=>$mobileUser['usertype'],'token'=>$token); - - if ($type == 'wxxcx' && !empty($data['unionid']) && empty($this->config['mini_wxopen'])){ - // 微信小程序内登录的,已绑定开放平台的,处理微信小程序绑定微信开放平台状态 - $new_config = array('mini_wxopen'=>1); - - include 'config.model.php'; - $configM = new config_model($this->db, $this->def); - $configM->setConfig($new_config); - // 重新生成config.php缓存 - $configM->makeConfig(); - } - } - - $return['msg'] = '账户绑定成功!'; - $return['errcode'] = 9; - if ($type != ''){ - - $return['error'] = 1; - } - } - }else{ - $ip = fun_ip_get(); - $time = time(); - $salt = substr(uniqid(rand()),-6); - $rand = mt_rand(111111,999999); - // 处理用户名 - if (!empty($data['moblie'])){ - - $username = $data['moblie']; - }else{ - - if ($provider == 'weixin'){ - - $username = 'wxid_'.$time.$rand; - }elseif ($provider == 'qq'){ - - $username = 'qqid_'.$time.$rand; - }elseif ($provider == 'sinaweibo'){ - - $username = 'sinaid_'.$time.$rand; - } - } - - $mdata = array( - 'username' => $username, - 'password' => passCheck($rand,$salt), - 'salt' => $salt, - 'moblie' => !empty($data['moblie']) ? $data['moblie'] : '', - 'moblie_status' => !empty($data['moblie']) ? 1 : 0, - 'usertype' => 0, - 'reg_date' => $time, - 'reg_ip' => $ip, - 'login_date' => $time, - 'login_ip' => $ip, - 'status' => 1, - 'source' => $data['source'], - 'clientid' => !empty($data['clientid']) ? $data['clientid'] : '', - 'deviceToken' => !empty($data['deviceToken']) ? $data['deviceToken'] : '', - 'did' => $this->config['did'] - ); - if ($provider == 'weixin'){ - - if ($type != ''){ - if($type == 'app'){ - $mdata['app_wxid'] = !empty($data['openid']) ? $data['openid'] : ''; - }else{ - $mdata['wxopenid'] = !empty($data['openid']) ? $data['openid'] : ''; - } - }else{ - $mdata['wxid'] = !empty($data['openid']) ? $data['openid'] : ''; - } - $mdata['unionid'] = !empty($data['unionid']) ? $data['unionid'] : ''; - - }elseif ($provider == 'qq'){ - - $mdata['qqid'] = !empty($data['openid']) ? $data['openid'] : ''; - $mdata['qqunionid'] = !empty($data['unionid']) ? $data['unionid'] : ''; - - }elseif ($provider == 'sinaweibo'){ - - $mdata['sinaid'] = !empty($data['openid']) ? $data['openid'] : ''; - } - $userid = $this->insert_into('member', $mdata); - - if ($userid){ - - //处理注册赠送优惠券 - if($this->config['reg_coupon']){ - $coupon = $this->select_once('coupon',array('id'=>$this->config['reg_coupon'])); - $cdata['uid'] = $userid; - $cdata['number'] = $time; - $cdata['ctime'] = $time; - $cdata['coupon_id'] = $coupon['id']; - $cdata['coupon_name'] = $coupon['name']; - $cdata['validity'] = $time+$coupon['time']*86400; - $cdata['coupon_amount'] = $coupon['amount']; - $cdata['coupon_scope'] = $coupon['scope']; - $this->insert_into('coupon_list',$cdata); - } - if ($type == ''){ - // 非小程序/APP - require_once('cookie.model.php'); - $cookie = new cookie_model($this->db,$this->def); - $cookie->unset_cookie(); - $cookie->add_cookie($userid, $mdata['username'], $salt, '', $mdata['password'], '', $this->config['sy_logintime'], $mdata['did']); - - }else{ - // 小程序/APP - $token = md5($mdata['username'].$mdata['password'].$salt.'0'); - $return['user'] = array('uid'=>$userid,'usertype'=>0,'token'=>$token); - } - - $return['msg'] = '注册成功'; - - $return['errcode'] = 9; - if($type != ''){ - $return['error']= 1; - } - - $return['uid'] = $userid; - - }else{ + require_once('log.model.php'); + $LogM = new log_model($this->db, $this->def); + $LogM->addMemberLog($mobileUser['uid'], $mobileUser['usertype'], $loginType . '绑定账号短信登录成功'); + + $logtime = date('Ymd', $mobileUser['login_date']); + $nowtime = date('Ymd', time()); + if ($logtime != $nowtime) { + //登录积分 + require_once('integral.model.php'); + $IntegralM = new integral_model($this->db, $this->def); + $IntegralM->invtalCheck($mobileUser['uid'], $mobileUser['usertype'], 'integral_login', '会员登录', 22); + //登录日志 + $logdata['uid'] = $mobileUser['uid']; + $logdata['usertype'] = $mobileUser['usertype']; + $logdata['did'] = $mobileUser['did']; + + $LogM->addLoginlog($logdata, array('provider' => $provider)); + } + } + + if ($type == '') { + // 非小程序/APP + require_once('cookie.model.php'); + $cookie = new cookie_model($this->db, $this->def); + $cookie->unset_cookie(); + $cookie->add_cookie($mobileUser['uid'], $mobileUser['username'], $mobileUser['salt'], $mobileUser['email'], $mobileUser['password'], $mobileUser['usertype'], $this->config['sy_logintime'], $mobileUser['did']); + + } else { + // 小程序/APP + $token = md5($mobileUser['username'] . $mobileUser['password'] . $mobileUser['salt'] . $mobileUser['usertype']); + $return['user'] = array('uid' => $mobileUser['uid'], 'usertype' => $mobileUser['usertype'], 'token' => $token); + + if ($type == 'wxxcx' && !empty($data['unionid']) && empty($this->config['mini_wxopen'])) { + // 微信小程序内登录的,已绑定开放平台的,处理微信小程序绑定微信开放平台状态 + $new_config = array('mini_wxopen' => 1); + + include 'config.model.php'; + $configM = new config_model($this->db, $this->def); + $configM->setConfig($new_config); + // 重新生成config.php缓存 + $configM->makeConfig(); + } + } + + $return['msg'] = '账户绑定成功!'; + $return['errcode'] = 9; + if ($type != '') { + + $return['error'] = 1; + } + } + } else { + $ip = fun_ip_get(); + $time = time(); + $salt = substr(uniqid(rand()), -6); + $rand = mt_rand(111111, 999999); + // 处理用户名 + if (!empty($data['moblie'])) { + + $username = $data['moblie']; + } else { + + if ($provider == 'weixin') { + + $username = 'wxid_' . $time . $rand; + } elseif ($provider == 'qq') { + + $username = 'qqid_' . $time . $rand; + } elseif ($provider == 'sinaweibo') { + + $username = 'sinaid_' . $time . $rand; + } + } + + $mdata = array( + 'username' => $username, + 'password' => passCheck($rand, $salt), + 'salt' => $salt, + 'moblie' => !empty($data['moblie']) ? $data['moblie'] : '', + 'moblie_status' => !empty($data['moblie']) ? 1 : 0, + 'usertype' => 0, + 'reg_date' => $time, + 'reg_ip' => $ip, + 'login_date' => $time, + 'login_ip' => $ip, + 'status' => 1, + 'source' => $data['source'], + 'clientid' => !empty($data['clientid']) ? $data['clientid'] : '', + 'deviceToken' => !empty($data['deviceToken']) ? $data['deviceToken'] : '', + 'did' => $this->config['did'] + ); + if ($provider == 'weixin') { + + if ($type != '') { + if ($type == 'app') { + $mdata['app_wxid'] = !empty($data['openid']) ? $data['openid'] : ''; + } else { + $mdata['wxopenid'] = !empty($data['openid']) ? $data['openid'] : ''; + } + } else { + $mdata['wxid'] = !empty($data['openid']) ? $data['openid'] : ''; + } + $mdata['unionid'] = !empty($data['unionid']) ? $data['unionid'] : ''; + + } elseif ($provider == 'qq') { + + $mdata['qqid'] = !empty($data['openid']) ? $data['openid'] : ''; + $mdata['qqunionid'] = !empty($data['unionid']) ? $data['unionid'] : ''; + + } elseif ($provider == 'sinaweibo') { + + $mdata['sinaid'] = !empty($data['openid']) ? $data['openid'] : ''; + } + $userid = $this->insert_into('member', $mdata); + + if ($userid) { + + //处理注册赠送优惠券 + if ($this->config['reg_coupon']) { + $coupon = $this->select_once('coupon', array('id' => $this->config['reg_coupon'])); + $cdata['uid'] = $userid; + $cdata['number'] = $time; + $cdata['ctime'] = $time; + $cdata['coupon_id'] = $coupon['id']; + $cdata['coupon_name'] = $coupon['name']; + $cdata['validity'] = $time + $coupon['time'] * 86400; + $cdata['coupon_amount'] = $coupon['amount']; + $cdata['coupon_scope'] = $coupon['scope']; + $this->insert_into('coupon_list', $cdata); + } + if ($type == '') { + // 非小程序/APP + require_once('cookie.model.php'); + $cookie = new cookie_model($this->db, $this->def); + $cookie->unset_cookie(); + $cookie->add_cookie($userid, $mdata['username'], $salt, '', $mdata['password'], '', $this->config['sy_logintime'], $mdata['did']); + + } else { + // 小程序/APP + $token = md5($mdata['username'] . $mdata['password'] . $salt . '0'); + $return['user'] = array('uid' => $userid, 'usertype' => 0, 'token' => $token); + } + + $return['msg'] = '注册成功'; + + $return['errcode'] = 9; + if ($type != '') { + $return['error'] = 1; + } + + $return['uid'] = $userid; + + } else { + + $return['msg'] = '注册失败'; + $return['errcode'] = 8; + //增加错误日志 + $this->addErrorLog('', 1, $return['msg']); + } + + } + if ($type == 'wxxcx' && !empty($data['unionid']) && empty($this->config['mini_wxopen'])) { + // 微信小程序内登录的,已绑定开放平台的,处理微信小程序绑定微信开放平台状态 + $new_config = array('mini_wxopen' => 1); + + include 'config.model.php'; + $configM = new config_model($this->db, $this->def); + $configM->setConfig($new_config); + // 重新生成config.php缓存 + $configM->makeConfig(); + } + if ($type != '' && $return['errcode'] == 8) { + + $return['error'] = -1; + $return['errmsg'] = $return['msg']; + $return['user'] = array(); + unset($return['msg']); + } + return $return; + } - $return['msg'] = '注册失败'; - $return['errcode'] = 8; - //增加错误日志 - $this -> addErrorLog('', 1,$return['msg']); - } - - } - if ($type == 'wxxcx' && !empty($data['unionid']) && empty($this->config['mini_wxopen'])){ - // 微信小程序内登录的,已绑定开放平台的,处理微信小程序绑定微信开放平台状态 - $new_config = array('mini_wxopen'=>1); - - include 'config.model.php'; - $configM = new config_model($this->db, $this->def); - $configM->setConfig($new_config); - // 重新生成config.php缓存 - $configM->makeConfig(); - } - if ($type != '' && $return['errcode'] == 8){ - - $return['error'] = -1; - $return['errmsg'] = $return['msg']; - $return['user'] = array(); - unset($return['msg']); - } - return $return; - } - /** - * 清除其他账号绑定的app推送标识 - */ - function clearPushId($clientid, $uid = ''){ - if (!empty($clientid)){ - if ($uid == ''){ - $this->update_once('member', array('clientid'=>'', 'deviceToken'=>''),array('clientid'=>$clientid)); - }else{ - $appmember = $this->select_all('member',array('clientid'=>$clientid,'uid'=>array('<>',$uid)),'uid'); - if (!empty($appmember)){ - $appuid = array(); - foreach ($appmember as $v){ - $appuid[] = $v['uid']; - } - $this->update_once('member',array('clientid'=>'','deviceToken'=>''),array('uid'=>array('in',pylode(',', $appuid)))); - } - } - } - } + /** + * 清除其他账号绑定的app推送标识 + */ + function clearPushId($clientid, $uid = '') { + if (!empty($clientid)) { + if ($uid == '') { + $this->update_once('member', array('clientid' => '', 'deviceToken' => ''), array('clientid' => $clientid)); + } else { + $appmember = $this->select_all('member', array('clientid' => $clientid, 'uid' => array('<>', $uid)), 'uid'); + if (!empty($appmember)) { + $appuid = array(); + foreach ($appmember as $v) { + $appuid[] = $v['uid']; + } + $this->update_once('member', array('clientid' => '', 'deviceToken' => ''), array('uid' => array('in', pylode(',', $appuid)))); + } + } + } + } } + ?> \ No newline at end of file -- Gitblit v1.9.0