diff --git a/inc/html.php b/inc/html.php index 738ee6d75f10d43f36624664a6a9106cefb4ed49..cf0b003976454cb37d9b2ddc2233e82caac431d0 100644 --- a/inc/html.php +++ b/inc/html.php @@ -472,20 +472,30 @@ function html_revisions($first=0, $media_id = false){ $form->addElement('<img src="'.DOKU_BASE.'lib/images/blank.gif" width="15" height="11" alt="" />'); + if (!$media_id) $href = wl($id); + else $href = media_managerURL(array('image' => $id, 'tab_details' => 'view')); $form->addElement(form_makeOpenTag('a', array( 'class' => 'wikilink1', - 'href' => wl($id)))); + 'href' => $href))); $form->addElement($id); $form->addElement(form_makeCloseTag('a')); $form->addElement(form_makeOpenTag('span', array('class' => 'sum'))); $form->addElement(' – '); - $form->addElement(htmlspecialchars($INFO['sum'])); + if (!$media_id) $form->addElement(htmlspecialchars($INFO['sum'])); $form->addElement(form_makeCloseTag('span')); $form->addElement(form_makeOpenTag('span', array('class' => 'user'))); - /// - $form->addElement((empty($INFO['editor']))?('('.$lang['external_edit'].')'):editorinfo($INFO['editor'])); + if (!$media_id) $editor = $INFO['editor']; + else { + $revinfo = getRevisionInfo($id, @filemtime(fullpath(mediaFN($id))), 1024, true); + if($revinfo['user']){ + $editor = $revinfo['user']; + }else{ + $editor = $revinfo['ip']; + } + } + $form->addElement((empty($editor))?('('.$lang['external_edit'].')'):editorinfo($editor)); $form->addElement(form_makeCloseTag('span')); $form->addElement('('.$lang['current'].')'); @@ -494,10 +504,14 @@ function html_revisions($first=0, $media_id = false){ } foreach($revisions as $rev){ - $date = dformat($rev); - $info = getRevisionInfo($id,$rev,true); - if (!$media_id) $exists = page_exists($id,$rev); - else $exists = @file_exists(mediaFN($id,$rev)); + $date = dformat($rev); + if (!$media_id) { + $info = getRevisionInfo($id,$rev,true); + $exists = page_exists($id,$rev); + } else { + $info = getRevisionInfo($id,$rev,true,true); + $exists = @file_exists(mediaFN($id,$rev)); + } if ($info['type']===DOKU_CHANGE_TYPE_MINOR_EDIT) $form->addElement(form_makeOpenTag('li', array('class' => 'minor'))); @@ -518,8 +532,9 @@ function html_revisions($first=0, $media_id = false){ $form->addElement(form_makeCloseTag('span')); if($exists){ - /// - $form->addElement(form_makeOpenTag('a', array('href' => wl($id,"rev=$rev,do=diff", false, '&'), 'class' => 'diff_link'))); + if (!$media_id) $href = wl($id,"rev=$rev,do=diff", false, '&'); + else $href = media_managerURL(array('image' => $id, 'tab_details' => 'view', 'rev' => $rev)); + $form->addElement(form_makeOpenTag('a', array('href' => $href, 'class' => 'diff_link'))); $form->addElement(form_makeTag('img', array( 'src' => DOKU_BASE.'lib/images/diff.png', 'width' => 15, @@ -527,8 +542,9 @@ function html_revisions($first=0, $media_id = false){ 'title' => $lang['diff'], 'alt' => $lang['diff']))); $form->addElement(form_makeCloseTag('a')); - /// - $form->addElement(form_makeOpenTag('a', array('href' => wl($id,"rev=$rev",false,'&'), 'class' => 'wikilink1'))); + if (!$media_id) $href = wl($id,"rev=$rev",false,'&'); + else $href = media_managerURL(array('image' => $id, 'tab_details' => 'view', 'rev' => $rev)); + $form->addElement(form_makeOpenTag('a', array('href' => $href, 'class' => 'wikilink1'))); $form->addElement($id); $form->addElement(form_makeCloseTag('a')); }else{ @@ -556,7 +572,7 @@ function html_revisions($first=0, $media_id = false){ $form->addElement(form_makeCloseTag('li')); } $form->addElement(form_makeCloseTag('ul')); - $form->addElement(form_makeButton('submit', 'diff', $lang['diff2'])); + if (!$media_id) $form->addElement(form_makeButton('submit', 'diff', $lang['diff2'])); html_form('revisions', $form); print '<div class="pagenav">'; diff --git a/inc/media.php b/inc/media.php index 5f443a1f7a698afe23d4efce557d416c2ab6dc1e..b5c11fc2c9497c28284cb76afade5c8aceb09fd9 100644 --- a/inc/media.php +++ b/inc/media.php @@ -366,6 +366,7 @@ function media_upload_finish($fn_tmp, $fn, $id, $imime, $overwrite, $move = 'mov io_createNamespace($id, 'media'); if($move($fn_tmp, $fn)) { + $new = @filemtime($fn); // Set the correct permission here. // Always chmod media because they may be saved with different permissions than expected from the php umask. // (Should normally chmod to $conf['fperm'] only if $conf['fperm'] is set.) @@ -374,9 +375,9 @@ function media_upload_finish($fn_tmp, $fn, $id, $imime, $overwrite, $move = 'mov media_notify($id,$fn,$imime); // add a log entry to the media changelog if ($overwrite) { - addMediaLogEntry(time(), $id, DOKU_CHANGE_TYPE_EDIT); + addMediaLogEntry($new, $id, DOKU_CHANGE_TYPE_EDIT); } else { - addMediaLogEntry(time(), $id, DOKU_CHANGE_TYPE_CREATE); + addMediaLogEntry($new, $id, DOKU_CHANGE_TYPE_CREATE, $lang['created']); } return $id; }else{ @@ -704,7 +705,12 @@ function media_tab_view($image, $ns, $auth=null) { if ($auth >= AUTH_READ && $image) { $info = new JpegMeta(mediaFN($image)); $w = (int) $info->getField('File.Width'); - $src = ml($image); + + $rev = $_REQUEST['rev']; + $more = ''; + if (isset($rev)) $more = "rev=$rev"; + $src = ml($image, $more); + echo '<img src="'.$src.'" alt="" width="99%" style="max-width: '.$w.'px;" />'; } echo '</div>'; @@ -1005,6 +1011,7 @@ function media_managerURL($params=false, $amp='&') { unset($gets['edit']); unset($gets['sectok']); unset($gets['delete']); + unset($gets['rev']); if ($params) { foreach ($params as $k => $v) {