/**
  * @param FixtureEpisodeData $fixture
  * @param string             $baseName
  */
 protected function parseEpisodeNumbers(FixtureEpisodeData $fixture, &$baseName)
 {
     if (1 !== preg_match('{s([0-9]+)e([0-9]+)-?([0-9]+)?}i', $baseName, $match) && 1 !== preg_match('{([0-9]{1,2})x([0-9]{1,2})}i', $baseName, $match) && 1 !== preg_match('{([0-9]{1,2})([0-9]{2})}', $baseName, $match)) {
         return;
     }
     $fixture->setSeasonNumber(isset($match[1]) ? $match[1] : 0);
     $fixture->setEpisodeNumberStart(isset($match[2]) ? $match[2] : 0);
     if (isset($match[3])) {
         $fixture->setEpisodeNumberEnd($match[3]);
     }
     $baseName = [substr($baseName, 0, strpos($baseName, $match[0])), substr($baseName, strpos($baseName, $match[0]) + strlen($match[0]))];
 }
Esempio n. 2
0
 /**
  * @param FixtureEpisodeData $f
  * @param Tv\Episode|null    $e
  * @param Tv|null            $s
  */
 private function hydrateFixtureEpisode(FixtureEpisodeData $f, Tv\Episode $e = null, Tv $s = null)
 {
     if ($s === null || $e === null) {
         return;
     }
     $f->setName($s->getName());
     $f->setTitle($e->getName());
     $f->setEpisodeNumberStart($e->getEpisodeNumber());
     $f->setSeasonNumber($e->getSeasonNumber());
     $f->setId($e->getId());
     $f->setYear($s->getFirstAirDate()->format('Y'));
     $f->setEnabled(true);
 }