From 577e5c54d20555081c299ebe562c6c300e09a39b Mon Sep 17 00:00:00 2001 From: Alex P Date: Wed, 23 Feb 2022 17:28:52 +0200 Subject: [PATCH 1/2] Require plugin.php if no get_plugin_data it is not included automatically by wp --- src/FilePathPluginFactory.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/FilePathPluginFactory.php b/src/FilePathPluginFactory.php index c1527e0a2..ae7fc7a02 100644 --- a/src/FilePathPluginFactory.php +++ b/src/FilePathPluginFactory.php @@ -56,6 +56,10 @@ class FilePathPluginFactory implements FilePathPluginFactoryInterface { ); } + if ( ! function_exists( 'get_plugin_data' ) ) { + require_once ABSPATH . 'wp-admin/includes/plugin.php'; + } + $plugin_data = get_plugin_data( $filePath ); if ( empty( $plugin_data ) ) { throw new UnexpectedValueException( From a38ebfae04e85fa12c36d2dfcf07ca8c02b5692e Mon Sep 17 00:00:00 2001 From: Alex P Date: Wed, 23 Feb 2022 17:35:17 +0200 Subject: [PATCH 2/2] Fix linter errors --- .../src/Processor/PaymentsStatusHandlingTrait.php | 3 +++ src/FilePathPluginFactory.php | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/modules/ppcp-wc-gateway/src/Processor/PaymentsStatusHandlingTrait.php b/modules/ppcp-wc-gateway/src/Processor/PaymentsStatusHandlingTrait.php index 6295002c5..e1f4f9654 100644 --- a/modules/ppcp-wc-gateway/src/Processor/PaymentsStatusHandlingTrait.php +++ b/modules/ppcp-wc-gateway/src/Processor/PaymentsStatusHandlingTrait.php @@ -63,6 +63,9 @@ trait PaymentsStatusHandlingTrait { switch ( $status->name() ) { case CaptureStatus::COMPLETED: $wc_order->payment_complete(); + /** + * Fired when PayPal order is captured. + */ do_action( 'woocommerce_paypal_payments_order_captured', $wc_order, $capture ); break; // It is checked in the capture endpoint already, but there are other ways to capture, diff --git a/src/FilePathPluginFactory.php b/src/FilePathPluginFactory.php index ae7fc7a02..937a0164f 100644 --- a/src/FilePathPluginFactory.php +++ b/src/FilePathPluginFactory.php @@ -57,6 +57,12 @@ class FilePathPluginFactory implements FilePathPluginFactoryInterface { } if ( ! function_exists( 'get_plugin_data' ) ) { + /** + * Skip check for WP files and constants. + * + * @psalm-suppress UnresolvableInclude + * @psalm-suppress UndefinedConstant + */ require_once ABSPATH . 'wp-admin/includes/plugin.php'; }