_loadMenuStaticArray();
} else {
$this->_loadNavBarStaticArray();
}
}
private function _loadNavBarStaticArray() {
global $NAVITEMS;
foreach ($NAVITEMS as $submodule) {
$menu = new MenuItem(Utils::getArrayValueOrNull($submodule, 'text'), Utils::getArrayValueOrNull($submodule, 'url'), Utils::getArrayValueOrNull($submodule, 'id'), Utils::getArrayValueOrNull($submodule, 'handler'), Utils::getArrayValueOrNull($submodule, 'icon'), Utils::getArrayValueOrNull($submodule, 'description'), Utils::getArrayValueOrNull($submodule, 'MenuItems'));
$this->_addToMenu(Utils::getArrayValueOrNull($submodule, 'text'), $menu);
}
}
private function _loadMenuStaticArray() {
global $MENUITEMS;
foreach ($MENUITEMS as $submodule) {
$menu = new MenuItem(Utils::getArrayValueOrNull($submodule, 'text'), Utils::getArrayValueOrNull($submodule, 'url'), Utils::getArrayValueOrNull($submodule, 'id'), Utils::getArrayValueOrNull($submodule, 'handler'), Utils::getArrayValueOrNull($submodule, 'icon'), Utils::getArrayValueOrNull($submodule, 'description'), Utils::getArrayValueOrNull($submodule, 'MenuItems'));
$this->_addToMenu(Utils::getArrayValueOrNull($submodule, 'text'), $menu);
}
}
private function _loadModules() {
global $App;
foreach ($App->Modules as $module) {
$this->_loadModule($module);
}
}
private function _loadModule($module) {
foreach ($module->Modules as $submodule) {
$menu = new MenuItem($submodule->Text, $submodule->URL, $submodule->ID);
if (count($submodule->Modules) == 0) {
$menu->handler = $this->itemClickHandler;
} else {
$menu->MenuItems = $this->_loadSubModules($submodule);
}
$this->_addToMenu($module->Text, $menu);
}
}
private function _loadSubModules($module) {
$submenus = array();
foreach ($module->Modules as $submodule) {
$menu = new MenuItem($submodule->Text, $submodule->URL, $submodule->ID);
if (count($submodule->Modules) == 0) {
$menu->handler = $this->itemClickHandler;
} else {
$menu->MenuItems = $this->_loadSubModules($submodule);
}
$submenus[] = $menu;
}
return $submenus;
}
private function _addToMenu($menu, $item) {
if (!array_key_exists($menu, $this->MenuItems)) {
$this->MenuItems[$menu] = array();
}
$this->MenuItems[$menu][] = $item;
}
private function _RenderItem($items) {
$render = "";
foreach ($items as $v) {
for ($i = 0; $i < count($v); $i++) {
$icona = '';
$pos = strpos($v[$i]->icon, 'fas ');
if ($pos === false) {
$icona = ' ';
} else {
$icona = ' ';
}
/* SHOW-HIDE FAQ */
if ($v[$i]->id == 'FAQ' && !Utils::PeriodoFaq()) {
continue;
}
/**/
if (isset($v[$i]->MenuItems) && count($v[$i]->MenuItems) <= 0) {
if ($v[$i]->handler != "") {
if ($v[$i]->id == 'MYAZIENDE' && !$_SESSION['ControllaPeriodoPreparazione']) {
$render .= "";
} elseif ($v[$i]->id == 'SPORTELLO' && !$_SESSION['ControllaPeriodoClickDay']) {
$render .= "";
} else {
$render .= '
' . $icona . $v[$i]->text . ' ';
}
} else {
$render .= '' . $icona . $v[$i]->text . ' ';
}
} else {
if ($v[$i]->handler != "") {
if ($v[$i]->id == 'MYAZIENDE' && !$_SESSION['ControllaPeriodoPreparazione']) {
$render .= "";
} elseif ($v[$i]->id == 'SPORTELLO' && !$_SESSION['ControllaPeriodoClickDay']) {
$render .= "";
} else {
$render .= '' . $icona . $v[$i]->text . ' ';
}
} else {
$render .= '' . $icona . $v[$i]->text . ' ';
}
}
}
}
return $render;
}
public function RenderNavBar($asideId, $menuId) {
global $LoggedAccount;
$render = '';
return $render;
}
public function RenderMenuBar($asideId, $menuId) {
global $LoggedAccount;
$render = '
' . APP_NAME . '
';
$render .= $this->_RenderItem($this->MenuItems);
$render .= '
';
return $render;
}
public function RenderMaterialize($asideId, $menuId) {
global $LoggedAccount;
$linkDash = "";
$classNavBar = "sidenav-dark grey darken-4 sidenav-active-rounded";
if ($LoggedAccount->id_gruppo == GRUPPO_UTENTE) {
$linkDash = BASE_HTTP . "index.php#DASHBOARD";
$classNavBar = "sidenav-dark green darken-3 sidenav-active-rounded";
} else if ($LoggedAccount->id_gruppo == GRUPPO_CORSISTA) {
$linkDash = BASE_HTTP . "corsista.php#DASHBOARD";
$classNavBar = "sidenav-light sidenav-active-square";
} else {
$linkDash = BASE_HTTP . "admin/index.php#DASHBOARD";
}
$render = '
';
$render .= $this->_RenderItem($this->MenuItems);
$render .= '
menu
';
return $render;
}
public static function renderHomeStaticMenu() {
$render = "";
if (!Utils::isStatoSportelloManutezione() && Utils::PeriodoFaq() && !Utils::isStatoSportelloPresentazione()) {
$render .= '
F.A.Q.
';
}
$render .= '
Statistiche
';
if (!Utils::isStatoSportelloManutezione() && (Utils::isStatoSportelloPreparazione(true)) || Utils::isStatoSportelloPresentazione()) {
$render .= '
Login
';
}
return $render;
}
/**
* Renderizza il pulsante di accesso al portale nella pagina index del portale
* @return string
*/
public static function renderLoginStaticHome() {
$render = "";
if (!Utils::isStatoSportelloManutezione() && (Utils::isStatoSportelloPreparazione()) || Utils::isStatoSportelloPresentazione()) {
$render .= ' Accedi ';
}
return $render;
}
/**
* Renderizza il pulsante di accesso al portale nella pagina index del portale
* @return string
*/
public static function renderGuidaHome() {
$render = "";
if (!Utils::isStatoSportelloManutezione() && (Utils::isStatoSportelloPreparazione()) || Utils::isStatoSportelloPresentazione()) {
$render .= ' Guida per la preparazione dell\'istanza ';
}
return $render;
}
public static function renderInfoStaticMenu() {
$render = "";
$render .= '
Esci
';
return $render;
}
}
class MenuItem {
public $text = null;
public $description = null;
public $url = null;
public $icon = null;
public $id = null;
public $handler = null;
public $MenuItems = array();
public function __construct($_text, $_url = null, $_id = null, $_handler = null, $_icon = null, $_desc = null, $_child = array()) {
$this->text = $_text;
$this->url = $_url;
$this->icon = $_icon;
$this->id = $_id;
$this->handler = $_handler;
$this->description = $_desc;
$this->MenuItems = $_child;
}
public function RenderMaterialize() {
}
public function HasChild() {
return count($this->MenuItems) > 0;
}
}