77 $FORM_VALIDATION_ERROR =
"";
86 HCU_ImportVars( $inputVars,
"", $varOk );
88 $userEmail = FILTER_INPUT(INPUT_POST,
'val_email', FILTER_SANITIZE_EMAIL);
89 $cuserEmail = FILTER_INPUT(INPUT_POST,
'val_cemail', FILTER_SANITIZE_EMAIL);
90 $userSSN = FILTER_INPUT(INPUT_POST,
'val_ssn',FILTER_SANITIZE_STRING);
91 $userDOB = FILTER_INPUT(INPUT_POST,
'val_dob',FILTER_SANITIZE_STRING);
92 $userPhone = FILTER_INPUT(INPUT_POST,
'val_phone',FILTER_SANITIZE_STRING);
93 $form_hbuser = FILTER_INPUT(INPUT_POST,
'hbusername',FILTER_SANITIZE_STRING);
102 if(isset($_POST[
'applogin']) || ($miruser_cookie_user && $DMSAPP_CURRENTUSERID > 0)) {
106 if (isset($form_hbuser) || $DMSAPP_CURRENTUSERID > 0 ) {
108 if (isset($form_hbuser) && trim($form_hbuser) !==
'') {
111 FROM {$DB_TABLE_PREFIX}user 112 WHERE cu = '$DMSAPP_CURRENTCUCODE' 113 AND userlogintype = 'N' 114 AND session_account = '" . save_text($form_hbuser, 12) .
"' ";
115 $user_rs = db_query($sql, $dbh);
116 $user_row = db_fetch_assoc($user_rs);
121 if ( $DMSAPP_FETCHMIR ) {
123 $sql =
"INSERT INTO {$DB_TABLE_PREFIX}user 124 (email, cu, failedloginattempts, challenge_quest_id, userlogintype, session_account, confidenceword) 126 ('', '$DMSAPP_CURRENTCUCODE', 0, -1, 'N', '" . save_text($form_hbuser, 12) .
"', '');";
127 $sth = db_query($sql,$dbh);
131 FROM {$DB_TABLE_PREFIX}user 132 WHERE cu = '$DMSAPP_CURRENTCUCODE' 133 AND userlogintype = 'N' 134 AND session_account = '" . save_text($form_hbuser, 12) .
"' ";
135 $user_rs = db_query($sql, $dbh);
136 $user_row = db_fetch_assoc($user_rs);
140 header(
"Location: {$self}f=intro&status=10");
145 if ( $DMSAPP_LOGINTYPE == DMSAPP_CONST_MIR_LOGIN ) {
148 FROM {$DB_TABLE_PREFIX}user 149 WHERE cu = '$DMSAPP_CURRENTCUCODE' 150 AND userid = '" . intval($DMSAPP_CURRENTUSERID) .
"' ";
151 $user_rs = db_query($sql, $dbh);
152 $user_row = db_fetch_assoc($user_rs);
155 header(
"Location: {$self}f=intro&status=999");
162 header(
"Location: {$self}f=intro&status=999");
170 if ( !$user_row[
"pwd"] || !$user_row[
"email"] ) {
171 $FORM_SHOW =
"validate";
174 if (intval($user_row[
'failedloginattempts']) >= $DMSAPP_FAILEDLOGINATTEMPTS) {
175 header(
"Location: {$self}f=intro&status=8");
180 $l_device_cookie_name = ReturnDeviceCookieName($DMSAPP_CURRENTCUCODE, DMSAPP_CONST_MIR_LOGIN, trim($user_row[
'email']), $user_row[
'userid']);
182 $l_CookieVal = sha1($DMSAPP_SECRET_KEY . trim($user_row[
'pwd']) . trim($user_row[
'email']) . trim($user_row[
'confidenceword']) . trim($user_row[
'session_account']));
184 if (isset($_COOKIE[$l_device_cookie_name]) && ($l_CookieVal == $_COOKIE[$l_device_cookie_name])) {
186 $FORM_SHOW =
"passwd";
189 $FORM_SHOW =
"challenge";
192 $member = $user_row[
"session_account"];
193 $mem_email = $user_row[
"email"];
197 if ($user_row[
'challenge_quest_id'] > 0) {
198 $select_questid = $user_row[
'challenge_quest_id'];
204 $sql =
"SELECT u_qs.* 205 FROM lnappuser_questselect as u_qs 206 JOIN {$DB_TABLE_PREFIX}user as u on u.userid = u_qs.userid 207 WHERE u.userid = " . intval($user_row[
'userid']) .
" 208 ORDER BY RANDOM() LIMIT 1";
209 $qst_rs = db_query($sql, $dbh);
210 $qst_row = db_fetch_array($qst_rs);
212 $select_questid = $qst_row[
'questid'];
214 if (intval($select_questid) == 0) {
216 $FORM_SHOW =
"passwd";
219 $sql =
"UPDATE {$DB_TABLE_PREFIX}user 220 SET challenge_quest_id = " . intval($select_questid) .
" 221 WHERE userid = " . intval($user_row[
'userid']);
223 if (!$upd_rs = db_query($sql, $dbh)) {
225 header(
"Location: {$self}f=intro&status=999");
234 header(
"Location: {$self}status=4&o=2");
237 } elseif (isset($_POST[
'mirconfchallenge'])) {
241 $postUsername = $form_hbuser;
247 FROM {$DB_TABLE_PREFIX}user 248 WHERE cu = '{$DMSAPP_CURRENTCUCODE}' 249 AND userlogintype = 'N' 250 AND session_account = '" . save_text($postUsername, 12) .
"' ";
251 $user_rs = db_query($sql, $dbh);
253 if ($user_row = db_fetch_assoc($user_rs)) {
257 FROM lnappuser_questselect 258 WHERE userid = {$user_row["userid
"]} 259 AND questid = " . intval($user_row[
'challenge_quest_id']) .
" ";
261 $qst_rs = db_query($sql, $dbh);
262 $qst_row = db_fetch_assoc($qst_rs);
264 if (strtolower(trim($_POST[
'chg_resp'])) == strtolower(trim($qst_row[
'user_answer'])) && strtolower(trim($qst_row[
'user_answer'])) !=
'') {
266 $sql =
"UPDATE {$DB_TABLE_PREFIX}user 267 SET challenge_quest_id = -1 268 WHERE userid = " . intval($user_row[
'userid']) .
" ";
269 $exec_rs = db_query($sql, $dbh);
272 $user_device_cookiename = ReturnDeviceCookieName($DMSAPP_CURRENTCUCODE, DMSAPP_CONST_MIR_LOGIN, trim($user_row[
'email']), $user_row[
'userid']);
274 $setCookieVal = sha1($DMSAPP_SECRET_KEY . trim($user_row[
'pwd']) . trim($user_row[
'email']) . trim($user_row[
'confidenceword']) . trim($user_row[
'session_account']));
276 $pSessionCookie = $_POST[
"chksecure"] !=
"Y";
278 SetLnappDeviceCookie($HB_ENV, $user_device_cookiename, $setCookieVal, $pSessionCookie);
280 $FORM_SHOW =
"passwd";
283 $sql =
"UPDATE {$DB_TABLE_PREFIX}user 284 SET failedloginattempts = failedloginattempts + 1 285 WHERE userid = {$user_row["userid
"]}";
287 if (!$exec_rs = db_query($sql, $dbh)) {
289 header(
"Location: {$self}status=999");
293 header(
"Location: {$self}status=5");
298 header(
"Location: {$self}status=999");
301 } elseif (isset($_POST[
'hbvalidate'])) {
305 if ( $DMSAPP_FETCHMIR ) {
309 if ($_POST[
'val_pwd'] <> $_POST[
'val_conf']) {
311 $mpmsg .=
" The new passwords do not match<br>";
314 $passwordNew = $_POST[
'val_pwd'];
315 $passwordConf = $_POST[
'val_conf'];
317 if (key_exists(
"configPassword", $configOptions)) {
318 $pwdRules = json_decode($configOptions[
'configPassword'],
true);
320 $pwdRules[
"len"] = 8;
321 $pwdRules[
"upper"] = 1;
322 $pwdRules[
"lower"] = 1;
323 $pwdRules[
"spec"] = 0;
324 $pwdRules[
"digit"] = 1;
327 if ( strlen($passwordNew) < $pwdRules[
"len"] ) {
328 $mpmsg .=
" Password is too short<br>";
330 if ( strlen($passwordNew) > 20 ) {
331 $mpmsg .=
" Password is too long<br>";
334 $numUpperCharCount = 0;
335 $numLowerCharCount = 0;
336 $numSpecialCharCount = 0;
337 $passSpecial = Get_PwdSpecialCharacters();
338 $notAllowedCount = 0;
339 for ( $i = 0; $i < strlen( $passwordNew ); $i++ )
341 $ch = substr( $passwordNew, $i, 1 );
342 if ($ch >=
'0' && $ch <=
'9') { $numDigitCount++; }
343 else if ($ch >=
'A' && $ch <=
'Z') { $numUpperCharCount++; }
344 else if ($ch >=
'a' && $ch <=
'z') { $numLowerCharCount++; }
345 else if ( $ch !=
',' && strpos( $passSpecial, $ch ) >= 0 ) { $numSpecialCharCount++; }
346 else { $notAllowedCount++; }
348 if ( $pwdRules[
"upper"] > 0 && $numUpperCharCount < $pwdRules[
"upper"] )
350 $plural = $pwdRules[
"upper"] > 1 ?
's' :
'';
351 $mpmsg .=
" Need at least {$pwdRules["upper
"]} UPPER CASE letter$plural<br>";
353 if ( $pwdRules[
"lower"] > 0 && $numLowerCharCount < $pwdRules[
"lower"] )
355 $plural = $pwdRules[
"lower"] > 1 ?
's' :
'';
356 $mpmsg .=
" Need at least {$pwdRules["lower
"]} lower case letter$plural<br>";
358 if ( $pwdRules[
"spec"] > 0 && $numSpecialCharCount < $pwdRules[
"spec"] )
360 $plural = $pwdRules[
"spec"] > 1 ?
's' :
'';
361 $mbmsg .=
" Need at least {$pwdRules["spec
"]} special character$plural<br>";
363 if ( $pwdRules[
"digit"] > 0 && $numDigitCount < $pwdRules[
"digit"] )
365 $plural = $pwdRules[
"digit"] > 1 ?
's' :
'';
366 $mpmsg .=
" Need at least {$pwdRules["digit
"]} digit$plural<br>";
369 if ( $mpmsg ===
"" ) {
374 if (trim($userEmail) <> trim($cuserEmail)) {
376 $mpmsg .=
" The emails do not match<br>";
379 if (trim($form_hbuser) ==
"") {
380 $msg .=
" Member number missing<br>";
381 }
else if (!is_numeric($form_hbuser)) {
382 $msg .=
" Invalid member number <br>";
384 $member = $form_hbuser;
387 if (trim($userEmail) ==
"") {
388 $msg .=
" Email missing <br>";
389 }
else if (!validateEmail($userEmail)) {
390 $msg .=
" Email appears invalid <br>";
393 if (trim($userSSN) ==
"") {
394 $msg .=
" Member last four SSN missing<br>";
395 }
else if (!is_numeric($userSSN)) {
396 $msg .=
" Invalid member SSN number <br>";
399 if (trim($userDOB) ==
"") {
400 $msg .=
" Member date of birth missing<br>";
402 $parts = explode(
"/", $userDOB);
403 if (count($parts) != 3 || !is_numeric($parts[0]) || !is_numeric($parts[1]) || !is_numeric($parts[2]) ) {
404 $msg .=
" Invalid member date of birth <br>";
408 if (trim($userPhone) ==
"") {
409 $msg .=
" Member phone missing<br>";
411 $parts = explode(
"-", $userPhone);
412 if (count($parts) != 3 || !is_numeric($parts[0]) || !is_numeric($parts[1]) || !is_numeric($parts[2]) ) {
413 $msg .=
" Invalid member phone number <br>";
421 'type' =>
'PACKET_REQUEST_MIR' 424 $MIR = GetMemberInfo($HB_ENV, $memberData);
425 $statcode = $MIR[
"code"];
427 if ($statcode ==
'000') {
428 # if response is 000, enter a partial entry into the lnappuser table 429 $sql1 =
"select * from {$DB_TABLE_PREFIX}user 430 where cu='{$DMSAPP_CURRENTCUCODE}' and session_account ='$member'";
431 $sth = db_query($sql1,$dbh);
433 if ( db_num_rows($sth) == 0 ) {
434 $sql =
"INSERT INTO {$DB_TABLE_PREFIX}user 435 (email, cu, failedloginattempts, challenge_quest_id, userlogintype, session_account, confidenceword) 437 ('" . save_text($userEmail, 50) .
"', '$DMSAPP_CURRENTCUCODE', 0, -1, 438 'N', '" . save_text($member, 12) .
"', '');";
439 $sth = db_query($sql,$dbh);
441 db_free_result($sth);
443 # something went wrong trying to update the database 444 $msg .=
" Error Occurred updating settings.<br>";
445 # should fall through to initial screen w/ message showing 454 $testSSN = substr( $MIR[
"data"][
"ssn"], -4 );
455 if ( $validTests && $testSSN != $userSSN ) {
457 $validMsg =
'SSN does not match.';
463 if ( preg_match(
"/^\\d{2}[-\/]\\d{2}[-\/]\\d{4}$/", $MIR[
"data"][
"dob"] ) ) {
465 $testDateParts = explode(
"/", $MIR[
"data"][
"dob"]);
466 $testDate = $testDateParts[0] . $testDateParts[1] . $testDateParts[2];
472 $testDOBParts = explode(
"/", $userDOB );
473 $testDOB = $testDOBParts[0] . $testDOBParts[1] . $testDOBParts[2];
474 if ( $validTests && $testDOB != $testDate ) {
476 $validMsg =
'DOB does not match.';
480 $validMsg =
'DOB is not valid.';
484 $testEmail = trim( $MIR[
"data"][
"email"] );
485 if ( $validTests && strcasecmp( $userEmail, $testEmail ) != 0 ) {
502 if ( strlen( $userPhone ) > 0 ) {
503 $testPhone_1 = preg_replace(
"/[^0-9]/",
'', $MIR[
"data"][
"homephone"]);
504 $testPhone = preg_replace(
"/[^0-9]/",
'', $userPhone);
506 if ( $testPhone_1 != $testPhone ) {
508 $testPhone_2 = preg_replace(
"/[^0-9]/",
'', $MIR[
"data"][
"cellphone"]);
509 if ( $testPhone_2 != $testPhone ) {
511 $validMsg =
'Phone number does not match.';
519 $sql1 =
"select * from {$DB_TABLE_PREFIX}user 520 where cu='{$DMSAPP_CURRENTCUCODE}' and session_account ='$member'";
521 $sth = db_query($sql1,$dbh);
525 $pwdCrypt = password_hash($passwordNew, PASSWORD_DEFAULT);
527 if ( db_num_rows($sth) == 0 ) {
528 $sql =
"INSERT INTO {$DB_TABLE_PREFIX}user 529 (email, pwd, cu, failedloginattempts, challenge_quest_id, userlogintype, session_account, confidenceword) 531 ('" . save_text($userEmail, 50) .
"', '$pwdCrypt', '$DMSAPP_CURRENTCUCODE', 0, -1, 532 'N', '" . save_text($member, 12) .
"', '');";
534 $sql =
"UPDATE {$DB_TABLE_PREFIX}user 535 SET failedloginattempts = 0, 536 email = '" . save_text($userEmail, 50) .
"', 538 WHERE session_account = '$member' ";
541 $sth = db_query($sql,$dbh);
543 db_free_result($sth);
546 $FORM_SHOW =
"set_challenge";
548 # something went wrong trying to update the database 549 $msg .=
"Error Occurred updating settings.<br>";
550 # should fall through to initial screen w/ message showing 552 $FORM_SHOW =
"validate";
555 $msg .=
" Authentication Failed: " . $validMsg .
"<br>";
557 $sql =
"UPDATE {$DB_TABLE_PREFIX}user 558 SET failedloginattempts = failedloginattempts + 1 559 WHERE userid = " . intval($member) .
" ";
560 $sth = db_query($sql,$dbh);
562 $FORM_VALIDATION_ERROR = $msg;
563 $FORM_SHOW =
"validate";
567 $msg .=
" Unable to activate account.<br>";
570 if ($statcode ==
'001') {
571 $msg .=
" Authentication Failed.<br>";
576 $FORM_VALIDATION_ERROR = $msg;
577 $FORM_SHOW =
"validate";
580 $FORM_VALIDATION_ERROR = $msg;
581 $FORM_SHOW =
"validate";
584 $FORM_VALIDATION_ERROR = $mpmsg;
585 $FORM_SHOW =
"validate";
589 header(
"Location: {$self}status=999");
593 } elseif (isset($_POST[
'mirconfpassword'])) {
596 FROM {$DB_TABLE_PREFIX}user 597 WHERE cu = '{$DMSAPP_CURRENTCUCODE}' 598 AND session_account = '" . save_text($form_hbuser, 12) .
"' ";
599 $user_rs = db_query($sql, $dbh);
601 if ($user_row = db_fetch_assoc($user_rs)) {
602 if ( $user_row[
"userlogintype"] ==
"N" ) {
604 $password = trim($_POST[
'hbloginpassword']);
605 $savepass = $user_row[
'pwd'];
607 if ($savepass == crypt($password, $savepass)) {
611 $sql =
"UPDATE {$DB_TABLE_PREFIX}user 612 SET failedloginattempts = 0 613 WHERE userid = " . intval($user_row[
'userid']) .
" ";
614 $exec_rs = db_query($sql, $dbh);
617 DMSAppSetCookie($HB_ENV, $user_row[
'userid'], DMSAPP_CONST_MIR_LOGIN);
620 if ( $user_row[
"confidenceword"] ==
"" ) {
622 $FORM_SHOW =
"set_challenge";
623 $member = $user_row[
"session_account"];
626 $sql =
"SELECT count(*) as count 627 FROM lnappuser_questselect 628 WHERE userid = " . intval($user_row[
'userid']);
629 $qst_rs = db_query($sql, $dbh);
630 $qst_row = db_fetch_assoc($qst_rs);
632 if ( !$qst_row[
"count"]) {
633 $FORM_SHOW =
"set_challenge";
634 $member = $user_row[
"session_account"];
636 header(
"Location: {$self}f=portal");
644 $sql =
"UPDATE {$DB_TABLE_PREFIX}user 645 SET failedloginattempts = failedloginattempts + 1 646 WHERE userid = " . intval($user_row[
'userid']) .
" ";
648 if (!$exec_rs = db_query($sql, $dbh)) {
650 header(
"Location: {$self}status=999");
654 header(
"Location: {$self}status=6");
660 header(
"Location: {$self}status=999");
665 header(
"Location: {$self}status=4&o=3");
670 if (isset($form_hbuser)) {
671 $form_hbuser = disp_text($form_hbuser);
672 } elseif (isset($hb_row)) {
677 $form_hbuser = disp_text(($hb_row[
'user_alias'] !=
'' ? $hb_row[
'user_alias'] : $hb_row[
'session_account']));
688 " . ($FORM_VALIDATION_ERROR !=
"" ?
"$('#summary-container').css('display', 'inline-block');" :
"") .
" 693 WHERE quest_lang = 'en_US' 694 AND quest_id = " . intval($select_questid) .
"; ";
695 $quest_rs = db_query($sql, $dbh);
696 $quest_row = db_fetch_assoc($quest_rs);
698 $challenge_quest_text = trim($quest_row[
'quest_text']);
700 print <<< challenge_form
701 <div
class=
"container-fluid">
703 <div
class=
"lnapp-form-section lnapp-summary-wrap col-xs-12 col-md-offset-3 col-md-6">
704 <div
id=
"summary-container" class=
"validity-summary-container errors" >
705 <div
class=
"alert alert-danger">
706 <p><em>You may not
continue. the following errors were encountered:</em></p>
708 $FORM_VALIDATION_ERROR
715 <form
id=
"app_settings" name=
"app_settings" action=
"{$self}f=miruser" method=
"post">
716 <input type=
"hidden" name=
"form_set" value=
"$form_code">
717 <input type=
"hidden" name=
"loginemail" value=
"$mem_email">
718 <input type=
"hidden" name=
"hbusername" value=
"$form_hbuser">
721 <div
class=
"col-xs-12 col-md-offset-3 col-md-6">
723 <div
class=
"alert alert-warning" role=
"alert">
724 <strong>We
do not recognize the device you are
using.</strong><br>
725 Please answer the question below to confirm your identity.
728 <div
class=
"panel panel-default">
729 <div
class=
"panel-heading">
730 <h2
class=
"panel-title">Challenge Question</h2>
732 <div
class=
"panel-body">
733 <div
class=
"form-horizontal">
734 <div
class=
"form-group">
735 <label
class=
'col-xs-12' for=
"chg_resp">$challenge_quest_text</label>
736 <div
class=
"col-xs-12">
737 <input
id=
"chg_resp" class=
"form-control" name=
"chg_resp" type=
"text" size=
"30" maxlength=
"100" class=
"text-input" />
741 <div
class=
"form-group">
742 <div
class=
"col-xs-12">
745 <input type=
'radio' id=
'chksecureY' name=
'chksecure' value=
'Y' checked/>
751 For your convenience, we will not require additional authentication when you log in from
this device.
752 We may occasionally require additional authentication to make sure you still want the system to recognize
this device.
757 <div
class=
"col-xs-12">
760 <input type=
'radio' id=
'chksecureN' name=
'chksecure' value=
'N' />
761 No,
do not remember it
766 We will
continue to require additional authentication whenever you log in from
this device.
778 <div
class=
"col-xs-12 col-md-offset-3 col-md-6">
780 <input type=
"hidden" name=
"mirconfchallenge" value=
"Confirm Answer">
781 <a
class=
"k-button k-primary" href=
"#" id=
'linkFormPost' label=
'Submit'><span>Confirm Answer</span></a>
789 <script type=
"text/javascript">
790 $(document).ready(
function() {
792 \$(
'#app_settings').bind(
"keydown",
function(event) {
794 var keycode = (
event.keyCode ?
event.keyCode : (
event.which ?
event.which :
event.charCode));
797 \$(
'#app_settings').submit();
804 \$(
'#linkFormPost').click(
function() {
805 \$(
"#app_settings").submit();
807 $(
'#chg_resp').focus();
821 if (key_exists(
"configPassword", $configOptions)) {
822 $pwdRules = json_decode($configOptions[
'configPassword'],
true);
824 $pwdRules[
"len"] = 8;
825 $pwdRules[
"upper"] = 1;
826 $pwdRules[
"lower"] = 1;
827 $pwdRules[
"spec"] = 0;
828 $pwdRules[
"digit"] = 1;
831 $passwordRequirements =
"";
832 $passwordRequirements .=
"• At least {$pwdRules["len
"]} characters<br>";
833 if ( $pwdRules[
"upper"] > 0 ) {
834 $plural = $pwdRules[
"upper"] > 1 ?
"s" :
"";
835 $passwordRequirements .=
"• At least {$pwdRules["upper
"]} UPPER CASE character$plural<br>";
837 if ( $pwdRules[
"lower"] > 0 ) {
838 $plural = $pwdRules[
"lower"] > 1 ?
"s" :
"";
839 $passwordRequirements .=
"• At least {$pwdRules["lower
"]} lower case character$plural<br>";
841 if ( $pwdRules[
"spec"] > 0 ) {
842 $specialCharList = Get_PwdSpecialCharacters();
843 $plural = $pwdRules[
"spec"] > 1 ?
"s" :
"";
844 $passwordRequirements .=
"• At least {$pwdRules["spec
"]} special character$plural ($specialCharList)<br>";
846 if ( $pwdRules[
"digit"] > 0 ) {
847 $plural = $pwdRules[
"digit"] > 1 ?
"s" :
"";
848 $passwordRequirements .=
"• At least {$pwdRules["digit
"]} digit$plural<br>";
851 print <<< validate_form
853 .alert {display:
inline-block; float:none}
854 .btn {display:
inline-block !important; min-width: 200px !important}
855 @media only screen and (max-width: 479px) {
857 width: -webkit-fill-available;
862 <div
class=
"container-fluid">
864 <div
class=
"lnapp-form-section lnapp-summary-wrap col-xs-12 col-md-offset-3 col-md-6">
865 <div
id=
"summary-container" class=
"validity-summary-container errors" >
866 <div
class=
"alert alert-danger">
867 <p><em>You may not
continue. the following errors were encountered:</em></p>
869 $FORM_VALIDATION_ERROR
876 <form
id=
"app_settings" name=
"app_settings" action=
"{$self}f=miruser" method=
"post">
877 <input type=
"hidden" name=
"form_set" value=
"$form_code">
878 <input type=
"hidden" name=
"hbusername" value=
"$form_hbuser">
881 <div
class=
"col-xs-12 col-md-offset-3 col-md-6">
882 <div
class=
"alert alert-warning" role=
"alert">
883 <strong>We have not found a record of you
using the loan application before.</strong><br>
884 Please confirm your identity by entering the information below.
887 <div
class=
"panel panel-default">
888 <div
class=
"panel-heading">
889 <h2
class=
"panel-title">Member Information</h2>
891 <div
class=
"panel-body">
892 <div
class=
"form-horizontal">
893 <div
class=
"form-group">
894 <label
class=
'col-xs-12' for=
"val_member">Member Account Number</label>
895 <div
class=
"col-xs-12">
896 <input
id=
"val_member" name=
"val_member" type=
"text" size=
"30" maxlength=
"100" class=
"form-control" value=
"$form_hbuser" disabled />
899 <div
class=
"form-group">
900 <label
class=
'col-xs-12' for=
"val_email">Email Address</label>
901 <div
class=
"col-xs-12">
902 <input
id=
"val_email" name=
"val_email" type=
"email" size=
"30" maxlength=
"100" class=
"form-control emails email k-textbox hcu-all-100" 903 value=
"{$userEmail}" />
906 <div
class=
"form-group">
907 <label
class=
'col-xs-12' for=
"val_cemail">Confirm Email Address</label>
908 <div
class=
"col-xs-12">
909 <input
id=
"val_cemail" name=
"val_cemail" type=
"email" size=
"30" maxlength=
"100" class=
"form-control emailconf emails k-textbox hcu-all-100" value=
"$cuserEmail" />
912 <div
class=
"form-group">
913 <label
class=
'col-xs-12' for=
"val_ssn">Last 4 of SSN</label>
914 <div
class=
"col-xs-12">
915 <input
id=
"val_ssn" name=
"val_ssn" type=
"text" size=
"30" maxlength=
"4" class=
"form-control k-textbox hcu-all-100" 916 value=
"{$userSSN}" />
919 <div
class=
"form-group">
920 <label
class=
'col-xs-12' for=
"val_dob">Birth Date</label>
921 <div
class=
"col-xs-12">
922 <input
id=
"val_dob" name=
"val_dob" type=
"text" size=
"30" maxlength=
"10" class=
"form-control k-textbox hcu-all-100" 923 value=
"{$userDOB}" placeholder=
"mm/dd/yyyy" />
926 <div
class=
"form-group">
927 <label
class=
'col-xs-12' for=
"val_phone">Home Phone</label>
928 <div
class=
"col-xs-12">
929 <input
id=
"val_phone" name=
"val_phone" type=
"tel" size=
"30" maxlength=
"12" class=
"form-control k-textbox hcu-all-100" 930 value=
"{$userPhone}" placeholder=
"555-555-5555" />
934 <div
class=
"col-xs-12 col-sm-6">
935 <div
class=
"form-group">
936 <label
class=
'col-xs-12' for=
"val_pwd">Password</label>
937 <div
class=
"col-xs-12">
938 <input
id=
"val_pwd" name=
"val_pwd" type=
"password" size=
"30" maxlength=
"20" class=
"form-control password passwords k-textbox hcu-all-100" value=
"" placeholder=
"Enter Password" />
941 <div
class=
"form-group">
942 <label
class=
'col-xs-12' for=
"val_conf">Confirm Password</label>
943 <div
class=
"col-xs-12">
944 <input
id=
"val_conf" name=
"val_conf" type=
"password" size=
"30" maxlength=
"20" class=
"form-control passwords passwordconf k-textbox hcu-all-100" value=
"" placeholder=
"Confirm Password" />
948 <div
class=
"col-xs-12 col-sm-6">
949 <div
class=
"alert alert-info">
950 <label
class=
'col-xs-12' for=
"pwdreq" 951 style=
"color:red;">Password Requirements</label>
952 <div
class=
"col-xs-12">
953 <span
id=
"pwdreq">$passwordRequirements</span>
959 <div
class=
"col-xs-12 col-sm-12">
960 <input type=
"hidden" name=
"hbvalidate" value=
"Submit">
961 <button
class=
"btn btn-primary" id=
"linkFormPost" type=
"submit">Confirm Membership</button>
962 <a
class=
"btn btn-primary" href=
"{$self}" role=
"button">Back</a>
968 <script type=
"text/javascript">
969 $(document).ready(
function() {
971 \$(
'#app_settings').bind(
"keydown",
function(event) {
973 var keycode = (
event.keyCode ?
event.keyCode : (
event.which ?
event.which :
event.charCode));
976 \$(
'#app_settings').submit();
984 $(
'#chg_resp').focus();
992 if ($FORM_VALIDATION_ERROR !=
'') {
993 print
"<script language='javascript'>$('#summary-container').css('display', 'inline-block');</script>";
997 case "set_challenge":
999 <form
id=
"newlogin" name=
"newlogin" method=
"post" action=
"<?php echo $self; ?>f=newmiruser">
1000 <input type=
"hidden" name=
"f" value=
"newmiruser">
1001 <input type=
"hidden" name=
"member" value=
"<?php echo $member ?>">
1003 <script type=
"text/javascript">
1004 $(document).ready(
function() {
1005 $(
'#newlogin').submit();
1014 $form_pwd_script =
" 1016 " . ($FORM_VALIDATION_ERROR !=
"" ?
"$('#summary-container').css('display', 'inline-block');" :
"") .
" 1019 if (isset($user_row[
"confidenceword"])) {
1020 $confWord =
"" . disp_text($user_row[
'confidenceword']);
1022 $confWord =
"<Not Set>";
1025 $print_confword =
"<label class='col-xs-12' for='chg_resp'>Confidence Word:</label><div class='col-xs-12'><input id='chg_resp' class='form-control' name='chg_resp' type='text' size='30' maxlength='100' class='text-input' value='$confWord' disabled/></div>";
1027 print <<< password_form
1029 <div
class=
"container-fluid">
1031 <div
class=
"lnapp-form-section lnapp-summary-wrap col-xs-12 col-md-offset-3 col-md-6">
1032 <div
id=
"summary-container" class=
"validity-summary-container errors" >
1033 <div
class=
"alert alert-danger">
1034 <p><em>You may not
continue. the following errors were encountered:</em></p>
1036 $FORM_VALIDATION_ERROR
1043 <form
id=
"app_settings" name=
"app_settings" action=
"{$self}f=miruser" method=
"post">
1044 <input type=
"hidden" name=
"form_set" value=
"miruser">
1047 <div
class=
"col-xs-12 col-md-offset-3 col-md-6">
1049 <div
class=
"panel panel-default">
1050 <div
class=
"panel-heading">
1051 <h2
class=
"panel-title">Enter Password</h2>
1054 <div
class=
"panel-body">
1055 <div
class=
"form-horizontal">
1056 <div
class=
"form-group">
1059 <div
class=
"form-group">
1060 <label
class=
'col-xs-12' for=
"hbloginpassword">Password:</label>
1061 <div
class=
"col-xs-12">
1062 <input
id=
"hbloginpassword" name=
"hbloginpassword" type=
"password" size=
"30" maxlength=
"100" class=
"form-control"/>
1067 <div
class=
"col-xs-12 col-sm-6">
1068 <input type=
"hidden" name=
"mirconfpassword" value=
"Login">
1069 <input type=
"hidden" name=
"hbusername" value=
"$form_hbuser">
1070 <a
class=
"k-button k-primary" href=
"#" id=
'linkFormPost' label=
'Submit'><span>Login</span></a>
1075 <script type=
"text/javascript">
1076 $(document).ready(
function() {
1078 \$(
'#app_settings').bind(
"keydown",
function(event) {
1080 var keycode = (
event.keyCode ?
event.keyCode : (
event.which ?
event.which :
event.charCode));
1081 if (keycode == 13) {
1083 \$(
'#app_settings').submit();
1090 \$(
'#linkFormPost').click(
function() {
1091 \$(
"#app_settings").submit();
1094 $(
'#hbloginpassword').focus();
1106 if ($FORM_VALIDATION_ERROR !=
'') {
1107 print
"<script language='javascript'>$('#summary-container').css('display', 'inline-block');</script>";
1115 <script type=
"text/javascript">
1117 $.validity.setup({ outputMode:
"summary" });
1118 $.validity.setup({ defaultFieldName:
"This Field" });
1122 $(
"#app_settings").validity(
function() {
1125 .require(
'Email is required')
1126 .match(
'email',
'#{field} must be formatted as an email.')
1128 $(
'input.emailconf')
1129 .require(
'Email confirmation is required')
1130 .match(
'email',
'#{field} must be formatted as an email.')
1133 .equal(
"Email fields do not match.");
1136 .require(
'Password is required');
1138 $(
'input.passwordconf')
1139 .require(
'Password confirmation is required');
1141 $(
'input.passwords')
1142 .equal(
"Password fields do not match.");
1145 var newPassword = $(
"#val_pwd").val();
1146 $(
"#val_pwd").minLength(<?php echo $pwdRules[
"len"] ?>,
"Password too short.");
1147 if ( <?php echo $pwdRules[
"digit"] ?> > 0 ) {
1148 var test = newPassword;
1149 if ( test.replace(/[^0-9]/g,
"").length < <?php echo $pwdRules[
"digit"] ?> ) {
1150 $(
"#val_pwd").assert(
false,
"Not enough digits in password.");
1154 if ( <?php echo $pwdRules[
"upper"] ?> > 0 ) {
1155 var test = newPassword;
1156 if ( test.replace(/[^A-Z]/g,
"").length < <?php echo $pwdRules[
"upper"] ?> ) {
1157 $(
"#val_pwd").assert(
false,
"Not enough upper-case characters in password.");
1161 if ( <?php echo $pwdRules[
"lower"] ?> > 0 ) {
1162 var test = newPassword;
1163 if ( test.replace(/[^a-z]/g,
"").length < <?php echo $pwdRules[
"lower"] ?> ) {
1164 $(
"#val_pwd").assert(
false,
"Not enough lower-case characters in password.");
1169 .require(
'Last 4 of SSN is required')
1170 .match(
'number',
'Last 4 of SSN must be a number.');
1173 .require(
'DOB is required')
1174 .match(
'date',
'DOB must be formatted as an mm/dd/yyyy.');
1176 $(
'input#val_phone')
1177 .require(
'Phone number is required')
1178 .match(/^[1-9]\d{2}-\d{3}-\d{4}$/,
'Phone number must be formatted as 555-555-5555.');
1182 <?php print ($FORM_VALIDATION_ERROR !=
"" ?
"$('#summary-container').css('display', 'inline-block');" :
""); ?>