function fetchProductData($p) { $data = array(); global $db; $product_category = ''; foreach ($db->types() as $product_type) { if ($product_type['id'] == $p['type_id']) { $product_category = $product_type['type_name']; } } $mainTableData = array('product_id' => $p['id'], 'product_brand' => $p['product_brand'], 'product_name' => $p['product_name'], 'product_min_price' => $p['product_min_price'], 'product_category' => $product_category, 'product_type_id' => $p['type_id'], 'product_desc' => $p['product_desc'], 'product_origin_country' => $p['product_origin_country'], 'product_degree_of_variation' => $p['product_degree_of_variation'], 'product_material' => $p['product_material'], 'product_width' => $p['product_width'], 'product_height' => $p['product_height'], 'product_thickness' => $p['product_thickness'], 'product_w_unit' => $p['product_width_unit'], 'product_h_unit' => $p['product_height_unit'], 'product_t_unit' => $p['product_thickness_unit'], 'product_items_per_box' => $p['product_items_per_box'], 'product_shape' => $p['product_shape'], 'product_look' => $p['product_look'], 'product_finish_type' => $p['product_finish_type'], 'product_features' => $p['product_desc'], 'product_rating' => $p['product_rating'], 'product_isDiscountAvailable' => $p['isDiscountAvailable'], 'product_isProductAvailable' => $p['isProductAvailable']); if (filter_input(INPUT_GET, 'details') == 'true') { return array_merge($mainTableData, fetchOtherProductData($p)); } else { return $mainTableData; } }
if ($input != '') { $query = $query->where('product_name LIKE ?', "%" . $input . "%"); } findAllFilters(); $query = setFinalFilterQuery($query); $totalResults = count($query); $start = ($pageNo - 1) * (int) $resultPerPage; $last = $start + $resultPerPage; if ($last > $totalResults) { $last = $totalResults; } $query = $query->order('id ASC'); $query = $query->limit(30, $start); foreach ($query as $p) { # code... $data[] = array_merge(fetchProductData($p), fetchOtherProductData($p), array('product_addedby' => $p['product_addedby'], 'product_isEdited' => $p['product_isEdited'], 'product_editedby' => $p['product_editedby'], 'product_isNew' => $p['product_isNew'])); } $app->response()->header('content-type', 'application/json'); echo json_encode(array('totalResults' => $totalResults, 'start' => $start, 'last' => $last, 'product_data' => $data)); }); $app->get('/shiningfloor/admin/chooseproducts(/:id)', $authenticate_admin($app), function ($id = null) use($app, $db) { $data = array(); $user = $_SESSION['admin']; global $colorFilters, $priceFilters, $brandFilters, $finishTypeFilters, $lookFilters, $materialFilters, $applicationFilters; global $resultPerPage, $pageNo; findAllFilters(); $query = $db->products()->where("NOT id", $db->sellers_products()->where('sellers_id', $id)->select('products_id')); if (isset($_GET['category'])) { $query = categoryFilteredQuery($_GET['category'], $query); } if (isset($_GET['query'])) {