]> ruin.nu Git - ndwebbie.git/blobdiff - ND/Web/Pages/Alliances.pm
don't accept padding of whitespaces, and properly add the nick
[ndwebbie.git] / ND / Web / Pages / Alliances.pm
index 1500ca0bdcea57450fd31aeb1b7710ef0771781c..311adb3c7b726d41d452a7fdfd67dc4d21ce9154 100644 (file)
@@ -46,7 +46,7 @@ sub render_body {
                $DBH->begin_work;
                if (param('crelationship')){
                        my $value = escapeHTML(param('relationship'));
-                       if ($DBH->do(q{UPDATE alliances SET relationship = ? WHERE id =?}
+                       if ($DBH->do(q{UPDATE alliances SET relationship = NULLIF(?,'') WHERE id =?}
                                        ,undef,$value,$alliance->{id})){
                                $alliance->{relationship} = $value;
                                log_message $ND::UID,"HC set alliance: $alliance->{id} relationship: $value";
@@ -60,11 +60,11 @@ sub render_body {
                        UPDATE planets SET alliance_id = $2, nick = coalesce($3,nick)
                        WHERE id = $1;
                        });
-               while ($coords =~ m/(\d+):(\d+):(\d+)(?:\s+nick=\s*(\S+))?/g){
+               while ($coords =~ m/(\d+):(\d+):(\d+)(?:\s+nick=(\S+))?/g){
                        my ($id) = $DBH->selectrow_array($findplanet,undef,$1,$2,$3) or $ND::ERROR .= p $DBH->errstr;
                        if ($addplanet->execute($id,$alliance->{id},$4)){
                                my $nick = '';
-                               $nick = '(nick $4)' if defined $4;
+                               $nick = "(nick $4)" if defined $4;
                                $error .= "<p> Added planet $1:$2:$3 $nick to this alliance</p>";
                                intel_log $ND::UID,$id,"HC Added planet $1:$2:$3 $nick to alliance: $alliance->{id} ($alliance->{name})";
                        }else{
@@ -78,7 +78,7 @@ sub render_body {
                $BODY->param(Alliance => $alliance->{name});
                $BODY->param(Id => $alliance->{id});
                my @relationships;
-               for my $relationship ("&nbsp;","Friendly", "NAP", "Hostile"){
+               for my $relationship ("","Friendly", "NAP", "Hostile"){
                        push @relationships,{Rel => $relationship, Selected => defined $alliance->{relationship} && $relationship eq $alliance->{relationship}}
                }
                $BODY->param(Relationships => \@relationships);
@@ -103,12 +103,12 @@ sub render_body {
                }
                $BODY->param(Members => \@members);
 
-               my $query = $DBH->prepare(intelquery('o.alliance AS oalliance,coords(o.x,o.y,o.z) AS origin, t.alliance AS talliance,coords(t.x,t.y,t.z) AS target',qq{not ingal AND (t.alliance_id = ? OR t.alliance_id = ?)
+               my $query = $DBH->prepare(intelquery('o.alliance AS oalliance,coords(o.x,o.y,o.z) AS origin, t.alliance AS talliance,coords(t.x,t.y,t.z) AS target',q{not ingal AND (o.alliance_id = $1 OR t.alliance_id = $1)
                                AND (i.mission = 'Defend' OR i.mission = 'AllyDef')
-                               AND (t.alliance_id != ? OR t.alliance_id IS NULL OR o.alliance_id != ? OR o.alliance_id IS NULL)
+                               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},$alliance->{id},$alliance->{id},$alliance->{id}) or $error .= $DBH->errstr;
+               $query->execute($alliance->{id}) or $error .= $DBH->errstr;
 
                my @intel;
                $i = 0;
@@ -130,9 +130,9 @@ sub render_body {
                        $order = "$1 DESC";
                }
                my $query = $DBH->prepare(qq{
-                       SELECT DISTINCT a.id,name,COALESCE(s.score,SUM(p.score)) AS score,COALESCE(s.size,SUM(p.size)) AS size,s.members,count(*) AS kmem,
+                       SELECT DISTINCT a.id,name,COALESCE(s.score,SUM(p.score)) AS score,COALESCE(s.size,SUM(p.size)) AS size,s.members,count(p.score) AS kmem,
                        COALESCE(SUM(p.score),-1) AS kscore, COALESCE(SUM(p.size),-1) AS ksize, COALESCE(SUM(p.xp),-1) AS kxp,COALESCE(SUM(p.value),-1) AS kvalue,
-                       COALESCE(s.score/LEAST(s.members,60),-1) AS scavg, COALESCE(AVG(p.score)::int,-1) AS kscavg, COALESCE(s.size/s.members,-1) AS siavg,
+                       COALESCE(s.score/s.members,-1) AS scavg, COALESCE(AVG(p.score)::int,-1) AS kscavg, COALESCE(s.size/s.members,-1) AS siavg,
                        COALESCE(AVG(p.size)::int,-1) AS ksiavg, COALESCE(AVG(p.xp)::int,-1) AS kxpavg, COALESCE(AVG(p.value)::int,-1) AS kvalavg
                        FROM alliances a 
                        LEFT OUTER JOIN (SELECT * FROM alliance_stats WHERE tick = (SELECT max(tick) FROM alliance_stats)) s ON s.id = a.id