added base URL to getCallingURL()
This commit is contained in:
parent
19ea7dd3dd
commit
4f04dcb48e
|
@ -1465,11 +1465,15 @@ function getDefaultLDAPErrorString($server) {
|
||||||
* Returns the URL under which the page was loaded.
|
* Returns the URL under which the page was loaded.
|
||||||
* This includes any GET parameters set.
|
* This includes any GET parameters set.
|
||||||
*
|
*
|
||||||
|
* @param $baseUrl base URL (e.g. http://www.example.com)
|
||||||
* @return String URL
|
* @return String URL
|
||||||
*/
|
*/
|
||||||
function getCallingURL() {
|
function getCallingURL($baseUrl = '') {
|
||||||
$url = null;
|
$url = null;
|
||||||
if (!empty($_SERVER['HTTP_HOST']) && !empty($_SERVER['REQUEST_URI'])) {
|
if (!empty($baseUrl) && !empty($_SERVER['REQUEST_URI'])) {
|
||||||
|
$url = $baseUrl . $_SERVER['REQUEST_URI'];
|
||||||
|
}
|
||||||
|
elseif (!empty($_SERVER['REQUEST_URI']) && !empty($_SERVER['HTTP_HOST'])) {
|
||||||
$proto = 'http://';
|
$proto = 'http://';
|
||||||
if (!empty($_SERVER['HTTPS']) && ($_SERVER['HTTPS'] != 'off')) {
|
if (!empty($_SERVER['HTTPS']) && ($_SERVER['HTTPS'] != 'off')) {
|
||||||
$proto = 'https://';
|
$proto = 'https://';
|
||||||
|
|
|
@ -19,7 +19,8 @@
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
include_once 'lam/lib/account.inc';
|
include_once __DIR__ . '/../../lib/account.inc';
|
||||||
|
include_once __DIR__ . '/../../lib/security.inc';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* LAMConfig test case.
|
* LAMConfig test case.
|
||||||
|
@ -88,4 +89,43 @@ class AccountTest extends PHPUnit_Framework_TestCase {
|
||||||
$this->assertEquals('', formatSecondsToShortFormat(''));
|
$this->assertEquals('', formatSecondsToShortFormat(''));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tests getCallingURL().
|
||||||
|
*/
|
||||||
|
function testGetCallingURL_noBaseUrl_noHost() {
|
||||||
|
$_SERVER['REQUEST_URI'] = '/test.php';
|
||||||
|
$_SERVER['HTTP_HOST'] = null;
|
||||||
|
$_SERVER['HTTP_REFERER'] = 'http://referrer/test.php';
|
||||||
|
$_SERVER['HTTPS'] = 'on';
|
||||||
|
$this->assertEquals('http://referrer/test.php', getCallingURL());
|
||||||
|
$_SERVER['HTTP_REFERER'] = null;
|
||||||
|
$this->assertNull(getCallingURL());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tests getCallingURL().
|
||||||
|
*/
|
||||||
|
function testGetCallingURL_noBaseUrl_host() {
|
||||||
|
$_SERVER['REQUEST_URI'] = '/test.php';
|
||||||
|
$_SERVER['HTTP_HOST'] = 'host';
|
||||||
|
$_SERVER['HTTP_REFERER'] = 'http://referrer/test.php';
|
||||||
|
$_SERVER['HTTPS'] = 'on';
|
||||||
|
$this->assertEquals('https://host/test.php', getCallingURL());
|
||||||
|
$_SERVER['HTTP_REFERER'] = null;
|
||||||
|
$this->assertEquals('https://host/test.php', getCallingURL());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tests getCallingURL().
|
||||||
|
*/
|
||||||
|
function testGetCallingURL_baseUrl_host() {
|
||||||
|
$_SERVER['REQUEST_URI'] = '/test.php';
|
||||||
|
$_SERVER['HTTP_HOST'] = 'host';
|
||||||
|
$_SERVER['HTTP_REFERER'] = 'http://referrer/test.php';
|
||||||
|
$_SERVER['HTTPS'] = 'on';
|
||||||
|
$this->assertEquals('http://base/test.php', getCallingURL('http://base'));
|
||||||
|
$_SERVER['HTTP_REFERER'] = null;
|
||||||
|
$this->assertEquals('http://base/test.php', getCallingURL('http://base'));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue