Thomas B.
2013-09-16 0201298cd8f767389789f7c35897985d4475836a
Merge pull request #118 from Dennis1993/patch-12

Added support for default font size and fix legacy code for default font
6 files modified
46 ■■■■■ changed files
config/defaults.inc.php 4 ●●●● patch | view | raw | blame | history
program/js/editor.js 3 ●●●●● patch | view | raw | blame | history
program/steps/mail/compose.inc 3 ●●●●● patch | view | raw | blame | history
program/steps/mail/sendmail.inc 6 ●●●●● patch | view | raw | blame | history
program/steps/settings/func.inc 29 ●●●●● patch | view | raw | blame | history
program/steps/settings/save_prefs.inc 1 ●●●● patch | view | raw | blame | history
config/defaults.inc.php
@@ -984,5 +984,9 @@
// Georgia, Helvetica, Impact, Tahoma, Terminal, Times New Roman, Trebuchet MS, Verdana
$config['default_font'] = 'Verdana';
// Default font size for composed HTML message.
// Supported sizes: 8pt, 10pt, 12pt, 14pt, 18pt, 24pt, 36pt
$config['default_font_size'] = '10pt';
// Enables display of email address with name instead of a name (and address in title)
$config['message_show_email'] = false;
program/js/editor.js
@@ -80,6 +80,9 @@
  if (rcmail.env.default_font)
    $(tinyMCE.get(rcmail.env.composebody).getBody()).css('font-family', rcmail.env.default_font);
  if (rcmail.env.default_font_size)
    $(tinyMCE.get(rcmail.env.composebody).getBody()).css('font-size', rcmail.env.default_font_size);
  if (elem && elem.type == 'select-one') {
    rcmail.change_identity(elem);
    // Focus previously focused element
program/steps/mail/compose.inc
@@ -148,6 +148,9 @@
  $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;
program/steps/mail/sendmail.inc
@@ -473,8 +473,10 @@
$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 = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">' .
program/steps/settings/func.inc
@@ -844,23 +844,28 @@
                    continue 2;
                }
                $field_id = 'rcmfd_default_font';
                $fonts    = rcube_fontdefs();
                $selected = $config['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));
                $select = '<select name="_default_font" id="'.$field_id.'">';
                $select .= '<option value=""' . (!$selected ? ' selected="selected"' : '') . '>---</option>';
                foreach ($fonts as $fname => $font) {
                    $select .= '<option value="'.$fname.'"'
                        . ($fname == $selected ? ' selected="selected"' : '')
                        . ' style=\'font-family: ' . $font . '\'>'
                        . Q($fname) . '</option>';
                $fontsizes = array('8pt', '10pt', '12pt', '14pt', '18pt', '24pt', '36pt');
                foreach ($fontsizes as $size) {
                    $select_default_font_size->add($size, $size);
                }
                $select .= '</select>';
                // 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
                    'content' => $select_default_font_size->show($RCMAIL->config->get('default_font_size', 1)).
                                 $select_default_font->show($RCMAIL->config->get('default_font', 1))
                );
            }
        break;
program/steps/settings/save_prefs.inc
@@ -89,6 +89,7 @@
      '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']),
    );