Advertisement
Guest User

Untitled

a guest
Mar 22nd, 2019
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.32 KB | None | 0 0
  1. <?php
  2. session_start();
  3. require("../mainconfig.php");
  4.  
  5. if (isset($_SESSION['user'])) {
  6. $sess_username = $_SESSION['user']['username'];
  7. $check_user = mysqli_query($db, "SELECT * FROM users WHERE username = '$sess_username'");
  8. $data_user = mysqli_fetch_assoc($check_user);
  9. if (mysqli_num_rows($check_user) == 0) {
  10. header("Location: ".$cfg_baseurl."logout.php");
  11. } else if ($data_user['status'] == "Suspended") {
  12. header("Location: ".$cfg_baseurl."logout.php");
  13. }
  14.  
  15. include("../lib/header.php");
  16. $msg_type = "nothing";
  17.  
  18. if (isset($_POST['order'])) {
  19. $post_service = $_POST['service'];
  20. if(isset($_POST['comments'])){
  21. $post_quantity =count(explode("\n",$_POST['comments']));
  22. $post_comments = $_POST['comments'];
  23. } else {
  24. $post_quantity = $_POST['quantity'];
  25. }
  26. $post_service = $_POST['service'];
  27. $post_quantity = $_POST['quantity'];
  28. $post_link = trim($_POST['link']);
  29. $check_service = mysqli_query($db, "SELECT * FROM services WHERE sid = '$post_service' AND status = 'Active'");
  30. $data_service = mysqli_fetch_assoc($check_service);
  31.  
  32. $check_orders = mysqli_query($db, "SELECT * FROM orders WHERE link = '$post_link' AND status IN ('Pending','Processing')");
  33. $data_orders = mysqli_fetch_assoc($check_orders);
  34. $rate = $data_service['price'] / 1000;
  35. $price = $rate*$post_quantity;
  36. $oid = random_number(3).random_number(4);
  37. $service = $data_service['service'];
  38. $provider = $data_service['provider'];
  39. $pid = $data_service['pid'];
  40.  
  41. $check_provider = mysqli_query($db, "SELECT * FROM provider WHERE code = '$provider'");
  42. $data_provider = mysqli_fetch_assoc($check_provider);
  43.  
  44. if (empty($post_service) || empty($post_link) || empty($post_quantity)) {
  45. $msg_type = "error";
  46. $msg_content = "<b>Gagal:</b> Mohon mengisi input.";
  47. } else if (mysqli_num_rows($check_orders) == 1) {
  48. $msg_type = "error";
  49. $msg_content = "<b>Gagal:</b> Terdapat Orderan Username Yang Sama Dan berstatus Pending/Processing.";
  50. } else if (mysqli_num_rows($check_service) == 0) {
  51. $msg_type = "error";
  52. $msg_content = "<b>Gagal:</b> Layanan tidak ditemukan.";
  53. } else if (mysqli_num_rows($check_provider) == 0) {
  54. $msg_type = "error";
  55. $msg_content = "<b>Gagal:</b> Server Maintenance.";
  56. } else if ($post_quantity < $data_service['min']) {
  57. $msg_type = "error";
  58. $msg_content = "<b>Gagal:</b> Jumlah minimal adalah ".$data_service['min'].".";
  59. } else if ($post_quantity > $data_service['max']) {
  60. $msg_type = "error";
  61. $msg_content = "<b>Gagal:</b> Jumlah maksimal adalah ".$data_service['max'].".";
  62. } else if ($data_user['balance'] < $price) {
  63. $msg_type = "error";
  64. $msg_content = "<b>Gagal:</b> Saldo Anda tidak mencukupi untuk melakukan pembelian ini.";
  65. } else {
  66.  
  67. // api data
  68. $api_link = $data_provider['link'];
  69. $api_key = $data_provider['api_key'];
  70. // end api data
  71.  
  72. if ($provider == "MANUAL") {
  73. $api_postdata = "";
  74. $poid = $oid;
  75. } else if ($provider == "WSTORE") {
  76. if(isset($_POST['comments'])){
  77. $postdata = "api_id=$api_id&api_key=$api_key&service=$pid&target=$post_link&quantity=$post_quantity&custom_comments=$post_comments";
  78. } else {
  79. $postdata = "api_id=$api_id&api_key=$api_key&service=$pid&target=$post_link&quantity=$post_quantity";
  80. }
  81. $ch = curl_init();
  82. curl_setopt($ch, CURLOPT_URL, $api_link);
  83. curl_setopt($ch, CURLOPT_POST, 1);
  84. curl_setopt($ch, CURLOPT_POSTFIELDS, $api_postdata);
  85. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  86. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  87. $chresult = curl_exec($ch);
  88. curl_close($ch);
  89. $json_result = json_decode($chresult);
  90. } else if ($provider == "UCAPEDIA") {
  91. if(isset($_POST['comments'])){
  92. $postdata = "key=$api_key&service=$pid&target=$post_link&quantity=$post_quantity&custom_comments=$post_comments";
  93. } else {
  94. $postdata = "key=$api_key&service=$pid&target=$post_link&quantity=$post_quantity";
  95. }
  96. $ch = curl_init();
  97. curl_setopt($ch, CURLOPT_URL, $api_link);
  98. curl_setopt($ch, CURLOPT_POST, 1);
  99. curl_setopt($ch, CURLOPT_POSTFIELDS, $api_postdata);
  100. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  101. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  102. $chresult = curl_exec($ch);
  103. curl_close($ch);
  104. $json_result = json_decode($chresult);
  105. } else {
  106. die("System Error!");
  107. }
  108.  
  109. if ($provider == "WSTORE" AND $json_result->status == false) {
  110. $msg_type = "error";
  111. $msg_content = "<b>Failed:</b> ".$json_result->data." .";
  112. } elseif ($provider == "UCAPEDIA" AND $json_result->status == false) {
  113. $msg_type = "error";
  114. $msg_content = "<b>Failed:</b> ".$json_result->data." .";
  115. } else {
  116. if ($provider == "WSTORE") {
  117. $poid = $json_result->data->id;
  118. } else if ($provider == "UCAPEDIA") {
  119. $poid = $json_result->data->id;
  120. } else if ($provider == "MANUAL") {
  121. $poid = $oid;
  122. }
  123. $update_user = mysqli_query($db, "UPDATE users SET balance = balance-$price WHERE username = '$sess_username'");
  124. if ($update_user == TRUE) {
  125. $insert_order = mysqli_query($db, "INSERT INTO orders (oid, poid, user, service, link, quantity, price, status, date, provider, place_from) VALUES ('$oid', '$poid', '$sess_username', '$service', '$post_link', '$post_quantity', '$price', 'Pending', '$date', '$provider', 'WEB')");
  126. if ($insert_order == TRUE) {
  127. $msg_type = "success";
  128. $msg_content = "<b>Pesanan telah diterima.</b><br /><b>Layanan:</b> $service<br /><b>Link:</b> $post_link<br /><b>Jumlah:</b> ".number_format($post_quantity,0,',','.')."<br /><b>Biaya:</b> Rp ".number_format($price,0,',','.');
  129. } else {
  130. $msg_type = "error";
  131. $msg_content = "<b>Gagal:</b> Error system (2).";
  132. }
  133. } else {
  134. $msg_type = "error";
  135. $msg_content = "<b>Gagal:</b> Error system (1).";
  136. }
  137. }
  138. }
  139. }
  140.  
  141. $check_user = mysqli_query($db, "SELECT * FROM users WHERE username = '$sess_username'");
  142. $data_user = mysqli_fetch_assoc($check_user);
  143. ?>
  144. <div class="row">
  145. <div class="col-md-7">
  146. <div class="panel panel-default">
  147. <div class="panel-heading">
  148. <h3 class="panel-title"><i class="fa fa-shopping-cart"></i> Pesanan All Sosmed</h3>
  149. </div>
  150. <div class="panel-body">
  151. <?php
  152. if ($msg_type == "success") {
  153. ?>
  154. <div class="alert alert-success">
  155. <a href="#" class="close" data-dismiss="alert" aria-label="close">×</a>
  156. <i class="fa fa-check-circle"></i>
  157. <?php echo $msg_content; ?>
  158. </div>
  159. <?php
  160. } else if ($msg_type == "error") {
  161. ?>
  162. <div class="alert alert-danger">
  163. <a href="#" class="close" data-dismiss="alert" aria-label="close">×</a>
  164. <i class="fa fa-times-circle"></i>
  165. <?php echo $msg_content; ?>
  166. </div>
  167. <?php
  168. }
  169. ?>
  170. <form class="form-horizontal" role="form" method="POST">
  171. <div class="form-group">
  172. <label class="col-md-2 control-label">Kategori</label>
  173. <div class="col-md-10">
  174. <select class="form-control" id="category">
  175. <option value="0">Pilih kategori...</option>
  176. <?php
  177. $check_cat = mysqli_query($db, "SELECT * FROM service_cat ORDER BY name ASC");
  178. while ($data_cat = mysqli_fetch_assoc($check_cat)) {
  179. ?>
  180. <option value="<?php echo $data_cat['code']; ?>"><?php echo $data_cat['name']; ?></option>
  181. <?php
  182. }
  183. ?>
  184. </select>
  185. </div>
  186. </div>
  187. <div class="form-group">
  188. <label class="col-md-2 control-label">Layanan</label>
  189. <div class="col-md-10">
  190. <select class="form-control" name="service" id="service">
  191. <option value="0">Pilih layanan...</option>
  192. </select>
  193. </div>
  194. </div>
  195. <div id="note">
  196. </div>
  197. <div class="form-group">
  198. <label class="col-md-2 control-label">Link / Target</label>
  199. <div class="col-md-10">
  200. <input type="text" name="link" class="form-control" placeholder="Link / Target">
  201. </div>
  202. </div>
  203. <div class="form-group">
  204. <label class="col-md-2 control-label">Jumlah</label>
  205. <div class="col-md-10">
  206. <input type="number" name="quantity" class="form-control" placeholder="Jumlah" onkeyup="get_total(this.value).value;">
  207. </div>
  208. </div>
  209.  
  210. <input type="hidden" id="rate" value="0">
  211. <div class="form-group">
  212. <label class="col-md-2 control-label">Total Harga</label>
  213. <div class="col-md-10">
  214. <input type="number" class="form-control" id="total" readonly>
  215. </div>
  216. </div>
  217. <button type="submit" class="pull-right btn btn-success btn-bordered waves-effect w-md waves-light" name="order">Buat Pesanan</button>
  218. </form>
  219. </div>
  220. </div>
  221. </div>
  222. <div class="col-md-5">
  223. <div class="panel panel-default">
  224. <div class="panel-heading">
  225. <h3 class="panel-title"><i class="fa fa-info-circle"></i> Informasi Pemesanan</h3>
  226. </div>
  227. <div class="panel-body">
  228. <ul>
  229. <li>Pastikan Link / Target yang di input benar dan valid.</li>
  230. <li>Pastikan akun target tidak berstatus private.</li>
  231. <li>Jangan input data yang sama dengan pesanan sebelumnya, apabila pesanan sebelumnya belum Success.</li>
  232. <li>Apabila pesanan tidak mengalami perubahan status, silahkan hubungi Developer untuk ditangani.</li>
  233. <li>Tidak ada pengembalian dana untuk kesalahan pengguna.</li>
  234. </ul>
  235. </ul>
  236. </div>
  237. </div>
  238. </div>
  239. </div>
  240. <!-- end row -->
  241. <script type="text/javascript" src="https://code.jquery.com/jquery-1.10.2.js"></script>
  242. <script type="text/javascript">
  243. $(document).ready(function() {
  244. $("#category").change(function() {
  245. var category = $("#category").val();
  246. $.ajax({
  247. url: '<?php echo $cfg_baseurl; ?>inc/order_service.php',
  248. data: 'category=' + category,
  249. type: 'POST',
  250. dataType: 'html',
  251. success: function(msg) {
  252. $("#service").html(msg);
  253. }
  254. });
  255. });
  256. $("#service").change(function() {
  257. var service = $("#service").val();
  258. $.ajax({
  259. url: '<?php echo $cfg_baseurl; ?>inc/order_note.php',
  260. data: 'service=' + service,
  261. type: 'POST',
  262. dataType: 'html',
  263. success: function(msg) {
  264. $("#note").html(msg);
  265. }
  266. });
  267. $.ajax({
  268. url: '<?php echo $cfg_baseurl; ?>inc/order_rate.php',
  269. data: 'service=' + service,
  270. type: 'POST',
  271. dataType: 'html',
  272. success: function(msg) {
  273. $("#rate").val(msg);
  274. }
  275. });
  276. });
  277. });
  278.  
  279. function get_total(quantity) {
  280. var rate = $("#rate").val();
  281. var result = eval(quantity) * rate;
  282. $('#total').val(result);
  283. }
  284. </script>
  285. <?php
  286. include("../lib/footer.php");
  287. } else {
  288. header("Location: ".$cfg_baseurl);
  289. }
  290. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement