72 lines
1.9 KiB
PHP
72 lines
1.9 KiB
PHP
<?php $menu = array(
|
|
"Nieuws" => "/nieuws",
|
|
"Radio" => array(
|
|
"" => "/radio",
|
|
"Luister live" => "/luister/live",
|
|
"Regionieuws" => "/luister/regionieuws",
|
|
"Programmagids" => "/radio/gids",
|
|
"Fragment gemist" => "/radio/gemist",
|
|
"Zondagsdienst" => "/kerkdienst"),
|
|
"TV" => array(
|
|
"Kijk live" => "/kijk/live"),
|
|
"Regioagenda" => "/agenda",
|
|
"Contact" => "/contact");
|
|
?>
|
|
<?php
|
|
function isActive($link, $checksubmenus) {
|
|
if(is_array($link)) {
|
|
if(!$checksubmenus) { return false; }
|
|
foreach($link as $item => $link) {
|
|
if(isActive($link, $checksubmenus)) { return true; }
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
return (substr($_SERVER["REQUEST_URI"], 0, strlen($link)) == $link);
|
|
}
|
|
|
|
function buildMenu($menu, $ismobile) {
|
|
$result = "";
|
|
foreach($menu as $title => $link) {
|
|
if($title == "") { continue; }
|
|
$submenu = is_array($link);
|
|
$isactive = isActive($link, !$ismobile);
|
|
$submenulink = $submenu && isset($link[""]) ? $link[""] : "#";
|
|
if(!$submenu && substr($link, 0, 8) == "/luister") { $icon = "<span class='fas fa-headphones'></span> "; }
|
|
else { $icon = ""; }
|
|
$result .=
|
|
"<li class=\"" . ($submenu ? "submenu" : "") . ($isactive ? " selected" : "") . "\">
|
|
<a href=\"" . ($submenu ? $submenulink : $link) . "\" title=\"{$title}\">{$icon}{$title}</a>";
|
|
if($submenu) {
|
|
$result .= "\t\t\t<ul>\n"
|
|
. buildMenu($link, $ismobile)
|
|
. "\t\t\t</ul>\n";
|
|
}
|
|
$result .= "\t\t</li>\n";
|
|
}
|
|
|
|
return $result;
|
|
}
|
|
?>
|
|
<nav>
|
|
<!-- TODO: Mark selected, recursive menus, listen / watch icons -->
|
|
<ul class="sf-menu">
|
|
{!! buildMenu($menu, false) !!}
|
|
</ul>
|
|
</nav>
|
|
<div class="mobile_menu_container">
|
|
<a href="#" class="mobile-menu-switch">
|
|
<span class="line"></span>
|
|
<span class="line"></span>
|
|
<span class="line"></span>
|
|
</a>
|
|
<div class="mobile-menu-divider"></div>
|
|
<nav>
|
|
<ul class="mobile-menu">
|
|
{!! buildMenu($menu, true) !!}
|
|
</ul>
|
|
</nav>
|
|
</div>
|
|
|