Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
wp-content
/
plugins
/
woocommerce-paypal-payments
/
modules
/
ppcp-wc-gateway
/
src
/
Admin
:
RenderAuthorizeAction.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php /** * Renders the order action "Capture authorized PayPal payment" * * @package WooCommerce\PayPalCommerce\WcGateway\Admin */ declare( strict_types=1 ); namespace WooCommerce\PayPalCommerce\WcGateway\Admin; /** * Class RenderAuthorizeAction */ class RenderAuthorizeAction { /** * The capture info column. * * @var OrderTablePaymentStatusColumn */ private $column; /** * PaymentStatusOrderDetail constructor. * * @param OrderTablePaymentStatusColumn $column The capture info column. */ public function __construct( OrderTablePaymentStatusColumn $column ) { $this->column = $column; } /** * Renders the action into the $order_actions array based on the WooCommerce order. * * @param array $order_actions The actions to render into. * @param \WC_Order $wc_order The order for which to render the action. * * @return array */ public function render( array $order_actions, \WC_Order $wc_order ) : array { if ( ! $this->should_render_for_order( $wc_order ) ) { return $order_actions; } $order_actions['ppcp_authorize_order'] = esc_html__( 'Capture authorized PayPal payment', 'woocommerce-paypal-payments' ); return $order_actions; } /** * Whether the action should be rendered for a certain WooCommerce order. * * @param \WC_Order $order The Woocommerce order. * * @return bool */ private function should_render_for_order( \WC_Order $order ) : bool { $status = $order->get_status(); $not_allowed_statuses = array( 'refunded', 'cancelled', 'failed' ); return $this->column->should_render_for_order( $order ) && ! $this->column->is_captured( $order ) && ! in_array( $status, $not_allowed_statuses, true ); } }