js assets loading

main
Robert 3 years ago
parent 8ea3221fdc
commit 6ba816c47f
  1. 10
      src/bootstrap/errors.php
  2. 24
      src/bootstrap/site_helper.php
  3. 7
      src/classes/assets.php
  4. 4
      src/classes/tag_matches.php
  5. 10
      src/templates/dev_error.php
  6. 12
      src/views/404.php
  7. 8
      src/views/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 = '<link rel="stylesheet" href="' . $assets . '/assets/uikit/css/uikit.gradient.min.css" type="text/css" media="all" />';
$assets = \tts\site_helper::get_asset("uikit/css/uikit.gradient.min.css");
$msg = '<link rel="stylesheet" href="' . $assets . '/uikit/css/uikit.gradient.min.css" type="text/css" media="all" />';
$msg .= '<div class="uk-alert uk-alert-danger">';
$msg .= $common_err;
$msg .= '</div>';
@ -298,10 +297,9 @@ function tts_custom_error_checker(): void {
}
} else {
$tts_project_base_ref = (defined("TTS_PROJECT_BASE_REF")) ? TTS_PROJECT_BASE_REF : "";
$assets = $tts_project_base_ref;
$assets = $assets = \tts\site_helper::get_asset("uikit/css/uikit.gradient.min.css");
$mini = '<link rel="stylesheet" href="' . $assets . '/assets/uikit/css/uikit.gradient.min.css" type="text/css" media="all" />';
$mini = '<link rel="stylesheet" href="' . $assets . '/uikit/css/uikit.gradient.min.css" type="text/css" media="all" />';
$mini .= "</head>\r\n<body>\r\n";
$mini .= '<div class="uk-alert uk-alert-danger">' . PHP_EOL;
$mini .= "{$a_errors['message']}, in file: {$a_errors['file']}, on line #{$a_errors['line']}.";

@ -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", '');
}

@ -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 "";
}

@ -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 = '<link rel="stylesheet" href="' . $assets . '/assets/uikit/css/uikit.gradient.min.css" type="text/css" media="all" />';
$assets = \tts\site_helper::get_asset("uikit/css/uikit.gradient.min.css");
$ui = '<link rel="stylesheet" href="' . $assets . '/uikit/css/uikit.gradient.min.css" type="text/css" media="all" />';
$ui .= '<div class="uk-alert uk-alert-danger"><b>';
$ui_end = '</b></div>';

@ -1,11 +1,15 @@
<?php
$prj_base = (defined("TTS_PROJECT_BASE_REF")) ? TTS_PROJECT_BASE_REF : "";
if (defined("PROJECT_ASSETS_BASE_REF")) {
$base_ref = PROJECT_ASSETS_BASE_REF;
} else {
$base_ref = "";
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<base href="<?= $prj_base ?>/"/>
<base href="<?= $base_ref ?>/">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="keywords" content="">
<meta name="description" content="">
@ -14,7 +18,7 @@ $prj_base = (defined("TTS_PROJECT_BASE_REF")) ? TTS_PROJECT_BASE_REF : "";
<meta name="robots" content="">
<meta name="copyright" content="2014-<?= date('Y'); ?>">
<title>DEV ERROR!</title>
<link rel="shortcut icon" href="favicon.ico">
<link rel="shortcut icon" href="<?= $base_ref ?>/favicon/favicon.ico">
</head>
<body id="my-page">

@ -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 = "";
}
?>
<html lang="en">
<head>
<meta charset="utf-8">
<base href="<?= $base_ref ?>/">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="language" content="english">
<meta name="robots" content="no-follow">
<link rel="shortcut icon" href="favicon.ico">
<link rel="shortcut icon" href="<?= $base_ref ?>/favicon/favicon.ico">
<title>404 Page not found!</title>
<style>
@media only screen and (max-width: 600px) {
@ -34,9 +40,9 @@
<body>
<div id="wrap">
<?php
$assets = TTS_PROJECT_BASE_REF;
$assets = \tts\site_helper::get_asset("images/404page.jpg");
?>
<img src="<?= $assets ?>/assets/images/404page.jpg" alt="Page not found." id="nopage"/>
<img src="<?= $assets ?>/images/404page.jpg" alt="Page not found." id="nopage"/>
<header><h1>404 Page not found!<h1></header>
<h3>Our apologies for the temporary inconvenience.</h3>
</div>

@ -8,16 +8,22 @@ if(! headers_sent()) {
header('Status: 503 Service Temporarily Unavailable');
header('Retry-After: ' . RETRY_AFTER);
}
if (defined("PROJECT_ASSETS_BASE_REF")) {
$base_ref = PROJECT_ASSETS_BASE_REF;
} else {
$base_ref = "";
}
?>
<html lang="en">
<head>
<meta charset="utf-8">
<base href="<?= $base_ref ?>/">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="author" content="Robert Strutts">
<meta name="language" content="english">
<meta name="robots" content="NOINDEX, NOFOLLOW">
<meta name="copyright" content="2014-<?php echo date('Y'); ?>">
<link rel="shortcut icon" href="favicon.ico">
<link rel="shortcut icon" href="<?= $base_ref ?>/favicon/favicon.ico">
<title>Sorry, we had an error...</title>
<style>

Loading…
Cancel
Save