X-Git-Url: https://git.ao2.it/tweeper.git/blobdiff_plain/ad76e6944a58986c0564ddf22f8eba4289b455d1..f1cb70497e07252759d6832d900a8fc478a4fbd7:/tweeper.php?ds=sidebyside diff --git a/tweeper.php b/tweeper.php index cc261ef..b1809ed 100644 --- a/tweeper.php +++ b/tweeper.php @@ -89,6 +89,9 @@ class Tweeper { CURLOPT_USERAGENT => Tweeper::$userAgent, )); $contents = curl_exec($ch); + if (FALSE === $contents) { + trigger_error(curl_error($ch)); + } curl_close($ch); return $contents; @@ -111,6 +114,9 @@ class Tweeper { )); curl_exec($ch); $url_info = curl_getinfo($ch); + if (FALSE === $url_info) { + trigger_error(curl_error($ch)); + } curl_close($ch); return $url_info; @@ -121,7 +127,9 @@ class Tweeper { */ public static function generateEnclosure($url) { $supported_content_types = array( + "application/octet-stream", "application/ogg", + "application/pdf", "audio/aac", "audio/mp4", "audio/mpeg", @@ -132,17 +140,14 @@ class Tweeper { "audio/x-midi", "image/gif", "image/jpeg", + "image/png", "video/avi", "video/mp4", "video/mpeg", "video/ogg", ); - // The RSS specification says that the enclosure element URL must be http. - // See http://sourceforge.net/p/feedvalidator/bugs/72/ - $http_url = preg_replace("/^https/", "http", $url); - - $url_info = Tweeper::getUrlInfo($http_url); + $url_info = Tweeper::getUrlInfo($url); $supported = in_array($url_info['content_type'], $supported_content_types); if (!$supported) { @@ -150,9 +155,13 @@ class Tweeper { return ''; } + // The RSS specification says that the enclosure element URL must be http. + // See http://sourceforge.net/p/feedvalidator/bugs/72/ + $http_url = preg_replace("/^https/", "http", $url_info['url']); + $dom = new DOMDocument(); $enc = $dom->createElement('enclosure'); - $enc->setAttribute('url', $url_info['url']); + $enc->setAttribute('url', $http_url); $enc->setAttribute('length', $url_info['download_content_length']); $enc->setAttribute('type', $url_info['content_type']);