Fix bugs and add make identity default if email corresponds to username
This commit is contained in:
parent
0feb46ee1c
commit
23fcd9cb96
@ -30,7 +30,7 @@ class virtuser_identities_autoupdate extends rcube_plugin
|
|||||||
return $args;
|
return $args;
|
||||||
}
|
}
|
||||||
|
|
||||||
$user = rcmail::get_instance()->user;
|
$user = $this->rc->user;
|
||||||
|
|
||||||
$current_identities = $this->rc->user->list_emails();
|
$current_identities = $this->rc->user->list_emails();
|
||||||
$target_identities = $this->fetch_aliases($user->data['username']);
|
$target_identities = $this->fetch_aliases($user->data['username']);
|
||||||
@ -38,7 +38,7 @@ class virtuser_identities_autoupdate extends rcube_plugin
|
|||||||
// If enabled, remove unknown identities
|
// If enabled, remove unknown identities
|
||||||
if ($this->config['remove_unknown_alias_identities']) {
|
if ($this->config['remove_unknown_alias_identities']) {
|
||||||
foreach ($current_identities as $existing_identity) {
|
foreach ($current_identities as $existing_identity) {
|
||||||
if (!in_array($current_identity['email'], $target_identities)) {
|
if (!in_array($existing_identity['email'], $target_identities)) {
|
||||||
// Remove
|
// Remove
|
||||||
$id = $existing_identity['identity_id'];
|
$id = $existing_identity['identity_id'];
|
||||||
$hook_result = $this->rc->plugins->exec_hook('identity_delete', $id);
|
$hook_result = $this->rc->plugins->exec_hook('identity_delete', $id);
|
||||||
@ -62,21 +62,21 @@ class virtuser_identities_autoupdate extends rcube_plugin
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($exists) break;
|
if ($exists) continue;
|
||||||
|
|
||||||
// Add
|
// Add
|
||||||
$hook_result = $this->rc->plugins->exec_hook('identity_create', array(
|
$hook_result = $this->rc->plugins->exec_hook('identity_create', array(
|
||||||
'login' => false, // Most often triggered when the use was created long ago
|
'login' => false, // Most often triggered when the use was created long ago
|
||||||
'record' => array(
|
'record' => array(
|
||||||
'user_id' => $this->rc->user->ID,
|
'user_id' => $this->rc->user->ID,
|
||||||
'standard' => 0,
|
'standard' => $new_identity == $user->data['username'] ? 1 : 0,
|
||||||
'email' => $new_identity,
|
'email' => $new_identity,
|
||||||
'name' => $identity_name
|
'name' => $identity_name
|
||||||
),
|
),
|
||||||
));
|
));
|
||||||
|
|
||||||
if (!$hook_result['abort'] && $hook_result['record']['email']) {
|
if (!$hook_result['abort'] && $hook_result['record']['email']) {
|
||||||
$this->rc->user->insert_identity($hook_result['record']);
|
$insert_result = $user->insert_identity($hook_result['record']);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user