Ejemplo n.º 1
0
 /**
  * Fetch info for IMDB id from TMDB.
  *
  * @param      $imdbId
  * @param bool $text
  *
  * @return array|bool
  */
 public function fetchTMDBProperties($imdbId, $text = false)
 {
     $lookupId = $text === false ? 'tt' . $imdbId : $imdbId;
     $tmdb = new TMDB($this->pdo->getSetting('tmdbkey'));
     try {
         $tmdbLookup = $tmdb->getMovie($lookupId);
     } catch (exception $e) {
         return false;
     }
     /*$status = $tmdbLookup->get('status_code');
     		if (!$status || (isset($status) && $status !== 1)) {
     			return false;
     		}*/
     $ret = [];
     $ret['title'] = $tmdbLookup->get('title');
     if ($this->currentTitle !== '') {
         // Check the similarity.
         similar_text($this->currentTitle, $ret['title'], $percent);
         if ($percent < 40) {
             if ($this->debug) {
                 $this->debugging->log(get_class(), __FUNCTION__, 'Found (' . $ret['title'] . ') from TMDB, but it\'s only ' . $percent . '% similar to (' . $this->currentTitle . ')', \Logger::LOG_INFO);
             }
             return false;
         }
     }
     $ret['tmdbid'] = $tmdbLookup->getID();
     $ImdbID = str_replace('tt', '', $tmdbLookup->get('imdb_id'));
     $ret['imdb_id'] = $ImdbID;
     $vote = $tmdbLookup->getVoteAverage();
     if (isset($vote)) {
         $ret['rating'] = $vote == 0 ? '' : $vote;
     }
     $overview = $tmdbLookup->get('overview');
     if (isset($overview)) {
         $ret['plot'] = $overview;
     }
     $tagline = $tmdbLookup->getTagline();
     if (isset($tagline)) {
         $ret['tagline'] = $tagline;
     }
     $released = $tmdbLookup->get('release_date');
     if (isset($released)) {
         $ret['year'] = date("Y", strtotime($released));
     }
     $genresa = $tmdbLookup->get('genres');
     if (isset($genresa) && sizeof($genresa) > 0) {
         $genres = [];
         foreach ($genresa as $genre) {
             $genres[] = $genre['name'];
         }
         $ret['genre'] = $genres;
     }
     $posterp = $tmdbLookup->getPoster();
     if (isset($posterp) && sizeof($posterp > 0)) {
         $ret['cover'] = "http://image.tmdb.org/t/p/w185" . $posterp;
     }
     $backdrop = $tmdbLookup->get('backdrop_path');
     if (isset($backdrop) && sizeof($backdrop) > 0) {
         $ret['backdrop'] = "http://image.tmdb.org/t/p/original" . $backdrop;
     }
     if ($this->echooutput) {
         $this->pdo->log->doEcho($this->pdo->log->primaryOver("TMDb Found ") . $this->pdo->log->headerOver($ret['title']), true);
     }
     return $ret;
 }