This is what I've done. Seems to work. Hope it helps someone without
crashing everything. Debian stretch standard package.
---
/usr/share/roundcube/plugins/new_user_identity/new_user_identity.php.orig
2018-10-03 09:40:46.814463985 +0200
+++ /usr/share/roundcube/plugins/new_user_identity/new_user_identity.php
2018-10-04 15:08:42.176370477 +0200
@@ -33,8 +33,10 @@
if (count($results->records) == 1) {
$user_name = is_array($results->records[0]['name']) ?
$results->records[0]['name'][0] : $results->records[0]['name'];
$user_email = is_array($results->records[0]['email'])
? $results->records[0]['email'][0] : $results->records[0]['email'];
+ $user_org =
is_array($results->records[0]['organization']) ?
$results->records[0]['organization'][0] :
$results->records[0]['organization'];
$args['user_name'] = $user_name;
+ $args['user_org'] = $user_org;
$args['email_list'] = array();
if (!$args['user_email'] && strpos($user_email, '@')) {
@@ -70,9 +72,8 @@
$identities = $this->rc->user->list_emails();
$ldap_entry = $this->lookup_user_name(array(
'user' => $this->rc->user->data['username'],
- 'host' => $this->rc->user->data['mail_host'],
+ 'host' => $this->rc->user->data['mail_host']
));
-
foreach ((array) $ldap_entry['email_list'] as $email) {
foreach ($identities as $identity) {
if ($identity['email'] == $email) {
--- /usr/share/roundcube/program/lib/Roundcube/rcube_user.php.orig
2016-11-27 18:08:58.000000000 +0200
+++ /usr/share/roundcube/program/lib/Roundcube/rcube_user.php 2018-10-04
15:17:32.542990608 +0200
@@ -630,7 +630,7 @@
$user_name = $data['user_name'];
$user_email = $data['user_email'];
$email_list = $data['email_list'];
-
+ $user_org = $data['user_org'];
if (empty($email_list)) {
if (empty($user_email)) {
$user_email = strpos($data['user'], '@') ? $user :
sprintf('%s@%s', $data['user'], $mail_domain);
@@ -667,6 +667,7 @@
$record['user_id'] = $user_id;
$record['standard'] = $standard;
+ $record['organization'] = $user_org;
$plugin = $rcube->plugins->exec_hook('identity_create',
array('login' => true, 'record' => $record));