コード例 #1
0
ファイル: all.php プロジェクト: gunnartorfis/plex_requests
    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'));
コード例 #2
0
ファイル: Tmdb.plugin.php プロジェクト: nioc/ampache
 /**
  * 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;
 }