Fixes for fixme comments on my r59655
[lhc/web/wiklou.git] / includes / api / ApiRollback.php
index 70d8035..b826c56 100644 (file)
@@ -37,7 +37,6 @@ class ApiRollback extends ApiBase {
        }
 
        public function execute() {
-               $this->getMain()->requestWriteMode();
                $params = $this->extractRequestParams();
 
                $titleObj = NULL;
@@ -66,20 +65,17 @@ class ApiRollback extends ApiBase {
                $details = null;
                $retval = $articleObj->doRollback($username, $summary, $params['token'], $params['markbot'], $details);
 
-               if(!empty($retval))
+               if($retval)
                        // We don't care about multiple errors, just report one of them
-                       $this->dieUsageMsg(current($retval));
-
-               $current = $target = $summary = NULL;
-               extract($details);
+                       $this->dieUsageMsg(reset($retval));
 
                $info = array(
                        'title' => $titleObj->getPrefixedText(),
-                       'pageid' => $current->getPage(),
-                       'summary' => $summary,
-                       'revid' => $titleObj->getLatestRevID(),
-                       'old_revid' => $current->getID(),
-                       'last_revid' => $target->getID()
+                       'pageid' => intval($details['current']->getPage()),
+                       'summary' => $details['summary'],
+                       'revid' => intval($details['newid']),
+                       'old_revid' => intval($details['current']->getID()),
+                       'last_revid' => intval($details['target']->getID())
                );
 
                $this->getResult()->addValue(null, $this->getModuleName(), $info);
@@ -87,6 +83,10 @@ class ApiRollback extends ApiBase {
 
        public function mustBePosted() { return true; }
 
+       public function isWriteMode() {
+               return true;
+       }
+
        public function getAllowedParams() {
                return array (
                        'title' => null,
@@ -101,7 +101,7 @@ class ApiRollback extends ApiBase {
                return array (
                        'title' => 'Title of the page you want to rollback.',
                        'user' => 'Name of the user whose edits are to be rolled back. If set incorrectly, you\'ll get a badtoken error.',
-                       'token' => 'A rollback token previously retrieved through prop=info',
+                       'token' => 'A rollback token previously retrieved through prop=revisions',
                        'summary' => 'Custom edit summary. If not set, default summary will be used.',
                        'markbot' => 'Mark the reverted edits and the revert as bot edits'
                );