1,22 → 1,12 |
<?php |
|
// Direct Link is technology used for permanent link into deep place of the web. |
// This script is opened when mod_rewrite gets url with no page but with some |
// parameter (query string, separated by ?). The web is trying to find |
// script with the best language (for example DirectLink.en.php). Those scripts |
// are wrappers only. We can then look which language was used and generate |
// the right language version of link or selection. |
// Process supplied parameters as direct link (link to some deep place |
// in the web structure). |
// |
// For example www.mlab.cz?xxx |
// This script is usualy called via mod_rewrite when user enter |
// no page with some parameter. |
// |
// If there is invalid keyword (xxx in the example above) the script generates |
// selecteion HTML page (with table of posibilities). If the keyword is valid |
// (found in a list) then the page is automatically redirected to the right |
// place. We try to use user's prefered language. |
// |
// In the file DirectLink.inc there is list of keywords and links to go. |
// |
// Written by (c)miho2007 for www.mlab.cz |
// (c)miho2007 / www.mlab.cz |
|
|
// Clear variables |
28,13 → 18,13 |
// Include redirect definitions (as an array) |
include_once("DirectLink.inc"); |
|
// Make all keywords upcase |
// Do all upcase |
foreach($Redirect as $Key => $Value) |
{ |
$RedirectUpper[strtoupper($Key)]=$Value; |
} |
|
// Process language (extract lang from the name of the script) |
// Process language |
$Lang=$_SERVER[SCRIPT_FILENAME]; |
$Lang=preg_replace("/(?:.+)\.(.+)\.(.*)/i","$1",$Lang); |
if ($Lang==$_SERVER[SCRIPT_FILENAME]) $Lang=""; |
45,14 → 35,12 |
// If not found -> list all posibilities |
if ($RedirectToPage=="") |
{ |
// Template File Name |
// File Name |
if ($Lang=="") |
$Lang="en"; |
$FileName="DirectLink.$Lang.tmpl"; |
|
// Read Template |
$Template=@file($FileName); |
|
// Trim Lines |
if ($Template<>FALSE) |
{ |
62,16 → 50,7 |
} |
$Template=implode("\n",$Template); |
} |
|
// Read parametrs from Template |
|
// Dodělat tuto část včetně odsazení tabulky |
// <<DIRECTLINK Rychlý odkaz>> |
// <<REDIRECTION Přesměrování>> |
$Template=preg_replace("/.*<<DIRECTLINK +(.*)>>/im","",$Template); |
$Template=preg_replace("/.*<<REDIRECTION +(.*)>>/im","",$Template); |
|
// Generate List (table) |
// Generate List |
$Table =""; |
$Table.="<table>\n"; |
$Table.=" <tr>\n"; |
86,19 → 65,16 |
$Table.=" </tr>\n"; |
} |
$Table.="<table>\n"; |
|
// Put it into Template |
if ($Template<>"") |
print str_ireplace("<<TABLE>>", $Table, $Template); |
print str_ireplace("<<Table>>", $Table, $Template); |
else |
print $Table; // We have No Template |
|
print $Table; |
// Finished |
return 0; |
} |
else |
{ |
// We have redirection |
if ($Lang<>"") |
if (file_exists($_SERVER["DOCUMENT_ROOT"].$RedirectToPage.".".$Lang.".html")) |
$RedirectToPage.=".".$Lang.".html"; |