Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
chromed
/
wp-content
/
plugins
/
wpforms-lite
/
src
/
Integrations
/
PayPalCommerce
:
AddonCompatibility.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php namespace WPForms\Integrations\PayPalCommerce; /** * Compatibility with the PayPal addon. * * @since 1.10.0 */ class AddonCompatibility { /** * Minimum compatible version of the PayPal addon. * * @since 1.10.0 */ private const MIN_COMPAT_VERSION = '2.0.0'; /** * Initialization. * * @since 1.10.0 * * @return AddonCompatibility|null */ public function init(): ?AddonCompatibility { return Helpers::is_pro() ? $this : null; } /** * Register hooks. * * @since 1.10.0 */ public function hooks(): void { // Warn the user about the fact that the not supported addon has been installed. add_action( 'admin_notices', [ $this, 'display_legacy_addon_notice' ] ); // Also surface it on the Network Admin dashboard, where the super admin (the only // multisite user who can update plugins) can act on it. Mirrors Requirements::show_notices(). add_action( 'network_admin_notices', [ $this, 'display_legacy_addon_notice' ] ); } /** * Check if the supported PayPal addon is active. * * @since 1.10.0 * * @return bool */ public function is_supported_version(): bool { return ( defined( 'WPFORMS_PAYPAL_COMMERCE_VERSION' ) && version_compare( WPFORMS_PAYPAL_COMMERCE_VERSION, self::MIN_COMPAT_VERSION, '>=' ) ); } /** * Display wp-admin notification saying user first have to update addon to the latest version. * * @since 1.10.0 */ public function display_legacy_addon_notice(): void { // Only users who can update plugins can act on this "out of date" notice. // This notice renders via its own `admin_notices` hook (see hooks()), independently of // Requirements::show_notices(), so this gate is the only thing hiding it from other users. // Do not remove it as "redundant". if ( ! current_user_can( 'update_plugins' ) ) { return; } echo '<div class="notice notice-error"><p>'; esc_html_e( 'The WPForms PayPal Commerce addon is out of date. To avoid payment processing issues, please upgrade the WPForms PayPal Commerce addon to the latest version.', 'wpforms-lite' ); echo '</p></div>'; } }