/** 医生本人登录response页面数据 **/
 private function index4Space($request, $response)
 {
     /*{{{*/
     $nowPage = $request->getRequest('p', 1);
     $pageSize = 20;
     $role = 'space';
     $type = $request->getRequest('type', 'all');
     if (false == in_array($type, array('all', 'topic', 'message'))) {
         $type = 'all';
     }
     list($pagelink, $topicList) = $this->getTopicListByType($type, $role, $nowPage, $pageSize);
     if ($type == 'message' && empty($topicList['list'])) {
         $topic4MessageList = ResidentEvilClient::getInstance()->getAllTopicsBySpaceId($this->user->id, 1, 5);
         $response->topic4Message = $topic4MessageList['list'];
     }
     if (empty($topicList['list'])) {
         $memberCount = PatientClubClient::getInstance()->getResidentEvilMemberCount('regroup', $this->space->user->id);
         $groups = ForumClient::getInstance()->getAllGroupsBySpace($this->space->id, $nowPage, $pageSize);
         $pageInfo = $groups['pageInfo'];
         $pagelink = PageNav::getNavLink(PageNav::getPageNavTemplateForSpace("/patient/index?role={$role}&type={$type}&p="), $pageInfo['nowpage'], $pageInfo['pagesize'], $pageInfo['total']);
         $response->memberCount = $memberCount;
     } else {
         $groups = ForumClient::getInstance()->getAllGroupsBySpace($this->space->id);
     }
     $groupIds = array_keys($groups['list']);
     if (false == empty($groupIds)) {
         $countsArr = ResidentEvilClient::getInstance()->getTopicCountByGroupIds($groupIds);
     }
     $response->countsArr = $countsArr;
     $groupCount = isset($groups['list']) ? count($groups['list']) : 0;
     $response->cntsInfo = empty($groups['list']) ? array() : ForumClient::getInstance()->getLeadersCntByGroups($groups['list']);
     $response->type = $type;
     $response->role = $role;
     $response->groups = $groups['list'];
     $response->pagelink = $pagelink;
     $response->topicList = $topicList['list'];
     $response->groupCount = $groupCount;
 }
 private function getPatientInfoForPatient($response, $thread)
 {/*{{{*/
     /** 患友会分组*/
     if ($this->_newSpace->isDoctor() && $this->_newSpace->isPatientOpened())
     {
         $isResidentEvil = ForumClient::getInstance()->isResidentEvil($this->_newSpace->id, $thread->user->id);
         //成员数
         $memberCount = PatientClubClient::getInstance()->getResidentEvilMemberCount('regroup', $this->_newSpace->id);
         //所有组(去掉默认组)
         $groupList = DAL::get()->find_all_by_spaceid_and_type('ReGroup', $this->_newSpace->id, ReGroup::TYPE_1);
         //用户所在组
         $groups = ForumClient::getInstance()->getGroupByUserId($thread->user->id, $this->_newSpace->id);
         $reboardIdArr = array();
         $spaceTopic = array();
         if (empty($groups['list']) == false){
             foreach($groups['list'] as $group)
             {
                 if ($group->reboard->isNull() == false)
                     $reboardIdArr[] = $group->reboard->id;
             }
         }
         //取话题
         if (empty($reboardIdArr) == false)
             $spaceTopic = DAL::get()->find_all_by_reboardid_and_spaceid('ReTopic', $reboardIdArr, $this->_newSpace->id, 5);
         $groupList = ForumClient::getInstance()->getResidentEvilSpaceByUserId($thread->user->id);
         list($groupInfo, $reSpaceList) = SpaceClient::getInstance()->sortGroupBySpace($groupList);
         if(isset($reSpaceList[$thread->space->id]))
             unset($reSpaceList[$thread->space->id]);
         $response->reSpaceList = $reSpaceList;
         $response->groups = $groups;
         $response->spaceTopic = $spaceTopic;
         $response->isResidentEvil = $isResidentEvil;
         $response->memberCount = $memberCount;
     }
 }/*}}}*/
 /**
     * @brief 修改患者所在小组
     * @author oylw
     * @exampleUrl http://dev.mobile-api.haodf.com/doctorapi/patientclub_modifyGroup?userId=123456&patientId=123&newGroupId=876
     *
     * @Param $userId      用户ID 
     * @Param $patientId   用户ID 
     * @Param $newGroupId  用户ID 
  */
 public function modifyGroup($userId, $patientId, $newGroupId)
 {/*{{{*/
     $user = DAL::get()->find('User', $userId);
     if ($user->isNull())
     {
         $this->setErrorCode(838);
         return 0;
     }
     $patient = DAL::get()->find('patient', $patientId);
     if($patient->isNull())
     {
         $this->setErrorCode(316);
         return 0;
     }
     $member = PatientClubClient::getInstance()->updateMember($userId, $patientId, $newGroupId, ReGroupMember::MEMBER_PATIENT_TYPE_WEB);
     $this->content = $member->regroup->name;
 }/*}}}*/
 /**
  * deletePatientCaseByDoctor
  * 修改病历头的状态 
  * @param mixed $patientCaseId 
  * @access public
  * @return void
  */
 public function deletePatientCaseByDoctor($userId, $clientId, $patientCaseId)
 {/*{{{*/
     if(empty($clientId))
     {
         return 0;
     }
     $doctorOwner = DAL::get()->find_by_userid('DoctorOwner',$userId);
     if($doctorOwner->isNull())
     {
         return 0;
     }
     $patientCase = DAL::get()->find('PatientCase', $patientCaseId);
     if($patientCase->isNull() || $patientCase->doctorOwner->id != $doctorOwner->id)
     {
         return 0;
     }
     PatientClubClient::getInstance()->removePatientCaseMember($patientCaseId, $doctorOwner->id);
     PatientCourseClient::getInstance()->deletePatientCaseByDoctor($patientCaseId); 
     $patientCase = DAL::get()->find('PatientCase', $patientCaseId);
     $this->content =  array('clientId'=>$clientId, 'patientCaseId'=>$patientCase->id, 'ver'=>$patientCase->ver);
 }/*}}}*/
 public function setDoctorPatientRefClose($request, $response)
 {
     /*{{{*/
     $refId = $request->refId;
     $close = $request->close;
     $ticketId = $request->ticketId;
     $ref = DAL::get()->find('doctorpatientref', $refId);
     if (false == $ref->isNull()) {
         DoctorPatientPostClient::getInstance()->setDoctorPatientRefClose($this->curInspector, $refId, $close);
         $patientSignin = DAL::get()->find_by_patientid_and_spaceid('PatientSignin', $ref->patient->id, $ref->space->id);
         if (DoctorPatientRef::STATUS_CLOSED == $close && false == $patientSignin->isNull()) {
             PatientClubClient::getInstance()->deleteDynamicPostByPost($patientSignin->id, 'PatientSignin');
         }
     }
     if (empty($ticketId)) {
         $response->setRedirect($response->router->urlfor('nfsaudit/notalk', array('c' => 'nfsaudit', 'a' => 'notalk', 'refId' => $refId)));
     } else {
         $response->setRedirect($response->router->urlfor('nfsaudit/nexttask', array('c' => 'nfsaudit', 'a' => 'nexttask', 'ticketId' => $ticketId)));
     }
 }
 public function updateStatus($request, $response)
 {
     /*{{{*/
     $ids = $request->ids;
     if (!is_array($ids)) {
         $ids = array($ids);
     }
     $spaces = DAL::get()->find('Space', $ids);
     foreach ($ids as $id) {
         $space = $spaces[$id];
         $this->buildBookingTask($id, $space, $request->arg);
         if ($space->updateStatus == 2) {
             PatientClubClient::getInstance()->sendDynamicPost4OffLine($space->id);
         } else {
             if ($space->updateStatus == 4) {
                 PatientClubClient::getInstance()->addRadioMessage4OnLine($space->id);
             }
         }
     }
     $response->id = implode(' ', $ids);
     $response->result = $request;
     $response->actionDesc = "更新/设置 空间";
     $response->_my_template = '/default/processmsg';
 }
 public function ajaxAddPatientCase($request, $response)
 {
     /*{{{*/
     $doctorOwnerId = $request->doctorOwnerId;
     $doctorOwner = DAL::get()->find("doctorowner", $doctorOwnerId);
     DBC::requireFalse($doctorOwner->isNull(), 'doctorOwner不存在');
     $status = PatientCase::STATUS_COMPLETE;
     $patientCase = $this->createPatienCase($doctorOwner, $request);
     if ($patientCase->isNull()) {
         echo json_encode(array('success' => 0));
         return parent::DIRECT_OUTPUT;
     }
     $groupId = $request->groupId;
     $group = DAL::get()->find('regroup', $groupId);
     if ($group->isNull()) {
         $unGroup = DAL::get()->find_by_doctorownerid_and_type('regroup', $doctorOwner->id, ReGroup::TYPE_2);
         $groupId = $unGroup->id;
     }
     if ($groupId > 0) {
         PatientClubClient::getInstance()->updateMember($doctorOwner->user->id, $patientCase->id, $groupId, ReGroupMember::MEMBER_PATIENT_TYPE_MYINPUT, ReGroupPatientCaseMember::ATTENTION_FALSE);
     }
     $patientCourse = $this->createPatientCourse($patientCase, $request);
     if ($patientCourse->isNull()) {
         echo json_encode(array('success' => 0));
         return parent::DIRECT_OUTPUT;
     }
     echo json_encode(array('success' => 1, 'msg' => $response->router->urlfor('outpatienttool/patientcaseinput', array('doctorId' => $doctorOwner->source->id))));
     return parent::DIRECT_OUTPUT;
 }
 public function updateIsAttention($request, $response)
 {
     /*{{{*/
     $memberId = $request->memberId;
     $type = $request->type ? 'patient' : 'patientcase';
     $updateMemberId = PatientClubClient::getInstance()->updateIsAttention($memberId, $type);
     if ($updateMemberId == $memberId) {
         echo 'success';
     } else {
         echo 'failure';
     }
     return self::DIRECT_OUTPUT;
 }
		/** 拒绝申请 */
		public function refuse($request, $response) {
				$patient_id = $request->getRequest('space_patient_id', 0);
				PatientClubClient::getInstance()->refuse($patient_id);
				$this->message('患者已经被拒绝', $response);

		}
 */
error_reporting(0);
header('Cache-Control: private;');
include_once($base.'/../config/config.php');
require(dirname(__FILE__).'/../assembly.php');
DAL::get()->setUp('usercenter');
$user_id = isset($_COOKIE['userinfo']['id'])?$_COOKIE['userinfo']['id']:0;
$code_version = 1;

$msgCount = 0;
$msg = array('id' => 0, 'title' => '', 'content' => '', 'sender' => '', 'senderId' => 0);
$msgNext = 0;

if ($user_id > 0) {
    //触发站内信
    PatientClubClient::getInstance()->createOffLineStationletter($user_id);
    $user = DAL::get()->find('user', $user_id);
	$msgClient = StationLetterClient::getInstance();
	$msgCount = $msgClient->getUnreadMsgCount($user_id);
	$msgCount = (is_array($msgCount)) ? 0 : $msgCount;
    $username = ($_COOKIE['userinfo']['ver'] == '2.0') ? iconv('UTF-8', 'GBK', $_COOKIE['userinfo']['name']) : $_COOKIE['userinfo']['name'];
    $time = isset($_COOKIE['userinfo']['time'])?$_COOKIE['userinfo']['time']:0;

    //给用户发1月19号故障说明的站内信, 过了1月30号就不发了 by qzl
    //$msgClient->sendApologyLetterFor0119($user_id);
	
	if ($msgCount > 0) {
		$msg_alt = $msgClient->getNextUnreadMsg($user_id);
		if ($msg_alt) $msg = $msg_alt;
		//var_dump($msg);
		if ($msg['id']) {