PageSourceSearch

https://www.creatorlink.net/js/uadmin.1776744583.js

js creatorlink.net collected 2026-10-01 11:28:20 UTC 21,165 bytes, 480 lines download raw bytes

1if(typeof LANG == 'undefined') var LANG = getLanguage();
2
3$(window).load(function(data) {
4	setLanguage(LANG);
5});
6
7$(function() {
8
9	$.uadmin = {
10		loginInit: function() {
11			var loginWrap = $('.login-wrap');
12
13			loginWrap.find('.form-group').each(function() {
14				$(this).removeClass('focus');
15				$(this).find('.error').remove();
16				$(this).find('input.form-control').val('');
17			});
18		},
19		loginKeyFunc: function() {
20			var loginWrap = $('.login-wrap');
21
22			loginModal.find('input.form-control').die().live({
23				focus:   function(e) { $(this).closest('.form-group').addClass('focus').siblings().removeClass('focus'); }, 
24				blur: 	 function(e) { $(this).closest('.form-group').removeClass('focus'); },
25				keydown: function(e) { if(e.keyCode == 13) $('#uadmLogin').click(); },
26				keyup: function(e) {
27					var groupEl = $(this).closest('.form-group'),
28						errorEL = $(this).next().next('.error');
29					if($(this).val().length > 0) errorEL.remove();
30				}
31			});
32		},
33
34		makeAddModalContent: function(sid,type) {
35			var addModal_html = '\
36				<div class="uadmin-wrap">\
37					<p class="uadmin-txt">' + $.lang[LANG]['uadmin.setup.add.' + type + '.description.1'] + '<span class="point">' + SID + '</span>' + $.lang[LANG]['uadmin.setup.add.' + type + '.description.2'] + '</p>\
38					<div class="input-group uadmin-m-3 cl-common-form-wrap">\
39						<div class="cl-common-form-group">\
40							<input type="text" class="add-uadmin-input" id="input-uadmin" name="add_uadmin" required="required" aria-describedby="basic-addon">\
41							<label for="input" id="basic-addon" class="cl-common-control-label add-uadmin-label">' + $.lang[LANG]['uadmin.setup.email'] + '</label>\
42						</div>\
43					</div>\
44					<div class="result"></div>\
45				</div>\
46			';
47
48			return addModal_html;
49		},
50		showAddModal: function(sid,type) {
51			if($('.flat-modal ._admin.add-modal').length > 0) return false;
52
53			var add_title = $.lang[LANG]['uadmin.setup.add.'+type+'.title'].toUpperCase(),
54				add_content = $.uadmin.makeAddModalContent(sid,type);
55
56			var uadminAddModal = $(this).showModalFlat(add_title, add_content, true, true, function(e) {
57
58				var regExp = /^[a-zA-Z0-9+-\_.]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$/i,
59					error_str = '',
60					input_uadmin = uadminAddModal.find('#input-uadmin'),
61					val = input_uadmin.val().trim();
62
63				if(val.length == 0) {
64					error_str = $.lang[LANG]['siteum.regexp.email.input'];
65				} else if(!regExp.test(val)) {
66					error_str = $.lang[LANG]['siteum.regexp.check.email'];
67				} 
68
69				if(error_str.length > 0) {
70					input_uadmin.focus();
71					if(uadminAddModal.find('.mng-error').length > 0) uadminAddModal.find('.mng-error').html(error_str);
72					else uadminAddModal.find('.uadmin-wrap').append('<span class="mng-error">'+error_str+'</span>');
73					return false;
74				} else {
75					uadminAddModal.find('.mng-error').remove();
76					val = val.toLowerCase();
77					input_uadmin.val(val);
78
79					$.ajax({
80						type: 'POST',
81						url: '/uadmin/setup/type/checkum',
82						data: { sid : sid, type : type, val : val, valid_type : VALIDTYPE },
83						dataType: 'json',
84						async: true,
85						success: function(data) {
86							if(typeof data.error != 'undefined' && data.error) {
87								if(data.error == 'none-data') {
88									uadminAddModal.modal('hide');
89									$.uadmin.showJoinModal(sid,type,data.data,val);
90								} else {
91									input_uadmin.focus();
92									if(uadminAddModal.find('.mng-error').length > 0) uadminAddModal.find('.mng-error').text(data.error).addClass('check');
93									else uadminAddModal.find('.uadmin-wrap').append('<span class="mng-error check">'+data.error+'</span>');
94								}
95								return false;
96							}
97							uadminAddModal.modal('hide');
98							$.uadmin.showAddCheckModal(sid,data.data);
99						}
100					});
101				}
102
103				
104			}, 'cancel', $.lang[LANG]['uadmin.setup.btn.send'], '_admin add-modal cl-cmmodal cl-s-btn w560 cl-p130 cl-p0', true, 
105			function(e) { /* console.log('closecallback'); */ },
106			function(e) { /* console.log('showcallback'); */
107				var addModal_id = uadminAddModal.attr('id');
108				$('#'+addModal_id).find('input.add-uadmin-input').focus();
109				$('#'+addModal_id).find('input.add-uadmin-input').die('keydown').live({
110					keydown: function(key) {
111						var regExp = /^[a-zA-Z0-9+-\_.]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$/i,
112							error_str = '',
113							val = $(this).val();
114
115						if(val.length == 0) {
116							error_str = $.lang[LANG]['siteum.regexp.email.input'];
117						} else if(!regExp.test(val)) {
118							error_str = $.lang[LANG]['siteum.regexp.check.email'];
119						} 
120
121						if(error_str.length > 0 ) $('#'+addModal_id).find('.mng-error:not(.check)').html(error_str).removeClass('check');
122						else $('#'+addModal_id).find('.mng-error:not(.check)').remove();
123
124						if(key.keyCode == 8 && $('#'+addModal_id).find('.mng-error.check').length>0)  $('#'+addModal_id).find('.mng-error.check').removeClass('check');
125						if(key.keyCode == 13) $('#'+addModal_id).find('.ok-button-dialog').click();
126					},
127				});
128
129				// $('#'+addModal_id).live('click', function(e) {
130				// 	if( $(e.target).attr('class') == 'modal modal-default fade in') $('#'+addModal_id).modal('hide');
131				// });
132
133			},
134			function(e) { /* console.log('hidecallback'); */ });
135		},
136		showAddCheckModal: function(sid,data) {
137
138			if($('.flat-modal ._admin.add-check-modal').length > 0) return false;
139			var check_title = $.lang[LANG]['uadmin.setup.add.'+data['type']+'.title'].toUpperCase(),
140				check_content = '\
141				<div class="uadmin-wrap">\
142					<p class="uadmin-txt">\
143						<span class="point">' + data['id'] + '</span>' +  $.lang[LANG]['uadmin.setup.add.check.'+data['type']+'.description.1'] + '\
144						<span class="point">' + sid + '</span>' + $.lang[LANG]['uadmin.setup.add.check.'+data['type']+'.description.2'] + '\
145					</p>\
146					<div class="input-group uadmin-m-3">\
147						<span class="input-group-addon" id="basic-addon">' + $.lang[LANG]['uadmin.setup.id'] + '</span>\
148						<input type="text" class="form-control" id="input-uadmin-id" aria-describedby="basic-addon" value="' + data['id'] + '" readonly />\
149					</div>\
150				</div>\
151				';
152
153			var uadminAddCheckModal = $(this).showModalFlat(check_title, check_content, true, true, function() {
154				
155				$.post('/uadmin/setup/type/insert', { sid : sid, val: JSON.stringify(data) }, function(result) {
156					if(typeof result.error != 'undefined' && result.error) {
157						alert(result.error);
158						return false;
159					}
160					uadminAddCheckModal.modal('hide');
161					location.reload();
162				});
163				
164			}, 'cancel', '', '_admin add-check-modal cl-cmmodal cl-s-btn w560 cl-p130 cl-p0');
165		},
166
167		makeJoinConditionsStr: function(sid,data) {
168			var collections_html = '',
169				regexObj = $.parseJSON(data['regex']),
170				c_idx = 3,
171				mt = 'mt-15';
172			$.each(data['collection'], function(field,o) {
173				c_idx++;
174
175				var name = (o['name']) ? o['name'] : $.lang[LANG]['manager.list.info.'+field],
176					regex_ex = ($.inArray(field, ['ex']) > -1 && !$.isEmptyObject(regexObj) && typeof regexObj[field] != 'undefined' && typeof regexObj[field]['ex'] != 'undefined') ? '<span class="mng-textinfo ex">' + regexObj[field]['ex'] + '</span>' : '';
177
178				var add_input = '\
179					<div class="input-group cl-common-form-wrap '+ mt +'">\
180						<div class="cl-common-form-group">\
181							<input type="text" class="form-control add-nonmem-uadmin-input" id="input-uadmin-'+field+'" data-type="'+field+'" aria-describedby="basic-addon'+c_idx+'" required="required" value=""/>\
182							<label for="input" id="basic-addon'+c_idx+'" class="cl-common-control-label add-nonmem-uadmin-label">' + name + '</label>\
183						</div>\
184					</div>\
185					' + regex_ex + '\
186				';
187				collections_html += add_input;
188				mt = (regex_ex != '') ? '' : 'mt-15';
189			});
190
191			return collections_html;
192		},
193		makeJoinModalContent: function(sid,type,join_data,email) {
194			var join_Required = $.uadmin.makeJoinConditionsStr(sid,join_data);
195			var joinModal_html = '\
196				<div class="uadmin-wrap" data-lang="'+LANG+'">\
197					<p class="uadmin-txt">\
198						' + $.lang[LANG]['uadmin.setup.join.'+type+'.description.1'] + '\
199						<span class="uadmin-email point">' + email + '</span>\
200						' + $.lang[LANG]['uadmin.setup.join.'+type+'.description.2'] + '\
201						<span class="point">' + sid + '</span>\
202						' + $.lang[LANG]['uadmin.setup.join.'+type+'.description.3'] + '\
203					</p>\
204					<div class="input-group uadmin-m-3 mt-30 mb-30">\
205						<span class="input-group-addon" id="basic-addon2">' + $.lang[LANG]['uadmin.setup.id'] + '</span>\
206						<input type="text" class="form-control" id="input-uadmin-id" data-type="id" aria-describedby="basic-addon2" value="' + email + '" readonly required="required"/>\
207					</div>\
208					<div class="input-group cl-common-form-wrap hide">\
209						<div class="cl-common-form-group">\
210							<input type="text" class="form-control hide" id="input-uadmin-email" data-type="email" aria-describedby="basic-addon1" value="' + email + '" required="required"/>\
211							<label for="input" id="basic-addon1" class="cl-common-control-label add-nonmem-uadmin-label hide">' + $.lang[LANG]['uadmin.setup.email'] + '</label>\
212						</div>\
213					</div>\
214					<div class="input-group cl-common-form-wrap">\
215						<div class="cl-common-form-group">\
216							<input type="password" class="form-control add-nonmem-uadmin-input" id="input-uadmin-password" data-type="password" aria-describedby="basic-addon3" required="required"/>\
217							<label for="input" id="basic-addon3" class="cl-common-control-label add-nonmem-uadmin-label">' + $.lang[LANG]['uadmin.setup.password'] + '</label>\
218						</div>\
219					</div>\
220					<span class="mng-textinfo ex">' + $.lang[LANG]['uadmin.setup.password.regex.ex'] + '</span>\
221					<div class="input-group cl-common-form-wrap mb-20">\
222						<div class="cl-common-form-group">\
223							<input type="password" class="form-control add-nonmem-uadmin-input" id="input-uadmin-password-check" data-type="password-check" aria-describedby="basic-addon4" required="required"/>\
224							<label for="input" id="basic-addon4" class="cl-common-control-label add-nonmem-uadmin-label">' + $.lang[LANG]['uadmin.setup.password-check'] + '</label>\
225						</div>\
226					</div>\
227					<span class="mng-textinfo mb-0"></span>\
228					' + join_Required + '\
229					<div class="result"></div>\
230				</div>\
231			';
232
233			return joinModal_html;
234		},
235		showJoinModal: function(sid,type,join_data,email) {
236			console.log('showJoinModal');
237			if($('.flat-modal ._admin.join-modal').length > 0) return false;
238			var regExp_obj = $.parseJSON(join_data['regex']);
239			var join_title = $.lang[LANG]['uadmin.setup.add.'+type+'.title'].toUpperCase(),
240				join_content = $.uadmin.makeJoinModalContent(sid,type,join_data,email);
241			var uadminJoinModal = $(this).showModalFlat(join_title, join_content, true, true, function(e) {
242
243				$('._admin.join-modal').find('.input-group').each(function(i) {
244					if($(this).find('.input-group-addon-hide').length > 0) return true;
245					var inputEL = $(this).find('.form-control'),
246						errorEL = $(this).next('.mng-error'),
247						input_type = inputEL.attr('data-type'),
248						val = inputEL.val(),
249						reg_type = (input_type == 'password-checked') ? 'password' : input_type,
250						error_str = '';
251
252					if(reg_type == 'id') return true;
253					if(!val || val.trim().length == 0) error_str = $.lang[LANG]['siteum.regexp.'+ input_type + '.input'];
254					else if(input_type == 'password-check' && $('#input-uadmin-password').val().trim().length > 0 && (val.trim() != $('#input-uadmin-password').val().trim()) ) error_str = $.lang[LANG]['uadmin.setup.password-check.regex'];
255					else if(checkEmojis(val)) error_str = $.lang[LANG]['config.unable.emoji'];
256					else if(typeof regExp_obj[reg_type] != 'undefined' && regExp_obj[reg_type] && 
257							typeof regExp_obj[reg_type]['pattern_all_special'] != 'undefined' && regExp_obj[reg_type]['pattern_all_special']) {
258						var reg = new RegExp(regExp_obj[reg_type]['pattern_all_special']);
259						if(!reg.test(val)) {
260							var reg_error = regExp_obj[reg_type]['error'];
261							error_str = (reg_error) ? reg_error : $.lang[LANG]['uadmin.setup.'+input_type+'.regex'];
262						}
263					}
264
265					if(error_str != '') {
266						if($('._admin.join-modal').find('.mng-error:not(.ex)').length == 0) inputEL.focus();
267						else $('._admin.join-modal').find('.mng-error').first().closest('.input-group').find('input').focus();
268
269						if(errorEL.length > 0) errorEL.html(error_str).removeClass('ex');
270						else $(this).after('<span class="mng-error">' + error_str + '</span>').removeClass('ex');
271					} else {
272						inputEL.parents('.input-group.cl-common-form-wrap').next('.mng-error').remove();
273					}
274				});
275
276				if($('._admin.join-modal').find('.mng-error').length > 0) { return false; }
277				else {
278					uadminJoinModal.find('.mng-error').remove();
279					var join_email = $('._admin.join-modal').find('input#input-uadmin-email').val().trim(),
280						join_id = $('._admin.join-modal').find('input#input-uadmin-id').val().trim(),
281						join_pw = $('._admin.join-modal').find('input#input-uadmin-password').val().trim(),
282						join_data = {
283							'email'	: join_email,
284							'id'	: join_id,
285							'password'	: hex_md5(join_pw),
286						};
287					if($('._admin.join-modal').find('input#input-uadmin-nick').length > 0) join_data['nick'] = $('._admin.join-modal').find('input#input-uadmin-nick').val().trim();
288					if($('._admin.join-modal').find('input#input-uadmin-name').length > 0) join_data['name'] = $('._admin.join-modal').find('input#input-uadmin-name').val().trim();
289					if($('._admin.join-modal').find('input#input-uadmin-tel').length > 0) join_data['tel'] = $('._admin.join-modal').find('input#input-uadmin-tel').val().trim();
290
291					$.ajax({
292						type: 'POST',
293						url: '/uadmin/setup/type/joinmember',
294						data: { sid : sid, val : JSON.stringify(join_data) },
295						dataType: 'json',
296						async: true,
297						success: function(data) {
298							if(typeof data.error != 'undefined' && data.error) {
299								$.each(data.error, function(key,str) {
300									if(uadminJoinModal.find('#input-uadmin-'+key).length >0) {
301										uadminJoinModal.find('#input-uadmin-'+key).focus();
302										uadminJoinModal.find('#input-uadmin-'+key).closest('.input-group').after('<span class="mng-error">' + str + '</span>');
303									} else { alert(str); }
304								});
305								return false;
306							}
307							uadminJoinModal.modal('hide');
308
309							var join_pw_show = join_pw.length / 2,
310								join_pw_str = join_pw.substr(0,join_pw_show);
311							for(var i=join_pw_show; i<join_pw.length; i++) {
312								join_pw_str += '*';
313							}
314
315							var join_result_data = {
316								email : join_email,
317								id : join_id,
318								pw : join_pw_str
319							};
320
321							setTimeout(function(){
322								$.uadmin.showJoinResultModal(sid,type,join_result_data);
323							},500);
324
325						}
326					});
327
328				}
329
330			}, 'cancel', $.lang[LANG]['uadmin.setup.join.btn.send'], 'cl-cmmodal cl-s-btn w560 cl-p130 cl-p0 _admin join-modal', true, 
331			function(e) { /* console.log('closecallback'); */ },
332			function(e) { /* console.log('showcallback'); */
333				var joinModal_id = uadminJoinModal.attr('id');
334				$('#'+joinModal_id).find('input#input-uadmin-password').focus();
335				$('#'+joinModal_id).find('input.add-nonmem-uadmin-input').die('keyup').live({
336					keyup: function(key) {
337						var errorEL = $(this).closest('.input-group').next('.mng-error'),
338							input_type = $(this).attr('data-type'),
339							val = $(this).val(),
340							reg_type = (input_type == 'password-checked') ? 'password' : input_type,
341							error_str = '';
342						if(val.length == 0) error_str = $.lang[LANG]['siteum.regexp.'+ input_type + '.input'];
343						else if(input_type == 'password-check' && $('#input-uadmin-password').val().trim().length > 0 && (val.trim() != $('#input-uadmin-password').val().trim()) ) error_str = $.lang[LANG]['uadmin.setup.password-check.regex'];
344						else if(typeof regExp_obj[reg_type] != 'undefined' && regExp_obj[reg_type] && 
345								typeof regExp_obj[reg_type]['pattern_all_special'] != 'undefined' && regExp_obj[reg_type]['pattern_all_special']) {
346							var reg = new RegExp(regExp_obj[reg_type]['pattern_all_special']);
347							if(!reg.test(val)) {
348								var reg_error = regExp_obj[reg_type]['error'];
349								error_str = (reg_error) ? reg_error : $.lang[LANG]['uadmin.setup.'+input_type+'.regex'];
350							}
351						}
352
353						if(error_str.length > 0) {
354							if(errorEL.length > 0) errorEL.html(error_str);
355							else $(this).closest('.input-group').after('<span class="mng-error">' + error_str + '</span>');
356						} else {
357							if(errorEL.length > 0) errorEL.remove();
358							else $(this).closest('.input-group').next('.mng-error').eq(0).remove();
359						}
360						//if(key.keyCode == 13) $('#'+joinModal_id).find('.ok-button-dialog').click();
361					},
362				});
363
364				$('#'+joinModal_id).live('click', function(e) {
365					if( $(e.target).attr('class') == 'modal modal-default fade in') $('#'+joinModal_id).modal('hide');
366				});
367
368			},
369			function(e) { /* console.log('hidecallback'); */ });
370		},
371		showJoinResultModal : function(sid,type,data) {
372			var join_result_title = $.lang[LANG]['uadmin.setup.add.'+type+'.title'].toUpperCase(),
373				join_result_content = '\
374								<div class="uadmin-wrap">\
375									<p class="uadmin-txt">\
376										<span class="uadmin-email point">' + data['email'] + '</span>\
377										' + $.lang[LANG]['uadmin.setup.join.result.'+type+'.description'] + '<br>\
378										<div class="input-group uadmin-m-2">\
379											<span class="input-group-addon" id="basic-addon">' + $.lang[LANG]['uadmin.setup.id'] + '</span>\
380											<input type="text" class="form-control" id="input-uadmin-id" aria-describedby="basic-addon" value="' + data['id'] + '" readonly />\
381										</div>\
382										<div class="input-group">\
383											<span class="input-group-addon" id="basic-addon">' + $.lang[LANG]['uadmin.setup.password'] + '</span>\
384											<input type="text" class="form-control" id="input-uadmin-password" aria-describedby="basic-addon" value="' + data['pw'] + '" readonly />\
385										</div>\
386									</p>\
387								</div>\
388				';
389
390			var uadminJoinResultModal = $(this).showModalFlat(join_result_title, join_result_content, true, true, function() {
391				
392				$.post('/uadmin/setup/type/joinuadmin',{ sid : sid, uadmin_type : type,  val: JSON.stringify(data) }, function(result) {
393					if(typeof result.error != 'undefined' && result.error) {
394						alert(result.error);
395						return false;
396					}
397					uadminJoinResultModal.modal('hide');
398					location.reload();
399				});
400
401			}, 'cancel', $.lang[LANG]['uadmin.setup.join.uadmin.insert.btn'], '_admin join-result-modal cl-cmmodal cl-s-btn w560 cl-p130 cl-p0');
402
403		},
404
405	} /*uadmin end*/
406
407	$('.input-show-uadmin-password,.input-show-uadmin-password-check').die('click').live('click', function() {
408		$(this).toggleClass('active');
409		var checked = $(this).hasClass('active'),
410			this_target = $(this).attr('class').replace(/input-show/,'input').replace(/ active/,'');
411
412		if(checked) $(this).prev('#'+this_target).attr('type','text');
413		else $(this).prev('#'+this_target).attr('type','password');
414	});
415
416
417	$('#uadmLogin').die('click').live('click', function() {
418		var loginWrap = $('._admin .login-wrap'),
419			input_data = {};
420
421		loginWrap.find('.form-group').each(function(i) { 
422			var inputEL = $(this).find('input.form-control'),
423				errorEL = $(this).find('.error'),
424				field 	= inputEL.attr('id').trim().replace(/input-/,''),
425				val		= inputEL.val(),
426				error_str = (val.trim().length == 0) ? $.lang[LANG]['siteum.regexp.'+field+'.input'] : '';
427
428			if(error_str.length > 0 ) {
429				if(loginWrap.find('.error').length == 0) inputEL.focus();
430
431				if(errorEL.length > 0) errorEL.html(error_str);
432				else $(this).append('<span class="error">' + error_str + '</span>');
433			} else {
434				errorEL.remove();
435				if(field == 'id') val = val.toLowerCase();
436				if(field == 'password') val = hex_md5(val);
437				input_data[field] = val;
438			}
439		});
440		
441		if(loginWrap.find('.error').length == 0) {
442			var sid = loginWrap.attr('data-sid');
443			$.post('/_admin/login/in', { sid : sid, data : JSON.stringify(input_data) }, function(data) {
444				if(typeof data.error != 'undefined' && data.error) {
445					$.each(data.error, function(key,str) {
446						if(loginWrap.find('#input-'+key).length > 0 ) {
447							loginWrap.find('#input-'+key).closest('.form-group').append('<span class="error">' + str + '</span>');
448						} else { alert(str,'/'); return false; }
449					});
450					if(loginWrap.find('.error').length > 0) return false;
451				}
452
453				if(typeof data.ss_url != "undefined" && data.ss_url) {
454					$.each(data.ss_url, function(i,url) {
455						$('body').append('<img class="auth-img" src="' + url + '">');
456					});
457				}
458
459				setTimeout(function() {
460					$.uadmin.loginInit();
461
462					if(data.member.check_login && (data.member.check_adm || data.member.check_uadm)) {
463						var	host_url = (SERVICE.indexOf('gabia') > -1) ? '//creatorlink-gabia.com' : '//creatorlink.net',
464							replace_url = (data.member.check_adm || data.member.check_easylogin) ? host_url + '/dashboard' : '/_admin/dashboard';
465
466						location.replace(replace_url);
467
468					} else {
469						location.replace('/');
470					}
471				}, 1300);
472
473			},'json');
474
475		}
476
477	});
478
479
480});

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.