From fbd95d37195a6cc25ca1f7de91513f01e9fa1e33 Mon Sep 17 00:00:00 2001
From: Bart Jaskulski <bjaskulski@protonmail.com>
Date: Thu, 29 Jun 2023 09:14:30 +0200
Subject: [PATCH] fix: compare plugin version with equity

Previous bug caused issues when requiring exact minimum version of
plugin specified by SemVer X.Y.Z, as Z part was not compared for equity,
but was only checked if the version was lower. This led to situations
when requiring (and having activated) plugin in 1.1.1 version actually
required plugin in version 1.1.2 to work correctly.

Signed-off-by: Bart Jaskulski <bjaskulski@protonmail.com>
---
 src/Basic_Requirement_Checker.php | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/Basic_Requirement_Checker.php b/src/Basic_Requirement_Checker.php
index 6b5a6e0..dcac407 100644
--- a/src/Basic_Requirement_Checker.php
+++ b/src/Basic_Requirement_Checker.php
@@ -333,7 +333,7 @@ if ( ! class_exists( 'WPDesk_Basic_Requirement_Checker' ) ) {
 			$required_plugins = $this->retrieve_required_plugins_data();
 			if ( count( $required_plugins ) > 0 ) {
 				foreach ( $required_plugins as $plugin ) {
-					if ( version_compare( $plugin['Version'], $plugin[ self::PLUGIN_INFO_APPEND_PLUGIN_DATA ], '<' ) ) {
+					if ( version_compare( $plugin['Version'], $plugin[ self::PLUGIN_INFO_APPEND_PLUGIN_DATA ], '<=' ) ) {
 						$notices[] = $this->prepare_notice_message(
 							sprintf(
 								__( 'The &#8220;%1$s&#8221; plugin requires at least %2$s version of %3$s to work correctly. Please update it to its latest release.', $this->get_text_domain() ),
-- 
GitLab