aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorThomas Müller <thomas.mueller@tmit.eu>2014-12-19 13:15:50 +0100
committerThomas Müller <thomas.mueller@tmit.eu>2014-12-19 13:15:50 +0100
commit2d647973202151c12a3bd5f0396657212b1f7b7f (patch)
treee8c775f5b0ece150818a78540edd7abbd6d87274 /lib
parent678642a6a274610dc62f627d43be9ca42286858a (diff)
parent6da33e1ea7bb340e22330941d2a980a1414210b0 (diff)
downloadnextcloud-server-2d647973202151c12a3bd5f0396657212b1f7b7f.tar.gz
nextcloud-server-2d647973202151c12a3bd5f0396657212b1f7b7f.zip
Merge pull request #12956 from owncloud/jenkins-user-backend-names
[jenkins only] introduce names for user backends - IUserBackend
Diffstat (limited to 'lib')
-rw-r--r--lib/private/user/database.php10
-rw-r--r--lib/private/user/dummy.php10
-rw-r--r--lib/private/user/http.php10
-rw-r--r--lib/private/user/manager.php11
-rw-r--r--lib/private/user/user.php3
-rw-r--r--lib/public/iuserbackend.php27
6 files changed, 65 insertions, 6 deletions
diff --git a/lib/private/user/database.php b/lib/private/user/database.php
index a6289066f05..de6c72e4745 100644
--- a/lib/private/user/database.php
+++ b/lib/private/user/database.php
@@ -36,7 +36,7 @@
/**
* Class for user management in a SQL Database (e.g. MySQL, SQLite)
*/
-class OC_User_Database extends OC_User_Backend {
+class OC_User_Database extends OC_User_Backend implements \OCP\IUserBackend {
private $cache = array();
/**
@@ -260,4 +260,12 @@ class OC_User_Database extends OC_User_Backend {
return $result->fetchOne();
}
+ /**
+ * Backend name to be shown in user management
+ * @return string the name of the backend to be shown
+ */
+ public function getBackendName(){
+ return 'Database';
+ }
+
}
diff --git a/lib/private/user/dummy.php b/lib/private/user/dummy.php
index fd0201734fa..322a4562ee6 100644
--- a/lib/private/user/dummy.php
+++ b/lib/private/user/dummy.php
@@ -24,7 +24,7 @@
/**
* dummy user backend, does not keep state, only for testing use
*/
-class OC_User_Dummy extends OC_User_Backend {
+class OC_User_Dummy extends OC_User_Backend implements \OCP\IUserBackend {
private $users = array();
private $displayNames = array();
@@ -156,4 +156,12 @@ class OC_User_Dummy extends OC_User_Backend {
public function getDisplayName($uid) {
return isset($this->displayNames[$uid])? $this->displayNames[$uid]: $uid;
}
+
+ /**
+ * Backend name to be shown in user management
+ * @return string the name of the backend to be shown
+ */
+ public function getBackendName(){
+ return 'Dummy';
+ }
}
diff --git a/lib/private/user/http.php b/lib/private/user/http.php
index 617e8adb3f2..8375c4e1e22 100644
--- a/lib/private/user/http.php
+++ b/lib/private/user/http.php
@@ -24,7 +24,7 @@
/**
* user backend using http auth requests
*/
-class OC_User_HTTP extends OC_User_Backend {
+class OC_User_HTTP extends OC_User_Backend implements \OCP\IUserBackend {
/**
* split http://user@host/path into a user and url part
* @param string $url
@@ -109,4 +109,12 @@ class OC_User_HTTP extends OC_User_Backend {
return false;
}
}
+
+ /**
+ * Backend name to be shown in user management
+ * @return string the name of the backend to be shown
+ */
+ public function getBackendName(){
+ return 'HTTP';
+ }
}
diff --git a/lib/private/user/manager.php b/lib/private/user/manager.php
index 2c56ea261d6..1fc89f8c2c2 100644
--- a/lib/private/user/manager.php
+++ b/lib/private/user/manager.php
@@ -279,10 +279,15 @@ class Manager extends PublicEmitter implements IUserManager {
if ($backend->implementsActions(\OC_User_Backend::COUNT_USERS)) {
$backendusers = $backend->countUsers();
if($backendusers !== false) {
- if(isset($userCountStatistics[get_class($backend)])) {
- $userCountStatistics[get_class($backend)] += $backendusers;
+ if($backend instanceof \OCP\IUserBackend) {
+ $name = $backend->getBackendName();
} else {
- $userCountStatistics[get_class($backend)] = $backendusers;
+ $name = get_class($backend);
+ }
+ if(isset($userCountStatistics[$name])) {
+ $userCountStatistics[$name] += $backendusers;
+ } else {
+ $userCountStatistics[$name] = $backendusers;
}
}
}
diff --git a/lib/private/user/user.php b/lib/private/user/user.php
index 062081d51d4..0b4f9a24276 100644
--- a/lib/private/user/user.php
+++ b/lib/private/user/user.php
@@ -225,6 +225,9 @@ class User implements IUser {
* @return string
*/
public function getBackendClassName() {
+ if($this->backend instanceof \OCP\IUserBackend) {
+ return $this->backend->getBackendName();
+ }
return get_class($this->backend);
}
diff --git a/lib/public/iuserbackend.php b/lib/public/iuserbackend.php
new file mode 100644
index 00000000000..79b5740ee93
--- /dev/null
+++ b/lib/public/iuserbackend.php
@@ -0,0 +1,27 @@
+<?php
+/**
+ * Copyright (c) 2014 Morris Jobke <hey@morrisjobke.de>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+/**
+ * Public interface of ownCloud for apps to use.
+ * User Interface version 2
+ *
+ */
+
+// use OCP namespace for all classes that are considered public.
+// This means that they should be used by apps instead of the internal ownCloud classes
+namespace OCP;
+
+interface IUserBackend {
+
+ /**
+ * Backend name to be shown in user management
+ * @return string the name of the backend to be shown
+ */
+ public function getBackendName();
+
+}