]> wagnertech.de Git - mfinanz.git/blobdiff - scripts/task_server.pl
Task-Server: vor jedem Job in kivitendo-Verzeichnis wechseln
[mfinanz.git] / scripts / task_server.pl
index d84e8115ba927ed16ea4bbf1f016869e138fb4bb..513fa98a1dc9f38ebda01556e039c53ab77b0835 100755 (executable)
@@ -2,17 +2,17 @@
 
 use strict;
 
-BEGIN {
-  require Cwd;
+my $exe_dir;
 
-  my $dir =  $0;
-  $dir    =  Cwd::getcwd() . '/' . $dir unless $dir =~ m|^/|;
-  $dir    =~ s|[^/]+$|..|;
+BEGIN {
+  use SL::System::Process;
+  $exe_dir = SL::System::Process::exe_dir;
 
-  chdir($dir) || die "Cannot change directory to ${dir}\n";
+  unshift @INC, "${exe_dir}/modules/override"; # Use our own versions of various modules (e.g. YAML).
+  push    @INC, "${exe_dir}/modules/fallback"; # Only use our own versions of modules if there's no system version.
+  unshift @INC, $exe_dir;
 
-  unshift @INC, "modules/override"; # Use our own versions of various modules (e.g. YAML).
-  push    @INC, "modules/fallback"; # Only use our own versions of modules if there's no system version.
+  chdir($exe_dir) || die "Cannot change directory to ${exe_dir}\n";
 }
 
 use CGI qw( -no_xhtml);
@@ -114,6 +114,8 @@ sub gd_run {
         $::locale = Locale->new($::lx_office_conf{system}->{language});
         $::form   = Form->new;
 
+        chdir $exe_dir;
+
         $job->run;
       }