|
|
|
|
@ -12,7 +12,12 @@ final class site_helper { |
|
|
|
|
private static $TESTING; |
|
|
|
|
private static $queryParams; |
|
|
|
|
private static $DEFAULT_PROJECT; |
|
|
|
|
private static $all_projects = []; |
|
|
|
|
|
|
|
|
|
public static function set_all_projects(array $projects): void { |
|
|
|
|
self::$all_projects = $projects; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public static function get_root(): string { |
|
|
|
|
return self::$ROOT; |
|
|
|
|
} |
|
|
|
|
@ -166,8 +171,9 @@ final class site_helper { |
|
|
|
|
$root = str_replace(self::$ROOT, "", $uri[0]); |
|
|
|
|
$routes = explode('/', trim($root, '/')); |
|
|
|
|
$project = $routes[0] ?? ""; |
|
|
|
|
self::set_project($project); |
|
|
|
|
array_shift($routes); // POP out the PRJ ROUTE!! |
|
|
|
|
if (self::set_project($project)) { |
|
|
|
|
array_shift($routes); // POP out the PRJ ROUTE!! |
|
|
|
|
} |
|
|
|
|
self::$ROUTE = implode('/', $routes); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -175,20 +181,15 @@ final class site_helper { |
|
|
|
|
* Note: using preg_replace here as |
|
|
|
|
* \tts\security::filter_class has not YET loaded! |
|
|
|
|
*/ |
|
|
|
|
private static function set_project(string $project): void { |
|
|
|
|
$default = preg_replace('/[^a-zA-Z0-9_]/', '', self::$DEFAULT_PROJECT); |
|
|
|
|
$folder = match ($project) { |
|
|
|
|
'/' => $default, |
|
|
|
|
'' => $default, |
|
|
|
|
'f' => 'final', |
|
|
|
|
'l' => 'live', |
|
|
|
|
'm' => 'mockup', |
|
|
|
|
'p' => 'prototype', |
|
|
|
|
'fun' => 'play', |
|
|
|
|
's' => 'staging', |
|
|
|
|
default => preg_replace('/[^a-zA-Z0-9_]/', '', $project) |
|
|
|
|
}; |
|
|
|
|
self::$PRJ = $folder; |
|
|
|
|
private static function set_project(string $project): bool { |
|
|
|
|
foreach(self::$all_projects as $project_name) { |
|
|
|
|
if ($project == $project_name) { |
|
|
|
|
self::$PRJ = preg_replace('/[^a-zA-Z0-9_]/', '', $project_name); |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
self::$PRJ = preg_replace('/[^a-zA-Z0-9_]/', '', self::$DEFAULT_PROJECT); |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public static function get_asset(string $file): string { |
|
|
|
|
@ -216,11 +217,8 @@ final class site_helper { |
|
|
|
|
self::set_params(); |
|
|
|
|
self::set_route(); |
|
|
|
|
|
|
|
|
|
if (empty(self::get_route())) { |
|
|
|
|
define('PROJECT_ASSETS_BASE_REF', ''); |
|
|
|
|
} else { |
|
|
|
|
define('PROJECT_ASSETS_BASE_REF', "/assets/" . self::$PRJ); |
|
|
|
|
} |
|
|
|
|
define('PROJECT_ASSETS_BASE_REF', "/assets/" . self::$PRJ); |
|
|
|
|
define('ASSETS_BASE_REF', "/assets/"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public static function set_project_namespace() { |
|
|
|
|
@ -230,19 +228,11 @@ final class site_helper { |
|
|
|
|
$up_one = dirname(self::$ROOT, 1); |
|
|
|
|
$project = self::$PRJ; |
|
|
|
|
|
|
|
|
|
if (!empty(self::get_route())) { |
|
|
|
|
define('TTS_SITE_URL', self::tts_site_url()); |
|
|
|
|
define('TTS_PROJECT_BASE_REF', TTS_SITE_URL . $project); |
|
|
|
|
define("TTS_BROWSER", \tts\safer_io::get_clean_server_var('HTTP_USER_AGENT')); |
|
|
|
|
define("PROJECT_ASSETS_DIR", $up_one . "/public/assets/" . $project); |
|
|
|
|
} else { |
|
|
|
|
// Web Server URI not found |
|
|
|
|
define('TTS_PROTOCOL', ''); |
|
|
|
|
define('TTS_SITE_URL', ''); |
|
|
|
|
define('TTS_PROJECT_BASE_REF', ''); |
|
|
|
|
define("TTS_BROWSER", ''); |
|
|
|
|
define("PROJECT_ASSETS_DIR", ''); |
|
|
|
|
} |
|
|
|
|
define('TTS_SITE_URL', self::tts_site_url()); |
|
|
|
|
define('TTS_PROJECT_BASE_REF', TTS_SITE_URL . $project); |
|
|
|
|
define("TTS_BROWSER", \tts\safer_io::get_clean_server_var('HTTP_USER_AGENT')); |
|
|
|
|
define("PROJECT_ASSETS_DIR", $up_one . "/public/assets/" . $project); |
|
|
|
|
define("ASSETS_DIR", $up_one . "/public/assets/"); |
|
|
|
|
|
|
|
|
|
\tts\site_helper::do_load_all_files(); |
|
|
|
|
} |
|
|
|
|
|