PageRenderTime 162ms CodeModel.GetById 90ms app.highlight 3ms RepoModel.GetById 68ms app.codeStats 0ms

/wordpress3.4.2/wp-includes/js/tinymce/plugins/spellchecker/classes/PSpell.php

https://bitbucket.org/ch3tag/mothers
PHP | 82 lines | 33 code | 12 blank | 37 comment | 4 complexity | dbc6556b5e976cbe545a0760c16d4ab9 MD5 | raw file
 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?>