/** * Handle the 'approvefile' action, defined for ApprovedRevs - * mark the revision as approved, log it, and show a message to * the user. */ public static function setFileAsApproved($action, $article) { // Return "true" if the call failed (meaning, pass on handling // of the hook to others), and "false" otherwise. if ($action != 'approvefile') { return true; } $title = $article->getTitle(); if (!ApprovedRevs::fileIsApprovable($title)) { return true; } if (!ApprovedRevs::userCanApprove($title)) { return true; } global $wgRequest; if (!$wgRequest->getCheck('ts') || !$wgRequest->getCheck('sha1')) { die('check query string'); return true; } $revisionID = $wgRequest->getVal('ts'); ApprovedRevs::setApprovedFileInDB($title, $wgRequest->getVal('ts'), $wgRequest->getVal('sha1')); global $wgOut; $wgOut->addHTML("\t\t" . Xml::element('div', array('class' => 'successbox'), wfMessage('approvedrevs-approvesuccess')->text()) . "\n"); $wgOut->addHTML("\t\t" . Xml::element('p', array('style' => 'clear: both')) . "\n"); // show the revision, instead of the history page $article->doPurge(); $article->view(); return false; }