insights()->init(); $opt_tracker = new \Optemiz\PluginTracker\Tracker(); $opt_tracker->api_url = 'https://happydevs.net'; $opt_tracker->slug = 'advanced-autocomplete-orders-for-woocommerce'; $opt_tracker->plugin_base_path = 'advanced-autocomplete-orders-for-woocommerce/advanced-autocomplete-orders-for-woocommerce.php'; $opt_tracker->insights = new \Optemiz\PluginTracker\Insights(); $opt_tracker->insights->client = $client; $opt_tracker->execute(); } /** * Returns the main instance of AutoComplete_Orders. * * @return AutoComplete_Orders * @since 1.0.0 */ function hawo_autocomplete_orders(): AutoComplete_Orders { return AutoComplete_Orders::instance(); } if ( class_exists( 'Optemiz\AWO\AutoComplete_Orders' ) ) { /** * Plugin class init */ function hawo_autocomplete_orders_init() { if ( ! class_exists( 'WooCommerce', false ) ) { add_action( 'admin_notices', 'hawo_woocommerce_missing_notice' ); return false; } // check if default settings are saved or settings are initialized. hawo_maybe_initialize_settings(); load_plugin_textdomain( 'advanced-autocomplete-orders-for-woocommerce', false, plugin_dir_path( __FILE__ ) . 'languages' ); $GLOBALS['hawo_autocomplete_orders'] = hawo_autocomplete_orders(); hawo_appsero_init_tracker(); } add_action( 'plugins_loaded', 'hawo_autocomplete_orders_init' ); } /** * Notice shown when WooCommerce is not active. * * @return void */ function hawo_woocommerce_missing_notice() { if ( function_exists( 'WC' ) ) { return; } $install_url = self_admin_url( 'plugin-install.php?s=woocommerce&tab=search&type=term' ); $install_url = sprintf( '%s', esc_url( $install_url ), esc_html__( 'WooCommerce', 'advanced-autocomplete-orders-for-woocommerce' ) ); $plugin_name = sprintf( '%s', esc_html__( 'Advanced Autocomplete Orders for WooCommerce', 'advanced-autocomplete-orders-for-woocommerce' ) ); $wc_name = sprintf( '%s', esc_html__( 'WooCommerce', 'advanced-autocomplete-orders-for-woocommerce' ) ); $message = sprintf( /* translators: 1: this plugin name, 2: WooCommerce, 3: WooCommerce install link */ esc_html__( '%1$s requires %2$s to be installed and active. You can installed/activate %3$s here.', 'advanced-autocomplete-orders-for-woocommerce' ), $plugin_name, $wc_name, $install_url ); printf( '

%1$s

', $message ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } function hawo_maybe_initialize_settings() { $settings_initialized = get_option( 'hawo_settings_initialized', false ); if ( ! $settings_initialized ) { $current_settings = get_option( 'hawo_settings', [] ); // If settings are empty or missing critical key, assume it's uninitialized. if ( empty( $current_settings ) || ! isset( $current_settings['enable'] ) ) { $default_settings = [ 'enable' => 1, ]; update_option( 'hawo_settings', $default_settings ); update_option( 'hawo_settings_initialized', 1 ); } } } /** * Save default settings on activation * * @return void */ function hawo_save_default_settings_on_activation() { if ( get_option( 'hawo_settings', false ) === false ) { $default_settings = [ 'enable' => 1, ]; update_option( 'hawo_settings', $default_settings ); update_option( 'hawo_settings_initialized', 1 ); } } register_activation_hook( __FILE__, 'hawo_save_default_settings_on_activation' );