X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2FUID.pm;h=88d7338290fa59c732566aa26cf00b867b75e348;hb=7f07089722bfcabe3bf42619bb2bdb81fd8d44e1;hp=2cee65d1168f39ca91d00e7978a88710d503e7c1;hpb=f38f7128e7058d102ac7898e0f06deaf4d1fd538;p=freeside.git diff --git a/FS/FS/UID.pm b/FS/FS/UID.pm index 2cee65d11..88d733829 100644 --- a/FS/FS/UID.pm +++ b/FS/FS/UID.pm @@ -3,19 +3,19 @@ package FS::UID; use strict; use vars qw( @ISA @EXPORT_OK $cgi $dbh $freeside_uid $user - $conf_dir $secrets $datasrc $db_user $db_pass %callback + $conf_dir $secrets $datasrc $db_user $db_pass %callback $driver_name ); use subs qw( getsecrets cgisetotaker ); use Exporter; -use Carp; +use Carp qw(carp croak cluck); use DBI; use FS::Conf; @ISA = qw(Exporter); @EXPORT_OK = qw(checkeuid checkruid swapuid cgisuidsetup - adminsuidsetup getotaker dbh datasrc getsecrets ); + adminsuidsetup getotaker dbh datasrc getsecrets driver_name ); $freeside_uid = scalar(getpwnam('freeside')); @@ -39,6 +39,8 @@ FS::UID - Subroutines for database login and assorted other stuff $datasrc = datasrc; + $driver_name = driver_name; + =head1 DESCRIPTION Provides a hodgepodge of subroutines. @@ -89,8 +91,8 @@ sub adminsuidsetup { =item cgisuidsetup CGI_object -Stores the CGI (see L) object for later use. (CGI::Base is depriciated) -Runs adminsuidsetup. +Takes a single argument, which is a CGI (see L) or Apache (see L) +object (CGI::Base is depriciated). Runs cgisetotaker and then adminsuidsetup. =cut @@ -138,10 +140,16 @@ sub datasrc { $datasrc; } -#hack for web demo -#sub setdbh { -# $dbh=$_[0]; -#} +=item driver_name + +Returns just the driver name portion of the DBI data source. + +=cut + +sub driver_name { + return $driver_name if defined $driver_name; + $driver_name = ( split(':', $datasrc) )[1]; +} sub suidsetup { croak "suidsetup depriciated"; @@ -160,7 +168,8 @@ sub getotaker { =item cgisetotaker Sets and returns the CGI REMOTE_USER. $cgi should be defined as a CGI.pm -object. Support for CGI::Base and derived classes is depriciated. +object (see L) or an Apache object (see L). Support for CGI::Base +and derived classes is depriciated. =cut @@ -229,6 +238,7 @@ sub getsecrets { ($datasrc, $db_user, $db_pass) = $conf->config($secrets) or die "Can't get secrets: $!"; $FS::Conf::default_dir = $conf_dir. "/conf.$datasrc"; + undef $driver_name; ($datasrc, $db_user, $db_pass); } @@ -246,7 +256,7 @@ coderef into the hash %FS::UID::callback : =head1 VERSION -$Id: UID.pm,v 1.2 2000-05-13 21:50:12 ivan Exp $ +$Id: UID.pm,v 1.3 2000-06-23 12:25:59 ivan Exp $ =head1 BUGS