From 2f4b325a7d8abcd20ce7cd42bd1bc3d0e0ef3eaa Mon Sep 17 00:00:00 2001 From: Mitsukarenai Date: Fri, 20 Jun 2014 16:41:51 +0200 Subject: [PATCH] [beta] extract timestamp from Youtube API --- bridges/YoutubeBridge.php | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/bridges/YoutubeBridge.php b/bridges/YoutubeBridge.php index 061eda8f..76ffc59d 100644 --- a/bridges/YoutubeBridge.php +++ b/bridges/YoutubeBridge.php @@ -21,6 +21,15 @@ class YoutubeBridge extends BridgeAbstract{ private $request; public function collectData(array $param){ + + function getPublishDate($id) { + # relies on Youtube API; deprecated + $json = json_decode(file_get_contents("https://gdata.youtube.com/feeds/api/videos/$id?v=2&alt=json"), TRUE) or return time(); + $timestamp = strtotime($json['entry']['published']['$t']); + return $timestamp; + } + + $html = ''; if (isset($param['u'])) { /* user timeline mode */ $this->request = $param['u']; @@ -31,6 +40,8 @@ class YoutubeBridge extends BridgeAbstract{ $item->uri = 'https://www.youtube.com'.$element->find('a',0)->href; $item->thumbnailUri = 'https:'.$element->find('img',0)->src; $item->title = trim($element->find('h3',0)->plaintext); + $item->id = str_replace('/watch?v=', '', $element->find('a',0)->href); + $item->timestamp = getPublishDate($item->id); $item->content = '
' . $item->title . ''; $this->items[] = $item; } @@ -44,6 +55,8 @@ class YoutubeBridge extends BridgeAbstract{ $item->uri = 'https://www.youtube.com'.$element->find('.pl-video-title a',0)->href; $item->thumbnailUri = 'https:'.str_replace('/default.','/mqdefault.',$element->find('.pl-video-thumbnail img',0)->src); $item->title = trim($element->find('.pl-video-title a',0)->plaintext); + $item->id = str_replace('/watch?v=', '', $element->find('a',0)->href); + $item->timestamp = getPublishDate($item->id); $item->content = '
' . $item->title . ''; $this->items[] = $item; } @@ -62,6 +75,8 @@ class YoutubeBridge extends BridgeAbstract{ else $item->thumbnailUri = ''.$element->find('img',0)->src; $item->title = trim($element->find('h3',0)->plaintext); + $item->id = str_replace('/watch?v=', '', $element->find('a',0)->href); + $item->timestamp = getPublishDate($item->id); $item->content = '
' . $item->title . ''; $this->items[] = $item; }