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.