File "dripfeed.php"
Full Path: /home/cananyalcin/public_html/core/module/client/cron/dripfeed.php
File size: 7.7 KB
MIME-type: text/x-php
Charset: utf-8
<?php
$smmapi = new SMMApi();
$orders = $conn->prepare("SELECT *,services.service_id as service_id,service_api.id as api_id FROM orders INNER JOIN clients ON clients.client_id=orders.client_id INNER JOIN service_api ON service_api.id=orders.order_api LEFT JOIN services ON services.service_id=orders.service_id LEFT JOIN categories ON categories.category_id=services.category_id WHERE orders.dripfeed=:dripfeed && orders.dripfeed_status=:status ");
$orders->execute(array("dripfeed"=>2,"status"=>"active"));
$orders = $orders->fetchAll(PDO::FETCH_ASSOC);
foreach( $orders as $order ):
$orderid = $order["order_id"];
//print_r($order);
if( $order["service_type"] == 1 || $order["category_type"] == 1 ):
## servis ya da kategori pasif
elseif( $order["service_secret"] == 1 && !getRow(["table"=>"clients_service","where"=>["client_id"=>$order["client_id"],"service_id"=>$order["service_id"]] ]) ):
## servis gizli
elseif( $order["category_secret"] == 1 && !getRow(["table"=>"clients_category","where"=>["client_id"=>$order["client_id"],"category_id"=>$order["category_id"]] ]) ):
## kategori gizli
elseif( $order["dripfeed_runs"] == $order["dripfeed_delivery"] ):
## gönderilen miktarı ile gönderim miktarı eşit tamamlandı olsun
$update = $conn->prepare("UPDATE orders SET dripfeed_status=:dripfeed_status WHERE order_id=:id ");
$update -> execute(array("id"=>$orderid,"dripfeed_status"=>"completed" ));
else:
## -- ##
$create_date = strtotime($order["order_create"]);
$last_check = strtotime($order["last_check"]);
$now = date("Y-m-d H:i:s"); $now=strtotime($now);
$order = $conn->prepare("SELECT *,services.service_id as service_id,service_api.id as api_id FROM orders INNER JOIN clients ON clients.client_id=orders.client_id INNER JOIN service_api ON service_api.id=orders.order_api LEFT JOIN services ON services.service_id=orders.service_id LEFT JOIN categories ON categories.category_id=services.category_id WHERE orders.order_id=:order_id ");
$order->execute(array("order_id"=>$orderid));
$order = $order->fetch(PDO::FETCH_ASSOC);
$link = $order["order_url"];
$quantity = $order["order_quantity"];
$now = date("Y-m-d H:i:s"); $now=strtotime($now);
if( round(($now - $last_check)/60) < $order["dripfeed_interval"] ):
## sipariş verilme tarihi, media paylaşım tarihinden önce
elseif( $order["dripfeed_delivery"] >= $order["dripfeed_runs"] ):
## geçikme süresi dolmadı
else:
## __ ##
## sipariş ver başla ##
$conn->beginTransaction();
if( $order["api_type"] == 1 ):
## Standart api başla ##
$getOrder = $smmapi->action(array('key' =>$order["api_key"],'action' =>'add','service'=>$order["api_service"],'link'=>$link,'quantity'=>$quantity),$order["api_url"]);
if( @!$getOrder->order ):
$error = json_encode($getOrder);
$order_id = "";
else:
$error = "-";
$order_id = @$getOrder->order;
endif;
$balance = $smmapi->action(array('key' =>$order["api_key"],'action' =>'balance'),$order["api_url"]);
$orderstatus= $smmapi->action(array('key' =>$order["api_key"],'action' =>'status','order'=>$order_id),$order["api_url"]);
$api_charge = $orderstatus->charge;
if( !$api_charge ): $api_charge = 0; endif;
$currency = $balance->currency;
if( $currency == "USD" ):
$currencycharge = 1;
elseif( $currency == "TRY" ):
$currencycharge = $settings["dolar_charge"];
elseif( $currency == "EUR" ):
$currencycharge = $settings["euro_charge"];
endif;
## Standart api bitti ##
elseif( $order["api_type"] == 3 ):
$getOrder = $smmapi->standartAPI(array('api_token' =>$order["api_key"],'action' =>'add','package'=>$order["api_service"],'link'=>$link,'quantity'=>$quantity),$order["api_url"]);
if( @!$getOrder->order ):
$error = json_encode($getOrder);
$order_id = "";
else:
$error = "-";
$order_id = @$getOrder->order;
endif;
$orderstatus= $smmapi->action(array('api_token' =>$order["api_key"],'status' =>'balance','order'=>$order_id),$order["api_url"]);
$balance = $smmapi->action(array('api_token' =>$order["api_key"],'action' =>'balance'),$order["api_url"]);
$api_charge = $orderstatus->charge;
$currency = $balance->currency;
if( $currency == "TRY" ):
$currencycharge = 1;
elseif( $currency == "USD" ):
$currencycharge = $settings["dolar_charge"];
elseif( $currency == "EUR" ):
$currencycharge = $settings["euro_charge"];
endif;
else:
endif;
$extras = "";
$insert = $conn->prepare("INSERT INTO orders SET order_error=:error, order_detail=:detail, client_id=:c_id,
api_orderid=:order_id, service_id=:s_id, order_quantity=:quantity, order_charge=:price, order_url=:url,
order_create=:create, order_extras=:extra, last_check=:last_check, order_api=:api, api_serviceid=:api_serviceid,
dripfeed_id=:dripfeed_id, api_charge=:api_charge, api_currencycharge=:api_currencycharge, order_profit=:profit
");
$insert = $insert-> execute(array("c_id"=>$order["client_id"],"detail"=>json_encode($getOrder),"error"=>$error,"s_id"=>$order["service_id"],
"quantity"=>$quantity,"price"=>$order["dripfeed_totalcharges"]/$order["dripfeed_runs"],"url"=>$link,
"create"=>date("Y.m.d H:i:s"),"extra"=>$extras,"order_id"=>$order_id,"last_check"=>date("Y.m.d H:i:s"),"api"=>$order["api_id"],
"api_serviceid"=>$order["api_service"],
"dripfeed_id"=>$order["order_id"],"profit"=>$api_charge*$currencycharge,"api_charge"=>$api_charge,"api_currencycharge"=>$currencycharge
));
if( $insert ): $last_id = $conn->lastInsertId(); endif;
$update2= $conn->prepare("UPDATE orders SET dripfeed_delivery=:delivery WHERE order_id=:id ");
$update2= $update2->execute(array("delivery"=>$order["dripfeed_delivery"] + 1,"id"=>$orderid));
$update3 = $conn->prepare("UPDATE orders SET last_check=:check WHERE order_id=:id ");
$update3 = $update3-> execute(array("id"=>$orderid,"check"=>date("Y-m-d H:i:s") ));
if( $insert && $update2 ):
$conn->commit();
else:
$conn->rollBack();
echo "update: ".$update." insert: ".$insert." update2: ".$update2."\n";
endif;
## sipariş ver bitti ##
## __ ##
endif;
## -- ##
endif;
endforeach;