diff options
author | Thomas Mueller <thomas.mueller@tmit.eu> | 2013-02-11 22:01:52 +0100 |
---|---|---|
committer | Thomas Mueller <thomas.mueller@tmit.eu> | 2013-02-11 22:01:52 +0100 |
commit | 5731a1b01cc5ba1a4f1226336a56761d967c8e88 (patch) | |
tree | afa8473bfe1e58e99f28c2896afde106fa25a3e6 /lib/user | |
parent | 037fcde1334d7b4d2bdeaaad0a71adc692b27ff8 (diff) | |
download | nextcloud-server-5731a1b01cc5ba1a4f1226336a56761d967c8e88.tar.gz nextcloud-server-5731a1b01cc5ba1a4f1226336a56761d967c8e88.zip |
introduce new virtual method hasUserListings() to determine if a user backend can list it's users.
Diffstat (limited to 'lib/user')
-rw-r--r-- | lib/user/backend.php | 24 | ||||
-rw-r--r-- | lib/user/database.php | 82 | ||||
-rw-r--r-- | lib/user/dummy.php | 7 | ||||
-rw-r--r-- | lib/user/interface.php | 7 |
4 files changed, 74 insertions, 46 deletions
diff --git a/lib/user/backend.php b/lib/user/backend.php index 56fa3195978..34de1e50698 100644 --- a/lib/user/backend.php +++ b/lib/user/backend.php @@ -134,18 +134,26 @@ abstract class OC_User_Backend implements OC_User_Interface { return $uid; } - /**
- * @brief Get a list of all display names
- * @returns array with all displayNames (value) and the correspondig uids (key)
- *
- * Get a list of all display names and user ids.
- */
- public function getDisplayNames($search = '', $limit = null, $offset = null) {
+ /** + * @brief Get a list of all display names + * @returns array with all displayNames (value) and the corresponding uids (key) + * + * Get a list of all display names and user ids. + */ + public function getDisplayNames($search = '', $limit = null, $offset = null) { $displayNames = array(); $users = $this->getUsers($search, $limit, $offset); foreach ( $users as $user) { $displayNames[$user] = $user; } - return $displayNames;
+ return $displayNames; + } + + /** + * @brief Check if a user list is available or not + * @return boolean if users can be listed or not + */ + public function hasUserListings() { + return false; } } diff --git a/lib/user/database.php b/lib/user/database.php index 8dfd9534a96..1a6a22d7a16 100644 --- a/lib/user/database.php +++ b/lib/user/database.php @@ -111,30 +111,30 @@ class OC_User_Database extends OC_User_Backend { } } - /**
- * @brief Set display name
- * @param $uid The username
- * @param $displayName The new display name
- * @returns true/false
- *
- * Change the display name of a user
+ /** + * @brief Set display name + * @param $uid The username + * @param $displayName The new display name + * @returns true/false + * + * Change the display name of a user */ public function setDisplayName( $uid, $displayName ) { - if( $this->userExists($uid) ) {
- $query = OC_DB::prepare( 'UPDATE `*PREFIX*users` SET `displayname` = ? WHERE `uid` = ?' );
- $query->execute( array( $displayName, $uid ));
- return true;
- }else{
- return false;
- }
+ if( $this->userExists($uid) ) { + $query = OC_DB::prepare( 'UPDATE `*PREFIX*users` SET `displayname` = ? WHERE `uid` = ?' ); + $query->execute( array( $displayName, $uid )); + return true; + }else{ + return false; + } } - /**
- * @brief get display name of the user
- * @param $uid user ID of the user
- * @return display name
- */
- public function getDisplayName($uid) {
+ /** + * @brief get display name of the user + * @param $uid user ID of the user + * @return display name + */ + public function getDisplayName($uid) { if( $this->userExists($uid) ) { $query = OC_DB::prepare( 'SELECT displayname FROM `*PREFIX*users` WHERE `uid` = ?' ); $result = $query->execute( array( $uid ))->fetchAll(); @@ -144,36 +144,36 @@ class OC_User_Database extends OC_User_Backend { } else { return $uid; } - }
+ } } - /**
- * @brief Get a list of all display names
- * @returns array with all displayNames (value) and the correspondig uids (key)
- *
- * Get a list of all display names and user ids.
- */
+ /** + * @brief Get a list of all display names + * @returns array with all displayNames (value) and the correspondig uids (key) + * + * Get a list of all display names and user ids. + */ 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);
+ $query = OC_DB::prepare('SELECT `uid`, `displayname` FROM `*PREFIX*users` WHERE LOWER(`displayname`) LIKE LOWER(?)', $limit, $offset); $result = $query->execute(array($search.'%')); - $users = array();
- while ($row = $result->fetchRow()) {
- $displayNames[$row['uid']] = $row['displayname'];
+ $users = array(); + 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);
+ $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()) {
+ while ($row = $result->fetchRow()) { $displayName = trim($row['displayname'], ' '); - if ( empty($displayName) ) {
+ if ( empty($displayName) ) { $displayNames[$row['uid']] = $row['uid']; - }
+ } } -
- return $displayNames;
+ + return $displayNames; } /** @@ -256,4 +256,12 @@ class OC_User_Database extends OC_User_Backend { return false; } } + + /** + * @return bool + */ + public function hasUserListings() { + return true; + } + } diff --git a/lib/user/dummy.php b/lib/user/dummy.php index 4dbbc02b888..d63f60efbeb 100644 --- a/lib/user/dummy.php +++ b/lib/user/dummy.php @@ -112,4 +112,11 @@ class OC_User_Dummy extends OC_User_Backend { public function userExists($uid) { return isset($this->users[$uid]); } + + /** + * @return bool + */ + public function hasUserListings() { + return true; + } } diff --git a/lib/user/interface.php b/lib/user/interface.php index b4667633b50..b1e19aea7fb 100644 --- a/lib/user/interface.php +++ b/lib/user/interface.php @@ -66,10 +66,15 @@ interface OC_User_Interface { /** * @brief Get a list of all display names - * @returns array with all displayNames (value) and the correspondig uids (key) + * @returns array with all displayNames (value) and the corresponding uids (key) * * Get a list of all display names and user ids. */ public function getDisplayNames($search = '', $limit = null, $offset = null); + /** + * @brief Check if a user list is available or not + * @return boolean if users can be listed or not + */ + public function hasUserListings(); }
\ No newline at end of file |