Example #1
0
function fn_twg_set_response_catalog(&$response, $params, $items_per_page = 0, $lang_code = CART_LANGUAGE)
{
    // supported params:
    // id - category id
    // sort_by - products sort
    // sort_order - products sort order
    // page - products page number
    // items_per_page
    $params['category_id'] = !empty($params['category_id']) ? $params['category_id'] : 0;
    $params['page'] = empty($params['page']) ? 1 : $params['page'];
    $response->setData($params['category_id'], 'category_id');
    if (!empty($params['category_id'])) {
        $category_data = db_get_row("SELECT category, description FROM ?:category_descriptions WHERE category_id = ?i AND lang_code = ?s", $params['category_id'], $lang_code);
        $response->setData($category_data['category'], 'category_name');
        $response->setData($category_data['description'], 'description');
    }
    if (empty($params['page']) || $params['page'] == 1) {
        $category_params = array('id' => !empty($params['category_id']) ? $params['category_id'] : 0, 'type' => 'one_level');
        $categories = fn_twg_api_get_categories($category_params, $lang_code);
        if (!empty($categories['category'])) {
            $response->setData($categories['category'], 'subcategories');
        }
    }
    if (!empty($params['category_id'])) {
        // set products
        $params['cid'] = $params['category_id'];
        list($products, $params) = fn_twg_api_get_products($params, $items_per_page, $lang_code);
        if (!empty($products['product'])) {
            $response->setData($products['product'], 'products');
        }
    }
    $pagination_params = array('items_per_page' => !empty($items_per_page) ? $items_per_page : TWG_RESPONSE_ITEMS_LIMIT, 'page' => !empty($params['page']) ? $params['page'] : 1, 'total_items' => !empty($params['total_items']) ? $params['total_items'] : null);
    fn_twg_set_response_pagination($response, $pagination_params, true);
}
Example #2
0
             $search_params = array_merge($_REQUEST, $search_params);
             list($result, $search_params) = fn_twg_api_get_products($search_params, $items_qty, $lang_code);
         }
     } elseif ($meta['object'] == 'categories') {
         $condition = '';
         if (!empty($params['category_id'])) {
             $category_path = db_get_field("SELECT id_path FROM ?:categories WHERE category_id = ?i", $params['category_id']);
             if (!empty($category_path)) {
                 $condition = "id_path LIKE '{$category_path}/%'";
             }
         }
         $category_ids = fn_twg_get_random_ids($items_qty, 'category_id', '?:categories', $condition);
         if (!empty($category_ids)) {
             $search_params = array('cid' => $category_ids, 'group_by_level' => false);
             $search_params = array_merge($_REQUEST, $search_params);
             $result = fn_twg_api_get_categories($search_params, $lang_code);
         }
     } else {
         $response->addError('ERROR_UNKNOWN_REQUEST', __('unknown_request'));
         $response->returnResponse();
     }
     if (!empty($result)) {
         $response->setResponseList($result);
     }
 } elseif ($meta['action'] == 'apply_for_vendor') {
     if (Registry::get('settings.Suppliers.apply_for_vendor') != 'Y') {
         $response->addError('ERROR_UNKNOWN_REQUEST', __('unknown_request'));
         $response->returnResponse();
     }
     $data = $_REQUEST['company_data'];
     $data['timestamp'] = TIME;