Commit 9ddc40b6 authored by mmn's avatar mmn

NoResultException returns the failed object

parent 1d8b19fe
......@@ -549,14 +549,22 @@ class Profile extends Managed_DataObject
function getSubscribed($offset=0, $limit=null)
{
$subs = Subscription::getSubscribedIDs($this->id, $offset, $limit);
$profiles = Profile::listFind('id', $subs);
try {
$profiles = Profile::listFind('id', $subs);
} catch (NoResultException $e) {
return $e->obj;
}
return $profiles;
}
function getSubscribers($offset=0, $limit=null)
{
$subs = Subscription::getSubscriberIDs($this->id, $offset, $limit);
$profiles = Profile::listFind('id', $subs);
try {
$profiles = Profile::listFind('id', $subs);
} catch (NoResultException $e) {
return $e->obj;
}
return $profiles;
}
......
......@@ -31,8 +31,11 @@ if (!defined('GNUSOCIAL')) { exit(1); }
class NoAvatarException extends NoResultException
{
public function __construct(Profile $target, Avatar $avatar)
public $target;
public function __construct(Profile $target, Avatar $obj)
{
parent::__construct($avatar);
$this->target = $target;
parent::__construct($obj);
}
}
......@@ -31,8 +31,11 @@ if (!defined('GNUSOCIAL')) { exit(1); }
class NoResultException extends ServerException
{
public $obj; // The object with query that gave no results
public function __construct(DB_DataObject $obj)
{
$this->obj = $obj;
// We could log an entry here with the search parameters
parent::__construct(sprintf(_('No result found on %s lookup.'), get_class($obj)));
}
......
......@@ -85,15 +85,8 @@ class ProfileList extends Widget
function showProfiles()
{
// Note: we don't use fetchAll() because it's borked with query()
$profiles = array();
while ($this->profile->fetch()) {
$profiles[] = clone($this->profile);
}
$cnt = count($profiles);
$cnt = $this->profile->N;
$profiles = $this->profile->fetchAll();
$max = min($cnt, $this->maxProfiles());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment