summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCraig Andrews <candrews@integralblue.com>2009-11-05 23:51:30 -0500
committerCraig Andrews <candrews@integralblue.com>2009-11-05 23:51:30 -0500
commit9c80f141e22094da9949b206f2607265b3f7e9ac (patch)
tree451c7f44a352d13003451e52cf479f0cd4de2c31
parentd6ddb84132d7b9510ba82064c67f2a39822dab49 (diff)
Fixed autocomplete returning bogus results
-rw-r--r--plugins/Autocomplete/autocomplete.php19
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');