<?php $smmapi = new SMMApi(); $refills = $conn->prepare("SELECT * FROM refill_status WHERE refill_status != 'Completed'"); $refills->execute(); $refills = $refills->fetchAll(PDO::FETCH_ASSOC); foreach ($refills as $refill){ $order_id_refill = $refill['order_id']; $refill_id = $refill["refill_apiid"]; $order = $conn->prepare("SELECT * FROM orders WHERE order_id=:id"); $order = $conn->prepare("SELECT * FROM orders INNER JOIN services ON services.service_id = orders.service_id INNER JOIN service_api ON services.service_api = service_api.id WHERE orders.order_id=:id "); $order ->execute(array("id"=>$order_id_refill)); $order = $order->fetch(PDO::FETCH_ASSOC); $order = json_decode(json_encode($order),true); $refill_apiurl = $order["api_url"]; $get_refill_status = $smmapi->action(array('key' =>$order["api_key"],'action' =>'refill_status','refill'=>$refill_id),$refill_apiurl); $status = $get_refill_status->status; $skipWord = 'tasks.status.'; $replacedText = str_replace($skipWord, '', $status); $replacedText = ucfirst($replacedText); if($replacedText){ $task_status = $replacedText; } else { $task_status = "Refilling"; } $update = $conn->prepare("UPDATE refill_status SET refill_status=:refill_status WHERE order_id=:id "); $update ->execute(array("id"=>$refill['order_id'] , "refill_status"=>$task_status)); } $cancel_orders = $conn->prepare("SELECT * FROM tasks WHERE task_status=:status && task_type=:type "); $cancel_orders->execute(array( "status" => "inprogress", "type" => 1 )); $cancel_orders = $cancel_orders->fetchAll(PDO::FETCH_ASSOC); foreach($cancel_orders as $cancel){ if($cancel["check_refill_status"] == 2){ $cancel_api_response = json_decode($cancel["res"],true); if($cancel_api_response["status"] == "Success" || $cancel_api_response["status"] == "success"){ $update = $conn->prepare("UPDATE tasks SET task_status=:status,check_refill_status=:check WHERE task_type=:type"); $update->execute(array( "status" => "canceled", "check" => 1, "type" => 1 )); } else { $update = $conn->prepare("UPDATE tasks SET task_status=:status,check_refill_status=:check WHERE task_type=:type"); $update->execute(array( "status" => "failed", "check" => 1, "type" => 1 )); } } } $currencies = $conn->prepare('SELECT * FROM currency WHERE status=:status'); $currencies->execute(array( 'status' => 1 )); $currencies = $currencies->fetchAll(PDO::FETCH_ASSOC); $settings = abcus("id", $settings["site_currency"], "name"); $url = "http://www.floatrates.com/daily/" . strtolower($settings) . ".json"; $ab = fspcurlwithoutpost($url); $floatrates_array = json_decode($ab, true); foreach ($currencies as $currency) { if ($currency["rate"] == 2) { $currency_code = $currency["name"]; $lower_case_currency_code = strtolower($currency_code); $currency_rate = $floatrates_array[$lower_case_currency_code]["rate"]; $currency_rate = number_format($currency_rate, 3, '.', ''); $inverse_value = $floatrates_array[$lower_case_currency_code]["inverseRate"]; $inverse_value = number_format($inverse_value, 3, '.', ''); if ($currency_rate == 0.000) { $currency_rate = 1; $inverse_value = 1; } $conn->beginTransaction(); $update = $conn->prepare("UPDATE currency SET value=:value,inverse_value=:inverse_value WHERE name=:name"); $update = $update->execute(array("value" => $currency_rate,"inverse_value" => $inverse_value, "name" => $currency_code)); $conn->commit(); } } echo "Successfully updated rates.";