public function __construct(Client $client)
 {
     $this->client = $client;
     $repository = new ConfigurationRepository($client);
     $config = $repository->load();
     $this->helper = new ImageHelper($config);
 }
Пример #2
0
 public static function createNewMovie($id)
 {
     $token = new ApiToken(self::API_KEY);
     $client = new Client($token, ['secure' => false]);
     $configRepository = new ConfigurationRepository($client);
     $config = $configRepository->load();
     $repository = new MovieRepository($client);
     $newMovie = $repository->load($id);
     $movie = new Movie();
     $movie->tmdb_id = $newMovie->getId();
     $movie->imdb_id = $newMovie->getImdbId();
     $movie->title = $newMovie->getTitle();
     $movie->overview = $newMovie->getOverview();
     $movie->homepage = $newMovie->getHomepage();
     $movie->poster = $newMovie->getPosterPath();
     $movie->runtime = $newMovie->getRuntime();
     foreach ($newMovie->getReleases() as $release) {
         if (in_array($release->getIso31661(), ['US', 'TH'])) {
             $movie->rate = $release->getCertification();
             $movie->release = $release->getReleaseDate()->getTimestamp();
             break;
         }
     }
     $arrayTemp = [];
     foreach ($newMovie->getGenres() as $genre) {
         $arrayTemp[$genre->getId()] = $genre->getName();
     }
     $movie->genre = $arrayTemp;
     $arrayTemp = [];
     foreach ($newMovie->getImages() as $image) {
         $arrayTemp[] = $image->getFilePath();
     }
     $movie->image = $arrayTemp;
     $arrayTemp = [];
     foreach ($newMovie->getVideos() as $trailer) {
         $arrayTemp[] = $trailer->getUrl();
     }
     $movie->trailer = $arrayTemp;
     $arrayTemp = [];
     foreach ($newMovie->getCredits()->getCast() as $key => $person) {
         $arrayTemp[$key]['tmdb_id'] = $person->getId();
         $arrayTemp[$key]['full_name'] = $person->getName();
         $arrayTemp[$key]['image_path'] = $person->getProfilePath();
         $arrayTemp[$key]['character'] = $person->getCharacter();
         $arrayTemp[$key]['job'] = '';
         $arrayTemp[$key]['type'] = 1;
     }
     foreach ($newMovie->getCredits()->getCrew() as $key => $person) {
         $arrayTemp[$key]['tmdb_id'] = $person->getId();
         $arrayTemp[$key]['full_name'] = $person->getName();
         $arrayTemp[$key]['image_path'] = $person->getProfilePath();
         $arrayTemp[$key]['character'] = '';
         $arrayTemp[$key]['job'] = $person->getJob();
         $arrayTemp[$key]['type'] = 2;
     }
     $movie->people = $arrayTemp;
     if ($movie->save()) {
         return $movie;
     }
     throw new HttpException(500, 'Something went wrong!!');
 }