- Implemented the dark photo-based theme.
Moved all images to public/assets/images. Added darkened photography across heroes, specials, menu cards, authentication, story, checkout, and footer. Replaced placeholder branding with the supplied logo. Preserved configurable menu item images. Updated desktop and mobile styling for readable cream/gold text.
This commit is contained in:
+55
-3
@@ -8,7 +8,7 @@ final class Http
|
||||
{
|
||||
public static function redirect(string $path): never
|
||||
{
|
||||
header('Location: ' . $path);
|
||||
header('Location: ' . self::url($path));
|
||||
exit;
|
||||
}
|
||||
|
||||
@@ -46,8 +46,60 @@ final class Http
|
||||
public static function path(): string
|
||||
{
|
||||
$path = parse_url($_SERVER['REQUEST_URI'] ?? '/', PHP_URL_PATH);
|
||||
$path = is_string($path) ? rtrim($path, '/') : '/';
|
||||
$path = is_string($path) ? rawurldecode($path) : '/';
|
||||
$basePath = self::basePath();
|
||||
|
||||
if ($basePath !== '' && ($path === $basePath || str_starts_with($path, $basePath . '/'))) {
|
||||
$path = substr($path, strlen($basePath)) ?: '/';
|
||||
}
|
||||
|
||||
$path = '/' . ltrim($path, '/');
|
||||
$path = rtrim($path, '/');
|
||||
return $path === '' ? '/' : $path;
|
||||
}
|
||||
}
|
||||
|
||||
public static function url(string $path = '/'): string
|
||||
{
|
||||
if (
|
||||
preg_match('#^(?:[a-z][a-z0-9+.-]*:)?//#i', $path)
|
||||
|| str_starts_with($path, 'mailto:')
|
||||
|| str_starts_with($path, 'tel:')
|
||||
|| str_starts_with($path, '#')
|
||||
) {
|
||||
return $path;
|
||||
}
|
||||
|
||||
$basePath = self::basePath();
|
||||
$path = '/' . ltrim($path, '/');
|
||||
return ($basePath === '' ? '' : $basePath) . ($path === '/' ? '/' : $path);
|
||||
}
|
||||
|
||||
public static function basePath(): string
|
||||
{
|
||||
static $basePath;
|
||||
if (isset($basePath)) {
|
||||
return $basePath;
|
||||
}
|
||||
|
||||
$documentRoot = realpath((string) ($_SERVER['DOCUMENT_ROOT'] ?? ''));
|
||||
$applicationRoot = realpath(BASE_PATH);
|
||||
$publicRoot = realpath(BASE_PATH . '/public');
|
||||
|
||||
if ($documentRoot && $publicRoot && $documentRoot === $publicRoot) {
|
||||
return $basePath = '';
|
||||
}
|
||||
|
||||
if (
|
||||
$documentRoot
|
||||
&& $applicationRoot
|
||||
&& str_starts_with($applicationRoot . DIRECTORY_SEPARATOR, rtrim($documentRoot, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR)
|
||||
) {
|
||||
$relative = substr($applicationRoot, strlen(rtrim($documentRoot, DIRECTORY_SEPARATOR)));
|
||||
return $basePath = rtrim('/' . trim(str_replace(DIRECTORY_SEPARATOR, '/', $relative), '/'), '/');
|
||||
}
|
||||
|
||||
$script = str_replace('\\', '/', (string) ($_SERVER['SCRIPT_NAME'] ?? ''));
|
||||
$script = preg_replace('#/(?:public/)?index\.php$#', '', $script) ?? '';
|
||||
return $basePath = rtrim($script, '/');
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user