[# tag: ewok edit save page #]
[! use Ewok::Locker !]
[-
$req = shift;
$web_file = $fdat{web_file};
$fs_file = $req_rec -> lookup_uri( $web_file ) -> filename;
$l = Ewok::Locker->new();
-]
[# Remove the file lock #]
[$ if (! $l->unlock($fs_file, $ENV{REMOTE_USER},
{ errors => \@errors, altfile => $web_file })) $]
The following errors were encountered:
-
[+ $escmode = 0; join("
\n- ", @errors) +]
[$ else $]
[# Cancel #]
[$ if ($fdat{op} eq 'Cancel') $]
[- $http_headers_out{'Location'} = $fdat{referer}; -]
[# Save #]
[$ else $]
[$ if -w $fs_file $]
[-
if (open TEXT, ">$fs_file") {
print TEXT $fdat{edittext};
close TEXT;
# my $meta = Ewok::Meta::getMeta($fs_file);
# if ($meta->{post_process}) {
# Ewok::Meta::system($meta->{post_process}, $fs_file, \@errors, 'post-process');
# }
$http_headers_out{'Location'} = $fdat{referer} if ! @errors;
}
else {
push @errors, "Error: opening $web_file failed: $!.";
}
-]
[$ if (@errors) $]
The following errors were encountered:
-
[+ $escmode = 0; join("
\n- ", @errors) +]
[$ endif $]
[$ else $]
Error: unable to write to [+ $web_file +].
[$ endif $][$ endif $][$ endif $]