Exemple #1
0
 /**
  * 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];
 }
Exemple #10
0
 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;
 }
Exemple #12
0
 /**
  * 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;
 }
Exemple #15
0
 /**
  * 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.']);
 }