/Web/DirectLink.php
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";