<?php /** * WooCommerce Admin: Update version reminder note. * * Creates a note to nudge users to use the newer version when two are installed. */ namespace Automattic\WooCommerce\Admin\Notes; defined( 'ABSPATH' ) || exit; /** * Deactivate_Plugin. */ class DeactivatePlugin { /** * Note traits. */ use NoteTraits; /** * Name of the note for use in the database. */ const NOTE_NAME = 'wc-admin-deactivate-plugin'; /** * Attach hooks. */ public function __construct() { add_action( 'init', array( $this, 'deactivate_feature_plugin' ) ); } /** * Get the note. * * @return Note */ public static function get_note() { $note = new Note(); $note->set_title( __( 'Deactivate old WooCommerce Admin version', 'woocommerce' ) ); $note->set_content( __( 'Your current version of WooCommerce Admin is outdated and a newer version is included with WooCommerce. We recommend deactivating the plugin and using the stable version included with WooCommerce.', 'woocommerce' ) ); $note->set_type( Note::E_WC_ADMIN_NOTE_INFORMATIONAL ); $note->set_name( self::NOTE_NAME ); $note->set_content_data( (object) array() ); $note->set_source( 'woocommerce-admin' ); $note->add_action( 'deactivate-feature-plugin', __( 'Deactivate', 'woocommerce' ), wc_admin_url( '&action=deactivate-feature-plugin' ), Note::E_WC_ADMIN_NOTE_UNACTIONED, true ); return $note; } /** * Delete the note if the version is higher than the included. */ public static function delete_note() { Notes::delete_notes_with_name( self::NOTE_NAME ); } /** * Deactivate feature plugin. */ public function deactivate_feature_plugin() { /* phpcs:disable WordPress.Security.NonceVerification */ if ( ! isset( $_GET['page'] ) || 'wc-admin' !== $_GET['page'] || ! isset( $_GET['action'] ) || 'deactivate-feature-plugin' !== $_GET['action'] || ! defined( 'WC_ADMIN_PLUGIN_FILE' ) ) { return; } /* phpcs:enable */ $deactivate_url = admin_url( 'plugins.php?action=deactivate&plugin=' . rawurlencode( WC_ADMIN_PLUGIN_FILE ) . '&plugin_status=all&paged=1&_wpnonce=' . wp_create_nonce( 'deactivate-plugin_' . WC_ADMIN_PLUGIN_FILE ) ); wp_safe_redirect( $deactivate_url ); exit; } }