X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=lib%2FNDWeb%2FController%2FAlliances.pm;h=d7c4257179ac4a33f931e2ae2c542e8af1c481bd;hb=43a36a2ae298cd154eb34a252c7e9455161f00f1;hp=e82f54270f32cf99a9ef6daa8b734f9842bdc5cc;hpb=f79954caa064990f19788089b412b502369675de;p=ndwebbie.git 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;