/** * * @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; }