- Fix setting language for spellchecker on spellcheck_before_send
| | |
| | | { |
| | | $this->rc = rcmail::get_instance(); |
| | | $this->engine = $this->rc->config->get('spellcheck_engine', 'googie'); |
| | | $this->lang = $lang; |
| | | $this->lang = $lang ? $lang : 'en'; |
| | | |
| | | if ($this->engine == 'pspell' && !extension_loaded('pspell')) { |
| | | raise_error(array( |
| | |
| | | |
| | | |
| | | /** |
| | | * Returns checking result (mispelled words with suggestions) |
| | | * |
| | | * @return array Spellchecking result. An array indexed by word. |
| | | */ |
| | | function get() |
| | | { |
| | | $result = array(); |
| | | |
| | | foreach ($this->matches as $item) { |
| | | if ($this->engine == 'pspell') { |
| | | $word = $item[0]; |
| | | } |
| | | else { |
| | | $word = mb_substr($this->content, $item[1], $item[2], RCMAIL_CHARSET); |
| | | } |
| | | $result[$word] = is_array($item[4]) ? implode("\t", $item[4]) : $item[4]; |
| | | } |
| | | |
| | | return $out; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * Returns error message |
| | | * |
| | | * @return string Error message |
| | |
| | | self.clearTimeout(this.save_timer); |
| | | |
| | | // all checks passed, send message |
| | | var form = this.gui_objects.messageform, |
| | | var lang = this.spellcheck_lang(), |
| | | form = this.gui_objects.messageform, |
| | | msgid = this.set_busy(true, 'sendingmessage'); |
| | | |
| | | form.target = 'savetarget'; |
| | | form._draft.value = ''; |
| | | form.action = this.add_url(form.action, '_unlock', msgid); |
| | | form.action = this.add_url(form.action, '_lang', lang); |
| | | form.submit(); |
| | | |
| | | // clear timeout (sending could take longer) |
| | |
| | | this.enable_command('spellcheck', this.spellcheck_ready); |
| | | }; |
| | | |
| | | // get selected language |
| | | this.spellcheck_lang = function() |
| | | { |
| | | var ed; |
| | | if (window.tinyMCE && (ed = tinyMCE.get(this.env.composebody)) && ed.plugins.spellchecker) { |
| | | return ed.plugins.spellchecker.selectedLang; |
| | | } |
| | | else if (this.env.spellcheck) { |
| | | return GOOGIE_CUR_LANG; |
| | | } |
| | | }; |
| | | |
| | | this.set_draft_id = function(id) |
| | | { |
| | | $("input[name='_draft_saveid']").val(id); |
| | |
| | | Aleksander Machniak - alec [at] alec.pl |
| | | */ |
| | | |
| | | var SPELL_CUR_LANG = null; |
| | | var GOOGIE_DEFAULT_LANG = 'en'; |
| | | var GOOGIE_CUR_LANG, |
| | | GOOGIE_DEFAULT_LANG = 'en'; |
| | | |
| | | function GoogieSpell(img_dir, server_url) { |
| | | var ref = this, |
| | |
| | | ref.resumeEditingState(); |
| | | } else { |
| | | if (!ref.custom_no_spelling_error) |
| | | ref.flashNoSpellingErrorState(); |
| | | else |
| | | ref.custom_no_spelling_error(ref); |
| | | ref.flashNoSpellingErrorState(); |
| | | else |
| | | ref.custom_no_spelling_error(ref); |
| | | } |
| | | ref.removeIndicator(); |
| | | } |
| | |
| | | if ($CONFIG['spellcheck_before_send'] && $CONFIG['enable_spellcheck'] |
| | | && empty($_SESSION['compose']['spell_checked']) |
| | | ) { |
| | | $spellchecker = new rcube_spellchecker(); |
| | | $spellchecker = new rcube_spellchecker(get_input_value('_lang', RCUBE_INPUT_GPC)); |
| | | $spell_result = $spellchecker->check($message_body, $isHtml); |
| | | |
| | | $_SESSION['compose']['spell_checked'] = true; |