Merge remote-tracking branch 'origin/szzh' into szzh

This commit is contained in:
lizanle 2015-10-14 11:10:27 +08:00
commit e5808f3fe8
8 changed files with 1736 additions and 1801 deletions

View File

@ -133,8 +133,9 @@ class StudentWorkController < ApplicationController
format.js format.js
format.html format.html
format.xls { format.xls {
filename = "#{@course.teacher.lastname.to_s + @course.teacher.firstname}_#{@course.name}_#{@course.time.to_s + @course.term}_#{@homework.name}#{l(:excel_homework_list)}.xls"
send_data(homework_to_xls(@stundet_works), :type => "text/excel;charset=utf-8; header=present", send_data(homework_to_xls(@stundet_works), :type => "text/excel;charset=utf-8; header=present",
:filename => "#{@course.teacher.lastname.to_s + @course.teacher.firstname}_#{@course.name}_#{@course.time.to_s + @course.term}_#{@homework.name}#{l(:excel_homework_list)}.xls") :filename => filename_for_content_disposition(filename))
} }
end end
end end
@ -386,8 +387,9 @@ class StudentWorkController < ApplicationController
end end
respond_to do |format| respond_to do |format|
format.xls { format.xls {
filename = "#{@course.teacher.lastname.to_s + @course.teacher.firstname}_#{@course.name}_#{@course.time.to_s + @course.term}_#{@homework.name}#{l(:excel_absence_list)}.xls"
send_data(absence_penalty_list_xls(@stundet_works), :type => "text/excel;charset=utf-8; header=present", send_data(absence_penalty_list_xls(@stundet_works), :type => "text/excel;charset=utf-8; header=present",
:filename => "#{@course.teacher.lastname.to_s + @course.teacher.firstname}_#{@course.name}_#{@course.time.to_s + @course.term}_#{@homework.name}#{l(:excel_absence_list)}.xls") :filename => filename_for_content_disposition(filename))
} }
end end
end end
@ -396,8 +398,9 @@ class StudentWorkController < ApplicationController
def evaluation_list def evaluation_list
respond_to do |format| respond_to do |format|
format.xls { format.xls {
filename = "#{@course.teacher.lastname.to_s + @course.teacher.firstname}_#{@course.name}_#{@course.time.to_s + @course.term}_#{@homework.name}#{l(:excel_evaluation_list)}.xls"
send_data(evaluation_list_xls(@homework.student_works), :type => "text/excel;charset=utf-8; header=present", send_data(evaluation_list_xls(@homework.student_works), :type => "text/excel;charset=utf-8; header=present",
:filename => "#{@course.teacher.lastname.to_s + @course.teacher.firstname}_#{@course.name}_#{@course.time.to_s + @course.term}_#{@homework.name}#{l(:excel_evaluation_list)}.xls") :filename => filename_for_content_disposition(filename))
} }
end end
end end

View File

@ -22,7 +22,7 @@
<% end %> <% end %>
</div> </div>
<div class="mt5"> <div class="mt5">
<a target="hiddentab" href="http://wpa.qq.com/msgrd?v=1&uin=1554253403&site=qq&menu=yes" style="color: #15BCCF;"> <a target="hiddentab" href="http://wpa.qq.com/msgrd?v=1&uin=1554253403&site=qq&menu=yes" style="color: #269ac9;">
<%= l(:label_technical_support) %>白&nbsp;&nbsp;&nbsp;羽</a> <%= l(:label_technical_support) %>白&nbsp;&nbsp;&nbsp;羽</a>
</div> </div>
</div> </div>

File diff suppressed because it is too large Load Diff

View File

@ -13,7 +13,7 @@ class Kindeditor::AssetsController < ApplicationController
logger.warn '========= Warning: the owner_id is 0, "delete uploaded files automatically" will not work. =========' if defined?(logger) && @asset.owner_id == 0 logger.warn '========= Warning: the owner_id is 0, "delete uploaded files automatically" will not work. =========' if defined?(logger) && @asset.owner_id == 0
@asset.asset_type = @dir @asset.asset_type = @dir
if @asset.save if @asset.save
render :text => ({:error => 0, :url => "http://"+Setting.host_name + "/" + @asset.asset.url,:asset_id => @asset.id}.to_json) render :text => ({:error => 0, :url => @asset.asset.url,:asset_id => @asset.id}.to_json)
else else
show_error(@asset.errors.full_messages) show_error(@asset.errors.full_messages)
end end

View File

@ -277,7 +277,10 @@ https://github.com/layerssss/paste.js
if (!img["_paste_marked_" + timespan]) { if (!img["_paste_marked_" + timespan]) {
cb(img.src); cb(img.src);
} }
_results.push($(img).remove()); //firefox问题处理因为采用了 pastableContenteditable 模式,故只需要删除默认的粘贴
if ($(img).attr('src').startsWith('data:image/')) {
_results.push($(img).remove());
};
} }
return _results; return _results;
}; };
@ -290,10 +293,9 @@ https://github.com/layerssss/paste.js
}).call(this); }).call(this);
function enablePasteImg(_editor) { KindEditor.plugin('paste', function(K) {
var editor = _editor, var editor = this,
name = 'paste'; name = 'paste';
//这样貌似多编辑器就不会冲突了
if(editor.edit == undefined || editor.edit.iframe == undefined){ if(editor.edit == undefined || editor.edit.iframe == undefined){
return; return;
} }
@ -303,7 +305,7 @@ function enablePasteImg(_editor) {
var nodeBody = contentWindow.document.getElementsByTagName('body')[0]; var nodeBody = contentWindow.document.getElementsByTagName('body')[0];
console.log(nodeBody); console.log(nodeBody);
$(nodeBody).pastableContenteditable(); $(nodeBody).pastableContenteditable();
dataURItoBlob = function(dataURI) { dataURItoBlob = function(dataURI) {
// convert base64/URLEncoded data component to raw binary data held in a string // convert base64/URLEncoded data component to raw binary data held in a string
var byteString; var byteString;
@ -329,7 +331,6 @@ function enablePasteImg(_editor) {
console.log("dataURL: " + data.dataURL); console.log("dataURL: " + data.dataURL);
console.log("width: " + data.width); console.log("width: " + data.width);
console.log("height: " + data.height); console.log("height: " + data.height);
console.log(data.blob);
var blob = dataURItoBlob(data.dataURL); var blob = dataURItoBlob(data.dataURL);
if (data.blob !== null) { if (data.blob !== null) {
var data = new FormData(); var data = new FormData();
@ -342,6 +343,7 @@ function enablePasteImg(_editor) {
data: data, data: data,
processData: false, processData: false,
success: function(data) { success: function(data) {
console.log(data);
editor.exec('insertimage', JSON.parse(data).url); editor.exec('insertimage', JSON.parse(data).url);
} }
}); });
@ -349,37 +351,5 @@ function enablePasteImg(_editor) {
}); });
return; return;
contentWindow.document.getElementsByTagName('body')[0].onpaste = function(event) {
// use event.originalEvent.clipboard for newer chrome versions });
var items = (event.clipboardData || event.originalEvent.clipboardData).items;
console.log(JSON.stringify(items)); // will give you the mime types
// find pasted image among pasted items
var blob = null;
for (var i = 0; i < items.length; i++) {
if (items[i].type.indexOf("image") === 0) {
blob = items[i].getAsFile();
}
}
// load image if there is a pasted image
if (blob !== null) {
var reader = new FileReader();
reader.onload = function(event) {
console.log(event.target.result); // data url!
var data = new FormData();
data.append("imgFile", blob, "imageFilename.png");
console.log(blob);
$.ajax({
url: '/kindeditor/upload?dir=image',
contentType: false,
type: 'POST',
data: data,
processData: false,
success: function(data) {
editor.exec('insertimage', JSON.parse(data).url);
}
});
};
reader.readAsDataURL(blob);
}
}
};

View File

@ -277,7 +277,10 @@ https://github.com/layerssss/paste.js
if (!img["_paste_marked_" + timespan]) { if (!img["_paste_marked_" + timespan]) {
cb(img.src); cb(img.src);
} }
_results.push($(img).remove()); //firefox问题处理因为采用了 pastableContenteditable 模式,故只需要删除默认的粘贴
if ($(img).attr('src').startsWith('data:image/')) {
_results.push($(img).remove());
};
} }
return _results; return _results;
}; };
@ -293,7 +296,6 @@ https://github.com/layerssss/paste.js
KindEditor.plugin('paste', function(K) { KindEditor.plugin('paste', function(K) {
var editor = this, var editor = this,
name = 'paste'; name = 'paste';
//这样貌似多编辑器就不会冲突了
if(editor.edit == undefined || editor.edit.iframe == undefined){ if(editor.edit == undefined || editor.edit.iframe == undefined){
return; return;
} }
@ -303,7 +305,7 @@ KindEditor.plugin('paste', function(K) {
var nodeBody = contentWindow.document.getElementsByTagName('body')[0]; var nodeBody = contentWindow.document.getElementsByTagName('body')[0];
console.log(nodeBody); console.log(nodeBody);
$(nodeBody).pastableContenteditable(); $(nodeBody).pastableContenteditable();
dataURItoBlob = function(dataURI) { dataURItoBlob = function(dataURI) {
// convert base64/URLEncoded data component to raw binary data held in a string // convert base64/URLEncoded data component to raw binary data held in a string
var byteString; var byteString;
@ -329,7 +331,6 @@ KindEditor.plugin('paste', function(K) {
console.log("dataURL: " + data.dataURL); console.log("dataURL: " + data.dataURL);
console.log("width: " + data.width); console.log("width: " + data.width);
console.log("height: " + data.height); console.log("height: " + data.height);
console.log(data.blob);
var blob = dataURItoBlob(data.dataURL); var blob = dataURItoBlob(data.dataURL);
if (data.blob !== null) { if (data.blob !== null) {
var data = new FormData(); var data = new FormData();
@ -342,6 +343,7 @@ KindEditor.plugin('paste', function(K) {
data: data, data: data,
processData: false, processData: false,
success: function(data) { success: function(data) {
console.log(data);
editor.exec('insertimage', JSON.parse(data).url); editor.exec('insertimage', JSON.parse(data).url);
} }
}); });
@ -349,37 +351,5 @@ KindEditor.plugin('paste', function(K) {
}); });
return; return;
contentWindow.document.getElementsByTagName('body')[0].onpaste = function(event) {
// use event.originalEvent.clipboard for newer chrome versions
var items = (event.clipboardData || event.originalEvent.clipboardData).items;
console.log(JSON.stringify(items)); // will give you the mime types
// find pasted image among pasted items
var blob = null;
for (var i = 0; i < items.length; i++) {
if (items[i].type.indexOf("image") === 0) {
blob = items[i].getAsFile();
}
}
// load image if there is a pasted image
if (blob !== null) {
var reader = new FileReader();
reader.onload = function(event) {
console.log(event.target.result); // data url!
var data = new FormData();
data.append("imgFile", blob, "imageFilename.png");
console.log(blob);
$.ajax({
url: '/kindeditor/upload?dir=image',
contentType: false,
type: 'POST',
data: data,
processData: false,
success: function(data) {
editor.exec('insertimage', JSON.parse(data).url);
}
});
};
reader.readAsDataURL(blob);
}
}
}); });

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 944 B

View File

@ -26,7 +26,7 @@ function init_editor(params){
if(/^\s*<\w*\s*\w*\=\"\w*\"\s*\w*\=\"\w*\:\s*\#\d*\;\s*\w*\-\w*\:\s*\w*\;\"\>[\u4e00-\u9fa5]*<\/\w*\>\s*$/.test(this.edit.html())){ if(/^\s*<\w*\s*\w*\=\"\w*\"\s*\w*\=\"\w*\:\s*\#\d*\;\s*\w*\-\w*\:\s*\w*\;\"\>[\u4e00-\u9fa5]*<\/\w*\>\s*$/.test(this.edit.html())){
params.submit_btn.hide(); params.submit_btn.hide();
this.resize("95%", null); this.resize("95%", null);
}else if(edit.html().val().trim() != ""){ }else if(this.edit.html().trim() != ""){
params.submit_btn.show(); params.submit_btn.show();
} }