From c754e06af5f84dda20441887efb4346a1729d01c Mon Sep 17 00:00:00 2001 From: Antonio Ospite Date: Sun, 11 Aug 2013 20:52:47 +0200 Subject: [PATCH] Use an array to list supported content types for enclosures --- tweeper.php | 57 +++++++++++++++++++++++++++++++-------------------------- 1 file changed, 31 insertions(+), 26 deletions(-) diff --git a/tweeper.php b/tweeper.php index bdba04d..e9345cc 100644 --- a/tweeper.php +++ b/tweeper.php @@ -54,35 +54,40 @@ function get_url_info($url) function generate_enclosure($url) { + $supported_content_types = array( + "video/avi", + "image/gif", + "image/jpeg", + "audio/x-midi", + "audio/mpeg", + "video/mpeg", + "audio/vorbis", + "application/ogg", + "audio/webm", + "audio/aac", + "audio/mp4", + "audio/wav", + "video/mp4", + "video/ogg", + ); + $url_info = get_url_info($url); - switch($url_info['content_type']) { - case "video/avi": - case "image/gif": - case "image/jpeg": - case "audio/x-midi": - case "audio/mpeg": - case "video/mpeg": - case "audio/vorbis": - case "application/ogg": - case "audio/webm": - case "audio/aac": - case "audio/mp4": - case "audio/wav": - case "video/mp4": - case "video/ogg": - $dom = new DomDocument(); - $enc = $dom->createElement('enclosure'); - $enc->setAttribute( 'url', $url_info['url']); - $enc->setAttribute( 'length', $url_info['download_content_length']); - $enc->setAttribute( 'type', $url_info['content_type']); - - $dom->appendChild($enc); - - return $dom->saveXML($enc); - default: - return; + $supported = in_array($url_info['content_type'], $supported_content_types); + if (!$supported) { + error_log("Unsupported enclosure content type \"" . $url_info['content_type'] . "\" for URL: " . $url_info['url']); + return ''; } + + $dom = new DomDocument(); + $enc = $dom->createElement('enclosure'); + $enc->setAttribute( 'url', $url_info['url']); + $enc->setAttribute( 'length', $url_info['download_content_length']); + $enc->setAttribute( 'type', $url_info['content_type']); + + $dom->appendChild($enc); + + return $dom->saveXML($enc); } -- 2.1.4