Aleksander Machniak
2015-01-09 f6502176f894940aa95c634510dabb2591d1eeb0
Hide MDN and DSN options in compose if disabled by admin (#1490221)
5 files modified
38 ■■■■■ changed files
CHANGELOG 1 ●●●● patch | view | raw | blame | history
program/steps/mail/compose.inc 11 ●●●● patch | view | raw | blame | history
program/steps/mail/sendmail.inc 14 ●●●●● patch | view | raw | blame | history
skins/classic/templates/compose.html 6 ●●●●● patch | view | raw | blame | history
skins/larry/templates/compose.html 6 ●●●●● patch | view | raw | blame | history
CHANGELOG
@@ -2,6 +2,7 @@
===========================
- Fix bug where max_group_members was ignored when adding a new contact (#1490214)
- Hide MDN and DSN options in compose if disabled by admin (#1490221)
RELEASE 1.1-rc
--------------
program/steps/mail/compose.inc
@@ -419,7 +419,8 @@
    'filedroparea'          => 'compose_file_drop_area',
    'priorityselector'      => 'rcmail_priority_selector',
    'editorselector'        => 'rcmail_editor_selector',
    'receiptcheckbox'       => 'rcmail_receipt_checkbox',
    'receiptcheckbox'       => 'rcmail_mdn_checkbox', // deprecated
    'mdncheckbox'           => 'rcmail_mdn_checkbox',
    'dsncheckbox'           => 'rcmail_dsn_checkbox',
    'storetarget'           => 'rcmail_store_target_selection',
    'addressbooks'          => 'rcmail_addressbook_list',
@@ -1642,7 +1643,7 @@
}
function rcmail_receipt_checkbox($attrib)
function rcmail_mdn_checkbox($attrib)
{
    global $RCMAIL, $MESSAGE, $compose_mode;
@@ -1652,13 +1653,13 @@
    if (!isset($attrib['id']))
        $attrib['id'] = 'receipt';
    $attrib['name']  = '_receipt';
    $attrib['name']  = '_mdn';
    $attrib['value'] = '1';
    $checkbox = new html_checkbox($attrib);
    if (isset($_POST['_receipt']))
        $mdn_default = $_POST['_receipt'];
    if (isset($_POST['_mdn']))
        $mdn_default = $_POST['_mdn'];
    else if (in_array($compose_mode, array(RCUBE_COMPOSE_DRAFT, RCUBE_COMPOSE_EDIT)))
        $mdn_default = (bool) $MESSAGE->headers->mdn_to;
    else
program/steps/mail/sendmail.inc
@@ -144,7 +144,7 @@
        $http_header .= $nldlm . ' via ';
    }
    $host = $_SERVER['REMOTE_ADDR'];
    $host     = $_SERVER['REMOTE_ADDR'];
    $hostname = gethostbyaddr($host);
    if ($encrypt) {
@@ -171,7 +171,7 @@
$headers['Date'] = $RCMAIL->user_date();
$headers['From'] = rcube_charset::convert($from_string, RCUBE_CHARSET, $message_charset);
$headers['To'] = $mailto;
$headers['To']   = $mailto;
// additional recipients
if (!empty($mailcc)) {
@@ -187,6 +187,10 @@
        $OUTPUT->send('iframe');
    }
}
$dont_override = (array) $RCMAIL->config->get('dont_override');
$mdn_enabled   = in_array('mdn_default', $dont_override) ? $RCMAIL->config->get('mdn_default') : !empty($_POST['_mdn']);
$dsn_enabled   = in_array('dsn_default', $dont_override) ? $RCMAIL->config->get('dsn_default') : !empty($_POST['_dsn']);
// add subject
$headers['Subject'] = trim(rcube_utils::get_input_value('_subject', rcube_utils::INPUT_POST, TRUE, $message_charset));
@@ -228,7 +232,7 @@
    }
}
if (!empty($_POST['_receipt'])) {
if ($mdn_enabled) {
    $headers['Return-Receipt-To']           = $from_string;
    $headers['Disposition-Notification-To'] = $from_string;
}
@@ -520,9 +524,7 @@
    }
    // Handle Delivery Status Notification request
    if (!empty($_POST['_dsn'])) {
        $smtp_opts['dsn'] = true;
    }
    $smtp_opts['dsn'] = $dsn_enabled;
    $sent = $RCMAIL->deliver_message($MAIL_MIME, $from, $mailto,
        $smtp_error, $mailbody_file, $smtp_opts);
skins/classic/templates/compose.html
@@ -174,11 +174,13 @@
<div id="composeoptionsmenu" class="popupmenu">
    <table>
    <roundcube:if condition="!in_array('mdn_default', (array)config:dont_override)" />
    <tr>
        <td><label for="rcmcomposereceipt"><roundcube:label name="returnreceipt" />:</label></td>
        <td><roundcube:object name="receiptCheckBox" form="form" id="rcmcomposereceipt" /></td>
        <td><roundcube:object name="mdnCheckBox" form="form" id="rcmcomposereceipt" /></td>
    </tr>
    <roundcube:if condition="config:smtp_server != ''" />
    <roundcube:endif />
    <roundcube:if condition="config:smtp_server != '' and !in_array('dsn_default', (array)config:dont_override)" />
    <tr>
        <td><label for="rcmcomposedsn"><roundcube:label name="dsn" />:</label></td>
        <td><roundcube:object name="dsnCheckBox" form="form" id="rcmcomposedsn" /></td>
skins/larry/templates/compose.html
@@ -146,10 +146,12 @@
        <label for="rcmcomposepriority"><roundcube:label name="priority" />
            <roundcube:object name="prioritySelector" form="form" id="rcmcomposepriority" tabindex="4" /></label>
    </span>
    <roundcube:if condition="!in_array('mdn_default', (array)config:dont_override)" />
    <span class="composeoption">
        <label><roundcube:object name="receiptCheckBox" form="form" id="rcmcomposereceipt" tabindex="4" /> <roundcube:label name="returnreceipt" /></label>
        <label><roundcube:object name="mdnCheckBox" form="form" id="rcmcomposereceipt" tabindex="4" /> <roundcube:label name="returnreceipt" /></label>
    </span>
    <roundcube:if condition="config:smtp_server != ''" />
    <roundcube:endif />
    <roundcube:if condition="config:smtp_server != '' and !in_array('dsn_default', (array)config:dont_override)" />
    <span class="composeoption">
        <label><roundcube:object name="dsnCheckBox" form="form" id="rcmcomposedsn" tabindex="4" /> <roundcube:label name="dsn" /></label>
    </span>