X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FLxOfficeConf.pm;h=f6ae49ef07d8bfa3b76fe3d6a3dc9ee9a94a24fd;hb=d21bdcaf73d55909d130fbbe26137fd45114adde;hp=4e26c4e25335f1587c53be56d5b91ddaa087fab6;hpb=0f988add03549dbb11f12e0e3c6ab8fcbcdea911;p=kivitendo-erp.git diff --git a/SL/LxOfficeConf.pm b/SL/LxOfficeConf.pm index 4e26c4e25..f6ae49ef0 100644 --- a/SL/LxOfficeConf.pm +++ b/SL/LxOfficeConf.pm @@ -7,18 +7,20 @@ use Encode; my $environment_initialized; sub safe_require { - my ($class, $may_fail); + my ($class, $may_fail) = @_; - my $failed = !eval { require Config::Std; }; - - if ($failed) { + eval { + require Config::Std; + require SL::System::Process; + 1; + } or do { if ($may_fail) { warn $@; return 0; } else { die $@; } - } + }; Config::Std->import; @@ -32,11 +34,12 @@ sub read { # Backwards compatibility: read lx_office.conf.default if # kivitendo.conf.default does't exist. - my $default_config = -f "config/kivitendo.conf.default" ? 'kivitendo' : 'lx_office'; - read_config("config/${default_config}.conf.default" => \%::lx_office_conf); + 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 ||= -f 'config/kivitendo.conf' ? 'config/kivitendo.conf' : '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);