[# tag: ewok admin view page #]
[!
use Ewok::Config;
use Ewok::Authz qw(:common);
use File::Basename;
!]
[-
Execute({ inputfile => 'util.epl', import => 1 });
$req = shift;
$uri = $fdat{p};
$fs_file = $req_rec->lookup_uri($uri)->filename;
$filename = basename($uri);
$authz = authzGetUserHash($req, $fs_file);
$Config = get_config();
-]
ewok: view [+ $uri +]
[$ if (! ref $authz || ! $authz->{admin}) $]
[- errors("Error: access forbidden.") -]
[$ elsif (! $Config->{EWOK_RESTRICTED_OBJECTS}->{$filename} &&
$filename !~ m/\.meta$/) $]
[- errors("Error: '$filename' is an invalid object.") -]
[$ elsif (! -f $fs_file) $]
[- errors("Error: '$uri' does not exist.") -]
[$ else $]
[-
$data = '';
if (! open FILE, "<", $fs_file) {
errors("Error: unable to open $uri for read: $!");
}
else {
{
local $/;
$data = ;
}
close FILE;
}
-]
[+ $data +]
[$ endif $]