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; } } }
/** * 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); }