qa-ifish7/web/Application/Member/Model/MemberModel.class.php

125 lines
4.0 KiB
PHP

<?php
namespace Member\Model;
use Think\Model;
use Org\MobileVerify\MobileVerifyCode;
class MemberModel extends Model{
protected $tableName="member";
/**
* 验证字段
* @var array
*/
protected $_validate=array(
//array("字段","验证规则","错误提示",["验证条件","附加条件","验证时间"]),
array("truename","require","企业名称不能为空"),
array("guhua","require","固定电话不能为空"),
array("zhuyinghangye","require","请选择主营行业"),
array("kehuxingzhi","require","请选择客户性质"),
array("lianxiren","require","联系人不能为空"),
array("lianxiren_mobile","require","联系人手机号不能为空"),
array("email","require","邮箱不能为空"),
array("province","require","请选择省"),
array("city","require","请选择市"),
array("area","require","请选择区"),
);
/**
* 修改密码
*/
public function updatePassword(){
$rule = array(
array("oldpassword","require","请输入当前密码"),
array("password","require","请输入密码"),
array("password","6,40","密码长度需要6位以上",2,"length"),
array('repassword','password','确认密码不正确',0,'confirm'), // 验证确认密码是否和密码一致
);
$this->_validate = $rule;
$data = parent::create();
if(!$data){
return false;
}
$oldpassword = I('post.oldpassword');
$password = I('post.password');
if($oldpassword == $password){
$this->error = '当前密码和新密码不能相同';
return false;
}
$where['password'] = md6(I('post.oldpassword'));
$where['member_id'] = session("member.member_id");
$memberInfo = $this->where($where)->field("member_id")->find();
if(!$memberInfo){
$this->error = '请输入正确密码';
return false;
}
$memberInfo['password'] = md6($password);
$this->error = '密码修改成功';
return parent::save($memberInfo);
}
/**
* 发送修改绑定手机号短信验证码
* @param $mobile
* @return bool
*/
public function sendCode($mobile){
$mVC = new MobileVerifyCode();
return $mVC->send_code($mobile);
}
/**
* 发送修改绑定手机号短信验证码
* @param $mobile
* @return bool
*/
public function checkCode(){
$mVC = new MobileVerifyCode();
if(!$mVC->check(session('member.mobile'),I('post.verifycode'))){
$this->error = $mVC->error;
return false;
}
$this->error = "验证码正确";
session("update_mobile",1);
return true;
}
/**
* 修改手机号
* @param $mobile
* @return bool
*/
public function checkCodeAndSaveMobile(){
$mobile = I("post.mobile");
$rules = array(
array("mobile","require","手机号码不能为空"),
array('mobile','/^1[3|4|5|7|8][0-9]\d{4,8}$/','手机号码错误!','0','regex',1),
array('mobile','','手机号码已存在!',0,'unique',1), // 在新增的时候验证手机号码字段是否唯一
array("verifycode","require","请输入短信验证码"),
array("verifycode","6","短信验证码为6位",2,'length'),
);
$this->_validate = $rules;
$datas = parent::create();
if(!$datas){
return false;
}
$mVC = new MobileVerifyCode();
if(!$mVC->check($mobile,I('post.verifycode'))){
$this->error = $mVC->error;
return false;
}
session("update_mobile",null);
$data["member_id"] = session("member.member_id");
$data['mobile'] = $mobile;
//更换mobile session
$session_data=session("member");
$session_data["mobile"]=$mobile;
session("member",$session_data);
//
return parent::save($data);
}
}