Fix identities_level=4 handling in new_user_dialog plugin (#1489840)

pull/164/merge
Aleksander Machniak 10 years ago
parent 64f40ef43c
commit 2581c87e65

@ -29,6 +29,7 @@ CHANGELOG Roundcube Webmail
- Fix error when spell-checking an empty text (#1489831)
- Avoid popupmenus being closed when scrollbar is clicked (#1489832)
- Add proxy_whitelist configuration option (#1489729)
- Fix identities_level=4 handling in new_user_dialog plugin (#1489840)
RELEASE 1.0.0
-------------

@ -3,7 +3,7 @@
"type": "roundcube-plugin",
"description": "When a new user is created, this plugin checks the default identity and sets a session flag in case it is incomplete. An overlay box will appear on the screen until the user has reviewed/completed his identity.",
"license": "GNU GPLv3+",
"version": "2.0",
"version": "2.1",
"authors": [
{
"name": "Thomas Bruederli",

@ -59,7 +59,8 @@ class new_user_dialog extends rcube_plugin
$table->add(null, html::tag('input', array(
'type' => 'text',
'name' => '_name',
'value' => $identity['name']
'value' => $identity['name'],
'disabled' => $identities_level == 4
)));
$table->add('title', $this->gettext('email'));
@ -67,14 +68,15 @@ class new_user_dialog extends rcube_plugin
'type' => 'text',
'name' => '_email',
'value' => rcube_utils::idn_to_utf8($identity['email']),
'disabled' => ($identities_level == 1 || $identities_level == 3)
'disabled' => in_array($identities_level, array(1, 3, 4))
)));
$table->add('title', $this->gettext('organization'));
$table->add(null, html::tag('input', array(
'type' => 'text',
'name' => '_organization',
'value' => $identity['organization']
'value' => $identity['organization'],
'disabled' => $identities_level == 4
)));
$table->add('title', $this->gettext('signature'));
@ -130,6 +132,7 @@ class new_user_dialog extends rcube_plugin
$rcmail = rcmail::get_instance();
$identity = $rcmail->user->get_identity();
$ident_level = intval($rcmail->config->get('identities_level', 0));
$disabled = array();
$save_data = array(
'name' => rcube_utils::get_input_value('_name', rcube_utils::INPUT_POST),
@ -138,9 +141,15 @@ class new_user_dialog extends rcube_plugin
'signature' => rcube_utils::get_input_value('_signature', rcube_utils::INPUT_POST),
);
// don't let the user alter the e-mail address if disabled by config
if (in_array($ident_level, array(1,3,4))) {
$save_data['email'] = $identity['email'];
if ($ident_level == 4) {
$disabled = array('name', 'email', 'organization');
}
else if (in_array($ident_level, array(1, 3))) {
$disabled = array('email');
}
foreach ($disabled as $key) {
$save_data[$key] = $identity[$key];
}
if (empty($save_data['name']) || empty($save_data['email'])) {

@ -13,9 +13,9 @@
<email>roundcube@gmail.com</email>
<active>yes</active>
</lead>
<date>2013-05-09</date>
<date>2014-04-28</date>
<version>
<release>2.0</release>
<release>2.1</release>
<api>2.0</api>
</version>
<stability>

Loading…
Cancel
Save