use strict;
use vars qw(
@ISA @EXPORT_OK $DEBUG $me $cgi $dbh $freeside_uid $user
- $conf_dir $secrets $datasrc $db_user $db_pass %callback @callback
+ $conf_dir $cache_dir $secrets $datasrc $db_user $db_pass %callback @callback
$driver_name $AutoCommit $callback_hack $use_confcompat
);
use subs qw(
$freeside_uid = scalar(getpwnam('freeside'));
-$conf_dir = "%%%FREESIDE_CONF%%%";
+$conf_dir = "%%%FREESIDE_CONF%%%";
+$cache_dir = "%%%FREESIDE_CACHE%%%";
$AutoCommit = 1; #ours, not DBI
$use_confcompat = 1;
$ENV{'ENV'} = '';
$ENV{'BASH_ENV'} = '';
- croak "Not running uid freeside!" unless checkeuid();
+ croak "Not running uid freeside (\$>=$>, \$<=$<)\n" unless checkeuid();
warn "$me forksuidsetup connecting to database\n" if $DEBUG;
if ( $FS::CurrentUser::upgrade_hack && $olduser ) {
warn "$me forksuidsetup connected to database with handle $dbh\n" if $DEBUG;
warn "$me forksuidsetup loading schema\n" if $DEBUG;
- use FS::Schema qw(reload_dbdef);
+ use FS::Schema qw(reload_dbdef dbdef);
reload_dbdef("$conf_dir/dbdef.$datasrc")
unless $FS::Schema::setup_hack;
warn "$me forksuidsetup deciding upon config system to use\n" if $DEBUG;
- my $confcount = 0;
+ if ( ! $FS::Schema::setup_hack && dbdef->table('conf') ) {
- my $sth = $dbh->prepare("SELECT COUNT(*) FROM conf");
- if ( $sth ) {
+ my $sth = $dbh->prepare("SELECT COUNT(*) FROM conf") or die $dbh->errstr;
$sth->execute or die $sth->errstr;
- $confcount = $sth->fetchrow_arrayref->[0];
- }
+ my $confcount = $sth->fetchrow_arrayref->[0];
+
+ if ($confcount) {
+ $use_confcompat = 0;
+ }else{
+ warn "NO CONFIGURATION RECORDS FOUND";
+ }
- if ($confcount) {
- $use_confcompat = 0;
- }else{
- warn "NO CONFIGURATION RECORDS FOUND";
+ } else {
+ warn "NO CONFIGURATION TABLE FOUND";
}
unless ( $callback_hack ) {
=cut
sub checkeuid {
+ #$> = $freeside_uid unless $>; #huh. mpm-itk hack
( $> == $freeside_uid );
}