diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Videolist/Platform/Bliptv.php | 38 | ||||
-rw-r--r-- | lib/Videolist/Platform/Gisstv.php | 50 | ||||
-rw-r--r-- | lib/Videolist/Platform/Metacafe.php | 38 | ||||
-rw-r--r-- | lib/Videolist/Platform/Vimeo.php | 40 | ||||
-rw-r--r-- | lib/Videolist/Platform/Youtube.php | 49 | ||||
-rw-r--r-- | lib/Videolist/PlatformInterface.php | 23 | ||||
-rw-r--r-- | lib/videolist.php | 46 |
7 files changed, 0 insertions, 284 deletions
diff --git a/lib/Videolist/Platform/Bliptv.php b/lib/Videolist/Platform/Bliptv.php deleted file mode 100644 index 62cefbd39..000000000 --- a/lib/Videolist/Platform/Bliptv.php +++ /dev/null @@ -1,38 +0,0 @@ -<?php - -class Videolist_Platform_Bliptv implements Videolist_PlatformInterface -{ - public function getType() - { - return "bliptv"; - } - - public function parseUrl($url) - { - $parsed = parse_url($url); - $path = explode('/', $parsed['path']); - - if ($parsed['host'] != 'blip.tv' || count($path) < 3) { - return false; - } - - return array( - 'video_id' => $parsed['path'], - ); - } - - public function getData($parsed) - { - $video_id = $parsed['video_id']; - - $buffer = file_get_contents('https://blip.tv'.$video_id.'?skin=rss'); - $xml = new SimpleXMLElement($buffer); - - return array( - 'title' => current($xml->xpath('/rss/channel/item/title')), - 'description' => strip_tags(current($xml->xpath('/rss/channel/item/description'))), - 'thumbnail' => current($xml->xpath('/rss/channel/item/media:thumbnail/@url')), - 'embedurl' => current($xml->xpath('/rss/channel/item/blip:embedUrl')), - ); - } -} diff --git a/lib/Videolist/Platform/Gisstv.php b/lib/Videolist/Platform/Gisstv.php deleted file mode 100644 index b79898449..000000000 --- a/lib/Videolist/Platform/Gisstv.php +++ /dev/null @@ -1,50 +0,0 @@ -<?php - -class Videolist_Platform_Gisstv implements Videolist_PlatformInterface -{ - public function getType() - { - return "gisstv"; - } - - public function parseUrl($url) - { - $parsed = parse_url($url); - $path = explode('/', $parsed['path']); - - if ($parsed['host'] != 'giss.tv' || $path[1] != 'dmmdb') { - return false; - } - - if($path[2] == 'contents' && isset($path[3])) { - $video_id = $path[3]; - } elseif($path[3] == 'contents' && isset($path[4])) { - $video_id = $path[4]; - } else { - return false; - } - - return array( - 'video_id' => $video_id, - ); - } - - public function getData($parsed) - { - $video_id = $parsed['video_id']; - - $buffer = file_get_contents('http://giss.tv/dmmdb//rss.php'); - $xml = new SimpleXMLElement($buffer); - - $data = array(); - foreach($xml->xpath('/rss/channel/item') as $item){ - if ($item->link === 'http://giss.tv/dmmdb//contents/'.$video_id) { - $data['title'] = $item->title; - $data['description'] = strip_tags($item->description); - $data['thumbnail'] = $item->thumbnail; - break; - } - } - return $data; - } -} diff --git a/lib/Videolist/Platform/Metacafe.php b/lib/Videolist/Platform/Metacafe.php deleted file mode 100644 index 74a346b34..000000000 --- a/lib/Videolist/Platform/Metacafe.php +++ /dev/null @@ -1,38 +0,0 @@ -<?php - -class Videolist_Platform_Metacafe implements Videolist_PlatformInterface -{ - public function getType() - { - return "metacafe"; - } - - public function parseUrl($url) - { - $parsed = parse_url($url); - $path = explode('/', $parsed['path']); - - if ($parsed['host'] != 'www.metacafe.com' || $path[1] != 'watch' || !(int) $path[2]) { - return false; - } - - return array( - 'video_id' => $path[2], - ); - } - - public function getData($parsed) - { - $video_id = $parsed['video_id']; - - $buffer = file_get_contents("https://www.metacafe.com/api/item/$video_id"); - $xml = new SimpleXMLElement($buffer); - - return array( - 'title' => current($xml->xpath('/rss/channel/item/title')), - 'description' => strip_tags(current($xml->xpath('/rss/channel/item/description'))), - 'thumbnail' => current($xml->xpath('/rss/channel/item/media:thumbnail/@url')), - 'embedurl' => current($xml->xpath('/rss/channel/item/media:content/@url')), - ); - } -} diff --git a/lib/Videolist/Platform/Vimeo.php b/lib/Videolist/Platform/Vimeo.php deleted file mode 100644 index 6930cdb2d..000000000 --- a/lib/Videolist/Platform/Vimeo.php +++ /dev/null @@ -1,40 +0,0 @@ -<?php - -class Videolist_Platform_Vimeo implements Videolist_PlatformInterface -{ - public function getType() - { - return "vimeo"; - } - - public function parseUrl($url) - { - $parsed = parse_url($url); - $path = explode('/', $parsed['path']); - - if ($parsed['host'] != 'vimeo.com' || !(int) $path[1]) { - return false; - } - - return array( - 'video_id' => $path[1], - ); - } - - public function getData($parsed) - { - $video_id = $parsed['video_id']; - - $buffer = file_get_contents("https://vimeo.com/api/v2/video/$video_id.xml"); - $xml = new SimpleXMLElement($buffer); - - $videos = $xml->children(); - $video = $videos[0]; - - return array( - 'title' => $video->title, - 'description' => strip_tags($video->description), - 'thumbnail' => $video->thumbnail_medium, - ); - } -} diff --git a/lib/Videolist/Platform/Youtube.php b/lib/Videolist/Platform/Youtube.php deleted file mode 100644 index 31a4bc950..000000000 --- a/lib/Videolist/Platform/Youtube.php +++ /dev/null @@ -1,49 +0,0 @@ -<?php - -class Videolist_Platform_Youtube implements Videolist_PlatformInterface -{ - public function getType() - { - return "youtube"; - } - - public function parseUrl($url) - { - $parsed = parse_url($url); - $id = ''; - if (! empty($parsed['host'])) { - if ($parsed['host'] === 'youtu.be') { - // short URLs - $id = substr($parsed['path'], 1); - } elseif ($parsed['host'] === 'www.youtube.com' - && $parsed['path'] === '/watch' - && ! empty($parsed['query'])) { - // long URLs - parse_str($parsed['query'], $query); - if (! empty($query['v'])) { - $id = $query['v']; - } - } - } - if ($id) { - return array( - 'video_id' => $id, - ); - } - return false; - } - - public function getData($parsed) - { - $video_id = $parsed['video_id']; - - $buffer = file_get_contents('https://gdata.youtube.com/feeds/api/videos/'.$video_id); - $xml = new SimpleXMLElement($buffer); - - return array( - 'title' => $xml->title, - 'description' => strip_tags($xml->content), - 'thumbnail' => "https://img.youtube.com/vi/$video_id/default.jpg", - ); - } -} diff --git a/lib/Videolist/PlatformInterface.php b/lib/Videolist/PlatformInterface.php deleted file mode 100644 index 25ca019e9..000000000 --- a/lib/Videolist/PlatformInterface.php +++ /dev/null @@ -1,23 +0,0 @@ -<?php - -interface Videolist_PlatformInterface { - /** - * @abstract - * @return string - */ - public function getType(); - - /** - * @abstract - * @param string $url - * @return array - */ - public function parseUrl($url); - - /** - * @abstract - * @param array $parsed - * @return array - */ - public function getData($parsed); -} diff --git a/lib/videolist.php b/lib/videolist.php deleted file mode 100644 index b86db99cf..000000000 --- a/lib/videolist.php +++ /dev/null @@ -1,46 +0,0 @@ -<?php - -/** - * @return array - */ -function videolist_get_default_platforms() { - static $platforms = array(); - if (! $platforms) { - require dirname(__FILE__) . '/Videolist/PlatformInterface.php'; - $path = dirname(__FILE__) . '/Videolist/Platform'; - foreach (scandir($path) as $filename) { - if (preg_match('/^(\\w+)\\.php$/', $filename, $m)) { - require "$path/$filename"; - $class = 'Videolist_Platform_' . $m[1]; - $platform = new $class(); - if ($platform instanceof Videolist_PlatformInterface) { - /* @var Videolist_PlatformInterface $platform */ - $platforms[$platform->getType()][] = $platform; - } - } - } - } - return $platforms; -} - -/** - * @param string $url - * @return array [parsed, platform] - */ -function videolist_parse_url($url) { - $params = array( - 'url' => $url, - ); - $platforms = videolist_get_default_platforms(); - $platforms = elgg_trigger_plugin_hook('videolist:prepare', 'platforms', $params, $platforms); - foreach ($platforms as $list) { - foreach ($list as $platform) { - /* @var Videolist_PlatformInterface $platform */ - $parsed = $platform->parseUrl($url); - if ($parsed) { - return array($parsed, $platform); - } - } - } - return false; -} |