HEX
Server: LiteSpeed
System: Linux node612.namehero.net 4.18.0-553.121.1.lve.el8.x86_64 #1 SMP Thu Apr 30 16:40:41 UTC 2026 x86_64
User: dfwparty (1186)
PHP: 8.3.31
Disabled: NONE
Upload Files
File: /home/dfwparty/www/wp-content/plugins/ws-form-pro/admin/partials/ws-form-welcome.php
<?php

	// Exit if accessed directly
	if ( ! defined( 'ABSPATH' ) ) {
		exit;
	}

	// Render loader
	WS_Form_Common::loader();

	// Set intro option to true
	WS_Form_Common::option_set('intro', true);

	// Flush WP rewrite rules
	global $wp_rewrite;
	$wp_rewrite->flush_rules();
?>
<!-- Welcome Banner -->
<div id="wsf-welcome">

<!-- Slide 1 - Welcome -->
<div class="wsf-welcome-slide" data-id="1">

<div class="wsf-welcome-copy">
<div class="wsf-welcome-logo"><svg xmlns="http://www.w3.org/2000/svg" x="0" y="0" viewBox="0 0 503.2 150" xml:space="preserve"><title><?php WS_Form_Common::echo_esc_html(sprintf(

	/* translators: %s: Presentatable name (e.g. WS Form PRO) */
	__('%s - Smart. Fast. Forms.', 'ws-form'),

	WS_FORM_NAME_PRESENTABLE

), 'ws-form'); ?></title><path d="M75.3 148L59.8 78.6l-.4-1.6-3.3-18.1H56l-1.4 8-2.4 11.7-16 69.4H24.4L0 45.5h9.8l14 59.7 6.5 31.2h.6a330 330 0 016-31.4l14-59.5h10.3l14.1 59.7c1.1 4.5 3.1 14.9 5.9 31.2h.6c.2-2.1 1.2-7.3 3.1-15.7 1.8-8.4 7.7-33.4 17.5-75.2h9.7L86.9 148H75.3zM173.2 122.3c0 8.6-2.5 15.4-7.4 20.3-5 4.9-12.1 7.3-21.5 7.3-5.1 0-9.6-.6-13.4-1.8a32 32 0 01-9-4l4.3-7.5c2.9 1.8 2.1 1.3 5.8 2.6a38 38 0 0012.9 2.1 18 18 0 0013.7-5.2c3.3-3.5 5-8.1 5-13.9 0-4.5-1.2-8.4-3.6-11.5a48.2 48.2 0 00-13.6-10.6 86.5 86.5 0 01-15.7-10.6 26.6 26.6 0 01-8.8-20.6c0-7.4 2.7-13.5 8.2-18.3a30.3 30.3 0 0120.8-7.2c9 0 15.8 2.3 21.9 6.2l-4.3 7.5a33.8 33.8 0 00-18-5.2c-5.8 0-10.4 1.6-13.9 4.7a16 16 0 00-5.2 12.3c0 4.5 1.2 8.3 3.5 11.4 2.3 3.1 7.3 6.8 14.9 11.1 7.4 4.5 12.5 8 15.3 10.7 2.8 2.7 4.8 5.6 6.2 8.9 1.3 3.4 1.9 7.1 1.9 11.3zM225.3 53.5h-17.6V148H198V53.5h-14.3l.1-7.8h14.1l.1-8.9c0-13 1.2-21.3 4.7-27 3.6-6 9.6-9.7 18-9.7h10.1v8.3l-9.6.1c-4.9.1-7 1.6-8.8 3.4-1.7 1.8-2.6 4-3.5 8.1-.8 4.1-1.2 9.8-1.2 17v8.6h17.6v7.9zM300 96.5c0 17.3-3 30.5-8.9 39.6a28.7 28.7 0 01-25.6 13.7c-11 0-19.4-4.6-25.2-13.7-5.8-9.2-8.7-22.4-8.7-39.6 0-35.3 11.4-53 34.3-53 10.8 0 19.1 4.6 25.1 13.9s9 22.3 9 39.1zm-58.3 0c0 14.8 1.9 26 5.8 33.5a19 19 0 0018.1 11.3c16.1 0 24.1-15 24.1-44.9 0-29.7-8-44.5-24.1-44.5-8.4 0-14.5 3.7-18.3 11.1a78.8 78.8 0 00-5.6 33.5zM315.6 68.8c0-12.4 15-25.1 31-25.2 10.8-.1 14.7 3 18.6 4.8l-4.9 7.5a28 28 0 00-13.9-3.5c-4.7-.1-8.4.5-12.6 3.2-3.4 2.3-7.1 4.5-8.3 14.3-.8 6.6-.3 16.1-.3 23.7V148h-9.8M366.6 67c1.9-16.9 17.4-23.5 28.2-23.5a33 33 0 0117.6 5.1c3.3 2.5 5.1 4.7 7.1 11.3 2.7-6.3 4.9-8.2 8.8-11a26 26 0 0115.3-5.2c8.5 0 16.9 2.6 22 10 4.1 5.9 5.9 14.3 5.9 27.4v67h-9.7V78.2c.2-19.9-5-26.3-18.2-26.3-6.5 0-11.3 1.6-14.8 7.7-3.4 6-5 16.8-5 28.5v60h-9.7V78.2c0-8.7-1.3-15.2-4-19.4s-9.3-6.5-15-6.5c-7.4 0-12.5 3.6-15.8 9.8-3.4 6.2-3 15.8-3 29.6V148h-9.8"/><circle cx="494.4" cy="52.3" r="8.8"/><circle cx="494.4" cy="95.5" r="8.8"/><circle cx="494.4" cy="138.2" r="8.8"/></svg></div>
<?php

	// Partner
	$ws_form_partner_logo_text = getenv('wsf_partner_logo_text');
	$ws_form_partner_logo_url = getenv('wsf_partner_logo_url');
	$ws_form_partner_logo_width = getenv('wsf_partner_logo_width');
	$ws_form_partner_logo_height = getenv('wsf_partner_logo_height');
	$ws_form_partner_logo_alt = getenv('wsf_partner_logo_alt');

	if(
		($ws_form_partner_logo_text !== false) ||
		($ws_form_partner_logo_url !== false) 
	) {
?>
<div class="wsf-welcome-partner">
<?php
		if($ws_form_partner_logo_text !== false) {
?>
<p><?php WS_Form_Common::echo_esc_html($ws_form_partner_logo_text); ?></p>
<?php
		}

		if($ws_form_partner_logo_url !== false) {
?>
<img src="<?php WS_Form_Common::echo_esc_attr($ws_form_partner_logo_url); ?>"<?php if($ws_form_partner_logo_width !== false) { ?> width="<?php WS_Form_Common::echo_esc_attr($ws_form_partner_logo_width); ?>" <?php } ?><?php if($ws_form_partner_logo_height !== false) { ?> height="<?php WS_Form_Common::echo_esc_attr($ws_form_partner_logo_height); ?>" <?php } ?><?php if($ws_form_partner_logo_alt !== false) { ?> alt="<?php WS_Form_Common::echo_esc_attr($ws_form_partner_logo_alt); ?>" title="<?php WS_Form_Common::echo_esc_attr($ws_form_partner_logo_alt); ?>" <?php } ?> />
<?php
		}
?>
</div>
<?php
		
	}
?>
</div>

<button class="wsf-welcome-button" data-slide-next-id="2"><?php esc_html_e('Click to Start', 'ws-form'); ?></button>

</div>
<!-- /Slide 1 - Welcome -->

<!-- Slide 2 - Basic / Advanced -->
<div class="wsf-welcome-slide" data-id="2">

<div class="wsf-welcome-copy">
<div class="wsf-welcome-title"><?php esc_html_e('How familiar are you with building forms?', 'ws-form') ?></div>
<div class="wsf-welcome-intro"><?php esc_html_e('If you\'re new to building forms, we\'ll keep it simple.', 'ws-form'); ?></div>
</div>

<button class="wsf-welcome-button" data-slide-next-id="5" data-action="wsf-mode-set" data-value="basic"><?php esc_html_e('Keep It Simple', 'ws-form') ?></button>
<button class="wsf-welcome-button" data-slide-next-id="5" data-action="wsf-mode-set" data-value="basic"><?php esc_html_e('I\'m Familiar', 'ws-form') ?></button>
<button class="wsf-welcome-button" data-slide-next-id="4" data-action="wsf-mode-set" data-value="advanced"><?php esc_html_e('I\'m a Developer', 'ws-form') ?></button>

</div>
<!-- /Slide 2 - Basic / Advanced -->

<!-- Slide 3 - Framework Detect -->
<div class="wsf-welcome-slide" data-id="3">

<div class="wsf-welcome-copy">
<div class="wsf-welcome-title"><?php

	WS_Form_Common::echo_html(sprintf(	// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped

		/* translators: %s: Framework name (e.g. Bootstrap) */
		esc_html__("You're using %s", 'ws-form'), 

		'<span id="wsf-welcome-framework"></span>'
	));

?></div>
<div class="wsf-welcome-intro"><?php esc_html_e('Is that correct?', 'ws-form'); ?></div>
</div>

<button class="wsf-welcome-button" data-slide-next-id="5" data-action="wsf-framework-set"><?php esc_html_e('Yes', 'ws-form'); ?></button>
<button class="wsf-welcome-button" data-slide-next-id="4"><?php esc_html_e('No', 'ws-form'); ?></button>
<button class="wsf-welcome-button" data-slide-next-id="5"><?php esc_html_e('I\'m Not Sure', 'ws-form'); ?></button>

</div>
<!-- /Slide 3 - Framework Detect -->

<!-- Slide 4 - Framework Select-->
<div class="wsf-welcome-slide" data-id="4">

<div class="wsf-welcome-copy">
<div class="wsf-welcome-title"><?php esc_html_e('Does your theme use a front-end framework?', 'ws-form') ?></div>
<div class="wsf-welcome-intro"><?php esc_html_e('If you are not sure, skip this and you can change it later.', 'ws-form'); ?></div>
</div>

<select id="framework" data-slide-next-id="5" class="wsf-welcome-select">
<option value=""><?php esc_html_e('Select...', 'ws-form'); ?></option>
<option value="<?php WS_Form_Common::echo_esc_attr(WS_FORM_DEFAULT_FRAMEWORK); ?>"><?php esc_html_e('I\'m Not Sure', 'ws-form'); ?></option>
<option value="<?php WS_Form_Common::echo_esc_attr(WS_FORM_DEFAULT_FRAMEWORK); ?>"><?php esc_html_e('No Framework', 'ws-form'); ?></option>
<?php

	$ws_form_frameworks = WS_Form_Config::get_frameworks(false);
	$ws_form_framework_types = $ws_form_frameworks['types'];
	foreach($ws_form_framework_types as $ws_form_type => $ws_form_framework) {

		// Skip default framework (ws-form)
		if($ws_form_type == WS_FORM_DEFAULT_FRAMEWORK) { continue; }

?><option value="<?php WS_Form_Common::echo_esc_attr($ws_form_type); ?>"><?php WS_Form_Common::echo_esc_html($ws_form_framework['name']); ?></option>
<?php

	}

?>
<option value="<?php WS_Form_Common::echo_esc_attr(WS_FORM_DEFAULT_FRAMEWORK); ?>"><?php esc_html_e('Other', 'ws-form'); ?></option>
</select>

<button class="wsf-welcome-button" data-slide-next-id="5"><?php esc_html_e('Skip This', 'ws-form'); ?></button>

</div>
<!-- /Slide 4 - Framework Select -->

<!-- Slide 5 - Setup Complete -->
<div class="wsf-welcome-slide" data-id="5" data-action="wsf-setup-push">

<div class="wsf-welcome-copy">
<div class="wsf-welcome-title"><?php esc_html_e('All Done!', 'ws-form') ?></div>
<div class="wsf-welcome-intro"><?php esc_html_e('You\'re ready to build your first form.', 'ws-form'); ?></div>
</div>

<div class="wsf-container">
<div class="wsf-video-container">
<iframe id="wsf-video-welcome" src="https://player.vimeo.com/video/289590605?api=1" width="640" height="360" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen allow="autoplay; encrypted-media"></iframe>
</div>
</div>

<div><button class="wsf-welcome-button" data-action="wsf-form-add"><?php esc_html_e('Get Started...', 'ws-form'); ?></button></div>

</div>
<!-- /Slide 5 - Setup Complete -->

<!-- Slide 6 - API Error -->
<div class="wsf-welcome-slide" data-id="6">

<div class="wsf-welcome-copy">
<div class="wsf-welcome-title"><?php esc_html_e("Whoops! Something went wrong.", 'ws-form') ?></div>
<div class="wsf-welcome-intro"><?php esc_html_e("There appears to be a problem with your hosting. For more information, click the 'Help' button below.", 'ws-form'); ?><span class="wsf-welcome-api-error"></span></div>
</div>

<button class="wsf-welcome-button" data-action="wsf-try-again"><?php esc_html_e('Try Again', 'ws-form'); ?></button>
<a href="<?php WS_Form_Common::echo_esc_url(WS_Form_Common::get_plugin_website_url('/knowledgebase/installation-troubleshooting/')); ?>" target="_blank" class="wsf-welcome-button"><?php esc_html_e('Help', 'ws-form'); ?></a>

</div>
<!-- /Slide 6 - API Error -->

</div>
<!-- /Welcome Banner -->

<script>

	// Options
	var params_setup = {

		'framework': '<?php WS_Form_Common::echo_esc_html(WS_FORM_DEFAULT_FRAMEWORK); ?>',
		'mode': '<?php WS_Form_Common::echo_esc_html(WS_FORM_DEFAULT_MODE); ?>'
	};

	var framework_detected = false;

	(function($) {

		'use strict';

		// On load
		$(function() {

			var wsf_obj = new $.WS_Form();

			wsf_obj.init_partial();

			var wsf_welcome_banner = $('#wsf-welcome');

			// Highlight menu
			$('#toplevel_page_ws-form').removeClass('wp-not-current-submenu').addClass('wp-has-current-submenu current').addClass('selected');
			$('[href="admin.php?page=ws-form-welcome"]', $('#toplevel_page_ws-form-welcome')).closest('li').addClass('wp-menu-open current');

			// Slide buttons
			$('button.wsf-welcome-button', wsf_welcome_banner).on('click', function() {

				user_action($(this), $(this).attr('data-value'));
			});

			// Slide select
			$('select', wsf_welcome_banner).on('change', function() {

				user_action($(this), $(this).val());
			});

			// Framework select
			$('#framework').on('change', function() {

				params_setup['framework'] = $(this).val();
			})

			// Turn on loader
			wsf_obj.loader_on();

			// Show first slide
			var slide_next = $('.wsf-welcome-slide[data-id="1"]');
			slide_next.fadeIn(200);

			// Detect framework
			wsf_obj.api_test(function() {

				// Detect framework
				wsf_obj.framework_detect(function(framework) {

					if(
						(typeof(framework.name) !== 'undefined') &&
						(framework.name !== false)
					) {

						// Remember framework detected
						framework_detected = framework;

						// Set framework name
						$('#wsf-welcome-framework').html(framework.name);

						// Reconfigure path
						$('.wsf-welcome-slide[data-id="2"] .wsf-welcome-button[data-value="advanced"]').attr('data-slide-next-id', '3');
					}

					// Turn off loader
					wsf_obj.loader_off();

				}, function() {

					// Turn off loader
					wsf_obj.loader_off();
				});

			}, function(error_message) {

				// Set error message
				$('.wsf-welcome-api-error').html((error_message !== false) ? 'Error: ' + error_message : '');

				// API test failed, show error page
				$('.wsf-welcome-slide[data-id="1"]').fadeOut(200, function() {

					// Hide all other slides just in case
					$('.wsf-welcome-slide').hide();

					// Show error slide
					var slide_next = $('.wsf-welcome-slide[data-id="6"]');
					slide_next.fadeIn(200);

					// Turn off loader
					wsf_obj.loader_off();
				});
			});

			function user_action(obj, value) {

				var slide_next_id = obj.attr('data-slide-next-id');

				// Button actions
				var action_button = obj.attr('data-action');
				switch(action_button) {

					// Set framework type
					case 'wsf-framework-set' :

						if(framework_detected !== false) {

							params_setup['framework'] = framework_detected.type;
						}
						break;

					// Set mode
					case 'wsf-mode-set' :

						params_setup['mode'] = value;
						break;

					// Add form
					case 'wsf-form-add' :

						var iframe = $('#wsf-video-welcome');
						var player = new Vimeo.Player(iframe[0]);
						player.pause();
						location.href='<?php WS_Form_Common::echo_esc_html(WS_Form_Common::get_admin_url('ws-form-add')); ?>';
						return;

					// Try again
					case 'wsf-try-again' :

						location.href='<?php WS_Form_Common::echo_esc_html(WS_Form_Common::get_admin_url('ws-form-welcome')); ?>';
						break;
				}

				var slide_current = obj.closest('.wsf-welcome-slide');

				slide_current.fadeOut(200, function() {

					// Get next slide object
					var slide_next = $('.wsf-welcome-slide[data-id="' + slide_next_id + '"]');

					// Process action
					var action_slide = slide_next.attr('data-action');
					switch(action_slide) {

						case 'wsf-setup-push' :

							// Turn on loader
							wsf_obj.loader_on();

							// Push setup via API
							wsf_obj.setup_push(params_setup, function() {

								// Success
								slide_next.fadeIn(200);

								// Turn off loader
								wsf_obj.loader_off();

							}, function() {

								// Error
								slide_current.fadeIn(200);

								// Turn off loader
								wsf_obj.loader_off();
							});

							break;

						default :

							slide_next.fadeIn(200);
					}
				});
			}
		});

	})(jQuery);

</script>