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