diff options
author | vlakoff <vlakoff@gmail.com> | 2014-04-01 02:09:25 +0200 |
---|---|---|
committer | vlakoff <vlakoff@gmail.com> | 2014-04-01 02:09:25 +0200 |
commit | 7ead65b5dc48c477dc3dfe3b969b1e14bb9a1b79 (patch) | |
tree | cf1297b535bd9b328caa7b883750ddb99b1e7bc0 | |
parent | 3802d7006726451362c9ebd31302d8d6992dd4d5 (diff) |
Discard the unwanted changes
-rw-r--r-- | system/core/Config.php | 13 | ||||
-rw-r--r-- | tests/codeigniter/core/Config_test.php | 8 |
2 files changed, 17 insertions, 4 deletions
diff --git a/system/core/Config.php b/system/core/Config.php index 41367d353..ad0e5f981 100644 --- a/system/core/Config.php +++ b/system/core/Config.php @@ -76,9 +76,16 @@ class CI_Config { // Set the base_url automatically if none was provided if (empty($this->config['base_url'])) { - $base_url = (is_https() ? 'https' : 'http').'://' - .(isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : 'localhost') - .substr($_SERVER['SCRIPT_NAME'], 0, -strlen(basename($_SERVER['SCRIPT_NAME']))); + if (isset($_SERVER['HTTP_HOST'])) + { + $base_url = (is_https() ? 'https' : 'http') + .'://'.$_SERVER['HTTP_HOST'] + .substr($_SERVER['SCRIPT_NAME'], 0, -strlen(basename($_SERVER['SCRIPT_NAME']))); + } + else + { + $base_url = 'http://localhost/'; + } $this->set_item('base_url', $base_url); } diff --git a/tests/codeigniter/core/Config_test.php b/tests/codeigniter/core/Config_test.php index 81401e3ce..2c28a639c 100644 --- a/tests/codeigniter/core/Config_test.php +++ b/tests/codeigniter/core/Config_test.php @@ -67,6 +67,13 @@ class Config_test extends CI_TestCase { // Clear base_url $this->ci_set_config('base_url', ''); + // Rerun constructor + $cls =& $this->ci_core_class('cfg'); + $this->config = new $cls; + + // Test default base + $this->assertEquals('http://localhost/', $this->config->base_url()); + // Capture server vars $old_host = isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : NULL; $old_script = isset($_SERVER['SCRIPT_NAME']) ? $_SERVER['SCRIPT_NAME'] : NULL; @@ -80,7 +87,6 @@ class Config_test extends CI_TestCase { $_SERVER['SCRIPT_NAME'] = $path.$script; // Rerun constructor - $cls =& $this->ci_core_class('cfg'); $this->config = new $cls; // Test plain detected (root) |