X-Git-Url: http://git.rot13.org/?p=BackupPC.git;a=blobdiff_plain;f=lib%2FBackupPC%2FConfig%2FDb.pm;h=44c5882ac782dce32c61cc0bbe15b1c209bcfd44;hp=5343fa6999a2b1e2a61ab2277db52ea4fe076700;hb=71e7c4f845cb4cfb0c81391d0dab71f2d634796d;hpb=85cebec74a7b4a9b7f7fc0938de17c838a80662f diff --git a/lib/BackupPC/Config/Db.pm b/lib/BackupPC/Config/Db.pm index 5343fa6..44c5882 100644 --- a/lib/BackupPC/Config/Db.pm +++ b/lib/BackupPC/Config/Db.pm @@ -5,7 +5,32 @@ use warnings; use strict; use DBI; -our $SELF; + +sub GetDbConnInfo +{ + my($self, $dbi) = @_; + my($ret, $mesg, $dbConfig); + + $dbConfig = "$self->{TopDir}/conf/db.pl"; + + our %Db; + + if ( !defined($ret = do $dbConfig) && ($! || $@) ) { + $mesg = "Couldn't open $dbConfig: $!" if ( $! ); + $mesg = "Couldn't execute $dbConfig: $@" if ( $@ ); + $mesg =~ s/[\n\r]+//; + + $self->{errstr} = $mesg; + return undef; + } + + $Db{passwd} = $ENV{BPC_DBPASSWD} if !exists $Db{passwd}; + + my %parm = %Db; + undef %Db; + + return %parm; +} sub BackupInfoRead { @@ -214,7 +239,6 @@ our %gConfigTypeField; # will be defined by database-specific Config module sub ConfigWrite { my($self, $client) = @_; - $SELF = $self; my $dbh = $self->{dbh}; $dbh->{RaiseError} = 0; @@ -251,7 +275,6 @@ sub ConfigWrite { sub _ConfigWriteScalar { my($dbh, $def, $client, $attr, $val) = @_; - $SELF->Debug("SCALAR $val") if $attr eq 'BackupFilesOnly'; return if !defined $val; my $ref = ref $val; @@ -265,7 +288,6 @@ sub _ConfigWriteScalar { sub _ConfigWriteArray { my($dbh, $def, $client, $attr, $val, $key) = @_; - $SELF->Debug("ARRAY $val, $key") if $attr eq 'BackupFilesOnly'; return if !defined $val; $key = '' unless defined $key; @@ -291,7 +313,6 @@ sub _ConfigWriteArray { sub _ConfigWriteHash { my($dbh, $def, $client, $attr, $val, $subscript) = @_; - $SELF->Debug("HASH $val") if $attr eq 'BackupFilesOnly'; return if !defined $val; $subscript = -1 unless defined $subscript; @@ -354,7 +375,6 @@ sub _ConfigWriteArrayOfHash { sub _ConfigWriteHashOfArray { my($dbh, $def, $client, $attr, $val) = @_; - $SELF->Debug("HASHOFARRAY $val") if $attr eq 'BackupFilesOnly'; return if !defined $val; my $ref = ref $val;