add net vs gross amounts to invoice report; make the "net sales" links on sales/credi...
[freeside.git] / FS / FS / UID.pm
index da573a6..8dd928e 100644 (file)
@@ -4,7 +4,7 @@ use strict;
 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
@@ -12,7 +12,7 @@ use subs qw(
 use Exporter;
 use Carp qw(carp croak cluck confess);
 use DBI;
-use IO::File;
+use FS::Conf;
 use FS::CurrentUser;
 
 @ISA = qw(Exporter);
@@ -24,7 +24,6 @@ $freeside_uid = scalar(getpwnam('freeside'));
 $conf_dir = "%%%FREESIDE_CONF%%%/";
 
 $AutoCommit = 1; #ours, not DBI
-$callback_hack = 0;
 
 =head1 NAME
 
@@ -105,15 +104,13 @@ sub forksuidsetup {
 
   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;
 }
 
@@ -278,11 +275,11 @@ the `/usr/local/etc/freeside/mapsecrets' file.
 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;
@@ -292,9 +289,9 @@ sub getsecrets {
     $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);
 }