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.
This commit is contained in:
parent
c8e02060c1
commit
2c78c5ccab
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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.'%'));
|
||||
|
|
Loading…
Reference in New Issue