From f523c9718baf12a5bc99e2285bc0666796ab2a97 Mon Sep 17 00:00:00 2001 From: Gerrit Uitslag Date: Wed, 20 Nov 2013 13:36:22 +0100 Subject: update function calls to changelog functions --- feed.php | 5 +++-- inc/RemoteAPICore.php | 11 +++++++---- inc/common.php | 8 +++++--- inc/html.php | 39 +++++++++++++++++++++------------------ inc/media.php | 6 ++++-- inc/subscription.php | 6 ++++-- lib/plugins/revert/admin.php | 3 ++- 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 = '—'; }else{ - $l_info = getRevisionInfo($id,$l_rev,true, $media); + $l_info = $pagelog->getRevisionInfo($l_rev, $media); if($l_info['user']){ $l_user = ''.editorinfo($l_info['user']).''; if(auth_ismanager()) $l_user .= ' ('.$l_info['ip'].')'; @@ -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 = ''.editorinfo($r_info['user']).''; if(auth_ismanager()) $r_user .= ' ('.$r_info['ip'].')'; @@ -1045,7 +1047,7 @@ function html_diff_head($l_rev, $r_rev, $id = null, $media = false, $inline = fa $r_head_title.''. $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 = ''.editorinfo($_info['user']).''; if(auth_ismanager()) $_user .= ' ('.$_info['ip'].')'; @@ -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(''.$lang['overviewrevs'].''); 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); -- cgit v1.2.3