From: Michael Andreen Date: Wed, 16 Jul 2008 18:11:25 +0000 (+0200) Subject: Converted hostileAlliances X-Git-Url: https://ruin.nu/git/?p=ndwebbie.git;a=commitdiff_plain;h=43a36a2ae298cd154eb34a252c7e9455161f00f1 Converted hostileAlliances --- diff --git a/NDWeb/Pages/HostileAlliances.pm b/NDWeb/Pages/HostileAlliances.pm deleted file mode 100644 index 703e8b7..0000000 --- a/NDWeb/Pages/HostileAlliances.pm +++ /dev/null @@ -1,68 +0,0 @@ -#************************************************************************** -# Copyright (C) 2006 by Michael Andreen * -# * -# This program is free software; you can redistribute it and/or modify * -# it under the terms of the GNU General Public License as published by * -# the Free Software Foundation; either version 2 of the License, or * -# (at your option) any later version. * -# * -# This program is distributed in the hope that it will be useful, * -# but WITHOUT ANY WARRANTY; without even the implied warranty of * -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * -# GNU General Public License for more details. * -# * -# You should have received a copy of the GNU General Public License * -# along with this program; if not, write to the * -# Free Software Foundation, Inc., * -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * -#**************************************************************************/ -package NDWeb::Pages::HostileAlliances; -use strict; -use warnings FATAL => 'all'; -use ND::Include; -use CGI qw/:standard/; -use NDWeb::Include; - -use base qw/NDWeb::XMLPage/; - -$NDWeb::Page::PAGES{hostileAlliances} = __PACKAGE__; - -sub render_body { - my $self = shift; - my ($BODY) = @_; - $self->{TITLE} = 'Hostile Alliances'; - my $DBH = $self->{DBH}; - - return $self->noAccess unless $self->isHC; - - my $begintick = 0; - my $endtick = $self->{TICK}; - if (param('ticks')){ - $begintick = $endtick - param('ticks'); - }elsif(defined param('begintick') && defined param('endtick')){ - $begintick = param('begintick'); - $endtick = param('endtick'); - - } - my $query = $DBH->prepare(q{ - SELECT s.alliance_id AS id,s.alliance AS name,count(*) AS hostilecount -FROM calls c - JOIN incomings i ON i.call = c.id - JOIN current_planet_stats s ON i.sender = s.id -WHERE c.landing_tick - i.eta > $1 and c.landing_tick - i.eta < $2 -GROUP BY s.alliance_id,s.alliance -ORDER BY hostilecount DESC - })or $ND::ERROR .= $DBH->errstr; - $query->execute($begintick,$endtick) or $ND::ERROR .= $DBH->errstr; - my @alliances; - my $tick = $self->{TICK}; - while (my $alliance = $query->fetchrow_hashref){ - push @alliances, $alliance; - } - $BODY->param(Alliances => \@alliances); - $BODY->param(Ticks => $endtick - $begintick); - $BODY->param(BeginTick =>$begintick); - $BODY->param(EndTick =>$endtick); - return $BODY; -} -1; diff --git a/database/group_roles.sql b/database/group_roles.sql index c5bcd32..bbb5448 100644 --- a/database/group_roles.sql +++ b/database/group_roles.sql @@ -18,6 +18,7 @@ INSERT INTO roles VALUES('no_fleet_update'); INSERT INTO roles VALUES('admin_users'); INSERT INTO roles VALUES('rankings_planet_intel'); INSERT INTO roles VALUES('alliances_resources'); +INSERT INTO roles VALUES('alliances'); INSERT INTO roles VALUES('graphs_intel'); INSERT INTO roles VALUES('members'); INSERT INTO roles VALUES('members_points_nolimit'); @@ -67,6 +68,7 @@ INSERT INTO group_roles (gid,role) VALUES(1,'intel_menu'); INSERT INTO group_roles (gid,role) VALUES(1,'admin_users'); INSERT INTO group_roles (gid,role) VALUES(1,'rankings_planet_intel'); INSERT INTO group_roles (gid,role) VALUES(1,'alliances_resources'); +INSERT INTO group_roles (gid,role) VALUES(1,'alliances'); INSERT INTO group_roles (gid,role) VALUES(1,'graphs_intel'); INSERT INTO group_roles (gid,role) VALUES(1,'calls_list'); INSERT INTO group_roles (gid,role) VALUES(1,'calls_edit'); @@ -82,6 +84,7 @@ INSERT INTO group_roles (gid,role) VALUES(3,'intel_menu'); INSERT INTO group_roles (gid,role) VALUES(3,'admin_users'); INSERT INTO group_roles (gid,role) VALUES(3,'rankings_planet_intel'); INSERT INTO group_roles (gid,role) VALUES(3,'alliances_resources'); +INSERT INTO group_roles (gid,role) VALUES(3,'alliances'); INSERT INTO group_roles (gid,role) VALUES(3,'graphs_intel'); INSERT INTO group_roles (gid,role) VALUES(3,'calls_list'); INSERT INTO group_roles (gid,role) VALUES(3,'calls_edit'); diff --git a/lib/NDWeb.pm b/lib/NDWeb.pm index 28191c0..819f70e 100644 --- a/lib/NDWeb.pm +++ b/lib/NDWeb.pm @@ -71,6 +71,7 @@ __PACKAGE__->setup(qw/ __PACKAGE__->deny_access_unless('/users',[qw/admin_users/]); +__PACKAGE__->deny_access_unless('/alliances',[qw/alliances/]); __PACKAGE__->deny_access_unless('/alliances/resources',[qw/alliances_resources/]); __PACKAGE__->deny_access_unless('/graphs/alliancevsintel',[qw/graphs_intel/]); __PACKAGE__->deny_access_unless('/graphs/avgalliancevsintel',[qw/graphs_intel/]); diff --git a/lib/NDWeb/Controller/Alliances.pm b/lib/NDWeb/Controller/Alliances.pm index e82f542..d7c4257 100644 --- a/lib/NDWeb/Controller/Alliances.pm +++ b/lib/NDWeb/Controller/Alliances.pm @@ -27,6 +27,35 @@ sub index :Path :Args(0) { $c->response->body('Matched NDWeb::Controller::Alliances in Alliances.'); } +sub hostile : Local { + my ( $self, $c, $order ) = @_; + my $dbh = $c->model; + + my $begintick = 0; + my $endtick = $c->stash->{TICK}; + if ($c->req->param('ticks')){ + $begintick = $endtick - $c->req->param('ticks'); + }elsif(defined $c->req->param('begintick') && defined $c->req->param('endtick')){ + $begintick = $c->req->param('begintick'); + $endtick = $c->req->param('endtick'); + } + + my $query = $dbh->prepare(q{ + SELECT s.alliance_id AS id,s.alliance AS name,count(*) AS hostile_count +FROM calls c + JOIN incomings i ON i.call = c.id + JOIN current_planet_stats s ON i.sender = s.id +WHERE c.landing_tick - i.eta > $1 and c.landing_tick - i.eta < $2 +GROUP BY s.alliance_id,s.alliance +ORDER BY hostile_count DESC + }); + $query->execute($begintick,$endtick); + $c->stash(alliances => $query->fetchall_arrayref({}) ); + $c->stash(ticks => $endtick - $begintick); + $c->stash(begin_tick => $begintick); + $c->stash(end_tick => $endtick); +} + sub resources : Local { my ( $self, $c, $order ) = @_; my $dbh = $c->model; diff --git a/root/lib/site/leftbar.tt2 b/root/lib/site/leftbar.tt2 index 1adec4a..1159831 100644 --- a/root/lib/site/leftbar.tt2 +++ b/root/lib/site/leftbar.tt2 @@ -97,7 +97,7 @@