aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjörn Schießle <bjoern@schiessle.org>2013-01-31 03:53:32 -0800
committerBjörn Schießle <bjoern@schiessle.org>2013-01-31 03:53:32 -0800
commit13165bbea220d7642c7b2bb5d714337e2aee2d17 (patch)
tree940a2fad6415b2d3db13853f1e81ba8230cf835a
parent00a30e665128352e9b20268ea65400a968903c74 (diff)
parent77765bd9670ef64ad6cc90b4f3d74c959f937e13 (diff)
downloadnextcloud-server-13165bbea220d7642c7b2bb5d714337e2aee2d17.tar.gz
nextcloud-server-13165bbea220d7642c7b2bb5d714337e2aee2d17.zip
Merge pull request #1390 from schiesbn/search_display_name_and_uid
Search display name and uid
-rw-r--r--lib/group/database.php11
-rw-r--r--lib/user/database.php21
2 files changed, 18 insertions, 14 deletions
diff --git a/lib/group/database.php b/lib/group/database.php
index c5dd402b212..1e2328f4c08 100644
--- a/lib/group/database.php
+++ b/lib/group/database.php
@@ -219,21 +219,14 @@ class OC_Group_Database extends OC_Group_Backend {
*/
public function DisplayNamesInGroup($gid, $search = '', $limit = -1, $offset = 0) {
$displayNames = '';
- /*
-
- SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
- FROM Persons
- INNER JOIN Orders
- ON Persons.P_Id=Orders.P_Id
- ORDER BY Persons.LastName
- */
+
$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 ?', $limit, $offset);
$result = $stmt->execute(array($gid, $search.'%'));
$users = array();
while ($row = $result->fetchRow()) {
$displayName = trim($row['displayname'], ' ');
$displayNames[$row['uid']] = empty($displayName) ? $row['uid'] : $displayName;
- }
+ }
return $displayNames;
}
}
diff --git a/lib/user/database.php b/lib/user/database.php
index 7deeb0c4697..8dfd9534a96 100644
--- a/lib/user/database.php
+++ b/lib/user/database.php
@@ -156,12 +156,23 @@ class OC_User_Database extends OC_User_Backend {
public function getDisplayNames($search = '', $limit = null, $offset = null) {
$displayNames = array();
$query = OC_DB::prepare('SELECT `uid`, `displayname` FROM `*PREFIX*users` WHERE LOWER(`displayname`) LIKE LOWER(?)', $limit, $offset);
- $result = $query->execute(array($search.'%'));
+ $result = $query->execute(array($search.'%'));
$users = array();
- while ($row = $result->fetchRow()) {
- $displayName = trim($row['displayname'], ' ');
- $displayNames[$row['uid']] = empty($displayName) ? $row['uid'] : $displayName;
- }
+ while ($row = $result->fetchRow()) {
+ $displayNames[$row['uid']] = $row['displayname'];
+ }
+
+ // let's see if we can also find some users who don't have a display name yet
+ $query = OC_DB::prepare('SELECT `uid`, `displayname` FROM `*PREFIX*users` WHERE LOWER(`uid`) LIKE LOWER(?)', $limit, $offset);
+ $result = $query->execute(array($search.'%'));
+ while ($row = $result->fetchRow()) {
+ $displayName = trim($row['displayname'], ' ');
+ if ( empty($displayName) ) {
+ $displayNames[$row['uid']] = $row['uid'];
+ }
+ }
+
+
return $displayNames;
}