list($orders, $search, $totals) = fn_get_orders($_REQUEST, $items_per_page, true); $total_items = $search['total_items']; $response->setMeta(!empty($totals['gross_total']) ? $totals['gross_total'] : 0, 'gross_total'); $response->setMeta(!empty($totals['totally_paid']) ? $totals['totally_paid'] : 0, 'totally_paid'); if (empty($orders)) { $response->returnResponse(); } if ($object == 'order_sections') { $sections = TwigmoOrder::getOrderSections($orders, $_REQUEST); $response->setResponseList(Api::getAsList($object, $sections)); } else { $response->setResponseList(TwigmoOrder::getOrdersAsApiList($orders, $lang_code)); } $is_paginate = true; } elseif ($object == 'products') { fn_twg_set_response_products($response, $_REQUEST, $items_per_page, $lang_code); } elseif ($object == 'categories' || $object == 'categories_paginated') { if ($object == 'categories') { fn_twg_set_response_categories($response, $_REQUEST, 0, $lang_code); } elseif ($object == 'categories_paginated') { fn_twg_set_response_categories($response, $_REQUEST, $items_per_page, $lang_code); } } elseif ($object == 'shipments') { $_REQUEST['advanced_info'] = true; list($shipments, $search, $totals) = fn_get_shipments_info($_REQUEST, $items_per_page); if (!empty($_REQUEST['order_id'])) { $items_amount = db_get_row("SELECT SUM(?:order_details.amount) as amount,\n SUM(?:shipment_items.amount) as shipped_amount\n FROM ?:order_details\n LEFT JOIN ?:shipment_items\n ON ?:shipment_items.item_id = ?:order_details.item_id\n WHERE ?:order_details.order_id = ?i\n GROUP BY ?:order_details.order_id", $_REQUEST['order_id']); $not_shipped = $items_amount['amount'] - $items_amount['shipped_amount']; $need_shipment = $not_shipped > 0 ? 'Y' : 'N'; $response->setMeta($need_shipment, 'need_shipment'); }
} list($orders, $search) = fn_get_orders($_REQUEST, $items_per_page); $total_items = $search['total_items']; if (empty($orders)) { $response->returnResponse(); } $response->setResponseList(TwigmoOrder::getOrdersAsApiList($orders, $lang_code)); $is_paginate = true; } elseif ($object == 'products') { $params = $_REQUEST; if (isset($params['view_id']) && $params['view_id'] == -1) { // Low stock unset($params['view_id']); $params['amount_to'] = 10; } fn_twg_set_response_products($response, $params, $items_per_page, $lang_code); } if ($is_paginate) { if (empty($pagination_params)) { $pagination_params = array('items_per_page' => !empty($items_per_page) ? $items_per_page : TWG_RESPONSE_ITEMS_LIMIT, 'page' => !empty($_REQUEST['page']) ? $_REQUEST['page'] : 1, 'total_items' => !empty($total_items) ? $total_items : 0); } fn_twg_set_response_pagination($response, $pagination_params); } $response->returnResponse($object); } if ($action == 'details') { if (empty($_REQUEST['id'])) { $response->addError('ERROR_WRONG_OBJECT_DATA', str_replace('[object]', $object, __('twgadmin_wrong_api_object_data'))); $response->returnResponse(); } if ($object == 'orders') {