<?php

/**
 * @author arson
 */
abstract class Eppe_Module_MenuAbstract {

	/**
	 * @var string Etykieta modułu w menu
	 */
	protected $title;

	/**
	 * @var string Etykieta modułu w menu
	 */
	protected $navigation;

	/**
	 * @param string $title Etykieta modułu
	 */
	public function setModuleTitle($title) {
		$this->title = $title;
	}

	public function getNavigation() {
		$this->setNavigation();
		return $this->getAllowedPages($this->navigation);
	}

	protected function getAllowedPages($pages, $storage = 'Backend') {
		foreach ($pages as $key => $page) {
			if (!Eppe_Acl::checkAllowed($page, $storage)) {
				unset($pages[$key]);
			}

			if (isset($page['pages'])) {
				$this->getAllowedPages($page['pages']);
			}
		}
		return $pages;
	}

}
