/** * 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; }
<?php /** * This file is part of the Tmdb PHP API created by Michael Roterman. * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. * * @package Tmdb * @author Michael Roterman <*****@*****.**> * @copyright (c) 2013, Michael Roterman * @version 0.0.1 */ require_once '../../../vendor/autoload.php'; require_once '../../../apikey.php'; $token = new \Tmdb\ApiToken(TMDB_API_KEY); $client = new \Tmdb\Client($token); $result = $client->getSearchApi()->searchList('award'); var_dump($result);
function getFeed($feed_url, $type) { // Type: Movie(0), TV(1), Animated(2) $content = file_get_contents($feed_url); $x = new SimpleXmlElement($content); $token = new \Tmdb\ApiToken('1e5387b55fe12efeb19db53ea9ca88a1'); $client = new \Tmdb\Client($token); if ($type != 1) { $all_genres = $client->getGenresApi()->getGenres(); $all_genres_ids = array(); foreach ($all_genres['genres'] as $genre) { array_push($all_genres_ids, $genre['id']); } $current_ids = array(); foreach ($x->channel->item as $entry) { /* @@ Modification for TMDB API @@ */ $movie_title = $entry->title; $title = modifyTitle($movie_title); $result = $client->getSearchApi()->searchMovies($title); $movie = array_values($result)[1][0]; /* @@ Check if result is found from TMDB API @@ */ if (count($movie) > 0) { if (!in_array(intval($movie['id']), $current_ids)) { array_push($current_ids, intval($movie['id'])); } else { continue; } /* @@ Title @@ */ $original_title = shortenText($movie['original_title'], 40); /* @@ Plot (overview) @@ */ $plot = shortenText($movie['overview'], 285); /* @@ Release year @@ */ $released_year = substr($movie['release_date'], 0, 4); /* @@ Release year @@ */ $genres = $movie['genre_ids']; $genre_string = getGenreString($genres, $all_genres_ids, $all_genres); $poster_url = "http://image.tmdb.org/t/p/w500/" . $movie['poster_path']; $backdrop_url = "http://image.tmdb.org/t/p/w500" . $movie['backdrop_path']; $content_url = "https://www.themoviedb.org/movie/" . $movie['id']; renderTable($original_title, $plot, $released_year, $genre_string, $poster_url, $backdrop_url, $content_url, $entry->link); } else { if ($type != 2) { // Teiknimyndir eru oft á íslensku og þ.a.l. ekki á TMDB $plot = "Ekki fundust upplýsingar um þessa mynd.<br>Titill hennar gæti verið stafsettur vitlaust.<br>Einnig gæti verið að þetta sé sjónvarsþáttur."; renderTable($entry->title, $plot, null, null, null, null, null, $entry->link); } } } } else { // TV SHOWS foreach ($x->channel->item as $entry) { $tv_show_title = $entry->title; $tv_show_title = modifyTvShowTitle($tv_show_title); $result = $client->getSearchApi()->searchTv($tv_show_title); $tv_show = array_values($result)[1][0]; if (count($tv_show) > 0) { $tv_show_title = $tv_show['name']; $tv_show_title .= ' ' . getEpisodeNumber($entry->title); $plot = shortenText($tv_show['overview'], 300); $released_year = substr($tv_show['first_air_date'], 0, 4); $genres = $tv_show['genre_ids']; $genre_string = getGenreString($genres, $all_genres_ids, $all_genres); $poster_url = "http://image.tmdb.org/t/p/w500/" . $tv_show['poster_path']; $backdrop_url = "http://image.tmdb.org/t/p/w500" . $tv_show['backdrop_path']; $content_url = "https://www.themoviedb.org/tv/" . $tv_show['id']; renderTable($tv_show_title, $plot, $released_year, $genre_string, $poster_url, $backdrop_url, $content_url, $entry->link); } } } }
<?php /** * This file is part of the Tmdb PHP API created by Michael Roterman. * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. * * @package Tmdb * @author Michael Roterman <*****@*****.**> * @copyright (c) 2013, Michael Roterman * @version 0.0.1 */ require_once '../../../vendor/autoload.php'; require_once '../../../apikey.php'; $token = new \Tmdb\ApiToken(TMDB_API_KEY); $client = new \Tmdb\Client($token); $result = $client->getSearchApi()->searchTv('breaking bad'); var_dump($result);
<?php /** * This file is part of the Tmdb PHP API created by Michael Roterman. * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. * * @package Tmdb * @author Michael Roterman <*****@*****.**> * @copyright (c) 2013, Michael Roterman * @version 0.0.1 */ require_once '../../../vendor/autoload.php'; require_once '../../../apikey.php'; $token = new \Tmdb\ApiToken(TMDB_API_KEY); $client = new \Tmdb\Client($token); $result = $client->getSearchApi()->searchPersons('bruce lee'); var_dump($result);
<?php /** * This file is part of the Tmdb PHP API created by Michael Roterman. * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. * * @package Tmdb * @author Michael Roterman <*****@*****.**> * @copyright (c) 2013, Michael Roterman * @version 0.0.1 */ require_once '../../../vendor/autoload.php'; require_once '../../../apikey.php'; $token = new \Tmdb\ApiToken(TMDB_API_KEY); $client = new \Tmdb\Client($token); $result = $client->getSearchApi()->searchKeyword('scary'); var_dump($result);
<?php /** * This file is part of the Tmdb PHP API created by Michael Roterman. * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. * * @package Tmdb * @author Michael Roterman <*****@*****.**> * @copyright (c) 2013, Michael Roterman * @version 0.0.1 */ require_once '../../../vendor/autoload.php'; require_once '../../../apikey.php'; $token = new \Tmdb\ApiToken(TMDB_API_KEY); $client = new \Tmdb\Client($token); $result = $client->getSearchApi()->searchCollection('star wars'); var_dump($result);
<?php /** * This file is part of the Tmdb PHP API created by Michael Roterman. * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. * * @package Tmdb * @author Michael Roterman <*****@*****.**> * @copyright (c) 2013, Michael Roterman * @version 0.0.1 */ require_once '../../../vendor/autoload.php'; require_once '../../../apikey.php'; $token = new \Tmdb\ApiToken(TMDB_API_KEY); $client = new \Tmdb\Client($token); $result = $client->getSearchApi()->searchMulti('jack'); var_dump($result);
<?php /** * This file is part of the Tmdb PHP API created by Michael Roterman. * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. * * @package Tmdb * @author Michael Roterman <*****@*****.**> * @copyright (c) 2013, Michael Roterman * @version 0.0.1 */ require_once '../../../vendor/autoload.php'; require_once '../../../apikey.php'; $token = new \Tmdb\ApiToken(TMDB_API_KEY); $client = new \Tmdb\Client($token); $result = $client->getSearchApi()->searchMovies('batman'); var_dump($result);