$BODY->param(Targets => \@targets);
}else{#list raids if we haven't chosen one yet
- my $query = $DBH->prepare(q{SELECT id,released_coords FROM raids WHERE open AND not removed AND
- id IN (SELECT raid FROM raid_access NATURAL JOIN groupmembers WHERE uid = ?)});
+ my $launched = 0;
+ my $query = $DBH->prepare(q{SELECT r.id AS raid,released_coords AS releasedcoords,tick,waves*COUNT(DISTINCT rt.id) AS waves,
+ COUNT(rc.uid) AS claims, COUNT(nullif(rc.launched,false)) AS launched,COUNT(NULLIF(rc.uid > 0,true)) AS blocked
+ FROM raids r JOIN raid_targets rt ON r.id = rt.raid
+ LEFT OUTER JOIN raid_claims rc ON rt.id = rc.target
+ WHERE open AND not removed AND r.id
+ IN (SELECT raid FROM raid_access NATURAL JOIN groupmembers WHERE uid = ?)
+ GROUP BY r.id,released_coords,tick,waves});
$query->execute($ND::UID);
my @raids;
while (my $raid = $query->fetchrow_hashref){
- push @raids,{Raid => $raid->{id}, ReleasedCoords => $raid->{released_coords}};
+ $raid->{waves} -= $raid->{blocked};
+ $raid->{claims} -= $raid->{blocked};
+ delete $raid->{blocked};
+ $launched += $raid->{launched};
+ push @raids,$raid;
}
$BODY->param(Raids => \@raids);
if ($self->isBC){
$BODY->param(isBC => 1);
- my $query = $DBH->prepare(q{SELECT id,open FROM raids WHERE not removed AND (not open
- OR id NOT IN (SELECT raid FROM raid_access NATURAL JOIN groupmembers WHERE uid = ?))});
+ my $query = $DBH->prepare(q{SELECT r.id AS raid,open ,tick,waves*COUNT(DISTINCT rt.id) AS waves,
+ COUNT(rc.uid) AS claims, COUNT(nullif(rc.launched,false)) AS launched ,COUNT(NULLIF(uid > 0,true)) AS blocked
+ FROM raids r JOIN raid_targets rt ON r.id = rt.raid
+ LEFT OUTER JOIN raid_claims rc ON rt.id = rc.target
+ WHERE not removed AND (not open
+ OR r.id NOT IN (SELECT raid FROM raid_access NATURAL JOIN groupmembers WHERE uid = ?))
+ GROUP BY r.id,open,tick,waves});
$query->execute($ND::UID);
my @raids;
while (my $raid = $query->fetchrow_hashref){
- push @raids,{Raid => $raid->{id}, Open => $raid->{open}};
+ $raid->{waves} -= $raid->{blocked};
+ $raid->{claims} -= $raid->{blocked};
+ delete $raid->{blocked};
+ $launched += $raid->{launched};
+ push @raids,$raid;
}
$BODY->param(ClosedRaids => \@raids);
+
+
+ $query = $DBH->prepare(q{SELECT r.id AS raid,tick,waves*COUNT(DISTINCT rt.id) AS waves,
+ COUNT(rc.uid) AS claims, COUNT(nullif(rc.launched,false)) AS launched ,COUNT(NULLIF(uid > 0,true)) AS blocked
+ FROM raids r JOIN raid_targets rt ON r.id = rt.raid
+ LEFT OUTER JOIN raid_claims rc ON rt.id = rc.target
+ WHERE removed
+ GROUP BY r.id,tick,waves});
+ $query->execute;
+ my @oldraids;
+ while (my $raid = $query->fetchrow_hashref){
+ $raid->{waves} -= $raid->{blocked};
+ $raid->{claims} -= $raid->{blocked};
+ delete $raid->{blocked};
+ $launched += $raid->{launched};
+ push @oldraids,$raid;
+ }
+ $BODY->param(RemovedRaids => \@oldraids);
+ $BODY->param(Launched => $launched);
}
}
return $BODY;
+<TMPL_IF isBC>
+ <p>Total launched fleets: <TMPL_VAR NAME=Launched></p>
+</TMPL_IF>
+<p> Open raids </p>
<TMPL_LOOP Raids>
<p><a href="/<TMPL_VAR NAME=PAGE>?raid=<TMPL_VAR NAME=Raid>">Raid <TMPL_VAR NAME=Raid></a>
+ Landing tick: <TMPL_VAR NAME=tick>
<TMPL_IF isBC>
<a href="editRaid?raid=<TMPL_VAR NAME=Raid>">Edit</a>
<a href="editRaid?raid=<TMPL_VAR NAME=Raid>&cmd=Close">Close raid.</a>
<TMPL_UNLESS ReleasedCoords>
<a href="editRaid?raid=<TMPL_VAR NAME=Raid>&cmd=showcoords">Show coords.</a>
</TMPL_UNLESS>
+ Waves: <TMPL_VAR NAME=Waves>
+ Claims: <TMPL_VAR NAME=Claims>
+ Launched: <TMPL_VAR NAME=Launched>
</TMPL_IF>
</p>
</TMPL_LOOP>
<TMPL_LOOP ClosedRaids>
<p>
<a href="editRaid?raid=<TMPL_VAR NAME=Raid>">Edit raid <TMPL_VAR NAME=Raid></a>
-
+ Landing tick: <TMPL_VAR NAME=tick>
<TMPL_UNLESS Open>
<a href="editRaid?raid=<TMPL_VAR NAME=Raid>&cmd=Open">Open raid.</a>
</TMPL_UNLESS>
+ Waves: <TMPL_VAR NAME=Waves>
+ Claims: <TMPL_VAR NAME=Claims>
+ Launched: <TMPL_VAR NAME=Launched>
+ </p>
+</TMPL_LOOP>
+
+<p> Removed raids </p>
+<TMPL_LOOP RemovedRaids>
+ <p>
+ <a href="editRaid?raid=<TMPL_VAR NAME=Raid>">Edit raid <TMPL_VAR NAME=Raid></a>
+ Landing tick: <TMPL_VAR NAME=tick>
+ Waves: <TMPL_VAR NAME=Waves>
+ Claims: <TMPL_VAR NAME=Claims>
+ Launched: <TMPL_VAR NAME=Launched>
</p>
</TMPL_LOOP>
</TMPL_IF>