menu의 버튼이미지를 직접 업로드 가능하도록 하고 menu의 값중 link라는 값을 사용시 등록된 이미지 정보를 그대로 사용할수 있도록 수정. 메뉴들의 재컴파일 필요

git-svn-id: http://xe-core.googlecode.com/svn/sandbox@3579 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
zero 2008-01-23 11:58:39 +00:00
parent 8578efa48f
commit bdbeea29df
14 changed files with 258 additions and 25 deletions

View file

@ -201,3 +201,81 @@ function doInsertMid(mid, menu_id) {
fo_obj.menu_url.value = mid;
window.close();
}
/* 각 메뉴의 버튼 이미지 등록 */
function doMenuUploadButton(obj) {
// 이미지인지 체크
if(!/\.(gif|jpg|jpeg|png)$/i.test(obj.value)) return alert(alertImageOnly);
// iframe 객체 생성 (있으면 있는것 이용)
if(!xGetElementById('tmp_upload_iframe')) {
if(xIE4Up) {
window.document.body.insertAdjacentHTML("afterEnd", "<iframe id='tmp_upload_iframe' name='tmp_upload_iframe' style='display:none;width:1px;height:1px;position:absolute;top:-10px;left:-10px'></iframe>");
} else {
var obj_iframe = xCreateElement('IFRAME');
obj_iframe.name = obj_iframe.id = 'tmp_upload_iframe';
obj_iframe.style.display = 'none';
obj_iframe.style.width = '1px';
obj_iframe.style.height = '1px';
obj_iframe.style.position = 'absolute';
obj_iframe.style.top = '-10px';
obj_iframe.style.left = '-10px';
window.document.body.appendChild(obj_iframe);
}
}
// 현재 form의 target을 바꾸고 이미지 등록
obj.form.target = 'tmp_upload_iframe';
// submit
obj.form.act.value = "procMenuAdminUploadButton";
obj.form.target.value = obj.name;
obj.form.submit();
obj.form.act.value = "";
obj.form.target.value = "";
}
/* 메뉴 이미지 업로드 후처리 */
function completeMenuUploadButton(target, filename) {
var column_name = target.replace(/^menu_/,'');
var fo_obj = xGetElementById("fo_menu");
var zone_obj = xGetElementById(target+'_zone');
var img_obj = xGetElementById(target+'_img');
fo_obj[column_name].value = filename;
var img = new Image();
img.src = filename;
img_obj.src = img.src;
zone_obj.style.display = "block";
}
/* 업로드된 메뉴 이미지 삭제 */
function doDeleteButton(target) {
var fo_obj = xGetElementById("fo_menu");
var col_name = target.replace(/^menu_/,'');
var params = new Array();
params['target'] = target;
params['menu_srl'] = fo_obj.menu_srl.value;
params['menu_item_srl'] = fo_obj.menu_item_srl.value;
params['filename'] = fo_obj[col_name].value;
var response_tags = new Array('error','message', 'target');
exec_xml('menu','procMenuAdminDeleteButton', params, completeDeleteButton, response_tags);
}
function completeDeleteButton(ret_obj, response_tags) {
var target = ret_obj['target'];
var column_name = target.replace(/^menu_/,'');
var fo_obj = xGetElementById("fo_menu");
var zone_obj = xGetElementById(target+'_zone');
var img_obj = xGetElementById(target+'_img');
fo_obj[column_name].value = "";
img_obj.src = "";
zone_obj.style.display = "none";
}

View file

@ -0,0 +1,10 @@
<!--@if($error_message)-->
<script type="text/javascript">
alert("{$error_message}");
</script>
<!--@else-->
<script type="text/javascript">
top.completeMenuUploadButton("{$target}", "{$filename}");
</script>
<!--@end-->

View file

@ -1,5 +1,8 @@
<input type="hidden" name="menu_item_srl" value="{$item_info->menu_item_srl}" />
<input type="hidden" name="parent_srl" value="{$item_info->parent_srl}" />
<input type="hidden" name="normal_btn" value="{$item_info->normal_btn}" />
<input type="hidden" name="hover_btn" value="{$item_info->hover_btn}" />
<input type="hidden" name="active_btn" value="{$item_info->active_btn}" />
<table cellspacing="0" class="adminTable">
<col width="80" />
@ -49,15 +52,33 @@
</tr>
<tr>
<th scope="row" colspan="2">{$lang->menu_normal_btn}</th>
<td><input type="text" name="menu_normal_btn" value="{htmlspecialchars($item_info->normal_btn)}" class="inputTypeText" /></td>
<td>
<div id="menu_normal_btn_zone" <!--@if(!$item_info->normal_btn)-->style="display:none;"<!--@end-->>
<img src="{$item_info->normal_btn}" alt="" id="menu_normal_btn_img" /><br />
<a href="#" onclick="doDeleteButton('menu_normal_btn');return false;" class="button"><span>{$lang->cmd_delete}</span></a>
</div>
<input type="file" name="menu_normal_btn" value="" class="inputTypeText" onchange="doMenuUploadButton(this); return false;"/>
</td>
</tr>
<tr>
<th scope="row" colspan="2">{$lang->menu_hover_btn}</th>
<td><input type="text" name="menu_hover_btn" value="{htmlspecialchars($item_info->hover_btn)}" class="inputTypeText" /></td>
<td>
<div id="menu_hover_btn_zone") <!--@if(!$item_info->hover_btn)-->style="display:none;"<!--@end-->>
<img src="{$item_info->hover_btn}" alt="" id="menu_hover_btn_img" /><br />
<a href="#" onclick="doDeleteButton('menu_hover_btn');return false;" class="button"><span>{$lang->cmd_delete}</span></a>
</div>
<input type="file" name="menu_hover_btn" value="" class="inputTypeText" onchange="doMenuUploadButton(this); return false;"/>
</td>
</tr>
<tr>
<th scope="row" colspan="2">{$lang->menu_active_btn}</th>
<td><input type="text" name="menu_active_btn" value="{htmlspecialchars($item_info->active_btn)}" class="inputTypeText" /></td>
<td>
<div id="menu_active_btn_zone" <!--@if(!$item_info->active_btn)-->style="display:none;"<!--@end-->>
<img src="{$item_info->active_btn}" alt="" id="menu_active_btn_img" /><br />
<a href="#" onclick="doDeleteButton('menu_active_btn');return false;" class="button"><span>{$lang->cmd_delete}</span></a>
</div>
<input type="file" name="menu_active_btn" value="" class="inputTypeText" onchange="doMenuUploadButton(this); return false;"/>
</td>
</tr>
<tr>
<th scope="row" colspan="2">{$lang->menu_group_srls}</th>

View file

@ -5,6 +5,10 @@
<!--%import("css/menu.css")-->
<!--%import("js/menu_admin.js")-->
<script type="text/javascript">
var alertImageOnly = "{$lang->alert_image_only}";
</script>
<div class="menuManagement">
<!-- 메뉴 이동을 위해 임시로 사용하는 form -->
@ -65,11 +69,14 @@
<p class="gap1"><input type="checkbox" id="menu_enable_move" class="checkbox" /> <label for="menu_enable_move">{$lang->cmd_enable_move_menu}</label></p>
<div class="gap1">
<form id="fo_menu" action="./" method="get" onsubmit="return procFilter(this, insert_menu_item)" class="clear">
<form id="fo_menu" action="./" method="post" onsubmit="return procFilter(this, insert_menu_item)" class="clear" enctype="multipart/form-data">
<input type="hidden" name="title" value="{$menu_info->title}" />
<input type="hidden" name="menu_srl" value="{$menu_info->menu_srl}" />
<input type="hidden" name="xml_file" value="{$menu_info->xml_file}" />
<input type="hidden" name="php_file" value="{$menu_info->php_file}" />
<input type="hidden" name="module" value="menu" />
<input type="hidden" name="act" value="" />
<input type="hidden" name="target" value="" />
<div id="category_list">
<div id="menu_zone_menu"></div>