public function doModifyPassword()
{
$_POST['oldpassword'] = t($_POST['oldpassword']);
$_POST['password'] = t($_POST['password']);
$_POST['repassword'] = t($_POST['repassword']);
// 验证信息
if ($_POST['oldpassword'] === '') {
$this->error('请填写原始密码');
}
if ($_POST['password'] === '') {
$this->error('请填写新密码');
}
if ($_POST['repassword'] === '') {
$this->error('请填写确认密码');
}
if ($_POST['password'] != $_POST['repassword']) {
$this->error(L('PUBLIC_PASSWORD_UNSIMILAR'));
// 新密码与确认密码不一致
}
if (strlen($_POST['password']) < 6) {
$this->error('密码太短了,最少6位');
}
if (strlen($_POST['password']) > 15) {
$this->error('密码太长了,最多15位');
}
if ($_POST['password'] == $_POST['oldpassword']) {
$this->error(L('PUBLIC_PASSWORD_SAME'));
// 新密码与旧密码相同
}
$user_model = model('User');
$map['uid'] = $this->mid;
$user_info = $user_model->where($map)->find();
if ($user_info['password'] == $user_model->encryptPassword($_POST['oldpassword'], $user_info['login_salt'])) {
$data['login_salt'] = rand(11111, 99999);
$data['password'] = $user_model->encryptPassword($_POST['password'], $data['login_salt']);
$res = $user_model->where("`uid`={$this->mid}")->save($data);
$info = $res ? L('PUBLIC_PASSWORD_MODIFY_SUCCESS') : L('PUBLIC_PASSWORD_MODIFY_FAIL');
// 密码修改成功,密码修改失败
} else {
$info = L('PUBLIC_ORIGINAL_PASSWORD_ERROR');
// 原始密码错误
}
return $this->ajaxReturn(null, $info, $res);
}