function fn_twg_api_get_object($response, $object_type, $params) { $pattern = fn_get_schema('api', $object_type, 'php', false); $condition = array(); if (!empty($pattern['key'])) { $api_key_id = current($pattern['key']); if ($pattern['fields'][$api_key_id]['db_field']) { $key_id = $pattern['fields'][$api_key_id]['db_field']; $condition = array($key_id => $params['id']); } } if (empty($condition)) { $response->addError('ERROR_WRONG_OBJECT_DATA', str_replace('[object]', $object_type, __('twgadmin_wrong_api_object_data'))); $response->returnResponse(); } $objects = Api::getApiSchemaData($object_type, $condition); if (empty($objects)) { $response->addError('ERROR_OBJECT_WAS_NOT_FOUND', str_replace('[object]', $object_type, __('twgadmin_object_was_not_found'))); $response->returnResponse(); } $api_data = current($objects[$pattern['object_name']]); $response->setData($api_data); $response->returnResponse($pattern['object_name']); }
$stat['status_stats'] = array('status_stat' => $status_orders); } $period_stats[] = $stat; } $response->setData(array('period' => $period_stats), 'periods'); // Get latest orders $search_params = array('sort_by' => 'date', 'sort_order' => 'desc'); list($orders) = fn_get_orders($search_params, $items_per_page, true); $orders = TwigmoOrder::getOrdersAsApiList($orders, $lang_code); $response->setData($orders, 'latest_orders'); $response->returnResponse('orders_statistics'); } else { if (!empty($search) && !empty($search['sort_by'])) { $sortings = array('sort_by' => $search['sort_by'], 'sort_order' => !empty($search['sort_order']) && $search['sort_order'] == 'desc' ? 'desc' : 'asc'); } $response->setResponseList(Api::getApiSchemaData($object, $condition, array(), $options, $sortings)); } $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); if ($is_paginate) { fn_twg_set_response_pagination($response, $pagination_params); } $response->returnResponse($object); } if ($_REQUEST['action'] == 'details') { if ($object == 'shipment_data') { $shippings = db_get_array("SELECT a.shipping_id,\n b.shipping\n FROM ?:shippings as a\n LEFT JOIN ?:shipping_descriptions as b\n ON a.shipping_id = b.shipping_id AND b.lang_code = ?s\n WHERE a.status = ?s\n ORDER BY a.position", DESCR_SL, 'A'); $carriers_data = fn_twg_get_carriers(); $carriers = array(); foreach ($carriers_data as $k => $v) { $carriers[] = array('carrier_id' => $k, 'carrier' => $v); }