X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=lib%2FNDWeb%2FController%2FRaids.pm;h=5248128d43a25c9ee7f77265d6d1fd523d47b30d;hb=c8a0ddb64ccee278c3ebc0aef4a6816a47fdac4f;hp=998f3293386b4235526708777bba59d6afb6b665;hpb=ec198a21465e578fe2f2a49c4ece32ad78d2d4d5;p=ndwebbie.git diff --git a/lib/NDWeb/Controller/Raids.pm b/lib/NDWeb/Controller/Raids.pm index 998f329..5248128 100644 --- a/lib/NDWeb/Controller/Raids.pm +++ b/lib/NDWeb/Controller/Raids.pm @@ -54,7 +54,7 @@ sub index :Path :Args(0) { if ($c->check_user_roles(qw/raids_info/)){ my $query = $dbh->prepare(q{ - SELECT r.id,open ,tick + SELECT r.id,open ,tick, open_tick, released_coords AS releasedcoords ,waves*COUNT(DISTINCT rt.id) AS waves,COUNT(rc.uid) AS claims ,COUNT(nullif(rc.launched,false)) AS launched ,COUNT(NULLIF(uid > 0 OR rc.wave > r.waves,true)) AS blocked @@ -215,7 +215,7 @@ sub edit : Local { my ($self, $c, $raid, $order) = @_; my $dbh = $c->model; - my $query = $dbh->prepare(q{SELECT id,tick,waves,message,released_coords,open,ftid + my $query = $dbh->prepare(q{SELECT id,tick,waves,message,released_coords,open,ftid,open_tick FROM raids WHERE id = ? }); $raid = $dbh->selectrow_hashref($query,undef,$raid); @@ -313,9 +313,10 @@ sub postraidupdate : Local { $dbh->begin_work; my $tick = $c->req->param('tick'); my $waves = $c->req->param('waves'); - $dbh->do(q{UPDATE raids SET message = ?, tick = ?, waves = ? WHERE id = ?} + my $open_tick = $c->req->param('open_tick') || undef; + $dbh->do(q{UPDATE raids SET message = ?, tick = ?, waves = ?, open_tick = ? WHERE id = ?} ,undef,html_escape $c->req->param('message') - ,$tick,$waves,$raid); + ,$tick,$waves,$open_tick,$raid); $c->forward('log',[$raid, 'BC updated raid']); @@ -598,13 +599,14 @@ sub targetcalc : Local { my $dbh = $c->model; $c->stash(target => $dbh->selectrow_hashref(q{ -SELECT pid,metal_roids, crystal_roids, eonium_roids, ds.total +SELECT pid, x, y, z, released_coords, metal_roids, crystal_roids, eonium_roids, ds.total FROM raids r JOIN raid_targets rt ON r.id = rt.raid + JOIN current_planet_stats p USING (pid) LEFT OUTER JOIN current_planet_scans ps USING (pid) LEFT OUTER JOIN current_development_scans ds USING (pid) -WHERE rt.id = ? AND r.open AND not r.removed - AND r.id IN (SELECT raid FROM raid_access NATURAL JOIN groupmembers WHERE uid = ?) +WHERE rt.id = $1 AND r.open AND not r.removed + AND r.id IN (SELECT raid FROM raid_access NATURAL JOIN groupmembers WHERE uid = $2) },undef,$target,$c->user->id)); my $fleets = $dbh->prepare(q{ @@ -632,8 +634,9 @@ sub fleetcalc : Local { my $dbh = $c->model; $c->stash(target => $dbh->selectrow_hashref(q{ -SELECT pid,metal_roids, crystal_roids, eonium_roids, ds.total +SELECT pid, x, y, z, released_coords, metal_roids, crystal_roids, eonium_roids, ds.total FROM launch_confirmations lc + JOIN current_planet_stats p USING (pid) LEFT OUTER JOIN current_planet_scans ps USING (pid) LEFT OUTER JOIN current_development_scans ds USING (pid) WHERE uid = $1 AND fid = $2 @@ -672,6 +675,13 @@ sub calcredir : Private { "def_eonium_asteroids=".($c->stash->{target}->{eonium_roids} // 0), ); + if ($c->stash->{target}->{released_coords}) { + push @query + ,"def_coords_x_1=".$c->stash->{target}->{x} + ,"def_coords_y_1=".$c->stash->{target}->{y} + ,"def_coords_z_1=".$c->stash->{target}->{z}; + } + my $ships = $dbh->prepare(q{ SELECT id, amount FROM fleet_ships fs JOIN ship_stats s USING (ship) WHERE fid = $1