Exemplo n.º 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;
 }