X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=NDWeb%2FPages%2FCheck.pm;h=a0062ab3568b7a67327e171ecdf68d2cff7b67ea;hb=57f880656c4486f68583058121a5bcb3b316199c;hp=5df1265199408f700d3f2e1531f51567331fdf56;hpb=14e523fcb4dc6eb3ce780e0780959187c2610a6f;p=ndwebbie.git diff --git a/NDWeb/Pages/Check.pm b/NDWeb/Pages/Check.pm index 5df1265..a0062ab 100644 --- a/NDWeb/Pages/Check.pm +++ b/NDWeb/Pages/Check.pm @@ -78,7 +78,7 @@ sub render_body { $extra_columns = ", planet_status,hit_us, alliance,relationship"; } - my $query = $DBH->prepare(qq{Select p.id,coords(x,y,z), ((ruler || ' OF ') || p.planet) as planet,race, + my $query = $DBH->prepare(qq{Select p.id,coords(x,y,z), ((ruler || ' OF ') || p.planet) as planet,race,gov, size, size_gain, size_gain_day, score,score_gain,score_gain_day, value,value_gain,value_gain_day, @@ -107,7 +107,6 @@ sub render_body { } my @planets; my $planet_id = undef; - my $i = 0; while (my $planet = $query->fetchrow_hashref){ $planet_id = $planet->{id}; for my $type (qw/size score value xp/){ @@ -122,12 +121,10 @@ sub render_body { } } if ($self->isMember && ($self->isOfficer || $self->isBC)){ - if ($z && $planet->{alliance} eq 'NewDawn' && not ($self->isHC || $self->isOfficer)){ + if ($z && defined $planet->{alliance} && $planet->{alliance} eq 'NewDawn' && not ($self->isHC || $self->isOfficer)){ log_message $ND::UID,"BC browsing ND planet $planet->{coords} tick $self->{TICK}"; } } - $i++; - $planet->{ODD} = $i % 2; delete $planet->{id}; push @planets,$planet; } @@ -145,22 +142,20 @@ sub render_body { AND t.tick = ( SELECT MAX(tick) FROM planet_stats) WHERE i.uid = -1 AND i.sender = ? - AND (i.tick > tick() - 14 OR i.mission = 'Full Fleet') + AND (i.tick > tick() - 14 OR i.mission = 'Full fleet') GROUP BY i.id,x,y,z,i.mission,i.tick,i.name,i.amount,i.ingal,i.uid ORDER BY i.tick,x,y,z }); $query->execute($planet_id); - my $ships = $DBH->prepare(q{SELECT ship,amount FROM fleet_ships WHERE id = ?}); + my $ships = $DBH->prepare(q{SELECT ship,amount FROM fleet_ships + WHERE id = ? ORDER BY num + }); my @missions; - $i = 0; while (my $mission = $query->fetchrow_hashref){ - $mission->{ODD} = $i++ % 2; $mission->{CLASS} = $mission->{mission}; my @ships; $ships->execute($mission->{id}); - my $j = 0; while (my $ship = $ships->fetchrow_hashref){ - $ship->{ODD} = $j++ % 2; push @ships,$ship; } push @ships, {ship => 'No', amount => 'ships'} if @ships == 0; @@ -178,21 +173,17 @@ sub render_body { AND s.tick = ( SELECT MAX(tick) FROM planet_stats) WHERE i.uid = -1 AND i.target = ? - AND (i.tick > tick() - 14 OR i.mission = 'Full Fleet') + AND (i.tick > tick() - 14 OR i.mission = 'Full fleet') GROUP BY i.id,x,y,z,i.mission,i.tick,i.name,i.amount,i.ingal,i.uid ORDER BY i.tick,x,y,z }); $query->execute($planet_id); my @incomings; - $i = 0; while (my $mission = $query->fetchrow_hashref){ - $mission->{ODD} = $i++ % 2; $mission->{CLASS} = $mission->{mission}; my @ships; $ships->execute($mission->{id}); - my $j = 0; while (my $ship = $ships->fetchrow_hashref){ - $ship->{ODD} = $j++ % 2; push @ships,$ship; } push @ships, {ship => 'No', amount => 'ships'} if @ships == 0; @@ -218,9 +209,7 @@ sub render_body { }); $query->execute($planet_id); my @scans; - $i = 0; while (my $scan = $query->fetchrow_hashref){ - $scan->{ODD} = $i++ % 2; push @scans,$scan; } $BODY->param(Scans => \@scans); @@ -238,6 +227,18 @@ sub render_body { } $BODY->param(OldCoords => \@coords); + $query = $DBH->prepare(q{SELECT DISTINCT ON(rid) tick,category,name,amount + FROM planet_data pd JOIN planet_data_types pdt ON pd.rid = pdt.id + WHERE pd.id = $1 ORDER BY rid,tick DESC + }); + $query->execute($planet_id); + my @pdata; + while (my $data = $query->fetchrow_hashref){ + $data->{amount} =~ s/(^[-+]?\d+?(?=(?>(?:\d{3})+)(?!\d))|\G\d{3}(?=\d))/$1,/g; #Add comma for ever 3 digits, i.e. 1000 => 1,000 + push @pdata,$data; + } + $BODY->param(PlanetData => \@pdata); + } $query = $DBH->prepare(q{SELECT x,y, size, size_gain, size_gain_day, @@ -256,7 +257,6 @@ sub render_body { $query->execute($x,$y) or $ND::ERROR .= p($DBH->errstr); my @galaxies; - $i = 0; while (my $galaxy = $query->fetchrow_hashref){ for my $type (qw/planets size score xp value/){ #$galaxy->{$type} = prettyValue($galaxy->{$type}); @@ -273,8 +273,6 @@ sub render_body { $galaxy->{$type} =~ s/(^[-+]?\d+?(?=(?>(?:\d{3})+)(?!\d))|\G\d{3}(?=\d))/$1,/g; #Add comma for ever 3 digits, i.e. 1000 => 1,000 } } - $i++; - $galaxy->{ODD} = $i % 2; push @galaxies,$galaxy; } $BODY->param(Galaxies => \@galaxies);