automatewoo/includes/Notifications/PHPMinVersionCheck.php
fei-source 47d3c9a8b6 Update to v6.2.2
Source: GrootMade/Festinger Vault
2026-03-15 08:31:15 +08:00

73 lines
1.8 KiB
PHP

<?php
namespace AutomateWoo\Notifications;
use Automattic\WooCommerce\Admin\Notes\NoteTraits;
defined( 'ABSPATH' ) || exit;
/**
* Class to add Inbox Notification if the minimum version of PHP supported by AutomateWoo is installed.
*
* @since 5.8.5
*
* @package AutomateWoo\Notifications
*/
class PHPMinVersionCheck extends AbstractNotification {
use NoteTraits;
const NOTE_NAME = 'automatewoo-php-minimum-version-check';
/**
* When to process this notification.
*
* @return string
*/
public function notification_type(): string {
return Notifications::INSTANT;
}
/**
* Get the title of the notification.
*
* @return string
*/
public static function get_title(): string {
return __( 'PHP Outdated', 'automatewoo' );
}
/**
* Get the contents of the notification.
*
* @return string
*/
public static function get_content(): string {
/* translators: Current PHP version. */
return sprintf( __( 'AutomateWoo may drop support for the version of PHP currently running your website (%s). Please contact your web host to update to the latest version.', 'automatewoo' ), phpversion() );
}
/**
* Check if the notification should be added.
*
* @return bool
*/
public function should_be_added(): bool {
return version_compare( $this->get_major_minor_version( phpversion() ), $this->get_major_minor_version( AUTOMATEWOO_MIN_PHP_VER ), '==' );
}
/**
* Return only the major and minor version number.
*
* @param string $version_number The version number to process
*
* @return string
*/
public function get_major_minor_version( $version_number ): string {
if ( 2 <= substr_count( $version_number, '.' ) ) {
$parts = explode( '.', $version_number );
$version_number = $parts[0] . '.' . $parts[1];
}
return $version_number;
}
}