allow a more flexible way of using user backends

This commit is contained in:
Robin Appelman 2012-07-19 16:31:55 +02:00
parent e031b9b880
commit 33b8de91ea
2 changed files with 22 additions and 18 deletions

View File

@ -345,7 +345,7 @@ class OC{
$_SESSION['user_id'] = '';
}
OC_User::useBackend( OC_Config::getValue( "userbackend", "database" ));
OC_User::useBackend(new OC_User_Database());
OC_Group::useBackend(new OC_Group_Database());
// Load Apps

View File

@ -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;