$_SESSION['cart'] = isset($_SESSION['cart']) ? $_SESSION['cart'] : array();
$cart =& $_SESSION['cart'];
$_SESSION['customer_auth'] = isset($_SESSION['customer_auth']) ? $_SESSION['customer_auth'] : array();
$customer_auth =& $_SESSION['customer_auth'];
$_SESSION['shipping_rates'] = isset($_SESSION['shipping_rates']) ? $_SESSION['shipping_rates'] : array();
$shipping_rates =& $_SESSION['shipping_rates'];
if (empty($customer_auth)) {
    $customer_auth = fn_fill_auth(array(), array(), false, 'C');
}
$_suffix = !empty($cart['order_id']) ? 'update' : 'add';
if (fn_allowed_for('ULTIMATE') && $mode != 'edit' && $mode != 'new') {
    if (Registry::get('runtime.company_id') && !empty($cart['order_company_id']) && Registry::get('runtime.company_id') != $cart['order_company_id'] || !Registry::get('runtime.company_id') && !empty($cart['order_company_id'])) {
        if (Registry::get('runtime.company_id')) {
            fn_set_notification('W', __('warning'), __('orders_not_allow_to_change_company'));
        }
        if (fn_get_available_company_ids($cart['order_company_id'])) {
            return array(CONTROLLER_STATUS_REDIRECT, fn_link_attach(Registry::get('config.current_url'), 'switch_company_id=' . $cart['order_company_id']));
        } else {
            return array(CONTROLLER_STATUS_DENIED);
        }
    } elseif (empty($cart['order_company_id']) && Registry::get('runtime.company_id')) {
        $cart['order_company_id'] = Registry::get('runtime.company_id');
    }
}
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    // Add product to the cart
    if ($mode == 'add') {
        // Cart is empty, create it
        if (empty($cart)) {
            fn_clear_cart($cart);
        }
Exemplo n.º 2
0
function fn_yml_export_import_settings()
{
    db_query("INSERT INTO ?:exim_layouts (name, cols, pattern_id, active) VALUES ('general', 'Option ID,Option name,Product ID,Product name,YML option,YML option param', 'product_yml_options', 'Y')");
    $companies_ids = fn_get_available_company_ids();
    foreach ($companies_ids as $company_id) {
        $offers_params = array('vendorCode' => array('type' => 'product', 'value' => 'product_code'), 'description' => array('type' => 'product', 'value' => 'full_description'), 'model' => array('type' => 'product', 'value' => 'yml2_model'), 'typePrefix' => array('type' => 'product', 'value' => 'yml2_type_prefix'), 'vendor' => array('type' => 'product', 'value' => 'yml2_brand'));
        $brand_id = db_get_field("SELECT feature_id FROM ?:product_features WHERE status = 'A' AND feature_type = 'E' AND company_id = ?i", $company_id);
        if (!empty($brand_id)) {
            $offers_params['vendor'] = array('type' => 'feature', 'value' => $brand_id);
        }
        $data = array('param_type' => 'offer', 'param_key' => 'common', 'param_data' => serialize($offers_params), 'company_id' => $company_id);
        db_query("INSERT INTO ?:yml_param ?e ON DUPLICATE KEY UPDATE ?u", $data, $data);
        $shop_name = fn_yml_get_setting_value('shop_name', $company_id);
        if (empty($shop_name)) {
            $shop_name = fn_get_company_name($company_id);
        }
        $key = fn_yml_rand_code();
        $price_params = array('enable_authorization' => fn_yml_get_setting_value('enable_authorization', $company_id), 'company_id' => $company_id, 'access_key' => $key, 'name_price_list' => 'Яндекс.Маркет', 'shop_name' => $shop_name, 'export_encoding' => fn_yml_get_setting_value('export_encoding', $company_id), 'detailed_generation' => 'Y', 'utm_link' => '', 'export_stock' => fn_yml_get_setting_value('export_stock', $company_id), 'export_null_price' => fn_yml_get_setting_value('export_null_price', $company_id), 'market_category' => fn_yml_get_setting_value('market_category', $company_id), 'weight' => 'N', 'dimensions' => 'N', 'image_type' => fn_yml_get_setting_value('image_type', $company_id), 'thumbnail_width' => fn_yml_get_setting_value('thumbnail_width', $company_id), 'thumbnail_height' => fn_yml_get_setting_value('thumbnail_height', $company_id), 'store' => 'N', 'pickup' => 'N', 'delivery' => 'Y', 'delivery_options' => array(), 'export_hidden_categories' => 'N', 'exclude_categories_not_logging' => 'Y', 'exclude_categories' => '');
        fn_yml_get_categories_data($price_params);
        $data = array('param_type' => 'price_list', 'param_key' => $key, 'param_data' => serialize($price_params), 'company_id' => $company_id);
        db_query("INSERT INTO ?:yml_param ?e ON DUPLICATE KEY UPDATE ?u", $data, $data);
    }
}
Exemplo n.º 3
0
/**
 * Tryes to find company id in session
 *
 * @return int Company id if stored in session, 0 otherwise
 */
function fn_init_company_id_find_in_session()
{
    $session_company_id = intval(fn_get_session_data('company_id'));
    if ($session_company_id && !fn_get_available_company_ids($session_company_id)) {
        fn_delete_session_data('company_id');
        $session_company_id = 0;
    }
    return $session_company_id;
}