diff options
author | fox <[email protected]> | 2020-03-12 10:18:59 +0000 |
---|---|---|
committer | Gogs <[email protected]> | 2020-03-12 10:18:59 +0000 |
commit | 82326187f9f9265699ac3f3c5fd20015de2616a3 (patch) | |
tree | 74f04d7d6ef6fa1347557b9982d51d8b3f6bb80f /classes/diskcache.php | |
parent | 208e02c47d086b67f1431a9e09c76a8129ac8939 (diff) | |
parent | ec1b0befc7664683ca0a7df48e65b16b72058cd1 (diff) |
Merge branch 'cache_videos_with_src_and_poster' of lllusion3418/tt-rss into master
Diffstat (limited to 'classes/diskcache.php')
-rw-r--r-- | classes/diskcache.php | 25 |
1 files changed, 11 insertions, 14 deletions
diff --git a/classes/diskcache.php b/classes/diskcache.php index 7e4a8335d..ba6aef858 100644 --- a/classes/diskcache.php +++ b/classes/diskcache.php @@ -89,30 +89,27 @@ class DiskCache { $xpath = new DOMXPath($doc); $cache = new DiskCache("images"); - $entries = $xpath->query('(//img[@src]|//picture/source[@src]|//video[@poster]|//video/source[@src]|//audio/source[@src])'); + $entries = $xpath->query('(//img[@src]|//picture/source[@src]|//video[@poster]|//video[@src]|//video/source[@src]|//audio/source[@src])'); $need_saving = false; foreach ($entries as $entry) { - if ($entry->hasAttribute('src') || $entry->hasAttribute('poster')) { + foreach (array('src', 'poster') as $attr) { + if ($entry->hasAttribute($attr)) { + // should be already absolutized because this is called after sanitize() + $src = $entry->getAttribute($attr); + $cached_filename = sha1($src); - // should be already absolutized because this is called after sanitize() - $src = $entry->hasAttribute('poster') ? $entry->getAttribute('poster') : $entry->getAttribute('src'); - $cached_filename = sha1($src); + if ($cache->exists($cached_filename)) { - if ($cache->exists($cached_filename)) { + $src = $cache->getUrl(sha1($src)); - $src = $cache->getUrl(sha1($src)); - - if ($entry->hasAttribute('poster')) - $entry->setAttribute('poster', $src); - else { - $entry->setAttribute('src', $src); + $entry->setAttribute($attr, $src); $entry->removeAttribute("srcset"); - } - $need_saving = true; + $need_saving = true; + } } } } |