r25719 MediaWiki - Code Review archive

Repository:MediaWiki
Revision:r25718‎ | r25719 | r25720 >
Date:07:48, 10 September 2007
Author:werdna
Status:old
Tags:
Comment:
* (bug 8759) Fixed bug where rollback was allowed on protected pages for wikis where rollback is given to non-sysops.
* Replace rollback permissions error messages with the new variety.
Modified paths:
  • /trunk/phase3/RELEASE-NOTES (modified) (history)
  • /trunk/phase3/includes/Article.php (modified) (history)

Diff [purge]

Index: trunk/phase3/includes/Article.php
@@ -2188,8 +2188,10 @@
21892189 public function doRollback( $fromP, $summary, $token, $bot, &$resultDetails ) {
21902190 global $wgUser, $wgUseRCPatrol;
21912191 $resultDetails = null;
2192 -
2193 - if( $wgUser->isAllowed( 'rollback' ) ) {
 2192+
 2193+ # Just in case it's being called from elsewhere
 2194+
 2195+ if( $wgUser->isAllowed( 'rollback' ) && $this->mTitle->userCan( 'edit' ) ) {
21942196 if( $wgUser->isBlocked() ) {
21952197 return self::BLOCKED;
21962198 }
@@ -2200,6 +2202,7 @@
22012203 if ( wfReadOnly() ) {
22022204 return self::READONLY;
22032205 }
 2206+
22042207 if( !$wgUser->matchEditToken( $token, array( $this->mTitle->getPrefixedText(), $fromP ) ) )
22052208 return self::BAD_TOKEN;
22062209
@@ -2282,6 +2285,17 @@
22832286 global $wgUser, $wgOut, $wgRequest, $wgUseRCPatrol;
22842287
22852288 $details = null;
 2289+
 2290+ # Skip the permissions-checking in doRollback() itself, by checking permissions here.
 2291+
 2292+ $perm_errors = array_merge( $this->mTitle->getUserPermissionsErrors( 'edit', $wgUser ),
 2293+ $this->mTitle->getUserPermissionsErrors( 'rollback', $wgUser ) );
 2294+
 2295+ if (count($perm_errors)) {
 2296+ $wgOut->showPermissionsErrorPage( $perm_errors );
 2297+ return;
 2298+ }
 2299+
22862300 $result = $this->doRollback(
22872301 $wgRequest->getVal( 'from' ),
22882302 $wgRequest->getText( 'summary' ),
Index: trunk/phase3/RELEASE-NOTES
@@ -38,6 +38,8 @@
3939 message, the level of protection.
4040 * (bug 9611) Supply the blocker and reason for the cantcreateaccounttext
4141 message.
 42+* (bug 8759) Fixed bug where rollback was allowed on protected pages for wikis
 43+ where rollback is given to non-sysops.
4244
4345 === API changes in 1.12 ===
4446

Follow-up revisions

RevisionCommit summaryAuthorDate
r25754Merged revisions 25607-25751 via svnmerge from...david23:02, 10 September 2007

Status & tagging log