View file modules/movies/_functions/kinopoisk_api.php

File size: 3.85Kb
<?php
  
function kinopoisk_api($num = 10) {
  
  //9bac6c59-e005-45a9-8200-63fa86184d4a
  //71c5dd47-2ab2-40d4-bb00-4974097af5b6
  //1576af80-f100-440b-94bb-d19fb8e90583
  //4dbd33b3-6541-428f-a98a-3e72a53b9c77
  
  $curl = curl_init();
  curl_setopt($curl, CURLOPT_URL, 'https://videocdn.tv/api/short?api_token=05z2VrVSFMSvLY8FOaKiY8BvQQEBlns5&ordering=id&page='.rand(1, 9000).'&direction=desc&limit='.$num);
  curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
  curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
  $html = curl_exec($curl);
  curl_close($curl);    
  $result = json_decode($html, true);
  
  $headers = [];
  $headers[] = "X-API-KEY: 1576af80-f100-440b-94bb-d19fb8e90583";
  $headers[] = 'Content-Type: application/json';
  
  foreach ($result['data'] as $key => $value) {
    
    $kId = intval($value['kp_id']);
    $type = esc($value['type']);
    $id = esc($value['id']);
    
    if ($kId > 0 && $type == 'movie') {
      
      $curl = curl_init();
      curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
      curl_setopt($curl, CURLOPT_URL, 'https://kinopoiskapiunofficial.tech/api/v2.2/films/'.$kId);
      curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
      curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
      curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
      $html = curl_exec($curl);
      curl_close($curl);    
      $result = json_decode($html, true);
      
      if (strpos($html, 'You exceeded the quota') === false) {

        $iId = esc($result["imdbId"]);
        $name = esc($result["nameRu"]);
        $poster = esc($result["posterUrlPreview"]);
        $opis = esc($result["description"]);
        $create = esc($result["year"]);
        $iRating = esc($result["ratingImdb"]);
        $kRating = esc($result["ratingKinopoisk"]);
        $duration = esc($result["filmLength"]);
        
        $country = null;
        if (isset($result["countries"])) {
          
          foreach ($result["countries"] as $key => $value) {
            
            $country .= $value["country"].':';
          
          }
        
        }
        
        $country = esc($country);
        
        $genre = null;
        if (isset($result["genres"])) {
          
          foreach ($result["genres"] as $key => $value) {
            
            $genre .= $value["genre"].':';
          
          }
        
        }
        
        $genre = esc($genre);
        
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
        curl_setopt($curl, CURLOPT_URL, 'https://kinopoiskapiunofficial.tech/api/v1/staff?filmId='.$kId);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
        $html = curl_exec($curl);
        curl_close($curl);    
        $result = json_decode($html, true);
        
        $director = null;
        if (isset($result)) {
          
          foreach ($result as $key => $value) {
            
            if (str($value["nameRu"]) > 0) {
              
              $director .= $value["nameRu"].':';
            
            }
          
          }
        
        }
        
        if (intval($kId) > 0) {
          
          if (str($name) > 0 && str($poster) > 0 && db::get_column("SELECT COUNT(*) FROM `MOVIES` WHERE `KINOPOISK_ID` = ?", [$kId]) == 0) {
            
            db::get_add("INSERT INTO `MOVIES` (`NAME`, `OPIS`, `DURATION`, `CREATE`, `DIRECTOR`, `COUNTRY`, `GENRE`, `POSTER`, `TIME`, `KINOPOISK_ID`, `IMDB_ID`, `TYPE`, `RATING_KINOPOISK`, `RATING_IMDB`, `DONOR`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", [$name, $opis, $duration, $create, $director, $country, $genre, $poster, TM, $kId, $iId, $type, $kRating, $iRating, $id]);
          
          }
        
        }
        
      }
      
    }
    
  }
  
}