source: trunk/www.guidonia.net/wp/wp-includes/js/tinymce/plugins/spellchecker/classes/PSpell.php@ 44

Last change on this file since 44 was 44, checked in by luciano, 14 years ago
File size: 1.9 KB
Line 
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
10class 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?>
Note: See TracBrowser for help on using the repository browser.