PluginProbe
Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More / 6.13
Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More v6.13
6.35 6.34 6.33.1 6.33 6.32.1 6.32 6.31 6.25 6.25.1 6.26 6.26.1 6.27 6.28 6.29 6.3 6.3.1 6.3.2 6.30 6.4 6.4.1 6.4.2 6.5 6.5.1 6.5.2 6.5.3 All 141 releases
← All changes | classes/controllers/FrmOnboardingWizardController.php +122 -182 6.286.13 View file →
@@ -45,9 +45,8 @@
45 45 const TRANSIENT_NAME = 'frm_activation_redirect';
46 46
47 47 /**
48 48 * Transient value associated with the redirection to the Onboarding Wizard page.
49 - * Used when activating a single plugin.
50 49 *
51 50 * @var string
52 51 */
53 52 const TRANSIENT_VALUE = 'formidable-welcome';
@@ -52,16 +51,8 @@
52 51 */
53 52 const TRANSIENT_VALUE = 'formidable-welcome';
54 53
55 54 /**
56 - * Transient value associated with the redirection to the Onboarding Wizard page.
57 - * Used when activating multiple plugins at once.
58 - *
59 - * @var string
60 - */
61 - const TRANSIENT_MULTI_VALUE = 'formidable-welcome-multi';
62 -
63 - /**
64 55 * Option name for storing the redirect status for the Onboarding Wizard page.
65 56 *
66 57 * @var string
67 58 */
@@ -78,9 +69,9 @@
78 69 * Defines the initial step for redirection within the application flow.
79 70 *
80 71 * @var string
81 72 */
82 - const INITIAL_STEP = 'consent-tracking';
73 + const INITIAL_STEP = 'welcome';
83 74
84 75 /**
85 76 * Option name to store usage data.
86 77 *
@@ -119,17 +110,15 @@
119 110 /**
120 111 * Initialize hooks for template page only.
121 112 *
122 113 * @since 6.9
123 - *
124 - * @return void
125 114 */
126 115 public static function load_admin_hooks() {
127 116 self::set_page_url();
128 - add_action( 'admin_init', self::class . '::do_admin_redirects' );
117 + add_action( 'admin_init', __CLASS__ . '::do_admin_redirects' );
129 118
130 119 if ( self::has_onboarding_been_skipped() ) {
131 - add_filter( 'option_frm_inbox', self::class . '::add_wizard_to_floating_links' );
120 + add_filter( 'option_frm_inbox', __CLASS__ . '::add_wizard_to_floating_links' );
132 121 }
133 122
134 123 // Load page if admin page is Onboarding Wizard.
135 124 self::maybe_load_page();
@@ -136,10 +125,8 @@
136 125 }
137 126
138 127 /**
139 128 * Performs a safe redirect to the welcome screen when the plugin is activated.
140 - * On single activation, we will redirect immediately.
141 - * When activating multiple plugins, the redirect is delayed until a Formidable page is loaded.
142 129 *
143 130 * @return void
144 131 */
145 132 public static function do_admin_redirects() {
@@ -155,32 +142,13 @@
155 142 self::mark_onboarding_as_skipped();
156 143 return;
157 144 }
158 145
159 - if ( self::has_onboarding_been_skipped() || FrmAppHelper::pro_is_connected() ) {
146 + // Check if we should consider redirection.
147 + if ( ! FrmAppHelper::is_formidable_admin() || ! self::is_onboarding_wizard_displayed() || self::has_onboarding_been_skipped() || FrmAppHelper::pro_is_connected() ) {
160 148 return;
161 149 }
162 150
163 - $transient_value = get_transient( self::TRANSIENT_NAME );
164 -
165 - if ( ! in_array( $transient_value, array( self::TRANSIENT_VALUE, self::TRANSIENT_MULTI_VALUE ), true ) ) {
166 - return;
167 - }
168 -
169 - if ( isset( $_GET['activate-multi'] ) ) {
170 - /**
171 - * $_GET['activate-multi'] is set after activating multiple plugins.
172 - * In this case, change the transient value so we know for future checks.
173 - */
174 - set_transient( self::TRANSIENT_NAME, self::TRANSIENT_MULTI_VALUE, 60 );
175 - return;
176 - }
177 -
178 - if ( self::TRANSIENT_MULTI_VALUE === $transient_value && ! FrmAppHelper::is_formidable_admin() ) {
179 - // For multi-activations we want to only redirect when a user loads a Formidable page.
180 - return;
181 - }
182 -
183 151 set_transient( self::TRANSIENT_NAME, 'no', 60 );
184 152
185 153 // Prevent redirect with every activation.
186 154 if ( self::has_already_redirected() ) {
@@ -188,9 +156,8 @@
188 156 }
189 157
190 158 // Redirect to the onboarding wizard's initial step.
191 159 $page_url = add_query_arg( 'step', self::INITIAL_STEP, self::$page_url );
192 -
193 160 if ( wp_safe_redirect( esc_url_raw( $page_url ) ) ) {
194 161 exit;
195 162 }
196 163 }
@@ -202,23 +169,17 @@
202 169 *
203 170 * @return void
204 171 */
205 172 public static function maybe_load_page() {
206 - if ( ! self::is_onboarding_wizard_page() ) {
207 - return;
173 + if ( self::is_onboarding_wizard_page() ) {
174 + add_action( 'admin_menu', __CLASS__ . '::menu', 99 );
175 + add_action( 'admin_init', __CLASS__ . '::assign_properties' );
176 + add_action( 'admin_enqueue_scripts', __CLASS__ . '::enqueue_assets', 15 );
177 + add_action( 'admin_head', __CLASS__ . '::remove_menu' );
178 +
179 + add_filter( 'admin_body_class', __CLASS__ . '::add_admin_body_classes', 999 );
180 + add_filter( 'frm_show_footer_links', '__return_false' );
208 181 }
209 -
210 - // Dismiss the onboarding wizard message so it stops appearing after it is clicked.
211 - $message = new FrmInbox();
212 - $message->dismiss( 'onboarding_wizard' );
213 -
214 - add_action( 'admin_menu', self::class . '::menu', 99 );
215 - add_action( 'admin_init', self::class . '::assign_properties' );
216 - add_action( 'admin_enqueue_scripts', self::class . '::enqueue_assets', 15 );
217 - add_action( 'admin_head', self::class . '::remove_menu' );
218 -
219 - add_filter( 'admin_body_class', self::class . '::add_admin_body_classes', 999 );
220 - add_filter( 'frm_show_footer_links', '__return_false' );
221 182 }
222 183
223 184 /**
224 185 * Initializes class properties with essential values for operation.
@@ -259,9 +220,9 @@
259 220 'Formidable | ' . $label,
260 221 $label,
261 222 self::REQUIRED_CAPABILITY,
262 223 self::PAGE_SLUG,
263 - array( self::class, 'render' )
224 + array( __CLASS__, 'render' )
264 225 );
265 226 }
266 227
267 228 /**
@@ -288,12 +249,14 @@
288 249 $pro_is_installed = FrmAppHelper::pro_is_installed();
289 250
290 251 // Note: Add step parts in order.
291 252 $step_parts = array(
292 - 'consent-tracking' => 'steps/consent-tracking-step.php',
293 - 'install-addons' => 'steps/install-addons-step.php',
294 - 'success' => 'steps/success-step.php',
295 - 'unsuccessful' => 'steps/unsuccessful-step.php',
253 + 'welcome' => 'steps/welcome-step.php',
254 + 'install-formidable-pro' => 'steps/install-formidable-pro-step.php',
255 + 'license-management' => 'steps/license-management-step.php',
256 + 'default-email-address' => 'steps/default-email-address-step.php',
257 + 'install-addons' => 'steps/install-addons-step.php',
258 + 'success' => 'steps/success-step.php',
296 259 );
297 260
298 261 include $view_path . 'index.php';
299 262 }
@@ -298,29 +261,33 @@
298 261 include $view_path . 'index.php';
299 262 }
300 263
301 264 /**
302 - * Handle AJAX request to setup the "Never miss an important update" step.
265 + * Handle AJAX request to setup the "Default Email Address" step.
303 266 *
304 267 * @since 6.9
305 268 *
306 269 * @return void
307 270 */
308 - public static function ajax_consent_tracking() {
271 + public static function ajax_setup_email_step() {
309 272 // Check permission and nonce.
310 273 FrmAppHelper::permission_check( self::REQUIRED_CAPABILITY );
311 274 check_ajax_referer( 'frm_ajax', 'nonce' );
312 275
276 + // Get posted data.
277 + $default_email = FrmAppHelper::get_post_param( 'default_email', '', 'sanitize_text_field' );
278 + $allows_tracking = FrmAppHelper::get_post_param( 'allows_tracking', '', 'rest_sanitize_boolean' );
279 + $summary_emails = FrmAppHelper::get_post_param( 'summary_emails', '', 'rest_sanitize_boolean' );
280 +
313 281 // Update Settings.
314 282 $frm_settings = FrmAppHelper::get_settings();
315 - $frm_settings->update_setting( 'tracking', true, 'rest_sanitize_boolean' );
316 -
283 + $frm_settings->update_setting( 'default_email', $default_email, 'sanitize_text_field' );
284 + $frm_settings->update_setting( 'tracking', $allows_tracking, 'rest_sanitize_boolean' );
285 + $frm_settings->update_setting( 'summary_emails', $summary_emails, 'rest_sanitize_boolean' );
317 286 // Remove the 'FrmProSettingsController::store' action to avoid PHP errors during AJAX call.
318 287 remove_action( 'frm_store_settings', 'FrmProSettingsController::store' );
319 288 $frm_settings->store();
320 289
321 - FrmEmailCollectionHelper::subscribe_to_active_campaign();
322 -
323 290 // Send response.
324 291 wp_send_json_success();
325 292 }
326 293
@@ -339,9 +306,12 @@
339 306 // Retrieve the current usage data.
340 307 $usage_data = self::get_usage_data();
341 308
342 309 $fields_to_update = array(
310 + 'default_email' => 'sanitize_email',
311 + 'is_subscribed' => 'rest_sanitize_boolean',
343 312 'allows_tracking' => 'rest_sanitize_boolean',
313 + 'summary_emails' => 'rest_sanitize_boolean',
344 314 'installed_addons' => 'sanitize_text_field',
345 315 'processed_steps' => 'sanitize_text_field',
346 316 'completed_steps' => 'rest_sanitize_boolean',
347 317 );
@@ -404,9 +374,10 @@
404 374 * @return array
405 375 */
406 376 private static function get_js_variables() {
407 377 return array(
408 - 'INITIAL_STEP' => self::INITIAL_STEP,
378 + 'INITIAL_STEP' => self::INITIAL_STEP,
379 + 'proIsIncluded' => FrmAppHelper::pro_is_included(),
409 380 );
410 381 }
411 382
412 383 /**
@@ -428,9 +399,8 @@
428 399 *
429 400 * @since 6.9
430 401 *
431 402 * @param string $classes Existing body classes.
432 - *
433 403 * @return string Updated list of body classes, including the newly added classes.
434 404 */
435 405 public static function add_admin_body_classes( $classes ) {
436 406 return $classes . ' frm-admin-full-screen';
@@ -439,9 +409,8 @@
439 409 /**
440 410 * Checks if the Onboarding Wizard was skipped during the plugin's installation.
441 411 *
442 412 * @since 6.9
443 - *
444 413 * @return bool True if the Onboarding Wizard was skipped, false otherwise.
445 414 */
446 415 public static function has_onboarding_been_skipped() {
447 416 return get_option( self::ONBOARDING_SKIPPED_OPTION, false );
@@ -450,13 +419,12 @@
450 419 /**
451 420 * Marks the Onboarding Wizard as skipped to prevent automatic redirects to the wizard.
452 421 *
453 422 * @since 6.9
454 - *
455 423 * @return void
456 424 */
457 425 public static function mark_onboarding_as_skipped() {
458 - update_option( self::ONBOARDING_SKIPPED_OPTION, true, false );
426 + update_option( self::ONBOARDING_SKIPPED_OPTION, true, 'no' );
459 427 }
460 428
461 429 /**
462 430 * Adds an Onboarding Wizard welcome message to the floating notifications.
@@ -462,29 +430,24 @@
462 430 * Adds an Onboarding Wizard welcome message to the floating notifications.
463 431 *
464 432 * @since 6.9
465 433 *
466 - * @param mixed $inbox_messages The inbox option data. An array of existing inbox messages if there is valid data set in the option.
467 - *
434 + * @param array $inbox_messages The array of existing inbox messages.
468 435 * @return array Configuration for the onboarding wizard slide-in notification.
469 436 */
470 437 public static function add_wizard_to_floating_links( $inbox_messages ) {
471 - $message = __( 'Welcome to Formidable Forms! Click here to run the Onboarding Wizard and it will guide you through the basic settings and get you started in 2 minutes.', 'formidable' ); // phpcs:ignore SlevomatCodingStandard.Files.LineLength.LineTooLong
438 + $message = __( 'Welcome to Formidable Forms! Click here to run the Onboarding Wizard and it will guide you through the basic settings and get you started in 2 minutes.', 'formidable' );
472 439
473 - if ( ! is_array( $inbox_messages ) ) {
474 - $inbox_messages = array();
475 - }
476 -
477 - $inbox_messages['onboarding_wizard'] = array(
478 - 'subject' => esc_html__( 'Begin With Ease!', 'formidable' ),
479 - 'message' => esc_html( $message ),
480 - 'slidein' => esc_html( $message ),
481 - 'cta' => '<a href="' . esc_url( self::$page_url ) . '" class="button-primary frm-button-primary" target="_blank" rel="noopener noreferrer">' . esc_html__( 'Begin Setup', 'formidable' ) . '</a>', // phpcs:ignore SlevomatCodingStandard.Files.LineLength.LineTooLong
482 - 'created' => time(),
483 - 'key' => 'onboarding_wizard',
440 + return array(
441 + 'onboarding_wizard' => array(
442 + 'subject' => esc_html__( 'Begin With Ease!', 'formidable' ),
443 + 'message' => esc_html( $message ),
444 + 'slidein' => esc_html( $message ),
445 + 'cta' => '<a href="' . esc_url( self::$page_url ) . '" class="button-primary frm-button-primary" target="_blank" rel="noopener noreferrer">' . esc_html__( 'Begin Setup', 'formidable' ) . '</a>',
446 + 'created' => time(),
447 + 'key' => 'onboarding_wizard',
448 + ),
484 449 );
485 -
486 - return $inbox_messages;
487 450 }
488 451
489 452 /**
490 453 * Check if the current page is the Onboarding Wizard page.
@@ -497,8 +460,19 @@
497 460 return FrmAppHelper::is_admin_page( self::PAGE_SLUG );
498 461 }
499 462
500 463 /**
464 + * Validates if the Onboarding Wizard page is being displayed.
465 + *
466 + * @since 6.9
467 + *
468 + * @return bool True if the Onboarding Wizard page is displayed, false otherwise.
469 + */
470 + public static function is_onboarding_wizard_displayed() {
471 + return get_transient( self::TRANSIENT_NAME ) === self::TRANSIENT_VALUE;
472 + }
473 +
474 + /**
501 475 * Checks if the plugin has already performed a redirect to avoid repeated redirections.
502 476 *
503 477 * @return bool Returns true if already redirected, otherwise false.
504 478 */
@@ -506,9 +480,9 @@
506 480 if ( get_option( self::REDIRECT_STATUS_OPTION ) ) {
507 481 return true;
508 482 }
509 483
510 - update_option( self::REDIRECT_STATUS_OPTION, FrmAppHelper::plugin_version(), false );
484 + update_option( self::REDIRECT_STATUS_OPTION, FrmAppHelper::plugin_version(), 'no' );
511 485 return false;
512 486 }
513 487
514 488 /**
@@ -550,11 +524,9 @@
550 524 * @return void
551 525 */
552 526 private static function set_available_addons() {
553 527 $pro_is_installed = FrmAppHelper::pro_is_installed();
554 - $plugins = get_plugins();
555 528
556 - // Base add-ons always included.
557 529 self::$available_addons['spam-protection'] = array(
558 530 'title' => esc_html__( 'Spam Protection', 'formidable' ),
559 531 'is-checked' => true,
560 532 'is-disabled' => true,
@@ -565,10 +537,8 @@
565 537 'is-checked' => true,
566 538 'is-disabled' => true,
567 539 'help-text' => esc_html__( 'Collect donations and payments with your forms. Offer physical products, digital goods, services, and more.', 'formidable' ),
568 540 );
569 -
570 - // Add-ons included when Pro is not installed.
571 541 if ( ! $pro_is_installed ) {
572 542 self::$available_addons['visual-styler'] = array(
573 543 'title' => esc_html__( 'Visual Styler', 'formidable' ),
574 544 'is-checked' => true,
@@ -581,100 +551,83 @@
581 551 'is-disabled' => true,
582 552 'help-text' => esc_html__( 'Save form submissions to your database for future reference and analysis.', 'formidable' ),
583 553 );
584 554 }
585 -
586 - // SMTP add-on if wp_mail_smtp is not installed.
587 555 if ( ! function_exists( 'wp_mail_smtp' ) ) {
588 - $wp_mail_smtp_plugin = 'wp-mail-smtp/wp_mail_smtp.php';
589 - $is_installed_wp_mail_smtp = array_key_exists( $wp_mail_smtp_plugin, $plugins );
590 -
591 556 self::$available_addons['wp-mail-smtp'] = array(
592 - 'title' => esc_html__( 'SMTP', 'formidable' ),
593 - 'rel' => $is_installed_wp_mail_smtp ? $wp_mail_smtp_plugin : 'wp-mail-smtp',
594 - 'is-checked' => false,
595 - 'is-vendor' => true,
596 - 'is-installed' => $is_installed_wp_mail_smtp,
597 - 'help-text' => esc_html__( 'Improve email deliverability by routing WordPress emails through SMTP.', 'formidable' ),
557 + 'title' => esc_html__( 'SMTP', 'formidable' ),
558 + 'rel' => 'wp-mail-smtp',
559 + 'is-checked' => false,
560 + 'is-vendor' => true,
561 + 'help-text' => esc_html__( 'Improve email deliverability by routing WordPress emails through SMTP.', 'formidable' ),
598 562 );
599 563 }
600 -
601 - // Add-ons available when Pro is installed.
602 564 if ( $pro_is_installed ) {
603 - $available_pro_addons = array(
604 - 'formidable-views' => array(
605 - 'addon_key' => 'views',
606 - 'title' => __( 'Views', 'formidable' ),
607 - 'plugin_file' => 'formidable-views/formidable-views.php',
608 - ),
609 - 'formidable-mailchimp' => array(
610 - 'addon_key' => 'mailchimp',
611 - 'title' => __( 'Mailchimp', 'formidable' ),
612 - 'plugin_file' => 'formidable-mailchimp/formidable-mailchimp.php',
613 - ),
614 - 'formidable-registration' => array(
615 - 'addon_key' => 'registration',
616 - 'title' => __( 'User Registration', 'formidable' ),
617 - 'plugin_file' => 'formidable-registration/formidable-registration.php',
618 - ),
619 - 'formidable-api' => array(
620 - 'addon_key' => 'api',
621 - 'title' => __( 'Form Rest API', 'formidable' ),
622 - 'plugin_file' => 'formidable-api/formidable-api.php',
623 - ),
624 - 'formidable-signature' => array(
625 - 'addon_key' => 'signature',
626 - 'title' => __( 'Signature Forms', 'formidable' ),
627 - 'plugin_file' => 'formidable-signature/signature.php',
628 - ),
629 - );
565 + $views_addon = FrmAddonsController::get_addon( 'views' );
566 + $mailchimp_addon = FrmAddonsController::get_addon( 'mailchimp' );
567 + $registration_addon = FrmAddonsController::get_addon( 'registration' );
568 + $api_addon = FrmAddonsController::get_addon( 'api' );
569 + $acf_addon = FrmAddonsController::get_addon( 'acf' );
570 + $signature_addon = FrmAddonsController::get_addon( 'signature' );
630 571
631 - // Include ACF Forms add-on if ACF is installed.
632 - if ( class_exists( 'ACF' ) ) {
633 - $available_pro_addons['formidable-acf'] = array(
634 - 'addon_key' => 'acf',
635 - 'title' => __( 'ACF Forms', 'formidable' ),
636 - 'plugin_file' => 'formidable-acf/formidable-acf.php',
572 + if ( ! is_plugin_active( 'formidable-views/formidable-views.php' ) && isset( $views_addon['url'] ) ) {
573 + self::$available_addons['formidable-views'] = array(
574 + 'title' => esc_html__( 'Views', 'formidable' ),
575 + 'rel' => $views_addon['url'],
576 + 'is-checked' => false,
577 + 'help-text' => $views_addon['excerpt'],
637 578 );
638 579 }
639 -
640 - foreach ( $available_pro_addons as $key => $data ) {
641 - $addon = FrmAddonsController::get_addon( $data['addon_key'] );
642 - $plugin_file = $data['plugin_file'];
643 -
644 - if ( is_plugin_active( $plugin_file ) || ! isset( $addon['url'] ) ) {
645 - continue;
646 - }
647 -
648 - $is_installed = array_key_exists( $plugin_file, $plugins );
649 -
650 - self::$available_addons[ $key ] = array(
651 - 'title' => $data['title'],
652 - 'rel' => $is_installed ? $plugin_file : $addon['url'],
653 - 'is-checked' => false,
654 - 'is-installed' => $is_installed,
655 - 'help-text' => $addon['excerpt'],
580 + if ( ! is_plugin_active( 'formidable-mailchimp/formidable-mailchimp.php' ) && isset( $mailchimp_addon['url'] ) ) {
581 + self::$available_addons['formidable-mailchimp'] = array(
582 + 'title' => esc_html__( 'Mailchimp', 'formidable' ),
583 + 'rel' => $mailchimp_addon['url'],
584 + 'is-checked' => false,
585 + 'help-text' => $mailchimp_addon['excerpt'],
656 586 );
657 587 }
588 + if ( ! is_plugin_active( 'formidable-registration/formidable-registration.php' ) && isset( $registration_addon['url'] ) ) {
589 + self::$available_addons['formidable-registration'] = array(
590 + 'title' => esc_html__( 'User Registration', 'formidable' ),
591 + 'rel' => $registration_addon['url'],
592 + 'is-checked' => false,
593 + 'help-text' => $registration_addon['excerpt'],
594 + );
595 + }
596 + if ( ! is_plugin_active( 'formidable-api/formidable-api.php' ) && isset( $api_addon['url'] ) ) {
597 + self::$available_addons['formidable-api'] = array(
598 + 'title' => esc_html__( 'Form Rest API', 'formidable' ),
599 + 'rel' => $api_addon['url'],
600 + 'is-checked' => false,
601 + 'help-text' => $api_addon['excerpt'],
602 + );
603 + }
604 + if ( class_exists( 'ACF' ) && ! is_plugin_active( 'formidable-acf/formidable-acf.php' ) && isset( $acf_addon['url'] ) ) {
605 + self::$available_addons['formidable-acf'] = array(
606 + 'title' => esc_html__( 'ACF Forms', 'formidable' ),
607 + 'rel' => $acf_addon['url'],
608 + 'is-checked' => false,
609 + 'help-text' => $acf_addon['excerpt'],
610 + );
611 + }
612 + if ( ! is_plugin_active( 'formidable-signature/signature.php' ) && isset( $signature_addon['url'] ) ) {
613 + self::$available_addons['formidable-signature'] = array(
614 + 'title' => esc_html__( 'Signature Forms', 'formidable' ),
615 + 'rel' => $signature_addon['url'],
616 + 'is-checked' => false,
617 + 'help-text' => $signature_addon['excerpt'],
618 + );
619 + }
658 620 }//end if
659 -
660 - // Gravity Forms Migrator add-on.
661 - $gravity_forms_plugin = 'formidable-gravity-forms-importer/formidable-gravity-forms-importer.php';
662 -
663 - if ( ! class_exists( 'GFForms' ) || is_plugin_active( $gravity_forms_plugin ) ) {
664 - return;
621 + if ( class_exists( 'GFForms' ) && ! is_plugin_active( 'formidable-gravity-forms-importer/formidable-gravity-forms-importer.php' ) ) {
622 + self::$available_addons['formidable-gravity-forms-importer'] = array(
623 + 'title' => esc_html__( 'Gravity Forms Migrator', 'formidable' ),
624 + 'rel' => 'formidable-gravity-forms-importer',
625 + 'is-checked' => false,
626 + 'is-vendor' => true,
627 + 'help-text' => esc_html__( 'Easily migrate your forms from Gravity Forms to Formidable.', 'formidable' ),
628 + );
665 629 }
666 -
667 - $is_installed_gravity_forms = array_key_exists( $gravity_forms_plugin, $plugins );
668 -
669 - self::$available_addons['formidable-gravity-forms-importer'] = array(
670 - 'title' => esc_html__( 'Gravity Forms Migrator', 'formidable' ),
671 - 'rel' => $is_installed_gravity_forms ? $gravity_forms_plugin : 'formidable-gravity-forms-importer',
672 - 'is-checked' => false,
673 - 'is-vendor' => true,
674 - 'is-installed' => $is_installed_gravity_forms,
675 - 'help-text' => esc_html__( 'Easily migrate your forms from Gravity Forms to Formidable.', 'formidable' ),
676 - );
677 630 }
678 631
679 632 /**
680 633 * Get the path to the Onboarding Wizard views.
@@ -706,19 +659,6 @@
706 659 * @return array Current usage data.
707 660 */
708 661 public static function get_usage_data() {
709 662 return get_option( self::USAGE_DATA_OPTION, array() );
710 - }
711 -
712 - /**
713 - * Validates if the Onboarding Wizard page is being displayed.
714 - *
715 - * @since 6.9
716 - * @deprecated 6.16
717 - *
718 - * @return bool True if the Onboarding Wizard page is displayed, false otherwise.
719 - */
720 - public static function is_onboarding_wizard_displayed() {
721 - _deprecated_function( __METHOD__, '6.16' );
722 - return get_transient( self::TRANSIENT_NAME ) === self::TRANSIENT_VALUE;
723 663 }
724 664 }