mirror of
https://github.com/grocy/grocy.git
synced 2025-04-29 17:45:39 +00:00
46 lines
869 B
PHP
46 lines
869 B
PHP
<?php
|
|
|
|
namespace Grocy\Helpers;
|
|
|
|
class UrlManager
|
|
{
|
|
protected $BasePath;
|
|
|
|
public function ConstructUrl($relativePath, $isResource = false)
|
|
{
|
|
if (GROCY_DISABLE_URL_REWRITING === false || $isResource === true)
|
|
{
|
|
return rtrim($this->BasePath, '/') . $relativePath;
|
|
}
|
|
else // Is not a resource and URL rewriting is disabled
|
|
{
|
|
return rtrim($this->BasePath, '/') . '/index.php' . $relativePath;
|
|
}
|
|
|
|
}
|
|
|
|
public function __construct(string $basePath)
|
|
{
|
|
if ($basePath === '/')
|
|
{
|
|
$this->BasePath = $this->GetBaseUrl();
|
|
}
|
|
else
|
|
{
|
|
$this->BasePath = $basePath;
|
|
}
|
|
|
|
}
|
|
|
|
private function GetBaseUrl()
|
|
{
|
|
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false)
|
|
{
|
|
$_SERVER['HTTPS'] = 'on';
|
|
}
|
|
|
|
return (isset($_SERVER['HTTPS']) ? 'https' : 'http') . "://$_SERVER[HTTP_HOST]";
|
|
}
|
|
|
|
}
|