. if (!defined('EG')) die('Direct access not allowed!'); //class to write the top menĂ¹ of the view files class Helper_Menu extends Helper_Html { public $panelController; //panel controller public $controller; public $links = array(); //instance of Lang_{language}_Generic public $strings = null; public function __construct() { $baseUrl = "http://".DOMAIN_NAME.'/Public/Img/Icons/elementary_2_5/'; //get the generic language class $this->strings = Factory_Strings::generic(Params::$language); $this->links = array( 'back' => array( 'title' => $this->strings->gtext('back'), 'class' => 'mainMenuItem', 'text' => $this->strings->gtext('Back'), 'url' => 'main', 'icon' => $baseUrl."left.png", ), 'add' => array( 'title' => $this->strings->gtext('add a new record'), 'class' => 'mainMenuItem', 'text' => $this->strings->gtext('Add'), 'url' => 'form/insert', 'icon' => $baseUrl."add.png", ), 'panel' => array( 'title' => $this->strings->gtext('back to the Panel'), 'class' => 'mainMenuItem', 'text' => $this->strings->gtext('Panel'), 'url' => 'main', 'icon' => $baseUrl."panel.png", ) ); } public function build($controller = null, $panelController = null) { $this->controller = $controller; $this->panelController = $panelController; } //$voices: comma-separated list of links you want to print public function render($linksList) { $linksArray = explode(',',$linksList); $menu = null; foreach ($linksArray as $linkName) { //check that the voice exists if (array_key_exists($linkName,$this->links)) { //check that the text and the ure are defined if (isset($this->links[$linkName]['text']) and isset($this->links[$linkName]['url'])) { $title = isset($this->links[$linkName]['title']) ? "title='".$this->links[$linkName]['title']."'" : null; $class = isset($this->links[$linkName]['class']) ? "class='".$this->links[$linkName]['class']."'" : null; $icon = isset($this->links[$linkName]['icon']) ? " " : null; //choose the controller (current or panel) $controller = (strcmp($linkName,'panel') === 0) ? $this->panelController.'/' : $this->controller.'/'; $viewStatus = (strcmp($linkName,'panel') === 0) ? null : $this->viewStatus; $href = Url::getRoot($controller.$this->links[$linkName]['url'].$viewStatus); $text = $this->links[$linkName]['text']; $menu .= "
$icon $text
\n"; } } } return $menu; } }