allow a more flexible way of using user backends

remotes/origin/stable5
Robin Appelman 13 years ago
parent e031b9b880
commit 33b8de91ea
  1. 2
      lib/base.php
  2. 38
      lib/user.php

@ -345,7 +345,7 @@ class OC{
$_SESSION['user_id'] = ''; $_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()); OC_Group::useBackend(new OC_Group_Database());
// Load Apps // Load Apps

@ -50,8 +50,8 @@ class OC_User {
* *
* Makes a list of backends that can be used by other modules * Makes a list of backends that can be used by other modules
*/ */
public static function registerBackend( $name ){ public static function registerBackend( $backend ){
self::$_backends[] = $name; self::$_backends[] = $backend;
return true; return true;
} }
@ -83,22 +83,26 @@ class OC_User {
* Set the User Authentication Module * Set the User Authentication Module
*/ */
public static function useBackend( $backend = 'database' ){ public static function useBackend( $backend = 'database' ){
// You'll never know what happens if($backend instanceof OC_User_Backend){
if( null === $backend OR !is_string( $backend )){ self::$_usedBackends[get_class($backend)]=$backend;
$backend = 'database'; }else{
} // You'll never know what happens
if( null === $backend OR !is_string( $backend )){
$backend = 'database';
}
// Load backend // Load backend
switch( $backend ){ switch( $backend ){
case 'database': case 'database':
case 'mysql': case 'mysql':
case 'sqlite': case 'sqlite':
self::$_usedBackends[$backend] = new OC_User_Database(); self::$_usedBackends[$backend] = new OC_User_Database();
break; break;
default: default:
$className = 'OC_USER_' . strToUpper($backend); $className = 'OC_USER_' . strToUpper($backend);
self::$_usedBackends[$backend] = new $className(); self::$_usedBackends[$backend] = new $className();
break; break;
}
} }
true; true;

Loading…
Cancel
Save