summaryrefslogtreecommitdiff
path: root/program/steps
diff options
context:
space:
mode:
Diffstat (limited to 'program/steps')
-rw-r--r--program/steps/mail/compose.inc2
-rw-r--r--program/steps/mail/sendmail.inc7
-rw-r--r--program/steps/utils/spell_html.inc30
3 files changed, 16 insertions, 23 deletions
diff --git a/program/steps/mail/compose.inc b/program/steps/mail/compose.inc
index db001d54e..db485fda8 100644
--- a/program/steps/mail/compose.inc
+++ b/program/steps/mail/compose.inc
@@ -1675,7 +1675,7 @@ function rcmail_editor_selector($attrib)
if (empty($attrib['name']))
$attrib['name'] = 'editorSelect';
- $attrib['onchange'] = "return rcmail_toggle_editor(this, '".$attrib['editorid']."', '_is_html')";
+ $attrib['onchange'] = "return rcmail_toggle_editor(this, '".$attrib['editorid']."')";
$select = new html_select($attrib);
diff --git a/program/steps/mail/sendmail.inc b/program/steps/mail/sendmail.inc
index 005c25427..5bddc249a 100644
--- a/program/steps/mail/sendmail.inc
+++ b/program/steps/mail/sendmail.inc
@@ -273,9 +273,10 @@ if ($isHtml) {
}
// append doctype and html/body wrappers
- $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;
+ $bstyle = !empty($bstyle) ? (" style='" . implode($bstyle, '; ') . "'") : '';
+ $message_body = '<html><head>'
+ . '<meta http-equiv="Content-Type" content="text/html; charset=' . $message_charset . '" /></head>'
+ . "<body" . $bstyle . ">\r\n" . $message_body;
}
if (!$savedraft) {
diff --git a/program/steps/utils/spell_html.inc b/program/steps/utils/spell_html.inc
index 27b14acef..b31d6ed86 100644
--- a/program/steps/utils/spell_html.inc
+++ b/program/steps/utils/spell_html.inc
@@ -19,31 +19,23 @@
+-----------------------------------------------------------------------+
*/
-// read input data
-$data = file_get_contents('php://input');
-// Decode JSON input
-$request = json_decode($data, true);
+$lang = rcube_utils::get_input_value('lang', rcube_utils::INPUT_POST);
+$data = rcube_utils::get_input_value('text', rcube_utils::INPUT_POST);
+$data = html_entity_decode($data, ENT_QUOTES, RCUBE_CHARSET);
$result = array();
-$lang = $request['params'][0];
-$data = $request['params'][1];
-$data = implode("\n", (array) $data);
-
-$result['id'] = $request['id'];
-
$spellchecker = new rcube_spellchecker($lang);
-if ($request['method'] == 'checkWords') {
- $result['result'] = $spellchecker->get_words($data);
-}
-else if ($request['method'] == 'getSuggestions') {
- $result['result'] = $spellchecker->get_suggestions($data);
-}
-else if ($request['method'] == 'learnWord') {
+if ($method == 'learnWord') {
$spellchecker->add_word($data);
$result['result'] = true;
}
+else if ($data) {
+ if (!$spellchecker->check($data)) {
+ $result['words'] = $spellchecker->get();
+ }
+}
if ($error = $spellchecker->error()) {
rcube::raise_error(array('code' => 500, 'type' => 'php',
@@ -51,12 +43,12 @@ if ($error = $spellchecker->error()) {
'message' => sprintf("Spell check engine error: " . $error)),
true, false);
- echo '{"error":{"errstr":"' . addslashes($error) . '","errfile":"","errline":null,"errcontext":"","level":"FATAL"}}';
+ echo json_encode(array('error' => $error));
exit;
}
// send output
-header("Content-Type: text/xml; charset=".RCUBE_CHARSET);
+header("Content-Type: application/json; charset=".RCUBE_CHARSET);
echo json_encode($result);
exit;