]> ruin.nu Git - ndwebbie.git/blobdiff - lib/NDWeb/Controller/Calls.pm
Converted def leeches
[ndwebbie.git] / lib / NDWeb / Controller / Calls.pm
index cf468a88aaaa4701ed3730d5f883879e32997277..eca27be3fcc9f6431e06c966fe328aa776313fbb 100644 (file)
@@ -205,6 +205,28 @@ sub edit : Local {
        $c->forward('/forum/findPosts',[$call->{ftid}]);
 }
 
+sub defleeches : Local {
+       my ( $self, $c, $type ) = @_;
+       my $dbh = $c->model;
+
+       my $query = $dbh->prepare(q{SELECT username,defense_points,count(id) AS calls
+               , SUM(fleets) AS fleets, SUM(recalled) AS recalled
+               FROM (SELECT username,defense_points,c.id,count(f.target) AS fleets
+                       , count(NULLIF(f.tick + f.eta -1 = f.back,TRUE)) AS recalled
+                       FROM users u JOIN calls c ON c.member = u.uid
+                               LEFT OUTER JOIN fleets f ON u.planet = f.target
+                                       AND c.landing_tick = f.tick
+                       WHERE (f.mission = 'Defend' AND f.uid > 0 AND f.back IS NOT NULL AND NOT ingal)
+                               OR f.target IS NULL
+                       GROUP BY username,defense_points,c.id
+               ) d
+               GROUP BY username,defense_points ORDER BY fleets DESC, defense_points
+               });
+       $query->execute;
+
+       $c->stash(members => $query->fetchall_arrayref({}) );
+}
+
 sub postcallcomment : Local {
        my ($self, $c, $call) = @_;