]> wagnertech.de Git - kivitendo-erp.git/blobdiff - bin/mozilla/admin.pl
fcgi patch test
[kivitendo-erp.git] / bin / mozilla / admin.pl
index 42efda84250977e5d44ec8f1b9d147a9a161e007..8bd621c80fd56cfb9d1c73937d423c9fb2802c6e 100755 (executable)
@@ -57,56 +57,48 @@ require "bin/mozilla/admin_groups.pl";
 
 use strict;
 
-our $cgi    = new CGI('');
-our $form   = new Form;
-our $locale = new Locale $main::language, "admin";
-our $auth = SL::Auth->new();
-
-if ($auth->session_tables_present()) {
-  $auth->expire_sessions();
-  $auth->restore_session();
-  $auth->set_session_value('rpw', $form->{rpw});
-}
-
-# customization
-if (-f "bin/mozilla/custom_$form->{script}") {
-  eval { require "bin/mozilla/custom_$form->{script}"; };
-  $form->error($@) if ($@);
-}
+our $cgi;
+our $form;
+our $locale;
+our $auth;
 
-$form->{stylesheet} = "lx-office-erp.css";
-$form->{favicon}    = "favicon.ico";
+sub run {
+  $::lxdebug->enter_sub;
+  my $session_result = shift;
 
-if ($form->{action}) {
-  if ($auth->authenticate_root($form->{rpw}, 0) != $auth->OK()) {
-    $form->{error_message} = $locale->text('Incorrect Password!');
-    adminlogin();
-    exit;
-  }
+  $cgi    = $::cgi;
+  $form   = $::form;
+  $locale = $::locale;
+  $auth   = $::auth;
 
-  $auth->create_or_refresh_session() if ($auth->session_tables_present());
+  $::auth->set_session_value('rpw', $::form->{rpw}) if $session_result == SL::Auth->SESSION_OK;
 
-  call_sub($locale->findsub($form->{action}));
-
-} elsif ($auth->authenticate_root($form->{rpw}, 0) == $auth->OK()) {
-
-  $auth->create_or_refresh_session() if ($auth->session_tables_present());
+  $form->{stylesheet} = "lx-office-erp.css";
+  $form->{favicon}    = "favicon.ico";
 
-  login();
+  if ($form->{action}) {
+    if ($auth->authenticate_root($form->{rpw}, 0) != $auth->OK()) {
+      $form->{error_message} = $locale->text('Incorrect Password!');
+      adminlogin();
+    } else {
+      $auth->create_or_refresh_session() if ($auth->session_tables_present());
+      call_sub($locale->findsub($form->{action}));
+    }
+  } elsif ($auth->authenticate_root($form->{rpw}, 0) == $auth->OK()) {
 
-} else {
-  # if there are no drivers bail out
-  $form->error($locale->text('No Database Drivers available!'))
-    unless (User->dbdrivers);
+    $auth->create_or_refresh_session() if ($auth->session_tables_present());
 
-  adminlogin();
+    login();
+  } else {
+    # if there are no drivers bail out
+    $form->error($locale->text('No Database Drivers available!'))
+      unless (User->dbdrivers);
 
+    adminlogin();
+  }
+  $::lxdebug->leave_sub;
 }
 
-1;
-
-# end
-
 sub adminlogin {
   my $form     = $main::form;
   my $locale   = $main::locale;