NoResultException returns the failed object
This commit is contained in:
		@@ -549,14 +549,22 @@ class Profile extends Managed_DataObject
 | 
			
		||||
    function getSubscribed($offset=0, $limit=null)
 | 
			
		||||
    {
 | 
			
		||||
        $subs = Subscription::getSubscribedIDs($this->id, $offset, $limit);
 | 
			
		||||
        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);
 | 
			
		||||
        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());
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user