diff options
-rw-r--r-- | config/main.inc.php.dist | 1 | ||||
-rw-r--r-- | program/steps/settings/edit_identity.inc | 7 | ||||
-rw-r--r-- | program/steps/settings/save_identity.inc | 13 |
3 files changed, 19 insertions, 2 deletions
diff --git a/config/main.inc.php.dist b/config/main.inc.php.dist index 3e7630cd3..4805b95df 100644 --- a/config/main.inc.php.dist +++ b/config/main.inc.php.dist @@ -356,6 +356,7 @@ $rcmail_config['send_format_flowed'] = true; // 1 - many identities with possibility to edit all params but not email address // 2 - one identity with possibility to edit all params // 3 - one identity with possibility to edit all params but not email address +// 4 - one identity with possibility to edit only signature $rcmail_config['identities_level'] = 0; // Mimetypes supported by the browser. diff --git a/program/steps/settings/edit_identity.inc b/program/steps/settings/edit_identity.inc index 39076f408..d70a7aef7 100644 --- a/program/steps/settings/edit_identity.inc +++ b/program/steps/settings/edit_identity.inc @@ -99,6 +99,13 @@ function rcube_identity_form($attrib) $form['addressing']['content']['email']['class'] = 'disabled'; } + if (IDENTITIES_LEVEL == 4) { + foreach($form['addressing']['content'] as $formfield => $value){ + $form['addressing']['content'][$formfield]['disabled'] = true; + $form['addressing']['content'][$formfield]['class'] = 'disabled'; + } + } + $IDENTITY_RECORD['email'] = rcube_idn_to_utf8($IDENTITY_RECORD['email']); // Allow plugins to modify identity form content diff --git a/program/steps/settings/save_identity.inc b/program/steps/settings/save_identity.inc index d579ee61f..88adc795e 100644 --- a/program/steps/settings/save_identity.inc +++ b/program/steps/settings/save_identity.inc @@ -26,7 +26,7 @@ $a_boolean_cols = array('standard', 'html_signature'); $updated = $default_id = false; // check input -if (empty($_POST['_name']) || (empty($_POST['_email']) && IDENTITIES_LEVEL != 1 && IDENTITIES_LEVEL != 3)) +if (IDENTITIES_LEVEL != 4 && (empty($_POST['_name']) || (empty($_POST['_email']) && IDENTITIES_LEVEL != 1 && IDENTITIES_LEVEL != 3))) { $OUTPUT->show_message('formincomplete', 'warning'); rcmail_overwrite_action('edit-identity'); @@ -52,9 +52,18 @@ foreach ($a_boolean_cols as $col) } // unset email address if user has no rights to change it -if (IDENTITIES_LEVEL == 1 || IDENTITIES_LEVEL == 3) +if (IDENTITIES_LEVEL == 1 || IDENTITIES_LEVEL == 3 ) unset($save_data['email']); +if (IDENTITIES_LEVEL == 4 ){ + unset($save_data['name']); + unset($save_data['email']); + unset($save_data['organization']); + unset($save_data['reply-to']); + unset($save_data['bcc']); + unset($save_data['standard']); +} + // Validate e-mail addresses $email_checks = array(rcube_idn_to_ascii($save_data['email'])); foreach (array('reply-to', 'bcc') as $item) { |