web/wp-includes/js/tinymce/plugins/spellchecker/classes/EnchantSpell.php
author hurons@caf4f556-3d62-0410-8435-a86758001935
Tue, 02 Feb 2010 15:44:16 +0000
branchwordpress
changeset 132 4d4862461b8d
parent 109 03b0d1493584
permissions -rw-r--r--
Update Wordpress 2.9.1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
132
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
     1
<?php
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
     2
/**
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
     3
 * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
     4
 *
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
     5
 * This class was contributed by Michel Weimerskirch.
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
     6
 *
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
     7
 * @package MCManager.includes
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
     8
 * @author Moxiecode
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
     9
 * @copyright Copyright � 2004-2007, Moxiecode Systems AB, All rights reserved.
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
    10
 */
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
    11
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
    12
class EnchantSpell extends SpellChecker {
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
    13
	/**
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
    14
	 * Spellchecks an array of words.
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
    15
	 *
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
    16
	 * @param String $lang Selected language code (like en_US or de_DE). Shortcodes like "en" and "de" work with enchant >= 1.4.1
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
    17
	 * @param Array $words Array of words to check.
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
    18
	 * @return Array of misspelled words.
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
    19
	 */
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
    20
	function &checkWords($lang, $words) {
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
    21
		$r = enchant_broker_init();
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
    22
		
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
    23
		if (enchant_broker_dict_exists($r,$lang)) {
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
    24
			$d = enchant_broker_request_dict($r, $lang);
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
    25
			
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
    26
			$returnData = array();
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
    27
			foreach($words as $key => $value) {
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
    28
				$correct = enchant_dict_check($d, $value);
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
    29
				if(!$correct) {
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
    30
					$returnData[] = trim($value);
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
    31
				}
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
    32
			}
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
    33
	
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
    34
			return $returnData;
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
    35
			enchant_broker_free_dict($d);
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
    36
		} else {
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
    37
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
    38
		}
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
    39
		enchant_broker_free($r);
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
    40
	}
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
    41
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
    42
	/**
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
    43
	 * Returns suggestions for a specific word.
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
    44
	 *
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
    45
	 * @param String $lang Selected language code (like en_US or de_DE). Shortcodes like "en" and "de" work with enchant >= 1.4.1
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
    46
	 * @param String $word Specific word to get suggestions for.
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
    47
	 * @return Array of suggestions for the specified word.
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
    48
	 */
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
    49
	function &getSuggestions($lang, $word) {
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
    50
		$r = enchant_broker_init();
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
    51
		$suggs = array();
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
    52
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
    53
		if (enchant_broker_dict_exists($r,$lang)) {
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
    54
			$d = enchant_broker_request_dict($r, $lang);
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
    55
			$suggs = enchant_dict_suggest($d, $word);
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
    56
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
    57
			enchant_broker_free_dict($d);
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
    58
		} else {
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
    59
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
    60
		}
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
    61
		enchant_broker_free($r);
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
    62
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
    63
		return $suggs;
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
    64
	}
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
    65
}
4d4862461b8d Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents: 109
diff changeset
    66
109
03b0d1493584 wordpress 2.8 ()
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    67
?>