From f66576f366462c5d1e98e0ba4eacea9911c85eee Mon Sep 17 00:00:00 2001 From: redmatrix Date: Sat, 25 Jun 2016 04:09:07 -0700 Subject: media (e.g. video) files weren't being detected correctly in oembed, causing the stream to try and load large videos (and failing) --- include/oembed.php | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) (limited to 'include/oembed.php') diff --git a/include/oembed.php b/include/oembed.php index f1d9bd7d2..fe068278e 100755 --- a/include/oembed.php +++ b/include/oembed.php @@ -27,12 +27,6 @@ function oembed_action($embedurl) { logger('oembed_action: ' . $embedurl, LOGGER_DEBUG, LOG_INFO); - // These media files should now be caught in bbcode.php - // left here as a fallback in case this is called from another source - - $noexts = array("mp3","mp4","ogg","ogv","oga","ogm","webm","opus"); - $ext = pathinfo(strtolower($embedurl),PATHINFO_EXTENSION); - if(strpos($embedurl,'http://') === 0) { if(intval(get_config('system','embed_sslonly'))) { $action = 'block'; @@ -121,14 +115,19 @@ function oembed_fetch_url($embedurl){ // These media files should now be caught in bbcode.php // left here as a fallback in case this is called from another source - $noexts = array("mp3","mp4","ogg","ogv","oga","ogm","webm","opus"); - $ext = pathinfo(strtolower($embedurl),PATHINFO_EXTENSION); + $noexts = array(".mp3",".mp4",".ogg",".ogv",".oga",".ogm",".webm",".opus"); $result = oembed_action($embedurl); $embedurl = $result['url']; $action = $result['action']; + foreach($noexts as $ext) { + if(strpos(strtolower($embedurl),$ext) !== false) { + $action = 'block'; + } + } + $txt = null; if($action !== 'block') { @@ -153,7 +152,7 @@ function oembed_fetch_url($embedurl){ } - if (! in_array($ext, $noexts) && $action !== 'block') { + if ($action !== 'block') { // try oembed autodiscovery $redirects = 0; $result = z_fetch_url($furl, false, $redirects, array('timeout' => 15, 'accept_content' => "text/*", 'novalidate' => true )); -- cgit v1.2.3