for safety image v1.0 #14

This commit is contained in:
iiuazz
2014-09-19 17:18:53 +08:00
parent c142568a56
commit 6f4ba8313c
22 changed files with 402 additions and 83 deletions

View File

@ -71,6 +71,15 @@ Note.setNoteCache = function(content, clear) {
}
}
// 得到当前的笔记
Note.getCurNote = function() {
var self = this;
if(self.curNoteId == "") {
return null;
}
return self.cache[self.curNoteId];
}
// 每当有notebookId相应的note改变时都要重新清空之
// 并设置该notebookId有值
Note.clearCacheByNotebookId = function(notebookId) {

View File

@ -93,8 +93,8 @@ Share.renderShareNotebooks = function(sharedUserInfos, shareNotebooks) {
return;
}
if(!shareNotebooks || typeof shareNotebooks != "object" || shareNotebooks.length < 0) {
return;
if(!shareNotebooks || typeof shareNotebooks != "object" || shareNotebooks.length < 0) {
shareNotebooks = {};
}
var $shareNotebooks = $("#shareNotebooks");

View File

@ -88,7 +88,7 @@ tinymce.PluginManager.add('leaui_image', function(editor, url) {
d.height = img.getAttribute("data-height");
d.title = img.getAttribute("data-title");
datas.push(d);
datas.push(d);
}
};
@ -104,49 +104,63 @@ tinymce.PluginManager.add('leaui_image', function(editor, url) {
}
data.src = trueSrc;
/*
var width = "", height="", title="";
if(data.width) {
width = 'width="' + data.width +'" ';
}
if(data.height) {
height = 'height="' + data.height +'" ';
}
if(data.title) {
title = 'title="' + data.title +'" ';
}
var attrs = width + height + title;
editor.insertContent('<img ' + attrs + ' data-src="' + src + '" src="' + trueSrc + '" />');
*/
// 这里, 如果图片宽度过大, 这里设置成500px
var back = (function(data2, i) {
var d = {};
var imgElm;
// 先显示loading...
d.id = '__mcenew' + i;
d.src = "http://leanote.com/images/loading-24.gif";
imgElm = dom.createHTML('img', d);
editor.insertContent(imgElm);
imgElm = dom.get(d.id);
log(imgElm)
return function(wh) {
if(wh && wh.width) {
if(wh.width > 600) {
wh.width = 600;
}
data2.width = wh.width;
}
dom.setAttrib(imgElm, 'src', data2.src);
dom.setAttrib(imgElm, 'width', data2.width);
dom.setAttrib(imgElm, 'title', data2.title);
var renderImage = function(data) {
// 这里, 如果图片宽度过大, 这里设置成500px
var back = (function(data2, i) {
var d = {};
var imgElm;
// 先显示loading...
d.id = '__mcenew' + i;
d.src = "http://leanote.com/images/loading-24.gif";
imgElm = dom.createHTML('img', d);
editor.insertContent(imgElm);
imgElm = dom.get(d.id);
dom.setAttrib(imgElm, 'id', null);
return function(wh) {
if(wh && wh.width) {
if(wh.width > 600) {
wh.width = 600;
}
data2.width = wh.width;
}
dom.setAttrib(imgElm, 'src', data2.src);
dom.setAttrib(imgElm, 'width', data2.width);
dom.setAttrib(imgElm, 'title', data2.title);
dom.setAttrib(imgElm, 'id', null);
}
})(data, i);
getImageSize(data.src, back);
}
// outputImage?fileId=123232323
var fileId = "";
fileIds = trueSrc.split("fileId=")
if(fileIds.length == 2 && fileIds[1].length == "53aecf8a8a039a43c8036282".length) {
fileId = fileIds[1];
}
if(fileId) {
// 得到fileId, 如果这个笔记不是我的, 那么肯定是协作的笔记, 那么需要将图片copy给原note owner
var curNote = Note.getCurNote();
if(curNote && curNote.UserId != UserInfo.UserId) {
(function(data) {
ajaxPost("/file/copyImage", {userId: UserInfo.UserId, fileId: fileId, toUserId: curNote.UserId}, function(re) {
if(reIsOk(re) && re.Id) {
var urlPrefix = window.location.protocol + "//" + window.location.host;
data.src = urlPrefix + "/file/outputImage?fileId=" + re.Id;
}
renderImage(data);
});
})(data);
} else {
renderImage(data);
}
})(data, i);
getImageSize(data.src, back);
}
} else {
renderImage(data);
}
} // end for
this.parent().parent().close();
}
},

View File

@ -1,7 +1,7 @@
// for editor.
// drag image to editor
// Copyright leaui
var urlPrefix = window.location.protocol + "//" + window.location.host;
define('leaui_image', ['jquery.ui.widget', 'fileupload'], function(){
var editor = tinymce.activeEditor;
var dom = editor.dom;
@ -103,7 +103,8 @@ define('leaui_image', ['jquery.ui.widget', 'fileupload'], function(){
done: function(e, data) {
if (data.result.Ok == true) {
data.context.remove();
var data2 = {src: data.result.Id}
// life
var data2 = {src: urlPrefix + "/file/outputImage?fileId=" + data.result.Id + "&noteId=" + Note.curNoteId}
insertImage(data2);
} else {
data.context.empty();

View File

@ -260,13 +260,19 @@ var o = {
for(var i in datas){
var each = datas[i];
var classes = "";
var src = urlPrefix + each.Path;
// life edit
// 之前的
if(each.Path != "" && each.Path.substr(0, 7) == "/upload") {
var src = urlPrefix + each.Path;
} else {
var src = urlPrefix + "/file/outputImage?fileId=" + each.FileId;
}
// log(src);
if(selectedMap[src]) {
classes = 'class="selected"';
}
html += '<li ' + classes + '>';
html += '<a title="" href="javascript:;" class="a-img"><img alt="" data-original="' + src + '" ></a>';
html += '<a title="" href="javascript:;" class="a-img"><img alt="" data-original="' + src + '" ></a>';
// html += '<div class="tools"><a href="javascript:;" class="del" data-id="' + each.FileId + '"><span class="glyphicon glyphicon-trash"></span></a></div>';
html += '<div class="tools clearfix" data-id="' + each.FileId + '"><div class="file-title pull-left">' + each.Title + '</div><div class="pull-right"><a href="javascript:;" class="del" data-id="' + each.FileId + '"><span class="glyphicon glyphicon-trash"></span></a></div></div>';
html += "</li>";
@ -348,10 +354,11 @@ var o = {
return false;
}
// life 为了图片安全
if(typeof $li == "object") {
var src = $li.find("img").attr('src');
} else {
src = $li;
src = urlPrefix + "/file/outputImage?fileId=" + $li;
}
this.selectedImages.push(src);
this.reRenderSelectedImages(false, src);

File diff suppressed because one or more lines are too long