From 8521cd700678bff5fb50fb6f925488a632fefc34 Mon Sep 17 00:00:00 2001
From: dyszczo <krzysztof.dyszczyk@gmail.com>
Date: Wed, 18 Sep 2019 20:23:59 +0200
Subject: [PATCH] faster check

---
 CHANGELOG.md                      |  1 +
 src/Basic_Requirement_Checker.php | 16 +++++++---------
 2 files changed, 8 insertions(+), 9 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index f430cf5..47ac443 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,7 @@
 ### Fixed
 - Better new error messages display
 - get_plugins function loaded from wp-admin
+- Faster checks
 
 ## [3.0.0] - 2019-09-17
 ### Changed
diff --git a/src/Basic_Requirement_Checker.php b/src/Basic_Requirement_Checker.php
index 3bd3031..c6fb7fd 100644
--- a/src/Basic_Requirement_Checker.php
+++ b/src/Basic_Requirement_Checker.php
@@ -343,21 +343,19 @@ if ( ! class_exists( 'WPDesk_Basic_Requirement_Checker' ) ) {
 			$name      = $plugin_info[ self::PLUGIN_INFO_KEY_NAME ];
 			$nice_name = $plugin_info[ self::PLUGIN_INFO_KEY_NICE_NAME ];
 
-			if ( ! self::is_wp_plugin_installed( $name ) ) {
-				$install_url = $this->prepare_plugin_repository_install_url( $plugin_info );
-
-				return $this->prepare_notice_message( sprintf( wp_kses( __( 'The &#8220;%s&#8221; plugin requires free %s plugin. <a href="%s">Install %s →</a>',
-					$this->get_text_domain() ), array( 'a' => array( 'href' => array() ) ) ),
-					$this->plugin_name, $nice_name, esc_url( $install_url ), $nice_name ) );
-			}
-
 			if ( ! self::is_wp_plugin_active( $name ) ) {
+				if ( ! self::is_wp_plugin_installed( $name ) ) {
+					$install_url = $this->prepare_plugin_repository_install_url( $plugin_info );
+
+					return $this->prepare_notice_message( sprintf( wp_kses( __( 'The &#8220;%s&#8221; plugin requires free %s plugin. <a href="%s">Install %s →</a>',
+						$this->get_text_domain() ), array( 'a' => array( 'href' => array() ) ) ),
+						$this->plugin_name, $nice_name, esc_url( $install_url ), $nice_name ) );
+				}
 				$activate_url = 'plugins.php?action=activate&plugin=' . urlencode( $plugin_info[ self::PLUGIN_INFO_KEY_NAME ] ) . '&plugin_status=all&paged=1&s&_wpnonce=' . urlencode( wp_create_nonce( 'activate-plugin_' . $name ) );
 
 				return $this->prepare_notice_message( sprintf( wp_kses( __( 'The &#8220;%s&#8221; plugin requires activating %s plugin. <a href="%s">Activate %s →</a>',
 					$this->get_text_domain() ), array( 'a' => array( 'href' => array() ) ) ),
 					$this->plugin_name, $nice_name, esc_url( admin_url( $activate_url ) ), $nice_name ) );
-
 			}
 
 			return null;
-- 
GitLab