public function ajaxCheckMobile($request, $response) {/*{{{*/ $mobile = $request->mobile; if (XString::isMobile($mobile)) { echo true; } else { echo false; } return parent::DIRECT_OUTPUT; }/*}}}*/
public function ajaxShowTelSmsList($request, $response) {/*{{{*/ $mobile = $request->mobile; $minCtimeOfTaskId = $request->minctimeoftaskid; if(XString::isMobile($mobile) == false) { die("亲,电话不是手机号。没有短信哦"); } if(isset($minCtimeOfTaskId) == false) { die("亲,没有任务"); } $telTask = DAL::get()->find('TelTask', $minCtimeOfTaskId); $filter = " mobile=:mobile and ctime >= :ctime order by ctime desc limit 20"; $binds = array(':mobile'=>$mobile, ':ctime'=>$telTask->ctime); $mobileSmsLogs = DAL::get()->find_all_by_condition("smslog", $filter, $binds); $response->mobileSmsLogs = $mobileSmsLogs; }/*}}}*/
/** * bind user *1.检查 用户存在?用户绑定其它对象? *2.绑定流程 * 1)查space表中是否已经有该用户数据 * 2)有且数据相符 匹配 激活, 不符 报错 * 3)没有 插入 * 4)如果是医生更新user表的省市区为医院的 * 5)由host type 更新医生或医院科室表 * * 参数要求, $data中必须包含 fld_UserId, fld_SpaceHostType, fld_SpaceHostId * 可选参数 fld_SpaceRegisterSource */ public function bind($request, $response) { $data = $request->data; $data['spaceHostId'] = $request->spaceHostId; $data['spaceHostName'] = $request->spaceHostName; $data['spaceHostType'] = $request->spaceHostType; $options = array(); $options['registerSource'] = isset($data['spaceRegisterSource']) ? $data['spaceRegisterSource'] : ''; $user = DAL::get()->find('user', $data['userId']); $valueUserMobile = UserClient::getInstance()->getSpaceByUserMobile($user->mobile, $user->id); $options = array('userId' => $data['userId'], 'userName' => $data['userName'], 'spaceRegisterSource' => $data['spaceRegisterSource'], 'bindType' => $data['bindType'], 'operate' => 'bind'); if (isset($user->mobile) && false == XString::isMobile($user->mobile)) { $msg = "手机号码格式错误"; } else { if (isset($user->mobile) && false == XString::isMobile($user->mobile)) { $msg = "您填写的手机号码不合要求,请修改后重新提交"; } else { if (isset($user->mobile) && $valueUserMobile) { $msg = "此手机号码已经绑定了注册医生,请重新确定手机号"; } else { $res = SpaceClient::getInstance()->bind($data['userId'], $data['spaceHostId'], $data['spaceHostType'], $options); //cleancache $space = DAL::get()->find('space', $data['userId']); $urls = $this->getSpaceCacheUrls($space); Squid::clean($urls, true); if ($res) { $msg = "操作成功!"; $options = array(); $options = array('userId' => $data['userId'], 'userName' => $data['userName'], 'spaceRegisterSource' => $data['spaceRegisterSource'], 'hostName' => $data['spaceHostName'], 'hostType' => $data['spaceHostType'], 'spaceHostName' => $data['spaceHostName'], 'bindType' => $data['bindType'], 'msg' => $msg); } } } } $options['msg'] = $msg; $url = $response->router->urlfor('space/showopenspace', $options); $response->setRedirect($url); }
public function update($request, $response) { $id = $request->id; //被修改的userid $userInfo = $request->data; //被修改的userid //获取当前操作用户id $user = UserClient::getInstance()->getCurrentUser(); $userInfo['modiferid'] = $user->id; $updateUser = DAL::get()->find('user', $id); $valueUserMobile = isset($userInfo['mobile']) ? UserClient::getInstance()->getSpaceByUserMobile($userInfo['mobile'], $id) : ''; if (isset($userInfo['mobile']) && $userInfo['mobile'] && false == XString::isMobile($userInfo['mobile'])) { $msg = "您填写的手机号码不合要求,请修改后重新提交"; } else { if ($updateUser->hasConfirmedSpace() && $updateUser->space->isDoctor() && isset($userInfo['mobile']) && $valueUserMobile) { $msg = "此手机号码已经绑定了注册医生,请重新确定手机号"; } else { if ($updateUser->hasSpace() && $userInfo['realName']) { //自动更新space上冗余的spacehostname SpaceClient::getInstance()->setProperties($id, array('name' => $userInfo['realName'])); } $userId = UserClient::getInstance()->modifyInfoNew($id, $userInfo); if ($userId) { $msg = "操作成功了 "; } else { $msg = "操作失败了 "; } } } if (DoctorComment::hasRightToUpdateUserContent($this->inspector->id)) { //获取被操作的用户 $operationedUser = DAL::get()->find('User', $request->id); $logId = S3LogClient::getInstance()->add($this->inspector, $operationedUser->getLogable()->action(UserLog::ACTION_ADMIN_CONTENT, $request->adminContent)); } $url = $response->router->urlfor('user/showuserdetail', array('id' => $id, 'msg' => $msg)); $response->setRedirect($url); }
<span style="padding-left:5px; cursor:pointer"><img title="呼叫" rel="<?php echo XString::hiddenTelNumber($phoneNumber); ?> " value="<?php echo $phoneNumber; ?> " class="callUser" src="http://i1.hdfimg.com/callcenter/images/icon01.png"></span> <span style="padding-left:5px; cursor:pointer"><img title="历史会话" rel="<?php echo XString::hiddenTelNumber($phoneNumber); ?> " value="<?php echo $phoneNumber; ?> " class="historyConversationListByPhoneNumber cp" src="http://i1.hdfimg.com/callcenter/images/iconHideoffline01-01.png"></span> <?php if (XString::isMobile($phoneNumber)) { ?> <span style="padding-left:5px; cursor:pointer"><img title="短信" rel="<?php echo XString::hiddenTelNumber($phoneNumber); ?> " value="<?php echo $phoneNumber; ?> " class="sendSMS " src="http://i1.hdfimg.com/callcenter/images/buttonMessage01-01.png"></span> <?php } ?> </li> <?php } }
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配置格式有问题'; } }
public function doctorReceiveRemindSmsPost($request, $response) { /*{{{*/ DBC::requireTrue($this->space->user->verifyToken($request->token), '验证码错误'); $remindSms = $request->remindSms; $mobile = trim($request->mobile); if ($mobile && $remindSms == 1) { DBC::requireTrue(XString::isMobile($mobile), '您填写的手机号码不合要求,请修改后重新提交'); $valueUserMobile = UserClient::getInstance()->getSpaceByUserMobile($mobile, $this->user->id); DBC::requireTrue(false == $valueUserMobile, '此手机号码已经绑定了注册医生,请重新确定手机号'); UserClient::getInstance()->setMobile($this->space->id, $mobile, $this->user->id); SpaceClient::getInstance()->setProperties($this->space->id, array('receiveLoginRemindSms' => $remindSms)); $this->message('信息修改成功', $response); } else { if ($remindSms == 0) { SpaceClient::getInstance()->setProperties($this->space->id, array('receiveLoginRemindSms' => $remindSms)); $this->message('信息修改成功', $response); } else { DBC::requireTrue(XString::isMobile($mobile), '您填写的手机号码不合要求,请修改后重新提交'); } } }
public function smsSendExecute($request, $response) {/*{{{*/ $phoneNos = $request->smsPhone; $identity = $request->identity; $smscontent = $request->getUnSafeData('smscontent');//转码后有的字符会被运营商屏蔽 $order = DAL::get()->find('telorder', $request->orderId); if(false == empty($smscontent) && false == empty($phoneNos)) { $taskId = $request->taskId; foreach($phoneNos as $tel) { if(false == empty($tel) && XString::isMobile($tel)) { //sendAsync sendSMS if($identity == 'doctor') { SMSClient::getInstance()->sendSMS(array($tel), $smscontent, SMSLog::OPT_TYPE_TEL_ZIXUN, '', SMSMD::EXT_6); $logContent = '给医生发送短信,号码:'.$tel.'短信内容:'.$smscontent; TelOrderClient::getInstance()->createTelorderLog($order, $this->curUser, TelOrderLog::TYPE_DOCTOR_SMS_SEND, TelOrderLog::LOG_LEVEL_IMPORTANT, $logContent); $type = TelOrderRemark::TYPE_MAKETIME_DOCTOR; TelOrderRemarkClient::getInstance()->createOrderRemark($this->curUser, $order->getExecuterBySpace()->id, $taskId, $type, $smscontent, 0, $order->id); } else if($identity == 'patient') { SMSClient::getInstance()->sendAsync(array($tel), $smscontent, SMSLog::OPT_TYPE_TEL_ZIXUN); $logContent = '给患者发送短信,号码:'.$tel.'短信内容:'.$smscontent; TelOrderClient::getInstance()->createTelorderLog($order, $this->curUser, TelOrderLog::TYPE_DOCTOR_SMS_SEND, TelOrderLog::LOG_LEVEL_IMPORTANT, $logContent); $type = TelOrderRemark::TYPE_SENDMESSAGE_PATIENT; TelOrderRemarkClient::getInstance()->createOrderRemark($this->curUser, $order->getExecuterBySpace()->id, $taskId, $type, $smscontent, $order->patient->id, $order->id); } } } } $response->setRedirect($request->url); }/*}}}*/
public function showPatient($request, $response) { /*{{{*/ $showPhoneNumber = $request->showPhoneNumber; $phoneNumber = $request->phoneNumber; if (false == is_numeric($phoneNumber)) { $phoneNumber = Codec::getInstance()->decodeId($phoneNumber); } $mobileNumberArea = ""; $mobileNumberAreaArray = array(); if (XString::isMobile($phoneNumber)) { $mobileNumber = substr($phoneNumber, 0, 7); $mobileArea = DAL::get()->find_by_mobilenumber("MobileNumberArea", $mobileNumber); if (false == $mobileArea->isNull()) { $mobileNumberArea = $mobileArea->mobileArea; $mobileNumberAreaArray = explode(" ", $mobileNumberArea); } } $response->mobileNumberAreaArray = $mobileNumberAreaArray; $response->phoneNumber = $phoneNumber; $response->showPhoneNumber = $showPhoneNumber; $response->relationList = Patient::relationDef(); $response->userId = $request->userId; }
private function sendMessageByUserId($request, $response, $phoneNumber, $mobiles, $smsContent, $ext) { /*{{{*/ $userIds = strpos($phoneNumber, ',') !== false ? explode(',', $phoneNumber) : array($phoneNumber); $users = DAL::get()->find('User', $userIds); foreach ($userIds as $userId) { if (is_numeric($userId) == false) { $errorUserIds[] = $userId; } } foreach ($users as $key => $user) { if ($user->isNull()) { $errorUserIds[] = $key; continue; } if (XString::isMobile($user->mobile)) { $mobiles[] = $user->mobile; } else { $errorUserIds[] = $user->id; } } $msg = "短信已提交发送"; if (empty($errorUserIds) == false) { $msg = "短信已提交发送, 其中有问题的userid: " . implode(', ', $errorUserIds); } if (empty($mobiles) == false && empty($smsContent) == false) { SMSClient::getInstance()->sendSMSByManual($mobiles, $smsContent, $ext); } $url = $response->router->urlfor('message/showsendmessage', array('msg' => $msg)); $response->setRedirect($url); }
if ($name) { $user = UserClient::getInstance()->getByUserName($name); if ($user->isNull() == false) { print("checkresult('该用户已经存在, 请选择其他名字', 'username');"); } elseif (User::isUserNameValid($name) == false) { print("checkresult('该用户名不允许注册', 'username');"); } else { print("checkresult('', 'username');"); } } else if ($mobile) { $err = ""; if(false == XString::isMobile($mobile)) $err = "您填写的手机号码不合要求,请修改后重新提交"; else { $valueUserMobile = UserClient::getInstance()->getSpaceByUserMobile($mobile); if($valueUserMobile) $err = "此手机号码已经绑定了注册医生,请重新确定手机号"; } if ($err) { print("checkresult('{$err}', 'mobile');"); } } ?> </script>
private function _checkUserInfos($infos) {/*{{{*/ if (count($infos) != count(array_filter($infos))) return 141; if (isset($infos['name'])) { $utf8name = mb_convert_encoding($infos['name'], 'utf8', 'gbk'); if (empty($utf8name) || !preg_match("/^[\x{4e00}-\x{9fa5}A-Za-z0-9_]+$/u", $utf8name)) return 102; else if (strlen($infos['name']) < 4 || strlen($infos['name']) > 16) return 103; } if (isset($infos['password']) && (empty($infos['password']) || !preg_match("/^[0-9a-zA-Z]{4,16}$/", $infos['password']))) return 108; else if (isset($infos['email']) && (empty($infos['email']) || !preg_match("/^[_0-9a-zA-Z.]+@[_0-9a-zA-Z]+\..+$/i", $infos['email']))) return 109; else if (isset($infos['mobile']) && (empty($infos['mobile']) || false == XString::isMobile($infos['mobile']))) return 110; else if (isset($infos['isReceiveReply']) && (false == is_numeric($infos['isReceiveReply']) || false == in_array($infos['isReceiveReply'], array(User::RECIEVE_REPLY_YES, User::RECIEVE_REPLY_NO)))) return 111; return 0; }/*}}}*/
public function getUserListByMobileAndPwd($mobile, $pwd) {/*{{{*/ $userInfos = array(); if (false == XString::isMobile($mobile)) { $user = DAL::get()->find_by_name('user', $mobile, true); if ($user->isNull() || !$user->validatePassword($pwd)) { $this->setErrorCode(122); return 0; } $userInfos[] = array("userName" => $user->name, "userId" => $user->id); } else { $users = DAL::get()->find_all_by_mobile('user', $mobile); $user = DAL::get()->find_by_name('user', $mobile, true); if (false == $user->isNull()) $users[$user->id] = $user; if (0 == count($users)) { $this->setErrorCode(122); return 0; } foreach ($users as $user) { if ($user->validatePassword($pwd)) $userInfos[] = array("userName" => $user->name, "userId" => $user->id); } if (0 == count($userInfos)) { $this->setErrorCode(122); return 0; } } $this->content = $userInfos; }/*}}}*/
?> " value="<?php echo $conversation->customerPhoneNumber; ?> " class="iframeCallUser cp" src="http://i1.hdfimg.com/callcenter/images/icon01.png"> <img title="历史会话" rel="<?php echo XString::hiddenTelNumber($conversation->customerPhoneNumber); ?> " value="<?php echo $conversation->id; ?> " class="iframeRecoverCallUser cp" src="http://i1.hdfimg.com/callcenter/images/iconHideoffline01-01.png"> <?php if (XString::isMobile($conversation->customerPhoneNumber)) { ?> <img title="短信" rel="<?php echo XString::hiddenTelNumber($conversation->customerPhoneNumber); ?> " value="<?php echo $conversation->customerPhoneNumber; ?> " class="iframeSendSms cp" src="http://i1.hdfimg.com/callcenter/images/buttonMessage01-01.png"> <?php } ?> </span> </td>
<input type="hidden" name="identity" value="<?=$identity?>"> <input type="hidden" name="taskId" value="<?=$taskId?>"> <div id="sms_box" > <table width="600" height="280" cellpadding="5" cellspacing="0" border="0"> <tr height="20"> <td align="left"></td> <td align="right"></td> </tr> <tr height="30"> <td width="15%" class="sunright"><span ><?php if($identity == 'doctor') {?>医生<?php }else{?>患者<?php }?>号码:</span></td> <td width="85%"> <?php $i = 1; foreach($phoneNos as $phoneNo) { if(false == empty($phoneNo) && XString::isMobile($phoneNo)) { ?> <input name="smsPhone[]" <?php if(1==$i){?>checked="checked"<?php }?> id="smsPhone_<?=$phoneNo?>" class="phoneNo" type="checkbox" value="<?=$phoneNo?>" onclick="$(this).addClass('phoneNoSelected')"> <span class='mr10'><?=$phoneNo?></span> <?php } else { echo "<span class='mr10 gray'>$phoneNo</span>"; } $i++; } ?> </td> </tr> <tr height="30">
public function registerSendKey($request, $response) {/*{{{*/ $results = array(); $mobile = $request->mobile; if(false == XString::isMobile($mobile)) { $results = array('res' => 'failure', 'msg' => mb_convert_encoding('手机号格式有误', 'UTF-8', 'GBK'), 'next' => ''); } else { $users = DAL::get()->find_all_by_mobile('user', $mobile); if (empty($users)) { $user = DAL::get()->find_by_name('user', $mobile, true); if (false == $user->isNull()) { $users[$user->id] = $user; } } if (empty($users)) { if ($this->isQrCodePatientSigninRegiest($request->forward) || Captcha::verifyValue($request->token, $request->door)) { UserClient::getInstance()->sendKeyForRegiester($mobile); $results = array('res' => 'success', 'msg' => mb_convert_encoding('短信验证码已经发送', 'utf-8', 'gbk'), 'next' => $response->router->urlfor('user/registerverifykey', array('mobile' => $mobile, 'forward' => $request->forward))); } else { $results = array('res' => 'wrongdoor', 'msg' => mb_convert_encoding('校验码输入错误', 'UTF-8', 'GBK'), 'next' => ''); } } else { $results = array('res' => 'exist', 'msg' => mb_convert_encoding('该手机号已经关联了好大夫在线账号,请直接登录', 'UTF-8', 'GBK'), 'next' => $response->router->urlfor('user/login', array('mobile' => $mobile, 'forward' => $request->forward))); } } echo json_encode($results); return self::DIRECT_OUTPUT; }/*}}}*/
private function getConfirmMsg($params, $commentType, $doctor) {/*{{{*/ if ($params['tag'] == '' || $params['tag'] == '如:冠心病') { return "请填写您所患的疾病!"; } if ($params['content'] == '' || $params['content'] == '请公正、客观、详实填写,无事实依据会被删除') { return "请填写您的".DoctorComment::$TypeDesc[$commentType]."内容!"; } if ($doctor->commentDoctor->trustIndex < CommentDoctorExt::UNNEED_REALNAME_AND_MOBILE_MIN_TRUSTINDEX) { if ($params['userRealName'] == '' || $params['userRealName'] == '如:张三') { return "请填写您的真实姓名!"; } if ($params['userMobile'] == '') { return "请填写您的手机号码!"; } if (false == XString::isMobile($params['userMobile'])) { return "请填写正确的手机号码!"; } } return ""; }/*}}}*/
public function doctorReceiveRemindSmsPost($request, $response) { DBC::requireTrue($this->_newSpace->user->verifyToken($request->token), '验证码错误'); $remindSms = $request->remindSms; $mobile = trim($request->mobile); if ($mobile) { $valueUserMobile = UserClient::getInstance()->getSpaceByUserMobile($mobile, $this->_newUser->id); if (false == XString::isMobile($mobile)) { $this->message("您填写的手机号码不合要求,请修改后重新提交", $response); return false; } else if($valueUserMobile) { $this->message("此手机号码已经绑定了注册医生,请重新确定手机号", $response); return false; } else { UserClient::getInstance()->setMobile($this->_newSpace->id, $mobile, $this->_newUser->id); SpaceClient::getInstance()->setProperties($this->_newSpace->id, array('receiveLoginRemindSms' => $remindSms)); $this->message('信息修改成功', $response); } } }
public function saveOrderInfo($request, $response) {/*{{{*/ DBC::requireTrue(isset($_SESSION['telOrderInfo']['productId']), '选择服务内容失效,请返回重新选择'); $telOrderInfo = array(); DBC::requireFalse(false == XString::isMobile($request->mobile), '您填写的手机号码格式不正确!'); $cloneSession = $_SESSION; $_SESSION['telOrderInfo']['mobile'] = $request->mobile; $_SESSION['telOrderInfo']['productId'] = $request->productId; $_SESSION['telOrderInfo']['desc'] = XString::convertUTF8ToGBK($request->desc); $_SESSION['telOrderInfo']['disease'] = XString::convertUTF8ToGBK($request->disease); //监控日志 电话咨询病情描述为空的。疾病信息为空的 PAM-6749 djf $this->watchEmptyContent($request, $cloneSession); $mobile = $request->mobile; if ($this->user->isNull()) { //用户不存在,则创建user并且登录 $res = UserClient::getInstance()->createRandUser($mobile); if($res['user'] == '') { $currentUrl = $response->router->urlfor('tel/telorderform', array('productId'=> $_SESSION['telOrderInfo']['productId'])); $response->setRedirect($response->router->urlfor('user/login', array('forward' => $currentUrl))); return; } //自动登录 $this->user = $res['user']; UserClient::getInstance()->login($this->user->name, $res['password']); $_SESSION['user']['userName'] = $this->user->name; $_SESSION['user']['password'] = $res['password']; } $this->watchAndEmailUserInfo($request, $this->user); DBC::requireTrue(isset($_SESSION['telOrderInfo']['patientInfo']) || isset($_SESSION['telOrderInfo']['patientId']), '患者信息失效,请重新选择'); $patientId = 0; if (isset($_SESSION['telOrderInfo']['patientId']) && is_numeric($_SESSION['telOrderInfo']['patientId'])) { $patientId = $_SESSION['telOrderInfo']['patientId']; } if (isset($_SESSION['telOrderInfo']['patientInfos'])) { foreach ($_SESSION['telOrderInfo']['patientInfos'] as $info) { $existedPatientId = $_SESSION['telOrderInfo']['existedPatientId']; if($existedPatientId) { PatientClient::getInstance()->modifyInfo($existedPatientId, $info); $patientId = $existedPatientId; } else { $newPatient = PatientClient::getInstance()->add($this->user, $info); if (isset($_SESSION['telOrderInfo']['patientId']) && $info['id'] == $_SESSION['telOrderInfo']['patientId']) { $patientId = $newPatient->id; } } } } $response->setRedirect($response->router->urlfor('tel/newtelorder', array('patientId'=>$patientId))); }/*}}}*/
public function newPhoneCallOrderWithMultiPatients($userId, $doctorId, $contractId, $phoneNumber, $content, $deviceType, $patientId, $name, $birthday, $sex, $province, $city, $relation, $payType) {/*{{{*/ if (in_array($patientId, self::$patientIds)) { $this->setErrorCode(1000); return 0; } if(false == XString::isMobile(trim($phoneNumber))) { $this->setErrorCode(110); return 0; } $product = DAL::get()->find('product', $contractId); if($product->isNull()) { $this->setErrorCode(300); return 0; } //没有电话分成合同 if($product->contract->isNull() || $product->contract->isInvalid()) { $this->setErrorCode(333); return 0; } if("" == trim($content)) { $this->setErrorCode(302); return 0; } $user = DAL::get()->find('user', $userId); if ($user->isNull() || $user->id == 0) { $this->setErrorCode(107); return 0; } $source = Intention::SRC_IOS; if(strtolower($deviceType) == 'iphone') { $source = Intention::SRC_IOS; } else if(strtolower($deviceType) == 'ipad') { $source = Intention::SRC_IPAD; } else if(strtolower($deviceType) == 'android') { $source = Intention::SRC_ANDROID; } $expectedtimeStr = "越快越好"; //创建或更新patient if(0 == $patientId) { $birthday = date('Y-m-d',$birthday); if("" == trim($name)) { $this->setErrorCode(176); return 0; } if("" == trim($birthday)) { $this->setErrorCode(171); return 0; } if("" == trim($sex)) { $this->setErrorCode(172); return 0; } if("" == trim($province)) { $this->setErrorCode(173); return 0; } if("" == trim($city)) { $this->setErrorCode(174); return 0; } if("" == trim($relation)) { $this->setErrorCode(175); return 0; } $patientInfo = array(); $patientInfo['name'] = $name; $patientInfo['sex'] = $sex; $patientInfo['province'] = $province; $patientInfo['city'] = $city; $patientInfo['birthday'] = $birthday; $patientInfo['relation'] = $relation; $patientInfo['mobile'] = $phoneNumber; $params = $patientInfo; $patient = PatientClient::getInstance()->add($user, $params); } else { $modifyPatientInfo = array(); $modifyPatientInfo['mobile'] = $phoneNumber; $patientId = $patientId; $patient = DAL::get()->find('patient', $patientId); PatientClient::getInstance()->modifyInfo($patient->id , $modifyPatientInfo); } $intention = IntentionClient::getInstance()->add4Tel($product, $patient, $expectedtimeStr, $content, $source); $this->content = array('id' => $intention->id); }/*}}}*/
public function ajaxCheckMobile($request, $response) {/*{{{*/ $res = "success"; $mobile = $request->mobile; $res = (false == XString::isMobile($mobile)) ? "errormobile" : $res; if($res == "success") { $spaceList = DAL::get()->find_all_ByUserMobileAndSpaceHostType('Space', $mobile, Space::HOST_TYPE_DOCTOR); $res = (empty($spaceList) || count($spaceList) > 1) ? "nodoctor" : $res; $space = array_shift($spaceList); } $result = ($res == "success") ? array('res' => $res, 'spaceId' => $space->id) : array('res' => $res); echo json_encode($result); return parent::DIRECT_OUTPUT; }/*}}}*/
public function displayDoctorDetail4Guest($request, $response) { /*{{{*/ $response->spaceBusinessRequirement = DAL::get()->find('spaceBusinessRequirement', $request->id); $response->callPanelLink = 'http://' . URL_PREFIX . 'hdfadmin.haodf.com/doctor/callpanel?username=' . $response->spaceBusinessRequirement->space->user->name; $isMobileCallable = XString::isMobile($response->spaceBusinessRequirement->space->user->mobile); $isFixedLineCallable = XString::findPhoneNO($response->spaceBusinessRequirement->space->user->phone) != false; $response->isCallPanelLinkShown = $isMobileCallable || $isFixedLineCallable; }
public function showOrderDetail($request, $response) { /*{{{*/ $response->showContent = true; $orderId = $request->orderId; DBC::requireNotEmptyString($orderId, '无效的订单ID'); $response->doctortype = $request->doctortype; $order = DAL::get()->mustFind('BookingOrder', $orderId, true); $space = $order->space; $taskList = DAL::get()->find_all_by_objectid_and_objecttype('BookingTask', $orderId, 'bookingorder'); //约满 $seatLimits = BookingClient::getInstance()->getseatLimitCount($order->space, date('Y-m-d', strtotime("+ 0 day")), date('Y-m-d', strtotime("+ 17 day"))); //停诊 $stopDiagnose = DAL::get()->find_all_by_spaceid('StopDiagnose', $order->space->id); $doctorOrderTotal = BookingClient::getInstance()->countDoctorOrder('BookingOrder', $order->space->id); $proposalIds = DAL::get()->querySpacePatientProposals('proposal', $order->space, array(), $order->patient->id); $proposals = DAL::get()->find('proposal', $proposalIds); $doctorPatientRef = new NullEntity(); if (empty($proposalIds)) { $doctorPatientRef = DAL::get()->find_by_spaceid_and_patientid('doctorpatientref', $order->space->id, $order->patient->id); } $response->doctorPatientRef = $doctorPatientRef; $response->order = $order; $response->taskList = $taskList; $response->patientOrderTotal = BookingClient::getInstance()->countPatientOrder('BookingOrder', $order->user->id); $response->doctorOrderTotal = $doctorOrderTotal; $response->seatLimits = $seatLimits; $response->stopDiagnose = $stopDiagnose; //$bingLis4Schedule = BingLiDtoClient::getInstance()->getBingLiByRelatedObj($order->notification->proposal)->schedule; //$response->bingLiSchedule = $bingLis4Schedule[0]->schedule; //$response->bingLiAddress = BingLiDtoClient::getInstance()->getBingLiByRelatedObj($order->notification->proposal)->address; $response->space = $space; $response->doctorMobileEncoded = XString::encodeMobileNo($space->user->mobile); $response->doctorMobileFaked = XString::generateFakePhoneno($space->user->mobile); $response->cardOrderTotal = BookingClient::getInstance()->countCardOrder($order->patient->idcard); $response->mobileOrderTotal = BookingClient::getInstance()->countMobileOrder($order->patient->mobile); $response->patientDefaulted = BookingClient::getInstance()->countPatientDefaulted('BookingBlackList', $order->user->id, $order->patient->idcard, $order->user->mobile, $order->patient->mobile); $response->proposals = $proposals; $response->scheduleList = $this->getSchedule($order->space); $isMobileCallable = XString::isMobile($space->user->mobile); $isFixedLineCallable = XString::findPhoneNO($space->user->phone) != false; $response->isCallPanelLinkShown = $isMobileCallable || $isFixedLineCallable; $response->spaceBusinessRequirement = $space->getSpaceBusinessRequirement4Booking(); }
public function registerSendKey($request,$response) {/*{{{*/ $userPhone = $request->userPhone; $spaceId = $request->spaceId; $disease = mb_convert_encoding($request->disease,"gbk", "utf-8"); $weixUserId = $this->getWeixUserIdFromRequest(); $patientName = mb_convert_encoding($request->patientName,"gbk", "utf-8"); $flag = array(); if(false == XString::isMobile($userPhone)) { $flag = array('res' => "errormobile"); //手机格式错误 } else { $users = DAL::get()->find_all_by_mobile_or_phone('user',$userPhone,$userPhone); if(empty($users)) { $user = DAL::get()->find_by_name('user',$userPhone); if(false == $user->isNull()) { $users[$user->id] = $user; } } if(empty($users)) //该手机号可以注册 { UserClient::getInstance()->sendKeyForRegiester($userPhone); $flag = array('res' => "success"); } else { $flag = array('res' => "registered",'next' => $response->router->urlfor('weixin/reportInfo',array('weixUserId' => $weixUserId,'disease' => $disease,'patientName' => $patientName,'userPhone' => $userPhone,'spaceId' => $spaceId))); //该手机已经注册 } } echo json_encode($flag); return parent::DIRECT_OUTPUT; }/*}}}*/
     出生日期: <?php echo $patientCase->age; ?> </td> </tr> <tr> <td>省:<?php echo $patientCase->province; ?>     市:<?php echo $patientCase->city; ?> </td> <td>联系方式:<?php echo $patientCase->phone; if (empty($patientCaseMatch) && XString::isMobile($patientCase->phone) && false == empty($patientCase->phone) && $patientCase->doctorOwner->source instanceof Space) { ?>  <input type="button" value="以医生身份发邀请短信" onclick="sendMsg(<?php echo $patientCase->doctorOwner->id; ?> ,<?php echo $patientCase->id; ?> );"/> <?php } ?> </td> </tr> <tr> <td colspan="2">地址:<?php echo $patientCase->address;
private function checkPatientInfo($name, $sex, $relation, $province, $city, $birthday, $mobile) {/*{{{*/ $errorcode = 0; if("" == trim($name)) { return $errorcode = 176; } if("" == trim($birthday)) { return $errorcode = 171; } if("" == trim($sex)) { return $errorcode = 172; } if("" == trim($province)) { return $errorcode = 173; } if("" == trim($city)) { return $errorcode = 174; } if("" == trim($relation)) { return $errorcode = 175; } if(false == XString::isMobile(trim($mobile))) { return $errorcode = 110; } return $errorcode; }/*}}}*/
private function checkAddComment($params, $doctor) {/*{{{*/ $this->checkParams($params, $doctor); if ($this->curUser->isNull() && ($doctor->trustIndex < CommentDoctorExt::UNNEED_REALNAME_AND_MOBILE_MIN_TRUSTINDEX || $params['skill'] == 0 || $params['attitude'] == 0) && (false == $params['userRealName'] || false == $params['userMobile'])) { if( ($doctor->trustIndex < CommentDoctorExt::UNNEED_REALNAME_AND_MOBILE_MIN_TRUSTINDEX || $params['skill'] == 0 || $params['attitude'] == 0 ) && false == XString::isMobile($params['userMobile']) ) { MsgHtml::msg('输入错误:请输入有效的手机号码', $from, array('delay' => '10')); } else { MsgHtml::msg('输入错误:请输入真实姓名、电话号码', $from, array('delay' => '10')); } } //若填写手机号,则验证手机号的合法性 if($params['userMobile']) { $cnt = strlen($params['userMobile']); if($cnt > 0 && $cnt != 11) { MsgHtml::msg('输入错误:请输入有效的手机号码', $from, array('delay' => '10')); } } }/*}}}*/
/** * @brief 获取手机号码下的用户 * @author meihao * @exampleUrl * * @Param $mobile * * @Returns */ public function getUsers4PWD($mobile) {/*{{{*/ if ($mobile == '') { $this->setErrorCode(826); return 0; } if ($mobile == '13800138000') { $this->setErrorCode(828); return 0; } if (false == XString::isMobile($mobile)) { $this->setErrorCode(827); return 0; } $userList = DAL::get()->find_all_by_mobile('user', $mobile); $users = array(); foreach ($userList as $user) { if($this->isValidUserName($user->name)) { $users[$user->id] = $user; } } if (empty($users)) { $this->setErrorCode(8291); return 0; } $infos = array(); foreach($users as $user) { if(false == $user->getDoctorOwner()->isNull()) { $info['id'] = $user->id; $info['name'] = $user->name; $info['isDoctor'] = 1; $infos[] = $info; } } foreach($users as $user) { if($user->getDoctorOwner()->isNull()) { $info['id'] = $user->id; $info['name'] = $user->name; $info['isDoctor'] = 0; $infos[] = $info; } } $this->content = $infos; }/*}}}*/
/** * 不用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(); }