]> git.wh0rd.org Git - tt-rss.git/commitdiff
rewrite relative urls for html5 audio source elements
authorAndrew Dolgov <noreply@fakecake.org>
Mon, 6 Mar 2017 06:20:58 +0000 (09:20 +0300)
committerAndrew Dolgov <noreply@fakecake.org>
Mon, 6 Mar 2017 06:20:58 +0000 (09:20 +0300)
include/functions2.php

index d68d1ecc3b2589d4ebfecae7274807e85d5e8728..34f027a5558354f43df562e7ef7222cb97c1fbbd 100644 (file)
                $ttrss_uses_https = parse_url(get_self_url_prefix(), PHP_URL_SCHEME) === 'https';
                $rewrite_base_url = $site_url ? $site_url : SELF_URL_PATH;
 
-               $entries = $xpath->query('(//a[@href]|//img[@src]|//video/source[@src])');
+               $entries = $xpath->query('(//a[@href]|//img[@src]|//video/source[@src]|//audio/source[@src])');
 
                foreach ($entries as $entry) {
 
                        if ($entry->hasAttribute('src')) {
                                $src = rewrite_relative_url($rewrite_base_url, $entry->getAttribute('src'));
 
-                               $extension = $entry->tagName == 'source' ? '.mp4' : '.png';
-                               $cached_filename = CACHE_DIR . '/images/' . sha1($src) . $extension;
+                               // check cache only for video and images for the time being
+                               if ($entry->nodeName == 'img' || ($entry->parentNode && $entry->parentNode->nodeName == "video")) {
 
-                               if (file_exists($cached_filename)) {
-                                       $src = get_self_url_prefix() . '/public.php?op=cached_image&hash=' . sha1($src) . $extension;
+                                       $extension = $entry->tagName == 'source' ? '.mp4' : '.png';
+                                       $cached_filename = CACHE_DIR . '/images/' . sha1($src) . $extension;
 
-                                       if ($entry->hasAttribute('srcset')) {
-                                               $entry->removeAttribute('srcset');
-                                       }
+                                       if (file_exists($cached_filename)) {
+                                               $src = get_self_url_prefix() . '/public.php?op=cached_image&hash=' . sha1($src) . $extension;
+
+                                               if ($entry->hasAttribute('srcset')) {
+                                                       $entry->removeAttribute('srcset');
+                                               }
 
-                                       if ($entry->hasAttribute('sizes')) {
-                                               $entry->removeAttribute('sizes');
+                                               if ($entry->hasAttribute('sizes')) {
+                                                       $entry->removeAttribute('sizes');
+                                               }
                                        }
                                }