.
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 = '/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 .= "