checkRedirect($checkURL);
if ($redirectTo) {
header('Location: ' . $redirectTo);
exit();
}
$isProduction = (DEV_PREFIX != APC_PREFIX);
$common = new common();
$sitePrefix = (defined('APC_PREFIX')) ? APC_PREFIX : $common->getSitePrefix();
$constants = new cache('config_constants', false, 86400, true, $sitePrefix, true);
if ($constants->miss) {
$cacheHandler = new cacheHandler(false, CONFIG_SITE_ID, false);
$configData = $cacheHandler->processConfigConstants($sitePrefix.'config_constants');
} else {
$configData = $constants->contents;
}
$common->processCacheConstants($configData);
$seoURL = new seoURL;
$url_original = $params_original = $parse_original = '';
$url_friendly = $url_server . $_SERVER['REQUEST_URI'];
// Convert language preference for ja
// New languages also require edits in template_top.php and html_output.php (under draw_form)
$catalog_languages = explode(',', CONFIG_SITE_LANGUAGES);
$language_specified = (preg_match('/.' . CONFIG_EMAIL_SUFFIX . '\/(.*)\/(.*)/', $url_friendly, $language_code) && in_array($language_code[1], $catalog_languages));
if ($language_specified) {
$url_friendly = str_replace ('/' . $language_code[1] . '/', '/', $url_friendly);
if (!isset($_GET['language'])) {
$_GET['language'] = $language_code[1];
}
if ($language_code[2] == '') {
header("Status: 200 OK");
$PHP_SELF = FILENAME_HOME;
$seoURL_active = true;
require(FILENAME_HOME);
exit();
}
}
if (isset($_GET['language']) && in_array($_GET['language'], $catalog_languages) && ($PHP_SELF != FILENAME_HOME)) {
$language_url_path = ($_GET['language'] == DEFAULT_LANGUAGE) ? '' : $_GET['language'] . '/';
if (($language_specified && $_GET['language'] != $language_code[1]) || (!$language_specified && $language_url_path != '')) {
$url_friendly = str_replace ('.' . CONFIG_EMAIL_SUFFIX . '/', '.' . CONFIG_EMAIL_SUFFIX . '/' . $language_url_path, $url_friendly);
header('Location: ' . $url_friendly);
exit();
}
}
// Fetch the original URL by removing the language folder path from the URL
if ($seoURL->getOriginalURL($url_friendly, $url_original, $params_original, $parse_original)) {
$PHP_SELF = $_SERVER['PHP_SELF'] = $_SERVER['SCRIPT_NAME'] = $parse_original['path'];
if (basename($_SERVER['PHP_SELF']) == 'root.php') {
echo 'URL Error: Invalid Self-Request - Check recorded URLs';
exit();
}
$tmp_array = array();
$numParams = count($params_original);
for ($i = 0, $j = $numParams; $i < $j; $i++) {
$array_equal = explode('=', $params_original[$i]);
if (is_array($array_equal)) {
if (isset($array_equal[1])) {
$tmp_array[$array_equal[0]] = $array_equal[1];
} else {
$tmp_array[$array_equal[0]] = '';
}
}
}
$tmp_array = array_merge($_GET, $tmp_array);
// Synchronize global arrays.
$_GET = $tmp_array;
unset($tmp_array);
if (isset($_GET['lmittoni'])) {
$time_end = microtime_float();
$time = $time_end - $time_start;
echo $PHP_SELF.'?'.implode('&', $params_original) . '
';
echo "Script took $time seconds
";
die;
}
// Synchronize query string variables
$_SERVER['QUERY_STRING'] = implode('&', $params_original);
$seoURL_active = true;
if (basename($PHP_SELF) == 'standard_ipn.php') {
require './ext/modules/payment/paypal/standard_ipn.php';
} else if (basename($PHP_SELF) == 'express.php') {
require './ext/modules/payment/paypal/express.php';
} else {
if (file_exists(basename($PHP_SELF))) {
require(basename($PHP_SELF));
}
}
} elseif (file_exists(basename($parse_original['path']))) {
$PHP_SELF = $_SERVER['PHP_SELF'] = $_SERVER['PHP_SELF'] = $_SERVER['SCRIPT_NAME'] = $parse_original['path'];
if (basename($_SERVER['PHP_SELF']) == 'root.php') {
echo 'URL Error: Invalid Self-Request, passed URI Request: ' . $_SERVER['REQUEST_URI'];
exit();
}
$seoURL_active = true;
if (!is_dir(basename($PHP_SELF))) {
require(basename($parse_original['path']));
}
} else {
header("Status: " . SEO_DEFAULT_ERROR_HEADER);
header('Location: ' . $url_catalog . SEO_DEFAULT_ERROR_REDIRECT);
}
?>