Advertisement
Guest User

1

a guest
Jan 23rd, 2018
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 16.03 KB | None | 0 0
  1. <?php
  2. class Orders extends CI_Model {
  3. public function __construct(){
  4. $this->load->model('Apa');
  5. $this->load->model('Cartel');
  6. }
  7. public function cinfo($id = null){
  8. $id = ($id == null ? $this->session->userdata('auth') : $id);
  9. $orderan = $this->db->get_where('orderan',array('user_id' => $id))->num_rows();
  10. $ordersukses = $this->db->get_where('orderan',array('user_id' => $id,'status' => 'completed'))->num_rows();
  11. $array = array('biasa' => $orderan,'sukses' => $ordersukses);
  12. return $array;
  13. }
  14. public function _InfoOrder($id){
  15. foreach($this->db->query("SELECT * FROM orderan where id = '$id'")->result() as $order);
  16. if(!$id){
  17. return array('error' => true,'msg' => "Order ID Not Found");
  18. } else if(!$order){
  19. return array('error' => true,"msg" => "Order ID Not Found");
  20. } else {
  21. return array('start_count' => (int)$order->start,'status' => $order->status ,'remains' => (int)$order->remains);
  22. }
  23. }
  24. public function UpdateAll(){
  25. foreach($this->db->query("SELECT * FROM orderan WHERE status <> 'Completed' AND status <> 'Canceled' AND status <> 'Partial'")->result() as $data){
  26. echo $data->id." - ".$data->status." - ".$this->_CheckOrder($data->id);
  27. }
  28. }
  29. public function _CheckOrder($id){
  30. $order = false;
  31. foreach($this->db->query("SELECT * FROM orderan where id = '$id'")->result() as $order);
  32. if(!$id){
  33. return false;
  34. } else if(!$order){
  35. return false;
  36. } else if($order->status == "Completed" || $order->status == "Partial" || $order->status == "Canceled" ){
  37. return false;
  38. } else {
  39. echo "CALLED";
  40. foreach($this->db->query("SELECT * FROM service where id = '$order->service_id'")->result() as $service);
  41. $aps = $service->api_id;
  42. if($aps !== '0'){
  43. foreach($this->db->query("SELECT * FROM api where id ='$aps'")->result() as $api);
  44. if($api->type == 'Basic'){
  45. $this->Apa->set($api->url,$api->api);
  46. $data= $this->Apa->status($order->order_id_pro);
  47. if(array_key_exists('status',$data)) {
  48. $status= $data->status;
  49. if($status == 'Pending'){
  50. $s = "Pending";
  51. } else if($status == "In progress"){
  52. $s = "Processing";
  53. } else if($status == "Completed"){
  54. $s = "Completed";
  55. } else if($status == "Partial"){
  56. $s = "Partial";
  57. } else if($status == "Canceled"){
  58. $s = "Canceled";
  59. } else {
  60. $s = $status;
  61. }
  62.  
  63. if($s == "Canceled"){
  64. $refund = $order->quantity*$service->price;
  65. $this->db->query("UPDATE user set balance = balance + $refund WHERE id ='$order->user_id'");
  66. } else if($status == "Partial"){
  67. $refund = $data->remains*$service->price;
  68. $this->db->query("UPDATE user set balance = balance + $refund WHERE id ='$order->user_id'");
  69. }
  70. $this->db->where('id',$id)->update('orderan',array('status' => $s,'start' => $data->start_count,'remains' => $data->remains));
  71. return $s;
  72. } else {
  73. return $s;
  74. }
  75. } else if($api->type == 'IrvanKede'){
  76. $this->Apa->set($api->url,$api->api);
  77. $data= $this->Apa->status_irvan($order->order_id_pro);
  78. if(array_key_exists('status',$data)) {
  79. $status= $data->data->status;
  80. if($status == 'Pending'){
  81. $s = "Pending";
  82. } else if($status == "Processing"){
  83. $s = "In progress";
  84. } else if($status == "Success"){
  85. $s = "Completed";
  86. } else if($status == "Partial"){
  87. $s = "Partial";
  88. } else if($status == "Error"){
  89. $s = "Canceled";
  90. } else {
  91. $s = $status;
  92. }
  93. if($s == "Canceled"){
  94. $refund = $order->quantity*$service->price;
  95. $this->db->query("UPDATE user set balance = balance + $refund WHERE id ='$order->user_id'");
  96. } else if($status == "Partial"){
  97. $refund = $data->remains*$service->price;
  98. $this->db->query("UPDATE user set balance = balance + $refund WHERE id ='$order->user_id'");
  99. }
  100. $this->db->where('id',$id)->update('orderan',array('status' => $s,'start' => $data->data->start_count,'remains' => $data->data->remains_count));
  101. return $s;
  102. } else {
  103. return $s;
  104. }
  105.  
  106. } else if($api->type == '2Cartel'){
  107. $Arrder = array('KEY' => $order->order_id_pro);
  108. $this->Cartel->set($api->url,$api->api);
  109. $data= $this->Cartel->get("orders/status",$Arrder);
  110. if($data['error'] == false){
  111. $status = $data['data']['result'][$order->order_id_pro][0]['status'];
  112. if($status == '0'){
  113. $s = "Pending";
  114. } else if($status == "1"){
  115. $s = "Processing";
  116. } else if($status == "2"){
  117. $s = "Processing";
  118. } else if($status == "3"){
  119. $s = "Processing";
  120. } else if($status == "4"){
  121. $s = "Completed";
  122. } else if($status == "5"){
  123. $s = "Canceled";
  124. } else if($status == "6"){
  125. $s = "Canceled";
  126. } else {
  127. print_r($data);
  128. }
  129. if($status == "5" || $status == "6"){
  130. $refund = $order->quantity*$service->price;
  131. $this->db->query("UPDATE user set balance = balance + $refund WHERE id ='$order->user_id'");
  132. }
  133. $this->db->where('id',$id)->update('orderan',array('status' => $s));
  134. return $s;
  135.  
  136. } else {
  137. return false;
  138. }
  139. }
  140. }
  141. }
  142. }
  143. public function _AddOrder($service,$link,$quantity,$key = null){
  144. if(!$key){
  145. if(!$this->session->userdata('auth')){
  146. return true;
  147. }
  148. }
  149. $s = $service;
  150. $q = $quantity;
  151. $l = $link;
  152. $service = array();
  153. $api = array();
  154. $User = ($key == null ? $this->Users->info() : $this->Users->info_token($key));
  155. if(!$User){
  156. return true;
  157. }
  158. foreach($this->db->query("SELECT * FROM service where id = ? AND status = ?",array($s,"0"))->result() as $service);
  159. if(!$s || !$q || !$l){
  160. $res = array('error' => true,"msg" => "Empty Data");
  161. } else if(is_int($q) || is_int($s) || !is_string($l)){
  162. $res = array('error' => true,"msg" => "Invalid Data ");
  163. } else if(count($service) == 0){
  164. $res = array('error' => true,"msg" => "Service Not Found");
  165. } else if($User->balance < $service->price*$q){
  166. $res = array('error' => true,"msg" => "Insufficient balance");
  167. } else if($q < $service->min-1){
  168. $res = array('error' => true,"msg" => "Invalid Quantity");
  169. } else if($q > $service->max){
  170. $res = array('error' => true,"msg" => "Invalid Quantity");
  171. } else {
  172. if($service->api_id !== '0'){
  173. $aps = $service->api_id;
  174. foreach($this->db->query("SELECT * FROM api where id ='$aps'")->result() as $api);
  175. if($api->type == 'Basic'){
  176. if($service->type == 'Default'){
  177. $Arrder = array('service' => $service->pro_id, 'link' => $l, 'quantity' => $q);
  178. }
  179. $this->Apa->set($api->url,$api->api);
  180. $data = $this->Apa->order($Arrder);
  181. if(array_key_exists('order',$data)){
  182. $rand = rand(11111,99999);
  183. $order_id = $data->order;
  184. $res = array('error' => false,'id' => $rand,"msg" => "OK","price" => $service->price*$q,"service" => $service->name);
  185. $this->db->insert('orderan',array('user_id' => $User->id,'service_id' => $s,'target' => $l,'quantity' => $q,'extends_form' => '','date' => date('Y-m-d H:i:s'),'data'=> "PRO",'status' => "Pending","order_id_pro" => $order_id));
  186. $this->db->where('id',$User->id)->update('user',array('balance' => $User->balance - $q*$service->price));
  187. $this->db->query("UPDATE user set balance_used = balance_used + $q*$service->price WHERE id = '$User->id'");
  188. } else {
  189. $res = array('error' => true,'msg' =>
  190. //"Can't Contacting Server"
  191. $data->error
  192. );
  193. }
  194.  
  195. } else if($api->type == 'IrvanKede'){
  196.  
  197. if($service->type == 'Default'){
  198. $Arrder = array('service' => $service->pro_id, 'data' => $l, 'quantity' => $q);
  199. }
  200. $this->Apa->set($api->url,$api->api);
  201. $data = $this->Apa->order_irvan($Arrder);
  202. if($data->status){
  203. $rand = rand(11111,99999);
  204. $order_id = $data->data->order_id;
  205. $res = array('error' => false,'id' => $rand,"msg" => "OK","price" => $service->price*$q,"service" => $service->name);
  206. $this->db->insert('orderan',array('user_id' => $User->id,'service_id' => $s,'target' => $l,'quantity' => $q,'extends_form' => '','date' => date('Y-m-d H:i:s'),'data'=> "PRO",'status' => "Pending","order_id_pro" => $order_id));
  207. $this->db->where('id',$User->id)->update('user',array('balance' => $User->balance - $q*$service->price));
  208. $this->db->query("UPDATE user set balance_used = balance_used + $q*$service->price WHERE id = '$User->id'");
  209. } else {
  210. $res = array('error' => true,'msg' =>
  211. // "Silahkan Hubungi Admin"
  212. $data->data->msg
  213. );
  214. }
  215.  
  216.  
  217. } else if($api->type == '2Cartel'){
  218. if($service->type == 'Default'){
  219. $Arrder = array('type' => $service->pro_id,'link' => $l,'quantity' => $q);
  220. }
  221. $this->Cartel->set($api->url,$api->api);
  222. $data= $this->Cartel->post("orders/add",$Arrder);
  223. if($data['error'] == false){
  224. $rand = rand(11111,99999);
  225. $order_id = $data['orders']['add'][0]['order_key'];
  226. $res = array('error' => false,'id' => $rand,"msg" => "OK","price" => $service->price*$q,"service" => $service->name);
  227. $this->db->insert('orderan',array('user_id' => $User->id,'service_id' => $s,'target' => $l,'quantity' => $q,'extends_form' => '','date' => date('Y-m-d H:i:s'),'data'=> "PRO",'status' => "Pending","order_id_pro" => $order_id));
  228. $this->db->where('id',$User->id)->update('user',array('balance' => $User->balance - $q*$service->price));
  229. $this->db->query("UPDATE user set balance_used = balance_used + $q*$service->price WHERE id = '$User->id'");
  230. } else {
  231. $error = $data['msg'];
  232. if($error == "Saldo Tidak Cukup"){
  233. $error = "Silahkan Kontak Admin";
  234. }
  235. $res = array('error' => true,'msg' => "Server ERROR");
  236. }
  237.  
  238. }
  239. } else {
  240. $rand = rand(11111,99999);
  241. if($service->id == "480"){
  242. $Date = date('Y-m-d H:i:s');
  243. $D = new DateTime($Date);
  244. $D->modify("+$q day");
  245. $Date = $D->format("Y-m-d H:i:s");
  246. $this->db->insert('autolikes_user',array('username' => $l,'expired_date' => $Date));
  247. $this->db->insert('orderan',array('id' => $rand,'user_id' => $User->id,'service_id' => $s,'target' => $l,'quantity' => $q,'extends_form' => '','date' => date('Y-m-d H:i:s'),'data'=> "PRO",'status' => "Completed","order_id_pro" => $rand));
  248. } else {
  249. $this->db->insert('orderan',array('id' => $rand,'user_id' => $User->id,'service_id' => $s,'target' => $l,'quantity' => $q,'extends_form' => '','date' => date('Y-m-d H:i:s'),'data'=> "PRO",'status' => "Pending","order_id_pro" => $rand));
  250. }
  251.  
  252. $res = array('error' => false,'id' => $rand,"msg" => "OK","price" => $service->price*$q,"service" => $service->name);
  253. $this->db->where('id',$User->id)->update('user',array('balance' => $User->balance - $q*$service->price));
  254. $this->db->query("UPDATE user set balance_used = balance_used + $q*$service->price WHERE id = '$User->id'");
  255. }
  256.  
  257. }
  258. return $res;
  259. }
  260. public function _GetCountOrder($id = null,$Action = null){
  261. if($Action == null){
  262. if($id){
  263. return $this->db->get_where('orderan',array('user_id' => $id))->num_rows();
  264. }
  265. return $this->db->get_where('orderan',array())->num_rows();
  266.  
  267. } else if($Action == "Complete"){
  268. if($id){
  269. return $this->db->get_where('orderan',array('status' => "Completed"))->num_rows();
  270. }
  271. return $this->db->get_where('orderan',array('status' => "Completed"))->num_rows();
  272. } else if($Action == "Cancel"){
  273. if($id){
  274. return $this->db->get_where('orderan',array('status' => "Canceled"))->num_rows();
  275. }
  276. return $this->db->get_where('orderan',array('status' => "Canceled"))->num_rows();
  277. }
  278. }
  279. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement