summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGerrit Uitslag <klapinklapin@gmail.com>2013-11-20 13:36:22 +0100
committerGerrit Uitslag <klapinklapin@gmail.com>2013-11-20 13:36:22 +0100
commitf523c9718baf12a5bc99e2285bc0666796ab2a97 (patch)
treef7c5262330d1c00703d9dfaca0b497c60260dc49
parent55545bcc9b8532818cc1fc8b920deb07cc3f2c61 (diff)
downloadrpg-f523c9718baf12a5bc99e2285bc0666796ab2a97.tar.gz
rpg-f523c9718baf12a5bc99e2285bc0666796ab2a97.tar.bz2
update function calls to changelog functions
-rw-r--r--feed.php5
-rw-r--r--inc/RemoteAPICore.php11
-rw-r--r--inc/common.php8
-rw-r--r--inc/html.php39
-rw-r--r--inc/media.php6
-rw-r--r--inc/subscription.php6
-rw-r--r--lib/plugins/revert/admin.php3
7 files changed, 46 insertions, 32 deletions
diff --git a/feed.php b/feed.php
index 77c8b28df..80a533717 100644
--- a/feed.php
+++ b/feed.php
@@ -292,8 +292,9 @@ function rss_buildItems(&$rss, &$data, $opt) {
switch($opt['item_content']) {
case 'diff':
case 'htmldiff':
+ $pagelog = new PageRevisionLog($id);
if($ditem['media']) {
- $revs = getRevisions($id, 0, 1, 8192, true);
+ $revs = $pagelog->getRevisions(0, 1, true);
$rev = $revs[0];
$src_r = '';
$src_l = '';
@@ -318,7 +319,7 @@ function rss_buildItems(&$rss, &$data, $opt) {
} else {
require_once(DOKU_INC.'inc/DifferenceEngine.php');
- $revs = getRevisions($id, 0, 1);
+ $revs = $pagelog->getRevisions(0, 1);
$rev = $revs[0];
if($rev) {
diff --git a/inc/RemoteAPICore.php b/inc/RemoteAPICore.php
index 2eb8ea403..311ff8c8c 100644
--- a/inc/RemoteAPICore.php
+++ b/inc/RemoteAPICore.php
@@ -374,7 +374,8 @@ class RemoteAPICore {
throw new RemoteException('The requested page does not exist', 121);
}
- $info = getRevisionInfo($id, $time, 1024);
+ $pagelog = new PageRevisionLog($id, 1024);
+ $info = $pagelog->getRevisionInfo($time);
$data = array(
'name' => $id,
@@ -646,11 +647,12 @@ class RemoteAPICore {
throw new RemoteException('Empty page ID', 131);
}
- $revisions = getRevisions($id, $first, $conf['recent']+1);
+ $pagelog = new PageRevisionLog($id);
+ $revisions = $pagelog->getRevisions($first, $conf['recent']+1);
if(count($revisions)==0 && $first!=0) {
$first=0;
- $revisions = getRevisions($id, $first, $conf['recent']+1);
+ $revisions = $pagelog->getRevisions($first, $conf['recent']+1);
}
if(count($revisions)>0 && $first==0) {
@@ -672,7 +674,8 @@ class RemoteAPICore {
// case this can lead to less pages being returned than
// specified via $conf['recent']
if($time){
- $info = getRevisionInfo($id, $time, 1024);
+ $pagelog->setChunkSize(1024);
+ $info = $pagelog->getRevisionInfo($time);
if(!empty($info)) {
$data['user'] = $info['user'];
$data['ip'] = $info['ip'];
diff --git a/inc/common.php b/inc/common.php
index 32771285b..dd30b53ab 100644
--- a/inc/common.php
+++ b/inc/common.php
@@ -187,13 +187,14 @@ function pageinfo() {
$info['meta'] = p_get_metadata($ID);
//who's the editor
+ $pagelog = new PageRevisionLog($ID, 1024);
if($REV) {
- $revinfo = getRevisionInfo($ID, $REV, 1024);
+ $revinfo = $pagelog->getRevisionInfo($REV);
} else {
if(is_array($info['meta']['last_change'])) {
$revinfo = $info['meta']['last_change'];
} else {
- $revinfo = getRevisionInfo($ID, $info['lastmod'], 1024);
+ $revinfo = $pagelog->getRevisionInfo($info['lastmod']);
// cache most recent changelog line in metadata if missing and still valid
if($revinfo !== false) {
$info['meta']['last_change'] = $revinfo;
@@ -1059,8 +1060,9 @@ 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);
$newRev = false;
- $oldRev = getRevisions($id, -1, 1, 1024); // from changelog
+ $oldRev = $pagelog->getRevisions(-1, 1); // from changelog
$oldRev = (int) (empty($oldRev) ? 0 : $oldRev[0]);
if(!@file_exists(wikiFN($id, $old)) && @file_exists($file) && $old >= $oldRev) {
// add old revision to the attic if missing
diff --git a/inc/html.php b/inc/html.php
index 91d8c1833..e1c69a043 100644
--- a/inc/html.php
+++ b/inc/html.php
@@ -414,20 +414,18 @@ function html_revisions($first=0, $media_id = false){
global $conf;
global $lang;
$id = $ID;
+ if ($media_id) $id = $media_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()
*/
- if (!$media_id) $revisions = getRevisions($ID, $first, $conf['recent']+1);
- else {
- $revisions = getRevisions($media_id, $first, $conf['recent']+1, 8192, true);
- $id = $media_id;
- }
+ $pagelog = new PageRevisionLog($id);
+ $revisions = $pagelog->getRevisions($first, $conf['recent']+1, (boolean)$media_id);
if(count($revisions)==0 && $first!=0){
$first=0;
- if (!$media_id) $revisions = getRevisions($ID, $first, $conf['recent']+1);
- else $revisions = getRevisions($media_id, $first, $conf['recent']+1, 8192, true);
+ $revisions = $pagelog->getRevisions($first, $conf['recent']+1, (boolean)$media_id);
}
$hasNext = false;
if (count($revisions)>$conf['recent']) {
@@ -486,10 +484,12 @@ function html_revisions($first=0, $media_id = false){
$form->addElement(form_makeCloseTag('span'));
}
+ $pagelog->setChunkSize(1024);
+
$form->addElement(form_makeOpenTag('span', array('class' => 'user')));
if (!$media_id) $editor = $INFO['editor'];
else {
- $revinfo = getRevisionInfo($id, @filemtime(fullpath(mediaFN($id))), 1024, true);
+ $revinfo = $pagelog->getRevisionInfo(@filemtime(fullpath(mediaFN($id))), true);
if($revinfo['user']){
$editor = $revinfo['user'];
}else{
@@ -510,10 +510,10 @@ function html_revisions($first=0, $media_id = false){
foreach($revisions as $rev){
$date = dformat($rev);
if (!$media_id) {
- $info = getRevisionInfo($id,$rev,true);
+ $info = $pagelog->getRevisionInfo($rev);
$exists = page_exists($id,$rev);
} else {
- $info = getRevisionInfo($id,$rev,true,true);
+ $info = $pagelog->getRevisionInfo($rev,true);
$exists = @file_exists(mediaFN($id,$rev));
}
@@ -706,7 +706,8 @@ function html_recent($first=0, $show_changes='both'){
$href = '';
if ($recent['media']) {
- $diff = (count(getRevisions($recent['id'], 0, 1, 8192, true)) && @file_exists(mediaFN($recent['id'])));
+ $pagelog = new PageRevisionLog($recent['id']);
+ $diff = (count($pagelog->getRevisions(0, 1, true)) && @file_exists(mediaFN($recent['id'])));
if ($diff) {
$href = media_managerURL(array('tab_details' => 'history',
'mediado' => 'diff', 'image' => $recent['id'], 'ns' => getNS($recent['id'])), '&');
@@ -1008,10 +1009,11 @@ 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(!$l_rev){
$l_head = '&mdash;';
}else{
- $l_info = getRevisionInfo($id,$l_rev,true, $media);
+ $l_info = $pagelog->getRevisionInfo($l_rev, $media);
if($l_info['user']){
$l_user = '<bdi>'.editorinfo($l_info['user']).'</bdi>';
if(auth_ismanager()) $l_user .= ' <bdo dir="ltr">('.$l_info['ip'].')</bdo>';
@@ -1029,7 +1031,7 @@ function html_diff_head($l_rev, $r_rev, $id = null, $media = false, $inline = fa
}
if($r_rev){
- $r_info = getRevisionInfo($id,$r_rev,true, $media);
+ $r_info = $pagelog->getRevisionInfo($r_rev, $media);
if($r_info['user']){
$r_user = '<bdi>'.editorinfo($r_info['user']).'</bdi>';
if(auth_ismanager()) $r_user .= ' <bdo dir="ltr">('.$r_info['ip'].')</bdo>';
@@ -1045,7 +1047,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 = getRevisionInfo($id,$_rev,true, $media);
+ $_info = $pagelog->getRevisionInfo($_rev, $media);
if($_info['user']){
$_user = '<bdi>'.editorinfo($_info['user']).'</bdi>';
if(auth_ismanager()) $_user .= ' <bdo dir="ltr">('.$_info['ip'].')</bdo>';
@@ -1082,6 +1084,7 @@ function html_diff($text='',$intro=true,$type=null){
global $lang;
global $INPUT;
global $INFO;
+ $pagelog = new PageRevisionLog($ID);
if(!$type) {
$type = $INPUT->str('difftype');
@@ -1140,7 +1143,7 @@ function html_diff($text='',$intro=true,$type=null){
$l_rev = $rev1;
}else{ // no revision was given, compare previous to current
$r_rev = '';
- $revs = getRevisions($ID, 0, 1);
+ $revs = $pagelog->getRevisions(0, 1);
$l_rev = $revs[0];
$REV = $l_rev; // store revision back in $REV
}
@@ -1155,12 +1158,12 @@ function html_diff($text='',$intro=true,$type=null){
//look for previous/next revision
if($r_rev) {
- $next_rev = getRelativeRevision($ID, $r_rev, 1);
+ $next_rev = $pagelog->getRelativeRevision($r_rev, 1);
} else {
$next_rev = false;
}
if($l_rev) {
- $prev_rev = getRelativeRevision($ID, $l_rev, -1);
+ $prev_rev = $pagelog->getRelativeRevision($l_rev, -1);
} else {
$prev_rev = false;
}
@@ -1219,7 +1222,7 @@ function html_diff($text='',$intro=true,$type=null){
));
ptln('<a class="wikilink1" href="'.$recenturl.'">'.$lang['overviewrevs'].'</a>');
if($next_rev){
- if($next_rev=='current') {
+ if(PageRevisionLog::isCurrentRevision($next_rev)) {
$diffurlnextparam = array(
'do' => 'diff',
'rev' => $r_rev,
diff --git a/inc/media.php b/inc/media.php
index d69426414..9f0c2cb8c 100644
--- a/inc/media.php
+++ b/inc/media.php
@@ -492,7 +492,8 @@ function media_saveOldRevision($id){
$date = filemtime($oldf);
if (!$conf['mediarevisions']) return $date;
- if (!getRevisionInfo($id, $date, 8192, true)) {
+ $pagelog = new PageRevisionLog($id);
+ if (!$pagelog->getRevisionInfo($date, true)) {
// there was an external edit,
// there is no log entry for current version of file
if (!@file_exists(mediaMetaFN($id,'.changes'))) {
@@ -1071,7 +1072,8 @@ function media_diff($image, $ns, $auth, $fromajax = false) {
$l_rev = $rev1;
}else{ // no revision was given, compare previous to current
$r_rev = '';
- $revs = getRevisions($image, 0, 1, 8192, true);
+ $pagelog = new PageRevisionLog($image);
+ $revs = $pagelog->getRevisions(0, 1, true);
if (file_exists(mediaFN($image, $revs[0]))) {
$l_rev = $revs[0];
} else {
diff --git a/inc/subscription.php b/inc/subscription.php
index ddf2f39e6..87db3c621 100644
--- a/inc/subscription.php
+++ b/inc/subscription.php
@@ -336,7 +336,8 @@ class Subscription {
while(!is_null($rev) && $rev['date'] >= $lastupdate &&
($_SERVER['REMOTE_USER'] === $rev['user'] ||
$rev['type'] === DOKU_CHANGE_TYPE_MINOR_EDIT)) {
- $rev = getRevisions($rev['id'], $n++, 1);
+ $pagelog = new PageRevisionLog($rev['id']);
+ $rev = $pagelog->getRevisions($n++, 1);
$rev = (count($rev) > 0) ? $rev[0] : null;
}
@@ -515,9 +516,10 @@ class Subscription {
* @return bool
*/
protected function send_digest($subscriber_mail, $id, $lastupdate) {
+ $pagelog = new PageRevisionLog($id);
$n = 0;
do {
- $rev = getRevisions($id, $n++, 1);
+ $rev = $pagelog->getRevisions($n++, 1);
$rev = (count($rev) > 0) ? $rev[0] : null;
} while(!is_null($rev) && $rev > $lastupdate);
diff --git a/lib/plugins/revert/admin.php b/lib/plugins/revert/admin.php
index 423d67449..ffb6fbc47 100644
--- a/lib/plugins/revert/admin.php
+++ b/lib/plugins/revert/admin.php
@@ -83,7 +83,8 @@ class admin_plugin_revert extends DokuWiki_Admin_Plugin {
// find the last non-spammy revision
$data = '';
- $old = getRevisions($id, 0, $this->max_revs);
+ $pagelog = new PageRevisionLog($id);
+ $old = $pagelog->getRevisions(0, $this->max_revs);
if(count($old)){
foreach($old as $REV){
$data = rawWiki($id,$REV);