%PDF- %PDF-
Direktori : /home/t/r/a/tradesc/www/relax/wp-content/plugins/woocommerce/src/Admin/Features/Blueprint/ |
Current File : /home/t/r/a/tradesc/www/relax/wp-content/plugins/woocommerce/src/Admin/Features/Blueprint/Init.php |
<?php declare( strict_types = 1 ); namespace Automattic\WooCommerce\Admin\Features\Blueprint; use Automattic\WooCommerce\Admin\Features\Blueprint\Exporters\ExportWCCoreProfilerOptions; use Automattic\WooCommerce\Admin\Features\Blueprint\Exporters\ExportWCPaymentGateways; use Automattic\WooCommerce\Admin\Features\Blueprint\Exporters\ExportWCSettings; use Automattic\WooCommerce\Admin\Features\Blueprint\Exporters\ExportWCShipping; use Automattic\WooCommerce\Admin\Features\Blueprint\Exporters\ExportWCTaskOptions; use Automattic\WooCommerce\Admin\Features\Blueprint\Exporters\ExportWCTaxRates; use Automattic\WooCommerce\Admin\Features\Blueprint\Importers\ImportSetWCPaymentGateways; use Automattic\WooCommerce\Admin\Features\Blueprint\Importers\ImportSetWCShipping; use Automattic\WooCommerce\Admin\Features\Blueprint\Importers\ImportSetWCTaxRates; use Automattic\WooCommerce\Admin\PageController; use Automattic\WooCommerce\Blueprint\Exporters\StepExporter; use Automattic\WooCommerce\Blueprint\StepProcessor; /** * Class Init * * This class initializes the Blueprint feature for WooCommerce. */ class Init { /** * Init constructor. */ public function __construct() { add_action( 'rest_api_init', array( $this, 'init_rest_api' ) ); add_filter( 'woocommerce_admin_shared_settings', array( $this, 'add_upload_nonce_to_settings' ) ); add_filter( 'wooblueprint_export_landingpage', function () { return 'admin.php?page=wc-admin'; } ); add_filter( 'wooblueprint_exporters', array( $this, 'add_woo_exporters' ) ); add_filter( 'wooblueprint_importers', array( $this, 'add_woo_importers' ) ); } /** * Register REST API routes. * * @return void */ public function init_rest_api() { ( new RestApi() )->register_routes(); } /** * Add upload nonce to global JS settings. * * The value can be accessed at wcSettings.admin.blueprint_upload_nonce * * @param array $settings Global JS settings. * * @return array */ public function add_upload_nonce_to_settings( array $settings ) { if ( ! is_admin() ) { return $settings; } $page_id = PageController::get_instance()->get_current_screen_id(); if ( 'woocommerce_page_wc-admin' === $page_id ) { $settings['blueprint_upload_nonce'] = wp_create_nonce( 'blueprint_upload_nonce' ); return $settings; } return $settings; } /** * Add Woo Specific Exporters. * * @param StepExporter[] $exporters Array of step exporters. * * @return StepExporter[] */ public function add_woo_exporters( array $exporters ) { return array_merge( $exporters, array( new ExportWCCoreProfilerOptions(), new ExportWCSettings(), new ExportWCPaymentGateways(), new ExportWCShipping(), new ExportWCTaskOptions(), new ExportWCTaxRates(), ) ); } /** * Add Woo Specific Importers. * * @param StepProcessor[] $importers Array of step processors. * * @return array */ public function add_woo_importers( array $importers ) { return array_merge( $importers, array( new ImportSetWCPaymentGateways(), new ImportSetWCShipping(), new ImportSetWCTaxRates(), ) ); } }