From ebf8b2e74b5034f2c085cc40287c780cf6d9f27a Mon Sep 17 00:00:00 2001 From: Taras Machyshyn Date: Fri, 7 Mar 2014 12:26:43 +0200 Subject: [PATCH] install changes --- .htaccess | 5 +++++ application/Espo/Core/Utils/Metadata.php | 24 +++++++++++++----------- install/core/SystemTest.php | 4 ++++ install/index.php | 6 ++---- install/js/install.js | 3 +-- 5 files changed, 25 insertions(+), 17 deletions(-) diff --git a/.htaccess b/.htaccess index 228ad3258f..b1516e7580 100644 --- a/.htaccess +++ b/.htaccess @@ -1,4 +1,9 @@ + +#SetEnv HTTP_MOD_REWRITE On +SetEnv ESPO_MR On + RewriteEngine On RewriteRule reset/?$ reset.html [QSA,L] + \ No newline at end of file diff --git a/application/Espo/Core/Utils/Metadata.php b/application/Espo/Core/Utils/Metadata.php index eace879d1c..deeae615f1 100644 --- a/application/Espo/Core/Utils/Metadata.php +++ b/application/Espo/Core/Utils/Metadata.php @@ -170,7 +170,7 @@ class Metadata $GLOBALS['log']->emergency('Metadata:getMetadata() - metadata unite file cannot be created'); } - $data = $this->setLanguage($data); + $data = $this->setLanguageFromConfig($data); } else if (file_exists($this->cacheFile)) { $data = $this->getFileManager()->getContents($this->cacheFile); @@ -189,21 +189,23 @@ class Metadata * @param array $data Meta * @return array $data */ - protected function setLanguage($data) + protected function setLanguageFromConfig($data) { + $entityList = array( + 'Settings', + 'Preferences', + ); + $languageList = $this->getConfig()->get('languageList'); $language = $this->getConfig()->get('language'); - if (isset($data['entityDefs']['Settings']['fields']['language'])) { - $data['entityDefs']['Settings']['fields']['language']['options'] = $languageList; - $data['entityDefs']['Settings']['fields']['language']['default'] = $language; + foreach ($entityList as $entityName) { + if (isset($data['entityDefs'][$entityName]['fields']['language'])) { + $data['entityDefs'][$entityName]['fields']['language']['options'] = $languageList; + $data['entityDefs'][$entityName]['fields']['language']['default'] = $language; + } } - - if (isset($data['entityDefs']['Preferences']['fields']['language'])) { - $data['entityDefs']['Preferences']['fields']['language']['options'] = $languageList; - $data['entityDefs']['Preferences']['fields']['language']['default'] = $language; - } - + return $data; } diff --git a/install/core/SystemTest.php b/install/core/SystemTest.php index 441f6ab034..22374854da 100644 --- a/install/core/SystemTest.php +++ b/install/core/SystemTest.php @@ -80,6 +80,10 @@ class SystemTest return true; } elseif (isset($_SERVER['IIS_UrlRewriteModule'])) { return true; + } elseif (getenv('ESPO_MR')=='On' ) { + echo true; + } elseif (isset($_SERVER['ESPO_MR'])) { + echo true; } return false; diff --git a/install/index.php b/install/index.php index 747baace22..3e1f983d07 100644 --- a/install/index.php +++ b/install/index.php @@ -15,22 +15,20 @@ $installer = new Installer(); // check if app was installed if ($installer->isInstalled() && !isset($_SESSION['install']['installProcess'])) { $url = "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; - $url = str_replace('install/', '', $url); - $url = str_replace('install', '', $url); + $url = preg_replace('/install\/?/', '', $url, 1); $url = strtok($url, '#'); $url = strtok($url, '?'); header("Location: {$url}"); exit; } else { + // double check if infinite loop $_SESSION['install']['installProcess'] = true; } $smarty->caching = false; $smarty->setTemplateDir('install/core/tpl'); - - // temp save all settings $ignore = array('desc', 'dbName', 'hostName', 'dbUserName', 'dbUserPass', 'dbDriver'); if (!empty($_REQUEST)) { diff --git a/install/js/install.js b/install/js/install.js index 5d1e188f83..163414a0d2 100644 --- a/install/js/install.js +++ b/install/js/install.js @@ -576,8 +576,7 @@ InstallScript.prototype.callbackChecking = function(data) { InstallScript.prototype.goToEspo = function() { var loc = window.location.href; - loc = loc.replace('install/', ''); - loc = loc.replace('install', ''); + loc = loc.replace(/install\/?/, ''); window.location.replace(loc); }