yts.php 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <?php
  2. class YTSRequest extends EngineRequest {
  3. public function get_request_url() {
  4. return "https://yts.mx/api/v2/list_movies.json?query_term=" . urlencode($this->query);
  5. }
  6. public function parse_results($response) {
  7. $response = curl_multi_getcontent($this->ch);
  8. $results = array();
  9. $json_response = json_decode($response, true);
  10. if ($json_response["status"] != "ok" || $json_response["data"]["movie_count"] == 0)
  11. return $results;
  12. foreach ($json_response["data"]["movies"] as $movie)
  13. {
  14. $name = $movie["title"];
  15. $name_encoded = urlencode($name);
  16. foreach ($movie["torrents"] as $torrent)
  17. {
  18. $hash = $torrent["hash"];
  19. $seeders = $torrent["seeds"];
  20. $leechers = $torrent["peers"];
  21. $size = $torrent["size"];
  22. $magnet = "magnet:?xt=urn:btih:$hash&dn=$name_encoded" . $this->opts->bittorrent_trackers;
  23. array_push($results,
  24. array (
  25. "size" => htmlspecialchars($size),
  26. "name" => htmlspecialchars($name),
  27. "seeders" => htmlspecialchars($seeders),
  28. "leechers" => htmlspecialchars($leechers),
  29. "magnet" => htmlspecialchars($magnet),
  30. "source" => "yts.mx"
  31. )
  32. );
  33. }
  34. }
  35. return $results;
  36. }
  37. }
  38. ?>