예제 #1
0
 /**
  * @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);
 }