#
#######################################################################
+use strict;
+
+BEGIN {
+ 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.
+}
+
# setup defaults, DO NOT CHANGE
-$userspath = "users";
-$templates = "templates";
-$memberfile = "users/members";
-$sendmail = "| /usr/sbin/sendmail -t";
+$main::userspath = "users";
+$main::templates = "templates";
+$main::memberfile = "users/members";
+$main::sendmail = "| /usr/sbin/sendmail -t";
########## end ###########################################
$| = 1;
use SL::LXDebug;
-$lxdebug = LXDebug->new();
+$main::lxdebug = LXDebug->new();
-eval { require "lx-erp.conf"; };
+eval { require "config/lx-erp.conf"; };
+eval { require "config/lx-erp-local.conf"; } if -f "config/lx-erp-local.conf";
if ($ENV{CONTENT_LENGTH}) {
read(STDIN, $_, $ENV{CONTENT_LENGTH});
$_ = $ARGV[0];
}
-%form = split /[&=]/;
+my %form = split /[&=]/;
# fix for apache 2.0 bug
map { $form{$_} =~ s/\\$// } keys %form;
# name of this script
$0 =~ tr/\\/\//;
-$pos = rindex $0, '/';
-$script = substr($0, $pos + 1);
+my $pos = rindex $0, '/';
+my $script = substr($0, $pos + 1);
+
+$form{login} =~ s|.*/||;
-if (-e "$userspath/nologin" && $script ne 'admin.pl') {
+if (-e "$main::userspath/nologin" && $script ne 'admin.pl') {
print "content-type: text/plain
Login disabled!\n";
exit;
}
-if ($form{path}) {
- $form{path} =~ s/%2f/\//gi;
- $form{path} =~ s/\.\.\///g;
-
- if ($form{path} !~ /^bin\//) {
- print "content-type: text/plain
-
-Invalid path!\n";
- die;
- }
-
- $ARGV[0] = "$_&script=$script";
- require "$form{path}/$script";
-} else {
-
- if (!$form{terminal}) {
- if ($ENV{HTTP_USER_AGENT}) {
+require "bin/mozilla/installationcheck.pl";
+verify_installation();
- # web browser
- if ($ENV{HTTP_USER_AGENT} =~ /(mozilla|links|opera|w3m)/i) {
- $form{terminal} = "mozilla";
- }
-
- if ($ENV{HTTP_USER_AGENT} =~ /lynx/i) {
- $form{terminal} = "lynx";
- }
- } else {
- if ($ENV{TERM} =~ /xterm/) {
- $form{terminal} = "xterm";
- }
- if ($ENV{TERM} =~ /(console|linux|vt.*)/i) {
- $form{terminal} = "console";
- }
- }
- }
-
- if ($form{terminal}) {
-
- $ARGV[0] = "path=bin/$form{terminal}&script=$script";
- map { $ARGV[0] .= "&${_}=$form{$_}" } keys %form;
-
- require "bin/$form{terminal}/$script";
-
- } else {
-
- print qq|
- Unknown terminal
- |;
- }
-
-}
+$ARGV[0] = "$_&script=$script";
+require "bin/mozilla/$script";
# end of main