} $episodeArray = ''; if ($data['episodeinfoid'] > 0) { $episode = new Episode(); $episodeArray = $episode->getEpisodeInfoByID($data['episodeinfoid']); } $mov = ''; if ($data['imdbid'] != '' && $data['imdbid'] != 00) { $movie = new Film(); $mov = $movie->getMovieInfo($data['imdbid']); $trakt = new TraktTv(); $traktSummary = $trakt->movieSummary('tt' . $data['imdbid'], 'full'); if ($traktSummary !== false && isset($traktSummary['trailer']) && $traktSummary['trailer'] !== '' && preg_match('/[\\/?]v[\\/\\=](\\w+)$/i', $traktSummary['trailer'], $youtubeM)) { $mov['trailer'] = '<embed width="480" height="345" src="' . 'https://www.youtube.com/v/' . $youtubeM[1] . '" type="application/x-shockwave-flash"></embed>'; } else { $mov['trailer'] = \newznab\utility\Utility::imdb_trailers($data['imdbid']); } if ($mov && isset($mov['title'])) { $mov['title'] = str_replace(array('/', '\\'), '', $mov['title']); $mov['actors'] = $movie->makeFieldLinks($mov, 'actors'); $mov['genre'] = $movie->makeFieldLinks($mov, 'genre'); $mov['director'] = $movie->makeFieldLinks($mov, 'director'); } else { if ($traktSummary !== false) { $mov['title'] = str_replace(array('/', '\\'), '', $traktSummary['title']); } else { $mov = false; } } } $xxx = '';
/** * Get trailer using IMDB Id. * * @param int $imdbID * * @return bool|string */ public function getTrailer($imdbID) { if (!is_numeric($imdbID)) { return false; } $trailer = $this->pdo->queryOneRow("SELECT trailer FROM movieinfo WHERE imdbid = {$imdbID} and trailer != ''"); if ($trailer) { return $trailer['trailer']; } if (is_null($this->traktTv)) { $this->traktTv = new TraktTv(['Settings' => $this->pdo]); } $data = $this->traktTv->movieSummary('tt' . $imdbID, 'full,images'); if ($data) { $this->parseTraktTv($data); if (isset($data['trailer']) && !empty($data['trailer'])) { return $data['trailer']; } } $trailer = Utility::imdb_trailers($imdbID); if ($trailer) { $this->pdo->queryExec('UPDATE movieinfo SET trailer = ' . $this->pdo->escapeString($trailer) . ' WHERE imdbid = ' . $imdbID); return $trailer; } return false; }