set_basename( false, __FILE__ ); } else { // DO NOT REMOVE THIS IF, IT IS ESSENTIAL FOR THE `function_exists` CALL ABOVE TO PROPERLY WORK. if ( !function_exists( 'ausm_fs' ) ) { // Create a helper function for easy SDK access. function ausm_fs() { global $ausm_fs ; if ( !isset( $ausm_fs ) ) { // Activate multisite network integration. if ( !defined( 'WP_FS__PRODUCT_9804_MULTISITE' ) ) { define( 'WP_FS__PRODUCT_9804_MULTISITE', true ); } // Include Freemius SDK. require_once dirname( __FILE__ ) . '/freemius/start.php'; $ausm_fs = fs_dynamic_init( array( 'id' => '9804', 'slug' => 'advanced-usps-shipping-method', 'type' => 'plugin', 'public_key' => 'pk_7e43862490e02b99c78fa62f0c5e6', 'is_premium' => false, 'premium_suffix' => 'undefined', 'has_addons' => false, 'has_paid_plans' => true, 'trial' => array( 'days' => 14, 'is_require_payment' => true, ), 'menu' => array( 'slug' => 'advanced-usps-shipping-method', 'first-path' => 'admin.php?page=advanced-usps-shipping-method', 'support' => false, ), 'is_live' => true, ) ); } return $ausm_fs; } // Init Freemius. ausm_fs(); // Signal that SDK was initiated. do_action( 'ausm_fs_loaded' ); } // ... Your plugin's main file logic ... } /** * Currently plugin version. */ if ( !defined( 'ADVANCED_USPS_SHIPPING_METHOD_VERSION' ) ) { define( 'ADVANCED_USPS_SHIPPING_METHOD_VERSION', '1.0.0' ); } /** * Define plguin name */ if ( !defined( 'ADVANCED_USPS_SHIPPING_METHOD_NAME' ) ) { define( 'ADVANCED_USPS_SHIPPING_METHOD_NAME', 'Advanced USPS Shipping Method' ); } /** * Define plguin description */ if ( !defined( 'ADVANCED_USPS_SHIPPING_METHOD_DESC' ) ) { define( 'ADVANCED_USPS_SHIPPING_METHOD_DESC', 'This plugin will help you to connect with USPS API and fetch shipping services rate.' ); } /** * Define plguin description */ if ( !defined( 'ADVANCED_USPS_SHIPPING_METHOD_SLUG' ) ) { define( 'ADVANCED_USPS_SHIPPING_METHOD_SLUG', 'advanced-usps-shipping-method' ); } /** * Define plugin URL */ if ( !defined( 'ADVANCED_USPS_SHIPPING_METHOD_URL' ) ) { define( 'ADVANCED_USPS_SHIPPING_METHOD_URL', plugin_dir_url( __FILE__ ) ); } /** * Define plugin directory url */ if ( !defined( 'ADVANCED_USPS_SHIPPING_METHOD_DIR' ) ) { define( 'ADVANCED_USPS_SHIPPING_METHOD_DIR', dirname( __FILE__ ) ); } /** * Define plugin base name like first file call in plugin */ if ( !defined( 'ADVANCED_USPS_SHIPPING_METHOD_BASENAME' ) ) { define( 'ADVANCED_USPS_SHIPPING_METHOD_BASENAME', plugin_basename( __FILE__ ) ); } /** * Define plugin directory path */ if ( !defined( 'ADVANCED_USPS_SHIPPING_METHOD_DIR_PATH' ) ) { define( 'ADVANCED_USPS_SHIPPING_METHOD_DIR_PATH', plugin_dir_path( __FILE__ ) ); } /** * Define plugin status name on whole plugin */ if ( !defined( 'ADVANCED_USPS_SHIPPING_METHOD_VERSION_TYPE' ) ) { if ( ausm_fs()->is__premium_only() && ausm_fs()->can_use_premium_code() ) { define( 'ADVANCED_USPS_SHIPPING_METHOD_VERSION_TYPE', 'Pro Version' ); } else { define( 'ADVANCED_USPS_SHIPPING_METHOD_VERSION_TYPE', 'Free Version' ); } } /** * Define plugin logo URL */ if ( !defined( 'ADVANCED_USPS_SHIPPING_METHOD_LOGO' ) ) { define( 'ADVANCED_USPS_SHIPPING_METHOD_LOGO', ADVANCED_USPS_SHIPPING_METHOD_URL . 'admin/images/advanced-usps-shipping-method.png' ); } /** * The code that runs during plugin activation. * This action is documented in includes/class-advanced-usps-shipping-method-activator.php */ function activate_advanced_usps_shipping_method() { require_once ADVANCED_USPS_SHIPPING_METHOD_DIR_PATH . 'includes/class-advanced-usps-shipping-method-activator.php'; Advanced_Usps_Shipping_Method_Activator::activate(); } /** * The code that runs during plugin deactivation. * This action is documented in includes/class-advanced-usps-shipping-method-deactivator.php */ function deactivate_advanced_usps_shipping_method() { require_once ADVANCED_USPS_SHIPPING_METHOD_DIR_PATH . 'includes/class-advanced-usps-shipping-method-deactivator.php'; Advanced_Usps_Shipping_Method_Deactivator::deactivate(); } register_activation_hook( __FILE__, 'activate_advanced_usps_shipping_method' ); register_deactivation_hook( __FILE__, 'deactivate_advanced_usps_shipping_method' ); /** * User review notice after 7 day */ require ADVANCED_USPS_SHIPPING_METHOD_DIR_PATH . 'includes/class-advanced-usps-shipping-method-user-feedback.php'; /** * Deactivate addon if woocommerce plugin deactivated or not exist */ add_action( 'admin_init', 'ausm_deactivate_plugin' ); if ( !function_exists( 'ausm_deactivate_plugin' ) ) { function ausm_deactivate_plugin() { if ( is_multisite() ) { if ( !array_key_exists( 'woocommerce/woocommerce.php', apply_filters( 'active_plugins', get_site_option( 'active_sitewide_plugins' ) ) ) ) { if ( ausm_fs()->is__premium_only() && ausm_fs()->can_use_premium_code() ) { deactivate_plugins( '/advanced-usps-shipping-method/advanced-usps-shipping-method.php', true ); } else { deactivate_plugins( '/advanced-usps-shipping-method/advanced-usps-shipping-method.php', true ); } } } else { if ( !in_array( 'woocommerce/woocommerce.php', apply_filters( 'active_plugins', get_option( 'active_plugins' ) ), true ) ) { if ( ausm_fs()->is__premium_only() && ausm_fs()->can_use_premium_code() ) { deactivate_plugins( '/advanced-usps-shipping-method/advanced-usps-shipping-method.php', true ); } else { deactivate_plugins( '/advanced-usps-shipping-method/advanced-usps-shipping-method.php', true ); } } } } } /** * The core plugin class that is used to define internationalization, * admin-specific hooks, and public-facing site hooks. */ require plugin_dir_path( __FILE__ ) . 'includes/class-advanced-usps-shipping-method.php'; /** * Begins execution of the plugin. * * Since everything within the plugin is registered via hooks, * then kicking off the plugin from this point in the file does * not affect the page life cycle. * * @since 1.0.0 */ function run_advanced_usps_shipping_method() { $plugin = new Advanced_Usps_Shipping_Method(); $plugin->run(); } run_advanced_usps_shipping_method();