window.ARSHEET = window.ARSHEET || {};
window.IRIS = window.IRIS || {};
IRIS.login = function (automatic) {
if (!automatic) {
timeoutCount = 0;
}
var type = $('#type').val();
if (!$('#email').val().trim()) {
if (type === 'clerks') {
myAlert('لطفا نام کاربري خود را وارد نماييد');
} else {
myAlert('لطفا کد ملي خود را وارد نماييد');
}
$('#email').focus();
return false;
}
if (!$('#password').val().trim() && true) {
if (type === 'faculties' || type === 'clerks') {
myAlert('لطفا کلمه عبور خود را وارد نماييد');
} else {
myAlert('لطفا پين (عددي) که با پيامک دريافت نموده ايد وارد نماييد');
}
$('#password').focus();
return false;
}
clearLoginResult();
IRIS.loginAjax();
};
IRIS.loginAjax = function (captcha, pin) {
var type = $('#type').val();
var md5ed = ARSHEET.myHasher($('#password').val());
md5ed = rand + md5ed + rand;
md5ed = ARSHEET.myHasher(md5ed);
var data = 'email=' + $('#email').val().trim() + '&md5password=' + md5ed + '&rand=' + rand + '&type=' + type;
if (captcha) {
data += '&captcha_id=' + captcha.id + '&captcha_value=' + captcha.value;
} else if (pin) {
data += '&challenge_pin=' + pin;
}
formBusy(true);
$.ajax({
url: '/Login.php',
method: 'POST',
data: data,
cache: false,
success: function (data) {
data = JSON.parse(data);
if (data.error) {
formBusy(false);
// using the new rand for next request
rand = data.rand;
var $result = $('#js-login-result');
if (data.error === 'NEED_CAPTCHA') {
var renewCaptcha = function () {
ARSHEET.renewCaptcha('img_captcha', 'code_captcha');
};
data.captcha.path = 'temp/' + data.captcha.filename + '.png';
$.captcha(data.captcha, renewCaptcha, function (err, captcha) {
if (!captcha) {
return;
}
IRIS.loginAjax(captcha);
}, 'fa');
} else if (data.error === 'NEED_PIN') {
$.prompt('لطفا پين (عدد چند رقمي) که با پيامک به شماره همراه شما ارسال شده است وارد فرماييد.' + '
' + '' + 'نکته: پين ارسال شده بعد از ' + NUni('0') + ' ثانيه منقضي ميشود.' + '', function (pin) {
pin = UNumber(pin)
if (!pin) {
ARSHEET.alert('لطفا پين صحيح وارد نماييد (يک عدد چند رقمي)! لطفا مجددا تلاش فرماييد.');
return;
}
IRIS.loginAjax(null, pin);
}, 'Two-Factor Authentication');
} else if (data.error === 'BAD_CAPTCHA') {
$result.html(' کد بصري صحيح نبود! لطفا مجددا تلاش نماييد. !');
$result.slideDown();
} else if (data.error === 'BAD_LOGIN_FACULTY') {
$result.html(' کد ملي يا کلمه عبور اشتباه است!');
$result.slideDown();
} else if (data.error === 'BAD_LOGIN') {
$result.html(' نام کاربري يا کلمه عبور اشتباه است!');
$result.slideDown();
} else if (data.error === 'REPLAY_ATTACK') {
$result.html(' به دلايل امنيتي لازم است دوباره وارد سايت شويد!');
$result.slideDown();
} else if (data.error === 'BAD_EMAIL') {
$result.html(' لطفا همان ايميل ذکر شده در پيامک را وارد نماييد.');
$result.slideDown();
} else if (data.error === 'BAD_PIN') {
$result.html(' پين صحيح نيست! لطفا مجددا اقدام فرماييد.');
$result.slideDown();
} else if (data.error === 'PIN_EXPIRED') {
$result.html(' پين وارد شده منقضي شده است! لطفا مجددا اقدام فرماييد.');
$result.slideDown();
} else if (data.error === 'OLD_PIN') {
$result.html(' پين قديمي است! پين دريافتي با آخرين پيامک وارد شود.');
$result.slideDown();
} else if (data.error === 'DISABLED') {
$result.html(' حساب کاربري شما توسط مدير سامانه غير فعال شده است.');
$result.slideDown();
} else if (data.error === 'LIMITED') {
$result.html(' حساب کاربري شما توسط مدير سامانه موقتا غير فعال شده است.');
$result.slideDown();
} else if (data.error === 'TOO_MANY_FAILED') {
$result.html(' به علت تلاش ناموفق مکرر امکان ورود تا ' + ARSHEET.Time.farsiTime(data.wait * 1000) + ' وجود ندارد.');
$result.slideDown();
} else if (data.error === 'ACCOUNT_HASH_FAILED') {
$result.html(' مشخصات امنيتي حساب کاربري ناسازگار است. لطفا با ادمين ' + 'تماس' + ' بگيريد. ');
$result.slideDown();
} else {
switch (data.error) {
case 'BAD_REQUEST' : myAlert('سرور درخواست را اشتباه دريافت کرد. لطفا مجددا اقدام نماييد و اگر خطا باقي ماند با مدير سايت تماس حاصل فرماييد.'); break;
case 'BAD_TYPE' : myAlert('سرور درخواست را اشتباه دريافت کرد. لطفا مجددا اقدام نماييد و اگر خطا باقي ماند با مدير سايت تماس حاصل فرماييد.'); break;
case 'JAVASCRIPT' : myAlert('به نظر ميرسد يک مشکل عمده در مرورگر شما وجود دارد و به دلايلي جاوا اسکريپت (JavaScript) غير فعال شده است. بدين ترتيب امکان انتقال امن کلمه عبور وجود ندارد. لطفاً مشکل مرورگر خود را حل نماييد و مجددا اقدام فرماييد. احتمالا استفاده از يک مرورگر يا رايانه ديگر نيز مشکل را برطرف ميسازد. به عنوان مثال اگر هم اکنون از IE استفاده مينماييد مرورگر فايرفاکس را نصب و استفاده نماييد و بالعکس.'); break;
}
}
} else {
window.location = data.next;
}
},
error: function(jqXHR, textStatus, errorThrown){
formBusy(false);
switch (textStatus) {
case 'timeout':
if (timeoutCount < 3) {
timeoutCount++;
IRIS.login(true);
} else {
myAlert('نتوانستم تا سرور تماس حاصل کنم. لطفا مجددا تلاش فرماييد');
}
break;
case 'error': myAlert('هنگام تماس با سرور خطاي زير رخ داد: \n\n' + errorThrown + '\n\n' + 'لطفا اگر خطا گويا نيست با مدير سايت تماس حاصل نماييد.' ); break;
case 'abort': break;
case 'parsererror': break;
}
}
});
};