Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- defined('BASEPATH') or exit('No direct script access allowed');
- class Api extends Controller
- {
- public function process()
- {
- $AuthUser = $this->getVariable("AuthUser");
- $Route = $this->getVariable("Route");
- $this->{$Route->params->api}();
- }
- public function tmdb() {
- $Route = $this->getVariable("Route");
- $Settings = $this->getVariable("Settings");
- if($Route->params->action == 'auto') {
- $Posts = $this->db->from('posts')->where('type','serie')->all();
- foreach ($Posts as $Post) {
- // Guzzle Get
- $Client = new \GuzzleHttp\Client();
- $Response = $Client->request(
- 'GET',
- 'https://api.themoviedb.org/3/tv/'.$Post['imdb_id'].'?api_key=' . get($Settings,'data.tmdb_api','api') . '&language='.get($Settings,'data.tmdb_language','api')
- );
- $Listing = json_decode($Response->getBody() , true);
- // Season
- $iSeason = 1;
- foreach ($Listing['seasons'] as $Season) {
- if($Season['season_number'] == '0') { continue; }
- $CheckSeason = $this->db->from('posts_season')->where('content_id',$Post['id'])->where('name',$Season['season_number'])->first();
- if(empty($CheckSeason['id'])) {
- $dataarray = array(
- "content_id" => $Post['id'],
- "name" => $Season['season_number']
- );
- $this->db->insert('posts_season')->set($dataarray);
- $SeasonId = $this->db->lastId();
- } else {
- $SeasonId = $CheckSeason['id'];
- }
- $iSeason++;
- $SeasonNumber = Input::cleaner(filter_var(trim($Season['season_number']), FILTER_SANITIZE_NUMBER_INT));
- // Episode
- $Episodes = $Client->request(
- 'GET',
- 'https://api.themoviedb.org/3/tv/' . $Post['imdb_id'] . '/season/'.$Season['season_number'].'?api_key=' . get($Settings,'data.tmdb_api','api') . '&language='.get($Settings,'data.tmdb_language','api')
- );
- $Episodes = json_decode($Episodes->getBody() , true);
- foreach ($Episodes['episodes'] as $Episode) {
- $CheckEpisode = $this->db->from('posts_episode')->where('content_id',$Post['id'])->where('season_id',$SeasonId)->where('name',Input::cleaner($Episode['episode_number']))->first();
- if(empty($CheckEpisode)) {
- $Image = 'https://image.tmdb.org/t/p/original/'.$Episode['still_path'];
- $Data = array(
- 'name' => Input::cleaner($Episode['episode_number']),
- 'self' => Input::seo($Episode['episode_number']),
- 'description' => Input::cleaner($Episode['name']),
- 'season_id' => $SeasonId,
- 'content_id' => $Post['id'],
- 'release_date' => $Episode['air_date'],
- 'image' => $Image,
- 'status' => 1,
- 'created' => date('Y-m-d H:i:s')
- );
- $this->db->insert('posts_episode')->set($Data);
- $EpisodeId = $this->db->lastId();
- }
- }
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment