#!/usr/bin/perl
# ============================================================================
# $Rev: 177 $ $URL: svn://localhost/PlayChess/trunk/cgi/selectlanguage.cgi $
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# $Date: 2006-05-06 17:53:02 +0200 (Sa, 06 Mai 2006) $
# $Author: Thomas $
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# List of translations
# ============================================================================
use lib "../cgi-bin";
use CGI qw( :standard );
use CGI::Carp qw(fatalsToBrowser);
use Member;
use PCPlayer;
use PC;
use PCLeagueUtil;
use PCSession;
use Template;
use Util;
use ChessConfig;
use MyDbi;
##--------------------------------------------------------------------------
## LOCAL CONFIGURATION
##--------------------------------------------------------------------------
local $config = getConfig();
$URL = $ENV{DOCUMENT_URI}; # url of your domain
$ROOT = $ENV{DOCUMENT_ROOT}; # path to document root
$SERVER = $ENV{SERVER_NAME}; # server name
$HOST = $ENV{HTTP_HOST};
$err = ''; # error message
$syserr = 0;
$| = 1;
local ($starttime,$endtime) = (time(),0);
local $cgi = CGI->new();
local $sobj = PCSession->new($cgi);
local $name = $sobj->getValue( 'name' );
local $pid = $sobj->getValue( 'pid' );
# local $language = $cgi->param( 'lang' );
local $refurl = $cgi->param( 'refurl' );
# Fetch CGI-parameter names
# ~~~~~~~~~~~~~~~~~~~~~~~~~
@params = $cgi->param();
# print "Parameters: ", join(', ', @params), "
\n";
# print "refurl='$refurl'
\n";
# unescape URL
$refurl =~ s/%3F/\?/gi;
$refurl =~ s/%26/\&/gi;
# remove and append session id from URL
{
my $sid = $sobj->SID;
print "refurl0='$refurl'
\n" if( Util::isDebug );
if( $sid )
{
# remove
$refurl =~ s/SID=\w+\&?//g;
$refurl =~ s/\?$//;
#$refurl =~ s/[\&\?]SID=\w+//;
print "refurl1='$refurl'
\n" if( Util::isDebug );
# append
#unless( Util::isGoogleBot )
if(0)
{
$refurl .= ( ($refurl=~/[\?\&]/) ? '&' : '?' );
$refurl .= "SID=$sid";
print "refurl2='$refurl'
\n" if( Util::isDebug );
}
}
}
# remove language parameter from URL
$refurl =~ s/language=\w+\&?//;
#$refurl =~ s/[\&\?]language=\w+//;
# print "refurl3='$refurl'
\n";
# append language parameter to new URL
local $newurl = $refurl;
my $useParm = ( Util::isLocal || Util::isTest );
if( $useParm )
{
$newurl = $refurl . ( ($refurl =~ /\?/) ? '&' : '?' ) . 'language=';
}
# print "refurl='$refurl'
\n";
# print "newurl='$newurl'
\n";
# CGI parameters ==> store in session
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# if( $language )
# {
# $sobj->setValue( 'language', $language );
# print "setlanguage($language)='".$sobj->getValue('language')."'
\n";
# }
# display page
# ~~~~~~~~~~~~
showPage();
# store session object and exit
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$sobj->close();
exit(0);
# ------------------------------
sub showPage
# ------------------------------
{
# Load page template
# ~~~~~~~~~~~~~~~~~~
my $tpl = Template->new( "selectlanguage.tpl" );
# print "language($language)='".$sobj->getValue('language')."'
\n";
$tpl->addMakro( 'language', $language );
$tpl->addMakro( 'URL', $refurl );
$tpl->addMakro( 'USE_PARM', $useParm );
$tpl->addMakro( 'NEWURL', $newurl );
$tpl->addMakro( 'REQ_URI', $ENV{REQUEST_URI} );
$sobj->addMakros( $tpl );
print $tpl->Expand($sobj);
}