/** * Checks on each admin page load if Subscriptions plugin is activated. * * Apparently the official WP API is "lame" and it's far better to use an upgrade routine fired on admin_init: http://core.trac.wordpress.org/ticket/14170 * * @since 1.1 */ public static function maybe_activate_woocommerce_subscriptions() { $is_active = get_option(WC_Subscriptions_Admin::$option_prefix . '_is_active', false); if (false == $is_active) { // Add the "Subscriptions" product type if (!get_term_by('slug', self::$name, 'product_type')) { wp_insert_term(self::$name, 'product_type'); } // Maybe add the "Variable Subscriptions" product type if (!get_term_by('slug', 'variable-subscription', 'product_type')) { wp_insert_term(__('Variable Subscription', 'woocommerce-subscriptions'), 'product_type'); } // If no Subscription settings exist, its the first activation, so add defaults if (get_option(WC_Subscriptions_Admin::$option_prefix . '_cancelled_role', false) == false) { WC_Subscriptions_Admin::add_default_settings(); } // if this is the first time activating WooCommerce Subscription we want to enable PayPal debugging by default. if ('0' == get_option(WC_Subscriptions_Admin::$option_prefix . '_previous_version', '0') && false == get_option(WC_Subscriptions_admin::$option_prefix . '_paypal_debugging_default_set', false)) { $paypal_settings = get_option('woocommerce_paypal_settings'); $paypal_settings['debug'] = 'yes'; update_option('woocommerce_paypal_settings', $paypal_settings); update_option(WC_Subscriptions_admin::$option_prefix . '_paypal_debugging_default_set', 'true'); } add_option(WC_Subscriptions_Admin::$option_prefix . '_is_active', true); set_transient(self::$activation_transient, true, 60 * 60); do_action('woocommerce_subscriptions_activated'); } }
/** * Checks on each admin page load if Subscriptions plugin is activated. * * Apparently the official WP API is "lame" and it's far better to use an upgrade routine fired on admin_init: http://core.trac.wordpress.org/ticket/14170 * * @since 1.1 */ public static function maybe_activate_woocommerce_subscriptions() { global $wpdb; $is_active = get_option(WC_Subscriptions_Admin::$option_prefix . '_is_active', false); if ($is_active == false) { // Add the "Subscriptions" product type if (!get_term_by('slug', self::$name, 'product_type')) { wp_insert_term(self::$name, 'product_type'); } // If no Subscription settings exist, its the first activation, so add defaults if (get_option(WC_Subscriptions_Admin::$option_prefix . '_cancelled_role', false) == false) { WC_Subscriptions_Admin::add_default_settings(); } add_option(WC_Subscriptions_Admin::$option_prefix . '_is_active', true); set_transient(self::$activation_transient, true, 60 * 60); do_action('woocommerce_subscriptions_activated'); } }
public static function maybe_activate_woocommerce_subscriptions() { global $wpdb; $is_active = get_option(WC_Subscriptions_Admin::$option_prefix . '_is_active', false); $active_version = get_option(WC_Subscriptions_Admin::$option_prefix . '_active_version', '0'); if ($is_active == false || version_compare($active_version, self::$version, '<')) { // Update meta keys for 1.1 to 1.1.1 multisite changes if (version_compare($active_version, '1.1.1', '<')) { $updated_count = $wpdb->update($wpdb->usermeta, array('meta_key' => $wpdb->get_blog_prefix() . WC_Subscriptions_Manager::$users_meta_key), array('meta_key' => WC_Subscriptions_Manager::$users_meta_key)); } // Fix any products that were incorrectly added as a subscription for a user in 1.1.2 if (version_compare($active_version, '1.1.3', '<')) { foreach (get_users() as $user) { $users_subscriptions = WC_Subscriptions_Manager::get_users_subscriptions($user->ID); foreach ($users_subscriptions as $subscription_key => $subscription_details) { if (!isset($subscription_details['order_id'])) { WC_Subscriptions_Manager::remove_users_subscription($user->ID, $subscription_key); } } } } // Add the "Subscriptions" product type if it doesn't exist if (!get_term_by('slug', sanitize_title(self::$name), 'product_type')) { wp_insert_term(self::$name, 'product_type'); } // If no Subscription settings exist, add defaults if (get_option(WC_Subscriptions_Admin::$option_prefix . '_cancelled_role', false) == false) { WC_Subscriptions_Admin::add_default_settings(); } add_option(WC_Subscriptions_Admin::$option_prefix . '_is_active', true); update_option(WC_Subscriptions_Admin::$option_prefix . '_active_version', self::$version); set_transient(self::$activation_transient, true, 60 * 60); do_action('woocommerce_subscriptions_activated'); } }