ajax.php 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. <?php
  2. // Include functions if not already included
  3. require_once('functions.php');
  4. // Upgrade environment
  5. upgradeCheck();
  6. // Lazyload settings
  7. $databaseConfig = configLazy('config/config.php');
  8. // Get Action
  9. if (isset($_POST['submit'])) { $action = $_POST['submit']; }
  10. if (isset($_POST['action'])) { $action = $_POST['action']; }
  11. if (isset($_GET['action'])) { $action = $_GET['action']; }
  12. if (isset($_GET['a'])) { $action = $_GET['a']; }
  13. unset($_POST['action']);
  14. // No Action
  15. if (!isset($action)) {
  16. debug_out('No Action Specified!',1);
  17. }
  18. // Process Request
  19. switch ($_SERVER['REQUEST_METHOD']) {
  20. case 'GET':
  21. switch ($action) {
  22. case 'emby-image':
  23. qualifyUser(EMBYHOMEAUTH, true);
  24. getEmbyImage();
  25. break;
  26. case 'plex-image':
  27. qualifyUser(PLEXHOMEAUTH, true);
  28. getPlexImage();
  29. break;
  30. case 'emby-streams':
  31. qualifyUser(EMBYHOMEAUTH, true);
  32. echo getEmbyStreams(12);
  33. break;
  34. case 'plex-streams':
  35. qualifyUser(PLEXHOMEAUTH, true);
  36. echo getPlexStreams(12);
  37. break;
  38. case 'emby-recent':
  39. qualifyUser(EMBYHOMEAUTH, true);
  40. echo getEmbyRecent($_GET['type'], 12);
  41. break;
  42. case 'plex-recent':
  43. qualifyUser(PLEXHOMEAUTH, true);
  44. echo getPlexRecent($_GET['type'], 12);
  45. break;
  46. case 'sabnzbd-update':
  47. qualifyUser(NZBGETHOMEAUTH, true);
  48. break;
  49. case 'nzbget-update':
  50. qualifyUser(NZBGETHOMEAUTH, true);
  51. break;
  52. default:
  53. debug_out('Unsupported Action!',1);
  54. }
  55. break;
  56. case 'POST':
  57. // Check if the user is an admin and is allowed to commit values
  58. qualifyUser('admin', true);
  59. switch ($action) {
  60. case 'upload-images':
  61. uploadFiles('images/', array('jpg', 'png', 'svg', 'jpeg', 'bmp'));
  62. break;
  63. case 'remove-images':
  64. removeFiles('images/'.(isset($_POST['file'])?$_POST['file']:''));
  65. break;
  66. case 'update-config':
  67. sendNotification(updateConfig($_POST));
  68. break;
  69. case 'editCSS':
  70. write_ini_file($_POST["css-show"], "custom.css");
  71. echo '<script>window.top.location = window.top.location.href.split(\'#\')[0];</script>';
  72. break;
  73. case 'update-appearance':
  74. sendNotification(updateDBOptions($_POST));
  75. break;
  76. case 'deleteDB':
  77. deleteDatabase();
  78. echo json_encode(array('result' => 'success'));
  79. break;
  80. case 'upgradeInstall':
  81. upgradeInstall();
  82. echo json_encode(array('result' => 'success'));
  83. break;
  84. case 'deleteLog':
  85. sendNotification(unlink(FAIL_LOG));
  86. break;
  87. default:
  88. debug_out('Unsupported Action!',1);
  89. }
  90. break;
  91. case 'PUT':
  92. debug_out('Unsupported Action!',1);
  93. break;
  94. case 'DELETE':
  95. debug_out('Unsupported Action!',1);
  96. break;
  97. default:
  98. debug_out('Unknown Request Type!',1);
  99. }