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; } } }); };