printf(" - %s as %s<br/>", $person->getName(), $person->getCharacter()); } echo "Crew<br/>"; foreach ($movie->getCredits()->getCrew() as $person) { echo $imageHelper->getHtml($person->getProfileImage(), 'w45'); printf(" - %s as %s<br/>", $person->getName(), $person->getJob()); } echo "Images<br/>"; // All collection classes support filtering by closure functions, provided by the generic collection implementation. foreach ($movie->getImages()->filter(function ($key, $value) { if ($value->getIso6391() == 'en' && $value instanceof \Tmdb\Model\Image\PosterImage) { return true; } }) as $image) { echo $imageHelper->getHtml($image, 'w154', 150); printf(" - %s<br/>", $imageHelper->getUrl($image)); } // There are however some sensible default filters available for most collections $backdrop = $movie->getImages()->filterBackdrops()->filterBestVotedImage(); echo $imageHelper->getHtml($backdrop, 'original', '1024'); echo "Genres<br/>"; foreach ($movie->getGenres() as $genre) { printf(" - %s<br/>", $genre->getName()); } echo "Keywords<br/>"; foreach ($movie->getKeywords() as $keyword) { printf(" - %s [%s]<br/>", $keyword->getName(), $keyword->getId()); } echo "Releases<br/>"; foreach ($movie->getReleases()->filterCountry('US') as $release) { printf(" - %s on %s<br/>", $release->getIso31661(), $release->getReleaseDate()->format('d-m-Y'));
/** * get_metadata * Returns song metadata for what we're passed in. */ public function get_metadata($gather_types, $media_info) { debug_event('tmdb', 'Getting metadata from Tmdb...', '5'); // TVShow / Movie metadata only if (!in_array('tvshow', $gather_types) && !in_array('movie', $gather_types)) { debug_event('tmdb', 'Not a valid media type, skipped.', '5'); return null; } try { $token = new \Tmdb\ApiToken($this->api_key); $client = new \Tmdb\Client($token); $configRepository = new \Tmdb\Repository\ConfigurationRepository($client); $config = $configRepository->load(); $imageHelper = new \Tmdb\Helper\ImageHelper($config); $title = $media_info['original_name'] ?: $media_info['title']; $results = array(); if (in_array('movie', $gather_types)) { if (!empty($title)) { $apires = $client->getSearchApi()->searchMovies($title); if (count($apires['results']) > 0) { $results['tmdb_id'] = $apires['results'][0]['id']; $release = $client->getMoviesApi()->getMovie($results['tmdb_id']); $results['imdb_id'] = $release['imdb_id']; $results['original_name'] = $release['original_title']; if (!empty($release['release_date'])) { $results['release_date'] = strtotime($release['release_date']); $results['year'] = date("Y", $results['release_date']); // Production year shouldn't be the release date } if ($release['poster_path']) { $results['art'] = $imageHelper->getUrl($release['poster_path']); } if ($release['backdrop_path']) { $results['background_art'] = $imageHelper->getUrl($release['backdrop_path']); } $results['genre'] = self::get_genres($release); } } } if (in_array('tvshow', $gather_types)) { if (!empty($media_info['tvshow'])) { $apires = $client->getSearchApi()->searchTv($media_info['tvshow']); if (count($apires['results']) > 0) { // Get first match $results['tmdb_tvshow_id'] = $apires['results'][0]['id']; $release = $client->getTvApi()->getTvshow($results['tmdb_tvshow_id']); $results['tvshow'] = $release['original_name']; if (!empty($release['first_air_date'])) { $results['tvshow_year'] = date("Y", strtotime($release['first_air_date'])); } if ($release['poster_path']) { $results['tvshow_art'] = $imageHelper->getUrl($release['poster_path']); } if ($release['backdrop_path']) { $results['tvshow_background_art'] = $imageHelper->getUrl($release['backdrop_path']); } $results['genre'] = self::get_genres($release); if ($media_info['tvshow_season']) { $release = $client->getTvSeasonApi()->getSeason($results['tmdb_tvshow_id'], $media_info['tvshow_season']); if ($release['id']) { if ($release['poster_path']) { $results['tvshow_season_art'] = $imageHelper->getUrl($release['poster_path']); } if ($media_info['tvshow_episode']) { $release = $client->getTvEpisodeApi()->getEpisode($results['tmdb_tvshow_id'], $media_info['tvshow_season'], $media_info['tvshow_episode']); if ($release['id']) { $results['tmdb_id'] = $release['id']; $results['tvshow_season'] = $release['season_number']; $results['tvshow_episode'] = $release['episode_number']; $results['original_name'] = $release['name']; if (!empty($release['air_date'])) { $results['release_date'] = strtotime($release['release_date']); $results['year'] = date("Y", $results['release_date']); } $results['description'] = $release['overview']; if ($release['still_path']) { $results['art'] = $imageHelper->getUrl($release['still_path']); } } } } } } } } } catch (Exception $e) { debug_event('tmdb', 'Error getting metadata: ' . $e->getMessage(), '1'); } return $results; }