use strict;
use warnings FATAL => 'all';
-no warnings qw(uninitialized);
-use POSIX;
our $BODY;
our $DBH;
our $LOG;
die "You don't have access" unless isIntel() || isHC();
my $planet;
-if (param('coords') =~ /^(\d+)(?: |:)(\d+)(?: |:)(\d+)$/){
+if (defined param('coords') && param('coords') =~ /^(\d+)(?: |:)(\d+)(?: |:)(\d+)$/){
my $query = $DBH->prepare(q{SELECT x,y,z,coords(x,y,z),id, nick, alliance,alliance_id, planet_status,channel FROM current_planet_stats
WHERE x = ? AND y = ? AND z = ?});
$planet = $DBH->selectrow_hashref($query,undef,$1,$2,$3);
}
my $showticks = 'AND (i.tick - i.eta) > (tick() - 48)';
-if (param('show') eq 'all'){
- $showticks = '';
-}elsif (param('show') =~ /^(\d+)$/){
- $showticks = "AND (i.tick - i.eta) > (tick() - $1)";
+if (defined param('show')){
+ if (param('show') eq 'all'){
+ $showticks = '';
+ }elsif (param('show') =~ /^(\d+)$/){
+ $showticks = "AND (i.tick - i.eta) > (tick() - $1)";
+ }
}
-if (param('cmd') eq 'coords'){
+if (defined param('cmd') && param('cmd') eq 'coords'){
my $coords = param('coords');
$DBH->do(q{CREATE TEMPORARY TABLE coordlist (
x integer NOT NULL,
$BODY->param(CoordList => \@planets);
}
-if ($planet){
+if ($planet && defined param('cmd')){
if (param('cmd') eq 'change'){
$DBH->begin_work;
if (param('cnick')){
$BODY->param(Channel => $planet->{channel});
my @status;
for my $status (" ","Friendly", "NAP", "Hostile"){
- push @status,{Status => $status, Selected => $status eq $planet->{planet_status}}
+ push @status,{Status => $status, Selected => defined $planet->{planet_status} && $status eq $planet->{planet_status}}
}
$BODY->param(PlanetStatus => \@status);
my @alliances = alliances($planet->{alliance_id});