/**
  * 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;
 }
Exemple #4
0
 /**
  * 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;
 }