New helper ApiTestCase::setExpectedApiException()
[lhc/web/wiklou.git] / includes / specials / SpecialLockdb.php
index cb7eb36..fb04b90 100644 (file)
@@ -34,7 +34,7 @@ class SpecialLockdb extends FormSpecialPage {
        }
 
        public function doesWrites() {
-               return true;
+               return false;
        }
 
        public function requiresWrite() {
@@ -47,6 +47,9 @@ class SpecialLockdb extends FormSpecialPage {
                if ( !is_writable( dirname( $this->getConfig()->get( 'ReadOnlyFile' ) ) ) ) {
                        throw new ErrorPageError( 'lockdb', 'lockfilenotwritable' );
                }
+               if ( file_exists( $this->getConfig()->get( 'ReadOnlyFile' ) ) ) {
+                       throw new ErrorPageError( 'lockdb', 'databaselocked' );
+               }
        }
 
        protected function getFormFields() {
@@ -77,9 +80,9 @@ class SpecialLockdb extends FormSpecialPage {
                        return Status::newFatal( 'locknoconfirm' );
                }
 
-               MediaWiki\suppressWarnings();
+               Wikimedia\suppressWarnings();
                $fp = fopen( $this->getConfig()->get( 'ReadOnlyFile' ), 'w' );
-               MediaWiki\restoreWarnings();
+               Wikimedia\restoreWarnings();
 
                if ( false === $fp ) {
                        # This used to show a file not found error, but the likeliest reason for fopen()