Aleksander Machniak
2012-07-31 e22d13bee1d88432ef8cdefd8d4916af10f67b49
Don't send complete error page to the spellchecker on error (when pspell extension isn't found)

Conflicts:

program/include/rcube_spellchecker.php
1 files modified
21 ■■■■■ changed files
program/include/rcube_spellchecker.php 21 ●●●●● patch | view | raw | blame | history
program/include/rcube_spellchecker.php
@@ -60,13 +60,6 @@
        $this->engine = $this->rc->config->get('spellcheck_engine', 'googie');
        $this->lang   = $lang ? $lang : 'en';
        if ($this->engine == 'pspell' && !extension_loaded('pspell')) {
            raise_error(array(
                'code' => 500, 'type' => 'php',
                'file' => __FILE__, 'line' => __LINE__,
                'message' => "Pspell extension not available"), true, true);
        }
        $this->options = array(
            'ignore_syms' => $this->rc->config->get('spellcheck_ignore_syms'),
            'ignore_nums' => $this->rc->config->get('spellcheck_ignore_nums'),
@@ -238,8 +231,8 @@
            else if (!pspell_check($this->plink, $word)) {
                $suggestions = pspell_suggest($this->plink, $word);
                if (sizeof($suggestions) > self::MAX_SUGGESTIONS)
                    $suggestions = array_slice($suggestions, 0, self::MAX_SUGGESTIONS);
                if (sizeof($suggestions) > self::MAX_SUGGESTIONS)
                    $suggestions = array_slice($suggestions, 0, self::MAX_SUGGESTIONS);
                $matches[] = array($word, $pos, $len, null, $suggestions);
            }
@@ -324,6 +317,16 @@
    private function _pspell_init()
    {
        if (!$this->plink) {
            if (!extension_loaded('pspell')) {
                $this->error = "Pspell extension not available";
                raise_error(array(
                    'code' => 500, 'type' => 'php',
                    'file' => __FILE__, 'line' => __LINE__,
                    'message' => $this->error), true, false);
                return;
            }
            $this->plink = pspell_new($this->lang, null, null, RCMAIL_CHARSET, PSPELL_FAST);
        }