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')); }/*}}}*/
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配置格式有问题'; } }
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(); }