X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=NDWeb%2FPages%2FMemberIntel.pm;fp=NDWeb%2FPages%2FMemberIntel.pm;h=ae5cb2d8ad83cd7918edc36f10c55849015ef953;hb=a189765a37d1fcc4a4dfa732a8177dd55844060e;hp=0974b5ab6fab7e70be44ddaaa81317b5ca9dbdec;hpb=dc6d2d66e25a49a4b24b55925261080682659648;p=ndwebbie.git diff --git a/NDWeb/Pages/MemberIntel.pm b/NDWeb/Pages/MemberIntel.pm index 0974b5a..ae5cb2d 100644 --- a/NDWeb/Pages/MemberIntel.pm +++ b/NDWeb/Pages/MemberIntel.pm @@ -19,7 +19,7 @@ package NDWeb::Pages::MemberIntel; use strict; -use warnings FATAL => 'all'; +use warnings; use CGI qw/:standard/; use NDWeb::Include; @@ -73,7 +73,7 @@ sub render_body { $query->execute($user->{uid}) or $error .= $DBH->errstr; my @nd_attacks; my @retals; - my @other; + my @other_attacks; while (my $intel = $query->fetchrow_hashref){ my $attack = {target => $intel->{coords}, tick => $intel->{tick}}; if ($intel->{ndtarget}){ @@ -84,14 +84,42 @@ sub render_body { } push @nd_attacks, $attack; }else{ - push @other, $attack; + push @other_attacks, $attack; } } my @attacks; push @attacks, {name => 'ND Attacks', list => \@nd_attacks}; - push @attacks, {name => 'Other', list => \@other}; + push @attacks, {name => 'Other', list => \@other_attacks}; $BODY->param(Attacks => \@attacks); + $query = $DBH->prepare(q{ + SELECT coords(t.x,t.y,t.z),t.alliance_id, t.alliance, i.eta, i.tick, i.ingal + FROM users u + JOIN (SELECT * FROM intel WHERE amount = -1) i ON i.sender = u.planet + LEFT OUTER JOIN current_planet_stats t ON i.target = t.id + WHERE u.uid = $1 AND (i.mission = 'Defend' OR i.mission = 'AllyDef') + ORDER BY (i.tick - i.eta) + }); + $query->execute($user->{uid}) or $error .= $DBH->errstr; + my @nd_def; + my @ingal_def; + my @other_def; + while (my $intel = $query->fetchrow_hashref){ + my $def = {target => $intel->{coords}.(defined $intel->{alliance} ? " ($intel->{alliance})" : ''), tick => $intel->{tick}}; + if (defined $intel->{alliance_id} && $intel->{alliance_id} == 1){ + push @nd_def, $def; + }elsif($intel->{ingal}){ + push @ingal_def, $def; + }else{ + push @other_def, $def; + } + } + my @defenses; + push @defenses, {name => 'ND Def', list => \@nd_def}; + push @defenses, {name => 'Ingal Def', list => \@ingal_def}; + push @defenses, {name => 'Other', list => \@other_def}; + $BODY->param(Defenses => \@defenses); + }else{ my $query = $DBH->prepare(q{SELECT u.uid,u.username,u.attack_points, u.defense_points, n.tick ,count(CASE WHEN i.mission = 'Attack' THEN 1 ELSE NULL END) AS attacks