diff options
author | Robin Appelman <icewind@owncloud.com> | 2012-07-19 16:31:55 +0200 |
---|---|---|
committer | Robin Appelman <icewind@owncloud.com> | 2012-07-19 16:31:55 +0200 |
commit | 33b8de91eacc09a4c15d4d45df0006ff80a9fb09 (patch) | |
tree | 0cf004a85b87eee7c28664a4838c75b90f4363ca /lib/user.php | |
parent | e031b9b88009ed7b1d1986d9a58e7cb39b5dd825 (diff) | |
download | nextcloud-server-33b8de91eacc09a4c15d4d45df0006ff80a9fb09.tar.gz nextcloud-server-33b8de91eacc09a4c15d4d45df0006ff80a9fb09.zip |
allow a more flexible way of using user backends
Diffstat (limited to 'lib/user.php')
-rw-r--r-- | lib/user.php | 38 |
1 files changed, 21 insertions, 17 deletions
diff --git a/lib/user.php b/lib/user.php index 230efe71394..356be4decf9 100644 --- a/lib/user.php +++ b/lib/user.php @@ -50,8 +50,8 @@ class OC_User { * * Makes a list of backends that can be used by other modules */ - public static function registerBackend( $name ){ - self::$_backends[] = $name; + public static function registerBackend( $backend ){ + self::$_backends[] = $backend; return true; } @@ -83,22 +83,26 @@ class OC_User { * Set the User Authentication Module */ public static function useBackend( $backend = 'database' ){ - // You'll never know what happens - if( null === $backend OR !is_string( $backend )){ - $backend = 'database'; - } + if($backend instanceof OC_User_Backend){ + self::$_usedBackends[get_class($backend)]=$backend; + }else{ + // You'll never know what happens + if( null === $backend OR !is_string( $backend )){ + $backend = 'database'; + } - // Load backend - switch( $backend ){ - case 'database': - case 'mysql': - case 'sqlite': - self::$_usedBackends[$backend] = new OC_User_Database(); - break; - default: - $className = 'OC_USER_' . strToUpper($backend); - self::$_usedBackends[$backend] = new $className(); - break; + // Load backend + switch( $backend ){ + case 'database': + case 'mysql': + case 'sqlite': + self::$_usedBackends[$backend] = new OC_User_Database(); + break; + default: + $className = 'OC_USER_' . strToUpper($backend); + self::$_usedBackends[$backend] = new $className(); + break; + } } true; |