From cac7372f3337b2b648d030e14171db6608560099 Mon Sep 17 00:00:00 2001 From: Daniel Hensby Date: Wed, 17 Jul 2013 15:12:16 +0100 Subject: [PATCH] FIX Config settings returned to normal after publishing completes When calling this function onAfterWrite of a DO, the site theme was used to render the CMS form. This fix corrects that by restoring all the config options that are changed --- code/extensions/FilesystemPublisher.php | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/code/extensions/FilesystemPublisher.php b/code/extensions/FilesystemPublisher.php index 3ed58b2..e32b3b7 100644 --- a/code/extensions/FilesystemPublisher.php +++ b/code/extensions/FilesystemPublisher.php @@ -160,6 +160,9 @@ class FilesystemPublisher extends StaticPublisher { public function publishPages($urls) { $result = array(); + //nest the config so we can make changes to the config and revert easily + Config::nest(); + // Do we need to map these? // Detect a numerically indexed arrays if (is_numeric(join('', array_keys($urls)))) $urls = $this->urlsToPaths($urls); @@ -181,7 +184,6 @@ class FilesystemPublisher extends StaticPublisher { // Ensure that the theme that is set gets used. Config::inst()->update('SSViewer', 'theme_enabled', true); - $currentBaseURL = Director::baseURL(); $staticBaseUrl = Config::inst()->get('FilesystemPublisher', 'static_base_url'); if($staticBaseUrl) { @@ -207,10 +209,6 @@ class FilesystemPublisher extends StaticPublisher { 'redirect' => null, 'path' => null ); - - if($staticBaseUrl) { - Config::inst()->update('Director', 'alternate_base_url', $staticBaseUrl); - } $i++; @@ -334,13 +332,8 @@ class FilesystemPublisher extends StaticPublisher { }*/ } - if(Config::inst()->get('FilesystemPublisher', 'static_base_url')) { - Config::inst()->update('Director', 'alternate_base_url', $currentBaseURL); - } - - if($this->fileExtension == 'php') { - Config::inst()->update('SSViewer', 'rewrite_hash_links', true); - } + //return config to its previous state + Config::unnest(); $base = BASE_PATH . "/$this->destFolder";