mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-27 15:19:57 +09:00
git-svn-id: http://xe-core.googlecode.com/svn/trunk@1407 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
1ea801bf67
commit
c459b1bf0d
11 changed files with 351 additions and 29 deletions
10
modules/importer/tpl/filter/import_xml.xml
Normal file
10
modules/importer/tpl/filter/import_xml.xml
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
<filter name="import_xml" module="importer" act="procImporterAdminImport">
|
||||
<form>
|
||||
<node target="xml_file" required="true" />
|
||||
</form>
|
||||
<parameter />
|
||||
<response callback_func="completeImport">
|
||||
<tag name="error" />
|
||||
<tag name="message" />
|
||||
</response>
|
||||
</filter>
|
||||
12
modules/importer/tpl/filter/step1.xml
Normal file
12
modules/importer/tpl/filter/step1.xml
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
<filter name="step1" module="importer" act="procImporterAdminStep1">
|
||||
<form>
|
||||
<node target="source_type" required="true" filter="alpha" />
|
||||
</form>
|
||||
<parameter />
|
||||
<response callback_func="completeStep1">
|
||||
<tag name="error" />
|
||||
<tag name="message" />
|
||||
<tag name="next_step" />
|
||||
<tag name="module_list" />
|
||||
</response>
|
||||
</filter>
|
||||
12
modules/importer/tpl/filter/step12.xml
Normal file
12
modules/importer/tpl/filter/step12.xml
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
<filter name="step12" module="importer" act="procImporterAdminStep12">
|
||||
<form>
|
||||
<node target="target_module" required="true" />
|
||||
</form>
|
||||
<parameter />
|
||||
<response callback_func="completeStep12">
|
||||
<tag name="error" />
|
||||
<tag name="message" />
|
||||
<tag name="next_step" />
|
||||
<tag name="category_list" />
|
||||
</response>
|
||||
</filter>
|
||||
|
|
@ -1,3 +1,109 @@
|
|||
<div>
|
||||
<!--%import("js/importer_admin.js")-->
|
||||
<!--%import("filter/step1.xml")-->
|
||||
<!--%import("filter/step12.xml")-->
|
||||
<!--%import("filter/import_xml.xml")-->
|
||||
|
||||
<!-- 설명 -->
|
||||
<div style="border:1px solid #CCCCCC;margin-bottom:10px;padding:10px;">
|
||||
{nl2br($lang->about_importer)}
|
||||
</div>
|
||||
|
||||
<!-- step 1. import하려는 XML파일의 성격 및 대상 모듈을 지정 -->
|
||||
<div id="step1">
|
||||
<form action="./" method="get" onsubmit="return procFilter(this, step1);">
|
||||
|
||||
<div style="font-weight:bold">{$lang->import_step_title[1]}</div>
|
||||
<div>{$lang->import_step_desc[1]}</div>
|
||||
|
||||
<table border="1">
|
||||
<tr>
|
||||
<td>
|
||||
<input type="radio" name="source_type" value="module" id="source_type_module" />
|
||||
<label for="source_type_module">{$lang->type_module}</label>
|
||||
</td>
|
||||
<td>{$lang->about_type_module}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<input type="radio" name="source_type" value="member" id="source_type_member" />
|
||||
<label for="source_type_member">{$lang->type_member}</label>
|
||||
</td>
|
||||
<td>{$lang->about_type_member}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<input type="radio" name="source_type" value="syncmember" id="source_type_syncmember" />
|
||||
<label for="source_type_syncmember">{$lang->type_syncmember}</label>
|
||||
</td>
|
||||
<td>{$lang->about_type_syncmember}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<input type="submit" value="{$lang->cmd_next}" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<!-- step 1-2. 대상이 게시물 정보일 경우 대상 모듈 목록을 선택하도록 함 -->
|
||||
<div id="step12" style="display:none">
|
||||
<form action="./" method="get" onsubmit="return procFilter(this, step12);">
|
||||
<div style="font-weight:bold">{$lang->import_step_title[12]}</div>
|
||||
<div>{$lang->import_step_desc[12]}</div>
|
||||
<div>
|
||||
<select name="target_module" id="target_module">
|
||||
</select>
|
||||
</div>
|
||||
<div>
|
||||
<input type="submit" value="{$lang->cmd_next}" />
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<!-- step 1-3. 대상이 게시물 정보일 경우 모듈 선택후 분류가 있으면 분류 선택을 하도록 함 -->
|
||||
<div id="step13" style="display:none">
|
||||
<form action="./" method="get" onsubmit="return doStep13(this)">
|
||||
<div style="font-weight:bold">{$lang->import_step_title[13]}</div>
|
||||
<div>{$lang->import_step_desc[13]}</div>
|
||||
<div>
|
||||
<select name="target_category" id="target_category">
|
||||
<option value=""></option>
|
||||
</select>
|
||||
</div>
|
||||
<div>
|
||||
<input type="submit" value="{$lang->cmd_next}" />
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<!-- step 2. XML 파일 지정 -->
|
||||
<div id="step2" style="display:none">
|
||||
<form action="./" method="get" onsubmit="return doStep2(this)">
|
||||
<input type="hidden" name="module_srl" value="" />
|
||||
<input type="hidden" name="category_srl" value="" />
|
||||
<div style="font-weight:bold">{$lang->import_step_title[2]}</div>
|
||||
<div>{$lang->import_step_desc[2]}</div>
|
||||
<div>
|
||||
<input type="text" name="xml_file" value="./" />
|
||||
<input type="submit" value="{$lang->cmd_next}" />
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<!-- step 3. 회원 동기화 시작 버튼 -->
|
||||
<div id="step3" style="display:none">
|
||||
<div style="font-weight:bold">{$lang->import_step_title[3]}</div>
|
||||
<div>{$lang->import_step_desc[3]}</div>
|
||||
<div>
|
||||
{$lang->msg_sync_member}
|
||||
</div>
|
||||
<div>
|
||||
<input type="button" value="{$lang->cmd_sync_member}" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- final step. 진행 완료 또는 실패 메세지 -->
|
||||
<div id="step_finish" style="display:none">
|
||||
</div>
|
||||
|
|
|
|||
86
modules/importer/tpl/js/importer_admin.js
Normal file
86
modules/importer/tpl/js/importer_admin.js
Normal file
|
|
@ -0,0 +1,86 @@
|
|||
/**
|
||||
* @file modules/importer/js/importer_admin.js
|
||||
* @author zero (zero@nzeo.com)
|
||||
* @brief importer에서 사용하는 javascript
|
||||
**/
|
||||
|
||||
/* Step 1 처리 */
|
||||
function completeStep1(ret_obj) {
|
||||
var error = ret_obj['error'];
|
||||
var message = ret_obj['message'];
|
||||
var next_step = ret_obj['next_step'];
|
||||
var module_list = ret_obj['module_list'];
|
||||
|
||||
if(module_list) {
|
||||
var sel = xGetElementById("target_module");
|
||||
var module_list_arr = module_list.split("\n");
|
||||
for(var i=0;i<module_list_arr.length;i++) {
|
||||
var pos = module_list_arr[i].indexOf(',');
|
||||
var value = module_list_arr[i].substr(0,pos);
|
||||
var text = module_list_arr[i].substr(pos+1);
|
||||
|
||||
var opt_obj = new Option(text, value, true, true);
|
||||
sel.options[sel.options.length] = opt_obj;
|
||||
}
|
||||
sel.selectedIndex = 0;
|
||||
}
|
||||
|
||||
xGetElementById('step1').style.display = 'none';
|
||||
xGetElementById('step'+next_step).style.display = 'block';
|
||||
}
|
||||
|
||||
/* Step 1-2 모듈선택 처리 (카테고리 있으면 카테고리 선택으로, 아니면 바로 파일 업로드로) */
|
||||
function completeStep12(ret_obj) {
|
||||
var error = ret_obj['error'];
|
||||
var message = ret_obj['message'];
|
||||
var next_step = ret_obj['next_step'];
|
||||
var category_list = ret_obj['category_list'];
|
||||
|
||||
if(category_list) {
|
||||
var sel = xGetElementById("target_category");
|
||||
var category_list_arr = category_list.split("\n");
|
||||
for(var i=0;i<category_list_arr.length;i++) {
|
||||
var pos = category_list_arr[i].indexOf(',');
|
||||
var value = category_list_arr[i].substr(0,pos);
|
||||
var text = category_list_arr[i].substr(pos+1);
|
||||
|
||||
var opt_obj = new Option(text, value, true, true);
|
||||
sel.options[sel.options.length] = opt_obj;
|
||||
}
|
||||
sel.selectedIndex = 0;
|
||||
}
|
||||
|
||||
xGetElementById('step12').style.display = 'none';
|
||||
xGetElementById('step'+next_step).style.display = 'block';
|
||||
}
|
||||
|
||||
/* Step 1-3 카테고리 선택후 파일 업로드 보여주기 */
|
||||
function doStep13(fo_obj) {
|
||||
xGetElementById('step13').style.display = 'none';
|
||||
xGetElementById('step2').style.display = 'block';
|
||||
return false;
|
||||
}
|
||||
|
||||
/* Step 2 XML파일을 입력받아서 처리~ */
|
||||
function doStep2(fo_obj) {
|
||||
var sel_module = xGetElementById("target_module");
|
||||
if(sel_module.options.length>0) {
|
||||
var module_srl = sel_module.options[sel_module.selectedIndex].value;
|
||||
fo_obj.module_srl.value = module_srl;
|
||||
}
|
||||
|
||||
var sel_category = xGetElementById("target_category");
|
||||
if(sel_category.options.length>1) {
|
||||
var category_srl = sel_category.options[sel_category.selectedIndex].value;
|
||||
fo_obj.category_srl.value = category_srl;
|
||||
}
|
||||
|
||||
procFilter(fo_obj, import_xml);
|
||||
return false;
|
||||
}
|
||||
|
||||
/* Step Complete Import */
|
||||
function completeImport(ret_obj) {
|
||||
alert(ret_obj["message"]);
|
||||
location.href = location.href;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue