Ejemplo n.º 1
0
 /**
  *	@singleton method used to instantiate class object
  *	@access public
  *	@return class instance
  */
 public static function instance(EE_Line_Item $grand_total = NULL)
 {
     // check if class object is instantiated
     if (!self::$_instance instanceof EE_Cart) {
         //try getting the cart out of the session
         $saved_cart = empty($grand_total) ? EE_Registry::instance()->SSN->get_session_data('cart') : NULL;
         self::$_instance = $saved_cart instanceof EE_Cart ? $saved_cart : new self($grand_total);
         unset($saved_cart);
     }
     // once everything is all said and done, save the cart to the EE_Session
     add_action('shutdown', array(self::$_instance, 'save_cart'), 90);
     return self::$_instance;
 }
 /**
  * Resets the cart completely (whereas empty_cart
  * @param EE_Line_Item $grand_total
  * @return EE_Cart
  */
 public static function reset(EE_Line_Item $grand_total = NULL)
 {
     remove_action('shutdown', array(self::$_instance, 'save_cart'), 90);
     EE_Registry::instance()->SSN->reset_cart();
     self::$_instance = NULL;
     return self::instance($grand_total);
 }
Ejemplo n.º 3
0
 /**
  * Resets the cart completely (whereas empty_cart
  * @param EE_Line_Item $grand_total
  * @param EE_Session $session
  * @return EE_Cart
  */
 public static function reset(EE_Line_Item $grand_total = null, EE_Session $session = null)
 {
     remove_action('shutdown', array(self::$_instance, 'save_cart'), 90);
     if ($session instanceof EE_Session) {
         $session->reset_cart();
     }
     self::$_instance = null;
     return self::instance($grand_total, $session);
 }