]> wagnertech.de Git - mfinanz.git/blobdiff - SL/LxOfficeConf.pm
Part Controller -part link in Verbrauchsbericht (?) aktualisiert
[mfinanz.git] / SL / LxOfficeConf.pm
index 3cd462cff1a743e4ec3c3bd4cc06f068f31bbf30..588e87f8bd215b035df674d5926ad809bc3830f6 100644 (file)
@@ -2,15 +2,15 @@ package SL::LxOfficeConf;
 
 use strict;
 
+use Encode;
+use SL::System::Process;
+
 my $environment_initialized;
 
 sub safe_require {
   my ($class, $may_fail);
-  my $failed;
-  $failed = !eval {
-    require Config::Std;
-    require Encode;
-  };
+
+  my $failed = !eval { require Config::Std; };
 
   if ($failed) {
     if ($may_fail) {
@@ -22,7 +22,6 @@ sub safe_require {
   }
 
   Config::Std->import;
-  Encode->import;
 
   return 1;
 }
@@ -32,10 +31,14 @@ sub read {
 
   return unless $class->safe_require($may_fail);
 
-  read_config('config/lx_office.conf.default' => \%::lx_office_conf);
+  # Backwards compatibility: read lx_office.conf.default if
+  # kivitendo.conf.default does't exist.
+  my $dir            = SL::System::Process->exe_dir;
+  my $default_config = -f "${dir}/config/kivitendo.conf.default" ? 'kivitendo' : 'lx_office';
+  read_config("${dir}/config/${default_config}.conf.default" => \%::lx_office_conf);
   _decode_recursively(\%::lx_office_conf);
 
-  $file_name ||= 'config/lx_office.conf';
+  $file_name ||= -f "${dir}/config/kivitendo.conf" ? "${dir}/config/kivitendo.conf" : "${dir}/config/lx_office.conf";
 
   if (-f $file_name) {
     read_config($file_name => \ my %local_conf);