X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=ND%2FWeb%2FPages%2FPoints.pm;fp=ND%2FWeb%2FPages%2FPoints.pm;h=04c17dd4fa8f9f0cd3b322f21a7419a27d87164f;hb=ddce30bcd0e77f6e923788cb7b21ada5c5ec7ce9;hp=2202a41f484d17873a84a22905db54e6d9a04d5c;hpb=eafb5ef101dfc9cf22655a532073e8b71a036a67;p=ndwebbie.git diff --git a/ND/Web/Pages/Points.pm b/ND/Web/Pages/Points.pm index 2202a41..04c17dd 100644 --- a/ND/Web/Pages/Points.pm +++ b/ND/Web/Pages/Points.pm @@ -37,7 +37,7 @@ sub render_body { return $self->noAccess unless $self->isMember; my $type = "total"; - if (defined param('type') && param('type') =~ /^(defense|attack|total|humor|scan|rank)$/){ + if (defined param('type') && param('type') =~ /^(defense|attack|total|humor|scan|rank|raid)$/){ $type = $1; } $type .= '_points' unless ($type eq 'rank'); @@ -48,14 +48,19 @@ sub render_body { my $limit = 'LIMIT 10'; $limit = '' if $self->isHC; - my $query = $DBH->prepare("SELECT username,defense_points,attack_points,scan_points,humor_points, (attack_points+defense_points+scan_points/20) as total_points, rank FROM users WHERE uid IN (SELECT uid FROM groupmembers WHERE gid = 2) ORDER BY $type $order $limit"); + my $query = $DBH->prepare(qq{SELECT username,defense_points,attack_points,scan_points,humor_points + ,(attack_points+defense_points+scan_points/20) as total_points, rank, count(NULLIF(rc.launched,FALSE)) AS raid_points + FROM users u LEFT OUTER JOIN raid_claims rc USING (uid) + WHERE uid IN (SELECT uid FROM groupmembers WHERE gid = 2) + GROUP BY username,defense_points,attack_points,scan_points,humor_points,rank + ORDER BY $type $order $limit}); $query->execute; my @members; my $i = 0; - while (my ($username,$defense,$attack,$scan,$humor,$total,$rank) = $query->fetchrow){ + while (my ($username,$defense,$attack,$scan,$humor,$total,$rank,$raid) = $query->fetchrow){ $i++; - push @members,{Username => $username, Defense => $defense, Attack => $attack + push @members,{Username => $username, Defense => $defense, Attack => $attack, Raid => $raid , Scan => $scan, Humor => $humor, Total => $total, Rank => $rank, ODD => $i % 2}; } $BODY->param(Members => \@members);