From ed1d212ae2daea5e4bd043417610177093e99f19 Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Sat, 16 Jan 2016 03:03:51 -0500
Subject: [PATCH] Improved SVG cleanup code
---
program/lib/Roundcube/rcube_result_set.php | 86 +++++++++++++++++++++++++++++++++----------
1 files changed, 66 insertions(+), 20 deletions(-)
diff --git a/program/lib/Roundcube/rcube_result_set.php b/program/lib/Roundcube/rcube_result_set.php
index 456d1c9..9d36a0f 100644
--- a/program/lib/Roundcube/rcube_result_set.php
+++ b/program/lib/Roundcube/rcube_result_set.php
@@ -1,11 +1,9 @@
<?php
-/*
+/**
+-----------------------------------------------------------------------+
- | program/include/rcube_result_set.php |
- | |
| 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. |
@@ -13,28 +11,28 @@
| |
| PURPOSE: |
| Class representing an address directory result set |
- | |
+-----------------------------------------------------------------------+
| Author: Thomas Bruederli <roundcube@gmail.com> |
+-----------------------------------------------------------------------+
*/
-
/**
- * 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, ArrayAccess
{
- 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)
{
@@ -55,13 +53,7 @@
function first()
{
$this->current = 0;
- return $this->records[$this->current++];
- }
-
- // alias for iterate()
- function next()
- {
- return $this->iterate();
+ return $this->records[$this->current];
}
function seek($i)
@@ -69,4 +61,58 @@
$this->current = $i;
}
+ /*** Implement PHP ArrayAccess interface ***/
+
+ public function offsetSet($offset, $value)
+ {
+ if (is_null($offset)) {
+ $offset = count($this->records);
+ $this->records[] = $value;
+ }
+ else {
+ $this->records[$offset] = $value;
+ }
+ }
+
+ public function offsetExists($offset)
+ {
+ return isset($this->records[$offset]);
+ }
+
+ public function offsetUnset($offset)
+ {
+ unset($this->records[$offset]);
+ }
+
+ public function offsetGet($offset)
+ {
+ return $this->records[$offset];
+ }
+
+ /*** PHP 5 Iterator interface ***/
+
+ function rewind()
+ {
+ $this->current = 0;
+ }
+
+ function current()
+ {
+ return $this->records[$this->current];
+ }
+
+ function key()
+ {
+ return $this->current;
+ }
+
+ function next()
+ {
+ return $this->iterate();
+ }
+
+ function valid()
+ {
+ return isset($this->records[$this->current]);
+ }
}
--
Gitblit v1.9.1