[# ewok edit save page #] [! do { use Ewok::Locker; use Ewok::Util qw(:dir :error); } !][- do { Execute({ inputfile => 'util.epl', import => 1 }); $req = shift; $debug = 0; @errors = (); $web_file = $fdat{web_file} || $fdat{p}; ($web_dir, $fs_dir, $wd, $filename) = webfsdir($req, $web_file, { errors => \@errors, create => $fdat{create}, }); $fs_file = $fs_dir . $filename; $l = Ewok::Locker->new(); } -] [# Remove the file lock #] [$ if (! $l->unlock($fs_file, $ENV{REMOTE_USER}, { errors => \@errors, altfile => $web_file })) $] [- errors(\@errors) -] [$ else $] [# Cancel #] [$ if ($fdat{op} eq 'Cancel') $] [- $http_headers_out{'Location'} = $fdat{referer}; -] [# Save #] [$ else $] [- do { # if (! -w $fs_file && ! $fdat{create}) { if (! -w $fs_file && ! $fdat{create}) { warning("Error: unable to write to '$web_file'.", \@errors); } elsif (! open TEXT, ">$fs_file") { warning("Error: opening $web_file failed.", "($!)", \@errors); } else { 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'); # } } if (@errors) { errors(\@errors); } else { $http_headers_out{'Location'} = $fdat{referer}; } } -] [$ endif $][$ endif $] [# arch-tag: 42b8b74f-abf1-4c25-9010-68f6cd1fbc19 #]