| Current Path : /home/zieirix/www/components/com_jce/editor/tiny_mce/plugins/spellchecker/classes/ |
| Current File : /home/zieirix/www/components/com_jce/editor/tiny_mce/plugins/spellchecker/classes/enchantspell.php |
<?php
/**
* @copyright Copyright (c) 2009-2021 Ryan Demmer. All rights reserved
* @license GNU/GPL 2 or later - http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
* JCE is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses
*/
require_once __DIR__ . '/spellchecker.php';
class Enchantspell extends SpellChecker
{
/**
* Spellchecks an array of words.
*
* @param string $lang Selected language code (like en_US or de_DE). Shortcodes like "en" and "de" work with enchant >= 1.4.1
* @param array $words Array of words to check
*
* @return array of misspelled words
*/
public function checkWords($lang, $words)
{
$r = enchant_broker_init();
if (enchant_broker_dict_exists($r, $lang)) {
$d = enchant_broker_request_dict($r, $lang);
$returnData = array();
foreach ($words as $key => $value) {
$correct = enchant_dict_check($d, $value);
if (!$correct) {
$returnData[] = trim($value);
}
}
return $returnData;
enchant_broker_free_dict($d);
} else {
$this->throwError('Language not installed');
}
enchant_broker_free($r);
}
/**
* Returns suggestions for a specific word.
*
* @param string $lang Selected language code (like en_US or de_DE). Shortcodes like "en" and "de" work with enchant >= 1.4.1
* @param string $word Specific word to get suggestions for
*
* @return array of suggestions for the specified word
*/
public function getSuggestions($lang, $word)
{
$r = enchant_broker_init();
$suggs = array();
if (enchant_broker_dict_exists($r, $lang)) {
$d = enchant_broker_request_dict($r, $lang);
$suggs = enchant_dict_suggest($d, $word);
enchant_broker_free_dict($d);
} else {
$this->throwError('Language not installed');
}
enchant_broker_free($r);
return $suggs;
}
}