Aleksander Machniak
2013-09-21 f7b2bfba092213af2f7101b18b96e957cbe0b217
Bring back possibility to unset default font family and font size
Fix style attribute quoting when font-family contains double quotes
SOme code improvements
4 files modified
35 ■■■■■ changed files
program/js/editor.js 10 ●●●● patch | view | raw | blame | history
program/steps/mail/compose.inc 4 ●●● patch | view | raw | blame | history
program/steps/mail/sendmail.inc 16 ●●●●● patch | view | raw | blame | history
program/steps/settings/func.inc 5 ●●●●● patch | view | raw | blame | history
program/js/editor.js
@@ -74,14 +74,18 @@
// react to real individual tinyMCE editor init
function rcmail_editor_callback()
{
  var elem = rcube_find_object('_from'),
  var css = {},
    elem = rcube_find_object('_from'),
    fe = rcmail.env.compose_focus_elem;
  if (rcmail.env.default_font)
    $(tinyMCE.get(rcmail.env.composebody).getBody()).css('font-family', rcmail.env.default_font);
    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);
    css['font-size'] = rcmail.env.default_font_size;
  if (css['font-family'] || css['font-size'])
    $(tinyMCE.get(rcmail.env.composebody).getBody()).css(css);
  if (elem && elem.type == 'select-one') {
    rcmail.change_identity(elem);
program/steps/mail/compose.inc
@@ -149,7 +149,9 @@
}
// default font size for HTML editor
$OUTPUT->set_env('default_font_size', $RCMAIL->config->get('default_font_size'));
if ($font_size = $RCMAIL->config->get('default_font_size')) {
  $OUTPUT->set_env('default_font_size', $font_size);
}
// get reference message and set compose mode
if ($msg_uid = $COMPOSE['param']['draft_uid']) {
program/steps/mail/sendmail.inc
@@ -473,13 +473,19 @@
$message_body = get_input_value('_message', RCUBE_INPUT_POST, TRUE, $message_charset);
if ($isHtml) {
  $font_family = rcube_fontdefs($RCMAIL->config->get('default_font', 'Arial'));
  $font_size = $RCMAIL->config->get('default_font_size');
  $bstyle = ' style="font:' . $font_size . ' ' . $font_family . ';"';
  $bstyle = array();
  if ($font_size = $RCMAIL->config->get('default_font_size')) {
    $bstyle[] = 'font-size: ' . $font_size;
  }
  if ($font_family = $RCMAIL->config->get('default_font')) {
    $bstyle[] = 'font-family: ' . rcmail::font_defs($font_family);
  }
  // append doctype and html/body wrappers
  $message_body = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">' .
    "\r\n<html><body$bstyle>\r\n" . $message_body;
  $message_body = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">'
    . "\r\n<html><body" . (!empty($bstyle) ? " style='" . implode($bstyle, '; ') . "'" : '') . ">\r\n"
    . $message_body;
}
if (!$savedraft) {
program/steps/settings/func.inc
@@ -839,7 +839,7 @@
                );
            }
            if (!isset($no_override['default_font'])) {
            if (!isset($no_override['default_font']) || !isset($no_override['default_font_size'])) {
                if (!$current) {
                    continue 2;
                }
@@ -848,7 +848,7 @@
                $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');
                $fontsizes = array('', '8pt', '10pt', '12pt', '14pt', '18pt', '24pt', '36pt');
                foreach ($fontsizes as $size) {
                    $select_default_font_size->add($size, $size);
                }
@@ -856,6 +856,7 @@
                // Default font
                $field_id = 'rcmfd_default_font';
                $select_default_font = new html_select(array('name' => '_default_font', 'id' => $field_id));
                $select_default_font->add('', '');
                $fonts = rcube_fontdefs();
                foreach ($fonts as $fname => $font) {