/** * Merges arrays/Traversables $a and $b into an array * * @param mixed $a First array/Traversable * @param mixed $b Second array/Traversable * @param boolean $useKeys If TRUE, comparison is done while also observing (and merging) the keys used in each array * @return array */ public function render($a, $b, $useKeys = TRUE) { $this->useKeys = (bool) $useKeys; $a = ViewHelperUtility::arrayFromArrayOrTraversableOrCSV($a, $useKeys); $b = ViewHelperUtility::arrayFromArrayOrTraversableOrCSV($b, $useKeys); $merged = GeneralUtility::array_merge_recursive_overrule($a, $b); return $merged; }
/** * @return array */ public function render() { $a = $this->arguments['a']; if (NULL === $a) { $a = $this->renderChildren(); } $a = ViewHelperUtility::arrayFromArrayOrTraversableOrCSV($a); $b = ViewHelperUtility::arrayFromArrayOrTraversableOrCSV($this->arguments['b']); return array_intersect($a, $b); }
/** * @return array */ public function render() { $subject = $this->arguments['subject']; if (NULL === $subject) { $subject = $this->renderChildren(); } $subject = ViewHelperUtility::arrayFromArrayOrTraversableOrCSV($subject); $content = array_keys($subject); // Return if no assign $as = $this->arguments['as']; if (TRUE === empty($as)) { return $content; } $variables = array($as => $content); $output = ViewHelperUtility::renderChildrenWithVariables($this, $this->templateVariableContainer, $variables); return $output; }
/** * Parses the supplied flags into the proper value for the sorting * function. * * @return integer */ protected function getSortFlags() { $constants = ViewHelperUtility::arrayFromArrayOrTraversableOrCSV($this->arguments['sortFlags']); $flags = 0; foreach ($constants as $constant) { if (FALSE === in_array($constant, $this->allowedSortFlags)) { throw new Exception('The constant "' . $constant . '" you\'re trying to use as a sortFlag is not allowed. Allowed constants are: ' . implode(', ', $this->allowedSortFlags) . '.', 1404220538); } $flags = $flags | constant(trim($constant)); } return $flags; }