/** * @param array $assets * @return array * @throws \RuntimeException */ private function manipulateAssetsByTypoScriptSettings($assets) { $settings = $this->getSettings(); if (FALSE === (isset($settings['asset']) || isset($settings['assetGroup']))) { return $assets; } $filtered = array(); /** @var \FluidTYPO3\Vhs\Asset $asset */ foreach ($assets as $name => $asset) { $assetSettings = $this->extractAssetSettings($asset); $groupName = $assetSettings['group']; $removed = (bool) (TRUE === isset($assetSettings['removed']) ? $assetSettings['removed'] : FALSE); if (TRUE === $removed) { continue; } $localSettings = (array) $assetSettings; if (TRUE === isset($settings['asset'])) { $localSettings = ViewHelperUtility::mergeArrays($localSettings, (array) $settings['asset']); } if (TRUE === isset($settings['asset'][$name])) { $localSettings = ViewHelperUtility::mergeArrays($localSettings, (array) $settings['asset'][$name]); } if (TRUE === isset($settings['assetGroup'][$groupName])) { $localSettings = ViewHelperUtility::mergeArrays($localSettings, (array) $settings['assetGroup'][$groupName]); } if (TRUE === $asset instanceof \FluidTYPO3\Vhs\ViewHelpers\Asset\AssetInterface) { $asset->setSettings($localSettings); $filtered[$name] = $asset; } else { $filtered[$name] = $assetSettings; } } return $filtered; }
/** * Get link of language menu entry * * @param $uid * @return string */ protected function getLanguageUrl($uid) { $getValues = GeneralUtility::_GET(); $getValues['L'] = $uid; unset($getValues['id']); unset($getValues['cHash']); $addParams = http_build_query($getValues, '', '&'); $config = array('parameter' => $this->getPageUid(), 'returnLast' => 'url', 'additionalParams' => '&' . $addParams, 'useCacheHash' => $this->arguments['useCHash']); if (TRUE === is_array($this->arguments['configuration'])) { $config = ViewHelperUtility::mergeArrays($config, $this->arguments['configuration']); } return $this->cObj->typoLink('', $config); }