403Webshell
Server IP : 104.21.14.103  /  Your IP : 3.149.252.196
Web Server : LiteSpeed
System : Linux business53.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64
User : giankuin ( 1871)
PHP Version : 7.4.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/giankuin/dietcontrungnhanh.com/wp-content/plugins/ithemes-security-pro/pro/passwordless-login/js/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/giankuin/dietcontrungnhanh.com/wp-content/plugins/ithemes-security-pro/pro/passwordless-login/js/modal.js
( function( $ ) {
	var DATA_KEY = 'itsec-pwls-login-modal-prompt';

	$( function() {
		$( document ).on( 'click', '.itsec-pwls-login-modal-prompt', function( e ) {
			e.preventDefault();

			var $this = $( this ),
				modal = $this.data( DATA_KEY );

			if ( !modal ) {
				modal = new PasswordlessModal( {
					loginUrl   : $this.data( 'interim' ),
					fallbackUrl: $this.attr( 'href' ),
				} );
				$this.data( DATA_KEY, modal );
			}

			modal.showIFrame();
		} );
	} );

	function PasswordlessModal( config ) {
		this.config = config;
		this.iFrame = null;
		this.isShowing = false;
		this.isLoaded = false;
		this.$el = null;
		this.instance = ++PasswordlessModal.count;
	}

	PasswordlessModal.count = 0;

	PasswordlessModal.prototype.$ = function( selector ) {
		this.$el || this.createContainer();

		return $( selector, this.$el );
	};

	PasswordlessModal.prototype.createContainer = function() {
		this.$el = $(
			'<div id="itsec-pwls-login-modal-' + this.instance + '" class="itsec-pwls-login-modal" style="display: none;">' +
			'<div class="itsec-pwls-login-modal__bg"></div>' +
			'<div class="itsec-pwls-login-modal__wrap">' +
			'<button class="itsec-pwls-login-modal__close">Close</button>' +
			'<div class="itsec-pwls-login-modal__frame-wrap"></div>' +
			'</div>' +
			'</div>',
		)
			.appendTo( 'body' );

		this.$el.on( 'click', '.itsec-pwls-login-modal__close', this.hide.bind( this ) );
	};

	PasswordlessModal.prototype.showIFrame = function() {
		this.$el || this.createContainer();

		if ( !this.iFrame ) {
			this.iFrame = $( '<iframe class="itsec-pwls-login-modal__frame" frameborder="0"/>' )
				.on( 'load', ( function() {
					var height,
						body;

					this.isLoaded = true;
					this.show();

					try {
						body = this.iFrame.contents().find( 'body' );
						height = body.height();
					} catch ( e ) {
						this.fallback();

						return;
					}

					if ( height ) {
						if ( body && body.hasClass( 'interim-login-success' ) ) {
							this.hide();
							window.location.reload();
						} else {
							this.$( '.itsec-pwls-login-modal__wrap' ).css( 'max-height', height + 50 + 'px' );
						}
					} else if ( !body || !body.length ) {
						this.fallback();
					}
				} ).bind( this ) )
				.attr( 'src', this.config.loginUrl )
				.appendTo( this.$( '.itsec-pwls-login-modal__frame-wrap' ) );

			this.iFrame.focus();
			// WebKit doesn't throw an error if the iframe fails to load because of
			// "X-Frame-Options: DENY" header.
			// Wait for 10 sec. and switch to the fallback text.
			setTimeout( ( function() {
				if ( !this.isLoaded ) {
					this.fallback();
				}
			} ).bind( this ), 10000 );
		} else {
			this.show();
		}
	};

	PasswordlessModal.prototype.hide = function() {
		this.$el.hide();
		this.isShowing = false;
		$( 'body' ).css( { overflow: '' } );
	};

	PasswordlessModal.prototype.show = function() {
		this.$el.show();
		this.isShowing = true;
		$( 'body' ).css( { overflow: 'hidden' } );
	};

	PasswordlessModal.prototype.fallback = function() {
		window.location = this.config.fallbackUrl;
	};
} )( jQuery );

Youez - 2016 - github.com/yon3zu
LinuXploit