Thomas Bruederli
2014-03-06 2f43fe94cb02edcb124ce30f29d165ea09478a18
Implement ArrayAccess interface for conveniently accessing rcube_result_set as array
1 files modified
30 ■■■■■ changed files
program/lib/Roundcube/rcube_result_set.php 30 ●●●●● patch | view | raw | blame | history
program/lib/Roundcube/rcube_result_set.php
@@ -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()