<?php
/*
- * Laconica - a distributed open-source microblogging tool
- * Copyright (C) 2008, Controlez-Vous, Inc.
+ * StatusNet - the distributed open-source microblogging tool
+ * Copyright (C) 2008, 2009, StatusNet, Inc.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-if (!defined('LACONICA')) {
+if (!defined('STATUSNET') && !defined('LACONICA')) {
exit(1);
}
{
var $_items = null;
var $_count = 0;
+ var $N = 0;
var $_i = -1;
function __construct($items)
{
$this->_items = $items;
$this->_count = count($this->_items);
+ $this->N = $this->_count;
}
function fetch()
}
}
+ function fetchAll($k= false, $v = false, $method = false)
+ {
+ if ($k !== false || $v !== false || $method !== false)
+ {
+ $item =& $this->_items[$this->_i];
+ return $item->fetchAll($k, $v, $method);
+ }
+ return $this->_items;
+ }
+
function __set($name, $value)
{
$item =& $this->_items[$this->_i];
function __call($name, $args)
{
$item =& $this->_items[$this->_i];
+ if (!is_object($item)) {
+ common_log(LOG_ERR, "Invalid entry " . var_export($item, true) . " at index $this->_i of $this->N; calling $name()");
+ throw new ServerException("Internal error: bad entry in array wrapper list.");
+ }
return call_user_func_array(array($item, $name), $args);
}
-}
\ No newline at end of file
+}