Merge "Update documentation"
[lhc/web/wiklou.git] / includes / installer / DatabaseUpdater.php
index 4f1da70..41cbf50 100644 (file)
@@ -88,6 +88,11 @@ abstract class DatabaseUpdater {
         */
        protected $skipSchema = false;
 
+       /**
+        * Hold the value of $wgContentHandlerUseDB during the upgrade.
+        */
+       protected $holdContentHandlerUseDB = true;
+
        /**
         * Constructor
         *
@@ -1032,4 +1037,30 @@ abstract class DatabaseUpdater {
                $cl->execute();
                $this->output( "done.\n" );
        }
+
+       /**
+        * Turns off content handler fields during parts of the upgrade
+        * where they aren't available.
+        */
+       protected function disableContentHandlerUseDB() {
+               global $wgContentHandlerUseDB;
+
+               if( $wgContentHandlerUseDB ) {
+                       $this->output( "Turning off Content Handler DB fields for this part of upgrade.\n" );
+                       $this->holdContentHandlerUseDB = $wgContentHandlerUseDB;
+                       $wgContentHandlerUseDB = false;
+               }
+       }
+
+       /**
+        * Turns content handler fields back on.
+        */
+       protected function enableContentHandlerUseDB() {
+               global $wgContentHandlerUseDB;
+
+               if( $this->holdContentHandlerUseDB ) {
+                       $this->output( "Content Handler DB fields should be usable now.\n" );
+                       $wgContentHandlerUseDB = $this->holdContentHandlerUseDB;
+               }
+       }
 }