コード例 #1
0
ファイル: Rating.body.php プロジェクト: biribogos/wikihow-src
 function execute($par)
 {
     global $wgOut, $wgUser, $wgRequest, $wgLang;
     $err = "";
     $target = isset($par) ? $par : $wgRequest->getVal('target');
     $restore = $wgRequest->getVal('restore', null);
     $sk = $wgUser->getSkin();
     $wgOut->setHTMLTitle('Clear Ratings - Accuracy Patrol');
     $type = $wgRequest->getVal('type', 'article');
     $rateItem = new RateItem();
     $ratingTool = $rateItem->getRatingTool($type);
     if ($ratingTool) {
         $t = $ratingTool->makeTitle($target);
     }
     if ($t == '') {
         $wgOut->addHTML(wfMsg('clearratings_notitle'));
         $this->addClearForm($target, $type, $err);
         return;
     }
     $me = SpecialPage::getTitleFor('Clearratings', $target);
     if ($wgUser->getID() == 0) {
         return;
     }
     if ($wgRequest->wasPosted()) {
         // clearing ratings
         $clearId = $wgRequest->getVal('clearId', null);
         if ($clearId != null) {
             $ratingTool->clearRatings($clearId, $wgUser);
             $wgOut->addHTML(wfMsg('clearratings_clear_finished') . "<br/><br/>");
         }
     }
     if ($restore != null && $wgRequest->getVal('reason', null) == null) {
         //ask why the user wants to resotre
         $tmpl = new EasyTemplate(dirname(__FILE__));
         $tmpl->set_vars(array('postUrl' => $me->getFullURL(), 'params' => $_GET));
         $wgOut->addHTML($tmpl->execute('restore.tmpl.php'));
         return;
     } else {
         if ($restore != null) {
             $user = $wgRequest->getVal('user');
             $page = $wgRequest->getVal('page');
             $reason = $wgRequest->getVal('reason');
             $u = User::newFromId($user);
             $up = $u->getUserPage();
             $hi = $wgRequest->getVal('hi');
             $low = $wgRequest->getVal('low');
             $count = $ratingTool->getUnrestoredCount($page);
             $ratingTool->restore($page, $user, $hi, $low);
             $wgOut->addHTML("<br/><br/>" . wfMsg('clearratings_clear_restored', $sk->makeLinkObj($up, $u->getName()), $when) . "<br/><br/>");
             // add the log entry
             $ratingTool->logRestore($page, $low, $hi, $reason, $count);
         }
     }
     if ($target != null && $type != null) {
         $id = $ratingTool->getId($t);
         if ($id === 0) {
             $err = wfMsg('clearratings_no_such_title', $target);
         } else {
             if ($type == "article" && $t->getNamespace() != NS_MAIN) {
                 $err = wfMsg('clearratings_only_main', $target);
             } else {
                 // clearing info
                 $ratingTool->showClearingInfo($t, $id, $me, $target);
                 $ap = Title::makeTitle(NS_SPECIAL, "AccuracyPatrol");
                 $wgOut->addHTML($sk->makeLinkObj($ap, "Return to accuracy patrol"));
             }
         }
     }
     $this->addClearForm($target, $type, $err);
 }
コード例 #2
0
<?php

require_once 'commandLine.inc';
global $wgUser;
$user = $wgUser;
$wgUser = User::newFromName('MiscBot');
$ratingType = $argv[0];
if ($ratingType == null || $ratingType != "article" && $ratingType != "sample") {
    echo "You must choose to reset sample or article ratings.\n";
    return;
}
echo "Are you sure you want to reset all ratings for {$ratingType}s? This cannot be undone. (y/n)\n";
$response = trim(fgets(STDIN));
if ($response != "y") {
    return;
}
$ratingTool = RateItem::getRatingTool($ratingType);
wfLoadExtensionMessages('RateItem');
$items = $ratingTool->getAllRatedItems();
foreach ($items as $id) {
    $ratingTool->clearRatings($id, $wgUser, 'Resetting all ratings');
    if ($ratingType == "sample") {
        $ratingTool->deleteRatingReason($id);
    }
}
echo "Ratings have been reset for all " . count($items) . " {$ratingType}s\n";
$wgUser = $user;
コード例 #3
0
ファイル: Rating.body.php プロジェクト: ErdemA/wikihow
 function execute($par)
 {
     if ($par == NULL) {
         $ratingTool = RateItem::getRatingTool('article');
     } else {
         $ratingTool = RateItem::getRatingTool($par);
     }
     $ratingTool->showListRatings();
 }