File: /home/pelakir/www/wp-content/plugins/digits/includes/plugins/ihu.php
<?php
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
add_action( 'ump_before_printing_errors', 'dig_iump_verify_error' );
function dig_iump_verify_error( $errors ) {
if ( ! isset( $_POST['phone'] ) ) {
return $errors;
}
$phone = sanitize_mobile_field_dig( $_POST['phone'] );
$code = sanitize_text_field( $_POST['code'] );
$csrf = sanitize_text_field( $_POST['csrf'] );
$otp = sanitize_text_field( $_POST['digit_otp'] );
$countrycode = sanitize_text_field( $_POST['digt_countrycode'] );
if ( empty( $phone ) || ! is_numeric( $phone ) ) {
$errors['phone'] = __( 'Please enter a valid Mobile Number', 'digits' );
return $errors;
}
$mobVerificationFailed = __( 'Mobile Number verification failed', 'digits' );
if ( dig_gatewayToUse( $countrycode ) == 1 ) {
if ( empty( $code ) || ! wp_verify_nonce( $csrf, 'crsf-otp' ) ) {
$errors['phone'] = $mobVerificationFailed;
return $errors;
}
$json = getUserPhoneFromAccountkit( $code );
$phoneJson = json_decode( $json, true );
if ( $json == null ) {
$errors['phone'] = $mobVerificationFailed;
return $errors;
}
$mob = $countrycode . $phone;
if ( $phoneJson['phone'] != $mob ) {
$errors['phone'] = $mobVerificationFailed;
return $errors;
}
$mob = $phoneJson['phone'];
$phone = $phoneJson['nationalNumber'];
$countrycode = $phoneJson['countrycode'];
} else {
if ( empty( $otp ) ) {
$errors['phone'] = __( 'Please enter a valid OTP', 'digits' );
return $errors;
}
if ( verifyOTP( $countrycode, $phone, $otp, true ) ) {
$mob = $countrycode . $phone;
} else {
$errors['phone'] = $mobVerificationFailed;
return $errors;
}
}
$user = getUserFromPhone( $mob );
if ( $phone != 0 && $user == null ) {
global $dig_save_details;
$dig_save_details = 1;
}
return $errors;
}
add_action( 'ump_on_register_action', 'dig_iump_add_mobile' );
function dig_iump_add_mobile( $user_id ) {
global $dig_save_details;
if ( $dig_save_details == 1 ) {
$phone = sanitize_mobile_field_dig( $_POST['phone'] );
$countrycode = sanitize_text_field( $_POST['digt_countrycode'] );
update_user_meta( $user_id, 'digt_countrycode', $countrycode );
update_user_meta( $user_id, 'digits_phone_no', $phone );
update_user_meta( $user_id, 'digits_phone', $countrycode . $phone );
}
}
?>