Files
FHC-Core/application/controllers/system/Navigation.php
T
Paolo dd610c83d9 - Added navigation.php in application/config to configure menus used by NavigationWidget
- Addded controller system/Navigation to retrive menus via ajax
- Renamed method _setNavigationMenuArray to setNavigationMenuArray and set as public in system/infocenter/InfoCenter
- Now the InfoCenter menu is stored in the session
- The menu is generated by the widget NavigationWidget via JS
- No need anymore to give as parameters to the views the menu arrays
2018-03-09 15:14:16 +01:00

99 lines
2.3 KiB
PHP

<?php
if (! defined('BASEPATH')) exit('No direct script access allowed');
/**
*
*/
class Navigation extends VileSci_Controller
{
const SESSION_NAME = 'NAVIGATION_MENU';
/**
*
*/
public function __construct()
{
parent::__construct();
$this->config->load('navigation');
// Load session library
$this->load->library('session');
}
/**
*
*/
public function menu()
{
$navigation_widget_called = $this->input->get('navigation_widget_called');
$json = array();
if (isset($navigation_widget_called))
{
$navigationMenuArray = $this->config->item('navigation_menu');
if (isset($navigationMenuArray) && is_array($navigationMenuArray))
{
if (isset($navigationMenuArray[$navigation_widget_called]))
{
$json = $navigationMenuArray[$navigation_widget_called];
}
}
if (isset($_SESSION['navigation_menu']))
{
$navigationMenuSessionArray = $_SESSION['navigation_menu'];
if (isset($navigationMenuSessionArray) && is_array($navigationMenuSessionArray))
{
if (isset($navigationMenuSessionArray[$navigation_widget_called]))
{
$json = array_merge($json, $navigationMenuSessionArray[$navigation_widget_called]);
}
}
}
}
$this->output->set_content_type('application/json')->set_output(json_encode($json));
}
/**
*
*/
public function header()
{
$navigation_widget_called = $this->input->get('navigation_widget_called');
$json = array();
if (isset($navigation_widget_called))
{
$navigationHeaderArray = $this->config->item('navigation_header');
if (isset($navigationHeaderArray) && is_array($navigationHeaderArray))
{
if (isset($navigationHeaderArray[$navigation_widget_called]))
{
$json = $navigationHeaderArray[$navigation_widget_called];
}
}
if (isset($_SESSION['navigation_header']))
{
$navigationHeaderSessionArray = $_SESSION['navigation_header'];
if (isset($navigationHeaderSessionArray) && is_array($navigationHeaderSessionArray))
{
if (isset($navigationHeaderSessionArray[$navigation_widget_called]))
{
$json = array_merge($json, $navigationHeaderSessionArray[$navigation_widget_called]);
}
}
}
}
$this->output->set_content_type('application/json')->set_output(json_encode($json));
}
}