]> ruin.nu Git - ndwebbie.git/commitdiff
Fixed minor bugs so own calls are listed on Main again
authorMichael Andreen <harv@ruin.nu>
Wed, 2 Jan 2008 00:58:38 +0000 (01:58 +0100)
committerMichael Andreen <harv@ruin.nu>
Wed, 2 Jan 2008 00:58:38 +0000 (01:58 +0100)
NDWeb/Pages/Main.pm
templates/main.tmpl

index 45fdd35c663a9a08b2e877f6b38d4fe66bfcfea9..8bcbdc4b6cc8f7df549dc452bfe4e51673280752 100644 (file)
@@ -119,7 +119,6 @@ sub render_body {
        my ($motd) = $DBH->selectrow_array("SELECT value FROM misc WHERE id='MOTD'");
 
        $BODY->param(MOTD => parseMarkup($motd));
-       $BODY->param(Username => $self->{USER});
        $BODY->param(isMember => $self->isMember());
        $BODY->param(isHC => $self->isHC());
        my @groups = map {name => $_}, sort keys %{$self->{GROUPS}};
@@ -141,29 +140,35 @@ sub render_body {
 
        $BODY->param(Planet => $planet);
 
-       $query = $DBH->prepare(qq{
-               SELECT c.id, c.landing_tick, dc.username,c.covered,
-               TRIM('/' FROM concat(p2.race||' /')) AS race, TRIM('/' FROM concat(i.amount||' /')) AS amount,
-               TRIM('/' FROM concat(i.eta||' /')) AS eta, TRIM('/' FROM concat(i.shiptype||' /')) AS shiptype,
-               (c.landing_tick - tick()) AS curreta,
-               TRIM('/' FROM concat(coords(p2.x,p2.y,p2.z) ||' /')) AS attackers
-               FROM calls c 
-               JOIN incomings i ON i.call = c.id
-               JOIN current_planet_stats p2 ON i.sender = p2.id
-               LEFT OUTER JOIN users dc ON c.dc = dc.uid
-               WHERE c.member = ? AND (c.landing_tick - tick())  > 0
-               GROUP BY c.id, c.landing_tick,dc.username,c.covered
-               ORDER BY c.landing_tick DESC
+       my $calls = $DBH->prepare(qq{
+               SELECT id,landing_tick,dc,curreta,
+                               TRIM('/' FROM concat(DISTINCT race||' /')) AS race, TRIM('/' FROM concat(amount||' /')) AS amount,
+                               TRIM('/' FROM concat(DISTINCT eta||' /')) AS eta, TRIM('/' FROM concat(DISTINCT shiptype||' /')) AS shiptype,
+                               TRIM('/' FROM concat(coords||' /')) AS attackers 
+                       FROM (SELECT c.id,p.x,p.y,p.z, u.defense_points, c.landing_tick, dc.username AS dc,
+                               (c.landing_tick - tick()) AS curreta,p2.race, i.amount, i.eta, i.shiptype, p2.alliance,
+                               coords(p2.x,p2.y,p2.z), COUNT(DISTINCT f.id) AS fleets
+                       FROM calls c 
+                       JOIN incomings i ON i.call = c.id
+                       JOIN users u ON c.member = u.uid
+                       JOIN current_planet_stats p ON u.planet = p.id
+                       JOIN current_planet_stats p2 ON i.sender = p2.id
+                       LEFT OUTER JOIN users dc ON c.dc = dc.uid
+                       LEFT OUTER JOIN fleets f ON f.target = u.planet AND f.tick = c.landing_tick AND f.back = f.tick + f.eta - 1
+                       WHERE u.uid = ? AND c.landing_tick >= tick()
+                       GROUP BY c.id, p.x,p.y,p.z, c.landing_tick, u.defense_points,dc.username,p2.race,i.amount,i.eta,i.shiptype,p2.alliance,p2.x,p2.y,p2.z) a
+                       GROUP BY id, x,y,z,landing_tick, defense_points,dc,curreta,fleets
+                       ORDER BY landing_tick DESC
                })or warn  $DBH->errstr;
-       $query->execute($ND::UIN) or warn $DBH->errstr;
+       $calls->execute($ND::UID) or warn $DBH->errstr;
 
        my $i = 0;
        my @calls;
-       while (my $call = $query->fetchrow_hashref){
+       while (my $call = $calls->fetchrow_hashref){
                $call->{attackers} =~ s{(\d+:\d+:\d+)}{<a href="/check?coords=$1">$1</a>}g;
-               unless(defined $call->{username}){
-                       $call->{dc} = 'Hostile';
-                       $call->{username} = 'none';
+               unless(defined $call->{dc}){
+                       $call->{activedc} = 'Hostile';
+                       $call->{dc} = 'none';
                }
                if($call->{covered}){
                        $call->{covered} = 'Friendly';
index 4f8a95cc88399886b070b8a16c9b6390c716a429..5356cdd57305b158a4e62c9c492da4c1c2124051 100644 (file)
        </TMPL_LOOP>
        </table>
 </TMPL_IF>
+<TMPL_IF Calls>
 <table>
        <tr><th>Call</th><th>DC</th><th>Landing tick</th><th>Races</th><th>Amount</th><th>Shiptypes</th><th>Current eta</th><th>Inital eta</th><th>Attackers</th></tr>
 <TMPL_LOOP Calls>
        <tr align="center" class="<TMPL_IF ODD>odd<TMPL_ELSE>even</TMPL_IF>">
                <td class="<TMPL_VAR NAME=Covered>"><a href="/calls?call=<TMPL_VAR NAME=Id>"><TMPL_VAR NAME=Id></a></td>
-               <td class="<TMPL_VAR NAME=DC>"><TMPL_VAR NAME=Username></td>
-               <td><TMPL_VAR NAME=Tick></td>
+               <td class="<TMPL_VAR NAME=ActiveDC>"><TMPL_VAR NAME=DC></td>
+               <td><TMPL_VAR NAME=Landing_Tick></td>
                <td><TMPL_VAR NAME=Race></td>
                <td><TMPL_VAR NAME=Amount></td>
                <td><TMPL_VAR NAME=Shiptype></td>
@@ -53,6 +54,7 @@
        </tr>
 </TMPL_LOOP>
 </table>
+</TMPL_IF>
 <div class="leftinfo">
 <fieldset class="forum-post"> <legend>Account details</legend>
        <ul>
        <table>
        <tr><th>Target</th><th>Mission</th><th>Amount</th><th>Landing Tick</th><th>Back home</th><th>change?</th></tr>
        <TMPL_LOOP Fleets>
-       <tr class="<TMPL_IF ODD>odd<TMPL_ELSE>even</TMPL_IF>">
+       <tr class="<TMPL_IF ODD>odd<TMPL_ELSE>even</TMPL_IF>" onclick="toggleVisibility('fleet<TMPL_VAR NAME=Id>')">
                <td><TMPL_VAR NAME=Target></td>
                <td><a href="javascript://"  onclick="toggleVisibility('fleet<TMPL_VAR NAME=Id>')"><TMPL_VAR NAME=Mission></a></td>
                <td><TMPL_VAR NAME=Amount></td><td><TMPL_VAR NAME=Tick></td>
-               <td><TMPL_IF Fleet><input class="coordsinput" type="text" name="back:<TMPL_VAR NAME=Id>" value="<TMPL_VAR NAME=Back>"/></TMPL_IF></td>
-               <td><TMPL_IF Fleet><input type="checkbox" name="change:<TMPL_VAR NAME=Id>"/></TMPL_IF></td>
+               <td><TMPL_IF Back><input class="coordsinput" type="text" name="back:<TMPL_VAR NAME=Id>" value="<TMPL_VAR NAME=Back>"/></TMPL_IF></td>
+               <td><TMPL_IF Back><input type="checkbox" name="change:<TMPL_VAR NAME=Id>"/></TMPL_IF></td>
        </tr>
        <tr id="fleet<TMPL_VAR NAME=Id>" style="z-index:1; display:none;">
                <td/>