diff options
author | Max Kostikov <max@kostikov.co> | 2018-12-03 13:10:55 +0100 |
---|---|---|
committer | Max Kostikov <max@kostikov.co> | 2018-12-03 13:10:55 +0100 |
commit | 57ebd7e1704597b1eea31610cd08c076ea7473cf (patch) | |
tree | f0952f852675a3ce30970ccbf175c1826ace42a0 | |
parent | c165894ce97b353f5fe81a59708e0ea62268f773 (diff) | |
download | volse-hubzilla-57ebd7e1704597b1eea31610cd08c076ea7473cf.tar.gz volse-hubzilla-57ebd7e1704597b1eea31610cd08c076ea7473cf.tar.bz2 volse-hubzilla-57ebd7e1704597b1eea31610cd08c076ea7473cf.zip |
New logic for less dependence on cache logic
-rw-r--r-- | Zotlabs/Module/Photo.php | 27 |
1 files changed, 12 insertions, 15 deletions
diff --git a/Zotlabs/Module/Photo.php b/Zotlabs/Module/Photo.php index d85db7307..da5d4c39b 100644 --- a/Zotlabs/Module/Photo.php +++ b/Zotlabs/Module/Photo.php @@ -139,7 +139,7 @@ class Photo extends \Zotlabs\Web\Controller { $resolution = 1; } - $r = q("SELECT uid, photo_usage, expires, display_path FROM photo WHERE resource_id = '%s' AND imgscale = %d LIMIT 1", + $r = q("SELECT uid, photo_usage, display_path FROM photo WHERE resource_id = '%s' AND imgscale = %d LIMIT 1", dbesc($photo), intval($resolution) ); @@ -156,20 +156,17 @@ class Photo extends \Zotlabs\Web\Controller { if(! in_array($resolution,[4,5,6])) $allowed = (-1); if($u === PHOTO_CACHE) { - // Cached image leak protection - if(! (local_channel() || $cache_mode['leak'])) { - header("Location: " . $r[0]['display_path']); - killme(); - } - // Revalidate cache - if($cache_mode['on'] && strtotime($r[0]['expires']) - 60 < time()) { - $cache = array( - 'url' => $r[0]['display_path'], - 'uid' => $r[0]['uid'] - ); + // Validate cache + $cache = array( + 'resid' => $photo, + 'uid' => $r[0]['uid'], + 'status' => true + ); + if($cache_mode['on']) call_hooks('cache_url_hook', $cache); - if(! $cache['status']) - http_status_exit(404,'not found'); + if((! (local_channel() || $cache_mode['leak'])) || (! $cache['status'])) { + header("Location: " . htmlspecialchars_decode($r[0]['display_path'])); + killme(); } } } @@ -184,7 +181,7 @@ class Photo extends \Zotlabs\Web\Controller { dbesc($photo), intval($resolution) ); - + $exists = (($e) ? true : false); if($exists && $allowed) { |