From 7ead65b5dc48c477dc3dfe3b969b1e14bb9a1b79 Mon Sep 17 00:00:00 2001 From: vlakoff Date: Tue, 1 Apr 2014 02:09:25 +0200 Subject: Discard the unwanted changes --- system/core/Config.php | 13 ++++++++++--- 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) -- cgit v1.2.3-24-g4f1b