get_user_detail( 'mo2f_configured_2FA_method', $current_user_id );
$redirect_to_save = get_user_meta( $current_user_id, 'redirect_to', true );
if ( is_null( $redirect_to_save ) or $redirect_to_save == '' ) {
update_user_meta( $current_user_id, 'redirect_to', $redirect_to );
} else {
$redirect_to = $redirect_to_save;
delete_user_meta( $current_user_id, 'redirect_to' );
}
$session_id_save = get_user_meta( $current_user_id, 'session_id', true );
if ( is_null( $session_id_save ) or $session_id_save == '' ) {
update_user_meta( $current_user_id, 'session_id', $session_id );
} else {
$session_id = $session_id_save;
delete_user_meta( $current_user_id, 'session_id' );
}
if ( $current_selected_method == 'MOBILE AUTHENTICATION' || $current_selected_method == 'SOFT TOKEN' || $current_selected_method == 'PUSH NOTIFICATIONS' ) {
if ( get_site_option( 'mo_2factor_admin_registration_status' ) == 'MO_2_FACTOR_CUSTOMER_REGISTERED_SUCCESS' ) {
molms_prompt_user_for_miniorange_app_setup( $current_user_id, $login_status, $login_message, $session_id, $qrCode, $current_selected_method );
} else {
molms_prompt_user_for_miniorange_register( $current_user_id, $login_status, $login_message );
}
} elseif ( $current_selected_method == 'SMS' || $current_selected_method == 'PHONE VERIFICATION' || $current_selected_method == 'SMS AND EMAIL' ) {
if ( get_site_option( 'mo_2factor_admin_registration_status' ) == 'MO_2_FACTOR_CUSTOMER_REGISTERED_SUCCESS' ) {
molms_prompt_user_for_phone_setup( $current_user_id, $login_status, $login_message, $current_selected_method );
} else {
molms_prompt_user_for_miniorange_register( $current_user_id, $login_status, $login_message );
}
} elseif ( $current_selected_method == 'GOOGLE AUTHENTICATOR' ) {
molms_prompt_user_for_google_authenticator_setup( $current_user_id, $login_status, $login_message );
} elseif ( $current_selected_method == 'AUTHY 2-FACTOR AUTHENTICATION' ) {
molms_prompt_user_for_authy_authenticator_setup( $current_user_id, $login_status, $login_message );
} elseif ( $current_selected_method == 'KBA' ) {
molms_prompt_user_for_kba_setup( $current_user_id, $login_status, $login_message );
} elseif ( $current_selected_method == 'OUT OF BAND EMAIL' ) {
$status = $molms_db_queries->get_user_detail( 'mo_2factor_user_registration_status', $current_user_id );
if ( ( $status == 'MO_2_FACTOR_PLUGIN_SETTINGS' && get_site_option( 'mo2f_remember_device' ) != 1 ) || ( get_site_option( 'mo2f_disable_kba' ) && $login_status == 'MO_2_FACTOR_SETUP_SUCCESS' ) ) {
if ( ! MOLMS_IS_ONPREM ) {
$current_user = get_userdata( $current_user_id );
$email = $current_user->user_email;
$tempEmail = get_user_meta( $current_user->ID, 'mo2f_email_miniOrange', true );
if ( isset( $tempEmail ) and $tempEmail != '' ) {
$email = $tempEmail;
}
molms_create_user_in_miniOrange( $current_user_id, $email, $current_selected_method );
}
$molms_db_queries->update_user_details( $current_user_id, array( 'mo_2factor_user_registration_status' => 'MO_2_FACTOR_PLUGIN_SETTINGS' ) );
$pass2fa = new Molms_Password_2Factor_Login();
$pass2fa->mo2fa_pass2login( site_url() );
}
} else {
$current_user = get_userdata( $current_user_id );
if ( isset( $current_user->roles[0] ) ) {
$current_user_role = $current_user->roles[0];
}
$opt = molms_fetch_methods( $current_user ); ?>
get_user_detail( 'mo2f_user_email', $current_user_id );
if ( isset( $mo2f_user_email ) and $mo2f_user_email != '' ) {
$email = $mo2f_user_email;
}
$current_user = get_userdata( $current_user_id );
if ( $current_user_id == get_site_option( 'mo2f_miniorange_admin' ) ) {
$email = get_site_option( 'mo2f_email' );
}
$enduser = new Molms_Two_Factor_Setup();
$check_user = json_decode( $enduser->mo_check_user_already_exist( $email ), true );
if ( json_last_error() == JSON_ERROR_NONE ) {
if ( $check_user['status'] == 'ERROR' ) {
return molms_2fConstants:: langTranslate( $check_user['message'] );
} elseif ( strcasecmp( $check_user['status'], 'USER_FOUND' ) == 0 ) {
$molms_db_queries->update_user_details( $current_user_id, array(
'user_registration_with_miniorange' => 'SUCCESS',
'mo2f_user_email' => $email,
'mo_2factor_user_registration_status' => 'MO_2_FACTOR_INITIALIZE_TWO_FACTOR'
) );
update_site_option( 'totalUsersCloud', get_site_option( 'totalUsersCloud' ) + 1 );
$mo2fa_login_status = 'MO_2_FACTOR_PROMPT_USER_FOR_2FA_METHODS';
} elseif ( strcasecmp( $check_user['status'], 'USER_NOT_FOUND' ) == 0 ) {
$content = json_decode( $enduser->mo_create_user( $current_user, $email ), true );
if ( json_last_error() == JSON_ERROR_NONE ) {
if ( strcasecmp( $content['status'], 'SUCCESS' ) == 0 ) {
update_site_option( 'totalUsersCloud', get_site_option( 'totalUsersCloud' ) + 1 );
$molms_db_queries->update_user_details( $current_user_id, array(
'user_registration_with_miniorange' => 'SUCCESS',
'mo2f_user_email' => $email,
'mo_2factor_user_registration_status' => 'MO_2_FACTOR_INITIALIZE_TWO_FACTOR'
) );
$mo2fa_login_message = '';
$mo2fa_login_status = 'MO_2_FACTOR_PROMPT_USER_FOR_2FA_METHODS';
}
}
} elseif ( strcasecmp( $check_user['status'], 'USER_FOUND_UNDER_DIFFERENT_CUSTOMER' ) == 0 ) {
$mo2fa_login_message = esc_html__( 'The email associated with your account is already registered. Please contact your admin to change the email.', '2fa-learndash-lms' );
$mo2fa_login_status = 'MO_2_FACTOR_PROMPT_FOR_RELOGIN';
molms_inline_email_form( $email, $current_user_id );
exit;
}
}
}
function molms_inline_email_form( $email, $current_user_id ) {
?>
user_email;
$opt = molms_fetch_methods( $current_user );
$mobile_registration_status = $molms_db_queries->get_user_detail( 'mobile_registration_status', $current_user_id ); ?>
1 ) { ?>
style="background-color:#FADBD8; color:#E74C3C;?>"
>
';
wp_register_script( 'molms_qrcode', plugins_url( "/includes/jquery-qrcode/jquery-qrcode.js", dirname( dirname( __FILE__ ) ) ) );
wp_register_script( 'molms_qrcode_min', plugins_url( "/includes/jquery-qrcode/jquery-qrcode.min.js", dirname( dirname( __FILE__ ) ) ) );
wp_print_scripts( 'molms_qrcode' );
wp_print_scripts( 'molms_qrcode_min' );
echo '';
}
function molms_mo2f_inline_css_and_js() {
wp_register_script( 'molms_bootstrap', plugins_url( 'includes/js/bootstrap.min.js', dirname( dirname( __FILE__ ) ) ) );
wp_register_style( 'molms_bootstrap_min', plugins_url( 'includes/css/bootstrap.min.css', dirname( dirname( __FILE__ ) ) ) );
wp_register_style( 'molms_front_end_login', plugins_url( 'includes/css/front_end_login.css', dirname( dirname( __FILE__ ) ) ) );
wp_register_style( 'molms_style_settings', plugins_url( 'includes/css/style_settings.css', dirname( dirname( __FILE__ ) ) ) );
wp_register_style( 'molms_hide_login', plugins_url( 'includes/css/hide-login.css', dirname( dirname( __FILE__ ) ) ) );
wp_print_scripts( 'jquery-core' );
wp_print_scripts( 'molms_bootstrap' );
wp_print_styles( 'molms_bootstrap_min' );
wp_print_styles( 'molms_front_end_login' );
wp_print_styles( 'molms_style_settings' );
wp_print_styles( 'molms_hide_login' );
}
function molms_initialize_inline_mobile_registration( $current_user, $session_id, $qrCode ) {
$data = $qrCode;
$mo2f_login_transaction_id = molms_2f_Utility::mo2f_retrieve_user_temp_values( 'mo2f_transactionId', $session_id );
$url = MOLMS_HOST_NAME;
$opt = molms_fetch_methods( $current_user ); ?>
1 ) { ?>
get_user_detail( 'mo2f_configured_2FA_method', $current_user_id );
$current_user = get_userdata( $current_user_id );
$email = $current_user->user_email; ?>
style="background-color:#FADBD8; color:#E74C3C;?>"
>
1 ) { ?>