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"); }
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"); }
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(); }