mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-07 10:41:40 +09:00
git-svn-id: http://xe-core.googlecode.com/svn/sandbox@5825 201d5d3c-b55e-5fd7-737f-ddc643e51545
108 lines
4.8 KiB
JavaScript
108 lines
4.8 KiB
JavaScript
/**
|
|
* procFilter 함수를 가로채서 captcha 이미지 및 폼을 출력
|
|
**/
|
|
var oldExecXml = null;
|
|
var calledArgs = null;
|
|
(function($){
|
|
$(function() {
|
|
|
|
var captchaXE = null;
|
|
|
|
function xeCaptcha() {
|
|
var body = $(document.body);
|
|
var captchaIma;
|
|
|
|
if (!captchaXE) {
|
|
captchaXE = $("<div>")
|
|
.attr("id","captcha_screen")
|
|
.css({
|
|
position:"absolute",
|
|
display:"none",
|
|
backgroundColor:"#111",
|
|
backgroundRepeat:"repeat",
|
|
backgroundPosition:"0 0",
|
|
zIndex:500
|
|
});
|
|
|
|
$('<div id="captchaBox" style="display:none;*zoom:1;overflow:hidden;height:200px;">'+
|
|
'<img src="" id="captcha_image" />'+
|
|
'<p style="color:#666;width:250px;padding:0;margin:10px 0 20px 0; " id="captchaAbout"> </p>'+
|
|
'<p style="color:#DDD;width:250px;font-size:15px;padding:0; margin:0 0 10px; font-weight:bold; text-align:center;" id="captchaText"> </p>'+
|
|
'</div>').appendTo(captchaXE);
|
|
|
|
body.append(captchaXE);
|
|
|
|
captchaXE.exec = function(module, act, params, callback_func, response_tags, callback_func_arg, fo_obj) {
|
|
if(act == 'procBoardInsertDocument' || act == 'procBoardInsertComment' || act == 'procIssuetrackerInsertIssue' || act == 'procIssuetrackerInsertHistory') {
|
|
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'));
|
|
} else {
|
|
oldExecXml(module, act, params, callback_func, response_tags, callback_func_arg, fo_obj);
|
|
}
|
|
return true;
|
|
};
|
|
|
|
captchaXE.show = function(ret_obj) {
|
|
var clientWidth = $(window).width();
|
|
var clientHeight = $(window).height();
|
|
|
|
$(document).scrollTop(0);
|
|
$(document).scrollLeft(0);
|
|
|
|
$("#captcha_screen").css({
|
|
display:"block",
|
|
width : clientWidth+"px",
|
|
height : clientHeight+"px",
|
|
left : 0,
|
|
top : 0
|
|
});
|
|
|
|
$("#captchaAbout").html(ret_obj['about']);
|
|
$("#captchaText").html(ret_obj['keyword']);
|
|
|
|
$("#captcha_image")
|
|
.css( {
|
|
width:"250px",
|
|
height:"100px",
|
|
margin:"0 0 10px 0",
|
|
cursor:"pointer"
|
|
})
|
|
.attr("src", request_uri.setQuery('act','captchaImage').setQuery('rnd',Math.round(Math.random() * 6)))
|
|
.click (captchaXE.compare)
|
|
.focus( function() { this.blur(); } );
|
|
|
|
$("#captchaBox")
|
|
.css({
|
|
display:"block",
|
|
border:"10px solid #222222",
|
|
padding:"10px",
|
|
position:"absolute",
|
|
backgroundColor:"#2B2523",
|
|
left : (clientWidth/2-125)+"px",
|
|
top : (clientHeight/2-100)+"px"
|
|
})
|
|
};
|
|
|
|
captchaXE.compare = function(e) {
|
|
var posX = parseInt($("#captchaBox").css("left").replace(/px$/,''),10);
|
|
var posY = parseInt($("#captchaBox").css("top").replace(/px$/,''),10);
|
|
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() {
|
|
$("#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);
|
|
} );
|
|
};
|
|
}
|
|
return captchaXE;
|
|
}
|
|
|
|
$(window).ready(function(){
|
|
oldExecXml = exec_xml;
|
|
exec_xml = xeCaptcha().exec;
|
|
});
|
|
});
|
|
})(jQuery);
|