File: D:/HostingSpaces/SBogers64/klimroosbudel.nl/wwwroot/kms/config/friendlyUrl.php
<?php
/**
* friendlyUrl.php
* Created by Komma Mediadesign.
* Author: mike
* Date: 3/19/13
*/
function initFriendlyUrl($urlCountStart = 0, $addLanguage = 0)
{
/**
* 1. Get the REQUEST_URI and explode this on '/'
*/
$stringUrl = substr($_SERVER['REQUEST_URI'], 1);
$urls = explode('/', $stringUrl);
/**
* 2. If we have a language, the structure will be root.com/lang/page/sub/sub2/sub3
* Check if the lang is valid, else header 404.
* If no language is set, header to "nl".
*/
$urlCount = $urlCountStart;
if ($addLanguage) {
$languages = ['nl', 'en'];
$default = $languages[0];
if (isset($urls[$urlCount]) && ! empty($urls[$urlCount])) {
$lang = trim(urldecode($urls[$urlCount]));
if (in_array($lang, $languages)) {
define('URL_LANG', $lang);
define('LANG_ROOT', SITE_ROOT.$lang.'/');
} else {
header('HTTP/1.0 404 Not Found');
header('location: '.SITE_ROOT.$default.'/404');
exit;
}
} else {
// redirect to default page
header('HTTP/1.1 301 Moved Permanently');
header('Location: '.SITE_ROOT.$default.'/');
exit;
}
$urlCount++;
}
/**
* 3. The second - or first if ! $addLanguage - GET-variable is $page
*/
if (isset($urls[$urlCount]) && ! empty($urls[$urlCount])) {
$page = trim(urldecode($urls[$urlCount]));
if (! empty($page)) {
define('URL_PAGE', $page);
$urlCount++;
}
}
/**
* 4. All the other get variables are called sub, sub2, sub3 etc.
*/
$subtract = $addLanguage + $urlCountStart;
if (count($urls) > $urlCount) {
for ($i = $urlCount; $i <= count($urls); $i++) {
if (isset($urls[$i])) {
$value = trim(urldecode($urls[$i]));
$name = 'URL_SUB';
if ($i > $urlCount) {
$name .= $i - $subtract;
} // bv. -kms & -lang = -2
if ($value != '') {
define($name, $value);
}
}
}
}
}