} Tygh::$app['view']->assign('product_data', $product_data); Tygh::$app['view']->assign('taxes', $taxes); $product_options = fn_get_product_options($_REQUEST['product_id'], DESCR_SL); if (!empty($product_options)) { $has_inventory = false; foreach ($product_options as $p) { if ($p['inventory'] == 'Y') { $has_inventory = true; break; } } Tygh::$app['view']->assign('has_inventory', $has_inventory); } Tygh::$app['view']->assign('product_options', $product_options); list($global_options) = fn_get_product_global_options(); Tygh::$app['view']->assign('global_options', $global_options); // If the product is electronnicaly distributed, get the assigned files list($product_files) = fn_get_product_files(array('product_id' => $_REQUEST['product_id'])); list($product_file_folders) = fn_get_product_file_folders(array('product_id' => $_REQUEST['product_id'])); $files_tree = fn_build_files_tree($product_file_folders, $product_files); $sharing_company_id = Registry::get('runtime.company_id') ? Registry::get('runtime.company_id') : $product_data['company_id']; // Preview URL only exists for companies that have this product shared if (fn_allowed_for('ULTIMATE') && !in_array($sharing_company_id, $product_data['shared_between_companies'])) { $preview_url = null; } else { $preview_url = fn_get_preview_url("products.view?product_id={$_REQUEST['product_id']}", $product_data, $auth['user_id']); } Tygh::$app['view']->assign('view_uri', $preview_url); Tygh::$app['view']->assign('product_file_folders', $product_file_folders); Tygh::$app['view']->assign('product_files', $product_files);
// Options list // } elseif ($mode == 'manage') { $params = $_REQUEST; list($product_options, $search) = fn_get_product_global_options($params, Registry::get('settings.Appearance.admin_elements_per_page'), DESCR_SL); Registry::get('view')->assign('product_options', $product_options); Registry::get('view')->assign('search', $search); Registry::get('view')->assign('object', 'global'); if (empty($product_options) && defined('AJAX_REQUEST')) { $ajax->assign('force_redirection', fn_url('product_options.manage')); } // // Apply options to products // } elseif ($mode == 'apply') { list($product_options, $search) = fn_get_product_global_options(); Registry::get('view')->assign('product_options', $product_options); // // Update option // } elseif ($mode == 'update') { $product_id = !empty($_REQUEST['product_id']) ? $_REQUEST['product_id'] : 0; $o_data = fn_get_product_option_data($_REQUEST['option_id'], $product_id); if (fn_allowed_for('ULTIMATE') && !empty($_REQUEST['product_id'])) { Registry::get('view')->assign('shared_product', fn_ult_is_shared_product($_REQUEST['product_id'])); Registry::get('view')->assign('product_company_id', db_get_field('SELECT company_id FROM ?:products WHERE product_id = ?i', $_REQUEST['product_id'])); } if (isset($_REQUEST['object'])) { Registry::get('view')->assign('object', $_REQUEST['object']); } Registry::get('view')->assign('option_data', $o_data);
fn_add_breadcrumb(fn_get_product_name($_REQUEST['product_id']), "products.update?product_id={$_REQUEST['product_id']}&selected_section=options"); // I think this should be removed, not good, must be done on xml menu level Registry::set('navigation.selected_tab', 'catalog'); Registry::set('navigation.subsection', 'products'); $exceptions = fn_get_product_exceptions($_REQUEST['product_id']); $product_options = fn_get_product_options($_REQUEST['product_id'], DESCR_SL, true); $product_data = fn_get_product_data($_REQUEST['product_id'], $auth, DESCR_SL, '', true, true, true, true); $view->assign('product_options', $product_options); $view->assign('exceptions', $exceptions); $view->assign('product_data', $product_data); // // Options list // } elseif ($mode == 'manage') { $params = $_REQUEST; list($product_options, $search, $product_options_count) = fn_get_product_global_options($params, Registry::get('settings.Appearance.admin_elements_per_page'), DESCR_SL); $view->assign('product_options', $product_options); $view->assign('object', 'global'); if (empty($product_options) && defined('AJAX_REQUEST')) { $ajax->assign('force_redirection', "product_options.manage"); } // // Apply options to products // } elseif ($mode == 'apply') { $condition = fn_get_company_condition('p.company_id', true, '', true); $product_options = db_get_array("SELECT p.*, d.* FROM ?:product_options as p LEFT JOIN ?:product_options_descriptions as d ON d.option_id = p.option_id AND d.lang_code = ?s WHERE p.product_id = 0 {$condition}", DESCR_SL); $view->assign('product_options', $product_options); // // Update option //