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');
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);