use vars qw(
@ISA @EXPORT_OK $cgi $dbh $freeside_uid $user
$conf_dir $secrets $datasrc $db_user $db_pass %callback @callback
- $driver_name $AutoCommit $callback_hack
+ $driver_name $AutoCommit
);
use subs qw(
getsecrets cgisetotaker
use Exporter;
use Carp qw(carp croak cluck confess);
use DBI;
-use IO::File;
+use FS::Conf;
use FS::CurrentUser;
@ISA = qw(Exporter);
$conf_dir = "%%%FREESIDE_CONF%%%/";
$AutoCommit = 1; #ours, not DBI
-$callback_hack = 0;
=head1 NAME
FS::CurrentUser->load_user($user);
- unless($callback_hack) {
- foreach ( keys %callback ) {
- &{$callback{$_}};
- # breaks multi-database installs # delete $callback{$_}; #run once
- }
-
- &{$_} foreach @callback;
+ foreach ( keys %callback ) {
+ &{$callback{$_}};
+ # breaks multi-database installs # delete $callback{$_}; #run once
}
+ &{$_} foreach @callback;
+
$dbh;
}
sub getsecrets {
my($setuser) = shift;
$user = $setuser if $setuser;
+ my($conf) = new FS::Conf $conf_dir;
- if ( -e "$conf_dir/mapsecrets" ) {
+ if ( $conf->exists('mapsecrets') ) {
die "No user!" unless $user;
- my($line) = grep /^\s*($user|\*)\s/,
- map { /^(.*)$/; $1 } readline(new IO::File "$conf_dir/mapsecrets");
+ my($line) = grep /^\s*($user|\*)\s/, $conf->config('mapsecrets');
confess "User $user not found in mapsecrets!" unless $line;
$line =~ /^\s*($user|\*)\s+(.*)$/;
$secrets = $2;
$secrets = 'secrets';
}
- ($datasrc, $db_user, $db_pass) =
- map { /^(.*)$/; $1 } readline(new IO::File "$conf_dir/$secrets")
- or die "Can't get secrets: $secrets: $!\n";
+ ($datasrc, $db_user, $db_pass) = $conf->config($secrets)
+ or die "Can't get secrets: $secrets: $!\n";
+ $FS::Conf::default_dir = $conf_dir. "/conf.$datasrc";
undef $driver_name;
($datasrc, $db_user, $db_pass);
}