diff --git a/src/Application.php b/src/Application.php index f4ea1a27..3dbfc896 100644 --- a/src/Application.php +++ b/src/Application.php @@ -64,6 +64,8 @@ class Application extends ApplicationBase private $mailerInstance = null; + private $startupTime = 0; + /** * Constructor, called by ApplicationBase::start() which also passes the arguments through. * @param null|string $configFile @@ -71,6 +73,7 @@ class Application extends ApplicationBase */ public function __construct(?string $configFile = null, bool $debug = false) { + $this->startupTime = microtime(true); parent::__construct(); $this->debugMode = $debug; $this->configInstance = new ConfigManager($configFile); @@ -82,6 +85,11 @@ class Application extends ApplicationBase ); } + public function getTimeSinceStart(): float + { + return microtime(true) - $this->startupTime; + } + /** * Gets instance of the config manager. * @return ConfigManager @@ -287,6 +295,7 @@ class Application extends ApplicationBase $this->templatingInstance->addFilter('colour_get_blue'); $this->templatingInstance->addFilter('parse_line'); $this->templatingInstance->addFilter('parse_text'); + $this->templatingInstance->addFilter('asset_url'); $this->templatingInstance->addFunction('git_commit_hash'); $this->templatingInstance->addFunction('git_branch'); diff --git a/utility.php b/utility.php index c682735d..ddf608dc 100644 --- a/utility.php +++ b/utility.php @@ -44,6 +44,17 @@ function check_mx_record(string $email): bool return checkdnsrr($domain, 'MX') || checkdnsrr($domain, 'A'); } +function asset_url(string $path): string +{ + $realPath = realpath(__DIR__ . '/public/' . $path); + + if ($realPath === false) { + return $path; + } + + return $path . '?' . filemtime($realPath); +} + function dechex_pad(int $value, int $padding = 2): string { return str_pad(dechex($value), $padding, '0', STR_PAD_LEFT); diff --git a/views/manage/master.twig b/views/manage/master.twig index 8450e2e3..e360b44e 100644 --- a/views/manage/master.twig +++ b/views/manage/master.twig @@ -4,8 +4,8 @@ {{ globals.site_name|default('The') }} Broom Closet - - + + @@ -72,7 +72,7 @@ {% endif %} - + +