From 919c83ab99bfe958a72b426806376c159ffbb570 Mon Sep 17 00:00:00 2001 From: rurban Date: Mon, 22 Jan 2007 23:51:36 +0000 Subject: [PATCH] new arg: only_new git-svn-id: svn://svn.code.sf.net/p/phpwiki/code/trunk@5567 96ab9672-09ca-45d6-a79d-3d69d39ca109 --- lib/plugin/RecentChanges.php | 46 +++++++++++++++++++++++++++++++----- 1 file changed, 40 insertions(+), 6 deletions(-) diff --git a/lib/plugin/RecentChanges.php b/lib/plugin/RecentChanges.php index b453d703e..06a269825 100644 --- a/lib/plugin/RecentChanges.php +++ b/lib/plugin/RecentChanges.php @@ -1,7 +1,7 @@ 0) { if (intval($days) != $days) $days = sprintf("%.1f", $days); @@ -223,7 +225,7 @@ extends _RecentChanges_Formatter * fr: 1 jour "Les %d %s les plus récentes pendant [le dernier (d'une] jour) sont énumérées ci-dessous." * fr: %s jours "Les %d %s les plus récentes pendant [les derniers (%s] jours) sont énumérées ci-dessous." */ - if ($limit > 0) { + if ($limit > 0) { if ($timespan) { if (intval($days) == 1) $desc = fmt("The %d most recent %s during the past day are listed below.", @@ -730,6 +732,30 @@ class NonDeletedRevisionIterator extends WikiDB_PageRevisionIterator } +/** + * only_new: Only new created pages + */ +class NewPageRevisionIterator extends WikiDB_PageRevisionIterator +{ + /** Constructor + * + * @param $revisions object a WikiDB_PageRevisionIterator. + */ + function NewPageRevisionIterator ($revisions) { + $this->_revisions = $revisions; + } + + function next () { + while (($rev = $this->_revisions->next())) { + if ($rev->getVersion() == 1) + return $rev; + } + $this->free(); + return false; + } + +} + class WikiPlugin_RecentChanges extends WikiPlugin { @@ -739,7 +765,7 @@ extends WikiPlugin function getVersion() { return preg_replace("/[Revision: $]/", '', - "\$Revision: 1.109 $"); + "\$Revision: 1.110 $"); } function managesValidators() { @@ -766,6 +792,7 @@ extends WikiPlugin 'show_major' => true, 'show_all' => false, 'show_deleted' => 'sometimes', + 'only_new' => false, 'limit' => false, 'format' => false, 'daylist' => false, @@ -818,7 +845,9 @@ extends WikiPlugin if ($show_deleted == 'sometimes') $show_deleted = $args['show_minor']; - if (!$show_deleted) + if ($args['only_new']) + $changes = new NewPageRevisionIterator($changes); + elseif (!$show_deleted) $changes = new NonDeletedRevisionIterator($changes, !$args['show_all']); return $changes; @@ -895,6 +924,8 @@ class DayButtonBar extends HtmlElement { $caption = _("Show all changes for:"); else $caption = _("Show changes for:"); + if ($only_new) + $caption = _("All new pages since:"); } $this->pushContent($caption, ' '); @@ -927,6 +958,9 @@ class DayButtonBar extends HtmlElement { } // $Log: not supported by cvs2svn $ +// Revision 1.109 2006/03/19 14:26:29 rurban +// sf.net patch by Matt Brown: Add rel=nofollow to more actions +// // Revision 1.108 2005/04/01 16:09:35 rurban // fix defaults in RecentChanges plugins: e.g. invalid pagenames for PageHistory // -- 2.45.0