public function getDateTime() { // PHP 5.3+ only //return DateTime::createFromFormat("U", $this->timestamp); //$time = date("F j, Y, g:i a", $this->timestamp); //return new DateTime($time); return PicnicDateTime::createFromTimestamp($this->timestamp); }
public function getDownloadedDateTime() { return PicnicDateTime::createFromTimestamp($this->downloaded_at); }
public function update($series) { $url = "http://services.tvrage.com/feeds/full_show_info.php?sid={$series->tvrage_id}"; try { $xml = new SimpleXMLElement($url, null, true); } catch (Exception $ex) { $xml = null; throw new ScraperRequestFailed("TVRage appears to be down, unable to update information."); } $item = new SimpleXMLElement($url, NULL, true); $series->tvrage_id = (string) $item->showid; $series->name = (string) $item->name; $series->country = (string) $item->origin_country; $series->first_aired = (string) $item->started; $series->last_aired = (string) $item->ended; $series->network = (string) $item->network; $series->season_count = (string) $item->totalseasons; $series->airs_time = (string) $item->airtime; $series->airs_day = (string) $item->airday; $series->runtime = (string) $item->runtime; $series->rage_url = (string) $item->showlink; $series->status = (string) $item->status; $series->timezone = (string) $item->timezone; //for ($i = 0; $i < sizeof($item->Episodelist->Season); $i++) { // $season = $item->Episodelist->Season[$i]; foreach ($item->Episodelist->Season as $season) { $s = 0; foreach ($season->attributes() as $key => $val) { if ($key == 'no') { $s = (string) $val; } } $episodeSeason = null; $seasonExists = false; foreach ($series->seasons as $showSeason) { if ($showSeason->num == $s) { $episodeSeason = $showSeason; $seasonExists = true; } } if ($episodeSeason == null) { $episodeSeason = new Season(); $episodeSeason->num = $s; } for ($j = 0; $j < sizeof($season->episode); $j++) { $item = $season->episode[$j]; $episode = null; $episodeExists = false; foreach ($episodeSeason->episodes as $ep) { if ($ep->series_num == (string) $item->epnum) { $episode = $ep; $episodeExists = true; } } if ($episode == null) { $episode = new Episode(); } $episode->season = $s; $episode->num = (string) $item->seasonnum; $episode->series_num = (string) $item->epnum; $episode->name = (string) $item->title; $episode->airs_date = PicnicDateTime::createFromString((string) $item->airdate)->format('Y-m-d H:i:s'); //date('Y-m-d H:i:s', strtotime((string)$item->airdate)); $episode->rage_url = (string) $item->link; $episode->poster_url = (string) $item->screencap; if (!$episodeExists) { $episodeSeason->episodes[] = $episode; } } if (!$seasonExists) { $series->seasons[] = $episodeSeason; } } return $series; }