File manager - Edit - /home/verseaumee/maze/wp-content/plugins/woocommerce-paypal-payments/modules/ppcp-blocks/src/BlocksModule.php
Back
<?php /** * The blocks module. * * @package WooCommerce\PayPalCommerce\Blocks */ declare (strict_types=1); namespace WooCommerce\PayPalCommerce\Blocks; use Automattic\WooCommerce\Blocks\Payments\PaymentMethodRegistry; use WooCommerce\PayPalCommerce\Assets\AssetGetter; use WooCommerce\PayPalCommerce\Blocks\Endpoint\UpdateShippingEndpoint; use WooCommerce\PayPalCommerce\Button\Assets\SmartButtonInterface; use WooCommerce\PayPalCommerce\Vendor\Inpsyde\Modularity\Module\ExecutableModule; use WooCommerce\PayPalCommerce\Vendor\Inpsyde\Modularity\Module\ExtendingModule; use WooCommerce\PayPalCommerce\Vendor\Inpsyde\Modularity\Module\ModuleClassNameIdTrait; use WooCommerce\PayPalCommerce\Vendor\Inpsyde\Modularity\Module\ServiceModule; use WooCommerce\PayPalCommerce\Vendor\Psr\Container\ContainerInterface; /** * Class BlocksModule */ class BlocksModule implements ServiceModule, ExtendingModule, ExecutableModule { use ModuleClassNameIdTrait; /** * {@inheritDoc} */ public function services(): array { return require __DIR__ . '/../services.php'; } /** * {@inheritDoc} */ public function extensions(): array { return require __DIR__ . '/../extensions.php'; } /** * {@inheritDoc} */ public function run(ContainerInterface $c): bool { if (!class_exists('Automattic\WooCommerce\Blocks\Payments\Integrations\AbstractPaymentMethodType') || !function_exists('woocommerce_store_api_register_payment_requirements')) { add_action('admin_notices', function () { printf('<div class="notice notice-error"><p>%1$s</p></div>', wp_kses_post(__('PayPal checkout block initialization failed, possibly old WooCommerce version or disabled WooCommerce Blocks plugin.', 'woocommerce-paypal-payments'))); }); return \true; } add_action('woocommerce_blocks_payment_method_type_registration', function (PaymentMethodRegistry $payment_method_registry) use ($c): void { $payment_method_registry->register($c->get('blocks.method')); $payment_method_registry->register($c->get('blocks.advanced-card-method')); }); woocommerce_store_api_register_payment_requirements(array('data_callback' => function () use ($c): array { $smart_button = $c->get('button.smart-button'); assert($smart_button instanceof SmartButtonInterface); if (isset($smart_button->script_data()['continuation'])) { return array('ppcp_continuation'); } return array(); })); add_action('wc_ajax_' . UpdateShippingEndpoint::ENDPOINT, static function () use ($c) { $endpoint = $c->get('blocks.endpoint.update-shipping'); assert($endpoint instanceof UpdateShippingEndpoint); $endpoint->handle_request(); }); // Enqueue frontend scripts. add_action('wp_enqueue_scripts', static function () use ($c) { if (!has_block('woocommerce/checkout') && !has_block('woocommerce/cart')) { return; } $asset_getter = $c->get('blocks.asset_getter'); assert($asset_getter instanceof AssetGetter); $asset_version = $c->get('ppcp.asset-version'); wp_register_style('wc-ppcp-blocks', $asset_getter->get_asset_url('gateway.css'), array(), $asset_version); wp_enqueue_style('wc-ppcp-blocks'); }); // Enqueue editor styles. add_action('enqueue_block_editor_assets', static function () use ($c) { $asset_getter = $c->get('blocks.asset_getter'); assert($asset_getter instanceof AssetGetter); $asset_version = $c->get('ppcp.asset-version'); wp_register_style('wc-ppcp-blocks-editor', $asset_getter->get_asset_url('gateway-editor.css'), array(), $asset_version); wp_enqueue_style('wc-ppcp-blocks-editor'); }); add_filter('woocommerce_paypal_payments_sdk_components_hook', function (array $components, string $context) { if (substr($context, -6) === '-block') { $components[] = 'buttons'; } return $components; }, 10, 2); return \true; } }
| ver. 1.4 |
Github
|
.
| PHP 8.5.7 | Generation time: 0 |
proxy
|
phpinfo
|
Settings