コード例 #1
0
 static function getDifferenceEngine($context, $result, &$rcTest)
 {
     if (class_exists('RCTest') && RCTest::isEnabled()) {
         if ($rcTest && $rcTest->isTestTime()) {
             $result = $rcTest->getResultParams();
             // okay, so let's blow away this cookie so that if
             // the test fails to load (RC Patrol bug) the user
             // isn't cut off from another test
             $rcTest->setTestActive(false);
         }
     }
     return new DifferenceEngine($context, RCPatrol::cleanOldId($result['old']), $result['new']);
 }
コード例 #2
0
function onDifferenceEngineMarkPatrolledLink($differenceEngine, &$markPatrolledLink, $rcid, $token)
{
    // Reuben: Include RC patrol/browsing opts when patrolling or skipping
    $req = $differenceEngine->getContext()->getRequest();
    $browseParams = Misc::getRecentChangesBrowseParams($req);
    if (!$browseParams['fromrc']) {
        $browseParams = array();
    }
    $nextToPatrol = ' <span class="patrolnextlink" style="display:none">' . htmlspecialchars(RCPatrol::getNextURLtoPatrol($rcid)) . '</span>';
    $markPatrolledLink = $nextToPatrol . ' <span class="patrollink">[' . Linker::linkKnown($differenceEngine->mNewPage, $differenceEngine->msg('markaspatrolleddiff')->escaped(), array(), array('action' => 'markpatrolled', 'rcid' => $rcid, 'token' => $token) + $browseParams) . '&nbsp;|&nbsp;' . Linker::linkKnown($differenceEngine->mNewPage, $differenceEngine->msg('skip')->escaped(), array('class' => 'patrolskip'), array('action' => 'markpatrolled', 'skip' => 1, 'rcid' => $rcid, 'token' => $token) + $browseParams) . ']</span>';
    return true;
}
コード例 #3
0
ファイル: RCPatrol.body.php プロジェクト: ErdemA/wikihow
 function execute($par)
 {
     global $wgRequest, $wgOut;
     $t = Title::newFromText($wgRequest->getVal('target'));
     $wgOut->setArticleBodyOnly(true);
     if ($wgRequest->getVal('action') == 'permalink') {
         $result = array();
         $result['title'] = $t;
         $result['rchi'] = $wgRequest->getVal('rchi');
         $result['rclo'] = $wgRequest->getVal('rclow');
         $result['rcid'] = $wgRequest->getVal('rcid');
         $result['old'] = $wgRequest->getVal('old');
         $result['new'] = $wgRequest->getVal('new');
         $result['vandal'] = $wgRequest->getVal('vandal');
         $result['rc_cur_id'] = $t->getArticleID();
         $result = RCPatrolData::getListofEditors($result);
         $wgOut->addHTML("<div id='articletitle' style='display:none;'><a href='{$t->getLocalURL()}'>{$t->getFullText()}</a></div>");
         $d = new DifferenceEngine($t, $wgRequest->getVal('oldid'), $wgRequest->getVal('diff'));
         $d->loadRevisionData();
         $wgOut->addHTML("<div id='rc_header' class='tool_header'>");
         $wgOut->addHTML(RCPatrol::getButtons($result, $d->mNewRev));
         $wgOut->addHTML("</div>");
         $d->showDiffPage();
         $wgOut->disable();
         $response['html'] = $wgOut->getHTML();
         print_r(json_encode($response));
         return;
     }
     $a = new Article($t);
     if (!$wgRequest->getVal('grabnext')) {
         if (class_exists('RCTest') && RCTest::isEnabled() && $wgRequest->getVal('rctest')) {
             // Don't do anything if it's a test
         } elseif (!$wgRequest->getVal('skip') && $wgRequest->getVal('action') == 'markpatrolled') {
             $a->markPatrolled();
         } elseif ($wgRequest->getVal('skip')) {
             // skip the article for now
             RCPatrol::skipArticle($t->getArticleID());
         }
     }
     $wgOut->clearHTML();
     $wgOut->redirect('');
     $result = RCPatrol::getNextArticleToPatrol($wgRequest->getVal('rcid'));
     $response = array();
     if ($result) {
         $rcTest = null;
         $testHtml = "";
         if (class_exists('RCTest') && RCTest::isEnabled()) {
             $rcTest = new RCTest();
             $testHtml = $rcTest->getTestHtml();
             /* Uncomment to debug rctest
             			$response['testtime'] = $rcTest->isTestTime() ? 1 : 0;
             			$response['totpatrol'] = $rcTest->getTotalPatrols();
             			$response['adjpatrol'] = $rcTest->getAdjustedPatrolCount();
             			global $wgCookiePrefix;
             			$response['testcookie'] = $_COOKIE[$wgCookiePrefix . '_rct_a'];
             			*/
         }
         $t = $result['title'];
         $wgOut->addHTML("<div id='bodycontents2'>");
         $titleText = RCTestStub::getTitleText($result, $rcTest);
         $wgOut->addHTML("<div id='articletitle' style='display:none;'>{$titleText}</div>");
         // Initialize the RCTest object. This is use to inject
         // tests into the RC Patrol queue.
         $d = RCTestStub::getDifferenceEngine($result, $rcTest);
         $d->loadRevisionData();
         $wgOut->addHTML("<div id='rc_header' class='tool_header'>");
         $wgOut->addHTML(RCPatrol::getButtons($result, $d->mNewRev, $rcTest));
         $wgOut->addHTML("</div>");
         $d->showDiffPage();
         $wgOut->addHtml($testHtml);
         $wgOut->addHTML("</div>");
         $response['unpatrolled'] = self::getUnpatrolledCount();
     } else {
         $wgOut->addWikiMsg('markedaspatrolledtext');
         $response['unpatrolled'] = self::getUnpatrolledCount();
     }
     $wgOut->disable();
     header('Vary: Cookie');
     $response['html'] = $wgOut->getHTML();
     print_r(json_encode($response));
     return;
 }