Example #1
0
 /**
  * get singleton instance
  * @param sfUser $sfUser
  * @return tpyCart
  */
 public static function getInstance(sfUser $sfUser)
 {
     if (is_null(self::$_instance)) {
         if ($sfUser->isAuthenticated()) {
             self::$_instance = tpyUserCartTable::getInstance()->findOneBySfGuardUserId($sfUser->getGuardUser()->getId());
             if (false == self::$_instance) {
                 self::$_instance = new tpyUserCart();
                 self::$_instance->setSfGuardUserId($sfUser->getGuardUser()->getId());
             }
         } else {
             self::$_instance = new tpyCart();
             self::$_instance->_user = $sfUser;
             self::$_instance->_items = $sfUser->getAttribute('cart_items', array(), tpyCart::SESSION_NS);
         }
     }
     return self::$_instance;
 }