PageSourceSearch

https://pincrux.shop/wm_engine_SW/_engine/common/shop.review.js?202610080017

js pincrux.shop collected 2026-10-07 15:17:53 UTC 8,982 bytes, 315 lines download raw bytes

1async function checkRevFrm(f) {
2	preventContinuousClick(f);
3
4	if(ra==2) {
5		if(!memberOnly(this_url,1,1)) return false;
6
7	}
8	if(ra==1 && mlv==10) {
9		if(f.name.value=='이름') f.name.value='';
10		if(f.pwd.value=='비밀번호') f.pwd.value='';
11		if(!checkBlank(f.name, _lang_pack.common_input_name)) return false;
12		if(!checkBlank(f.pwd, _lang_pack.common_input_pwd)) return false;
13	}
14	if(typeof f.rev_pt!='undefined') {
15		if(f.pno.value) pmsg = _lang_pack.shop_input_revpts1;
16		else pmsg = _lang_pack.shop_input_revpts2;
17
18		if(!checkCB(f.rev_pt, pmsg)) return false;
19	}
20	if(f.version && f.version.value == "renewal"){
21		review_strlen = f.title.value.length;
22	}
23	if(!checkBlank(f.title, _lang_pack.common_input_subject)) return false;
24	if(review_strlen) {
25		if(review_strlen > f.title.value.length) { window.alert(_lang_pack.shop_error_titlen.format(review_strlen)); return false; }
26	}
27	if(f.revContent) {
28		if(!submitContents('revContent', _lang_pack.common_input_content)) return false;
29		f.content.value=f.revContent.value;
30	}else{
31		if(!checkBlank(f.content, _lang_pack.common_input_content)) return false;
32	}
33	if(review_con_strlen > 0) {
34		if(review_con_strlen > f.content.value.length) { window.alert(_lang_pack.shop_error_content.format(review_con_strlen)); return false; }
35	}
36	f.target = hid_frame;
37	if(typeof testRequestPartnerToken == 'function'){
38		await testRequestPartnerToken();
39		f.token.value = ocb_token;
40	}
41
42	if(seCalled && oEditors) { // 에디터 초기화
43		var tmp = seCalled.split('@');
44		for(var key in tmp) {
45			if(tmp[key] == 'revContent') {
46				seCalled = seCalled.replace('@revContent', '');
47				oEditors[(key-1)] = null;
48				break;
49			}
50		}
51	}
52
53	//캡차
54	if(!f.no.value) {
55		if($('#grecaptcha_element').length > 0) {
56			if(typeof(grecaptcha) != 'undefined') {
57				var response = grecaptcha.getResponse(grecaptcha_element_id);
58				if(response.length == 0) {
59					alert(_lang_pack.board_capcha_connot);
60					return false;
61				}
62			}
63		}
64	}
65
66	printFLoading();
67
68	return true;
69}
70
71function closeReviewDetail(rno, rev_idx) {
72	if(rno) {
73		openReviewDetail(rno, rev_idx);
74	} else {
75		removeDimmed();
76		$('#revWriteAjaxDiv').remove();
77	}
78}
79
80function openReviewDetail(rno, rev_idx, animate) {
81	$.get(root_url+'/main/exec.php', {'exec_file':'shop/review_detail.php', 'from_ajax':'true', 'rno':rno, 'rev_idx':rev_idx}, function(r) {
82		if(r.status == 'error') {
83			window.alert(r.message);
84		} else {
85			if($('bgfilter').length == 0) {
86				setDimmed().click(function() {
87					closeReviewDetail();
88				});
89			}
90			$('#revWriteAjaxDiv').remove();
91			$('body').append("<div id='revWriteAjaxDiv' data-rno='"+rno+"' data-rev_idx='"+rev_idx+"' style='opacity:0;'>"+r.content+"</div>");
92			if(animate == true) {
93				$('#revWriteAjaxDiv').animate({
94					'opacity':1,
95				}, 200);
96			} else {
97				$('#revWriteAjaxDiv').css({
98					'opacity':1,
99				});
100			}
101		}
102	});
103	return false;
104}
105
106function reloadReviewDetail(animate) {
107	var obj = $('#revWriteAjaxDiv');
108	if(obj.length != 1) return false;
109
110	openReviewDetail(
111		obj.data('rno'),
112		obj.data('rev_idx'),
113		animate
114	);
115}
116
117function writeReviewWithoutRa(ano, rno, rev_idx) { // 상품후기 쓰기 권한 취득 후 후기 폼 출력
118	$.post('/main/exec.php', {'exec_file':'shop/review_reg.exe.php', 'exec':'getRa', 'ano':ano, 'rno':rno}, function(r) {
119		window.ra = r;
120		writeReview(true, ano, rno, rev_idx);
121	});
122}
123
124function writeReview(layer, ano, rno, rev_idx) {
125	var tmp=document.getElementById('revWriteDiv');
126	var order_no = (typeof ono == 'string') ? ono : null;
127
128	if(layer == true) { // 글쓰기 창 플로팅 레이어
129		if(ra=='3') {
130			window.alert(_lang_pack.shop_error_revwp);
131			return;
132		} else {
133			if(ra != '2' || memberOnly(this_url,1,1)) {
134				if(seCalled) { // 에디터 초기화
135					seCalled = seCalled.replace('@revContent', '');
136				}
137				if(!ano) ano = 0;
138				$('#revWriteDiv, #revWriteAjaxDiv').remove();
139				$.post('/main/exec.php', {'exec_file':'shop/review_reg.exe.php', 'exec':'write_form', 'from_ajax':'true', 'ano':ano, 'rno':rno, 'rev_idx':rev_idx, 'ono':order_no}, function(r) {
140					setDimmed().click(function() {
141						removeDimmed();
142						$('#revWriteAjaxDiv').remove();
143					});
144					$('body').append('<div id="revWriteAjaxDiv">'+r.content+'</div>');
145					$('#revWriteDiv').show();
146
147					// 에디터 호출
148					if(document.getElementById('revContent')) {
149						var editor = new R2Na('revContent', '', '');
150						editor.initNeko(editor_code, 'product_review', 'img');
151					}
152
153					// 첨부파일 미리보기 이벤트 생성
154					$('#revWriteDiv').find('[name^=upfile]').change(function() {
155						var reader = new FileReader();
156						var nm = this.name;
157						if(this.value && this.files && this.files[0] && this.files[0].type.match('image.*')) {
158							reader.onload = function(e) {
159								$('#preview_attach_files').find('.'+nm).html("<img src='"+e.target.result+"'>").show();
160							}
161							reader.readAsDataURL(this.files[0]);
162						} else {
163							$('#preview_attach_files').find('.'+nm).hide();
164						}
165					});
166				});
167			}
168		}
169		return false;
170	}
171
172	// 글쓰기 창 펼침 레이어(legacy code)
173	if(ra=='2') {
174		if(memberOnly(this_url,1,1)) {
175			layTgl(tmp);
176			if(document.getElementById('revContent')) {
177				var editor = new R2Na('revContent', '', '');
178				editor.initNeko(editor_code, 'product_review', 'img');
179			}
180		}
181	} else if(ra=='3') {
182		window.alert(_lang_pack.shop_error_revwp);
183		return;
184	}
185	else {
186		layTgl(tmp);
187		if(document.getElementById('revContent')) {
188			var editor = new R2Na('revContent', '', '');
189			editor.initNeko(editor_code, 'product_review', 'img');
190		}
191	}
192}
193
194function checkRevCmt(f) {
195	if(!checkBlank(f.content, _lang_pack.common_input_content)) return false;
196	f.target = hid_frame;
197	return true;
198}
199
200function checkRevCmtAjax(f) {
201	if(checkRevCmt(f) == true) {
202		$.post(f.action, $(f).serialize(), function(r) {
203			if(r) window.alert(r);
204			else reloadReviewDetail(false);
205		});
206	}
207	return false;
208}
209
210function delRevCmt(no) {
211	if(!confirm(_lang_pack.common_confirm_delete)) return;
212	var f = document.reviewDelFrm;
213	f.no.value=no;
214	f.target = hid_frame;
215	f.exec_file.value='shop/review_comment.exe.php';
216	f.submit();
217}
218
219function delRevCmtAjax(no) {
220	if(!confirm(_lang_pack.common_confirm_delete)) return;
221	$.post(root_url+'/main/exec.php', {'exec_file':'shop/review_comment.exe.php', 'exec':'delete', 'from_ajax':'Y', 'no':no}, function(r) {
222		if(r) window.alert(r);
223		else reloadReviewDetail(false);
224	});
225	return false;
226}
227
228async function delRev(no) {
229	var f = $('[name=reviewDelFrm]');
230	if(!f.length) {
231		$('body').append("<form method='post' name='reviewDelFrm' action='/main/exec.php'><input type='hidden' name='exec_file' /><input type='hidden' name='no' /><input type='hidden' name='exec' /></form>");
232	}
233
234	var ams='';
235	if(alv!='')	{
236		ams = _lang_pack.shop_confirm_rmadmin;
237	}
238	if(!await confirm(_lang_pack.common_confirm_delete+ams)) return;
239
240	$.post(root_url+'/main/exec.php', {'exec_file':'shop/review_reg.exe.php', 'exec': 'delete', 'no':no,}, function(r) {
241		location.reload();
242	});
243	return false;
244}
245
246function editRev(no) {
247	var f = $('[name=reviewDelFrm]');
248	if(!f.length) {
249		$('body').append("<form method='post' name='reviewDelFrm' action='/main/exec.php'><input type='hidden' name='exec_file' /><input type='hidden' name='no' /><input type='hidden' name='exec' /></form>");
250	}
251
252	if(seCalled && oEditors) { // 에디터 초기화
253		var tmp = seCalled.split('@');
254		for(var key in tmp) {
255			if(tmp[key] == 'revModiContent'+no) {
256				seCalled = seCalled.replace('@revModiContent'+no, '');
257				oEditors[(key-1)] = null;
258				break;
259			}
260		}
261	}
262
263	var f = $('form[name=reviewDelFrm]');
264	if(f.length > 0) {
265		f = f[0];
266		f.no.value = no;
267		f.exec_file.value = 'shop/review_edit.php';
268		f.target = hid_frame;
269		f.submit();
270	}
271}
272
273function recommendReview(rno, val) {
274	if(memberOnly('', 1, 1) == false) {
275		return false;
276	}
277	$.post(root_url+'/main/exec.php', {'exec_file':'shop/review_reg.exe.php', 'exec':'recommend', 'rno':rno, 'exec':'recommend', 'val':val}, function(r) {
278		if(r.status == 'error') {
279			window.alert(r.message);
280		} else {
281			reloadReviewDetail(false);
282		}
283	});
284	return false;
285}
286
287function conDelRev(no, rev_idx) {
288	var f = document.forms["review_pfrm"+no];
289	if(f) {
290		f.exec_file.value="shop/review_reg.exe.php";
291		f.exec.value='delete';
292		document.getElementById('review_pwd'+no).style.display='block';
293		document.getElementById('review_modi'+no).style.display='none';
294	} else {
295		var layer = $('#revWriteAjaxDiv');
296		if(layer.length != 1) return false;
297
298		$.post(root_url+'/main/exec.php', {'exec_file':'shop/review_reg.exe.php', 'exec':'delete', 'from_ajax':'true', 'no':no, 'rev_idx':rev_idx}, function(r) {
299			layer.html(r.content);
300		});
301	}
302}
303
304
305// 구매 확정 버튼
306function ordConfirm(ono){
307	$.post('/main/exec.php', {'exec_file':'mypage/order_confirm.php', 'ono':ono}, function(r) {
308		if(r.status == 'success') {
309			window.alert(r.message);
310			location.reload();
311		} else {
312			window.alert(r.message);
313		}
314	});
315}

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.