Tmdb Client Error: {"success":false,"status_code":11,"status_message":"Internal error: Something went wrong, contact TMDb.","combined_credits":{"cast":[{"adult":false,"backdrop_path":null,"genre_ids":[10402],"id":1219052,"original_language":"cs","original_title":"K poctě Davida Stypky","overview":"","popularity":0.305,"poster_path":null,"release_date":"2023-12-15","title":"K poctě Davida Stypky","video":false,"vote_average":0.0,"vote_count":0,"character":"Self","credit_id":"65ae77c167b61300afeff617","order":8,"media_type":"movie"},{"adult":false,"backdrop_path":null,"genre_ids":[10402],"id":796948,"original_language":"cs","original_title":"Tomáš Klus – RecyKlus Tour","overview":"","popularity":0.024,"poster_path":null,"release_date":"2018-03-30","title":"Tomáš Klus – RecyKlus Tour","video":false,"vote_average":0.0,"vote_count":0,"character":"Self","credit_id":"607d78dbae28110057e8b33c","order":2,"media_type":"movie"},{"adult":false,"backdrop_path":null,"genre_ids":[10402],"id":845636,"original_language":"cs","original_title":"Ewa Farna – Buď virtuální","overview":"","popularity":0.104,"poster_path":null,"release_date":"2020-10-15","title":"Ewa Farna – Buď virtuální","video":false,"vote_average":0.0,"vote_count":0,"character":"Bass","credit_id":"60d9bba7cc277c0028ea23b7","order":1,"media_type":"movie"}],"crew":[{"adult":false,"backdrop_path":"/73WLj0OKqrNQKBvoh73Tz7ngCAd.jpg","genre_ids":[14,10751],"id":919695,"original_language":"cs","original_title":"Jak si nevzít princeznu","overview":"","popularity":2.967,"poster_path":"/fxZQNV84X6ltE0uJUl9qwViQ6H5.jpg","release_date":"2021-12-24","title":"Jak si nevzít princeznu","video":false,"vote_average":7.3,"vote_count":9,"credit_id":"63a81c8aaaec7100bb4ec9a5","department":"Sound","job":"Musician","media_type":"movie"},{"adult":false,"backdrop_path":null,"genre_ids":[99,10402],"id":1295093,"original_language":"cs","original_title":"Velký finále PSO","overview":"The Police Symphony Orchestra is an amateur musical ensemble comprised of hundreds of musicians, singers, and volunteers from a small town. With infectious energy, they embark on increasingly ambitious projects – selling out the legendary Lucerna, organizing a charity concert for 5,000 spectators, and performing with international stars. Dreams and plans are great, but when you want to bring them to life and face all challenges, it's no joke. Will their enthusiasm withstand the clash with adulthood, and will the members of PSO find what truly matters in life? A documentary chronicle of an extraordinary musical group venturing onto grand stages, it's also a personal testimony of ordinary young people about the world around us.","popularity":0.347,"poster_path":"/wgcC6511AjV9WdGtdilHYwZdoZk.jpg","release_date":"2024-08-29","title":"The Grand Finale of PSO","video":false,"vote_average":0.0,"vote_count":0,"credit_id":"66509caad04f16d9ac350be1","department":"Sound","job":"Original Music Composer","media_type":"movie"}]}}
96 'Content-Type' => 'application/json;charset=utf-8',
97 'Authorization' => sprintf('Bearer %s', Configurator::$instance->get('tmdb'))
98 ];
99
100 // Append language preference to headers to avoid adult content
101 $headers['Accept-Language'] = 'en-US'; // Example: Set language preference to English
102
103 // Make the GET request with headers
104 $resp = EasyCurl::setHeaders($headers)->get(...$args);
105
106 // Check if response status is not 200 OK
107 if ($resp->getStatus() != 200) {
108 throw new TmdbClientException('Tmdb Client Error: ' . $resp->getBody(), $resp->getStatus());
109 }
110
111 // Check for adult content in response (assuming TMDB API supports such filtering)
112 $jsonResponse = json_decode($resp->getBody(), true);
113
114
115 return $resp;
116 }
117
118
119 public function getGenre(): array
120 {
121 return $this->request('genre/' . $this->getType() . '/list')['genres'] ?? [];