#!/usr/bin/perl # ================================================================================ # $Rev: 226 $ $URL: svn://localhost/PlayChess/trunk/cgi/playerdir-list.cgi $ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Author: $Author: Thomas $ # Modified: $Date: 2006-10-10 21:22:56 +0000 (Di, 10 Okt 2006) $ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Copyright at playchess.de - all rights reserved # ================================================================================ use lib "../cgi-bin"; use PCGI qw( :standard ); #use CGI::Carp qw(fatalsToBrowser); use PC; use PCLeagueUtil; use PCSession; use Template; use Util; use ChessConfig; use MyDbi; ##-------------------------------------------------------------------------- ## LOCAL CONFIGURATION ##-------------------------------------------------------------------------- $ppp = 25; # ppp = players per page $min = 0; $max = 0; local $stoptime = time(); local $cgi = PCGI->new(); local $sobj = PCSession->new( $cgi ); local $spid = $sobj->getValue( 'pid' ); $action = $cgi->getParam( 'action' ); $sort = $cgi->getParam( 'sort' ) || 'elo'; $name = $cgi->getParam( 'name' ) || $cookie_name; $type = $cgi->getParam( 'type' ) || 'h'; $email = $cgi->getParam( 'email' ); #$passwd = $cgi->getParam( 'passwd' ); $league = $cgi->getParam('league'); $class = $cgi->getParam('class'); $cflag = $cgi->getParam('cflag'); $ppp = $cgi->getParam('ppp') || 25; $min = $cgi->getParam('min'); $max = $cgi->getParam('max'); $mingames = 0+$cgi->getParam('mingames'); $namepattern = $cgi->getParam('namepattern'); $mailpattern = $cgi->getParam('mailpattern'); $admin = $cgi->getParam('admin'); ($flag,$country) = split('-',$cflag) if $cflag; #print "
$#{$rows} rows found
"; #AUS( __FILE__,__LINE__, $#{$rows}, "SELECT TIME:", time()-$starttime, $starttime, time ); for $r ( 0 .. $#{$rows} ) { my( $id, $name, $passwd, $email, $level, $country, $flag, $gpp, $lv, $to, $no, $ngames, $c1, $r1, $l1, $mtype, $muntil ) = @{ $rows->[$r] }; #AUS( __FILE__,__LINE__, $name, $flag, $gpp, $lv, $c1, $r1, $c2, $r2, "validgames=$ngames" ); # my $isactive = Active->checkActive( $id, $name, $passwd, $email, $level, $lv, $to, $no ); #$since = Util::getDate($lv,"dd.mm. hh:mm"); $even = ($r % 2); $linecolor = ($even) ? '#EEEEEE' : '#FFFFFF'; my $mstring; if ( $mtype == 3 && $muntil>time ) { $mstring = "P"; } elsif( $mtype == 2 && $muntil>time && $muntil>time+6*30*86400 ) { $mstring = "SP"; } elsif( $mtype == 2 && $muntil>time ) { $mstring = "S"; } elsif( $mtype == 1 && $muntil>time ) { $mstring = "T"; } else { $mstring = "G"; } $line = join("|", $min+$r+1, $even, $name, $country, $flag, 0+$gpp, 0+$ngames, $lv, $r1, $c1, $l1, $linecolor, $mstring, ($id == $spid) ); #AUS( __FILE__,__LINE__, $line ); push @PlayerList, $line; #print "$line"; } # End of DB access #----------------- $dbh->disconnect(); # Create output #-------------- my $t; my $tpl = Template->new( "playerdir-list.tpl" ); my( $p, $ListTitle, $anz, %time ); $tpl->addMakro( "LEAGUE", $league ); $tpl->addMakro( "CLASS", $class ); $tpl->addMakro( "SORT", $sort ); $tpl->addMakro( "MINGAMES", $mingames ); $tpl->addMakro( "COUNTRY", $country ); $tpl->addMakro( "CFLAG", $cflag ); $tpl->addMakro( "MAX", ($min+$ppp) ); $tpl->addSelectMakro( "cflag", $cflag ); $tpl->addSelectMakro( "league", $league ); $tpl->addSelectMakro( "class", $class ); $tpl->addSelectMakro( "sort", $sort ); $tpl->addBatch( $min, $ppp, scalar @PlayerList, $tp ); $tpl->addMakro( "TP", $tp ); $tpl->addArray( "ARRAY", \@PlayerList ); $time{'search'} = (time-$stoptime); $stoptime = time(); $t = $tpl->Expand($sobj); $time{'expand'} = (time-$stoptime); $stoptime = time(); # my $cmd = 'echo "' . $t . '"'; # system( $cmd ); print $t; $time{'print'} = (time-$stoptime); $stoptime = time(); if( Util::isLocal || Util::isTest ) { foreach my $key (keys %time) { print "Time($key) = ", $time{$key}, " seconds