X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=ND%2FIRC%2FAccess.pm;h=03851bb382de69e33b08ba0f0d0851d4ab68ed26;hb=c643b311c8f134a59625192b900aa28b3f12d4f1;hp=91b800253d8cd999eca95f756db4a93ef37946d8;hpb=55cc621bec16d80555e9e588c731505a8b04e1a9;p=ndwebbie.git diff --git a/ND/IRC/Access.pm b/ND/IRC/Access.pm index 91b8002..03851bb 100644 --- a/ND/IRC/Access.pm +++ b/ND/IRC/Access.pm @@ -23,8 +23,11 @@ require Exporter; our @ISA = qw/Exporter/; -our @EXPORT = qw/officer dc bc hc scanner intel masterop masterinvite/; +our @EXPORT = qw/member officer dc bc hc scanner intel masterop masterinvite/; +sub member { + return groupmember("HM"); +}; sub officer { return groupmember("HO"); }; @@ -54,12 +57,10 @@ sub masterinvite { sub groupmember { my ($groups) = @_; $groups = join ",", map {"'$_'"} split //, $groups; - my $f = $ND::DBH->prepare("SELECT username FROM users NATURAL JOIN groupmembers NATURAL JOIN groups WHERE flag IN ('T',$groups) AND hostmask ILIKE ?"); - $f->execute($ND::address); - if ($f->fetchrow()){ - return 1; - } - return 0; + my $f = $ND::DBH->prepare("SELECT uid,username FROM users NATURAL JOIN groupmembers NATURAL JOIN groups WHERE flag IN ('T',$groups) AND lower(hostmask) = ?") or print $ND::DBH->errstr; + $f->execute(lc($ND::address)); + my $user = $f->fetchrow_hashref; + return $user; }; 1;