summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlisps <stummp@loewen.de>2013-11-22 10:51:16 +0100
committerlisps <stummp@loewen.de>2013-11-22 10:51:16 +0100
commit78b874e68a5f2a45f71a91efb168761c283e3a91 (patch)
treeb2b0e877713ac1d798ea0d120a79ac5c4cf42514
parentac6dc646a5823005fd7f9747f2c333bd6379baee (diff)
downloadrpg-78b874e68a5f2a45f71a91efb168761c283e3a91.tar.gz
rpg-78b874e68a5f2a45f71a91efb168761c283e3a91.tar.bz2
fix function name media_isexternal()
remove empty rev from ml() rename getProperRevision() to getLastRevisionAt() make getLastRevisionAt() a method of ChangeLog
-rw-r--r--doku.php3
-rw-r--r--inc/changelog.php41
-rw-r--r--inc/common.php1
-rw-r--r--inc/parser/xhtml.php5
4 files changed, 25 insertions, 25 deletions
diff --git a/doku.php b/doku.php
index 17ec824a9..e90f8bea2 100644
--- a/doku.php
+++ b/doku.php
@@ -49,7 +49,8 @@ $SUF = cleanText($INPUT->post->str('suffix'));
$SUM = $INPUT->post->str('summary');
if($DATE_AT) {
- $rev_t = getProperRevision($ID,$DATE_AT);
+ $pagelog = new PageChangeLog($ID);
+ $rev_t = $pagelog->getLastRevisionAt($DATE_AT);
if($rev_t === '') {
$REV = '';
} else if ($rev_t === false) {
diff --git a/inc/changelog.php b/inc/changelog.php
index 75fe29e5b..ccb5f7a3e 100644
--- a/inc/changelog.php
+++ b/inc/changelog.php
@@ -771,6 +771,25 @@ abstract class ChangeLog {
public function isCurrentRevision($rev) {
return $rev == @filemtime($this->getFilename());
}
+
+ /**
+ * Return an existing revision for a specific date which is
+ * the current one or younger or equal then the date
+ *
+ * @param string $id
+ * @param number $date_at timestamp
+ * @return string revision ('' for current)
+ */
+ function getLastRevisionAt($date_at){
+ //requested date_at(timestamp) younger or equal then modified_time($this->id) => load current
+ if($date_at >= @filemtime($this->getFilename())) {
+ return '';
+ } else if ($rev = $this->getRelativeRevision($date_at+1, -1)) { //+1 to get also the requested date revision
+ return $rev;
+ } else {
+ return false;
+ }
+ }
}
class PageChangelog extends ChangeLog {
@@ -870,25 +889,3 @@ function getRevisions($id, $first, $num, $chunk_size=8192, $media=false) {
return $changelog->getRevisions($first, $num);
}
-/**
-* Return an existing revision for a specific date which is
-* the current one or less or equal then the date
-*
-* @param string $id
-* @param number $date_at
-* @param boolean $media
-* @return string revision ('' for current)
-*/
-function getProperRevision($id,$date_at,$media = false){
- $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);
- if($rev = $log->getRelativeRevision($date_at+1, -1,$media)) {
- return $rev;
- } else {
- return false;
- }
- }
-}
diff --git a/inc/common.php b/inc/common.php
index 106bf7c15..5dcf58e39 100644
--- a/inc/common.php
+++ b/inc/common.php
@@ -484,6 +484,7 @@ function ml($id = '', $more = '', $direct = true, $sep = '&amp;', $abs = false)
if(empty($more['w'])) unset($more['w']);
if(empty($more['h'])) unset($more['h']);
if(isset($more['id']) && $direct) unset($more['id']);
+ if(isset($more['rev']) && !$more['rev']) unset($more['rev']);
$more = buildURLparams($more, $sep);
} else {
$matches = array();
diff --git a/inc/parser/xhtml.php b/inc/parser/xhtml.php
index f6e186cdb..76aecac10 100644
--- a/inc/parser/xhtml.php
+++ b/inc/parser/xhtml.php
@@ -1060,7 +1060,7 @@ class Doku_Renderer_xhtml extends Doku_Renderer {
$height=null, $cache=null, $render = true) {
$ret = '';
- $intern = !is_externalmedia($src);
+ $intern = !media_isexternal($src);
list($ext,$mime,$dl) = mimetype($src);
if(substr($mime,0,5) == 'image'){
// first get the $title
@@ -1248,7 +1248,8 @@ class Doku_Renderer_xhtml extends Doku_Renderer {
* @return string revision ('' for current)
*/
function _getProperMediaRevision($media_id){
- return getProperRevision($media_id,$this->date_at,true);
+ $pagelog = new MediaChangeLog($media_id);
+ return $pagelog->getLastRevisionAt($this->date_at);
}