bless $self, $type;
+ $main::lxdebug->leave_sub();
+
+ return $self;
+}
+
+sub read_cgi_input {
+ $main::lxdebug->enter_sub();
+
+ my ($self) = @_;
+
$self->_input_to_hash($ENV{QUERY_STRING}) if $ENV{QUERY_STRING};
$self->_input_to_hash($ARGV[0]) if @ARGV && $ARGV[0];
$uploads = $self->_request_to_hash($content);
}
+ if ($self->{RESTORE_FORM_FROM_SESSION_ID}) {
+ my %temp_form;
+ $::auth->restore_form_from_session(delete $self->{RESTORE_FORM_FROM_SESSION_ID}, form => \%temp_form);
+ $self->_input_to_hash(join '&', map { $self->escape($_) . '=' . $self->escape($temp_form{$_}) } keys %temp_form);
+ }
+
my $db_charset = $::lx_office_conf{system}->{dbcharset};
$db_charset ||= Common::DEFAULT_CHARSET;
$additional_params->{"conf_dbcharset"} = $::lx_office_conf{system}->{dbcharset};
$additional_params->{"conf_webdav"} = $::lx_office_conf{features}->{webdav};
- $additional_params->{"conf_lizenzen"} = $::lx_office_conf{features}->{lizenzen};
$additional_params->{"conf_latex_templates"} = $::lx_office_conf{print_templates}->{latex};
$additional_params->{"conf_opendocument_templates"} = $::lx_office_conf{print_templates}->{opendocument};
$additional_params->{"conf_vertreter"} = $::lx_office_conf{features}->{vertreter};
$additional_params->{"conf_parts_image_css"} = $::lx_office_conf{features}->{parts_image_css};
$additional_params->{"conf_parts_listing_images"} = $::lx_office_conf{features}->{parts_listing_images};
$additional_params->{"conf_parts_show_image"} = $::lx_office_conf{features}->{parts_show_image};
+ $additional_params->{"INSTANCE_CONF"} = $::instance_conf;
if (%main::debug_options) {
map { $additional_params->{'DEBUG_' . uc($_)} = $main::debug_options{$_} } keys %main::debug_options;
sub init_template {
my $self = shift;
- return if $self->template;
+ return $self->template if $self->template;
return $self->template(Template->new({
'INTERPOLATE' => 0,
return $jsscript;
} #end sub write_trigger
+sub _store_redirect_info_in_session {
+ my ($self) = @_;
+
+ return unless $self->{callback} =~ m:^ ( [^\?/]+ \.pl ) \? (.+) :x;
+
+ my ($controller, $params) = ($1, $2);
+ my $form = { map { map { $self->unescape($_) } split /=/, $_, 2 } split m/\&/, $params };
+ $self->{callback} = "${controller}?RESTORE_FORM_FROM_SESSION_ID=" . $::auth->save_form_in_session(form => $form);
+}
+
sub redirect {
$main::lxdebug->enter_sub();
$self->info($msg);
} else {
+ $self->_store_redirect_info_in_session;
print $::form->redirect_header($self->{callback});
}