/** * Sets isEnable property value and attaches needed handlers. * * @param bool $isEnabled Mode control flag. * * @return void */ public static function setEnable($isEnabled = true) { if ($isEnabled && !self::$isEnabled) { self::$onBeforeHandleKey = AddEventHandler("main", "OnBeforeEndBufferContent", array(self::getInstance(), "onBeforeEndBufferContent")); self::$onRestartBufferHandleKey = AddEventHandler("main", "OnBeforeRestartBuffer", array(__CLASS__, "onBeforeRestartBuffer")); self::$onBeforeLocalRedirect = AddEventHandler("main", "OnBeforeLocalRedirect", array(__CLASS__, "onBeforeLocalRedirect"), 2); self::$isEnabled = true; \CJSCore::init(array("fc"), false); } elseif (!$isEnabled && self::$isEnabled) { if (self::$onBeforeHandleKey >= 0) { RemoveEventHandler("main", "OnBeforeEndBufferContent", self::$onBeforeHandleKey); } if (self::$onRestartBufferHandleKey >= 0) { RemoveEventHandler("main", "OnBeforeRestartBuffer", self::$onRestartBufferHandleKey); } if (self::$onBeforeLocalRedirect >= 0) { RemoveEventHandler("main", "OnBeforeLocalRedirect", self::$onBeforeLocalRedirect); } self::$isEnabled = false; } }