Merge pull request #862 from nextcloud/us_25767

[us] How to polish code, eg: OC\User
This commit is contained in:
Lukas Reschke 2016-08-15 21:53:52 +02:00 committed by GitHub
commit 2061d40ba2
5 changed files with 34 additions and 26 deletions

View file

@ -22,11 +22,13 @@
namespace OC\User;
use \OCP\UserInterface;
/**
* Abstract base class for user management. Provides methods for querying backend
* capabilities.
*/
abstract class Backend implements \OCP\UserInterface {
abstract class Backend implements UserInterface {
/**
* error code for functions not provided by the user backend
*/

View file

@ -53,19 +53,25 @@
namespace OC\User;
use OC\Cache\CappedMemoryCache;
use OCP\IUserBackend;
use OCP\Util;
use Symfony\Component\EventDispatcher\EventDispatcher;
use Symfony\Component\EventDispatcher\GenericEvent;
/**
* Class for user management in a SQL Database (e.g. MySQL, SQLite)
*/
class Database extends \OC\User\Backend implements \OCP\IUserBackend {
class Database extends Backend implements IUserBackend {
/** @var CappedMemoryCache */
private $cache;
/** @var EventDispatcher */
private $eventDispatcher;
/**
* OC_User_Database constructor.
* \OC\User\Database constructor.
*
* @param EventDispatcher $eventDispatcher
*/
public function __construct($eventDispatcher = null) {
$this->cache = new CappedMemoryCache();
@ -233,7 +239,7 @@ class Database extends \OC\User\Backend implements \OCP\IUserBackend {
$result = $query->execute(array($uid));
if ($result === false) {
\OCP\Util::writeLog('core', \OC_DB::getErrorMessage(), \OCP\Util::ERROR);
Util::writeLog('core', \OC_DB::getErrorMessage(), Util::ERROR);
return false;
}
@ -310,7 +316,7 @@ class Database extends \OC\User\Backend implements \OCP\IUserBackend {
$query = \OC_DB::prepare('SELECT COUNT(*) FROM `*PREFIX*users`');
$result = $query->execute();
if ($result === false) {
\OCP\Util::writeLog('core', \OC_DB::getErrorMessage(), \OCP\Util::ERROR);
Util::writeLog('core', \OC_DB::getErrorMessage(), Util::ERROR);
return false;
}
return $result->fetchOne();
@ -345,7 +351,7 @@ class Database extends \OC\User\Backend implements \OCP\IUserBackend {
$backends = \OC::$server->getUserManager()->getBackends();
foreach ($backends as $backend) {
if ($backend instanceof \OC\User\Database) {
if ($backend instanceof Database) {
/** @var \OC\User\Database $backend */
$uid = $backend->loginName2UserName($param['uid']);
if ($uid !== false) {

View file

@ -187,7 +187,7 @@ class Manager extends PublicEmitter implements IUserManager {
$password = str_replace("\0", '', $password);
foreach ($this->backends as $backend) {
if ($backend->implementsActions(\OC\User\Backend::CHECK_PASSWORD)) {
if ($backend->implementsActions(Backend::CHECK_PASSWORD)) {
$uid = $backend->checkPassword($loginName, $password);
if ($uid !== false) {
return $this->getUserObject($uid, $backend);
@ -291,7 +291,7 @@ class Manager extends PublicEmitter implements IUserManager {
$this->emit('\OC\User', 'preCreateUser', array($uid, $password));
foreach ($this->backends as $backend) {
if ($backend->implementsActions(\OC\User\Backend::CREATE_USER)) {
if ($backend->implementsActions(Backend::CREATE_USER)) {
$backend->createUser($uid, $password);
$user = $this->getUserObject($uid, $backend);
$this->emit('\OC\User', 'postCreateUser', array($user, $password));
@ -309,7 +309,7 @@ class Manager extends PublicEmitter implements IUserManager {
public function countUsers() {
$userCountStatistics = array();
foreach ($this->backends as $backend) {
if ($backend->implementsActions(\OC\User\Backend::COUNT_USERS)) {
if ($backend->implementsActions(Backend::COUNT_USERS)) {
$backendUsers = $backend->countUsers();
if($backendUsers !== false) {
if($backend instanceof IUserBackend) {

View file

@ -167,7 +167,7 @@ class Session implements IUserSession, Emitter {
/**
* set the currently active user
*
* @param User|null $user
* @param IUser|null $user
*/
public function setUser($user) {
if (is_null($user)) {
@ -287,10 +287,8 @@ class Session implements IUserSession, Emitter {
$this->session->regenerateId();
if ($this->validateToken($password, $uid)) {
return $this->loginWithToken($password);
} else {
return $this->loginWithPassword($uid, $password);
}
return false;
return $this->loginWithPassword($uid, $password);
}
/**
@ -464,7 +462,6 @@ class Session implements IUserSession, Emitter {
$message = \OC::$server->getL10N('lib')->t('User disabled');
throw new LoginException($message);
}
return false;
}
/**
@ -652,6 +649,7 @@ class Session implements IUserSession, Emitter {
/**
* Tries to login the user with auth token header
*
* @param IRequest $request
* @todo check remember me cookie
* @return boolean
*/

View file

@ -30,6 +30,7 @@
namespace OC\User;
use OC\Files\Cache\Storage;
use OC\Hooks\Emitter;
use OC_Helper;
use OCP\IAvatarManager;
@ -38,6 +39,7 @@ use OCP\IURLGenerator;
use OCP\IUser;
use OCP\IConfig;
use OCP\UserInterface;
use \OCP\IUserBackend;
class User implements IUser {
/** @var string $uid */
@ -111,7 +113,7 @@ class User implements IUser {
public function getDisplayName() {
if (!isset($this->displayName)) {
$displayName = '';
if ($this->backend and $this->backend->implementsActions(\OC\User\Backend::GET_DISPLAYNAME)) {
if ($this->backend and $this->backend->implementsActions(Backend::GET_DISPLAYNAME)) {
// get display name and strip whitespace from the beginning and end of it
$backendDisplayName = $this->backend->getDisplayName($this->uid);
if (is_string($backendDisplayName)) {
@ -136,7 +138,7 @@ class User implements IUser {
*/
public function setDisplayName($displayName) {
$displayName = trim($displayName);
if ($this->backend->implementsActions(\OC\User\Backend::SET_DISPLAYNAME) && !empty($displayName)) {
if ($this->backend->implementsActions(Backend::SET_DISPLAYNAME) && !empty($displayName)) {
$result = $this->backend->setDisplayName($this->uid, $displayName);
if ($result) {
$this->displayName = $displayName;
@ -198,17 +200,17 @@ class User implements IUser {
// FIXME: Feels like an hack - suggestions?
// We have to delete the user from all groups
foreach (\OC_Group::getUserGroups($this->uid) as $i) {
\OC_Group::removeFromGroup($this->uid, $i);
foreach (\OC::$server->getGroupManager()->getUserGroupIds($this) as $groupId) {
\OC_Group::removeFromGroup($this->uid, $groupId);
}
// Delete the user's keys in preferences
\OC::$server->getConfig()->deleteAllUserValues($this->uid);
// Delete user files in /data/
\OC_Helper::rmdirr(\OC_User::getHome($this->uid));
\OC_Helper::rmdirr($this->getHome());
// Delete the users entry in the storage table
\OC\Files\Cache\Storage::remove('home::' . $this->uid);
Storage::remove('home::' . $this->uid);
\OC::$server->getCommentsManager()->deleteReferencesOfActor('users', $this->uid);
\OC::$server->getCommentsManager()->deleteReadMarksFromUser($this);
@ -231,7 +233,7 @@ class User implements IUser {
if ($this->emitter) {
$this->emitter->emit('\OC\User', 'preSetPassword', array($this, $password, $recoveryPassword));
}
if ($this->backend->implementsActions(\OC\User\Backend::SET_PASSWORD)) {
if ($this->backend->implementsActions(Backend::SET_PASSWORD)) {
$result = $this->backend->setPassword($this->uid, $password);
if ($this->emitter) {
$this->emitter->emit('\OC\User', 'postSetPassword', array($this, $password, $recoveryPassword));
@ -249,7 +251,7 @@ class User implements IUser {
*/
public function getHome() {
if (!$this->home) {
if ($this->backend->implementsActions(\OC\User\Backend::GET_HOME) and $home = $this->backend->getHome($this->uid)) {
if ($this->backend->implementsActions(Backend::GET_HOME) and $home = $this->backend->getHome($this->uid)) {
$this->home = $home;
} elseif ($this->config) {
$this->home = $this->config->getSystemValue('datadirectory') . '/' . $this->uid;
@ -266,7 +268,7 @@ class User implements IUser {
* @return string
*/
public function getBackendClassName() {
if($this->backend instanceof \OCP\IUserBackend) {
if($this->backend instanceof IUserBackend) {
return $this->backend->getBackendName();
}
return get_class($this->backend);
@ -278,7 +280,7 @@ class User implements IUser {
* @return bool
*/
public function canChangeAvatar() {
if ($this->backend->implementsActions(\OC\User\Backend::PROVIDE_AVATAR)) {
if ($this->backend->implementsActions(Backend::PROVIDE_AVATAR)) {
return $this->backend->canChangeAvatar($this->uid);
}
return true;
@ -290,7 +292,7 @@ class User implements IUser {
* @return bool
*/
public function canChangePassword() {
return $this->backend->implementsActions(\OC\User\Backend::SET_PASSWORD);
return $this->backend->implementsActions(Backend::SET_PASSWORD);
}
/**
@ -302,7 +304,7 @@ class User implements IUser {
if ($this->config->getSystemValue('allow_user_to_change_display_name') === false) {
return false;
}
return $this->backend->implementsActions(\OC\User\Backend::SET_DISPLAYNAME);
return $this->backend->implementsActions(Backend::SET_DISPLAYNAME);
}
/**