403Webshell
Server IP : 38.190.208.107  /  Your IP : 216.73.216.102
Web Server : nginx/1.28.1
System : Linux ht2026040333114 6.1.0-10-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.37-1 (2023-07-03) x86_64
User : www ( 1000)
PHP Version : 8.2.28
Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv,eval,assert,passthru,system,exec,shell_exec,popen,proc_open
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /www/wwwroot/wp.2/wp-content/plugins/blocksy-companion-pro/static/js/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /www/wwwroot/wp.2/wp-content/plugins/blocksy-companion-pro/static/js/account.js
import ctEvents from 'ct-events'
import { registerDynamicChunk } from 'blocksy-frontend'
import { handleAccountModal, activateScreen } from './frontend/account'

let maybeTemplate = ''

const turnstileSelectors = {
	login: '.ct-account-modal #loginform .cf-turnstile',
	lostpassword: '.ct-account-modal #lostpasswordform .cf-turnstile',
	register: '.ct-account-modal #registerform .cf-turnstile',
}

const removeTurnstile = () => {
	if (!window.turnstile) {
		return
	}

	Object.keys(turnstileSelectors).forEach((selector) => {
		const element = document.querySelector(turnstileSelectors[selector])

		if (element) {
			turnstile.remove(turnstileSelectors[selector])

			if (selector === 'register') {
				turnstile.remove(
					'.ct-account-modal #registerform .sct-woocommerce-register'
				)
			}
		}
	})
}

const resetTurnstile = () => {
	if (!window.turnstile) {
		return
	}

	Object.keys(turnstileSelectors).forEach((selector) => {
		const element = document.querySelector(turnstileSelectors[selector])

		if (element) {
			turnstile.render(turnstileSelectors[selector])
		}
	})
}

const integrateGoogleSignIn = () => {
	if (!window.google || !google.accounts || !google.accounts.id) {
		return
	}

	const maybeButtons = document.querySelectorAll(
		'.googlesitekit-sign-in-with-google__frontend-output-button'
	)

	if (!maybeButtons.length) {
		return
	}

	maybeButtons.forEach((button) => {
		// move button to after login-submit
		const loginSubmit = button
			.closest('form')
			.querySelector('.login-submit')

		if (loginSubmit) {
			loginSubmit.insertAdjacentElement('afterend', button)
		}

		google.accounts.id.renderButton(button, {})
	})
}

const integrations = () => {
	if (window.anr_onloadCallback) {
		window.anr_onloadCallback()
	}

	resetTurnstile()
	integrateGoogleSignIn()

	if (window.Dokan_Vendor_Registration) {
		window.Dokan_Vendor_Registration.init()
	}
}

registerDynamicChunk('blocksy_account', {
	mount: (el, { event }) => {
		// Don't do anything if there's a panel opened already.
		// This means the account is placed in another panel and is opened from
		// it. Soon another click event will be fired on the same element
		// by the panel logic itself.
		if (document.body.dataset.panel) {
			return
		}

		if (!maybeTemplate) {
			let maybeAccount = document.querySelector(
				'#ct-account-modal-template'
			)

			if (!maybeAccount) {
				location = document.querySelector(
					'[data-id="account"] .ct-account-item'
				)
					? document.querySelector(
							'[data-id="account"] .ct-account-item'
					  ).href
					: el.href

				return
			}
			const templateElement = document.createElement('div')
			const templateContent = maybeAccount.content.cloneNode(true)

			templateElement.insertAdjacentHTML(
				'beforeend',
				templateContent.firstElementChild.outerHTML
			)

			maybeTemplate = templateElement.firstChild.outerHTML

			removeTurnstile()
			maybeAccount.remove()
		}

		let panel = document.querySelector('#account-modal')

		if (!panel) {
			document
				.querySelector('.ct-drawer-canvas')
				.insertAdjacentHTML('beforeend', maybeTemplate)

			panel = document.querySelector('.ct-drawer-canvas').lastChild
		}

		const actuallyOpen = () => {
			handleAccountModal(panel)

			activateScreen(panel, {
				screen: el.dataset.view || 'login',
			})

			integrations()

			ctEvents.trigger('ct:overlay:handle-click', {
				e: event,
				href: '#account-modal',
				options: {
					isModal: true,
					computeScrollContainer: () => {
						if (!panel.closest('body')) {
							return
						}

						return panel.querySelector('.ct-account-forms')
					},
				},
			})
		}

		actuallyOpen()
	},
})

ctEvents.on('ct:modal:closed', (modalContainer) => {
	if (!modalContainer.closest('#account-modal')) {
		return
	}

	modalContainer.remove()
})

Youez - 2016 - github.com/yon3zu
LinuXploit