diff --git a/scripts/ZoneMinder/lib/ZoneMinder.pm b/scripts/ZoneMinder/lib/ZoneMinder.pm index 87a6b14b7..37292a44d 100644 --- a/scripts/ZoneMinder/lib/ZoneMinder.pm +++ b/scripts/ZoneMinder/lib/ZoneMinder.pm @@ -81,6 +81,13 @@ our @EXPORT = ( @EXPORT_OK ); our $VERSION = $ZoneMinder::Base::VERSION; +BEGIN { + require ZoneMinder::Config; + require ZoneMinder::Database; + ZoneMinder::Config::zmConfigLoad(); + ZoneMinder::Database::zmDbConnect(); +} + 1; __END__ diff --git a/scripts/ZoneMinder/lib/ZoneMinder/Config.pm.in b/scripts/ZoneMinder/lib/ZoneMinder/Config.pm.in index 4be86e962..03f05d0e8 100644 --- a/scripts/ZoneMinder/lib/ZoneMinder/Config.pm.in +++ b/scripts/ZoneMinder/lib/ZoneMinder/Config.pm.in @@ -30,7 +30,6 @@ use warnings; require Exporter; require ZoneMinder::Base; -require ZoneMinder::Database; our @ISA = qw(Exporter ZoneMinder::Base); @@ -64,8 +63,9 @@ use constant ZM_CONFIG => "@ZM_CONFIG@"; # Path to the ZoneMinder config file use Carp; # Load the config from the database into the symbol table -BEGIN -{ +sub zmConfigLoad { + %Config = (); + my $config_file = ZM_CONFIG; open( my $CONFIG, "<", $config_file ) or croak( "Can't open config file '$config_file': $!" ); @@ -83,7 +83,8 @@ BEGIN } close( $CONFIG ); - my $dbh = zmDbConnect() or croak( "Can't connect to db" ); + require ZoneMinder::Database; + my $dbh = ZoneMinder::Database::zmDbConnect() or croak( "Can't connect to db" ); my $sql = 'select * from Config'; my $sth = $dbh->prepare_cached( $sql ) or croak( "Can't prepare '$sql': ".$dbh->errstr() ); my $res = $sth->execute() or croak( "Can't execute: ".$sth->errstr() ); diff --git a/scripts/ZoneMinder/lib/ZoneMinder/Database.pm b/scripts/ZoneMinder/lib/ZoneMinder/Database.pm index 7dfe0654b..fdea725fe 100644 --- a/scripts/ZoneMinder/lib/ZoneMinder/Database.pm +++ b/scripts/ZoneMinder/lib/ZoneMinder/Database.pm @@ -27,6 +27,7 @@ package ZoneMinder::Database; use 5.006; use strict; use warnings; +use DBI; require Exporter; require ZoneMinder::Base; diff --git a/scripts/ZoneMinder/lib/ZoneMinder/Logger.pm b/scripts/ZoneMinder/lib/ZoneMinder/Logger.pm index 4c5acac2b..0e454d784 100644 --- a/scripts/ZoneMinder/lib/ZoneMinder/Logger.pm +++ b/scripts/ZoneMinder/lib/ZoneMinder/Logger.pm @@ -461,7 +461,7 @@ sub databaseLevel { if ( !$this->{dbh} ) { - $this->{dbh} = zmDbConnect(); + $this->{dbh} = ZoneMinder::Database::zmDbConnect(); if ( !$this->{dbh} ) { $databaseLevel = NOLOG;