Exemplo n.º 1
0
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']);
}
Exemplo n.º 2
0
                 $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);
         }