Exemplo n.º 1
0
 /**
  * EXECUTE
  **/
 function execute($par = '')
 {
     global $wgOut, $wgRequest, $wgHooks, $wgCanonical, $wgSquidMaxage;
     if ($wgRequest->getVal('otherquizzesfor')) {
         $others = self::getOtherQuizzes($wgRequest->getVal('otherquizzesfor'));
         $wgOut->disable();
         print_r(json_encode($others));
         return;
     }
     $quiz = preg_replace('@-@', ' ', $par);
     wfLoadExtensionMessages('Quizzes');
     //no side bar
     $wgHooks['ShowSideBar'][] = array('Quizzes::removeSideBarCallback');
     //no head section
     $wgHooks['ShowHeadSection'][] = array('Quizzes::removeHeadSectionCallback');
     //make a custom canonical url
     self::$quizURL = wfExpandUrl(self::$quizURL . $par);
     $wgHooks['GetFullURL'][] = array('Quizzes::getCanonicalUrl');
     //page title
     $page_title = wfMsg('quiz_pagetitle') . ' ' . wfMsg('howto', $quiz);
     $wgOut->setHTMLTitle(wfMsg('pagetitle', $page_title));
     //css & js for quizzes
     $wgOut->addHeadItem('quiz_css', HtmlSnips::makeUrlTags('css', array('quizzes.css'), 'extensions/wikihow/quizzes', false));
     $wgOut->addScript(HtmlSnips::makeUrlTags('js', array('quizzes.js'), 'extensions/wikihow/quizzes', false));
     //$wgOut->addScript(HtmlSnips::makeUrlTags('js', array('interstitialCookie.js'), 'extensions/wikihow/wikihowAds', false));
     $html = $this->displayContainer($par);
     if (!$html) {
         //nothin'
         $wgOut->setStatusCode(404);
         $html = '<p>' . wfMsg('quiz-no-quiz-err') . '</p>';
     } else {
         //http caching headers
         $wgOut->setSquidMaxage($wgSquidMaxage);
         //meta tags
         $wgOut->addMeta('description', 'Test yourself on How to ' . $quiz . ' with a fun and challenging quiz from wikiHow. See how well you score.');
         $wgOut->setRobotPolicy('index,follow');
     }
     $wgOut->addHTML($html);
 }