public function tempajax(Request $request) { $response = new stdClass(); if ($request->isMethod('post')) { $postData = $request->all(); $objUserModel = new User(); $objOrderModel = new Order(); $userId = isset($postData['user_id']) ? $postData['user_id'] : ''; $authFlag = false; if (isset($postData['api_token'])) { $apiToken = $postData['api_token']; if ($apiToken == $this->API_TOKEN) { $authFlag = true; } else { if ($userId != '') { $where = ['rawQuery' => 'id=?', 'bindParams' => [$userId]]; $selectColumn = array('login_token'); $userCredentials = $objUserModel->getUsercredsWhere($where, $selectColumn); if ($apiToken == $userCredentials->login_token) { $authFlag = true; } } } } if ($authFlag) { $validator = Validator::make($postData, ['user_id' => 'required']); if (!$validator->fails()) { $requestParam = json_decode($postData['requestData'], true); $iTotalRecords = $iDisplayLength = intval($requestParam['length']); $iDisplayLength = $iDisplayLength < 0 ? $iTotalRecords : $iDisplayLength; $iDisplayStart = intval($requestParam['start']); $sEcho = intval($requestParam['draw']); $whereOderUserID = ['rawQuery' => 'by_user_id=? and orders.status!=6', 'bindParams' => [$userId]]; $data = ['orders.order_id', 'orders.server_order_id', 'orders.ins_url', 'orders.quantity_total', 'orders.price', 'orders.quantity_done', 'orders.status', 'orders.added_time', 'orders.updated_time', 'plans.plan_name', 'plans.supplier_server_id']; //GET TOTAL NUMBER OF NEW ORDERS $iTotalRecords = count($objOrderModel->getOrderHistory($whereOderUserID, $data)); $iTotalFilteredRecords = $iTotalRecords; $records = array(); $records["data"] = array(); $columns = array('orders.order_id', 'plans.plan_name', 'orders.ins_url', 'orders.quantity_total', 'orders.price', 'orders.added_time', 'orders.updated_time', 'orders.status'); $sortingOrder = ""; if (isset($requestParam['order'])) { $sortingOrder = [$columns[$requestParam['order'][0]['column'] - 1], $requestParam['order'][0]['dir']]; } //FIRLTERING START FROM HERE $filteringRules = ''; if (isset($requestParam['action']) && $requestParam['action'] == 'filter' && $requestParam['action'][0] != 'filter_cancel') { if ($requestParam['search_order_id'] != '') { $filteringRules[] = "( orders.order_id LIKE '%" . $requestParam['search_order_id'] . "%' )"; } if ($requestParam['search_service_type'] != '') { $filteringRules[] = "( plans.plan_name LIKE '%" . $requestParam['search_service_type'] . "%' )"; } if ($requestParam['search_link'] != '') { $filteringRules[] = "( orders.ins_url LIKE '%" . $requestParam['search_link'] . "%' )"; } if ($requestParam['search_amount'] != '') { $filteringRules[] = "( orders.quantity_total LIKE '%" . $requestParam['search_amount'] . "%' )"; } if ($requestParam['search_price'] != '') { $filteringRules[] = "( orders.price LIKE '%" . $requestParam['search_price'] . "%' )"; } if ($requestParam['search_status'] != '') { $filteringRules[] = "( orders.status LIKE '%" . $requestParam['search_status'] . "%' )"; } if (!empty($filteringRules)) { $whereOderUserID['rawQuery'] .= " AND " . implode(" AND ", $filteringRules); $iTotalFilteredRecords = count($objOrderModel->getOrderHistory($whereOderUserID, $data)); } } $ordersResult = $objOrderModel->getAllOrders($whereOderUserID, $sortingOrder, $iDisplayStart, $iDisplayLength); $records['data'] = $ordersResult; $records["draw"] = $sEcho; $records["recordsTotal"] = $iTotalRecords; $records["recordsFiltered"] = $iTotalFilteredRecords; if ($ordersResult) { foreach ($ordersResult as $order) { $order->added_time = $this->getDateDifference($order->added_time); $order->updated_time = $this->getDateDifference($order->updated_time); } $response->code = 200; $response->message = "Success"; $response->data = $records; echo json_encode($response, true); } else { $response->code = 401; $response->message = "Error in connection please try again."; $response->data = null; echo json_encode($response, true); } } else { $response->code = 401; $response->message = $validator->messages(); $response->data = null; echo json_encode($response, true); } } else { $response->code = 401; $response->message = "Access Denied"; $response->data = null; echo json_encode($response, true); } } else { $response->code = 400; $response->message = "Request not allowed"; $response->data = null; echo json_encode($response, true); } }