Advertisement
Guest User

Untitled

a guest
Oct 16th, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.33 KB | None | 0 0
  1. <?php
  2. require("mainconfig.php");
  3. header("Content-Type: application/json");
  4.  
  5. if (isset($_POST['key']) AND isset($_POST['action'])) {
  6. $post_key = mysqli_real_escape_string($db, trim($_POST['key']));
  7. $post_action = $_POST['action'];
  8. if (empty($post_key) || empty($post_action)) {
  9. $array = array("error" => "Incorrect request");
  10. } else {
  11. $check_user = mysqli_query($db, "SELECT * FROM users WHERE api_key = '$post_key'");
  12. $data_user = mysqli_fetch_assoc($check_user);
  13. if (mysqli_num_rows($check_user) == 1) {
  14. $username = $data_user['username'];
  15. if ($post_action == "add") {
  16. if (isset($_POST['service']) AND isset($_POST['link']) AND isset($_POST['quantity'])) {
  17. $post_service = $_POST['service'];
  18. $post_link = $_POST['link'];
  19. $post_quantity = $_POST['quantity'];
  20. if (empty($post_service) || empty($post_link) || empty($post_quantity)) {
  21. $array = array("error" => "Incorrect request");
  22. } else {
  23. $check_service = mysqli_query($db, "SELECT * FROM services WHERE sid = '$post_service' AND status = 'Active'");
  24. $data_service = mysqli_fetch_assoc($check_service);
  25. if (mysqli_num_rows($check_service) == 0) {
  26. $array = array("error" => "Service not found");
  27. } else {
  28. $oid = random_number(7);
  29. $rate = $data_service['price'] / 1000;
  30. $price = $rate*$post_quantity;
  31. $service = $data_service['service'];
  32. $provider = $data_service['provider'];
  33. $pid = $data_service['pid'];
  34. if ($post_quantity < $data_service['min']) {
  35. $array = array("error" => "Quantity inccorect");
  36. } else if ($post_quantity > $data_service['max']) {
  37. $array = array("error" => "Quantity inccorect");
  38. } else if ($data_user['balance'] < $price) {
  39. $array = array("error" => "Low balance");
  40. } else {
  41. $check_provider = mysqli_query($db, "SELECT * FROM provider WHERE code = '$provider'");
  42. $data_provider = mysqli_fetch_assoc($check_provider);
  43. $provider_key = $data_provider['api_key'];
  44. $provider_link = $data_provider['link'];
  45.  
  46. if ($provider == "MANUAL") {
  47. $api_postdata = "";
  48. } else if ($provider == "IRV") {
  49. $api_postdata = "api_id=1093&api_key=$provider_key&service=$pid&target=$post_link&quantity=$post_quantity";
  50. } else if ($provider == "CHEAPSOSMED") {
  51. $api_postdata = "key=$provider_key&action=add&service=$pid&link=$post_link&quantity=$post_quantity";
  52. } else if ($provider == "PULSAMEDIA") {
  53. $api_postdata = "key=$provider_key&action=add&service=$pid&link=$post_link&quantity=$post_quantity";
  54. } else if ($provider == "IK") {
  55. $api_postdata = "key=$provider_key&action=add&service=$pid&link=$post_link&quantity=$post_quantity";
  56. } else {
  57. $array = array("status" => "error", "data" => array("message" => "Server maintenance"));
  58. }
  59.  
  60. $ch = curl_init();
  61. curl_setopt($ch, CURLOPT_URL, $provider_link);
  62. curl_setopt($ch, CURLOPT_POST, 1);
  63. curl_setopt($ch, CURLOPT_POSTFIELDS, $api_postdata);
  64. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  65. curl_setopt($ch, CURLOPT_HEADER, 0);
  66. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
  67. $chresult = curl_exec($ch);
  68. curl_close($ch);
  69. $json_result = json_decode($chresult, true);
  70.  
  71.  
  72. if ($provider == "IRV" AND $json_result['error'] == TRUE ) {
  73. $array = array("status" => "error", "data" => array("message" => "Server maintenance"));
  74. } else if ($provider == "PULSAMEDIA" AND $json_result['error'] == TRUE) {
  75. $array = array("status" => "error", "data" => array("message" => "Server maintenance"));
  76. } else if ($provider == "CHEAPSOSMED" AND $json_result['error'] == TRUE) {
  77. $array = array("status" => "error", "data" => array("message" => "Server maintenance"));
  78. } else if ($provider == "IK" AND $json_result['error'] == TRUE) {
  79. $array = array("status" => "error", "data" => array("message" => "Server maintenance"));
  80. } else {
  81. if ($provider == "IRV") {
  82. $poid = $json_result['data']['id'];
  83. } else if ($provider == "KNTL") {
  84. $poid = $json_result['order'];
  85. } else if ($provider == "CHEAPSOSMED") {
  86. $poid = $json_result['data']['order_id'];
  87. } else if ($provider == "IK") {
  88. $poid = $json_result['order_id'];
  89. } else if ($provider == "MANUAL") {
  90. $poid = $oid;
  91. }
  92. $update_user = mysqli_query($db, "UPDATE users SET balance = balance-$price WHERE username = '$username'");
  93. if ($update_user == TRUE) {
  94. mysqli_query($db, "INSERT INTO balance_history (user, amount, note, date, type) VALUES ('$username', '$price', 'Order Sosial Media #$oid (API)', '$date $time', '-')");
  95. $insert_order = mysqli_query($db, "INSERT INTO orders (oid, poid, user, service, link, quantity, price, status, date, time, provider, place_from) VALUES ('$oid', '$poid', '$username', '$service', '$post_link', '$post_quantity', '$price', 'Pending', '$date', '$time', '$provider', 'API')");
  96. if ($insert_order == TRUE) {
  97. $array = array("order_id" => "$oid", "link" => $post_link, "price" => $price, "status" => Pending);
  98. } else {
  99. $array = array("error" => "System error");
  100. }
  101. } else {
  102. $array = array("error" => "System error");
  103. }
  104. }
  105. }
  106. }
  107. }
  108. } else {
  109. $array = array("error" => "Incorrect request");
  110. }
  111. } else if ($post_action == "status") {
  112. if (isset($_POST['order_id'])) {
  113. $post_oid = $_POST['order_id'];
  114. $check_order = mysqli_query($db, "SELECT * FROM orders WHERE oid = '$post_oid' AND user = '$username'");
  115. $data_order = mysqli_fetch_array($check_order);
  116. if (mysqli_num_rows($check_order) == 0) {
  117. $array = array("error" => "Order not found");
  118. } else {
  119. $array = array("charge" => $data_order['price'], "start_count" => $data_order['start_count'], "status" => $data_order['status'], "remains" => $data_order['remains']);
  120. }
  121. } else {
  122. $array = array("error" => "Incorrect request");
  123. }
  124. } else {
  125. $array = array("error" => "Wrong action");
  126. }
  127. } else {
  128. $array = array("error" => "Invalid API key");
  129. }
  130. }
  131. } else {
  132. $array = array("error" => "Incorrect request");
  133. }
  134.  
  135. $print = json_encode($array);
  136. print_r($print);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement