Aleksander Machniak
2013-05-01 969cb03f9a3aa9496da68cff53fedce79acc1071
Add option to display email address together with a name in mail preview (#1488732)
7 files modified
45 ■■■■ changed files
CHANGELOG 1 ●●●● patch | view | raw | blame | history
config/main.inc.php.dist 3 ●●●●● patch | view | raw | blame | history
program/localization/en_GB/labels.inc 1 ●●●● patch | view | raw | blame | history
program/localization/en_US/labels.inc 1 ●●●● patch | view | raw | blame | history
program/steps/mail/func.inc 27 ●●●●● patch | view | raw | blame | history
program/steps/settings/func.inc 11 ●●●●● patch | view | raw | blame | history
program/steps/settings/save_prefs.inc 1 ●●●● patch | view | raw | blame | history
CHANGELOG
@@ -1,6 +1,7 @@
CHANGELOG Roundcube Webmail
===========================
- Add option to display email address together with a name in mail preview (#1488732)
- Fix Reply-To header handling in Reply-All action (#1489037)
- Fix so Sender: address is added to Cc: field on reply to all (#1489011)
- Fix so addressbook_search_mode works also for group search (#1489079)
config/main.inc.php.dist
@@ -890,4 +890,7 @@
// Georgia, Helvetica, Impact, Tahoma, Terminal, Times New Roman, Trebuchet MS, Verdana
$rcmail_config['default_font'] = '';
// Enables display of email address with name instead of a name (and address in title)
$rcmail_config['message_show_email'] = false;
// end of config file
program/localization/en_GB/labels.inc
@@ -397,6 +397,7 @@
$labels['signature'] = 'Signature';
$labels['dstactive']  = 'Summer time';
$labels['showinextwin'] = 'Open message in a new window';
$labels['showemail'] = 'Show email address with display name';
$labels['composeextwin'] = 'Compose in a new window';
$labels['htmleditor'] = 'Compose HTML messages';
$labels['htmlonreply'] = 'on reply to HTML message only';
program/localization/en_US/labels.inc
@@ -402,6 +402,7 @@
$labels['htmlonreply'] = 'on reply to HTML message';
$labels['htmlonreplyandforward'] = 'on forward or reply to HTML message';
$labels['htmlsignature'] = 'HTML signature';
$labels['showemail'] = 'Show email address with display name';
$labels['previewpane'] = 'Show preview pane';
$labels['skin'] = 'Interface skin';
$labels['logoutclear'] = 'Clear Trash on logout';
program/steps/mail/func.inc
@@ -1440,7 +1440,8 @@
  $c = count($a_parts);
  $j = 0;
  $out = '';
  $allvalues = array();
  $allvalues  = array();
  $show_email = $RCMAIL->config->get('message_show_email');
  if ($addicon && !isset($_SESSION['writeable_abook'])) {
    $_SESSION['writeable_abook'] = $RCMAIL->get_address_sources(true) ? true : false;
@@ -1453,7 +1454,7 @@
    $string = $part['string'];
    // phishing email prevention (#1488981), e.g. "valid@email.addr <phishing@email.addr>"
    if ($name && $name != $mailto && strpos($name, '@')) {
    if (!$show_email && $name && $name != $mailto && strpos($name, '@')) {
      $name = '';
    }
@@ -1471,13 +1472,21 @@
    }
    else if (check_email($part['mailto'], false)) {
      if ($linked) {
        $address = html::a(array(
            'href' => 'mailto:'.$mailto,
            'onclick' => sprintf("return %s.command('compose','%s',this)", JS_OBJECT_NAME, JQ($mailto)),
            'title' => $mailto,
            'class' => "rcmContactAddress",
          ),
        Q($name ? $name : $mailto));
        $attrs = array(
           'href' => 'mailto:' . $mailto,
           'onclick' => sprintf("return %s.command('compose','%s',this)", JS_OBJECT_NAME, JQ($mailto)),
           'class' => "rcmContactAddress",
        );
        if ($show_email && $name && $mailto) {
          $content = Q($name ? sprintf('%s <%s>', $name, $mailto) : $mailto);
        }
        else {
          $content = Q($name ? $name : $mailto);
          $attrs['title'] = $mailto;
        }
        $address = html::a($attrs, $content);
      }
      else {
        $address = html::span(array('title' => $mailto, 'class' => "rcmContactAddress"),
program/steps/settings/func.inc
@@ -418,6 +418,17 @@
      );
    }
    // show checkbox to show email instead of name
    if (!isset($no_override['message_show_email'])) {
      $field_id = 'rcmfd_message_show_email';
      $input_msgshowemail = new html_checkbox(array('name' => '_message_show_email', 'id' => $field_id, 'value' => 1));
      $blocks['main']['options']['message_show_email'] = array(
        'title' => html::label($field_id, Q(rcube_label('showemail'))),
        'content' => $input_msgshowemail->show($config['message_show_email']?1:0),
      );
    }
    // show checkbox for HTML/plaintext messages
    if (!isset($no_override['prefer_html'])) {
      $field_id = 'rcmfd_htmlmsg';
program/steps/settings/save_prefs.inc
@@ -60,6 +60,7 @@
  case 'mailview':
    $a_user_prefs = array(
      'message_extwin'  => intval($_POST['_message_extwin']),
      'message_show_email' => isset($_POST['_message_show_email']) ? TRUE : FALSE,
      'prefer_html'     => isset($_POST['_prefer_html']) ? TRUE : FALSE,
      'inline_images'   => isset($_POST['_inline_images']) ? TRUE : FALSE,
      'show_images'     => isset($_POST['_show_images']) ? intval($_POST['_show_images']) : 0,