diff options
author | Michael Klier <chi@chimeric.de> | 2008-03-26 21:02:31 +0100 |
---|---|---|
committer | Michael Klier <chi@chimeric.de> | 2008-03-26 21:02:31 +0100 |
commit | 3d1f9ec3674462e63f4195dd834603148a7c7b42 (patch) | |
tree | e0a310e687ce3595adb45658c15b472fd99ab8fb /inc/changelog.php | |
parent | 6a5b38cd97b00e27beaae7e3158f868dfcde4193 (diff) | |
download | rpg-3d1f9ec3674462e63f4195dd834603148a7c7b42.tar.gz rpg-3d1f9ec3674462e63f4195dd834603148a7c7b42.tar.bz2 |
purge non-persistent meta data on page deletion
With this patch applied the persistent meta data of pages is kept when a
page is deleted. This way the original page creator as well as the creation
time of the page is preserved.
darcs-hash:20080326200231-23886-ddb70151fadf25d0254d56408b71484047198096.gz
Diffstat (limited to 'inc/changelog.php')
-rw-r--r-- | inc/changelog.php | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/inc/changelog.php b/inc/changelog.php index 1d61e36df..def785f43 100644 --- a/inc/changelog.php +++ b/inc/changelog.php @@ -71,10 +71,16 @@ function addLogEntry($date, $id, $type=DOKU_CHANGE_TYPE_EDIT, $summary='', $extr // update metadata if (!$wasRemoved) { - $meta = array(); - if (!$INFO['exists']){ // newly created + $oldmeta = p_read_metadata($id); + $meta = array(); + if (!$INFO['exists'] && empty($oldmeta['persistent']['date']['created'])){ // newly created $meta['date']['created'] = $created; if ($user) $meta['creator'] = $INFO['userinfo']['name']; + } elseif (!$INFO['exists'] && !empty($oldmeta['persistent']['date']['created'])) { // re-created / restored + $meta['date']['created'] = $oldmeta['persistent']['date']['created']; + $meta['date']['modified'] = $created; // use the files ctime here + $meta['creator'] = $oldmeta['persistent']['creator']; + if ($user) $meta['contributor'][$user] = $INFO['userinfo']['name']; } elseif (!$minor) { // non-minor modification $meta['date']['modified'] = $date; if ($user) $meta['contributor'][$user] = $INFO['userinfo']['name']; |