/** * Get the customers shopping cart or create one if it doesn't exist yet. * * @return SilvercartShoppingCart * * @author Sebastian Diel <*****@*****.**>, * Roland Lehmann <*****@*****.**> * @since 01.12.2014 */ public function getCart() { $id = $this->owner->ID; if (!array_key_exists($id, self::$shoppingCartList)) { if ($this->owner->SilvercartShoppingCartID == 0 || !SilvercartShoppingCart::get()->byID($this->owner->SilvercartShoppingCartID)) { $cart = new SilvercartShoppingCart(); $cart->write(); $this->owner->SilvercartShoppingCartID = $cart->ID; $this->owner->write(); } self::$shoppingCartList[$id] = $this->owner->SilvercartShoppingCart(); } return self::$shoppingCartList[$id]; }