예제 #1
0
파일: Primary.php 프로젝트: krvd/cms-Inji
 public static function getFinalSum($pay, $method)
 {
     $sum = parent::getFinalSum($pay, $method);
     if ($pay->data && ($cart = \Ecommerce\Cart::get($pay->data))) {
         $extra = '0.' . (strlen((string) $cart->id) > 1 ? substr((string) $cart->id, -2) : $cart->id);
     } else {
         $extra = 0;
     }
     return $sum + $extra;
 }
예제 #2
0
파일: Orders.php 프로젝트: krvd/cms-Inji
 public function parseOrders($orders)
 {
     foreach ($orders as $order) {
         $cart = \Ecommerce\Cart::get((string) $order->Номер);
         if (!$cart) {
             continue;
         }
         $reqs = [];
         foreach ($order->ЗначенияРеквизитов->ЗначениеРеквизита as $req) {
             $reqs[(string) $req->Наименование] = (string) $req->Значение;
         }
         $payed = false;
         $cancel = false;
         if (!empty($reqs['Дата оплаты по 1С']) && $reqs['Дата оплаты по 1С'] != 'T') {
             $payed = true;
             $date = new \DateTime((string) $reqs['Дата оплаты по 1С']);
             $cart->payed_date = $date->format('Y-m-d H:i:s');
         } elseif (!empty($reqs['Отменен']) && $reqs['Отменен'] == 'true' || !empty($reqs['Дата оплаты по 1С']) && $reqs['Дата оплаты по 1С'] == 'T') {
             $cancel = true;
         }
         $this->updateCartItems($cart, $order->Товары->Товар);
         $cart->payed = $payed;
         if ($payed && $cart->cart_status_id == 5) {
         } elseif ($payed && $cart->cart_status_id == 3) {
             $cart->cart_status_id = 5;
             $cart->save();
         } elseif ($cancel && $cart->cart_status_id == 3) {
             $cart->cart_status_id = 4;
         }
         if ($cart->warehouse_block && !$payed && !$cancel && !empty($reqs['Проведен']) && $reqs['Проведен'] == 'true') {
             $cart->warehouse_block = 0;
             foreach ($cart->cartItems as $cci) {
                 if ($cci->price && $cci->price->offer) {
                     $cci->price->offer->changeWarehouse('-' . (double) $cci->count);
                 }
             }
         }
         //$cart->cc_exported = 1;
         $cart->save();
     }
 }
예제 #3
0
 public function refillAction($id = 0)
 {
     $cart = \Ecommerce\Cart::get((int) $id);
     if ($cart->user_id != Users\User::$cur->id) {
         Tools::redirect('/', 'Это не ваша корзина');
     }
     if (!empty($_SESSION['cart']['cart_id'])) {
         unset($_SESSION['cart']['cart_id']);
     }
     $newCart = $this->ecommerce->getCurCart();
     foreach ($cart->cartItems as $cartitem) {
         $newCart->addItem($cartitem->item_offer_price_id, $cartitem->count);
     }
     $newCart->save();
     Tools::redirect('/ecommerce/cart/');
 }