]> scripts.mit.edu Git - autoinstalls/wordpress.git/blob - wp-includes/js/tinymce/plugins/spellchecker/classes/PSpell.php
Wordpress 2.7.1
[autoinstalls/wordpress.git] / wp-includes / js / tinymce / plugins / spellchecker / classes / PSpell.php
1 <?php
2 /**
3  * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
4  *
5  * @package MCManager.includes
6  * @author Moxiecode
7  * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
8  */
9
10 class PSpell extends SpellChecker {
11         /**
12          * Spellchecks an array of words.
13          *
14          * @param {String} $lang Language code like sv or en.
15          * @param {Array} $words Array of words to spellcheck.
16          * @return {Array} Array of misspelled words.
17          */
18         function &checkWords($lang, $words) {
19                 $plink = $this->_getPLink($lang);
20
21                 $outWords = array();
22                 foreach ($words as $word) {
23                         if (!pspell_check($plink, trim($word)))
24                                 $outWords[] = utf8_encode($word);
25                 }
26
27                 return $outWords;
28         }
29
30         /**
31          * Returns suggestions of for a specific word.
32          *
33          * @param {String} $lang Language code like sv or en.
34          * @param {String} $word Specific word to get suggestions for.
35          * @return {Array} Array of suggestions for the specified word.
36          */
37         function &getSuggestions($lang, $word) {
38                 $words = pspell_suggest($this->_getPLink($lang), $word);
39
40                 for ($i=0; $i<count($words); $i++)
41                         $words[$i] = utf8_encode($words[$i]);
42
43                 return $words;
44         }
45
46         /**
47          * Opens a link for pspell.
48          */
49         function &_getPLink($lang) {
50                 // Check for native PSpell support
51                 if (!function_exists("pspell_new"))
52                         $this->throwError("PSpell support not found in PHP installation.");
53
54                 // Setup PSpell link
55                 $plink = pspell_new(
56                         $lang,
57                         $this->_config['PSpell.spelling'],
58                         $this->_config['PSpell.jargon'],
59                         $this->_config['PSpell.encoding'],
60                         $this->_config['PSpell.mode']
61                 );
62
63                 // Setup PSpell link
64 /*              if (!$plink) {
65                         $pspellConfig = pspell_config_create(
66                                 $lang,
67                                 $this->_config['PSpell.spelling'],
68                                 $this->_config['PSpell.jargon'],
69                                 $this->_config['PSpell.encoding']
70                         );
71
72                         $plink = pspell_new_config($pspell_config);
73                 }*/
74
75                 if (!$plink)
76                         $this->throwError("No PSpell link found opened.");
77
78                 return $plink;
79         }
80 }
81
82 ?>