#**************************************************************************/
use strict;
-use POSIX;
+use warnings FATAL => 'all';
our $BODY;
our $DBH;
our $LOG;
die "You don't have access" unless isHC();
my $alliance;
-if (param('alliance') =~ /^(\d+)$/){
+if (defined param('alliance') && param('alliance') =~ /^(\d+)$/){
my $query = $DBH->prepare(q{SELECT id,name, relationship FROM alliances WHERE id = ?});
$alliance = $DBH->selectrow_hashref($query,undef,$1);
}
-if ($alliance && param ('cmd') eq 'coords'){
- $DBH->begin_work;
- $DBH->commit or $error .= "<p> Something went wrong: ".$DBH->errstr."</p>";
-}
-if ($alliance && param ('cmd') eq 'change'){
+if ($alliance && defined param('cmd') && param ('cmd') eq 'change'){
$DBH->begin_work;
+ if (param('crelationship')){
+ my $value = escapeHTML(param('relationship'));
+ if ($DBH->do(q{UPDATE alliances SET relationship = ? WHERE id =?}
+ ,undef,$value,$alliance->{id})){
+ $alliance->{relationship} = $value;
+ $LOG->execute($ND::UID,"HC set alliance: $alliance->{id} relationship: $value");
+ }else{
+ $error .= "<p> Something went wrong: ".$DBH->errstr."</p>";
+ }
+ }
+ my $coords = param('coords');
+ my $addplanet = $DBH->prepare(q{
+UPDATE planets SET alliance_id = ?, nick = coalesce(?,nick)
+WHERE id = (SELECT id FROM current_planet_stats WHERE x = ? AND y = ? AND z = ?);
+ });
+ while ($coords =~ m/(\d+):(\d+):(\d+)(?:\s+nick=\s*(\S+))?/g){
+ if ($addplanet->execute($alliance->{id},$4,$1,$2,$3)){
+ my $nick = '';
+ $nick = '(nick $4)' if defined $4;
+ $error .= "<p> Added planet $1:$2:$3 $nick to this alliance</p>";
+ $LOG->execute($ND::UID,"HC Added planet $1:$2:$3 $nick to alliance: $alliance->{id}");
+ }else{
+ $error .= "<p> Something went wrong: ".$DBH->errstr."</p>";
+ }
+ }
$DBH->commit or $error .= "<p> Something went wrong: ".$DBH->errstr."</p>";
}
$BODY->param(Id => $alliance->{id});
my @relationships;
for my $relationship (" ","Friendly", "NAP", "Hostile"){
- push @relationships,{Rel => $relationship, Selected => $relationship eq $alliance->{relationship}}
+ push @relationships,{Rel => $relationship, Selected => defined $alliance->{relationship} && $relationship eq $alliance->{relationship}}
}
$BODY->param(Relationships => \@relationships);
my $order = "p.x,p.y,p.z";
- if (param('order') =~ /^(score|size|value|xp|hit_us|race)$/){
+ if (defined param('order') && param('order') =~ /^(score|size|value|xp|hit_us|race)$/){
$order = "$1 DESC";
}
my $members = $DBH->prepare(qq{
$members->execute($alliance->{id});
my $i = 0;
while (my $member = $members->fetchrow_hashref){
+ $i++;
$member->{ODD} = $i % 2;
push @members,$member;
- $i++;
}
$BODY->param(Members => \@members);
$query->execute($alliance->{id},$alliance->{id},$alliance->{id},$alliance->{id}) or $error .= $DBH->errstr;
my @intel;
- my $i = 0;
+ $i = 0;
while (my $intel = $query->fetchrow_hashref){
if ($intel->{ingal}){
$intel->{missionclass} = 'ingal';
}else{
$intel->{missionclass} = $intel->{mission};
}
+ $i++;
$intel->{ODD} = $i % 2;
push @intel,$intel;
- $i++;
}
$BODY->param(Intel => \@intel);
}else{
my $order = "score DESC";
- if (param('order') =~ /^(score|kscore|size|ksize|members|kmem|kxp|kxp|scavg|kscavg|siavg|ksiavg|kxpavg|kvalue|kvalavg)$/){
+ if (defined param('order') && param('order') =~ /^(score|kscore|size|ksize|members|kmem|kxp|kxp|scavg|kscavg|siavg|ksiavg|kxpavg|kvalue|kvalavg)$/){
$order = "$1 DESC";
}
my $query = $DBH->prepare(qq{
my @alliances;
my $i = 0;
while (my $alliance = $query->fetchrow_hashref){
- next if ($alliance->{score} < 1 && $alliance->{kscore} < 1);
+ next unless (defined $alliance->{score} || $alliance->{kscore} > 0);
+ $i++;
$alliance->{ODD} = $i % 2;
push @alliances, $alliance;
- $i++;
}
$BODY->param(Alliances => \@alliances);
}