X-Git-Url: http://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Finstaller%2FDatabaseUpdater.php;h=a5540dbb11cf1e1f18f4ce93b94acd56871eca8c;hb=dbca12bf93320af9df2972b607798f18c96dcb62;hp=6e0c37fd64098ecdd1154a53d57ae78c514209dc;hpb=c2837d4f285d87f3fc0e25e6176322c08255ce8d;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/installer/DatabaseUpdater.php b/includes/installer/DatabaseUpdater.php index 6e0c37fd64..a5540dbb11 100644 --- a/includes/installer/DatabaseUpdater.php +++ b/includes/installer/DatabaseUpdater.php @@ -897,6 +897,29 @@ abstract class DatabaseUpdater { return true; } + /** + * Set any .htaccess files or equivilent for storage repos + * + * Some zones (e.g. "temp") used to be public and may have been initialized as such + */ + public function setFileAccess() { + $repo = RepoGroup::singleton()->getLocalRepo(); + $zonePath = $repo->getZonePath( 'temp' ); + if ( $repo->getBackend()->directoryExists( array( 'dir' => $zonePath ) ) ) { + // If the directory was never made, then it will have the right ACLs when it is made + $status = $repo->getBackend()->secure( array( + 'dir' => $zonePath, + 'noAccess' => true, + 'noListing' => true + ) ); + if ( $status->isOK() ) { + $this->output( "Set the local repo temp zone container to be private.\n" ); + } else { + $this->output( "Failed to set the local repo temp zone container to be private.\n" ); + } + } + } + /** * Purge the objectcache table */ @@ -1035,6 +1058,31 @@ abstract class DatabaseUpdater { } } + /** + * Enable profiling table when it's turned on + */ + protected function doEnableProfiling() { + global $wgProfiler; + + if ( !$this->doTable( 'profiling' ) ) { + return true; + } + + $profileToDb = false; + if ( isset( $wgProfiler['output'] ) ) { + $out = $wgProfiler['output']; + if ( $out === 'db' ) { + $profileToDb = true; + } elseif( is_array( $out ) && in_array( 'db', $out ) ) { + $profileToDb = true; + } + } + + if ( $profileToDb && !$this->db->tableExists( 'profiling', __METHOD__ ) ) { + $this->applyPatch( 'patch-profiling.sql', false, 'Add profiling table' ); + } + } + /** * Rebuilds the localisation cache */