summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doku.php2
-rw-r--r--inc/changelog.php4
-rw-r--r--inc/common.php1
-rw-r--r--inc/parser/xhtml.php17
-rw-r--r--inc/parserutils.php7
-rw-r--r--lib/exe/detail.php4
6 files changed, 12 insertions, 23 deletions
diff --git a/doku.php b/doku.php
index 2059f9761..17ec824a9 100644
--- a/doku.php
+++ b/doku.php
@@ -34,7 +34,7 @@ $QUERY = trim($INPUT->str('id'));
$ID = getID();
$REV = $INPUT->int('rev');
-$DATE_AT= $INPUT->int('at');
+$DATE_AT = $INPUT->int('at');
$IDX = $INPUT->str('idx');
$DATE = $INPUT->int('date');
$RANGE = $INPUT->str('range');
diff --git a/inc/changelog.php b/inc/changelog.php
index 0a33f6a6e..7ce8096d5 100644
--- a/inc/changelog.php
+++ b/inc/changelog.php
@@ -825,8 +825,8 @@ function getRevisions($id, $first, $num, $chunk_size=8192, $media=false) {
* @return string revision ('' for current)
*/
function getProperRevision($id,$date_at,$media = false){
- $create_time = @filemtime($media?mediaFN($id):wikiFN($id));
- if(((int)$date_at) >= $create_time) { //requestet REV older then time($id) => load current
+ $modified_time = @filemtime($media?mediaFN($id):wikiFN($id));
+ if(((int)$date_at) >= $modified_time) { //requestet REV younger or equal then time($id) => load current
return '';
} else {
$log = new PageRevisionLog($id);
diff --git a/inc/common.php b/inc/common.php
index e5e4f78c8..7f7095a12 100644
--- a/inc/common.php
+++ b/inc/common.php
@@ -383,6 +383,7 @@ function idfilter($id, $ue = true) {
function wl($id = '', $urlParameters = '', $absolute = false, $separator = '&') {
global $conf;
if(is_array($urlParameters)) {
+ if(isset($urlParameters['rev']) && !$urlParameters['rev']) unset($urlParameters['rev']);
$urlParameters = buildURLparams($urlParameters, $separator);
} else {
$urlParameters = str_replace(',', $separator, $urlParameters);
diff --git a/inc/parser/xhtml.php b/inc/parser/xhtml.php
index a677db276..f6e186cdb 100644
--- a/inc/parser/xhtml.php
+++ b/inc/parser/xhtml.php
@@ -28,8 +28,7 @@ class Doku_Renderer_xhtml extends Doku_Renderer {
// @access public
var $doc = ''; // will contain the whole document
var $toc = array(); // will contain the Table of Contents
- var $rev = '';
- var $date_at = '';
+ var $date_at = ''; // link pages and media against this revision
var $sectionedits = array(); // A stack of section edit data
private $lastsecid = 0; // last section edit id, used by startSectionEdit
@@ -622,8 +621,6 @@ class Doku_Renderer_xhtml extends Doku_Renderer {
$link['class'] = $class;
if($this->date_at) {
$params['at'] = $this->date_at;
- } else if($this->rev) {
- //$params['at'] = $this->rev;
}
$link['url'] = wl($id, $params);
$link['name'] = $name;
@@ -799,7 +796,7 @@ class Doku_Renderer_xhtml extends Doku_Renderer {
list($ext,$mime,$dl) = mimetype($src,false);
if(substr($mime,0,5) == 'image' && $render){
- if(($this->rev||$this->date_at)) {
+ if($this->date_at) {
$link['url'] = ml($src,array('id'=>$ID,'cache'=>$cache,'rev'=>$this->_getProperMediaRevision($src)),($linking=='direct'));
} else {
$link['url'] = ml($src,array('id'=>$ID,'cache'=>$cache),($linking=='direct'));
@@ -811,7 +808,7 @@ class Doku_Renderer_xhtml extends Doku_Renderer {
// add file icons
$class = preg_replace('/[^_\-a-z0-9]+/i','_',$ext);
$link['class'] .= ' mediafile mf_'.$class;
- if(($this->rev||$this->date_at)) {
+ if($this->date_at) {
$link['url'] = ml($src,array('id'=>$ID,'cache'=>$cache,'rev'=>$this->_getProperMediaRevision($src)),true);
} else {
$link['url'] = ml($src,array('id'=>$ID,'cache'=>$cache),true);
@@ -1088,7 +1085,7 @@ class Doku_Renderer_xhtml extends Doku_Renderer {
return $title;
}
//add image tag
- if($intern && ($this->rev||$this->date_at)) {
+ if($intern && $this->date_at) {
$ret .= '<img src="'.ml($src,array('w'=>$width,'h'=>$height,'cache'=>$cache,'rev'=>$this->_getProperMediaRevision($src))).'"';
} else {
$ret .= '<img src="'.ml($src,array('w'=>$width,'h'=>$height,'cache'=>$cache)).'"';
@@ -1251,11 +1248,7 @@ class Doku_Renderer_xhtml extends Doku_Renderer {
* @return string revision ('' for current)
*/
function _getProperMediaRevision($media_id){
- $rev = $this->rev;
- if($this->date_at){
- $rev = $this->date_at;
- }
- return getProperRevision($media_id,$rev,true);
+ return getProperRevision($media_id,$this->date_at,true);
}
diff --git a/inc/parserutils.php b/inc/parserutils.php
index c50bf7332..ecb1ac888 100644
--- a/inc/parserutils.php
+++ b/inc/parserutils.php
@@ -67,7 +67,7 @@ function p_wiki_xhtml($id, $rev='', $excuse=true,$date_at=''){
if($rev || $date_at){
if(@file_exists($file)){
- $ret = p_render('xhtml',p_get_instructions(io_readWikiPage($file,$id,$rev)),$info,$rev,$date_at); //no caching on old revisions
+ $ret = p_render('xhtml',p_get_instructions(io_readWikiPage($file,$id,$rev)),$info,max($rev,$date_at)); //no caching on old revisions
}elseif($excuse){
$ret = p_locale_xhtml('norev');
}
@@ -583,7 +583,7 @@ function p_sort_modes($a, $b){
* @author Harry Fuecks <hfuecks@gmail.com>
* @author Andreas Gohr <andi@splitbrain.org>
*/
-function p_render($mode,$instructions,&$info,$rev='',$date_at=''){
+function p_render($mode,$instructions,&$info,$date_at=''){
if(is_null($instructions)) return '';
$Renderer =& p_get_renderer($mode);
@@ -591,9 +591,6 @@ function p_render($mode,$instructions,&$info,$rev='',$date_at=''){
$Renderer->reset();
- if($rev) {
- $Renderer->rev = $rev;
- }
if($date_at) {
$Renderer->date_at = $date_at;
}
diff --git a/lib/exe/detail.php b/lib/exe/detail.php
index daa55f405..cc29d5b87 100644
--- a/lib/exe/detail.php
+++ b/lib/exe/detail.php
@@ -5,9 +5,7 @@ require_once(DOKU_INC.'inc/init.php');
$IMG = getID('media');
$ID = cleanID($INPUT->str('id'));
-$REV = & $INPUT->ref('rev');
-//sanitize revision
-$REV = preg_replace('/[^0-9]/', '', $REV);
+$REV = $INPUT->int('rev');
// this makes some general info available as well as the info about the
// "parent" page