my $interface = lc(shift || 'cgi');
my ($script_name, $action);
- if ($interface =~ m/^(?:fastcgi|fcgid|fcgi)$/) {
- $script_name = $ENV{SCRIPT_NAME};
- unrequire_bin_mozilla();
+ $script_name = $ENV{SCRIPT_NAME};
- } else {
- $script_name = $0;
- }
+ unrequire_bin_mozilla($interface);
$::cgi = CGI->new('');
$::locale = Locale->new($::language);
pre_request_checks();
eval {
+ my $session_result = $::auth->restore_session;
+ $::auth->create_or_refresh_session;
+
$::form->error($::locale->text('System currently down for maintenance!')) if -e "$::userspath/nologin" && $script ne 'admin';
if ($script eq 'login' or $script eq 'admin' or $script eq 'kopf') {
$::form->{titlebar} = "Lx-Office " . $::locale->text('Version') . " $::form->{version}";
- ::run($::auth->restore_session);
-
- } elsif ($action) {
- # copy from am.pl routines
- my $session_result = $::auth->restore_session;
+ ::run($session_result);
+ } else {
show_error('login/password_error', 'session') if SL::Auth::SESSION_EXPIRED == $session_result;
%::myconfig = $::auth->read_user($::form->{login});
$::auth->create_or_refresh_session;
delete $::form->{password};
- map { $::form->{$_} = $::myconfig{$_} } qw(stylesheet charset)
- unless $action eq 'save' && $::form->{type} eq 'preferences';
+ if ($action) {
+ map { $::form->{$_} = $::myconfig{$_} } qw(stylesheet charset)
+ unless $action eq 'save' && $::form->{type} eq 'preferences';
- $::form->set_standard_title;
- ::call_sub('::' . $::locale->findsub($action));
-
- } else {
- $::form->error($::locale->text('action= not defined!'));
+ $::form->set_standard_title;
+ ::call_sub('::' . $::locale->findsub($action));
+ } else {
+ $::form->error($::locale->text('action= not defined!'));
+ }
}
1;
}
sub unrequire_bin_mozilla {
+ return unless $_[0] =~ m/^(?:fastcgi|fcgid|fcgi)$/;
+
for (keys %INC) {
next unless m#^bin/mozilla/#;
next if /\bcommon.pl$/;