yllar
2006-12-16 77c28206a14b5bee3f3091f10cffd531bce5649c
commit | author | age
6649b1 1 <?php
S 2 /* * 
3  * Tiny Spelling Interface for TinyMCE Spell Checking.
4  *
5  * Copyright © 2006 Moxiecode Systems AB
6  *
7  */
8
9 class TinyPSpell {
10     var $lang;
11     var $mode;
12     var $string;
13     var $plink;
14     var $errorMsg;
15
16     var $jargon;
17     var $spelling;
18     var $encoding;
19
20     function TinyPSpell(&$config, $lang, $mode, $spelling, $jargon, $encoding) {
21         $this->lang = $lang;
22         $this->mode = $mode;
23         $this->plink = false;
24         $this->errorMsg = array();
25
26         if (!function_exists("pspell_new")) {
27             $this->errorMsg[] = "PSpell not found.";
28             return;
29         }
30
31         $this->plink = pspell_new($this->lang, $this->spelling, $this->jargon, $this->encoding, $this->mode);
32     }
33
34     // Returns array with bad words or false if failed.
35     function checkWords($wordArray) {
36         if (!$this->plink) {
37             $this->errorMsg[] = "No PSpell link found for checkWords.";
38             return array();
39         }
40
41         $wordError = array();
42         foreach($wordArray as $word) {
43             if(!pspell_check($this->plink, trim($word)))
44                 $wordError[] = $word;
45         }
46
47         return $wordError;
48     }
49
50     // Returns array with suggestions or false if failed.
51     function getSuggestion($word) {
52         if (!$this->plink) {
53             $this->errorMsg[] = "No PSpell link found for getSuggestion.";
54             return array();
55         }
56
57         return pspell_suggest($this->plink, $word);
58     }
59 }
60
61 // Setup classname, should be the same as the name of the spellchecker class
62 $spellCheckerConfig['class'] = "TinyPspell";
63
64 ?>