downloader.php 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. <?php
  2. $auth = strpos($_SERVER['HTTP_REFERER'], "homepage.php");
  3. if ($auth === false) { die("WTF? Bro!"); }
  4. require_once("user.php");
  5. isset($_GET['downloader']) ? $downloader = $_GET['downloader'] : die("Error");
  6. isset($_GET['list']) ? $list = $_GET['list'] : die("Error");
  7. if($downloader == "nzbget"){
  8. $url = NZBGETURL;
  9. $port = NZBGETPORT;
  10. $username = NZBGETUSERNAME;
  11. $password = NZBGETPASSWORD;
  12. $urlCheck = stripos($url, "http");
  13. if ($urlCheck === false) {
  14. $url = "http://" . $url;
  15. }
  16. if($port !== ""){ $url = $url . ":" . $port; }
  17. $address = $url;
  18. $api = file_get_contents("$url/$username:$password/jsonrpc/$list");
  19. $api = json_decode($api, true);
  20. $i = 0;
  21. $gotNZB = "";
  22. foreach ($api['result'] AS $child) {
  23. $i++;
  24. $downloadName = $child['NZBName'];
  25. $downloadStatus = $child['Status'];
  26. $downloadCategory = $child['Category'];
  27. if($list == "history"){
  28. $downloadPercent = "100";
  29. $progressBar = "";
  30. }
  31. if($list == "listgroups"){ $downloadPercent = (($child['FileSizeMB'] - $child['RemainingSizeMB']) / $child['FileSizeMB']) * 100; $progressBar = "progress-bar-striped active"; }
  32. if($child['Health'] <= "750"){
  33. $downloadHealth = "danger";
  34. }elseif($child['Health'] <= "900"){
  35. $downloadHealth = "warning";
  36. }elseif($child['Health'] <= "1000"){
  37. $downloadHealth = "success";
  38. }
  39. $gotNZB .= '<tr>
  40. <td>'.$downloadName.'</td>
  41. <td>'.$downloadStatus.'</td>
  42. <td>'.$downloadCategory.'</td>
  43. <td>
  44. <div class="progress">
  45. <div class="progress-bar progress-bar-'.$downloadHealth.' '.$progressBar.'" role="progressbar" aria-valuenow="'.$downloadPercent.'" aria-valuemin="0" aria-valuemax="100" style="width: '.$downloadPercent.'%">
  46. <p class="text-center">'.round($downloadPercent).'%</p>
  47. <span class="sr-only">'.$downloadPercent.'% Complete</span>
  48. </div>
  49. </div>
  50. </td>
  51. </tr>';
  52. }
  53. if($i > 0){ echo $gotNZB; }
  54. if($i == 0){ echo '<tr><td colspan="4"><p class="text-center">No Results</p></td></tr>'; }
  55. }
  56. if($downloader == "sabnzbd"){
  57. $url = SABNZBDURL;
  58. $port = SABNZBDPORT;
  59. $key = SABNZBDKEY;
  60. $urlCheck = stripos($url, "http");
  61. if ($urlCheck === false) {
  62. $url = "http://" . $url;
  63. }
  64. if($port !== ""){ $url = $url . ":" . $port; }
  65. $address = $url;
  66. $api = file_get_contents("$url/api?mode=$list&output=json&apikey=$key&limit=40");
  67. $api = json_decode($api, true);
  68. $i = 0;
  69. $gotNZB = "";
  70. foreach ($api[$list]['slots'] AS $child) {
  71. $i++;
  72. if($list == "queue"){
  73. $downloadName = $child['filename'];
  74. $downloadCategory = $child['cat'];
  75. $downloadPercent = (($child['mb'] - $child['mbleft']) / $child['mb']) * 100;
  76. $progressBar = "progress-bar-striped active";
  77. if($child['missing'] > "400"){
  78. $downloadHealth = "danger";
  79. }elseif($child['missing'] <= "200"){
  80. $downloadHealth = "success";
  81. }elseif($child['missing'] <= "400"){
  82. $downloadHealth = "warning";
  83. }
  84. }
  85. if($list == "history"){
  86. $downloadName = $child['name'];
  87. $downloadCategory = $child['category'];
  88. $downloadPercent = "100";
  89. $progressBar = "";
  90. $downloadHealth = "success";
  91. }
  92. $downloadStatus = $child['status'];
  93. $gotNZB .= '<tr>
  94. <td>'.$downloadName.'</td>
  95. <td>'.$downloadStatus.'</td>
  96. <td>'.$downloadCategory.'</td>
  97. <td>
  98. <div class="progress">
  99. <div class="progress-bar progress-bar-'.$downloadHealth.' '.$progressBar.'" role="progressbar" aria-valuenow="'.$downloadPercent.'" aria-valuemin="0" aria-valuemax="100" style="width: '.$downloadPercent.'%">
  100. <p class="text-center">'.round($downloadPercent).'%</p>
  101. <span class="sr-only">'.$downloadPercent.'% Complete</span>
  102. </div>
  103. </div>
  104. </td>
  105. </tr>';
  106. }
  107. if($i > 0){ echo $gotNZB; }
  108. if($i == 0){ echo '<tr><td colspan="4"><p class="text-center">No Results</p></td></tr>'; }
  109. }
  110. ?>