X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=Context.pm;h=5810ca4e97dc9cc369b2d6327e716d50ea67fd02;hb=48c2e7d852234548bdce239b4441b7a98de408a2;hp=8a0a911a3b2abbaca49a0e8995dc853540c8b19d;hpb=82c9be26b28b12fded144d363ef81a6047e20d11;p=NDIRC.git diff --git a/Context.pm b/Context.pm index 8a0a911..5810ca4 100644 --- a/Context.pm +++ b/Context.pm @@ -50,6 +50,12 @@ has roles => ( lazy_build => 1 ); +has uid => ( + is => 'ro', + isa => 'Int', + lazy_build => 1 +); + has disp => ( is => 'ro', isa => 'Object', @@ -143,21 +149,18 @@ sub intel_log { my ($c,$planet, $message) = @_; my $log = $c->model->prepare_cached(q{ INSERT INTO forum_posts (ftid,uid,message) VALUES( - (SELECT ftid FROM planets WHERE pid = $3) - ,(SELECT uid FROM users WHERE hostmask ILIKE $1) - ,$2) + (SELECT ftid FROM planets WHERE pid = $3),$1,$2) }); - $log->execute($c->host,$message,$planet); + $log->execute($c->uid,$message,$planet); } sub def_log { my ($c,$call, $message) = @_; my $log = $c->model->prepare(q{ INSERT INTO forum_posts (ftid,uid,message) VALUES( - (SELECT ftid FROM calls WHERE call = $3) - ,(SELECT uid FROM users WHERE hostmask ILIKE $1),$2) + (SELECT ftid FROM calls WHERE call = $3),$1,$2) }); - $log->execute($c->host,$message,$call); + $log->execute($c->uid,$message,$call); } sub _build_roles { @@ -166,7 +169,7 @@ sub _build_roles { my $query = $self->model->prepare(q{ SELECT role FROM group_roles WHERE gid IN (SELECT gid FROM groupmembers JOIN users USING (uid) - WHERE hostmask ILIKE $1) + WHERE hostmask = $1) }); $query->execute($self->host); @@ -177,5 +180,32 @@ WHERE gid IN (SELECT gid FROM groupmembers JOIN users USING (uid) return Set::Object->new(@roles); } +sub _build_uid { + my ($self) = @_; + + my $query = $self->model->prepare(q{ +SELECT uid FROM users +WHERE hostmask = $1 + }); + $query->execute($self->host); + + if (my ($uid) = $query->fetchrow_array){ + $query->finish; + return $uid; + } + return -4; +} + +sub valuecolor { + shift @_; + my $s = $_; + $s = $_[1] if $#_ >= 1; + $s = "" unless defined $s; + return "$s" if $s eq 'Hostile'; + return "$s" if $s eq 'Friendly'; + return "$s" if $s eq 'Nap' or $s eq 'NAP'; + return "$s" if $_[0]; + return $s; +} 1;