1 #**************************************************************************
2 # Copyright (C) 2006 by Michael Andreen <harvATruinDOTnu> *
4 # This program is free software; you can redistribute it and/or modify *
5 # it under the terms of the GNU General Public License as published by *
6 # the Free Software Foundation; either version 2 of the License, or *
7 # (at your option) any later version. *
9 # This program is distributed in the hope that it will be useful, *
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of *
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
12 # GNU General Public License for more details. *
14 # You should have received a copy of the GNU General Public License *
15 # along with this program; if not, write to the *
16 # Free Software Foundation, Inc., *
17 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
18 #**************************************************************************/
19 package NDWeb::Pages::HostileAlliances;
21 use warnings FATAL => 'all';
23 use CGI qw/:standard/;
26 use base qw/NDWeb::XMLPage/;
28 $NDWeb::Page::PAGES{hostileAlliances} = __PACKAGE__;
33 $self->{TITLE} = 'Hostile Alliances';
34 my $DBH = $self->{DBH};
36 return $self->noAccess unless $self->isHC;
39 my $endtick = $self->{TICK};
41 $begintick = $endtick - param('ticks');
42 }elsif(defined param('begintick') && defined param('endtick')){
43 $begintick = param('begintick');
44 $endtick = param('endtick');
47 my $query = $DBH->prepare(q{
48 SELECT s.alliance_id AS id,s.alliance AS name,count(*) AS hostilecount
50 JOIN incomings i ON i.call = c.id
51 JOIN current_planet_stats s ON i.sender = s.id
52 WHERE c.landing_tick - i.eta > $1 and c.landing_tick - i.eta < $2
53 GROUP BY s.alliance_id,s.alliance
54 ORDER BY hostilecount DESC
55 })or $ND::ERROR .= $DBH->errstr;
56 $query->execute($begintick,$endtick) or $ND::ERROR .= $DBH->errstr;
59 my $tick = $self->{TICK};
60 while (my $alliance = $query->fetchrow_hashref){
62 $alliance->{ODD} = $i % 2;
63 push @alliances, $alliance;
65 $BODY->param(Alliances => \@alliances);
66 $BODY->param(Ticks => $endtick - $begintick);
67 $BODY->param(BeginTick =>$begintick);
68 $BODY->param(EndTick =>$endtick);