PageSourceSearch

https://cdn.ccdailynews.com/script/reply.js

js ccdailynews.com collected 2026-10-02 06:32:23 UTC 7,486 bytes, 248 lines download raw bytes

1var reply = {
2	parent_idxno:'',
3	captchaEnable:'',
4	replyAll:'',
5	reply_sc_order_by:'',
6	reply_page:'',
7	
8	reply_bbs_table:'',
9
10	// 모달 타이틀 및 비회원 폼 데이터 전달대상을 구한다. 
11	replyWrite:function(event){
12		var modalStr;	
13		switch($(this).data('mode')){
14			case "reply"  : 
15				modalStr = '댓글쓰기';
16				$("#nomember-info").data( "target", '');			
17				break;
18
19			case "sub_reply" : 
20				modalStr = '답글쓰기'; 			
21				$("#nomember-info").data( "target", event.data.reply_parent_idxno);
22				
23				break;			
24		}
25
26		$("#reply-modal .reveal-title").html(modalStr);	
27		$("#reply-modal").foundation('open');
28
29	},
30
31	// 댓글옵션 
32	viewOption:function(event) {
33
34		if($(this).siblings('.comments-more-option').css("display") == "none") {
35			$(".comments-more-option").hide();
36			$(this).siblings('.comments-more-option').show();
37		} else {		
38			$(this).siblings('.comments-more-option').hide();
39		}
40
41	},
42
43	// 삭제옵션 
44	setDeleteOption:function(event){
45
46		$("#reply-delete-mode").val( $(this).closest('article').data('mode') );
47		$("#reply-delete-idxno").val( $(this).closest('article').data('idxno') );
48		$("#reply-delete-reply-parent-idxno").val( $(this).closest('article').data('reply-parent-idxno') );
49
50		if( $(this).closest('article').data('is-member') == 'Y'){
51			$("#delete-password-field").hide();
52		}	
53
54		$("#reply-delete-modal").foundation('open');
55
56	},
57
58	// 추천
59	setVote:function(evnet){
60		var $o = $(this);
61		var idxno = $o.closest('article').data('idxno');
62
63		if($o.attr('id').indexOf('vote-up') != '-1'){
64			var voteType = "recommend";
65			var tempClass = "icon-thumbs-up-o";
66		}else if($o.attr('id').indexOf('vote-down') != '-1'){
67			var voteType = "dissent";
68			var tempClass = "icon-thumbs-down-o";
69		}
70		
71		
72		$o.find("i").removeClass(tempClass);
73		$o.find("i").addClass('icon-spinner animate-spin');
74					
75		$.ajax({
76					  type: "post",
77					  dataType: "json",
78					  url: "ajaxReplyVote.php",
79					  data:{
80						  idxno:idxno,
81						  voteType:voteType
82					  },
83					  success: function(json) {
84						  if(json.result == 'success'){
85							  var temp = $o.find("span:last").text();
86							  $o.find("span:last").text(parseInt(temp) + 1);
87						  }else{
88							  alert(json.msg);
89						  }
90					  },
91					  error: function(e) {
92						 alert('정상처리되지 않았습니다.');
93					  },
94					  complete:function(){
95						  $o.find("i").removeClass('icon-spinner animate-spin');
96						  $o.find("i").addClass(tempClass);
97					  }
98		});	
99	},
100
101	setReplyNotice:function(event) {
102		var $o = $(this);
103		var idxno = $o.closest('article').data('idxno');
104		var notice = ($o.is(':checked'))? 1:0;
105
106		$.ajax({
107			type: "post",
108			dataType: "json",
109			url: "ajaxReplyNotice.php",
110			data:{idxno:idxno, notice:notice},
111			success: function(json) {
112				alert(json[1]);
113			},
114			error: function(e) {
115				alert('정상처리되지 않았습니다.');
116			},
117			complete:function(){
118				//새로고침되게 할려면 주석을 푸시오.
119				self.location.reload();
120			}
121		});
122	},
123	
124	// 답글
125	getSubReplyView:function(evnet){
126		var $o = $(this);
127		var idxno = $o.closest('article').data('idxno');
128		var $target = $("#sub-view-" + idxno);
129		
130		
131
132		if($o.data('load') == 'on'){
133			$target.toggle();
134		}else{
135
136			$.ajax({
137				  type: "post",
138				  dataType: "html",
139				  url: "ajaxGetSubReply.php",
140				  data:{
141					  parent_idxno:reply.parent_idxno,
142					  reply_parent_idxno:idxno,
143					  captchaEnable:reply.captchaEnable,
144					  replyAll:reply.replyAll,
145					  reply_sc_order_by:reply.reply_sc_order_by,
146					  reply_page:reply.reply_page,
147					  table:reply.reply_bbs_table
148				  },
149				  success: function(data) {
150					 $target.html(data);
151					 $target.find(".comments-more-btn").on('click', reply.viewOption);									// 댓글옵션 이벤트
152					 $target.find(".reply-delete-btn").on('click', reply.setDeleteOption);								// 댓글삭제 이벤트
153					 $target.find(".reply-subwrite-btn, .reply-subwrite-text").on('click', {reply_parent_idxno:idxno}, reply.replyWrite);		// 답글달기 									 
154					 $target.find("#content-"+idxno).on('keyup', {reply_parent_idxno:idxno},  reply.getTextLength);		// 글자계산 											 
155					 $target.find(".vote-btn").on('click', reply.setVote);												// 추천반대
156
157					 $target.show();
158					 $o.attr('data-load','on');
159				  },
160				  error: function(e) {
161					 alert('정상처리되지 않았습니다.');
162				  }
163			});	
164		}
165	},
166
167	// 비회원 글쓰기
168	noMemberCheck:function(event){
169		
170		
171		var teget_idxno = $("#nomember-info").data('target');	
172		var $reply_container =			 (teget_idxno)?$("#reply-container-"+teget_idxno):$("#reply-container");
173		var $reply_container_dummy =	 (teget_idxno)?$("#reply-container-dummy-"+teget_idxno):$("#reply-container-dummy");
174		var $reply_write_btn =			 (teget_idxno)?$("#reply-write-btn-"+teget_idxno):$("#reply-write-btn");
175		var $nomember_name_target =	     (teget_idxno)?$("#reply-insert-name-"+teget_idxno):$("#reply-insert-name");
176		var $nomember_password_target =  (teget_idxno)?$("#reply-insert-password-"+teget_idxno):$("#reply-insert-password");
177		var $nomember_captcha_target =   (teget_idxno)?$("#g-recaptcha-response-"+teget_idxno):$("#g-recaptcha-response");
178		var $login_member =				 (teget_idxno)?$("#login-member-"+teget_idxno):$("#login-member");
179		var alidationflag = true;
180
181		//alert(("#reply-container"+teget_idxno) );
182
183		if($("#nomember-name").val() == ''){
184			alert('이름을 입력하세요');
185			$("#nomember-name").focus();
186			return false; 
187		}
188		
189		if($("#nomember-password").val() == ''){
190			alert('비밀번호를 입력하세요');
191			$("#nomember-password").focus();
192			return false; 
193		}	
194
195		if(!reCapVal || reCapVal == 'undefined') {
196			alert('자동등록방지 확인을 진행하세요');
197			return false; 
198		} 
199		
200		$login_member.html( "<i class=\"icon-profile\"></i>&nbsp;" + $("#nomember-name").val() + "님" );
201		
202		$nomember_name_target.val( $("#nomember-name").val() );
203		$nomember_password_target.val( $("#nomember-password").val() );	
204		$nomember_captcha_target.val( $("#nomember-captcha").val() );
205
206		// 댓글 부분에서 이미 캡챠 인증코드가 들어가있다면(인증을 했었다면) 그냥 다 교체해준다.
207		$('input:hidden[name=g-recaptcha-response]', 'article#reply').each(function($i) {
208			if($(this).val() != "") $(this).val($("#nomember-captcha").val());
209		});
210
211		$reply_container.show();
212		$reply_write_btn.hide();
213		$reply_container_dummy.hide();
214
215		$("#reply-modal").foundation('close');
216
217		
218	},
219
220	modalCloser:function(event){
221		
222	  var modal = $(this);
223	  switch(modal.attr('id')){
224		  case "reply-modal" : 
225			$("#nomember-info").hide();				// 비회원 입력폼 안보이도록 초기하
226			break;
227		  case "reply-delete-modal":
228			$("#delete-password-field").show();		// 댓글삭제 보이도록 초기화 
229			break;
230	  }
231
232	},
233
234	getTextLength:function(event){
235		o = $(this);
236		var cur = Math.min(o.val().length, 400);
237
238		if(event.data.reply_parent_idxno) $('#reply-cur-text-'+event.data.reply_parent_idxno).text(cur);
239		else $('#reply-cur-text').text(cur);
240
241		if(o.val().length > cur) o.val(  o.val().substring(0, cur) );
242		o.css('height', '40px');
243		o.css('height', o.prop('scrollHeight'));		
244	}
245
246}
247
248

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.