1
0
Fork 0
mirror of https://github.com/Yetangitu/ampache synced 2025-10-04 18:29:40 +02:00
ampache/modules/Moinax/TvDb/Episode.php
Afterster 90c1c6fbd1 Add Release Groupo MusicBrainz Identifier on albums
Add TheAudioDB and TheTVDB metadata/art plugins
2014-07-26 18:11:50 +02:00

126 lines
2.5 KiB
PHP

<?php
namespace Moinax\TvDb;
/**
* Episode class. Class for single tv episode for a TV serie.
*
* @package TvDb
* @author Jérôme Poskin <moinax@gmail.com>
**/
class Episode
{
/**
* @var int
*/
public $id = 0;
/**
* @var int
*/
public $number = 0;
/**
* @var int
*/
public $season = 0;
/**
* @var array
*/
public $directors = array();
/**
* @var array
*/
public $guestStars = array();
/**
* @var array
*/
public $writers = array();
/**
* @var string
*/
public $name = '';
/**
* @var \DateTime
*/
public $firstAired;
/**
* @var string
*/
public $imdbId = '';
/**
* @var string
*/
public $language = Client::DEFAULT_LANGUAGE;
/**
* @var string
*/
public $overview = '';
/**
* @var string
*/
public $rating = '';
/**
* @var int
*/
public $ratingCount = 0;
/**
* @var \DateTime
*/
public $lastUpdated;
/**
* @var int
*/
public $seasonId = 0;
/**
* @var int
*/
public $serieId = 0;
/**
* @var string
*/
public $thumbnail = '';
/**
* Constructor
*
* @access public
* @return \Moinax\TvDb\Episode
* @param \SimpleXMLElement $data simplexml element created from thetvdb.com's xml data for the tv episode
*/
public function __construct($data)
{
$this->id = (int)$data->id;
$this->number = (int)$data->EpisodeNumber;
$this->season = (int)$data->SeasonNumber;
$this->directors = (array)Client::removeEmptyIndexes(explode('|', (string)$data->Director));
$this->name = (string)$data->EpisodeName;
$this->firstAired = (string)$data->FirstAired !== '' ? new \DateTime((string)$data->FirstAired) : null;
$this->guestStars = Client::removeEmptyIndexes(explode('|', (string)$data->GuestStars));
$this->imdbId = (string)$data->IMDB_ID;
$this->language = (string) $data->Language;
$this->overview = (string)$data->Overview;
$this->rating = (string)$data->Rating;
$this->ratingCount = (int)$data->RatingCount;
$this->lastUpdated = \DateTime::createFromFormat('U', (int)$data->lastupdated);
$this->writers = (array)Client::removeEmptyIndexes(explode('|', (string)$data->Writer));
$this->thumbnail = (string)$data->filename;
$this->seasonId = (int)$data->seasonid;
$this->serieId = (int)$data->seriesid;
}
}