Browse Source

make getDisplayNames optional feature for Group Backends, fall back to internal names

tags/v5.0.0RC3
Arthur Schiwon 11 years ago
parent
commit
5da9223d1c
2 changed files with 9 additions and 1 deletions
  1. 7
    1
      lib/group.php
  2. 2
    0
      lib/group/backend.php

+ 7
- 1
lib/group.php View File

@@ -294,7 +294,13 @@ class OC_Group {
public static function displayNamesInGroup($gid, $search = '', $limit = -1, $offset = 0) {
$displayNames=array();
foreach(self::$_usedBackends as $backend) {
$displayNames = array_merge($backend->displayNamesInGroup($gid, $search, $limit, $offset), $displayNames);
if($backend->implementsActions(OC_GROUP_BACKEND_GET_DISPLAYNAME)) {
$displayNames = array_merge($backend->displayNamesInGroup($gid, $search, $limit, $offset), $displayNames);
} else {
$users = $backend->usersInGroup($gid, $search, $limit, $offset);
$names = array_combine($users, $users);
$displayNames = array_merge($names, $displayNames);
}
}
return $displayNames;
}

+ 2
- 0
lib/group/backend.php View File

@@ -33,6 +33,7 @@ define('OC_GROUP_BACKEND_CREATE_GROUP', 0x00000001);
define('OC_GROUP_BACKEND_DELETE_GROUP', 0x00000010);
define('OC_GROUP_BACKEND_ADD_TO_GROUP', 0x00000100);
define('OC_GROUP_BACKEND_REMOVE_FROM_GOUP', 0x00001000);
define('OC_GROUP_BACKEND_GET_DISPLAYNAME', 0x00010000);

/**
* Abstract base class for user management
@@ -43,6 +44,7 @@ abstract class OC_Group_Backend implements OC_Group_Interface {
OC_GROUP_BACKEND_DELETE_GROUP => 'deleteGroup',
OC_GROUP_BACKEND_ADD_TO_GROUP => 'addToGroup',
OC_GROUP_BACKEND_REMOVE_FROM_GOUP => 'removeFromGroup',
OC_GROUP_BACKEND_GET_DISPLAYNAME => 'displayNamesInGroup',
);

/**

Loading…
Cancel
Save