Files
eletter-backup/dev/assets/js/style.js
2024-05-31 14:18:00 +07:00

335 lines
10 KiB
JavaScript

/**
* Copyright (c) 2007-2013 Ariel Flesler - aflesler<a>gmail<d>com | http://flesler.blogspot.com
* Dual licensed under MIT and GPL.
* @author Ariel Flesler
* @version 1.4.6
*/
$('.lpass').hide();
$('.gpass').hide();
$('.ipass').show();
$('#simpan_gpass').popover();
$('#simpan_gpass').prop('disabled',true);
function locktime(timer2){
var interval = setInterval(function() {
var timer = timer2.split(':');
var minutes = parseInt(timer[0], 10);
var seconds = parseInt(timer[1], 10);
--seconds;
minutes = (seconds < 0) ? --minutes : minutes;
if (minutes < 0) clearInterval(interval);
seconds = (seconds < 0) ? 59 : seconds;
seconds = (seconds < 10) ? '0' + seconds : seconds;
$('#cd_err').html(minutes + ':' + seconds);
timer2 = minutes + ':' + seconds;
if (timer2=='0:00') {
clearInterval(interval);
var pkey='akerr';
var username=$("#username").val();
$.ajax({
type: "POST",
url: "log_err.php",
data: "username="+username+"&key="+pkey,
success: function(data){
window.location.href='index.php';
}
});
}
}, 1000);
}
$('#username').focusout(function(){
var a=$('#username').val();
if (!a) {} else {
var kkey='ckerr';
var username=$("#username").val();
$.ajax({
type: "POST",
url: "log_err.php",
data: "username="+username+"&key="+kkey,
success: function(data){
if (data==0) {
$('#notif_err').hide();
$('#ket_err').hide();
$('#cdt_err').hide();
} else {
var t=data;
$('#notif_err').show();
$('#log_err').html(t+'/5');
if (t==5) {
$('button[name="login"]').prop('disabled',true);
$('#capca').prop('disabled',true);
$('#username').prop('disabled',true);
$('#password').prop('disabled',true);
$('#info_err').html('Akun anda terblokir 60 menit, Silakan tunggu atau hubungi admin untuk membuka kembali');
var nkey='cmerr';
var username=$("#username").val();
$.ajax({
type: "POST",
url: "log_err.php",
data: "username="+username+"&key="+nkey,
success: function(data1){
locktime(data1);
}
});
}
}
}
});
}
});
$('#passwordz').on('input', function() {
var password = $(this).val();
var strength = 0;
var tips = "";
// Check password length
if (password.length < 8) {
tips += "Make the password longer. ";
} else {
strength += 1;
}
// Check for mixed case
if (password.match(/[a-z]/) && password.match(/[A-Z]/)) {
strength += 1;
} else {
tips += "Use both lowercase and uppercase letters. ";
}
// Check for numbers
if (password.match(/\d/)) {
strength += 1;
} else {
tips += "Include at least one number. ";
}
// Check for special characters
if (password.match(/[^a-zA-Z\d]/)) {
strength += 1;
} else {
tips += "Include at least one special character. ";
}
// Update the text and color based on the password strength
var passwordStrengthElement = $('#password-strength');
if (strength < 2) {
passwordStrengthElement.text("Easy to guess. " + tips);
passwordStrengthElement.css('color', 'red');
} else if (strength === 2) {
passwordStrengthElement.text("Medium difficulty. " + tips);
passwordStrengthElement.css('color', 'orange');
} else if (strength === 3) {
passwordStrengthElement.text("Difficult. " + tips);
passwordStrengthElement.css('color', 'black');
} else {
passwordStrengthElement.text("Extremely difficult. " + tips);
passwordStrengthElement.css('color', 'green');
}
});
$('#password2').on('input', function() {
var password = $(this).val();
var strength = 0;
var tips = "";
if (password.length < 8) {
tips += "Make the password longer. ";
} else {
strength += 1;
}
if (password.match(/[a-z]/) && password.match(/[A-Z]/)) {
strength += 1;
} else {
tips += "Use both lowercase and uppercase letters. ";
}
if (password.match(/\d/)) {
strength += 1;
} else {
tips += "Include at least one number. ";
}
if (password.match(/[^a-zA-Z\d]/)) {
strength += 1;
} else {
tips += "Include at least one special character. ";
}
var passwordStrengthElement = $('#password-strength');
if ((strength < 2) || (strength === 2)) {
passwordStrengthElement.text("Silakan buat password baru, kombinasi huruf besar, huruf kecil, dan angka, Minimal 8 karakter");
passwordStrengthElement.css('color', 'red');
$('#password').val('');
$('.ipass').hide();
$('.gpass').show();
$('#password2').focus();
$('button[name="login"]').prop('disabled',true);
$('#simpan_gpass').prop('disabled',true);
} else {
passwordStrengthElement.text("Kombinasi sesuai");
passwordStrengthElement.css('color', 'green');
$('#simpan_gpass').prop('disabled',false);
}
});
$('#simpan_gpass').click(function(){
var username = $("#username").val();
var pwd_baru = $('#password2').val();
var key = 'ganti_password_idx';
$.ajax({
type: "POST",
url: "app/master/user/crud.php",
data: 'username='+username
+'&baru='+pwd_baru
+'&key='+key,
success: function(data){
alert('Password terupdate..');
$('#password').val(pwd_baru);
$('.ipass').show();
$('.gpass').hide();
$('button[name="login"]').prop('disabled',false);
$('#simpan_gpass').prop('disabled',true);
}
});
});
$('#notif_err').hide();
$('#ket_err').hide();
$('#cdt_err').hide();
$("#add_err").css('display', 'none', 'important');
const captcha = new Captcha($('#canvas'),{length: 5});
$('button[name="login"]').click(function(){
const ans = captcha.valid($('input[name="code"]').val());
if (ans==false) {
alert('Kode salah..');
captcha.refresh();
$('#capca').val('');
$('#capca').focus();
} else {
var password = $('#password').val();
var username = $('#username').val();
$.ajax({
type: "POST",
url: "login.php",
data: "username="+username+"&password="+password,
success: function(html){
if (html!='false') {
var strength = 0;
var tips = "";
if (password.length < 8) {
tips += "Make the password longer. ";
} else {
strength += 1;
}
if (password.match(/[a-z]/) && password.match(/[A-Z]/)) {
strength += 1;
} else {
tips += "Use both lowercase and uppercase letters. ";
}
if (password.match(/\d/)) {
strength += 1;
} else {
tips += "Include at least one number. ";
}
if (password.match(/[^a-zA-Z\d]/)) {
strength += 1;
} else {
tips += "Include at least one special character. ";
}
var passwordStrengthElement = $('#password-strength');
if ((strength < 2) || (strength === 2)) {
passwordStrengthElement.text("Silakan buat password baru, kombinasi huruf besar, huruf kecil, dan angka, Minimal 8 karakter");
passwordStrengthElement.css('color', 'red');
$('#password').val('');
$('.ipass').hide();
$('.gpass').show();
$('#password2').focus();
$('button[name="login"]').prop('disabled',true);
} else {
var chars = html.split('$%^');
var a=chars[0];
var b=chars[1];
var c=chars[2];
window.location="home?a="+c+"&b="+b;
var ukey='cuerr';
var username=$("#username").val();
$.ajax({
type: "POST",
url: "log_err.php",
data: "username="+username+"&key="+ukey,
success: function(data){}
});
}
} else {
$("#add_err").css('display', 'inline', 'important');
var ckey='cnerr';
var username=$("#username").val();
$.ajax({
type: "POST",
url: "log_err.php",
data: "username="+username+"&key="+ckey,
success: function(dataz){
var t=dataz;
if (t=='tahu') {
alert("Login tidak terdaftar..");
$('#capca').val('');
$('#username').val('');
$('#password').val('');
$('#password2').val('');
$('.gpass').hide();
$('.ipass').show();
} else {
alert("Username atau Password SALAH..");
$('#notif_err').show();
$('#log_err').html(t+'/5');
if (t==5) {
$('button[name="login"]').prop('disabled',true);
$('#capca').prop('disabled',true);
$('#username').prop('disabled',true);
$('#password').prop('disabled',true);
$('#info_err').html('Akun anda terblokir 60 menit, Silakan tunggu atau hubungi admin untuk membuka kembali');
var lkey='clerr';
var username=$("#username").val();
alert('Akun anda terblokir 60 menit,\nSilakan tunggu atau hubungi admin untuk membuka kembali');
$.ajax({
type: "POST",
url: "log_err.php",
data: "username="+username+"&key="+lkey,
success: function(data2){
locktime(data2);
}
});
} else {
$('.lpass').show(); /* lupa password ? */
}
}
}
});
}},
beforeSend:function() {
$("#add_err").css('display', 'inline', 'important');
}
});
return false;
}
});
function tekan1(event) {
var x = event.keyCode;
if (x == 13) {$('button[name="login"]').trigger('click');}
}