From a30b9bb649d6e10a5d7c2feb73376669cf23ef68 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Thu, 24 Nov 2022 23:31:33 +0300 Subject: rework favicon storage to use DiskCache --- classes/cache/adapter.php | 1 + classes/cache/local.php | 9 ++++++--- 2 files changed, 7 insertions(+), 3 deletions(-) (limited to 'classes/cache') diff --git a/classes/cache/adapter.php b/classes/cache/adapter.php index 514a14685..fecfc7667 100644 --- a/classes/cache/adapter.php +++ b/classes/cache/adapter.php @@ -21,6 +21,7 @@ interface Cache_Adapter { public function put(string $filename, $data); public function get(string $filename): ?string; public function get_full_path(string $filename): string; + public function remove(string $filename) : bool; /** * @return false|null|string false if detection failed, null if the file doesn't exist, string mime content type otherwise */ diff --git a/classes/cache/local.php b/classes/cache/local.php index fb8aed529..d7d0c5cb1 100644 --- a/classes/cache/local.php +++ b/classes/cache/local.php @@ -2,12 +2,18 @@ class Cache_Local implements Cache_Adapter { private string $dir; + public function remove(string $filename): bool { + return unlink($this->get_full_path($filename)); + } + public function get_mtime(string $filename) { return filemtime($this->get_full_path($filename)); } public function set_dir(string $dir) : void { $this->dir = Config::get(Config::CACHE_DIR) . "/" . basename(clean($dir)); + + $this->make_dir(); } public function get_dir(): string { @@ -131,9 +137,6 @@ class Cache_Local implements Cache_Adapter { if ($tmppluginhost->run_hooks_until(PluginHost::HOOK_SEND_LOCAL_FILE, true, $filename)) return true; - $stamp = gmdate("D, d M Y H:i:s", (int)filemtime($filename)) . " GMT"; - header("Last-Modified: $stamp", true); - return readfile($filename); } else { return false; -- cgit v1.2.3