public function parse()
{
parent::parse();
$this->feed['title'] = $this->feed['title']['$t'];
$this->feed['url'] = $this->feed['url'][0]['href'];
$this->feed['description'] = $this->feed['title'];
$this->feed['date'] = $this->feed['date']['$t'];
$this->feed['generator'] = $this->feed['generator']['$t'];
$this->feed['author'] = $this->feed['author'][0]['name']['$t'];
$items = $this->feed['items'];
foreach ($items as $key => $item) {
if (isset($this->obj['feed']['entry'][$key]['content']['$t'])) {
$content = html_entity_decode($this->obj['feed']['entry'][$key]['content']['$t'], ENT_QUOTES, 'UTF-8');
} else {
$content = $this->obj['feed']['entry'][$key]['title']['$t'];
}
$items[$key]['title'] = $this->obj['feed']['entry'][$key]['title']['$t'];
$items[$key]['content'] = $content;
$items[$key]['link'] = $items[$key]['link'][0]['href'];
$items[$key]['published'] = $this->obj['feed']['entry'][$key]['published']['$t'];
$items[$key]['time'] = self::calculateTime($this->obj['feed']['entry'][$key]['published']['$t']);
$id = substr($items[$key]['link'], strpos($items[$key]['link'], 'v=') + 2);
if (strpos($id, '&') !== false) {
$id = substr($id, 0, strpos($id, '&'));
}
$items[$key]['id'] = $id;
$youtube = \Pop\Http\Response::parse('http://gdata.youtube.com/feeds/api/videos/' . $id . '?v=2&alt=json');
if (!$youtube->isError()) {
$info = json_decode($youtube->getBody(), true);
$items[$key]['views'] = $info['entry']['yt$statistics']['viewCount'];
$items[$key]['likes'] = $info['entry']['yt$rating']['numLikes'];
$items[$key]['duration'] = $info['entry']['media$group']['yt$duration']['seconds'];
$items[$key]['image_thumb'] = 'http://i.ytimg.com/vi/' . $id . '/default.jpg';
$items[$key]['image_medium'] = 'http://i.ytimg.com/vi/' . $id . '/mqdefault.jpg';
$items[$key]['image_large'] = 'http://i.ytimg.com/vi/' . $id . '/hqdefault.jpg';
foreach ($info as $k => $v) {
if ($v != '') {
$items[$key][$k] = $v;
}
}
}
}
$this->feed['items'] = $items;
}