if (!empty($specific_settings[$_REQUEST['type']]) && !empty($specific_settings[$_REQUEST['type']][$_REQUEST['value']])) {
        $specific_settings = fn_process_specific_settings($specific_settings, $_REQUEST['type'], $_REQUEST['value']);
        $view->assign('spec_settings', $specific_settings[$_REQUEST['type']][$_REQUEST['value']]);
    }
    $view->assign('s_set_id', $_REQUEST['block_id'] . $_REQUEST['block_type'] . '_' . $_REQUEST['type']);
} elseif ($mode == 'assign_items') {
    $view->assign('location', $_REQUEST['location']);
    $view->assign('block', fn_get_block_data($_REQUEST['block_id'], CART_LANGUAGE, false, $_REQUEST['location']));
} elseif ($mode == 'update') {
    $block = fn_get_block_data($_REQUEST['block_id'], DESCR_SL, false, $_REQUEST['location']);
    $view->assign('block', $block);
    $view->assign('location', $_REQUEST['location']);
    $view->assign('specific_settings', fn_process_specific_settings(fn_get_block_specific_settings()));
    $view->assign('redirect_url', empty($_REQUEST['r_url']) ? '' : $_REQUEST['r_url']);
    $object_id = empty($_REQUEST['object_id']) ? 0 : $_REQUEST['object_id'];
    $view->assign('avail_positions', fn_get_available_group($_REQUEST['location'], $object_id, DESCR_SL));
    $block_parent = fn_get_parent_group($_REQUEST['block_id'], $object_id, $_REQUEST['location']);
    $view->assign('block_parent', $block_parent);
    $view->assign('object_id', $object_id);
} elseif ($mode == 'update_location') {
    $spec_settings = fn_get_block_specific_settings();
    $view->assign('location_properties', $spec_settings['properties']['location']);
    $view->assign('location', $_REQUEST['location']);
    $data = fn_get_location_data($_REQUEST['location'], false, DESCR_SL);
    $view->assign('block', $data);
} elseif ($mode == 'check_parent') {
    if (empty($_REQUEST['object_id'])) {
        $custom_positions = db_get_array("SELECT position FROM ?:block_positions WHERE object_id != '0' AND location = ?s AND block_id = ?i", $_REQUEST['location'], $_REQUEST['block_id']);
        if (!empty($custom_positions)) {
            $ajax->assign('confirm_text', fn_get_lang_var('text_position_overwrite'));
            exit;
Exemple #2
0
    // [/Page sections]
    // If we have some additional product fields, lets add a tab for them
    if (!empty($product_data['product_features'])) {
        Registry::set('navigation.tabs.features', array('title' => fn_get_lang_var('features'), 'js' => true));
    }
    // [Block manager]
    $block_settings = fn_get_all_blocks('products');
    $view->assign('block_settings', $block_settings);
    list($blocks, $object_id) = fn_get_blocks(array('location' => 'products', 'all' => true, 'product_id' => $_REQUEST['product_id']), false, DESCR_SL);
    list($all_blocks) = fn_get_blocks(array('location' => 'all_pages', 'all' => true, 'block_properties_location' => 'products'), false);
    $blocks = fn_array_merge($blocks, $all_blocks, true);
    $blocks = fn_sort_blocks($object_id, 'products', $blocks);
    $blocks = fn_check_blocks_availability($blocks, $block_settings);
    $view->assign('location', $selected_section);
    $view->assign('blocks', $blocks);
    $view->assign('avail_positions', fn_get_available_group('products', $_REQUEST['product_id'], DESCR_SL));
    // [/Block manager]
    //
    // 'Mulitple products updating' page
    //
} elseif ($mode == 'm_update') {
    if (empty($_SESSION['product_ids']) || empty($_SESSION['selected_fields']) || empty($_SESSION['selected_fields']['object']) || $_SESSION['selected_fields']['object'] != 'product') {
        return array(CONTROLLER_STATUS_REDIRECT, "products.manage");
    }
    fn_add_breadcrumb(fn_get_lang_var('products'), "products.manage");
    $product_ids = $_SESSION['product_ids'];
    $selected_fields = $_SESSION['selected_fields'];
    $field_groups = array('A' => array('product' => 'products_data', 'product_code' => 'products_data', 'page_title' => 'products_data'), 'B' => array('price' => 'products_data', 'list_price' => 'products_data', 'amount' => 'products_data', 'min_qty' => 'products_data', 'max_qty' => 'products_data', 'weight' => 'products_data', 'shipping_freight' => 'products_data', 'qty_step' => 'products_data', 'list_qty_count' => 'products_data', 'popularity' => 'products_data'), 'C' => array('is_edp' => 'products_data', 'edp_shipping' => 'products_data', 'free_shipping' => 'products_data', 'feature_comparison' => 'products_data', 'buy_in_advance' => 'products_data'), 'D' => array('short_description' => 'products_data', 'full_description' => 'products_data', 'meta_keywords' => 'products_data', 'meta_description' => 'products_data', 'search_words' => 'products_data'), 'T' => array('timestamp' => 'products_data', 'avail_since' => 'products_data'), 'S' => array('status' => array('name' => 'products_data', 'variants' => array('A' => 'active', 'D' => 'disabled', 'H' => 'hidden')), 'tracking' => array('name' => 'products_data', 'variants' => array('O' => 'track_with_options', 'B' => 'track_without_options', 'D' => 'dont_track')), 'zero_price_action' => array('name' => 'products_data', 'variants' => array('R' => 'zpa_refuse', 'P' => 'zpa_permit', 'A' => 'zpa_ask_price'))), 'E' => array('main_category' => 'products_data', 'add_categories' => 'products_data'), 'L' => array('localization' => array('name' => 'localization')), 'W' => array('details_layout' => 'products_data'));
    $data = array_keys($selected_fields['data']);
    $get_main_category = false;
    $get_add_categories = false;