* @copyright 2007-2011 PrestaShop SA * @version Release: $Revision$ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) * International Registered Trademark & Property of PrestaShop SA */ /** * @since 1.5.0 */ class ContextCore { /** * @var Context */ protected static $instance; /** * @var Cart */ public $cart; /** * @var Customer */ public $customer; /** * @var Cookie */ public $cookie; /** * @var Link */ public $link; /** * @var Country */ public $country; /** * @var Employee */ public $employee; /** * @var Controller */ public $controller; /** * @var Language */ public $language; /** * @var Currency */ public $currency; /** * @var AdminTab */ public $tab; /** * @var Shop */ public $shop; /** * @var Smarty */ public $smarty; /** * Get a singleton context * * @return Context */ public static function getContext() { if (!isset(self::$instance)) self::$instance = new Context(); return self::$instance; } /** * Clone current context * * @return Context */ public function cloneContext() { return clone($this); } /** * @return int Shop context type (Shop::CONTEXT_ALL, etc.) */ public static function shop() { if (!self::$instance->shop->getContextType()) return Shop::CONTEXT_ALL; return self::$instance->shop->getContextType(); } }