diff options
-rw-r--r-- | app/Core/Helper.php | 6 | ||||
-rw-r--r-- | tests/units/HelperTest.php | 17 |
2 files changed, 23 insertions, 0 deletions
diff --git a/app/Core/Helper.php b/app/Core/Helper.php index 740ff7c2..0650c293 100644 --- a/app/Core/Helper.php +++ b/app/Core/Helper.php @@ -515,6 +515,12 @@ class Helper */ public function getCurrentBaseUrl() { + $application_url = $this->config->get('application_url'); + + if (! empty($application_url)) { + return $application_url; + } + $self = str_replace('\\', '/', dirname($_SERVER['PHP_SELF'])); $url = Request::isHTTPS() ? 'https://' : 'http://'; diff --git a/tests/units/HelperTest.php b/tests/units/HelperTest.php index 8694e8a2..57d1940a 100644 --- a/tests/units/HelperTest.php +++ b/tests/units/HelperTest.php @@ -3,6 +3,7 @@ require_once __DIR__.'/Base.php'; use Core\Helper; +use Model\Config; class HelperTest extends Base { @@ -30,4 +31,20 @@ class HelperTest extends Base ) ); } + + public function testGetCurrentBaseUrl() + { + $h = new Helper($this->container); + + $_SERVER['PHP_SELF'] = '/'; + $_SERVER['SERVER_NAME'] = 'localhost'; + $_SERVER['SERVER_PORT'] = 1234; + + $this->assertEquals('http://localhost:1234/', $h->getCurrentBaseUrl()); + + $c = new Config($this->container); + $c->save(array('application_url' => 'https://mykanboard/')); + $this->assertEquals('https://mykanboard/', $c->get('application_url')); + $this->assertEquals('https://mykanboard/', $h->getCurrentBaseUrl()); + } } |