Exemple #1
0
 /**
  * Sets isEnable property value and attaches needle handlers
  * @param bool $isEnable
  */
 public static function setEnable($isEnable = true)
 {
     if ($isEnable && !self::$isEnable) {
         self::$onBeforeHandleKey = AddEventHandler("main", "OnBeforeEndBufferContent", array(__CLASS__, "OnBeforeEndBufferContent"));
         self::$onHandleKey = AddEventHandler("main", "OnEndBufferContent", array(__CLASS__, "OnEndBufferContent"));
         self::$isEnable = true;
         \CJSCore::init(array("fc"), false);
         $actionType = \Bitrix\Main\Context::getCurrent()->getServer()->get("HTTP_BX_ACTION_TYPE");
         if ($actionType == "get_dynamic") {
             //Is it the background request?
             self::$isBackgroundRequest = true;
         }
     } elseif (!$isEnable && self::$isEnable) {
         if (self::$onBeforeHandleKey >= 0) {
             RemoveEventHandler("main", "OnBeforeEndBufferContent", self::$onBeforeHandleKey);
         }
         if (self::$onBeforeHandleKey >= 0) {
             RemoveEventHandler("main", "OnEndBufferContent", self::$onHandleKey);
         }
         self::$isEnable = false;
     }
 }