$::cgi entfernt.
authorSven Schöling <s.schoeling@linet-services.de>
Fri, 14 Oct 2011 11:53:35 +0000 (13:53 +0200)
committerSven Schöling <s.schoeling@linet-services.de>
Fri, 14 Oct 2011 11:57:11 +0000 (13:57 +0200)
Verfahren:
- Für alle Vorkommen von "my $cgi = $::cgi;":
  ersetzt durch my $cgi = $::request->{cgi}->new({}) ersetzt

- Wenn in einer Datei alle my $cgi rausgefallen sind auch use CGI entfernt.

- Initialisierung von $::cgi in scripts und Dispatcher entfernt und in dei
  Initialisierung von $::request eingebaut.

- cgi aus der Liste der kanonischen globals genommen.

Zu CGI:
- CGI::func und CGI->func sind beides valide Werte, sind aber intern buggy wie
  Hölle. CGI:: erzeugt ein Dummyobjekt mit CGI->new, und klobbert damit
  cookies. CGI-> ist noch schlimmer und ruft ${CGI}->{.cookies} auf.
- CGI->new({}) ist schneller als CGI->new(''), deshalb habe ich diese version genommen.
  Auf meinem Rechner schafft die erste Version etwa 32k/s, die zweite 28k/s.
- CGI kompiliert benötigte Funktionen beim ersten Aufruf über AUTOLOAD.
- cookie benötigen ein $cgi Objekt.

24 files changed:
SL/Auth.pm
SL/Controller/Base.pm
SL/Controller/DebugMenu.pm
SL/Dispatcher.pm
SL/Form.pm
bin/mozilla/admin.pl
bin/mozilla/ap.pl
bin/mozilla/ar.pl
bin/mozilla/dn.pl
bin/mozilla/do.pl
bin/mozilla/fu.pl
bin/mozilla/gl.pl
bin/mozilla/io.pl
bin/mozilla/ir.pl
bin/mozilla/is.pl
bin/mozilla/login.pl
bin/mozilla/oe.pl
bin/mozilla/rp.pl
bin/mozilla/sepa.pl
bin/mozilla/vk.pl
scripts/console
scripts/rose_auto_create_model.pl
scripts/task_server.pl
t/structure/globals.t

index e2b5490..7ca8d0b 100644 (file)
@@ -511,10 +511,7 @@ sub restore_session {
 
   my $self = shift;
 
-  my $cgi            =  $main::cgi;
-  $cgi             ||=  CGI->new('');
-
-  $session_id        =  $cgi->cookie($self->get_session_cookie_name());
+  $session_id        =  $::request->{cgi}->cookie($self->get_session_cookie_name());
   $session_id        =~ s|[^0-9a-f]||g;
 
   $self->{SESSION}   = { };
index 198f16e..6d94347 100644 (file)
@@ -30,7 +30,7 @@ sub redirect_to {
   my $self = shift;
   my $url  = $self->url_for(@_);
 
-  print $::cgi->redirect($url);
+  print $::request->{cgi}->redirect($url);
 }
 
 sub render {
index 0e53676..79b3cd5 100644 (file)
@@ -9,7 +9,7 @@ __PACKAGE__->run_before(sub { die 'not allowed in config' unless $::lx_office_co
 sub action_reload {
   my ($self, %params) = @_;
 
-  print $::cgi->redirect('controller.pl?action=FrameHeader/header');
+  print $::request->{cgi}->redirect('controller.pl?action=FrameHeader/header');
   exit;
 }
 
@@ -17,7 +17,7 @@ sub action_toggle {
   my ($self, %params) = @_;
 
   $::lxdebug->level_by_name($::form->{level}, !$::lxdebug->level_by_name($::form->{level}));
-  print $::cgi->redirect('controller.pl?action=FrameHeader/header');
+  print $::request->{cgi}->redirect('controller.pl?action=FrameHeader/header');
   return;
 }
 
index cfb4fb8..e9f7dac 100644 (file)
@@ -168,11 +168,10 @@ sub handle_request {
 
   $self->unrequire_bin_mozilla;
 
-  $::cgi           = CGI->new('');
   $::locale        = Locale->new($::lx_office_conf{system}->{language});
   $::form          = Form->new;
   $::instance_conf = SL::InstanceConfiguration->new;
-  $::request       = { };
+  $::request       = { cgi => CGI->new({}) };
 
   my $session_result = $::auth->restore_session;
   $::auth->create_or_refresh_session;
@@ -240,7 +239,7 @@ sub handle_request {
   } or do {
     if ($EVAL_ERROR ne END_OF_REQUEST) {
       print STDERR $EVAL_ERROR;
-      $::form->{label_error} = $::cgi->pre($EVAL_ERROR);
+      $::form->{label_error} = $::request->{cgi}->pre($EVAL_ERROR);
       eval { show_error('generic/error') };
     }
   };
@@ -311,7 +310,7 @@ sub _route_dispatcher_request {
 
     1;
   } or do {
-    $::form->{label_error} = $::cgi->pre($EVAL_ERROR);
+    $::form->{label_error} = $::request->{cgi}->pre($EVAL_ERROR);
     show_error('generic/error');
   };
 
@@ -328,7 +327,7 @@ sub _route_controller_request {
 
     1;
   } or do {
-    $::form->{label_error} = $::cgi->pre($EVAL_ERROR);
+    $::form->{label_error} = $::request->{cgi}->pre($EVAL_ERROR);
     show_error('generic/error');
   };
 
index b9ba694..c753935 100644 (file)
@@ -464,11 +464,11 @@ sub hide_form {
   my $self = shift;
 
   if (@_) {
-    map({ print($main::cgi->hidden("-name" => $_, "-default" => $self->{$_}) . "\n"); } @_);
+    map({ print($::request->{cgi}->hidden("-name" => $_, "-default" => $self->{$_}) . "\n"); } @_);
   } else {
     for (sort keys %$self) {
       next if (($_ eq "header") || (ref($self->{$_}) ne ""));
-      print($main::cgi->hidden("-name" => $_, "-default" => $self->{$_}) . "\n");
+      print($::request->{cgi}->hidden("-name" => $_, "-default" => $self->{$_}) . "\n");
     }
   }
   $main::lxdebug->leave_sub();
@@ -624,8 +624,7 @@ sub create_http_response {
   my $self     = shift;
   my %params   = @_;
 
-  my $cgi      = $main::cgi;
-  $cgi       ||= CGI->new('');
+  my $cgi      = $::request->{cgi};
 
   my $session_cookie;
   if (defined $main::auth) {
@@ -762,8 +761,7 @@ sub ajax_response_header {
   my ($self) = @_;
 
   my $db_charset = $::lx_office_conf{system}->{dbcharset} || Common::DEFAULT_CHARSET;
-  my $cgi        = $main::cgi || CGI->new('');
-  my $output     = $cgi->header('-charset' => $db_charset);
+  my $output     = $::request->{cgi}->header('-charset' => $db_charset);
 
   $main::lxdebug->leave_sub();
 
@@ -780,8 +778,7 @@ sub redirect_header {
   die "Headers already sent" if $self->{header};
   $self->{header} = 1;
 
-  my $cgi = $main::cgi || CGI->new('');
-  return $cgi->redirect($new_uri);
+  return $::request->{cgi}->redirect($new_uri);
 }
 
 sub set_standard_title {
index e788427..2472f6c 100755 (executable)
@@ -33,7 +33,6 @@
 #======================================================================
 
 use DBI;
-use CGI;
 use Encode;
 use English qw(-no_match_vars);
 use Fcntl;
@@ -68,7 +67,6 @@ sub run {
   $::lxdebug->enter_sub;
   my $session_result = shift;
 
-  $cgi    = $::cgi;
   $form   = $::form;
   $locale = $::locale;
   $auth   = $::auth;
index 361d432..6d24657 100644 (file)
@@ -195,7 +195,7 @@ sub form_header {
   my $form     = $main::form;
   my %myconfig = %main::myconfig;
   my $locale   = $main::locale;
-  my $cgi      = $main::cgi;
+  my $cgi      = $::request->{cgi};
 
   $main::auth->assert('general_ledger');
 
@@ -836,7 +836,7 @@ sub form_footer {
   my $form     = $main::form;
   my %myconfig = %main::myconfig;
   my $locale   = $main::locale;
-  my $cgi      = $main::cgi;
+  my $cgi      = $::request->{cgi};
 
   $main::auth->assert('general_ledger');
 
index 2f2f55e..1522339 100644 (file)
@@ -215,7 +215,7 @@ sub form_header {
   my $form     = $main::form;
   my %myconfig = %main::myconfig;
   my $locale   = $main::locale;
-  my $cgi      = $main::cgi;
+  my $cgi      = $::request->{cgi};
 
   my ($title, $readonly, $exchangerate, $rows);
   my ($taxincluded, $notes, $department, $customer, $employee, $amount, $project);
@@ -879,7 +879,7 @@ sub form_footer {
   my $form     = $main::form;
   my %myconfig = %main::myconfig;
   my $locale   = $main::locale;
-  my $cgi      = $main::cgi;
+  my $cgi      = $::request->{cgi};
 
   my ($transdate, $closedto);
 
@@ -1332,7 +1332,7 @@ sub search {
   my $form     = $main::form;
   my %myconfig = %main::myconfig;
   my $locale   = $main::locale;
-  my $cgi      = $main::cgi;
+  my $cgi      = $::request->{cgi};
 
   my ($customer, $department);
   my ($jsscript, $button1, $button2, $onload);
index 063f9da..132286f 100644 (file)
@@ -316,7 +316,7 @@ sub show_dunning {
   my $form     = $main::form;
   my %myconfig = %main::myconfig;
   my $locale   = $main::locale;
-  my $cgi      = $main::cgi;
+  my $cgi      = $::request->{cgi};
 
   $main::auth->assert('dunning_edit');
 
index 54c650c..7924b05 100644 (file)
@@ -454,7 +454,7 @@ sub orders {
   my $form     = $main::form;
   my %myconfig = %main::myconfig;
   my $locale   = $main::locale;
-  my $cgi      = $main::cgi;
+  my $cgi      = $::request->{cgi};
 
   ($form->{ $form->{vc} }, $form->{"$form->{vc}_id"}) = split(/--/, $form->{ $form->{vc} });
 
index ec32241..8870c2b 100644 (file)
@@ -231,7 +231,7 @@ sub report {
   my $form     = $main::form;
   my %myconfig = %main::myconfig;
   my $locale   = $main::locale;
-  my $cgi      = $main::cgi;
+  my $cgi      = $::request->{cgi};
 
   my @report_params = qw(created_for subject body reference follow_up_date_from follow_up_date_to itime_from itime_to due_only all_users done not_done);
 
index 189d1c4..6ef1ca3 100644 (file)
@@ -218,7 +218,7 @@ sub search {
   my $form     = $main::form;
   my %myconfig = %main::myconfig;
   my $locale   = $main::locale;
-  my $cgi      = $main::cgi;
+  my $cgi      = $::request->{cgi};
 
   $form->{title} = $locale->text('Journal');
 
@@ -507,7 +507,7 @@ sub generate_report {
 
   my @columns = qw(
     gldate         transdate        id             reference      description
-    notes          source           debit          debit_accno   
+    notes          source           debit          debit_accno
     credit         credit_accno     debit_tax      debit_tax_accno
     credit_tax     credit_tax_accno projectnumbers balance employee
   );
@@ -861,7 +861,7 @@ sub display_rows {
 
   my $form     = $main::form;
   my %myconfig = %main::myconfig;
-  my $cgi      = $main::cgi;
+  my $cgi      = $::request->{cgi};
 
   $form->{debit_1}     = 0 if !$form->{"debit_1"};
   $form->{totaldebit}  = 0;
@@ -1347,7 +1347,7 @@ sub form_footer {
   my $form     = $main::form;
   my %myconfig = %main::myconfig;
   my $locale   = $main::locale;
-  my $cgi      = $main::cgi;
+  my $cgi      = $::request->{cgi};
 
   my $follow_ups_block;
   if ($form->{id}) {
index e647db6..a4e027d 100644 (file)
@@ -113,7 +113,7 @@ sub display_row {
   my $form     = $main::form;
   my %myconfig = %main::myconfig;
   my $locale   = $main::locale;
-  my $cgi      = $main::cgi;
+  my $cgi      = $::request->{cgi};
 
   my $numrows = shift;
 
@@ -415,7 +415,7 @@ sub set_pricegroup {
 
   my $form     = $main::form;
   my $locale   = $main::locale;
-  my $cgi      = $main::cgi;
+  my $cgi      = $::request->{cgi};
 
   _check_io_auth();
 
index 780b8ea..353b444 100644 (file)
@@ -262,7 +262,7 @@ sub form_header {
   my $form     = $main::form;
   my %myconfig = %main::myconfig;
   my $locale   = $main::locale;
-  my $cgi      = $main::cgi;
+  my $cgi      = $::request->{cgi};
 
   $main::auth->assert('vendor_invoice_edit');
 
index 9ca19d8..19f546d 100644 (file)
@@ -285,7 +285,7 @@ sub form_header {
   my $form     = $main::form;
   my %myconfig = %main::myconfig;
   my $locale   = $main::locale;
-  my $cgi      = $main::cgi;
+  my $cgi      = $::request->{cgi};
 
   $main::auth->assert('invoice_edit');
 
@@ -335,7 +335,7 @@ sub form_header {
   my %labels = map { $_ => $_ } @{ $form->{ALL_CURRENCIES} };
   $form->{currency}            = $form->{defaultcurrency} unless $form->{currency};
   $form->{show_exchangerate}   = $form->{currency} ne $form->{defaultcurrency};
-  $TMPL_VAR{currencies}        = NTI($::cgi->popup_menu('-name' => 'currency', '-default' => $form->{"currency"},
+  $TMPL_VAR{currencies}        = NTI($::request->{cgi}->popup_menu('-name' => 'currency', '-default' => $form->{"currency"},
                                                       '-values' => \@values, '-labels' => \%labels)) if scalar @values;
   push @custom_hiddens, "forex";
   push @custom_hiddens, "exchangerate" if $form->{forex};
index 94905e4..d52a69b 100644 (file)
@@ -45,7 +45,6 @@ sub run {
   $::lxdebug->enter_sub;
   my $session_result = shift;
 
-  $cgi    = $::cgi;
   $form   = $::form;
   $auth   = $::auth;
 
index 6b8d30b..90efb0e 100644 (file)
@@ -298,7 +298,7 @@ sub form_header {
   my $form     = $main::form;
   my %myconfig = %main::myconfig;
   my $locale   = $main::locale;
-  my $cgi      = $main::cgi;
+  my $cgi      = $::request->{cgi};
 
   check_oe_access();
 
@@ -744,7 +744,7 @@ sub orders {
   my $form     = $main::form;
   my %myconfig = %main::myconfig;
   my $locale   = $main::locale;
-  my $cgi      = $main::cgi;
+  my $cgi      = $::request->{cgi};
 
   check_oe_access();
 
index 125d0b9..062c44f 100644 (file)
@@ -176,7 +176,7 @@ sub report {
   }
 
   my $projectnumber =
-    NTI($main::cgi->popup_menu('-name' => "project_id",
+    NTI($::request->{cgi}->popup_menu('-name' => "project_id",
                                '-values' => \@project_values,
                                '-labels' => \%project_labels));
 
@@ -1663,7 +1663,7 @@ sub aging {
   my $form     = $main::form;
   my %myconfig = %main::myconfig;
   my $locale   = $main::locale;
-  my $cgi      = $main::cgi;
+  my $cgi      = $::request->{cgi};
 
   my $report = SL::ReportGenerator->new(\%myconfig, $form);
 
index f559c60..ce334b2 100755 (executable)
@@ -176,7 +176,7 @@ sub bank_transfer_list {
 
   my $form   = $main::form;
   my $locale = $main::locale;
-  my $cgi    = $main::cgi;
+  my $cgi    = $::request->{cgi};
   my $vc     = $form->{vc} eq 'customer' ? 'customer' : 'vendor';
 
   $form->{title}     = $vc eq 'customer' ? $::locale->text('List of bank collections') : $locale->text('List of bank transfers');
@@ -443,7 +443,7 @@ sub bank_transfer_download_sepa_xml {
   my $form     =  $main::form;
   my $myconfig = \%main::myconfig;
   my $locale   =  $main::locale;
-  my $cgi      =  $main::cgi;
+  my $cgi      =  $::request->{cgi};
   my $vc       = $form->{vc} eq 'customer' ? 'customer' : 'vendor';
 
   if (!$myconfig->{company}) {
index 1327b21..e871053 100644 (file)
@@ -54,7 +54,6 @@ sub search_invoice {
   my $form     = $main::form;
   my %myconfig = %main::myconfig;
   my $locale   = $main::locale;
-  my $cgi      = $main::cgi;
 
   my ($customer, $department);
 
@@ -100,7 +99,7 @@ sub invoice_transactions {
     # Nichts führt, daher diese Zwischenlösung
 
     &check_name('customer', no_select => 1);
-  
+
     # $form->{customer_id} wurde schon von check_name gesetzt
     $form->{customername} = $form->{customer};
   };
@@ -312,7 +311,7 @@ sub invoice_transactions {
 
     if ( $subtotals2{qty} != 0 ) {
       $subtotals2{sellprice} = $subtotals2{sellprice_total} / $subtotals2{qty};
-      $subtotals2{lastcost} = $subtotals2{lastcost_total} / $subtotals2{qty}; 
+      $subtotals2{lastcost} = $subtotals2{lastcost_total} / $subtotals2{qty};
     } else {
       $subtotals2{sellprice} = 0;
       $subtotals2{lastcost} = 0;
index df9f6bf..50febad 100755 (executable)
@@ -62,11 +62,10 @@ sub lxinit {
 
   $::lxdebug       = LXDebug->new(file => $debug_file);
   $::locale        = Locale->new($::lx_office_conf{system}->{language});
-  $::cgi           = CGI->new qw();
   $::form          = Form->new;
   $::auth          = SL::Auth->new;
   $::instance_conf = SL::InstanceConfiguration->new;
-  $::request       = { };
+  $::request       = { cgi => CGI->new({}) };
 
   die 'cannot reach auth db'               unless $::auth->session_tables_present;
 
index 5a7a122..12ac0bd 100755 (executable)
@@ -31,7 +31,6 @@ my %blacklist     = SL::DB::Helper::Mappings->get_blacklist;
 my %package_names = SL::DB::Helper::Mappings->get_package_names;
 
 our $form;
-our $cgi;
 our $auth;
 our %lx_office_conf;
 
@@ -59,11 +58,10 @@ sub setup {
   $::lxdebug      = LXDebug->new();
   $::locale       = Locale->new("de");
   $::form         = new Form;
-  $::cgi          = new CGI('');
   $::auth         = SL::Auth->new();
   $::user         = User->new($login);
   %::myconfig     = $auth->read_user($login);
-  $::request      = { };
+  $::request      = { cgi => CGI->new({}) };
   $form->{script} = 'rose_meta_data.pl';
   $form->{login}  = $login;
 
index 66e81e7..9bf2cb3 100755 (executable)
@@ -40,10 +40,9 @@ sub lxinit {
 
   $::lxdebug = LXDebug->new;
   $::locale  = Locale->new($::lx_office_conf{system}->{language});
-  $::cgi     = CGI->new qw();
   $::form    = Form->new;
   $::auth    = SL::Auth->new;
-  $::request = { };
+  $::request = { cgi => CGI->new({}) };
 
   die 'cannot reach auth db'               unless $::auth->session_tables_present;
 
index 14e0445..0a04c6f 100644 (file)
@@ -7,7 +7,7 @@ use Support::Files;
 my (@globals, $testcount);
 
 BEGIN {
-  @globals = qw(lxdebug auth myconfig form cgi lx_office_conf locale dispatcher instance_conf request);
+  @globals = qw(lxdebug auth myconfig form lx_office_conf locale dispatcher instance_conf request);
   $testcount = scalar(@Support::Files::testitems);
 }