Registry::get('view')->assign('opts_variants_links_to_products_array', $optsVariantsLinksToProductsArray);
    Registry::get('view')->assign('option_variants_to_product_array_strings', $optionVariantsToProductArrayStrings);
} elseif ($mode == 'ls_show_option_variants_inventories_info') {
    echo json_encode(fn_ls_check_all_option_variants_inventories($_REQUEST["product_id"], $_REQUEST["product_data"][$_REQUEST["product_id"]]["product_options"]));
    exit;
} elseif ($mode == 'options') {
    //  $combination_hash = fn_generate_cart_id($product['product_id'], array('product_options' => $selected_options), true);
    // $combination_hash = fn_generate_cart_id(2773, $_REQUEST['product_data'][2773], true);
    // $ls_get_variant_amount = db_get_array("SELECT amount FROM cscart_product_options_inventory WHERE product_id='2773' AND combination_hash='$combination_hash'");
    if (!defined('AJAX_REQUEST') && !empty($_REQUEST['product_data'])) {
        list($product_id, $_data) = each($_REQUEST['product_data']);
        $product_id = isset($_data['product_id']) ? $_data['product_id'] : $product_id;
        return array(CONTROLLER_STATUS_REDIRECT, 'products.view?product_id=' . $product_id);
    }
} elseif ($mode == 'product_notifications') {
    fn_update_product_notifications(array('product_id' => $_REQUEST['product_id'], 'user_id' => $_SESSION['auth']['user_id'], 'email' => !empty($_SESSION['cart']['user_data']['email']) ? $_SESSION['cart']['user_data']['email'] : (!empty($_REQUEST['email']) ? $_REQUEST['email'] : ''), 'enable' => $_REQUEST['enable']));
    exit;
} elseif ($mode == 'load_option_variant_combinations') {
    $fieldsLanguage = "?:currencies.symbol";
    $conditionLanguage = db_quote(' ?:currency_descriptions.lang_code = ?s', DESCR_SL);
    $conditionLanguage .= db_quote(' AND ?:currencies.status = ?s', 'A');
    $joinLanguage = db_quote(' JOIN ?:currency_descriptions ON ?:currency_descriptions.currency_code = ?:currencies.currency_code');
    $currency = db_get_field("SELECT " . $fieldsLanguage . " FROM ?:currencies" . $joinLanguage . " WHERE " . $conditionLanguage . " ORDER BY ?:currencies.position ASC LIMIT 1");
    $fields2 = "?:product_options.option_id, ?:product_options.option_type, c.variant_id, c.modifier, c.modifier_type, c.position, d.variant_name";
    $condition2 = db_quote(' ?:product_options.option_id != ?i ', $_REQUEST['option_id']);
    $condition2 .= db_quote(' AND (?:product_options.product_id = ?i OR (?:product_options.product_id=0 AND n.product_id = ?i))', $_REQUEST['product_id'], $_REQUEST['product_id']);
    //$condition2 .= db_quote(' AND ?:product_options.company_id = ?i', $companyId);
    $condition2 .= db_quote(' AND b.lang_code = ?s', DESCR_SL);
    $join2 = db_quote(' LEFT JOIN ?:product_global_option_links n ON ?:product_options.option_id = n.option_id ');
    $join2 .= db_quote(' JOIN ?:product_options_descriptions b ON ?:product_options.option_id = b.option_id');
    $join2 .= db_quote(' JOIN ?:product_option_variants c ON ?:product_options.option_id = c.option_id');
Beispiel #2
0
    if ($mode == 'quick_view') {
        if (defined('AJAX_REQUEST')) {
            fn_prepare_product_quick_view($_REQUEST);
            Registry::set('runtime.root_template', 'views/products/quick_view.tpl');
        } else {
            return array(CONTROLLER_STATUS_REDIRECT, 'products.view?product_id=' . $_REQUEST['product_id']);
        }
    }
} elseif ($mode == 'options') {
    if (!defined('AJAX_REQUEST') && !empty($_REQUEST['product_data'])) {
        list($product_id, $_data) = each($_REQUEST['product_data']);
        $product_id = isset($_data['product_id']) ? $_data['product_id'] : $product_id;
        return array(CONTROLLER_STATUS_REDIRECT, 'products.view?product_id=' . $product_id);
    }
} elseif ($mode == 'product_notifications') {
    fn_update_product_notifications(array('product_id' => $_REQUEST['product_id'], 'user_id' => Tygh::$app['session']['auth']['user_id'], 'email' => !empty(Tygh::$app['session']['cart']['user_data']['email']) ? Tygh::$app['session']['cart']['user_data']['email'] : (!empty($_REQUEST['email']) ? $_REQUEST['email'] : ''), 'enable' => $_REQUEST['enable']));
    exit;
}
function fn_add_product_to_recently_viewed($product_id, $max_list_size = MAX_RECENTLY_VIEWED)
{
    $added = false;
    if (!empty(Tygh::$app['session']['recently_viewed_products'])) {
        $is_exist = array_search($product_id, Tygh::$app['session']['recently_viewed_products']);
        // Existing product will be moved on the top of the list
        if ($is_exist !== false) {
            // Remove the existing product to put it on the top later
            unset(Tygh::$app['session']['recently_viewed_products'][$is_exist]);
            // Re-sort the array
            Tygh::$app['session']['recently_viewed_products'] = array_values(Tygh::$app['session']['recently_viewed_products']);
        }
        array_unshift(Tygh::$app['session']['recently_viewed_products'], $product_id);