git-svn-id: http://xe-core.googlecode.com/svn/trunk@834 201d5d3c-b55e-5fd7-737f-ddc643e51545

This commit is contained in:
zero 2007-03-30 09:17:09 +00:00
parent abdb0eec17
commit 10be4c845a
10 changed files with 51 additions and 22 deletions

View file

@ -103,6 +103,11 @@
// 해당 모듈의 conf/action.xml 을 분석하여 action 정보를 얻어옴 // 해당 모듈의 conf/action.xml 을 분석하여 action 정보를 얻어옴
$xml_info = $oModuleModel->getModuleActionXml($this->module); $xml_info = $oModuleModel->getModuleActionXml($this->module);
// 미설치시에는 act값을 강제로 변경
if($this->module=="install") {
if(!$xml_info->action->{$this->act}) $this->act = $xml_info->default_index_act;
}
// 현재 요청된 act가 있으면 $xml_info에서 type을 찾음, 없다면 기본 action을 이용 // 현재 요청된 act가 있으면 $xml_info에서 type을 찾음, 없다면 기본 action을 이용
if(!$this->act) $this->act = $xml_info->default_index_act; if(!$this->act) $this->act = $xml_info->default_index_act;
@ -118,6 +123,7 @@
return; return;
} }
// type, grant 값 구함 // type, grant 값 구함
$type = $xml_info->action->{$this->act}->type; $type = $xml_info->action->{$this->act}->type;
$grant = $xml_info->action->{$this->act}->grant; $grant = $xml_info->action->{$this->act}->grant;

View file

@ -20,6 +20,29 @@ String.prototype.getQuery = function(key) {
return q; return q;
} }
/**
* @brief location.href에서 특정 key의 값을 return
**/
String.prototype.setQuery = function(key, val) {
var href = location.href;
var idx = href.indexOf('?');
if(idx == -1) return;
var uri = href.substr(0, idx);
var query_string = href.substr(idx+1, href.length);
var args = {}
query_string.replace(/([^=]+)=([^&]*)(&|$)/g, function() { args[arguments[1]] = arguments[2]; });
args[key] = val;
var q_list = new Array();
for(var i in args) {
if(!args[i].trim()) continue;
q_list[q_list.length] = i+'='+args[i];
}
return uri+'?'+q_list.join('&');
}
/** /**
* @brief string prototype으로 trim 함수 추가 * @brief string prototype으로 trim 함수 추가
**/ **/

View file

@ -146,7 +146,7 @@ function _editorAutoSave() {
xGetElementById("editor_autosaved_message").style.display = "block"; xGetElementById("editor_autosaved_message").style.display = "block";
setTimeout(function() {xGetElementById("editor_autosaved_message").style.display = "none";}, 3000); setTimeout(function() {xGetElementById("editor_autosaved_message").style.display = "none";}, 3000);
show_waiting_message = false; show_waiting_message = false;
exec_xml("editor","procSaveDoc", params, _editorAutoSaved); exec_xml("editor","procEditorSaveDoc", params, _editorAutoSaved);
show_waiting_message = true; show_waiting_message = true;
return; return;
} }

View file

@ -59,7 +59,7 @@ function editor_upload_form_set(upload_target_srl) {
var document_srl = ""; var document_srl = "";
if(fo_obj["document_srl"]) document_srl = fo_obj.document_srl.value; if(fo_obj["document_srl"]) document_srl = fo_obj.document_srl.value;
var url = "./?act=procFileDeleteFile&upload_target_srl="+upload_target_srl; var url = "./?act=procFileDelete&upload_target_srl="+upload_target_srl;
if(module) url+="&module="+module; if(module) url+="&module="+module;
if(mid) url+="&mid="+mid; if(mid) url+="&mid="+mid;
if(document_srl) url+="&document_srl="+document_srl; if(document_srl) url+="&document_srl="+document_srl;
@ -159,7 +159,7 @@ function editor_remove_file(upload_target_srl) {
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 upload_target_srl = fo_obj.upload_target_srl.value; var upload_target_srl = fo_obj.upload_target_srl.value;
var url = "./?mid="+mid+"&act=procFileDeleteFile&upload_target_srl="+upload_target_srl+"&file_srl="+file_srl; var url = "./?mid="+mid+"&act=procFileDelete&upload_target_srl="+upload_target_srl+"&file_srl="+file_srl;
// iframe에 url을 보내버림 // iframe에 url을 보내버림
var iframe_obj = xGetElementById('tmp_upload_iframe'); var iframe_obj = xGetElementById('tmp_upload_iframe');
@ -200,15 +200,3 @@ function editor_insert_file(upload_target_srl) {
openComponent("url_link", upload_target_srl, url); openComponent("url_link", upload_target_srl, url);
} }
} }
/**
* 글을 쓰다가 페이지 이동시 첨부파일에 대한 정리
**/
function editorRemoveAttachFiles(mid, upload_target_srl) {
var obj = xGetElementById('uploaded_file_list_'+upload_target_srl);
if(obj.options.length<1) return;
var params = new Array();
params['upload_target_srl'] = upload_target_srl;
exec_xml(mid, 'procClearFile', params, null, null, null);
}

View file

@ -14,6 +14,9 @@
// action forward에 등록 (관리자 모드에서 사용하기 위함) // action forward에 등록 (관리자 모드에서 사용하기 위함)
$oModuleController = &getController('module'); $oModuleController = &getController('module');
$oModuleController->insertActionForward('member', 'view', 'dispMemberInfo'); $oModuleController->insertActionForward('member', 'view', 'dispMemberInfo');
$oModuleController->insertActionForward('member', 'view', 'dispMemberSignUpInfo');
$oModuleController->insertActionForward('member', 'view', 'dispMemberLoginForm');
$oModuleController->insertActionForward('member', 'view', 'dispMemberLogout');
$oModuleController->insertActionForward('member', 'view', 'dispMemberAdminList'); $oModuleController->insertActionForward('member', 'view', 'dispMemberAdminList');
$oModuleController->insertActionForward('member', 'view', 'dispMemberAdminConfig'); $oModuleController->insertActionForward('member', 'view', 'dispMemberAdminConfig');
$oModuleController->insertActionForward('member', 'view', 'dispMemberAdminInsert'); $oModuleController->insertActionForward('member', 'view', 'dispMemberAdminInsert');

View file

@ -1,4 +1,4 @@
<filter name="login" module="board" act="procMemberLogin"> <filter name="login" module="member" act="procMemberLogin">
<form> <form>
<node target="user_id" required="true" filter="user_id"/> <node target="user_id" required="true" filter="user_id"/>
<node target="password" required="true" /> <node target="password" required="true" />
@ -6,10 +6,8 @@
<parameter> <parameter>
<param name="user_id" target="user_id" /> <param name="user_id" target="user_id" />
<param name="password" target="password" /> <param name="password" target="password" />
<param name="mid" target="mid" />
<param name="act" target="act" />
</parameter> </parameter>
<response> <response callback_func="completeLogin">
<tag name="error" /> <tag name="error" />
<tag name="message" /> <tag name="message" />
</response> </response>

View file

@ -1,6 +1,6 @@
<filter name="logout" module="board" act="procMemberLogout"> <filter name="logout" module="board" act="procMemberLogout">
<form /> <form />
<response> <response callback_func="completeLogout">
<tag name="error" /> <tag name="error" />
<tag name="message" /> <tag name="message" />
</response> </response>

View file

@ -17,3 +17,13 @@ function completeInsert(ret_obj, response_tags, args, fo_obj) {
if(url.length>0) location.href="./?"+url.join("&"); if(url.length>0) location.href="./?"+url.join("&");
else location.href="./"; else location.href="./";
} }
/* 로그인 후 */
function completeLogin(ret_obj) {
location.href = location.href.setQuery('act','');
}
/* 로그아웃 후 */
function completeLogout(ret_obj) {
location.href = location.href.setQuery('act','');
}

View file

@ -1,7 +1,7 @@
<!--%import("filter/login.xml")--> <!--%import("filter/login.xml")-->
<!--%import("js/member.js")-->
<form action="./" method="get" onsubmit="return procFilter(this, login)"> <form action="./" method="post" onsubmit="return procFilter(this, login)">
<input type="hidden" name="mid" value="{$mid}" />
<table> <table>
<col width="120" /> <col width="120" />
<col width="*" /> <col width="*" />

View file

@ -1,4 +1,5 @@
<!--%import("filter/logout.xml")--> <!--%import("filter/logout.xml")-->
<!--%import("js/member.js")-->
<form action="./" method="get" onsubmit="return procFilter(this, logout)"> <form action="./" method="get" onsubmit="return procFilter(this, logout)">
<input type="hidden" name="mid" value="{$mid}" /> <input type="hidden" name="mid" value="{$mid}" />