HEX
Server: Apache
System: Linux smartwebfx.com 5.4.0-211-generic #231-Ubuntu SMP Tue Mar 11 17:06:58 UTC 2025 x86_64
User: fastshipsa (1010)
PHP: 8.3.20
Disabled: NONE
Upload Files
File: /home/fastshipsa/public_html/wp-content/plugins/formidable-registration/js/back_end.js
function frmRegBackEnd(){

	/**
	 * Create an admin email, on click
	 *
	 * @since 2.0
	 */
	function createAdminEmail() {
		addEmailAction( 'admin' );
	}

	/**
	 * Create a user email, on click
	 *
	 * @since 2.0
	 */
	function createUserEmail() {
		addEmailAction( 'user' );
	}

	/**
	 * Create an email notification, on click
	 *
	 * @since 2.0
	 * @param {string} emailType
	 */
	function addEmailAction( emailType ){

		// Get number of last action
		var len = 0;
		var lastAction = jQuery('.frm_form_action_settings:last');
		if ( lastAction.length ) {
			len = lastAction.attr('id').replace('frm_form_action_', '');
		}

		var currentFormId = document.getElementById('form_id').value;

		jQuery.ajax({
			type:'POST',
			url:ajaxurl,
			data:{
				action:'frm_add_form_action',
				type:'email',
				list_id:(parseInt(len)+1),
				form_id:currentFormId,
				reg_email_type:emailType,
				nonce:frmRegGlobal.nonce
			},
			success:function(html){
				jQuery('#frm_notification_settings').append(html);
				jQuery('.frm_form_action_settings').fadeIn('slow');
				jQuery('#frm_form_action_' + (parseInt(len)+1) + ' .widget-inside').css('display','block');
				jQuery('#frm_form_action_' + (parseInt(len)+1) + ' .frm_multiselect' ).hide().each( frmDom.bootstrap.multiselect.init );
			}
		});
	}

	/**
	 * Hide the user meta Add button
	 *
	 * @since 2.0
	 */
	function hideUserMetaAdd() {
		var addTable = document.getElementById( 'frm_user_meta_add' );
		addTable.style.display = 'none';
	}

	/**
	 * Show the user meta table
	 *
	 * @since 2.0
	 */
	function showUserMetaTable() {
		var table = document.getElementById( 'frm_user_meta_table' );
		table.style.display = 'block';
	}


	/**
	 * Add a new row of user meta
	 *
	 * @since 2.0
	 */
	function addUserMetaRow(){
		var formId = document.getElementById('form_id').value;
		var actionKey = jQuery('.frm_single_register_settings').data('actionkey');

		var rowNumber = 0;
		var userMetaRows = document.querySelectorAll( '#frm_user_meta_rows .frm_user_meta_row' );
		if ( userMetaRows.length > 0 ) {
			var lastItem = userMetaRows[ userMetaRows.length - 1 ];
			rowNumber = 1 + parseInt( lastItem.id.replace('frm_user_meta_', '') );
		}

		jQuery.ajax({
			type:"POST",
			url:ajaxurl,
			data:{
				action:'frm_add_user_meta_row',
				form_id:formId,
				action_key:actionKey,
				meta_name:rowNumber
			},
			success:function(html){

				var $userMetaTable = jQuery('#frm_user_meta_rows');
				$userMetaTable.append(html);

				showUserMetaTable();
				hideUserMetaAdd();
			}
		});
	}

	/**
	 * Hide and show the redirect option in Register User action
	 *
	 * @since 2.0
	 */
	function displayRedirectOption( e ) {
		const confirmationSettingContainer = e.target.closest( 'td' ).nextElementSibling;
		confirmationSettingContainer.style.display = this.checked ? 'block' : 'none';
	}

	/**
	 * Hide and show the auto login option in Register User action
	 * if password is set to automatically generate
	 *
	 * @since 2.0
	 */
	function hideAutoLoginOption() {
		var autoLoginRow = document.getElementById( 'reg_auto_login_row' );

		if ( this !== null && this.value === '' ) {
			autoLoginRow.style.display = 'none';
			uncheckAutoLogin();
			showHideAutoLoginWarning( 'table-row' );

		} else {
			autoLoginRow.style.display = 'table-row';
			showHideAutoLoginWarning( 'none' );
		}
	}

	/**
	 * Uncheck the auto login option
	 *
	 * @since 2.0
	 */
	function uncheckAutoLogin() {
		var autoLoginCheckbox = document.getElementById( 'reg_auto_login' );

		if ( autoLoginCheckbox !== null && autoLoginCheckbox.checked ) {
			autoLoginCheckbox.checked = false;
		}
	}

	/**
	 * Show the auto login warning
	 *
	 * @since 2.0
	 */
	function showHideAutoLoginWarning( display ) {
		var autoLoginWarning = document.getElementById( 'reg_auto_login_msg' );

		if ( autoLoginWarning !== null ) {
			autoLoginWarning.style.display = display;
		}
	}

	/**
	 * Hide and show the User Moderation section in Register User action
	 * if password is set to automatically generate
	 *
	 * @since 2.02
	 */
	function hideUserModerationSection() {
		const userModerationSection = document.getElementById( 'reg_user_moderation_section' );

		if ( this !== null && this.value === '' ) {
			userModerationSection.style.display = 'none';
			uncheckEmailConfirmation();
			showHideUserModerationWarning( 'block' );
			return;
		}

		userModerationSection.style.display = 'table';
		showHideUserModerationWarning( 'none' );
	}

	/**
	 * Show or hide the user moderation warning
	 *
	 * @since 2.02
	 */
	function showHideUserModerationWarning( display ) {
		var userModerationWarning = document.getElementById( 'reg_user_moderation_msg' );

		if ( userModerationWarning !== null ) {
			userModerationWarning.style.display = display;
		}
	}

	/**
	 * Uncheck the email confirmation option
	 *
	 * @since 2.02
	 */
	function uncheckEmailConfirmation() {
		var emailConfirmationCheckbox = document.getElementById( 'reg_moderate_email' );

		if ( emailConfirmationCheckbox !== null && emailConfirmationCheckbox.checked ) {
			emailConfirmationCheckbox.checked = false;
		}
	}


	/**
	 * Hide and show the multi-site options in Register user action
	 *
	 * @since 2.0
	 */
	function displayMultiSiteOptions() {
		var i;
		var l;
		var multiSiteOptions = document.getElementsByClassName( 'reg_multisite_options' );

		if ( this.checked ) {
			for ( i = 0, l = multiSiteOptions.length; i < l; i++ ) {
				multiSiteOptions[i].style.display = 'block';
			}
		} else {
			for ( i = 0, l = multiSiteOptions.length; i < l; i++ ) {
				multiSiteOptions[i].style.display = 'none';
			}
		}
	}

	/**
	 * Hide and show the permission options in Register user action
	 *
	 * @since 2.0
	 */
	function displayPermissionOptions() {
		var permissionOptions = document.getElementById( 'reg_create_role_tr' );

		if ( this.checked ) {
			permissionOptions.style.display = 'table-row';
		} else {
			permissionOptions.style.display = 'none';
		}
	}

	function initOnSubmitAction() {
		const onChangeType = event => {
			if ( ! event.target.checked ) {
				return;
			}

			const actionEl = event.target.closest( '.frm_form_action_settings' );
			actionEl.querySelectorAll( '.frm_on_email_confirmation_dependent_setting:not(.frm_hidden)' ).forEach( el => {
				el.classList.add( 'frm_hidden' );
			});

			const activeEls = actionEl.querySelectorAll( '.frm_on_email_confirmation_dependent_setting[data-show-if-' + event.target.value + ']' );
			activeEls.forEach( activeEl => {
				activeEl.classList.remove( 'frm_hidden' );
			});
		};

		frmDom.util.documentOn( 'change', '.frm_on_email_confirmation_type input[type="radio"]', onChangeType );
	}

	return{
		init: function(){
			if ( document.getElementById('frm_notification_settings') !== null ) {
				// Bind event handlers for form Settings page
				frmRegBackEndJS.formActionsInit();
			}
		},

		formActionsInit: function(){

			var $formActions = jQuery(document.getElementById('frm_notification_settings'));

			$formActions.on( 'click', '.frmreg_admin_email', createAdminEmail );
			$formActions.on( 'click', '.frmreg_user_email', createUserEmail );
			$formActions.on( 'click', '.reg_user_meta_add_button', addUserMetaRow );
			$formActions.on( 'click', '.reg_add_user_meta_row', addUserMetaRow );
			$formActions.on( 'change', '#reg_moderate_email', displayRedirectOption );
			$formActions.on( 'change', '#reg_password', hideAutoLoginOption );
			$formActions.on( 'change', '#reg_password', hideUserModerationSection );
			$formActions.on( 'change', '#reg_create_subsite', displayMultiSiteOptions );
			$formActions.on( 'change', '#reg_create_users', displayPermissionOptions );
			initOnSubmitAction();
		}
	};
}

var frmRegBackEndJS = frmRegBackEnd();
jQuery(document).ready(function($){
	frmRegBackEndJS.init();
});