| Server IP : 180.180.241.3 / Your IP : 216.73.216.35 Web Server : Microsoft-IIS/7.5 System : Windows NT NETWORK-NHRC 6.1 build 7601 (Windows Server 2008 R2 Standard Edition Service Pack 1) i586 User : IUSR ( 0) PHP Version : 5.3.28 Disable Function : NONE MySQL : ON | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /AppServ/www/news/components/com_jce/editor/tiny_mce/plugins/spellchecker/classes/ |
Upload File : |
<?php
/**
* @package JCE
* @copyright Copyright (c) 2009-2013 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(WF_EDITOR_LIBRARIES . '/classes/plugin.php');
class WFSpellCheckerPlugin extends WFEditorPlugin {
/**
* Constructor activating the default information of the class
*
* @access protected
*/
public function __construct() {
parent::__construct();
$config = $this->getConfig();
$engine = $this->getEngine();
if (!$engine) {
self::error('No Spellchecker Engine available');
}
$request = WFRequest::getInstance();
// Setup plugin XHR callback functions
$request->setRequest(array($engine, 'checkWords'));
$request->setRequest(array($engine, 'getSuggestions'));
$request->setRequest(array($engine, 'ignoreWord'));
$request->setRequest(array($engine, 'ignoreWords'));
$request->setRequest(array($engine, 'learnWord'));
$this->execute();
}
private function getConfig() {
static $config;
if (!is_array($config)) {
$params = $this->getParams();
$config = array(
'general.engine' => $params->get('spellchecker.engine', 'googlespell'),
// PSpell settings
'PSpell.mode' => $params->get('spellchecker.pspell_mode', 'PSPELL_FAST'),
'PSpell.spelling' => $params->get('spellchecker.pspell_spelling', ''),
'PSpell.jargon' => $params->get('spellchecker.pspell_jargon', ''),
'PSpell.encoding' => $params->get('spellchecker.pspell_encoding', ''),
'PSpell.dictionary' => JPATH_BASE . '/' . $params->get('spellchecker.pspell_dictionary', ''),
// PSpellShell settings
'PSpellShell.mode' => $params->get('spellchecker.pspellshell_mode', 'PSPELL_FAST'),
'PSpellShell.aspell' => $params->get('spellchecker.pspellshell_aspell', '/usr/bin/aspell'),
'PSpellShell.tmp' => $params->get('spellchecker.pspellshell_tmp', '/tmp')
);
// default to googlespell if browser
if ($config['general.engine'] == 'browser') {
$config['general.engine'] = 'googlespell';
}
}
return $config;
}
private function getEngine() {
static $engine;
$config = $this->getConfig();
if (!is_object($engine)) {
$classname = $config['general.engine'];
$file = dirname(__FILE__) . '/' . $classname . ".php";
if (is_file($file)) {
require_once($file);
$engine = new $classname($config);
}
}
return $engine;
}
private static function error($str) {
die('{"result":null,"id":null,"error":{"errstr":"' . addslashes($str) . '","errfile":"","errline":null,"errcontext":"","level":"FATAL"}}');
}
}
/**
* @author Moxiecode
* @copyright Copyright (c) 2004-2007, Moxiecode Systems AB, All rights reserved.
*/
class SpellChecker {
/**
* Constructor.
*
* @param $config Configuration name/value array.
*/
public function SpellChecker(&$config) {
$this->_config = $config;
}
/**
* Simple loopback function everything that gets in will be send back.
*
* @param $args.. Arguments.
* @return {Array} Array of all input arguments.
*/
protected function &loopback(/* args.. */) {
return func_get_args();
}
/**
* Spellchecks an array of words.
*
* @param {String} $lang Language code like sv or en.
* @param {Array} $words Array of words to spellcheck.
* @return {Array} Array of misspelled words.
*/
public function &checkWords($lang, $words) {
return $words;
}
/**
* Returns suggestions of for a specific word.
*
* @param {String} $lang Language code like sv or en.
* @param {String} $word Specific word to get suggestions for.
* @return {Array} Array of suggestions for the specified word.
*/
public function &getSuggestions($lang, $word) {
return array();
}
/**
* Throws an error message back to the user. This will stop all execution.
*
* @param {String} $str Message to send back to user.
*/
protected function throwError($str) {
die('{"result":null,"id":null,"error":{"errstr":"' . addslashes($str) . '","errfile":"","errline":null,"errcontext":"","level":"FATAL"}}');
}
}
?>