Aleksander Machniak
2015-06-07 a9587489473baf3854999e711083be212ca0c1c4
program/lib/Roundcube/rcube_result_set.php
@@ -1,6 +1,6 @@
<?php
/*
/**
 +-----------------------------------------------------------------------+
 | This file is part of the Roundcube Webmail client                     |
 | Copyright (C) 2006-2013, The Roundcube Dev Team                       |
@@ -25,7 +25,7 @@
 * @package    Framework
 * @subpackage Addressbook
 */
class rcube_result_set implements Iterator
class rcube_result_set implements Iterator, ArrayAccess
{
    public $count = 0;
    public $first = 0;
@@ -61,6 +61,34 @@
        $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()
@@ -87,5 +115,4 @@
    {
        return isset($this->records[$this->current]);
    }
}