From dacc92b288f70beb3386dc73f188c2c23b4765c8 Mon Sep 17 00:00:00 2001
From: Jinqn <459452372@qq.com>
Date: Wed, 4 Jun 2014 10:59:48 +0800
Subject: [PATCH 001/120] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=94=99=E5=88=AB?=
=?UTF-8?q?=E5=AD=97?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ueditor.config.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ueditor.config.js b/ueditor.config.js
index 44782639b..740d1f1b0 100755
--- a/ueditor.config.js
+++ b/ueditor.config.js
@@ -32,7 +32,7 @@
// 服务器统一请求接口路径
, serverUrl: URL + "php/controller.php"
- //工具栏上的所有的功能按钮和下拉框,可以在new编辑器的实例时选择自己需要的从新定义
+ //工具栏上的所有的功能按钮和下拉框,可以在new编辑器的实例时选择自己需要的重新定义
, toolbars: [[
'fullscreen', 'source', '|', 'undo', 'redo', '|',
'bold', 'italic', 'underline', 'fontborder', 'strikethrough', 'superscript', 'subscript', 'removeformat', 'formatmatch', 'autotypeset', 'blockquote', 'pasteplain', '|', 'forecolor', 'backcolor', 'insertorderedlist', 'insertunorderedlist', 'selectall', 'cleardoc', '|',
From 2691799bf784834543a1101d99c0e16cb976b1bd Mon Sep 17 00:00:00 2001
From: campaign
Date: Thu, 5 Jun 2014 12:41:18 +0800
Subject: [PATCH 002/120] =?UTF-8?q?=E6=88=90=E5=8A=9F=E6=9B=BF=E6=8D=A2?=
=?UTF-8?q?=E5=9B=BE=E7=89=87=E5=90=8E=E6=B2=A1=E6=9C=89=E8=A7=A6=E5=8F=91?=
=?UTF-8?q?contentchange?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
_src/plugins/autoupload.js | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/_src/plugins/autoupload.js b/_src/plugins/autoupload.js
index 75d5169b5..9d1165b56 100644
--- a/_src/plugins/autoupload.js
+++ b/_src/plugins/autoupload.js
@@ -45,6 +45,7 @@ UE.plugin.register('autoupload', function (){
loader.setAttribute('alt', data.original || '');
loader.removeAttribute('id');
domUtils.removeClasses(loader, 'loadingclass');
+ me.trigger('contentchange',loader);
}
};
} else {
@@ -54,6 +55,7 @@ UE.plugin.register('autoupload', function (){
'/images/spacer.gif" title="' + (me.getLang('autoupload.loading') || '') + '" >' +
'
';
successHandler = function(data) {
+
var link = urlPrefix + data.url,
loader = me.document.getElementById(loadingId);
@@ -67,7 +69,6 @@ UE.plugin.register('autoupload', function (){
/* 插入loading的占位符 */
me.execCommand('inserthtml', loadingHtml);
-
/* 判断后端配置是否没有加载成功 */
if (!me.getOpt(filetype + 'ActionName')) {
errorHandler(me.getLang('autoupload.errorLoadConfig'));
From a7d8974343dec1cafd4da60a021206b2ed462bb9 Mon Sep 17 00:00:00 2001
From: Simon
Date: Tue, 10 Jun 2014 08:59:14 +0800
Subject: [PATCH 003/120] =?UTF-8?q?=E4=BF=AE=E5=A4=8DLIST=E4=B8=AD?=
=?UTF-8?q?=E5=A4=84=E7=90=86li=E6=97=B6=E5=9B=A0=E7=BC=BA=E5=B0=91?=
=?UTF-8?q?=E9=80=89=E6=8B=A9=E5=99=A8=E8=80=8C=E9=80=A0=E6=88=90=E5=85=A8?=
=?UTF-8?q?=E5=B1=80=E8=8C=83=E5=9B=B4=E5=BD=B1=E5=93=8D=E7=9A=84=E9=97=AE?=
=?UTF-8?q?=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
_parse/list.js | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/_parse/list.js b/_parse/list.js
index f28b2c221..d1f25da77 100644
--- a/_parse/list.js
+++ b/_parse/list.js
@@ -35,7 +35,7 @@ UE.parse.register('list',function(utils){
customCss.push(selector +' .list-paddingleft-2{padding-left:'+ this.listDefaultPaddingLeft+'px}');
customCss.push(selector +' .list-paddingleft-3{padding-left:'+ this.listDefaultPaddingLeft*2+'px}');
- utils.cssRule('list', selector +' ol,'+selector +' ul{margin:0;padding:0;}li{clear:both;}'+customCss.join('\n'), document);
+ utils.cssRule('list', selector +' ol,'+selector +' ul{margin:0;padding:0;}' + selector + 'li{clear:both;}'+customCss.join('\n'), document);
}
function applyStyle(nodes){
var T = this;
@@ -91,4 +91,4 @@ UE.parse.register('list',function(utils){
}
-});
\ No newline at end of file
+});
From 16281ab4d7026ae2a4d6b3d3a176a9534a9616de Mon Sep 17 00:00:00 2001
From: campaign
Date: Tue, 10 Jun 2014 12:22:10 +0800
Subject: [PATCH 004/120] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dli=EF=BD=9Bclear:both?=
=?UTF-8?q?}=E5=89=8D=E8=BE=B9=E6=B2=A1=E6=9C=89=E5=8A=A0=E5=85=A5?=
=?UTF-8?q?=E9=80=89=E6=8B=A9=E5=99=A8=EF=BC=8C=E5=8F=AF=E8=83=BD=E4=BC=9A?=
=?UTF-8?q?=E5=BD=B1=E5=93=8D=E5=85=A8=E5=B1=80=E7=9A=84css=E9=97=AE?=
=?UTF-8?q?=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
_parse/list.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/_parse/list.js b/_parse/list.js
index f28b2c221..061b9e8fd 100644
--- a/_parse/list.js
+++ b/_parse/list.js
@@ -35,7 +35,7 @@ UE.parse.register('list',function(utils){
customCss.push(selector +' .list-paddingleft-2{padding-left:'+ this.listDefaultPaddingLeft+'px}');
customCss.push(selector +' .list-paddingleft-3{padding-left:'+ this.listDefaultPaddingLeft*2+'px}');
- utils.cssRule('list', selector +' ol,'+selector +' ul{margin:0;padding:0;}li{clear:both;}'+customCss.join('\n'), document);
+ utils.cssRule('list', selector +' ol,'+selector +' ul{margin:0;padding:0;}\n' + selector + ' li{clear:both;}\n'+customCss.join('\n'), document);
}
function applyStyle(nodes){
var T = this;
From 55cf0d1fe07f89f1ce27894eb90bd25ac0f47a6f Mon Sep 17 00:00:00 2001
From: campaign
Date: Tue, 10 Jun 2014 12:26:38 +0800
Subject: [PATCH 005/120] 1.5.0
---
_src/editor.js | 2 +-
changelog.md | 5 +++++
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/_src/editor.js b/_src/editor.js
index f1d430bb4..79f4b789d 100755
--- a/_src/editor.js
+++ b/_src/editor.js
@@ -16,6 +16,6 @@ UE.I18N = {};
UE._customizeUI = {};
-UE.version = "1.4.3";
+UE.version = "1.5.0";
var dom = UE.dom = {};
\ No newline at end of file
diff --git a/changelog.md b/changelog.md
index 562eb20d3..84068f45a 100755
--- a/changelog.md
+++ b/changelog.md
@@ -1,5 +1,10 @@
#UEditor Change List
+##1.5.0
+###bug修复&优化改进
+1. 修复展示页中li没有加前置选择器,可能导致影响展示页中li的css问题
+
+
##1.4.3
###bug修复&优化改进
1. 修复hasContents接口在非ie下只有空格时判断还为真的问题
From af08cc9881e508a2f0a1d7af55f6a0fcd6f660b0 Mon Sep 17 00:00:00 2001
From: Jinqn <459452372@qq.com>
Date: Tue, 10 Jun 2014 17:28:31 +0800
Subject: [PATCH 006/120] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=87=AA=E5=8A=A8?=
=?UTF-8?q?=E4=BF=9D=E5=AD=98=E9=85=8D=E7=BD=AE=E9=A1=B9=E4=B8=8D=E8=B5=B7?=
=?UTF-8?q?=E4=BD=9C=E7=94=A8=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
_src/plugins/autosave.js | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/_src/plugins/autosave.js b/_src/plugins/autosave.js
index cea38ee79..81c34ffe1 100644
--- a/_src/plugins/autosave.js
+++ b/_src/plugins/autosave.js
@@ -45,7 +45,8 @@ UE.plugin.register('autosave', function (){
return {
defaultOptions: {
//默认间隔时间
- saveInterval: 500
+ saveInterval: 500,
+ enableAutoSave: true
},
bindEvents:{
'ready':function(){
@@ -66,6 +67,10 @@ UE.plugin.register('autosave', function (){
'contentchange': function () {
+ if (!me.getOpt('enableAutoSave')) {
+ return;
+ }
+
if ( !saveKey ) {
return;
}
From 858fbb0bf1aec9f25e157479831a897ee2ef8a79 Mon Sep 17 00:00:00 2001
From: techird
Date: Tue, 10 Jun 2014 19:05:01 +0800
Subject: [PATCH 007/120] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=A9=BA=E4=B8=B2?=
=?UTF-8?q?=E5=88=A4=E6=96=AD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
asp/Uploader.Class.asp | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/asp/Uploader.Class.asp b/asp/Uploader.Class.asp
index 42d773a01..4e1338b16 100644
--- a/asp/Uploader.Class.asp
+++ b/asp/Uploader.Class.asp
@@ -13,7 +13,7 @@
'IIS 7
'打开IIS控制台,选择 ASP,在限制属性里有一个“最大请求实体主题限制”,设置需要的值
-CURRENT_ENCODING = "gb2312"
+CURRENT_ENCODING = "utf-8"
Class Uploader
@@ -206,9 +206,11 @@ Class Uploader
parts = Split( path, "\" )
path = ""
For Each part in parts
- path = path + part + "\"
- If fs.FolderExists( path ) = False Then
- fs.CreateFolder( path )
+ If part <> "" Then
+ path = path + part + "\"
+ If fs.FolderExists( path ) = False Then
+ fs.CreateFolder( path )
+ End If
End If
Next
End Function
From c8e786d0618873a43309a99a0c462422525d3cc4 Mon Sep 17 00:00:00 2001
From: Jinqn <459452372@qq.com>
Date: Tue, 10 Jun 2014 19:15:11 +0800
Subject: [PATCH 008/120] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=87=AA=E5=8A=A8?=
=?UTF-8?q?=E4=B8=8A=E4=BC=A0=E7=9A=84=E9=85=8D=E7=BD=AE=E9=A1=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
_src/plugins/autoupload.js | 28 ++++++++++++++++++++--------
ueditor.config.js | 5 +++++
2 files changed, 25 insertions(+), 8 deletions(-)
diff --git a/_src/plugins/autoupload.js b/_src/plugins/autoupload.js
index 9d1165b56..f2e46306c 100644
--- a/_src/plugins/autoupload.js
+++ b/_src/plugins/autoupload.js
@@ -132,11 +132,16 @@ UE.plugin.register('autoupload', function (){
});
},
bindEvents:{
+ defaultOptions: {
+ //默认间隔时间
+ enableDragUpload: true,
+ enablePasteUpload: true
+ },
//插入粘贴板的图片,拖放插入图片
'ready':function(e){
var me = this;
if(window.FormData && window.FileReader) {
- domUtils.on(me.body, 'paste drop', function(e){
+ var handler = function(e){
var hasImg = false,
items;
//获取粘贴板文件列表或者拖放文件列表
@@ -155,13 +160,20 @@ UE.plugin.register('autoupload', function (){
hasImg && e.preventDefault();
}
- });
- //取消拖放图片时出现的文字光标位置提示
- domUtils.on(me.body, 'dragover', function (e) {
- if(e.dataTransfer.types[0] == 'Files') {
- e.preventDefault();
- }
- });
+ };
+
+ if (me.getOpt('enablePasteUpload')) {
+ domUtils.on(me.body, 'paste ', handler);
+ }
+ if (me.getOpt('enableDragUpload')) {
+ domUtils.on(me.body, 'drop', handler);
+ //取消拖放图片时出现的文字光标位置提示
+ domUtils.on(me.body, 'dragover', function (e) {
+ if(e.dataTransfer.types[0] == 'Files') {
+ e.preventDefault();
+ }
+ });
+ }
//设置loading的样式
utils.cssRule('loading',
diff --git a/ueditor.config.js b/ueditor.config.js
index 740d1f1b0..2f11b2916 100755
--- a/ueditor.config.js
+++ b/ueditor.config.js
@@ -101,6 +101,11 @@
//自动保存间隔时间, 单位ms
//,saveInterval: 500
+ //启用粘贴上传
+ //,enableDragUpload: true,
+ //启用拖放上传
+ //,enablePasteUpload: true
+
//,fullscreen : false //是否开启初始化时即全屏,默认关闭
//,imagePopup:true //图片操作的浮层开关,默认打开
From 4b0e19e34198f953208143fe745f5e864615c6b4 Mon Sep 17 00:00:00 2001
From: techird
Date: Wed, 11 Jun 2014 09:53:22 +0800
Subject: [PATCH 009/120] =?UTF-8?q?=E6=98=8E=E7=A1=AE=E4=B8=A4=E4=B8=AA?=
=?UTF-8?q?=E9=85=8D=E7=BD=AE=E8=8A=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
asp/README.md | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/asp/README.md b/asp/README.md
index bf3a2215f..fd3fffe1b 100644
--- a/asp/README.md
+++ b/asp/README.md
@@ -21,6 +21,8 @@ Classic ASP 一般在 IIS 上运行。其它 ASP 服务器不介绍部署方式
### 配置 ###
+#### 版本低于 1.4.0 的配置
+
对于 v1.4.0 之前的版本,需要修改 `ueditor.config.js`。最简单的方法,就是把文件中的 php 都替换成 asp。要修改的配置包括:
```javascript
@@ -43,6 +45,8 @@ Classic ASP 一般在 IIS 上运行。其它 ASP 服务器不介绍部署方式
}
```
+#### 版本不低于 1.4.0 的配置
+
UEditor v1.4.0 后进行了后端的统一配置,后端相关的配置文件是 `config.json`,在具体的后台目录下。需要注意以下两个类型的配置:
From dd9b517940c8c38f22e2ddbd14fd627a87252adc Mon Sep 17 00:00:00 2001
From: techird
Date: Wed, 11 Jun 2014 09:55:25 +0800
Subject: [PATCH 010/120] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=9D=83=E9=99=90?=
=?UTF-8?q?=E8=AF=B4=E6=98=8E?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
asp/README.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/asp/README.md b/asp/README.md
index fd3fffe1b..41177461b 100644
--- a/asp/README.md
+++ b/asp/README.md
@@ -96,8 +96,8 @@ IIS 的安装在这里不介绍,请自行查阅相关资料。
* 选择*目录安全性*选项卡
* 在*身份验证和访问控制*中点击*编辑*
* 勾选*启用匿名访问*,点击用户名后面的*浏览*
- * 输入*administrator*点确定
- * 输入*administrator*账号的密码
+ * 输入 *administrator* 点确定(或者你清楚的具有目录访问权限的账户名称)
+ * 输入 *administrator* 账号的密码
* 点击确定,再确认一次密码
5. 设置最大 HTTP 请求大小限制
From 1289555af214ad8278d0b623d8b6eb3e94711673 Mon Sep 17 00:00:00 2001
From: techird
Date: Wed, 11 Jun 2014 09:57:22 +0800
Subject: [PATCH 011/120] Update
---
asp/README.md | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/asp/README.md b/asp/README.md
index 41177461b..199a98635 100644
--- a/asp/README.md
+++ b/asp/README.md
@@ -61,7 +61,7 @@ UEditor v1.4.0 后进行了后端的统一配置,后端相关的配置文件
`{tpl}UrlPrefix` 是资源定位的基本路径,在 ASP 后台中一般设置成 ASP 的目录。
-比如,IIS 中运行的 UEditor ASP 的目录为 C:\iis_pub\wwwroot\mysite\ueditor\asp,而网站的访问地址为 http://localhost/mysite/,那么你可以这样修改这两类配置项:
+比如,IIS 中运行的 UEditor ASP 的目录为 `C:\iis_pub\wwwroot\mysite\ueditor\asp`,而网站的访问地址为 `http://localhost/mysite/`,那么你可以这样修改这两类配置项:
```javascript
{
@@ -72,6 +72,7 @@ UEditor v1.4.0 后进行了后端的统一配置,后端相关的配置文件
### 在 IIS 6.X 中部署
+
IIS 的安装在这里不介绍,请自行查阅相关资料。
1. 启用 ASP 拓展
@@ -105,13 +106,14 @@ IIS 的安装在这里不介绍,请自行查阅相关资料。
> ASP 文件中也有上传文件大小的限制,不过先验证的限制是 IIS 中设置的,所以如果 IIS 中设置最大 256K,那么就算 ASP 中设置了最大 10M,那么超过 256K 的文件也无法上传,而且 ASP 没法给出错误信息。
### 在 IIS 7.X 中部署
+
IIS7 默认不安装 ASP,需要手动添加进去。添加方法请读者自行查阅。
1. 配置脚本执行身份
* 选中网站或者应用程序
* 双击 IIS 中的*身份验证*
* 双击匿名身份验证
- * 填写*administrator*的用户名和密码,确定
+ * 填写 *administrator* 的用户名和密码(或者你清楚的其他具有目录访问权限的账户),确定
2. 设置最大 HTTP 请求大小限制
* 打开 IIS 控制台
From db4524b15029e06a486593dc509eb1df7b127549 Mon Sep 17 00:00:00 2001
From: techird
Date: Wed, 11 Jun 2014 09:58:32 +0800
Subject: [PATCH 012/120] Update README.md
---
asp/README.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/asp/README.md b/asp/README.md
index 199a98635..6beee285e 100644
--- a/asp/README.md
+++ b/asp/README.md
@@ -102,7 +102,7 @@ IIS 的安装在这里不介绍,请自行查阅相关资料。
* 点击确定,再确认一次密码
5. 设置最大 HTTP 请求大小限制
- * 找到位于 C:\Windows\System32\Inetsrv 中的 metabase.XML,打开,查找ASPMaxRequestEntityAllowed,修改为需要的值(如10240000 即 10M)
+ * 找到位于 `C:\Windows\System32\Inetsrv` 中的 `metabase.XML`,打开,查找 `ASPMaxRequestEntityAllowed`,修改为需要的值(如 10240000 即 10M)
> ASP 文件中也有上传文件大小的限制,不过先验证的限制是 IIS 中设置的,所以如果 IIS 中设置最大 256K,那么就算 ASP 中设置了最大 10M,那么超过 256K 的文件也无法上传,而且 ASP 没法给出错误信息。
### 在 IIS 7.X 中部署
@@ -117,5 +117,5 @@ IIS7 默认不安装 ASP,需要手动添加进去。添加方法请读者自
2. 设置最大 HTTP 请求大小限制
* 打开 IIS 控制台
- * 双击 ASP,展开*限制属性*,修改*醉倒请求实体主体限制*为需要的值(如10240000 即 10M)
+ * 双击 ASP,展开*限制属性*,修改*最大请求实体主体限制*为需要的值(如10240000 即 10M)
> ASP 文件中也有上传文件大小的限制,不过先验证的限制是 IIS 中设置的,所以如果 IIS 中设置最大 256K,那么就算 ASP 中设置了最大 10M,那么超过 256K 的文件也无法上传,而且 ASP 没法给出错误信息。
From b529d8686dca78cf6fb3ad147519b9bb5f34c9ff Mon Sep 17 00:00:00 2001
From: techird
Date: Wed, 11 Jun 2014 09:59:27 +0800
Subject: [PATCH 013/120] Update README.md
---
asp/README.md | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/asp/README.md b/asp/README.md
index 6beee285e..8add60ca1 100644
--- a/asp/README.md
+++ b/asp/README.md
@@ -103,7 +103,8 @@ IIS 的安装在这里不介绍,请自行查阅相关资料。
5. 设置最大 HTTP 请求大小限制
* 找到位于 `C:\Windows\System32\Inetsrv` 中的 `metabase.XML`,打开,查找 `ASPMaxRequestEntityAllowed`,修改为需要的值(如 10240000 即 10M)
- > ASP 文件中也有上传文件大小的限制,不过先验证的限制是 IIS 中设置的,所以如果 IIS 中设置最大 256K,那么就算 ASP 中设置了最大 10M,那么超过 256K 的文件也无法上传,而且 ASP 没法给出错误信息。
+
+> ASP 代码里也有上传文件大小的限制,不过先验证的限制是 IIS 中设置的,所以如果 IIS 中设置最大 256K,那么就算 ASP 中设置了最大 10M,那么超过 256K 的文件也无法上传,而且 ASP 没法给出错误信息。
### 在 IIS 7.X 中部署
@@ -118,4 +119,5 @@ IIS7 默认不安装 ASP,需要手动添加进去。添加方法请读者自
2. 设置最大 HTTP 请求大小限制
* 打开 IIS 控制台
* 双击 ASP,展开*限制属性*,修改*最大请求实体主体限制*为需要的值(如10240000 即 10M)
- > ASP 文件中也有上传文件大小的限制,不过先验证的限制是 IIS 中设置的,所以如果 IIS 中设置最大 256K,那么就算 ASP 中设置了最大 10M,那么超过 256K 的文件也无法上传,而且 ASP 没法给出错误信息。
+
+> ASP 代码里也有上传文件大小的限制,不过先验证的限制是 IIS 中设置的,所以如果 IIS 中设置最大 256K,那么就算 ASP 中设置了最大 10M,那么超过 256K 的文件也无法上传,而且 ASP 没法给出错误信息。
From 350a97de88def999631bdbbf8bf70af17f03fb79 Mon Sep 17 00:00:00 2001
From: Jinqn <459452372@qq.com>
Date: Wed, 11 Jun 2014 10:42:11 +0800
Subject: [PATCH 014/120] =?UTF-8?q?=E8=AE=A9=E8=A1=A8=E6=A0=BC=E8=83=8C?=
=?UTF-8?q?=E6=99=AF=E9=80=8F=E6=98=8E?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
_parse/table.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/_parse/table.js b/_parse/table.js
index 3e24f313d..fb1a4aaee 100644
--- a/_parse/table.js
+++ b/_parse/table.js
@@ -13,7 +13,7 @@ UE.parse.register('table', function (utils) {
'background-position: center right; background-image:url(' + this.rootPath + 'themes/default/images/sortable.png);}' +
selector + ' table.sortEnabled tr.firstRow th:hover,' + selector + ' table.sortEnabled tr.firstRow td:hover{background-color: #EEE;}' +
selector + ' table{margin-bottom:10px;border-collapse:collapse;display:table;}' +
- selector + ' td,' + selector + ' th{ background:white; padding: 5px 10px;border: 1px solid #DDD;}' +
+ selector + ' td,' + selector + ' th{padding: 5px 10px;border: 1px solid #DDD;}' +
selector + ' caption{border:1px dashed #DDD;border-bottom:0;padding:3px;text-align:center;}' +
selector + ' th{border-top:1px solid #BBB;background:#F7F7F7;}' +
selector + ' table tr.firstRow th{border-top:2px solid #BBB;background:#F7F7F7;}' +
From cfb8978c878378650fdd4183d499f2d015c70d2c Mon Sep 17 00:00:00 2001
From: Jinqn <459452372@qq.com>
Date: Wed, 11 Jun 2014 10:52:00 +0800
Subject: [PATCH 015/120] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=87=AA=E5=8A=A8?=
=?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=8F=92=E4=BB=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
_src/plugins/autoupload.js | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/_src/plugins/autoupload.js b/_src/plugins/autoupload.js
index f2e46306c..922b7b579 100644
--- a/_src/plugins/autoupload.js
+++ b/_src/plugins/autoupload.js
@@ -162,10 +162,10 @@ UE.plugin.register('autoupload', function (){
};
- if (me.getOpt('enablePasteUpload')) {
+ if (me.getOpt('enablePasteUpload') !== false) {
domUtils.on(me.body, 'paste ', handler);
}
- if (me.getOpt('enableDragUpload')) {
+ if (me.getOpt('enableDragUpload') !== false) {
domUtils.on(me.body, 'drop', handler);
//取消拖放图片时出现的文字光标位置提示
domUtils.on(me.body, 'dragover', function (e) {
From d7604212e8092fbbb382da6d4c7ba9b5adfb6f5f Mon Sep 17 00:00:00 2001
From: Jinqn <459452372@qq.com>
Date: Wed, 11 Jun 2014 11:30:37 +0800
Subject: [PATCH 016/120] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=87=AA=E5=8A=A8?=
=?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=8F=92=E4=BB=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ueditor.config.js | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/ueditor.config.js b/ueditor.config.js
index 2f11b2916..c00484ad8 100755
--- a/ueditor.config.js
+++ b/ueditor.config.js
@@ -101,10 +101,10 @@
//自动保存间隔时间, 单位ms
//,saveInterval: 500
- //启用粘贴上传
- //,enableDragUpload: true,
//启用拖放上传
- //,enablePasteUpload: true
+ //,enableDragUpload: false
+ //启用粘贴上传
+ //,enablePasteUpload: false
//,fullscreen : false //是否开启初始化时即全屏,默认关闭
From 6392f3ba5fcfe2f7f7da3e71ceb4d241dd66fdcd Mon Sep 17 00:00:00 2001
From: Jinqn <459452372@qq.com>
Date: Wed, 11 Jun 2014 11:30:54 +0800
Subject: [PATCH 017/120] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=87=AA=E5=8A=A8?=
=?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=8F=92=E4=BB=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ueditor.config.js | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/ueditor.config.js b/ueditor.config.js
index c00484ad8..95d066583 100755
--- a/ueditor.config.js
+++ b/ueditor.config.js
@@ -102,9 +102,9 @@
//,saveInterval: 500
//启用拖放上传
- //,enableDragUpload: false
+ //,enableDragUpload: true
//启用粘贴上传
- //,enablePasteUpload: false
+ //,enablePasteUpload: true
//,fullscreen : false //是否开启初始化时即全屏,默认关闭
From b5d66c2f66910287da93356b7c45ee229ac58b73 Mon Sep 17 00:00:00 2001
From: Jinqn <459452372@qq.com>
Date: Wed, 11 Jun 2014 16:15:00 +0800
Subject: [PATCH 018/120] =?UTF-8?q?=E6=8F=92=E5=85=A5=E5=9B=BE=E7=89=87?=
=?UTF-8?q?=E4=B8=8D=E6=8F=90=E4=BE=9Btitle=E5=B1=9E=E6=80=A7?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
_src/plugins/autoupload.js | 1 -
_src/plugins/simpleupload.js | 1 -
dialogs/image/image.js | 2 --
3 files changed, 4 deletions(-)
diff --git a/_src/plugins/autoupload.js b/_src/plugins/autoupload.js
index 922b7b579..8e8b42b92 100644
--- a/_src/plugins/autoupload.js
+++ b/_src/plugins/autoupload.js
@@ -41,7 +41,6 @@ UE.plugin.register('autoupload', function (){
if (loader) {
loader.setAttribute('src', link);
loader.setAttribute('_src', link);
- loader.setAttribute('title', data.title || '');
loader.setAttribute('alt', data.original || '');
loader.removeAttribute('id');
domUtils.removeClasses(loader, 'loadingclass');
diff --git a/_src/plugins/simpleupload.js b/_src/plugins/simpleupload.js
index f706d4417..c01260cec 100644
--- a/_src/plugins/simpleupload.js
+++ b/_src/plugins/simpleupload.js
@@ -71,7 +71,6 @@ UE.plugin.register('simpleupload', function (){
loader = me.document.getElementById(loadingId);
loader.setAttribute('src', link);
loader.setAttribute('_src', link);
- loader.setAttribute('title', json.title || '');
loader.setAttribute('alt', json.original || '');
loader.removeAttribute('id');
domUtils.removeClasses(loader, 'loadingclass');
diff --git a/dialogs/image/image.js b/dialogs/image/image.js
index 6a0146925..2d720c834 100755
--- a/dialogs/image/image.js
+++ b/dialogs/image/image.js
@@ -274,7 +274,6 @@
border: data['border'] || '',
floatStyle: data['align'] || '',
vspace: data['vhSpace'] || '',
- title: data['title'] || '',
alt: data['title'] || '',
style: "width:" + data['width'] + "px;height:" + data['height'] + "px;"
}];
@@ -775,7 +774,6 @@
list.push({
src: prefix + data.url,
_src: prefix + data.url,
- title: data.title,
alt: data.original,
floatStyle: align
});
From 048f2ccfd78eace6d3e3546ea168088d62b8f312 Mon Sep 17 00:00:00 2001
From: Jinqn <459452372@qq.com>
Date: Wed, 11 Jun 2014 16:28:58 +0800
Subject: [PATCH 019/120] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dff=E4=B8=8B=E6=8B=96?=
=?UTF-8?q?=E6=96=87=E4=BB=B6=E5=8F=98=E6=88=90base64=E7=9A=84=E9=97=AE?=
=?UTF-8?q?=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
_src/plugins/autoupload.js | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/_src/plugins/autoupload.js b/_src/plugins/autoupload.js
index 8e8b42b92..c87d89663 100644
--- a/_src/plugins/autoupload.js
+++ b/_src/plugins/autoupload.js
@@ -172,6 +172,14 @@ UE.plugin.register('autoupload', function (){
e.preventDefault();
}
});
+ } else {
+ if (browser.gecko) {
+ domUtils.on(me.body, 'drop', function(e){
+ if (getDropImage(e)) {
+ e.preventDefault();
+ }
+ });
+ }
}
//设置loading的样式
From 464bfba227d54451d7de991aaa5c14482ab11ba2 Mon Sep 17 00:00:00 2001
From: techird
Date: Fri, 13 Jun 2014 11:03:07 +0800
Subject: [PATCH 020/120] fix check or create path
---
asp/Uploader.Class.asp | 35 +++++++++++++++++++++++++++--------
1 file changed, 27 insertions(+), 8 deletions(-)
diff --git a/asp/Uploader.Class.asp b/asp/Uploader.Class.asp
index 4e1338b16..d8c85a168 100644
--- a/asp/Uploader.Class.asp
+++ b/asp/Uploader.Class.asp
@@ -37,6 +37,7 @@ Class Uploader
Set stateString = Server.CreateObject("Scripting.Dictionary")
stateString.Add "SIZE_LIMIT_EXCCEED", "File size exceeded!"
stateString.Add "TYPE_NOW_ALLOW", "File type not allowed!"
+ stateString.Add "IO_AUTH_ERROR", "Server IO authorization error!"
End Sub
Public Property Let MaxSize(ByVal size)
@@ -137,11 +138,16 @@ Class Uploader
rsFilePath = formatter.format( cfgPathFormat, filename )
savePath = Server.MapPath(rsFilePath)
- CheckOrCreatePath( GetDirectoryName(savePath) )
- stream.SaveToFile savePath
+ If CheckOrCreatePath( GetDirectoryName(savePath) ) Then
+ stream.SaveToFile savePath
+ rsState = "SUCCESS"
+ Else
+ rsState = stateString.Item( "IO_AUTH_ERROR" )
+ End If
+
stream.Close
- rsState = "SUCCESS"
+ Set stream = Nothing
End Function
Private Function GetDirectoryName(path)
@@ -200,19 +206,32 @@ Class Uploader
GetExt = Right( file, Len(file) - InStrRev(file, ".") + 1 )
End Function
- Private Function CheckOrCreatePath( ByVal path )
+ Private Function CheckOrCreatePath( ByVal fullPath )
+ Dim basePath, checkPath, path, parts, fs, delimiter
+
Set fs = Server.CreateObject("Scripting.FileSystemObject")
- Dim parts
- parts = Split( path, "\" )
- path = ""
+
+ basePath = Server.MapPath("/")
+
+ If InStr(basePath, "\") >= 0 Then
+ delimiter = "\"
+ Else
+ delimiter = "/"
+ End If
+
+ checkPath = Mid(fullPath, Len(basePath) + 2)
+
+ parts = Split( checkPath, delimiter )
+ path = basePath
For Each part in parts
If part <> "" Then
- path = path + part + "\"
+ path = path + delimiter + part
If fs.FolderExists( path ) = False Then
fs.CreateFolder( path )
End If
End If
Next
+ CheckOrCreatePath = fs.FolderExists(fullPath)
End Function
End Class
From ba7c15e559d562585a6e58ef2738ab56a37ac9ce Mon Sep 17 00:00:00 2001
From: yancend
Date: Wed, 18 Jun 2014 15:22:49 +0800
Subject: [PATCH 021/120] [test]
---
.../testDesign/Manual regression cases.xmind | Bin 2297095 -> 2548450 bytes
_test/testDesign/Range.mm | 57 ------------------
_test/testDesign/attachment.xmind | Bin 63277 -> 0 bytes
_test/testDesign/autotypeset.xmind | Bin 51432 -> 0 bytes
_test/testDesign/image revelant.xmind | Bin 41011 -> 0 bytes
_test/testDesign/interlacetable.xmind | Bin 74629 -> 0 bytes
_test/testDesign/lineheight.xmind | Bin 26372 -> 0 bytes
_test/testDesign/regression testing.xmind | Bin 300134 -> 0 bytes
_test/testDesign/shortcutkeys.mm | 14 -----
_test/testDesign/sorttable.xmind | Bin 82811 -> 0 bytes
_test/testDesign/table drag.xmind | Bin 11760 -> 0 bytes
_test/testDesign/template.xmind | Bin 31431 -> 0 bytes
_test/testDesign/wordimage.xmind | Bin 17978 -> 0 bytes
13 files changed, 71 deletions(-)
delete mode 100644 _test/testDesign/Range.mm
delete mode 100644 _test/testDesign/attachment.xmind
delete mode 100644 _test/testDesign/autotypeset.xmind
delete mode 100644 _test/testDesign/image revelant.xmind
delete mode 100644 _test/testDesign/interlacetable.xmind
delete mode 100644 _test/testDesign/lineheight.xmind
delete mode 100644 _test/testDesign/regression testing.xmind
delete mode 100644 _test/testDesign/shortcutkeys.mm
delete mode 100644 _test/testDesign/sorttable.xmind
delete mode 100644 _test/testDesign/table drag.xmind
delete mode 100644 _test/testDesign/template.xmind
delete mode 100644 _test/testDesign/wordimage.xmind
diff --git a/_test/testDesign/Manual regression cases.xmind b/_test/testDesign/Manual regression cases.xmind
index d1febe89118e7ef66c9bcbfdba179f5833c3afa7..13455a95b0b7f8db9b98857b94328d528024e38b 100644
GIT binary patch
delta 280721
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