Revision 5494f687
Von Sven Schöling vor etwa 13 Jahren hinzugefügt
SL/Form.pm | ||
---|---|---|
464 | 464 |
my $self = shift; |
465 | 465 |
|
466 | 466 |
if (@_) { |
467 |
map({ print($main::cgi->hidden("-name" => $_, "-default" => $self->{$_}) . "\n"); } @_);
|
|
467 |
map({ print($::request->{cgi}->hidden("-name" => $_, "-default" => $self->{$_}) . "\n"); } @_);
|
|
468 | 468 |
} else { |
469 | 469 |
for (sort keys %$self) { |
470 | 470 |
next if (($_ eq "header") || (ref($self->{$_}) ne "")); |
471 |
print($main::cgi->hidden("-name" => $_, "-default" => $self->{$_}) . "\n");
|
|
471 |
print($::request->{cgi}->hidden("-name" => $_, "-default" => $self->{$_}) . "\n");
|
|
472 | 472 |
} |
473 | 473 |
} |
474 | 474 |
$main::lxdebug->leave_sub(); |
... | ... | |
624 | 624 |
my $self = shift; |
625 | 625 |
my %params = @_; |
626 | 626 |
|
627 |
my $cgi = $main::cgi; |
|
628 |
$cgi ||= CGI->new(''); |
|
627 |
my $cgi = $::request->{cgi}; |
|
629 | 628 |
|
630 | 629 |
my $session_cookie; |
631 | 630 |
if (defined $main::auth) { |
... | ... | |
762 | 761 |
my ($self) = @_; |
763 | 762 |
|
764 | 763 |
my $db_charset = $::lx_office_conf{system}->{dbcharset} || Common::DEFAULT_CHARSET; |
765 |
my $cgi = $main::cgi || CGI->new(''); |
|
766 |
my $output = $cgi->header('-charset' => $db_charset); |
|
764 |
my $output = $::request->{cgi}->header('-charset' => $db_charset); |
|
767 | 765 |
|
768 | 766 |
$main::lxdebug->leave_sub(); |
769 | 767 |
|
... | ... | |
780 | 778 |
die "Headers already sent" if $self->{header}; |
781 | 779 |
$self->{header} = 1; |
782 | 780 |
|
783 |
my $cgi = $main::cgi || CGI->new(''); |
|
784 |
return $cgi->redirect($new_uri); |
|
781 |
return $::request->{cgi}->redirect($new_uri); |
|
785 | 782 |
} |
786 | 783 |
|
787 | 784 |
sub set_standard_title { |
Auch abrufbar als: Unified diff
$::cgi entfernt.
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.