Example #1
0
 /**
  *
  * @param XenForo_ControllerPublic_Forum $controller
  */
 protected function _processJokePollCreate(XenForo_ControllerPublic_Forum $controller)
 {
     $jokePollInput = ThemeHouse_JokePoll_DataWriter_Helper_JokePoll::getJokePollInput($controller->getInput());
     $jokePollIds = ThemeHouse_JokePoll_DataWriter_Helper_JokePoll::getCurrentJokePollIds();
     if (isset($GLOBALS['XenForo_DataWriter_Discussion_Thread'])) {
         /* @var $threadWriter XenForo_DataWriter_Discussion_Thread */
         $threadWriter = $GLOBALS['XenForo_DataWriter_Discussion_Thread'];
         $forum = $threadWriter->getExtraData(XenForo_DataWriter_Discussion_Thread::DATA_FORUM);
     } else {
         $forumId = $controller->getInput()->filterSingle('node_id', XenForo_Input::UINT);
         $forumName = $controller->getInput()->filterSingle('node_name', XenForo_Input::STRING);
         $ftpHelper = $controller->getHelper('ForumThreadPost');
         // TODO: probably should cache $forum
         $forum = $ftpHelper->assertForumValidAndViewable($forumId ? $forumId : $forumName);
     }
     if ($this->getModelFromCache('XenForo_Model_Forum')->canMakeJokePollInForum($forum)) {
         if (isset($jokePollInput['first_choice']) && $jokePollInput['first_choice']) {
             $jokePollIds['first_choice'][] = $this->get('poll_id');
         }
         ThemeHouse_JokePoll_DataWriter_Helper_JokePoll::updateJokePollIdOptions($jokePollIds);
     }
 }
 /**
  * Creates the specified helper class.
  * If no underscore is present in the class
  * name, "XenForo_ControllerHelper_" is prefixed. Otherwise, a full class
  * name
  * is assumed.
  *
  * @param string $class Full class name, or partial suffix (if no
  * underscore)
  *
  * @return XenForo_ControllerHelper_Abstract
  */
 public function getHelper($class)
 {
     if ($class == "ForumThreadPost") {
         $class = 'ThemeHouse_SocialGroups_ControllerHelper_SocialCategory';
     }
     return parent::getHelper($class);
 }