From d1786652fc5d1b68377974689df2784d68afa48f Mon Sep 17 00:00:00 2001 From: Michael Andreen Date: Sat, 12 Apr 2008 14:48:13 +0200 Subject: [PATCH] Possible to remove all planets from an alliance, plus some cleanup --- NDWeb/Pages/Alliances.pm | 34 ++++++++++++++++++++++++---------- templates/alliances.tmpl | 20 +++++++++++++------- 2 files changed, 37 insertions(+), 17 deletions(-) diff --git a/NDWeb/Pages/Alliances.pm b/NDWeb/Pages/Alliances.pm index 9a4ec61..7fc0224 100644 --- a/NDWeb/Pages/Alliances.pm +++ b/NDWeb/Pages/Alliances.pm @@ -33,7 +33,6 @@ sub render_body { my ($BODY) = @_; $self->{TITLE} = 'Alliances'; my $DBH = $self->{DBH}; - my $error; return $self->noAccess unless $self->isHC; @@ -49,9 +48,9 @@ sub render_body { if ($DBH->do(q{UPDATE alliances SET relationship = ? WHERE id =?} ,undef,$value,$alliance->{id})){ $alliance->{relationship} = $value; - log_message $ND::UID,"HC set alliance: $alliance->{id} relationship: $value"; + log_message $ND::UID,"HC set alliance: $alliance->{id} ($alliance->{name}) relationship: $value"; }else{ - $error .= "

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

"; + warn $DBH->errstr; } } my $coords = param('coords'); @@ -65,13 +64,29 @@ sub render_body { 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

"; + warn "Added planet $1:$2:$3 $nick to this alliance\n"; 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."

"; + warn $DBH->errstr; } } - $DBH->commit or $error .= "

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

"; + $DBH->commit or warn $DBH->errstr; + }elsif ($alliance && defined param('cmd') && param ('cmd') eq 'remove_all'){ + $DBH->begin_work; + my ($coords) = $DBH->selectrow_array(q{SELECT CONCAT(coords(x,y,z) || ' ') + FROM current_planet_stats where alliance_id = $1 + },undef,$alliance->{id}); + my $removeplanets = $DBH->prepare(q{ + UPDATE planets SET alliance_id = NULL + WHERE alliance_id = $1; + }) or warn $DBH->errstr; + if ($removeplanets->execute($alliance->{id})){ + log_message $ND::UID, "HC cleaned alliance: $alliance->{id} ($alliance->{name})\n\n$coords"; + $DBH->commit or warn $DBH->errstr; + }else{ + warn $DBH->errstr; + $DBH->rollback; + } } if ($alliance){ @@ -105,7 +120,7 @@ sub render_body { AND ((( t.alliance_id != o.alliance_id OR t.alliance_id IS NULL OR o.alliance_id IS NULL))) AND i.sender NOT IN (SELECT planet FROM users u NATURAL JOIN groupmembers gm WHERE gid = 8 AND planet IS NOT NULL) })); - $query->execute($alliance->{id}) or $error .= $DBH->errstr; + $query->execute($alliance->{id}) or warn $DBH->errstr; my @intel; while (my $intel = $query->fetchrow_hashref){ @@ -133,8 +148,8 @@ sub render_body { LEFT OUTER JOIN current_planet_stats p ON p.alliance_id = a.id GROUP BY a.id,a.name,s.score,s.size,s.members ORDER BY $order - })or $error .= $DBH->errstr; - $query->execute or $error .= $DBH->errstr; + })or warn $DBH->errstr; + $query->execute or warn $DBH->errstr; my @alliances; while (my $alliance = $query->fetchrow_hashref){ next unless (defined $alliance->{score} || $alliance->{kscore} > 0); @@ -142,7 +157,6 @@ sub render_body { } $BODY->param(Alliances => \@alliances); } - $BODY->param(Error => $error); return $BODY; } 1; diff --git a/templates/alliances.tmpl b/templates/alliances.tmpl index e10127a..e009fcf 100644 --- a/templates/alliances.tmpl +++ b/templates/alliances.tmpl @@ -1,10 +1,9 @@ - -
Alliances: +
Alliances: +
-

Alliance:

Relationship:

-
-

Paste a list of coords that you want to add to this alliance

-
-
 
+
+ +
+
+ + + +

Yes, remove all planets

+
+
+
Alliance size and score vs members Avg alliance size and score vs members -- 2.39.2