mirror of
https://github.com/FreshRSS/FreshRSS.git
synced 2026-10-20 10:14:33 -04:00
Merge pull request #915 from marienfressinaud/906-fix-getBaseUrl
Fix getBaseUrl behaviour
This commit is contained in:
commit
d2caf4349c
3 files changed
+32
-17
No files matched your search
@@ -22,6 +22,7 @@
|
||||
* Changed some log visibilities. [#885](https://github.com/FreshRSS/FreshRSS/issues/885)
|
||||
* Fix broken links for extension script / style files. [#862](https://github.com/FreshRSS/FreshRSS/issues/862)
|
||||
* Load default configuration during installation to avoid hard-coded values. [#890](https://github.com/FreshRSS/FreshRSS/issues/890)
|
||||
* Fix non-consistent behaviour in Minz_Request::getBaseUrl() and introduce Minz_Request::guessBaseUrl(). [#906](https://github.com/FreshRSS/FreshRSS/issues/906)
|
||||
|
||||
|
||||
## 2015-05-31 FreshRSS 1.1.1 (beta)
|
||||
|
||||
+28
-17
@@ -85,26 +85,37 @@ class Minz_Request {
|
||||
}
|
||||
|
||||
/**
|
||||
* Détermine la base de l'url
|
||||
* @return la base de l'url
|
||||
* Try to guess the base URL from $_SERVER information
|
||||
*
|
||||
* @return the base url (e.g. http://example.com/)
|
||||
*/
|
||||
public static function getBaseUrl($baseUrlSuffix = '') {
|
||||
$conf = Minz_Configuration::get('system');
|
||||
$url = $conf->base_url;
|
||||
if ($url == '' || !preg_match('%^https?://%i', $url)) {
|
||||
$url = 'http';
|
||||
$host = empty($_SERVER['HTTP_HOST']) ? $_SERVER['SERVER_NAME'] : $_SERVER['HTTP_HOST'];
|
||||
$port = empty($_SERVER['SERVER_PORT']) ? 80 : $_SERVER['SERVER_PORT'];
|
||||
if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on') {
|
||||
$url .= 's://' . $host . ($port == 443 ? '' : ':' . $port);
|
||||
} else {
|
||||
$url .= '://' . $host . ($port == 80 ? '' : ':' . $port);
|
||||
}
|
||||
$url .= isset($_SERVER['REQUEST_URI']) ? dirname($_SERVER['REQUEST_URI']) : '';
|
||||
public static function guessBaseUrl() {
|
||||
$url = 'http';
|
||||
$host = empty($_SERVER['HTTP_HOST']) ? $_SERVER['SERVER_NAME'] : $_SERVER['HTTP_HOST'];
|
||||
$port = empty($_SERVER['SERVER_PORT']) ? 80 : $_SERVER['SERVER_PORT'];
|
||||
if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on') {
|
||||
$url .= 's://' . $host . ($port == 443 ? '' : ':' . $port);
|
||||
} else {
|
||||
$url = rtrim($url, '/\\') . $baseUrlSuffix;
|
||||
$url .= '://' . $host . ($port == 80 ? '' : ':' . $port);
|
||||
}
|
||||
return filter_var($url . '/', FILTER_SANITIZE_URL);
|
||||
if (isset($_SERVER['REQUEST_URI'])) {
|
||||
$path = $_SERVER['REQUEST_URI'];
|
||||
$url .= substr($path, -1) === '/' ? substr($path, 0, -1) : dirname($path);
|
||||
}
|
||||
|
||||
return filter_var($url, FILTER_SANITIZE_URL);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the base_url from configuration and add a suffix if given.
|
||||
*
|
||||
* @param $base_url_suffix a string to add at base_url (default: empty string)
|
||||
* @return the base_url with a suffix.
|
||||
*/
|
||||
public static function getBaseUrl($base_url_suffix = '') {
|
||||
$conf = Minz_Configuration::get('system');
|
||||
$url = rtrim($conf->base_url, '/\\') . $base_url_suffix;
|
||||
return filter_var($url, FILTER_SANITIZE_URL);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -25,6 +25,9 @@ class Minz_Url {
|
||||
|
||||
if ($absolute) {
|
||||
$url_string = Minz_Request::getBaseUrl(PUBLIC_TO_INDEX_PATH);
|
||||
if ($url_string === PUBLIC_TO_INDEX_PATH) {
|
||||
$url_string = Minz_Request::guessBaseUrl();
|
||||
}
|
||||
} else {
|
||||
$url_string = $isArray ? '.' : PUBLIC_RELATIVE;
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user