コード例 #1
0
ファイル: SimpleValidatorTest.php プロジェクト: ccq18/EduSoho
 public function testTruename()
 {
     $result = SimpleValidator::truename("制");
     $this->assertEquals(false, $result);
     $result = SimpleValidator::truename("限制一个到");
     $this->assertEquals(true, $result);
     $result = SimpleValidator::truename("限制一个到1");
     $this->assertEquals(false, $result);
     $result = SimpleValidator::truename("ty");
     $this->assertEquals(false, $result);
 }
コード例 #2
0
 public function register($registration, $type = 'default')
 {
     if (!SimpleValidator::nickname($registration['nickname'])) {
         throw $this->createServiceException('nickname error!');
     }
     if (!$this->isNicknameAvaliable($registration['nickname'])) {
         throw $this->createServiceException('昵称已存在');
     }
     if (!SimpleValidator::email($registration['email'])) {
         throw $this->createServiceException('email error!');
     }
     if (!$this->isEmailAvaliable($registration['email'])) {
         throw $this->createServiceException('Email已存在');
     }
     $user = array();
     if (isset($registration['verifiedMobile'])) {
         $user['verifiedMobile'] = $registration['verifiedMobile'];
     } else {
         $user['verifiedMobile'] = '';
     }
     $user['email'] = $registration['email'];
     $user['emailVerified'] = isset($registration['emailVerified']) ? $registration['emailVerified'] : 0;
     $user['nickname'] = $registration['nickname'];
     $user['roles'] = array('ROLE_USER');
     $user['type'] = isset($registration['type']) ? $registration['type'] : $type;
     $user['createdIp'] = empty($registration['createdIp']) ? '' : $registration['createdIp'];
     $user['createdTime'] = time();
     $thirdLoginInfo = $this->getSettingService()->get('login_bind', array());
     if (in_array($type, array('default', 'phpwind', 'discuz'))) {
         $user['salt'] = base_convert(sha1(uniqid(mt_rand(), true)), 16, 36);
         $user['password'] = $this->getPasswordEncoder()->encodePassword($registration['password'], $user['salt']);
         $user['setup'] = 1;
     } elseif (in_array($type, array('qq', 'weibo', 'renren', 'weixinweb', 'weixinmob')) && isset($thirdLoginInfo["{$type}_set_fill_account"]) && $thirdLoginInfo["{$type}_set_fill_account"]) {
         $user['salt'] = '';
         $user['password'] = '';
         $user['setup'] = 1;
     } else {
         $user['salt'] = '';
         $user['password'] = '';
         $user['setup'] = 0;
     }
     $user = UserSerialize::unserialize($this->getUserDao()->addUser(UserSerialize::serialize($user)));
     if (!empty($registration['invite_code'])) {
         $inviteUser = $this->getUserDao()->getUserByInviteCode($registration['invite_code']);
     }
     if (!empty($inviteUser)) {
         $this->getInviteRecordService()->createInviteRecord($inviteUser['id'], $user['id']);
         $inviteCoupon = $this->getCouponService()->generateInviteCoupon($user['id'], 'register');
         if (!empty($inviteCoupon)) {
             $card = $this->getCardService()->getCardByCardId($inviteCoupon['id']);
             $this->getInviteRecordService()->addInviteRewardRecordToInvitedUser($user['id'], array('invitedUserCardId' => $card['cardId']));
         }
     }
     if (isset($registration['mobile']) && $registration['mobile'] != "" && !SimpleValidator::mobile($registration['mobile'])) {
         throw $this->createServiceException('mobile error!');
     }
     if (isset($registration['idcard']) && $registration['idcard'] != "" && !SimpleValidator::idcard($registration['idcard'])) {
         throw $this->createServiceException('idcard error!');
     }
     if (isset($registration['truename']) && $registration['truename'] != "" && !SimpleValidator::truename($registration['truename'])) {
         throw $this->createServiceException('truename error!');
     }
     $profile = array();
     $profile['id'] = $user['id'];
     $profile['mobile'] = empty($registration['mobile']) ? '' : $registration['mobile'];
     $profile['idcard'] = empty($registration['idcard']) ? '' : $registration['idcard'];
     $profile['truename'] = empty($registration['truename']) ? '' : $registration['truename'];
     $profile['company'] = empty($registration['company']) ? '' : $registration['company'];
     $profile['job'] = empty($registration['job']) ? '' : $registration['job'];
     $profile['weixin'] = empty($registration['weixin']) ? '' : $registration['weixin'];
     $profile['weibo'] = empty($registration['weibo']) ? '' : $registration['weibo'];
     $profile['qq'] = empty($registration['qq']) ? '' : $registration['qq'];
     $profile['site'] = empty($registration['site']) ? '' : $registration['site'];
     $profile['gender'] = empty($registration['gender']) ? 'secret' : $registration['gender'];
     for ($i = 1; $i <= 5; $i++) {
         $profile['intField' . $i] = empty($registration['intField' . $i]) ? null : $registration['intField' . $i];
         $profile['dateField' . $i] = empty($registration['dateField' . $i]) ? null : $registration['dateField' . $i];
         $profile['floatField' . $i] = empty($registration['floatField' . $i]) ? null : $registration['floatField' . $i];
     }
     for ($i = 1; $i <= 10; $i++) {
         $profile['varcharField' . $i] = empty($registration['varcharField' . $i]) ? "" : $registration['varcharField' . $i];
         $profile['textField' . $i] = empty($registration['textField' . $i]) ? "" : $registration['textField' . $i];
     }
     $this->getProfileDao()->addProfile($profile);
     if ($type != 'default') {
         $this->bindUser($type, $registration['token']['userId'], $user['id'], $registration['token']);
     }
     $this->getDispatcher()->dispatch('user.service.registered', new ServiceEvent($user));
     return $user;
 }
コード例 #3
0
 public function register($registration, $type = 'default')
 {
     if (!SimpleValidator::nickname($registration['nickname'])) {
         throw $this->createServiceException('nickname error!');
     }
     if (!$this->isNicknameAvaliable($registration['nickname'])) {
         throw $this->createServiceException('用户名已存在');
     }
     if (!SimpleValidator::email($registration['email'])) {
         throw $this->createServiceException('email error!');
     }
     if (!$this->isEmailAvaliable($registration['email'])) {
         throw $this->createServiceException('Email已存在');
     }
     $user = array();
     if (isset($registration['verifiedMobile'])) {
         $user['verifiedMobile'] = $registration['verifiedMobile'];
     } else {
         $user['verifiedMobile'] = '';
     }
     $user['email'] = $registration['email'];
     $user['nickname'] = $registration['nickname'];
     $user['roles'] = array('ROLE_USER');
     $user['type'] = $type;
     $user['createdIp'] = empty($registration['createdIp']) ? '' : $registration['createdIp'];
     $user['createdTime'] = time();
     if (in_array($type, array('default', 'phpwind', 'discuz'))) {
         $user['salt'] = base_convert(sha1(uniqid(mt_rand(), true)), 16, 36);
         $user['password'] = $this->getPasswordEncoder()->encodePassword($registration['password'], $user['salt']);
         $user['setup'] = 1;
     } else {
         $user['salt'] = '';
         $user['password'] = '';
         $user['setup'] = 0;
     }
     $user = UserSerialize::unserialize($this->getUserDao()->addUser(UserSerialize::serialize($user)));
     if (isset($registration['mobile']) && $registration['mobile'] != "" && !SimpleValidator::mobile($registration['mobile'])) {
         throw $this->createServiceException('mobile error!');
     }
     if (isset($registration['idcard']) && $registration['idcard'] != "" && !SimpleValidator::idcard($registration['idcard'])) {
         throw $this->createServiceException('idcard error!');
     }
     if (isset($registration['truename']) && $registration['truename'] != "" && !SimpleValidator::truename($registration['truename'])) {
         throw $this->createServiceException('truename error!');
     }
     $profile = array();
     $profile['id'] = $user['id'];
     $profile['mobile'] = empty($registration['mobile']) ? '' : $registration['mobile'];
     $profile['idcard'] = empty($registration['idcard']) ? '' : $registration['idcard'];
     $profile['truename'] = empty($registration['truename']) ? '' : $registration['truename'];
     $profile['company'] = empty($registration['company']) ? '' : $registration['company'];
     $profile['job'] = empty($registration['job']) ? '' : $registration['job'];
     $profile['weixin'] = empty($registration['weixin']) ? '' : $registration['weixin'];
     $profile['weibo'] = empty($registration['weibo']) ? '' : $registration['weibo'];
     $profile['qq'] = empty($registration['qq']) ? '' : $registration['qq'];
     $profile['site'] = empty($registration['site']) ? '' : $registration['site'];
     $profile['gender'] = empty($registration['gender']) ? 'secret' : $registration['gender'];
     for ($i = 1; $i <= 5; $i++) {
         $profile['intField' . $i] = empty($registration['intField' . $i]) ? null : $registration['intField' . $i];
         $profile['dateField' . $i] = empty($registration['dateField' . $i]) ? null : $registration['dateField' . $i];
         $profile['floatField' . $i] = empty($registration['floatField' . $i]) ? null : $registration['floatField' . $i];
     }
     for ($i = 1; $i <= 10; $i++) {
         $profile['varcharField' . $i] = empty($registration['varcharField' . $i]) ? "" : $registration['varcharField' . $i];
         $profile['textField' . $i] = empty($registration['textField' . $i]) ? "" : $registration['textField' . $i];
     }
     $this->getProfileDao()->addProfile($profile);
     if ($type != 'default') {
         $this->bindUser($type, $registration['token']['userId'], $user['id'], $registration['token']);
     }
     $this->getDispatcher()->dispatch('user.service.registered', new ServiceEvent($user));
     return $user;
 }