/**
  * action implement
  */
 protected function actionImplement($in)
 {
     if (!MbqMain::$oMbqConfig->moduleIsEnable('forum')) {
         MbqError::alert('', "Not support module forum!", '', MBQ_ERR_NOT_SUPPORT);
     }
     $oMbqEtThank = MbqMain::$oClk->newObj('MbqEtThank');
     $oMbqEtThank->key->setOriValue($in->postId);
     $oMbqRdEtForumPost = MbqMain::$oClk->newObj('MbqRdEtForumPost');
     if ($oMbqEtForumPost = $oMbqRdEtForumPost->initOMbqEtForumPost($oMbqEtThank->key->oriValue, array('case' => 'byPostId'))) {
         $oMbqAclEtForumPost = MbqMain::$oClk->newObj('MbqAclEtForumPost');
         $aclResult = $oMbqAclEtForumPost->canAclThankPost($oMbqEtForumPost);
         if ($aclResult === true) {
             //acl judge
             $oMbqWrEtForumPost = MbqMain::$oClk->newObj('MbqWrEtForumPost');
             $oMbqEtThank->userId->setOriValue(MbqMain::$oCurMbqEtUser->userId->oriValue);
             $oMbqWrEtForumPost->thankPost($oMbqEtForumPost, $oMbqEtThank);
             $this->data['result'] = true;
             $oTapatalkPush = new TapatalkPush();
             $oTapatalkPush->callMethod('doInternalPushThank', array('oMbqEtForumPost' => $oMbqEtForumPost, 'oMbqEtThank' => $oMbqEtThank));
         } else {
             MbqError::alert('', $aclResult, '', MBQ_ERR_APP);
         }
     } else {
         MbqError::alert('', "Need valid post id!", '', MBQ_ERR_APP);
     }
 }
 /**
  * action implement
  */
 protected function actionImplement($in)
 {
     if (!MbqMain::$oMbqConfig->moduleIsEnable('forum')) {
         MbqError::alert('', "Not support module forum!", '', MBQ_ERR_NOT_SUPPORT);
     }
     $oMbqRdEtForumPost = MbqMain::$oClk->newObj('MbqRdEtForumPost');
     if ($oMbqEtForumPost = $oMbqRdEtForumPost->initOMbqEtForumPost($in->postId, array('case' => 'byPostId'))) {
         $oMbqAclEtForumPost = MbqMain::$oClk->newObj('MbqAclEtForumPost');
         $aclResult = $oMbqAclEtForumPost->canAclReportPost($oMbqEtForumPost);
         if ($aclResult === true) {
             //acl judge
             $oMbqWrEtForumPost = MbqMain::$oClk->newObj('MbqWrEtForumPost');
             $result = $oMbqWrEtForumPost->reportPost($oMbqEtForumPost, $in->reason);
             if ($result === true) {
                 $this->data['result'] = true;
                 $this->data['result_text'] = 'Post reported';
             } else {
                 $this->data['result'] = false;
                 $this->data['result_text'] = $result;
             }
         } else {
             MbqError::alert('', $aclResult, '', MBQ_ERR_APP);
         }
     } else {
         MbqError::alert('', "Need valid post id!", '', MBQ_ERR_APP);
     }
 }
 /**
  * action implement
  */
 protected function actionImplement($in)
 {
     if (!MbqMain::$oMbqConfig->moduleIsEnable('forum')) {
         MbqError::alert('', "Not support module forum!", '', MBQ_ERR_NOT_SUPPORT);
     }
     $oMbqRdEtForumTopic = MbqMain::$oClk->newObj('MbqRdEtForumTopic');
     if ($oMbqEtForumTopic = $oMbqRdEtForumTopic->initOMbqEtForumTopic($in->topicId, array('case' => 'byTopicId'))) {
         $oMbqAclEtForumTopic = MbqMain::$oClk->newObj('MbqAclEtForumTopic');
         $aclResult = $oMbqAclEtForumTopic->canAclMRenameTopic($oMbqEtForumTopic);
         if ($aclResult === true) {
             //acl judge
             $oMbqWrEtForumTopic = MbqMain::$oClk->newObj('MbqWrEtForumTopic');
             $result = $oMbqWrEtForumTopic->mRenameTopic($oMbqEtForumTopic, $in->title);
             if ($result === true) {
                 $this->data['result'] = true;
             } else {
                 if ($result === false) {
                     $this->data['result'] = false;
                     $this->data['is_login_mod'] = true;
                     $this->data['result_text'] = 'You need to authenticate again to do the action';
                 } else {
                     $this->data['result'] = false;
                     $this->data['result_text'] = $result;
                 }
             }
         } else {
             MbqError::alert('', $aclResult, '', MBQ_ERR_APP);
         }
     } else {
         MbqError::alert('', "Need valid topic id!", '', MBQ_ERR_APP);
     }
 }
Example #4
0
 /**
  * action implement
  */
 protected function actionImplement()
 {
     if (!MbqMain::$oMbqConfig->moduleIsEnable('forum')) {
         MbqError::alert('', "Not support module forum!", '', MBQ_ERR_NOT_SUPPORT);
     }
     $forumId = MbqMain::$input['get']['fid'];
     $content = MbqMain::$input['get']['content'] ? MbqMain::$input['get']['content'] : 'both';
     $page = (int) MbqMain::$input['get']['page'];
     $perpage = (int) MbqMain::$input['get']['perpage'];
     $type = MbqMain::$input['get']['type'] ? MbqMain::$input['get']['type'] : 'normal';
     $prefix = MbqMain::$input['get']['prefix'];
     $oMbqDataPage = MbqMain::$oClk->newObj('MbqDataPage');
     $oMbqDataPage->initByPageAndPerPage($page, $perpage);
     $oMbqRdEtForum = MbqMain::$oClk->newObj('MbqRdEtForum');
     $objsMbqEtForum = $oMbqRdEtForum->getObjsMbqEtForum(array($forumId), array('case' => 'byForumIds'));
     if ($objsMbqEtForum && ($oMbqEtForum = $objsMbqEtForum[0])) {
         if ($content == 'sub' || $content == 'both') {
             MbqError::alert('', "Not support content type {$content}!", '', MBQ_ERR_APP);
         } elseif ($content == 'topic') {
             $oMbqAclEtForumTopic = MbqMain::$oClk->newObj('MbqAclEtForumTopic');
             if ($oMbqAclEtForumTopic->canAclGetTopic($oMbqEtForum)) {
                 //acl judge
                 switch ($type) {
                     case 'sticky':
                         /* returns sticky topics. */
                         $oMbqRdEtForumTopic = MbqMain::$oClk->newObj('MbqRdEtForumTopic');
                         $oMbqDataPage = $oMbqRdEtForumTopic->getObjsMbqEtForumTopic($oMbqEtForum, array('case' => 'byForum', 'oMbqDataPage' => $oMbqDataPage, 'top' => true));
                         $this->data['total'] = (int) $oMbqDataPage->totalNum;
                         //!!! must
                         $this->data['forum'] = $oMbqRdEtForum->returnApiDataForum($oMbqEtForum);
                         $this->data['forums'] = array();
                         $this->data['topics'] = $oMbqRdEtForumTopic->returnApiArrDataForumTopic($oMbqDataPage->datas);
                         break;
                     case 'normal':
                         /* returns standard topics */
                         $oMbqRdEtForumTopic = MbqMain::$oClk->newObj('MbqRdEtForumTopic');
                         $oMbqDataPage = $oMbqRdEtForumTopic->getObjsMbqEtForumTopic($oMbqEtForum, array('case' => 'byForum', 'oMbqDataPage' => $oMbqDataPage, 'notIncludeTop' => true));
                         $this->data['total'] = (int) $oMbqDataPage->totalNum;
                         //!!! must
                         $this->data['forum'] = $oMbqRdEtForum->returnApiDataForum($oMbqEtForum);
                         $this->data['forums'] = array();
                         $this->data['topics'] = $oMbqRdEtForumTopic->returnApiArrDataForumTopic($oMbqDataPage->datas);
                         break;
                     case 'all':
                         MbqError::alert('', "Not supported topic type filter:{$type}.", '', MBQ_ERR_APP);
                         break;
                     default:
                         MbqError::alert('', "Unknown topic type filter:{$type}.", '', MBQ_ERR_APP);
                         break;
                 }
             } else {
                 MbqError::alert('', '', '', MBQ_ERR_APP);
             }
         } else {
             MbqError::alert('', "Need valid content type!", '', MBQ_ERR_APP);
         }
     } else {
         MbqError::alert('', "Need valid forum id!", '', MBQ_ERR_APP);
     }
 }
 /**
  * action implement
  */
 protected function actionImplement()
 {
     if (!MbqMain::$oMbqConfig->moduleIsEnable('forum')) {
         MbqError::alert('', "Not support module forum!", '', MBQ_ERR_NOT_SUPPORT);
     }
     $startNum = (int) MbqMain::$input[0];
     $lastNum = (int) MbqMain::$input[1];
     $oMbqDataPage = MbqMain::$oClk->newObj('MbqDataPage');
     $oMbqDataPage->initByStartAndLast($startNum, $lastNum);
     $filter = array('searchid' => MbqMain::$input[2], 'page' => $oMbqDataPage->curPage, 'perpage' => $oMbqDataPage->numPerPage);
     if (MbqMain::$input[3] && is_array(MbqMain::$input[3])) {
         $filter = array_merge($filter, MbqMain::$input[3]);
     }
     $filter['showposts'] = 0;
     $oMbqAclEtForumTopic = MbqMain::$oClk->newObj('MbqAclEtForumTopic');
     if ($oMbqAclEtForumTopic->canAclGetUnreadTopic()) {
         //acl judge
         $oMbqRdForumSearch = MbqMain::$oClk->newObj('MbqRdForumSearch');
         $oMbqDataPage = $oMbqRdForumSearch->forumAdvancedSearch($filter, $oMbqDataPage, array('case' => 'getUnreadTopic', 'unread' => true));
         $oMbqRdEtForumTopic = MbqMain::$oClk->newObj('MbqRdEtForumTopic');
         $this->data['result'] = true;
         $this->data['total_topic_num'] = (int) $oMbqDataPage->totalNum;
         $this->data['topics'] = $oMbqRdEtForumTopic->returnApiArrDataForumTopic($oMbqDataPage->datas);
     } else {
         MbqError::alert('', '', '', MBQ_ERR_APP);
     }
 }
Example #6
0
 /**
  * action implement
  */
 protected function actionImplement()
 {
     if (!MbqMain::$oMbqConfig->moduleIsEnable('forum')) {
         MbqError::alert('', "Not support module forum!", '', MBQ_ERR_NOT_SUPPORT);
     }
     $topicId = MbqMain::$input[0];
     $forumId = MbqMain::$input[1];
     $oMbqRdEtForumTopic = MbqMain::$oClk->newObj('MbqRdEtForumTopic');
     $oMbqRdEtForum = MbqMain::$oClk->newObj('MbqRdEtForum');
     $oMbqEtForumTopic = $oMbqRdEtForumTopic->initOMbqEtForumTopic($topicId, array('case' => 'byTopicId'));
     $objsMbqEtForum = $oMbqRdEtForum->getObjsMbqEtForum(array($forumId), array('case' => 'byForumIds'));
     if ($oMbqEtForumTopic && $objsMbqEtForum && ($oMbqEtForum = $objsMbqEtForum[0])) {
         $oMbqAclEtForumTopic = MbqMain::$oClk->newObj('MbqAclEtForumTopic');
         if ($oMbqAclEtForumTopic->canAclMMoveTopic($oMbqEtForumTopic, $oMbqEtForum)) {
             //acl judge
             $oMbqWrEtForumTopic = MbqMain::$oClk->newObj('MbqWrEtForumTopic');
             $oMbqWrEtForumTopic->mMoveTopic($oMbqEtForumTopic, $oMbqEtForum);
             $this->data['result'] = true;
         } else {
             MbqError::alert('', '', '', MBQ_ERR_APP);
         }
     } else {
         MbqError::alert('', "Need valid topic id or forum id!", '', MBQ_ERR_APP);
     }
 }
Example #7
0
 /**
  * action implement
  */
 protected function actionImplement()
 {
     if (!MbqMain::$oMbqConfig->moduleIsEnable('forum')) {
         MbqError::alert('', "Not support module forum!", '', MBQ_ERR_NOT_SUPPORT);
     }
     $postId = MbqMain::$input[0];
     $mode = (int) MbqMain::$input[1];
     if ($mode != 1 && $mode != 2) {
         MbqError::alert('', "Need valid mode!", '', MBQ_ERR_APP);
     }
     if ($mode == 2) {
         MbqError::alert('', "Sorry!Not support hard-delete a post!", '', MBQ_ERR_APP);
     }
     $oMbqRdEtForumPost = MbqMain::$oClk->newObj('MbqRdEtForumPost');
     if ($oMbqEtForumPost = $oMbqRdEtForumPost->initOMbqEtForumPost($postId, array('case' => 'byPostId'))) {
         $oMbqAclEtForumPost = MbqMain::$oClk->newObj('MbqAclEtForumPost');
         if ($oMbqAclEtForumPost->canAclMDeletePost($oMbqEtForumPost, $mode)) {
             //acl judge
             $oMbqWrEtForumPost = MbqMain::$oClk->newObj('MbqWrEtForumPost');
             $oMbqWrEtForumPost->mDeletePost($oMbqEtForumPost, $mode);
             $this->data['result'] = true;
         } else {
             MbqError::alert('', '', '', MBQ_ERR_APP);
         }
     } else {
         MbqError::alert('', "Need valid post id!", '', MBQ_ERR_APP);
     }
 }
 /**
  * action implement
  */
 protected function actionImplement($in)
 {
     if (!MbqMain::$oMbqConfig->moduleIsEnable('subscribe')) {
         MbqError::alert('', "Not support module subscribe!", '', MBQ_ERR_NOT_SUPPORT);
     }
     if (!MbqMain::$oMbqConfig->moduleIsEnable('forum')) {
         MbqError::alert('', "Not support module forum!", '', MBQ_ERR_NOT_SUPPORT);
     }
     $oMbqRdEtForum = MbqMain::$oClk->newObj('MbqRdEtForum');
     if ($oMbqEtForum = $oMbqRdEtForum->initOMbqEtForum($in->forumId, array('case' => 'byForumId'))) {
         $oMbqAclEtForum = MbqMain::$oClk->newObj('MbqAclEtForum');
         $aclResult = $oMbqAclEtForum->canAclUnsubscribeForum($oMbqEtForum);
         if ($aclResult === true) {
             //acl judge
             $oMbqWrEtForum = MbqMain::$oClk->newObj('MbqWrEtForum');
             $result = $oMbqWrEtForum->unsubscribeForum($oMbqEtForum);
             if ($result === true) {
                 $this->data['result'] = true;
             } else {
                 $this->data['result'] = false;
                 $this->data['result_text'] = $result;
             }
         } else {
             MbqError::alert('', $aclResult, '', MBQ_ERR_APP);
         }
     } else {
         MbqError::alert('', "Need valid forum id!", '', MBQ_ERR_APP);
     }
 }
Example #9
0
 /**
  * upload an attachment
  *
  * @param  Integer  $forumId
  * @param  String  $groupId
  * @return  Object  $oMbqEtAtt
  */
 public function uploadAttachment($oMbqEtForum, $groupId = null)
 {
     //ref wcf\action\AJAXUploadAction,wcf\action\AJAXProxyAction,wcf\data\attachment\AttachmentAction
     $parameters['objectType'] = 'com.woltlab.wbb.post';
     $parameters['objectID'] = 0;
     $parameters['tmpHash'] = $groupId ? $groupId : StringUtil::getRandomID();
     $parameters['parentObjectID'] = $oMbqEtForum->forumId->oriValue;
     $parameters['__files'] = UploadHandler::getUploadHandler('attachment');
     //ref AJAXUploadAction::readParameters()
     $oAttachmentAction = new AttachmentAction(array(), 'upload', $parameters);
     //ref AJAXProxyAction::invoke()
     $oAttachmentAction->validateAction();
     //todo:catch exception
     $ret = $oAttachmentAction->executeAction();
     //todo:catch exception
     if ($ret['returnValues']['attachments']) {
         $r = array_shift($ret['returnValues']['attachments']);
         $oMbqEtAtt = MbqMain::$oClk->newObj('MbqEtAtt');
         $oMbqEtAtt->attId->setOriValue($r['attachmentID']);
         $oMbqEtAtt->groupId->setOriValue($parameters['tmpHash']);
         $oMbqEtAtt->filtersSize->setOriValue($r['filesize']);
         $oMbqEtAtt->uploadFileName->setOriValue($r['filename']);
         return $oMbqEtAtt;
     } else {
         MbqError::alert('', "Upload attachment failed!", '', MBQ_ERR_APP);
     }
 }
 /**
  * action implement
  */
 protected function actionImplement($in)
 {
     if (!MbqMain::$oMbqConfig->moduleIsEnable('user')) {
         MbqError::alert('', "Not support module user!", '', MBQ_ERR_NOT_SUPPORT);
     }
     $oMbqRdEtUser = MbqMain::$oClk->newObj('MbqRdEtUser');
     if ($oMbqEtUser = $oMbqRdEtUser->initOMbqEtUser($in->userId, array('case' => 'byUserId'))) {
         $oMbqAclEtUser = MbqMain::$oClk->newObj('MbqAclEtUser');
         $aclResult = $oMbqAclEtUser->canAclIgnoreUser($oMbqEtUser, $in->mode);
         if ($aclResult === true) {
             //acl judge
             $oMbqWrEtUser = MbqMain::$oClk->newObj('MbqWrEtUser');
             $result = $oMbqWrEtUser->ignoreUser($oMbqEtUser, $in->mode);
             if ($result === true) {
                 $this->data['result'] = true;
             } else {
                 $this->data['result'] = false;
                 $this->data['result_text'] = $result;
             }
         } else {
             MbqError::alert('', $aclResult, '', MBQ_ERR_APP);
         }
     } else {
         MbqError::alert('', "User not found!", '', MBQ_ERR_APP);
     }
 }
 /**
  * action implement
  */
 protected function actionImplement($in)
 {
     if (!MbqMain::$oMbqConfig->moduleIsEnable('user')) {
         MbqError::alert('', "Not support module user!", '', MBQ_ERR_NOT_SUPPORT);
     }
     $oMbqRdEtUser = MbqMain::$oClk->newObj('MbqRdEtUser');
     if ($oMbqEtUser = $oMbqRdEtUser->initOMbqEtUser($in->username, array('case' => 'byLoginName'))) {
         $oMbqAclEtUser = MbqMain::$oClk->newObj('MbqAclEtUser');
         $aclResult = $oMbqAclEtUser->canAclMBanUser($oMbqEtUser, $in->mode);
         if ($aclResult === true) {
             //acl judge
             $oMbqWrEtUser = MbqMain::$oClk->newObj('MbqWrEtUser');
             $result = $oMbqWrEtUser->mBanUser($oMbqEtUser, $in->mode, $in->reason, $in->expires);
             if ($result === true) {
                 $this->data['result'] = true;
             } else {
                 if ($result === false) {
                     $this->data['result'] = false;
                     $this->data['is_login_mod'] = true;
                     $this->data['result_text'] = 'You need to authenticate again to do the action';
                 } else {
                     $this->data['result'] = false;
                     $this->data['result_text'] = $result;
                 }
             }
         } else {
             MbqError::alert('', $aclResult, '', MBQ_ERR_APP);
         }
     } else {
         MbqError::alert('', "User not found!", '', MBQ_ERR_APP);
     }
 }
 /**
  * action implement
  */
 protected function actionImplement($in)
 {
     if (!MbqMain::$oMbqConfig->moduleIsEnable('subscribe')) {
         MbqError::alert('', "Not support module subscribe!", '', MBQ_ERR_NOT_SUPPORT);
     }
     if (!MbqMain::$oMbqConfig->moduleIsEnable('forum')) {
         MbqError::alert('', "Not support module forum!", '', MBQ_ERR_NOT_SUPPORT);
     }
     $oMbqRdEtForumTopic = MbqMain::$oClk->newObj('MbqRdEtForumTopic');
     if ($oMbqEtForumTopic = $oMbqRdEtForumTopic->initOMbqEtForumTopic($in->topicId, array('case' => 'byTopicId'))) {
         $oMbqAclEtForumTopic = MbqMain::$oClk->newObj('MbqAclEtForumTopic');
         if ($oMbqEtForumTopic->isSubscribed->oriValue) {
             $this->data['result'] = true;
             return;
         }
         $aclResult = $oMbqAclEtForumTopic->canAclSubscribeTopic($oMbqEtForumTopic);
         if ($aclResult === true) {
             //acl judge
             $oMbqWrEtForumTopic = MbqMain::$oClk->newObj('MbqWrEtForumTopic');
             $result = $oMbqWrEtForumTopic->subscribeTopic($oMbqEtForumTopic);
             if ($result === true) {
                 $this->data['result'] = true;
                 $oTapatalkPush = new TapatalkPush();
                 $oTapatalkPush->callMethod('doInternalPushNewSubscription', array('oMbqEtForumTopic' => $oMbqEtForumTopic));
             } else {
                 $this->data['result'] = false;
                 $this->data['result_text'] = $result;
             }
         } else {
             MbqError::alert('', $aclResult, '', MBQ_ERR_APP);
         }
     } else {
         MbqError::alert('', "Need valid topic id!", '', MBQ_ERR_APP);
     }
 }
 /**
  * action implement
  */
 protected function actionImplement($in)
 {
     if (!MbqMain::$oMbqConfig->moduleIsEnable('forum')) {
         MbqError::alert('', "Not support module forum!", '', MBQ_ERR_NOT_SUPPORT);
     }
     $oMbqRdEtForumTopic = MbqMain::$oClk->newObj('MbqRdEtForumTopic');
     if ($oMbqEtForumTopic = $oMbqRdEtForumTopic->initOMbqEtForumTopic($in->topicId, array('case' => 'byTopicId'))) {
         $oMbqAclEtForumTopic = MbqMain::$oClk->newObj('MbqAclEtForumTopic');
         $aclResult = $oMbqAclEtForumTopic->canAclGetThread($oMbqEtForumTopic);
         if ($aclResult === true) {
             //acl judge
             $oMbqRdEtForumPost = MbqMain::$oClk->newObj('MbqRdEtForumPost');
             $in->oMbqDataPage = $oMbqRdEtForumPost->getObjsMbqEtForumPost($oMbqEtForumTopic, array('case' => 'byTopic', 'oMbqDataPage' => $in->oMbqDataPage));
             $this->data = $oMbqRdEtForumTopic->returnApiDataForumTopic($oMbqEtForumTopic);
             $this->data['forum_name'] = (string) $oMbqEtForumTopic->oMbqEtForum->forumName->oriValue;
             $this->data['can_upload'] = (bool) $oMbqEtForumTopic->oMbqEtForum->canUpload->oriValue;
             $this->data['posts'] = $oMbqRdEtForumPost->returnApiArrDataForumPost($in->oMbqDataPage->datas, $in->returnHtml);
             $oMbqWrEtForumTopic = MbqMain::$oClk->newObj('MbqWrEtForumTopic');
             /* add forum topic view num */
             $oMbqWrEtForumTopic->addForumTopicViewNum($oMbqEtForumTopic);
             /* mark forum topic read */
             $oMbqWrEtForumTopic->markForumTopicRead($oMbqEtForumTopic);
             /* reset forum topic subscription */
             $oMbqWrEtForumTopic->resetForumTopicSubscription($oMbqEtForumTopic);
         } else {
             MbqError::alert('', $aclResult, '', MBQ_ERR_APP);
         }
     } else {
         MbqError::alert('', "Need valid topic id!", '', MBQ_ERR_APP);
     }
 }
 /**
  * action implement
  */
 protected function actionImplement($in)
 {
     if (MbqMain::$oMbqConfig->moduleIsEnable('pm')) {
         $oMbqEtPm = MbqMain::$oClk->newObj('MbqEtPm');
         $oMbqEtPm->userNames->setOriValue($in->usernames);
         $oMbqEtPm->msgTitle->setOriValue($in->subject);
         $oMbqEtPm->msgContent->setOriValue($in->body);
         if ($in->action == 1) {
             $oMbqEtPm->isReply->setOriValue(true);
             $oMbqEtPm->toMsgId->setOriValue($in->messageId);
         } else {
             if ($in->action == 2) {
                 $oMbqEtPm->isForward->setOriValue(true);
                 $oMbqEtPm->toMsgId->setOriValue($in->messageId);
             }
         }
         $oMbqAclEtPm = MbqMain::$oClk->newObj('MbqAclEtPm');
         $aclResult = $oMbqAclEtPm->canAclCreateMessage();
         if ($aclResult === true) {
             $oMbqWrEtPm = MbqMain::$oClk->newObj('MbqWrEtPm');
             $oMbqWrEtPm->addMbqEtPm($oMbqEtPm);
             $this->data['result'] = true;
             $this->data['msg_id'] = (string) $oMbqEtPm->msgId->oriValue;
             $oTapatalkPush = new TapatalkPush();
             $oTapatalkPush->callMethod('doInternalPushNewMessage', array('oMbqEtPm' => $oMbqEtPm));
         } else {
             MbqError::alert('', $aclResult, '', MBQ_ERR_APP);
         }
     } else {
         MbqError::alert('', "Not support module private message!", '', MBQ_ERR_NOT_SUPPORT);
     }
 }
Example #15
0
 /**
  * action implement
  */
 protected function actionImplement()
 {
     if (!MbqMain::$oMbqConfig->moduleIsEnable('forum')) {
         MbqError::alert('', "Not support module forum!", '', MBQ_ERR_NOT_SUPPORT);
     }
     $startNum = (int) MbqMain::$input[1];
     $lastNum = (int) MbqMain::$input[2];
     $oMbqDataPage = MbqMain::$oClk->newObj('MbqDataPage');
     $oMbqDataPage->initByStartAndLast($startNum, $lastNum);
     $filter = array('keywords' => MbqMain::$input[0], 'searchid' => MbqMain::$input[3], 'page' => $oMbqDataPage->curPage, 'perpage' => $oMbqDataPage->numPerPage);
     $filter['showposts'] = 1;
     if (strlen(MbqMain::$input[0]) < MbqBaseFdt::getFdt('MbqFdtConfig.forum.min_search_length.default')) {
         MbqError::alert('', "Search words too short!", '', MBQ_ERR_APP);
     }
     $oMbqAclEtForumPost = MbqMain::$oClk->newObj('MbqAclEtForumPost');
     if ($oMbqAclEtForumPost->canAclSearchPost()) {
         //acl judge
         $oMbqRdForumSearch = MbqMain::$oClk->newObj('MbqRdForumSearch');
         $oMbqDataPage = $oMbqRdForumSearch->forumAdvancedSearch($filter, $oMbqDataPage, array('case' => 'searchPost'));
         $oMbqRdEtForumPost = MbqMain::$oClk->newObj('MbqRdEtForumPost');
         $this->data['total_post_num'] = (int) $oMbqDataPage->totalNum;
         $this->data['posts'] = $oMbqRdEtForumPost->returnApiArrDataForumPost($oMbqDataPage->datas);
     } else {
         MbqError::alert('', '', '', MBQ_ERR_APP);
     }
 }
Example #16
0
 /**
  * action implement
  */
 protected function actionImplement()
 {
     $cfg = MbqMain::$oMbqConfig->getAllCfg();
     foreach ($cfg as $moduleName => $module) {
         foreach ($module as $k => $v) {
             if ($k !== 'module_name' && $k != 'module_version' && $k != 'module_enable') {
                 if (isset($this->data[$k])) {
                     MbqError::alert('', "Find repeat config {$k}!");
                 } else {
                     if (!$v->isAdvCfgValueType()) {
                         if ($v->hasSetOriValue()) {
                             if ($k == 'is_open' || $k == 'guest_okay' || $k == 'min_search_length') {
                                 $this->data[$k] = $v->oriValue;
                             } else {
                                 $this->data[$k] = (string) $v->oriValue;
                             }
                         } else {
                             MbqError::alert('', "Need set config {$k}!");
                         }
                     }
                 }
             }
         }
     }
 }
Example #17
0
 /**
  * action implement
  */
 protected function actionImplement()
 {
     if (!MbqMain::$oMbqConfig->moduleIsEnable('forum')) {
         MbqError::alert('', "Not support module forum!", '', MBQ_ERR_NOT_SUPPORT);
     }
     $forumId = MbqMain::$input['forum_id'];
     $groupId = MbqMain::$input['group_id'] ? MbqMain::$input['group_id'] : mt_rand(2000000000, 2100000000);
     $oMbqRdEtForum = MbqMain::$oClk->newObj('MbqRdEtForum');
     $objsMbqEtForum = $oMbqRdEtForum->getObjsMbqEtForum(array($forumId), array('case' => 'byForumIds'));
     if ($objsMbqEtForum && ($oMbqEtForum = $objsMbqEtForum[0])) {
         $oMbqAclEtAtt = MbqMain::$oClk->newObj('MbqAclEtAtt');
         if ($oMbqAclEtAtt->canAclUploadAttach($oMbqEtForum)) {
             //acl judge
             $oMbqWrEtAtt = MbqMain::$oClk->newObj('MbqWrEtAtt');
             $oMbqEtAtt = $oMbqWrEtAtt->uploadAttachment($forumId, $groupId);
             $oMbqRdEtAtt = MbqMain::$oClk->newObj('MbqRdEtAtt');
             $this->data['result'] = true;
             $data1 = $oMbqRdEtAtt->returnApiDataAttachment($oMbqEtAtt);
             MbqMain::$oMbqCm->mergeApiData($this->data, $data1);
         } else {
             MbqError::alert('', '', '', MBQ_ERR_APP);
         }
     } else {
         MbqError::alert('', "Need valid forum id!", '', MBQ_ERR_APP);
     }
 }
Example #18
0
 /**
  * Get request protocol based on Content-Type
  *
  * @return string default as xmlrpc
  */
 protected function init()
 {
     if (defined('MBQ_PROTOCOL')) {
         $protocol = MBQ_PROTOCOL;
     } else {
         //would be removed
         $contentType = MbqMain::$oMbqCm->getRequestHeader('Content-Type');
         switch ($contentType) {
             case 'text/xml':
                 $protocol = 'xmlrpc';
                 break;
             case 'application/json':
                 $protocol = 'json';
                 break;
             default:
                 $protocol = 'xmlrpc';
         }
     }
     //$ioHandleClass = 'MbqIoHandle'.ucfirst($protocol);
     if ($protocol == 'xmlrpc') {
         $ioHandleClass = 'MbqIoHandleXmlrpc';
     } elseif ($protocol == 'json') {
         $ioHandleClass = 'MbqIoHandleAdvJson';
     } else {
         MbqError::alert('', __METHOD__ . ',line:' . __LINE__ . '.Unknown protocol.', '', MBQ_ERR_TOP_NOIO);
     }
     $this->protocol = $protocol;
     $this->oHandle = MbqMain::$oClk->newObj($ioHandleClass);
     $this->cmd = $this->oHandle->getCmd();
     $this->input = $this->oHandle->getInput();
 }
 /**
  * action implement
  */
 public function actionImplement()
 {
     if (MbqMain::$oMbqConfig->moduleIsEnable('pc') && MbqMain::$oMbqConfig->getCfg('pc.conversation')->oriValue == MbqBaseFdt::getFdt('MbqFdtConfig.pc.conversation.range.support')) {
     } else {
         MbqError::alert('', "Not support module private conversation!", '', MBQ_ERR_NOT_SUPPORT);
     }
     $convId = MbqMain::$input[0];
     $msgId = MbqMain::$input[1];
     $oMbqRdEtPc = MbqMain::$oClk->newObj('MbqRdEtPc');
     if ($objsMbqEtPc = $oMbqRdEtPc->getObjsMbqEtPc(array($convId), array('case' => 'byConvIds'))) {
         $oMbqEtPc = array_shift($objsMbqEtPc);
         $oMbqRdEtPcMsg = MbqMain::$oClk->newObj('MbqRdEtPcMsg');
         if ($objsMbqEtPcMsg = $oMbqRdEtPcMsg->getObjsMbqEtPcMsg(array($msgId), array('case' => 'byMsgIds'))) {
             $oMbqEtPcMsg = array_shift($objsMbqEtPcMsg);
             $oMbqAclEtPcMsg = MbqMain::$oClk->newObj('MbqAclEtPcMsg');
             if ($oMbqAclEtPcMsg->canAclGetQuoteConversation($oMbqEtPcMsg, $oMbqEtPc)) {
                 $this->data['text_body'] = (string) $oMbqRdEtPcMsg->getQuoteConversation($oMbqEtPcMsg);
             } else {
                 MbqError::alert('', '', '', MBQ_ERR_APP);
             }
         } else {
             MbqError::alert('', "Need valid conversation message id!", '', MBQ_ERR_APP);
         }
     } else {
         MbqError::alert('', "Need valid conversation id!", '', MBQ_ERR_APP);
     }
 }
Example #20
0
 /**
  * action implement
  */
 protected function actionImplement()
 {
     if (!MbqMain::$oMbqConfig->moduleIsEnable('user')) {
         MbqError::alert('', "Not support module user!", '', MBQ_ERR_NOT_SUPPORT);
     }
     $userName = MbqMain::$input[0];
     $mode = MbqMain::$input[1];
     $reasonText = MbqMain::$input[2];
     $oMbqRdEtUser = MbqMain::$oClk->newObj('MbqRdEtUser');
     if ($mode != 1 && $mode != 2) {
         MbqError::alert('', "Need valid mode!", '', MBQ_ERR_APP);
     }
     if ($oMbqEtUser = $oMbqRdEtUser->initOMbqEtUser($userName, array('case' => 'byLoginName'))) {
         $oMbqAclEtUser = MbqMain::$oClk->newObj('MbqAclEtUser');
         if ($oMbqAclEtUser->canAclMBanUser($oMbqEtUser, $mode)) {
             //acl judge
             $oMbqWrEtUser = MbqMain::$oClk->newObj('MbqWrEtUser');
             $oMbqWrEtUser->mBanUser($oMbqEtUser, $mode, $reasonText);
             $this->data['result'] = true;
         } else {
             MbqError::alert('', '', '', MBQ_ERR_APP);
         }
     } else {
         MbqError::alert('', "User not found!", '', MBQ_ERR_APP);
     }
 }
 /**
  * action implement
  */
 protected function actionImplement($in)
 {
     if (!MbqMain::$oMbqConfig->moduleIsEnable('forum')) {
         MbqError::alert('', "Not support module forum!", '', MBQ_ERR_NOT_SUPPORT);
     }
     $filter = array('keywords' => $in->keywords, 'searchid' => $in->searchId, 'page' => $in->oMbqDataPage->curPage, 'perpage' => $in->oMbqDataPage->numPerPage);
     $filter['showposts'] = 0;
     $oMbqAclEtForumTopic = MbqMain::$oClk->newObj('MbqAclEtForumTopic');
     $aclResult = $oMbqAclEtForumTopic->canAclSearchTopic();
     if ($aclResult === true) {
         //acl judge
         $oMbqRdForumSearch = MbqMain::$oClk->newObj('MbqRdForumSearch');
         $result = $oMbqRdForumSearch->forumAdvancedSearch($filter, $in->oMbqDataPage, array('case' => 'searchTopic'));
         if (is_a($result, 'MbqDataPage')) {
             $oMbqRdEtForumTopic = MbqMain::$oClk->newObj('MbqRdEtForumTopic');
             $this->data['search_id'] = $result->searchId;
             $this->data['total_topic_num'] = (int) $result->totalNum;
             $this->data['topics'] = $oMbqRdEtForumTopic->returnApiArrDataForumTopic($result->datas);
         } else {
             $this->data['total_topic_num'] = 0;
             $this->data['result_text'] = $result;
         }
     } else {
         MbqError::alert('', $aclResult, '', MBQ_ERR_APP);
     }
 }
 /**
  * action implement
  */
 protected function actionImplement($in)
 {
     if (!MbqMain::$oMbqConfig->moduleIsEnable('forum')) {
         MbqError::alert('', "Not support module forum!", '', MBQ_ERR_NOT_SUPPORT);
     }
     $oMbqAclEtForum = MbqMain::$oClk->newObj('MbqAclEtForum');
     $oMbqRdEtForum = MbqMain::$oClk->newObj('MbqRdEtForum');
     $oMbqWrEtForum = MbqMain::$oClk->newObj('MbqWrEtForum');
     if (isset($in->forumId) && !empty($in->forumId)) {
         if ($oMbqEtForum = $oMbqRdEtForum->initOMbqEtForum($in->forumId, array('case' => 'byForumId'))) {
             $aclResult = $oMbqAclEtForum->canAclMarkAllAsRead($oMbqEtForum);
             if ($aclResult === true) {
                 $oMbqWrEtForum->markForumRead($oMbqEtForum);
             } else {
                 MbqError::alert('', $aclResult, '', MBQ_ERR_APP);
             }
         }
     } else {
         if ($oMbqAclEtForum->canAclMarkAllAsRead(null)) {
             $oMbqWrEtForum->markForumRead(null);
         } else {
             MbqError::alert('', '', '', MBQ_ERR_APP);
         }
     }
     $this->data['result'] = true;
 }
 /**
  * action implement
  */
 protected function actionImplement()
 {
     if (!MbqMain::$oMbqConfig->moduleIsEnable('forum')) {
         MbqError::alert('', "Not support module forum!", '', MBQ_ERR_NOT_SUPPORT);
     }
     $topicId = MbqMain::$input[0];
     $mode = (int) MbqMain::$input[1];
     if ($mode != 1 && $mode != 2) {
         MbqError::alert('', "Need valid mode!", '', MBQ_ERR_APP);
     }
     $oMbqRdEtForumTopic = MbqMain::$oClk->newObj('MbqRdEtForumTopic');
     if ($oMbqEtForumTopic = $oMbqRdEtForumTopic->initOMbqEtForumTopic($topicId, array('case' => 'byTopicId'))) {
         $oMbqAclEtForumTopic = MbqMain::$oClk->newObj('MbqAclEtForumTopic');
         if ($oMbqAclEtForumTopic->canAclMApproveTopic($oMbqEtForumTopic, $mode)) {
             //acl judge
             $oMbqWrEtForumTopic = MbqMain::$oClk->newObj('MbqWrEtForumTopic');
             $oMbqWrEtForumTopic->mApproveTopic($oMbqEtForumTopic, $mode);
             $this->data['result'] = true;
         } else {
             MbqError::alert('', '', '', MBQ_ERR_APP);
         }
     } else {
         MbqError::alert('', "Need valid topic id!", '', MBQ_ERR_APP);
     }
 }
Example #24
0
 /**
  * action implement
  */
 protected function actionImplement()
 {
     if (!MbqMain::$oMbqConfig->moduleIsEnable('forum')) {
         MbqError::alert('', "Not support module forum!", '', MBQ_ERR_NOT_SUPPORT);
     }
     $postId = MbqMain::$input[0];
     $oMbqRdEtForumPost = MbqMain::$oClk->newObj('MbqRdEtForumPost');
     if ($oMbqEtForumPost = $oMbqRdEtForumPost->initOMbqEtForumPost($postId, array('case' => 'byPostId'))) {
         $oMbqAclEtForumPost = MbqMain::$oClk->newObj('MbqAclEtForumPost');
         if ($oMbqAclEtForumPost->canAclSaveRawPost($oMbqEtForumPost)) {
             //acl judge
             $oMbqEtForumPost->postTitle->setOriValue(MbqMain::$input[1]);
             $oMbqEtForumPost->postContent->setOriValue(MbqMain::$input[2]);
             $returnHtml = (bool) MbqMain::$input[3];
             $prefixId = MbqMain::$input[4];
             $oMbqWrEtForumPost = MbqMain::$oClk->newObj('MbqWrEtForumPost');
             $oMbqWrEtForumPost->mdfMbqEtForumPost($oMbqEtForumPost, array('case' => 'edit'));
             $state = $oMbqEtForumPost->state->oriValue;
             //reload post
             if ($oMbqEtForumPost = $oMbqRdEtForumPost->initOMbqEtForumPost($oMbqEtForumPost->postId->oriValue, array('case' => 'byPostId'))) {
                 $this->data['result'] = true;
                 $data1 = $oMbqRdEtForumPost->returnApiDataForumPost($oMbqEtForumPost, $returnHtml);
                 MbqMain::$oMbqCm->mergeApiData($this->data, $data1);
                 $this->data['state'] = $state;
             } else {
                 MbqError::alert('', "Can not load modified post!", '', MBQ_ERR_APP);
             }
         } else {
             MbqError::alert('', '', '', MBQ_ERR_APP);
         }
     } else {
         MbqError::alert('', "Need valid post id!", '', MBQ_ERR_APP);
     }
 }
 /**
  * action implement
  */
 protected function actionImplement($in)
 {
     if (MbqMain::$oMbqConfig->moduleIsEnable('pc') && MbqMain::$oMbqConfig->getCfg('pc.conversation')->oriValue == MbqBaseFdt::getFdt('MbqFdtConfig.pc.conversation.range.support')) {
     } else {
         MbqError::alert('', "Not support module private conversation!", '', MBQ_ERR_NOT_SUPPORT);
     }
     $oMbqEtPcInviteParticipant = MbqMain::$oClk->newObj('MbqEtPcInviteParticipant');
     $oMbqEtPcInviteParticipant->userNames->setOriValue($in->usernames);
     $oMbqEtPcInviteParticipant->convId->setOriValue($in->conversationId);
     $oMbqEtPcInviteParticipant->inviteReasonText->setOriValue($in->reason);
     $oMbqRdEtPc = MbqMain::$oClk->newObj('MbqRdEtPc');
     if ($oMbqEtPcInviteParticipant->oMbqEtPc = $oMbqRdEtPc->initOMbqEtPc($oMbqEtPcInviteParticipant->convId->oriValue, array('case' => 'byConvId'))) {
         $oMbqRdEtUser = MbqMain::$oClk->newObj('MbqRdEtUser');
         foreach ($oMbqEtPcInviteParticipant->userNames->oriValue as $userName) {
             if ($oMbqEtUser = $oMbqRdEtUser->initOMbqEtUser($userName, array('case' => 'byLoginName'))) {
                 $oMbqEtPcInviteParticipant->objsMbqEtUser[] = $oMbqEtUser;
             }
         }
         $oMbqAclEtPc = MbqMain::$oClk->newObj('MbqAclEtPc');
         $aclResult = $oMbqAclEtPc->canAclInviteParticipant($oMbqEtPcInviteParticipant);
         if ($aclResult === true) {
             //acl judge
             $oMbqWrEtPc = MbqMain::$oClk->newObj('MbqWrEtPc');
             $oMbqWrEtPc->inviteParticipant($oMbqEtPcInviteParticipant);
             $this->data['result'] = true;
         } else {
             MbqError::alert('', $aclResult, '', MBQ_ERR_APP);
         }
     } else {
         MbqError::alert('', "Need valid conversation id!", '', MBQ_ERR_APP);
     }
 }
 /**
  * action implement
  */
 protected function actionImplement()
 {
     if (MbqMain::$oMbqConfig->moduleIsEnable('pc') && MbqMain::$oMbqConfig->getCfg('pc.conversation')->oriValue == MbqBaseFdt::getFdt('MbqFdtConfig.pc.conversation.range.support')) {
     } else {
         MbqError::alert('', "Not support module private conversation!", '', MBQ_ERR_NOT_SUPPORT);
     }
     $convId = MbqMain::$input[0];
     $startNum = (int) MbqMain::$input[1];
     $lastNum = (int) MbqMain::$input[2];
     $returnHtml = (bool) MbqMain::$input[3];
     $oMbqDataPage = MbqMain::$oClk->newObj('MbqDataPage');
     $oMbqDataPage->initByStartAndLast($startNum, $lastNum);
     $oMbqRdEtPc = MbqMain::$oClk->newObj('MbqRdEtPc');
     if ($objsMbqEtPc = $oMbqRdEtPc->getObjsMbqEtPc(array($convId), array('case' => 'byConvIds'))) {
         $oMbqEtPc = $objsMbqEtPc[0];
         $oMbqAclEtPc = MbqMain::$oClk->newObj('MbqAclEtPc');
         if ($oMbqAclEtPc->canAclGetConversation($oMbqEtPc)) {
             //acl judge
             $oMbqRdEtPcMsg = MbqMain::$oClk->newObj('MbqRdEtPcMsg');
             $oMbqDataPage = $oMbqRdEtPcMsg->getObjsMbqEtPcMsg($oMbqEtPc, array('case' => 'byPc', 'oMbqDataPage' => $oMbqDataPage));
             $this->data = $oMbqRdEtPc->returnApiDataPc($oMbqEtPc);
             $this->data['list'] = $oMbqRdEtPcMsg->returnApiArrDataPcMsg($oMbqDataPage->datas, $returnHtml);
             $oMbqWrEtPc = MbqMain::$oClk->newObj('MbqWrEtPc');
             /* mark pc read */
             $oMbqWrEtPc->markPcRead($oMbqEtPc);
         } else {
             MbqError::alert('', '', '', MBQ_ERR_APP);
         }
     } else {
         MbqError::alert('', "Need valid conversation id!", '', MBQ_ERR_APP);
     }
 }
 /**
  * action implement
  */
 protected function actionImplement($in)
 {
     if (!MbqMain::$oMbqConfig->moduleIsEnable('forum')) {
         MbqError::alert('', "Not support module forum!", '', MBQ_ERR_NOT_SUPPORT);
     }
     $oMbqRdEtAtt = MbqMain::$oClk->newObj('MbqRdEtAtt');
     $oMbqRdEtForum = MbqMain::$oClk->newObj('MbqRdEtForum');
     $oMbqEtForum = $oMbqRdEtForum->initOMbqEtForum($in->forumId, array('case' => 'byForumId'));
     if (($oMbqEtAtt = $oMbqRdEtAtt->initOMbqEtAtt($in->attId, array('case' => 'byAttId'))) && $oMbqEtForum) {
         $oMbqEtAtt->groupId->setOriValue($in->groupId);
         $oMbqAclEtAtt = MbqMain::$oClk->newObj('MbqAclEtAtt');
         $aclResult = $oMbqAclEtAtt->canAclRemoveAttachment($oMbqEtAtt, $oMbqEtForum);
         if ($aclResult === true) {
             //acl judge
             $oMbqWrEtAtt = MbqMain::$oClk->newObj('MbqWrEtAtt');
             $groupId = $oMbqWrEtAtt->deleteAttachment($oMbqEtAtt, $oMbqEtForum);
             $this->data['result'] = true;
             if (isset($groupId)) {
                 $this->data['group_id'] = $groupId;
             }
         } else {
             MbqError::alert('', $aclResult, '', MBQ_ERR_APP);
         }
     } else {
         MbqError::alert('', "Need valid attachment id or forum id!", '', MBQ_ERR_APP);
     }
 }
 /**
  * action implement
  */
 protected function actionImplement($in)
 {
     if (MbqMain::$oMbqConfig->moduleIsEnable('pc') && MbqMain::$oMbqConfig->getCfg('pc.conversation')->oriValue == MbqBaseFdt::getFdt('MbqFdtConfig.pc.conversation.range.support')) {
     } else {
         MbqError::alert('', "Not support module private conversation!", '', MBQ_ERR_NOT_SUPPORT);
     }
     $oMbqEtPc = MbqMain::$oClk->newObj('MbqEtPc');
     $oMbqEtPc->userNames->setOriValue($in->usernames);
     $oMbqEtPc->convTitle->setOriValue($in->subject);
     $oMbqEtPc->convContent->setOriValue($in->body);
     if (isset($in->attachmentIds)) {
         $oMbqEtPc->attachmentIdArray->setOriValue($in->attachmentIds);
     }
     if (isset($in->groupId)) {
         $oMbqEtPc->groupId->setOriValue($in->groupId);
     }
     $oMbqAclEtPc = MbqMain::$oClk->newObj('MbqAclEtPc');
     $aclResult = $oMbqAclEtPc->canAclNewConversation($oMbqEtPc);
     if ($aclResult === true) {
         //acl judge
         $oMbqWrEtPc = MbqMain::$oClk->newObj('MbqWrEtPc');
         $oMbqEtPc = $oMbqWrEtPc->addMbqEtPc($oMbqEtPc);
         $this->data['result'] = true;
         $this->data['conv_id'] = (string) $oMbqEtPc->convId->oriValue;
         $oMbqRdEtPcMsg = MbqMain::$oClk->newObj('MbqRdEtPcMsg');
         $oMbqEtPcMsg = $oMbqRdEtPcMsg->initOMbqEtPcMsg($oMbqEtPc, array('case' => 'byPcMsgId', 'pcMsgId' => $oMbqEtPc->firstMsgId->oriValue));
         $oTapatalkPush = new TapatalkPush();
         $oTapatalkPush->callMethod('doInternalPushNewConversation', array('oMbqEtPc' => $oMbqEtPc, 'oMbqEtPcMsg' => $oMbqEtPcMsg));
     } else {
         MbqError::alert('', $aclResult, '', MBQ_ERR_APP);
     }
 }
 /**
  * action implement
  */
 protected function actionImplement($in)
 {
     if (!MbqMain::$oMbqConfig->moduleIsEnable('pm')) {
         MbqError::alert('', "Not support module private message!", '', MBQ_ERR_NOT_SUPPORT);
     }
     $oMbqRdEtPm = MbqMain::$oClk->newObj('MbqRdEtPm');
     if ($oMbqEtPm = $oMbqRdEtPm->initOMbqEtPm($in->messageId, array('case' => 'byMsgId'))) {
         $oMbqAclEtPm = MbqMain::$oClk->newObj('MbqAclEtPm');
         $aclResult = $oMbqAclEtPm->canAclMarkPmUnread($oMbqEtPm);
         if ($aclResult === true) {
             //acl judge
             $oMbqWrEtPm = MbqMain::$oClk->newObj('MbqWrEtPm');
             $result = $oMbqWrEtPm->markPmUnread($oMbqEtPm);
             if ($result === true) {
                 $this->data['result'] = true;
             } else {
                 $this->data['result'] = false;
                 $this->data['result_text'] = $result;
             }
         } else {
             MbqError::alert('', $aclResult, '', MBQ_ERR_APP);
         }
     } else {
         MbqError::alert('', "Need valid private message id!", '', MBQ_ERR_APP);
     }
 }
 /**
  * action implement
  */
 protected function actionImplement()
 {
     if (MbqMain::$oMbqConfig->moduleIsEnable('pc') && MbqMain::$oMbqConfig->getCfg('pc.conversation')->oriValue == MbqBaseFdt::getFdt('MbqFdtConfig.pc.conversation.range.support')) {
     } else {
         MbqError::alert('', "Not support module private conversation!", '', MBQ_ERR_NOT_SUPPORT);
     }
     $oMbqEtPcMsg = MbqMain::$oClk->newObj('MbqEtPcMsg');
     $oMbqEtPcMsg->convId->setOriValue(MbqMain::$input[0]);
     $oMbqEtPcMsg->msgContent->setOriValue(MbqMain::$input[1]);
     $oMbqEtPcMsg->msgTitle->setOriValue(MbqMain::$input[2]);
     $oMbqRdEtPc = MbqMain::$oClk->newObj('MbqRdEtPc');
     if ($objsMbqEtPc = $oMbqRdEtPc->getObjsMbqEtPc(array($oMbqEtPcMsg->convId->oriValue), array('case' => 'byConvIds'))) {
         $oMbqEtPc = $objsMbqEtPc[0];
         $oMbqAclEtPcMsg = MbqMain::$oClk->newObj('MbqAclEtPcMsg');
         if ($oMbqAclEtPcMsg->canAclReplyConversation($oMbqEtPcMsg, $oMbqEtPc)) {
             $oMbqWrEtPcMsg = MbqMain::$oClk->newObj('MbqWrEtPcMsg');
             $oMbqWrEtPcMsg->addMbqEtPcMsg($oMbqEtPcMsg, $oMbqEtPc);
             $this->data['result'] = true;
             $this->data['msg_id'] = (string) $oMbqEtPcMsg->msgId->oriValue;
         } else {
             MbqError::alert('', '', '', MBQ_ERR_APP);
         }
     } else {
         MbqError::alert('', "Need valid conversation id!", '', MBQ_ERR_APP);
     }
 }