#!/usr/bin/perl # ================================================================================ # $Rev: 361 $ $URL: file:///C:/daten/archiv/PlayChess/trunk/cgi/playerinfo.cgi $ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Author: $Author: epts $ # Modified: $Date: 2008-04-29 18:06:39 +0200 (Di, 29 Apr 2008) $ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Copyright at playchess.de - all rights reserved # ================================================================================ use lib "../cgi-bin"; use CGI qw( :standard ); use CGI::Carp qw(fatalsToBrowser); use PC; use PCSession; use Template; use Util; use MyDbi; use Chronos; ##-------------------------------------------------------------------------- ## LOCAL CONFIGURATION ##-------------------------------------------------------------------------- $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}; $syserr = 0; #$| = 1; $ppp = 50; # ppp = players per page $min = 0; $max = 0; local ($starttime,$endtime) = (time(),0); local $debug = (0 || Util::isDebug); $cgi = CGI->new(); local $sobj = PCSession->new( $cgi ); local $sname = $sobj->getValue( 'name' ); $name = $sobj->getCgiParam('name') || $sname; $mode = $sobj->getCgiParam('mode') || ''; if( $debug ) { DBG "
name = $name\n"; DBG "
mode = $mode\n"; DBG "
query = " , $ENV{QUERY_STRING} . "\n"; DBG "
escape = " , $cgi->{'escape'} . "\n"; # exit(0); } { my( $stmt, $row ); $dbh = dbiConnect() or exit(1); # Load attributes from player table #---------------------------------- $stmt = " select p.pid, p.deleted, p.isengine, p.homepage, p.image, p.country, p.flag, p.validgames, p.since, p.lastvisit, p.privacy, p.shortstmt, p.longstmt, p.title, p.wins, p.gpp, p.timeout, m.type, m.since, m.until, h.taken, h.since, h.until, p.type, p.state from tbl_player p left outer join tbl_member m on p.pid=m.pid left outer join tbl_holiday h on p.pid=h.pid where p.name = ? "; $row = MyDbi::getRow( $stmt, $name ); $pid = $row->[0]; $deleted = $row->[1]; $isengine = $row->[2]; # Player does not exist #---------------------- unless( $pid ) { $dbh->disconnect(); my $tpl = Template->new( "player-unknown.tpl" ); $tpl->addMakro( "NAME", $name ); print $tpl->Expand($sobj); exit(0); } # Deleted players' data are NOT displayed #---------------------------------------- if( $deleted ) { $dbh->disconnect(); my $tpl = Template->new( "player-deleted.tpl" ); $tpl->addMakro( "NAME", $name ); print $tpl->Expand($sobj); exit(0); } my $tpl = Template->new( ($mode eq 'popup') ? "playerinfo-mt.tpl" : "playerinfo.tpl" ); # Add attributes of player table to template #------------------------------------------- $tpl->addMakro( "NAME", $name ); $tpl->addMakro( "ISENGINE", $row->[2] ); $tpl->addMakro( "HOMEPAGE", $row->[3] ); $tpl->addMakro( "IMAGE", $row->[4] ); $tpl->addMakro( "COUNTRY", $row->[5] ); $tpl->addMakro( "FLAG", $row->[6] ); $tpl->addMakro( "SINCE", $row->[8] ); $tpl->addMakro( "LAST_VISIT", $row->[9] ); $tpl->addMakro( "PRIVACY", $row->[10] ); $tpl->addMakro( "SHORT_STMT", $row->[11] ); $tpl->addMakro( "LONG_STMT", $row->[12] ); $tpl->addMakro( "TITLE", ($row->[13] eq 'none') ? '' : $row->[13] ); $tpl->addMakro( "WINS", 0+$row->[14] ); $tpl->addMakro( "GRANDPRIX", 0+$row->[15] ); $tpl->addMakro( "PTYPE", $row->[23] ); $tpl->addMakro( "PSTATE", $row->[24] ); $tpl->addMakro( "HUMAN", !$isengine ); $tpl->addMakro( "IS_SELF", $pid eq $sobj->getValue('pid') ); $tpl->addMakro( "ACCESS_LEVEL", $sobj->getValue('AccessLevel') ); # Holidays # ~~~~~~~~ $tpl->addMakro( 'HAS_HOLIDAY', $row->[21]