Advertisement
Guest User

Untitled

a guest
Jun 24th, 2022
31
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.93 KB | None
  1. <?php
  2. /**
  3. *
  4. * @ This file is created by http://DeZender.Net
  5. * @ deZender (PHP7 Decoder for ionCube Encoder)
  6. *
  7. * @ Version : 4.1.0.1
  8. * @ Author : DeZender
  9. * @ Release on : 29.08.2020
  10. * @ Official site : http://DeZender.Net
  11. *
  12. */
  13.  
  14. class API
  15. {
  16. static public $db;
  17. static public $rSettings = [];
  18. static public $rServers = [];
  19. static public $rProxyServers = [];
  20. static public $rUserInfo = [];
  21.  
  22. static public function init($D78ff1d0edade5eb = NULL)
  23. {
  24. self::$rSettings = A5Fc308345057e29();
  25. self::$rServers = F6da964066F2f5E4();
  26. self::$rProxyServers = a4338a704A6a7789();
  27. if (!(!$D78ff1d0edade5eb && isset($_SESSION['hash']))) {
  28. goto label24;
  29. }
  30.  
  31. $D78ff1d0edade5eb = $_SESSION['hash'];
  32.  
  33. label24:
  34.  
  35. if (!$D78ff1d0edade5eb) {
  36. goto label32;
  37. }
  38.  
  39. self::$rUserInfo = FE76C4BcaF81Baa4($D78ff1d0edade5eb);
  40.  
  41. label32:
  42. }
  43.  
  44. static private function F228E3d146E758b1($a27e64cc6ce01033)
  45. {
  46. switch (debug_backtrace()[1]['function']) {
  47. case 'scheduleRecording':
  48. return !empty($a27e64cc6ce01033['title']) && !empty($a27e64cc6ce01033['source_id']);
  49. case 'processProvider':
  50. return !empty($a27e64cc6ce01033['ip']) && !empty($a27e64cc6ce01033['port']) && !empty($a27e64cc6ce01033['username']) && !empty($a27e64cc6ce01033['password']) && !empty($a27e64cc6ce01033['name']);
  51. case 'processBouquet':
  52. return !empty($a27e64cc6ce01033['bouquet_name']);
  53. case 'processGroup':
  54. return !empty($a27e64cc6ce01033['group_name']);
  55. case 'processPackage':
  56. return !empty($a27e64cc6ce01033['package_name']);
  57. case 'processCategory':
  58. return !empty($a27e64cc6ce01033['category_name']) && !empty($a27e64cc6ce01033['category_type']);
  59. case 'processCode':
  60. return !empty($a27e64cc6ce01033['code']);
  61. case 'reorderBouquet':
  62. case 'setChannelOrder':
  63. return is_array(json_decode($a27e64cc6ce01033['stream_order_array'], true));
  64. case 'sortBouquets':
  65. return is_array(json_decode($a27e64cc6ce01033['bouquet_order_array'], true));
  66. case 'blockIP':
  67. case 'processRTMPIP':
  68. return !empty($a27e64cc6ce01033['ip']);
  69. case 'processChannel':
  70. case 'processStream':
  71. case 'processMovie':
  72. case 'processRadio':
  73. return !empty($a27e64cc6ce01033['stream_display_name']) || isset($a27e64cc6ce01033['review']) || isset($_FILES['m3u_file']);
  74. case 'processEpisode':
  75. return !empty($a27e64cc6ce01033['series']) && is_numeric($a27e64cc6ce01033['season_num']) && is_numeric($a27e64cc6ce01033['episode']);
  76. case 'processSeries':
  77. return !empty($a27e64cc6ce01033['title']);
  78. case 'processEPG':
  79. return !empty($a27e64cc6ce01033['epg_name']) && !empty($a27e64cc6ce01033['epg_file']);
  80. case 'massEditEpisodes':
  81. case 'massEditMovies':
  82. case 'massEditRadios':
  83. case 'massEditStreams':
  84. case 'massEditChannels':
  85. case 'massDeleteStreams':
  86. return is_array(json_decode($a27e64cc6ce01033['streams'], true));
  87. case 'massEditSeries':
  88. case 'massDeleteSeries':
  89. return is_array(json_decode($a27e64cc6ce01033['series'], true));
  90. case 'massEditLines':
  91. case 'massEditUsers':
  92. return is_array(json_decode($a27e64cc6ce01033['users_selected'], true));
  93. case 'massEditMags':
  94. case 'massEditEnigmas':
  95. return is_array(json_decode($a27e64cc6ce01033['devices_selected'], true));
  96. case 'processISP':
  97. return !empty($a27e64cc6ce01033['isp']);
  98. case 'massDeleteMovies':
  99. return is_array(json_decode($a27e64cc6ce01033['movies'], true));
  100. case 'massDeleteLines':
  101. return is_array(json_decode($a27e64cc6ce01033['lines'], true));
  102. case 'massDeleteUsers':
  103. return is_array(json_decode($a27e64cc6ce01033['users'], true));
  104. case 'massDeleteStations':
  105. return is_array(json_decode($a27e64cc6ce01033['radios'], true));
  106. case 'massDeleteMags':
  107. return is_array(json_decode($a27e64cc6ce01033['mags'], true));
  108. case 'massDeleteEnigmas':
  109. return is_array(json_decode($a27e64cc6ce01033['enigmas'], true));
  110. case 'massDeleteEpisodes':
  111. return is_array(json_decode($a27e64cc6ce01033['episodes'], true));
  112. case 'processMAG':
  113. case 'processEnigma':
  114. return !empty($a27e64cc6ce01033['mac']);
  115. case 'processProfile':
  116. return !empty($a27e64cc6ce01033['profile_name']);
  117. case 'processProxy':
  118. case 'processServer':
  119. return !empty($a27e64cc6ce01033['server_name']) && !empty($a27e64cc6ce01033['server_ip']);
  120. case 'installServer':
  121. return !empty($a27e64cc6ce01033['ssh_port']) && !empty($a27e64cc6ce01033['root_password']);
  122. case 'orderCategories':
  123. return is_array(json_decode($a27e64cc6ce01033['categories'], true));
  124. case 'orderServers':
  125. return is_array(json_decode($a27e64cc6ce01033['server_order'], true));
  126. case 'moveStreams':
  127. return !empty($a27e64cc6ce01033['content_type']) && !empty($a27e64cc6ce01033['source_server']) && !empty($a27e64cc6ce01033['replacement_server']);
  128. case 'replaceDNS':
  129. return !empty($a27e64cc6ce01033['old_dns']) && !empty($a27e64cc6ce01033['new_dns']);
  130. case 'processUA':
  131. return !empty($a27e64cc6ce01033['user_agent']);
  132. case 'processWatchFolder':
  133. return !empty($a27e64cc6ce01033['folder_type']) && !empty($a27e64cc6ce01033['selected_path']) && !empty($a27e64cc6ce01033['server_id']);
  134. }
  135.  
  136. return true;
  137. }
  138.  
  139. static public function c6cef67e40287e05($a27e64cc6ce01033)
  140. {
  141. goto label58;
  142.  
  143. label2:
  144.  
  145. goto label211;
  146.  
  147. label3:
  148.  
  149. if (AACd47D8157A1A09('adv', 'edit_bouquet')) {
  150. goto label10;
  151. }
  152.  
  153. exit();
  154.  
  155. label10:
  156.  
  157. goto label202;
  158.  
  159. label11:
  160.  
  161. if (!(0 < count($e24e7ecdb6d1742e))) {
  162. goto label57;
  163. }
  164.  
  165. self::$db->query('SELECT `id`, `type` FROM `streams` WHERE `id` IN (' . implode(',', $e24e7ecdb6d1742e) . ');');
  166.  
  167. foreach (self::$db->get_rows() as $C740da31596f24ef) {
  168. if (!(intval($C740da31596f24ef['type']) == 3)) {
  169. goto label44;
  170. }
  171.  
  172. $C740da31596f24ef['type'] = 1;
  173.  
  174. label44:
  175.  
  176. $A2b85ede89f9df0c[intval($C740da31596f24ef['type'])][] = intval($C740da31596f24ef['id']);
  177. }
  178.  
  179. label57:
  180.  
  181. goto label156;
  182.  
  183. label58:
  184.  
  185. global $_;
  186.  
  187. if (self::f228E3D146e758B1($a27e64cc6ce01033)) {
  188. goto label68;
  189. }
  190.  
  191. return ['status' => STATUS_INVALID_INPUT, 'data' => $a27e64cc6ce01033];
  192.  
  193. label68:
  194.  
  195. if (isset($a27e64cc6ce01033['edit'])) {
  196. goto label3;
  197. }
  198.  
  199. goto label188;
  200.  
  201. label72:
  202.  
  203. $A6d7047f2fda966c = 'REPLACE INTO `bouquets`(' . $acd0eb2c8a975903['columns'] . ') VALUES(' . $acd0eb2c8a975903['placeholder'] . ');';
  204.  
  205. if (self::$db->query($A6d7047f2fda966c, ...$acd0eb2c8a975903['data'])) {
  206. goto label92;
  207. }
  208.  
  209. return ['status' => STATUS_FAILURE, 'data' => $a27e64cc6ce01033];
  210. goto label122;
  211.  
  212. label92:
  213.  
  214. goto label110;
  215.  
  216. label93:
  217.  
  218. $f70bd4c3ff51b9e5 = $E38df3d8274b8751['movies'];
  219. $A921a65a5475186f = $E38df3d8274b8751['radios'];
  220. $d06d5ff50606006c = $E38df3d8274b8751['series'];
  221. $e24e7ecdb6d1742e = confirmIDs(array_merge($F5c13ea196d72c3e, $f70bd4c3ff51b9e5, $A921a65a5475186f));
  222. $A2b85ede89f9df0c = [];
  223. goto label11;
  224.  
  225. label110:
  226.  
  227. $Fc2dc5a0ce8d07ea = self::$db->last_insert_id();
  228. b47820f6e3A74994($Fc2dc5a0ce8d07ea);
  229. return [
  230. 'status' => STATUS_SUCCESS,
  231. 'data' => ['insert_id' => $Fc2dc5a0ce8d07ea]
  232. ];
  233.  
  234. label122:
  235.  
  236. goto label287;
  237.  
  238. label123:
  239.  
  240. if (isset($a27e64cc6ce01033['edit'])) {
  241. goto label141;
  242. }
  243.  
  244. self::$db->query('SELECT MAX(`bouquet_order`) AS `max` FROM `bouquets`;');
  245. $d49041d5f05a9270['bouquet_order'] = intval(self::$db->get_row()['max']) + 1;
  246.  
  247. label141:
  248.  
  249. $acd0eb2c8a975903 = F4817DC607d9981d($d49041d5f05a9270);
  250. goto label72;
  251.  
  252. label146:
  253.  
  254. goto label286;
  255.  
  256. label147:
  257.  
  258. $E38df3d8274b8751 = json_decode($a27e64cc6ce01033['bouquet_data'], true);
  259. $F5c13ea196d72c3e = $E38df3d8274b8751['stream'];
  260. goto label93;
  261.  
  262. label156:
  263.  
  264. if (!(0 < count($d06d5ff50606006c))) {
  265. goto label187;
  266. }
  267.  
  268. self::$db->query('SELECT `id` FROM `streams_series` WHERE `id` IN (' . implode(',', $d06d5ff50606006c) . ');');
  269.  
  270. foreach (self::$db->get_rows() as $C740da31596f24ef) {
  271. $A2b85ede89f9df0c[5][] = intval($C740da31596f24ef['id']);
  272. }
  273.  
  274. label187:
  275.  
  276. goto label230;
  277.  
  278. label188:
  279.  
  280. if (AAcd47d8157A1a09('adv', 'add_bouquet')) {
  281. goto label195;
  282. }
  283.  
  284. exit();
  285.  
  286. label195:
  287.  
  288. $d49041d5f05a9270 = b9DA5D708Fc1C079('bouquets', $a27e64cc6ce01033);
  289. unset($d49041d5f05a9270['id']);
  290. goto label2;
  291.  
  292. label202:
  293.  
  294. $d49041d5f05a9270 = ebDaAFc1c10F9506(c8ADB574F9477F84($a27e64cc6ce01033['edit']), $a27e64cc6ce01033);
  295.  
  296. label211:
  297.  
  298. if (is_array(json_decode($a27e64cc6ce01033['bouquet_data'], true))) {
  299. goto label147;
  300. }
  301.  
  302. if (!isset($a27e64cc6ce01033['edit'])) {
  303. goto label146;
  304. }
  305.  
  306. return ['status' => STATUS_FAILURE, 'data' => $a27e64cc6ce01033];
  307. goto label146;
  308.  
  309. label230:
  310.  
  311. $d49041d5f05a9270['bouquet_channels'] = array_intersect(array_map('intval', array_values($F5c13ea196d72c3e)), $A2b85ede89f9df0c[1]);
  312. $d49041d5f05a9270['bouquet_movies'] = array_intersect(array_map('intval', array_values($f70bd4c3ff51b9e5)), $A2b85ede89f9df0c[2]);
  313. $d49041d5f05a9270['bouquet_radios'] = array_intersect(array_map('intval', array_values($A921a65a5475186f)), $A2b85ede89f9df0c[4]);
  314. $d49041d5f05a9270['bouquet_series'] = array_intersect(array_map('intval', array_values($d06d5ff50606006c)), $A2b85ede89f9df0c[5]);
  315.  
  316. label286:
  317.  
  318. goto label123;
  319.  
  320. label287:
  321. }
  322.  
  323. static public function c26A6946575a9b88($a27e64cc6ce01033)
  324. {
  325. goto label56;
  326.  
  327. label2:
  328.  
  329. $a7fc478ffc10af80 = NULL;
  330. unset($d49041d5f05a9270['id']);
  331. goto label94;
  332.  
  333. label5:
  334.  
  335. $d49041d5f05a9270 = eBDaAfC1C10F9506(B49a6A53ABb5a42B($a27e64cc6ce01033['edit']), $a27e64cc6ce01033);
  336. goto label92;
  337.  
  338. label15:
  339.  
  340. return ['status' => STATUS_RESERVED_CODE, 'data' => $a27e64cc6ce01033];
  341.  
  342. label19:
  343.  
  344. goto label166;
  345.  
  346. label20:
  347.  
  348. goto label162;
  349.  
  350. label21:
  351.  
  352. if (isset($a27e64cc6ce01033['edit'])) {
  353. goto label31;
  354. }
  355.  
  356. self::$db->query('SELECT `id` FROM `access_codes` WHERE `code` = ?;', $a27e64cc6ce01033['code']);
  357. ....................................................................
  358. .......................................
  359. ................
Advertisement
RAW Paste Data Copied
Advertisement