Exemple #1
0
 public function EndBufferContent($content = "")
 {
     if ($this->buffer_man) {
         $this->auto_buffer_cleaned = true;
         return "";
     }
     Frame::checkAdminPanel();
     if (function_exists("getmoduleevents")) {
         foreach (GetModuleEvents("main", "OnBeforeEndBufferContent", true) as $arEvent) {
             ExecuteModuleEventEx($arEvent, array());
         }
     }
     $asset = Asset::getInstance();
     if (Frame::getUseAppCache()) {
         $asset->addString(CJSCore::GetCoreMessagesScript(), false, AssetLocation::AFTER_CSS, AssetMode::ALL);
     } else {
         $asset->addString(CJSCore::GetCoreMessagesScript(), false, AssetLocation::AFTER_CSS, AssetMode::STANDARD);
         $asset->addString(CJSCore::GetCoreMessagesScript(true), false, AssetLocation::AFTER_CSS, AssetMode::COMPOSITE);
     }
     $asset->addString($this->GetSpreadCookieHTML(), false, AssetLocation::AFTER_JS, AssetMode::STANDARD);
     if ($asset->canMoveJsToBody() && \CJSCore::IsCoreLoaded()) {
         $asset->addString(\CJSCore::GetInlineCoreJs(), false, AssetLocation::BEFORE_CSS, AssetMode::ALL);
     }
     if (is_object($GLOBALS["APPLICATION"])) {
         $cnt = count($this->buffer_content_type);
         for ($i = 0; $i < $cnt; $i++) {
             $this->buffer_content[$i * 2 + 1] = call_user_func_array($this->buffer_content_type[$i]["F"], $this->buffer_content_type[$i]["P"]);
         }
     }
     $composite = Frame::getInstance();
     $compositeContent = $composite->startBuffering($content);
     $content = implode("", $this->buffer_content) . $content;
     if (function_exists("getmoduleevents")) {
         foreach (GetModuleEvents("main", "OnEndBufferContent", true) as $arEvent) {
             ExecuteModuleEventEx($arEvent, array(&$content));
         }
     }
     $wasContentModified = $composite->endBuffering($content, $compositeContent);
     if (!$wasContentModified && $asset->canMoveJsToBody()) {
         $asset->moveJsToBody($content);
     }
     return $content;
 }
Exemple #2
0
 /**
  * Insert JS code to set assets included in page
  * @return string
  */
 private function showFilesList()
 {
     $res = '';
     if (!\CJSCore::IsCoreLoaded()) {
         return $res;
     }
     if (!empty($this->assetList['JS'])) {
         $assetList = array();
         $setList = $this->getTargetList('JS');
         foreach ($setList as $set) {
             if ($this->mode & $set['MODE'] && isset($this->assetList['JS'][$set['PARENT_NAME']][$set['NAME']]) && is_array($this->assetList['JS'][$set['PARENT_NAME']][$set['NAME']])) {
                 $assetList = array_merge($assetList, $this->assetList['JS'][$set['PARENT_NAME']][$set['NAME']]);
             }
         }
         if (!empty($assetList)) {
             $res .= '<script type="text/javascript">' . "BX.setJSList(['" . implode("','", $assetList) . "']); </script>\n";
         }
     }
     if (!empty($this->assetList['CSS'])) {
         $assetList = array();
         $setList = $this->getTargetList('CSS');
         foreach ($setList as $set) {
             if ($this->mode & $set['MODE'] && isset($this->assetList['CSS'][$set['PARENT_NAME']][$set['NAME']]) && is_array($this->assetList['CSS'][$set['PARENT_NAME']][$set['NAME']])) {
                 $assetList = array_merge($assetList, $this->assetList['CSS'][$set['PARENT_NAME']][$set['NAME']]);
             }
         }
         if (!empty($assetList)) {
             $res .= '<script type="text/javascript">' . "BX.setCSSList(['" . implode("','", $assetList) . "']); </script>\n";
         }
     }
     return $res;
 }