#**************************************************************************/
use strict;
+use warnings FATAL => 'all';
+no warnings qw(uninitialized);
use POSIX;
our $BODY;
our $DBH;
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 .= "<p> Something went wrong: ".$DBH->errstr."</p>";
+}) or $error .= "<p> Something went wrong: </p>";
$user = $DBH->selectrow_hashref($query,undef,$1) or $error.= "<p> Something went wrong: ".$DBH->errstr."</p>";
}
+
if ($user && param('cmd') eq 'change'){
$DBH->begin_work;
for my $param (param()){
$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'){
$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);
}