').html(lang.errorNotSupport)).hide();
- return;
- } else if (!editor.getOpt('videoActionName')) {
- $('#filePickerReady').after($('
').html(lang.errorLoadConfig)).hide();
- return;
- }
-
- uploader = _this.uploader = WebUploader.create({
- pick: {
- id: '#filePickerReady',
- label: lang.uploadSelectFile
- },
- swf: '../../third-party/webuploader/Uploader.swf',
- server: actionUrl,
- fileVal: editor.getOpt('videoFieldName'),
- duplicate: true,
- fileSingleSizeLimit: fileMaxSize,
- compress: false
- });
- uploader.addButton({
- id: '#filePickerBlock'
- });
- uploader.addButton({
- id: '#filePickerBtn',
- label: lang.uploadAddFile
- });
-
- setState('pedding');
-
- // 当有文件添加进来时执行,负责view的创建
- function addFile(file) {
- var $li = $('
' +
- '' + file.name + '
' +
- '' +
- '
' +
- ''),
-
- $btns = $('
' +
- '' + lang.uploadDelete + '' +
- '' + lang.uploadTurnRight + '' +
- '' + lang.uploadTurnLeft + '
').appendTo($li),
- $prgress = $li.find('p.progress span'),
- $wrap = $li.find('p.imgWrap'),
- $info = $('
').hide().appendTo($li),
-
- showError = function (code) {
- switch (code) {
- case 'exceed_size':
- text = lang.errorExceedSize;
- break;
- case 'interrupt':
- text = lang.errorInterrupt;
- break;
- case 'http':
- text = lang.errorHttp;
- break;
- case 'not_allow_type':
- text = lang.errorFileType;
- break;
- default:
- text = lang.errorUploadRetry;
- break;
- }
- $info.text(text).show();
- };
-
- if (file.getStatus() === 'invalid') {
- showError(file.statusText);
- } else {
- $wrap.text(lang.uploadPreview);
- if ('|png|jpg|jpeg|bmp|gif|'.indexOf('|'+file.ext.toLowerCase()+'|') == -1) {
- $wrap.empty().addClass('notimage').append('
' +
- '
' + file.name + '');
- } else {
- if (browser.ie && browser.version <= 7) {
- $wrap.text(lang.uploadNoPreview);
- } else {
- uploader.makeThumb(file, function (error, src) {
- if (error || !src || (/^data:/.test(src) && browser.ie && browser.version <= 7)) {
- $wrap.text(lang.uploadNoPreview);
- } else {
- var $img = $('
');
- $wrap.empty().append($img);
- $img.on('error', function () {
- $wrap.text(lang.uploadNoPreview);
- });
- }
- }, thumbnailWidth, thumbnailHeight);
- }
- }
- percentages[ file.id ] = [ file.size, 0 ];
- file.rotation = 0;
-
- /* 检查文件格式 */
- if (!file.ext || acceptExtensions.indexOf(file.ext.toLowerCase()) == -1) {
- showError('not_allow_type');
- uploader.removeFile(file);
- }
- }
-
- file.on('statuschange', function (cur, prev) {
- if (prev === 'progress') {
- $prgress.hide().width(0);
- } else if (prev === 'queued') {
- $li.off('mouseenter mouseleave');
- $btns.remove();
- }
- // 成功
- if (cur === 'error' || cur === 'invalid') {
- showError(file.statusText);
- percentages[ file.id ][ 1 ] = 1;
- } else if (cur === 'interrupt') {
- showError('interrupt');
- } else if (cur === 'queued') {
- percentages[ file.id ][ 1 ] = 0;
- } else if (cur === 'progress') {
- $info.hide();
- $prgress.css('display', 'block');
- } else if (cur === 'complete') {
- }
-
- $li.removeClass('state-' + prev).addClass('state-' + cur);
- });
-
- $li.on('mouseenter', function () {
- $btns.stop().animate({height: 30});
- });
- $li.on('mouseleave', function () {
- $btns.stop().animate({height: 0});
- });
-
- $btns.on('click', 'span', function () {
- var index = $(this).index(),
- deg;
-
- switch (index) {
- case 0:
- uploader.removeFile(file);
- return;
- case 1:
- file.rotation += 90;
- break;
- case 2:
- file.rotation -= 90;
- break;
- }
-
- if (supportTransition) {
- deg = 'rotate(' + file.rotation + 'deg)';
- $wrap.css({
- '-webkit-transform': deg,
- '-mos-transform': deg,
- '-o-transform': deg,
- 'transform': deg
- });
- } else {
- $wrap.css('filter', 'progid:DXImageTransform.Microsoft.BasicImage(rotation=' + (~~((file.rotation / 90) % 4 + 4) % 4) + ')');
- }
-
- });
-
- $li.insertBefore($filePickerBlock);
- }
-
- // 负责view的销毁
- function removeFile(file) {
- var $li = $('#' + file.id);
- delete percentages[ file.id ];
- updateTotalProgress();
- $li.off().find('.file-panel').off().end().remove();
- }
-
- function updateTotalProgress() {
- var loaded = 0,
- total = 0,
- spans = $progress.children(),
- percent;
-
- $.each(percentages, function (k, v) {
- total += v[ 0 ];
- loaded += v[ 0 ] * v[ 1 ];
- });
-
- percent = total ? loaded / total : 0;
-
- spans.eq(0).text(Math.round(percent * 100) + '%');
- spans.eq(1).css('width', Math.round(percent * 100) + '%');
- updateStatus();
- }
-
- function setState(val, files) {
-
- if (val != state) {
-
- var stats = uploader.getStats();
-
- $upload.removeClass('state-' + state);
- $upload.addClass('state-' + val);
-
- switch (val) {
-
- /* 未选择文件 */
- case 'pedding':
- $queue.addClass('element-invisible');
- $statusBar.addClass('element-invisible');
- $placeHolder.removeClass('element-invisible');
- $progress.hide(); $info.hide();
- uploader.refresh();
- break;
-
- /* 可以开始上传 */
- case 'ready':
- $placeHolder.addClass('element-invisible');
- $queue.removeClass('element-invisible');
- $statusBar.removeClass('element-invisible');
- $progress.hide(); $info.show();
- $upload.text(lang.uploadStart);
- uploader.refresh();
- break;
-
- /* 上传中 */
- case 'uploading':
- $progress.show(); $info.hide();
- $upload.text(lang.uploadPause);
- break;
-
- /* 暂停上传 */
- case 'paused':
- $progress.show(); $info.hide();
- $upload.text(lang.uploadContinue);
- break;
-
- case 'confirm':
- $progress.show(); $info.hide();
- $upload.text(lang.uploadStart);
-
- stats = uploader.getStats();
- if (stats.successNum && !stats.uploadFailNum) {
- setState('finish');
- return;
- }
- break;
-
- case 'finish':
- $progress.hide(); $info.show();
- if (stats.uploadFailNum) {
- $upload.text(lang.uploadRetry);
- } else {
- $upload.text(lang.uploadStart);
- }
- break;
- }
-
- state = val;
- updateStatus();
-
- }
-
- if (!_this.getQueueCount()) {
- $upload.addClass('disabled')
- } else {
- $upload.removeClass('disabled')
- }
-
- }
-
- function updateStatus() {
- var text = '', stats;
-
- if (state === 'ready') {
- text = lang.updateStatusReady.replace('_', fileCount).replace('_KB', WebUploader.formatSize(fileSize));
- } else if (state === 'confirm') {
- stats = uploader.getStats();
- if (stats.uploadFailNum) {
- text = lang.updateStatusConfirm.replace('_', stats.successNum).replace('_', stats.successNum);
- }
- } else {
- stats = uploader.getStats();
- text = lang.updateStatusFinish.replace('_', fileCount).
- replace('_KB', WebUploader.formatSize(fileSize)).
- replace('_', stats.successNum);
-
- if (stats.uploadFailNum) {
- text += lang.updateStatusError.replace('_', stats.uploadFailNum);
- }
- }
-
- $info.html(text);
- }
-
- uploader.on('fileQueued', function (file) {
- fileCount++;
- fileSize += file.size;
-
- if (fileCount === 1) {
- $placeHolder.addClass('element-invisible');
- $statusBar.show();
- }
-
- addFile(file);
- });
-
- uploader.on('fileDequeued', function (file) {
- fileCount--;
- fileSize -= file.size;
-
- removeFile(file);
- updateTotalProgress();
- });
-
- uploader.on('filesQueued', function (file) {
- if (!uploader.isInProgress() && (state == 'pedding' || state == 'finish' || state == 'confirm' || state == 'ready')) {
- setState('ready');
- }
- updateTotalProgress();
- });
-
- uploader.on('all', function (type, files) {
- switch (type) {
- case 'uploadFinished':
- setState('confirm', files);
- break;
- case 'startUpload':
- /* 添加额外的GET参数 */
- var params = utils.serializeParam(editor.queryCommandValue('serverparam')) || '',
- url = utils.formatUrl(actionUrl + (actionUrl.indexOf('?') == -1 ? '?':'&') + 'encode=utf-8&' + params);
- uploader.option('server', url);
- setState('uploading', files);
- break;
- case 'stopUpload':
- setState('paused', files);
- break;
- }
- });
-
- uploader.on('uploadBeforeSend', function (file, data, header) {
- //这里可以通过data对象添加POST参数
- header['X_Requested_With'] = 'XMLHttpRequest';
- // HaoChuan9421
- if(editor.options.headers && Object.prototype.toString.apply(editor.options.headers) === "[object Object]"){
- for(var key in editor.options.headers){
- header[key] = editor.options.headers[key]
- }
- }
- });
-
- uploader.on('uploadProgress', function (file, percentage) {
- var $li = $('#' + file.id),
- $percent = $li.find('.progress span');
-
- $percent.css('width', percentage * 100 + '%');
- percentages[ file.id ][ 1 ] = percentage;
- updateTotalProgress();
- });
-
- uploader.on('uploadSuccess', function (file, ret) {
- var $file = $('#' + file.id);
- try {
- var responseText = (ret._raw || ret),
- json = utils.str2json(responseText);
- if (json.state == 'SUCCESS') {
- uploadVideoList.push({
- 'url': json.url,
- 'type': json.type,
- 'original':json.original
- });
- $file.append('
');
- } else {
- $file.find('.error').text(json.state).show();
- }
- } catch (e) {
- $file.find('.error').text(lang.errorServerUpload).show();
- }
- });
-
- uploader.on('uploadError', function (file, code) {
- });
- uploader.on('error', function (code, file) {
- if (code == 'Q_TYPE_DENIED' || code == 'F_EXCEED_SIZE') {
- addFile(file);
- }
- });
- uploader.on('uploadComplete', function (file, ret) {
- });
-
- $upload.on('click', function () {
- if ($(this).hasClass('disabled')) {
- return false;
- }
-
- if (state === 'ready') {
- uploader.upload();
- } else if (state === 'paused') {
- uploader.upload();
- } else if (state === 'uploading') {
- uploader.stop();
- }
- });
-
- $upload.addClass('state-' + state);
- updateTotalProgress();
- },
- getQueueCount: function () {
- var file, i, status, readyFile = 0, files = this.uploader.getFiles();
- for (i = 0; file = files[i++]; ) {
- status = file.getStatus();
- if (status == 'queued' || status == 'uploading' || status == 'progress') readyFile++;
- }
- return readyFile;
- },
- refresh: function(){
- this.uploader.refresh();
- }
- };
-
-})();
diff --git a/public/UEditor/dialogs/webapp/webapp.html b/public/UEditor/dialogs/webapp/webapp.html
deleted file mode 100644
index 1614377..0000000
--- a/public/UEditor/dialogs/webapp/webapp.html
+++ /dev/null
@@ -1,53 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/public/UEditor/dialogs/wordimage/tangram.js b/public/UEditor/dialogs/wordimage/tangram.js
deleted file mode 100644
index 2ebd8fd..0000000
--- a/public/UEditor/dialogs/wordimage/tangram.js
+++ /dev/null
@@ -1,1495 +0,0 @@
-// Copyright (c) 2009, Baidu Inc. All rights reserved.
-//
-// Licensed under the BSD License
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http:// tangram.baidu.com/license.html
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS-IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
- /**
- * @namespace T Tangram七巧板
- * @name T
- * @version 1.6.0
-*/
-
-/**
- * 声明baidu包
- * @author: allstar, erik, meizz, berg
- */
-var T,
- baidu = T = baidu || {version: "1.5.0"};
-baidu.guid = "$BAIDU$";
-baidu.$$ = window[baidu.guid] = window[baidu.guid] || {global:{}};
-
-/**
- * 使用flash资源封装的一些功能
- * @namespace baidu.flash
- */
-baidu.flash = baidu.flash || {};
-
-/**
- * 操作dom的方法
- * @namespace baidu.dom
- */
-baidu.dom = baidu.dom || {};
-
-
-/**
- * 从文档中获取指定的DOM元素
- * @name baidu.dom.g
- * @function
- * @grammar baidu.dom.g(id)
- * @param {string|HTMLElement} id 元素的id或DOM元素.
- * @shortcut g,T.G
- * @meta standard
- * @see baidu.dom.q
- *
- * @return {HTMLElement|null} 获取的元素,查找不到时返回null,如果参数不合法,直接返回参数.
- */
-baidu.dom.g = function(id) {
- if (!id) return null;
- if ('string' == typeof id || id instanceof String) {
- return document.getElementById(id);
- } else if (id.nodeName && (id.nodeType == 1 || id.nodeType == 9)) {
- return id;
- }
- return null;
-};
-baidu.g = baidu.G = baidu.dom.g;
-
-
-/**
- * 操作数组的方法
- * @namespace baidu.array
- */
-
-baidu.array = baidu.array || {};
-
-
-/**
- * 遍历数组中所有元素
- * @name baidu.array.each
- * @function
- * @grammar baidu.array.each(source, iterator[, thisObject])
- * @param {Array} source 需要遍历的数组
- * @param {Function} iterator 对每个数组元素进行调用的函数,该函数有两个参数,第一个为数组元素,第二个为数组索引值,function (item, index)。
- * @param {Object} [thisObject] 函数调用时的this指针,如果没有此参数,默认是当前遍历的数组
- * @remark
- * each方法不支持对Object的遍历,对Object的遍历使用baidu.object.each 。
- * @shortcut each
- * @meta standard
- *
- * @returns {Array} 遍历的数组
- */
-
-baidu.each = baidu.array.forEach = baidu.array.each = function (source, iterator, thisObject) {
- var returnValue, item, i, len = source.length;
-
- if ('function' == typeof iterator) {
- for (i = 0; i < len; i++) {
- item = source[i];
- returnValue = iterator.call(thisObject || source, item, i);
-
- if (returnValue === false) {
- break;
- }
- }
- }
- return source;
-};
-
-/**
- * 对语言层面的封装,包括类型判断、模块扩展、继承基类以及对象自定义事件的支持。
- * @namespace baidu.lang
- */
-baidu.lang = baidu.lang || {};
-
-
-/**
- * 判断目标参数是否为function或Function实例
- * @name baidu.lang.isFunction
- * @function
- * @grammar baidu.lang.isFunction(source)
- * @param {Any} source 目标参数
- * @version 1.2
- * @see baidu.lang.isString,baidu.lang.isObject,baidu.lang.isNumber,baidu.lang.isArray,baidu.lang.isElement,baidu.lang.isBoolean,baidu.lang.isDate
- * @meta standard
- * @returns {boolean} 类型判断结果
- */
-baidu.lang.isFunction = function (source) {
- return '[object Function]' == Object.prototype.toString.call(source);
-};
-
-/**
- * 判断目标参数是否string类型或String对象
- * @name baidu.lang.isString
- * @function
- * @grammar baidu.lang.isString(source)
- * @param {Any} source 目标参数
- * @shortcut isString
- * @meta standard
- * @see baidu.lang.isObject,baidu.lang.isNumber,baidu.lang.isArray,baidu.lang.isElement,baidu.lang.isBoolean,baidu.lang.isDate
- *
- * @returns {boolean} 类型判断结果
- */
-baidu.lang.isString = function (source) {
- return '[object String]' == Object.prototype.toString.call(source);
-};
-baidu.isString = baidu.lang.isString;
-
-
-/**
- * 判断浏览器类型和特性的属性
- * @namespace baidu.browser
- */
-baidu.browser = baidu.browser || {};
-
-
-/**
- * 判断是否为opera浏览器
- * @property opera opera版本号
- * @grammar baidu.browser.opera
- * @meta standard
- * @see baidu.browser.ie,baidu.browser.firefox,baidu.browser.safari,baidu.browser.chrome
- * @returns {Number} opera版本号
- */
-
-/**
- * opera 从10开始不是用opera后面的字符串进行版本的判断
- * 在Browser identification最后添加Version + 数字进行版本标识
- * opera后面的数字保持在9.80不变
- */
-baidu.browser.opera = /opera(\/| )(\d+(\.\d+)?)(.+?(version\/(\d+(\.\d+)?)))?/i.test(navigator.userAgent) ? + ( RegExp["\x246"] || RegExp["\x242"] ) : undefined;
-
-
-/**
- * 在目标元素的指定位置插入HTML代码
- * @name baidu.dom.insertHTML
- * @function
- * @grammar baidu.dom.insertHTML(element, position, html)
- * @param {HTMLElement|string} element 目标元素或目标元素的id
- * @param {string} position 插入html的位置信息,取值为beforeBegin,afterBegin,beforeEnd,afterEnd
- * @param {string} html 要插入的html
- * @remark
- *
- * 对于position参数,大小写不敏感
- * 参数的意思:beforeBegin<span>afterBegin this is span! beforeEnd</span> afterEnd
- * 此外,如果使用本函数插入带有script标签的HTML字符串,script标签对应的脚本将不会被执行。
- *
- * @shortcut insertHTML
- * @meta standard
- *
- * @returns {HTMLElement} 目标元素
- */
-baidu.dom.insertHTML = function (element, position, html) {
- element = baidu.dom.g(element);
- var range,begin;
- if (element.insertAdjacentHTML && !baidu.browser.opera) {
- element.insertAdjacentHTML(position, html);
- } else {
- range = element.ownerDocument.createRange();
- position = position.toUpperCase();
- if (position == 'AFTERBEGIN' || position == 'BEFOREEND') {
- range.selectNodeContents(element);
- range.collapse(position == 'AFTERBEGIN');
- } else {
- begin = position == 'BEFOREBEGIN';
- range[begin ? 'setStartBefore' : 'setEndAfter'](element);
- range.collapse(begin);
- }
- range.insertNode(range.createContextualFragment(html));
- }
- return element;
-};
-
-baidu.insertHTML = baidu.dom.insertHTML;
-
-/**
- * 操作flash对象的方法,包括创建flash对象、获取flash对象以及判断flash插件的版本号
- * @namespace baidu.swf
- */
-baidu.swf = baidu.swf || {};
-
-
-/**
- * 浏览器支持的flash插件版本
- * @property version 浏览器支持的flash插件版本
- * @grammar baidu.swf.version
- * @return {String} 版本号
- * @meta standard
- */
-baidu.swf.version = (function () {
- var n = navigator;
- if (n.plugins && n.mimeTypes.length) {
- var plugin = n.plugins["Shockwave Flash"];
- if (plugin && plugin.description) {
- return plugin.description
- .replace(/([a-zA-Z]|\s)+/, "")
- .replace(/(\s)+r/, ".") + ".0";
- }
- } else if (window.ActiveXObject && !window.opera) {
- for (var i = 12; i >= 2; i--) {
- try {
- var c = new ActiveXObject('ShockwaveFlash.ShockwaveFlash.' + i);
- if (c) {
- var version = c.GetVariable("$version");
- return version.replace(/WIN/g,'').replace(/,/g,'.');
- }
- } catch(e) {}
- }
- }
-})();
-
-/**
- * 操作字符串的方法
- * @namespace baidu.string
- */
-baidu.string = baidu.string || {};
-
-
-/**
- * 对目标字符串进行html编码
- * @name baidu.string.encodeHTML
- * @function
- * @grammar baidu.string.encodeHTML(source)
- * @param {string} source 目标字符串
- * @remark
- * 编码字符有5个:&<>"'
- * @shortcut encodeHTML
- * @meta standard
- * @see baidu.string.decodeHTML
- *
- * @returns {string} html编码后的字符串
- */
-baidu.string.encodeHTML = function (source) {
- return String(source)
- .replace(/&/g,'&')
- .replace(//g,'>')
- .replace(/"/g, """)
- .replace(/'/g, "'");
-};
-
-baidu.encodeHTML = baidu.string.encodeHTML;
-
-/**
- * 创建flash对象的html字符串
- * @name baidu.swf.createHTML
- * @function
- * @grammar baidu.swf.createHTML(options)
- *
- * @param {Object} options 创建flash的选项参数
- * @param {string} options.id 要创建的flash的标识
- * @param {string} options.url flash文件的url
- * @param {String} options.errorMessage 未安装flash player或flash player版本号过低时的提示
- * @param {string} options.ver 最低需要的flash player版本号
- * @param {string} options.width flash的宽度
- * @param {string} options.height flash的高度
- * @param {string} options.align flash的对齐方式,允许值:middle/left/right/top/bottom
- * @param {string} options.base 设置用于解析swf文件中的所有相对路径语句的基本目录或URL
- * @param {string} options.bgcolor swf文件的背景色
- * @param {string} options.salign 设置缩放的swf文件在由width和height设置定义的区域内的位置。允许值:l/r/t/b/tl/tr/bl/br
- * @param {boolean} options.menu 是否显示右键菜单,允许值:true/false
- * @param {boolean} options.loop 播放到最后一帧时是否重新播放,允许值: true/false
- * @param {boolean} options.play flash是否在浏览器加载时就开始播放。允许值:true/false
- * @param {string} options.quality 设置flash播放的画质,允许值:low/medium/high/autolow/autohigh/best
- * @param {string} options.scale 设置flash内容如何缩放来适应设置的宽高。允许值:showall/noborder/exactfit
- * @param {string} options.wmode 设置flash的显示模式。允许值:window/opaque/transparent
- * @param {string} options.allowscriptaccess 设置flash与页面的通信权限。允许值:always/never/sameDomain
- * @param {string} options.allownetworking 设置swf文件中允许使用的网络API。允许值:all/internal/none
- * @param {boolean} options.allowfullscreen 是否允许flash全屏。允许值:true/false
- * @param {boolean} options.seamlesstabbing 允许设置执行无缝跳格,从而使用户能跳出flash应用程序。该参数只能在安装Flash7及更高版本的Windows中使用。允许值:true/false
- * @param {boolean} options.devicefont 设置静态文本对象是否以设备字体呈现。允许值:true/false
- * @param {boolean} options.swliveconnect 第一次加载flash时浏览器是否应启动Java。允许值:true/false
- * @param {Object} options.vars 要传递给flash的参数,支持JSON或string类型。
- *
- * @see baidu.swf.create
- * @meta standard
- * @returns {string} flash对象的html字符串
- */
-baidu.swf.createHTML = function (options) {
- options = options || {};
- var version = baidu.swf.version,
- needVersion = options['ver'] || '6.0.0',
- vUnit1, vUnit2, i, k, len, item, tmpOpt = {},
- encodeHTML = baidu.string.encodeHTML;
- for (k in options) {
- tmpOpt[k] = options[k];
- }
- options = tmpOpt;
- if (version) {
- version = version.split('.');
- needVersion = needVersion.split('.');
- for (i = 0; i < 3; i++) {
- vUnit1 = parseInt(version[i], 10);
- vUnit2 = parseInt(needVersion[i], 10);
- if (vUnit2 < vUnit1) {
- break;
- } else if (vUnit2 > vUnit1) {
- return '';
- }
- }
- } else {
- return '';
- }
-
- var vars = options['vars'],
- objProperties = ['classid', 'codebase', 'id', 'width', 'height', 'align'];
- options['align'] = options['align'] || 'middle';
- options['classid'] = 'clsid:d27cdb6e-ae6d-11cf-96b8-444553540000';
- options['codebase'] = 'http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0';
- options['movie'] = options['url'] || '';
- delete options['vars'];
- delete options['url'];
- if ('string' == typeof vars) {
- options['flashvars'] = vars;
- } else {
- var fvars = [];
- for (k in vars) {
- item = vars[k];
- fvars.push(k + "=" + encodeURIComponent(item));
- }
- options['flashvars'] = fvars.join('&');
- }
- var str = ['
');
-
- return str.join('');
-};
-
-
-/**
- * 在页面中创建一个flash对象
- * @name baidu.swf.create
- * @function
- * @grammar baidu.swf.create(options[, container])
- *
- * @param {Object} options 创建flash的选项参数
- * @param {string} options.id 要创建的flash的标识
- * @param {string} options.url flash文件的url
- * @param {String} options.errorMessage 未安装flash player或flash player版本号过低时的提示
- * @param {string} options.ver 最低需要的flash player版本号
- * @param {string} options.width flash的宽度
- * @param {string} options.height flash的高度
- * @param {string} options.align flash的对齐方式,允许值:middle/left/right/top/bottom
- * @param {string} options.base 设置用于解析swf文件中的所有相对路径语句的基本目录或URL
- * @param {string} options.bgcolor swf文件的背景色
- * @param {string} options.salign 设置缩放的swf文件在由width和height设置定义的区域内的位置。允许值:l/r/t/b/tl/tr/bl/br
- * @param {boolean} options.menu 是否显示右键菜单,允许值:true/false
- * @param {boolean} options.loop 播放到最后一帧时是否重新播放,允许值: true/false
- * @param {boolean} options.play flash是否在浏览器加载时就开始播放。允许值:true/false
- * @param {string} options.quality 设置flash播放的画质,允许值:low/medium/high/autolow/autohigh/best
- * @param {string} options.scale 设置flash内容如何缩放来适应设置的宽高。允许值:showall/noborder/exactfit
- * @param {string} options.wmode 设置flash的显示模式。允许值:window/opaque/transparent
- * @param {string} options.allowscriptaccess 设置flash与页面的通信权限。允许值:always/never/sameDomain
- * @param {string} options.allownetworking 设置swf文件中允许使用的网络API。允许值:all/internal/none
- * @param {boolean} options.allowfullscreen 是否允许flash全屏。允许值:true/false
- * @param {boolean} options.seamlesstabbing 允许设置执行无缝跳格,从而使用户能跳出flash应用程序。该参数只能在安装Flash7及更高版本的Windows中使用。允许值:true/false
- * @param {boolean} options.devicefont 设置静态文本对象是否以设备字体呈现。允许值:true/false
- * @param {boolean} options.swliveconnect 第一次加载flash时浏览器是否应启动Java。允许值:true/false
- * @param {Object} options.vars 要传递给flash的参数,支持JSON或string类型。
- *
- * @param {HTMLElement|string} [container] flash对象的父容器元素,不传递该参数时在当前代码位置创建flash对象。
- * @meta standard
- * @see baidu.swf.createHTML,baidu.swf.getMovie
- */
-baidu.swf.create = function (options, target) {
- options = options || {};
- var html = baidu.swf.createHTML(options)
- || options['errorMessage']
- || '';
-
- if (target && 'string' == typeof target) {
- target = document.getElementById(target);
- }
- baidu.dom.insertHTML( target || document.body ,'beforeEnd',html );
-};
-/**
- * 判断是否为ie浏览器
- * @name baidu.browser.ie
- * @field
- * @grammar baidu.browser.ie
- * @returns {Number} IE版本号
- */
-baidu.browser.ie = baidu.ie = /msie (\d+\.\d+)/i.test(navigator.userAgent) ? (document.documentMode || + RegExp['\x241']) : undefined;
-
-/**
- * 移除数组中的项
- * @name baidu.array.remove
- * @function
- * @grammar baidu.array.remove(source, match)
- * @param {Array} source 需要移除项的数组
- * @param {Any} match 要移除的项
- * @meta standard
- * @see baidu.array.removeAt
- *
- * @returns {Array} 移除后的数组
- */
-baidu.array.remove = function (source, match) {
- var len = source.length;
-
- while (len--) {
- if (len in source && source[len] === match) {
- source.splice(len, 1);
- }
- }
- return source;
-};
-
-/**
- * 判断目标参数是否Array对象
- * @name baidu.lang.isArray
- * @function
- * @grammar baidu.lang.isArray(source)
- * @param {Any} source 目标参数
- * @meta standard
- * @see baidu.lang.isString,baidu.lang.isObject,baidu.lang.isNumber,baidu.lang.isElement,baidu.lang.isBoolean,baidu.lang.isDate
- *
- * @returns {boolean} 类型判断结果
- */
-baidu.lang.isArray = function (source) {
- return '[object Array]' == Object.prototype.toString.call(source);
-};
-
-
-
-/**
- * 将一个变量转换成array
- * @name baidu.lang.toArray
- * @function
- * @grammar baidu.lang.toArray(source)
- * @param {mix} source 需要转换成array的变量
- * @version 1.3
- * @meta standard
- * @returns {array} 转换后的array
- */
-baidu.lang.toArray = function (source) {
- if (source === null || source === undefined)
- return [];
- if (baidu.lang.isArray(source))
- return source;
- if (typeof source.length !== 'number' || typeof source === 'string' || baidu.lang.isFunction(source)) {
- return [source];
- }
- if (source.item) {
- var l = source.length, array = new Array(l);
- while (l--)
- array[l] = source[l];
- return array;
- }
-
- return [].slice.call(source);
-};
-
-/**
- * 获得flash对象的实例
- * @name baidu.swf.getMovie
- * @function
- * @grammar baidu.swf.getMovie(name)
- * @param {string} name flash对象的名称
- * @see baidu.swf.create
- * @meta standard
- * @returns {HTMLElement} flash对象的实例
- */
-baidu.swf.getMovie = function (name) {
- var movie = document[name], ret;
- return baidu.browser.ie == 9 ?
- movie && movie.length ?
- (ret = baidu.array.remove(baidu.lang.toArray(movie),function(item){
- return item.tagName.toLowerCase() != "embed";
- })).length == 1 ? ret[0] : ret
- : movie
- : movie || window[name];
-};
-
-
-baidu.flash._Base = (function(){
-
- var prefix = 'bd__flash__';
-
- /**
- * 创建一个随机的字符串
- * @private
- * @return {String}
- */
- function _createString(){
- return prefix + Math.floor(Math.random() * 2147483648).toString(36);
- };
-
- /**
- * 检查flash状态
- * @private
- * @param {Object} target flash对象
- * @return {Boolean}
- */
- function _checkReady(target){
- if(typeof target !== 'undefined' && typeof target.flashInit !== 'undefined' && target.flashInit()){
- return true;
- }else{
- return false;
- }
- };
-
- /**
- * 调用之前进行压栈的函数
- * @private
- * @param {Array} callQueue 调用队列
- * @param {Object} target flash对象
- * @return {Null}
- */
- function _callFn(callQueue, target){
- var result = null;
-
- callQueue = callQueue.reverse();
- baidu.each(callQueue, function(item){
- result = target.call(item.fnName, item.params);
- item.callBack(result);
- });
- };
-
- /**
- * 为传入的匿名函数创建函数名
- * @private
- * @param {String|Function} fun 传入的匿名函数或者函数名
- * @return {String}
- */
- function _createFunName(fun){
- var name = '';
-
- if(baidu.lang.isFunction(fun)){
- name = _createString();
- window[name] = function(){
- fun.apply(window, arguments);
- };
-
- return name;
- }else if(baidu.lang.isString){
- return fun;
- }
- };
-
- /**
- * 绘制flash
- * @private
- * @param {Object} options 创建参数
- * @return {Object}
- */
- function _render(options){
- if(!options.id){
- options.id = _createString();
- }
-
- var container = options.container || '';
- delete(options.container);
-
- baidu.swf.create(options, container);
-
- return baidu.swf.getMovie(options.id);
- };
-
- return function(options, callBack){
- var me = this,
- autoRender = (typeof options.autoRender !== 'undefined' ? options.autoRender : true),
- createOptions = options.createOptions || {},
- target = null,
- isReady = false,
- callQueue = [],
- timeHandle = null,
- callBack = callBack || [];
-
- /**
- * 将flash文件绘制到页面上
- * @public
- * @return {Null}
- */
- me.render = function(){
- target = _render(createOptions);
-
- if(callBack.length > 0){
- baidu.each(callBack, function(funName, index){
- callBack[index] = _createFunName(options[funName] || new Function());
- });
- }
- me.call('setJSFuncName', [callBack]);
- };
-
- /**
- * 返回flash状态
- * @return {Boolean}
- */
- me.isReady = function(){
- return isReady;
- };
-
- /**
- * 调用flash接口的统一入口
- * @param {String} fnName 调用的函数名
- * @param {Array} params 传入的参数组成的数组,若不许要参数,需传入空数组
- * @param {Function} [callBack] 异步调用后将返回值作为参数的调用回调函数,如无返回值,可以不传入此参数
- * @return {Null}
- */
- me.call = function(fnName, params, callBack){
- if(!fnName) return null;
- callBack = callBack || new Function();
-
- var result = null;
-
- if(isReady){
- result = target.call(fnName, params);
- callBack(result);
- }else{
- callQueue.push({
- fnName: fnName,
- params: params,
- callBack: callBack
- });
-
- (!timeHandle) && (timeHandle = setInterval(_check, 200));
- }
- };
-
- /**
- * 为传入的匿名函数创建函数名
- * @public
- * @param {String|Function} fun 传入的匿名函数或者函数名
- * @return {String}
- */
- me.createFunName = function(fun){
- return _createFunName(fun);
- };
-
- /**
- * 检查flash是否ready, 并进行调用
- * @private
- * @return {Null}
- */
- function _check(){
- if(_checkReady(target)){
- clearInterval(timeHandle);
- timeHandle = null;
- _call();
-
- isReady = true;
- }
- };
-
- /**
- * 调用之前进行压栈的函数
- * @private
- * @return {Null}
- */
- function _call(){
- _callFn(callQueue, target);
- callQueue = [];
- }
-
- autoRender && me.render();
- };
-})();
-
-
-
-/**
- * 创建flash based imageUploader
- * @class
- * @grammar baidu.flash.imageUploader(options)
- * @param {Object} createOptions 创建flash时需要的参数,请参照baidu.swf.create文档
- * @config {Object} vars 创建imageUploader时所需要的参数
- * @config {Number} vars.gridWidth 每一个预览图片所占的宽度,应该为flash寛的整除
- * @config {Number} vars.gridHeight 每一个预览图片所占的高度,应该为flash高的整除
- * @config {Number} vars.picWidth 单张预览图片的宽度
- * @config {Number} vars.picHeight 单张预览图片的高度
- * @config {String} vars.uploadDataFieldName POST请求中图片数据的key,默认值'picdata'
- * @config {String} vars.picDescFieldName POST请求中图片描述的key,默认值'picDesc'
- * @config {Number} vars.maxSize 文件的最大体积,单位'MB'
- * @config {Number} vars.compressSize 上传前如果图片体积超过该值,会先压缩
- * @config {Number} vars.maxNum:32 最大上传多少个文件
- * @config {Number} vars.compressLength 能接受的最大边长,超过该值会等比压缩
- * @config {String} vars.url 上传的url地址
- * @config {Number} vars.mode mode == 0时,是使用滚动条,mode == 1时,拉伸flash, 默认值为0
- * @see baidu.swf.createHTML
- * @param {String} backgroundUrl 背景图片路径
- * @param {String} listBacgroundkUrl 布局控件背景
- * @param {String} buttonUrl 按钮图片不背景
- * @param {String|Function} selectFileCallback 选择文件的回调
- * @param {String|Function} exceedFileCallback文件超出限制的最大体积时的回调
- * @param {String|Function} deleteFileCallback 删除文件的回调
- * @param {String|Function} startUploadCallback 开始上传某个文件时的回调
- * @param {String|Function} uploadCompleteCallback 某个文件上传完成的回调
- * @param {String|Function} uploadErrorCallback 某个文件上传失败的回调
- * @param {String|Function} allCompleteCallback 全部上传完成时的回调
- * @param {String|Function} changeFlashHeight 改变Flash的高度,mode==1的时候才有用
- */
-baidu.flash.imageUploader = baidu.flash.imageUploader || function(options){
-
- var me = this,
- options = options || {},
- _flash = new baidu.flash._Base(options, [
- 'selectFileCallback',
- 'exceedFileCallback',
- 'deleteFileCallback',
- 'startUploadCallback',
- 'uploadCompleteCallback',
- 'uploadErrorCallback',
- 'allCompleteCallback',
- 'changeFlashHeight'
- ]);
- /**
- * 开始或回复上传图片
- * @public
- * @return {Null}
- */
- me.upload = function(){
- _flash.call('upload');
- };
-
- /**
- * 暂停上传图片
- * @public
- * @return {Null}
- */
- me.pause = function(){
- _flash.call('pause');
- };
- me.addCustomizedParams = function(index,obj){
- _flash.call('addCustomizedParams',[index,obj]);
- }
-};
-
-/**
- * 操作原生对象的方法
- * @namespace baidu.object
- */
-baidu.object = baidu.object || {};
-
-
-/**
- * 将源对象的所有属性拷贝到目标对象中
- * @author erik
- * @name baidu.object.extend
- * @function
- * @grammar baidu.object.extend(target, source)
- * @param {Object} target 目标对象
- * @param {Object} source 源对象
- * @see baidu.array.merge
- * @remark
- *
-1.目标对象中,与源对象key相同的成员将会被覆盖。
-2.源对象的prototype成员不会拷贝。
-
- * @shortcut extend
- * @meta standard
- *
- * @returns {Object} 目标对象
- */
-baidu.extend =
-baidu.object.extend = function (target, source) {
- for (var p in source) {
- if (source.hasOwnProperty(p)) {
- target[p] = source[p];
- }
- }
-
- return target;
-};
-
-
-
-
-
-/**
- * 创建flash based fileUploader
- * @class
- * @grammar baidu.flash.fileUploader(options)
- * @param {Object} options
- * @config {Object} createOptions 创建flash时需要的参数,请参照baidu.swf.create文档
- * @config {String} createOptions.width
- * @config {String} createOptions.height
- * @config {Number} maxNum 最大可选文件数
- * @config {Function|String} selectFile
- * @config {Function|String} exceedMaxSize
- * @config {Function|String} deleteFile
- * @config {Function|String} uploadStart
- * @config {Function|String} uploadComplete
- * @config {Function|String} uploadError
- * @config {Function|String} uploadProgress
- */
-baidu.flash.fileUploader = baidu.flash.fileUploader || function(options){
- var me = this,
- options = options || {};
-
- options.createOptions = baidu.extend({
- wmod: 'transparent'
- },options.createOptions || {});
-
- var _flash = new baidu.flash._Base(options, [
- 'selectFile',
- 'exceedMaxSize',
- 'deleteFile',
- 'uploadStart',
- 'uploadComplete',
- 'uploadError',
- 'uploadProgress'
- ]);
-
- _flash.call('setMaxNum', options.maxNum ? [options.maxNum] : [1]);
-
- /**
- * 设置当鼠标移动到flash上时,是否变成手型
- * @public
- * @param {Boolean} isCursor
- * @return {Null}
- */
- me.setHandCursor = function(isCursor){
- _flash.call('setHandCursor', [isCursor || false]);
- };
-
- /**
- * 设置鼠标相应函数名
- * @param {String|Function} fun
- */
- me.setMSFunName = function(fun){
- _flash.call('setMSFunName',[_flash.createFunName(fun)]);
- };
-
- /**
- * 执行上传操作
- * @param {String} url 上传的url
- * @param {String} fieldName 上传的表单字段名
- * @param {Object} postData 键值对,上传的POST数据
- * @param {Number|Array|null|-1} [index]上传的文件序列
- * Int值上传该文件
- * Array一次串行上传该序列文件
- * -1/null上传所有文件
- * @return {Null}
- */
- me.upload = function(url, fieldName, postData, index){
-
- if(typeof url !== 'string' || typeof fieldName !== 'string') return null;
- if(typeof index === 'undefined') index = -1;
-
- _flash.call('upload', [url, fieldName, postData, index]);
- };
-
- /**
- * 取消上传操作
- * @public
- * @param {Number|-1} index
- */
- me.cancel = function(index){
- if(typeof index === 'undefined') index = -1;
- _flash.call('cancel', [index]);
- };
-
- /**
- * 删除文件
- * @public
- * @param {Number|Array} [index] 要删除的index,不传则全部删除
- * @param {Function} callBack
- * */
- me.deleteFile = function(index, callBack){
-
- var callBackAll = function(list){
- callBack && callBack(list);
- };
-
- if(typeof index === 'undefined'){
- _flash.call('deleteFilesAll', [], callBackAll);
- return;
- };
-
- if(typeof index === 'Number') index = [index];
- index.sort(function(a,b){
- return b-a;
- });
- baidu.each(index, function(item){
- _flash.call('deleteFileBy', item, callBackAll);
- });
- };
-
- /**
- * 添加文件类型,支持macType
- * @public
- * @param {Object|Array[Object]} type {description:String, extention:String}
- * @return {Null};
- */
- me.addFileType = function(type){
- var type = type || [[]];
-
- if(type instanceof Array) type = [type];
- else type = [[type]];
- _flash.call('addFileTypes', type);
- };
-
- /**
- * 设置文件类型,支持macType
- * @public
- * @param {Object|Array[Object]} type {description:String, extention:String}
- * @return {Null};
- */
- me.setFileType = function(type){
- var type = type || [[]];
-
- if(type instanceof Array) type = [type];
- else type = [[type]];
- _flash.call('setFileTypes', type);
- };
-
- /**
- * 设置可选文件的数量限制
- * @public
- * @param {Number} num
- * @return {Null}
- */
- me.setMaxNum = function(num){
- _flash.call('setMaxNum', [num]);
- };
-
- /**
- * 设置可选文件大小限制,以兆M为单位
- * @public
- * @param {Number} num,0为无限制
- * @return {Null}
- */
- me.setMaxSize = function(num){
- _flash.call('setMaxSize', [num]);
- };
-
- /**
- * @public
- */
- me.getFileAll = function(callBack){
- _flash.call('getFileAll', [], callBack);
- };
-
- /**
- * @public
- * @param {Number} index
- * @param {Function} [callBack]
- */
- me.getFileByIndex = function(index, callBack){
- _flash.call('getFileByIndex', [], callBack);
- };
-
- /**
- * @public
- * @param {Number} index
- * @param {function} [callBack]
- */
- me.getStatusByIndex = function(index, callBack){
- _flash.call('getStatusByIndex', [], callBack);
- };
-};
-
-/**
- * 使用动态script标签请求服务器资源,包括由服务器端的回调和浏览器端的回调
- * @namespace baidu.sio
- */
-baidu.sio = baidu.sio || {};
-
-/**
- *
- * @param {HTMLElement} src script节点
- * @param {String} url script节点的地址
- * @param {String} [charset] 编码
- */
-baidu.sio._createScriptTag = function(scr, url, charset){
- scr.setAttribute('type', 'text/javascript');
- charset && scr.setAttribute('charset', charset);
- scr.setAttribute('src', url);
- document.getElementsByTagName('head')[0].appendChild(scr);
-};
-
-/**
- * 删除script的属性,再删除script标签,以解决修复内存泄漏的问题
- *
- * @param {HTMLElement} src script节点
- */
-baidu.sio._removeScriptTag = function(scr){
- if (scr.clearAttributes) {
- scr.clearAttributes();
- } else {
- for (var attr in scr) {
- if (scr.hasOwnProperty(attr)) {
- delete scr[attr];
- }
- }
- }
- if(scr && scr.parentNode){
- scr.parentNode.removeChild(scr);
- }
- scr = null;
-};
-
-
-/**
- * 通过script标签加载数据,加载完成由浏览器端触发回调
- * @name baidu.sio.callByBrowser
- * @function
- * @grammar baidu.sio.callByBrowser(url, opt_callback, opt_options)
- * @param {string} url 加载数据的url
- * @param {Function|string} opt_callback 数据加载结束时调用的函数或函数名
- * @param {Object} opt_options 其他可选项
- * @config {String} [charset] script的字符集
- * @config {Integer} [timeOut] 超时时间,超过这个时间将不再响应本请求,并触发onfailure函数
- * @config {Function} [onfailure] timeOut设定后才生效,到达超时时间时触发本函数
- * @remark
- * 1、与callByServer不同,callback参数只支持Function类型,不支持string。
- * 2、如果请求了一个不存在的页面,callback函数在IE/opera下也会被调用,因此使用者需要在onsuccess函数中判断数据是否正确加载。
- * @meta standard
- * @see baidu.sio.callByServer
- */
-baidu.sio.callByBrowser = function (url, opt_callback, opt_options) {
- var scr = document.createElement("SCRIPT"),
- scriptLoaded = 0,
- options = opt_options || {},
- charset = options['charset'],
- callback = opt_callback || function(){},
- timeOut = options['timeOut'] || 0,
- timer;
- scr.onload = scr.onreadystatechange = function () {
- if (scriptLoaded) {
- return;
- }
-
- var readyState = scr.readyState;
- if ('undefined' == typeof readyState
- || readyState == "loaded"
- || readyState == "complete") {
- scriptLoaded = 1;
- try {
- callback();
- clearTimeout(timer);
- } finally {
- scr.onload = scr.onreadystatechange = null;
- baidu.sio._removeScriptTag(scr);
- }
- }
- };
-
- if( timeOut ){
- timer = setTimeout(function(){
- scr.onload = scr.onreadystatechange = null;
- baidu.sio._removeScriptTag(scr);
- options.onfailure && options.onfailure();
- }, timeOut);
- }
-
- baidu.sio._createScriptTag(scr, url, charset);
-};
-
-/**
- * 通过script标签加载数据,加载完成由服务器端触发回调
- * @name baidu.sio.callByServer
- * @function
- * @grammar baidu.sio.callByServer(url, callback[, opt_options])
- * @param {string} url 加载数据的url.
- * @param {Function|string} callback 服务器端调用的函数或函数名。如果没有指定本参数,将在URL中寻找options['queryField']做为callback的方法名.
- * @param {Object} opt_options 加载数据时的选项.
- * @config {string} [charset] script的字符集
- * @config {string} [queryField] 服务器端callback请求字段名,默认为callback
- * @config {Integer} [timeOut] 超时时间(单位:ms),超过这个时间将不再响应本请求,并触发onfailure函数
- * @config {Function} [onfailure] timeOut设定后才生效,到达超时时间时触发本函数
- * @remark
- * 如果url中已经包含key为“options['queryField']”的query项,将会被替换成callback中参数传递或自动生成的函数名。
- * @meta standard
- * @see baidu.sio.callByBrowser
- */
-baidu.sio.callByServer = /**@function*/function(url, callback, opt_options) {
- var scr = document.createElement('SCRIPT'),
- prefix = 'bd__cbs__',
- callbackName,
- callbackImpl,
- options = opt_options || {},
- charset = options['charset'],
- queryField = options['queryField'] || 'callback',
- timeOut = options['timeOut'] || 0,
- timer,
- reg = new RegExp('(\\?|&)' + queryField + '=([^&]*)'),
- matches;
-
- if (baidu.lang.isFunction(callback)) {
- callbackName = prefix + Math.floor(Math.random() * 2147483648).toString(36);
- window[callbackName] = getCallBack(0);
- } else if(baidu.lang.isString(callback)){
- callbackName = callback;
- } else {
- if (matches = reg.exec(url)) {
- callbackName = matches[2];
- }
- }
-
- if( timeOut ){
- timer = setTimeout(getCallBack(1), timeOut);
- }
- url = url.replace(reg, '\x241' + queryField + '=' + callbackName);
-
- if (url.search(reg) < 0) {
- url += (url.indexOf('?') < 0 ? '?' : '&') + queryField + '=' + callbackName;
- }
- baidu.sio._createScriptTag(scr, url, charset);
-
- /*
- * 返回一个函数,用于立即(挂在window上)或者超时(挂在setTimeout中)时执行
- */
- function getCallBack(onTimeOut){
- /*global callbackName, callback, scr, options;*/
- return function(){
- try {
- if( onTimeOut ){
- options.onfailure && options.onfailure();
- }else{
- callback.apply(window, arguments);
- clearTimeout(timer);
- }
- window[callbackName] = null;
- delete window[callbackName];
- } catch (exception) {
- } finally {
- baidu.sio._removeScriptTag(scr);
- }
- }
- }
-};
-
-/**
- * 通过请求一个图片的方式令服务器存储一条日志
- * @function
- * @grammar baidu.sio.log(url)
- * @param {string} url 要发送的地址.
- * @author: int08h,leeight
- */
-baidu.sio.log = function(url) {
- var img = new Image(),
- key = 'tangram_sio_log_' + Math.floor(Math.random() *
- 2147483648).toString(36);
- window[key] = img;
-
- img.onload = img.onerror = img.onabort = function() {
- img.onload = img.onerror = img.onabort = null;
-
- window[key] = null;
- img = null;
- };
- img.src = url;
-};
-
-
-
-/*
- * Tangram
- * Copyright 2009 Baidu Inc. All rights reserved.
- *
- * path: baidu/json.js
- * author: erik
- * version: 1.1.0
- * date: 2009/12/02
- */
-
-
-/**
- * 操作json对象的方法
- * @namespace baidu.json
- */
-baidu.json = baidu.json || {};
-/*
- * Tangram
- * Copyright 2009 Baidu Inc. All rights reserved.
- *
- * path: baidu/json/parse.js
- * author: erik, berg
- * version: 1.2
- * date: 2009/11/23
- */
-
-
-
-/**
- * 将字符串解析成json对象。注:不会自动祛除空格
- * @name baidu.json.parse
- * @function
- * @grammar baidu.json.parse(data)
- * @param {string} source 需要解析的字符串
- * @remark
- * 该方法的实现与ecma-262第五版中规定的JSON.parse不同,暂时只支持传入一个参数。后续会进行功能丰富。
- * @meta standard
- * @see baidu.json.stringify,baidu.json.decode
- *
- * @returns {JSON} 解析结果json对象
- */
-baidu.json.parse = function (data) {
- //2010/12/09:更新至不使用原生parse,不检测用户输入是否正确
- return (new Function("return (" + data + ")"))();
-};
-/*
- * Tangram
- * Copyright 2009 Baidu Inc. All rights reserved.
- *
- * path: baidu/json/decode.js
- * author: erik, cat
- * version: 1.3.4
- * date: 2010/12/23
- */
-
-
-
-/**
- * 将字符串解析成json对象,为过时接口,今后会被baidu.json.parse代替
- * @name baidu.json.decode
- * @function
- * @grammar baidu.json.decode(source)
- * @param {string} source 需要解析的字符串
- * @meta out
- * @see baidu.json.encode,baidu.json.parse
- *
- * @returns {JSON} 解析结果json对象
- */
-baidu.json.decode = baidu.json.parse;
-/*
- * Tangram
- * Copyright 2009 Baidu Inc. All rights reserved.
- *
- * path: baidu/json/stringify.js
- * author: erik
- * version: 1.1.0
- * date: 2010/01/11
- */
-
-
-
-/**
- * 将json对象序列化
- * @name baidu.json.stringify
- * @function
- * @grammar baidu.json.stringify(value)
- * @param {JSON} value 需要序列化的json对象
- * @remark
- * 该方法的实现与ecma-262第五版中规定的JSON.stringify不同,暂时只支持传入一个参数。后续会进行功能丰富。
- * @meta standard
- * @see baidu.json.parse,baidu.json.encode
- *
- * @returns {string} 序列化后的字符串
- */
-baidu.json.stringify = (function () {
- /**
- * 字符串处理时需要转义的字符表
- * @private
- */
- var escapeMap = {
- "\b": '\\b',
- "\t": '\\t',
- "\n": '\\n',
- "\f": '\\f',
- "\r": '\\r',
- '"' : '\\"',
- "\\": '\\\\'
- };
-
- /**
- * 字符串序列化
- * @private
- */
- function encodeString(source) {
- if (/["\\\x00-\x1f]/.test(source)) {
- source = source.replace(
- /["\\\x00-\x1f]/g,
- function (match) {
- var c = escapeMap[match];
- if (c) {
- return c;
- }
- c = match.charCodeAt();
- return "\\u00"
- + Math.floor(c / 16).toString(16)
- + (c % 16).toString(16);
- });
- }
- return '"' + source + '"';
- }
-
- /**
- * 数组序列化
- * @private
- */
- function encodeArray(source) {
- var result = ["["],
- l = source.length,
- preComma, i, item;
-
- for (i = 0; i < l; i++) {
- item = source[i];
-
- switch (typeof item) {
- case "undefined":
- case "function":
- case "unknown":
- break;
- default:
- if(preComma) {
- result.push(',');
- }
- result.push(baidu.json.stringify(item));
- preComma = 1;
- }
- }
- result.push("]");
- return result.join("");
- }
-
- /**
- * 处理日期序列化时的补零
- * @private
- */
- function pad(source) {
- return source < 10 ? '0' + source : source;
- }
-
- /**
- * 日期序列化
- * @private
- */
- function encodeDate(source){
- return '"' + source.getFullYear() + "-"
- + pad(source.getMonth() + 1) + "-"
- + pad(source.getDate()) + "T"
- + pad(source.getHours()) + ":"
- + pad(source.getMinutes()) + ":"
- + pad(source.getSeconds()) + '"';
- }
-
- return function (value) {
- switch (typeof value) {
- case 'undefined':
- return 'undefined';
-
- case 'number':
- return isFinite(value) ? String(value) : "null";
-
- case 'string':
- return encodeString(value);
-
- case 'boolean':
- return String(value);
-
- default:
- if (value === null) {
- return 'null';
- } else if (value instanceof Array) {
- return encodeArray(value);
- } else if (value instanceof Date) {
- return encodeDate(value);
- } else {
- var result = ['{'],
- encode = baidu.json.stringify,
- preComma,
- item;
-
- for (var key in value) {
- if (Object.prototype.hasOwnProperty.call(value, key)) {
- item = value[key];
- switch (typeof item) {
- case 'undefined':
- case 'unknown':
- case 'function':
- break;
- default:
- if (preComma) {
- result.push(',');
- }
- preComma = 1;
- result.push(encode(key) + ':' + encode(item));
- }
- }
- }
- result.push('}');
- return result.join('');
- }
- }
- };
-})();
-/*
- * Tangram
- * Copyright 2009 Baidu Inc. All rights reserved.
- *
- * path: baidu/json/encode.js
- * author: erik, cat
- * version: 1.3.4
- * date: 2010/12/23
- */
-
-
-
-/**
- * 将json对象序列化,为过时接口,今后会被baidu.json.stringify代替
- * @name baidu.json.encode
- * @function
- * @grammar baidu.json.encode(value)
- * @param {JSON} value 需要序列化的json对象
- * @meta out
- * @see baidu.json.decode,baidu.json.stringify
- *
- * @returns {string} 序列化后的字符串
- */
-baidu.json.encode = baidu.json.stringify;
diff --git a/public/UEditor/dialogs/wordimage/wordimage.html b/public/UEditor/dialogs/wordimage/wordimage.html
deleted file mode 100644
index 6cf6067..0000000
--- a/public/UEditor/dialogs/wordimage/wordimage.html
+++ /dev/null
@@ -1,111 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/public/UEditor/dialogs/wordimage/wordimage.js b/public/UEditor/dialogs/wordimage/wordimage.js
deleted file mode 100644
index 98f3a22..0000000
--- a/public/UEditor/dialogs/wordimage/wordimage.js
+++ /dev/null
@@ -1,157 +0,0 @@
-/**
- * Created by JetBrains PhpStorm.
- * User: taoqili
- * Date: 12-1-30
- * Time: 下午12:50
- * To change this template use File | Settings | File Templates.
- */
-
-
-
-var wordImage = {};
-//(function(){
-var g = baidu.g,
- flashObj,flashContainer;
-
-wordImage.init = function(opt, callbacks) {
- showLocalPath("localPath");
- //createCopyButton("clipboard","localPath");
- createFlashUploader(opt, callbacks);
- addUploadListener();
- addOkListener();
-};
-
-function hideFlash(){
- flashObj = null;
- flashContainer.innerHTML = "";
-}
-function addOkListener() {
- dialog.onok = function() {
- if (!imageUrls.length) return;
- var urlPrefix = editor.getOpt('imageUrlPrefix'),
- images = domUtils.getElementsByTagName(editor.document,"img");
- editor.fireEvent('saveScene');
- for (var i = 0,img; img = images[i++];) {
- var src = img.getAttribute("word_img");
- if (!src) continue;
- for (var j = 0,url; url = imageUrls[j++];) {
- if (src.indexOf(url.original.replace(" ","")) != -1) {
- img.src = urlPrefix + url.url;
- img.setAttribute("_src", urlPrefix + url.url); //同时修改"_src"属性
- img.setAttribute("title",url.title);
- domUtils.removeAttributes(img, ["word_img","style","width","height"]);
- editor.fireEvent("selectionchange");
- break;
- }
- }
- }
- editor.fireEvent('saveScene');
- hideFlash();
- };
- dialog.oncancel = function(){
- hideFlash();
- }
-}
-
-/**
- * 绑定开始上传事件
- */
-function addUploadListener() {
- g("upload").onclick = function () {
- flashObj.upload();
- this.style.display = "none";
- };
-}
-
-function showLocalPath(id) {
- //单张编辑
- var img = editor.selection.getRange().getClosedNode();
- var images = editor.execCommand('wordimage');
- if(images.length==1 || img && img.tagName == 'IMG'){
- g(id).value = images[0];
- return;
- }
- var path = images[0];
- var leftSlashIndex = path.lastIndexOf("/")||0, //不同版本的doc和浏览器都可能影响到这个符号,故直接判断两种
- rightSlashIndex = path.lastIndexOf("\\")||0,
- separater = leftSlashIndex > rightSlashIndex ? "/":"\\" ;
-
- path = path.substring(0, path.lastIndexOf(separater)+1);
- g(id).value = path;
-}
-
-function createFlashUploader(opt, callbacks) {
- //由于lang.flashI18n是静态属性,不可以直接进行修改,否则会影响到后续内容
- var i18n = utils.extend({},lang.flashI18n);
- //处理图片资源地址的编码,补全等问题
- for(var i in i18n){
- if(!(i in {"lang":1,"uploadingTF":1,"imageTF":1,"textEncoding":1}) && i18n[i]){
- i18n[i] = encodeURIComponent(editor.options.langPath + editor.options.lang + "/images/" + i18n[i]);
- }
- }
- opt = utils.extend(opt,i18n,false);
- var option = {
- createOptions:{
- id:'flash',
- url:opt.flashUrl,
- width:opt.width,
- height:opt.height,
- errorMessage:lang.flashError,
- wmode:browser.safari ? 'transparent' : 'window',
- ver:'10.0.0',
- vars:opt,
- container:opt.container
- }
- };
-
- option = extendProperty(callbacks, option);
- flashObj = new baidu.flash.imageUploader(option);
- flashContainer = $G(opt.container);
-}
-
-function extendProperty(fromObj, toObj) {
- for (var i in fromObj) {
- if (!toObj[i]) {
- toObj[i] = fromObj[i];
- }
- }
- return toObj;
-}
-
-//})();
-
-function getPasteData(id) {
- baidu.g("msg").innerHTML = lang.copySuccess + "";
- setTimeout(function() {
- baidu.g("msg").innerHTML = "";
- }, 5000);
- return baidu.g(id).value;
-}
-
-function createCopyButton(id, dataFrom) {
- baidu.swf.create({
- id:"copyFlash",
- url:"fClipboard_ueditor.swf",
- width:"58",
- height:"25",
- errorMessage:"",
- bgColor:"#CBCBCB",
- wmode:"transparent",
- ver:"10.0.0",
- vars:{
- tid:dataFrom
- }
- }, id
- );
-
- var clipboard = baidu.swf.getMovie("copyFlash");
- var clipinterval = setInterval(function() {
- if (clipboard && clipboard.flashInit) {
- clearInterval(clipinterval);
- clipboard.setHandCursor(true);
- clipboard.setContentFuncName("getPasteData");
- //clipboard.setMEFuncName("mouseEventHandler");
- }
- }, 500);
-}
-createCopyButton("clipboard", "localPath");
\ No newline at end of file
diff --git a/public/UEditor/index.html b/public/UEditor/index.html
deleted file mode 100644
index a416418..0000000
--- a/public/UEditor/index.html
+++ /dev/null
@@ -1,175 +0,0 @@
-
-
-
-
完整demo
-
-
-
-
-
-
-
-
-
-
-
-
完整demo
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/public/UEditor/jsp/config.json b/public/UEditor/jsp/config.json
deleted file mode 100644
index 53b6c97..0000000
--- a/public/UEditor/jsp/config.json
+++ /dev/null
@@ -1,94 +0,0 @@
-/* 前后端通信相关的配置,注释只允许使用多行方式 */
-{
- /* 上传图片配置项 */
- "imageActionName": "uploadimage", /* 执行上传图片的action名称 */
- "imageFieldName": "upfile", /* 提交的图片表单名称 */
- "imageMaxSize": 2048000, /* 上传大小限制,单位B */
- "imageAllowFiles": [".png", ".jpg", ".jpeg", ".gif", ".bmp"], /* 上传图片格式显示 */
- "imageCompressEnable": true, /* 是否压缩图片,默认是true */
- "imageCompressBorder": 1600, /* 图片压缩最长边限制 */
- "imageInsertAlign": "none", /* 插入的图片浮动方式 */
- "imageUrlPrefix": "", /* 图片访问路径前缀 */
- "imagePathFormat": "/ueditor/jsp/upload/image/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */
- /* {filename} 会替换成原文件名,配置这项需要注意中文乱码问题 */
- /* {rand:6} 会替换成随机数,后面的数字是随机数的位数 */
- /* {time} 会替换成时间戳 */
- /* {yyyy} 会替换成四位年份 */
- /* {yy} 会替换成两位年份 */
- /* {mm} 会替换成两位月份 */
- /* {dd} 会替换成两位日期 */
- /* {hh} 会替换成两位小时 */
- /* {ii} 会替换成两位分钟 */
- /* {ss} 会替换成两位秒 */
- /* 非法字符 \ : * ? " < > | */
- /* 具请体看线上文档: fex.baidu.com/ueditor/#use-format_upload_filename */
-
- /* 涂鸦图片上传配置项 */
- "scrawlActionName": "uploadscrawl", /* 执行上传涂鸦的action名称 */
- "scrawlFieldName": "upfile", /* 提交的图片表单名称 */
- "scrawlPathFormat": "/ueditor/jsp/upload/image/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */
- "scrawlMaxSize": 2048000, /* 上传大小限制,单位B */
- "scrawlUrlPrefix": "", /* 图片访问路径前缀 */
- "scrawlInsertAlign": "none",
-
- /* 截图工具上传 */
- "snapscreenActionName": "uploadimage", /* 执行上传截图的action名称 */
- "snapscreenPathFormat": "/ueditor/jsp/upload/image/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */
- "snapscreenUrlPrefix": "", /* 图片访问路径前缀 */
- "snapscreenInsertAlign": "none", /* 插入的图片浮动方式 */
-
- /* 抓取远程图片配置 */
- "catcherLocalDomain": ["127.0.0.1", "localhost", "img.baidu.com"],
- "catcherActionName": "catchimage", /* 执行抓取远程图片的action名称 */
- "catcherFieldName": "source", /* 提交的图片列表表单名称 */
- "catcherPathFormat": "/ueditor/jsp/upload/image/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */
- "catcherUrlPrefix": "", /* 图片访问路径前缀 */
- "catcherMaxSize": 2048000, /* 上传大小限制,单位B */
- "catcherAllowFiles": [".png", ".jpg", ".jpeg", ".gif", ".bmp"], /* 抓取图片格式显示 */
-
- /* 上传视频配置 */
- "videoActionName": "uploadvideo", /* 执行上传视频的action名称 */
- "videoFieldName": "upfile", /* 提交的视频表单名称 */
- "videoPathFormat": "/ueditor/jsp/upload/video/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */
- "videoUrlPrefix": "", /* 视频访问路径前缀 */
- "videoMaxSize": 102400000, /* 上传大小限制,单位B,默认100MB */
- "videoAllowFiles": [
- ".flv", ".swf", ".mkv", ".avi", ".rm", ".rmvb", ".mpeg", ".mpg",
- ".ogg", ".ogv", ".mov", ".wmv", ".mp4", ".webm", ".mp3", ".wav", ".mid"], /* 上传视频格式显示 */
-
- /* 上传文件配置 */
- "fileActionName": "uploadfile", /* controller里,执行上传视频的action名称 */
- "fileFieldName": "upfile", /* 提交的文件表单名称 */
- "filePathFormat": "/ueditor/jsp/upload/file/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */
- "fileUrlPrefix": "", /* 文件访问路径前缀 */
- "fileMaxSize": 51200000, /* 上传大小限制,单位B,默认50MB */
- "fileAllowFiles": [
- ".png", ".jpg", ".jpeg", ".gif", ".bmp",
- ".flv", ".swf", ".mkv", ".avi", ".rm", ".rmvb", ".mpeg", ".mpg",
- ".ogg", ".ogv", ".mov", ".wmv", ".mp4", ".webm", ".mp3", ".wav", ".mid",
- ".rar", ".zip", ".tar", ".gz", ".7z", ".bz2", ".cab", ".iso",
- ".doc", ".docx", ".xls", ".xlsx", ".ppt", ".pptx", ".pdf", ".txt", ".md", ".xml"
- ], /* 上传文件格式显示 */
-
- /* 列出指定目录下的图片 */
- "imageManagerActionName": "listimage", /* 执行图片管理的action名称 */
- "imageManagerListPath": "/ueditor/jsp/upload/image/", /* 指定要列出图片的目录 */
- "imageManagerListSize": 20, /* 每次列出文件数量 */
- "imageManagerUrlPrefix": "", /* 图片访问路径前缀 */
- "imageManagerInsertAlign": "none", /* 插入的图片浮动方式 */
- "imageManagerAllowFiles": [".png", ".jpg", ".jpeg", ".gif", ".bmp"], /* 列出的文件类型 */
-
- /* 列出指定目录下的文件 */
- "fileManagerActionName": "listfile", /* 执行文件管理的action名称 */
- "fileManagerListPath": "/ueditor/jsp/upload/file/", /* 指定要列出文件的目录 */
- "fileManagerUrlPrefix": "", /* 文件访问路径前缀 */
- "fileManagerListSize": 20, /* 每次列出文件数量 */
- "fileManagerAllowFiles": [
- ".png", ".jpg", ".jpeg", ".gif", ".bmp",
- ".flv", ".swf", ".mkv", ".avi", ".rm", ".rmvb", ".mpeg", ".mpg",
- ".ogg", ".ogv", ".mov", ".wmv", ".mp4", ".webm", ".mp3", ".wav", ".mid",
- ".rar", ".zip", ".tar", ".gz", ".7z", ".bz2", ".cab", ".iso",
- ".doc", ".docx", ".xls", ".xlsx", ".ppt", ".pptx", ".pdf", ".txt", ".md", ".xml"
- ] /* 列出的文件类型 */
-
-}
\ No newline at end of file
diff --git a/public/UEditor/jsp/controller.jsp b/public/UEditor/jsp/controller.jsp
deleted file mode 100644
index 6a3ef2f..0000000
--- a/public/UEditor/jsp/controller.jsp
+++ /dev/null
@@ -1,14 +0,0 @@
-<%@ page language="java" contentType="text/html; charset=UTF-8"
- import="com.baidu.ueditor.ActionEnter"
- pageEncoding="UTF-8"%>
-<%@ page trimDirectiveWhitespaces="true" %>
-<%
-
- request.setCharacterEncoding( "utf-8" );
- response.setHeader("Content-Type" , "text/html");
-
- String rootPath = application.getRealPath( "/" );
-
- out.write( new ActionEnter( request, rootPath ).exec() );
-
-%>
\ No newline at end of file
diff --git a/public/UEditor/jsp/lib/commons-codec-1.9.jar b/public/UEditor/jsp/lib/commons-codec-1.9.jar
deleted file mode 100644
index ef35f1c..0000000
Binary files a/public/UEditor/jsp/lib/commons-codec-1.9.jar and /dev/null differ
diff --git a/public/UEditor/jsp/lib/commons-fileupload-1.3.1.jar b/public/UEditor/jsp/lib/commons-fileupload-1.3.1.jar
deleted file mode 100644
index af0cda2..0000000
Binary files a/public/UEditor/jsp/lib/commons-fileupload-1.3.1.jar and /dev/null differ
diff --git a/public/UEditor/jsp/lib/commons-io-2.4.jar b/public/UEditor/jsp/lib/commons-io-2.4.jar
deleted file mode 100644
index 90035a4..0000000
Binary files a/public/UEditor/jsp/lib/commons-io-2.4.jar and /dev/null differ
diff --git a/public/UEditor/jsp/lib/json.jar b/public/UEditor/jsp/lib/json.jar
deleted file mode 100644
index ed0bc93..0000000
Binary files a/public/UEditor/jsp/lib/json.jar and /dev/null differ
diff --git a/public/UEditor/jsp/lib/ueditor-1.1.2.jar b/public/UEditor/jsp/lib/ueditor-1.1.2.jar
deleted file mode 100644
index 4819fe0..0000000
Binary files a/public/UEditor/jsp/lib/ueditor-1.1.2.jar and /dev/null differ
diff --git a/public/UEditor/lang/en/en.js b/public/UEditor/lang/en/en.js
deleted file mode 100644
index c7e22f5..0000000
--- a/public/UEditor/lang/en/en.js
+++ /dev/null
@@ -1,684 +0,0 @@
-/**
- * Created with JetBrains PhpStorm.
- * User: taoqili
- * Date: 12-6-12
- * Time: 下午6:57
- * To change this template use File | Settings | File Templates.
- */
-UE.I18N['en'] = {
- 'labelMap':{
- 'anchor':'Anchor', 'undo':'Undo', 'redo':'Redo', 'bold':'Bold', 'indent':'Indent', 'snapscreen':'SnapScreen',
- 'italic':'Italic', 'underline':'Underline', 'strikethrough':'Strikethrough', 'subscript':'SubScript','fontborder':'text border',
- 'superscript':'SuperScript', 'formatmatch':'Format Match', 'source':'Source', 'blockquote':'BlockQuote',
- 'pasteplain':'PastePlain', 'selectall':'SelectAll', 'print':'Print', 'preview':'Preview',
- 'horizontal':'Horizontal', 'removeformat':'RemoveFormat', 'time':'Time', 'date':'Date',
- 'unlink':'Unlink', 'insertrow':'InsertRow', 'insertcol':'InsertCol', 'mergeright':'MergeRight', 'mergedown':'MergeDown',
- 'deleterow':'DeleteRow', 'deletecol':'DeleteCol', 'splittorows':'SplitToRows','insertcode':'insert code',
- 'splittocols':'SplitToCols', 'splittocells':'SplitToCells','deletecaption':'DeleteCaption','inserttitle':'InsertTitle',
- 'mergecells':'MergeCells', 'deletetable':'DeleteTable', 'cleardoc':'Clear', 'insertparagraphbeforetable':"InsertParagraphBeforeTable",
- 'fontfamily':'FontFamily', 'fontsize':'FontSize', 'paragraph':'Paragraph','simpleupload':'Single Image','insertimage':'Multi Image','edittable':'Edit Table', 'edittd':'Edit Td','link':'Link',
- 'emotion':'Emotion', 'spechars':'Spechars', 'searchreplace':'SearchReplace', 'map':'BaiduMap', 'gmap':'GoogleMap',
- 'insertvideo':'Video', 'help':'Help', 'justifyleft':'JustifyLeft', 'justifyright':'JustifyRight', 'justifycenter':'JustifyCenter',
- 'justifyjustify':'Justify', 'forecolor':'FontColor', 'backcolor':'BackColor', 'insertorderedlist':'OL',
- 'insertunorderedlist':'UL', 'fullscreen':'FullScreen', 'directionalityltr':'EnterFromLeft', 'directionalityrtl':'EnterFromRight',
- 'rowspacingtop':'RowSpacingTop', 'rowspacingbottom':'RowSpacingBottom', 'pagebreak':'PageBreak', 'insertframe':'Iframe', 'imagenone':'Default',
- 'imageleft':'ImageLeft', 'imageright':'ImageRight', 'attachment':'Attachment', 'imagecenter':'ImageCenter', 'wordimage':'WordImage',
- 'lineheight':'LineHeight','edittip':'EditTip','customstyle':'CustomStyle', 'scrawl':'Scrawl', 'autotypeset':'AutoTypeset',
- 'webapp':'WebAPP', 'touppercase':'UpperCase', 'tolowercase':'LowerCase','template':'Template','background':'Background','inserttable':'InsertTable',
- 'music':'Music', 'charts': 'charts','drafts': 'Load from Drafts'
- },
- 'insertorderedlist':{
- 'num':'1,2,3...',
- 'num1':'1),2),3)...',
- 'num2':'(1),(2),(3)...',
- 'cn':'一,二,三....',
- 'cn1':'一),二),三)....',
- 'cn2':'(一),(二),(三)....',
- 'decimal':'1,2,3...',
- 'lower-alpha':'a,b,c...',
- 'lower-roman':'i,ii,iii...',
- 'upper-alpha':'A,B,C...',
- 'upper-roman':'I,II,III...'
- },
- 'insertunorderedlist':{
- 'circle':'○ Circle',
- 'disc':'● Circle dot',
- 'square':'■ Rectangle ',
- 'dash' :'- Dash',
- 'dot' : '。dot'
- },
- 'paragraph':{'p':'Paragraph', 'h1':'Title 1', 'h2':'Title 2', 'h3':'Title 3', 'h4':'Title 4', 'h5':'Title 5', 'h6':'Title 6'},
- 'fontfamily':{
- 'songti':'Sim Sun',
- 'kaiti':'Sim Kai',
- 'heiti':'Sim Hei',
- 'lishu':'Sim Li',
- 'yahei': 'Microsoft YaHei',
- 'andaleMono':'Andale Mono',
- 'arial': 'Arial',
- 'arialBlack':'Arial Black',
- 'comicSansMs':'Comic Sans MS',
- 'impact':'Impact',
- 'timesNewRoman':'Times New Roman'
- },
- 'customstyle':{
- 'tc':'Title center',
- 'tl':'Title left',
- 'im':'Important',
- 'hi':'Highlight'
- },
- 'autoupload': {
- 'exceedSizeError': 'File Size Exceed',
- 'exceedTypeError': 'File Type Not Allow',
- 'jsonEncodeError': 'Server Return Format Error',
- 'loading':"loading...",
- 'loadError':"load error",
- 'errorLoadConfig': 'Server config not loaded, upload can not work.',
- },
- 'simpleupload':{
- 'exceedSizeError': 'File Size Exceed',
- 'exceedTypeError': 'File Type Not Allow',
- 'jsonEncodeError': 'Server Return Format Error',
- 'loading':"loading...",
- 'loadError':"load error",
- 'errorLoadConfig': 'Server config not loaded, upload can not work.',
- },
- 'elementPathTip':"Path",
- 'wordCountTip':"Word Count",
- 'wordCountMsg':'{#count} characters entered,{#leave} left. ',
- 'wordOverFlowMsg':'
The number of characters has exceeded allowable maximum values, the server may refuse to save!',
- 'ok':"OK",
- 'cancel':"Cancel",
- 'closeDialog':"closeDialog",
- 'tableDrag':"You must import the file uiUtils.js before drag! ",
- 'autofloatMsg':"The plugin AutoFloat depends on EditorUI!",
- 'loadconfigError': 'Get server config error.',
- 'loadconfigFormatError': 'Server config format error.',
- 'loadconfigHttpError': 'Get server config http error.',
- 'snapScreen_plugin':{
- 'browserMsg':"Only IE supported!",
- 'callBackErrorMsg':"The callback data is wrong,please check the config!",
- 'uploadErrorMsg':"Upload error,please check your server environment! "
- },
- 'insertcode':{
- 'as3':'ActionScript 3',
- 'bash':'Bash/Shell',
- 'cpp':'C/C++',
- 'css':'CSS',
- 'cf':'ColdFusion',
- 'c#':'C#',
- 'delphi':'Delphi',
- 'diff':'Diff',
- 'erlang':'Erlang',
- 'groovy':'Groovy',
- 'html':'HTML',
- 'java':'Java',
- 'jfx':'JavaFX',
- 'js':'JavaScript',
- 'pl':'Perl',
- 'php':'PHP',
- 'plain':'Plain Text',
- 'ps':'PowerShell',
- 'python':'Python',
- 'ruby':'Ruby',
- 'scala':'Scala',
- 'sql':'SQL',
- 'vb':'Visual Basic',
- 'xml':'XML'
- },
- 'confirmClear':"Do you confirm to clear the Document?",
- 'contextMenu':{
- 'delete':"Delete",
- 'selectall':"Select all",
- 'deletecode':"Delete Code",
- 'cleardoc':"Clear Document",
- 'confirmclear':"Do you confirm to clear the Document?",
- 'unlink':"Unlink",
- 'paragraph':"Paragraph",
- 'edittable':"Table property",
- 'aligncell':'Align cell',
- 'aligntable':'Table alignment',
- 'tableleft':'Left float',
- 'tablecenter':'Center',
- 'tableright':'Right float',
- 'aligntd':'Cell alignment',
- 'edittd':"Cell property",
- 'setbordervisible':'set table edge visible',
- 'table':"Table",
- 'justifyleft':'Justify Left',
- 'justifyright':'Justify Right',
- 'justifycenter':'Justify Center',
- 'justifyjustify':'Default',
- 'deletetable':"Delete table",
- 'insertparagraphbefore':"InsertedBeforeLine",
- 'insertparagraphafter':'InsertedAfterLine',
- 'inserttable':'Insert table',
- 'insertcaption':'Insert caption',
- 'deletecaption':'Delete Caption',
- 'inserttitle':'Insert Title',
- 'deletetitle':'Delete Title',
- 'inserttitlecol':'Insert Title Col',
- 'deletetitlecol':'Delete Title Col',
- 'averageDiseRow':'AverageDise Row',
- 'averageDisCol':'AverageDis Col',
- 'deleterow':"Delete row",
- 'deletecol':"Delete col",
- 'insertrow':"Insert row",
- 'insertcol':"Insert col",
- 'insertrownext':'Insert Row Next',
- 'insertcolnext':'Insert Col Next',
- 'mergeright':"Merge right",
- 'mergeleft':"Merge left",
- 'mergedown':"Merge down",
- 'mergecells':"Merge cells",
- 'splittocells':"Split to cells",
- 'splittocols':"Split to Cols",
- 'splittorows':"Split to Rows",
- 'tablesort':'Table sorting',
- 'enablesort':'Sorting Enable',
- 'disablesort':'Sorting Disable',
- 'reversecurrent':'Reverse current',
- 'orderbyasc':'Order By ASCII',
- 'reversebyasc':'Reverse By ASCII',
- 'orderbynum':'Order By Num',
- 'reversebynum':'Reverse By Num',
- 'borderbk':'Border shading',
- 'setcolor':'interlaced color',
- 'unsetcolor':'Cancel interlacedcolor',
- 'setbackground':'Background interlaced',
- 'unsetbackground':'Cancel Bk interlaced',
- 'redandblue':'Blue and red',
- 'threecolorgradient':'Three-color gradient',
- 'copy':"Copy(Ctrl + c)",
- 'copymsg':"Browser does not support. Please use 'Ctrl + c' instead!",
- 'paste':"Paste(Ctrl + v)",
- 'pastemsg':"Browser does not support. Please use 'Ctrl + v' instead!"
- },
- 'copymsg': "Browser does not support. Please use 'Ctrl + c' instead!",
- 'pastemsg': "Browser does not support. Please use 'Ctrl + v' instead!",
- 'anthorMsg':"Link",
- 'clearColor':'Clear',
- 'standardColor':'Standard color',
- 'themeColor':'Theme color',
- 'property':'Property',
- 'default':'Default',
- 'modify':'Modify',
- 'justifyleft':'Justify Left',
- 'justifyright':'Justify Right',
- 'justifycenter':'Justify Center',
- 'justify':'Default',
- 'clear':'Clear',
- 'anchorMsg':'Anchor',
- 'delete':'Delete',
- 'clickToUpload':"Click to upload",
- 'unset':'Language hasn\'t been set!',
- 't_row':'row',
- 't_col':'col',
- 'pasteOpt':'Paste Option',
- 'pasteSourceFormat':"Keep Source Formatting",
- 'tagFormat':'Keep tag',
- 'pasteTextFormat':'Keep Text only',
- 'more':'More',
- 'autoTypeSet':{
- 'mergeLine':"Merge empty line",
- 'delLine':"Del empty line",
- 'removeFormat':"Remove format",
- 'indent':"Indent",
- 'alignment':"Alignment",
- 'imageFloat':"Image float",
- 'removeFontsize':"Remove font size",
- 'removeFontFamily':"Remove fontFamily",
- 'removeHtml':"Remove redundant HTML code",
- 'pasteFilter':"Paste filter",
- 'run':"Done",
- 'symbol':'Symbol Conversion',
- 'bdc2sb':'Full-width to Half-width',
- 'tobdc':'Half-width to Full-width'
- },
-
- 'background':{
- 'static':{
- 'lang_background_normal':'Normal',
- 'lang_background_local':'Online',
- 'lang_background_set':'Background Set',
- 'lang_background_none':'No Background',
- 'lang_background_colored':'Colored Background',
- 'lang_background_color':'Color Set',
- 'lang_background_netimg':'Net-Image',
- 'lang_background_align':'Align Type',
- 'lang_background_position':'Position',
- 'repeatType':{'options':["Center", "Repeat-x", "Repeat-y", "Tile","Custom"]}
- },
- 'noUploadImage':"No pictures has been uploaded!",
- 'toggleSelect':'Change the active state by click!\n Image Size: '
- },
- //===============dialog i18N=======================
- 'insertimage':{
- 'static':{
- 'lang_tab_remote':"Insert",
- 'lang_tab_upload':"Local",
- 'lang_tab_online':"Manager",
- 'lang_tab_search':"Search",
- 'lang_input_url':"Address:",
- 'lang_input_size':"Size:",
- 'lang_input_width':"Width",
- 'lang_input_height':"Height",
- 'lang_input_border':"Border:",
- 'lang_input_vhspace':"Margins:",
- 'lang_input_title':"Title:",
- 'lang_input_align':'Image Float Style:',
- 'lang_imgLoading':"Loading...",
- 'lang_start_upload':"Start Upload",
- 'lock':{'title':"Lock rate"},
- 'searchType':{'title':"ImageType", 'options':["News", "Wallpaper", "emotions", "photo"]},
- 'searchTxt':{'value':"Enter the search keyword!"},
- 'searchBtn':{'value':"Search"},
- 'searchReset':{'value':"Clear"},
- 'noneAlign':{'title':'None Float'},
- 'leftAlign':{'title':'Left Float'},
- 'rightAlign':{'title':'Right Float'},
- 'centerAlign':{'title':'Center In A Line'}
- },
- 'uploadSelectFile':'Select File',
- 'uploadAddFile':'Add File',
- 'uploadStart':'Start Upload',
- 'uploadPause':'Pause Upload',
- 'uploadContinue':'Continue Upload',
- 'uploadRetry':'Retry Upload',
- 'uploadDelete':'Delete',
- 'uploadTurnLeft':'Turn Left',
- 'uploadTurnRight':'Turn Right',
- 'uploadPreview':'Doing Preview',
- 'uploadNoPreview':'Can Not Preview',
- 'updateStatusReady': 'Selected _ pictures, total _KB.',
- 'updateStatusConfirm': '_ uploaded successfully and _ upload failed',
- 'updateStatusFinish': 'Total _ pictures (_KB), _ uploaded successfully',
- 'updateStatusError': ' and _ upload failed',
- 'errorNotSupport': 'WebUploader does not support the browser you are using. Please upgrade your browser or flash player',
- 'errorLoadConfig': 'Server config not loaded, upload can not work.',
- 'errorExceedSize':'File Size Exceed',
- 'errorFileType':'File Type Not Allow',
- 'errorInterrupt':'File Upload Interrupted',
- 'errorUploadRetry':'Upload Error, Please Retry.',
- 'errorHttp':'Http Error',
- 'errorServerUpload':'Server Result Error.',
- 'remoteLockError':"Cannot Lock the Proportion between width and height",
- 'numError':"Please enter the correct Num. e.g 123,400",
- 'imageUrlError':"The image format may be wrong!",
- 'imageLoadError':"Error,please check the network or URL!",
- 'searchRemind':"Enter the search keyword!",
- 'searchLoading':"Image is loading,please wait...",
- 'searchRetry':" Sorry,can't find the image,please try again!"
- },
- 'attachment':{
- 'static':{
- 'lang_tab_upload': 'Upload',
- 'lang_tab_online': 'Online',
- 'lang_start_upload':"Start upload",
- 'lang_drop_remind':"You can drop files here, a single maximum of 300 files"
- },
- 'uploadSelectFile':'Select File',
- 'uploadAddFile':'Add File',
- 'uploadStart':'Start Upload',
- 'uploadPause':'Pause Upload',
- 'uploadContinue':'Continue Upload',
- 'uploadRetry':'Retry Upload',
- 'uploadDelete':'Delete',
- 'uploadTurnLeft':'Turn Left',
- 'uploadTurnRight':'Turn Right',
- 'uploadPreview':'Doing Preview',
- 'updateStatusReady': 'Selected _ files, total _KB.',
- 'updateStatusConfirm': '_ uploaded successfully and _ upload failed',
- 'updateStatusFinish': 'Total _ files (_KB), _ uploaded successfully',
- 'updateStatusError': ' and _ upload failed',
- 'errorNotSupport': 'WebUploader does not support the browser you are using. Please upgrade your browser or flash player',
- 'errorLoadConfig': 'Server config not loaded, upload can not work.',
- 'errorExceedSize':'File Size Exceed',
- 'errorFileType':'File Type Not Allow',
- 'errorInterrupt':'File Upload Interrupted',
- 'errorUploadRetry':'Upload Error, Please Retry.',
- 'errorHttp':'Http Error',
- 'errorServerUpload':'Server Result Error.'
- },
-
- 'insertvideo':{
- 'static':{
- 'lang_tab_insertV':"Video",
- 'lang_tab_searchV':"Search",
- 'lang_tab_uploadV':"Upload",
- 'lang_video_url':" URL ",
- 'lang_video_size':"Video Size",
- 'lang_videoW':"Width",
- 'lang_videoH':"Height",
- 'lang_alignment':"Alignment",
- 'videoSearchTxt':{'value':"Enter the search keyword!"},
- 'videoType':{'options':["All", "Hot", "Entertainment", "Funny", "Sports", "Science", "variety"]},
- 'videoSearchBtn':{'value':"Search in Baidu"},
- 'videoSearchReset':{'value':"Clear result"},
-
- 'lang_input_fileStatus':' No file uploaded!',
- 'startUpload':{'style':"background:url(upload.png) no-repeat;"},
-
- 'lang_upload_size':"Video Size",
- 'lang_upload_width':"Width",
- 'lang_upload_height':"Height",
- 'lang_upload_alignment':"Alignment",
- 'lang_format_advice':"Recommends mp4 format."
- },
- 'numError':"Please enter the correct Num. e.g 123,400",
- 'floatLeft':"Float left",
- 'floatRight':"Float right",
- 'default':"Default",
- 'block':"Display in block",
- 'urlError':"The video url format may be wrong!",
- 'loading':" The video is loading, please wait…",
- 'clickToSelect':"Click to select",
- 'goToSource':'Visit source video ',
- 'noVideo':" Sorry,can't find the video,please try again!",
-
- 'browseFiles':'Open files',
- 'uploadSuccess':'Upload Successful!',
- 'delSuccessFile':'Remove from the success of the queue',
- 'delFailSaveFile':'Remove the save failed file',
- 'statusPrompt':' file(s) uploaded! ',
- 'flashVersionError':'The current Flash version is too low, please update FlashPlayer,then try again!',
- 'flashLoadingError':'The Flash failed loading! Please check the path or network state',
- 'fileUploadReady':'Wait for uploading...',
- 'delUploadQueue':'Remove from the uploading queue ',
- 'limitPrompt1':'Can not choose more than single',
- 'limitPrompt2':'file(s)!Please choose again!',
- 'delFailFile':'Remove failure file',
- 'fileSizeLimit':'File size exceeds the limit!',
- 'emptyFile':'Can not upload an empty file!',
- 'fileTypeError':'File type error!',
- 'unknownError':'Unknown error!',
- 'fileUploading':'Uploading,please wait...',
- 'cancelUpload':'Cancel upload',
- 'netError':'Network error',
- 'failUpload':'Upload failed',
- 'serverIOError':'Server IO error!',
- 'noAuthority':'No Permission!',
- 'fileNumLimit':'Upload limit to the number',
- 'failCheck':'Authentication fails, the upload is skipped!',
- 'fileCanceling':'Cancel, please wait...',
- 'stopUploading':'Upload has stopped...',
-
- 'uploadSelectFile':'Select File',
- 'uploadAddFile':'Add File',
- 'uploadStart':'Start Upload',
- 'uploadPause':'Pause Upload',
- 'uploadContinue':'Continue Upload',
- 'uploadRetry':'Retry Upload',
- 'uploadDelete':'Delete',
- 'uploadTurnLeft':'Turn Left',
- 'uploadTurnRight':'Turn Right',
- 'uploadPreview':'Doing Preview',
- 'updateStatusReady': 'Selected _ files, total _KB.',
- 'updateStatusConfirm': '_ uploaded successfully and _ upload failed',
- 'updateStatusFinish': 'Total _ files (_KB), _ uploaded successfully',
- 'updateStatusError': ' and _ upload failed',
- 'errorNotSupport': 'WebUploader does not support the browser you are using. Please upgrade your browser or flash player',
- 'errorLoadConfig': 'Server config not loaded, upload can not work.',
- 'errorExceedSize':'File Size Exceed',
- 'errorFileType':'File Type Not Allow',
- 'errorInterrupt':'File Upload Interrupted',
- 'errorUploadRetry':'Upload Error, Please Retry.',
- 'errorHttp':'Http Error',
- 'errorServerUpload':'Server Result Error.'
- },
- 'webapp':{
- 'tip1':"This function provided by Baidu APP,please apply for baidu APPKey webmaster first!",
- 'tip2':"And then open the file ueditor.config.js to set it! ",
- 'applyFor':"APPLY FOR",
- 'anthorApi':"Baidu API"
- },
- 'template':{
- 'static':{
- 'lang_template_bkcolor':'Background Color',
- 'lang_template_clear' : 'Keep Content',
- 'lang_template_select':'Select Template'
- },
- 'blank':"Blank",
- 'blog':"Blog",
- 'resume':"Resume",
- 'richText':"Rich Text",
- 'scrPapers':"Scientific Papers"
- },
- scrawl:{
- 'static':{
- 'lang_input_previousStep':"Previous",
- 'lang_input_nextsStep':"Next",
- 'lang_input_clear':'Clear',
- 'lang_input_addPic':'AddImage',
- 'lang_input_ScalePic':'ScaleImage',
- 'lang_input_removePic':'RemoveImage',
- 'J_imgTxt':{title:'Add background image'}
- },
- 'noScarwl':"No paint, a white paper...",
- 'scrawlUpLoading':"Image is uploading, please wait...",
- 'continueBtn':"Try again",
- 'imageError':"Image failed to load!",
- 'backgroundUploading':'Image is uploading,please wait...'
- },
- 'music':{
- 'static':{
- 'lang_input_tips':"Input singer/song/album, search you interested in music!",
- 'J_searchBtn':{value:'Search songs'}
- },
- 'emptyTxt':'Not search to the relevant music results, please change a keyword try.',
- 'chapter':'Songs',
- 'singer':'Singer',
- 'special':'Album',
- 'listenTest':'Audition'
- },
- anchor:{
- 'static':{
- 'lang_input_anchorName':'Anchor Name:'
- }
- },
- 'charts':{
- 'static':{
- 'lang_data_source':'Data source:',
- 'lang_chart_format': 'Chart format:',
- 'lang_data_align': 'Align',
- 'lang_chart_align_same': 'Consistent with the X-axis Y-axis',
- 'lang_chart_align_reverse': 'X-axis Y-axis opposite',
- 'lang_chart_title': 'Title',
- 'lang_chart_main_title': 'main title:',
- 'lang_chart_sub_title': 'sub title:',
- 'lang_chart_x_title': 'X-axis title:',
- 'lang_chart_y_title': 'Y-axis title:',
- 'lang_chart_tip': 'Prompt',
- 'lang_cahrt_tip_prefix': 'prefix:',
- 'lang_cahrt_tip_description': '仅饼图有效, 当鼠标移动到饼图中相应的块上时,提示框内的文字的前缀',
- 'lang_chart_data_unit': 'Unit',
- 'lang_chart_data_unit_title': 'unit:',
- 'lang_chart_data_unit_description': '显示在每个数据点上的数据的单位, 比如: 温度的单位 ℃',
- 'lang_chart_type': 'Chart type:',
- 'lang_prev_btn': 'Previous',
- 'lang_next_btn': 'Next'
- }
- },
- emotion:{
- 'static':{
- 'lang_input_choice':'Choice',
- 'lang_input_Tuzki':'Tuzki',
- 'lang_input_lvdouwa':'LvDouWa',
- 'lang_input_BOBO':'BOBO',
- 'lang_input_babyCat':'BabyCat',
- 'lang_input_bubble':'Bubble',
- 'lang_input_youa':'YouA'
- }
- },
- gmap:{
- 'static':{
- 'lang_input_address':'Address:',
- 'lang_input_search':'Search',
- 'address':{value:"Beijing"}
- },
- searchError:'Unable to locate the address!'
- },
- help:{
- 'static':{
- 'lang_input_about':'About',
- 'lang_input_shortcuts':'Shortcuts',
- 'lang_input_introduction':"UEditor is developed by Baidu Co.ltd. It is lightweight, customizable , focusing on user experience and etc. , UEditor is based on open source BSD license , allowing free use and redistribution.",
- 'lang_Txt_shortcuts':'Shortcuts',
- 'lang_Txt_func':'Function',
- 'lang_Txt_bold':'Bold',
- 'lang_Txt_copy':'Copy',
- 'lang_Txt_cut':'Cut',
- 'lang_Txt_Paste':'Paste',
- 'lang_Txt_undo':'Undo',
- 'lang_Txt_redo':'Redo',
- 'lang_Txt_italic':'Italic',
- 'lang_Txt_underline':'Underline',
- 'lang_Txt_selectAll':'Select All',
- 'lang_Txt_visualEnter':'Submit',
- 'lang_Txt_fullscreen':'Fullscreen'
- }
- },
- insertframe:{
- 'static':{
- 'lang_input_address':'Address:',
- 'lang_input_width':'Width:',
- 'lang_input_height':'height:',
- 'lang_input_isScroll':'Enable scrollbars:',
- 'lang_input_frameborder':'Show frame border:',
- 'lang_input_alignMode':'Alignment:',
- 'align':{title:"Alignment", options:["Default", "Left", "Right", "Center"]}
- },
- 'enterAddress':'Please enter an address!'
- },
- link:{
- 'static':{
- 'lang_input_text':'Text:',
- 'lang_input_url':'URL:',
- 'lang_input_title':'Title:',
- 'lang_input_target':'open in new window:'
- },
- 'validLink':'Supports only effective when a link is selected',
- 'httpPrompt':'The hyperlink you enter should start with "http|https|ftp://"!'
- },
- map:{
- 'static':{
- lang_city:"City",
- lang_address:"Address",
- city:{value:"Beijing"},
- lang_search:"Search",
- lang_dynamicmap:"Dynamic map"
- },
- cityMsg:"Please enter the city name!",
- errorMsg:"Can't find the place!"
- },
- searchreplace:{
- 'static':{
- lang_tab_search:"Search",
- lang_tab_replace:"Replace",
- lang_search1:"Search",
- lang_search2:"Search",
- lang_replace:"Replace",
- lang_searchReg:'Support regular expression ,which starts and ends with a slash ,for example "/expression/"',
- lang_searchReg1:'Support regular expression ,which starts and ends with a slash ,for example "/expression/"',
- lang_case_sensitive1:"Case sense",
- lang_case_sensitive2:"Case sense",
- nextFindBtn:{value:"Next"},
- preFindBtn:{value:"Preview"},
- nextReplaceBtn:{value:"Next"},
- preReplaceBtn:{value:"Preview"},
- repalceBtn:{value:"Replace"},
- repalceAllBtn:{value:"Replace all"}
- },
- getEnd:"Has the search to the bottom!",
- getStart:"Has the search to the top!",
- countMsg:"Altogether replaced {#count} character(s)!"
- },
- snapscreen:{
- 'static':{
- lang_showMsg:"You should install the UEditor screenshots program first!",
- lang_download:"Download!",
- lang_step1:"Step1:Download the program and then run it",
- lang_step2:"Step2:After complete install,try to click the button again"
- }
- },
- spechars:{
- 'static':{},
- tsfh:"Special",
- lmsz:"Roman",
- szfh:"Numeral",
- rwfh:"Japanese",
- xlzm:"The Greek",
- ewzm:"Russian",
- pyzm:"Phonetic",
- yyyb:"English",
- zyzf:"Others"
- },
- 'edittable':{
- 'static':{
- 'lang_tableStyle':'Table style',
- 'lang_insertCaption':'Add table header row',
- 'lang_insertTitle':'Add table title row',
- 'lang_insertTitleCol':'Add table title col',
- 'lang_tableSize':'Automatically adjust table size',
- 'lang_autoSizeContent':'Adaptive by form text',
- 'lang_orderbycontent':"Table of contents sortable",
- 'lang_autoSizePage':'Page width adaptive',
- 'lang_example':'Example',
- 'lang_borderStyle':'Table Border',
- 'lang_color':'Color:'
- },
- captionName:'Caption',
- titleName:'Title',
- cellsName:'text',
- errorMsg:'There are merged cells, can not sort.'
- },
- 'edittip':{
- 'static':{
- lang_delRow:'Delete entire row',
- lang_delCol:'Delete entire col'
- }
- },
- 'edittd':{
- 'static':{
- lang_tdBkColor:'Background Color:'
- }
- },
- 'formula':{
- 'static':{
- }
- },
- wordimage:{
- 'static':{
- lang_resave:"The re-save step",
- uploadBtn:{src:"upload.png", alt:"Upload"},
- clipboard:{style:"background: url(copy.png) -153px -1px no-repeat;"},
- lang_step:" 1. Click top button to copy the url and then open the dialog to paste it. 2. Open after choose photos uploaded process."
- },
- fileType:"Image",
- flashError:"Flash initialization failed!",
- netError:"Network error! Please try again!",
- copySuccess:"URL has been copied!",
-
- 'flashI18n':{
- lang:encodeURI( '{"UploadingState":"totalNum: ${a},uploadComplete: ${b}", "BeforeUpload":"waitingNum: ${a}", "ExceedSize":"Size exceed${a}", "ErrorInPreview":"Preview failed", "DefaultDescription":"Description", "LoadingImage":"Loading..."}' ),
- uploadingTF:encodeURI( '{"font":"Arial", "size":12, "color":"0x000", "bold":"true", "italic":"false", "underline":"false"}' ),
- imageTF:encodeURI( '{"font":"Arial", "size":11, "color":"red", "bold":"false", "italic":"false", "underline":"false"}' ),
- textEncoding:"utf-8",
- addImageSkinURL:"addImage.png",
- allDeleteBtnUpSkinURL:"allDeleteBtnUpSkin.png",
- allDeleteBtnHoverSkinURL:"allDeleteBtnHoverSkin.png",
- rotateLeftBtnEnableSkinURL:"rotateLeftEnable.png",
- rotateLeftBtnDisableSkinURL:"rotateLeftDisable.png",
- rotateRightBtnEnableSkinURL:"rotateRightEnable.png",
- rotateRightBtnDisableSkinURL:"rotateRightDisable.png",
- deleteBtnEnableSkinURL:"deleteEnable.png",
- deleteBtnDisableSkinURL:"deleteDisable.png",
- backgroundURL:'',
- listBackgroundURL:'',
- buttonURL:'button.png'
- }
- },
- 'autosave': {
- 'success':'Local conservation success'
- }
-};
diff --git a/public/UEditor/lang/en/images/addimage.png b/public/UEditor/lang/en/images/addimage.png
deleted file mode 100644
index 3a2fd17..0000000
Binary files a/public/UEditor/lang/en/images/addimage.png and /dev/null differ
diff --git a/public/UEditor/lang/en/images/alldeletebtnhoverskin.png b/public/UEditor/lang/en/images/alldeletebtnhoverskin.png
deleted file mode 100644
index 355eeab..0000000
Binary files a/public/UEditor/lang/en/images/alldeletebtnhoverskin.png and /dev/null differ
diff --git a/public/UEditor/lang/en/images/alldeletebtnupskin.png b/public/UEditor/lang/en/images/alldeletebtnupskin.png
deleted file mode 100644
index 61658ce..0000000
Binary files a/public/UEditor/lang/en/images/alldeletebtnupskin.png and /dev/null differ
diff --git a/public/UEditor/lang/en/images/background.png b/public/UEditor/lang/en/images/background.png
deleted file mode 100644
index d5bf5fd..0000000
Binary files a/public/UEditor/lang/en/images/background.png and /dev/null differ
diff --git a/public/UEditor/lang/en/images/button.png b/public/UEditor/lang/en/images/button.png
deleted file mode 100644
index 098874c..0000000
Binary files a/public/UEditor/lang/en/images/button.png and /dev/null differ
diff --git a/public/UEditor/lang/en/images/copy.png b/public/UEditor/lang/en/images/copy.png
deleted file mode 100644
index f982e8b..0000000
Binary files a/public/UEditor/lang/en/images/copy.png and /dev/null differ
diff --git a/public/UEditor/lang/en/images/deletedisable.png b/public/UEditor/lang/en/images/deletedisable.png
deleted file mode 100644
index c8ee750..0000000
Binary files a/public/UEditor/lang/en/images/deletedisable.png and /dev/null differ
diff --git a/public/UEditor/lang/en/images/deleteenable.png b/public/UEditor/lang/en/images/deleteenable.png
deleted file mode 100644
index 26acc88..0000000
Binary files a/public/UEditor/lang/en/images/deleteenable.png and /dev/null differ
diff --git a/public/UEditor/lang/en/images/listbackground.png b/public/UEditor/lang/en/images/listbackground.png
deleted file mode 100644
index 4f82ccd..0000000
Binary files a/public/UEditor/lang/en/images/listbackground.png and /dev/null differ
diff --git a/public/UEditor/lang/en/images/localimage.png b/public/UEditor/lang/en/images/localimage.png
deleted file mode 100644
index 12c8e6a..0000000
Binary files a/public/UEditor/lang/en/images/localimage.png and /dev/null differ
diff --git a/public/UEditor/lang/en/images/music.png b/public/UEditor/lang/en/images/music.png
deleted file mode 100644
index 2f495fe..0000000
Binary files a/public/UEditor/lang/en/images/music.png and /dev/null differ
diff --git a/public/UEditor/lang/en/images/rotateleftdisable.png b/public/UEditor/lang/en/images/rotateleftdisable.png
deleted file mode 100644
index 741526e..0000000
Binary files a/public/UEditor/lang/en/images/rotateleftdisable.png and /dev/null differ
diff --git a/public/UEditor/lang/en/images/rotateleftenable.png b/public/UEditor/lang/en/images/rotateleftenable.png
deleted file mode 100644
index e164ddb..0000000
Binary files a/public/UEditor/lang/en/images/rotateleftenable.png and /dev/null differ
diff --git a/public/UEditor/lang/en/images/rotaterightdisable.png b/public/UEditor/lang/en/images/rotaterightdisable.png
deleted file mode 100644
index 5a78c26..0000000
Binary files a/public/UEditor/lang/en/images/rotaterightdisable.png and /dev/null differ
diff --git a/public/UEditor/lang/en/images/rotaterightenable.png b/public/UEditor/lang/en/images/rotaterightenable.png
deleted file mode 100644
index d768531..0000000
Binary files a/public/UEditor/lang/en/images/rotaterightenable.png and /dev/null differ
diff --git a/public/UEditor/lang/en/images/upload.png b/public/UEditor/lang/en/images/upload.png
deleted file mode 100644
index 7bb15b3..0000000
Binary files a/public/UEditor/lang/en/images/upload.png and /dev/null differ
diff --git a/public/UEditor/lang/zh-cn/images/copy.png b/public/UEditor/lang/zh-cn/images/copy.png
deleted file mode 100644
index b2536aa..0000000
Binary files a/public/UEditor/lang/zh-cn/images/copy.png and /dev/null differ
diff --git a/public/UEditor/lang/zh-cn/images/localimage.png b/public/UEditor/lang/zh-cn/images/localimage.png
deleted file mode 100644
index 7303c36..0000000
Binary files a/public/UEditor/lang/zh-cn/images/localimage.png and /dev/null differ
diff --git a/public/UEditor/lang/zh-cn/images/music.png b/public/UEditor/lang/zh-cn/images/music.png
deleted file mode 100644
index 354edeb..0000000
Binary files a/public/UEditor/lang/zh-cn/images/music.png and /dev/null differ
diff --git a/public/UEditor/lang/zh-cn/images/upload.png b/public/UEditor/lang/zh-cn/images/upload.png
deleted file mode 100644
index 08d4d92..0000000
Binary files a/public/UEditor/lang/zh-cn/images/upload.png and /dev/null differ
diff --git a/public/UEditor/lang/zh-cn/zh-cn.js b/public/UEditor/lang/zh-cn/zh-cn.js
deleted file mode 100644
index 4d5178f..0000000
--- a/public/UEditor/lang/zh-cn/zh-cn.js
+++ /dev/null
@@ -1,669 +0,0 @@
-/**
- * Created with JetBrains PhpStorm.
- * User: taoqili
- * Date: 12-6-12
- * Time: 下午5:02
- * To change this template use File | Settings | File Templates.
- */
-UE.I18N['zh-cn'] = {
- 'labelMap':{
- 'anchor':'锚点', 'undo':'撤销', 'redo':'重做', 'bold':'加粗', 'indent':'首行缩进', 'snapscreen':'截图',
- 'italic':'斜体', 'underline':'下划线', 'strikethrough':'删除线', 'subscript':'下标','fontborder':'字符边框',
- 'superscript':'上标', 'formatmatch':'格式刷', 'source':'源代码', 'blockquote':'引用',
- 'pasteplain':'纯文本粘贴模式', 'selectall':'全选', 'print':'打印', 'preview':'预览',
- 'horizontal':'分隔线', 'removeformat':'清除格式', 'time':'时间', 'date':'日期',
- 'unlink':'取消链接', 'insertrow':'前插入行', 'insertcol':'前插入列', 'mergeright':'右合并单元格', 'mergedown':'下合并单元格',
- 'deleterow':'删除行', 'deletecol':'删除列', 'splittorows':'拆分成行',
- 'splittocols':'拆分成列', 'splittocells':'完全拆分单元格','deletecaption':'删除表格标题','inserttitle':'插入标题',
- 'mergecells':'合并多个单元格', 'deletetable':'删除表格', 'cleardoc':'清空文档','insertparagraphbeforetable':"表格前插入行",'insertcode':'代码语言',
- 'fontfamily':'字体', 'fontsize':'字号', 'paragraph':'段落格式', 'simpleupload':'单图上传', 'insertimage':'多图上传','edittable':'表格属性','edittd':'单元格属性', 'link':'超链接',
- 'emotion':'表情', 'spechars':'特殊字符', 'searchreplace':'查询替换', 'map':'Baidu地图', 'gmap':'Google地图',
- 'insertvideo':'视频', 'help':'帮助', 'justifyleft':'居左对齐', 'justifyright':'居右对齐', 'justifycenter':'居中对齐',
- 'justifyjustify':'两端对齐', 'forecolor':'字体颜色', 'backcolor':'背景色', 'insertorderedlist':'有序列表',
- 'insertunorderedlist':'无序列表', 'fullscreen':'全屏', 'directionalityltr':'从左向右输入', 'directionalityrtl':'从右向左输入',
- 'rowspacingtop':'段前距', 'rowspacingbottom':'段后距', 'pagebreak':'分页', 'insertframe':'插入Iframe', 'imagenone':'默认',
- 'imageleft':'左浮动', 'imageright':'右浮动', 'attachment':'附件', 'imagecenter':'居中', 'wordimage':'图片转存',
- 'lineheight':'行间距','edittip' :'编辑提示','customstyle':'自定义标题', 'autotypeset':'自动排版',
- 'webapp':'百度应用','touppercase':'字母大写', 'tolowercase':'字母小写','background':'背景','template':'模板','scrawl':'涂鸦',
- 'music':'音乐','inserttable':'插入表格','drafts': '从草稿箱加载', 'charts': '图表'
- },
- 'insertorderedlist':{
- 'num':'1,2,3...',
- 'num1':'1),2),3)...',
- 'num2':'(1),(2),(3)...',
- 'cn':'一,二,三....',
- 'cn1':'一),二),三)....',
- 'cn2':'(一),(二),(三)....',
- 'decimal':'1,2,3...',
- 'lower-alpha':'a,b,c...',
- 'lower-roman':'i,ii,iii...',
- 'upper-alpha':'A,B,C...',
- 'upper-roman':'I,II,III...'
- },
- 'insertunorderedlist':{
- 'circle':'○ 大圆圈',
- 'disc':'● 小黑点',
- 'square':'■ 小方块 ',
- 'dash' :'— 破折号',
- 'dot':' 。 小圆圈'
- },
- 'paragraph':{'p':'段落', 'h1':'标题 1', 'h2':'标题 2', 'h3':'标题 3', 'h4':'标题 4', 'h5':'标题 5', 'h6':'标题 6'},
- 'fontfamily':{
- 'songti':'宋体',
- 'kaiti':'楷体',
- 'heiti':'黑体',
- 'lishu':'隶书',
- 'yahei':'微软雅黑',
- 'andaleMono':'andale mono',
- 'arial': 'arial',
- 'arialBlack':'arial black',
- 'comicSansMs':'comic sans ms',
- 'impact':'impact',
- 'timesNewRoman':'times new roman'
- },
- 'customstyle':{
- 'tc':'标题居中',
- 'tl':'标题居左',
- 'im':'强调',
- 'hi':'明显强调'
- },
- 'autoupload': {
- 'exceedSizeError': '文件大小超出限制',
- 'exceedTypeError': '文件格式不允许',
- 'jsonEncodeError': '服务器返回格式错误',
- 'loading':"正在上传...",
- 'loadError':"上传错误",
- 'errorLoadConfig': '后端配置项没有正常加载,上传插件不能正常使用!'
- },
- 'simpleupload':{
- 'exceedSizeError': '文件大小超出限制',
- 'exceedTypeError': '文件格式不允许',
- 'jsonEncodeError': '服务器返回格式错误',
- 'loading':"正在上传...",
- 'loadError':"上传错误",
- 'errorLoadConfig': '后端配置项没有正常加载,上传插件不能正常使用!'
- },
- 'elementPathTip':"元素路径",
- 'wordCountTip':"字数统计",
- 'wordCountMsg':'当前已输入{#count}个字符, 您还可以输入{#leave}个字符。 ',
- 'wordOverFlowMsg':'
字数超出最大允许值,服务器可能拒绝保存!',
- 'ok':"确认",
- 'cancel':"取消",
- 'closeDialog':"关闭对话框",
- 'tableDrag':"表格拖动必须引入uiUtils.js文件!",
- 'autofloatMsg':"工具栏浮动依赖编辑器UI,您首先需要引入UI文件!",
- 'loadconfigError': '获取后台配置项请求出错,上传功能将不能正常使用!',
- 'loadconfigFormatError': '后台配置项返回格式出错,上传功能将不能正常使用!',
- 'loadconfigHttpError': '请求后台配置项http错误,上传功能将不能正常使用!',
- 'snapScreen_plugin':{
- 'browserMsg':"仅支持IE浏览器!",
- 'callBackErrorMsg':"服务器返回数据有误,请检查配置项之后重试。",
- 'uploadErrorMsg':"截图上传失败,请检查服务器端环境! "
- },
- 'insertcode':{
- 'as3':'ActionScript 3',
- 'bash':'Bash/Shell',
- 'cpp':'C/C++',
- 'css':'CSS',
- 'cf':'ColdFusion',
- 'c#':'C#',
- 'delphi':'Delphi',
- 'diff':'Diff',
- 'erlang':'Erlang',
- 'groovy':'Groovy',
- 'html':'HTML',
- 'java':'Java',
- 'jfx':'JavaFX',
- 'js':'JavaScript',
- 'pl':'Perl',
- 'php':'PHP',
- 'plain':'Plain Text',
- 'ps':'PowerShell',
- 'python':'Python',
- 'ruby':'Ruby',
- 'scala':'Scala',
- 'sql':'SQL',
- 'vb':'Visual Basic',
- 'xml':'XML'
- },
- 'confirmClear':"确定清空当前文档么?",
- 'contextMenu':{
- 'delete':"删除",
- 'selectall':"全选",
- 'deletecode':"删除代码",
- 'cleardoc':"清空文档",
- 'confirmclear':"确定清空当前文档么?",
- 'unlink':"删除超链接",
- 'paragraph':"段落格式",
- 'edittable':"表格属性",
- 'aligntd':"单元格对齐方式",
- 'aligntable':'表格对齐方式',
- 'tableleft':'左浮动',
- 'tablecenter':'居中显示',
- 'tableright':'右浮动',
- 'edittd':"单元格属性",
- 'setbordervisible':'设置表格边线可见',
- 'justifyleft':'左对齐',
- 'justifyright':'右对齐',
- 'justifycenter':'居中对齐',
- 'justifyjustify':'两端对齐',
- 'table':"表格",
- 'inserttable':'插入表格',
- 'deletetable':"删除表格",
- 'insertparagraphbefore':"前插入段落",
- 'insertparagraphafter':'后插入段落',
- 'deleterow':"删除当前行",
- 'deletecol':"删除当前列",
- 'insertrow':"前插入行",
- 'insertcol':"左插入列",
- 'insertrownext':'后插入行',
- 'insertcolnext':'右插入列',
- 'insertcaption':'插入表格名称',
- 'deletecaption':'删除表格名称',
- 'inserttitle':'插入表格标题行',
- 'deletetitle':'删除表格标题行',
- 'inserttitlecol':'插入表格标题列',
- 'deletetitlecol':'删除表格标题列',
- 'averageDiseRow':'平均分布各行',
- 'averageDisCol':'平均分布各列',
- 'mergeright':"向右合并",
- 'mergeleft':"向左合并",
- 'mergedown':"向下合并",
- 'mergecells':"合并单元格",
- 'splittocells':"完全拆分单元格",
- 'splittocols':"拆分成列",
- 'splittorows':"拆分成行",
- 'tablesort':'表格排序',
- 'enablesort':'设置表格可排序',
- 'disablesort':'取消表格可排序',
- 'reversecurrent':'逆序当前',
- 'orderbyasc':'按ASCII字符升序',
- 'reversebyasc':'按ASCII字符降序',
- 'orderbynum':'按数值大小升序',
- 'reversebynum':'按数值大小降序',
- 'borderbk':'边框底纹',
- 'setcolor':'表格隔行变色',
- 'unsetcolor':'取消表格隔行变色',
- 'setbackground':'选区背景隔行',
- 'unsetbackground':'取消选区背景',
- 'redandblue':'红蓝相间',
- 'threecolorgradient':'三色渐变',
- 'copy':"复制(Ctrl + c)",
- 'copymsg': "浏览器不支持,请使用 'Ctrl + c'",
- 'paste':"粘贴(Ctrl + v)",
- 'pastemsg': "浏览器不支持,请使用 'Ctrl + v'"
- },
- 'copymsg': "浏览器不支持,请使用 'Ctrl + c'",
- 'pastemsg': "浏览器不支持,请使用 'Ctrl + v'",
- 'anthorMsg':"链接",
- 'clearColor':'清空颜色',
- 'standardColor':'标准颜色',
- 'themeColor':'主题颜色',
- 'property':'属性',
- 'default':'默认',
- 'modify':'修改',
- 'justifyleft':'左对齐',
- 'justifyright':'右对齐',
- 'justifycenter':'居中',
- 'justify':'默认',
- 'clear':'清除',
- 'anchorMsg':'锚点',
- 'delete':'删除',
- 'clickToUpload':"点击上传",
- 'unset':'尚未设置语言文件',
- 't_row':'行',
- 't_col':'列',
- 'more':'更多',
- 'pasteOpt':'粘贴选项',
- 'pasteSourceFormat':"保留源格式",
- 'tagFormat':'只保留标签',
- 'pasteTextFormat':'只保留文本',
- 'autoTypeSet':{
- 'mergeLine':"合并空行",
- 'delLine':"清除空行",
- 'removeFormat':"清除格式",
- 'indent':"首行缩进",
- 'alignment':"对齐方式",
- 'imageFloat':"图片浮动",
- 'removeFontsize':"清除字号",
- 'removeFontFamily':"清除字体",
- 'removeHtml':"清除冗余HTML代码",
- 'pasteFilter':"粘贴过滤",
- 'run':"执行",
- 'symbol':'符号转换',
- 'bdc2sb':'全角转半角',
- 'tobdc':'半角转全角'
- },
-
- 'background':{
- 'static':{
- 'lang_background_normal':'背景设置',
- 'lang_background_local':'在线图片',
- 'lang_background_set':'选项',
- 'lang_background_none':'无背景色',
- 'lang_background_colored':'有背景色',
- 'lang_background_color':'颜色设置',
- 'lang_background_netimg':'网络图片',
- 'lang_background_align':'对齐方式',
- 'lang_background_position':'精确定位',
- 'repeatType':{'options':["居中", "横向重复", "纵向重复", "平铺","自定义"]}
-
- },
- 'noUploadImage':"当前未上传过任何图片!",
- 'toggleSelect':"单击可切换选中状态\n原图尺寸: "
- },
- //===============dialog i18N=======================
- 'insertimage':{
- 'static':{
- 'lang_tab_remote':"插入图片", //节点
- 'lang_tab_upload':"本地上传",
- 'lang_tab_online':"在线管理",
- 'lang_tab_search':"图片搜索",
- 'lang_input_url':"地 址:",
- 'lang_input_size':"大 小:",
- 'lang_input_width':"宽度",
- 'lang_input_height':"高度",
- 'lang_input_border':"边 框:",
- 'lang_input_vhspace':"边 距:",
- 'lang_input_title':"描 述:",
- 'lang_input_align':'图片浮动方式:',
- 'lang_imgLoading':" 图片加载中……",
- 'lang_start_upload':"开始上传",
- 'lock':{'title':"锁定宽高比例"}, //属性
- 'searchType':{'title':"图片类型", 'options':["新闻", "壁纸", "表情", "头像"]}, //select的option
- 'searchTxt':{'value':"请输入搜索关键词"},
- 'searchBtn':{'value':"百度一下"},
- 'searchReset':{'value':"清空搜索"},
- 'noneAlign':{'title':'无浮动'},
- 'leftAlign':{'title':'左浮动'},
- 'rightAlign':{'title':'右浮动'},
- 'centerAlign':{'title':'居中独占一行'}
- },
- 'uploadSelectFile':'点击选择图片',
- 'uploadAddFile':'继续添加',
- 'uploadStart':'开始上传',
- 'uploadPause':'暂停上传',
- 'uploadContinue':'继续上传',
- 'uploadRetry':'重试上传',
- 'uploadDelete':'删除',
- 'uploadTurnLeft':'向左旋转',
- 'uploadTurnRight':'向右旋转',
- 'uploadPreview':'预览中',
- 'uploadNoPreview':'不能预览',
- 'updateStatusReady': '选中_张图片,共_KB。',
- 'updateStatusConfirm': '已成功上传_张照片,_张照片上传失败',
- 'updateStatusFinish': '共_张(_KB),_张上传成功',
- 'updateStatusError': ',_张上传失败。',
- 'errorNotSupport': 'WebUploader 不支持您的浏览器!如果你使用的是IE浏览器,请尝试升级 flash 播放器。',
- 'errorLoadConfig': '后端配置项没有正常加载,上传插件不能正常使用!',
- 'errorExceedSize':'文件大小超出',
- 'errorFileType':'文件格式不允许',
- 'errorInterrupt':'文件传输中断',
- 'errorUploadRetry':'上传失败,请重试',
- 'errorHttp':'http请求错误',
- 'errorServerUpload':'服务器返回出错',
- 'remoteLockError':"宽高不正确,不能所定比例",
- 'numError':"请输入正确的长度或者宽度值!例如:123,400",
- 'imageUrlError':"不允许的图片格式或者图片域!",
- 'imageLoadError':"图片加载失败!请检查链接地址或网络状态!",
- 'searchRemind':"请输入搜索关键词",
- 'searchLoading':"图片加载中,请稍后……",
- 'searchRetry':" :( ,抱歉,没有找到图片!请重试一次!"
- },
- 'attachment':{
- 'static':{
- 'lang_tab_upload': '上传附件',
- 'lang_tab_online': '在线附件',
- 'lang_start_upload':"开始上传",
- 'lang_drop_remind':"可以将文件拖到这里,单次最多可选100个文件"
- },
- 'uploadSelectFile':'点击选择文件',
- 'uploadAddFile':'继续添加',
- 'uploadStart':'开始上传',
- 'uploadPause':'暂停上传',
- 'uploadContinue':'继续上传',
- 'uploadRetry':'重试上传',
- 'uploadDelete':'删除',
- 'uploadTurnLeft':'向左旋转',
- 'uploadTurnRight':'向右旋转',
- 'uploadPreview':'预览中',
- 'updateStatusReady': '选中_个文件,共_KB。',
- 'updateStatusConfirm': '已成功上传_个文件,_个文件上传失败',
- 'updateStatusFinish': '共_个(_KB),_个上传成功',
- 'updateStatusError': ',_张上传失败。',
- 'errorNotSupport': 'WebUploader 不支持您的浏览器!如果你使用的是IE浏览器,请尝试升级 flash 播放器。',
- 'errorLoadConfig': '后端配置项没有正常加载,上传插件不能正常使用!',
- 'errorExceedSize':'文件大小超出',
- 'errorFileType':'文件格式不允许',
- 'errorInterrupt':'文件传输中断',
- 'errorUploadRetry':'上传失败,请重试',
- 'errorHttp':'http请求错误',
- 'errorServerUpload':'服务器返回出错'
- },
- 'insertvideo':{
- 'static':{
- 'lang_tab_insertV':"插入视频",
- 'lang_tab_searchV':"搜索视频",
- 'lang_tab_uploadV':"上传视频",
- 'lang_video_url':"视频网址",
- 'lang_video_size':"视频尺寸",
- 'lang_videoW':"宽度",
- 'lang_videoH':"高度",
- 'lang_alignment':"对齐方式",
- 'videoSearchTxt':{'value':"请输入搜索关键字!"},
- 'videoType':{'options':["全部", "热门", "娱乐", "搞笑", "体育", "科技", "综艺"]},
- 'videoSearchBtn':{'value':"百度一下"},
- 'videoSearchReset':{'value':"清空结果"},
-
- 'lang_input_fileStatus':' 当前未上传文件',
- 'startUpload':{'style':"background:url(upload.png) no-repeat;"},
-
- 'lang_upload_size':"视频尺寸",
- 'lang_upload_width':"宽度",
- 'lang_upload_height':"高度",
- 'lang_upload_alignment':"对齐方式",
- 'lang_format_advice':"建议使用mp4格式."
-
- },
- 'numError':"请输入正确的数值,如123,400",
- 'floatLeft':"左浮动",
- 'floatRight':"右浮动",
- '"default"':"默认",
- 'block':"独占一行",
- 'urlError':"输入的视频地址有误,请检查后再试!",
- 'loading':" 视频加载中,请等待……",
- 'clickToSelect':"点击选中",
- 'goToSource':'访问源视频',
- 'noVideo':" 抱歉,找不到对应的视频,请重试!",
-
- 'browseFiles':'浏览文件',
- 'uploadSuccess':'上传成功!',
- 'delSuccessFile':'从成功队列中移除',
- 'delFailSaveFile':'移除保存失败文件',
- 'statusPrompt':' 个文件已上传! ',
- 'flashVersionError':'当前Flash版本过低,请更新FlashPlayer后重试!',
- 'flashLoadingError':'Flash加载失败!请检查路径或网络状态',
- 'fileUploadReady':'等待上传……',
- 'delUploadQueue':'从上传队列中移除',
- 'limitPrompt1':'单次不能选择超过',
- 'limitPrompt2':'个文件!请重新选择!',
- 'delFailFile':'移除失败文件',
- 'fileSizeLimit':'文件大小超出限制!',
- 'emptyFile':'空文件无法上传!',
- 'fileTypeError':'文件类型不允许!',
- 'unknownError':'未知错误!',
- 'fileUploading':'上传中,请等待……',
- 'cancelUpload':'取消上传',
- 'netError':'网络错误',
- 'failUpload':'上传失败!',
- 'serverIOError':'服务器IO错误!',
- 'noAuthority':'无权限!',
- 'fileNumLimit':'上传个数限制',
- 'failCheck':'验证失败,本次上传被跳过!',
- 'fileCanceling':'取消中,请等待……',
- 'stopUploading':'上传已停止……',
-
- 'uploadSelectFile':'点击选择文件',
- 'uploadAddFile':'继续添加',
- 'uploadStart':'开始上传',
- 'uploadPause':'暂停上传',
- 'uploadContinue':'继续上传',
- 'uploadRetry':'重试上传',
- 'uploadDelete':'删除',
- 'uploadTurnLeft':'向左旋转',
- 'uploadTurnRight':'向右旋转',
- 'uploadPreview':'预览中',
- 'updateStatusReady': '选中_个文件,共_KB。',
- 'updateStatusConfirm': '成功上传_个,_个失败',
- 'updateStatusFinish': '共_个(_KB),_个成功上传',
- 'updateStatusError': ',_张上传失败。',
- 'errorNotSupport': 'WebUploader 不支持您的浏览器!如果你使用的是IE浏览器,请尝试升级 flash 播放器。',
- 'errorLoadConfig': '后端配置项没有正常加载,上传插件不能正常使用!',
- 'errorExceedSize':'文件大小超出',
- 'errorFileType':'文件格式不允许',
- 'errorInterrupt':'文件传输中断',
- 'errorUploadRetry':'上传失败,请重试',
- 'errorHttp':'http请求错误',
- 'errorServerUpload':'服务器返回出错'
- },
- 'webapp':{
- 'tip1':"本功能由百度APP提供,如看到此页面,请各位站长首先申请百度APPKey!",
- 'tip2':"申请完成之后请至ueditor.config.js中配置获得的appkey! ",
- 'applyFor':"点此申请",
- 'anthorApi':"百度API"
- },
- 'template':{
- 'static':{
- 'lang_template_bkcolor':'背景颜色',
- 'lang_template_clear' : '保留原有内容',
- 'lang_template_select' : '选择模板'
- },
- 'blank':"空白文档",
- 'blog':"博客文章",
- 'resume':"个人简历",
- 'richText':"图文混排",
- 'sciPapers':"科技论文"
-
-
- },
- 'scrawl':{
- 'static':{
- 'lang_input_previousStep':"上一步",
- 'lang_input_nextsStep':"下一步",
- 'lang_input_clear':'清空',
- 'lang_input_addPic':'添加背景',
- 'lang_input_ScalePic':'缩放背景',
- 'lang_input_removePic':'删除背景',
- 'J_imgTxt':{title:'添加背景图片'}
- },
- 'noScarwl':"尚未作画,白纸一张~",
- 'scrawlUpLoading':"涂鸦上传中,别急哦~",
- 'continueBtn':"继续",
- 'imageError':"糟糕,图片读取失败了!",
- 'backgroundUploading':'背景图片上传中,别急哦~'
- },
- 'music':{
- 'static':{
- 'lang_input_tips':"输入歌手/歌曲/专辑,搜索您感兴趣的音乐!",
- 'J_searchBtn':{value:'搜索歌曲'}
- },
- 'emptyTxt':'未搜索到相关音乐结果,请换一个关键词试试。',
- 'chapter':'歌曲',
- 'singer':'歌手',
- 'special':'专辑',
- 'listenTest':'试听'
- },
- 'anchor':{
- 'static':{
- 'lang_input_anchorName':'锚点名字:'
- }
- },
- 'charts':{
- 'static':{
- 'lang_data_source':'数据源:',
- 'lang_chart_format': '图表格式:',
- 'lang_data_align': '数据对齐方式',
- 'lang_chart_align_same': '数据源与图表X轴Y轴一致',
- 'lang_chart_align_reverse': '数据源与图表X轴Y轴相反',
- 'lang_chart_title': '图表标题',
- 'lang_chart_main_title': '主标题:',
- 'lang_chart_sub_title': '子标题:',
- 'lang_chart_x_title': 'X轴标题:',
- 'lang_chart_y_title': 'Y轴标题:',
- 'lang_chart_tip': '提示文字',
- 'lang_cahrt_tip_prefix': '提示文字前缀:',
- 'lang_cahrt_tip_description': '仅饼图有效, 当鼠标移动到饼图中相应的块上时,提示框内的文字的前缀',
- 'lang_chart_data_unit': '数据单位',
- 'lang_chart_data_unit_title': '单位:',
- 'lang_chart_data_unit_description': '显示在每个数据点上的数据的单位, 比如: 温度的单位 ℃',
- 'lang_chart_type': '图表类型:',
- 'lang_prev_btn': '上一个',
- 'lang_next_btn': '下一个'
- }
- },
- 'emotion':{
- 'static':{
- 'lang_input_choice':'精选',
- 'lang_input_Tuzki':'兔斯基',
- 'lang_input_BOBO':'BOBO',
- 'lang_input_lvdouwa':'绿豆蛙',
- 'lang_input_babyCat':'baby猫',
- 'lang_input_bubble':'泡泡',
- 'lang_input_youa':'有啊'
- }
- },
- 'gmap':{
- 'static':{
- 'lang_input_address':'地址',
- 'lang_input_search':'搜索',
- 'address':{value:"北京"}
- },
- searchError:'无法定位到该地址!'
- },
- 'help':{
- 'static':{
- 'lang_input_about':'关于UEditor',
- 'lang_input_shortcuts':'快捷键',
- 'lang_input_introduction':'UEditor是由百度web前端研发部开发的所见即所得富文本web编辑器,具有轻量,可定制,注重用户体验等特点。开源基于BSD协议,允许自由使用和修改代码。',
- 'lang_Txt_shortcuts':'快捷键',
- 'lang_Txt_func':'功能',
- 'lang_Txt_bold':'给选中字设置为加粗',
- 'lang_Txt_copy':'复制选中内容',
- 'lang_Txt_cut':'剪切选中内容',
- 'lang_Txt_Paste':'粘贴',
- 'lang_Txt_undo':'重新执行上次操作',
- 'lang_Txt_redo':'撤销上一次操作',
- 'lang_Txt_italic':'给选中字设置为斜体',
- 'lang_Txt_underline':'给选中字加下划线',
- 'lang_Txt_selectAll':'全部选中',
- 'lang_Txt_visualEnter':'软回车',
- 'lang_Txt_fullscreen':'全屏'
- }
- },
- 'insertframe':{
- 'static':{
- 'lang_input_address':'地址:',
- 'lang_input_width':'宽度:',
- 'lang_input_height':'高度:',
- 'lang_input_isScroll':'允许滚动条:',
- 'lang_input_frameborder':'显示框架边框:',
- 'lang_input_alignMode':'对齐方式:',
- 'align':{title:"对齐方式", options:["默认", "左对齐", "右对齐", "居中"]}
- },
- 'enterAddress':'请输入地址!'
- },
- 'link':{
- 'static':{
- 'lang_input_text':'文本内容:',
- 'lang_input_url':'链接地址:',
- 'lang_input_title':'标题:',
- 'lang_input_target':'是否在新窗口打开:'
- },
- 'validLink':'只支持选中一个链接时生效',
- 'httpPrompt':'您输入的超链接中不包含http等协议名称,默认将为您添加http://前缀'
- },
- 'map':{
- 'static':{
- lang_city:"城市",
- lang_address:"地址",
- city:{value:"北京"},
- lang_search:"搜索",
- lang_dynamicmap:"插入动态地图"
- },
- cityMsg:"请选择城市",
- errorMsg:"抱歉,找不到该位置!"
- },
- 'searchreplace':{
- 'static':{
- lang_tab_search:"查找",
- lang_tab_replace:"替换",
- lang_search1:"查找",
- lang_search2:"查找",
- lang_replace:"替换",
- lang_searchReg:'支持正则表达式,添加前后斜杠标示为正则表达式,例如“/表达式/”',
- lang_searchReg1:'支持正则表达式,添加前后斜杠标示为正则表达式,例如“/表达式/”',
- lang_case_sensitive1:"区分大小写",
- lang_case_sensitive2:"区分大小写",
- nextFindBtn:{value:"下一个"},
- preFindBtn:{value:"上一个"},
- nextReplaceBtn:{value:"下一个"},
- preReplaceBtn:{value:"上一个"},
- repalceBtn:{value:"替换"},
- repalceAllBtn:{value:"全部替换"}
- },
- getEnd:"已经搜索到文章末尾!",
- getStart:"已经搜索到文章头部",
- countMsg:"总共替换了{#count}处!"
- },
- 'snapscreen':{
- 'static':{
- lang_showMsg:"截图功能需要首先安装UEditor截图插件! ",
- lang_download:"点此下载",
- lang_step1:"第一步,下载UEditor截图插件并运行安装。",
- lang_step2:"第二步,插件安装完成后即可使用,如不生效,请重启浏览器后再试!"
- }
- },
- 'spechars':{
- 'static':{},
- tsfh:"特殊字符",
- lmsz:"罗马字符",
- szfh:"数学字符",
- rwfh:"日文字符",
- xlzm:"希腊字母",
- ewzm:"俄文字符",
- pyzm:"拼音字母",
- yyyb:"英语音标",
- zyzf:"其他"
- },
- 'edittable':{
- 'static':{
- 'lang_tableStyle':'表格样式',
- 'lang_insertCaption':'添加表格名称行',
- 'lang_insertTitle':'添加表格标题行',
- 'lang_insertTitleCol':'添加表格标题列',
- 'lang_orderbycontent':"使表格内容可排序",
- 'lang_tableSize':'自动调整表格尺寸',
- 'lang_autoSizeContent':'按表格文字自适应',
- 'lang_autoSizePage':'按页面宽度自适应',
- 'lang_example':'示例',
- 'lang_borderStyle':'表格边框',
- 'lang_color':'颜色:'
- },
- captionName:'表格名称',
- titleName:'标题',
- cellsName:'内容',
- errorMsg:'有合并单元格,不可排序'
- },
- 'edittip':{
- 'static':{
- lang_delRow:'删除整行',
- lang_delCol:'删除整列'
- }
- },
- 'edittd':{
- 'static':{
- lang_tdBkColor:'背景颜色:'
- }
- },
- 'formula':{
- 'static':{
- }
- },
- 'wordimage':{
- 'static':{
- lang_resave:"转存步骤",
- uploadBtn:{src:"upload.png",alt:"上传"},
- clipboard:{style:"background: url(copy.png) -153px -1px no-repeat;"},
- lang_step:"1、点击顶部复制按钮,将地址复制到剪贴板;2、点击添加照片按钮,在弹出的对话框中使用Ctrl+V粘贴地址;3、点击打开后选择图片上传流程。"
- },
- 'fileType':"图片",
- 'flashError':"FLASH初始化失败,请检查FLASH插件是否正确安装!",
- 'netError':"网络连接错误,请重试!",
- 'copySuccess':"图片地址已经复制!",
- 'flashI18n':{} //留空默认中文
- },
- 'autosave': {
- 'saving':'保存中...',
- 'success':'本地保存成功'
- }
-};
diff --git a/public/UEditor/themes/default/css/ueditor.css b/public/UEditor/themes/default/css/ueditor.css
deleted file mode 100644
index 44ae805..0000000
--- a/public/UEditor/themes/default/css/ueditor.css
+++ /dev/null
@@ -1,1903 +0,0 @@
-/*基础UI构建
-*/
-/* common layer */
-.edui-default .edui-box {
- border: none;
- padding: 0;
- margin: 0;
- overflow: hidden;
-}
-
-.edui-default a.edui-box {
- display: block;
- text-decoration: none;
- color: black;
-}
-
-.edui-default a.edui-box:hover {
- text-decoration: none;
-}
-
-.edui-default a.edui-box:active {
- text-decoration: none;
-}
-
-.edui-default table.edui-box {
- border-collapse: collapse;
-}
-
-.edui-default ul.edui-box {
- list-style-type: none;
-}
-
-div.edui-box {
- position: relative;
- display: -moz-inline-box !important;
- display: inline-block !important;
- vertical-align: top;
-}
-
-.edui-default .edui-clearfix {
- zoom: 1
-}
-
-.edui-default .edui-clearfix:after {
- content: '\20';
- display: block;
- clear: both;
-}
-
- * html div.edui-box {
- display: inline !important;
-}
-
-*:first-child+html div.edui-box {
- display: inline !important;
-}
-
-/* control layout */
-.edui-default .edui-button-body, .edui-splitbutton-body, .edui-menubutton-body, .edui-combox-body {
- position: relative;
-}
-
-.edui-default .edui-popup {
- position: absolute;
- -webkit-user-select: none;
- -moz-user-select: none;
-}
-
-.edui-default .edui-popup .edui-shadow {
- position: absolute;
- z-index: -1;
-}
-
-.edui-default .edui-popup .edui-bordereraser {
- position: absolute;
- overflow: hidden;
-}
-
-.edui-default .edui-tablepicker .edui-canvas {
- position: relative;
-}
-
-.edui-default .edui-tablepicker .edui-canvas .edui-overlay {
- position: absolute;
-}
-
-.edui-default .edui-dialog-modalmask, .edui-dialog-dragmask {
- position: absolute;
- left: 0;
- top: 0;
- width: 100%;
- height: 100%;
-}
-
-.edui-default .edui-toolbar {
- position: relative;
-}
-
-/*
- * default theme
- */
-.edui-default .edui-label {
- cursor: default;
-}
-
-.edui-default span.edui-clickable {
- color: blue;
- cursor: pointer;
- text-decoration: underline;
-}
-
-.edui-default span.edui-unclickable {
- color: gray;
- cursor: default;
-}
-/* 工具栏 */
-.edui-default .edui-toolbar {
- cursor: default;
- -webkit-user-select: none;
- -moz-user-select: none;
- padding: 1px;
- overflow: hidden; /*全屏下单独一行不占位*/
- zoom: 1;
- width:auto;
- height:auto;
-}
-
-.edui-default .edui-toolbar .edui-button,
-.edui-default .edui-toolbar .edui-splitbutton,
-.edui-default .edui-toolbar .edui-menubutton,
-.edui-default .edui-toolbar .edui-combox {
- margin: 1px;
-}
-/*UI工具栏、编辑区域、底部*/
-.edui-default .edui-editor {
- border: 1px solid #d4d4d4;
- background-color: white;
- position: relative;
- overflow: visible;
- -webkit-border-radius: 4px;
- -moz-border-radius: 4px;
- border-radius: 4px;
-}
-.edui-editor div{
- width:auto;
- height:auto;
-}
-.edui-default .edui-editor-toolbarbox {
- position: relative;
- zoom: 1;
- -webkit-box-shadow:0 1px 4px rgba(204, 204, 204, 0.6);
- -moz-box-shadow:0 1px 4px rgba(204, 204, 204, 0.6);
- box-shadow:0 1px 4px rgba(204, 204, 204, 0.6);
- border-top-left-radius:2px;
- border-top-right-radius:2px;
-}
-
-.edui-default .edui-editor-toolbarboxouter {
- border-bottom: 1px solid #d4d4d4;
- background-color: #fafafa;
- background-image: -moz-linear-gradient(top, #ffffff, #f2f2f2);
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f2f2f2));
- background-image: -webkit-linear-gradient(top, #ffffff, #f2f2f2);
- background-image: -o-linear-gradient(top, #ffffff, #f2f2f2);
- background-image: linear-gradient(to bottom, #ffffff, #f2f2f2);
- background-repeat: repeat-x;
- /*border: 1px solid #d4d4d4;*/
- -webkit-border-radius: 4px 4px 0 0;
- -moz-border-radius: 4px 4px 0 0;
- border-radius: 4px 4px 0 0;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff2f2f2', GradientType=0);
- *zoom: 1;
- -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
- -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
- box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
-}
-
-.edui-default .edui-editor-toolbarboxinner {
- padding: 2px;
-}
-
-.edui-default .edui-editor-iframeholder {
- position: relative;
- /*for fix ie6 toolbarmsg under iframe bug. relative -> static */
- /*_position: static !important;*
-}
-
-.edui-default .edui-editor-iframeholder textarea {
- font-family: consolas, "Courier New", "lucida console", monospace;
- font-size: 12px;
- line-height: 18px;
-}
-
-.edui-default .edui-editor-bottombar {
- /*border-top: 1px solid #ccc;*/
- /*height: 20px;*/
- /*width: 40%;*/
- /*float: left;*/
- /*overflow: hidden;*/
-}
-
-.edui-default .edui-editor-bottomContainer {
- overflow: hidden;
-}
-
-.edui-default .edui-editor-bottomContainer table {
- width: 100%;
- height: 0;
- overflow: hidden;
- border-spacing: 0;
-}
-
-.edui-default .edui-editor-bottomContainer td {
- white-space: nowrap;
- border-top: 1px solid #ccc;
- line-height: 20px;
- font-size: 12px;
- font-family: Arial, Helvetica, Tahoma, Verdana, Sans-Serif;
-}
-
-.edui-default .edui-editor-wordcount {
- text-align: right;
- margin-right: 5px;
- color: #aaa;
-}
-.edui-default .edui-editor-scale {
- width: 12px;
-}
-.edui-default .edui-editor-scale .edui-editor-icon {
- float: right;
- width: 100%;
- height: 12px;
- margin-top: 10px;
- background: url(../images/scale.png) no-repeat;
- cursor: se-resize;
-}
-.edui-default .edui-editor-breadcrumb {
- margin: 2px 0 0 3px;
-}
-
-.edui-default .edui-editor-breadcrumb span {
- cursor: pointer;
- text-decoration: underline;
- color: blue;
-}
-
-.edui-default .edui-toolbar .edui-for-fullscreen {
- float: right;
-}
-
-.edui-default .edui-bubble .edui-popup-content {
- border: 1px solid #DCAC6C;
- background-color: #fff6d9;
- padding: 5px;
- font-size: 10pt;
- font-family: "宋体";
-}
-
-.edui-default .edui-bubble .edui-shadow {
- /*box-shadow: 1px 1px 3px #818181;*/
- /*-webkit-box-shadow: 2px 2px 3px #818181;*/
- /*-moz-box-shadow: 2px 2px 3px #818181;*/
- /*filter: progid:DXImageTransform.Microsoft.Blur(PixelRadius = '2', MakeShadow = 'true', ShadowOpacity = '0.5');*/
-}
-
-.edui-default .edui-editor-toolbarmsg {
- background-color: #FFF6D9;
- border-bottom: 1px solid #ccc;
- position: absolute;
- bottom: -25px;
- left: 0;
- z-index: 1009;
- width: 99.9%;
-}
-
-.edui-default .edui-editor-toolbarmsg-upload {
- font-size: 14px;
- color: blue;
- width: 100px;
- height: 16px;
- line-height: 16px;
- cursor: pointer;
- position: absolute;
- top: 5px;
- left: 350px;
-}
-
-.edui-default .edui-editor-toolbarmsg-label {
- font-size: 12px;
- line-height: 16px;
- padding: 4px;
-}
-
-.edui-default .edui-editor-toolbarmsg-close {
- float: right;
- width: 20px;
- height: 16px;
- line-height: 16px;
- cursor: pointer;
- color: red;
-}
-/*可选中菜单按钮*/
-.edui-default .edui-list .edui-bordereraser {
- display: none;
-}
-
-.edui-default .edui-listitem {
- padding: 1px;
- white-space: nowrap;
-}
-
-.edui-default .edui-list .edui-state-hover {
- position: relative;
- background-color: #fff5d4;
- border: 1px solid #dcac6c;
- padding: 0;
-}
-
-.edui-default .edui-for-fontfamily .edui-listitem-label {
- min-width: 130px;
- _width: 120px;
- font-size: 12px;
- height: 22px;
- line-height: 22px;
- padding-left: 5px;
-}
-.edui-default .edui-for-insertcode .edui-listitem-label {
- min-width: 120px;
- _width: 120px;
- font-size: 12px;
- height: 22px;
- line-height: 22px;
- padding-left: 5px;
-}
-.edui-default .edui-for-underline .edui-listitem-label {
- min-width: 120px;
- _width: 120px;
- padding: 3px 5px;
- font-size: 12px;
-}
-
-.edui-default .edui-for-fontsize .edui-listitem-label {
- min-width: 120px;
- _width: 120px;
- padding: 3px 5px;
-
-}
-
-.edui-default .edui-for-paragraph .edui-listitem-label {
- min-width: 200px;
- _width: 200px;
- padding: 2px 5px;
-}
-
-.edui-default .edui-for-rowspacingtop .edui-listitem-label,
-.edui-default .edui-for-rowspacingbottom .edui-listitem-label {
- min-width: 53px;
- _width: 53px;
- padding: 2px 5px;
-}
-
-.edui-default .edui-for-lineheight .edui-listitem-label {
- min-width: 53px;
- _width: 53px;
- padding: 2px 5px;
-}
-
-.edui-default .edui-for-customstyle .edui-listitem-label {
- min-width: 200px;
- _width: 200px;
- width: 200px !important;
- padding: 2px 5px;
-}
-/* 可选中按钮弹出菜单*/
-.edui-default .edui-menu {
- z-index: 3000;
-}
-
-.edui-default .edui-menu .edui-popup-content {
- padding: 3px;
-}
-
-.edui-default .edui-menu-body {
- _width: 150px;
- min-width: 170px;
- background: url("../images/sparator_v.png") repeat-y 25px;
-}
-
-.edui-default .edui-menuitem-body {
-}
-
-.edui-default .edui-menuitem {
- height: 20px;
- cursor: default;
- vertical-align: top;
-}
-
-.edui-default .edui-menuitem .edui-icon {
- width: 20px !important;
- height: 20px !important;
- background: url(../images/icons.png) 0 -4000px;
- background: url(../images/icons.gif) 0 -4000px\9;
-}
-
-.edui-default .edui-menuitem .edui-label {
- font-size: 12px;
- line-height: 20px;
- height: 20px;
- padding-left: 10px;
-}
-
-.edui-default .edui-state-checked .edui-menuitem-body {
- background: url("../images/icons-all.gif") no-repeat 6px -205px;
-}
-
-.edui-default .edui-state-disabled .edui-menuitem-label {
- color: gray;
-}
-
-
-/*不可选中菜单按钮 */
-.edui-default .edui-toolbar .edui-combox-body .edui-button-body {
- width: 60px;
- font-size: 12px;
- height: 20px;
- line-height: 20px;
- padding-left: 5px;
- white-space: nowrap;
- margin: 0 3px 0 0;
-}
-
-.edui-default .edui-toolbar .edui-combox-body .edui-arrow {
- background: url(../images/icons.png) -741px 0;
- _background: url(../images/icons.gif) -741px 0;
- height: 20px;
- width: 9px;
-}
-
-.edui-default .edui-toolbar .edui-combox .edui-combox-body {
- border: 1px solid #CCC;
- background-color: white;
- border-radius: 2px;
- -webkit-border-radius: 2px;
- -moz-border-radius: 2px;
-}
-
-.edui-default .edui-toolbar .edui-combox-body .edui-splitborder {
- display: none;
-}
-
-.edui-default .edui-toolbar .edui-combox-body .edui-arrow {
- border-left: 1px solid #CCC;
-}
-
-.edui-default .edui-toolbar .edui-state-hover .edui-combox-body {
- background-color: #fff5d4;
- border: 1px solid #dcac6c;
-}
-
-.edui-default .edui-toolbar .edui-state-hover .edui-combox-body .edui-arrow {
- border-left: 1px solid #dcac6c;
-}
-
-.edui-default .edui-toolbar .edui-state-checked .edui-combox-body {
- background-color: #FFE69F;
- border: 1px solid #DCAC6C;
-}
-
-.edui-toolbar .edui-state-checked .edui-combox-body .edui-arrow {
- border-left: 1px solid #DCAC6C;
-}
-
-.edui-toolbar .edui-state-disabled .edui-combox-body {
- background-color: #F0F0EE;
- opacity: 0.3;
- filter: alpha(opacity = 30);
-}
-
-.edui-toolbar .edui-state-opened .edui-combox-body {
- background-color: white;
- border: 1px solid gray;
-}
-/*普通按钮样式及状态*/
-.edui-default .edui-toolbar .edui-button .edui-icon,
-.edui-default .edui-toolbar .edui-menubutton .edui-icon,
-.edui-default .edui-toolbar .edui-splitbutton .edui-icon {
- height: 20px !important;
- width: 20px !important;
- background-image: url(../images/icons.png);
- background-image: url(../images/icons.gif) \9;
-}
-
-.edui-default .edui-toolbar .edui-button .edui-button-wrap {
- padding: 1px;
- position: relative;
-}
-
-.edui-default .edui-toolbar .edui-button .edui-state-hover .edui-button-wrap {
- background-color: #fff5d4;
- padding: 0;
- border: 1px solid #dcac6c;
-}
-
-.edui-default .edui-toolbar .edui-button .edui-state-checked .edui-button-wrap {
- background-color: #ffe69f;
- padding: 0;
- border: 1px solid #dcac6c;
- border-radius: 2px;
- -webkit-border-radius: 2px;
- -moz-border-radius: 2px;
-}
-
-.edui-default .edui-toolbar .edui-button .edui-state-active .edui-button-wrap {
- background-color: #ffffff;
- padding: 0;
- border: 1px solid gray;
-}
-.edui-default .edui-toolbar .edui-state-disabled .edui-label {
- color: #ccc;
-}
-.edui-default .edui-toolbar .edui-state-disabled .edui-icon {
- opacity: 0.3;
- filter: alpha(opacity = 30);
-}
-
-/* toolbar icons */
-.edui-default .edui-for-undo .edui-icon {
- background-position: -160px 0;
-}
-
-.edui-default .edui-for-redo .edui-icon {
- background-position: -100px 0;
-}
-
-.edui-default .edui-for-bold .edui-icon {
- background-position: 0 0;
-}
-
-.edui-default .edui-for-italic .edui-icon {
- background-position: -60px 0;
-}
-
-.edui-default .edui-for-fontborder .edui-icon {
- background-position:-160px -40px;
-}
-.edui-default .edui-for-underline .edui-icon {
- background-position: -140px 0;
-}
-
-.edui-default .edui-for-strikethrough .edui-icon {
- background-position: -120px 0;
-}
-
-.edui-default .edui-for-subscript .edui-icon {
- background-position: -600px 0;
-}
-
-.edui-default .edui-for-superscript .edui-icon {
- background-position: -620px 0;
-}
-
-.edui-default .edui-for-blockquote .edui-icon {
- background-position: -220px 0;
-}
-
-.edui-default .edui-for-forecolor .edui-icon {
- background-position: -720px 0;
-}
-
-.edui-default .edui-for-backcolor .edui-icon {
- background-position: -760px 0;
-}
-
-.edui-default .edui-for-inserttable .edui-icon {
- background-position: -580px -20px;
-}
-
-.edui-default .edui-for-autotypeset .edui-icon {
- background-position: -640px -40px;
-}
-
-.edui-default .edui-for-justifyleft .edui-icon {
- background-position: -460px 0;
-}
-
-.edui-default .edui-for-justifycenter .edui-icon {
- background-position: -420px 0;
-}
-
-.edui-default .edui-for-justifyright .edui-icon {
- background-position: -480px 0;
-}
-
-.edui-default .edui-for-justifyjustify .edui-icon {
- background-position: -440px 0;
-}
-
-.edui-default .edui-for-insertorderedlist .edui-icon {
- background-position: -80px 0;
-}
-
-.edui-default .edui-for-insertunorderedlist .edui-icon {
- background-position: -20px 0;
-}
-
-.edui-default .edui-for-lineheight .edui-icon {
- background-position: -725px -40px;
-}
-
-.edui-default .edui-for-rowspacingbottom .edui-icon {
- background-position: -745px -40px;
-}
-
-.edui-default .edui-for-rowspacingtop .edui-icon {
- background-position: -765px -40px;
-}
-
-.edui-default .edui-for-horizontal .edui-icon {
- background-position: -360px 0;
-}
-
-.edui-default .edui-for-link .edui-icon {
- background-position: -500px 0;
-}
-
-.edui-default .edui-for-code .edui-icon {
- background-position: -440px -40px;
-}
-
-.edui-default .edui-for-insertimage .edui-icon {
- background-position: -726px -77px;
-}
-
-.edui-default .edui-for-insertframe .edui-icon {
- background-position: -240px -40px;
-}
-
-.edui-default .edui-for-emoticon .edui-icon {
- background-position: -60px -20px;
-}
-
-.edui-default .edui-for-spechars .edui-icon {
- background-position: -240px 0;
-}
-
-.edui-default .edui-for-help .edui-icon {
- background-position: -340px 0;
-}
-
-.edui-default .edui-for-print .edui-icon {
- background-position: -440px -20px;
-}
-
-.edui-default .edui-for-preview .edui-icon {
- background-position: -420px -20px;
-}
-
-.edui-default .edui-for-selectall .edui-icon {
- background-position: -400px -20px;
-}
-
-.edui-default .edui-for-searchreplace .edui-icon {
- background-position: -520px -20px;
-}
-
-.edui-default .edui-for-map .edui-icon {
- background-position: -40px -40px;
-}
-
-.edui-default .edui-for-gmap .edui-icon {
- background-position: -260px -40px;
-}
-
-.edui-default .edui-for-insertvideo .edui-icon {
- background-position: -320px -20px;
-}
-
-.edui-default .edui-for-time .edui-icon {
- background-position: -160px -20px;
-}
-
-.edui-default .edui-for-date .edui-icon {
- background-position: -140px -20px;
-}
-
-.edui-default .edui-for-cut .edui-icon {
- background-position: -680px 0;
-}
-
-.edui-default .edui-for-copy .edui-icon {
- background-position: -700px 0;
-}
-
-.edui-default .edui-for-paste .edui-icon {
- background-position: -560px 0;
-}
-
-.edui-default .edui-for-formatmatch .edui-icon {
- background-position: -40px 0;
-}
-
-.edui-default .edui-for-pasteplain .edui-icon {
- background-position: -360px -20px;
-}
-
-.edui-default .edui-for-directionalityltr .edui-icon {
- background-position: -20px -20px;
-}
-
-.edui-default .edui-for-directionalityrtl .edui-icon {
- background-position: -40px -20px;
-}
-
-.edui-default .edui-for-source .edui-icon {
- background-position: -261px -0px;
-}
-
-.edui-default .edui-for-removeformat .edui-icon {
- background-position: -580px 0;
-}
-
-.edui-default .edui-for-unlink .edui-icon {
- background-position: -640px 0;
-}
-
-.edui-default .edui-for-touppercase .edui-icon {
- background-position: -786px 0;
-}
-
-.edui-default .edui-for-tolowercase .edui-icon {
- background-position: -806px 0;
-}
-
-.edui-default .edui-for-insertrow .edui-icon {
- background-position: -478px -76px;
-}
-
-.edui-default .edui-for-insertrownext .edui-icon {
- background-position: -498px -76px;
-}
-
-.edui-default .edui-for-insertcol .edui-icon {
- background-position: -455px -76px;
-}
-
-.edui-default .edui-for-insertcolnext .edui-icon {
- background-position: -429px -76px;
-}
-
-.edui-default .edui-for-mergeright .edui-icon {
- background-position: -60px -40px;
-}
-
-.edui-default .edui-for-mergedown .edui-icon {
- background-position: -80px -40px;
-}
-
-.edui-default .edui-for-splittorows .edui-icon {
- background-position: -100px -40px;
-}
-
-.edui-default .edui-for-splittocols .edui-icon {
- background-position: -120px -40px;
-}
-
-.edui-default .edui-for-insertparagraphbeforetable .edui-icon {
- background-position: -140px -40px;
-}
-
-.edui-default .edui-for-deleterow .edui-icon {
- background-position: -660px -20px;
-}
-
-.edui-default .edui-for-deletecol .edui-icon {
- background-position: -640px -20px;
-}
-
-.edui-default .edui-for-splittocells .edui-icon {
- background-position: -800px -20px;
-}
-
-.edui-default .edui-for-mergecells .edui-icon {
- background-position: -760px -20px;
-}
-
-.edui-default .edui-for-deletetable .edui-icon {
- background-position: -620px -20px;
-}
-
-.edui-default .edui-for-cleardoc .edui-icon {
- background-position: -520px 0;
-}
-
-.edui-default .edui-for-fullscreen .edui-icon {
- background-position: -100px -20px;
-}
-
-.edui-default .edui-for-anchor .edui-icon {
- background-position: -200px 0;
-}
-
-.edui-default .edui-for-pagebreak .edui-icon {
- background-position: -460px -40px;
-}
-
-.edui-default .edui-for-imagenone .edui-icon {
- background-position: -480px -40px;
-}
-
-.edui-default .edui-for-imageleft .edui-icon {
- background-position: -500px -40px;
-}
-
-.edui-default .edui-for-wordimage .edui-icon {
- background-position: -660px -40px;
-}
-
-.edui-default .edui-for-imageright .edui-icon {
- background-position: -520px -40px;
-}
-
-.edui-default .edui-for-imagecenter .edui-icon {
- background-position: -540px -40px;
-}
-
-.edui-default .edui-for-indent .edui-icon {
- background-position: -400px 0;
-}
-
-.edui-default .edui-for-outdent .edui-icon {
- background-position: -540px 0;
-}
-
-.edui-default .edui-for-webapp .edui-icon {
- background-position: -601px -40px
-}
-
-.edui-default .edui-for-table .edui-icon {
- background-position: -580px -20px;
-}
-
-.edui-default .edui-for-edittable .edui-icon {
- background-position: -420px -40px;
-}
-
-.edui-default .edui-for-template .edui-icon {
- background-position: -339px -40px;
-}
-
-.edui-default .edui-for-delete .edui-icon {
- background-position: -360px -40px;
-}
-
-.edui-default .edui-for-attachment .edui-icon {
- background-position: -620px -40px;
-}
-
-.edui-default .edui-for-edittd .edui-icon {
- background-position: -700px -40px;
-}
-
-.edui-default .edui-for-snapscreen .edui-icon {
- background-position: -581px -40px
-}
-
-.edui-default .edui-for-scrawl .edui-icon {
- background-position: -801px -41px
-}
-
-.edui-default .edui-for-background .edui-icon {
- background-position: -680px -40px;
-}
-
-.edui-default .edui-for-music .edui-icon {
- background-position: -18px -40px
-}
-
-.edui-default .edui-for-formula .edui-icon {
- background-position: -200px -40px
-}
-
-.edui-default .edui-for-aligntd .edui-icon {
- background-position: -236px -76px;
-}
-
-.edui-default .edui-for-insertparagraphtrue .edui-icon {
- background-position: -625px -76px;
-}
-
-.edui-default .edui-for-insertparagraph .edui-icon {
- background-position: -602px -76px;
-}
-
-.edui-default .edui-for-insertcaption .edui-icon {
- background-position: -336px -76px;
-}
-
-.edui-default .edui-for-deletecaption .edui-icon {
- background-position: -362px -76px;
-}
-
-.edui-default .edui-for-inserttitle .edui-icon {
- background-position: -286px -76px;
-}
-
-.edui-default .edui-for-deletetitle .edui-icon {
- background-position: -311px -76px;
-}
-
-.edui-default .edui-for-aligntable .edui-icon {
- background-position: -440px 0;
-}
-
-.edui-default .edui-for-tablealignment-left .edui-icon {
- background-position: -460px 0;
-}
-
-.edui-default .edui-for-tablealignment-center .edui-icon {
- background-position: -420px 0;
-}
-
-.edui-default .edui-for-tablealignment-right .edui-icon {
- background-position: -480px 0;
-}
-
-.edui-default .edui-for-drafts .edui-icon {
- background-position: -560px 0;
-}
-
-.edui-default .edui-for-charts .edui-icon {
- background: url( ../images/charts.png ) no-repeat 2px 3px!important;
-}
-
-.edui-default .edui-for-inserttitlecol .edui-icon {
- background-position: -673px -76px;
-}
-
-.edui-default .edui-for-deletetitlecol .edui-icon {
- background-position: -698px -76px;
-}
-
-.edui-default .edui-for-simpleupload .edui-icon {
- background-position: -380px 0px;
-}
-/*splitbutton*/
-.edui-default .edui-toolbar .edui-splitbutton-body .edui-arrow,
-.edui-default .edui-toolbar .edui-menubutton-body .edui-arrow {
- background: url(../images/icons.png) -741px 0;
- _background: url(../images/icons.gif) -741px 0;
- height: 20px;
- width: 9px;
-}
-
-.edui-default .edui-toolbar .edui-splitbutton .edui-splitbutton-body,
-.edui-default .edui-toolbar .edui-menubutton .edui-menubutton-body {
- padding: 1px;
-}
-
-.edui-default .edui-toolbar .edui-splitborder {
- width: 1px;
- height: 20px;
-}
-
-.edui-default .edui-toolbar .edui-state-hover .edui-splitborder {
- width: 1px;
- border-left: 0px solid #dcac6c;
-}
-
-.edui-default .edui-toolbar .edui-state-active .edui-splitborder {
- width: 0;
- border-left: 1px solid gray;
-}
-
-.edui-default .edui-toolbar .edui-state-opened .edui-splitborder {
- width: 1px;
- border: 0;
-}
-
-.edui-default .edui-toolbar .edui-splitbutton .edui-state-hover .edui-splitbutton-body,
-.edui-default .edui-toolbar .edui-menubutton .edui-state-hover .edui-menubutton-body {
- background-color: #fff5d4;
- border: 1px solid #dcac6c;
- padding: 0;
-}
-
-.edui-default .edui-toolbar .edui-splitbutton .edui-state-checked .edui-splitbutton-body,
-.edui-default .edui-toolbar .edui-menubutton .edui-state-checked .edui-menubutton-body {
- background-color: #FFE69F;
- border: 1px solid #DCAC6C;
- padding: 0;
-}
-
-.edui-default .edui-toolbar .edui-splitbutton .edui-state-active .edui-splitbutton-body,
-.edui-default .edui-toolbar .edui-menubutton .edui-state-active .edui-menubutton-body {
- background-color: #ffffff;
- border: 1px solid gray;
- padding: 0;
-}
-
-.edui-default .edui-state-disabled .edui-arrow {
- opacity: 0.3;
- _filter: alpha(opacity = 30);
-}
-
-.edui-default .edui-toolbar .edui-splitbutton .edui-state-opened .edui-splitbutton-body,
-.edui-default .edui-toolbar .edui-menubutton .edui-state-opened .edui-menubutton-body {
- background-color: white;
- border: 1px solid gray;
- padding: 0;
-}
-
-.edui-default .edui-for-insertorderedlist .edui-bordereraser,
-.edui-default .edui-for-lineheight .edui-bordereraser,
-.edui-default .edui-for-rowspacingtop .edui-bordereraser,
-.edui-default .edui-for-rowspacingbottom .edui-bordereraser,
-.edui-default .edui-for-insertunorderedlist .edui-bordereraser {
- background-color: white;
-}
-
-/* 解决嵌套导致的图标问题 */
-.edui-default .edui-for-insertorderedlist .edui-popup-body .edui-icon,
-.edui-default .edui-for-lineheight .edui-popup-body .edui-icon,
-.edui-default .edui-for-rowspacingtop .edui-popup-body .edui-icon,
-.edui-default .edui-for-rowspacingbottom .edui-popup-body .edui-icon,
-.edui-default .edui-for-insertunorderedlist .edui-popup-body .edui-icon {
- /*background-position: 0 -40px;*/
- background-image: none ;
-}
-
-/* 弹出菜单 */
-.edui-default .edui-popup {
- z-index: 3000;
- background-color: #ffffff;
- width:auto;
- height:auto;
-
-}
-
-.edui-default .edui-popup .edui-shadow {
- left: 0;
- top: 0;
- width: 100%;
- height: 100%;
-}
-
-.edui-default .edui-popup-content {
- border:1px solid #ccc;
- border: 1px solid rgba(0, 0, 0, 0.2);
- *border-right-width: 2px;
- *border-bottom-width: 2px;
- -webkit-border-radius: 6px;
- -moz-border-radius: 6px;
- border-radius: 6px;
- -webkit-box-shadow: 0 3px 4px rgba(0, 0, 0, 0.2);
- -moz-box-shadow: 0 3px 4px rgba(0, 0, 0, 0.2);
- box-shadow: 0 3px 4px rgba(0, 0, 0, 0.2);
- -webkit-background-clip: padding-box;
- -moz-background-clip: padding;
- background-clip: padding-box;
- padding: 5px;
- background:#ffffff;
-}
-
-.edui-default .edui-popup .edui-bordereraser {
- background-color: white;
- height: 3px;
-}
-
-.edui-default .edui-menu .edui-bordereraser {
- height: 3px;
-}
-
-.edui-default .edui-anchor-topleft .edui-bordereraser {
- left: 1px;
- top: -2px;
-}
-
-.edui-default .edui-anchor-topright .edui-bordereraser {
- right: 1px;
- top: -2px;
-}
-
-.edui-default .edui-anchor-bottomleft .edui-bordereraser {
- left: 0;
- bottom: -6px;
- height: 7px;
- border-left: 1px solid gray;
- border-right: 1px solid gray;
-}
-
-.edui-default .edui-anchor-bottomright .edui-bordereraser {
- right: 0;
- bottom: -6px;
- height: 7px;
- border-left: 1px solid gray;
- border-right: 1px solid gray;
-}
-
-.edui-popup div{
- width:auto;
- height:auto;
-}
-.edui-default .edui-editor-messageholder {
- display: block;
- width: 150px;
- height: auto;
- border: 0;
- margin: 0;
- padding: 0;
- position: absolute;
- top: 28px;
- right: 3px;
-}
-
-.edui-default .edui-message{
- min-height: 10px;
- text-shadow: 0 1px 0 rgba(255,255,255,0.5);
- padding: 0;
- margin-bottom: 3px;
- position: relative;
-}
-.edui-default .edui-message-body{
- border-radius: 3px;
- padding: 8px 15px 8px 8px;
- color: #c09853;
- background-color: #fcf8e3;
- border: 1px solid #fbeed5;
-}
-.edui-default .edui-message-type-info{
- color: #3a87ad;
- background-color: #d9edf7;
- border-color: #bce8f1
-}
-.edui-default .edui-message-type-success{
- color: #468847;
- background-color: #dff0d8;
- border-color: #d6e9c6
-}
-.edui-default .edui-message-type-danger,
-.edui-default .edui-message-type-error{
- color: #b94a48;
- background-color: #f2dede;
- border-color: #eed3d7
-}
-.edui-default .edui-message .edui-message-closer {
- display: block;
- width: 16px;
- height: 16px;
- line-height: 16px;
- position: absolute;
- top: 0;
- right: 0;
- padding: 0;
- cursor: pointer;
- background: transparent;
- border: 0;
- float: right;
- font-size: 20px;
- font-weight: bold;
- color: #999;
- text-shadow: 0 1px 0 #fff;
- font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
-}
-.edui-default .edui-message .edui-message-content {
- font-size: 10pt;
- word-wrap: break-word;
- word-break: normal;
-}
-/* 弹出对话框按钮和对话框大小 */
-.edui-default .edui-dialog {
- z-index: 2000;
- position: absolute;
-
-}
-
-.edui-dialog div{
- width:auto;
-}
-
-.edui-default .edui-dialog-wrap {
- margin-right: 6px;
- margin-bottom: 6px;
-}
-
-.edui-default .edui-dialog-fullscreen-flag {
- margin-right: 0;
- margin-bottom: 0;
-}
-
-.edui-default .edui-dialog-body {
- position: relative;
- padding:2px 0 0 2px;
- _zoom: 1;
-}
-
-.edui-default .edui-dialog-fullscreen-flag .edui-dialog-body {
- padding: 0;
-}
-
-.edui-default .edui-dialog-shadow {
- position: absolute;
- z-index: -1;
- left: 0;
- top: 0;
- width: 100%;
- height: 100%;
- background-color: #ffffff;
- border: 1px solid #ccc;
- border: 1px solid rgba(0, 0, 0, 0.2);
- *border-right-width: 2px;
- *border-bottom-width: 2px;
- -webkit-border-radius: 6px;
- -moz-border-radius: 6px;
- border-radius: 6px;
- -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
- -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
- box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
- -webkit-background-clip: padding-box;
- -moz-background-clip: padding;
- background-clip: padding-box;
-}
-
-.edui-default .edui-dialog-foot {
- background-color: white;
-}
-
-.edui-default .edui-dialog-titlebar {
- height: 26px;
- border-bottom: 1px solid #c6c6c6;
- background: url(../images/dialog-title-bg.png) repeat-x bottom;
- position: relative;
- cursor: move;
-}
-.edui-default .edui-dialog-caption {
- font-weight: bold;
- font-size: 12px;
- line-height: 26px;
- padding-left: 5px;
-}
-
-.edui-default .edui-dialog-draghandle {
- height: 26px;
-}
-
-.edui-default .edui-dialog-closebutton {
- position: absolute !important;
- right: 5px;
- top: 3px;
-}
-
-.edui-default .edui-dialog-closebutton .edui-button-body {
- height: 20px;
- width: 20px;
- cursor: pointer;
- background: url("../images/icons-all.gif") no-repeat 0 -59px;
-}
-
-.edui-default .edui-dialog-closebutton .edui-state-hover .edui-button-body {
- background: url("../images/icons-all.gif") no-repeat 0 -89px;
-}
-
-.edui-default .edui-dialog-foot {
- height: 40px;
-}
-
-.edui-default .edui-dialog-buttons {
- position: absolute;
- right: 0;
-}
-
-.edui-default .edui-dialog-buttons .edui-button {
- margin-right: 10px;
-}
-
-.edui-default .edui-dialog-buttons .edui-button .edui-button-body {
- background: url("../images/icons-all.gif") no-repeat;
- height: 24px;
- width: 96px;
- font-size: 12px;
- line-height: 24px;
- text-align: center;
- cursor: default;
-}
-
-.edui-default .edui-dialog-buttons .edui-button .edui-state-hover .edui-button-body {
- background: url("../images/icons-all.gif") no-repeat 0 -30px;
-}
-
-.edui-default .edui-dialog iframe {
- border: 0;
- padding: 0;
- margin: 0;
- vertical-align: top;
-}
-
-.edui-default .edui-dialog-modalmask {
- opacity: 0.3;
- filter: alpha(opacity = 30);
- background-color: #ccc;
- position: absolute;
- /*z-index: 1999;*/
-}
-
-.edui-default .edui-dialog-dragmask {
- position: absolute;
- /*z-index: 2001;*/
- background-color: transparent;
- cursor: move;
-}
-
-.edui-default .edui-dialog-content {
- position: relative;
-}
-
-.edui-default .dialogcontmask {
- cursor: move;
- visibility: hidden;
- display: block;
- position: absolute;
- width: 100%;
- height: 100%;
- opacity: 0;
- filter: alpha(opacity = 0);
-}
-
-/*link-dialog*/
-.edui-default .edui-for-link .edui-dialog-content {
- width: 420px;
- height: 200px;
- overflow: hidden;
-}
-/*background-dialog*/
-.edui-default .edui-for-background .edui-dialog-content {
- width: 440px;
- height: 280px;
- overflow: hidden;
-}
-
-/*template-dialog*/
-.edui-default .edui-for-template .edui-dialog-content {
- width: 630px;
- height: 390px;
- overflow: hidden;
-}
-
-/*scrawl-dialog*/
-.edui-default .edui-for-scrawl .edui-dialog-content {
- width: 515px;
- *width: 506px;
- height: 360px;
-}
-
-/*spechars-dialog*/
-.edui-default .edui-for-spechars .edui-dialog-content {
- width: 620px;
- height: 500px;
- *width: 630px;
- *height: 570px;
-}
-
-/*image-dialog*/
-.edui-default .edui-for-insertimage .edui-dialog-content {
- width: 650px;
- height: 400px;
- overflow: hidden;
-}
-/*webapp-dialog*/
-.edui-default .edui-for-webapp .edui-dialog-content {
- width: 560px;
- _width: 565px;
- height: 450px;
- overflow: hidden;
-}
-
-/*image-insertframe*/
-.edui-default .edui-for-insertframe .edui-dialog-content {
- width: 350px;
- height: 200px;
- overflow: hidden;
-}
-
-/*wordImage-dialog*/
-.edui-default .edui-for-wordimage .edui-dialog-content {
- width: 620px;
- height: 380px;
- overflow: hidden;
-}
-
-/*attachment-dialog*/
-.edui-default .edui-for-attachment .edui-dialog-content {
- width: 650px;
- height: 400px;
- overflow: hidden;
-}
-
-
-/*map-dialog*/
-.edui-default .edui-for-map .edui-dialog-content {
- width: 550px;
- height: 400px;
-}
-
-/*gmap-dialog*/
-.edui-default .edui-for-gmap .edui-dialog-content {
- width: 550px;
- height: 400px;
-}
-
-/*video-dialog*/
-.edui-default .edui-for-insertvideo .edui-dialog-content {
- width: 590px;
- height: 390px;
-}
-
-/*anchor-dialog*/
-.edui-default .edui-for-anchor .edui-dialog-content {
- width: 320px;
- height: 60px;
- overflow: hidden;
-}
-
-/*searchreplace-dialog*/
-.edui-default .edui-for-searchreplace .edui-dialog-content {
- width: 400px;
- height: 220px;
-}
-
-/*help-dialog*/
-.edui-default .edui-for-help .edui-dialog-content {
- width: 400px;
- height: 420px;
-}
-
-/*edittable-dialog*/
-.edui-default .edui-for-edittable .edui-dialog-content {
- width: 540px;
- _width:590px;
- height: 335px;
-}
-
-/*edittip-dialog*/
-.edui-default .edui-for-edittip .edui-dialog-content {
- width: 225px;
- height: 60px;
-}
-
-/*edittd-dialog*/
-.edui-default .edui-for-edittd .edui-dialog-content {
- width: 240px;
- height: 50px;
-}
-/*snapscreen-dialog*/
-.edui-default .edui-for-snapscreen .edui-dialog-content {
- width: 400px;
- height: 220px;
-}
-
-/*music-dialog*/
-.edui-default .edui-for-music .edui-dialog-content {
- width: 515px;
- height: 360px;
-}
-
-/*段落弹出菜单*/
-.edui-default .edui-for-paragraph .edui-listitem-label {
- font-family: Tahoma, Verdana, Arial, Helvetica;
-}
-
-.edui-default .edui-for-paragraph .edui-listitem-label .edui-for-p {
- font-size: 22px;
- line-height: 27px;
-}
-
-.edui-default .edui-for-paragraph .edui-listitem-label .edui-for-h1 {
- font-weight: bolder;
- font-size: 32px;
- line-height: 36px;
-}
-
-.edui-default .edui-for-paragraph .edui-listitem-label .edui-for-h2 {
- font-weight: bolder;
- font-size: 27px;
- line-height: 29px;
-}
-
-.edui-default .edui-for-paragraph .edui-listitem-label .edui-for-h3 {
- font-weight: bolder;
- font-size: 19px;
- line-height: 23px;
-}
-
-.edui-default .edui-for-paragraph .edui-listitem-label .edui-for-h4 {
- font-weight: bolder;
- font-size: 16px;
- line-height: 19px
-}
-
-.edui-default .edui-for-paragraph .edui-listitem-label .edui-for-h5 {
- font-weight: bolder;
- font-size: 13px;
- line-height: 16px;
-}
-
-.edui-default .edui-for-paragraph .edui-listitem-label .edui-for-h6 {
- font-weight: bolder;
- font-size: 12px;
- line-height: 14px;
-}
-/* 表格弹出菜单 */
-.edui-default .edui-for-inserttable .edui-splitborder {
- display: none
-}
-.edui-default .edui-for-inserttable .edui-splitbutton-body .edui-arrow {
- width: 0
-}
-.edui-default .edui-toolbar .edui-for-inserttable .edui-state-active .edui-splitborder{
- border-left: 1px solid transparent;
-}
-.edui-default .edui-tablepicker .edui-infoarea {
- height: 14px;
- line-height: 14px;
- font-size: 12px;
- width: 220px;
- margin-bottom: 3px;
- clear: both;
-}
-
-.edui-default .edui-tablepicker .edui-infoarea .edui-label {
- float: left;
-}
-
-.edui-default .edui-dialog-buttons .edui-label {
- line-height: 24px;
-}
-
-.edui-default .edui-tablepicker .edui-infoarea .edui-clickable {
- float: right;
-}
-
-.edui-default .edui-tablepicker .edui-pickarea {
- background: url("../images/unhighlighted.gif") repeat;
- height: 220px;
- width: 220px;
-}
-
-.edui-default .edui-tablepicker .edui-pickarea .edui-overlay {
- background: url("../images/highlighted.gif") repeat;
-}
-
-/* 颜色弹出菜单 */
-.edui-default .edui-colorpicker-topbar {
- height: 27px;
- width: 200px;
- /*border-bottom: 1px gray dashed;*/
-}
-
-.edui-default .edui-colorpicker-preview {
- height: 20px;
- border: 1px inset black;
- margin-left: 1px;
- width: 128px;
- float: left;
-}
-
-.edui-default .edui-colorpicker-nocolor {
- float: right;
- margin-right: 1px;
- font-size: 12px;
- line-height: 14px;
- height: 14px;
- border: 1px solid #333;
- padding: 3px 5px;
- cursor: pointer;
-}
-
-.edui-default .edui-colorpicker-tablefirstrow {
- height: 30px;
-}
-
-.edui-default .edui-colorpicker-colorcell {
- width: 14px;
- height: 14px;
- display: block;
- margin: 0;
- cursor: pointer;
-}
-
-.edui-default .edui-colorpicker-colorcell:hover {
- width: 14px;
- height: 14px;
- margin: 0;
-}
-.edui-default .edui-colorpicker-advbtn{
- display: block;
- text-align: center;
- cursor: pointer;
- height:20px;
-}
-.arrow_down{
- background: white url('../images/arrow_down.png') no-repeat center;
-}
-.arrow_up{
- background: white url('../images/arrow_up.png') no-repeat center;
-}
-/*高级的样式*/
-.edui-colorpicker-adv{
- position: relative;
- overflow: hidden;
- height: 180px;
- display: none;
-}
-.edui-colorpicker-plant, .edui-colorpicker-hue {
- border: solid 1px #666;
-}
-.edui-colorpicker-pad {
- width: 150px;
- height: 150px;
- left: 14px;
- top: 13px;
- position: absolute;
- background: red;
- overflow: hidden;
- cursor: crosshair;
-}
-.edui-colorpicker-cover{
- position: absolute;
- top: 0;
- left: 0;
- width: 150px;
- height: 150px;
- background: url("../images/tangram-colorpicker.png") -160px -200px;
-}
-.edui-colorpicker-padDot{
- position: absolute;
- top: 0;
- left: 0;
- width: 11px;
- height: 11px;
- overflow: hidden;
- background: url(../images/tangram-colorpicker.png) 0px -200px repeat-x;
- z-index: 1000;
-
-}
-.edui-colorpicker-sliderMain {
- position: absolute;
- left: 171px;
- top: 13px;
- width: 19px;
- height: 152px;
- background: url(../images/tangram-colorpicker.png) -179px -12px no-repeat;
-
-}
-.edui-colorpicker-slider {
- width: 100%;
- height: 100%;
- cursor: pointer;
-}
-.edui-colorpicker-thumb{
- position: absolute;
- top: 0;
- cursor: pointer;
- height: 3px;
- left: -1px;
- right: -1px;
- border: 1px solid black;
- background: white;
- opacity: .8;
-}
-/*自动排版弹出菜单*/
-.edui-default .edui-autotypesetpicker .edui-autotypesetpicker-body {
- font-size: 12px;
- margin-bottom: 3px;
- clear: both;
-}
-
-.edui-default .edui-autotypesetpicker-body table {
- border-collapse: separate;
- border-spacing: 2px;
-}
-
-.edui-default .edui-autotypesetpicker-body td {
- font-size: 12px;
- word-wrap:break-word;
-}
-
-.edui-default .edui-autotypesetpicker-body td input {
- margin: 3px 3px 3px 4px;
- *margin: 1px 0 0 0;
-}
-/*自动排版弹出菜单*/
-.edui-default .edui-cellalignpicker .edui-cellalignpicker-body {
- width: 70px;
- font-size: 12px;
- cursor: default;
-}
-
-.edui-default .edui-cellalignpicker-body table {
- border-collapse: separate;
- border-spacing: 0;
-}
-.edui-default .edui-cellalignpicker-body td{
- padding: 1px;
-}
-.edui-default .edui-cellalignpicker-body .edui-icon{
- height: 20px;
- width: 20px;
- padding: 1px;
- background-image: url(../images/table-cell-align.png);
-}
-
-.edui-default .edui-cellalignpicker-body .edui-left{
- background-position: 0 0;
-}
-
-.edui-default .edui-cellalignpicker-body .edui-center{
- background-position: -25px 0;
-}
-.edui-default .edui-cellalignpicker-body .edui-right{
- background-position: -51px 0;
-}
-
-.edui-default .edui-cellalignpicker-body td.edui-state-hover .edui-left{
- background-position: -73px 0;
-}
-
-.edui-default .edui-cellalignpicker-body td.edui-state-hover .edui-center{
- background-position: -98px 0;
-}
-
-.edui-default .edui-cellalignpicker-body td.edui-state-hover .edui-right{
- background-position: -124px 0;
-}
-
-.edui-default .edui-cellalignpicker-body td.edui-cellalign-selected .edui-left {
- background-position: -146px 0;
- background-color: #f1f4f5;
-}
-
-.edui-default .edui-cellalignpicker-body td.edui-cellalign-selected .edui-center {
- background-position: -245px 0;
-}
-
-.edui-default .edui-cellalignpicker-body td.edui-cellalign-selected .edui-right {
- background-position: -271px 0;
-}
-/*分隔线*/
-.edui-default .edui-toolbar .edui-separator {
- width: 2px;
- height: 20px;
- margin: 2px 4px 2px 3px;
- background: url(../images/icons.png) -181px 0;
- background: url(../images/icons.gif) -181px 0 \9;
-}
-
-/*颜色按钮 */
-.edui-default .edui-toolbar .edui-colorbutton .edui-colorlump {
- position: absolute;
- overflow: hidden;
- bottom: 1px;
- left: 1px;
- width: 18px;
- height: 4px;
-}
-/*表情按钮及弹出菜单*/
-/*去除了表情的下拉箭头*/
-.edui-default .edui-for-emotion .edui-icon {
- background-position: -60px -20px;
-}
-.edui-default .edui-for-emotion .edui-popup-content iframe
-{
- width: 514px;
- height: 380px;
- overflow: hidden;
-}
-.edui-default .edui-for-emotion .edui-popup-content
-{
- position: relative;
- z-index: 555
-}
-
-.edui-default .edui-for-emotion .edui-splitborder {
- display: none
-}
-
-.edui-default .edui-for-emotion .edui-splitbutton-body .edui-arrow
-{
- width: 0
-}
-.edui-default .edui-toolbar .edui-for-emotion .edui-state-active .edui-splitborder
-{
- border-left: 1px solid transparent;
-}
-/*contextmenu*/
-.edui-default .edui-hassubmenu .edui-arrow {
- height: 20px;
- width: 20px;
- float: right;
- background: url("../images/icons-all.gif") no-repeat 10px -233px;
-}
-
-.edui-default .edui-menu-body .edui-menuitem {
- padding: 1px;
-}
-
-.edui-default .edui-menuseparator {
- margin: 2px 0;
- height: 1px;
- overflow: hidden;
-}
-
-.edui-default .edui-menuseparator-inner {
- border-bottom: 1px solid #e2e3e3;
- margin-left: 29px;
- margin-right: 1px;
-}
-
-.edui-default .edui-menu-body .edui-state-hover {
- padding: 0 !important;
- background-color: #fff5d4;
- border: 1px solid #dcac6c;
-}
-/*弹出菜单*/
-.edui-default .edui-shortcutmenu {
- padding: 2px;
- width: 190px;
- height: 50px;
- background-color: #fff;
- border: 1px solid #ccc;
- border-radius: 5px;
-}
-
-/*粘贴弹出菜单*/
-.edui-default .edui-wordpastepop .edui-popup-content{
- border: none;
- padding: 0;
- width: 54px;
- height: 21px;
-}
-.edui-default .edui-pasteicon {
- width: 100%;
- height: 100%;
- background-image: url('../images/wordpaste.png');
- background-position: 0 0;
-}
-
-.edui-default .edui-pasteicon.edui-state-opened {
- background-position: 0 -34px;
-}
-
-.edui-default .edui-pastecontainer {
- position: relative;
- visibility: hidden;
- width: 97px;
- background: #fff;
- border: 1px solid #ccc;
-}
-
-.edui-default .edui-pastecontainer .edui-title {
- font-weight: bold;
- background: #F8F8FF;
- height: 25px;
- line-height: 25px;
- font-size: 12px;
- padding-left: 5px;
-}
-
-.edui-default .edui-pastecontainer .edui-button {
- overflow: hidden;
- margin: 3px 0;
-}
-
-.edui-default .edui-pastecontainer .edui-button .edui-richtxticon,
-.edui-default .edui-pastecontainer .edui-button .edui-tagicon,
-.edui-default .edui-pastecontainer .edui-button .edui-plaintxticon{
- float: left;
- cursor: pointer;
- width: 29px;
- height: 29px;
- margin-left: 5px;
- background-image: url('../images/wordpaste.png');
- background-repeat: no-repeat;
-}
-.edui-default .edui-pastecontainer .edui-button .edui-richtxticon {
- margin-left: 0;
- background-position: -109px 0;
-}
-.edui-default .edui-pastecontainer .edui-button .edui-tagicon {
- background-position: -148px 1px;
-}
-
-.edui-default .edui-pastecontainer .edui-button .edui-plaintxticon {
- background-position: -72px 0;
-}
-
-.edui-default .edui-pastecontainer .edui-button .edui-state-hover .edui-richtxticon {
- background-position: -109px -34px;
-}
-.edui-default .edui-pastecontainer .edui-button .edui-state-hover .edui-tagicon{
- background-position: -148px -34px;
-}
-.edui-default .edui-pastecontainer .edui-button .edui-state-hover .edui-plaintxticon{
- background-position: -72px -34px;
-}
\ No newline at end of file
diff --git a/public/UEditor/themes/default/css/ueditor.min.css b/public/UEditor/themes/default/css/ueditor.min.css
deleted file mode 100644
index 060ba2e..0000000
--- a/public/UEditor/themes/default/css/ueditor.min.css
+++ /dev/null
@@ -1,8 +0,0 @@
-/*!
- * UEditor
- * version: ueditor
- * build: Wed Dec 26 2018 17:24:52 GMT+0800 (CST)
- */
-
-
-.edui-default .edui-box{border:0;padding:0;margin:0;overflow:hidden}.edui-default a.edui-box{display:block;text-decoration:none;color:#000}.edui-default a.edui-box:hover{text-decoration:none}.edui-default a.edui-box:active{text-decoration:none}.edui-default table.edui-box{border-collapse:collapse}.edui-default ul.edui-box{list-style-type:none}div.edui-box{position:relative;display:-moz-inline-box!important;display:inline-block!important;vertical-align:top}.edui-default .edui-clearfix{zoom:1}.edui-default .edui-clearfix:after{content:'\20';display:block;clear:both}* html div.edui-box{display:inline!important}:first-child+html div.edui-box{display:inline!important}.edui-default .edui-button-body,.edui-splitbutton-body,.edui-menubutton-body,.edui-combox-body{position:relative}.edui-default .edui-popup{position:absolute;-webkit-user-select:none;-moz-user-select:none}.edui-default .edui-popup .edui-shadow{position:absolute;z-index:-1}.edui-default .edui-popup .edui-bordereraser{position:absolute;overflow:hidden}.edui-default .edui-tablepicker .edui-canvas{position:relative}.edui-default .edui-tablepicker .edui-canvas .edui-overlay{position:absolute}.edui-default .edui-dialog-modalmask,.edui-dialog-dragmask{position:absolute;left:0;top:0;width:100%;height:100%}.edui-default .edui-toolbar{position:relative}.edui-default .edui-label{cursor:default}.edui-default span.edui-clickable{color:#00f;cursor:pointer;text-decoration:underline}.edui-default span.edui-unclickable{color:gray;cursor:default}.edui-default .edui-toolbar{cursor:default;-webkit-user-select:none;-moz-user-select:none;padding:1px;overflow:hidden;zoom:1;width:auto;height:auto}.edui-default .edui-toolbar .edui-button,.edui-default .edui-toolbar .edui-splitbutton,.edui-default .edui-toolbar .edui-menubutton,.edui-default .edui-toolbar .edui-combox{margin:1px}.edui-default .edui-editor{border:1px solid #d4d4d4;background-color:#fff;position:relative;overflow:visible;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.edui-editor div{width:auto;height:auto}.edui-default .edui-editor-toolbarbox{position:relative;zoom:1;-webkit-box-shadow:0 1px 4px rgba(204,204,204,.6);-moz-box-shadow:0 1px 4px rgba(204,204,204,.6);box-shadow:0 1px 4px rgba(204,204,204,.6);border-top-left-radius:2px;border-top-right-radius:2px}.edui-default .edui-editor-toolbarboxouter{border-bottom:1px solid #d4d4d4;background-color:#fafafa;background-image:-moz-linear-gradient(top,#fff,#f2f2f2);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#f2f2f2));background-image:-webkit-linear-gradient(top,#fff,#f2f2f2);background-image:-o-linear-gradient(top,#fff,#f2f2f2);background-image:linear-gradient(to bottom,#fff,#f2f2f2);background-repeat:repeat-x;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff2f2f2', GradientType=0);*zoom:1;-webkit-box-shadow:0 1px 4px rgba(0,0,0,.065);-moz-box-shadow:0 1px 4px rgba(0,0,0,.065);box-shadow:0 1px 4px rgba(0,0,0,.065)}.edui-default .edui-editor-toolbarboxinner{padding:2px}.edui-default .edui-editor-iframeholder{position:relative}.edui-default .edui-editor-bottomContainer{overflow:hidden}.edui-default .edui-editor-bottomContainer table{width:100%;height:0;overflow:hidden;border-spacing:0}.edui-default .edui-editor-bottomContainer td{white-space:nowrap;border-top:1px solid #ccc;line-height:20px;font-size:12px;font-family:Arial,Helvetica,Tahoma,Verdana,Sans-Serif}.edui-default .edui-editor-wordcount{text-align:right;margin-right:5px;color:#aaa}.edui-default .edui-editor-scale{width:12px}.edui-default .edui-editor-scale .edui-editor-icon{float:right;width:100%;height:12px;margin-top:10px;background:url(../images/scale.png) no-repeat;cursor:se-resize}.edui-default .edui-editor-breadcrumb{margin:2px 0 0 3px}.edui-default .edui-editor-breadcrumb span{cursor:pointer;text-decoration:underline;color:#00f}.edui-default .edui-toolbar .edui-for-fullscreen{float:right}.edui-default .edui-bubble .edui-popup-content{border:1px solid #DCAC6C;background-color:#fff6d9;padding:5px;font-size:10pt;font-family:"宋体"}.edui-default .edui-bubble .edui-shadow{}.edui-default .edui-editor-toolbarmsg{background-color:#FFF6D9;border-bottom:1px solid #ccc;position:absolute;bottom:-25px;left:0;z-index:1009;width:99.9%}.edui-default .edui-editor-toolbarmsg-upload{font-size:14px;color:#00f;width:100px;height:16px;line-height:16px;cursor:pointer;position:absolute;top:5px;left:350px}.edui-default .edui-editor-toolbarmsg-label{font-size:12px;line-height:16px;padding:4px}.edui-default .edui-editor-toolbarmsg-close{float:right;width:20px;height:16px;line-height:16px;cursor:pointer;color:red}.edui-default .edui-list .edui-bordereraser{display:none}.edui-default .edui-listitem{padding:1px;white-space:nowrap}.edui-default .edui-list .edui-state-hover{position:relative;background-color:#fff5d4;border:1px solid #dcac6c;padding:0}.edui-default .edui-for-fontfamily .edui-listitem-label{min-width:130px;_width:120px;font-size:12px;height:22px;line-height:22px;padding-left:5px}.edui-default .edui-for-insertcode .edui-listitem-label{min-width:120px;_width:120px;font-size:12px;height:22px;line-height:22px;padding-left:5px}.edui-default .edui-for-underline .edui-listitem-label{min-width:120px;_width:120px;padding:3px 5px;font-size:12px}.edui-default .edui-for-fontsize .edui-listitem-label{min-width:120px;_width:120px;padding:3px 5px}.edui-default .edui-for-paragraph .edui-listitem-label{min-width:200px;_width:200px;padding:2px 5px}.edui-default .edui-for-rowspacingtop .edui-listitem-label,.edui-default .edui-for-rowspacingbottom .edui-listitem-label{min-width:53px;_width:53px;padding:2px 5px}.edui-default .edui-for-lineheight .edui-listitem-label{min-width:53px;_width:53px;padding:2px 5px}.edui-default .edui-for-customstyle .edui-listitem-label{min-width:200px;_width:200px;width:200px!important;padding:2px 5px}.edui-default .edui-menu{z-index:3000}.edui-default .edui-menu .edui-popup-content{padding:3px}.edui-default .edui-menu-body{_width:150px;min-width:170px;background:url(../images/sparator_v.png) repeat-y 25px}.edui-default .edui-menuitem-body{}.edui-default .edui-menuitem{height:20px;cursor:default;vertical-align:top}.edui-default .edui-menuitem .edui-icon{width:20px!important;height:20px!important;background:url(../images/icons.png) 0 -4000px;background:url(../images/icons.gif) 0 -4000px\9}.edui-default .edui-menuitem .edui-label{font-size:12px;line-height:20px;height:20px;padding-left:10px}.edui-default .edui-state-checked .edui-menuitem-body{background:url(../images/icons-all.gif) no-repeat 6px -205px}.edui-default .edui-state-disabled .edui-menuitem-label{color:gray}.edui-default .edui-toolbar .edui-combox-body .edui-button-body{width:60px;font-size:12px;height:20px;line-height:20px;padding-left:5px;white-space:nowrap;margin:0 3px 0 0}.edui-default .edui-toolbar .edui-combox-body .edui-arrow{background:url(../images/icons.png) -741px 0;_background:url(../images/icons.gif) -741px 0;height:20px;width:9px}.edui-default .edui-toolbar .edui-combox .edui-combox-body{border:1px solid #CCC;background-color:#fff;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px}.edui-default .edui-toolbar .edui-combox-body .edui-splitborder{display:none}.edui-default .edui-toolbar .edui-combox-body .edui-arrow{border-left:1px solid #CCC}.edui-default .edui-toolbar .edui-state-hover .edui-combox-body{background-color:#fff5d4;border:1px solid #dcac6c}.edui-default .edui-toolbar .edui-state-hover .edui-combox-body .edui-arrow{border-left:1px solid #dcac6c}.edui-default .edui-toolbar .edui-state-checked .edui-combox-body{background-color:#FFE69F;border:1px solid #DCAC6C}.edui-toolbar .edui-state-checked .edui-combox-body .edui-arrow{border-left:1px solid #DCAC6C}.edui-toolbar .edui-state-disabled .edui-combox-body{background-color:#F0F0EE;opacity:.3;filter:alpha(opacity=30)}.edui-toolbar .edui-state-opened .edui-combox-body{background-color:#fff;border:1px solid gray}.edui-default .edui-toolbar .edui-button .edui-icon,.edui-default .edui-toolbar .edui-menubutton .edui-icon,.edui-default .edui-toolbar .edui-splitbutton .edui-icon{height:20px!important;width:20px!important;background-image:url(../images/icons.png);background-image:url(../images/icons.gif) \9}.edui-default .edui-toolbar .edui-button .edui-button-wrap{padding:1px;position:relative}.edui-default .edui-toolbar .edui-button .edui-state-hover .edui-button-wrap{background-color:#fff5d4;padding:0;border:1px solid #dcac6c}.edui-default .edui-toolbar .edui-button .edui-state-checked .edui-button-wrap{background-color:#ffe69f;padding:0;border:1px solid #dcac6c;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px}.edui-default .edui-toolbar .edui-button .edui-state-active .edui-button-wrap{background-color:#fff;padding:0;border:1px solid gray}.edui-default .edui-toolbar .edui-state-disabled .edui-label{color:#ccc}.edui-default .edui-toolbar .edui-state-disabled .edui-icon{opacity:.3;filter:alpha(opacity=30)}.edui-default .edui-for-undo .edui-icon{background-position:-160px 0}.edui-default .edui-for-redo .edui-icon{background-position:-100px 0}.edui-default .edui-for-bold .edui-icon{background-position:0 0}.edui-default .edui-for-italic .edui-icon{background-position:-60px 0}.edui-default .edui-for-fontborder .edui-icon{background-position:-160px -40px}.edui-default .edui-for-underline .edui-icon{background-position:-140px 0}.edui-default .edui-for-strikethrough .edui-icon{background-position:-120px 0}.edui-default .edui-for-subscript .edui-icon{background-position:-600px 0}.edui-default .edui-for-superscript .edui-icon{background-position:-620px 0}.edui-default .edui-for-blockquote .edui-icon{background-position:-220px 0}.edui-default .edui-for-forecolor .edui-icon{background-position:-720px 0}.edui-default .edui-for-backcolor .edui-icon{background-position:-760px 0}.edui-default .edui-for-inserttable .edui-icon{background-position:-580px -20px}.edui-default .edui-for-autotypeset .edui-icon{background-position:-640px -40px}.edui-default .edui-for-justifyleft .edui-icon{background-position:-460px 0}.edui-default .edui-for-justifycenter .edui-icon{background-position:-420px 0}.edui-default .edui-for-justifyright .edui-icon{background-position:-480px 0}.edui-default .edui-for-justifyjustify .edui-icon{background-position:-440px 0}.edui-default .edui-for-insertorderedlist .edui-icon{background-position:-80px 0}.edui-default .edui-for-insertunorderedlist .edui-icon{background-position:-20px 0}.edui-default .edui-for-lineheight .edui-icon{background-position:-725px -40px}.edui-default .edui-for-rowspacingbottom .edui-icon{background-position:-745px -40px}.edui-default .edui-for-rowspacingtop .edui-icon{background-position:-765px -40px}.edui-default .edui-for-horizontal .edui-icon{background-position:-360px 0}.edui-default .edui-for-link .edui-icon{background-position:-500px 0}.edui-default .edui-for-code .edui-icon{background-position:-440px -40px}.edui-default .edui-for-insertimage .edui-icon{background-position:-726px -77px}.edui-default .edui-for-insertframe .edui-icon{background-position:-240px -40px}.edui-default .edui-for-emoticon .edui-icon{background-position:-60px -20px}.edui-default .edui-for-spechars .edui-icon{background-position:-240px 0}.edui-default .edui-for-help .edui-icon{background-position:-340px 0}.edui-default .edui-for-print .edui-icon{background-position:-440px -20px}.edui-default .edui-for-preview .edui-icon{background-position:-420px -20px}.edui-default .edui-for-selectall .edui-icon{background-position:-400px -20px}.edui-default .edui-for-searchreplace .edui-icon{background-position:-520px -20px}.edui-default .edui-for-map .edui-icon{background-position:-40px -40px}.edui-default .edui-for-gmap .edui-icon{background-position:-260px -40px}.edui-default .edui-for-insertvideo .edui-icon{background-position:-320px -20px}.edui-default .edui-for-time .edui-icon{background-position:-160px -20px}.edui-default .edui-for-date .edui-icon{background-position:-140px -20px}.edui-default .edui-for-cut .edui-icon{background-position:-680px 0}.edui-default .edui-for-copy .edui-icon{background-position:-700px 0}.edui-default .edui-for-paste .edui-icon{background-position:-560px 0}.edui-default .edui-for-formatmatch .edui-icon{background-position:-40px 0}.edui-default .edui-for-pasteplain .edui-icon{background-position:-360px -20px}.edui-default .edui-for-directionalityltr .edui-icon{background-position:-20px -20px}.edui-default .edui-for-directionalityrtl .edui-icon{background-position:-40px -20px}.edui-default .edui-for-source .edui-icon{background-position:-261px -0px}.edui-default .edui-for-removeformat .edui-icon{background-position:-580px 0}.edui-default .edui-for-unlink .edui-icon{background-position:-640px 0}.edui-default .edui-for-touppercase .edui-icon{background-position:-786px 0}.edui-default .edui-for-tolowercase .edui-icon{background-position:-806px 0}.edui-default .edui-for-insertrow .edui-icon{background-position:-478px -76px}.edui-default .edui-for-insertrownext .edui-icon{background-position:-498px -76px}.edui-default .edui-for-insertcol .edui-icon{background-position:-455px -76px}.edui-default .edui-for-insertcolnext .edui-icon{background-position:-429px -76px}.edui-default .edui-for-mergeright .edui-icon{background-position:-60px -40px}.edui-default .edui-for-mergedown .edui-icon{background-position:-80px -40px}.edui-default .edui-for-splittorows .edui-icon{background-position:-100px -40px}.edui-default .edui-for-splittocols .edui-icon{background-position:-120px -40px}.edui-default .edui-for-insertparagraphbeforetable .edui-icon{background-position:-140px -40px}.edui-default .edui-for-deleterow .edui-icon{background-position:-660px -20px}.edui-default .edui-for-deletecol .edui-icon{background-position:-640px -20px}.edui-default .edui-for-splittocells .edui-icon{background-position:-800px -20px}.edui-default .edui-for-mergecells .edui-icon{background-position:-760px -20px}.edui-default .edui-for-deletetable .edui-icon{background-position:-620px -20px}.edui-default .edui-for-cleardoc .edui-icon{background-position:-520px 0}.edui-default .edui-for-fullscreen .edui-icon{background-position:-100px -20px}.edui-default .edui-for-anchor .edui-icon{background-position:-200px 0}.edui-default .edui-for-pagebreak .edui-icon{background-position:-460px -40px}.edui-default .edui-for-imagenone .edui-icon{background-position:-480px -40px}.edui-default .edui-for-imageleft .edui-icon{background-position:-500px -40px}.edui-default .edui-for-wordimage .edui-icon{background-position:-660px -40px}.edui-default .edui-for-imageright .edui-icon{background-position:-520px -40px}.edui-default .edui-for-imagecenter .edui-icon{background-position:-540px -40px}.edui-default .edui-for-indent .edui-icon{background-position:-400px 0}.edui-default .edui-for-outdent .edui-icon{background-position:-540px 0}.edui-default .edui-for-webapp .edui-icon{background-position:-601px -40px}.edui-default .edui-for-table .edui-icon{background-position:-580px -20px}.edui-default .edui-for-edittable .edui-icon{background-position:-420px -40px}.edui-default .edui-for-template .edui-icon{background-position:-339px -40px}.edui-default .edui-for-delete .edui-icon{background-position:-360px -40px}.edui-default .edui-for-attachment .edui-icon{background-position:-620px -40px}.edui-default .edui-for-edittd .edui-icon{background-position:-700px -40px}.edui-default .edui-for-snapscreen .edui-icon{background-position:-581px -40px}.edui-default .edui-for-scrawl .edui-icon{background-position:-801px -41px}.edui-default .edui-for-background .edui-icon{background-position:-680px -40px}.edui-default .edui-for-music .edui-icon{background-position:-18px -40px}.edui-default .edui-for-formula .edui-icon{background-position:-200px -40px}.edui-default .edui-for-aligntd .edui-icon{background-position:-236px -76px}.edui-default .edui-for-insertparagraphtrue .edui-icon{background-position:-625px -76px}.edui-default .edui-for-insertparagraph .edui-icon{background-position:-602px -76px}.edui-default .edui-for-insertcaption .edui-icon{background-position:-336px -76px}.edui-default .edui-for-deletecaption .edui-icon{background-position:-362px -76px}.edui-default .edui-for-inserttitle .edui-icon{background-position:-286px -76px}.edui-default .edui-for-deletetitle .edui-icon{background-position:-311px -76px}.edui-default .edui-for-aligntable .edui-icon{background-position:-440px 0}.edui-default .edui-for-tablealignment-left .edui-icon{background-position:-460px 0}.edui-default .edui-for-tablealignment-center .edui-icon{background-position:-420px 0}.edui-default .edui-for-tablealignment-right .edui-icon{background-position:-480px 0}.edui-default .edui-for-drafts .edui-icon{background-position:-560px 0}.edui-default .edui-for-charts .edui-icon{background:url( ../images/charts.png ) no-repeat 2px 3px!important}.edui-default .edui-for-inserttitlecol .edui-icon{background-position:-673px -76px}.edui-default .edui-for-deletetitlecol .edui-icon{background-position:-698px -76px}.edui-default .edui-for-simpleupload .edui-icon{background-position:-380px 0}.edui-default .edui-toolbar .edui-splitbutton-body .edui-arrow,.edui-default .edui-toolbar .edui-menubutton-body .edui-arrow{background:url(../images/icons.png) -741px 0;_background:url(../images/icons.gif) -741px 0;height:20px;width:9px}.edui-default .edui-toolbar .edui-splitbutton .edui-splitbutton-body,.edui-default .edui-toolbar .edui-menubutton .edui-menubutton-body{padding:1px}.edui-default .edui-toolbar .edui-splitborder{width:1px;height:20px}.edui-default .edui-toolbar .edui-state-hover .edui-splitborder{width:1px;border-left:0 solid #dcac6c}.edui-default .edui-toolbar .edui-state-active .edui-splitborder{width:0;border-left:1px solid gray}.edui-default .edui-toolbar .edui-state-opened .edui-splitborder{width:1px;border:0}.edui-default .edui-toolbar .edui-splitbutton .edui-state-hover .edui-splitbutton-body,.edui-default .edui-toolbar .edui-menubutton .edui-state-hover .edui-menubutton-body{background-color:#fff5d4;border:1px solid #dcac6c;padding:0}.edui-default .edui-toolbar .edui-splitbutton .edui-state-checked .edui-splitbutton-body,.edui-default .edui-toolbar .edui-menubutton .edui-state-checked .edui-menubutton-body{background-color:#FFE69F;border:1px solid #DCAC6C;padding:0}.edui-default .edui-toolbar .edui-splitbutton .edui-state-active .edui-splitbutton-body,.edui-default .edui-toolbar .edui-menubutton .edui-state-active .edui-menubutton-body{background-color:#fff;border:1px solid gray;padding:0}.edui-default .edui-state-disabled .edui-arrow{opacity:.3;_filter:alpha(opacity=30)}.edui-default .edui-toolbar .edui-splitbutton .edui-state-opened .edui-splitbutton-body,.edui-default .edui-toolbar .edui-menubutton .edui-state-opened .edui-menubutton-body{background-color:#fff;border:1px solid gray;padding:0}.edui-default .edui-for-insertorderedlist .edui-bordereraser,.edui-default .edui-for-lineheight .edui-bordereraser,.edui-default .edui-for-rowspacingtop .edui-bordereraser,.edui-default .edui-for-rowspacingbottom .edui-bordereraser,.edui-default .edui-for-insertunorderedlist .edui-bordereraser{background-color:#fff}.edui-default .edui-for-insertorderedlist .edui-popup-body .edui-icon,.edui-default .edui-for-lineheight .edui-popup-body .edui-icon,.edui-default .edui-for-rowspacingtop .edui-popup-body .edui-icon,.edui-default .edui-for-rowspacingbottom .edui-popup-body .edui-icon,.edui-default .edui-for-insertunorderedlist .edui-popup-body .edui-icon{background-image:none}.edui-default .edui-popup{z-index:3000;background-color:#fff;width:auto;height:auto}.edui-default .edui-popup .edui-shadow{left:0;top:0;width:100%;height:100%}.edui-default .edui-popup-content{border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);*border-right-width:2px;*border-bottom-width:2px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 4px rgba(0,0,0,.2);-moz-box-shadow:0 3px 4px rgba(0,0,0,.2);box-shadow:0 3px 4px rgba(0,0,0,.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;padding:5px;background:#fff}.edui-default .edui-popup .edui-bordereraser{background-color:#fff;height:3px}.edui-default .edui-menu .edui-bordereraser{height:3px}.edui-default .edui-anchor-topleft .edui-bordereraser{left:1px;top:-2px}.edui-default .edui-anchor-topright .edui-bordereraser{right:1px;top:-2px}.edui-default .edui-anchor-bottomleft .edui-bordereraser{left:0;bottom:-6px;height:7px;border-left:1px solid gray;border-right:1px solid gray}.edui-default .edui-anchor-bottomright .edui-bordereraser{right:0;bottom:-6px;height:7px;border-left:1px solid gray;border-right:1px solid gray}.edui-popup div{width:auto;height:auto}.edui-default .edui-editor-messageholder{display:block;width:150px;height:auto;border:0;margin:0;padding:0;position:absolute;top:28px;right:3px}.edui-default .edui-message{min-height:10px;text-shadow:0 1px 0 rgba(255,255,255,.5);padding:0;margin-bottom:3px;position:relative}.edui-default .edui-message-body{border-radius:3px;padding:8px 15px 8px 8px;color:#c09853;background-color:#fcf8e3;border:1px solid #fbeed5}.edui-default .edui-message-type-info{color:#3a87ad;background-color:#d9edf7;border-color:#bce8f1}.edui-default .edui-message-type-success{color:#468847;background-color:#dff0d8;border-color:#d6e9c6}.edui-default .edui-message-type-danger,.edui-default .edui-message-type-error{color:#b94a48;background-color:#f2dede;border-color:#eed3d7}.edui-default .edui-message .edui-message-closer{display:block;width:16px;height:16px;line-height:16px;position:absolute;top:0;right:0;padding:0;cursor:pointer;background:transparent;border:0;float:right;font-size:20px;font-weight:700;color:#999;text-shadow:0 1px 0 #fff;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}.edui-default .edui-message .edui-message-content{font-size:10pt;word-wrap:break-word;word-break:normal}.edui-default .edui-dialog{z-index:2000;position:absolute}.edui-dialog div{width:auto}.edui-default .edui-dialog-wrap{margin-right:6px;margin-bottom:6px}.edui-default .edui-dialog-fullscreen-flag{margin-right:0;margin-bottom:0}.edui-default .edui-dialog-body{position:relative;padding:2px 0 0 2px;_zoom:1}.edui-default .edui-dialog-fullscreen-flag .edui-dialog-body{padding:0}.edui-default .edui-dialog-shadow{position:absolute;z-index:-1;left:0;top:0;width:100%;height:100%;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);*border-right-width:2px;*border-bottom-width:2px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.edui-default .edui-dialog-foot{background-color:#fff}.edui-default .edui-dialog-titlebar{height:26px;border-bottom:1px solid #c6c6c6;background:url(../images/dialog-title-bg.png) repeat-x bottom;position:relative;cursor:move}.edui-default .edui-dialog-caption{font-weight:700;font-size:12px;line-height:26px;padding-left:5px}.edui-default .edui-dialog-draghandle{height:26px}.edui-default .edui-dialog-closebutton{position:absolute!important;right:5px;top:3px}.edui-default .edui-dialog-closebutton .edui-button-body{height:20px;width:20px;cursor:pointer;background:url(../images/icons-all.gif) no-repeat 0 -59px}.edui-default .edui-dialog-closebutton .edui-state-hover .edui-button-body{background:url(../images/icons-all.gif) no-repeat 0 -89px}.edui-default .edui-dialog-foot{height:40px}.edui-default .edui-dialog-buttons{position:absolute;right:0}.edui-default .edui-dialog-buttons .edui-button{margin-right:10px}.edui-default .edui-dialog-buttons .edui-button .edui-button-body{background:url(../images/icons-all.gif) no-repeat;height:24px;width:96px;font-size:12px;line-height:24px;text-align:center;cursor:default}.edui-default .edui-dialog-buttons .edui-button .edui-state-hover .edui-button-body{background:url(../images/icons-all.gif) no-repeat 0 -30px}.edui-default .edui-dialog iframe{border:0;padding:0;margin:0;vertical-align:top}.edui-default .edui-dialog-modalmask{opacity:.3;filter:alpha(opacity=30);background-color:#ccc;position:absolute}.edui-default .edui-dialog-dragmask{position:absolute;background-color:transparent;cursor:move}.edui-default .edui-dialog-content{position:relative}.edui-default .dialogcontmask{cursor:move;visibility:hidden;display:block;position:absolute;width:100%;height:100%;opacity:0;filter:alpha(opacity=0)}.edui-default .edui-for-link .edui-dialog-content{width:420px;height:200px;overflow:hidden}.edui-default .edui-for-background .edui-dialog-content{width:440px;height:280px;overflow:hidden}.edui-default .edui-for-template .edui-dialog-content{width:630px;height:390px;overflow:hidden}.edui-default .edui-for-scrawl .edui-dialog-content{width:515px;*width:506px;height:360px}.edui-default .edui-for-spechars .edui-dialog-content{width:620px;height:500px;*width:630px;*height:570px}.edui-default .edui-for-insertimage .edui-dialog-content{width:650px;height:400px;overflow:hidden}.edui-default .edui-for-webapp .edui-dialog-content{width:560px;_width:565px;height:450px;overflow:hidden}.edui-default .edui-for-insertframe .edui-dialog-content{width:350px;height:200px;overflow:hidden}.edui-default .edui-for-wordimage .edui-dialog-content{width:620px;height:380px;overflow:hidden}.edui-default .edui-for-attachment .edui-dialog-content{width:650px;height:400px;overflow:hidden}.edui-default .edui-for-map .edui-dialog-content{width:550px;height:400px}.edui-default .edui-for-gmap .edui-dialog-content{width:550px;height:400px}.edui-default .edui-for-insertvideo .edui-dialog-content{width:590px;height:390px}.edui-default .edui-for-anchor .edui-dialog-content{width:320px;height:60px;overflow:hidden}.edui-default .edui-for-searchreplace .edui-dialog-content{width:400px;height:220px}.edui-default .edui-for-help .edui-dialog-content{width:400px;height:420px}.edui-default .edui-for-edittable .edui-dialog-content{width:540px;_width:590px;height:335px}.edui-default .edui-for-edittip .edui-dialog-content{width:225px;height:60px}.edui-default .edui-for-edittd .edui-dialog-content{width:240px;height:50px}.edui-default .edui-for-snapscreen .edui-dialog-content{width:400px;height:220px}.edui-default .edui-for-music .edui-dialog-content{width:515px;height:360px}.edui-default .edui-for-paragraph .edui-listitem-label{font-family:Tahoma,Verdana,Arial,Helvetica}.edui-default .edui-for-paragraph .edui-listitem-label .edui-for-p{font-size:22px;line-height:27px}.edui-default .edui-for-paragraph .edui-listitem-label .edui-for-h1{font-weight:bolder;font-size:32px;line-height:36px}.edui-default .edui-for-paragraph .edui-listitem-label .edui-for-h2{font-weight:bolder;font-size:27px;line-height:29px}.edui-default .edui-for-paragraph .edui-listitem-label .edui-for-h3{font-weight:bolder;font-size:19px;line-height:23px}.edui-default .edui-for-paragraph .edui-listitem-label .edui-for-h4{font-weight:bolder;font-size:16px;line-height:19px}.edui-default .edui-for-paragraph .edui-listitem-label .edui-for-h5{font-weight:bolder;font-size:13px;line-height:16px}.edui-default .edui-for-paragraph .edui-listitem-label .edui-for-h6{font-weight:bolder;font-size:12px;line-height:14px}.edui-default .edui-for-inserttable .edui-splitborder{display:none}.edui-default .edui-for-inserttable .edui-splitbutton-body .edui-arrow{width:0}.edui-default .edui-toolbar .edui-for-inserttable .edui-state-active .edui-splitborder{border-left:1px solid transparent}.edui-default .edui-tablepicker .edui-infoarea{height:14px;line-height:14px;font-size:12px;width:220px;margin-bottom:3px;clear:both}.edui-default .edui-tablepicker .edui-infoarea .edui-label{float:left}.edui-default .edui-dialog-buttons .edui-label{line-height:24px}.edui-default .edui-tablepicker .edui-infoarea .edui-clickable{float:right}.edui-default .edui-tablepicker .edui-pickarea{background:url(../images/unhighlighted.gif) repeat;height:220px;width:220px}.edui-default .edui-tablepicker .edui-pickarea .edui-overlay{background:url(../images/highlighted.gif) repeat}.edui-default .edui-colorpicker-topbar{height:27px;width:200px}.edui-default .edui-colorpicker-preview{height:20px;border:1px inset #000;margin-left:1px;width:128px;float:left}.edui-default .edui-colorpicker-nocolor{float:right;margin-right:1px;font-size:12px;line-height:14px;height:14px;border:1px solid #333;padding:3px 5px;cursor:pointer}.edui-default .edui-colorpicker-tablefirstrow{height:30px}.edui-default .edui-colorpicker-colorcell{width:14px;height:14px;display:block;margin:0;cursor:pointer}.edui-default .edui-colorpicker-colorcell:hover{width:14px;height:14px;margin:0}.edui-default .edui-colorpicker-advbtn{display:block;text-align:center;cursor:pointer;height:20px}.arrow_down{background:#fff url(../images/arrow_down.png) no-repeat center}.arrow_up{background:#fff url(../images/arrow_up.png) no-repeat center}.edui-colorpicker-adv{position:relative;overflow:hidden;height:180px;display:none}.edui-colorpicker-plant,.edui-colorpicker-hue{border:solid 1px #666}.edui-colorpicker-pad{width:150px;height:150px;left:14px;top:13px;position:absolute;background:red;overflow:hidden;cursor:crosshair}.edui-colorpicker-cover{position:absolute;top:0;left:0;width:150px;height:150px;background:url(../images/tangram-colorpicker.png) -160px -200px}.edui-colorpicker-padDot{position:absolute;top:0;left:0;width:11px;height:11px;overflow:hidden;background:url(../images/tangram-colorpicker.png) 0 -200px repeat-x;z-index:1000}.edui-colorpicker-sliderMain{position:absolute;left:171px;top:13px;width:19px;height:152px;background:url(../images/tangram-colorpicker.png) -179px -12px no-repeat}.edui-colorpicker-slider{width:100%;height:100%;cursor:pointer}.edui-colorpicker-thumb{position:absolute;top:0;cursor:pointer;height:3px;left:-1px;right:-1px;border:1px solid #000;background:#fff;opacity:.8}.edui-default .edui-autotypesetpicker .edui-autotypesetpicker-body{font-size:12px;margin-bottom:3px;clear:both}.edui-default .edui-autotypesetpicker-body table{border-collapse:separate;border-spacing:2px}.edui-default .edui-autotypesetpicker-body td{font-size:12px;word-wrap:break-word}.edui-default .edui-autotypesetpicker-body td input{margin:3px 3px 3px 4px;*margin:1px 0 0}.edui-default .edui-cellalignpicker .edui-cellalignpicker-body{width:70px;font-size:12px;cursor:default}.edui-default .edui-cellalignpicker-body table{border-collapse:separate;border-spacing:0}.edui-default .edui-cellalignpicker-body td{padding:1px}.edui-default .edui-cellalignpicker-body .edui-icon{height:20px;width:20px;padding:1px;background-image:url(../images/table-cell-align.png)}.edui-default .edui-cellalignpicker-body .edui-left{background-position:0 0}.edui-default .edui-cellalignpicker-body .edui-center{background-position:-25px 0}.edui-default .edui-cellalignpicker-body .edui-right{background-position:-51px 0}.edui-default .edui-cellalignpicker-body td.edui-state-hover .edui-left{background-position:-73px 0}.edui-default .edui-cellalignpicker-body td.edui-state-hover .edui-center{background-position:-98px 0}.edui-default .edui-cellalignpicker-body td.edui-state-hover .edui-right{background-position:-124px 0}.edui-default .edui-cellalignpicker-body td.edui-cellalign-selected .edui-left{background-position:-146px 0;background-color:#f1f4f5}.edui-default .edui-cellalignpicker-body td.edui-cellalign-selected .edui-center{background-position:-245px 0}.edui-default .edui-cellalignpicker-body td.edui-cellalign-selected .edui-right{background-position:-271px 0}.edui-default .edui-toolbar .edui-separator{width:2px;height:20px;margin:2px 4px 2px 3px;background:url(../images/icons.png) -181px 0;background:url(../images/icons.gif) -181px 0 \9}.edui-default .edui-toolbar .edui-colorbutton .edui-colorlump{position:absolute;overflow:hidden;bottom:1px;left:1px;width:18px;height:4px}.edui-default .edui-for-emotion .edui-icon{background-position:-60px -20px}.edui-default .edui-for-emotion .edui-popup-content iframe{width:514px;height:380px;overflow:hidden}.edui-default .edui-for-emotion .edui-popup-content{position:relative;z-index:555}.edui-default .edui-for-emotion .edui-splitborder{display:none}.edui-default .edui-for-emotion .edui-splitbutton-body .edui-arrow{width:0}.edui-default .edui-toolbar .edui-for-emotion .edui-state-active .edui-splitborder{border-left:1px solid transparent}.edui-default .edui-hassubmenu .edui-arrow{height:20px;width:20px;float:right;background:url(../images/icons-all.gif) no-repeat 10px -233px}.edui-default .edui-menu-body .edui-menuitem{padding:1px}.edui-default .edui-menuseparator{margin:2px 0;height:1px;overflow:hidden}.edui-default .edui-menuseparator-inner{border-bottom:1px solid #e2e3e3;margin-left:29px;margin-right:1px}.edui-default .edui-menu-body .edui-state-hover{padding:0!important;background-color:#fff5d4;border:1px solid #dcac6c}.edui-default .edui-shortcutmenu{padding:2px;width:190px;height:50px;background-color:#fff;border:1px solid #ccc;border-radius:5px}.edui-default .edui-wordpastepop .edui-popup-content{border:0;padding:0;width:54px;height:21px}.edui-default .edui-pasteicon{width:100%;height:100%;background-image:url(../images/wordpaste.png);background-position:0 0}.edui-default .edui-pasteicon.edui-state-opened{background-position:0 -34px}.edui-default .edui-pastecontainer{position:relative;visibility:hidden;width:97px;background:#fff;border:1px solid #ccc}.edui-default .edui-pastecontainer .edui-title{font-weight:700;background:#F8F8FF;height:25px;line-height:25px;font-size:12px;padding-left:5px}.edui-default .edui-pastecontainer .edui-button{overflow:hidden;margin:3px 0}.edui-default .edui-pastecontainer .edui-button .edui-richtxticon,.edui-default .edui-pastecontainer .edui-button .edui-tagicon,.edui-default .edui-pastecontainer .edui-button .edui-plaintxticon{float:left;cursor:pointer;width:29px;height:29px;margin-left:5px;background-image:url(../images/wordpaste.png);background-repeat:no-repeat}.edui-default .edui-pastecontainer .edui-button .edui-richtxticon{margin-left:0;background-position:-109px 0}.edui-default .edui-pastecontainer .edui-button .edui-tagicon{background-position:-148px 1px}.edui-default .edui-pastecontainer .edui-button .edui-plaintxticon{background-position:-72px 0}.edui-default .edui-pastecontainer .edui-button .edui-state-hover .edui-richtxticon{background-position:-109px -34px}.edui-default .edui-pastecontainer .edui-button .edui-state-hover .edui-tagicon{background-position:-148px -34px}.edui-default .edui-pastecontainer .edui-button .edui-state-hover .edui-plaintxticon{background-position:-72px -34px}
\ No newline at end of file
diff --git a/public/UEditor/themes/default/dialogbase.css b/public/UEditor/themes/default/dialogbase.css
deleted file mode 100644
index cd663d5..0000000
--- a/public/UEditor/themes/default/dialogbase.css
+++ /dev/null
@@ -1,100 +0,0 @@
-/*弹出对话框页面样式组件
-*/
-
-/*reset
-*/
-html, body, div, span, applet, object, iframe,
-h1, h2, h3, h4, h5, h6, p, blockquote, pre,
-a, abbr, acronym, address, big, cite, code,
-del, dfn, em, font, img, ins, kbd, q, s, samp,
-small, strike, strong, sub, sup, tt, var,
-b, u, i, center,
-dl, dt, dd, ol, ul, li,
-fieldset, form, label, legend,
-table, caption, tbody, tfoot, thead, tr, th, td {
- margin: 0;
- padding: 0;
- outline: 0;
- font-size: 100%;
-}
-
-body {
- line-height: 1;
-}
-
-ol, ul {
- list-style: none;
-}
-
-blockquote, q {
- quotes: none;
-}
-
-ins {
- text-decoration: none;
-}
-
-del {
- text-decoration: line-through;
-}
-
-table {
- border-collapse: collapse;
- border-spacing: 0;
-}
-
-/*module
-*/
-body {
- background-color: #fff;
- font: 12px/1.5 sans-serif, "宋体", "Arial Narrow", HELVETICA;
- color: #646464;
-}
-
-/*tab*/
-.tabhead {
- position: relative;
- z-index: 10;
-}
-
-.tabhead span {
- display: inline-block;
- padding: 0 5px;
- height: 30px;
- border: 1px solid #ccc;
- background: url("images/dialog-title-bg.png") repeat-x;
- text-align: center;
- line-height: 30px;
- cursor: pointer;
- *margin-right: 5px;
-}
-
-.tabhead span.focus {
- height: 31px;
- border-bottom: none;
- background: #fff;
-}
-
-.tabbody {
- position: relative;
- top: -1px;
- margin: 0 auto;
- border: 1px solid #ccc;
-}
-
-/*button*/
-a.button {
- display: block;
- text-align: center;
- line-height: 24px;
- text-decoration: none;
- height: 24px;
- width: 95px;
- border: 0;
- color: #838383;
- background: url(../../themes/default/images/icons-all.gif) no-repeat;
-}
-
-a.button:hover {
- background-position: 0 -30px;
-}
\ No newline at end of file
diff --git a/public/UEditor/themes/default/images/anchor.gif b/public/UEditor/themes/default/images/anchor.gif
deleted file mode 100644
index 5aa797b..0000000
Binary files a/public/UEditor/themes/default/images/anchor.gif and /dev/null differ
diff --git a/public/UEditor/themes/default/images/arrow.png b/public/UEditor/themes/default/images/arrow.png
deleted file mode 100644
index d900886..0000000
Binary files a/public/UEditor/themes/default/images/arrow.png and /dev/null differ
diff --git a/public/UEditor/themes/default/images/arrow_down.png b/public/UEditor/themes/default/images/arrow_down.png
deleted file mode 100644
index e9257e8..0000000
Binary files a/public/UEditor/themes/default/images/arrow_down.png and /dev/null differ
diff --git a/public/UEditor/themes/default/images/arrow_up.png b/public/UEditor/themes/default/images/arrow_up.png
deleted file mode 100644
index 74277af..0000000
Binary files a/public/UEditor/themes/default/images/arrow_up.png and /dev/null differ
diff --git a/public/UEditor/themes/default/images/button-bg.gif b/public/UEditor/themes/default/images/button-bg.gif
deleted file mode 100644
index ec7fa2e..0000000
Binary files a/public/UEditor/themes/default/images/button-bg.gif and /dev/null differ
diff --git a/public/UEditor/themes/default/images/cancelbutton.gif b/public/UEditor/themes/default/images/cancelbutton.gif
deleted file mode 100644
index df4bc2c..0000000
Binary files a/public/UEditor/themes/default/images/cancelbutton.gif and /dev/null differ
diff --git a/public/UEditor/themes/default/images/charts.png b/public/UEditor/themes/default/images/charts.png
deleted file mode 100644
index 713965c..0000000
Binary files a/public/UEditor/themes/default/images/charts.png and /dev/null differ
diff --git a/public/UEditor/themes/default/images/cursor_h.gif b/public/UEditor/themes/default/images/cursor_h.gif
deleted file mode 100644
index d7c3e7e..0000000
Binary files a/public/UEditor/themes/default/images/cursor_h.gif and /dev/null differ
diff --git a/public/UEditor/themes/default/images/cursor_h.png b/public/UEditor/themes/default/images/cursor_h.png
deleted file mode 100644
index 2088fc2..0000000
Binary files a/public/UEditor/themes/default/images/cursor_h.png and /dev/null differ
diff --git a/public/UEditor/themes/default/images/cursor_v.gif b/public/UEditor/themes/default/images/cursor_v.gif
deleted file mode 100644
index bb508db..0000000
Binary files a/public/UEditor/themes/default/images/cursor_v.gif and /dev/null differ
diff --git a/public/UEditor/themes/default/images/cursor_v.png b/public/UEditor/themes/default/images/cursor_v.png
deleted file mode 100644
index 6f39ca3..0000000
Binary files a/public/UEditor/themes/default/images/cursor_v.png and /dev/null differ
diff --git a/public/UEditor/themes/default/images/dialog-title-bg.png b/public/UEditor/themes/default/images/dialog-title-bg.png
deleted file mode 100644
index f744f26..0000000
Binary files a/public/UEditor/themes/default/images/dialog-title-bg.png and /dev/null differ
diff --git a/public/UEditor/themes/default/images/filescan.png b/public/UEditor/themes/default/images/filescan.png
deleted file mode 100644
index 1d27158..0000000
Binary files a/public/UEditor/themes/default/images/filescan.png and /dev/null differ
diff --git a/public/UEditor/themes/default/images/highlighted.gif b/public/UEditor/themes/default/images/highlighted.gif
deleted file mode 100644
index 9272b49..0000000
Binary files a/public/UEditor/themes/default/images/highlighted.gif and /dev/null differ
diff --git a/public/UEditor/themes/default/images/icons-all.gif b/public/UEditor/themes/default/images/icons-all.gif
deleted file mode 100644
index 21915e5..0000000
Binary files a/public/UEditor/themes/default/images/icons-all.gif and /dev/null differ
diff --git a/public/UEditor/themes/default/images/icons.gif b/public/UEditor/themes/default/images/icons.gif
deleted file mode 100644
index 7abd30a..0000000
Binary files a/public/UEditor/themes/default/images/icons.gif and /dev/null differ
diff --git a/public/UEditor/themes/default/images/icons.png b/public/UEditor/themes/default/images/icons.png
deleted file mode 100644
index c015e3a..0000000
Binary files a/public/UEditor/themes/default/images/icons.png and /dev/null differ
diff --git a/public/UEditor/themes/default/images/loaderror.png b/public/UEditor/themes/default/images/loaderror.png
deleted file mode 100644
index 35ff333..0000000
Binary files a/public/UEditor/themes/default/images/loaderror.png and /dev/null differ
diff --git a/public/UEditor/themes/default/images/loading.gif b/public/UEditor/themes/default/images/loading.gif
deleted file mode 100644
index b713e27..0000000
Binary files a/public/UEditor/themes/default/images/loading.gif and /dev/null differ
diff --git a/public/UEditor/themes/default/images/lock.gif b/public/UEditor/themes/default/images/lock.gif
deleted file mode 100644
index b4e6d78..0000000
Binary files a/public/UEditor/themes/default/images/lock.gif and /dev/null differ
diff --git a/public/UEditor/themes/default/images/neweditor-tab-bg.png b/public/UEditor/themes/default/images/neweditor-tab-bg.png
deleted file mode 100644
index 8f398b0..0000000
Binary files a/public/UEditor/themes/default/images/neweditor-tab-bg.png and /dev/null differ
diff --git a/public/UEditor/themes/default/images/pagebreak.gif b/public/UEditor/themes/default/images/pagebreak.gif
deleted file mode 100644
index 8d1cffd..0000000
Binary files a/public/UEditor/themes/default/images/pagebreak.gif and /dev/null differ
diff --git a/public/UEditor/themes/default/images/scale.png b/public/UEditor/themes/default/images/scale.png
deleted file mode 100644
index f45adb5..0000000
Binary files a/public/UEditor/themes/default/images/scale.png and /dev/null differ
diff --git a/public/UEditor/themes/default/images/sortable.png b/public/UEditor/themes/default/images/sortable.png
deleted file mode 100644
index 1bca649..0000000
Binary files a/public/UEditor/themes/default/images/sortable.png and /dev/null differ
diff --git a/public/UEditor/themes/default/images/spacer.gif b/public/UEditor/themes/default/images/spacer.gif
deleted file mode 100644
index 5bfd67a..0000000
Binary files a/public/UEditor/themes/default/images/spacer.gif and /dev/null differ
diff --git a/public/UEditor/themes/default/images/sparator_v.png b/public/UEditor/themes/default/images/sparator_v.png
deleted file mode 100644
index 8cf5662..0000000
Binary files a/public/UEditor/themes/default/images/sparator_v.png and /dev/null differ
diff --git a/public/UEditor/themes/default/images/table-cell-align.png b/public/UEditor/themes/default/images/table-cell-align.png
deleted file mode 100644
index ddf4285..0000000
Binary files a/public/UEditor/themes/default/images/table-cell-align.png and /dev/null differ
diff --git a/public/UEditor/themes/default/images/tangram-colorpicker.png b/public/UEditor/themes/default/images/tangram-colorpicker.png
deleted file mode 100644
index 738e500..0000000
Binary files a/public/UEditor/themes/default/images/tangram-colorpicker.png and /dev/null differ
diff --git a/public/UEditor/themes/default/images/toolbar_bg.png b/public/UEditor/themes/default/images/toolbar_bg.png
deleted file mode 100644
index 7ab685f..0000000
Binary files a/public/UEditor/themes/default/images/toolbar_bg.png and /dev/null differ
diff --git a/public/UEditor/themes/default/images/unhighlighted.gif b/public/UEditor/themes/default/images/unhighlighted.gif
deleted file mode 100644
index 7ad0b67..0000000
Binary files a/public/UEditor/themes/default/images/unhighlighted.gif and /dev/null differ
diff --git a/public/UEditor/themes/default/images/upload.png b/public/UEditor/themes/default/images/upload.png
deleted file mode 100644
index 08d4d92..0000000
Binary files a/public/UEditor/themes/default/images/upload.png and /dev/null differ
diff --git a/public/UEditor/themes/default/images/videologo.gif b/public/UEditor/themes/default/images/videologo.gif
deleted file mode 100644
index 555af74..0000000
Binary files a/public/UEditor/themes/default/images/videologo.gif and /dev/null differ
diff --git a/public/UEditor/themes/default/images/word.gif b/public/UEditor/themes/default/images/word.gif
deleted file mode 100644
index 9ef5d09..0000000
Binary files a/public/UEditor/themes/default/images/word.gif and /dev/null differ
diff --git a/public/UEditor/themes/default/images/wordpaste.png b/public/UEditor/themes/default/images/wordpaste.png
deleted file mode 100644
index 9367758..0000000
Binary files a/public/UEditor/themes/default/images/wordpaste.png and /dev/null differ
diff --git a/public/UEditor/themes/iframe.css b/public/UEditor/themes/iframe.css
deleted file mode 100644
index 774013a..0000000
--- a/public/UEditor/themes/iframe.css
+++ /dev/null
@@ -1 +0,0 @@
-/*可以在这里添加你自己的css*/
diff --git a/public/UEditor/third-party/SyntaxHighlighter/shCore.js b/public/UEditor/third-party/SyntaxHighlighter/shCore.js
deleted file mode 100644
index 3249184..0000000
--- a/public/UEditor/third-party/SyntaxHighlighter/shCore.js
+++ /dev/null
@@ -1,3655 +0,0 @@
-// XRegExp 1.5.1
-// (c) 2007-2012 Steven Levithan
-// MIT License
-//
-// Provides an augmented, extensible, cross-browser implementation of regular expressions,
-// including support for additional syntax, flags, and methods
-
-var XRegExp;
-
-if (XRegExp) {
- // Avoid running twice, since that would break references to native globals
- throw Error("can't load XRegExp twice in the same frame");
-}
-
-// Run within an anonymous function to protect variables and avoid new globals
-(function (undefined) {
-
- //---------------------------------
- // Constructor
- //---------------------------------
-
- // Accepts a pattern and flags; returns a new, extended `RegExp` object. Differs from a native
- // regular expression in that additional syntax and flags are supported and cross-browser
- // syntax inconsistencies are ameliorated. `XRegExp(/regex/)` clones an existing regex and
- // converts to type XRegExp
- XRegExp = function (pattern, flags) {
- var output = [],
- currScope = XRegExp.OUTSIDE_CLASS,
- pos = 0,
- context, tokenResult, match, chr, regex;
-
- if (XRegExp.isRegExp(pattern)) {
- if (flags !== undefined)
- throw TypeError("can't supply flags when constructing one RegExp from another");
- return clone(pattern);
- }
- // Tokens become part of the regex construction process, so protect against infinite
- // recursion when an XRegExp is constructed within a token handler or trigger
- if (isInsideConstructor)
- throw Error("can't call the XRegExp constructor within token definition functions");
-
- flags = flags || "";
- context = { // `this` object for custom tokens
- hasNamedCapture: false,
- captureNames: [],
- hasFlag: function (flag) {return flags.indexOf(flag) > -1;},
- setFlag: function (flag) {flags += flag;}
- };
-
- while (pos < pattern.length) {
- // Check for custom tokens at the current position
- tokenResult = runTokens(pattern, pos, currScope, context);
-
- if (tokenResult) {
- output.push(tokenResult.output);
- pos += (tokenResult.match[0].length || 1);
- } else {
- // Check for native multicharacter metasequences (excluding character classes) at
- // the current position
- if (match = nativ.exec.call(nativeTokens[currScope], pattern.slice(pos))) {
- output.push(match[0]);
- pos += match[0].length;
- } else {
- chr = pattern.charAt(pos);
- if (chr === "[")
- currScope = XRegExp.INSIDE_CLASS;
- else if (chr === "]")
- currScope = XRegExp.OUTSIDE_CLASS;
- // Advance position one character
- output.push(chr);
- pos++;
- }
- }
- }
-
- regex = RegExp(output.join(""), nativ.replace.call(flags, flagClip, ""));
- regex._xregexp = {
- source: pattern,
- captureNames: context.hasNamedCapture ? context.captureNames : null
- };
- return regex;
- };
-
-
- //---------------------------------
- // Public properties
- //---------------------------------
-
- XRegExp.version = "1.5.1";
-
- // Token scope bitflags
- XRegExp.INSIDE_CLASS = 1;
- XRegExp.OUTSIDE_CLASS = 2;
-
-
- //---------------------------------
- // Private variables
- //---------------------------------
-
- var replacementToken = /\$(?:(\d\d?|[$&`'])|{([$\w]+)})/g,
- flagClip = /[^gimy]+|([\s\S])(?=[\s\S]*\1)/g, // Nonnative and duplicate flags
- quantifier = /^(?:[?*+]|{\d+(?:,\d*)?})\??/,
- isInsideConstructor = false,
- tokens = [],
- // Copy native globals for reference ("native" is an ES3 reserved keyword)
- nativ = {
- exec: RegExp.prototype.exec,
- test: RegExp.prototype.test,
- match: String.prototype.match,
- replace: String.prototype.replace,
- split: String.prototype.split
- },
- compliantExecNpcg = nativ.exec.call(/()??/, "")[1] === undefined, // check `exec` handling of nonparticipating capturing groups
- compliantLastIndexIncrement = function () {
- var x = /^/g;
- nativ.test.call(x, "");
- return !x.lastIndex;
- }(),
- hasNativeY = RegExp.prototype.sticky !== undefined,
- nativeTokens = {};
-
- // `nativeTokens` match native multicharacter metasequences only (including deprecated octals,
- // excluding character classes)
- nativeTokens[XRegExp.INSIDE_CLASS] = /^(?:\\(?:[0-3][0-7]{0,2}|[4-7][0-7]?|x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|c[A-Za-z]|[\s\S]))/;
- nativeTokens[XRegExp.OUTSIDE_CLASS] = /^(?:\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9]\d*|x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|c[A-Za-z]|[\s\S])|\(\?[:=!]|[?*+]\?|{\d+(?:,\d*)?}\??)/;
-
-
- //---------------------------------
- // Public methods
- //---------------------------------
-
- // Lets you extend or change XRegExp syntax and create custom flags. This is used internally by
- // the XRegExp library and can be used to create XRegExp plugins. This function is intended for
- // users with advanced knowledge of JavaScript's regular expression syntax and behavior. It can
- // be disabled by `XRegExp.freezeTokens`
- XRegExp.addToken = function (regex, handler, scope, trigger) {
- tokens.push({
- pattern: clone(regex, "g" + (hasNativeY ? "y" : "")),
- handler: handler,
- scope: scope || XRegExp.OUTSIDE_CLASS,
- trigger: trigger || null
- });
- };
-
- // Accepts a pattern and flags; returns an extended `RegExp` object. If the pattern and flag
- // combination has previously been cached, the cached copy is returned; otherwise the newly
- // created regex is cached
- XRegExp.cache = function (pattern, flags) {
- var key = pattern + "/" + (flags || "");
- return XRegExp.cache[key] || (XRegExp.cache[key] = XRegExp(pattern, flags));
- };
-
- // Accepts a `RegExp` instance; returns a copy with the `/g` flag set. The copy has a fresh
- // `lastIndex` (set to zero). If you want to copy a regex without forcing the `global`
- // property, use `XRegExp(regex)`. Do not use `RegExp(regex)` because it will not preserve
- // special properties required for named capture
- XRegExp.copyAsGlobal = function (regex) {
- return clone(regex, "g");
- };
-
- // Accepts a string; returns the string with regex metacharacters escaped. The returned string
- // can safely be used at any point within a regex to match the provided literal string. Escaped
- // characters are [ ] { } ( ) * + ? - . , \ ^ $ | # and whitespace
- XRegExp.escape = function (str) {
- return str.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
- };
-
- // Accepts a string to search, regex to search with, position to start the search within the
- // string (default: 0), and an optional Boolean indicating whether matches must start at-or-
- // after the position or at the specified position only. This function ignores the `lastIndex`
- // of the provided regex in its own handling, but updates the property for compatibility
- XRegExp.execAt = function (str, regex, pos, anchored) {
- var r2 = clone(regex, "g" + ((anchored && hasNativeY) ? "y" : "")),
- match;
- r2.lastIndex = pos = pos || 0;
- match = r2.exec(str); // Run the altered `exec` (required for `lastIndex` fix, etc.)
- if (anchored && match && match.index !== pos)
- match = null;
- if (regex.global)
- regex.lastIndex = match ? r2.lastIndex : 0;
- return match;
- };
-
- // Breaks the unrestorable link to XRegExp's private list of tokens, thereby preventing
- // syntax and flag changes. Should be run after XRegExp and any plugins are loaded
- XRegExp.freezeTokens = function () {
- XRegExp.addToken = function () {
- throw Error("can't run addToken after freezeTokens");
- };
- };
-
- // Accepts any value; returns a Boolean indicating whether the argument is a `RegExp` object.
- // Note that this is also `true` for regex literals and regexes created by the `XRegExp`
- // constructor. This works correctly for variables created in another frame, when `instanceof`
- // and `constructor` checks would fail to work as intended
- XRegExp.isRegExp = function (o) {
- return Object.prototype.toString.call(o) === "[object RegExp]";
- };
-
- // Executes `callback` once per match within `str`. Provides a simpler and cleaner way to
- // iterate over regex matches compared to the traditional approaches of subverting
- // `String.prototype.replace` or repeatedly calling `exec` within a `while` loop
- XRegExp.iterate = function (str, regex, callback, context) {
- var r2 = clone(regex, "g"),
- i = -1, match;
- while (match = r2.exec(str)) { // Run the altered `exec` (required for `lastIndex` fix, etc.)
- if (regex.global)
- regex.lastIndex = r2.lastIndex; // Doing this to follow expectations if `lastIndex` is checked within `callback`
- callback.call(context, match, ++i, str, regex);
- if (r2.lastIndex === match.index)
- r2.lastIndex++;
- }
- if (regex.global)
- regex.lastIndex = 0;
- };
-
- // Accepts a string and an array of regexes; returns the result of using each successive regex
- // to search within the matches of the previous regex. The array of regexes can also contain
- // objects with `regex` and `backref` properties, in which case the named or numbered back-
- // references specified are passed forward to the next regex or returned. E.g.:
- // var xregexpImgFileNames = XRegExp.matchChain(html, [
- // {regex: /]+)>/i, backref: 1}, // tag attributes
- // {regex: XRegExp('(?ix) \\s src=" (? [^"]+ )'), backref: "src"}, // src attribute values
- // {regex: XRegExp("^http://xregexp\\.com(/[^#?]+)", "i"), backref: 1}, // xregexp.com paths
- // /[^\/]+$/ // filenames (strip directory paths)
- // ]);
- XRegExp.matchChain = function (str, chain) {
- return function recurseChain (values, level) {
- var item = chain[level].regex ? chain[level] : {regex: chain[level]},
- regex = clone(item.regex, "g"),
- matches = [], i;
- for (i = 0; i < values.length; i++) {
- XRegExp.iterate(values[i], regex, function (match) {
- matches.push(item.backref ? (match[item.backref] || "") : match[0]);
- });
- }
- return ((level === chain.length - 1) || !matches.length) ?
- matches : recurseChain(matches, level + 1);
- }([str], 0);
- };
-
-
- //---------------------------------
- // New RegExp prototype methods
- //---------------------------------
-
- // Accepts a context object and arguments array; returns the result of calling `exec` with the
- // first value in the arguments array. the context is ignored but is accepted for congruity
- // with `Function.prototype.apply`
- RegExp.prototype.apply = function (context, args) {
- return this.exec(args[0]);
- };
-
- // Accepts a context object and string; returns the result of calling `exec` with the provided
- // string. the context is ignored but is accepted for congruity with `Function.prototype.call`
- RegExp.prototype.call = function (context, str) {
- return this.exec(str);
- };
-
-
- //---------------------------------
- // Overriden native methods
- //---------------------------------
-
- // Adds named capture support (with backreferences returned as `result.name`), and fixes two
- // cross-browser issues per ES3:
- // - Captured values for nonparticipating capturing groups should be returned as `undefined`,
- // rather than the empty string.
- // - `lastIndex` should not be incremented after zero-length matches.
- RegExp.prototype.exec = function (str) {
- var match, name, r2, origLastIndex;
- if (!this.global)
- origLastIndex = this.lastIndex;
- match = nativ.exec.apply(this, arguments);
- if (match) {
- // Fix browsers whose `exec` methods don't consistently return `undefined` for
- // nonparticipating capturing groups
- if (!compliantExecNpcg && match.length > 1 && indexOf(match, "") > -1) {
- r2 = RegExp(this.source, nativ.replace.call(getNativeFlags(this), "g", ""));
- // Using `str.slice(match.index)` rather than `match[0]` in case lookahead allowed
- // matching due to characters outside the match
- nativ.replace.call((str + "").slice(match.index), r2, function () {
- for (var i = 1; i < arguments.length - 2; i++) {
- if (arguments[i] === undefined)
- match[i] = undefined;
- }
- });
- }
- // Attach named capture properties
- if (this._xregexp && this._xregexp.captureNames) {
- for (var i = 1; i < match.length; i++) {
- name = this._xregexp.captureNames[i - 1];
- if (name)
- match[name] = match[i];
- }
- }
- // Fix browsers that increment `lastIndex` after zero-length matches
- if (!compliantLastIndexIncrement && this.global && !match[0].length && (this.lastIndex > match.index))
- this.lastIndex--;
- }
- if (!this.global)
- this.lastIndex = origLastIndex; // Fix IE, Opera bug (last tested IE 9.0.5, Opera 11.61 on Windows)
- return match;
- };
-
- // Fix browser bugs in native method
- RegExp.prototype.test = function (str) {
- // Use the native `exec` to skip some processing overhead, even though the altered
- // `exec` would take care of the `lastIndex` fixes
- var match, origLastIndex;
- if (!this.global)
- origLastIndex = this.lastIndex;
- match = nativ.exec.call(this, str);
- // Fix browsers that increment `lastIndex` after zero-length matches
- if (match && !compliantLastIndexIncrement && this.global && !match[0].length && (this.lastIndex > match.index))
- this.lastIndex--;
- if (!this.global)
- this.lastIndex = origLastIndex; // Fix IE, Opera bug (last tested IE 9.0.5, Opera 11.61 on Windows)
- return !!match;
- };
-
- // Adds named capture support and fixes browser bugs in native method
- String.prototype.match = function (regex) {
- if (!XRegExp.isRegExp(regex))
- regex = RegExp(regex); // Native `RegExp`
- if (regex.global) {
- var result = nativ.match.apply(this, arguments);
- regex.lastIndex = 0; // Fix IE bug
- return result;
- }
- return regex.exec(this); // Run the altered `exec`
- };
-
- // Adds support for `${n}` tokens for named and numbered backreferences in replacement text,
- // and provides named backreferences to replacement functions as `arguments[0].name`. Also
- // fixes cross-browser differences in replacement text syntax when performing a replacement
- // using a nonregex search value, and the value of replacement regexes' `lastIndex` property
- // during replacement iterations. Note that this doesn't support SpiderMonkey's proprietary
- // third (`flags`) parameter
- String.prototype.replace = function (search, replacement) {
- var isRegex = XRegExp.isRegExp(search),
- captureNames, result, str, origLastIndex;
-
- // There are too many combinations of search/replacement types/values and browser bugs that
- // preclude passing to native `replace`, so don't try
- //if (...)
- // return nativ.replace.apply(this, arguments);
-
- if (isRegex) {
- if (search._xregexp)
- captureNames = search._xregexp.captureNames; // Array or `null`
- if (!search.global)
- origLastIndex = search.lastIndex;
- } else {
- search = search + ""; // Type conversion
- }
-
- if (Object.prototype.toString.call(replacement) === "[object Function]") {
- result = nativ.replace.call(this + "", search, function () {
- if (captureNames) {
- // Change the `arguments[0]` string primitive to a String object which can store properties
- arguments[0] = new String(arguments[0]);
- // Store named backreferences on `arguments[0]`
- for (var i = 0; i < captureNames.length; i++) {
- if (captureNames[i])
- arguments[0][captureNames[i]] = arguments[i + 1];
- }
- }
- // Update `lastIndex` before calling `replacement` (fix browsers)
- if (isRegex && search.global)
- search.lastIndex = arguments[arguments.length - 2] + arguments[0].length;
- return replacement.apply(null, arguments);
- });
- } else {
- str = this + ""; // Type conversion, so `args[args.length - 1]` will be a string (given nonstring `this`)
- result = nativ.replace.call(str, search, function () {
- var args = arguments; // Keep this function's `arguments` available through closure
- return nativ.replace.call(replacement + "", replacementToken, function ($0, $1, $2) {
- // Numbered backreference (without delimiters) or special variable
- if ($1) {
- switch ($1) {
- case "$": return "$";
- case "&": return args[0];
- case "`": return args[args.length - 1].slice(0, args[args.length - 2]);
- case "'": return args[args.length - 1].slice(args[args.length - 2] + args[0].length);
- // Numbered backreference
- default:
- // What does "$10" mean?
- // - Backreference 10, if 10 or more capturing groups exist
- // - Backreference 1 followed by "0", if 1-9 capturing groups exist
- // - Otherwise, it's the string "$10"
- // Also note:
- // - Backreferences cannot be more than two digits (enforced by `replacementToken`)
- // - "$01" is equivalent to "$1" if a capturing group exists, otherwise it's the string "$01"
- // - There is no "$0" token ("$&" is the entire match)
- var literalNumbers = "";
- $1 = +$1; // Type conversion; drop leading zero
- if (!$1) // `$1` was "0" or "00"
- return $0;
- while ($1 > args.length - 3) {
- literalNumbers = String.prototype.slice.call($1, -1) + literalNumbers;
- $1 = Math.floor($1 / 10); // Drop the last digit
- }
- return ($1 ? args[$1] || "" : "$") + literalNumbers;
- }
- // Named backreference or delimited numbered backreference
- } else {
- // What does "${n}" mean?
- // - Backreference to numbered capture n. Two differences from "$n":
- // - n can be more than two digits
- // - Backreference 0 is allowed, and is the entire match
- // - Backreference to named capture n, if it exists and is not a number overridden by numbered capture
- // - Otherwise, it's the string "${n}"
- var n = +$2; // Type conversion; drop leading zeros
- if (n <= args.length - 3)
- return args[n];
- n = captureNames ? indexOf(captureNames, $2) : -1;
- return n > -1 ? args[n + 1] : $0;
- }
- });
- });
- }
-
- if (isRegex) {
- if (search.global)
- search.lastIndex = 0; // Fix IE, Safari bug (last tested IE 9.0.5, Safari 5.1.2 on Windows)
- else
- search.lastIndex = origLastIndex; // Fix IE, Opera bug (last tested IE 9.0.5, Opera 11.61 on Windows)
- }
-
- return result;
- };
-
- // A consistent cross-browser, ES3 compliant `split`
- String.prototype.split = function (s /* separator */, limit) {
- // If separator `s` is not a regex, use the native `split`
- if (!XRegExp.isRegExp(s))
- return nativ.split.apply(this, arguments);
-
- var str = this + "", // Type conversion
- output = [],
- lastLastIndex = 0,
- match, lastLength;
-
- // Behavior for `limit`: if it's...
- // - `undefined`: No limit
- // - `NaN` or zero: Return an empty array
- // - A positive number: Use `Math.floor(limit)`
- // - A negative number: No limit
- // - Other: Type-convert, then use the above rules
- if (limit === undefined || +limit < 0) {
- limit = Infinity;
- } else {
- limit = Math.floor(+limit);
- if (!limit)
- return [];
- }
-
- // This is required if not `s.global`, and it avoids needing to set `s.lastIndex` to zero
- // and restore it to its original value when we're done using the regex
- s = XRegExp.copyAsGlobal(s);
-
- while (match = s.exec(str)) { // Run the altered `exec` (required for `lastIndex` fix, etc.)
- if (s.lastIndex > lastLastIndex) {
- output.push(str.slice(lastLastIndex, match.index));
-
- if (match.length > 1 && match.index < str.length)
- Array.prototype.push.apply(output, match.slice(1));
-
- lastLength = match[0].length;
- lastLastIndex = s.lastIndex;
-
- if (output.length >= limit)
- break;
- }
-
- if (s.lastIndex === match.index)
- s.lastIndex++;
- }
-
- if (lastLastIndex === str.length) {
- if (!nativ.test.call(s, "") || lastLength)
- output.push("");
- } else {
- output.push(str.slice(lastLastIndex));
- }
-
- return output.length > limit ? output.slice(0, limit) : output;
- };
-
-
- //---------------------------------
- // Private helper functions
- //---------------------------------
-
- // Supporting function for `XRegExp`, `XRegExp.copyAsGlobal`, etc. Returns a copy of a `RegExp`
- // instance with a fresh `lastIndex` (set to zero), preserving properties required for named
- // capture. Also allows adding new flags in the process of copying the regex
- function clone (regex, additionalFlags) {
- if (!XRegExp.isRegExp(regex))
- throw TypeError("type RegExp expected");
- var x = regex._xregexp;
- regex = XRegExp(regex.source, getNativeFlags(regex) + (additionalFlags || ""));
- if (x) {
- regex._xregexp = {
- source: x.source,
- captureNames: x.captureNames ? x.captureNames.slice(0) : null
- };
- }
- return regex;
- }
-
- function getNativeFlags (regex) {
- return (regex.global ? "g" : "") +
- (regex.ignoreCase ? "i" : "") +
- (regex.multiline ? "m" : "") +
- (regex.extended ? "x" : "") + // Proposed for ES4; included in AS3
- (regex.sticky ? "y" : "");
- }
-
- function runTokens (pattern, index, scope, context) {
- var i = tokens.length,
- result, match, t;
- // Protect against constructing XRegExps within token handler and trigger functions
- isInsideConstructor = true;
- // Must reset `isInsideConstructor`, even if a `trigger` or `handler` throws
- try {
- while (i--) { // Run in reverse order
- t = tokens[i];
- if ((scope & t.scope) && (!t.trigger || t.trigger.call(context))) {
- t.pattern.lastIndex = index;
- match = t.pattern.exec(pattern); // Running the altered `exec` here allows use of named backreferences, etc.
- if (match && match.index === index) {
- result = {
- output: t.handler.call(context, match, scope),
- match: match
- };
- break;
- }
- }
- }
- } catch (err) {
- throw err;
- } finally {
- isInsideConstructor = false;
- }
- return result;
- }
-
- function indexOf (array, item, from) {
- if (Array.prototype.indexOf) // Use the native array method if available
- return array.indexOf(item, from);
- for (var i = from || 0; i < array.length; i++) {
- if (array[i] === item)
- return i;
- }
- return -1;
- }
-
-
- //---------------------------------
- // Built-in tokens
- //---------------------------------
-
- // Augment XRegExp's regular expression syntax and flags. Note that when adding tokens, the
- // third (`scope`) argument defaults to `XRegExp.OUTSIDE_CLASS`
-
- // Comment pattern: (?# )
- XRegExp.addToken(
- /\(\?#[^)]*\)/,
- function (match) {
- // Keep tokens separated unless the following token is a quantifier
- return nativ.test.call(quantifier, match.input.slice(match.index + match[0].length)) ? "" : "(?:)";
- }
- );
-
- // Capturing group (match the opening parenthesis only).
- // Required for support of named capturing groups
- XRegExp.addToken(
- /\((?!\?)/,
- function () {
- this.captureNames.push(null);
- return "(";
- }
- );
-
- // Named capturing group (match the opening delimiter only): (?
- XRegExp.addToken(
- /\(\?<([$\w]+)>/,
- function (match) {
- this.captureNames.push(match[1]);
- this.hasNamedCapture = true;
- return "(";
- }
- );
-
- // Named backreference: \k
- XRegExp.addToken(
- /\\k<([\w$]+)>/,
- function (match) {
- var index = indexOf(this.captureNames, match[1]);
- // Keep backreferences separate from subsequent literal numbers. Preserve back-
- // references to named groups that are undefined at this point as literal strings
- return index > -1 ?
- "\\" + (index + 1) + (isNaN(match.input.charAt(match.index + match[0].length)) ? "" : "(?:)") :
- match[0];
- }
- );
-
- // Empty character class: [] or [^]
- XRegExp.addToken(
- /\[\^?]/,
- function (match) {
- // For cross-browser compatibility with ES3, convert [] to \b\B and [^] to [\s\S].
- // (?!) should work like \b\B, but is unreliable in Firefox
- return match[0] === "[]" ? "\\b\\B" : "[\\s\\S]";
- }
- );
-
- // Mode modifier at the start of the pattern only, with any combination of flags imsx: (?imsx)
- // Does not support x(?i), (?-i), (?i-m), (?i: ), (?i)(?m), etc.
- XRegExp.addToken(
- /^\(\?([imsx]+)\)/,
- function (match) {
- this.setFlag(match[1]);
- return "";
- }
- );
-
- // Whitespace and comments, in free-spacing (aka extended) mode only
- XRegExp.addToken(
- /(?:\s+|#.*)+/,
- function (match) {
- // Keep tokens separated unless the following token is a quantifier
- return nativ.test.call(quantifier, match.input.slice(match.index + match[0].length)) ? "" : "(?:)";
- },
- XRegExp.OUTSIDE_CLASS,
- function () {return this.hasFlag("x");}
- );
-
- // Dot, in dotall (aka singleline) mode only
- XRegExp.addToken(
- /\./,
- function () {return "[\\s\\S]";},
- XRegExp.OUTSIDE_CLASS,
- function () {return this.hasFlag("s");}
- );
-
-
- //---------------------------------
- // Backward compatibility
- //---------------------------------
-
- // Uncomment the following block for compatibility with XRegExp 1.0-1.2:
- /*
- XRegExp.matchWithinChain = XRegExp.matchChain;
- RegExp.prototype.addFlags = function (s) {return clone(this, s);};
- RegExp.prototype.execAll = function (s) {var r = []; XRegExp.iterate(s, this, function (m) {r.push(m);}); return r;};
- RegExp.prototype.forEachExec = function (s, f, c) {return XRegExp.iterate(s, this, f, c);};
- RegExp.prototype.validate = function (s) {var r = RegExp("^(?:" + this.source + ")$(?!\\s)", getNativeFlags(this)); if (this.global) this.lastIndex = 0; return s.search(r) === 0;};
- */
-
-})();
-
-//
-// Begin anonymous function. This is used to contain local scope variables without polutting global scope.
-//
-if (typeof(SyntaxHighlighter) == 'undefined') var SyntaxHighlighter = function() {
-
-// CommonJS
- if (typeof(require) != 'undefined' && typeof(XRegExp) == 'undefined')
- {
- XRegExp = require('XRegExp').XRegExp;
- }
-
-// Shortcut object which will be assigned to the SyntaxHighlighter variable.
-// This is a shorthand for local reference in order to avoid long namespace
-// references to SyntaxHighlighter.whatever...
- var sh = {
- defaults : {
- /** Additional CSS class names to be added to highlighter elements. */
- 'class-name' : '',
-
- /** First line number. */
- 'first-line' : 1,
-
- /**
- * Pads line numbers. Possible values are:
- *
- * false - don't pad line numbers.
- * true - automaticaly pad numbers with minimum required number of leading zeroes.
- * [int] - length up to which pad line numbers.
- */
- 'pad-line-numbers' : false,
-
- /** Lines to highlight. */
- 'highlight' : false,
-
- /** Title to be displayed above the code block. */
- 'title' : null,
-
- /** Enables or disables smart tabs. */
- 'smart-tabs' : true,
-
- /** Gets or sets tab size. */
- 'tab-size' : 4,
-
- /** Enables or disables gutter. */
- 'gutter' : true,
-
- /** Enables or disables toolbar. */
- 'toolbar' : true,
-
- /** Enables quick code copy and paste from double click. */
- 'quick-code' : true,
-
- /** Forces code view to be collapsed. */
- 'collapse' : false,
-
- /** Enables or disables automatic links. */
- 'auto-links' : false,
-
- /** Gets or sets light mode. Equavalent to turning off gutter and toolbar. */
- 'light' : false,
-
- 'unindent' : true,
-
- 'html-script' : false
- },
-
- config : {
- space : ' ',
-
- /** Enables use of tags. */
- useScriptTags : true,
-
- /** Blogger mode flag. */
- bloggerMode : false,
-
- stripBrs : false,
-
- /** Name of the tag that SyntaxHighlighter will automatically look for. */
- tagName : 'pre',
-
- strings : {
- expandSource : 'expand source',
- help : '?',
- alert: 'SyntaxHighlighter\n\n',
- noBrush : 'Can\'t find brush for: ',
- brushNotHtmlScript : 'Brush wasn\'t configured for html-script option: ',
-
- // this is populated by the build script
- aboutDialog : '@ABOUT@'
- }
- },
-
- /** Internal 'global' variables. */
- vars : {
- discoveredBrushes : null,
- highlighters : {}
- },
-
- /** This object is populated by user included external brush files. */
- brushes : {},
-
- /** Common regular expressions. */
- regexLib : {
- multiLineCComments : /\/\*[\s\S]*?\*\//gm,
- singleLineCComments : /\/\/.*$/gm,
- singleLinePerlComments : /#.*$/gm,
- doubleQuotedString : /"([^\\"\n]|\\.)*"/g,
- singleQuotedString : /'([^\\'\n]|\\.)*'/g,
- multiLineDoubleQuotedString : new XRegExp('"([^\\\\"]|\\\\.)*"', 'gs'),
- multiLineSingleQuotedString : new XRegExp("'([^\\\\']|\\\\.)*'", 'gs'),
- xmlComments : /(<|<)!--[\s\S]*?--(>|>)/gm,
- url : /\w+:\/\/[\w-.\/?%&=:@;#]*/g,
-
- /** = ?> tags. */
- phpScriptTags : { left: /(<|<)\?(?:=|php)?/g, right: /\?(>|>)/g, 'eof' : true },
-
- /** <%= %> tags. */
- aspScriptTags : { left: /(<|<)%=?/g, right: /%(>|>)/g },
-
- /**
- *