Aleksander Machniak
2014-04-28 2581c87e657041b478d2b9f1ea78de00a4499013
Fix identities_level=4 handling in new_user_dialog plugin (#1489840)
4 files modified
28 ■■■■■ changed files
CHANGELOG 1 ●●●● patch | view | raw | blame | history
plugins/new_user_dialog/composer.json 2 ●●● patch | view | raw | blame | history
plugins/new_user_dialog/new_user_dialog.php 21 ●●●● patch | view | raw | blame | history
plugins/new_user_dialog/package.xml 4 ●●●● patch | view | raw | blame | history
CHANGELOG
@@ -29,6 +29,7 @@
- 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
-------------
plugins/new_user_dialog/composer.json
@@ -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",
plugins/new_user_dialog/new_user_dialog.php
@@ -59,7 +59,8 @@
      $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 @@
        '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 @@
    $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 @@
      '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'])) {
plugins/new_user_dialog/package.xml
@@ -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>