From 1cf15ef4a5a7e09247b9dfa7e9931ddbe25660a4 Mon Sep 17 00:00:00 2001 From: Thomas Bruederli Date: Fri, 1 Feb 2013 15:18:12 +0100 Subject: Make rcube_result_set implement the PHP iterator interface --- program/lib/Roundcube/rcube_result_set.php | 47 ++++++++++++++++++++++-------- 1 file changed, 35 insertions(+), 12 deletions(-) diff --git a/program/lib/Roundcube/rcube_result_set.php b/program/lib/Roundcube/rcube_result_set.php index 1391e5e4b..a4b070e28 100644 --- a/program/lib/Roundcube/rcube_result_set.php +++ b/program/lib/Roundcube/rcube_result_set.php @@ -3,7 +3,7 @@ /* +-----------------------------------------------------------------------+ | This file is part of the Roundcube Webmail client | - | Copyright (C) 2006-2011, The Roundcube Dev Team | + | Copyright (C) 2006-2013, The Roundcube Dev Team | | | | Licensed under the GNU General Public License version 3 or | | any later version with exceptions for skins & plugins. | @@ -17,20 +17,22 @@ */ /** - * Roundcube result set class. + * Roundcube result set class + * * Representing an address directory result set. + * Implenets Iterator and thus be used in foreach() loops. * * @package Framework * @subpackage Addressbook */ -class rcube_result_set +class rcube_result_set implements Iterator { - var $count = 0; - var $first = 0; - var $current = 0; - var $searchonly = false; - var $records = array(); + public $count = 0; + public $first = 0; + public $searchonly = false; + public $records = array(); + private $current = 0; function __construct($c=0, $f=0) { @@ -51,18 +53,39 @@ class rcube_result_set function first() { $this->current = 0; - return $this->records[$this->current++]; + return $this->records[$this->current]; + } + + function seek($i) + { + $this->current = $i; + } + + /*** PHP 5 Iterator interface ***/ + + function rewind() + { + $this->current = 0; + } + + function current() + { + return $this->records[$this->current]; + } + + function key() + { + return $this->current; } - // alias for iterate() function next() { return $this->iterate(); } - function seek($i) + function valid() { - $this->current = $i; + return isset($this->records[$this->current]); } } -- cgit v1.2.3 From 92ba29f04f9303e6b767569002f65c8ff1512553 Mon Sep 17 00:00:00 2001 From: Thomas Bruederli Date: Fri, 1 Feb 2013 15:19:10 +0100 Subject: Include treelist.js in shrinking scripts --- bin/jsshrink.sh | 2 +- bin/jsunshrink.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bin/jsshrink.sh b/bin/jsshrink.sh index 1d77ff388..c79f90405 100755 --- a/bin/jsshrink.sh +++ b/bin/jsshrink.sh @@ -56,7 +56,7 @@ if [ $# -gt 0 ]; then fi # default: compress application scripts -for fn in app common googiespell list; do +for fn in app common googiespell list treelist; do if [ -r "$JS_DIR/${fn}.js.src" ]; then echo "$JS_DIR/${fn}.js.src already exists, not overwriting" else diff --git a/bin/jsunshrink.sh b/bin/jsunshrink.sh index 9d7755092..ef1bb47a1 100755 --- a/bin/jsunshrink.sh +++ b/bin/jsunshrink.sh @@ -6,7 +6,7 @@ if [ ! -d "$JS_DIR" ]; then exit 1 fi -for fn in app common googiespell list; do +for fn in app common googiespell list treelist; do if [ -r "$JS_DIR/${fn}.js.src" ]; then mv "$JS_DIR/${fn}.js.src" "$JS_DIR/${fn}.js" echo "Reverted $JS_DIR/${fn}.js" -- cgit v1.2.3