mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-09 03:32:00 +09:00
#130 파일을 여러개 첨부후 다중 선택을 가능하게 하고 선택된 대상들을 일괄 삭제 및 일괄 본문 삽입 기능 추가. 또빛나리님의 제안
git-svn-id: http://xe-core.googlecode.com/svn/sandbox@2447 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
2c016d8d5a
commit
299f3d7c73
4 changed files with 54 additions and 32 deletions
|
|
@ -24,8 +24,8 @@ function getImage() {
|
||||||
var border = node.getAttribute("border");
|
var border = node.getAttribute("border");
|
||||||
var align = node.getAttribute("align");
|
var align = node.getAttribute("align");
|
||||||
var alt = node.getAttribute("alt");
|
var alt = node.getAttribute("alt");
|
||||||
var width = node.getAttribute("width");
|
var width = xWidth(node);
|
||||||
var height = node.getAttribute("height");
|
var height = xHeight(node);
|
||||||
orig_width = width;
|
orig_width = width;
|
||||||
orig_height = height;
|
orig_height = height;
|
||||||
var link_url = node.getAttribute("link_url");
|
var link_url = node.getAttribute("link_url");
|
||||||
|
|
|
||||||
|
|
@ -45,7 +45,7 @@ function insertMultimedia(obj) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var text = "<img src=\"./common/tpl/images/blank.gif\" editor_component=\"multimedia_link\" multimedia_src=\""+url+"\" width=\""+width+"\" height=\""+height+"\" style=\"width:"+width+"px;height:"+height+"px;border:2px dotted #4371B9;background:url(./modules/editor/components/multimedia_link/tpl/multimedia_link_component.gif) no-repeat center;\" auto_start=\""+auto_start+"\" alt=\""+caption+"\" />";
|
var text = "<img src=\"./common/tpl/images/blank.gif\" editor_component=\"multimedia_link\" multimedia_src=\""+url+"\" width=\""+width+"\" height=\""+height+"\" style=\"display:block;width:"+width+"px;height:"+height+"px;border:2px dotted #4371B9;background:url(./modules/editor/components/multimedia_link/tpl/multimedia_link_component.gif) no-repeat center;\" auto_start=\""+auto_start+"\" alt=\""+caption+"\" />";
|
||||||
|
|
||||||
opener.editorFocus(opener.editorPrevSrl);
|
opener.editorFocus(opener.editorPrevSrl);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -151,7 +151,7 @@
|
||||||
|
|
||||||
<!-- 파일 업로드 영역 -->
|
<!-- 파일 업로드 영역 -->
|
||||||
<div class="fileListArea">
|
<div class="fileListArea">
|
||||||
<select id="uploaded_file_list_{$upload_target_srl}" size="7" class="fileList" onclick="editor_preview(this, '{$upload_target_srl}');"></select>
|
<select id="uploaded_file_list_{$upload_target_srl}" multiple="multiple" size="7" class="fileList" onclick="editor_preview(this, '{$upload_target_srl}');"></select>
|
||||||
<span class="file_attach_info" id="uploader_status_{$upload_target_srl}"></span>
|
<span class="file_attach_info" id="uploader_status_{$upload_target_srl}"></span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -223,20 +223,28 @@ function editor_preview(sel_obj, upload_target_srl) {
|
||||||
function editor_remove_file(upload_target_srl) {
|
function editor_remove_file(upload_target_srl) {
|
||||||
var obj = xGetElementById('uploaded_file_list_'+upload_target_srl);
|
var obj = xGetElementById('uploaded_file_list_'+upload_target_srl);
|
||||||
if(obj.options.length<1) return;
|
if(obj.options.length<1) return;
|
||||||
var file_srl = obj.options[obj.selectedIndex].value;
|
|
||||||
if(!file_srl) return;
|
|
||||||
|
|
||||||
// 삭제하려는 파일의 정보를 챙김;;
|
// 삭제하려는 파일의 정보를 챙김;;
|
||||||
var fo_obj = obj;
|
var fo_obj = obj;
|
||||||
while(fo_obj.nodeName != 'FORM') { fo_obj = fo_obj.parentNode; }
|
while(fo_obj.nodeName != 'FORM') { fo_obj = fo_obj.parentNode; }
|
||||||
var mid = fo_obj.mid.value;
|
var mid = fo_obj.mid.value;
|
||||||
var url = request_uri+"/?act=procFileDelete&upload_target_srl="+upload_target_srl+"&file_srl="+file_srl+"&mid="+current_url.getQuery('mid');
|
|
||||||
|
|
||||||
// iframe에 url을 보내버림
|
// 빈 iframe 구함
|
||||||
var iframe_obj = xGetElementById('tmp_upload_iframe');
|
var iframe_obj = xGetElementById('tmp_upload_iframe');
|
||||||
if(!iframe_obj) return;
|
if(!iframe_obj) return;
|
||||||
|
|
||||||
iframe_obj.contentWindow.document.location.href=url;
|
for(var i=0;i<obj.options.length;i++) {
|
||||||
|
var sel_obj = obj.options[i];
|
||||||
|
if(!sel_obj.selected) continue;
|
||||||
|
|
||||||
|
var file_srl = sel_obj.value;
|
||||||
|
if(!file_srl) continue;
|
||||||
|
|
||||||
|
var url = request_uri+"/?act=procFileDelete&upload_target_srl="+upload_target_srl+"&file_srl="+file_srl+"&mid="+current_url.getQuery('mid');
|
||||||
|
|
||||||
|
iframe_obj.contentWindow.document.location.href=url;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
var preview_obj = xGetElementById('preview_uploaded_'+upload_target_srl);
|
var preview_obj = xGetElementById('preview_uploaded_'+upload_target_srl);
|
||||||
xInnerHtml(preview_obj, "");
|
xInnerHtml(preview_obj, "");
|
||||||
|
|
@ -246,30 +254,44 @@ function editor_remove_file(upload_target_srl) {
|
||||||
function editor_insert_file(upload_target_srl) {
|
function editor_insert_file(upload_target_srl) {
|
||||||
var obj = xGetElementById('uploaded_file_list_'+upload_target_srl);
|
var obj = xGetElementById('uploaded_file_list_'+upload_target_srl);
|
||||||
if(obj.options.length<1) return;
|
if(obj.options.length<1) return;
|
||||||
var file_srl = obj.options[obj.selectedIndex].value;
|
|
||||||
if(!file_srl) return;
|
|
||||||
var file_obj = uploaded_files[file_srl];
|
|
||||||
var filename = file_obj.filename;
|
|
||||||
var sid = file_obj.sid;
|
|
||||||
var uploaded_filename = file_obj.uploaded_filename;
|
|
||||||
|
|
||||||
// 바로 링크 가능한 파일의 경우 (이미지, 플래쉬, 동영상 등..)
|
var iframe_obj = editorGetIFrame(upload_target_srl);
|
||||||
if(uploaded_filename.indexOf("binaries")==-1) {
|
editorFocus(upload_target_srl);
|
||||||
// 이미지 파일의 경우 image_link 컴포넌트 열결
|
|
||||||
if(/\.(jpg|jpeg|png|gif)$/i.test(uploaded_filename)) {
|
|
||||||
openComponent("image_link", upload_target_srl, uploaded_filename);
|
|
||||||
|
|
||||||
// 이미지외의 경우는 multimedia_link 컴포넌트 연결
|
var fo_obj = obj;
|
||||||
|
while(fo_obj.nodeName != 'FORM') { fo_obj = fo_obj.parentNode; }
|
||||||
|
|
||||||
|
// 다중 선택된 경우를 위해 loop
|
||||||
|
for(var i=0;i<obj.options.length;i++) {
|
||||||
|
var sel_obj = obj.options[i];
|
||||||
|
if(!sel_obj.selected) continue;
|
||||||
|
|
||||||
|
var file_srl = sel_obj.value;
|
||||||
|
if(!file_srl) continue;
|
||||||
|
|
||||||
|
var file_obj = uploaded_files[file_srl];
|
||||||
|
var filename = file_obj.filename;
|
||||||
|
var sid = file_obj.sid;
|
||||||
|
var url = file_obj.uploaded_filename.replace(request_uri,'');
|
||||||
|
|
||||||
|
// 바로 링크 가능한 파일의 경우 (이미지, 플래쉬, 동영상 등..)
|
||||||
|
if(url.indexOf("binaries")==-1) {
|
||||||
|
// 이미지 파일의 경우 image_link 컴포넌트 열결
|
||||||
|
if(/\.(jpg|jpeg|png|gif)$/i.test(url)) {
|
||||||
|
var text = "<img editor_component=\"image_link\" src=\""+url+"\" alt=\""+file_obj.filename+"\" />";
|
||||||
|
editorReplaceHTML(iframe_obj, text);
|
||||||
|
// 이미지외의 경우는 multimedia_link 컴포넌트 연결
|
||||||
|
} else {
|
||||||
|
var text = "<img src=\"./common/tpl/images/blank.gif\" editor_component=\"multimedia_link\" multimedia_src=\""+url+"\" width=\"400\" height=\"320\" style=\"display:block;width:400px;height:320px;border:2px dotted #4371B9;background:url(./modules/editor/components/multimedia_link/tpl/multimedia_link_component.gif) no-repeat center;\" auto_start=\"false\" alt=\"\" />";
|
||||||
|
editorReplaceHTML(iframe_obj, text);
|
||||||
|
}
|
||||||
|
|
||||||
|
// binary파일의 경우 url_link 컴포넌트 연결
|
||||||
} else {
|
} else {
|
||||||
openComponent("multimedia_link", upload_target_srl, uploaded_filename);
|
var mid = fo_obj.mid.value;
|
||||||
}
|
var url = request_uri+"/?module=file&act=procFileDownload&file_srl="+file_srl+"&sid="+sid;
|
||||||
|
var text = "<a href=\""+url+"\">"+filename+"</a><br />\n";
|
||||||
// binary파일의 경우 url_link 컴포넌트 연결
|
editorReplaceHTML(iframe_obj, text);
|
||||||
} else {
|
}
|
||||||
var fo_obj = obj;
|
}
|
||||||
while(fo_obj.nodeName != 'FORM') { fo_obj = fo_obj.parentNode; }
|
|
||||||
var mid = fo_obj.mid.value;
|
|
||||||
var url = request_uri+"/?module=file&act=procFileDownload&file_srl="+file_srl+"&sid="+sid;
|
|
||||||
openComponent("url_link", upload_target_srl, url);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue