X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=alliances.pl;fp=alliances.pl;h=4f89a48f264131c3e28794f7f11d0d67a400cb27;hb=610aa63899777247036fa48916e1d0ef8fefaf8c;hp=b78d5ffb6f91b6e6732bfcf152557e138b7e384a;hpb=bbe1fae6b0307a9f77b2b5e7b8a71ebaa137f846;p=ndwebbie.git diff --git a/alliances.pl b/alliances.pl index b78d5ff..4f89a48 100644 --- a/alliances.pl +++ b/alliances.pl @@ -22,6 +22,7 @@ use warnings FATAL => 'all'; use ND::Include; our $BODY; our $DBH; +our $ERROR; my $error; $ND::TEMPLATE->param(TITLE => 'Alliances'); @@ -46,16 +47,18 @@ if ($alliance && defined param('cmd') && param ('cmd') eq 'change'){ } } my $coords = param('coords'); + my $findplanet = $DBH->prepare(q{SELECT id FROM current_planet_stats WHERE x = ? AND y = ? AND z = ?}); 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 = ?); +UPDATE planets SET alliance_id = $2, nick = coalesce($3,nick) +WHERE id = $1; }); while ($coords =~ m/(\d+):(\d+):(\d+)(?:\s+nick=\s*(\S+))?/g){ - if ($addplanet->execute($alliance->{id},$4,$1,$2,$3)){ + my ($id) = $DBH->selectrow_array($findplanet,undef,$1,$2,$3) or $ERROR .= p $DBH->errstr; + if ($addplanet->execute($id,$alliance->{id},$4)){ my $nick = ''; $nick = '(nick $4)' if defined $4; $error .= "

Added planet $1:$2:$3 $nick to this alliance

"; - log_message $ND::UID,"HC Added planet $1:$2:$3 $nick to alliance: $alliance->{id}"; + intel_log $ND::UID,$id,"HC Added planet $1:$2:$3 $nick to alliance: $alliance->{id} ($alliance->{name})"; }else{ $error .= "

Something went wrong: ".$DBH->errstr."

"; }