Пример #1
0
/**
 * Paginate query results
 *
 * @param int $page page number
 * @param int $items_per_page items per page
 * @return string SQL substring
 */
function db_paginate(&$page, $items_per_page, $total_items = 0)
{
    $page = intval($page);
    if (empty($page)) {
        $page = 1;
    }
    $items_per_page = intval($items_per_page);
    // Check if page in valid limits
    if ($total_items > 0) {
        $page = db_get_valid_page($page, $items_per_page, $total_items);
    }
    return ' LIMIT ' . ($page - 1) * $items_per_page . ', ' . $items_per_page;
}
Пример #2
0
if ($mode == 'manage' || $mode == 'p_subscr') {
    unset($_SESSION['product_ids']);
    unset($_SESSION['selected_fields']);
    $params = $_REQUEST;
    $params['only_short_fields'] = true;
    $params['extend'][] = 'companies';
    if (fn_allowed_for('ULTIMATE')) {
        $params['extend'][] = 'sharing';
    }
    if ($mode == 'p_subscr') {
        $params['get_subscribers'] = true;
    }
    list($products, $search) = fn_get_products($params, Registry::get('settings.Appearance.admin_products_per_page'), DESCR_SL);
    fn_gather_additional_products_data($products, array('get_icon' => true, 'get_detailed' => true, 'get_options' => false, 'get_discounts' => false));
    $page = $search['page'];
    $valid_page = db_get_valid_page($page, $search['items_per_page'], $search['total_items']);
    if ($page > $valid_page) {
        $_REQUEST['page'] = $valid_page;
        return array(CONTROLLER_STATUS_REDIRECT, Registry::get('config.current_url'));
    }
    Tygh::$app['view']->assign('products', $products);
    Tygh::$app['view']->assign('search', $search);
    if (!empty($_REQUEST['redirect_if_one']) && $search['total_items'] == 1) {
        return array(CONTROLLER_STATUS_REDIRECT, 'products.update?product_id=' . $products[0]['product_id']);
    }
    $selected_fields = fn_get_product_fields();
    Tygh::$app['view']->assign('selected_fields', $selected_fields);
    if (!fn_allowed_for('ULTIMATE:FREE')) {
        $filter_params = array('get_variants' => true, 'short' => true);
        list($filters) = fn_get_product_filters($filter_params);
        Tygh::$app['view']->assign('filter_items', $filters);