X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=Usermgm.pm;h=3c58aebd8dabec6a888c3e161cae34154ec6efbb;hb=7c7b5c9c679147e5dbf172a312ed7ef992a9e63c;hp=9f0b1f7f450211bdaf9fadd5d8b3edb21401b84c;hpb=3a8b177f859f5b1972779adf73556f5cbefb2fa6;p=NDIRC.git diff --git a/Usermgm.pm b/Usermgm.pm index 9f0b1f7..3c58aeb 100644 --- a/Usermgm.pm +++ b/Usermgm.pm @@ -58,8 +58,15 @@ sub addUser { } } sub whois { - my ($nick) = @_; - DB(); + my ($msg, $command) = @_; + + my ($nick); + if(defined $msg && $msg =~ /^(\S+)$/){ + $nick = $1; + }else{ + $ND::server->command("notice $ND::nick syntax: .$command nick | % can be used for wildcards \%arro% will match barrow"); + return; + } if (officer()){ my $f = $ND::DBH->prepare("SELECT username, hostmask, concat(flag) FROM users u LEFT OUTER JOIN (SELECT uid,flag FROM groupmembers NATURAL JOIN groups ORDER BY uid,flag ) g ON g.uid = u.uid WHERE username ILIKE ? GROUP BY username,hostmask"); $f->execute($nick); @@ -75,12 +82,17 @@ sub whois { } sub flags { - my ($nick) = @_; - DB(); - unless ($1){ + my ($msg, $command) = @_; + + my ($nick); + if(defined $msg && $msg =~ /^(\S+)$/){ + $nick = $1; + }else{ my ($flags) = $ND::DBH->selectrow_array("SELECT TRIM(', ' FROM concat(flag||':'||groupname||', ')) FROM groups"); - $ND::server->command("msg $ND::target $flags"); - }elsif (hc()){ + $ND::server->command("notice $ND::nick syntax: .$command nick | % can be used for wildcards \%arro% will match barrow | Current flags: $flags"); + return; + } + if (hc()){ my $f = $ND::DBH->prepare("SELECT username, concat(flag), TRIM(', ' FROM concat(groupname||', ')) FROM users u LEFT OUTER JOIN (SELECT uid,flag,groupname FROM groupmembers NATURAL JOIN groups ORDER BY uid,flag ) g ON g.uid = u.uid WHERE username ILIKE ? GROUP BY username,hostmask"); $f->execute($nick); while (my @row = $f->fetchrow()){ @@ -89,8 +101,6 @@ sub flags { if ($f->rows == 0){ $ND::server->command("msg $ND::target No hit, maybe spelling mistake, or add % as wildcard"); } - }else{ - $ND::server->command("msg $ND::target Only HCs are allowed to check that"); } }