aboutsummaryrefslogtreecommitdiff
path: root/lib/metacafe.php
blob: 34b006a32e2b875fe591df82bde3b8d227f2c62c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php

function videolist_parseurl_metacafe($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(
		'videotype' => 'metacafe',
		'video_id' => $path[2],
	);
}

function videolist_get_data_metacafe($parsed){
	$video_id = $parsed['video_id'];
	
	$buffer = file_get_contents("http://www.metacafe.com/api/item/$video_id");
	$xml = new SimpleXMLElement($buffer);
	
	return array(
		'title' => sanitize_string(current($xml->xpath('/rss/channel/item/title'))),
		'description' => strip_tags(current($xml->xpath('/rss/channel/item/description'))),
		'thumbnail' => sanitize_string(current($xml->xpath('/rss/channel/item/media:thumbnail/@url'))),
		'embedurl' => sanitize_string(current($xml->xpath('/rss/channel/item/media:content/@url'))),
	);
}