Adding function for checking if the database is in readonly mode
authorJohn Du Hart <johnduhart@users.mediawiki.org>
Tue, 15 Nov 2011 01:19:04 +0000 (01:19 +0000)
committerJohn Du Hart <johnduhart@users.mediawiki.org>
Tue, 15 Nov 2011 01:19:04 +0000 (01:19 +0000)
Replacing some code in SpecialPageForm to use these new functions

includes/SpecialPage.php

index 7d51021..1c092da 100644 (file)
@@ -521,6 +521,18 @@ class SpecialPage {
                }
        }
 
+       /**
+        * If the wiki is currently in readonly mode, throws a ReadOnlyError
+        *
+        * @since 1.19
+        * @throws ReadOnlyError
+        */
+       public function checkReadOnly() {
+               if ( wfReadOnly() ) {
+                       throw new ReadOnlyError;
+               }
+       }
+
        /**
         * Sets headers - this should be called from the execute() method of all derived classes!
         */
@@ -816,13 +828,11 @@ abstract class FormSpecialPage extends SpecialPage {
         * @throws ErrorPageError
         */
        protected function checkExecutePermissions( User $user ) {
-               if ( $this->requiresWrite() && wfReadOnly() ) {
-                       throw new ReadOnlyError();
+               if ( $this->requiresWrite() ) {
+                       $this->checkReadOnly();
                }
 
-               if ( !$this->userCanExecute( $this->getUser() ) ) {
-                       throw new PermissionsError( $this->getRestriction() );
-               }
+               $this->checkPermissions();
 
                if ( $this->requiresUnblock() && $user->isBlocked() ) {
                        $block = $user->mBlock;