/** * Parse an configuration with ContentObjectRenderer::cObjGetSingle() * and return the result. * * @param array $configuration * @return array * @internal */ public function resolvePossibleTypoScriptConfiguration(array $configuration = []) : array { $configuration = $this->extbaseTypoScriptService->convertPlainArrayToTypoScriptArray($configuration); $configuration = $this->resolveTypoScriptConfiguration($configuration); $configuration = $this->extbaseTypoScriptService->convertTypoScriptArrayToPlainArray($configuration); return $configuration; }
public function initializeObject() { $typoScriptArray = $this->frontendConfigurationManager->getTypoScriptSetup(); if (is_array($typoScriptArray)) { $ts = $this->typoScriptService->convertTypoScriptArrayToPlainArray($typoScriptArray); $this->settings = $ts['plugin']['tx_typo3forum']['settings']; } }
/** * A function for injecting dependencies. Should be called first * thing within the overridden 'execute' method. * * @param $extensionName * @param $pluginName */ protected function initialize($extensionName, $pluginName) { $injectionService = GeneralUtility::makeInstance('CIC\\Cicbase\\Service\\InjectionService'); $injectionService->doInjection($this); // Grab the settings array $this->configurationManager->setConfiguration(array('extensionName' => $extensionName, 'pluginName' => $pluginName)); $this->settings = $this->configurationManager->getConfiguration(ConfigurationManagerInterface::CONFIGURATION_TYPE_SETTINGS); if (!$this->settings) { $configuration = $this->configurationManager->getConfiguration(ConfigurationManagerInterface::CONFIGURATION_TYPE_FULL_TYPOSCRIPT); $settings = $configuration['plugin.']['tx_' . strtolower($extensionName) . '.']['settings.']; $this->settings = $this->typoscriptService->convertTypoScriptArrayToPlainArray($settings); } }
/** * Returns a PageTsConfig instance for a given page. * * @param int $pageUid * @return \R3H6\Error404page\Configuration\PageTsConfig */ public function getPageTsConfig($pageUid) { $pageUid = (int) $pageUid; if (!isset($this->pageTsConfig[$pageUid])) { $pageTsConfig = $this->typoScriptService->convertTypoScriptArrayToPlainArray(BackendUtility::getPagesTSconfig($pageUid)); $configuration = array(); if (isset($pageTsConfig[self::TSCONFIG_KEY])) { $configuration = (array) $pageTsConfig[self::TSCONFIG_KEY]; } $this->pageTsConfig[$pageUid] = GeneralUtility::makeInstance('R3H6\\Error404page\\Configuration\\PageTsConfig', $configuration, $pageUid); } return $this->pageTsConfig[$pageUid]; }
/** * Move all userdefined properties to the additionalArguments * array. Ignore the child elements * * @return void */ public function moveAllOtherUserdefinedPropertiesToAdditionalArguments() { $viewHelperDefaultArguments = $this->typoScriptRepository->getModelConfigurationByScope($this->element->getElementType(), 'viewHelperDefaultArguments.'); $ignoreKeys = array(); foreach ($this->userConfiguredElementTyposcript as $attributeName => $attributeValue) { // ignore child elements if (MathUtility::canBeInterpretedAsInteger($attributeName) || isset($ignoreKeys[$attributeName]) || $attributeName == 'postProcessor.' || $attributeName == 'rules.' || $attributeName == 'filters.' || $attributeName == 'layout') { $ignoreKeys[$attributeName . '.'] = true; continue; } $attributeNameWithoutDot = rtrim($attributeName, '.'); $attributeNameToSet = $attributeNameWithoutDot; if (isset($viewHelperDefaultArguments[$attributeName]) || isset($viewHelperDefaultArguments[$attributeNameWithoutDot])) { $this->formBuilder->getFormUtility()->renderArrayItems($attributeValue); $attributeValue = $this->typoScriptService->convertTypoScriptArrayToPlainArray($attributeValue); } else { $attributeValue = $this->formBuilder->getFormUtility()->renderItem($this->userConfiguredElementTyposcript[$attributeNameWithoutDot . '.'], $this->userConfiguredElementTyposcript[$attributeNameWithoutDot]); } $this->additionalArguments[$attributeNameToSet] = $attributeValue; $ignoreKeys[$attributeNameToSet . '.'] = true; $ignoreKeys[$attributeNameToSet] = true; unset($this->userConfiguredElementTyposcript[$attributeNameWithoutDot . '.']); unset($this->userConfiguredElementTyposcript[$attributeNameWithoutDot]); } // remove "stdWrap." from "additionalArguments" on // the FORM Element if (!$this->formBuilder->getConfiguration()->getContentElementRendering() && $this->element->getElementType() == 'FORM') { unset($this->additionalArguments['stdWrap']); unset($this->additionalArguments['stdWrap.']); } }
/** * @return ImageRendererConfiguration */ public function __construct() { if (isset($GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['fluid_styled_responsive_images'])) { $extensionConfiguration = unserialize($GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['fluid_styled_responsive_images']); if (!is_array($extensionConfiguration)) { $extensionConfiguration = ['enableSmallDefaultImage' => true]; } $this->extensionConfiguration = filter_var_array($extensionConfiguration, ['enableSmallDefaultImage' => FILTER_VALIDATE_BOOLEAN], false); } $this->settings = []; $this->typoScriptService = GeneralUtility::makeInstance(TypoScriptService::class); $this->tagBuilder = GeneralUtility::makeInstance(TagBuilder::class); $configuration = $this->typoScriptService->convertTypoScriptArrayToPlainArray($this->getTypoScriptSetup()); $settings = ObjectAccess::getPropertyPath($configuration, 'tt_content.textmedia.settings.responsive_image_rendering'); $settings = is_array($settings) ? $settings : []; $this->settings['layoutKey'] = isset($settings['layoutKey']) ? $settings['layoutKey'] : 'default'; $this->settings['sourceCollection'] = isset($settings['sourceCollection']) && is_array($settings['sourceCollection']) ? $settings['sourceCollection'] : []; }
/** * @return void */ protected function getConfiguration() { $configuration = $this->typoScriptService->convertTypoScriptArrayToPlainArray($this->getTypoScriptSetup()); $settings = ObjectAccess::getPropertyPath($configuration, 'tt_content.textmedia.settings.responsive_image_rendering'); $settings = is_array($settings) ? $settings : []; $this->settings['layoutKey'] = isset($settings['layoutKey']) ? $settings['layoutKey'] : 'default'; $this->settings['sourceCollection'] = isset($settings['sourceCollection']) && is_array($settings['sourceCollection']) ? $settings['sourceCollection'] : []; $this->absRefPrefix = ObjectAccess::getPropertyPath($configuration, 'config.absRefPrefix') ?: ''; }
/** * Returns the TypoScript configuration found in config.tx_extbase * * @return array */ protected function getExtbaseConfiguration() { $setup = $this->getTypoScriptSetup(); $extbaseConfiguration = array(); if (isset($setup['config.']['tx_extbase.'])) { $extbaseConfiguration = $this->typoScriptService->convertTypoScriptArrayToPlainArray($setup['config.']['tx_extbase.']); } return $extbaseConfiguration; }
/** * Fetch page TSconfig of the specified page * * @param int $pageUid page * @param string|null $branch if specified only this branch of the tree will be returned * @return array configuration array */ protected function getPageTSconfig($pageUid, $branch = 'tx_html5mediaelements') { // Not in cache? if (!isset($this->pageTSconfigCache[$pageUid])) { // Fetch and convert page TSconfig $this->pageTSconfigCache[$pageUid] = $this->typoScriptService->convertTypoScriptArrayToPlainArray(BackendUtility::getPagesTSconfig($pageUid)); } // Return configuration from cache return isset($branch) ? $this->pageTSconfigCache[$pageUid][$branch] : $this->pageTSconfigCache[$pageUid]; }
protected function getPluginConfiguration($extensionName, $pluginName = null) { $setup = $this->configurationManager->getConfiguration(\TYPO3\CMS\Extbase\Configuration\ConfigurationManagerInterface::CONFIGURATION_TYPE_FULL_TYPOSCRIPT); $pluginConfiguration = array(); if (TYPO3_MODE === 'FE') { $pluginKey = 'plugin.'; } else { $pluginKey = 'module.'; } if (is_array($setup[$pluginKey]['tx_' . strtolower($extensionName) . '.'])) { $pluginConfiguration = $this->typoScriptService->convertTypoScriptArrayToPlainArray($setup[$pluginKey]['tx_' . strtolower($extensionName) . '.']); } if ($pluginName !== null) { $pluginSignature = strtolower($extensionName . '_' . $pluginName); if (is_array($setup['plugin.']['tx_' . $pluginSignature . '.'])) { \TYPO3\CMS\Core\Utility\ArrayUtility::mergeRecursiveWithOverrule($pluginConfiguration, $this->typoScriptService->convertTypoScriptArrayToPlainArray($setup[$pluginKey]['tx_' . $pluginSignature . '.'])); } } return $pluginConfiguration; }
function remove_ts_setup_dots($ts) { return $this->typoscriptService->convertTypoScriptArrayToPlainArray($ts); foreach ($ts as $key => $v) { if (substr($key, -1) == '.' && is_array($v)) { $v = self::remove_ts_setup_dots($v); $r = $ts[substr($key, 0, -1)]; $ts[substr($key, 0, -1)] = $v; if ($r) { $ts[substr($key, 0, -1)]['_typoScriptNodeValue'] = $r; } unset($ts[$key]); } } return $ts; }
/** * Set the htmlAttributes and the additionalAttributes * Remap htmlAttributes to additionalAttributes if needed * * @param ElementBuilder $elementBuilder * @param Element $element * @return void */ protected function setAttributes(ElementBuilder $elementBuilder, Element $element) { $htmlAttributes = $this->typoScriptRepository->getModelDefinedHtmlAttributes($element->getElementType()); $elementBuilder->setHtmlAttributes($htmlAttributes); $elementBuilder->setHtmlAttributeWildcards(); $elementBuilder->overlayUserdefinedHtmlAttributeValues(); $elementBuilder->setNameAndId(); $elementBuilder->overlayFixedHtmlAttributeValues(); // remove all NULL values $htmlAttributes = array_filter($elementBuilder->getHtmlAttributes()); $elementBuilder->setHtmlAttributes($htmlAttributes); $elementBuilder->moveHtmlAttributesToAdditionalArguments(); $elementBuilder->setViewHelperDefaulArgumentsToAdditionalArguments(); $elementBuilder->moveAllOtherUserdefinedPropertiesToAdditionalArguments(); $htmlAttributes = $elementBuilder->getHtmlAttributes(); $userConfiguredElementTypoScript = $elementBuilder->getUserConfiguredElementTypoScript(); $additionalArguments = $elementBuilder->getAdditionalArguments(); $element->setHtmlAttributes($htmlAttributes); $additionalArguments = $this->typoScriptService->convertTypoScriptArrayToPlainArray($additionalArguments); $additionalArguments['prefix'] = $this->configuration->getPrefix(); $element->setAdditionalArguments($additionalArguments); $this->handleIncomingValues($element, $userConfiguredElementTypoScript); if ($element->getElementType() === 'FORM' && $this->getControllerAction() === 'show') { if (empty($element->getHtmlAttribute('action'))) { if ($element->getAdditionalArgument('confirmation') && (int) $element->getAdditionalArgument('confirmation') === 1) { $element->setAdditionalArgument('action', 'confirmation'); } else { $element->setAdditionalArgument('action', 'process'); } } else { $element->setAdditionalArgument('pageUid', $element->getHtmlAttribute('action')); $element->setAdditionalArgument('action', null); } } // needed if confirmation page is enabled if ($this->sessionUtility->getSessionData($element->getName()) && $element->getAdditionalArgument('uploadedFiles') === null) { $element->setAdditionalArgument('uploadedFiles', $this->sessionUtility->getSessionData($element->getName())); } }
public function initializeObject() { $ts = $this->typoScriptService->convertTypoScriptArrayToPlainArray(\TYPO3\CMS\Extbase\Configuration\FrontendConfigurationManager::getTypoScriptSetup()); $this->settings = $ts['plugin']['tx_typo3forum']['settings']; }
/** * @return array */ protected function getSettings() { if ($this->settings === NULL) { $ts = $this->typoScriptService->convertTypoScriptArrayToPlainArray($this->frontendConfigurationManager->getTypoScriptSetup()); $this->settings = $ts['plugin']['tx_typo3forum']['settings']; } return $this->settings; }
/** * Get full typoscript configuration * * @return array */ protected function getFullTypoScriptConfig() { $setup = $this->configurationManager->getConfiguration(ConfigurationManagerInterface::CONFIGURATION_TYPE_FULL_TYPOSCRIPT); return $this->typoScriptService->convertTypoScriptArrayToPlainArray($setup['plugin.']['tx_t3extblog.']); }