From cf83278667fc82135e294c35d334a62318a1e39d Mon Sep 17 00:00:00 2001 From: Kate Arzamastseva Date: Wed, 22 Jun 2011 23:59:11 +0300 Subject: [PATCH] media version saving metadata --- inc/lang/en/lang.php | 23 ++++++++++++----------- inc/media.php | 15 ++++++++++++++- 2 files changed, 26 insertions(+), 12 deletions(-) diff --git a/inc/lang/en/lang.php b/inc/lang/en/lang.php index e0e2e6cf53..6fb387a89c 100644 --- a/inc/lang/en/lang.php +++ b/inc/lang/en/lang.php @@ -325,17 +325,18 @@ $lang['wordblock'] = 'Your change was not saved because it contains blocked text (spam).'; -$lang['media_uploadtab'] = 'Upload'; -$lang['media_searchtab'] = 'Search'; -$lang['media_viewtab'] = 'View'; -$lang['media_edittab'] = 'Edit'; -$lang['media_historytab'] = 'History'; -$lang['media_thumbsview'] = 'Thumbnails'; +$lang['media_uploadtab'] = 'Upload'; +$lang['media_searchtab'] = 'Search'; +$lang['media_viewtab'] = 'View'; +$lang['media_edittab'] = 'Edit'; +$lang['media_historytab'] = 'History'; +$lang['media_thumbsview'] = 'Thumbnails'; $lang['media_listview'] = 'List'; -$lang['media_sort'] = 'Sort'; -$lang['media_search'] = 'Search'; -$lang['media_view'] = 'View'; -$lang['media_edit'] = 'Edit'; -$lang['media_history'] = 'These are the older revisions of the file.'; +$lang['media_sort'] = 'Sort'; +$lang['media_search'] = 'Search'; +$lang['media_view'] = 'View'; +$lang['media_edit'] = 'Edit'; +$lang['media_history'] = 'These are the older revisions of the file.'; +$lang['media_meta_edited']= 'metadata edited'; //Setup VIM: ex: et ts=2 : diff --git a/inc/media.php b/inc/media.php index c16665b139..68aab54152 100644 --- a/inc/media.php +++ b/inc/media.php @@ -40,6 +40,7 @@ function media_filesinuse($data,$id){ * Handles the saving of image meta data * * @author Andreas Gohr + * @author Kate Arzamastseva */ function media_metasave($id,$auth,$data){ if($auth < AUTH_UPLOAD) return false; @@ -60,8 +61,19 @@ function media_metasave($id,$auth,$data){ } } + $old = @filemtime($src); + if(!@file_exists(mediaFN($id, $old)) && @file_exists($src)) { + // add old revision to the attic + media_saveOldRevision($id); + } + if($meta->save()){ if($conf['fperm']) chmod($src, $conf['fperm']); + + $new = @filemtime($src); + // add a log entry to the media changelog + addMediaLogEntry($new, $id, DOKU_CHANGE_TYPE_EDIT, $lang['media_meta_edited']); + msg($lang['metasaveok'],1); return $id; }else{ @@ -834,7 +846,8 @@ function media_details($image, $auth, $rev=false) { * */ function media_getTag($tags,$src,$alt=''){ - $meta = new JpegMeta($src); + //$meta = new JpegMeta($src); + $meta = JpegMeta::Create($src); if($meta === false) return $alt; $info = $meta->getField($tags); if($info == false) return $alt;