if($called_position == 'before_display_content') {
Context::loadLang('./addons/block_document_ext/lang');
global $lang;
if(Context::getResponseMethod() == "HTML"){
/**
* @brief 추천/비추천,스크랩,신고기능등 특정 srl에 대한 특정 module/action을 호출하는 함수
* doCallModuleAction 를 overwrite
**/
$script = '<script type="text/javascript">
var bdevars = {};
function doCallModuleAction(d,b,c,k){
if("procDocumentDeclare"==b||"procCommentDeclare"==b){
bdevars = {type:d, act:b, srl:c, imme:k};
jQuery(function($){
var y = jQuery("#prompt");
var q = jQuery(window);
var cb = jQuery("#prompt_checkbox").is("div");
if(k=="block") {
if(!cb) jQuery("#prompt_msg").after(\'<div style="margin:10px;" id="prompt_checkbox"><input type="checkbox" id="ip_block" value="Y">%s</div>\');
}else{
if(cb) jQuery("#prompt_checkbox").detach();
}
jQuery("#prom_title").text(k=="block"?"%s":"%s");
y.css("top", ( q.height() - y.height()) / 2 + q.scrollTop()).css("left", ( q.width() - y.width()) / 2 - q.scrollLeft()).show();
jQuery("#prompt_msg").val("").focus();
});
}else{
a="%s";if("procDocumentVoteUp"==b||"procCommentVoteUp"==b)a="%s - "+a;if("procDocumentVoteDown"==b||"procCommentVoteDown"==b)a="%s - "+a;%s(c={target_srl:c,cur_mid:current_mid,mid:current_mid},exec_xml(d,b,c,completeCallModuleAction))
}
}
jQuery(function($){
jQuery("input[name=\'btn_ok\']").click(function(){
var a = jQuery("#prompt_msg").val();
var vv = jQuery("#ip_block").attr("checked");
var e = (vv == true || vv == "checked")? "Y" : "";
if(a != "") {
var c={block_imme:bdevars.imme=="block",prompt_msg:a,target_srl:bdevars.srl,cur_mid:current_mid,mid:current_mid,block_ip:e};
exec_xml(bdevars.type,bdevars.act,c,completeCallModuleAction);
jQuery("#prompt").hide();
}else{
jQuery("#prompt_msg").focus();
}
});
jQuery("input[name=\'btn_close\']").click(function(){
jQuery("#prompt").hide();
});
jQuery(document).keydown(function(event){
if(event.keyCode != 27) return true; // ESC
return jQuery("#prompt").hide();
});
});
</script>';
$script = sprintf($script, $lang->add_block_ip, $lang->prompt_block_msg, $lang->prompt_msg, $lang->confirm_msg, $lang->cmd_vote, $lang->cmd_vote_down, $addon_info->vote_confirm == "N" ? "" : "confirm(a)&&");
Context::addHtmlFooter($script);
// js의 prompt를 대신하는 팝업
$popup = '<div id="prompt" style="padding:10px;display: none; position: absolute;background-color: white;white-space: nowrap;border: 1px solid #444;z-index:999999"><div style="text-align:center;"><h4 id="prom_title" style="margin:20px; 0"></h4></div><div style="text-align:center;margin:10px;"><input type="text" id="prompt_msg" style="width:200px;"></div><div style="text-align:center;"><span class="btn" ><input type="button" name="btn_ok" value="%s" ></span> <span class="btn"><input type="button" name="btn_close" value="%s" ></span></div></div>';
$popup = sprintf($popup, " ".$lang->cmd_confirm." ", " ".$lang->cmd_cancel." ");
Context::addHtmlFooter($popup);
}
추천버튼과 비추천 모두 같은 알럿이 나오니 회원들이 확인창 확인을 잘 하지 않고 비추천을 눌렀다는걸 나중에 알게 되는 경우가 생겨 난감해 하십니다.
추천은 확인창 띄우는걸 제외 시키고 싶은데 아무리 해도 잘 안되네요...
자료 제작자분은 유지보수를 중단하셔서요...
아마 이 부분이 핵심인가 보네요. 저야 뭐 잘 모르겠습니다만;;
근데 코드 하이라이터를 이용해서 등록해주시면 더 좋을 거 같네요