summaryrefslogtreecommitdiff
path: root/FS/FS/CurrentUser.pm
diff options
context:
space:
mode:
authorivan <ivan>2006-06-19 02:33:52 +0000
committerivan <ivan>2006-06-19 02:33:52 +0000
commitc0e8da2f1e89729efa1032241e4239765a296514 (patch)
tree68af748a3dc0c983e3ed255ad1bc05e9bf2eb8e7 /FS/FS/CurrentUser.pm
parentbb65b62d3d68ac0788f230fe2e35ebe1913fc0f5 (diff)
agent virtualization, take one (stuff from "inactive" changeset snuck into cust_main.pm and the package reporting changeset in search/cust_pkg.cgi here too)
Diffstat (limited to 'FS/FS/CurrentUser.pm')
-rw-r--r--FS/FS/CurrentUser.pm50
1 files changed, 50 insertions, 0 deletions
diff --git a/FS/FS/CurrentUser.pm b/FS/FS/CurrentUser.pm
new file mode 100644
index 0000000..13d3416
--- /dev/null
+++ b/FS/FS/CurrentUser.pm
@@ -0,0 +1,50 @@
+package FS::CurrentUser;
+
+use vars qw($CurrentUser);
+
+#not at compile-time, circular dependancey causes trouble
+#use FS::Record qw(qsearchs);
+#use FS::access_user;
+
+=head1 NAME
+
+FS::CurrentUser - Package representing the current user
+
+=head1 SYNOPSIS
+
+=head1 DESCRIPTION
+
+=cut
+
+sub load_user {
+ my( $class, $user ) = @_; #, $pass
+
+ #XXX remove me at some point
+ return "" if $user =~ /^fs_(queue|selfservice)$/;
+
+ #not the best thing in the world...
+ eval "use FS::Record qw(qsearchs);";
+ die $@ if $@;
+ eval "use FS::access_user;";
+ die $@ if $@;
+
+ $CurrentUser = qsearchs('access_user', {
+ 'username' => $user,
+ #'_password' =>
+ } );
+
+ die "unknown user: $user" unless $CurrentUser; # or bad password
+
+ $CurrentUser;
+}
+
+=head1 BUGS
+
+Creepy crawlies
+
+=head1 SEE ALSO
+
+=cut
+
+1;
+