/usr/share/perl5/Prophet/Server/ViewHelpers.pm is in libprophet-perl 0.750-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 | package Prophet::Server::ViewHelpers;
use warnings;
use strict;
use base 'Exporter::Lite';
use Params::Validate qw/validate/;
use Template::Declare::Tags;
use Prophet::Web::Field;
our @EXPORT = (qw(form page content widget function param_from_function hidden_param));
use Prophet::Server::ViewHelpers::Widget;
use Prophet::Server::ViewHelpers::Function;
use Prophet::Server::ViewHelpers::ParamFromFunction;
use Prophet::Server::ViewHelpers::HiddenParam;
sub page (&;$) {
unshift @_, undef if $#_ == 0;
my ( $meta, $code ) = @_;
sub {
my $self = shift;
my @args = @_;
my $title = $self->default_page_title;
$title = $meta->( $self, @args ) if $meta;
html {
attr { xmlns => 'http://www.w3.org/1999/xhtml' };
show( 'head' => $title );
body {
div {
class is 'page';
show('header', $title);
div { class is 'body';
$code->( $self, @args );
}
}
};
show('footer');
}
}
}
sub content (&) {
my $sub_ref = shift;
return $sub_ref;
}
sub function {
my $f = Prophet::Server::ViewHelpers::Function->new(@_);
$f->render;
return $f;
}
sub param_from_function {
my $w = Prophet::Server::ViewHelpers::ParamFromFunction->new(@_);
$w->render;
return $w;
}
sub hidden_param {
my $w = Prophet::Server::ViewHelpers::HiddenParam->new(@_);
$w->render;
return $w;
}
sub widget {
my $w = Prophet::Server::ViewHelpers::Widget->new(@_);
$w->render;
return $w;
}
BEGIN {
no warnings 'redefine';
*old_form = \&form;
*form = sub (&;$){
my $code = shift;
old_form ( sub { attr { method => 'post'};
$code->(@_);
}
)
}};
1;
|