<?php
if ( ! defined( 'ABSPATH' ) ) exit;
//include_once(dirname(dirname(__FILE__)).'/lib/emailotpauthn-external-class.php');
add_action( 'init', 'emailotpauthn_load_textdomain' );
function emailotpauthn_load_textdomain() {
	load_plugin_textdomain( "email-otp-authenticator", false, dirname( dirname( __FILE__ ) ) . "/languages" );
	global $formtexts;
	if(!isset($formtexts) || empty($formtexts))	emailotpauthn_load_notesntexts();
}

function emailotpauthn_load_notesntexts() {
	global $formtexts;
	$formtexts = array(
		array("Reserved Node","Reserved Node",""), //[0]
		array("Authenticate with OTP","Link Text",esc_html__("Authenticate with OTP","email-otp-authenticator")), //[1]
		array("OTP Verification","Form Titile",esc_html__("OTP Verification","email-otp-authenticator")), //[2]
		array("Send OTP","Button Text",esc_html__("Send OTP","email-otp-authenticator")), //[3]
		array("Verify OTP","Button Text",esc_html__("Verify OTP","email-otp-authenticator")), //[4]
		array("Wrong Action","Settings Notice",esc_html__("Wrong Action","email-otp-authenticator")), //[5]
		array("Enter your email to get the OTP","Label Text",esc_html__("Enter your email to get the OTP","email-otp-authenticator")), //[6]
		array("Get verification OTP at your email {{email address}}","Label Text",esc_html__("Get verification OTP at your email","email-otp-authenticator")), //[7]
		array("Logged in user cannot view or edit their email here.","Warning Notice",esc_html__("Logged in user cannot view or edit their email here.","email-otp-authenticator")), //[8]
		array("You have received new OTP to login at {{website title}}","Email Text",esc_html__("You have received new OTP to login at ","email-otp-authenticator")), //[9]
		array("We have received a one time password request.","Email Text",esc_html__("We have received a one time password request.","email-otp-authenticator")), //[10]
		array("Your new OTP is {{new OTP}}","Email Text",esc_html__("Your new OTP is ","email-otp-authenticator")), //[11]
		array("Website: {{your domain}}","Email Text",esc_html__("Website: ","email-otp-authenticator")), //[12]
		array("This secure OTP is generated by : {{Email OTP Authenticator}}","Email Text",esc_html__("This secure OTP is generated by : ","email-otp-authenticator")), //[13]
		array("Email OTP Authenticator","Email Text",esc_html__("Email OTP Authenticator","email-otp-authenticator")), //[14]
		array("Unacceptable email found. Unable to proceed.","Error Notice",esc_html__("Unacceptable email found. Unable to proceed.","email-otp-authenticator")), //[15]
		array("Wrong action for Logged-in user.","Settings Notice",esc_html__("Wrong action for Logged-in user.","email-otp-authenticator")), //[16]
		array("Wrong action detected. Report to the admin.","Settings Notice",esc_html__("Wrong action detected. Report to the admin.","email-otp-authenticator")), //[17]
		array("Service not activated.","Settings Notice",esc_html__("Service not activated.","email-otp-authenticator")), //[18]
		array("Email already exists.","Warning Notice",esc_html__("Email already exists.","email-otp-authenticator")), //[19]
		array("Email not found.","Warning Notice",esc_html__("Email not found.","email-otp-authenticator")), //[20]
		array("Request has been cancelled.","Hacking Notice",esc_html__("Request has been cancelled.","email-otp-authenticator")), //[21]
		array("Request has been rejected due to security! Please contact administrator.","Hacking Notice",esc_html__("Request has been rejected due to security! Please contact administrator.","email-otp-authenticator")), //[22]
		array("Validation error","Error Notice",esc_html__("Validation error","email-otp-authenticator")), //[23]
		array("Enter email","Label Text",esc_html__("Enter email","email-otp-authenticator")), //[24]
		array("SEND FROM email id is INACTIVE.","Settings Notice",esc_html__("SEND FROM email id is INACTIVE.","email-otp-authenticator")), //[25]
		array("Email does not match.","Error Notice",esc_html__("Email does not match.","email-otp-authenticator")), //[26]
		array("Resend OTP","Link Text",esc_html__("Resend OTP","email-otp-authenticator")), //[27]
		array("Post insertion failed!, please try again","Website Error",esc_html__("Post insertion failed!, please try again","email-otp-authenticator")), //[28]
		array("Unable to send email. Check SMTP or else.","Website Error",esc_html__("Unable to send email. Check SMTP or else.","email-otp-authenticator")), //[29]
		array("Out of Email Limit!, contact website administrator to reset.","Warning Notice",esc_html__("Out of Email Limit!, contact website administrator to reset.","email-otp-authenticator")), //[30]
		array("Out of Email Limit!, please try again after {{remaining minutes}}","Warning Notice",esc_html__("Out of Email Limit!, please try again after ","email-otp-authenticator")), //[31]
		array("{{remaining minutes}} minute.","Warning Notice",esc_html__(" minute.","email-otp-authenticator")), //[32]
		array("{{remaining minutes}} minutes.","Warning Notice",esc_html__(" minutes.","email-otp-authenticator")), //[33]
		array("OTP sent to your email.","Action Response",esc_html__("OTP sent to your email.","email-otp-authenticator")), //[34]
		array("OTP does not exist. Retry with new OTP.","Error Notice",esc_html__("OTP does not exist. Retry with new OTP.","email-otp-authenticator")), //[35]
		array("User does not match.","Error Notice",esc_html__("User does not match.","email-otp-authenticator")), //[36]
		array("The domain of your email is BLOCKED.","Warning Notice",esc_html__("The domain of your email is BLOCKED.","email-otp-authenticator")), //[37]
		array("The domain of your email is NOT ALLOWED.","Warning Notice",esc_html__("The domain of your email is NOT ALLOWED.","email-otp-authenticator")), //[38]
		array("Your email address is BLOCKED.","Warning Notice",esc_html__("Your email address is BLOCKED.","email-otp-authenticator")), //[39]
		array("This OTP is expired. Try again with new OTP.","Action Response",esc_html__("This OTP is expired. Try again with new OTP.","email-otp-authenticator")), //[40]
		array("Post insertion failed!, Token Key Not Generated.","Plugin Error",esc_html__("Post insertion failed!, Token Key Not Generated.","email-otp-authenticator")), //[41]
		array("You have successfully verified","Action Response",esc_html__("You have successfully verified","email-otp-authenticator")), //[42]
		array("OTP Verified","Action Response",esc_html__("OTP Verified","email-otp-authenticator")), //[43]
		array("Error in registration. Report to admin.","Website Error",esc_html__("Error in registration. Report to admin.","email-otp-authenticator")), //[44]
		array("Successfully Registered... Please Login.","Action Response",esc_html__("Successfully Registered... Please Login.","email-otp-authenticator")), //[45]
		array("You have been Successfully Registered.","Action Response",esc_html__("You have been Successfully Registered.","email-otp-authenticator")), //[46]
		array("Registered but Login failed. Try to Login.","Website Error",esc_html__("Registered but Login failed. Try to Login.","email-otp-authenticator")), //[47]
		array("You did not agree with our terms.","Warning Notice",esc_html__("You did not agree with our terms.","email-otp-authenticator")), //[48]
		array("Not Agree With Terms","Hacking Notice",esc_html__("Not Agree With Terms","email-otp-authenticator")), //[49]
		array("You have successfully logged in","Action Response",esc_html__("You have successfully logged in","email-otp-authenticator")), //[50]
		array("Agree to the terms of use.","Label Text",esc_html__("Agree to the terms of use.","email-otp-authenticator")), //[51]
		array("Unable to authenticate","Error Notice",esc_html__("Unable to authenticate","email-otp-authenticator")), //[52]
		array("OTP Verified but unable to process","Plugin Error",esc_html__("OTP Verified but unable to process","email-otp-authenticator")), //[53]
		array("Wrong OTP Attempts Crossed.","Warning Notice",esc_html__("Wrong OTP Attempts Crossed.","email-otp-authenticator")), //[54]
		array("OTP does not match.","Error Notice",esc_html__("OTP does not match.","email-otp-authenticator")), //[55]
		array("Invalid Email","Error Notice",esc_html__("Invalid Email","email-otp-authenticator")), //[56]
		array("Please accept our Terms of Use.","Error Notice",esc_html__("Please accept our Terms of Use.","email-otp-authenticator")), //[57]
		array("Check your spam mail and inbox again, then resend OTP.","Warning Notice",esc_html__("Check your spam mail and inbox again, then resend OTP.","email-otp-authenticator")), //[58]
		array("Invalid OTP","Error Notice",esc_html__("Invalid OTP","email-otp-authenticator")), //[59]
		array("Agree to the","Label Text",esc_html__("Agree to the","email-otp-authenticator")), //[60]
		array("terms of use","Label Text",esc_html__("terms of use","email-otp-authenticator")), //[61]
		array("Autofill my email","Label Text",esc_html__("Autofill my email","email-otp-authenticator")), //[62]
		array("Back","Button Text",esc_html__("Back","email-otp-authenticator")), //[63]
		array("Logout","Button Text",esc_html__("Logout","email-otp-authenticator")), //[64]
		array("Your verification period has expired.","Warning Notice",esc_html__("Your verification period has expired.","email-otp-authenticator")), //[65]
		array("Enter 6 digit code sent to your email","Label Text",esc_html__("Enter 6 digit code sent to your email","email-otp-authenticator")), //[66]
		array("Request Rejected. Retry after a minute.","Error Notice",esc_html__("Request Rejected. Retry after a minute.","email-otp-authenticator")), //[67]
		array("HTTP Error:","Error Notice",esc_html__("HTTP Error:","email-otp-authenticator")), //[68]
		array("Invalid response received","Error Notice",esc_html__("Invalid response received","email-otp-authenticator")), //[69]
		array("Damaged response received","Error Notice",esc_html__("Damaged response received","email-otp-authenticator")), //[70]
	);
}

function emailotpauthn_getbordercolor($brdrclr){
	$hdn1 = 0;
	$hdn2 = 0;
	$hdn3 = 0;
	$hdn4 = "";
	$rtrnbrdrclr = str_replace("#","",$brdrclr);
	if(strlen($rtrnbrdrclr)==6 || strlen($rtrnbrdrclr)==8){
		$hdn1 = hexdec(substr($rtrnbrdrclr,0,2));
		if($hdn1 > 130) $hdn1 -= 40; else $hdn1 += 40;
		$hdn2 = hexdec(substr($rtrnbrdrclr,2,2));
		if($hdn2 > 130) $hdn2 -= 40; else $hdn2 += 40;
		$hdn3 = hexdec(substr($rtrnbrdrclr,4,2));
		if($hdn3 > 130) $hdn3 -= 40; else $hdn3 += 40;
		if(strlen($rtrnbrdrclr)==8) $hdn4 = substr($rtrnbrdrclr,6,2); else $hdn4 = "FF";
		$rtrnbrdrclr = "#". str_pad(dechex($hdn1),2,"0",STR_PAD_LEFT) . str_pad(dechex($hdn2),2,"0",STR_PAD_LEFT) . str_pad(dechex($hdn3),2,"0",STR_PAD_LEFT) . $hdn4;
	} else {
		$rtrnbrdrclr = "#" . $rtrnbrdrclr;
	}
	return $rtrnbrdrclr;
}
function emailotpauthn_getcolorfrmstyle($stylestr){
	$stylestr = str_replace(" ","",$stylestr);
	$colorpos = stripos($stylestr,";color:");
	$stylestr = substr($stylestr,$colorpos+7);
	$colorpos = stripos($stylestr,";");
	$stylestr = substr($stylestr,0,$colorpos);
	return $stylestr;
}
function emailotpauthn_getopacityfrmclr($colorstr){
	$colorstr = str_replace("#","",$colorstr);
	if(strlen($colorstr) > 6){
		$colorstr = substr($colorstr,6,2);
	} else {
		$colorstr = "ff";
	}
	$colorval = round((hexdec($colorstr)/255)*100);
	return $colorval;
}
function eotpa_duplicate_id_css_to_data_attr( string $eotpa_css ): string {

    $generated = [];
    preg_match_all('/([^{]+)\{[^}]*\}/', $eotpa_css, $blocks, PREG_SET_ORDER);

    foreach ($blocks as $block) {
        $selector = trim($block[1]);
        if (strpos($selector, '#') === false) {
            continue;
        }
        $newSelector = preg_replace_callback(
            '/#([A-Za-z0-9\-_]+)/',
            function ($m) {
                return '[data-eotpa-id="' . $m[1] . '"]';
            },
            $selector
        );
        $newBlock = str_replace($selector, $newSelector, $block[0]);

        $generated[] = $newBlock;
    }

    if (empty($generated)) {
        return $eotpa_css;
    }
    return $eotpa_css . "#eotpafakeseparatorid{display:none;}\n" . implode("\n", $generated);
}
function emailotpauthn_popup_extrnl_css($getextrnlvars){
	$inptbrdrclr = emailotpauthn_getbordercolor($getextrnlvars["inptbxcolor"]);
	$butnbrdrclr = emailotpauthn_getbordercolor($getextrnlvars["buttoncolor"]);
	$waitingsclr = emailotpauthn_getbordercolor($getextrnlvars["bodybgcolor"]);

	$emailotpauthnextrnlcss = '';
	if(!$getextrnlvars["isoneinputbox"]) $emailotpauthnextrnlcss = '#emailotpauthn_content .eotpafni:-webkit-autofill,#emailotpauthn_content .eotpafni:-webkit-autofill:hover,#emailotpauthn_content .eotpafni:-webkit-autofill:focus,#emailotpauthn_content .eotpafni:-webkit-autofill:active,#emailotpauthn_content .eotpafni {width:1.1em;line-height:1;margin:0px 7px;padding:0px 0px 2px 0px;text-align:center;appearance:textfield;display:inline-block;' . esc_html( $getextrnlvars["inptxtstyle"] ) . 'font-size:2em!important;background:' . esc_html( $getextrnlvars["inptbxcolor"] ) . '!important;border:' . (($getextrnlvars["frmbrdrwdth"]>0 && emailotpauthn_getopacityfrmclr($getextrnlvars["inptbxcolor"])<5)? $getextrnlvars["frmbrdrwdth"] . 'px solid '. $getextrnlvars["frmbrdrcolr"] : '2px solid ' . esc_html( $inptbrdrclr ) ) . ';border-radius:'.(($getextrnlvars["iscornrstyl"])?'0':'6').'px;}';

    $emailotpauthnextrnlcss = '#emailotpauthn_content>*,#emailotpauthn_content>*>*,#emailotpauthn_content>*>*>*,#emailotpauthn_content>*>*>*>*,#emailotpauthn_content>*>*>*>*>*,#emailotpauthn_content>*>*>*>*>*>*{/*all:initial;all:unset;all:revert;*/font-family:Verdana,sans-serif;font-weight:normal;text-decoration:none;}form#emailotpauthn-form{position:relative}#emailotpauthn-body{border-bottom-left-radius:'.(($getextrnlvars["iscornrstyl"])?'0':'25').'px;border-bottom-right-radius:'.(($getextrnlvars["iscornrstyl"])?'0':'25').'px;padding:30px;min-height:200px;background: ' . esc_html( $getextrnlvars["bodybgcolor"] ) . ';'.(($getextrnlvars["poppboxblur"]>0)?'backdrop-filter:blur(' . esc_html( $getextrnlvars["poppboxblur"] ) . 'px);':'').'}#submitotpsec{display:none}' . ( $emailotpauthnextrnlcss ) . '.emailotpauthninlinebox #emailotpauthn_content form label, #emailotpauthn_lightbox #emailotpauthn_content form label,{' . esc_html( $getextrnlvars["bodyxtstyle"] ) . 'display:block;}#email_message,#otp_message,#sbmitedemail{' . esc_html( $getextrnlvars["bodyxtstyle"] ) . 'display:inline-block;}span.loginback,a.eotpalogout{cursor:pointer;z-index:99;top:6px;position:absolute;left:12px;padding:2px 5px;' . esc_html( $getextrnlvars["hedrxtstyle"] ) . 'font-size:0.7em!important;}.emailotpauthninlinebox #emailotpauthn_content form .req,#emailotpauthn_lightbox #emailotpauthn_content form .req{color:' . esc_html( $getextrnlvars["frmnoticclr"] ) . ';font-size:' . esc_html( $getextrnlvars["frmnoticsiz"] ) . 'em;display:inline-block}.emailotpauthninlinebox #emailotpauthn_content .eotpafi,#emailotpauthn_lightbox #emailotpauthn_content .eotpafi,.emailotpauthninlinebox #emailotpauthn_content form textarea,#emailotpauthn_lightbox #emailotpauthn_content form textarea{border-radius:'.(($getextrnlvars["iscornrstyl"])?'0':'50').'px;border:' . (($getextrnlvars["frmbrdrwdth"]>0 && emailotpauthn_getopacityfrmclr($getextrnlvars["inptbxcolor"])<5)? $getextrnlvars["frmbrdrwdth"] . 'px solid '. $getextrnlvars["frmbrdrcolr"] : '2px solid ' . esc_html( $inptbrdrclr ) ) . ';' . esc_html( $getextrnlvars["inptxtstyle"] ) . 'display:inline-block!important;width:100%!important;min-height:40px;padding:0 10px}.emailotpauthn-req-fields:-webkit-autofill,.emailotpauthn-req-fields:-webkit-autofill:hover,.emailotpauthn-req-fields:-webkit-autofill:focus,.emailotpauthn-req-fields:-webkit-autofill:active,.input_otp:-webkit-autofill,.input_otp:-webkit-autofill:hover,.input_otp:-webkit-autofill:focus,.input_otp:-webkit-autofill:active,.emailotpauthn-req-fields,.input_otp{text-align:center!important;background:' . esc_html( $getextrnlvars["inptbxcolor"] ) . '!important;}.emailotpauthninlinebox #emailotpauthn_content form input[type=button],#emailotpauthn_lightbox #emailotpauthn_content form input[type=button]{border-radius:'.(($getextrnlvars["iscornrstyl"])?'0':'50').'px;background:' . esc_html( $getextrnlvars["buttoncolor"] ) . ';'.(($getextrnlvars["poppboxblur"]>0)?'backdrop-filter:blur(' . esc_html( $getextrnlvars["poppboxblur"] ) . 'px);':''). esc_html( $getextrnlvars["butnxtstyle"] ) . (($getextrnlvars["isshortbuttons"]>0)?'padding:0px 15px;width:auto!important;':'padding:0 0;width:100%!important;') . 'margin-top:15px;border:' . (($getextrnlvars["frmbrdrwdth"]>0 && emailotpauthn_getopacityfrmclr($getextrnlvars["buttoncolor"])<5)? $getextrnlvars["frmbrdrwdth"] . 'px solid '. $getextrnlvars["frmbrdrcolr"] : '2px solid ' . esc_html( $butnbrdrclr ) ) . ';}.emailotpauthninlinebox #emailotpauthn_content form #submitotpsec input[type=button].generateOtp,#emailotpauthn_lightbox #emailotpauthn_content form #submitotpsec input[type=button].generateOtp{cursor:pointer;text-decoration:underline;background:0 0!important;border:0;color:' . esc_html( $getextrnlvars["frmnoticclr"] ) . '!important;padding:0;outline:0}.emailotpauthninlinebox #emailotpauthn_content form input[type=button]:disabled,#emailotpauthn_lightbox #emailotpauthn_content form input[type=button]:disabled{background:#ccc;cursor:initial}#emailotpauthn_lightbox .close{cursor:pointer;position:absolute;top:12px;right:10px;z-index:1}#emailotpauthn_lightbox #emailotpauthn_content .close span:hover{cursor:pointer}@media (max-width:767px){#emailotpauthn-body{padding:10px}.emailotpauthninlinebox,#emailotpauthn_lightbox{width:90%}.emailotpauthninlinebox #emailotpauthn_content p,#emailotpauthn_lightbox #emailotpauthn_content p{font-size:12px!important}}@media (max-width:800px) and (min-width:501px){.emailotpauthninlinebox,#emailotpauthn_lightbox{width:70%}.emailotpauthninlinebox #emailotpauthn_content p,#emailotpauthn_lightbox #emailotpauthn_content p{font-size:12px!important}}@media (max-width:2200px) and (min-width:801px){.emailotpauthninlinebox,#emailotpauthn_lightbox{width:60%}.emailotpauthninlinebox #emailotpauthn_content p,#emailotpauthn_lightbox #emailotpauthn_content p{font-size:15px!important}}.emailotpauthninlinebox{width:fit-content;height:fit-content;text-align:center;clear:both;z-index:1;position:relative;}.emailotpauthninlinebox #emailotpauthn_content,#emailotpauthn_lightbox #emailotpauthn_content{border-radius:'.(($getextrnlvars["iscornrstyl"])?'0':'25').'px;color:#333;margin:auto;position:relative;padding:0;font-size:15px!important;overflow:initial;min-width:400px;width:450px;max-width:450px}#emailotpauthn_lightbox #emailotpauthn_content{top:50%;transform:translateY(-50%);}'.((strcasecmp($getextrnlvars["popuphorzalign"],"center")==0)?'':('@media screen and (min-width: 501px) {#emailotpauthn_lightbox #emailotpauthn_content{float:'.$getextrnlvars["popuphorzalign"].';margin-'.$getextrnlvars["popuphorzalign"].':'.$getextrnlvars["popupboxmargin"].'%;}}')).'.emailotpauthninlinebox #emailotpauthn_content p,#emailotpauthn_lightbox #emailotpauthn_content p{padding:1%;text-align:left;margin:0!important;line-height:20px}#emailotpauthn_lightbox #emailotpauthn_content .close span{display:block;float:right;text-align:right;' . esc_html( $getextrnlvars["hedrxtstyle"] ) . 'font-size:0.7em!important;margin-top:-4px;height:36px;width:100%}.emailotpauthninlinebox .emailotpauthnmsg,#emailotpauthn_lightbox .emailotpauthnmsg{display:none;height:100%;width:100%;position:absolute;top:0px;left:0;right:0;bottom:0;border-radius:'.(($getextrnlvars["iscornrstyl"])?'0':'25').'px;color:' . esc_html( $waitingsclr ) . ';z-index:2;}.emailotpauthninlinebox .heading,#emailotpauthn_lightbox .heading{padding:10px 5px;margin:0!important;border-top-left-radius:'.(($getextrnlvars["iscornrstyl"])?'0':'25').'px;border-top-right-radius:'.(($getextrnlvars["iscornrstyl"])?'0':'25').'px;background: ' . esc_html( $getextrnlvars["headercolor"] ) . '!important;'.(($getextrnlvars["poppboxblur"]>0)?'backdrop-filter:blur(' . esc_html( $getextrnlvars["poppboxblur"] ) . 'px);':'').'}.emailotpauthninlinebox .heading h3,#emailotpauthn_lightbox .heading h3{border:none;margin-top:1px;margin-bottom:2px;' . esc_html( $getextrnlvars["hedrxtstyle"] ) . '}span.emailotpauthn-shortcode.emailotpauthn-popup{border:0px solid #ccc;padding:8px 10px;border-radius:'.(($getextrnlvars["iscornrstyl"])?'0':'10').'px} input::-webkit-outer-spin-button, input::-webkit-inner-spin-button { display: none; -webkit-appearance: none; margin: 0; } input[type=number] { -moz-appearance: textfield; }#rememberemaildiv{color:'.emailotpauthn_getcolorfrmstyle($getextrnlvars["bodyxtstyle"]).';Padding-bottom: 20px;width:100%;position:relative;}'.(($getextrnlvars["extrnlsection"]>2)?'#showrgstrtermsdiv{float:left;display:inline-block;}#showrgstrtermsdiv>div,':'').'#showrmbremaildiv>div{float:left;width:15px;height:15px;display:inline-block;}'.(($getextrnlvars["extrnlsection"]>2)?'#showrgstrterms,':'').'#rememberemail{padding:0px!important;min-height:15px!important;margin-top:14px!important;}'.(($getextrnlvars["extrnlsection"]>2)?'#terms_of_use,':'').'#remember_email{display:inline-block!important;margin-top:17px;margin-left:5px;font-size:small!important;float:left;line-height:12px;}'.(($getextrnlvars["extrnlsection"]>2)?'#terms_of_use>a{text-decoration:none;}':'').'#showrmbremaildiv{float:right;display:inline-block;}#emailotpauthn_content{border: '. $getextrnlvars["frmbrdrwdth"] .'px solid '. $getextrnlvars["frmbrdrcolr"] .'; border-radius:'.(($getextrnlvars["iscornrstyl"])?'0':'25').'px;}.otpestatus{padding-top:10px;}#emailotpauthn_formbg{position:absolute;top:0;left:0;'.(($getextrnlvars["poppopcimeg"]>0 && !empty($getextrnlvars["poppboximeg"]))?'background-image:url("' . esc_url( $getextrnlvars["poppboximeg"] ) . '");':'').'border-radius:'.(($getextrnlvars["iscornrstyl"])?'0':'25').'px;background-size:cover;background-repeat:no-repeat;background-position:center center;width:100%;height:100%;overflow:hidden;z-index:-1;'.(empty($getextrnlvars["poppboximeg"])?'opacity:0;':'opacity:' . esc_html( $getextrnlvars["poppopcimeg"] ) . ';').'}#emailotpauthn_lightbox{position:fixed;top:0;left:0;text-align:center;z-index:999999!important;height:100%;width:100%;}#emailotpauthn_bdrpbg,#emailotpauthn_lightbg{position:absolute;top:0;left:0;clear:both;background-position:center center;width:100%;height:100%;overflow:hidden;}#emailotpauthn_bdrpbg{background-size:cover;background-repeat:no-repeat;'.(($getextrnlvars["bkdrpopcimg"]>0 && !empty($getextrnlvars["backdrpimeg"]))?'background-image:url("' . esc_url( $getextrnlvars["backdrpimeg"] ) . '");':'').(empty($getextrnlvars["backdrpimeg"])?'opacity:0;':'opacity:' . esc_html( $getextrnlvars["bkdrpopcimg"] ) . ';').'z-index:'.(($getextrnlvars["popupbgblur"]>0)?'-1':'-3').';}#emailotpauthn_lightbg{background-color:' . esc_html( $getextrnlvars["poppbgcolor"] ) . ';'.(($getextrnlvars["popupbgblur"]>0)?'backdrop-filter:blur(' . esc_html( $getextrnlvars["popupbgblur"] ) . 'px);':'').'z-index:-2;}.emailerror,.otperror,.otpestatus{font-weight:600!important;}';
	$emailotpauthnextrnlcss = eotpa_duplicate_id_css_to_data_attr($emailotpauthnextrnlcss);
	return $emailotpauthnextrnlcss;
}

function emailotpauthn_popup_extrnl_html($getextrnlvars){
	$emailotpauthnextrnlhtml = '';
	if($getextrnlvars["isoneinputbox"])
		$emailotpauthnextrnlhtml = '<input type="number" class="input_otp eotpafi" name="email_otp" id="email_otp" value="" oninput="javascript: if (this.value.length > this.maxLength) this.value = Number(this.value.toString().slice(0, this.maxLength));" maxlength="6">';
	else
		$emailotpauthnextrnlhtml = '<div id="eotpainputdiv"><input type="number" class="eotpafni" pattern="[0-9]*" autocomplete="one-time-code" value="" inputtype="numeric" id="eotpa_otc-1" required><input type="number" class="eotpafni" pattern="[0-9]*" min="0" max="9" maxlength="1" value="" inputtype="numeric" id="eotpa_otc-2" required><input type="number" class="eotpafni" pattern="[0-9]*" min="0" max="9" maxlength="1" value="" inputtype="numeric" id="eotpa_otc-3" required><input type="number" class="eotpafni" pattern="[0-9]*" min="0" max="9" maxlength="1" value="" inputtype="numeric" id="eotpa_otc-4" required><input type="number" class="eotpafni" pattern="[0-9]*" min="0" max="9" maxlength="1" value="" inputtype="numeric" id="eotpa_otc-5" required><input type="number" class="eotpafni" pattern="[0-9]*" min="0" max="9" maxlength="1" value="" inputtype="numeric" id="eotpa_otc-6" required></div><input type="hidden" name="email_otp" id="email_otp">';
	
	$emailotpauthnextrnlhtml = '<div class="emailotpauthnboxform">' . (($getextrnlvars["formtype"]=="inline")?((strcasecmp($getextrnlvars["extrnltxt_003"], "2fa") == 0)?'<div class="emailotpauthninlinebox" id="emailotpauthninlinebox2fa" style="display:none">':'<div class="emailotpauthninlinebox">'):'<div id="emailotpauthnlightbox"></div><div id="emailotpauthnBox" style="display:none">').'<div id="emailotpauthn_contact">' . (($getextrnlvars["formtype"]=="inline")?'':'<!--') . '<div class="emailotpauthnmsg"><svg style="transform:translateY(45%);" viewBox="0 0 80 30" xmlns="http://www.w3.org/2000/svg"><g fill="currentColor"><circle cx="10" cy="15" r="4"><animate attributeName="cy" values="22;8;22" dur="1s" begin="0s" repeatCount="indefinite"/><animate attributeName="opacity" values="1;0.4;0.4;0.4;1" dur="1s" begin="0s" repeatCount="indefinite"/></circle><circle cx="30" cy="15" r="4"><animate attributeName="cy" values="22;8;22" dur="1s" begin="0.15s" repeatCount="indefinite"/><animate attributeName="opacity" values="0.4;1;0.4;0.4;0.4" dur="1s" begin="0s" repeatCount="indefinite"/></circle><circle cx="50" cy="15" r="4"><animate attributeName="cy" values="22;8;22" dur="1s" begin="0.3s" repeatCount="indefinite"/><animate attributeName="opacity" values="0.4;0.4;1;0.4;0.4" dur="1s" begin="0s" repeatCount="indefinite"/></circle><circle cx="70" cy="15" r="4"><animate attributeName="cy" values="22;8;22" dur="1s" begin="0.45s" repeatCount="indefinite"/><animate attributeName="opacity" values="0.4;0.4;0.4;1;0.4" dur="1s" begin="0s" repeatCount="indefinite"/></circle></g></svg></div><form name="clfrom" id="emailotpauthn-form" class="emailotpauthn-section" action="" method="post" novalidate autocomplete="off" role="form" ><div id="emailotpauthn_formbg" data-imgdtls="None"></div><div style="display:none;"><input type="hidden" name="emailotpauthnsecurity" value="' . esc_html( wp_create_nonce("emailotpauthn_filed_once_val") ) . '"><input type="hidden" name="emailotpauthnsubmitid" id="emailotpauthnsubmitid" value=""><input type="hidden" name="emailotpauthnzplussecurity" value="">'.(($getextrnlvars["extrnlsection"]>2)?'<input type="hidden" name="emailotpauthn_action" id="emailotpauthn_action" value="' . esc_html( $getextrnlvars["dflt_action"] ) . '">':'').'</div><div class="heading"><h3 id="emailotpauthn_header_submit">' . esc_html( $getextrnlvars["header_submit"] ) . '</h3><h3 style="display:none;" id="emailotpauthn_header_verify">' . esc_html( $getextrnlvars["header_verify"] ) . '</h3></div><div id="emailotpauthn-body">' . (($getextrnlvars["swichtolgoutbtn"]==1)?'<a id="logout_buton" href="' . esc_url($getextrnlvars["rdrct2faurlout"]) .'" class="eotpalogout" type="button">< ' . esc_html( $getextrnlvars["extrnltxt_064"] ) . '</a>':'').'<div id="sendotp"><label><span id="email_message">' . esc_html( $getextrnlvars["logged_in_title"] ) . '</span><span class="req">*</span><br/><span class="emailerror req"></span>&#8202;</label><input type="' . esc_html( $getextrnlvars["logged_in_boxtype"] ) . '" name="email" id="email" value="' . esc_html( $getextrnlvars["logged_in_email"] ) . '" class="emailotpauthn-req-fields eotpafi" size="40" ' . esc_html( $getextrnlvars["logged_in_readonly"] ) . '><small>' . esc_html( $getextrnlvars["logged_in_message"] ) . '</small> <input type="button" class="emailotpauthn_submit_btn generateOtp eotpafi" id="generateOtp" value="' . esc_html( $getextrnlvars["extrnltxt_003"] ) . '"><br/><div id="rememberemaildiv">'.(($getextrnlvars["extrnlsection"]>2)?'<div id="showrgstrtermsdiv"><div><input class="eotpafi" type="checkbox" name="showrgstrterms" id="showrgstrterms"></div><label id="terms_of_use">' . esc_html( $getextrnlvars["extrnltxt_060"] ) . ' <a href="' . esc_url($getextrnlvars["rgstrtermouurl"]) . '" target="_blank">' . esc_html( $getextrnlvars["extrnltxt_061"] ) . '</a>.</label></div>':'').'<div id="showrmbremaildiv"><div><input class="eotpafi" type="checkbox" id="rememberemail" class="rememberemail"></div><label id="remember_email">' . esc_html( $getextrnlvars["extrnltxt_062"] ) . '</label></div></div></div><div id="submitotpsec">' . (($getextrnlvars["swichtolgoutbtn"]==0)?'<span id="back_buton" class="loginback" type="button">< ' . esc_html( $getextrnlvars["extrnltxt_063"] ) . '</span>':'').' <span class="email-otp"><label><span id="otp_message">' . esc_html( $getextrnlvars["extrnltxt_066"] ) . '</span><br><span id="sbmitedemail"></span><br/><span class="req"><span class="otperror"></span></span>&#8202;</label>' . ( $emailotpauthnextrnlhtml ) . '</span> <div class="emailotpauthn-submit-sec"><input type="button" class="submitOtp eotpafi" id="submitOtp" value="' . esc_html( $getextrnlvars["extrnltxt_004"] ) . '" /><br/><span class="otpestatus req d-inline-block"></span></div></div></div></form>' . (($getextrnlvars["formtype"]=="inline")?'':'-->') . '</div></div></div>';
	
	return $emailotpauthnextrnlhtml;
}
?>