Freeside:4:Documentation:Developer/FS/UID
NAME
FS::UID - Subroutines for database login and assorted other stuff
SYNOPSIS
use FS::UID qw(adminsuidsetup dbh datasrc checkeuid checkruid); $dbh = adminsuidsetup $user; $dbh = dbh; $datasrc = datasrc; $driver_name = driver_name;
DESCRIPTION
Provides a hodgepodge of subroutines.
SUBROUTINES
- adminsuidsetup USER
- Sets the user to USER (see config.html from the base documentation). Cleans the environment. Make sure the script is running as freeside, or setuid freeside. Opens a connection to the database. Runs any defined callbacks (see below). Returns the DBI database handle (usually you don't need this).
- install_callback
- A package can install a callback to be run in adminsuidsetup by passing a coderef to the FS::UID->install_callback class method. If adminsuidsetup has run already, the callback will also be run immediately.
$coderef = sub { warn "Hi, I'm returning your call!" }; FS::UID->install_callback($coderef); install_callback FS::UID sub { warn "Hi, I'm returning your call!" };
- cgi
- Returns the CGI (see CGI) object.
- cgi CGI_OBJECT
- Sets the CGI (see CGI) object.
- dbh
- Returns the DBI database handle.
- datasrc
- Returns the DBI data source.
- driver_name
- Returns just the driver name portion of the DBI data source.
- getotaker
- (Deprecated) Returns the current Freeside user's username.
- checkeuid
- Returns true if effective UID is that of the freeside user.
- checkruid
- Returns true if the real UID is that of the freeside user.
- getsecrets
- Sets and returns the DBI datasource, username and password from the `/usr/local/etc/freeside/secrets' file.
CALLBACKS
Warning: this interface is (still) likely to change in future releases.
New (experimental) callback interface:
A package can install a callback to be run in adminsuidsetup by passing a coderef to the FS::UID->install_callback class method. If adminsuidsetup has run already, the callback will also be run immediately.
$coderef = sub { warn "Hi, I'm returning your call!" }; FS::UID->install_callback($coderef); install_callback FS::UID sub { warn "Hi, I'm returning your call!" };
Old (deprecated) callback interface:
A package can install a callback to be run in adminsuidsetup by putting a coderef into the hash %FS::UID::callback :
$coderef = sub { warn "Hi, I'm returning your call!" }; $FS::UID::callback{'Package::Name'} = $coderef;
BUGS
Too many package-global variables.
Not OO.
No capabilities yet. (What does this mean again?)
Goes through contortions to support non-OO syntax with multiple datasrc's.
Callbacks are (still) inelegant.
SEE ALSO
FS::Record, CGI, DBI, config.html from the base documentation.