From 9c80f141e22094da9949b206f2607265b3f7e9ac Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Thu, 5 Nov 2009 23:51:30 -0500 Subject: [PATCH] Fixed autocomplete returning bogus results --- plugins/Autocomplete/autocomplete.php | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/plugins/Autocomplete/autocomplete.php b/plugins/Autocomplete/autocomplete.php index aa57b3915f..379390ffdf 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'); -- 2.39.5