]> ruin.nu Git - ndwebbie.git/commitdiff
scans
authorMichael Andreen <harv@ruin.nu>
Wed, 13 Dec 2006 21:05:27 +0000 (21:05 +0000)
committerMichael Andreen <harv@ruin.nu>
Wed, 13 Dec 2006 21:05:27 +0000 (21:05 +0000)
include.pl
raids.pl
templates/raids.tmpl
templates/targetlist.tmpl

index 408361a369ecab58a8fceeec08ff5f41613efde8..34a019a81593763c9b3cf7786d9ea500651bf2a5 100644 (file)
@@ -63,7 +63,7 @@ sub max {
 }
 
 sub listTargets {
-       my $query = $ND::DBH->prepare(qq{SELECT t.id, r.id AS raid, r.tick+c.wave-1 AS landingtick, released_coords, coords(x,y,z),c.launched
+       my $query = $ND::DBH->prepare(qq{SELECT t.id, r.id AS raid, r.tick+c.wave-1 AS landingtick, released_coords, coords(x,y,z),c.launched,c.wave
 FROM raid_claims c
        JOIN raid_targets t ON c.target = t.id
        JOIN raids r ON t.raid = r.id
@@ -76,7 +76,7 @@ ORDER BY r.tick+c.wave,x,y,z});
                my $coords = "Target $target->{id}";
                $coords = $target->{coords} if $target->{released_coords};
                push @targets,{Coords => $coords, Launched => $target->{launched}, Raid => $target->{raid}
-                       , Target => $target->{id}, Tick => $target->{landingtick}};
+                       , Target => $target->{id}, Tick => $target->{landingtick}, Wave => $target->{wave}};
        }
        my $template = HTML::Template->new(filename => "templates/targetlist.tmpl");
        $template->param(Targets => \@targets);
index ee38de30b18e25d216a7cab9420f3f2e16394345..3d474b59bacc19dafe8b93db3e89ead25738ea2a 100644 (file)
--- a/raids.pl
+++ b/raids.pl
@@ -191,6 +191,7 @@ ORDER BY size});
                while (my $target = $targetquery->fetchrow_hashref){
                        my %target;
                        $target{Id} = $target->{id};
+                       $target{Ajax} = $ajax;
                        my $num = pow(10,length($target->{score})-2);
                        $target{Score} = ceil($target->{score}/$num)*$num;
                        $num = pow(10,length($target->{value})-2);
@@ -202,6 +203,31 @@ ORDER BY size});
                        $num = pow(10,length($target->{resvalue})-2);
                        $target{ResValue} = floor($target->{resvalue}/$num)*$num;
                        $target{comment} = parseMarkup($target->{comment}) if ($target->{comment});
+
+                       my $scans = $DBH->prepare(q{SELECT DISTINCT ON (type) type, tick, scan FROM scans 
+                               WHERE planet = ? AND type ~ 'Unit|Planet|Military|.* Analysis' AND tick + 24 > tick()
+                               GROUP BY type, tick, scan ORDER BY type ,tick DESC});
+                       $scans->execute($target->{planet});
+                       my %scans;
+                       while (my $scan = $scans->fetchrow_hashref){
+                               $scans{$scan->{type}} = $scan;
+                       }
+
+                       my @scans;
+                       for my $type ('Planet','Unit','Military','Surface Analysis','Technology Analysis'){
+                               next unless exists $scans{$type};
+                               my $scan = $scans{$type};
+                               if ($ND::TICK - $scan->{tick} > 5){
+                                       $scan->{scan} =~ s{<table( cellpadding="\d+")?>}{<table$1 class="old">};
+                               }
+                               if ($type eq 'Planet'){
+                                       $target{PlanetScan} = $scan->{scan};
+                                       next;
+                               }
+                               push @scans,{Scan => $scan->{scan}};
+                       }
+                       $target{Scans} = \@scans;
+
                        my @roids;
                        my @claims;
                        my $size = $target{Size};
@@ -213,8 +239,12 @@ ORDER BY size});
                                        $xp = max(0,floor($roids * 10 * (min(2,$target{Score}/$planet->{score}) + min(2,$target{Value}/$planet->{value})-1)));
                                }
                                push @roids,{Wave => $i, Roids => $roids, XP => $xp};
-                               push @claims,{Wave => $i, Target => $target{Id}, Command => 'Claim'
-                                       , Owner => 1, Raid => $raid->{id}, Joinable => 1};
+                               if ($ajax){
+                                       push @claims,{Wave => $i, Target => $target{Id}}
+                               }else{
+                                       push @claims,{Wave => $i, Target => $target{Id}, Command => 'Claim'
+                                               , Owner => 1, Raid => $raid->{id}, Joinable => 0};
+                               }
                        }
                        $target{Roids} = \@roids;
                        $target{Claims} = \@claims;
index cf6d1482469235c751b29e067b6c4980fd0ad143..5877d2b3faf9ee5376761167f69d4578e05e6218 100644 (file)
@@ -30,6 +30,7 @@
        <p><TMPL_VAR NAME=Message></p>
 </fieldset>
 
+<TMPL_IF Ajax>
 <form action="index.pl" method="post">
        <p>
                <input type="button" value="Update claims"
@@ -38,6 +39,7 @@
                        onclick = "listTargets('index.pl?page=raids&amp;xml=1&amp;raid=<TMPL_VAR NAME=Raid>')"/>
        </p>
 </form>
+</TMPL_IF>
 <TMPL_LOOP Targets>
 <fieldset> <legend>Target: #<TMPL_VAR NAME=Id></legend>
 <a name="target<TMPL_VAR NAME=Id>"/>
        <form action="index.pl" method="post">
        <p class="claimlinks">
        <span id="claim<TMPL_VAR NAME=Id>">
+       <TMPL_IF Ajax>
+       <TMPL_LOOP Claims>
+     <input type="button" value="Claim wave <TMPL_VAR NAME=Wave>"
+        onclick = "claim('index.pl?page=raids&amp;xml=1&amp;raid=<TMPL_VAR NAME=Raid>',<TMPL_VAR NAME=Target>,<TMPL_VAR NAME=Wave>,'Claim')"/>
+       </TMPL_LOOP>
+       <TMPL_ELSE>
        <TMPL_LOOP Claims>
        <a class="<TMPL_VAR NAME=Command>" href="/index.pl?page=raids&amp;raid=<TMPL_VAR NAME=Raid>&amp;cmd=<TMPL_VAR NAME=Command>&amp;target=<TMPL_VAR NAME=Target>&amp;wave=<TMPL_VAR NAME=Wave>#<TMPL_VAR NAME=Target>"><TMPL_VAR NAME=Command> wave <TMPL_VAR NAME=Wave><TMPL_IF Claimers> (<TMPL_VAR NAME=Claimers>)</TMPL_IF></a>
        <TMPL_IF Owner><a href="/index.pl?page=raids&amp;raid=<TMPL_VAR NAME=Raid>&amp;target=<TMPL_VAR NAME=Target>&amp;cmd=set&amp;joinable=<TMPL_IF Joinable>FALSE<TMPL_ELSE>TRUE</TMPL_IF>&amp;wave=<TMPL_VAR NAME=Wave>#<TMPL_VAR NAME=Target>"><TMPL_IF Joinable>N<TMPL_ELSE>J</TMPL_IF></a></TMPL_IF>
        </TMPL_LOOP>
+       </TMPL_IF>
        </span>
        </p>
        </form>
index 0fc20ec17cc5232f4afdbcb5687fd916fa20e6d4..2fff2f1f035fca1299003195430d3246c394f4fb 100644 (file)
@@ -1 +1 @@
-<TMPL_IF Targets><table><tr><th>Target</th><th>Landing tick</th></tr><TMPL_LOOP Targets><tr><td><a href="index.pl?page=check&amp;coords=<TMPL_VAR NAME=Coords>"><TMPL_VAR NAME=Coords></a><TMPL_IF Launched>*</TMPL_IF></td><td><a href="raids.php?raid=<TMPL_VAR NAME=Raid>#target<TMPL_VAR NAME=Target>"><TMPL_VAR NAME=Tick></a></td></tr></TMPL_LOOP></table></TMPL_IF>
+<TMPL_IF Targets><table><tr><th>Target</th><th>Landing tick</th></tr><TMPL_LOOP Targets><tr><td><a href="index.pl?page=check&amp;coords=<TMPL_VAR NAME=Coords>"><TMPL_VAR NAME=Coords></a><TMPL_IF Launched>*</TMPL_IF></td><td><a href="raids.php?raid=<TMPL_VAR NAME=Raid>#target<TMPL_VAR NAME=Target>"><TMPL_VAR NAME=Tick></a></td><td><a href="https://stream/index.pl?page=raids&amp;raid=<TMPL_VAR NAME=Raid>&amp;cmd=Unclaim&amp;target=<TMPL_VAR NAME=Target>&amp;wave=<TMPL_VAR NAME=Wave>">U</a></td></tr></TMPL_LOOP></table></TMPL_IF>