<?php if( $user["access"]["tasks"] != 1 ): header("Location:".site_url("admin")); exit(); endif; if( $_SESSION["client"]["data"] ): $data = $_SESSION["client"]["data"]; foreach ($data as $key => $value) { $$key = $value; } unset($_SESSION["client"]); endif; if( route(2) && is_numeric(route(2)) ): $page = route(2); else: $page = 1; endif; if( $_GET["search_type"] == "order_id" && $_GET["search"] ): $search_where = $_GET["search_type"]; $search_word = urldecode($_GET["search"]); $search = "WHERE tasks.order_id LIKE '%".$search_word."%' "; $search_link = "?search=".$search_word."&search_type=".$search_where; endif; $count = $conn->prepare("SELECT * FROM tasks"); $count -> execute(array()); $count = $count->rowCount(); $to = 50; $pageCount = ceil($count/$to); if( $page > $pageCount ): $page = 1; endif; $where = ($page*$to)-$to; $paginationArr = ["count"=>$pageCount,"current"=>$page,"next"=>$page+1,"previous"=>$page-1]; $orders = $conn->prepare("SELECT * FROM tasks LEFT JOIN clients ON clients.client_id=tasks.client_id LEFT JOIN orders ON orders.order_id=tasks.order_id LEFT JOIN services ON services.service_id=tasks.service_id $search ORDER BY tasks.task_id DESC LIMIT $where,$to "); $orders -> execute(array()); $orders = $orders->fetchAll(PDO::FETCH_ASSOC); if(route(3) && route(2) == "no"){ $id = route(3); $update = $conn->prepare("UPDATE tasks SET task_status=:status WHERE task_id=:id"); $update = $update->execute(array("status"=>'canceled',"id"=>$id)); header("Location:".site_url("admin/tasks")); }elseif(route(2) == "success"){ $id = route(3); if($settings["auto_refill"] != 2 ): $update = $conn->prepare("UPDATE tasks SET task_status=:status WHERE task_id=:id"); $update = $update->execute(array("status"=>'success',"id"=>$id)); else: $smmapi = new SMMApi(); $order = $conn->prepare("SELECT * FROM tasks LEFT JOIN services ON services.service_id = tasks.service_id LEFT JOIN orders ON orders.order_id = tasks.order_id LEFT JOIN service_api ON services.service_api = service_api.id WHERE tasks.task_id=:id "); $order ->execute(array("id"=>$id)); $order = $order->fetch(PDO::FETCH_ASSOC); $send_refill = $smmapi->action(array('key' =>$order["api_key"],'action' =>'refill','order'=>$order["api_orderid"]),$order["api_url"]); if(@$send_refill->refill): $success = 1; $successText = "Your refill request has been sent to your provider."; $r_id = $send_refill->refill; $update = $conn->prepare("UPDATE tasks SET task_status=:status, refill_orderid=:r_id WHERE task_id=:id"); $update = $update->execute(array("status"=>'success',"id"=>$id,"r_id"=>$r_id)); else: $send_refill = json_encode($send_refill, true); $error = 1; $errorText = "Your refill request could not be sent <code>".$send_refill."</code>"; endif; endif; }elseif(route(3) && route(2) == "canceled"){ $id = route(3); $order = $conn->prepare("SELECT * FROM orders INNER JOIN clients ON clients.client_id = orders.client_id WHERE orders.order_id=:id "); $order ->execute(array("id"=>$id)); $order = $order->fetch(PDO::FETCH_ASSOC); $balance = $order["balance"]+$order["order_charge"]; $spent = $order["spent"]-$order["order_charge"]; $order["order_quantity"]=$order["order_quantity"]; $update = $conn->prepare("UPDATE orders SET api_charge=:api_charge, order_profit=:order_profit, order_status=:status, order_error=:error, order_charge=:price, order_quantity=:quantity, order_remains=:remains WHERE order_id=:id "); $update = $update->execute(array("api_charge"=>0,"order_profit"=>0,"status"=>"canceled","price"=>0,"error"=>"-","quantity"=>0,"remains"=>$order["order_quantity"],"id"=>$id)); $update2 = $conn->prepare("UPDATE clients SET balance=:balance, spent=:spent WHERE client_id=:id"); $update2 = $update2->execute(array("id"=>$order["client_id"],"balance"=>$balance,"spent"=>$spent )); $update3 = $conn->prepare("UPDATE tasks SET task_status=:status WHERE order_id=:id"); $update3 = $update3->execute(array("status"=>'success',"id"=>$id)); header("Location:".site_url("admin/tasks")); } require admin_view('tasks');