diff --git a/addons/captcha/captcha.addon.php b/addons/captcha/captcha.addon.php index f50f6c600..551aaa074 100644 --- a/addons/captcha/captcha.addon.php +++ b/addons/captcha/captcha.addon.php @@ -24,7 +24,6 @@ Context::addHtmlHeader(''); - // 캡챠 인증이 되지 않은 세션이면 실행 시작 if(!$_SESSION['captcha_authed']) { @@ -32,7 +31,7 @@ Context::loadLang(_XE_PATH_.'addons/captcha/lang'); // 캡챠 세션 세팅 - if(Context::get('act')=='setCaptchaSession') { + if(Context::get('captcha_action')=='setCaptchaSession') { $f = FileHandler::readDir('./addons/captcha/icon'); shuffle($f); $key = rand(0,count($f)-1); @@ -50,7 +49,7 @@ exit(); // 캡챠 이미지 출력 - } else if(Context::get('act')=='captchaImage') { + } else if(Context::get('captcha_action')=='captchaImage') { $f = FileHandler::readDir('./addons/captcha/icon'); shuffle($f); $keyword = $_SESSION['captcha_keyword']; @@ -82,7 +81,7 @@ exit(); // 캡챠 이미지 점검 - } else if(Context::get('act')=='captchaCompare') { + } else if(Context::get('captcha_action')=='captchaCompare') { $x = Context::get('mx'); $y = Context::get('my'); $sx = $_SESSION['captcha_x']; diff --git a/addons/captcha/captcha.js b/addons/captcha/captcha.js index bda1a6e40..0a3f6b018 100644 --- a/addons/captcha/captcha.js +++ b/addons/captcha/captcha.js @@ -45,7 +45,10 @@ var calledArgs = null; if(doCheck) { calledArgs = {'module':module,'act':act,'params':params,'callback_func':callback_func,'response_tags':response_tags,'callback_func_arg':callback_func_arg,'fo_obj':fo_obj}; - oldExecXml('captcha','setCaptchaSession',new Array(),captchaXE.show,new Array('error','message','about','keyword')); + var params = new Array(); + params['captcha_action'] = 'setCaptchaSession'; + params['mid'] = current_mid; + oldExecXml(module, act, params, captchaXE.show,new Array('error','message','about','keyword')); } else { oldExecXml(module, act, params, callback_func, response_tags, callback_func_arg, fo_obj); } @@ -77,7 +80,7 @@ var calledArgs = null; margin:"0 0 10px 0", cursor:"pointer" }) - .attr("src", request_uri.setQuery('act','captchaImage').setQuery('rnd',Math.round(Math.random() * 6))) + .attr("src", current_url.setQuery('captcha_action','captchaImage').setQuery('rnd',Math.round(Math.random() * 6))) .click (captchaXE.compare) .focus( function() { this.blur(); } ); @@ -99,9 +102,11 @@ var calledArgs = null; var x = e.pageX - posX - 20; var y = e.pageY - posY - 20; var params = new Array(); - params["mx"] = x; - params["my"] = y; - oldExecXml('captcha','captchaCompare',params, function() { + params['mx'] = x; + params['my'] = y; + params['captcha_action'] = 'captchaCompare'; + params['mid'] = current_mid; + oldExecXml(calledArgs.module,calledArgs.act,params, function() { $("#captcha_screen").css({ display:"none" }); oldExecXml(calledArgs.module, calledArgs.act, calledArgs.params, calledArgs.callback_func, calledArgs.response_tags, calledArgs.callback_func_arg, calledArgs.fo_obj); } ); diff --git a/modules/member/member.view.php b/modules/member/member.view.php index 8fb560377..a89fa19c1 100644 --- a/modules/member/member.view.php +++ b/modules/member/member.view.php @@ -210,6 +210,13 @@ * @brief 로그인 폼 출력 **/ function dispMemberLoginForm() { + if(Context::get('is_logged')) { + Context::set('redirect_url', getUrl('act','')); + $this->setTemplatePath($this->module_path.'tpl'); + $this->setTemplateFile('redirect.html'); + return; + } + // 템플릿 파일 지정 Context::set('referer_url', $_SERVER['HTTP_REFERER']); $this->setTemplateFile('login_form'); diff --git a/modules/member/tpl/redirect.html b/modules/member/tpl/redirect.html new file mode 100644 index 000000000..024ae2eb9 --- /dev/null +++ b/modules/member/tpl/redirect.html @@ -0,0 +1,3 @@ +