示例#1
0
 /**
  *
  * @see XenForo_ControllerPublic_Thread::actionAddReply()
  */
 public function actionAddReply()
 {
     $response = parent::actionAddReply();
     if ($response instanceof XenForo_ControllerResponse_Redirect) {
         $xenOptions = XenForo_Application::get('options');
         if ($xenOptions->th_moderateReplies_moderateMessage) {
             $message = $response->redirectMessage;
             if ($message instanceof XenForo_Phrase && $message->getPhraseName() == 'your_message_has_been_posted') {
                 $target = XenForo_Link::getCanonicalLinkPrefix() . XenForo_Link::convertUriToAbsoluteUri($response->redirectTarget);
                 $result = $this->parseRouteUrl($target);
                 if ($result) {
                     $match = $result['match'];
                     $controllerName = $match->getControllerName();
                     if ($controllerName == 'XenForo_ControllerPublic_Thread') {
                         $response->redirectMessage = new XenForo_Phrase('message_submitted_displayed_pending_approval');
                     } elseif ($controllerName == 'XenForo_ControllerPublic_Post') {
                         $post = $this->_getPostModel()->getPostById($result['params']['post_id']);
                         if ($post['message_state'] == 'moderated') {
                             $response->redirectMessage = new XenForo_Phrase('message_submitted_displayed_pending_approval');
                         }
                     }
                 }
             }
         }
     }
     return $response;
 }