package Eludia::Presentation::Skins::Dumper;
use Data::Dumper;
$Data::Dumper::Sortkeys = 1;
################################################################################
sub options {
return {
no_presentation => 1,
};
}
################################################################################
sub draw_page {
my ($_SKIN, $page) = @_;
$_REQUEST {__content_type} ||= 'text/plain; charset=' . $i18n -> {_charset};
return Dumper ({
data => $page -> {content},
}) if $_REQUEST {__d};
$_REQUEST {__content_type} ||= 'application/octet-stream';
$r -> headers_out -> {'Content-Disposition'} = "attachment;filename=$_REQUEST{type}_$_REQUEST{id}.txt";
my $dump = Dumper ({
request => \%_REQUEST,
user => $_USER,
content => $page -> {content},
});
return $dump;
}
################################################################################
sub draw_error_page {
my ($_SKIN, $page) = @_;
$_REQUEST {__content_type} ||= 'text/plain; charset=' . $i18n -> {_charset};
return Dumper ({error => {
message => $_REQUEST {error},
field => $page -> {error_field},
}}) if $_REQUEST {__d};
}
################################################################################
sub draw_redirect_page {
my ($_SKIN, $page) = @_;
$_REQUEST {__content_type} ||= 'text/plain; charset=' . $i18n -> {_charset};
return Dumper ({redirect => {url => $page -> {url}}}) if $_REQUEST {__d};
}
################################################################################
sub lrt_print {
my $_SKIN = shift;
my $id = int (time * rand);
$r -> print ("");
$r -> print (@_);
$r -> print ("");
$r -> print ($lrt_bar);
$r -> print (<
document.getElementById ('$id').scrollIntoView (false);