From 2c78c5ccab763a74210ec8684f4582d0972e694e Mon Sep 17 00:00:00 2001
From: Qingping Hou <dave2008713@gmail.com>
Date: Mon, 18 Feb 2013 18:05:58 -0500
Subject: [PATCH] bug fix for issue 1739, two changes included:

* fix typo in OC_Group_Database::DisplayNamesInGroup's SQL clause
* check array_diff return value in OC_Group::displayNamesInGroups,
  when there is no difference between two arrays, it will return
  NULL, so we have to take care of it.
---
 lib/group.php          | 15 ++++++++-------
 lib/group/database.php |  2 +-
 2 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/lib/group.php b/lib/group.php
index 6afe144003..8c06ddc0fd 100644
--- a/lib/group.php
+++ b/lib/group.php
@@ -308,15 +308,16 @@ class OC_Group {
 	 * @return array with display names (Key) user ids (value)
 	 */
 	public static function displayNamesInGroups($gids, $search = '', $limit = -1, $offset = 0) {
-		$displayNames = array();
+		$displayNames = array();
 		foreach ($gids as $gid) {
 			// TODO Need to apply limits to groups as total
-			$displayNames = array_merge(
-				array_diff(
-					self::displayNamesInGroup($gid, $search, $limit, $offset),
-					$displayNames
-				),
-				$displayNames);
+			$diff = array_diff(
+				self::displayNamesInGroup($gid, $search, $limit, $offset),
+				$displayNames
+			);
+			if ($diff) {
+				$displayNames = array_merge($diff, $displayNames);
+			}
 		}
 		return $displayNames;
 	}
diff --git a/lib/group/database.php b/lib/group/database.php
index 8816dd8169..93dc05c53a 100644
--- a/lib/group/database.php
+++ b/lib/group/database.php
@@ -225,7 +225,7 @@ class OC_Group_Database extends OC_Group_Backend {
 		$stmt = OC_DB::prepare('SELECT `*PREFIX*users`.`uid`, `*PREFIX*users`.`displayname`'
 			.' FROM `*PREFIX*users`'
 			.' INNER JOIN `*PREFIX*group_user` ON `*PREFIX*group_user`.`uid` = `*PREFIX*users`.`uid`'
-			.' WHERE `gid` = ? AND `*PREFIX*group_user.uid` LIKE ?',
+			.' WHERE `gid` = ? AND `*PREFIX*group_user`.`uid` LIKE ?',
 			$limit,
 			$offset);
 		$result = $stmt->execute(array($gid, $search.'%'));
-- 
GitLab