Ejemplo n.º 1
0
 /**
  * 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');
     }
 }