diff options
author | Craig Andrews <candrews@integralblue.com> | 2009-11-05 23:51:30 -0500 |
---|---|---|
committer | Craig Andrews <candrews@integralblue.com> | 2009-11-05 23:51:30 -0500 |
commit | 9c80f141e22094da9949b206f2607265b3f7e9ac (patch) | |
tree | 451c7f44a352d13003451e52cf479f0cd4de2c31 | |
parent | d6ddb84132d7b9510ba82064c67f2a39822dab49 (diff) |
Fixed autocomplete returning bogus results
-rw-r--r-- | plugins/Autocomplete/autocomplete.php | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/plugins/Autocomplete/autocomplete.php b/plugins/Autocomplete/autocomplete.php index aa57b3915..379390ffd 100644 --- a/plugins/Autocomplete/autocomplete.php +++ b/plugins/Autocomplete/autocomplete.php @@ -98,11 +98,10 @@ class AutocompleteAction extends Action $user = new User(); $user->limit($limit); $user->whereAdd('nickname like \'' . trim($user->escape($q), '\'') . '%\''); - $user->find(); - while($user->fetch()) { - $profile = Profile::staticGet($user->id); - $user->profile=$profile; - $this->users[]=$user; + if($user->find()){ + while($user->fetch()) { + $this->users[]=clone($user); + } } } if(substr($q,0,1)=='!'){ @@ -111,9 +110,10 @@ class AutocompleteAction extends Action $group = new User_group(); $group->limit($limit); $group->whereAdd('nickname like \'' . trim($group->escape($q), '\'') . '%\''); - $group->find(); - while($group->fetch()) { - $this->groups[]=$group; + if($group->find()){ + while($group->fetch()) { + $this->groups[]=clone($group); + } } } return true; @@ -124,7 +124,8 @@ class AutocompleteAction extends Action parent::handle($args); $results = array(); foreach($this->users as $user){ - $results[]=array('nickname' => $user->nickname, 'fullname'=> $user->profile->fullname, 'type'=>'user'); + $profile = $user->getProfile(); + $results[]=array('nickname' => $user->nickname, 'fullname'=> $profile->fullname, 'type'=>'user'); } foreach($this->groups as $group){ $results[]=array('nickname' => $group->nickname, 'fullname'=> $group->fullname, 'type'=>'group'); |