mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-02 04:39:28 +00:00
0f798faab5
- Changed URI of path from system/infocenter/InfoCenter/infocenterFreigegeben to system/infocenter/InfoCenter/freigegeben in navigation config - Moved the logic from Navigation controller to NavigationLib - Added private method _loadNavigationLib to Navigation controller to load the NavigationLib with parameters - Navigation controller now extends FHC_Controller - Added NavigationLib to collect all the logic used by the NavigationWidget components - Remove the handle of the fhc_controller_id from the NavigationWidget.js - NavigationWidget.js now uses better tools that came from the AjaxLib - Adapted InfoCenter controller to work with the new tools from NavigationWidget - infocenterPersonDataset.js->refreshSideMenu now uses the parameter navigation_page in the ajax call - Renamed InfoCenter controller method from infocenterFreigegeben to freigegeben - Now methods index, freigegeben and showDetails generates their own left menu - showDetails generate a left menu based on the origin page (index or freigegeben) - freigegeben uses its own filters now - Added view infocenterFreigegebenData.php
85 lines
2.9 KiB
PHP
85 lines
2.9 KiB
PHP
<?php
|
|
|
|
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
|
|
|
/**
|
|
* This controller operates between (interface) the JS (GUI) and the NavigationLib (back-end)
|
|
* Provides data to the ajax get calls about the filter
|
|
* This controller works with JSON calls on the HTTP GET or POST and the output is always JSON
|
|
*/
|
|
class Navigation extends FHC_Controller
|
|
{
|
|
const NAVIGATION_PAGE_PARAM = 'navigation_page'; // Navigation page parameter name
|
|
|
|
/**
|
|
* Loads the NavigationLib where the used logic lies
|
|
*/
|
|
public function __construct()
|
|
{
|
|
parent::__construct(); // parents constructor
|
|
|
|
$this->_loadNavigationLib(); // Loads the NavigationLib with parameters
|
|
}
|
|
|
|
//------------------------------------------------------------------------------------------------------------------
|
|
// Public methods
|
|
|
|
/**
|
|
* This function creates the left Menu for each Page
|
|
* @param NAVIGATION_PAGE_PARAM GET Parameter witch holds the currently called Page
|
|
* @return JSON object with the Menu Entries
|
|
*/
|
|
public function menu()
|
|
{
|
|
$menuArray = $this->navigationlib->getMenuArray($this->input->get(self::NAVIGATION_PAGE_PARAM));
|
|
|
|
$this->outputJsonSuccess($menuArray);
|
|
}
|
|
|
|
/**
|
|
* This function creates the Top Menu for each Page
|
|
* @param NAVIGATION_PAGE_PARAM GET Parameter witch holds the currently called Page
|
|
* @return JSON object with the Menu Entries
|
|
*/
|
|
public function header()
|
|
{
|
|
$headerArray = $this->navigationlib->getHeaderArray($this->input->get(self::NAVIGATION_PAGE_PARAM));
|
|
|
|
$this->outputJsonSuccess($headerArray);
|
|
}
|
|
|
|
//------------------------------------------------------------------------------------------------------------------
|
|
// Private methods
|
|
|
|
/**
|
|
* Loads the FiltersLib with the NAVIGATION_PAGE_PARAM parameter
|
|
* If the parameter NAVIGATION_PAGE_PARAM is not given then the execution of the controller is terminated and
|
|
* an error message is printed
|
|
*/
|
|
private function _loadNavigationLib()
|
|
{
|
|
// If the parameter NAVIGATION_PAGE_PARAM is present in the HTTP GET or POST
|
|
if (isset($_GET[self::NAVIGATION_PAGE_PARAM]) || isset($_POST[self::NAVIGATION_PAGE_PARAM]))
|
|
{
|
|
// If it is present in the HTTP GET
|
|
if (isset($_GET[self::NAVIGATION_PAGE_PARAM]))
|
|
{
|
|
$navigationPage = $this->input->get(self::NAVIGATION_PAGE_PARAM); // is retrived from the HTTP GET
|
|
}
|
|
elseif (isset($_POST[self::NAVIGATION_PAGE_PARAM])) // Else if it is present in the HTTP POST
|
|
{
|
|
$navigationPage = $this->input->post(self::NAVIGATION_PAGE_PARAM); // is retrived from the HTTP POST
|
|
}
|
|
|
|
// Loads the FiltersLib that contains all the used logic
|
|
$this->load->library('NavigationLib', array(self::NAVIGATION_PAGE_PARAM => $navigationPage));
|
|
}
|
|
else // Otherwise an error will be written in the output
|
|
{
|
|
// NOTE: Used echo to speed up the output before the exit otherwise it's not shown
|
|
echo 'Parameter "'.self::NAVIGATION_PAGE_PARAM.'" not provided!';
|
|
exit;
|
|
}
|
|
}
|
|
}
|