}
public function execute() {
- $this->getMain()->requestWriteMode();
$params = $this->extractRequestParams();
$titleObj = NULL;
$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);
public function mustBePosted() { return true; }
+ public function isWriteMode() {
+ return true;
+ }
+
public function getAllowedParams() {
return array (
'title' => null,
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'
);