From f8deca40bc9bd35788be34d2c5bff98dca92a93c Mon Sep 17 00:00:00 2001 From: dms Date: Thu, 14 Sep 2000 12:13:19 +0000 Subject: [PATCH] status() -> &status() git-svn-id: https://svn.code.sf.net/p/infobot/code/trunk/blootbot@100 c11ca15a-4712-0410-83d8-924469b57eb5 --- src/Files.pl | 4 +-- src/Modules/UserDCC.pl | 2 +- src/UserFile.pl | 72 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 75 insertions(+), 3 deletions(-) create mode 100644 src/UserFile.pl diff --git a/src/Files.pl b/src/Files.pl index 113fe1d..4543183 100644 --- a/src/Files.pl +++ b/src/Files.pl @@ -142,7 +142,7 @@ sub loadUsers { } } } else { - status("parse error: User Entry $userName without right brace"); + &status("parse error: User Entry $userName without right brace"); } } } @@ -157,7 +157,7 @@ sub loadUsers { &status(" flags: +$userList{$userName}{'flags'}"); foreach (keys %{$userList{$userName}{'mask'}}) { - status(" hostmask: $_"); + &status(" hostmask: $_"); } } } diff --git a/src/Modules/UserDCC.pl b/src/Modules/UserDCC.pl index c615410..434b05c 100644 --- a/src/Modules/UserDCC.pl +++ b/src/Modules/UserDCC.pl @@ -335,7 +335,7 @@ sub userDCC { &doExit(); - status("Dying by $who\'s request"); + &status("Dying by $who\'s request"); exit 0; } diff --git a/src/UserFile.pl b/src/UserFile.pl new file mode 100644 index 0000000..fca15b1 --- /dev/null +++ b/src/UserFile.pl @@ -0,0 +1,72 @@ +# +# UserFile.pl: Dynamic userfile loader +# Author: dms +# Version: v0.1 (20000822) +# Created: 20000822 +# Status: NOT WORKING YET +# +##### +# TODO: major overhaul to support dynamic userfile. +# support ignore in this file aswell. +##### + +if (&IsParam("useStrict")) { use strict; } + +# File: User List. +sub NEWloadUsers { + my ($file) = @_; + %userList = (); # clear it. + + if (!open(FILE, $file)) { + &ERROR("FAILED loadUsers ($file): $!"); + exit 0; + } + + my $userName; + + while () { + next if /^\s*$/; + next if /^#/; + + if (/^UserEntry\s+(.+?)\s/) { + $userName = $1; + if (/\s*\{\s*/) { + while () { + if (/^\s*(\w+)\s+(.+);$/) { + my ($opt,$val) = ($1,$2); + + $opt =~ tr/A-Z/a-z/; + $val =~ s/\"//g; + $val =~ s/\+// if ($opt =~ /^flags$/i); + + if ($opt =~ /^mask$/i) { + $userList{$userName}{$opt}{$val} = 1; + } else { + $userList{$userName}{$opt} = $val; + } + } elsif (/^\s*\}\s*$/) { + last; + } + } + } else { + &status("parse error: User Entry $userName without right brace"); + } + } + } + close FILE; + + return unless (&IsParam("VERBOSITY")); + + $file =~ s/^.*\///; + &status("Loaded userlist $file (". scalar(keys %userList) ." users)"); + foreach $userName (keys %userList) { + &status(" $userName:"); + &status(" flags: +$userList{$userName}{'flags'}"); + + foreach (keys %{$userList{$userName}{'mask'}}) { + &status(" hostmask: $_"); + } + } +} + +1; -- 2.39.2