X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=users.pl;h=20687a5ca4efad6f794b01de4a25c5ea2e42deb8;hb=e9725f0f2d11e349e3f3db752b46929a80a03c1d;hp=3425c247dcdb1d713160c2ba585b8e0de363e6bc;hpb=5e38dff0cf8667720f7ae7f89302e0246ecf5624;p=ndwebbie.git diff --git a/users.pl b/users.pl index 3425c24..20687a5 100644 --- a/users.pl +++ b/users.pl @@ -18,6 +18,8 @@ #**************************************************************************/ use strict; +use warnings FATAL => 'all'; +no warnings qw(uninitialized); use POSIX; our $BODY; our $DBH; @@ -34,10 +36,11 @@ if (param('user') =~ /^(\d+)$/){ SELECT uid,username,hostmask,coords(x,y,z) AS planet,attack_points,defense_points,scan_points,humor_points FROM users u LEFT OUTER JOIN current_planet_stats p ON u.planet = p.id WHERE uid = ?; -}) or $error .= "

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

"; +}) or $error .= "

Something went wrong:

"; $user = $DBH->selectrow_hashref($query,undef,$1) or $error.= "

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

"; } + if ($user && param('cmd') eq 'change'){ $DBH->begin_work; for my $param (param()){ @@ -68,6 +71,7 @@ if ($user && param('cmd') eq 'change'){ $groups->execute(); while (my $group = $groups->fetchrow_hashref){ my $query; + next unless defined param($group->{gid}); if (param($group->{gid}) eq 'remove'){ $query = $delgroup; }elsif(param($group->{gid}) eq 'add'){ @@ -110,14 +114,18 @@ $BODY->param(RemoveGroups => \@remgroups); $BODY->param(AddGroups => \@addgroups); }else{ - my $query = $DBH->prepare(qq{SELECT uid,username FROM users ORDER BY username})or $error .= $DBH->errstr; + my $query = $DBH->prepare(qq{SELECT u.uid,username,TRIM(',' FROM concat(g.groupname||',')) AS groups + FROM users u LEFT OUTER JOIN (groupmembers gm NATURAL JOIN groups g) ON gm.uid = u.uid + WHERE u.uid > 0 + GROUP BY u.uid,username + ORDER BY username})or $error .= $DBH->errstr; $query->execute or $error .= $DBH->errstr; my @users; my $i = 0; while (my $user = $query->fetchrow_hashref){ + $i++; $user->{ODD} = $i % 2; push @users, $user; - $i++; } $BODY->param(Users => \@users); }