Name sync option
This commit is contained in:
@@ -99,6 +99,9 @@ class EmailSync implements IUserAction
|
||||
$this->config->setUserValue(
|
||||
$user->uid, "settings", "email", $user->email
|
||||
);
|
||||
\OC::$server->getUserManager()->get($user->uid)->triggerChange(
|
||||
'eMailAddress', $user->email, null
|
||||
);
|
||||
}
|
||||
|
||||
$result = true;
|
||||
@@ -120,7 +123,9 @@ class EmailSync implements IUserAction
|
||||
$this->config->setUserValue(
|
||||
$user->uid, "settings", "email", $user->email
|
||||
);
|
||||
\OC::$server->getUserManager()->get($user->uid)->triggerChange('eMailAddress', $user->email, null);
|
||||
\OC::$server->getUserManager()->get($user->uid)->triggerChange(
|
||||
'eMailAddress', $user->email, null
|
||||
);
|
||||
}
|
||||
|
||||
$result = true;
|
||||
|
||||
@@ -93,16 +93,45 @@ class NameSync implements IUserAction
|
||||
|
||||
$result = false;
|
||||
|
||||
if (!empty($user->name) && $user->name !== $ncName) {
|
||||
$this->config->setUserValue(
|
||||
$user->uid, "settings", "displayName", $user->name
|
||||
);
|
||||
\OC::$server->getUserManager()->get($user->uid)->triggerChange('displayName', $user->name, null);
|
||||
switch ($this->properties[Opt::NAME_SYNC]) {
|
||||
case App::SYNC_INITIAL:
|
||||
if (empty($ncName) && !empty($user->name)) {
|
||||
$this->config->setUserValue(
|
||||
$user->uid, "settings", "displayName", $user->name
|
||||
);
|
||||
\OC::$server->getUserManager()->get($user->uid)->triggerChange(
|
||||
'displayName', $user->name, null
|
||||
);
|
||||
}
|
||||
|
||||
$result = true;
|
||||
break;
|
||||
case App::SYNC_FORCE_NC:
|
||||
if (!empty($ncName) && $user->name !== $ncName) {
|
||||
$user = $this->userRepository->findByUid($user->uid);
|
||||
if (!($user instanceof User)) {
|
||||
break;
|
||||
}
|
||||
|
||||
$user->name = $ncName;
|
||||
$result = $this->userRepository->save($user, UserRepository::DISPLAY_NAME_FIELD);
|
||||
}
|
||||
|
||||
break;
|
||||
case App::SYNC_FORCE_SQL:
|
||||
if (!empty($user->name) && $user->name !== $ncName) {
|
||||
$this->config->setUserValue(
|
||||
$user->uid, "settings", "displayName", $user->name
|
||||
);
|
||||
\OC::$server->getUserManager()->get($user->uid)->triggerChange(
|
||||
'displayName', $user->name, null
|
||||
);
|
||||
}
|
||||
|
||||
$result = true;
|
||||
break;
|
||||
}
|
||||
|
||||
$result = true;
|
||||
|
||||
|
||||
$this->logger->debug(
|
||||
"Returning NameSync#doAction($user->uid): " . ($result ? "true"
|
||||
: "false"),
|
||||
|
||||
@@ -24,8 +24,8 @@ namespace OCA\UserSQL\Backend;
|
||||
use OC\User\Backend;
|
||||
use OCA\UserSQL\Action\EmailSync;
|
||||
use OCA\UserSQL\Action\IUserAction;
|
||||
use OCA\UserSQL\Action\QuotaSync;
|
||||
use OCA\UserSQL\Action\NameSync;
|
||||
use OCA\UserSQL\Action\QuotaSync;
|
||||
use OCA\UserSQL\Cache;
|
||||
use OCA\UserSQL\Constant\App;
|
||||
use OCA\UserSQL\Constant\DB;
|
||||
@@ -152,7 +152,8 @@ final class UserBackend extends ABackend implements
|
||||
$this->userRepository
|
||||
);
|
||||
}
|
||||
if (!empty($this->properties[DB::USER_NAME_COLUMN])
|
||||
if (!empty($this->properties[Opt::NAME_SYNC])
|
||||
&& !empty($this->properties[DB::USER_NAME_COLUMN])
|
||||
) {
|
||||
$this->actions[] = new NameSync(
|
||||
$this->appName, $this->logger, $this->properties, $this->config,
|
||||
|
||||
@@ -38,6 +38,7 @@ final class Opt
|
||||
const HOME_LOCATION = "opt.home_location";
|
||||
const HOME_MODE = "opt.home_mode";
|
||||
const NAME_CHANGE = "opt.name_change";
|
||||
const NAME_SYNC = "opt.name_sync";
|
||||
const PASSWORD_CHANGE = "opt.password_change";
|
||||
const PREPEND_SALT = "opt.prepend_salt";
|
||||
const PROVIDE_AVATAR = "opt.provide_avatar";
|
||||
|
||||
Reference in New Issue
Block a user