From 965dea3e8e243a289502bc1ad96c2ef424fd6df4 Mon Sep 17 00:00:00 2001 From: Dennis1993 Date: Mon, 2 Sep 2013 12:51:28 +0200 Subject: Update compose.inc --- program/steps/mail/compose.inc | 3 +++ 1 file changed, 3 insertions(+) (limited to 'program/steps') diff --git a/program/steps/mail/compose.inc b/program/steps/mail/compose.inc index f3ff19d72..b56f5b5b4 100644 --- a/program/steps/mail/compose.inc +++ b/program/steps/mail/compose.inc @@ -148,6 +148,9 @@ if ($font && !is_array($font)) { $OUTPUT->set_env('default_font', $font); } +// default font size for HTML editor +$OUTPUT->set_env('default_font_size', $RCMAIL->config->get('default_font_size')); + // get reference message and set compose mode if ($msg_uid = $COMPOSE['param']['draft_uid']) { $compose_mode = RCUBE_COMPOSE_DRAFT; -- cgit v1.2.3 From 901a0809fa6f836a4297ccc0a54a626dc1deeebf Mon Sep 17 00:00:00 2001 From: Dennis1993 Date: Mon, 2 Sep 2013 12:51:58 +0200 Subject: Update sendmail.inc --- program/steps/mail/sendmail.inc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'program/steps') diff --git a/program/steps/mail/sendmail.inc b/program/steps/mail/sendmail.inc index 1a92844c0..436b4eea7 100644 --- a/program/steps/mail/sendmail.inc +++ b/program/steps/mail/sendmail.inc @@ -473,8 +473,10 @@ $isHtml = (bool) get_input_value('_is_html', RCUBE_INPUT_POST); $message_body = get_input_value('_message', RCUBE_INPUT_POST, TRUE, $message_charset); if ($isHtml) { - $font = rcube_fontdefs($RCMAIL->config->get('default_font')); - $bstyle = $font && is_string($font) ? " style='font-family: $font'" : ''; + $font = rcube_fontdefs($RCMAIL->config->get('default_font')); + $font = $font && is_string($font) ? ' '.$font : NULL; + $font_size = $RCMAIL->config->get('default_font_size'); + $bstyle = " style='font: ".$font_size.$font.";'"; // append doctype and html/body wrappers $message_body = '' . -- cgit v1.2.3 From c3fe3fc3169fcfd3f188516ae4cd6229615528b2 Mon Sep 17 00:00:00 2001 From: Dennis1993 Date: Mon, 2 Sep 2013 12:52:21 +0200 Subject: Update save_prefs.inc --- program/steps/settings/save_prefs.inc | 1 + 1 file changed, 1 insertion(+) (limited to 'program/steps') diff --git a/program/steps/settings/save_prefs.inc b/program/steps/settings/save_prefs.inc index 3e8b1d17e..717c7ad8c 100644 --- a/program/steps/settings/save_prefs.inc +++ b/program/steps/settings/save_prefs.inc @@ -89,6 +89,7 @@ switch ($CURR_SECTION) 'reply_mode' => isset($_POST['_reply_mode']) ? intval($_POST['_reply_mode']) : 0, 'strip_existing_sig' => isset($_POST['_strip_existing_sig']), 'default_font' => get_input_value('_default_font', RCUBE_INPUT_POST), + 'default_font_size' => get_input_value('_default_font_size', RCUBE_INPUT_POST), 'forward_attachment' => !empty($_POST['_forward_attachment']), ); -- cgit v1.2.3 From 888f9118354054c24bb22546618f311765f9554b Mon Sep 17 00:00:00 2001 From: Dennis1993 Date: Mon, 2 Sep 2013 12:55:28 +0200 Subject: Update func.inc --- program/steps/settings/func.inc | 45 +++++++++++++++++++++-------------------- 1 file changed, 23 insertions(+), 22 deletions(-) (limited to 'program/steps') diff --git a/program/steps/settings/func.inc b/program/steps/settings/func.inc index fdc07be9e..8feeda17f 100644 --- a/program/steps/settings/func.inc +++ b/program/steps/settings/func.inc @@ -838,28 +838,29 @@ function rcmail_user_prefs($current = null) } if (!isset($no_override['default_font'])) { - if (!$current) { - continue 2; - } - - $field_id = 'rcmfd_default_font'; - $fonts = rcube_fontdefs(); - $selected = $config['default_font']; - - $select = ''; - - $blocks['main']['options']['default_font'] = array( - 'title' => html::label($field_id, Q(rcube_label('defaultfont'))), - 'content' => $select - ); + // Default font size + $field_id = 'rcmfd_default_font_size'; + $select_default_font_size = new html_select(array('name' => '_default_font_size', 'id' => $field_id)); + + $fontsizes = array('8pt', '10pt', '12pt', '14pt', '18pt', '24pt', '36pt'); + foreach ($fontsizes as $size) { + $select_default_font_size->add($size, $size); + } + + // Default font + $field_id = 'rcmfd_default_font'; + $select_default_font = new html_select(array('name' => '_default_font', 'id' => $field_id)); + + $fonts = rcube_fontdefs(); + foreach ($fonts as $fname => $font) { + $select_default_font->add($fname, $fname); + } + + $blocks['main']['options']['default_font'] = array( + 'title' => html::label($field_id, Q(rcube_label('defaultfont'))), + 'content' => $select_default_font_size->show($RCMAIL->config->get('default_font_size', 1)). + $select_default_font->show($RCMAIL->config->get('default_font', 1)) + ); } break; -- cgit v1.2.3 From d8d5692cff411dc769d8fc1c7dd5ea8acbb15837 Mon Sep 17 00:00:00 2001 From: Dennis1993 Date: Mon, 2 Sep 2013 12:57:15 +0200 Subject: Update func.inc --- program/steps/settings/func.inc | 46 ++++++++++++++++++++--------------------- 1 file changed, 23 insertions(+), 23 deletions(-) (limited to 'program/steps') diff --git a/program/steps/settings/func.inc b/program/steps/settings/func.inc index 8feeda17f..64fc8b05c 100644 --- a/program/steps/settings/func.inc +++ b/program/steps/settings/func.inc @@ -838,29 +838,29 @@ function rcmail_user_prefs($current = null) } if (!isset($no_override['default_font'])) { - // Default font size - $field_id = 'rcmfd_default_font_size'; - $select_default_font_size = new html_select(array('name' => '_default_font_size', 'id' => $field_id)); - - $fontsizes = array('8pt', '10pt', '12pt', '14pt', '18pt', '24pt', '36pt'); - foreach ($fontsizes as $size) { - $select_default_font_size->add($size, $size); - } - - // Default font - $field_id = 'rcmfd_default_font'; - $select_default_font = new html_select(array('name' => '_default_font', 'id' => $field_id)); - - $fonts = rcube_fontdefs(); - foreach ($fonts as $fname => $font) { - $select_default_font->add($fname, $fname); - } - - $blocks['main']['options']['default_font'] = array( - 'title' => html::label($field_id, Q(rcube_label('defaultfont'))), - 'content' => $select_default_font_size->show($RCMAIL->config->get('default_font_size', 1)). - $select_default_font->show($RCMAIL->config->get('default_font', 1)) - ); + // Default font size + $field_id = 'rcmfd_default_font_size'; + $select_default_font_size = new html_select(array('name' => '_default_font_size', 'id' => $field_id)); + + $fontsizes = array('8pt', '10pt', '12pt', '14pt', '18pt', '24pt', '36pt'); + foreach ($fontsizes as $size) { + $select_default_font_size->add($size, $size); + } + + // Default font + $field_id = 'rcmfd_default_font'; + $select_default_font = new html_select(array('name' => '_default_font', 'id' => $field_id)); + + $fonts = rcube_fontdefs(); + foreach ($fonts as $fname => $font) { + $select_default_font->add($fname, $fname); + } + + $blocks['main']['options']['default_font'] = array( + 'title' => html::label($field_id, Q(rcube_label('defaultfont'))), + 'content' => $select_default_font_size->show($RCMAIL->config->get('default_font_size', 1)). + $select_default_font->show($RCMAIL->config->get('default_font', 1)) + ); } break; -- cgit v1.2.3 From 153e455f6566cb7a4349b7f2197e842d6ec9bf90 Mon Sep 17 00:00:00 2001 From: Dennis1993 Date: Mon, 2 Sep 2013 13:16:04 +0200 Subject: Update func.inc --- program/steps/settings/func.inc | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'program/steps') diff --git a/program/steps/settings/func.inc b/program/steps/settings/func.inc index 64fc8b05c..57c52a01e 100644 --- a/program/steps/settings/func.inc +++ b/program/steps/settings/func.inc @@ -838,6 +838,10 @@ function rcmail_user_prefs($current = null) } if (!isset($no_override['default_font'])) { + if (!$current) { + continue 2; + } + // Default font size $field_id = 'rcmfd_default_font_size'; $select_default_font_size = new html_select(array('name' => '_default_font_size', 'id' => $field_id)); -- cgit v1.2.3 From 7be8a9134c73d830dec0a46a529400ada93e8664 Mon Sep 17 00:00:00 2001 From: Thomas Bruederli Date: Fri, 13 Sep 2013 19:10:12 +0200 Subject: Move some config options to new and collapsible 'advanced' blocks --- program/steps/settings/edit_prefs.inc | 9 +++------ program/steps/settings/func.inc | 19 ++++++++++++------- skins/larry/settings.css | 20 ++++++++++++++++++++ skins/larry/ui.js | 13 +++++++++++++ 4 files changed, 48 insertions(+), 13 deletions(-) (limited to 'program/steps') diff --git a/program/steps/settings/edit_prefs.inc b/program/steps/settings/edit_prefs.inc index 468e4994d..adf6b1623 100644 --- a/program/steps/settings/edit_prefs.inc +++ b/program/steps/settings/edit_prefs.inc @@ -40,24 +40,21 @@ function rcmail_user_prefs_form($attrib) $out = $form_start; - foreach ($SECTIONS[$CURR_SECTION]['blocks'] as $block) { + foreach ($SECTIONS[$CURR_SECTION]['blocks'] as $class => $block) { if (!empty($block['options'])) { $table = new html_table(array('cols' => 2)); foreach ($block['options'] as $option) { - if ($option['advanced']) - $table->set_row_attribs('advanced'); - if (isset($option['title'])) { $table->add('title', $option['title']); - $table->add(null, $option['content']); + $table->add(null, $option['content']); } else { $table->add(array('colspan' => 2), $option['content']); } } - $out .= html::tag('fieldset', null, html::tag('legend', null, $block['name']) . $table->show($attrib)); + $out .= html::tag('fieldset', $class, html::tag('legend', null, $block['name']) . $table->show($attrib)); } else if (!empty($block['content'])) { $out .= html::tag('fieldset', null, html::tag('legend', null, $block['name']) . $block['content']); diff --git a/program/steps/settings/func.inc b/program/steps/settings/func.inc index fdc07be9e..ecd35e94b 100644 --- a/program/steps/settings/func.inc +++ b/program/steps/settings/func.inc @@ -158,6 +158,7 @@ function rcmail_user_prefs($current = null) 'main' => array('name' => Q(rcube_label('mainoptions'))), 'skin' => array('name' => Q(rcube_label('skin'))), 'browser' => array('name' => Q(rcube_label('browseroptions'))), + 'advanced'=> array('name' => Q(rcube_label('advancedoptions'))), ); // language selection @@ -367,6 +368,7 @@ function rcmail_user_prefs($current = null) $blocks = array( 'main' => array('name' => Q(rcube_label('mainoptions'))), 'new_message' => array('name' => Q(rcube_label('newmessage'))), + 'advanced' => array('name' => Q(rcube_label('advancedoptions'))), ); // show config parameter for preview pane @@ -488,6 +490,7 @@ function rcmail_user_prefs($current = null) case 'mailview': $blocks = array( 'main' => array('name' => Q(rcube_label('mainoptions'))), + 'advanced' => array('name' => Q(rcube_label('advancedoptions'))), ); // show checkbox to open message view in new window @@ -543,7 +546,7 @@ function rcmail_user_prefs($current = null) $field_id = 'rcmfd_default_charset'; - $blocks['main']['options']['default_charset'] = array( + $blocks['advanced']['options']['default_charset'] = array( 'title' => html::label($field_id, Q(rcube_label('defaultcharset'))), 'content' => $RCMAIL->output->charset_selector(array( 'id' => $field_id, 'name' => '_default_charset', 'selected' => $config['default_charset'] @@ -605,6 +608,7 @@ function rcmail_user_prefs($current = null) 'main' => array('name' => Q(rcube_label('mainoptions'))), 'sig' => array('name' => Q(rcube_label('signatureoptions'))), 'spellcheck' => array('name' => Q(rcube_label('spellcheckoptions'))), + 'advanced' => array('name' => Q(rcube_label('advancedoptions'))), ); // show checkbox to compose messages in a new window @@ -673,8 +677,7 @@ function rcmail_user_prefs($current = null) $select->add(rcube_label('miscfolding'), 1); $select->add(rcube_label('2047folding'), 2); - $blocks['main']['options']['mime_param_folding'] = array( - 'advanced' => true, + $blocks['advanced']['options']['mime_param_folding'] = array( 'title' => html::label($field_id, Q(rcube_label('mimeparamfolding'))), 'content' => $select->show($config['mime_param_folding']), ); @@ -688,8 +691,7 @@ function rcmail_user_prefs($current = null) $field_id = 'rcmfd_force_7bit'; $input = new html_checkbox(array('name' => '_force_7bit', 'id' => $field_id, 'value' => 1)); - $blocks['main']['options']['force_7bit'] = array( - 'advanced' => true, + $blocks['advanced']['options']['force_7bit'] = array( 'title' => html::label($field_id, Q(rcube_label('force7bit'))), 'content' => $input->show($config['force_7bit']?1:0), ); @@ -866,7 +868,8 @@ function rcmail_user_prefs($current = null) // Addressbook config case 'addressbook': $blocks = array( - 'main' => array('name' => Q(rcube_label('mainoptions'))), + 'main' => array('name' => Q(rcube_label('mainoptions'))), + 'advanced' => array('name' => Q(rcube_label('advancedoptions'))), ); if (!isset($no_override['default_addressbook']) @@ -962,7 +965,8 @@ function rcmail_user_prefs($current = null) // Special IMAP folders case 'folders': $blocks = array( - 'main' => array('name' => Q(rcube_label('mainoptions'))), + 'main' => array('name' => Q(rcube_label('mainoptions'))), + 'advanced' => array('name' => Q(rcube_label('advancedoptions'))), ); if (!isset($no_override['show_real_foldernames'])) { @@ -1043,6 +1047,7 @@ function rcmail_user_prefs($current = null) $blocks = array( 'main' => array('name' => Q(rcube_label('mainoptions'))), 'maintenance' => array('name' => Q(rcube_label('maintenance'))), + 'advanced' => array('name' => Q(rcube_label('advancedoptions'))), ); if (!isset($no_override['read_when_deleted'])) { diff --git a/skins/larry/settings.css b/skins/larry/settings.css index 59037ac76..6afa48c40 100644 --- a/skins/larry/settings.css +++ b/skins/larry/settings.css @@ -48,6 +48,26 @@ border-radius: 4px 4px 0 0; } +#preferences-details fieldset.advanced legend { + position: relative; + display: block; + width: 100%; + cursor: pointer; +} + +#preferences-details fieldset.advanced .propform { + display: none; +} + +#preferences-details fieldset.advanced .advanced-toggle { + position: absolute; + top: 2px; + right: 6px; + text-decoration: none; + color: #666; + font-size: 11px; +} + #sections-table tbody td.section, #settings-sections span.listitem a, #settings-sections span.tablink a { diff --git a/skins/larry/ui.js b/skins/larry/ui.js index ae14d81b2..d558f16a2 100644 --- a/skins/larry/ui.js +++ b/skins/larry/ui.js @@ -195,6 +195,19 @@ function rcube_mail_ui() new rcube_splitter({ id:'prefviewsplitter', p1:'#sectionslist', p2:'#preferences-box', orientation:'v', relative:true, start:266, min:180, size:12 }).init(); } + else if (rcmail.env.action == 'edit-prefs') { + $('') + .addClass('advanced-toggle') + .appendTo('#preferences-details fieldset.advanced legend'); + + $('#preferences-details fieldset.advanced legend').click(function(e){ + var collapsed = $(this).hasClass('collapsed'), + toggle = $('.advanced-toggle', this).html(collapsed ? '▲' : '▼'); + $(this) + .toggleClass('collapsed') + .closest('fieldset').children('.propform').toggle() + }).addClass('collapsed') + } } /*** addressbook task ***/ else if (rcmail.env.task == 'addressbook') { -- cgit v1.2.3 From 2efe332b495787dc5be77c3191ff319a62a56fca Mon Sep 17 00:00:00 2001 From: Aleksander Machniak Date: Sun, 15 Sep 2013 13:43:13 +0200 Subject: Display full attachment name using title attribute when name is too long to display (#1489320) --- CHANGELOG | 1 + program/js/app.js | 13 +++++++++---- program/steps/mail/attachments.inc | 5 ++++- program/steps/mail/compose.inc | 24 ++++++++++++++++++------ program/steps/mail/show.inc | 5 +++-- skins/classic/templates/message.html | 2 +- skins/classic/templates/messagepreview.html | 2 +- 7 files changed, 37 insertions(+), 15 deletions(-) (limited to 'program/steps') diff --git a/CHANGELOG b/CHANGELOG index a7c3f1540..f18d10d94 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,7 @@ CHANGELOG Roundcube Webmail =========================== +- Display full attachment name using title attribute when name is too long to display (#1489320) - Fix XSS issue in addressbook group name field [CVE-2013-5646] (#1489333) - Fix attachment icon issue when rare font/language is used (#1489326) - After message is sent refresh messages list of replied message folder (#1489249) diff --git a/program/js/app.js b/program/js/app.js index 1d1c65172..24aaca055 100644 --- a/program/js/app.js +++ b/program/js/app.js @@ -1881,7 +1881,7 @@ function rcube_webmail() html = expando; else if (c == 'subject') { if (bw.ie) { - col.onmouseover = function() { rcube_webmail.long_subject_title_ie(this, message.depth+1); }; + col.onmouseover = function() { rcube_webmail.long_subject_title_ex(this, message.depth+1); }; if (bw.ie8) tree = '' + tree; // #1487821 } @@ -3639,7 +3639,12 @@ function rcube_webmail() att.html = '' + (this.env.cancelicon ? '' : this.get_label('cancel')) + '' + att.html; - var indicator, li = $('
  • ').attr('id', name).addClass(att.classname).html(att.html); + var indicator, li = $('
  • '); + + li.attr('id', name) + .addClass(att.classname) + .html(att.html) + .on('mouseover', function() { rcube_webmail.long_subject_title_ex(this, 0); }); // replace indicator's li if (upload_id && (indicator = document.getElementById(upload_id))) { @@ -6986,11 +6991,11 @@ rcube_webmail.long_subject_title = function(elem, indent) if (!elem.title) { var $elem = $(elem); if ($elem.width() + indent * 15 > $elem.parent().width()) - elem.title = $elem.html(); + elem.title = $elem.text(); } }; -rcube_webmail.long_subject_title_ie = function(elem, indent) +rcube_webmail.long_subject_title_ex = function(elem, indent) { if (!elem.title) { var $elem = $(elem), diff --git a/program/steps/mail/attachments.inc b/program/steps/mail/attachments.inc index f83f6892e..85aa9542b 100644 --- a/program/steps/mail/attachments.inc +++ b/program/steps/mail/attachments.inc @@ -118,9 +118,12 @@ if (is_array($_FILES['_attachments']['tmp_name'])) { 'alt' => rcube_label('delete') )); } - else { + else if ($COMPOSE['textbuttons']) { $button = Q(rcube_label('delete')); } + else { + $button = ''; + } $content = html::a(array( 'href' => "#delete", diff --git a/program/steps/mail/compose.inc b/program/steps/mail/compose.inc index e9f638cb1..39dca3b03 100644 --- a/program/steps/mail/compose.inc +++ b/program/steps/mail/compose.inc @@ -1370,8 +1370,9 @@ function rcmail_compose_attachment_list($attrib) if (!$attrib['id']) $attrib['id'] = 'rcmAttachmentList'; - $out = "\n"; + $out = "\n"; $jslist = array(); + $button = ''; if (is_array($COMPOSE['attachments'])) { if ($attrib['deleteicon']) { @@ -1380,27 +1381,38 @@ function rcmail_compose_attachment_list($attrib) 'alt' => rcube_label('delete') )); } - else + else if (rcube_utils::get_boolean($attrib['textbuttons'])) { $button = Q(rcube_label('delete')); + } foreach ($COMPOSE['attachments'] as $id => $a_prop) { if (empty($a_prop)) continue; - $out .= html::tag('li', array('id' => 'rcmfile'.$id, 'class' => rcmail_filetype2classname($a_prop['mimetype'], $a_prop['name'])), + $out .= html::tag('li', + array( + 'id' => 'rcmfile'.$id, + 'class' => rcmail_filetype2classname($a_prop['mimetype'], $a_prop['name']), + 'onmouseover' => "rcube_webmail.long_subject_title_ex(this, 0)", + ), html::a(array( 'href' => "#delete", 'title' => rcube_label('delete'), 'onclick' => sprintf("return %s.command('remove-attachment','rcmfile%s', this)", JS_OBJECT_NAME, $id), - 'class' => 'delete'), - $button) . Q($a_prop['name'])); + 'class' => 'delete' + ), + $button + ) . Q($a_prop['name']) + ); - $jslist['rcmfile'.$id] = array('name' => $a_prop['name'], 'complete' => true, 'mimetype' => $a_prop['mimetype']); + $jslist['rcmfile'.$id] = array('name' => $a_prop['name'], 'complete' => true, 'mimetype' => $a_prop['mimetype']); } } if ($attrib['deleteicon']) $COMPOSE['deleteicon'] = $CONFIG['skin_path'] . $attrib['deleteicon']; + else if (rcube_utils::get_boolean($attrib['textbuttons'])) + $COMPOSE['textbuttons'] = true; if ($attrib['cancelicon']) $OUTPUT->set_env('cancelicon', $CONFIG['skin_path'] . $attrib['cancelicon']); if ($attrib['loadingicon']) diff --git a/program/steps/mail/show.inc b/program/steps/mail/show.inc index 59f4d55e1..9d85f9c8f 100644 --- a/program/steps/mail/show.inc +++ b/program/steps/mail/show.inc @@ -175,9 +175,9 @@ function rcmail_message_attachments($attrib) $ol .= html::tag('li', null, Q(sprintf("%s (%s)", $filename, $size))); } else { - if (mb_strlen($filename) > 50) { + if ($attrib['maxlength'] && mb_strlen($filename) > $attrib['maxlength']) { $title = $filename; - $filename = abbreviate_string($filename, 50); + $filename = abbreviate_string($filename, $attrib['maxlength']); } else { $title = ''; @@ -190,6 +190,7 @@ function rcmail_message_attachments($attrib) 'href' => $MESSAGE->get_part_url($attach_prop->mime_id, false), 'onclick' => sprintf('return %s.command(\'load-attachment\',\'%s\',this)', JS_OBJECT_NAME, $attach_prop->mime_id), + 'onmouseover' => $title ? '' : 'rcube_webmail.long_subject_title_ex(this, 0)', 'title' => Q($title), ), Q($filename)); $ol .= html::tag('li', array('class' => $class, 'id' => $id), $link); diff --git a/skins/classic/templates/message.html b/skins/classic/templates/message.html index 757c0a635..bd4fbf277 100644 --- a/skins/classic/templates/message.html +++ b/skins/classic/templates/message.html @@ -49,7 +49,7 @@ - + diff --git a/skins/classic/templates/messagepreview.html b/skins/classic/templates/messagepreview.html index b42a06342..82414c420 100644 --- a/skins/classic/templates/messagepreview.html +++ b/skins/classic/templates/messagepreview.html @@ -20,7 +20,7 @@ - + -- cgit v1.2.3 From c1ff572e176dc930c52063e53364daa315d34666 Mon Sep 17 00:00:00 2001 From: Thomas Bruederli Date: Mon, 16 Sep 2013 20:01:10 +0200 Subject: Touch new default font size settings: simplified + codestyle + updated changelog --- CHANGELOG | 1 + program/steps/mail/sendmail.inc | 5 ++--- program/steps/settings/func.inc | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) (limited to 'program/steps') diff --git a/CHANGELOG b/CHANGELOG index f18d10d94..8d5870ce4 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,7 @@ CHANGELOG Roundcube Webmail =========================== +- Make default font size for HTML messages configurable (request #118) - Display full attachment name using title attribute when name is too long to display (#1489320) - Fix XSS issue in addressbook group name field [CVE-2013-5646] (#1489333) - Fix attachment icon issue when rare font/language is used (#1489326) diff --git a/program/steps/mail/sendmail.inc b/program/steps/mail/sendmail.inc index 8fe149611..3f4475e46 100644 --- a/program/steps/mail/sendmail.inc +++ b/program/steps/mail/sendmail.inc @@ -473,10 +473,9 @@ $isHtml = (bool) get_input_value('_is_html', RCUBE_INPUT_POST); $message_body = get_input_value('_message', RCUBE_INPUT_POST, TRUE, $message_charset); if ($isHtml) { - $font = rcube_fontdefs($RCMAIL->config->get('default_font')); - $font = $font && is_string($font) ? ' '.$font : NULL; + $font_family = rcube_fontdefs($RCMAIL->config->get('default_font', 'Arial')); $font_size = $RCMAIL->config->get('default_font_size'); - $bstyle = " style='font: ".$font_size.$font.";'"; + $bstyle = ' style="font:' . $font_size . ' ' . $font_family . ';"'; // append doctype and html/body wrappers $message_body = '' . diff --git a/program/steps/settings/func.inc b/program/steps/settings/func.inc index b492c9644..53c98eddf 100644 --- a/program/steps/settings/func.inc +++ b/program/steps/settings/func.inc @@ -864,8 +864,8 @@ function rcmail_user_prefs($current = null) $blocks['main']['options']['default_font'] = array( 'title' => html::label($field_id, Q(rcube_label('defaultfont'))), - 'content' => $select_default_font_size->show($RCMAIL->config->get('default_font_size', 1)). - $select_default_font->show($RCMAIL->config->get('default_font', 1)) + 'content' => $select_default_font->show($RCMAIL->config->get('default_font', 1)) . + $select_default_font_size->show($RCMAIL->config->get('default_font_size', 1)) ); } break; -- cgit v1.2.3