/**
  * 
  * 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;
 }