|
|
|
|
@ -191,6 +191,22 @@ final class site_helper { |
|
|
|
|
self::$PRJ = $folder; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public static function get_asset(string $file): string { |
|
|
|
|
// Do not allow : in safe_file!!! a-z0-9._ |
|
|
|
|
$safe_file = preg_replace('/[^a-zA-Z0-9._]/', '', $file); |
|
|
|
|
if (strpos($safe_file, "..") !== false) { |
|
|
|
|
return "/assets/"; // Too dangerous to pass into file_exists! |
|
|
|
|
} |
|
|
|
|
if (empty(self::get_route())) { |
|
|
|
|
return "/assets/"; |
|
|
|
|
} |
|
|
|
|
$up_one = dirname(self::$ROOT, 1); |
|
|
|
|
if (file_exists($up_one . "/public/assets/" . self::$PRJ . "/" . $file)) { |
|
|
|
|
return "/assets/" . self::$PRJ; |
|
|
|
|
} |
|
|
|
|
return "/assets/"; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public static function init(string $ROOT, string $REQUEST_URI, string $REQUEST_METHOD, bool $testing = false) { |
|
|
|
|
self::$ROOT = $ROOT; |
|
|
|
|
self::$REQUEST_URI = $REQUEST_URI; |
|
|
|
|
@ -199,6 +215,12 @@ 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); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public static function set_project_namespace() { |
|
|
|
|
@ -212,7 +234,6 @@ final class site_helper { |
|
|
|
|
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_BASE_REF', "/assets/" . $project); |
|
|
|
|
define("PROJECT_ASSETS_DIR", $up_one . "/public/assets/" . $project); |
|
|
|
|
} else { |
|
|
|
|
// Web Server URI not found |
|
|
|
|
@ -220,7 +241,6 @@ final class site_helper { |
|
|
|
|
define('TTS_SITE_URL', ''); |
|
|
|
|
define('TTS_PROJECT_BASE_REF', ''); |
|
|
|
|
define("TTS_BROWSER", ''); |
|
|
|
|
define('PROJECT_ASSETS_BASE_REF', ''); |
|
|
|
|
define("PROJECT_ASSETS_DIR", ''); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|