hasArgument($argumentName)) { $value = $this->renderChildren(); } else { $value = $this->arguments[$argumentName]; } return $this->arrayFromArrayOrTraversableOrCSV($value); } /** * @param mixed $candidate * @param boolean $useKeys * * @return array * @throws Exception */ protected function arrayFromArrayOrTraversableOrCSV($candidate, $useKeys = TRUE) { if (TRUE === $candidate instanceof \Traversable) { return iterator_to_array($candidate, $useKeys); } elseif (TRUE === $candidate instanceof QueryResultInterface) { /** @var QueryResultInterface $candidate */ return $candidate->toArray(); } if (TRUE === is_string($candidate)) { return GeneralUtility::trimExplode(',', $candidate, TRUE); } elseif (TRUE === is_array($candidate)) { return $candidate; } throw new Exception('Unsupported input type; cannot convert to array!'); } /** * @param $array1 * @param $array2 * @return array */ protected function mergeArrays($array1, $array2) { if (6.2 <= (float) substr(TYPO3_version, 0, 3)) { ArrayUtility::mergeRecursiveWithOverrule($array1, $array2); return $array1; } else { return GeneralUtility::array_merge_recursive_overrule($array1, $array2); } } }