From efe43f1b931caac5c23b9874440a36b6d2a692f7 Mon Sep 17 00:00:00 2001 From: Aleksandar Vucenovic Date: Thu, 13 Jun 2024 14:49:40 +0200 Subject: [PATCH 1/5] Add valid checks slug array and warning for non-existent checks A function return_valid_check_slugs() has been added to the file Abstract_Check_Runner.php to filter out any non-existent checks from the $check_slugs array. It also echos a warning if a slug from the passed array does not exist. This enhancement is reflected in the WP CLI --checks argument as noted in the readme documentation. --- includes/Checker/Abstract_Check_Runner.php | 25 ++++++++++++++++++++++ readme.txt | 1 + 2 files changed, 26 insertions(+) diff --git a/includes/Checker/Abstract_Check_Runner.php b/includes/Checker/Abstract_Check_Runner.php index df8f707ab..649ed7947 100644 --- a/includes/Checker/Abstract_Check_Runner.php +++ b/includes/Checker/Abstract_Check_Runner.php @@ -395,6 +395,7 @@ final public function get_checks_to_run() { require_once ABSPATH . 'wp-admin/includes/plugin.php'; $check_slugs = $this->get_check_slugs(); + $check_slugs = $this->return_valid_check_slugs( $check_slugs ); $check_flags = Check_Repository::TYPE_STATIC; // Check if conditions are met in order to perform Runtime Checks. @@ -423,6 +424,30 @@ final public function get_checks_to_run() { return $collection->to_map(); } + /** + * Returns an array of valid check slugs. + * + * @since 1.0.1 + * + * @param array $check_slugs An array of check slugs to be run. + * + * @return array An array of valid check slugs. + */ + protected function return_valid_check_slugs( array $check_slugs ) { + + $available_checks_slugs = array_keys( $this->check_repository->get_checks( Check_Repository::TYPE_ALL )->to_map() ); + + foreach ( $check_slugs as $slug ) { + if ( ! in_array( $slug, $available_checks_slugs, true ) ) { + echo 'Warning: Check with the slug "' . $slug . '" does not exist.' . PHP_EOL; + $key = array_search( $slug, $check_slugs, true ); + unset( $check_slugs[ $key ] ); + } + } + + return $check_slugs; + } + /** * Creates and returns the Check instance. * diff --git a/readme.txt b/readme.txt index 874cfa044..aa4708707 100644 --- a/readme.txt +++ b/readme.txt @@ -70,6 +70,7 @@ In any case, passing the checks in this tool likely helps to achieve a smooth pl = 1.0.2 = +* Enhancement - Show a warning if a non-existent check if passed to the WP CLI --checks argument. (issue 348) * Fix - Correct detection of readme files in Windows by normalizing file paths. = 1.0.1 = From 20641ac9aee5fb4439add2c8d46529dc82fc5a5d Mon Sep 17 00:00:00 2001 From: Aleksandar Date: Tue, 1 Oct 2024 09:57:53 +0200 Subject: [PATCH 2/5] Update Abstract_Check_Runner.php --- includes/Checker/Abstract_Check_Runner.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/includes/Checker/Abstract_Check_Runner.php b/includes/Checker/Abstract_Check_Runner.php index 746e1ee2b..108e22007 100644 --- a/includes/Checker/Abstract_Check_Runner.php +++ b/includes/Checker/Abstract_Check_Runner.php @@ -513,7 +513,8 @@ protected function return_valid_check_slugs( array $check_slugs ) { return $check_slugs; } - + + /** * Checks whether the current environment allows for runtime checks to be used. * * @since 1.2.0 From 2bbb8899679f905fb8279678e40ef41b41e484d8 Mon Sep 17 00:00:00 2001 From: Aleksandar Date: Tue, 1 Oct 2024 09:58:35 +0200 Subject: [PATCH 3/5] Update Abstract_Check_Runner.php --- includes/Checker/Abstract_Check_Runner.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/includes/Checker/Abstract_Check_Runner.php b/includes/Checker/Abstract_Check_Runner.php index 108e22007..1988db047 100644 --- a/includes/Checker/Abstract_Check_Runner.php +++ b/includes/Checker/Abstract_Check_Runner.php @@ -512,7 +512,7 @@ protected function return_valid_check_slugs( array $check_slugs ) { } return $check_slugs; - } + } /** * Checks whether the current environment allows for runtime checks to be used. From 3fff20566e19898c71f39e84376b6e5f8b09f865 Mon Sep 17 00:00:00 2001 From: Aleksandar Date: Tue, 1 Oct 2024 10:00:41 +0200 Subject: [PATCH 4/5] Update Abstract_Check_Runner.php --- includes/Checker/Abstract_Check_Runner.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/includes/Checker/Abstract_Check_Runner.php b/includes/Checker/Abstract_Check_Runner.php index 1988db047..9c0593720 100644 --- a/includes/Checker/Abstract_Check_Runner.php +++ b/includes/Checker/Abstract_Check_Runner.php @@ -512,9 +512,9 @@ protected function return_valid_check_slugs( array $check_slugs ) { } return $check_slugs; - } + } - /** + /** * Checks whether the current environment allows for runtime checks to be used. * * @since 1.2.0 From 884d424ba5866835da2ed1f0e5c1326ea130f6b5 Mon Sep 17 00:00:00 2001 From: Aleksandar Vucenovic Date: Tue, 1 Oct 2024 10:06:01 +0200 Subject: [PATCH 5/5] removed space --- includes/Checker/Abstract_Check_Runner.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/includes/Checker/Abstract_Check_Runner.php b/includes/Checker/Abstract_Check_Runner.php index 9c0593720..4429de87a 100644 --- a/includes/Checker/Abstract_Check_Runner.php +++ b/includes/Checker/Abstract_Check_Runner.php @@ -513,7 +513,7 @@ protected function return_valid_check_slugs( array $check_slugs ) { return $check_slugs; } - + /** * Checks whether the current environment allows for runtime checks to be used. *