]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
fixed tag list combining and sorting
authorCash Costello <cash.costello@gmail.com>
Tue, 1 Sep 2009 12:29:59 +0000 (12:29 +0000)
committerCash Costello <cash.costello@gmail.com>
Tue, 1 Sep 2009 12:29:59 +0000 (12:29 +0000)
lib/image.php

index f146aba1a5990a71d65729673b7d9f657fa28f85..f782f0386b34bffdec239114c9730937c1cd5e36 100644 (file)
                $friend_list = array();
                if ($friends) {
                        foreach($friends as $friend) {
+                               //error_log("friend $friend->name");
                                $friend_list[$friend->guid] = $friend->name;
                        }
                }
                        {
                                foreach ($members as $member)
                                {
-                                       if ($viewer_guid != $member->guid)
+                                       if ($viewer_guid != $member->guid) 
+                                       {
                                                $group_list[$member->guid] = $member->name;
+                                               //error_log("group $member->name");
+                                       }
                                }
                                
                                // combine group and friends list
-                               $friend_list = array_merge($friend_list, $group_list);
-                               $friend_list = array_unique($friend_list);
+                               $intersect = array_intersect_key($friend_list, $group_list);
+                               $unique_friends = array_diff_key($friend_list, $group_list);
+                               $unique_members = array_diff_key($group_list, $friend_list);
+                               //$friend_list = array_merge($friend_list, $group_list);
+                               //$friend_list = array_unique($friend_list);
+                               $friend_list = $intersect + $unique_friends + $unique_members;
                        }
                }
                
-               sort($friend_list);
+               asort($friend_list);
                
                return $friend_list;
        }