/** * @return Form[][] */ public function getContentElementFormInstances() { $elements = array(); $allTemplatePaths = $this->getContentConfiguration(); $controllerName = 'Content'; foreach ($allTemplatePaths as $registeredExtensionKey => $templatePathSet) { $files = array(); $extensionKey = TRUE === isset($templatePathSet['extensionKey']) ? $templatePathSet['extensionKey'] : $registeredExtensionKey; $extensionKey = ExtensionNamingUtility::getExtensionKey($extensionKey); $templatePaths = new TemplatePaths($templatePathSet); $viewContext = new ViewContext(NULL, $extensionKey); $viewContext->setTemplatePaths($templatePaths); $viewContext->setSectionName('Configuration'); foreach ($templatePaths->getTemplateRootPaths() as $templateRootPath) { $files = GeneralUtility::getAllFilesAndFoldersInPath($files, $templateRootPath . '/' . $controllerName . '/', 'html'); if (0 < count($files)) { foreach ($files as $templateFilename) { $actionName = pathinfo($templateFilename, PATHINFO_FILENAME); $fileRelPath = $actionName . '.html'; $viewContext->setTemplatePathAndFilename($templateFilename); $form = $this->getFormFromTemplateFile($viewContext); if (TRUE === empty($form)) { $this->sendDisabledContentWarning($templateFilename); continue; } if (FALSE === $form->getEnabled()) { $this->sendDisabledContentWarning($templateFilename); continue; } $id = preg_replace('/[\\.\\/]/', '_', $registeredExtensionKey . '/' . $actionName . '.html'); $form->setOption('contentElementId', $registeredExtensionKey . ':' . $fileRelPath); $elements[$registeredExtensionKey][$id] = $form; } } } } return $elements; }
/** * @return void */ public function detectAndRegisterAllFluidBackendModules() { $configurations = $this->getBackendModuleTemplatePaths(); foreach ($configurations as $extensionKey => $paths) { $paths = new TemplatePaths($paths); $context = new ViewContext(NULL, $extensionKey, 'Backend'); $context->setSectionName('Configuration'); $context->setTemplatePaths($paths); $files = $paths->resolveAvailableTemplateFiles('Backend'); foreach ($files as $fileName) { $templatePathAndFilename = $fileName; $context->setTemplatePathAndFilename($templatePathAndFilename); $form = $this->getFormFromTemplateFile($context); $this->registerModuleBasedOnFluxForm($extensionKey, $form); } } }