X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=index.pl;h=ad5ccfb52ce27851a4279f9688c891fc6776bafc;hb=c09ad789e3b01520e8eb41cc19631099879787d2;hp=bfb7a738813a39aec091cf9e114954606d86e70c;hpb=e8b88c192ac9a54ca2310d955677ad4b8be9c68e;p=ndwebbie.git diff --git a/index.pl b/index.pl index bfb7a73..ad5ccfb 100755 --- a/index.pl +++ b/index.pl @@ -51,6 +51,7 @@ for my $file ("db.pl","include.pl"){ ($TICK) = $DBH->selectrow_array('SELECT tick()',undef); + my $query = $DBH->prepare('SELECT groupname,attack,gid from groupmembers NATURAL JOIN groups WHERE uid = ?'); $query->execute($UID); @@ -61,20 +62,15 @@ while (my ($name,$attack,$gid) = $query->fetchrow()){ $ATTACKER = 1 if $attack; } -$TEMPLATE->param(Tick => $TICK); -$TEMPLATE->param(isMember => isMember()); -$TEMPLATE->param(isHC => isHC()); -$TEMPLATE->param(isDC => isDC()); -$TEMPLATE->param(isBC => isBC()); -$TEMPLATE->param(isAttacker => $ATTACKER); - +our $LOG = $DBH->prepare('INSERT INTO log (uid,text) VALUES(?,?)'); my $page = 'main'; -if (param('page') =~ /^(main)$/){ +if (param('page') =~ /^(main|check|motd|points|covop|top100|launchConfirmation|addintel)$/){ $page = $1; } +print header; $ND::BODY = HTML::Template->new(filename => "templates/${page}.tmpl"); unless (my $return = do "${page}.pl"){ @@ -83,7 +79,33 @@ unless (my $return = do "${page}.pl"){ print "

couldn't run $page

" unless $return; } -print header; +my $fleetupdate = $DBH->selectrow_array('SELECT landing_tick FROM fleets WHERE uid = ? AND fleet = 0',undef,$UID); + +$TEMPLATE->param(Tick => $TICK); +$TEMPLATE->param(isMember => (($TICK - $fleetupdate < 24) || isScanner()) && $PLANET && isMember()); +$TEMPLATE->param(isHC => isHC()); +$TEMPLATE->param(isDC => isDC()); +$TEMPLATE->param(isBC => isBC()); +$TEMPLATE->param(isAttacker => $ATTACKER && (!isMember() || ((($TICK - $fleetupdate < 24) || isScanner()) && $PLANET))); +if ($ATTACKER && (!isMember() || ((($TICK - $fleetupdate < 24) || isScanner()) && $PLANET))){ + my $query = $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 +FROM raid_claims c + JOIN raid_targets t ON c.target = t.id + JOIN raids r ON t.raid = r.id + JOIN current_planet_stats p ON t.planet = p.id +WHERE c.uid = ? AND r.tick+c.wave > ? AND r.open AND not r.removed +ORDER BY r.tick+c.wave,x,y,z}); + $query->execute($UID,$TICK); + my @targets; + while (my $target = $query->fetchrow_hashref){ + 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}}; + } + $ND::TEMPLATE->param(Targets => \@targets); +} + $ND::TEMPLATE->param(BODY => $ND::BODY->output); print $TEMPLATE->output;