summaryrefslogtreecommitdiffstats
path: root/apps/user_ldap/lib
diff options
context:
space:
mode:
authorThomas Müller <thomas.mueller@tmit.eu>2016-01-19 15:48:38 +0100
committerThomas Müller <thomas.mueller@tmit.eu>2016-01-20 15:21:33 +0100
commit77069f5582ad42207ee9a9620cba5720390d9e79 (patch)
treebf1ac115fd972c6d061a2f50df903491c02f97e8 /apps/user_ldap/lib
parent51b50bd26049eed0d4335ae5f5282f53df0189a1 (diff)
downloadnextcloud-server-77069f5582ad42207ee9a9620cba5720390d9e79.tar.gz
nextcloud-server-77069f5582ad42207ee9a9620cba5720390d9e79.zip
Use IUser::setEMailAddress in ldap as well
Diffstat (limited to 'apps/user_ldap/lib')
-rw-r--r--apps/user_ldap/lib/jobs.php3
-rw-r--r--apps/user_ldap/lib/proxy.php4
-rw-r--r--apps/user_ldap/lib/user/manager.php29
-rw-r--r--apps/user_ldap/lib/user/user.php29
4 files changed, 40 insertions, 25 deletions
diff --git a/apps/user_ldap/lib/jobs.php b/apps/user_ldap/lib/jobs.php
index b27f66055a3..47e28470188 100644
--- a/apps/user_ldap/lib/jobs.php
+++ b/apps/user_ldap/lib/jobs.php
@@ -175,7 +175,8 @@ class Jobs extends \OC\BackgroundJob\TimedJob {
new LogWrapper(),
\OC::$server->getAvatarManager(),
new \OCP\Image(),
- $dbc);
+ $dbc,
+ \OC::$server->getUserManager());
$connector = new Connection($ldapWrapper, $configPrefixes[0]);
$ldapAccess = new Access($connector, $ldapWrapper, $userManager);
$groupMapper = new GroupMapping($dbc);
diff --git a/apps/user_ldap/lib/proxy.php b/apps/user_ldap/lib/proxy.php
index 28233748790..082ba9a93d0 100644
--- a/apps/user_ldap/lib/proxy.php
+++ b/apps/user_ldap/lib/proxy.php
@@ -61,6 +61,7 @@ abstract class Proxy {
static $userMap;
static $groupMap;
static $db;
+ static $userManager;
if(is_null($fs)) {
$ocConfig = \OC::$server->getConfig();
$fs = new FilesystemHelper();
@@ -69,9 +70,10 @@ abstract class Proxy {
$db = \OC::$server->getDatabaseConnection();
$userMap = new UserMapping($db);
$groupMap = new GroupMapping($db);
+ $userManager = \OC::$server->getUserManager();
}
$userManager =
- new user\Manager($ocConfig, $fs, $log, $avatarM, new \OCP\Image(), $db);
+ new user\Manager($ocConfig, $fs, $log, $avatarM, new \OCP\Image(), $db, $userManager);
$connector = new Connection($this->ldap, $configPrefix);
$access = new Access($connector, $this->ldap, $userManager);
$access->setUserMapper($userMap);
diff --git a/apps/user_ldap/lib/user/manager.php b/apps/user_ldap/lib/user/manager.php
index dcaf40b80c4..cfa333b06d4 100644
--- a/apps/user_ldap/lib/user/manager.php
+++ b/apps/user_ldap/lib/user/manager.php
@@ -29,6 +29,11 @@ use OCA\user_ldap\lib\user\User;
use OCA\user_ldap\lib\LogWrapper;
use OCA\user_ldap\lib\FilesystemHelper;
use OCA\user_ldap\lib\user\OfflineUser;
+use OCP\IAvatarManager;
+use OCP\IConfig;
+use OCP\IDBConnection;
+use OCP\Image;
+use OCP\IUserManager;
/**
* Manager
@@ -40,10 +45,10 @@ class Manager {
/** @var IUserTools */
protected $access;
- /** @var \OCP\IConfig */
+ /** @var IConfig */
protected $ocConfig;
- /** @var \OCP\IDBConnection */
+ /** @var IDBConnection */
protected $db;
/** @var FilesystemHelper */
@@ -52,7 +57,7 @@ class Manager {
/** @var LogWrapper */
protected $ocLog;
- /** @var \OCP\Image */
+ /** @var Image */
protected $image;
/** @param \OCP\IAvatarManager */
@@ -69,18 +74,19 @@ class Manager {
);
/**
- * @param \OCP\IConfig $ocConfig
+ * @param IConfig $ocConfig
* @param \OCA\user_ldap\lib\FilesystemHelper $ocFilesystem object that
* gives access to necessary functions from the OC filesystem
* @param \OCA\user_ldap\lib\LogWrapper $ocLog
- * @param \OCP\IAvatarManager $avatarManager
- * @param \OCP\Image $image an empty image instance
- * @param \OCP\IDBConnection $db
+ * @param IAvatarManager $avatarManager
+ * @param Image $image an empty image instance
+ * @param IDBConnection $db
* @throws \Exception when the methods mentioned above do not exist
*/
- public function __construct(\OCP\IConfig $ocConfig,
- FilesystemHelper $ocFilesystem, LogWrapper $ocLog,
- \OCP\IAvatarManager $avatarManager, \OCP\Image $image, \OCP\IDBConnection $db) {
+ public function __construct(IConfig $ocConfig,
+ FilesystemHelper $ocFilesystem, LogWrapper $ocLog,
+ IAvatarManager $avatarManager, Image $image,
+ IDBConnection $db, IUserManager $userManager) {
$this->ocConfig = $ocConfig;
$this->ocFilesystem = $ocFilesystem;
@@ -88,6 +94,7 @@ class Manager {
$this->avatarManager = $avatarManager;
$this->image = $image;
$this->db = $db;
+ $this->userManager = $userManager;
}
/**
@@ -110,7 +117,7 @@ class Manager {
$this->checkAccess();
$user = new User($uid, $dn, $this->access, $this->ocConfig,
$this->ocFilesystem, clone $this->image, $this->ocLog,
- $this->avatarManager);
+ $this->avatarManager, $this->userManager);
$this->users['byDN'][$dn] = $user;
$this->users['byUid'][$uid] = $user;
return $user;
diff --git a/apps/user_ldap/lib/user/user.php b/apps/user_ldap/lib/user/user.php
index a0efeedb886..13f88aa6507 100644
--- a/apps/user_ldap/lib/user/user.php
+++ b/apps/user_ldap/lib/user/user.php
@@ -27,6 +27,9 @@ use OCA\user_ldap\lib\user\IUserTools;
use OCA\user_ldap\lib\Connection;
use OCA\user_ldap\lib\FilesystemHelper;
use OCA\user_ldap\lib\LogWrapper;
+use OCP\IAvatarManager;
+use OCP\IConfig;
+use OCP\IUserManager;
/**
* User
@@ -43,7 +46,7 @@ class User {
*/
protected $connection;
/**
- * @var \OCP\IConfig
+ * @var IConfig
*/
protected $config;
/**
@@ -59,10 +62,13 @@ class User {
*/
protected $log;
/**
- * @var \OCP\IAvatarManager
+ * @var IAvatarManager
*/
protected $avatarManager;
-
+ /**
+ * @var IUserManager
+ */
+ protected $userManager;
/**
* @var string
*/
@@ -92,15 +98,16 @@ class User {
* @param string $dn the LDAP DN
* @param IUserTools $access an instance that implements IUserTools for
* LDAP interaction
- * @param \OCP\IConfig $config
+ * @param IConfig $config
* @param FilesystemHelper $fs
* @param \OCP\Image $image any empty instance
* @param LogWrapper $log
- * @param \OCP\IAvatarManager $avatarManager
+ * @param IAvatarManager $avatarManager
+ * @param IUserManager $userManager
*/
public function __construct($username, $dn, IUserTools $access,
- \OCP\IConfig $config, FilesystemHelper $fs, \OCP\Image $image,
- LogWrapper $log, \OCP\IAvatarManager $avatarManager) {
+ IConfig $config, FilesystemHelper $fs, \OCP\Image $image,
+ LogWrapper $log, IAvatarManager $avatarManager, IUserManager $userManager) {
$this->access = $access;
$this->connection = $access->getConnection();
@@ -111,6 +118,7 @@ class User {
$this->image = $image;
$this->log = $log;
$this->avatarManager = $avatarManager;
+ $this->userManager = $userManager;
}
/**
@@ -400,11 +408,8 @@ class User {
}
}
if(!is_null($email)) {
- //
- // TODO: user IUser::setEMailAddress()
- //
- $this->config->setUserValue(
- $this->uid, 'settings', 'email', $email);
+ $user = $this->userManager->get($this->uid);
+ $user->setEMailAddress($email);
}
}