diff options
-rw-r--r-- | doku.php | 2 | ||||
-rw-r--r-- | inc/changelog.php | 4 | ||||
-rw-r--r-- | inc/common.php | 1 | ||||
-rw-r--r-- | inc/parser/xhtml.php | 17 | ||||
-rw-r--r-- | inc/parserutils.php | 7 | ||||
-rw-r--r-- | lib/exe/detail.php | 4 |
6 files changed, 12 insertions, 23 deletions
@@ -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 |