Implement default functions in OC_User backend

Simplifies calling these functions, and makes code simpler

functions:
deleteUser
getUsers
userExists
This commit is contained in:
Bart Visscher 2012-05-08 09:07:11 +02:00
parent a9d7c67bf2
commit ac2e0cd6e4
4 changed files with 40 additions and 52 deletions

View file

@ -24,7 +24,7 @@
require_once('class.openid.v3.php');
/**
* Class for user management in a SQL Database (e.g. MySQL, SQLite)
* Class for user OpenId backend
*/
class OC_USER_OPENID extends OC_User_Backend {
/**

View file

@ -161,9 +161,7 @@ class OC_User {
if( $run ){
//delete the user from all backends
foreach(self::$_usedBackends as $backend){
if($backend->implementsActions(OC_USER_BACKEND_DELETE_USER)){
$backend->deleteUser($uid);
}
$backend->deleteUser($uid);
}
// We have to delete the user from all groups
foreach( OC_Group::getUserGroups( $uid ) as $i ){
@ -323,11 +321,9 @@ class OC_User {
public static function getUsers(){
$users=array();
foreach(self::$_usedBackends as $backend){
if($backend->implementsActions(OC_USER_BACKEND_GET_USERS)){
$backendUsers=$backend->getUsers();
if(is_array($backendUsers)){
$users=array_merge($users,$backendUsers);
}
$backendUsers=$backend->getUsers();
if(is_array($backendUsers)){
$users=array_merge($users,$backendUsers);
}
}
return $users;
@ -340,11 +336,9 @@ class OC_User {
*/
public static function userExists($uid){
foreach(self::$_usedBackends as $backend){
if($backend->implementsActions(OC_USER_BACKEND_USER_EXISTS)){
$result=$backend->userExists($uid);
if($result===true){
return true;
}
$result=$backend->userExists($uid);
if($result===true){
return true;
}
}
return false;

View file

@ -32,11 +32,8 @@ define('OC_USER_BACKEND_NOT_IMPLEMENTED', -501);
* actions that user backends can define
*/
define('OC_USER_BACKEND_CREATE_USER', 0x000001);
define('OC_USER_BACKEND_DELETE_USER', 0x000010);
define('OC_USER_BACKEND_SET_PASSWORD', 0x000100);
define('OC_USER_BACKEND_CHECK_PASSWORD', 0x001000);
define('OC_USER_BACKEND_GET_USERS', 0x010000);
define('OC_USER_BACKEND_USER_EXISTS', 0x100000);
define('OC_USER_BACKEND_SET_PASSWORD', 0x000010);
define('OC_USER_BACKEND_CHECK_PASSWORD', 0x000100);
/**
@ -47,11 +44,8 @@ abstract class OC_User_Backend {
protected $possibleActions = array(
OC_USER_BACKEND_CREATE_USER => 'createUser',
OC_USER_BACKEND_DELETE_USER => 'deleteUser',
OC_USER_BACKEND_SET_PASSWORD => 'setPassword',
OC_USER_BACKEND_CHECK_PASSWORD => 'checkPassword',
OC_USER_BACKEND_GET_USERS => 'getUsers',
OC_USER_BACKEND_USER_EXISTS => 'userExists'
);
/**
@ -83,4 +77,34 @@ abstract class OC_User_Backend {
public function implementsActions($actions){
return (bool)($this->getSupportedActions() & $actions);
}
/**
* @brief delete a user
* @param $uid The username of the user to delete
* @returns true/false
*
* Deletes a user
*/
public function deleteUser( $uid ){
return false;
}
/**
* @brief Get a list of all users
* @returns array with all uids
*
* Get a list of all users.
*/
public function getUsers(){
return array();
}
/**
* @brief check if a user exists
* @param string $uid the username
* @return boolean
*/
public function userExists($uid){
return false;
}
}

View file

@ -39,17 +39,6 @@ abstract class OC_User_Example extends OC_User_Backend {
return OC_USER_BACKEND_NOT_IMPLEMENTED;
}
/**
* @brief delete a user
* @param $uid The username of the user to delete
* @returns true/false
*
* Deletes a user
*/
public function deleteUser( $uid ){
return OC_USER_BACKEND_NOT_IMPLEMENTED;
}
/**
* @brief Set password
* @param $uid The username
@ -73,23 +62,4 @@ abstract class OC_User_Example extends OC_User_Backend {
public function checkPassword($uid, $password){
return OC_USER_BACKEND_NOT_IMPLEMENTED;
}
/**
* @brief Get a list of all users
* @returns array with all uids
*
* Get a list of all users.
*/
public function getUsers(){
return OC_USER_BACKEND_NOT_IMPLEMENTED;
}
/**
* @brief check if a user exists
* @param string $uid the username
* @return boolean
*/
public function userExists($uid){
return OC_USER_BACKEND_NOT_IMPLEMENTED;
}
}