Skip to content
Snippets Groups Projects
Commit ac2e0cd6 authored by Bart Visscher's avatar Bart Visscher
Browse files

Implement default functions in OC_User backend

Simplifies calling these functions, and makes code simpler

functions:
deleteUser
getUsers
userExists
parent a9d7c67b
No related branches found
No related tags found
No related merge requests found
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
require_once('class.openid.v3.php'); 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 { class OC_USER_OPENID extends OC_User_Backend {
/** /**
......
...@@ -161,9 +161,7 @@ class OC_User { ...@@ -161,9 +161,7 @@ class OC_User {
if( $run ){ if( $run ){
//delete the user from all backends //delete the user from all backends
foreach(self::$_usedBackends as $backend){ 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 // We have to delete the user from all groups
foreach( OC_Group::getUserGroups( $uid ) as $i ){ foreach( OC_Group::getUserGroups( $uid ) as $i ){
...@@ -323,11 +321,9 @@ class OC_User { ...@@ -323,11 +321,9 @@ class OC_User {
public static function getUsers(){ public static function getUsers(){
$users=array(); $users=array();
foreach(self::$_usedBackends as $backend){ foreach(self::$_usedBackends as $backend){
if($backend->implementsActions(OC_USER_BACKEND_GET_USERS)){ $backendUsers=$backend->getUsers();
$backendUsers=$backend->getUsers(); if(is_array($backendUsers)){
if(is_array($backendUsers)){ $users=array_merge($users,$backendUsers);
$users=array_merge($users,$backendUsers);
}
} }
} }
return $users; return $users;
...@@ -340,11 +336,9 @@ class OC_User { ...@@ -340,11 +336,9 @@ class OC_User {
*/ */
public static function userExists($uid){ public static function userExists($uid){
foreach(self::$_usedBackends as $backend){ foreach(self::$_usedBackends as $backend){
if($backend->implementsActions(OC_USER_BACKEND_USER_EXISTS)){ $result=$backend->userExists($uid);
$result=$backend->userExists($uid); if($result===true){
if($result===true){ return true;
return true;
}
} }
} }
return false; return false;
......
...@@ -32,11 +32,8 @@ define('OC_USER_BACKEND_NOT_IMPLEMENTED', -501); ...@@ -32,11 +32,8 @@ define('OC_USER_BACKEND_NOT_IMPLEMENTED', -501);
* actions that user backends can define * actions that user backends can define
*/ */
define('OC_USER_BACKEND_CREATE_USER', 0x000001); define('OC_USER_BACKEND_CREATE_USER', 0x000001);
define('OC_USER_BACKEND_DELETE_USER', 0x000010); define('OC_USER_BACKEND_SET_PASSWORD', 0x000010);
define('OC_USER_BACKEND_SET_PASSWORD', 0x000100); define('OC_USER_BACKEND_CHECK_PASSWORD', 0x000100);
define('OC_USER_BACKEND_CHECK_PASSWORD', 0x001000);
define('OC_USER_BACKEND_GET_USERS', 0x010000);
define('OC_USER_BACKEND_USER_EXISTS', 0x100000);
/** /**
...@@ -47,11 +44,8 @@ abstract class OC_User_Backend { ...@@ -47,11 +44,8 @@ abstract class OC_User_Backend {
protected $possibleActions = array( protected $possibleActions = array(
OC_USER_BACKEND_CREATE_USER => 'createUser', OC_USER_BACKEND_CREATE_USER => 'createUser',
OC_USER_BACKEND_DELETE_USER => 'deleteUser',
OC_USER_BACKEND_SET_PASSWORD => 'setPassword', OC_USER_BACKEND_SET_PASSWORD => 'setPassword',
OC_USER_BACKEND_CHECK_PASSWORD => 'checkPassword', 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 { ...@@ -83,4 +77,34 @@ abstract class OC_User_Backend {
public function implementsActions($actions){ public function implementsActions($actions){
return (bool)($this->getSupportedActions() & $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;
}
} }
...@@ -39,17 +39,6 @@ abstract class OC_User_Example extends OC_User_Backend { ...@@ -39,17 +39,6 @@ abstract class OC_User_Example extends OC_User_Backend {
return OC_USER_BACKEND_NOT_IMPLEMENTED; 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 * @brief Set password
* @param $uid The username * @param $uid The username
...@@ -73,23 +62,4 @@ abstract class OC_User_Example extends OC_User_Backend { ...@@ -73,23 +62,4 @@ abstract class OC_User_Example extends OC_User_Backend {
public function checkPassword($uid, $password){ public function checkPassword($uid, $password){
return OC_USER_BACKEND_NOT_IMPLEMENTED; 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;
}
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment