diff --git a/_test/tests/inc/changelog_getrelativerevision.test.php b/_test/tests/inc/changelog_getrelativerevision.test.php
index 588c424b1c4787c818c2991444cfe82369a74438..fa4c68897f1ee16685831806df97828d9099760d 100644
--- a/_test/tests/inc/changelog_getrelativerevision.test.php
+++ b/_test/tests/inc/changelog_getrelativerevision.test.php
@@ -33,8 +33,8 @@ class changelog_getrelativerevision_test extends DokuWikiTest {
         $id           = 'nonexist';
         $revsexpected = false;
 
-        $pagelog = new PageRevisionLog($id, $chunk_size = 8192);
-        $revs = $pagelog->getRelativeRevision($rev, $dir, $media = false);
+        $pagelog = new PageChangeLog($id, $chunk_size = 8192);
+        $revs = $pagelog->getRelativeRevision($rev, $dir);
         $this->assertEquals($revsexpected, $revs);
     }
 
@@ -46,8 +46,8 @@ class changelog_getrelativerevision_test extends DokuWikiTest {
         $dir          = 0;
         $revsexpected = false;
 
-        $pagelog = new PageRevisionLog($this->pageid, $chunk_size = 8192);
-        $revs = $pagelog->getRelativeRevision($rev, $dir, $media = false);
+        $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192);
+        $revs = $pagelog->getRelativeRevision($rev, $dir);
         $this->assertEquals($revsexpected, $revs);
     }
 
@@ -67,8 +67,8 @@ class changelog_getrelativerevision_test extends DokuWikiTest {
 //        var_dump($INFO['meta']['last_change']);
 //        var_dump($INFO['meta']['last_change']['date']);
 
-        $pagelog = new PageRevisionLog($this->pageid, $chunk_size = 8192);
-        $revs = $pagelog->getRelativeRevision($rev, $dir, $media = false);
+        $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192);
+        $revs = $pagelog->getRelativeRevision($rev, $dir);
         $this->assertEquals($revsexpected, $revs);
     }
 
@@ -81,11 +81,11 @@ class changelog_getrelativerevision_test extends DokuWikiTest {
         $revexpected  = 1362525899;
         $infoexpected = parseChangelogLine($this->logline);
 
-        $pagelog = new PageRevisionLog($this->pageid, $chunk_size = 8192);
-        $revfound = $pagelog->getRelativeRevision($rev, $dir, $media = false);
+        $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192);
+        $revfound = $pagelog->getRelativeRevision($rev, $dir);
         $this->assertEquals($revexpected, $revfound);
         //checked info returned from cache
-        $info = $pagelog->getRevisionInfo($revfound, $media = false);
+        $info = $pagelog->getRevisionInfo($revfound);
         $this->assertEquals($infoexpected, $info);
     }
 
@@ -97,8 +97,8 @@ class changelog_getrelativerevision_test extends DokuWikiTest {
         $dir         = 1;
         $revexpected = 1362525926;
 
-        $pagelog = new PageRevisionLog($this->pageid, $chunk_size = 512);
-        $revfound = $pagelog->getRelativeRevision($rev, $dir, $media = false);
+        $pagelog = new PageChangeLog($this->pageid, $chunk_size = 512);
+        $revfound = $pagelog->getRelativeRevision($rev, $dir);
         $this->assertEquals($revexpected, $revfound);
     }
 
@@ -110,8 +110,8 @@ class changelog_getrelativerevision_test extends DokuWikiTest {
         $dir          = 5;
         $revexpected  = 1362526767;
 
-        $pagelog = new PageRevisionLog($this->pageid, $chunk_size = 8192);
-        $revfound = $pagelog->getRelativeRevision($rev, $dir, $media = false);
+        $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192);
+        $revfound = $pagelog->getRelativeRevision($rev, $dir);
         $this->assertEquals($revexpected, $revfound);
     }
 
@@ -123,8 +123,8 @@ class changelog_getrelativerevision_test extends DokuWikiTest {
         $dir         = 5;
         $revexpected = 1362526767;
 
-        $pagelog = new PageRevisionLog($this->pageid, $chunk_size = 512);
-        $revfound = $pagelog->getRelativeRevision($rev, $dir, $media = false);
+        $pagelog = new PageChangeLog($this->pageid, $chunk_size = 512);
+        $revfound = $pagelog->getRelativeRevision($rev, $dir);
         $this->assertEquals($revexpected, $revfound);
     }
 
@@ -138,11 +138,11 @@ class changelog_getrelativerevision_test extends DokuWikiTest {
         $revexpected1  = 1362525359;
         $revexpected5  = 1360110636;
 
-        $pagelog = new PageRevisionLog($this->pageid, $chunk_size = 8192);
-        $revfound1 = $pagelog->getRelativeRevision($rev, $dir1, $media = false);
+        $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192);
+        $revfound1 = $pagelog->getRelativeRevision($rev, $dir1);
         $this->assertEquals($revexpected1, $revfound1);
 
-        $revfound5 = $pagelog->getRelativeRevision($rev, $dir5, $media = false);
+        $revfound5 = $pagelog->getRelativeRevision($rev, $dir5);
         $this->assertEquals($revexpected5, $revfound5);
     }
 
@@ -156,11 +156,11 @@ class changelog_getrelativerevision_test extends DokuWikiTest {
         $revexpected1  = 1362525359;
         $revexpected5  = 1360110636;
 
-        $pagelog = new PageRevisionLog($this->pageid, $chunk_size = 512);
-        $revfound1 = $pagelog->getRelativeRevision($rev, $dir1, $media = false);
+        $pagelog = new PageChangeLog($this->pageid, $chunk_size = 512);
+        $revfound1 = $pagelog->getRelativeRevision($rev, $dir1);
         $this->assertEquals($revexpected1, $revfound1);
 
-        $revfound5 = $pagelog->getRelativeRevision($rev, $dir5, $media = false);
+        $revfound5 = $pagelog->getRelativeRevision($rev, $dir5);
         $this->assertEquals($revexpected5, $revfound5);
     }
 
@@ -172,8 +172,8 @@ class changelog_getrelativerevision_test extends DokuWikiTest {
         $dir          = 1;
         $revexpected  = false;
 
-        $pagelog = new PageRevisionLog($this->pageid, $chunk_size = 8192);
-        $revfound = $pagelog->getRelativeRevision($rev, $dir, $media = false);
+        $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192);
+        $revfound = $pagelog->getRelativeRevision($rev, $dir);
         $this->assertEquals($revexpected, $revfound);
     }
 
@@ -185,8 +185,8 @@ class changelog_getrelativerevision_test extends DokuWikiTest {
         $dir          = 1;
         $revexpected  = false;
 
-        $pagelog = new PageRevisionLog($this->pageid, $chunk_size = 512);
-        $revfound = $pagelog->getRelativeRevision($rev, $dir, $media = false);
+        $pagelog = new PageChangeLog($this->pageid, $chunk_size = 512);
+        $revfound = $pagelog->getRelativeRevision($rev, $dir);
         $this->assertEquals($revexpected, $revfound);
     }
 
@@ -199,8 +199,8 @@ class changelog_getrelativerevision_test extends DokuWikiTest {
         $dir          = -1;
         $revexpected  = 1371579614;
 
-        $pagelog = new PageRevisionLog($this->pageid, $chunk_size = 8192);
-        $revfound = $pagelog->getRelativeRevision($rev, $dir, $media = false);
+        $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192);
+        $revfound = $pagelog->getRelativeRevision($rev, $dir);
         $this->assertEquals($revexpected, $revfound);
     }
 
@@ -212,8 +212,8 @@ class changelog_getrelativerevision_test extends DokuWikiTest {
         $dir          = -1;
         $revexpected  = 1371579614;
 
-        $pagelog = new PageRevisionLog($this->pageid, $chunk_size = 512);
-        $revfound = $pagelog->getRelativeRevision($rev, $dir, $media = false);
+        $pagelog = new PageChangeLog($this->pageid, $chunk_size = 512);
+        $revfound = $pagelog->getRelativeRevision($rev, $dir);
         $this->assertEquals($revexpected, $revfound);
     }
 
@@ -226,8 +226,8 @@ class changelog_getrelativerevision_test extends DokuWikiTest {
         $dir = 1;
         $revexpected = 1360110636;
 
-        $pagelog = new PageRevisionLog($this->pageid, $chunk_size = 8192);
-        $revfound = $pagelog->getRelativeRevision($rev, $dir, $media = false);
+        $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192);
+        $revfound = $pagelog->getRelativeRevision($rev, $dir);
         $this->assertEquals($revexpected, $revfound);
     }
 
@@ -240,8 +240,8 @@ class changelog_getrelativerevision_test extends DokuWikiTest {
         $dir = -1;
         $revexpected = false;
 
-        $pagelog = new PageRevisionLog($this->pageid, $chunk_size = 8192);
-        $revfound = $pagelog->getRelativeRevision($rev, $dir, $media = false);
+        $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192);
+        $revfound = $pagelog->getRelativeRevision($rev, $dir);
         $this->assertEquals($revexpected, $revfound);
     }
 
@@ -253,8 +253,8 @@ class changelog_getrelativerevision_test extends DokuWikiTest {
         $dir = 1;
         $revexpected = 1362525899;
 
-        $pagelog = new PageRevisionLog($this->pageid, $chunk_size = 8192);
-        $revfound = $pagelog->getRelativeRevision($rev, $dir, $media = false);
+        $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192);
+        $revfound = $pagelog->getRelativeRevision($rev, $dir);
         $this->assertEquals($revexpected, $revfound);
     }
 
@@ -266,8 +266,8 @@ class changelog_getrelativerevision_test extends DokuWikiTest {
         $dir = -1;
         $revexpected = 1362525359;
 
-        $pagelog = new PageRevisionLog($this->pageid, $chunk_size = 8192);
-        $revfound = $pagelog->getRelativeRevision($rev, $dir, $media = false);
+        $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192);
+        $revfound = $pagelog->getRelativeRevision($rev, $dir);
         $this->assertEquals($revexpected, $revfound);
     }
 
@@ -278,9 +278,8 @@ class changelog_getrelativerevision_test extends DokuWikiTest {
         //set a known timestamp
         touch(wikiFN($this->pageid), $rev);
 
-        $pagelog = new PageRevisionLog($this->pageid, $chunk_size = 8192);
-
-        $current = $pagelog->isCurrentRevision($rev, $media = false);
+        $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192);
+        $current = $pagelog->isCurrentRevision($rev);
         $this->assertEquals($currentexpected, $current);
     }
 
@@ -292,8 +291,8 @@ class changelog_getrelativerevision_test extends DokuWikiTest {
         //set a known timestamp
         touch(wikiFN($this->pageid), $rev);
 
-        $pagelog = new PageRevisionLog($this->pageid, $chunk_size = 8192);
-        $current = $pagelog->isCurrentRevision($not_current_rev, $media = false);
+        $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192);
+        $current = $pagelog->isCurrentRevision($not_current_rev);
         $this->assertEquals($currentexpected, $current);
     }
 
@@ -301,8 +300,8 @@ class changelog_getrelativerevision_test extends DokuWikiTest {
         $rev = 1385051947;
         $currentexpected = false;
 
-        $pagelog = new PageRevisionLog('nonexistingpage', $chunk_size = 8192);
-        $current = $pagelog->isCurrentRevision($rev, $media = false);
+        $pagelog = new PageChangeLog('nonexistingpage', $chunk_size = 8192);
+        $current = $pagelog->isCurrentRevision($rev);
         $this->assertEquals($currentexpected, $current);
     }
 }
\ No newline at end of file
diff --git a/_test/tests/inc/changelog_getrevisioninfo.test.php b/_test/tests/inc/changelog_getrevisioninfo.test.php
index a2f0d808f95540acf9192b38ae54e6c945aa5acd..c073bac793ebe4d2740bb384c566adddc346e901 100644
--- a/_test/tests/inc/changelog_getrevisioninfo.test.php
+++ b/_test/tests/inc/changelog_getrevisioninfo.test.php
@@ -33,8 +33,8 @@ class changelog_getrevisionsinfo_test extends DokuWikiTest {
         $id           = 'nonexist';
         $revsexpected = false;
 
-        $pagelog = new PageRevisionLog($id, $chunk_size = 8192);
-        $revs = $pagelog->getRevisionInfo($rev, $media = false);
+        $pagelog = new PageChangeLog($id, $chunk_size = 8192);
+        $revs = $pagelog->getRevisionInfo($rev);
         $this->assertEquals($revsexpected, $revs);
     }
 
@@ -45,11 +45,11 @@ class changelog_getrevisionsinfo_test extends DokuWikiTest {
         $rev          = 1362525899;
         $infoexpected = parseChangelogLine($this->logline);
 
-        $pagelog = new PageRevisionLog($this->pageid, $chunk_size = 8192);
-        $info = $pagelog->getRevisionInfo($rev, $media = false);
+        $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192);
+        $info = $pagelog->getRevisionInfo($rev);
         $this->assertEquals($infoexpected, $info);
         //returns cached value
-        $info = $pagelog->getRevisionInfo($rev, $media = false);
+        $info = $pagelog->getRevisionInfo($rev);
         $this->assertEquals($infoexpected, $info);
     }
 
@@ -60,8 +60,8 @@ class changelog_getrevisionsinfo_test extends DokuWikiTest {
         $rev          = 1362525899;
         $infoexpected = parseChangelogLine($this->logline);
 
-        $pagelog = new PageRevisionLog($this->pageid, $chunk_size = 512);
-        $info = $pagelog->getRevisionInfo($rev, $media = false);
+        $pagelog = new PageChangeLog($this->pageid, $chunk_size = 512);
+        $info = $pagelog->getRevisionInfo($rev);
         $this->assertEquals($infoexpected, $info);
     }
 
@@ -72,11 +72,11 @@ class changelog_getrevisionsinfo_test extends DokuWikiTest {
         $rev          = 1374261194;
         $infoexpected = parseChangelogLine($this->firstlogline);
 
-        $pagelog = new PageRevisionLog($this->pageid, $chunk_size = 8192);
-        $info = $pagelog->getRevisionInfo($rev, $media = false);
+        $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192);
+        $info = $pagelog->getRevisionInfo($rev);
         $this->assertEquals($infoexpected, $info);
         //returns cached value
-        $info = $pagelog->getRevisionInfo($rev, $media = false);
+        $info = $pagelog->getRevisionInfo($rev);
         $this->assertEquals($infoexpected, $info);
     }
 
@@ -87,8 +87,8 @@ class changelog_getrevisionsinfo_test extends DokuWikiTest {
         $rev          = 1374261194;
         $infoexpected = parseChangelogLine($this->firstlogline);
 
-        $pagelog = new PageRevisionLog($this->pageid, $chunk_size = 512);
-        $info = $pagelog->getRevisionInfo($rev, $media = false);
+        $pagelog = new PageChangeLog($this->pageid, $chunk_size = 512);
+        $info = $pagelog->getRevisionInfo($rev);
         $this->assertEquals($infoexpected, $info);
     }
 
@@ -98,8 +98,8 @@ class changelog_getrevisionsinfo_test extends DokuWikiTest {
     function test_negativerev() {
         $rev = -10;
 
-        $pagelog = new PageRevisionLog($this->pageid, $chunk_size = 8192);
-        $info = $pagelog->getRevisionInfo($rev, $media = false);
+        $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192);
+        $info = $pagelog->getRevisionInfo($rev);
         $this->assertEquals(false, $info);
     }
 
@@ -109,8 +109,8 @@ class changelog_getrevisionsinfo_test extends DokuWikiTest {
     function test_notexistingrev() {
         $rev = 1362525890;
 
-        $pagelog = new PageRevisionLog($this->pageid, $chunk_size = 8192);
-        $info = $pagelog->getRevisionInfo($rev, $media = false);
+        $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192);
+        $info = $pagelog->getRevisionInfo($rev);
         $this->assertEquals(false, $info);
     }
 
@@ -121,7 +121,7 @@ class changelog_getrevisionsinfo_test extends DokuWikiTest {
         $rev          = 1362525899;
         $infoexpected = parseChangelogLine($this->logline);
 
-        $pagelog = new PageRevisionLog($this->pageid, true);
+        $pagelog = new PageChangeLog($this->pageid, true);
         $info = $pagelog->getRevisionInfo($rev);
         $this->assertEquals($infoexpected, $info);
     }
diff --git a/_test/tests/inc/changelog_getrevisions.test.php b/_test/tests/inc/changelog_getrevisions.test.php
index e2b9d115efc6a6bac2ba48f5c5364d2352740d68..aa2198981c9a6195daea00214e58d47a2be9c784 100644
--- a/_test/tests/inc/changelog_getrevisions.test.php
+++ b/_test/tests/inc/changelog_getrevisions.test.php
@@ -48,8 +48,8 @@ class changelog_getrevisions_test extends DokuWikiTest {
         $num   = 1;
         $id    = 'nonexist';
 
-        $pagelog = new PageRevisionLog($id, $chunk_size = 8192);
-        $revs         = $pagelog->getRevisions($first, $num, $media = false);
+        $pagelog = new PageChangeLog($id, $chunk_size = 8192);
+        $revs         = $pagelog->getRevisions($first, $num);
         $revsexpected = array();
         $this->assertEquals($revsexpected, $revs);
     }
@@ -63,12 +63,12 @@ class changelog_getrevisions_test extends DokuWikiTest {
         $num          = 1;
         $revsexpected = array($this->revsexpected[1]);
 
-        $pagelog = new PageRevisionLog($this->pageid, $chunk_size = 8192);
-        $revs = $pagelog->getRevisions($first, $num, $media = false);
+        $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192);
+        $revs = $pagelog->getRevisions($first, $num);
         $this->assertEquals($revsexpected, $revs);
 
-        $pagelog = new PageRevisionLog($this->pageid, $chunk_size = 512);
-        $revs = $pagelog->getRevisions($first, $num, $media = false);
+        $pagelog = new PageChangeLog($this->pageid, $chunk_size = 512);
+        $revs = $pagelog->getRevisions($first, $num);
         $this->assertEquals($revsexpected, $revs);
     }
 
@@ -81,12 +81,12 @@ class changelog_getrevisions_test extends DokuWikiTest {
         $num          = 1;
         $revsexpected = array($this->revsexpected[2]);
 
-        $pagelog = new PageRevisionLog($this->pageid, $chunk_size = 8192);
-        $revs = $pagelog->getRevisions($first, $num, $media = false);
+        $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192);
+        $revs = $pagelog->getRevisions($first, $num);
         $this->assertEquals($revsexpected, $revs);
 
-        $pagelog = new PageRevisionLog($this->pageid, $chunk_size = 512);
-        $revs = $pagelog->getRevisions($first, $num, $media = false);
+        $pagelog = new PageChangeLog($this->pageid, $chunk_size = 512);
+        $revs = $pagelog->getRevisions($first, $num);
         $this->assertEquals($revsexpected, $revs);
     }
 
@@ -99,12 +99,12 @@ class changelog_getrevisions_test extends DokuWikiTest {
         $num          = 5;
         $revsexpected = array_slice($this->revsexpected, $first + 1, $num);
 
-        $pagelog = new PageRevisionLog($this->pageid, $chunk_size = 8192);
-        $revs = $pagelog->getRevisions($first, $num, $media = false);
+        $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192);
+        $revs = $pagelog->getRevisions($first, $num);
         $this->assertEquals($revsexpected, $revs);
 
-        $pagelog = new PageRevisionLog($this->pageid, $chunk_size = 512);
-        $revs = $pagelog->getRevisions($first, $num, $media = false);
+        $pagelog = new PageChangeLog($this->pageid, $chunk_size = 512);
+        $revs = $pagelog->getRevisions($first, $num);
         $this->assertEquals($revsexpected, $revs);
     }
 
@@ -116,12 +116,12 @@ class changelog_getrevisions_test extends DokuWikiTest {
         $num          = 1;
         $revsexpected = array($this->revsexpected[0]);
 
-        $pagelog = new PageRevisionLog($this->pageid, $chunk_size = 8192);
-        $revs = $pagelog->getRevisions($first, $num, $media = false);
+        $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192);
+        $revs = $pagelog->getRevisions($first, $num);
         $this->assertEquals($revsexpected, $revs);
 
-        $pagelog = new PageRevisionLog($this->pageid, $chunk_size = 512);
-        $revs = $pagelog->getRevisions($first, $num, $media = false);
+        $pagelog = new PageChangeLog($this->pageid, $chunk_size = 512);
+        $revs = $pagelog->getRevisions($first, $num);
         $this->assertEquals($revsexpected, $revs);
     }
 
@@ -133,8 +133,8 @@ class changelog_getrevisions_test extends DokuWikiTest {
         $num          = 1000;
         $revsexpected = array_slice($this->revsexpected, 1);
 
-        $pagelog = new PageRevisionLog($this->pageid, $chunk_size = 0);
-        $revs = $pagelog->getRevisions($first, $num, $media = false);
+        $pagelog = new PageChangeLog($this->pageid, $chunk_size = 0);
+        $revs = $pagelog->getRevisions($first, $num);
         $this->assertEquals($revsexpected, $revs);
     }
 
@@ -146,12 +146,12 @@ class changelog_getrevisions_test extends DokuWikiTest {
         $num          = -10;
         $revsexpected = array();
 
-        $pagelog = new PageRevisionLog($this->pageid, $chunk_size = 8192);
-        $revs = $pagelog->getRevisions($first, $num, $media = false);
+        $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192);
+        $revs = $pagelog->getRevisions($first, $num);
         $this->assertEquals($revsexpected, $revs);
 
-        $pagelog = new PageRevisionLog($this->pageid, $chunk_size = 512);
-        $revs = $pagelog->getRevisions($first, $num, $media = false);
+        $pagelog = new PageChangeLog($this->pageid, $chunk_size = 512);
+        $revs = $pagelog->getRevisions($first, $num);
         $this->assertEquals($revsexpected, $revs);
     }
 
@@ -163,12 +163,12 @@ class changelog_getrevisions_test extends DokuWikiTest {
         $num          = -10;
         $revsexpected = array();
 
-        $pagelog = new PageRevisionLog($this->pageid, $chunk_size = 8192);
-        $revs = $pagelog->getRevisions($this->pageid, $first, $num, $chunk_size = 8192, $media = false);
+        $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192);
+        $revs = $pagelog->getRevisions($this->pageid, $first, $num, $chunk_size = 8192);
         $this->assertEquals($revsexpected, $revs);
 
-        $pagelog = new PageRevisionLog($this->pageid, $chunk_size = 512);
-        $revs = $pagelog->getRevisions($first, $num, $media = false);
+        $pagelog = new PageChangeLog($this->pageid, $chunk_size = 512);
+        $revs = $pagelog->getRevisions($first, $num);
         $this->assertEquals($revsexpected, $revs);
     }
 
@@ -180,12 +180,12 @@ class changelog_getrevisions_test extends DokuWikiTest {
         $num          = 0;
         $revsexpected = array();
 
-        $pagelog = new PageRevisionLog($this->pageid, $chunk_size = 8192);
-        $revs = $pagelog->getRevisions($first, $num, $media = false);
+        $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192);
+        $revs = $pagelog->getRevisions($first, $num);
         $this->assertEquals($revsexpected, $revs);
 
-        $pagelog = new PageRevisionLog($this->pageid, $chunk_size = 512);
-        $revs = $pagelog->getRevisions($first, $num, $media = false);
+        $pagelog = new PageChangeLog($this->pageid, $chunk_size = 512);
+        $revs = $pagelog->getRevisions($first, $num);
         $this->assertEquals($revsexpected, $revs);
     }
 
@@ -197,8 +197,8 @@ class changelog_getrevisions_test extends DokuWikiTest {
         $num          = 50;
         $revsexpected = array_slice($this->revsexpected, $first + 1);
 
-        $pagelog = new PageRevisionLog($this->pageid, $chunk_size = 8192);
-        $revs = $pagelog->getRevisions($first, $num, $media = false);
+        $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192);
+        $revs = $pagelog->getRevisions($first, $num);
         $this->assertEquals($revsexpected, $revs);
     }
 
@@ -210,8 +210,8 @@ class changelog_getrevisions_test extends DokuWikiTest {
         $num          = 50;
         $revsexpected = array();
 
-        $pagelog = new PageRevisionLog($this->pageid, $chunk_size = 8192);
-        $revs = $pagelog->getRevisions($first, $num, $media = false);
+        $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192);
+        $revs = $pagelog->getRevisions($first, $num);
         $this->assertEquals($revsexpected, $revs);
     }
 
diff --git a/feed.php b/feed.php
index 80a533717a938117c22e3e28ec13207f984fba48..b0699b1a23b1dc4cbed3c12b6f40c91c3a3ffaae 100644
--- a/feed.php
+++ b/feed.php
@@ -292,9 +292,9 @@ function rss_buildItems(&$rss, &$data, $opt) {
             switch($opt['item_content']) {
                 case 'diff':
                 case 'htmldiff':
-                    $pagelog = new PageRevisionLog($id);
                     if($ditem['media']) {
-                        $revs  = $pagelog->getRevisions(0, 1, true);
+                        $medialog = new MediaChangeLog($id);
+                        $revs  = $medialog->getRevisions(0, 1);
                         $rev   = $revs[0];
                         $src_r = '';
                         $src_l = '';
@@ -319,6 +319,7 @@ function rss_buildItems(&$rss, &$data, $opt) {
 
                     } else {
                         require_once(DOKU_INC.'inc/DifferenceEngine.php');
+                        $pagelog = new PageChangeLog($id);
                         $revs = $pagelog->getRevisions(0, 1);
                         $rev  = $revs[0];
 
diff --git a/inc/RemoteAPICore.php b/inc/RemoteAPICore.php
index 311ff8c8c02db7909138d7ed819134362bc1a60c..aa1e06f5790243dd190b31d7376f0507867e11bf 100644
--- a/inc/RemoteAPICore.php
+++ b/inc/RemoteAPICore.php
@@ -374,7 +374,7 @@ class RemoteAPICore {
             throw new RemoteException('The requested page does not exist', 121);
         }
 
-        $pagelog = new PageRevisionLog($id, 1024);
+        $pagelog = new PageChangeLog($id, 1024);
         $info = $pagelog->getRevisionInfo($time);
 
         $data = array(
@@ -647,7 +647,7 @@ class RemoteAPICore {
             throw new RemoteException('Empty page ID', 131);
         }
 
-        $pagelog = new PageRevisionLog($id);
+        $pagelog = new PageChangeLog($id);
         $revisions = $pagelog->getRevisions($first, $conf['recent']+1);
 
         if(count($revisions)==0 && $first!=0) {
diff --git a/inc/changelog.php b/inc/changelog.php
index 722365853b5b7f34b4bc8b88eb0060c5f1b060d1..f70f20ff9325fae9036f3cfe4b3a11b5f9aa414e 100644
--- a/inc/changelog.php
+++ b/inc/changelog.php
@@ -334,16 +334,17 @@ function _handleRecent($line,$ns,$flags,&$seen){
 }
 
 /**
- * Class PageRevisionLog
+ * Class ChangeLog
+ * methods for handling of changelog of pages or media files
  */
-class PageRevisionLog {
+abstract class ChangeLog {
 
     /** @var string */
-    private $id;
+    protected $id;
     /** @var int */
-    private $chunk_size;
+    protected $chunk_size;
     /** @var array */
-    private $cache;
+    protected $cache;
 
     /**
      * Constructor
@@ -366,6 +367,7 @@ class PageRevisionLog {
 
     /**
      * Set chunk size for file reading
+     * Chunk size zero let read whole file at once
      *
      * @param int $chunk_size maximum block size read from file
      */
@@ -375,6 +377,20 @@ class PageRevisionLog {
         $this->chunk_size = (int) max($chunk_size, 0);
     }
 
+    /**
+     * Returns path to changelog
+     *
+     * @return string path to file
+     */
+    abstract protected function getChangelogFilename();
+
+    /**
+     * Returns path to current page/media
+     *
+     * @return string path to file
+     */
+    abstract protected function getFilename();
+
     /**
      * Get the changelog information for a specific page id and revision (timestamp)
      *
@@ -383,7 +399,6 @@ class PageRevisionLog {
      * containing the requested changelog line is read.
      *
      * @param int  $rev        revision timestamp
-     * @param bool $media      look into media log?
      * @return bool|array false or array with entries:
      *      - date:  unix timestamp
      *      - ip:    IPv4 address (127.0.0.1)
@@ -396,7 +411,7 @@ class PageRevisionLog {
      * @author Ben Coburn <btcoburn@silicodon.net>
      * @author Kate Arzamastseva <pshns@ukr.net>
      */
-    public function getRevisionInfo($rev, $media = false) {
+    public function getRevisionInfo($rev) {
         $rev = max($rev, 0);
 
         // check if it's already in the memory cache
@@ -405,7 +420,7 @@ class PageRevisionLog {
         }
 
         //read lines from changelog
-        list($fp, $lines) = $this->readloglines($media, $rev);
+        list($fp, $lines) = $this->readloglines($rev);
         if($fp) {
             fclose($fp);
         }
@@ -442,32 +457,28 @@ class PageRevisionLog {
      *
      * @param int  $first      skip the first n changelog lines
      * @param int  $num        number of revisions to return
-     * @param bool $media      look into media log?
      * @return array with the revision timestamps
      *
      * @author Ben Coburn <btcoburn@silicodon.net>
      * @author Kate Arzamastseva <pshns@ukr.net>
      */
-    public function getRevisions($first, $num, $media = false) {
+    public function getRevisions($first, $num) {
         $revs = array();
         $lines = array();
         $count  = 0;
-        if ($media) {
-            $file = mediaMetaFN($this->id, '.changes');
-        } else {
-            $file = metaFN($this->id, '.changes');
-        }
+
         $num = max($num, 0);
         if ($num == 0) { return $revs; }
 
-        $this->chunk_size = max($this->chunk_size, 0);
         if ($first<0) {
             $first = 0;
-        } else if (!$media && @file_exists(wikiFN($this->id)) || $media && @file_exists(mediaFN($this->id))) {
+        } else if (@file_exists($this->getFilename())) {
             // skip current revision if the page exists
             $first = max($first+1, 0);
         }
 
+        $file = $this->getChangelogFilename();
+
         if (!@file_exists($file)) { return $revs; }
         if (filesize($file)<$this->chunk_size || $this->chunk_size==0) {
             // read whole file
@@ -554,12 +565,11 @@ class PageRevisionLog {
      *
      * @param int  $rev        revision timestamp used as startdate (doesn't need to be revisionnumber)
      * @param int  $direction  give position of returned revision with respect to $rev; positive=next, negative=prev
-     * @param bool $media      look into media log?
      * @return bool|int
      *      timestamp of the requested revision
      *      otherwise false
      */
-    public function getRelativeRevision($rev, $direction, $media = false) {
+    public function getRelativeRevision($rev, $direction) {
         $rev = max($rev, 0);
         $direction = (int) $direction;
 
@@ -569,7 +579,7 @@ class PageRevisionLog {
         }
 
         //get lines from changelog
-        list($fp, $lines, $head, $tail, $eof) = $this->readloglines($media, $rev);
+        list($fp, $lines, $head, $tail, $eof) = $this->readloglines($rev);
         if(empty($lines)) return false;
 
         // look for revisions later/earlier then $rev, when founded count till the wanted revision is reached
@@ -645,17 +655,12 @@ class PageRevisionLog {
      * Returns lines from changelog.
      * If file larger than $chuncksize, only chunck is read that could contain $rev.
      *
-     * @param bool $media look into media log?
      * @param int  $rev   revision timestamp
      * @return array(fp, array(changeloglines), $head, $tail, $eof)|bool
      *     returns false when not succeed. fp only defined for chuck reading, needs closing.
      */
-    protected function readloglines($media, $rev) {
-        if($media) {
-            $file = mediaMetaFN($this->id, '.changes');
-        } else {
-            $file = metaFN($this->id, '.changes');
-        }
+    protected function readloglines($rev) {
+        $file = $this->getChangelogFilename();
 
         if(!@file_exists($file)) {
             return false;
@@ -761,14 +766,56 @@ class PageRevisionLog {
      * Check whether given revision is the current page
      *
      * @param int  $rev   timestamp of current page
-     * @param bool $media look for media?
      * @return bool true if $rev is current revision, otherwise false
      */
-    public function isCurrentRevision($rev, $media = false) {
-        return $rev == @filemtime($media ? mediaFN($this->id) : wikiFN($this->id));
+    public function isCurrentRevision($rev) {
+        return $rev == @filemtime($this->getFilename());
+    }
+}
+
+class PageChangelog extends ChangeLog {
+
+    /**
+     * Returns path to changelog
+     *
+     * @return string path to file
+     */
+    protected function getChangelogFilename() {
+        return metaFN($this->id, '.changes');
+    }
+
+    /**
+     * Returns path to current page/media
+     *
+     * @return string path to file
+     */
+    protected function getFilename() {
+        return wikiFN($this->id);
+    }
+}
+
+class MediaChangelog extends ChangeLog {
+
+    /**
+     * Returns path to changelog
+     *
+     * @return string path to file
+     */
+    protected function getChangelogFilename() {
+        return mediaMetaFN($this->id, '.changes');
+    }
+
+    /**
+     * Returns path to current page/media
+     *
+     * @return string path to file
+     */
+    protected function getFilename() {
+        return mediaFN($this->id);
     }
 }
 
+
 /**
  * Get the changelog information for a specific page id
  * and revision (timestamp). Adjacent changelog lines
@@ -783,9 +830,12 @@ class PageRevisionLog {
  * @author Kate Arzamastseva <pshns@ukr.net>
  */
 function getRevisionInfo($id, $rev, $chunk_size=8192, $media=false) {
-
-    $log = new PageRevisionLog($id, $chunk_size);
-    return $log->getRevisionInfo($rev, $media);
+    if($media) {
+        $changelog = new MediaChangeLog($id, $chunk_size);
+    } else {
+        $changelog = new PageChangeLog($id, $chunk_size);
+    }
+    return $changelog->getRevisionInfo($rev);
 }
 
 /**
@@ -812,6 +862,10 @@ function getRevisionInfo($id, $rev, $chunk_size=8192, $media=false) {
  * @author Kate Arzamastseva <pshns@ukr.net>
  */
 function getRevisions($id, $first, $num, $chunk_size=8192, $media=false) {
-    $log = new PageRevisionLog($id, $chunk_size);
-    return $log->getRevisions($first, $num, $media);
+    if($media) {
+        $changelog = new MediaChangeLog($id, $chunk_size);
+    } else {
+        $changelog = new PageChangeLog($id, $chunk_size);
+    }
+    return $changelog->getRevisions($first, $num);
 }
diff --git a/inc/common.php b/inc/common.php
index dd30b53ab8ac800ebda472b6b184e993b5bc21a3..7821cb3deeffb47adc36b5669bda7a4de53b81f5 100644
--- a/inc/common.php
+++ b/inc/common.php
@@ -187,7 +187,7 @@ function pageinfo() {
     $info['meta'] = p_get_metadata($ID);
 
     //who's the editor
-    $pagelog = new PageRevisionLog($ID, 1024);
+    $pagelog = new PageChangeLog($ID, 1024);
     if($REV) {
         $revinfo = $pagelog->getRevisionInfo($REV);
     } else {
@@ -1060,7 +1060,7 @@ function saveWikiText($id, $text, $summary, $minor = false) {
     $wasRemoved  = (trim($text) == ''); // check for empty or whitespace only
     $wasCreated  = !@file_exists($file);
     $wasReverted = ($REV == true);
-    $pagelog     = new PageRevisionLog($id, 1024);
+    $pagelog     = new PageChangeLog($id, 1024);
     $newRev      = false;
     $oldRev      = $pagelog->getRevisions(-1, 1); // from changelog
     $oldRev      = (int) (empty($oldRev) ? 0 : $oldRev[0]);
diff --git a/inc/html.php b/inc/html.php
index b48a17fc5c6147f1bdcde11aae19647945bee358..442126f712d68e58f4424ea92b621425de5a0d5f 100644
--- a/inc/html.php
+++ b/inc/html.php
@@ -414,18 +414,23 @@ function html_revisions($first=0, $media_id = false){
     global $conf;
     global $lang;
     $id = $ID;
-    if ($media_id) $id = $media_id;
+    if ($media_id) {
+        $id = $media_id;
+        $changelog = new MediaChangeLog($id);
+    } else {
+        $changelog = new PageChangeLog($id);
+    }
 
     /* we need to get one additional log entry to be able to
      * decide if this is the last page or is there another one.
      * see html_recent()
      */
-    $pagelog = new PageRevisionLog($id);
-    $revisions = $pagelog->getRevisions($first, $conf['recent']+1, (boolean)$media_id);
+
+    $revisions = $changelog->getRevisions($first, $conf['recent']+1);
 
     if(count($revisions)==0 && $first!=0){
         $first=0;
-        $revisions = $pagelog->getRevisions($first, $conf['recent']+1, (boolean)$media_id);
+        $revisions = $changelog->getRevisions($first, $conf['recent']+1);
     }
     $hasNext = false;
     if (count($revisions)>$conf['recent']) {
@@ -484,17 +489,18 @@ function html_revisions($first=0, $media_id = false){
             $form->addElement(form_makeCloseTag('span'));
         }
 
-        $pagelog->setChunkSize(1024);
+        $changelog->setChunkSize(1024);
 
         $form->addElement(form_makeOpenTag('span', array('class' => 'user')));
-        if (!$media_id) $editor = $INFO['editor'];
-        else {
-            $revinfo = $pagelog->getRevisionInfo(@filemtime(fullpath(mediaFN($id))), true);
-            if($revinfo['user']){
+        if($media_id) {
+            $revinfo = $changelog->getRevisionInfo(@filemtime(fullpath(mediaFN($id))));
+            if($revinfo['user']) {
                 $editor = $revinfo['user'];
-            }else{
+            } else {
                 $editor = $revinfo['ip'];
             }
+        } else {
+            $editor = $INFO['editor'];
         }
         $form->addElement((empty($editor))?('('.$lang['external_edit'].')'):editorinfo($editor));
         $form->addElement(form_makeCloseTag('span'));
@@ -509,12 +515,11 @@ function html_revisions($first=0, $media_id = false){
 
     foreach($revisions as $rev){
         $date = dformat($rev);
-        if (!$media_id) {
-            $info = $pagelog->getRevisionInfo($rev);
-            $exists = page_exists($id,$rev);
-        }  else {
-            $info = $pagelog->getRevisionInfo($rev,true);
-            $exists = @file_exists(mediaFN($id,$rev));
+        $info = $changelog->getRevisionInfo($rev);
+        if($media_id) {
+            $exists = @file_exists(mediaFN($id, $rev));
+        } else {
+            $exists = page_exists($id, $rev);
         }
 
         if ($info['type']===DOKU_CHANGE_TYPE_MINOR_EDIT)
@@ -706,8 +711,8 @@ function html_recent($first=0, $show_changes='both'){
         $href = '';
 
         if ($recent['media']) {
-            $pagelog = new PageRevisionLog($recent['id']);
-            $diff = (count($pagelog->getRevisions(0, 1, true)) && @file_exists(mediaFN($recent['id'])));
+            $medialog = new MediaChangeLog($recent['id']);
+            $diff = (count($medialog->getRevisions(0, 1)) && @file_exists(mediaFN($recent['id'])));
             if ($diff) {
                 $href = media_managerURL(array('tab_details' => 'history',
                     'mediado' => 'diff', 'image' => $recent['id'], 'ns' => getNS($recent['id'])), '&');
@@ -1009,11 +1014,15 @@ function html_diff_head($l_rev, $r_rev, $id = null, $media = false, $inline = fa
     $ml_or_wl = $media ? 'ml' : 'wl';
     $l_minor = $r_minor = '';
 
-    $pagelog = new PageRevisionLog($id);
+    if($media) {
+        $log = new MediaChangeLog($id);
+    } else {
+        $log = new PageChangeLog($id);
+    }
     if(!$l_rev){
         $l_head = '&mdash;';
     }else{
-        $l_info   = $pagelog->getRevisionInfo($l_rev, $media);
+        $l_info   = $log->getRevisionInfo($l_rev);
         if($l_info['user']){
             $l_user = '<bdi>'.editorinfo($l_info['user']).'</bdi>';
             if(auth_ismanager()) $l_user .= ' <bdo dir="ltr">('.$l_info['ip'].')</bdo>';
@@ -1031,7 +1040,7 @@ function html_diff_head($l_rev, $r_rev, $id = null, $media = false, $inline = fa
     }
 
     if($r_rev){
-        $r_info   = $pagelog->getRevisionInfo($r_rev, $media);
+        $r_info   = $log->getRevisionInfo($r_rev);
         if($r_info['user']){
             $r_user = '<bdi>'.editorinfo($r_info['user']).'</bdi>';
             if(auth_ismanager()) $r_user .= ' <bdo dir="ltr">('.$r_info['ip'].')</bdo>';
@@ -1047,7 +1056,7 @@ function html_diff_head($l_rev, $r_rev, $id = null, $media = false, $inline = fa
         $r_head_title.'</a></bdi>'.
         $head_separator.$r_user.' '.$r_sum;
     }elseif($_rev = @filemtime($media_or_wikiFN($id))){
-        $_info   = $pagelog->getRevisionInfo($_rev, $media);
+        $_info   = $log->getRevisionInfo($_rev);
         if($_info['user']){
             $_user = '<bdi>'.editorinfo($_info['user']).'</bdi>';
             if(auth_ismanager()) $_user .= ' <bdo dir="ltr">('.$_info['ip'].')</bdo>';
@@ -1084,7 +1093,7 @@ function html_diff($text='',$intro=true,$type=null){
     global $lang;
     global $INPUT;
     global $INFO;
-    $pagelog = new PageRevisionLog($ID);
+    $pagelog = new PageChangeLog($ID);
 
     if(!$type) {
         $type = $INPUT->str('difftype');
diff --git a/inc/media.php b/inc/media.php
index 9f0c2cb8cc96316d85fcc70303eb781d1d9835b9..3bdaa8ef74f77e3b0519e8545487fa33afa8b0bc 100644
--- a/inc/media.php
+++ b/inc/media.php
@@ -492,8 +492,8 @@ function media_saveOldRevision($id){
     $date = filemtime($oldf);
     if (!$conf['mediarevisions']) return $date;
 
-    $pagelog = new PageRevisionLog($id);
-    if (!$pagelog->getRevisionInfo($date, true)) {
+    $medialog = new MediaChangeLog($id);
+    if (!$medialog->getRevisionInfo($date)) {
         // there was an external edit,
         // there is no log entry for current version of file
         if (!@file_exists(mediaMetaFN($id,'.changes'))) {
@@ -1072,8 +1072,8 @@ function media_diff($image, $ns, $auth, $fromajax = false) {
         $l_rev = $rev1;
     }else{                        // no revision was given, compare previous to current
         $r_rev = '';
-        $pagelog = new PageRevisionLog($image);
-        $revs = $pagelog->getRevisions(0, 1, true);
+        $medialog = new MediaChangeLog($image);
+        $revs = $medialog->getRevisions(0, 1);
         if (file_exists(mediaFN($image, $revs[0]))) {
             $l_rev = $revs[0];
         } else {
diff --git a/inc/subscription.php b/inc/subscription.php
index 87db3c621d87bb258ce8d700a16a959505e20930..e6fb23f63766be1509de9eb2163bac8fbf0d8b29 100644
--- a/inc/subscription.php
+++ b/inc/subscription.php
@@ -288,7 +288,7 @@ class Subscription {
     public function send_bulk($page) {
         if(!$this->isenabled()) return 0;
 
-        /** @var auth_basic $auth */
+        /** @var DokuWiki_Auth_Plugin $auth */
         global $auth;
         global $conf;
         global $USERINFO;
@@ -336,7 +336,7 @@ class Subscription {
                     while(!is_null($rev) && $rev['date'] >= $lastupdate &&
                         ($_SERVER['REMOTE_USER'] === $rev['user'] ||
                             $rev['type'] === DOKU_CHANGE_TYPE_MINOR_EDIT)) {
-                        $pagelog = new PageRevisionLog($rev['id']);
+                        $pagelog = new PageChangeLog($rev['id']);
                         $rev = $pagelog->getRevisions($n++, 1);
                         $rev = (count($rev) > 0) ? $rev[0] : null;
                     }
@@ -516,7 +516,7 @@ class Subscription {
      * @return bool
      */
     protected function send_digest($subscriber_mail, $id, $lastupdate) {
-        $pagelog = new PageRevisionLog($id);
+        $pagelog = new PageChangeLog($id);
         $n = 0;
         do {
             $rev = $pagelog->getRevisions($n++, 1);
diff --git a/lib/plugins/revert/admin.php b/lib/plugins/revert/admin.php
index ffb6fbc47bb0287b53f70e14b1f6fd77a6988d50..88d8cd93d5a6b76e6ace6fa1c647410499581e08 100644
--- a/lib/plugins/revert/admin.php
+++ b/lib/plugins/revert/admin.php
@@ -83,7 +83,7 @@ class admin_plugin_revert extends DokuWiki_Admin_Plugin {
 
             // find the last non-spammy revision
             $data = '';
-            $pagelog = new PageRevisionLog($id);
+            $pagelog = new PageChangeLog($id);
             $old  = $pagelog->getRevisions(0, $this->max_revs);
             if(count($old)){
                 foreach($old as $REV){