/** * * Return a collection of Elios_Service_Thetvdb_Serie * @param string $name * @param string $lang language shortcode */ public function findByName($name, $lang = "en") { $query = new Elios_Service_Thetvdb_QueryBuilder(); $query->select("Series"); $query->from("/api/GetSeries.php"); $query->where(array("seriesname" => $name, "language" => $lang)); $series = $query->execute(); foreach ($series as $e) { $thetvdb_Serie = new Elios_Service_Thetvdb_Serie($e); $this->_collection[] = $thetvdb_Serie; } return $this->_collection; }
/** * return all updates for the specified timeFrame. * episodes are excluded with param $timeFrame set to "all" * @see http://thetvdb.com/wiki/index.php/API:Update_Records * @param $timeFrame : day, week, month, all * @return array */ public function updateRecords($timeFrame = 'day') { $query = new Elios_Service_Thetvdb_QueryBuilder(); $query->select("Data"); $query->from("/api/" . Elios_Service_Thetvdb_QueryBuilder::APIKEY . "/updates/updates_" . $timeFrame . ".xml"); $query->where(array()); $items = $query->execute(); $data = array(); $data['series'] = array(); $data['episodes'] = array(); $data['banners'] = array(); $data['time'] = null; foreach ($items as $e) { if ($e->hasAttributes()) { $attributes = $e->attributes; if (!is_null($attributes)) { foreach ($attributes as $index => $attr) { if ($attr->name == 'time') { $data['time'] = $attr->value; } } } } foreach ($e->childNodes as $node) { switch ($node->nodeName) { case "Banner": $banner = array(); foreach ($node->childNodes as $subNode) { switch ($subNode->nodeName) { case "time": $banner['time'] = trim($subNode->nodeValue); break; case "Series": $banner['serie_id'] = trim($subNode->nodeValue); break; case "format": $banner['format'] = trim($subNode->nodeValue); break; case "language": $banner['language'] = trim($subNode->nodeValue); break; case "path": $banner['path'] = trim($subNode->nodeValue); break; case "type": $banner['type'] = trim($subNode->nodeValue); break; default: break; } } $data['banners'][] = $banner; break; case "Series": $serie = array(); foreach ($node->childNodes as $subNode) { switch ($subNode->nodeName) { case "time": $serie['time'] = trim($subNode->nodeValue); break; case "id": $serie['id'] = trim($subNode->nodeValue); break; default: break; } } $data['series'][] = $serie; break; case "Episode": $episode = array(); foreach ($node->childNodes as $subNode) { switch ($subNode->nodeName) { case "time": $episode['time'] = trim($subNode->nodeValue); break; case "id": $episode['id'] = trim($subNode->nodeValue); break; case "Series": $episode['serie_id'] = trim($subNode->nodeValue); break; default: break; } } $data['episodes'][] = $episode; break; default: break; } } } return $data; }