/** * constructor * * @param RecursiveIterator $iterator * @param string $filter */ public function __construct(\RecursiveIterator $iterator, $filter, $topDirectory = null) { $this->_filter = str_replace(array('\\', '/'), DIRECTORY_SEPARATOR, $filter); if ($topDirectory == null) { $iterator->rewind(); $this->_topDirectory = (string) $iterator->current()->getPath(); } else { $this->_topDirectory = $topDirectory; } parent::__construct($iterator); }
protected function createViewModelForMenuItemIterator(\RecursiveIterator $rit) { $itemsViews = array(); $rit->rewind(); while ($rit->valid()) { $item = $rit->current(); $view = $this->createViewModelForMenuItem($item); if ($rit->hasChildren()) { $childrenView = $this->createViewModelForMenuItemIterator($rit->getChildren()); $view->set('children', $childrenView); } $itemsViews[] = $view; $rit->next(); } return $itemsViews; }