diff --git a/src/bootstrap/errors.php b/src/bootstrap/errors.php
index 2a38193..ed24dd8 100644
--- a/src/bootstrap/errors.php
+++ b/src/bootstrap/errors.php
@@ -252,9 +252,8 @@ function tts_exception_handler(\Throwable $exception) {
tts_json_error_handler($err);
- $tts_project_base_ref = (defined("TTS_PROJECT_BASE_REF")) ? TTS_PROJECT_BASE_REF : "";
- $assets = $tts_project_base_ref;
- $msg = '';
+ $assets = \tts\site_helper::get_asset("uikit/css/uikit.gradient.min.css");
+ $msg = '';
$msg .= '
' . PHP_EOL;
$mini .= "{$a_errors['message']}, in file: {$a_errors['file']}, on line #{$a_errors['line']}.";
diff --git a/src/bootstrap/site_helper.php b/src/bootstrap/site_helper.php
index 942c4c7..8ebafdc 100644
--- a/src/bootstrap/site_helper.php
+++ b/src/bootstrap/site_helper.php
@@ -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", '');
}
diff --git a/src/classes/assets.php b/src/classes/assets.php
index 52a6d36..033696a 100644
--- a/src/classes/assets.php
+++ b/src/classes/assets.php
@@ -79,6 +79,11 @@ final class assets {
$tts = self::is_minified($path, $file);
return ($tts !== false) ? PROJECT_ASSETS_BASE_REF . "/" . $tts : false;
}
+ if ($scope === 'assets') {
+ $path = dirname(\tts\site_helper::get_root(), 1) . "/public/assets/";
+ $tts = self::is_minified($path, $file);
+ return ($tts !== false) ? "/assets/" . $tts : false;
+ }
return $file;
}
/**
@@ -93,6 +98,8 @@ final class assets {
return "";
} else if ($scope === 'project' || $scope === 'app') {
$path = PROJECT_ASSETS_DIR . "/";
+ } else if ($scope === 'assets') {
+ $path = dirname(\tts\site_helper::get_root(), 1) . "/public/assets/";
} else {
return "";
}
diff --git a/src/classes/tag_matches.php b/src/classes/tag_matches.php
index 8492872..995b5ff 100644
--- a/src/classes/tag_matches.php
+++ b/src/classes/tag_matches.php
@@ -18,8 +18,8 @@ public static function check_tags(string $page): array {
$l_page = \tts\common::string_to_lowercase($page);
unset($page);
- $assets = TTS_PROJECT_BASE_REF;
- $ui = '
';
+ $assets = \tts\site_helper::get_asset("uikit/css/uikit.gradient.min.css");
+ $ui = '
';
$ui .= '
';
$ui_end = '
';
diff --git a/src/templates/dev_error.php b/src/templates/dev_error.php
index d46c7f7..ad42885 100644
--- a/src/templates/dev_error.php
+++ b/src/templates/dev_error.php
@@ -1,11 +1,15 @@
-
+
@@ -14,7 +18,7 @@ $prj_base = (defined("TTS_PROJECT_BASE_REF")) ? TTS_PROJECT_BASE_REF : "";
DEV ERROR!
-
+
diff --git a/src/views/404.php b/src/views/404.php
index c382579..368c105 100644
--- a/src/views/404.php
+++ b/src/views/404.php
@@ -7,14 +7,20 @@
header( "{$protocol} 404 Not Found", true, 404 );
header('Content-type: text/html; charset=utf-8');
+ if (defined("PROJECT_ASSETS_BASE_REF")) {
+ $base_ref = PROJECT_ASSETS_BASE_REF;
+ } else {
+ $base_ref = "";
+ }
?>
+
-
+
404 Page not found!