The language switcher in barber/beauty headers reads $currentPageUrlArray[2] unguarded after exploding REQUEST_URI on '/'. On routes with no language prefix (e.g. POST /manage-booking-cancel rendering the cancelled page inline), the array has only 2 elements, triggering "Undefined array key 2" warnings and producing malformed language links like https://studiobeve.no/en//. Normalize the array with += [2 => '', 3 => ''] right after the explode so indices 2 and 3 always exist.
94 lines
6.8 KiB
PHP
Executable File
94 lines
6.8 KiB
PHP
Executable File
<header id="header">
|
|
<a href="<?php echo SITEURL;?>"><img src="<?php echo SITEURL;?>assets/img/logo_gold.png" class="logo-kep"></a> <h1>- BARBER</h1>
|
|
<nav id="nav">
|
|
<?php
|
|
$langArray = array('en', 'hu', 'no');
|
|
if(in_array($selectedLang, $langArray)){
|
|
$currentPageUrl = $_SERVER['REQUEST_URI'];
|
|
$currentPageUrlArray = explode('/',$currentPageUrl);
|
|
$currentPageUrlArray += array(2 => '', 3 => '');
|
|
$currentPageUrlArray[1] = $selectedLang;
|
|
|
|
switch($selectedLang){
|
|
case 'en':
|
|
?>
|
|
<ul>
|
|
<li><a href="<?php echo SITEURL;?>">Home</a></li>
|
|
<li><a href="#aboutus">About US</a></li>
|
|
<li><a href="#treatments">Treatments</a></li>
|
|
<li><a href="#one">Prices</a></li>
|
|
<li><a href="#two">Opening Hours</a></li>
|
|
<li><a href="#footer">Contact</a></li>
|
|
<li class="booktime"><a href="<?php echo SITEURL;?>en/booking/barber">BOOK TIME</a></li>
|
|
<li class="socialmedia-menu"><a href="https://www.facebook.com/studiobevebarber" class="icon brands fa-facebook-f"><span class="label">Facebook</span></a></li>
|
|
<li class="socialmedia-menu"><a href="https://www.instagram.com/studio.beve.barber/" class="icon brands fa-instagram"><span class="label">Instagram</span></a></li>
|
|
<li class="language"><a href="<?php echo SITEURL.'no/'.$currentPageUrlArray[2].'/'.(isset($currentPageUrlArray[3])?$currentPageUrlArray[3]:'');?>">NO</a></li>
|
|
<li class="language"><a href="<?php echo SITEURL.'en/'.$currentPageUrlArray[2].'/'.(isset($currentPageUrlArray[3])?$currentPageUrlArray[3]:'');?>">EN</a></li>
|
|
<li class="language"><a href="<?php echo SITEURL.'hu/'.$currentPageUrlArray[2].'/'.(isset($currentPageUrlArray[3])?$currentPageUrlArray[3]:'');?>">HU</a></li>
|
|
</ul>
|
|
<?php
|
|
break;
|
|
case 'no':
|
|
?>
|
|
<ul>
|
|
<li><a href="<?php echo SITEURL;?>">Forside</a></li>
|
|
<li><a href="#aboutus">Om oss</a></li>
|
|
<li><a href="#treatments">Behandlinger</a></li>
|
|
<li><a href="#one">Priser</a></li>
|
|
<li><a href="#two">Åpningstider</a></li>
|
|
<li><a href="#footer">Kontakt</a></li>
|
|
<li class="booktime"><a href="<?php echo SITEURL;?>no/booking/barber">BESTILL TIME</a></li>
|
|
<li class="socialmedia-menu"><a href="https://www.facebook.com/studiobevebarber" class="icon brands fa-facebook-f"><span class="label">Facebook</span></a></li>
|
|
<li class="socialmedia-menu"><a href="https://www.instagram.com/studio.beve.barber/" class="icon brands fa-instagram"><span class="label">Instagram</span></a></li>
|
|
<li class="language"><a href="<?php echo SITEURL.'no/'.$currentPageUrlArray[2].'/'.(isset($currentPageUrlArray[3])?$currentPageUrlArray[3]:'');?>">NO</a></li>
|
|
<li class="language"><a href="<?php echo SITEURL.'en/'.$currentPageUrlArray[2].'/'.(isset($currentPageUrlArray[3])?$currentPageUrlArray[3]:'');?>">EN</a></li>
|
|
<li class="language"><a href="<?php echo SITEURL.'hu/'.$currentPageUrlArray[2].'/'.(isset($currentPageUrlArray[3])?$currentPageUrlArray[3]:'');?>">HU</a></li>
|
|
</ul>
|
|
<?php
|
|
break;
|
|
case 'hu':
|
|
?>
|
|
<ul>
|
|
<li><a href="<?php echo SITEURL;?>">Kezdőlap</a></li>
|
|
<li><a href="#aboutus">Rólunk</a></li>
|
|
<li><a href="#treatments">Szolgáltatások</a></li>
|
|
<li><a href="#one">Árlista</a></li>
|
|
<li><a href="#two">Nyitvatartási idő</a></li>
|
|
<li><a href="#footer">Kapcsolat</a></li>
|
|
<li class="booktime"><a href="<?php echo SITEURL;?>hu/booking/barber">IDŐPONTFOGLALÁS</a></li>
|
|
<li class="socialmedia-menu"><a href="https://www.facebook.com/studiobevebarber" class="icon brands fa-facebook-f"><span class="label">Facebook</span></a></li>
|
|
<li class="socialmedia-menu"><a href="https://www.instagram.com/studio.beve.barber/" class="icon brands fa-instagram"><span class="label">Instagram</span></a></li>
|
|
<li class="language"><a href="<?php echo SITEURL.'no/'.$currentPageUrlArray[2].'/'.(isset($currentPageUrlArray[3])?$currentPageUrlArray[3]:'');?>">NO</a></li>
|
|
<li class="language"><a href="<?php echo SITEURL.'en/'.$currentPageUrlArray[2].'/'.(isset($currentPageUrlArray[3])?$currentPageUrlArray[3]:'');?>">EN</a></li>
|
|
<li class="language"><a href="<?php echo SITEURL.'hu/'.$currentPageUrlArray[2].'/'.(isset($currentPageUrlArray[3])?$currentPageUrlArray[3]:'');?>">HU</a></li>
|
|
</ul>
|
|
<?php
|
|
break;
|
|
}
|
|
}
|
|
else{
|
|
?>
|
|
<ul>
|
|
<li><a href="<?php echo SITEURL;?>">Home</a></li>
|
|
<li><a href="#aboutus">About US</a></li>
|
|
<li><a href="#treatments">Treatments</a></li>
|
|
<li><a href="#one">Prices</a></li>
|
|
<li><a href="#two">Opening Hours</a></li>
|
|
<li><a href="#footer">Contact</a></li>
|
|
<li class="booktime"><a href="<?php echo SITEURL;?>en/booking/barber">BOOK TIME</a></li>
|
|
<li class="socialmedia-menu"><a href="https://www.facebook.com/studiobevebarber" class="icon brands fa-facebook-f"><span class="label">Facebook</span></a></li>
|
|
<li class="socialmedia-menu"><a href="https://www.instagram.com/studio.beve.barber/" class="icon brands fa-instagram"><span class="label">Instagram</span></a></li>
|
|
<li class="language"><a href="<?php echo SITEURL.'no/'.$currentPageUrlArray[2].'/'.(isset($currentPageUrlArray[3])?$currentPageUrlArray[3]:'');?>">NO</a></li>
|
|
<li class="language"><a href="<?php echo SITEURL.'en/'.$currentPageUrlArray[2].'/'.(isset($currentPageUrlArray[3])?$currentPageUrlArray[3]:'');?>">EN</a></li>
|
|
<li class="language"><a href="<?php echo SITEURL.'hu/'.$currentPageUrlArray[2].'/'.(isset($currentPageUrlArray[3])?$currentPageUrlArray[3]:'');?>">HU</a></li>
|
|
</ul>
|
|
<?php
|
|
}
|
|
?>
|
|
</nav>
|
|
</header>
|
|
|
|
|
|
|
|
|