]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Fixed autocomplete returning bogus results
authorCraig Andrews <candrews@integralblue.com>
Fri, 6 Nov 2009 04:51:30 +0000 (23:51 -0500)
committerCraig Andrews <candrews@integralblue.com>
Fri, 6 Nov 2009 04:51:30 +0000 (23:51 -0500)
plugins/Autocomplete/autocomplete.php

index aa57b3915fd9b3e66ec81ea60170b8c4eacb34da..379390ffdf23c1cd93fc1a85840cffec8e22010d 100644 (file)
@@ -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');