OwlCyberSecurity - MANAGER
Edit File: class-wc-woo-update-manager-plugin.php
<?php /** * A utility class for Woo Update Manager plugin. * * @class WC_Woo_Update_Manager_Plugin * @package WooCommerce\Admin\Helper */ use Automattic\WooCommerce\Admin\PageController; if ( ! defined( 'ABSPATH' ) ) { exit; } /** * WC_Helper_Plugin Class * * Contains the logic to manage the Woo Update Manager plugin. */ class WC_Woo_Update_Manager_Plugin { const WOO_UPDATE_MANAGER_PLUGIN_MAIN_FILE = 'woo-update-manager/woo-update-manager.php'; const WOO_UPDATE_MANAGER_DOWNLOAD_URL = 'https://woocommerce.com/product-download/woo-update-manager'; const WOO_UPDATE_MANAGER_SLUG = 'woo-update-manager'; /** * Loads the class, runs on init. * * @return void */ public static function load(): void { add_action( 'admin_notices', array( __CLASS__, 'show_woo_update_manager_install_notice' ) ); } /** * Check if the Woo Update Manager plugin is active. * * @return bool */ public static function is_plugin_active(): bool { return is_plugin_active_for_network( self::WOO_UPDATE_MANAGER_PLUGIN_MAIN_FILE ) || is_plugin_active( self::WOO_UPDATE_MANAGER_PLUGIN_MAIN_FILE ); } /** * Check if the Woo Update Manager plugin is installed. * * @return bool */ public static function is_plugin_installed(): bool { return file_exists( WP_PLUGIN_DIR . '/' . self::WOO_UPDATE_MANAGER_PLUGIN_MAIN_FILE ); } /** * Generate the URL to install the Woo Update Manager plugin. * * @return string */ public static function generate_install_url(): string { $install_url = WC_Helper::get_install_base_url() . self::WOO_UPDATE_MANAGER_SLUG . '/'; return WC_Helper_API::add_auth_parameters( $install_url ); } /** * Get the id of the Woo Update Manager plugin. * * @return int */ public static function get_plugin_slug(): string { return self::WOO_UPDATE_MANAGER_SLUG; } /** * Show a notice on the WC admin pages to install or activate the Woo Update Manager plugin. * * @return void */ public static function show_woo_update_manager_install_notice(): void { if ( ! current_user_can( 'install_plugins' ) ) { return; } if ( ! WC_Helper::is_site_connected() ) { return; } if ( ! PageController::is_admin_or_embed_page() ) { return; } if ( self::is_plugin_installed() && self::is_plugin_active() ) { return; } if ( ! self::is_plugin_installed() ) { if ( self::install_admin_notice_dismissed() ) { return; } include __DIR__ . '/views/html-notice-woo-updater-not-installed.php'; return; } if ( self::activate_admin_notice_dismissed() ) { return; } include __DIR__ . '/views/html-notice-woo-updater-not-activated.php'; } /** * Check if the installation notice has been dismissed. * * @return bool */ protected static function install_admin_notice_dismissed(): bool { return get_user_meta( get_current_user_id(), 'dismissed_woo_updater_not_installed_notice', true ); } /** * Check if the activation notice has been dismissed. * * @return bool */ protected static function activate_admin_notice_dismissed(): bool { return get_user_meta( get_current_user_id(), 'dismissed_woo_updater_not_activated_notice', true ); } } WC_Woo_Update_Manager_Plugin::load();