diff options
author | wn_ <[email protected]> | 2022-12-20 02:03:46 +0000 |
---|---|---|
committer | wn_ <[email protected]> | 2022-12-20 02:16:47 +0000 |
commit | 8b129626cd2c10a26c505b104a0f403656782ce0 (patch) | |
tree | 5fbcb15542e14f33e7d0404b8b154c7a0330abe2 /classes/cache/local.php | |
parent | c6d21b31965b28e2b3b86f42a97289c3ee95fa28 (diff) |
Only touch on send for expirable cache files.
With d373b7b452c6d64b47180940ed88c99c21bd9bc3 feed icon modification times get used for cache-busting, but 'Cache_Local' updates that
value on each send. This change makes it so the modification time only gets updated on files in expirable caches, keeping the value
consistent between sends for files in non-expiring caches.
Also, marking 'Cache_Local::send_local_file()' private since it's unique to that adapter.
Diffstat (limited to 'classes/cache/local.php')
-rw-r--r-- | classes/cache/local.php | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/classes/cache/local.php b/classes/cache/local.php index d7d0c5cb1..8ac634a3e 100644 --- a/classes/cache/local.php +++ b/classes/cache/local.php @@ -124,10 +124,12 @@ class Cache_Local implements Cache_Adapter { * * @return bool|int false if the file doesn't exist (or unreadable) or isn't audio/video, true if a plugin handled, otherwise int of bytes sent */ - function send_local_file(string $filename) { + private function send_local_file(string $filename) { if (file_exists($filename)) { - if (is_writable($filename)) touch($filename); + if (is_writable($filename) && !$this->exists('.no-auto-expiry')) { + touch($filename); + } $tmppluginhost = new PluginHost(); |