summaryrefslogtreecommitdiff
path: root/inc/media.php
diff options
context:
space:
mode:
authorKate Arzamastseva <pshns@ukr.net>2011-08-03 16:28:51 +0300
committerKate Arzamastseva <pshns@ukr.net>2011-08-03 16:28:51 +0300
commitdbf57c9615246b406f46ee1bfcff2742536ed05d (patch)
tree88609cf2a9a4ee072e5a149e4aabfeb4a80561c6 /inc/media.php
parent92cac9a97ee63d9c3c9bb8b0da1e3eb0604ba04f (diff)
downloadrpg-dbf57c9615246b406f46ee1bfcff2742536ed05d.tar.gz
rpg-dbf57c9615246b406f46ee1bfcff2742536ed05d.tar.bz2
issue #41 old version saved in the case of external edits
Diffstat (limited to 'inc/media.php')
-rw-r--r--inc/media.php13
1 files changed, 12 insertions, 1 deletions
diff --git a/inc/media.php b/inc/media.php
index c009785fd..e8a537fd5 100644
--- a/inc/media.php
+++ b/inc/media.php
@@ -423,12 +423,23 @@ function media_upload_finish($fn_tmp, $fn, $id, $imime, $overwrite, $move = 'mov
* @return int - revision date
*/
function media_saveOldRevision($id){
- global $conf;
+ global $conf, $lang;
+
$oldf = mediaFN($id);
if(!@file_exists($oldf)) return '';
$date = filemtime($oldf);
if (!$conf['mediarevisions']) return $date;
+ if (!getRevisionInfo($id, $date, 8192, true)) {
+ // there was an external edit,
+ // there is no log entry for current version of file
+ if (!@file_exists(mediaMetaFN($id,'.changes'))) {
+ addMediaLogEntry($date, $id, DOKU_CHANGE_TYPE_CREATE, $lang['created']);
+ } else {
+ addMediaLogEntry($date, $id, DOKU_CHANGE_TYPE_EDIT);
+ }
+ }
+
$newf = mediaFN($id,$date);
io_makeFileDir($newf);
if(copy($oldf, $newf)) {