id ) || ! in_array( $current_screen->id, $screens, true ) ) { return; } $version_path = monsterinsights_is_pro_version() ? 'pro' : 'lite'; if ( ! defined( 'MONSTERINSIGHTS_LOCAL_JS_URL' ) ) { MonsterInsights_Admin_Assets::enqueue_script_specific_css( 'src/modules/wizard-onboarding/wizard.js' ); } $app_js_url = MonsterInsights_Admin_Assets::get_js_url( 'src/modules/wizard-onboarding/wizard.js' ); wp_register_script( 'monsterinsights-vue-script', $app_js_url, array( 'wp-i18n' ), monsterinsights_get_asset_version(), true ); wp_enqueue_script( 'monsterinsights-vue-script' ); $user_data = wp_get_current_user(); wp_localize_script( 'monsterinsights-vue-script', 'monsterinsights', array( 'ajax' => add_query_arg( 'page', 'monsterinsights-onboarding', admin_url( 'admin-ajax.php' ) ), 'nonce' => wp_create_nonce( 'mi-admin-nonce' ), 'network' => is_network_admin(), 'assets' => plugins_url( $version_path . '/assets/vue', MONSTERINSIGHTS_PLUGIN_FILE ), 'roles' => monsterinsights_get_roles(), 'roles_manage_options' => monsterinsights_get_manage_options_roles(), 'shareasale_id' => monsterinsights_get_shareasale_id(), 'shareasale_url' => monsterinsights_get_shareasale_url( monsterinsights_get_shareasale_id(), '' ), // Used to add notices for future deprecations. 'versions' => monsterinsights_get_php_wp_version_warning_data(), 'plugin_version' => MONSTERINSIGHTS_VERSION, 'first_name' => ! empty( $user_data->first_name ) ? $user_data->first_name : '', 'exit_url' => add_query_arg( 'page', 'monsterinsights_settings', admin_url( 'admin.php' ) ), 'had_ecommerce' => monsterinsights_get_option( 'gadwp_ecommerce', false ), ) ); $text_domain = monsterinsights_get_plugin_textdomain(); wp_scripts()->add_inline_script( 'monsterinsights-vue-script', monsterinsights_get_printable_translations( $text_domain ), 'translation' ); } /** * Load the welcome screen content. */ public function welcome_screen() { do_action( 'monsterinsights_head' ); monsterinsights_settings_error_page( $this->get_screen_id() ); monsterinsights_settings_inline_js(); } /** * Get the screen id to control which Vue component is loaded. * * @return string */ public function get_screen_id() { $screen_id = 'monsterinsights-welcome'; if ( defined( 'EXACTMETRICS_VERSION' ) && function_exists( 'ExactMetrics' ) ) { $migrated = monsterinsights_get_option( 'gadwp_migrated', 0 ); if ( time() - $migrated < HOUR_IN_SECONDS || isset( $_GET['monsterinsights-migration'] ) ) { $screen_id = 'monsterinsights-migration-wizard'; } } return $screen_id; } } new MonsterInsights_Welcome();