PageSourceSearch

https://quv.kr/js/main/member.js?v=20260909

js quv.kr collected 2026-10-01 11:56:38 UTC 15,011 bytes, 389 lines download raw bytes

1
2function find_id_confirm() {
3    if ($('#FindIdModal').hasClass('proceeding')) return;
4    $('.find-idpw-error').remove();
5    $('#FindIdModal').addClass('proceeding');
6
7    var phone = $('#find-idpw-form-phone').val();
8    if (phone.trim().length == 0) {
9        $('#FindIdModal').removeClass('proceeding');
10        alert('연락처를 입력해주세요.');
11        return;
12    }
13
14    var url = '/i/mail.php';
15    var data = 'method=find_id_by_phone';
16    data += '&phone=' + phone;
17
18    $.ajax({
19        type: "POST",
20        url: url,
21        dataType: 'json',
22        data: data,
23        success: function(data) {
24            if (data.length > 0) {
25                var html = '<div class="find-idpw-list-title">해당 연락처로 등록된 아이디 정보입니다.</div>';
26                $.each(data, function() {
27                    html += '<div>' + this.m_email + '</div>'
28                });
29                $('#FindIdModal .find-idpw-list').children().remove();
30                $('#FindIdModal .find-idpw-list').append(html);
31
32                $('#FindIdModal .find-idpw-description').hide();
33                $('#FindIdModal .find-idpw-form').hide();
34                $('#FindIdModal .find-idpw-confirm').hide();
35                $('#FindIdModal .find-idpw-list').show();
36            }
37            else {
38                var html = '<div class="find-idpw-error">해당 연락처로 등록된 아이디가 없습니다.</div>';
39                $('#FindIdModal .find-idpw-form').after(html);
40            }
41
42            $('#FindIdModal').removeClass('proceeding');
43        },
44        error: function(xhr) {
45            $('#FindIdModal').removeClass('proceeding');
46        }
47    });
48}
49
50$('#FindIdModal').on('hide.bs.modal', function (e) {
51    $('#FindIdModal').removeClass('proceeding');
52});
53
54function find_password_confirm() {
55    if ($('#FindPasswordModal').hasClass('proceeding')) return;
56    $('.find-idpw-error').remove();
57    $('#FindPasswordModal').addClass('proceeding');
58
59    var account = $('#find-idpw-form-account').val();
60    if (account.trim().length == 0) {
61        $('#FindPasswordModal').removeClass('proceeding');
62        alert('아이디를 입력해주세요.');
63        return;
64    }
65
66    var result = [];
67    var obj = new Object();
68    obj.account = account;
69    result.push(obj);
70
71    var url = '/i/mail.php';
72    var data = 'method=send_mail_find_password';
73    data += '&json_result=' + encodeURIComponent(JSON.stringify(result));
74
75    $.ajax({
76        type: "POST",
77        url: url,
78        dataType: 'json',
79        data: data,
80        success: function(data) {
81            if (data.message == "ERROR") {
82                switch (data.error_code) {
83                    case 1360 :
84                        var html = '<div class="find-idpw-error">해당 아이디가 존재하지 않습니다.</div>';
85                        $('#FindPasswordModal').removeClass('proceeding');
86                        $('#FindPasswordModal .find-idpw-form').after(html);
87                        break;
88                }
89            }
90            else {
91                alert('안내 메일이 발송되었습니다.');
92                $('#FindPasswordModal').modal('hide');
93            }
94            $('#FindPasswordModal').removeClass('proceeding');
95        },
96        error: function(xhr) {
97            $('#FindPasswordModal').removeClass('proceeding');
98        }
99    });
100}
101
102$('#FindPasswordModal').on('hide.bs.modal', function (e) {
103    $('#FindPasswordModal').removeClass('proceeding');
104});
105
106function find_password_by_mobile() {
107    if ($('#FindPasswordModal').hasClass('proceeding')) return;
108    $('.find-idpw-error').remove();
109    $('#FindPasswordModal').addClass('proceeding');
110
111    var account = $('#find-idpw-form-email').val();
112    var mobile = $('#find-idpw-form-mobile').val();
113    if (account.trim().length == 0) {
114        $('#FindPasswordModal').removeClass('proceeding');
115        alert('아이디를 입력해주세요.');
116        return;
117    }
118    if (mobile.trim().length == 0) {
119        $('#FindPasswordModal').removeClass('proceeding');
120        alert('연락처를 입력해주세요.');
121        return;
122    }
123
124    var result = [];
125    var obj = new Object();
126    obj.account = account;
127    obj.receiver = mobile.replace(/-/g, '');
128    result.push(obj);
129
130    qvjax_main(
131        "send_sms_find_password",
132        "/i/mail.php",
133        '&json_result=' + encodeURIComponent(JSON.stringify(result)),
134        function (data) {
135            if (data.result_code == 0) {
136                switch(data.message) {
137                    case "db_error":
138                        alert('계정이 존재하지 않거나\n연락처 정보가 올바르지 않습니다.');
139                        break;
140                    default:
141                        alert('문제가 발생했습니다.\n다시 한 번 시도해 주세요.\n\n문제가 지속되면 관리자에게 문의주시기 바랍니다.');
142                        break;
143                }
144                $('#FindPasswordModal').removeClass('proceeding');
145                $('#FindPasswordModal').modal('hide');
146            }
147            else if (data.result_code == 1) {
148                $('#FindPasswordModal').removeClass('proceeding');
149                $('.find-by-mobile').addClass('authenticate');
150
151                var html = '<div class="find-idpw-error" style="color:#494949;">핸드폰 번호로 발송된 인증코드를 입력해주세요.</div>';
152                $('#FindPasswordModal .find-idpw-form').after(html);
153            }
154        },
155        function() {
156            $('#FindPasswordModal').removeClass('proceeding');
157        }
158    );
159}
160
161function change_password_by_mobile() {
162    if ($('#FindPasswordModal').hasClass('proceeding')) return;
163    $('#FindPasswordModal').addClass('proceeding');
164
165    var account = $('#find-idpw-form-email').val();
166    var key = $('#find-idpw-form-key').val();
167    if (key.trim().length == 0) {
168        $('#FindPasswordModal').removeClass('proceeding');
169        alert('코드를 입력해주세요.');
170        return;
171    }
172
173    var result = [];
174    var obj = new Object();
175    obj.account = account;
176    obj.key = key;
177    result.push(obj);
178
179    qvjax_main(
180        "check_temporary_key",
181        "/i/mail.php",
182        '&json_result=' + encodeURIComponent(JSON.stringify(result)),
183        function (data) {
184            if (data.result_code == 0) {
185                switch(data.message) {
186                    case "attempts_exceeded":
187                        alert('인증코드를 3회 이상 틀렸습니다.\n처음부터 다시 진행해주세요.');
188                        $('#FindPasswordModal').modal('hide');
189                        break;
190                    case "authentication_failed":
191                        alert('인증코드가 올바르지 않습니다.\n다시 한 번 시도해주세요.');
192                        break;
193                    default:
194                        alert('문제가 발생했습니다.\n다시 한 번 시도해 주세요.\n\n문제가 지속되면 관리자
194에게 문의주시기 바랍니다.');
195                        break;
196                }
197                $('#FindPasswordModal').removeClass('proceeding');
198            }
199            else if (data.result_code == 1) {
200                post_redirect("https://quv.kr/i/password.html",{'t':data.key},"_top");
201            }
202        },
203        function() {
204            $('#FindPasswordModal').removeClass('proceeding');
205        }
206    );
207}
208
209$(document).ready(function() {
210    /*login*/
211    $(".join-f-u").delegate(".lo-operator", "click", function(e) {
212        $(".inp-status").remove();
213        if($(this).parent().hasClass("normal-member")){
214            //go admin
215            $(".join-f-content.normal-member").hide();
216            $(".join-f-content.admin-member").show();
217            document.loginForm.act.value='al';
218        }else{
219            //go normal
220            $(".join-f-content.normal-member").show();
221            $(".join-f-content.admin-member").hide();
222            document.loginForm.act.value='l';
223        }
224    });
225
226    $("#loginForm").on("submit",function(){
227        var login_act=document.loginForm.act.value;
228
229        $(".inp-status").remove();
230
231        var obj = new Object();
232        obj.login_act = login_act;
233        if(login_act=="al"){ //부운영자
234            obj.login_admin_member_site = $('#login_admin_member_site').val();
235            obj.login_admin_member_account = $('#login_admin_member_account').val();
236            obj.login_admin_member_pass = $('#login_admin_member_pass').val();
237        }else{ //일반
238            obj.login_account = $('#login_account').val();
239            obj.login_pass = $('#login_pass').val();
240        }
241
242        var qvjax_send_json=obj;
243        qvjax_main(
244            "check_login",
245            "/main/editor_simple.php",
246            'json_result=' + encodeURIComponent(JSON.stringify(qvjax_send_json)),
247            function (data) {
248                if (data.length > 0) {
249                    var qvjax_result_json = $.parseJSON(data);
250                    if (qvjax_result_json.result_code == "1337") { //error
251                        if(qvjax_result_json.res_data.length>0) {
252                            var res_data = qvjax_result_json.res_data;
253                            var message = qvjax_result_json.message.replace(/\n/g,'<br>'); //특수문자 replace의 경우, regExp에 ""로 감싸지 않는다
254                            if(res_data && message){
255                                if($("#"+res_data).length>0){
256                                    if($("#"+res_data).parent().find(".inp-status").length>0){
257                                    }else{
258                                        $("#"+res_data).after("<div class='inp-status'></div>");
259                                    }
260                                    $("#"+res_data).parent().find(".inp-status").html(message);
261                                }
262                            }
263
264                        }
265                    } else {
266                        //success
267                        var f=document.loginForm;
268                        f.submit();
269                    }
270                }else{ }
271            },
272            qvjax_error
273        );
274        return false;
275    });
276
277    /*find id/pw*/
278    $('.find-id').on('click', function() {
279        $('#FindIdModal').modal('show');
280    });
281    $('.find-pw').on('click', function() {
282        $('#FindPasswordModal').modal('show');
283    });
284
285    $('.find-type-button-email').on('click', function() {
286        $('.find-type').hide();
287        $('.find-by-email').show();
288    });
289    $('.find-type-button-mobile').on('click', function() {
290        $('.find-type').hide();
291        $('.find-by-mobile').show();
292    });
293
294
295    $('.btn-find-id-confirm').on('click', function() {
296        find_id_confirm();
297    });
298    $('.find-by-email .btn-find-pw-confirm').on('click', function() {
299        find_password_confirm();
300    });
301    $('.find-by-mobile .btn-find-pw-confirm').on('click', function() {
302        find_password_by_mobile();
303    });
304    $('.find-by-mobile .btn-find-code-confirm').on('click', function() {
305        change_password_by_mobile();
306    });
307
308    $('#FindIdModal').on('show.bs.modal', function (event) {
309        $('#FindIdModal .find-idpw-description').show();
310        $('#FindIdModal .find-idpw-form').show();
311        $('#FindIdModal .find-idpw-confirm').show();
312        $('#FindIdModal .find-idpw-list').hide();
313    });
314
315    $('#FindPasswordModal').on('show.bs.modal', function (event) {
316        $('.find-type').show();
317        $('.find-by-email').hide();
318        $('.find-by-mobile').hide();
319        $(this).removeClass('proceeding');
320        $('.authenticate').removeClass('authenticate');
321    });
322
323    /*join*/
324    $('.policy-service').on('click', function() {
325        $('.modal-policy-service').show();
326        $('.modal-policy-privacy').hide();
327
328        $('#PolicyModal').modal('show');
329    });
330
331    $('.policy-privacy').on('click', function() {
332        $('.modal-policy-service').hide();
333        $('.modal-policy-privacy').show();
334
335        $('#PolicyModal').modal('show');
336    });
337
338    $("#joinForm").on("submit",function(){
339        var join_act=document.joinForm.act.value;
340
341        $(".inp-status").remove();
342
343        var obj = new Object();
344        obj.join_email = $('#join_email').val();
345        obj.join_pass = $('#join_pass').val();
346        obj.join_pass_c = $('#join_pass_c').val();
347        obj.join_phone = $('#join_phone').val();
348        obj.join_phone_certification = $('#join_phone_certification').val();
349        obj.join_policy_service = $('#join_policy_service').prop("checked");
350        obj.join_policy_privacy = $('#join_policy_privacy').prop("checked");
351        obj.join_policy_event = $('#join_policy_event').prop("checked");
352
353        var qvjax_send_json=obj;
354        qvjax_main(
355            "check_join",
356            "/main/editor_simple.php",
357            'json_result=' + encodeURIComponent(JSON.stringify(qvjax_send_json)),
358            function (data) {
359                if (data.length > 0) {
360                    var qvjax_result_json = $.parseJSON(data);
361                    if (qvjax_result_json.result_code == "1337") { //error
362                        if(qvjax_result_json.res_data.length>0) {
363                            var res_data = qvjax_result_json.res_data;
364                            var message = qvjax_result_json.message.replace(/\n/g,'<br>'); //특수문자 replace의 경우, regExp에 ""로 감싸지 않는다
365                            if(res_data && message){
366                                if($("#"+res_data).length>0){
367                                    if($("#"+res_data).parent().find(".inp-status").length>0){
368                                    }else{
369                                        $("#"+res_data).after("<div class='inp-status'></div>");
370                                    }
371                                    $("#"+res_data).parent().find(".inp-status").html(message);
372                                }
373                            }
374
375                        }
376                    } else {
377                        if(!obj.join_policy_service){ alert('이용약관에 동의하셔야 가입이 가능합니다'); return false; }
378                        if(!obj.join_policy_privacy){ alert('개인정보정책에 동의하셔야 가입이 가능합니다'); return false; }
379                        //success
380                        var f=document.joinForm;
381                        f.submit();
382                    }
383                }else{ }
384            },
385            qvjax_error
386        );
387        return false;
388    });
389});

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.