[~TASK] Fluid (ViewHelpers): Replaced custom convertToArray() method by PHPs iterator...
authorBastian Waidelich <bastian@typo3.org>
Thu, 22 Jul 2010 14:47:59 +0000 (14:47 +0000)
committerBastian Waidelich <bastian@typo3.org>
Thu, 22 Jul 2010 14:47:59 +0000 (14:47 +0000)
typo3/sysext/fluid/Classes/ViewHelpers/CycleViewHelper.php
typo3/sysext/fluid/Classes/ViewHelpers/ForViewHelper.php
typo3/sysext/fluid/Classes/ViewHelpers/GroupedForViewHelper.php

index dd47055..308d450 100644 (file)
@@ -107,28 +107,12 @@ class Tx_Fluid_ViewHelpers_CycleViewHelper extends Tx_Fluid_Core_ViewHelper_Abst
                        if (!$values instanceof Traversable) {
                                throw new Tx_Fluid_Core_ViewHelper_Exception('CycleViewHelper only supports arrays and objects implementing Traversable interface' , 1248728393);
                        }
-                       $this->values = $this->convertToArray($values);
+                       $this->values = iterator_to_array($values, FALSE);
                } else {
                        $this->values = array_values($values);
                }
                $this->currentCycleIndex = 0;
        }
-
-       /**
-        * Turns the given object into an array.
-        * The object has to implement the Traversable interface
-        *
-        * @param Traversable $object The object to be turned into an array. If the object implements Iterator the key will NOT be preserved.
-        * @return array The resulting array
-        * @author Bastian Waidelich <bastian@typo3.org>
-        */
-       protected function convertToArray(Traversable $object) {
-               $array = array();
-               foreach ($object as $singleElement) {
-                       $array[] = $singleElement;
-               }
-               return $array;
-       }
 }
 
 ?>
index 6e8b48a..19740d7 100644 (file)
@@ -77,7 +77,7 @@ class Tx_Fluid_ViewHelpers_ForViewHelper extends Tx_Fluid_Core_ViewHelper_Abstra
                        if (!$each instanceof Traversable) {
                                throw new Tx_Fluid_Core_ViewHelper_Exception('ForViewHelper only supports arrays and objects implementing Traversable interface' , 1248728393);
                        }
-                       $each = $this->convertToArray($each);
+                       $each = iterator_to_array($each);
                }
 
                if ($reverse === TRUE) {
@@ -98,22 +98,6 @@ class Tx_Fluid_ViewHelpers_ForViewHelper extends Tx_Fluid_Core_ViewHelper_Abstra
                }
                return $output;
        }
-
-       /**
-        * Turns the given object into an array.
-        * The object has to implement the Traversable interface
-        *
-        * @param Traversable $object The object to be turned into an array. If the object implements Iterator the key will be preserved.
-        * @return array The resulting array
-        * @author Bastian Waidelich <bastian@typo3.org>
-        */
-       protected function convertToArray(Traversable $object) {
-               $array = array();
-               foreach ($object as $keyValue => $singleElement) {
-                       $array[$keyValue] = $singleElement;
-               }
-               return $array;
-       }
 }
 
 ?>
index 222e96f..52d8e0e 100644 (file)
@@ -100,7 +100,7 @@ class Tx_Fluid_ViewHelpers_GroupedForViewHelper extends Tx_Fluid_Core_ViewHelper
                        if (!$each instanceof Traversable) {
                                throw new Tx_Fluid_Core_ViewHelper_Exception('GroupedForViewHelper only supports arrays and objects implementing Traversable interface' , 1253108907);
                        }
-                       $each = $this->convertToArray($each);
+                       $each = iterator_to_array($each);
                }
 
                $groups = $this->groupElements($each, $groupBy);
@@ -116,22 +116,6 @@ class Tx_Fluid_ViewHelpers_GroupedForViewHelper extends Tx_Fluid_Core_ViewHelper
        }
 
        /**
-        * Turns the given object into an array.
-        * The object has to implement the Traversable interface
-        *
-        * @param Traversable $object The object to be turned into an array. If the object implements Iterator the key will be preserved.
-        * @return array The resulting array
-        * @author Bastian Waidelich <bastian@typo3.org>
-        */
-       protected function convertToArray(Traversable $object) {
-               $array = array();
-               foreach ($object as $keyValue => $singleElement) {
-                       $array[$keyValue] = $singleElement;
-               }
-               return $array;
-       }
-
-       /**
         * Groups the given array by the specified groupBy property.
         *
         * @param array $elements The array / traversable object to be grouped