Example #1
0
 $domDocument->insertHTML($response->content);
 $response->content = $app->components->process($domDocument->saveHTML());
 $currentUserExists = Options::hasServer() && (Options::hasFeature('USERS') || Options::hasFeature('USERS_LOGIN_*')) ? $app->bearCMS->currentUser->exists() : false;
 $externalLinksAreEnabled = !empty($settings['externalLinks']);
 if ($externalLinksAreEnabled) {
     $domDocument = new HTML5DOMDocument();
     $domDocument->loadHTML($response->content);
     $domDocument->insertHTML('<html><body><script src="' . htmlentities($context->assets->getUrl('assets/externalLinks.min.js')) . '" async onload="bearCMS.externalLinks.initialize(' . ($externalLinksAreEnabled ? 1 : 0) . ',' . ($currentUserExists ? 1 : 0) . ');"></script></body></html>');
     $response->content = $domDocument->saveHTML();
 }
 if (!$currentUserExists) {
     return;
 }
 $serverCookies = Cookies::getList(Cookies::TYPE_SERVER);
 if (!empty($serverCookies['tmcs']) || !empty($serverCookies['tmpr'])) {
     ElementsHelper::$editorData = [];
 }
 $requestArguments = [];
 $requestArguments['hasEditableElements'] = empty(ElementsHelper::$editorData) ? '0' : '1';
 $requestArguments['hasEditableContainers'] = '0';
 foreach (ElementsHelper::$editorData as $itemData) {
     if ($itemData[0] === 'container') {
         $requestArguments['hasEditableContainers'] = '1';
     }
 }
 $cacheKey = json_encode(['adminUI', $app->request->base, $requestArguments, $app->bearCMS->currentUser->getSessionKey(), $app->bearCMS->currentUser->getPermissions(), get_class_vars('\\BearCMS\\Internal\\Options'), $serverCookies]);
 $adminUIData = $app->cache->get($cacheKey);
 if (!is_array($adminUIData)) {
     $adminUIData = Server::call('adminui', $requestArguments, true);
     $app->cache->set($cacheKey, $adminUIData, is_array($adminUIData) && isset($adminUIData['result']) ? 99999 : 10);
 }