summaryrefslogtreecommitdiff
path: root/program/js/tiny_mce/plugins/spellchecker/classes/utils
diff options
context:
space:
mode:
Diffstat (limited to 'program/js/tiny_mce/plugins/spellchecker/classes/utils')
-rwxr-xr-xprogram/js/tiny_mce/plugins/spellchecker/classes/utils/JSON.php595
-rwxr-xr-xprogram/js/tiny_mce/plugins/spellchecker/classes/utils/Logger.php268
2 files changed, 0 insertions, 863 deletions
diff --git a/program/js/tiny_mce/plugins/spellchecker/classes/utils/JSON.php b/program/js/tiny_mce/plugins/spellchecker/classes/utils/JSON.php
deleted file mode 100755
index 1c4611676..000000000
--- a/program/js/tiny_mce/plugins/spellchecker/classes/utils/JSON.php
+++ /dev/null
@@ -1,595 +0,0 @@
-<?php
-/**
- * $Id: JSON.php 40 2007-06-18 11:43:15Z spocke $
- *
- * @package MCManager.utils
- * @author Moxiecode
- * @copyright Copyright © 2007, Moxiecode Systems AB, All rights reserved.
- */
-
-define('JSON_BOOL', 1);
-define('JSON_INT', 2);
-define('JSON_STR', 3);
-define('JSON_FLOAT', 4);
-define('JSON_NULL', 5);
-define('JSON_START_OBJ', 6);
-define('JSON_END_OBJ', 7);
-define('JSON_START_ARRAY', 8);
-define('JSON_END_ARRAY', 9);
-define('JSON_KEY', 10);
-define('JSON_SKIP', 11);
-
-define('JSON_IN_ARRAY', 30);
-define('JSON_IN_OBJECT', 40);
-define('JSON_IN_BETWEEN', 50);
-
-class Moxiecode_JSONReader {
- var $_data, $_len, $_pos;
- var $_value, $_token;
- var $_location, $_lastLocations;
- var $_needProp;
-
- function Moxiecode_JSONReader($data) {
- $this->_data = $data;
- $this->_len = strlen($data);
- $this->_pos = -1;
- $this->_location = JSON_IN_BETWEEN;
- $this->_lastLocations = array();
- $this->_needProp = false;
- }
-
- function getToken() {
- return $this->_token;
- }
-
- function getLocation() {
- return $this->_location;
- }
-
- function getTokenName() {
- switch ($this->_token) {
- case JSON_BOOL:
- return 'JSON_BOOL';
-
- case JSON_INT:
- return 'JSON_INT';
-
- case JSON_STR:
- return 'JSON_STR';
-
- case JSON_FLOAT:
- return 'JSON_FLOAT';
-
- case JSON_NULL:
- return 'JSON_NULL';
-
- case JSON_START_OBJ:
- return 'JSON_START_OBJ';
-
- case JSON_END_OBJ:
- return 'JSON_END_OBJ';
-
- case JSON_START_ARRAY:
- return 'JSON_START_ARRAY';
-
- case JSON_END_ARRAY:
- return 'JSON_END_ARRAY';
-
- case JSON_KEY:
- return 'JSON_KEY';
- }
-
- return 'UNKNOWN';
- }
-
- function getValue() {
- return $this->_value;
- }
-
- function readToken() {
- $chr = $this->read();
-
- if ($chr != null) {
- switch ($chr) {
- case '[':
- $this->_lastLocation[] = $this->_location;
- $this->_location = JSON_IN_ARRAY;
- $this->_token = JSON_START_ARRAY;
- $this->_value = null;
- $this->readAway();
- return true;
-
- case ']':
- $this->_location = array_pop($this->_lastLocation);
- $this->_token = JSON_END_ARRAY;
- $this->_value = null;
- $this->readAway();
-
- if ($this->_location == JSON_IN_OBJECT)
- $this->_needProp = true;
-
- return true;
-
- case '{':
- $this->_lastLocation[] = $this->_location;
- $this->_location = JSON_IN_OBJECT;
- $this->_needProp = true;
- $this->_token = JSON_START_OBJ;
- $this->_value = null;
- $this->readAway();
- return true;
-
- case '}':
- $this->_location = array_pop($this->_lastLocation);
- $this->_token = JSON_END_OBJ;
- $this->_value = null;
- $this->readAway();
-
- if ($this->_location == JSON_IN_OBJECT)
- $this->_needProp = true;
-
- return true;
-
- // String
- case '"':
- case '\'':
- return $this->_readString($chr);
-
- // Null
- case 'n':
- return $this->_readNull();
-
- // Bool
- case 't':
- case 'f':
- return $this->_readBool($chr);
-
- default:
- // Is number
- if (is_numeric($chr) || $chr == '-' || $chr == '.')
- return $this->_readNumber($chr);
-
- return true;
- }
- }
-
- return false;
- }
-
- function _readBool($chr) {
- $this->_token = JSON_BOOL;
- $this->_value = $chr == 't';
-
- if ($chr == 't')
- $this->skip(3); // rue
- else
- $this->skip(4); // alse
-
- $this->readAway();
-
- if ($this->_location == JSON_IN_OBJECT && !$this->_needProp)
- $this->_needProp = true;
-
- return true;
- }
-
- function _readNull() {
- $this->_token = JSON_NULL;
- $this->_value = null;
-
- $this->skip(3); // ull
- $this->readAway();
-
- if ($this->_location == JSON_IN_OBJECT && !$this->_needProp)
- $this->_needProp = true;
-
- return true;
- }
-
- function _readString($quote) {
- $output = "";
- $this->_token = JSON_STR;
- $endString = false;
-
- while (($chr = $this->peek()) != -1) {
- switch ($chr) {
- case '\\':
- // Read away slash
- $this->read();
-
- // Read escape code
- $chr = $this->read();
- switch ($chr) {
- case 't':
- $output .= "\t";
- break;
-
- case 'b':
- $output .= "\b";
- break;
-
- case 'f':
- $output .= "\f";
- break;
-
- case 'r':
- $output .= "\r";
- break;
-
- case 'n':
- $output .= "\n";
- break;
-
- case 'u':
- $output .= $this->_int2utf8(hexdec($this->read(4)));
- break;
-
- default:
- $output .= $chr;
- break;
- }
-
- break;
-
- case '\'':
- case '"':
- if ($chr == $quote)
- $endString = true;
-
- $chr = $this->read();
- if ($chr != -1 && $chr != $quote)
- $output .= $chr;
-
- break;
-
- default:
- $output .= $this->read();
- }
-
- // String terminated
- if ($endString)
- break;
- }
-
- $this->readAway();
- $this->_value = $output;
-
- // Needed a property
- if ($this->_needProp) {
- $this->_token = JSON_KEY;
- $this->_needProp = false;
- return true;
- }
-
- if ($this->_location == JSON_IN_OBJECT && !$this->_needProp)
- $this->_needProp = true;
-
- return true;
- }
-
- function _int2utf8($int) {
- $int = intval($int);
-
- switch ($int) {
- case 0:
- return chr(0);
-
- case ($int & 0x7F):
- return chr($int);
-
- case ($int & 0x7FF):
- return chr(0xC0 | (($int >> 6) & 0x1F)) . chr(0x80 | ($int & 0x3F));
-
- case ($int & 0xFFFF):
- return chr(0xE0 | (($int >> 12) & 0x0F)) . chr(0x80 | (($int >> 6) & 0x3F)) . chr (0x80 | ($int & 0x3F));
-
- case ($int & 0x1FFFFF):
- return chr(0xF0 | ($int >> 18)) . chr(0x80 | (($int >> 12) & 0x3F)) . chr(0x80 | (($int >> 6) & 0x3F)) . chr(0x80 | ($int & 0x3F));
- }
- }
-
- function _readNumber($start) {
- $value = "";
- $isFloat = false;
-
- $this->_token = JSON_INT;
- $value .= $start;
-
- while (($chr = $this->peek()) != -1) {
- if (is_numeric($chr) || $chr == '-' || $chr == '.') {
- if ($chr == '.')
- $isFloat = true;
-
- $value .= $this->read();
- } else
- break;
- }
-
- $this->readAway();
-
- if ($isFloat) {
- $this->_token = JSON_FLOAT;
- $this->_value = floatval($value);
- } else
- $this->_value = intval($value);
-
- if ($this->_location == JSON_IN_OBJECT && !$this->_needProp)
- $this->_needProp = true;
-
- return true;
- }
-
- function readAway() {
- while (($chr = $this->peek()) != null) {
- if ($chr != ':' && $chr != ',' && $chr != ' ')
- return;
-
- $this->read();
- }
- }
-
- function read($len = 1) {
- if ($this->_pos < $this->_len) {
- if ($len > 1) {
- $str = substr($this->_data, $this->_pos + 1, $len);
- $this->_pos += $len;
-
- return $str;
- } else
- return $this->_data[++$this->_pos];
- }
-
- return null;
- }
-
- function skip($len) {
- $this->_pos += $len;
- }
-
- function peek() {
- if ($this->_pos < $this->_len)
- return $this->_data[$this->_pos + 1];
-
- return null;
- }
-}
-
-/**
- * This class handles JSON stuff.
- *
- * @package MCManager.utils
- */
-class Moxiecode_JSON {
- function Moxiecode_JSON() {
- }
-
- function decode($input) {
- $reader = new Moxiecode_JSONReader($input);
-
- return $this->readValue($reader);
- }
-
- function readValue(&$reader) {
- $this->data = array();
- $this->parents = array();
- $this->cur =& $this->data;
- $key = null;
- $loc = JSON_IN_ARRAY;
-
- while ($reader->readToken()) {
- switch ($reader->getToken()) {
- case JSON_STR:
- case JSON_INT:
- case JSON_BOOL:
- case JSON_FLOAT:
- case JSON_NULL:
- switch ($reader->getLocation()) {
- case JSON_IN_OBJECT:
- $this->cur[$key] = $reader->getValue();
- break;
-
- case JSON_IN_ARRAY:
- $this->cur[] = $reader->getValue();
- break;
-
- default:
- return $reader->getValue();
- }
- break;
-
- case JSON_KEY:
- $key = $reader->getValue();
- break;
-
- case JSON_START_OBJ:
- case JSON_START_ARRAY:
- if ($loc == JSON_IN_OBJECT)
- $this->addArray($key);
- else
- $this->addArray(null);
-
- $cur =& $obj;
-
- $loc = $reader->getLocation();
- break;
-
- case JSON_END_OBJ:
- case JSON_END_ARRAY:
- $loc = $reader->getLocation();
-
- if (count($this->parents) > 0) {
- $this->cur =& $this->parents[count($this->parents) - 1];
- array_pop($this->parents);
- }
- break;
- }
- }
-
- return $this->data[0];
- }
-
- // This method was needed since PHP is crapy and doesn't have pointers/references
- function addArray($key) {
- $this->parents[] =& $this->cur;
- $ar = array();
-
- if ($key)
- $this->cur[$key] =& $ar;
- else
- $this->cur[] =& $ar;
-
- $this->cur =& $ar;
- }
-
- function getDelim($index, &$reader) {
- switch ($reader->getLocation()) {
- case JSON_IN_ARRAY:
- case JSON_IN_OBJECT:
- if ($index > 0)
- return ",";
- break;
- }
-
- return "";
- }
-
- function encode($input) {
- switch (gettype($input)) {
- case 'boolean':
- return $input ? 'true' : 'false';
-
- case 'integer':
- return (int) $input;
-
- case 'float':
- case 'double':
- return (float) $input;
-
- case 'NULL':
- return 'null';
-
- case 'string':
- return $this->encodeString($input);
-
- case 'array':
- return $this->_encodeArray($input);
-
- case 'object':
- return $this->_encodeArray(get_object_vars($input));
- }
-
- return '';
- }
-
- function encodeString($input) {
- // Needs to be escaped
- if (preg_match('/[^a-zA-Z0-9]/', $input)) {
- $output = '';
-
- for ($i=0; $i<strlen($input); $i++) {
- switch ($input[$i]) {
- case "\b":
- $output .= "\\b";
- break;
-
- case "\t":
- $output .= "\\t";
- break;
-
- case "\f":
- $output .= "\\f";
- break;
-
- case "\r":
- $output .= "\\r";
- break;
-
- case "\n":
- $output .= "\\n";
- break;
-
- case '\\':
- $output .= "\\\\";
- break;
-
- case '\'':
- $output .= "\\'";
- break;
-
- case '"':
- $output .= '\"';
- break;
-
- default:
- $byte = ord($input[$i]);
-
- if (($byte & 0xE0) == 0xC0) {
- $char = pack('C*', $byte, ord($input[$i + 1]));
- $i += 1;
- $output .= sprintf('\u%04s', bin2hex($this->_utf82utf16($char)));
- } if (($byte & 0xF0) == 0xE0) {
- $char = pack('C*', $byte, ord($input[$i + 1]), ord($input[$i + 2]));
- $i += 2;
- $output .= sprintf('\u%04s', bin2hex($this->_utf82utf16($char)));
- } if (($byte & 0xF8) == 0xF0) {
- $char = pack('C*', $byte, ord($input[$i + 1]), ord($input[$i + 2], ord($input[$i + 3])));
- $i += 3;
- $output .= sprintf('\u%04s', bin2hex($this->_utf82utf16($char)));
- } if (($byte & 0xFC) == 0xF8) {
- $char = pack('C*', $byte, ord($input[$i + 1]), ord($input[$i + 2], ord($input[$i + 3]), ord($input[$i + 4])));
- $i += 4;
- $output .= sprintf('\u%04s', bin2hex($this->_utf82utf16($char)));
- } if (($byte & 0xFE) == 0xFC) {
- $char = pack('C*', $byte, ord($input[$i + 1]), ord($input[$i + 2], ord($input[$i + 3]), ord($input[$i + 4]), ord($input[$i + 5])));
- $i += 5;
- $output .= sprintf('\u%04s', bin2hex($this->_utf82utf16($char)));
- } else if ($byte < 128)
- $output .= $input[$i];
- }
- }
-
- return '"' . $output . '"';
- }
-
- return '"' . $input . '"';
- }
-
- function _utf82utf16($utf8) {
- if (function_exists('mb_convert_encoding'))
- return mb_convert_encoding($utf8, 'UTF-16', 'UTF-8');
-
- switch (strlen($utf8)) {
- case 1:
- return $utf8;
-
- case 2:
- return chr(0x07 & (ord($utf8[0]) >> 2)) . chr((0xC0 & (ord($utf8[0]) << 6)) | (0x3F & ord($utf8[1])));
-
- case 3:
- return chr((0xF0 & (ord($utf8[0]) << 4)) | (0x0F & (ord($utf8[1]) >> 2))) . chr((0xC0 & (ord($utf8[1]) << 6)) | (0x7F & ord($utf8[2])));
- }
-
- return '';
- }
-
- function _encodeArray($input) {
- $output = '';
- $isIndexed = true;
-
- $keys = array_keys($input);
- for ($i=0; $i<count($keys); $i++) {
- if (!is_int($keys[$i])) {
- $output .= $this->encodeString($keys[$i]) . ':' . $this->encode($input[$keys[$i]]);
- $isIndexed = false;
- } else
- $output .= $this->encode($input[$keys[$i]]);
-
- if ($i != count($keys) - 1)
- $output .= ',';
- }
-
- return $isIndexed ? '[' . $output . ']' : '{' . $output . '}';
- }
-}
-
-?>
diff --git a/program/js/tiny_mce/plugins/spellchecker/classes/utils/Logger.php b/program/js/tiny_mce/plugins/spellchecker/classes/utils/Logger.php
deleted file mode 100755
index bc501ea75..000000000
--- a/program/js/tiny_mce/plugins/spellchecker/classes/utils/Logger.php
+++ /dev/null
@@ -1,268 +0,0 @@
-<?php
-/**
- * $Id: Logger.class.php 10 2007-05-27 10:55:12Z spocke $
- *
- * @package MCFileManager.filesystems
- * @author Moxiecode
- * @copyright Copyright © 2005, Moxiecode Systems AB, All rights reserved.
- */
-
-// File type contstants
-define('MC_LOGGER_DEBUG', 0);
-define('MC_LOGGER_INFO', 10);
-define('MC_LOGGER_WARN', 20);
-define('MC_LOGGER_ERROR', 30);
-define('MC_LOGGER_FATAL', 40);
-
-/**
- * Logging utility class. This class handles basic logging with levels, log rotation and custom log formats. It's
- * designed to be compact but still powerful and flexible.
- */
-class Moxiecode_Logger {
- // Private fields
- var $_path;
- var $_filename;
- var $_maxSize;
- var $_maxFiles;
- var $_maxSizeBytes;
- var $_level;
- var $_format;
-
- /**
- * Constructs a new logger instance.
- */
- function Moxiecode_Logger() {
- $this->_path = "";
- $this->_filename = "{level}.log";
- $this->setMaxSize("100k");
- $this->_maxFiles = 10;
- $this->_level = MC_LOGGER_DEBUG;
- $this->_format = "[{time}] [{level}] {message}";
- }
-
- /**
- * Sets the current log level, use the MC_LOGGER constants.
- *
- * @param int $level Log level instance for example MC_LOGGER_DEBUG.
- */
- function setLevel($level) {
- if (is_string($level)) {
- switch (strtolower($level)) {
- case "debug":
- $level = MC_LOGGER_DEBUG;
- break;
-
- case "info":
- $level = MC_LOGGER_INFO;
- break;
-
- case "warn":
- case "warning":
- $level = MC_LOGGER_WARN;
- break;
-
- case "error":
- $level = MC_LOGGER_ERROR;
- break;
-
- case "fatal":
- $level = MC_LOGGER_FATAL;
- break;
-
- default:
- $level = MC_LOGGER_FATAL;
- }
- }
-
- $this->_level = $level;
- }
-
- /**
- * Returns the current log level for example MC_LOGGER_DEBUG.
- *
- * @return int Current log level for example MC_LOGGER_DEBUG.
- */
- function getLevel() {
- return $this->_level;
- }
-
- function setPath($path) {
- $this->_path = $path;
- }
-
- function getPath() {
- return $this->_path;
- }
-
- function setFileName($file_name) {
- $this->_filename = $file_name;
- }
-
- function getFileName() {
- return $this->_filename;
- }
-
- function setFormat($format) {
- $this->_format = $format;
- }
-
- function getFormat() {
- return $this->_format;
- }
-
- function setMaxSize($size) {
- // Fix log max size
- $logMaxSizeBytes = intval(preg_replace("/[^0-9]/", "", $size));
-
- // Is KB
- if (strpos((strtolower($size)), "k") > 0)
- $logMaxSizeBytes *= 1024;
-
- // Is MB
- if (strpos((strtolower($size)), "m") > 0)
- $logMaxSizeBytes *= (1024 * 1024);
-
- $this->_maxSizeBytes = $logMaxSizeBytes;
- $this->_maxSize = $size;
- }
-
- function getMaxSize() {
- return $this->_maxSize;
- }
-
- function setMaxFiles($max_files) {
- $this->_maxFiles = $max_files;
- }
-
- function getMaxFiles() {
- return $this->_maxFiles;
- }
-
- function debug($msg) {
- $args = func_get_args();
- $this->_logMsg(MC_LOGGER_DEBUG, implode(', ', $args));
- }
-
- function info($msg) {
- $args = func_get_args();
- $this->_logMsg(MC_LOGGER_INFO, implode(', ', $args));
- }
-
- function warn($msg) {
- $args = func_get_args();
- $this->_logMsg(MC_LOGGER_WARN, implode(', ', $args));
- }
-
- function error($msg) {
- $args = func_get_args();
- $this->_logMsg(MC_LOGGER_ERROR, implode(', ', $args));
- }
-
- function fatal($msg) {
- $args = func_get_args();
- $this->_logMsg(MC_LOGGER_FATAL, implode(', ', $args));
- }
-
- function isDebugEnabled() {
- return $this->_level >= MC_LOGGER_DEBUG;
- }
-
- function isInfoEnabled() {
- return $this->_level >= MC_LOGGER_INFO;
- }
-
- function isWarnEnabled() {
- return $this->_level >= MC_LOGGER_WARN;
- }
-
- function isErrorEnabled() {
- return $this->_level >= MC_LOGGER_ERROR;
- }
-
- function isFatalEnabled() {
- return $this->_level >= MC_LOGGER_FATAL;
- }
-
- function _logMsg($level, $message) {
- $roll = false;
-
- if ($level < $this->_level)
- return;
-
- $logFile = $this->toOSPath($this->_path . "/" . $this->_filename);
-
- switch ($level) {
- case MC_LOGGER_DEBUG:
- $levelName = "DEBUG";
- break;
-
- case MC_LOGGER_INFO:
- $levelName = "INFO";
- break;
-
- case MC_LOGGER_WARN:
- $levelName = "WARN";
- break;
-
- case MC_LOGGER_ERROR:
- $levelName = "ERROR";
- break;
-
- case MC_LOGGER_FATAL:
- $levelName = "FATAL";
- break;
- }
-
- $logFile = str_replace('{level}', strtolower($levelName), $logFile);
-
- $text = $this->_format;
- $text = str_replace('{time}', date("Y-m-d H:i:s"), $text);
- $text = str_replace('{level}', strtolower($levelName), $text);
- $text = str_replace('{message}', $message, $text);
- $message = $text . "\r\n";
-
- // Check filesize
- if (file_exists($logFile)) {
- $size = @filesize($logFile);
-
- if ($size + strlen($message) > $this->_maxSizeBytes)
- $roll = true;
- }
-
- // Roll if the size is right
- if ($roll) {
- for ($i=$this->_maxFiles-1; $i>=1; $i--) {
- $rfile = $this->toOSPath($logFile . "." . $i);
- $nfile = $this->toOSPath($logFile . "." . ($i+1));
-
- if (@file_exists($rfile))
- @rename($rfile, $nfile);
- }
-
- @rename($logFile, $this->toOSPath($logFile . ".1"));
-
- // Delete last logfile
- $delfile = $this->toOSPath($logFile . "." . ($this->_maxFiles + 1));
- if (@file_exists($delfile))
- @unlink($delfile);
- }
-
- // Append log line
- if (($fp = @fopen($logFile, "a")) != null) {
- @fputs($fp, $message);
- @fflush($fp);
- @fclose($fp);
- }
- }
-
- /**
- * Converts a Unix path to OS specific path.
- *
- * @param String $path Unix path to convert.
- */
- function toOSPath($path) {
- return str_replace("/", DIRECTORY_SEPARATOR, $path);
- }
-}
-
-?> \ No newline at end of file