示例#1
0
 function execute()
 {
     global $wgServer, $wgRequest, $wgOut, $wgUser, $wgLanguageCode;
     wfLoadExtensionMessages('RCPatrol');
     $userGroups = $wgUser->getGroups();
     if (!$wgUser->isAllowed('patrol') || in_array('patrolblock', $userGroups)) {
         $wgOut->showErrorPage('nosuchspecialpage', 'nospecialpagetext');
         return;
     }
     if ($wgRequest->getVal('a') == 'rollback') {
         self::doRollback();
         return;
     }
     self::setActiveWidget();
     // INTL: Leaderboard is across the user database so we'll just enable for English at the moment
     if ($wgLanguageCode == 'en') {
         self::setLeaderboard();
     }
     $wgOut->addJScode('rcpj');
     $wgOut->addCSScode('rcpc');
     $wgOut->addHTML(QuickNoteEdit::displayQuickEdit() . QuickNoteEdit::displayQuickNote());
     $result = self::getNextArticleToPatrol();
     if ($result) {
         $rcTest = null;
         $testHtml = "";
         if (class_exists('RCTest') && RCTest::isEnabled()) {
             $rcTest = new RCTest();
             $testHtml = $rcTest->getTestHtml();
         }
         $wgOut->addHTML("<div id='rct_results'></div>");
         $wgOut->addHTML("<div id='bodycontents2' class='tool sticky'>");
         $titleText = RCTestStub::getTitleText($result, $rcTest);
         $wgOut->addHTML("<div id='articletitle' style='display:none;'>{$titleText}</div>");
         $wgOut->addHTML("<div id='rc_header' class='tool_header'>");
         $wgOut->addHTML('<a href="#" id="rcpatrol_keys">Get Shortcuts</a>');
         // if this was a redirect, the title may have changed so update our context
         $oldTitle = $this->getContext()->getTitle();
         $this->getContext()->setTitle($result['title']);
         $d = RCTestStub::getDifferenceEngine($this->getContext(), $result, $rcTest);
         $d->loadRevisionData();
         $this->getContext()->setTitle($oldTitle);
         $wgOut->addHTML(RCPatrol::getButtons($result, $d->mNewRev, $rcTest));
         $wgOut->addHTML('<div id="rcpatrol_info" style="display:none;">' . wfMessage('rcpatrol_keys')->text() . '</div>');
         $wgOut->addHTML("</div>");
         //end too_header
         $d->showDiffPage();
         $wgOut->addHTML($testHtml);
         $wgOut->addHTML("</div>");
     } else {
         $wgOut->addWikiMsg('markedaspatrolledtext');
     }
     $wgOut->setPageTitle("RC Patrol");
 }
示例#2
0
 function execute()
 {
     global $wgServer, $wgRequest, $wgOut, $wgUser, $wgLanguageCode;
     wfLoadExtensionMessages('RCPatrol');
     $wgOut->addScript(HtmlSnips::makeUrlTags('js', array('mousetrap.min.js'), 'extensions/wikihow/common', false));
     $userGroups = $wgUser->getGroups();
     if (!$wgUser->isAllowed('patrol') || in_array('patrolblock', $userGroups)) {
         $wgOut->errorpage('nosuchspecialpage', 'nospecialpagetext');
         return;
     }
     self::setActiveWidget();
     // INTL: Leaderboard is across the user database so we'll just enable for English at the moment
     if ($wgLanguageCode == 'en') {
         self::setLeaderboard();
     }
     $html = '';
     $html .= HtmlSnips::makeUrlTags('js', array('rcpatrol.js'), 'extensions/wikihow/rcpatrol', false);
     // useful for debugging:
     //$html .= '<script src="/extensions/wikihow/rcpatrol/rcpatrol.js"></script>';
     $html .= HtmlSnips::makeUrlTags('css', array('rcpatrol.css'), 'extensions/wikihow/rcpatrol', false);
     $wgOut->addHTML($html);
     $wgOut->addHTML(QuickNoteEdit::displayQuickEdit() . QuickNoteEdit::displayQuickNote());
     $result = self::getNextArticleToPatrol();
     if ($result) {
         $rcTest = null;
         $testHtml = "";
         if (class_exists('RCTest') && RCTest::isEnabled()) {
             $rcTest = new RCTest();
             $testHtml = $rcTest->getTestHtml();
         }
         $wgOut->addHTML("<div id='rct_results'></div>");
         $wgOut->addHTML("<div id='bodycontents2' class='tool sticky'>");
         $titleText = RCTestStub::getTitleText($result, $rcTest);
         $wgOut->addHTML("<div id='articletitle' style='display:none;'>{$titleText}</div>");
         $wgOut->addHTML("<div id='rc_header' class='tool_header'>");
         $d = RCTestStub::getDifferenceEngine($result, $rcTest);
         $d->loadRevisionData();
         $wgOut->addHTML(RCPatrol::getButtons($result, $d->mNewRev, $rcTest));
         $wgOut->addHTML("</div>");
         //end too_header
         $d->showDiffPage();
         $wgOut->addHTML($testHtml);
         $wgOut->addHTML("</div>");
     } else {
         $wgOut->addWikiMsg('markedaspatrolledtext');
     }
     $wgOut->setPageTitle("RC Patrol");
 }
示例#3
0
 function execute($par)
 {
     global $wgUser, $wgOut, $wgRequest;
     if ($wgUser->isBlocked()) {
         $wgOut->blockedPage();
         return;
     }
     if ($wgUser->getID() == 0) {
         $wgOut->setRobotpolicy('noindex,nofollow');
         $wgOut->errorpage('nosuchspecialpage', 'nospecialpagetext');
         return;
     }
     wfLoadExtensionMessages("QG");
     if ($wgRequest->getVal('fetchInnards')) {
         $wgOut->disable();
         header('Vary: Cookie');
         $result = self::getNextInnards($wgRequest->getVal('qc_type'), $wgRequest->getVal('by_username'));
         print_r(json_encode($result));
         return;
     } elseif ($wgRequest->getVal('getOptions')) {
         $wgOut->setArticleBodyOnly(true);
         $wgOut->addHTML(self::getOptionMenu($wgRequest->getVal('menuName'), $wgRequest->getVal('choices'), $wgRequest->getVal('username')));
         return;
     } elseif ($wgRequest->getVal('getVoteBlock')) {
         $wgOut->setArticleBodyOnly(true);
         $wgOut->addHTML(self::getVoteBlock($wgRequest->getVal('qc_id')));
         return;
     } elseif ($wgRequest->wasPosted()) {
         if ($wgRequest->getVal('qc_skip', 0) == 1) {
             QCRule::skip($wgRequest->getVal('qc_id'));
         } else {
             QCRule::vote($wgRequest->getVal('qc_id'), $wgRequest->getVal('qc_vote'));
         }
         $wgOut->disable();
         $result = self::getNextInnards($wgRequest->getVal('qc_type'), $wgRequest->getVal('by_username'));
         header('Vary: Cookie');
         print_r(json_encode($result));
         return;
     }
     /** 
      * This is the shell of the page, has the buttons, etc. 
      */
     $wgOut->setHTMLTitle('Quality Guardian');
     $wgOut->addScript("<script type='text/javascript' src='" . wfGetPad('/extensions/min/f/extensions/wikihow/qc/qc.js?rev=') . WH_SITEREV . "'></script>");
     $wgOut->addStyle('/extensions/min/f/extensions/wikihow/qc/qc.css?rev=' . WH_SITEREV);
     $wgOut->addStyle(wfGetPad('/skins/common/diff.css?' . WH_SITEREV));
     $wgOut->addHTML(QuickNoteEdit::displayQuickEdit() . QuickNoteEdit::displayQuickNote(true));
     $wgOut->setHTMLTitle(wfMsg('quality_control'));
     $wgOut->setPageTitle(wfMsg('quality_control'));
     // add standings widget
     $group = new QCStandingsGroup();
     $indi = new QCStandingsIndividual();
     $indi->addStatsWidget();
     $group->addStandingsWidget();
 }