diff options
| author | alec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2011-09-06 13:39:45 +0000 |
|---|---|---|
| committer | alec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2011-09-06 13:39:45 +0000 |
| commit | 865419e2224bfd654af0a943a43febd4523f8dee (patch) | |
| tree | 1446c11177fde57aaac2b6fae1da6eeb8f97974e /roundcubemail/program/steps/utils | |
| parent | ff4ae725ac0e9cc22013f4854093a93796eb421a (diff) | |
- Merge devel-spellcheck branch:
- Added spellchecker exceptions dictionary (shared or per-user)
- Added possibility to ignore words containing caps, numbers, symbols (spellcheck_ignore_* options)
git-svn-id: https://svn.roundcube.net/trunk@5181 208e9e7b-5314-0410-a742-e7e81cd9613c
Diffstat (limited to 'roundcubemail/program/steps/utils')
| -rw-r--r-- | roundcubemail/program/steps/utils/spell.inc | 13 | ||||
| -rw-r--r-- | roundcubemail/program/steps/utils/spell_html.inc | 4 |
2 files changed, 15 insertions, 2 deletions
diff --git a/roundcubemail/program/steps/utils/spell.inc b/roundcubemail/program/steps/utils/spell.inc index 358576c7c..b485545be 100644 --- a/roundcubemail/program/steps/utils/spell.inc +++ b/roundcubemail/program/steps/utils/spell.inc @@ -23,6 +23,8 @@ $lang = get_input_value('lang', RCUBE_INPUT_GET); $data = file_get_contents('php://input'); +$learn_word = strpos($data, '<learnword>'); + // Get data string $left = strpos($data, '<text>'); $right = strrpos($data, '</text>'); @@ -30,8 +32,15 @@ $data = substr($data, $left+6, $right-($left+6)); $data = html_entity_decode($data, ENT_QUOTES, RCMAIL_CHARSET); $spellchecker = new rcube_spellchecker($lang); -$spellchecker->check($data); -$result = $spellchecker->get_xml(); + +if ($learn_word) { + $spellchecker->add_word($data); + $result = '<?xml version="1.0" encoding="'.RCMAIL_CHARSET.'"?><learnwordresult></learnwordresult>'; +} +else { + $spellchecker->check($data); + $result = $spellchecker->get_xml(); +} // set response length header("Content-Length: " . strlen($result)); diff --git a/roundcubemail/program/steps/utils/spell_html.inc b/roundcubemail/program/steps/utils/spell_html.inc index d69c73f37..2af30ba00 100644 --- a/roundcubemail/program/steps/utils/spell_html.inc +++ b/roundcubemail/program/steps/utils/spell_html.inc @@ -40,6 +40,10 @@ if ($request['method'] == 'checkWords') { else if ($request['method'] == 'getSuggestions') { $result['result'] = $spellchecker->get_suggestions($data); } +else if ($request['method'] == 'learnWord') { + $spellchecker->add_word($data); + $result['result'] = true; +} if ($error = $spellchecker->error()) { echo '{"error":{"errstr":"' . addslashes($error) . '","errfile":"","errline":null,"errcontext":"","level":"FATAL"}}'; |
