author | Anthony Ly <anthonyly.com@gmail.com> |
Tue, 12 Mar 2013 18:21:39 +0100 | |
changeset 206 | 919b4ddb13fa |
parent 194 | 32102edaa81b |
permissions | -rw-r--r-- |
136 | 1 |
<?php |
2 |
/** |
|
3 |
* $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $ |
|
4 |
* |
|
5 |
* This class was contributed by Michel Weimerskirch. |
|
6 |
* |
|
7 |
* @package MCManager.includes |
|
8 |
* @author Moxiecode |
|
9 |
* @copyright Copyright � 2004-2007, Moxiecode Systems AB, All rights reserved. |
|
10 |
*/ |
|
11 |
||
12 |
class EnchantSpell extends SpellChecker { |
|
13 |
/** |
|
14 |
* Spellchecks an array of words. |
|
15 |
* |
|
16 |
* @param String $lang Selected language code (like en_US or de_DE). Shortcodes like "en" and "de" work with enchant >= 1.4.1 |
|
17 |
* @param Array $words Array of words to check. |
|
18 |
* @return Array of misspelled words. |
|
19 |
*/ |
|
20 |
function &checkWords($lang, $words) { |
|
21 |
$r = enchant_broker_init(); |
|
22 |
||
23 |
if (enchant_broker_dict_exists($r,$lang)) { |
|
24 |
$d = enchant_broker_request_dict($r, $lang); |
|
25 |
||
26 |
$returnData = array(); |
|
27 |
foreach($words as $key => $value) { |
|
28 |
$correct = enchant_dict_check($d, $value); |
|
29 |
if(!$correct) { |
|
30 |
$returnData[] = trim($value); |
|
31 |
} |
|
32 |
} |
|
33 |
||
34 |
return $returnData; |
|
35 |
enchant_broker_free_dict($d); |
|
36 |
} else { |
|
37 |
||
38 |
} |
|
39 |
enchant_broker_free($r); |
|
40 |
} |
|
41 |
||
42 |
/** |
|
43 |
* Returns suggestions for a specific word. |
|
44 |
* |
|
45 |
* @param String $lang Selected language code (like en_US or de_DE). Shortcodes like "en" and "de" work with enchant >= 1.4.1 |
|
46 |
* @param String $word Specific word to get suggestions for. |
|
47 |
* @return Array of suggestions for the specified word. |
|
48 |
*/ |
|
49 |
function &getSuggestions($lang, $word) { |
|
50 |
$r = enchant_broker_init(); |
|
51 |
||
52 |
if (enchant_broker_dict_exists($r,$lang)) { |
|
53 |
$d = enchant_broker_request_dict($r, $lang); |
|
54 |
$suggs = enchant_dict_suggest($d, $word); |
|
55 |
||
194
32102edaa81b
MAJ wordpress et ajout de plugin
Anthony Ly <anthonyly.com@gmail.com>
parents:
136
diff
changeset
|
56 |
// enchant_dict_suggest() sometimes returns NULL |
32102edaa81b
MAJ wordpress et ajout de plugin
Anthony Ly <anthonyly.com@gmail.com>
parents:
136
diff
changeset
|
57 |
if (!is_array($suggs)) |
32102edaa81b
MAJ wordpress et ajout de plugin
Anthony Ly <anthonyly.com@gmail.com>
parents:
136
diff
changeset
|
58 |
$suggs = array(); |
32102edaa81b
MAJ wordpress et ajout de plugin
Anthony Ly <anthonyly.com@gmail.com>
parents:
136
diff
changeset
|
59 |
|
136 | 60 |
enchant_broker_free_dict($d); |
61 |
} else { |
|
194
32102edaa81b
MAJ wordpress et ajout de plugin
Anthony Ly <anthonyly.com@gmail.com>
parents:
136
diff
changeset
|
62 |
$suggs = array(); |
32102edaa81b
MAJ wordpress et ajout de plugin
Anthony Ly <anthonyly.com@gmail.com>
parents:
136
diff
changeset
|
63 |
} |
136 | 64 |
|
65 |
enchant_broker_free($r); |
|
66 |
||
67 |
return $suggs; |
|
68 |
} |
|
69 |
} |
|
70 |
||
194
32102edaa81b
MAJ wordpress et ajout de plugin
Anthony Ly <anthonyly.com@gmail.com>
parents:
136
diff
changeset
|
71 |
?> |