#127 #152 게시물의 복사 기능 추가 & 이동/복사시 카테고리 지정 가능하도록 변경 & 기본 게시판 스킨에서 페이지의 게시물 토글 기능 추가 & 관리 선택된 게시물의 목록 노출 & 기본 게시판 스킨의 항목 숨김/열람 기능 모두 적용

git-svn-id: http://xe-core.googlecode.com/svn/sandbox@2737 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
zero 2007-10-11 09:13:02 +00:00
parent 72dcf54069
commit 14550e198f
41 changed files with 678 additions and 396 deletions

View file

@ -0,0 +1,74 @@
<!--%import("filter/manage_checked_document.xml")-->
<!--%import("js/document_admin.js")-->
<!--%import("css/document.css")-->
<div id="popHeadder">
<h1>{$lang->cmd_manage_document}</h1>
</div>
<form action="./" method="get" id="fo_management">
<input type="hidden" name="type" value="" />
<div id="popBody">
<table cellspacing="0" class="tableType5">
<col width="150" />
<col />
<tr>
<th scope="row"><label for="textfield1">{$lang->checked_count} ({count($document_list)})</label></th>
<td>
<!--@if(count($document_list))-->
<input type="checkbox" onclick="checkboxSelectAll(this.form, 'cart'); return false;" /> {$lang->cmd_select}
<ul class="document_list_box">
<!--@foreach($document_list as $key => $document)-->
<li class="document_list"><input type="checkbox" checked="checked" name="cart" value="{$document->document_srl}" onclick="doAddDocumentCart(this);"/> <address>{$document->getNickName()}</address> <span class="document_title">{$document->getTitle()}</li>
<!--@end-->
</ul>
<!--@else-->
&nbsp;
<!--@end-->
</td>
</tr>
<!--@if(count($document_list) && count($module_list)>1)-->
<tr>
<th scope="row">{$lang->move_target_module}</th>
<td>
<select id="target_module" name="target_module" class="w100" onchange="doGetCategoryFromModule(this); return false;">
<!--@foreach($module_list as $key => $val)-->
<option value="{$val->module_srl}">{$val->browser_title} ({$val->mid})</option>
<!--@end-->
</select>
</td>
</tr>
<tr>
<th scope="row">{$lang->category}</th>
<td>
<select id="target_category" name="target_category" class="w100">
</select>
</td>
</tr>
<tr>
<th scope="row">{$lang->cmd_send_message}</th>
<td>
<textarea name="message_content" class="inputTypeTextArea w400" cols="45" rows="5"></textarea>
</td>
</tr>
<!--@end-->
</table>
</div>
<div id="popFooter">
<div class="tRight gap1">
<!--@if(count($document_list))-->
<a href="#" onclick="doManageDocument('move');return false;" class="button"><span>{$lang->cmd_move}</span></a>
<a href="#" onclick="doManageDocument('copy');return false;" class="button"><span>{$lang->cmd_copy}</span></a>
<a href="#" onclick="doManageDocument('delete');return false;" class="button"><span>{$lang->cmd_delete}</span></a>
<!--@end-->
<a href="#" onclick="window.close(); return false;" class="button"><span>{$lang->cmd_close}</span></a>
</div>
</div>
<script type="text/javascript">
xAddEventListener(window,'load',function() { doGetCategoryFromModule(xGetElementById('target_module')); } );
</script>
</form>

View file

@ -1 +1,5 @@
body { margin:10px; font-size:.75em; font-family:sans-serif;}
.document_list_box { height:300px; overflow-y:scroll; overflow-x:hidden;}
.document_list { margin-top:.5em; overflow:hidden; white-space:nowrap; clear:both;}
.document_list input { float:left; margin-right:10px; }
.document_list address { float:left; width:100px; margin-right:10px; overflow:hidden; white-space:nowrap;}
.document_list .document_title { }

View file

@ -0,0 +1,7 @@
<filter name="manage_checked_document" module="document" act="procDocumentAdminManageCheckedDocument">
<form />
<response callback_func="completeManageDocument">
<tag name="error" />
<tag name="message" />
</response>
</filter>

View file

@ -19,3 +19,52 @@ function completeDeleteAllThumbnail(ret_obj) {
alert(ret_obj['message']);
location.reload();
}
/* 선택된 글의 삭제 또는 이동 */
function doManageDocument(type, mid) {
var fo_obj = xGetElementById("fo_management");
fo_obj.type.value = type;
procFilter(fo_obj, manage_checked_document);
}
/* 선택된 글의 삭제 또는 이동 후 */
function completeManageDocument(ret_obj) {
if(opener) opener.location.href = opener.location.href;
alert(ret_obj['message']);
window.close();
}
/* 선택된 모듈의 카테고리 목록을 가져오는 함수 */
function doGetCategoryFromModule(obj) {
var module_srl = obj.options[obj.selectedIndex].value;
var params = new Array();
params['module_srl'] = module_srl;
var response_tags = new Array('error','message','categories');
exec_xml('document','getDocumentCategories',params, completeGetCategoryFromModules, response_tags);
}
function completeGetCategoryFromModules(ret_obj, response_tags) {
var obj = xGetElementById('target_category');
var length = obj.options.length;
for(var i=0;i<length;i++) obj.remove(0);
var categories = ret_obj['categories'];
if(!categories) return;
var category_list = categories.split("\n");
for(var i=0;i<category_list.length;i++) {
var item = category_list[i];
var pos = item.indexOf(',');
var category_srl = item.substr(0,pos);
var category_title = item.substr(pos+1,item.length);
if(!category_srl || !category_title) continue;
var opt = new Option(category_title, category_srl, false, false);
obj.options[obj.options.length] = opt;
}
}