Ejemplo n.º 1
0
    public function testIsEmail()
    {/*{{{*/
        $this->assertTrue(XString::isEmail('*****@*****.**'));
        $this->assertTrue(XString::isEmail('*****@*****.**'));
        $this->assertTrue(XString::isEmail('*****@*****.**'));
        $this->assertTrue(XString::isEmail('*****@*****.**'));
        $this->assertTrue(XString::isEmail('*****@*****.**'));

        $this->assertFalse(XString::isEmail(123));
        $this->assertFalse(XString::isEmail('abc'));
        $this->assertFalse(XString::isEmail('123@haodf'));
        $this->assertFalse(XString::isEmail('13839799202@.com'));
    }/*}}}*/
Ejemplo n.º 2
0
 private function validateSaveTasktemplate4Common($request, array &$validateInfo)
 {
     /*{{{*/
     if (false == TaskTemplate::scriptPathIsRight(trim($request->scriptpath))) {
         $validateInfo['error'][] = '路径输入不正确';
     }
     if (trim($request->title) == '') {
         $validateInfo['error'][] = 'title不可为空';
     }
     if (false == file_exists(trim($request->scriptpath))) {
         $validateInfo['warning'][] = '你输入的脚本路径在现有代码中不存在';
     }
     if (trim($request->scriptauthoremail) == '') {
         $validateInfo['error'][] = '脚本作者email不能为空';
     } else {
         if (false == XString::isEmail(trim($request->scriptauthoremail))) {
             $validateInfo['error'][] = '脚本作者email格式不正确';
         }
     }
     if (trim($request->scriptauthorleaderemail) == '') {
         $validateInfo['error'][] = '团队Leader email不能为空';
     } else {
         if (false == XString::isEmail(trim($request->scriptauthorleaderemail))) {
             $validateInfo['error'][] = '团队leader email格式不正确';
         }
     }
     if (trim($request->scriptauthormobile) == '') {
         $validateInfo['error'][] = '作者电话不可为空';
     } else {
         if (false == XString::isMobile($request->scriptauthormobile)) {
             $validateInfo['error'][] = '您输入的11位作者手机号码格式不正确';
         }
     }
     if (trim($request->scriptauthorleadermobile) == '') {
         $validateInfo['error'][] = '团队leader电话不可为空';
     } else {
         if (false == XString::isMobile($request->scriptauthorleadermobile)) {
             $validateInfo['error'][] = '您输入的11位团队leader手机号码格式不正确';
         }
     }
     if (false == CronConfigMgr::cronConfigIsRight(CronConfigMgr::getCronConfigUseSSH())) {
         $validateInfo['error'][] = '机器上的cron配置格式有问题';
     }
 }
Ejemplo n.º 3
0
    private function doRegister($request, $response)
    {/*{{{*/
        $result = array('err' => array(), 'user' => new NullEntity());
        $name = mb_strtolower($request->username, 'GB2312');
        $pass1 = $request->password;
        $pass2 = $request->password2;
        $phone = $request->phone;
        $mobile = $request->mobile;
        $email = $request->email;
        $city = $request->city;
        $question = $request->pwdQ;
        $answer = $request->pwdA;
        $isDoctor = $request->is_doctor;
        $patientCardNO = $request->patientCardNO;

        $verifyOk = Captcha::verify($request->verifyStr, XIpLocation::getIp(), 'login', $request->captchaId, $request->token);

        //username
        $utf8name = mb_convert_encoding($name, 'utf8', 'gbk');
        $result['err'] = $this->checkUsername(self::ERROR_RESULT_ARRAY, $name, $utf8name);

        //verifycode
        if($verifyOk == false)
        {
            $result['err'][] = "验证码错误";
        }

        //password
        if (!preg_match("/^[0-9a-zA-Z]{4,16}$/", $pass1)) $result['err'][] = "密码格式错误, 只能为4-16位数字或字母";
        if ($pass1 != $pass2) $result['err'][] = "密码校验错误";

        //others 
        if ($phone && false == XString::isPhone($phone)) { $result['err'][] = "电话格式错误"; }
        if ($mobile && false == XString::isMobile($mobile)) { $result['err'][] = "您填写的手机号码不合要求,请修改后重新提交";}
        if ($email && false == XString::isEmail($email)) { $result['err'][] = "邮件格式错误"; }

        //patient card
        if(empty($patientCardNO) == false && $this->checkPatientCardNO($patientCardNO) == false)
        {
            $result['err'][] = "您输入的随访码不正确,请核对医生发放的随访码";
        }

        if (false == empty($result['err']))
        {
            return $result;
        }

        $data = array(
            'realName' => '',
            'sex' => 1,
            'phone' => $phone,
            'mobile' => $mobile,
            'email' => $email,
            'birthday' => '0',
            'idcard' => '',
            'province' => '',
            'city' => $city,
            'district' => '',
            'question' => $question,
            'answer' => $answer,
            'ip' => UserClient::getInstance()->getIp(),
        );

        if (!$data['email'])  unset($data['email']);
        if (!$data['mobile']) unset($data['mobile']);

        $user = UserClient::getInstance()->register($name, $pass1, $data);
		if ($user->isNull())
        {
            $result['err'][] = "请稍后重新注册";
        }
        else
        {
            $result['user'] = $user;
        }

        return $result;
    }/*}}}*/
	/**
	 * 不用Seeion这个方法目前有安全隐患 
	 */
    public function step1update($request, $response)
    {
    	$doctorId = Codec::getInstance()->decodeId($request->doctor_id);
    	$userName = $request->username;
    	$email = $request->email;
		$phone = $request->phone;
		$phone_note = $request->phone_note;
		$phonePrefix = $request->phonePrefix;
        $phone = (empty($phonePrefix)) ? $phone : $phonePrefix."-".$phone;

		$mobile = $request->mobile;
		$realName = $request->realname;
		$password = $request->password;
		$urlAry = array( 
			'u' => $userName,
			'r' => $realName,
			'e' => $email,
			'p' => $phone,
			'm' => $mobile,
			'x' => $password,
			'y' => $phone_note,
            'doctor_id' => Codec::getInstance()->encodeId($doctorId)
        );
        if (!empty($email) && XString::isEmail($email) == false)
			$err = "邮件格式错误";
		if (!empty($phone) && false == XString::isPhone($phone)) $err = "电话格式错误";
        if (!empty($mobile) && false == XString::isMobile($mobile))
            $err = "您填写的手机号码不合要求,请修改后重新提交";
        $valueUserMobile = UserClient::getInstance()->getSpaceByUserMobile($mobile);
        if(empty($err) && !empty($mobile) && $valueUserMobile)
            $err = "此手机号码已经绑定了注册医生,请重新确定手机号";
		
		$user = UserClient::getInstance()->getCurrentUser();
		if(empty($err))
		{
			if (empty($phone_note) == false)
				$phone .= "($phone_note)";
			$data = array(
				'email' => $email,
				'phone' => $phone,
				'mobile' => $mobile,
				'realName' => $realName,
			);
			$userId = UserClient::getInstance()->modifyInfoNew($user->id, $data);
			if ($userId > 0)
			{
				if (empty($doctorId))
					header('Location: '.$response->router->urlfor('doctorreg/step2locate', array()));
				else
					header('Location: '.$response->router->urlfor('doctorreg/step2bind', array('doctor_id'=>$doctorId)));
			}
			else
			{
				header('Location: '.$response->router->urlfor('doctorreg/step1account', array(
					'doctor_id'=>Codec::getInstance()->$doctorId, 
					'msg'=>urlencode('修改失败,请稍后再试')
				)));
			}
		}
		else
		{
            $urlAry['msg'] = $err;
			header('Location: '.$response->router->urlfor('doctorreg/step1account', $urlAry));
		}
		exit();
    }