diff options
Diffstat (limited to 'program/steps')
-rw-r--r-- | program/steps/mail/compose.inc | 6 | ||||
-rw-r--r-- | program/steps/mail/sendmail.inc | 19 | ||||
-rw-r--r-- | program/steps/settings/func.inc | 20 | ||||
-rw-r--r-- | program/steps/settings/save_prefs.inc | 1 |
4 files changed, 39 insertions, 7 deletions
diff --git a/program/steps/mail/compose.inc b/program/steps/mail/compose.inc index 71729602a..03619f1a2 100644 --- a/program/steps/mail/compose.inc +++ b/program/steps/mail/compose.inc @@ -142,6 +142,12 @@ $OUTPUT->set_env('recipients_separator', trim($RCMAIL->config->get('recipients_s // use jquery UI for showing prompt() dialogs $RCMAIL->plugins->load_plugin('jqueryui'); +// default font for HTML editor +$font = rcube_fontdefs($RCMAIL->config->get('default_font', 'Verdana')); +if ($font && !is_array($font)) { + $OUTPUT->set_env('default_font', $font); +} + // get reference message and set compose mode if ($msg_uid = $COMPOSE['param']['draft_uid']) { $RCMAIL->imap->set_mailbox($CONFIG['drafts_mbox']); diff --git a/program/steps/mail/sendmail.inc b/program/steps/mail/sendmail.inc index 0da1ee342..6e124f98f 100644 --- a/program/steps/mail/sendmail.inc +++ b/program/steps/mail/sendmail.inc @@ -397,6 +397,15 @@ $isHtml = (bool) get_input_value('_is_html', RCUBE_INPUT_POST); // fetch message body $message_body = get_input_value('_message', RCUBE_INPUT_POST, TRUE, $message_charset); +if ($isHtml) { + $font = rcube_fontdefs($RCMAIL->config->get('default_font', 'Verdana')); + $bstyle = $font && is_string($font) ? " style='font-family: $font'" : ''; + + // 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; +} + if (!$savedraft) { if ($isHtml) { // remove signature's div ID @@ -406,10 +415,6 @@ if (!$savedraft) { $bstyle = 'padding-left:5px; border-left:#1010ff 2px solid; margin-left:5px; width:100%'; $message_body = preg_replace('/<blockquote>/', '<blockquote type="cite" style="'.$bstyle.'">', $message_body); - - // append doctype and html/body wrappers - $message_body = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">' . - "\r\n<html><body>\r\n" . $message_body; } // Check spelling before send @@ -443,8 +448,10 @@ if (!$savedraft) { if ($footer) $message_body .= "\r\n" . $footer; - if ($isHtml) - $message_body .= "\r\n</body></html>\r\n"; +} + +if ($isHtml) { + $message_body .= "\r\n</body></html>\r\n"; } // set line length for body wrapping diff --git a/program/steps/settings/func.inc b/program/steps/settings/func.inc index 28da87628..b778afa13 100644 --- a/program/steps/settings/func.inc +++ b/program/steps/settings/func.inc @@ -481,7 +481,6 @@ function rcmail_user_prefs($current=null) 'sig' => array('name' => Q(rcube_label('signatureoptions'))), ); - // Show checkbox for HTML Editor if (!isset($no_override['htmleditor'])) { $field_id = 'rcmfd_htmleditor'; $select_htmleditor = new html_select(array('name' => '_htmleditor', 'id' => $field_id)); @@ -634,6 +633,25 @@ function rcmail_user_prefs($current=null) ); } + if (!isset($no_override['default_font'])) { + $field_id = 'rcmfd_default_font'; + $fonts = rcube_fontdefs(); + $default_font = $config['default_font'] ? $config['default_font'] : 'Verdana'; + + $select = '<select name="_default_font" id="'.$field_id.'">'; + foreach ($fonts as $fname => $font) + $select .= '<option value="'.$fname.'"' + . ($fname == $default_font ? ' selected="selected"' : '') + . ' style=\'font-family: ' . $font . '\'>' + . Q($fname) . '</option>'; + $select .= '</select>'; + + $blocks['main']['options']['default_font'] = array( + 'title' => html::label($field_id, Q(rcube_label('defaultfont'))), + 'content' => $select + ); + } + break; diff --git a/program/steps/settings/save_prefs.inc b/program/steps/settings/save_prefs.inc index f5f3e36d3..a6388c579 100644 --- a/program/steps/settings/save_prefs.inc +++ b/program/steps/settings/save_prefs.inc @@ -86,6 +86,7 @@ switch ($CURR_SECTION) 'top_posting' => !empty($_POST['_top_posting']), 'strip_existing_sig' => isset($_POST['_strip_existing_sig']), 'sig_above' => !empty($_POST['_sig_above']) && !empty($_POST['_top_posting']), + 'default_font' => get_input_value('_default_font', RCUBE_INPUT_POST), ); break; |