/** * Returns the fields configuration of a given page. * * @param $pageUid int The id of the page you want the fields of. * @return array The fields configuration. */ private static function getFieldsConfiguration($pageUid) { if (!isset(self::$fieldsConfiguration[$pageUid])) { self::$fieldsConfiguration[$pageUid] = Core::sortArrayByPositionValue(TypoScriptUtility::getExtensionConfigurationFromPath('fields', $pageUid)); } return self::$fieldsConfiguration[$pageUid]; }
/** * This function will, at its first call, process a clean of the process * configuration. * The configuration will be stored in cache to increase performances for * future calls. * * @param $pageUid int The uid of the page where to get the configuration. * @param $onlyUsedInSiteModification bool Set to true if you only want the configuration which will be used during a modification, not a creation. * @return array The cleaned configuration. */ public static function getCleanedDuplicationConfiguration($pageUid, $onlyUsedInSiteModification = false) { // As the result stored in cache may differ with $onlyUsedInSiteModification, we need to store the data in a different cache file. $siteModificationToken = $onlyUsedInSiteModification ? '1' : '0'; if (!self::$duplicationConfiguration[$pageUid][$siteModificationToken]) { $duplicationConfiguration = Core::sortArrayByPositionValue(TypoScriptUtility::getExtensionConfigurationFromPath('duplication', $pageUid)); $cleanedDuplicationConfiguration = array(); // For HTML convention causes, we replace the lower-camel-case indexes with lower-case-underscored ones. foreach ($duplicationConfiguration as $key => $configuration) { if ($onlyUsedInSiteModification) { if (!$configuration['usedInSiteModification']) { continue; } } $newKey = GeneralUtility::camelCaseToLowerCaseUnderscored($key); $newKey = str_replace('_', '-', $newKey); $cleanedDuplicationConfiguration[$newKey] = $configuration; } self::$duplicationConfiguration[$pageUid][$siteModificationToken] = $cleanedDuplicationConfiguration; } return self::$duplicationConfiguration[$pageUid][$siteModificationToken]; }