HEX
Server: Apache/2.4.6 (CentOS) mpm-itk/2.4.7-04 mod_fcgid/2.3.9 PHP/5.4.16
System: Linux dvm.vladweb.ru 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64
User: region-gk.ru (1016)
PHP: 7.3.33
Disabled: NONE
Upload Files
File: //home/temp/yarusvl.ru/ajax/cart_ajax.php
<?php
    if(!empty($_SERVER['HTTP_USER_AGENT'])){
        session_name(md5($_SERVER['HTTP_USER_AGENT']));
    }
    session_start();
    require_once('../api/Mgc.php');
    define('IS_CLIENT', true);
    $mgc = new Mgc();
    /*Определяем пользователя*/
    if(isset($_SESSION['user_id']) && $user = $mgc->users->get_user(intval($_SESSION['user_id']))) {
        $mgc->design->assign('user', $user);
    }
    
    $action = $mgc->request->get('action');
    $variant_id = $mgc->request->get('variant_id', 'integer');
    $amount = $mgc->request->get('amount', 'integer');
    /*Действия над товарами в корзине*/
    switch($action) {
        case 'update_citem':
            $mgc->cart->update_item($variant_id, $amount);
            break;
        case 'remove_citem':
            $mgc->cart->delete_item($variant_id);
            break;
        case 'add_citem':
            $mgc->cart->add_item($variant_id, $amount);
            break;
        default:
            break;
    }

    /*Определяем язык*/
    $language = $mgc->languages->get_language($mgc->languages->lang_id());
    $mgc->design->assign('language', $language);
    $mgc->design->assign('lang_link', $mgc->languages->get_lang_link());
    $mgc->design->assign('lang', $mgc->translations->get_translations(array('lang'=>$language->label)));

    $cart = $mgc->cart->get_cart();
    $mgc->design->assign('cart', $cart);
    /*Определяем валюту*/
    $currencies = $mgc->money->get_currencies(array('enabled'=>1));
    if(isset($_SESSION['currency_id'])) {
        $currency = $mgc->money->get_currency($_SESSION['currency_id']);
    } else {
        $currency = reset($currencies);
    }
    $mgc->design->assign('currency',    $currency);

    /*Выбираем доступные способы доставки и оплаты*/
    $deliveries = $mgc->delivery->get_deliveries(array('enabled'=>1));
    $mgc->design->assign('deliveries', $deliveries);
    foreach($deliveries as $delivery) {
        $delivery->payment_methods = $mgc->payment->get_payment_methods(array('delivery_id'=>$delivery->id, 'enabled'=>1));
    }
    $mgc->design->assign('all_currencies', $mgc->money->get_currencies());

    /*Рабтаем с товарами в корзине*/
    if (count($cart->purchases) > 0) {
        $coupon_code = trim($mgc->request->get('coupon_code', 'string'));
        if(empty($coupon_code)) {
            $mgc->cart->apply_coupon('');                
        } else {
            $coupon = $mgc->coupons->get_coupon((string)$coupon_code);
            if(empty($coupon) || !$coupon->valid) {
                $mgc->cart->apply_coupon($coupon_code);
                $mgc->design->assign('coupon_error', 'invalid');
            } else {
                $mgc->cart->apply_coupon($coupon_code);
            }
        }
        if($mgc->coupons->count_coupons(array('valid'=>1))>0) {
            $mgc->design->assign('coupon_request', true);
        }
        $cart = $mgc->cart->get_cart();
        $mgc->design->assign('cart', $cart);
        $result = array('result'=>1);
        $result['cart_informer'] = $mgc->design->fetch('cart_informer.tpl');
        $result['cart_purchases'] = $mgc->design->fetch('cart_purchases.tpl');
        $result['cart_deliveries'] = $mgc->design->fetch('cart_deliveries.tpl');
        $result['currency_sign'] = $currency->sign;
        $result['total_price'] = $mgc->money->convert($cart->total_price, $currency->id);
        $result['total_products'] = $cart->total_products;
    } else {
        $result = array('result'=>0);
        $result['cart_informer'] = $mgc->design->fetch('cart_informer.tpl');
        $result['content'] = $mgc->design->fetch('cart.tpl');
    }
    header("Content-type: application/json; charset=UTF-8");
    header("Cache-Control: must-revalidate");
    header("Pragma: no-cache");
//    header("Expires: -1");
    header("Expires: ". 60*60*24);

    print json_encode($result);