aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pmwiki.php13
1 files changed, 9 insertions, 4 deletions
diff --git a/pmwiki.php b/pmwiki.php
index 8a53b366..2fb9ba29 100644
--- a/pmwiki.php
+++ b/pmwiki.php
@@ -2761,11 +2761,11 @@ function PostPage($pagename, &$page, &$new) {
if (!$EnablePost) return;
if (preg_match("/$DeleteKeyPattern/",$new['text'])) {
if (@$new['passwdattr']>'' && !CondAuth($pagename, 'attr'))
- Abort('$[The page has an "attr" attribute and cannot be deleted.]');
- else $WikiDir->delete($pagename);
- $IsPagePosted = true;
- return;
+ return Abort('$[The page has an "attr" attribute and cannot be deleted.]');
+ $new = array_merge($new, $page);
+ $deleted = 1;
}
+ else $deleted = 0;
$new['charset'] = $Charset; # kept for now, may be needed if custom PageStore
$new['author'] = @$Author;
$new["author:$Now"] = @$Author;
@@ -2784,6 +2784,11 @@ function PostPage($pagename, &$page, &$new) {
unset($new[$k]);
}
WritePage($pagename,$new);
+
+ if ($deleted) {
+ clearstatcache();
+ $WikiDir->delete($pagename);
+ }
$IsPagePosted = true;
}