示例#1
0
 public function testMobile()
 {
     $result = SimpleValidator::mobile("12345678990");
     $this->assertEquals(true, $result);
     $result = SimpleValidator::mobile("22345678990");
     $this->assertEquals(false, $result);
     $result = SimpleValidator::mobile("123456789900");
     $this->assertEquals(false, $result);
     $result = SimpleValidator::mobile("12345678x90");
     $this->assertEquals(false, $result);
 }
 protected function isMobileRegister($registration)
 {
     if (isset($registration['emailOrMobile']) && !empty($registration['emailOrMobile'])) {
         if (SimpleValidator::mobile($registration['emailOrMobile'])) {
             return true;
         }
     } elseif (isset($registration['mobile']) && !empty($registration['mobile'])) {
         if (SimpleValidator::mobile($registration['mobile'])) {
             return true;
         }
     }
     return false;
 }
示例#3
0
 public function existAction(Request $request, $type)
 {
     $token = $request->getSession()->get('oauth_token');
     $client = $this->createOAuthClient($type);
     $oauthUser = $client->getUserInfo($token);
     $data = $request->request->all();
     $message = 'Email地址或手机号码输入错误';
     if (SimpleValidator::email($data['emailOrMobile'])) {
         $user = $this->getUserService()->getUserByEmail($data['emailOrMobile']);
         $message = '该Email地址尚未注册';
     } else {
         if (SimpleValidator::mobile($data['emailOrMobile'])) {
             $user = $this->getUserService()->getUserByVerifiedMobile($data['emailOrMobile']);
             $message = '该手机号码尚未注册';
         }
     }
     if (empty($user)) {
         $response = array('success' => false, 'message' => $message);
     } elseif (!$this->getUserService()->verifyPassword($user['id'], $data['password'])) {
         $response = array('success' => false, 'message' => '密码不正确,请重试!');
     } elseif ($this->getUserService()->getUserBindByTypeAndUserId($type, $user['id'])) {
         $response = array('success' => false, 'message' => "该{{ {$this->setting}('site.name') }}帐号已经绑定了该第三方网站的其他帐号,如需重新绑定,请先到账户设置中取消绑定!");
     } else {
         $response = array('success' => true, '_target_path' => $request->getSession()->get('_target_path', $this->generateUrl('homepage')));
         $this->getUserService()->bindUser($type, $oauthUser['id'], $user['id'], $token);
         $this->authenticateUser($user);
     }
     return $this->createJsonResponse($response);
 }
示例#4
0
| password | string | 是 | 密码 |

** 响应 **

```
{
    "xxx": "xxx"
}
```
*/
$api->post('/', function (Request $request) {
    $fields = $request->request->all();
    $error = array();
    //验证手机验证码
    $mobile_number = $fields['nickname'];
    if (!SimpleValidator::mobile($mobile_number)) {
        $error['message'] = '手机号码格式不正确';
        return $error;
    }
    if (!isset($fields['email']) || empty($fields['email'])) {
        $fields['email'] = "{$mobile_number}@163.com";
    }
    $fields['verifiedMobile'] = $mobile_number;
    $session = new Session();
    $session->start();
    if ($session->has($mobile_number)) {
        $info = $session->get($mobile_number);
        if ($fields['code'] != $info['code']) {
            $error['message'] = '验证码不正确';
            return $error;
        }
 public function updateUserProfile($id, $fields)
 {
     $user = $this->getUser($id);
     if (empty($user)) {
         throw $this->createServiceException('用户不存在,更新用户失败。');
     }
     $fields = ArrayToolkit::filter($fields, array('truename' => '', 'gender' => 'secret', 'iam' => '', 'idcard' => '', 'birthday' => null, 'city' => '', 'mobile' => '', 'qq' => '', 'school' => '', 'class' => '', 'company' => '', 'job' => '', 'signature' => '', 'title' => '', 'about' => '', 'weibo' => '', 'weixin' => '', 'site' => '', 'intField1' => null, 'intField2' => null, 'intField3' => null, 'intField4' => null, 'intField5' => null, 'dateField1' => null, 'dateField2' => null, 'dateField3' => null, 'dateField4' => null, 'dateField5' => null, 'floatField1' => null, 'floatField2' => null, 'floatField3' => null, 'floatField4' => null, 'floatField5' => null, 'textField1' => "", 'textField2' => "", 'textField3' => "", 'textField4' => "", 'textField5' => "", 'textField6' => "", 'textField7' => "", 'textField8' => "", 'textField9' => "", 'textField10' => "", 'varcharField1' => "", 'varcharField2' => "", 'varcharField3' => "", 'varcharField4' => "", 'varcharField5' => "", 'varcharField6' => "", 'varcharField7' => "", 'varcharField8' => "", 'varcharField9' => "", 'varcharField10' => ""));
     if (empty($fields)) {
         return $this->getProfileDao()->getProfile($id);
     }
     if (isset($fields['title'])) {
         $this->getUserDao()->updateUser($id, array('title' => $fields['title']));
         $this->dispatchEvent('user.update', new ServiceEvent(array('user' => $user, 'fields' => $fields)));
     }
     unset($fields['title']);
     if (!empty($fields['gender']) && !in_array($fields['gender'], array('male', 'female', 'secret'))) {
         throw $this->createServiceException('性别不正确,更新用户失败。');
     }
     if (!empty($fields['birthday']) && !SimpleValidator::date($fields['birthday'])) {
         throw $this->createServiceException('生日不正确,更新用户失败。');
     }
     if (!empty($fields['mobile']) && !SimpleValidator::mobile($fields['mobile'])) {
         throw $this->createServiceException('手机不正确,更新用户失败。');
     }
     if (!empty($fields['qq']) && !SimpleValidator::qq($fields['qq'])) {
         throw $this->createServiceException('QQ不正确,更新用户失败。');
     }
     if (!empty($fields['about'])) {
         $fields['about'] = $this->purifyHtml($fields['about']);
     }
     $userProfile = $this->getProfileDao()->updateProfile($id, $fields);
     $this->dispatchEvent('profile.update', new ServiceEvent(array('user' => $user, 'fields' => $fields)));
     return $userProfile;
 }
 public function checkEmailOrMobile($emailOrMobile)
 {
     if (SimpleValidator::email($emailOrMobile)) {
         return $this->checkEmail($emailOrMobile);
     } else {
         if (SimpleValidator::mobile($emailOrMobile)) {
             return $this->checkMobile($emailOrMobile);
         } else {
             return array('error_dateInput', '电子邮箱或者手机号码格式不正确!');
         }
     }
 }
示例#7
0
文件: users.php 项目: latticet/huiyou
```
*/
$api->post('/', function (Request $request) {
    $fields = $request->request->all();
    $error = array();
    //验证手机号码
    if (empty($fields['nickname'])) {
        $fields['nickname'] = $fields['verifiedMobile'];
    }
    $user = ServiceKernel::instance()->createService('User.UserService')->getUserByLoginField($fields['verifiedMobile']);
    if (!empty($user)) {
        $error['message'] = '手机号已经被占用';
        return $error;
    }
    $mobile_number = $fields['verifiedMobile'];
    if (!SimpleValidator::mobile($fields['verifiedMobile'])) {
        $error['message'] = '手机号码格式不正确';
        return $error;
    }
    if (!isset($fields['email']) || empty($fields['email'])) {
        $fields['email'] = "{$mobile_number}@163.com";
    }
    $session = new Session();
    $session->start();
    if ($session->has($mobile_number)) {
        $info = $session->get($mobile_number);
        if ($fields['code'] != $info['code']) {
            $error['message'] = '验证码不正确';
            return $error;
        }
    } else {
 public function existBindAction(Request $request)
 {
     $token = $request->getSession()->get('oauth_token');
     $type = 'weixinmob';
     $client = $this->createOAuthClient($type);
     $oauthUser = $client->getUserInfo($token);
     $olduser = $this->getCurrentUser();
     $userBinds = $this->getUserService()->unBindUserByTypeAndToId($type, $olduser->id);
     $data = $request->request->all();
     $message = 'Email地址或手机号码输入错误';
     if (SimpleValidator::email($data['emailOrMobile'])) {
         $user = $this->getUserService()->getUserByEmail($data['emailOrMobile']);
         $message = '该Email地址尚未注册';
     } elseif (SimpleValidator::mobile($data['emailOrMobile'])) {
         $user = $this->getUserService()->getUserByVerifiedMobile($data['emailOrMobile']);
         $message = '该手机号码尚未注册或绑定';
     }
     if (empty($user)) {
         $response = array('success' => false, 'message' => $message);
     } elseif (!$this->getUserService()->verifyPassword($user['id'], $data['password'])) {
         $response = array('success' => false, 'message' => '密码不正确,请重试!');
     } elseif ($this->getUserService()->getUserBindByTypeAndUserId($type, $user['id'])) {
         $response = array('success' => false, 'message' => '该帐号已经绑定了该第三方网站的其他帐号,如需重新绑定,请先到账户设置中取消绑定!');
     } else {
         $response = array('success' => true, '_target_path' => $this->getTargetPath($request));
         $this->getUserService()->bindUser($type, $oauthUser['id'], $user['id'], $token);
         $this->authenticateUser($user);
     }
     return $this->createJsonResponse($response);
 }