public function addMainResources($options = array()) { $response = $this->pageStack->getPageResponse(); $request = $this->pageStack->getRequest(); $options['noJs'] = isset($options['noJs']) ? $options['noJs'] : false; $prefix = substr($this->jarves->getAdminPrefix(), 1); $response->addJs(' window._path = window._baseUrl = ' . json_encode($request->getBasePath() . '/') . ' window._pathAdmin = ' . json_encode($request->getBaseUrl() . '/' . $prefix . '/'), 3001); if ($this->jarves->isDebugMode()) { foreach ($this->jarves->getConfigs() as $bundleConfig) { foreach ($bundleConfig->getAdminAssetsInfo() as $assetInfo) { if ($options['noJs'] && $assetInfo->isJavaScript()) { continue; } $response->addAsset($assetInfo); } } } else { $response->addCssFile($prefix . '/admin/backend/css'); if (!$options['noJs']) { $response->addJsFile($prefix . '/admin/backend/script', 3000); } foreach ($this->jarves->getConfigs() as $bundleConfig) { foreach ($bundleConfig->getAdminAssetsInfo() as $assetInfo) { if ($options['noJs'] && $assetInfo->isJavaScript()) { continue; } if ($assetInfo->getPath()) { // load javascript files, that are not accessible (means those point to a controller) // because those can't be compressed $path = $this->jarves->resolveWebPath($assetInfo->getPath()); if (!file_exists($path)) { $response->addAsset($assetInfo); continue; } } if ($assetInfo->getContent()) { // load inline assets because we can't compress those $response->addAsset($assetInfo); continue; } if (!$assetInfo->isCompressionAllowed()) { $response->addAsset($assetInfo); } } } } $response->setDocType('JarvesBundle:Admin:index.html.twig'); $response->addHeader('<meta name="viewport" content="initial-scale=1.0" >'); $response->addHeader('<meta name="apple-mobile-web-app-capable" content="yes">'); $response->setResourceCompression(false); }
/** * @ApiDoc( * section="Administration", * description="Show the login page of the administration" * ) * * @Rest\Get("%jarves_admin_prefix%") * @param Request $request * * @return \Jarves\PageResponse */ public function showLoginAction(Request $request) { /** @var PageStack $pageStack */ $pageStack = $this->get('jarves.page_stack'); /** @var Jarves $jarves */ $jarves = $this->get('jarves'); /** @var ACL $acl */ $acl = $this->get('jarves.acl'); /** @var JarvesConfig $jarvesConfig */ $jarvesConfig = $this->get('jarves.config'); $adminAssets = new AdminAssets($jarves, $pageStack, $acl); $adminAssets->addMainResources(); $adminAssets->addLanguageResources(); $adminAssets->addSessionScripts(); $response = $pageStack->getPageResponse(); $response->addJs("\n tinymce.baseURL = _path+'bundles/jarves/tinymce',\n window.addEvent('domready', function(){\n jarves.adminInterface = new jarves.AdminInterface();\n });\n"); $response->setResourceCompression(false); $response->setDomainHandling(false); $response->setRenderFrontPage(false); $response->setTitle($jarvesConfig->getSystemConfig()->getSystemTitle() . ' | Jarves Administration'); $response->prepare($request); return $response; }