]> ruin.nu Git - ndwebbie.git/blobdiff - ND/Web/Pages/Users.pm
no need to use nbsp, and better to just sit it to null
[ndwebbie.git] / ND / Web / Pages / Users.pm
index a53f9a56d0c74ebf3649afbef68098189306d82f..42e09a709f91308c2e2d0c14316ac900771aacd4 100644 (file)
@@ -24,31 +24,23 @@ use ND::Include;
 use CGI qw/:standard/;
 use ND::Web::Include;
 
-$ND::PAGES{users} = {parse => \&parse, process => \&process, render=> \&render};
+use base qw/ND::Web::XMLPage/;
 
-sub parse {
-       my ($uri) = @_;
-       #if ($uri =~ m{^/.*/(\w+)$}){
-       #       param('list',$1);
-       #}
-}
-
-sub process {
-
-}
-
-sub render {
-       my ($DBH,$BODY) = @_;
+$ND::Web::Page::PAGES{users} = __PACKAGE__;
 
-       $ND::TEMPLATE->param(TITLE => 'Users');
+sub render_body {
+       my $self = shift;
+       my ($BODY) = @_;
+       $self->{TITLE} = 'Users';
+       my $DBH = $self->{DBH};
 
-       return $ND::NOACCESS  unless isHC();
+       return $self->noAccess unless $self->isHC;
 
        my $error = '';
        my $user;
        if (defined param('user') && param('user') =~ /^(\d+)$/){
                my $query = $DBH->prepare(q{
-                       SELECT uid,username,hostmask,coords(x,y,z) AS planet,attack_points,defense_points,scan_points,humor_points  
+                       SELECT uid,username,hostmask,coords(x,y,z) AS planet,attack_points,defense_points,scan_points,humor_points,info 
                        FROM users u LEFT OUTER JOIN current_planet_stats p ON u.planet = p.id
                        WHERE uid = ?;
                        }) or $error .= "<p> Something went wrong: </p>";
@@ -59,7 +51,7 @@ sub render {
        if ($user && defined param('cmd') && param('cmd') eq 'change'){
                $DBH->begin_work;
                for my $param (param()){
-                       if ($param =~ /^c:(\w+)$/){
+                       if ($param =~ /^c:(planet|\w+_points|hostmask|info|username)$/){
                                my $column = $1;
                                my $value = param($column);
                                if ($column eq 'planet'){
@@ -114,6 +106,7 @@ sub render {
                $BODY->param(Defense_points => $user->{defense_points});
                $BODY->param(Scan_points => $user->{scan_points});
                $BODY->param(humor_points => $user->{humor_points});
+               $BODY->param(info => escapeHTML $user->{info});
 
                my $groups = $DBH->prepare(q{SELECT g.gid,g.groupname,uid FROM groups g LEFT OUTER JOIN (SELECT gid,uid FROM groupmembers WHERE uid = ?) AS gm ON g.gid = gm.gid});
                $groups->execute($user->{uid});