private function cartSync($contact = null)
 {
     if (!$this->getSettings('enabled')) {
         return null;
     }
     if (!$contact) {
         $id = wa()->getUser()->getId();
     } else {
         $id = $contact->getId;
     }
     $cart = waRequest::cookie('shop_cart');
     $model = new shopCartItemsModel();
     $carts = $model->query('SELECT code FROM shop_cart_items WHERE contact_id=' . $id)->fetchAssoc();
     if (count($carts) == 0) {
         return null;
     }
     $values = array('contact_id' => $id);
     if (count($carts) == 1) {
         if ($cart != $carts['code']) {
             $data = array('code' => $cart);
             $model->updateByField($data, $values);
             $data = array('code' => $carts['code']);
             $model->updateByField($values, $data);
             $model->updateByField($data, $values);
             wa()->getResponse()->setCookie('shop_cart', $carts['code'], time() + 30 * 86400, null, '', false, true);
             return true;
         }
     }
 }
Beispiel #2
0
 /**
  * Changes 'service_variant_id' value for current shopping cart's item with specified id. 
  * 
  * @param unknown_type $item_id
  * @param unknown_type $variant_id
  */
 public function setServiceVariantId($item_id, $variant_id)
 {
     $this->model->updateByField(array('code' => $this->code, 'id' => $item_id), array('service_variant_id' => $variant_id));
     $this->setSessionData('total', null);
 }