public function __construct(Client $client) { $this->client = $client; $repository = new ConfigurationRepository($client); $config = $repository->load(); $this->helper = new ImageHelper($config); }
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!!'); }