search term for users and groups may occur anywhere in the name or displayname, not just in the beginning

remotes/origin/ldap_group_count
Arthur Schiwon 11 years ago
parent 81ecbbb061
commit 01a012980a
  1. 6
      lib/private/group/database.php
  2. 4
      lib/private/user/database.php

@ -169,7 +169,7 @@ class OC_Group_Database extends OC_Group_Backend {
*/
public function getGroups($search = '', $limit = null, $offset = null) {
$stmt = OC_DB::prepare('SELECT `gid` FROM `*PREFIX*groups` WHERE `gid` LIKE ?', $limit, $offset);
$result = $stmt->execute(array($search.'%'));
$result = $stmt->execute(array('%' . $search . '%'));
$groups = array();
while ($row = $result->fetchRow()) {
$groups[] = $row['gid'];
@ -203,7 +203,7 @@ class OC_Group_Database extends OC_Group_Backend {
$stmt = OC_DB::prepare('SELECT `uid` FROM `*PREFIX*group_user` WHERE `gid` = ? AND `uid` LIKE ?',
$limit,
$offset);
$result = $stmt->execute(array($gid, $search.'%'));
$result = $stmt->execute(array($gid, '%'.$search.'%'));
$users = array();
while ($row = $result->fetchRow()) {
$users[] = $row['uid'];
@ -220,7 +220,7 @@ class OC_Group_Database extends OC_Group_Backend {
*/
public function countUsersInGroup($gid, $search = '') {
$stmt = OC_DB::prepare('SELECT COUNT(`uid`) AS `count` FROM `*PREFIX*group_user` WHERE `gid` = ? AND `uid` LIKE ?');
$result = $stmt->execute(array($gid, $search.'%'));
$result = $stmt->execute(array($gid, '%' . $search . '%'));
return $result->fetchOne();
}

@ -158,7 +158,7 @@ class OC_User_Database extends OC_User_Backend {
$query = OC_DB::prepare('SELECT `uid`, `displayname` FROM `*PREFIX*users`'
. ' WHERE LOWER(`displayname`) LIKE LOWER(?) OR '
. 'LOWER(`uid`) LIKE LOWER(?)', $limit, $offset);
$result = $query->execute(array($search . '%', $search . '%'));
$result = $query->execute(array('%' . $search . '%', '%' . $search . '%'));
$users = array();
while ($row = $result->fetchRow()) {
$displayNames[$row['uid']] = $row['displayname'];
@ -232,7 +232,7 @@ class OC_User_Database extends OC_User_Backend {
*/
public function getUsers($search = '', $limit = null, $offset = null) {
$query = OC_DB::prepare('SELECT `uid` FROM `*PREFIX*users` WHERE LOWER(`uid`) LIKE LOWER(?)', $limit, $offset);
$result = $query->execute(array($search . '%'));
$result = $query->execute(array('%' . $search . '%'));
$users = array();
while ($row = $result->fetchRow()) {
$users[] = $row['uid'];

Loading…
Cancel
Save