woocommerce/plugins/woocommerce-beta-tester/api/api.php

71 lines
2.2 KiB
PHP
Raw Normal View History

2021-03-01 03:57:53 +00:00
<?php
/**
* API initialization for beta testing.
*
* @package WC_Beta_Tester
*/
2021-03-04 02:36:13 +00:00
2023-08-09 00:20:34 +00:00
defined( 'ABSPATH' ) || exit;
/**
* Register the test helper route.
*
* @param string $route Route path.
* @param string $callback Callback function name.
* @param array $additional_options Additional options passed to route registration.
*/
function register_woocommerce_admin_test_helper_rest_route( $route, $callback, $additional_options = array() ) {
add_action(
'rest_api_init',
function () use ( $route, $callback, $additional_options ) {
$default_options = array(
'methods' => 'POST',
'callback' => $callback,
'permission_callback' => function ( $request ) {
if ( ! wc_rest_check_manager_permissions( 'settings', 'edit' ) ) {
return new \WP_Error(
'woocommerce_rest_cannot_edit',
2023-08-09 00:20:34 +00:00
__( 'Sorry, you cannot perform this action', 'woocommerce-beta-tester' )
);
}
return true;
},
);
2021-03-04 02:36:13 +00:00
$default_options = array_merge( $default_options, $additional_options );
2021-03-04 02:36:13 +00:00
register_rest_route(
'wc-admin-test-helper',
$route,
$default_options
);
}
);
2021-03-03 06:27:47 +00:00
}
require 'admin-notes/delete-all-notes.php';
require 'admin-notes/add-note.php';
require 'tools/trigger-wca-install.php';
require 'tools/trigger-cron-job.php';
require 'tools/run-wc-admin-daily.php';
require 'options/rest-api.php';
require 'tools/delete-all-products.php';
require 'tools/disable-wc-email.php';
require 'tools/trigger-update-callbacks.php';
require 'tools/reset-cys.php';
require 'tools/set-block-template-logging-threshold.php';
require 'tools/set-coming-soon-mode.php';
require 'tools/fake-woo-payments-gateway.php';
require 'tracks/class-tracks-debug-log.php';
require 'features/features.php';
2023-08-09 00:20:34 +00:00
require 'rest-api-filters/class-wca-test-helper-rest-api-filters.php';
require 'rest-api-filters/hook.php';
require 'live-branches/manifest.php';
require 'live-branches/install.php';
require 'remote-spec-validator/class-wca-test-helper-remote-spec-validator.php';
require 'remote-inbox-notifications/class-wca-test-helper-remote-inbox-notifications.php';
require 'remote-logging/remote-logging.php';
require 'tools/wccom-request-errors.php';
[Beta tester] Add tool for changing woocommerce.com base URL (#51537) * Refactor WooCommerce Helper class This commit refactors the WooCommerce Helper class in the `class-wc-helper.php` file. The changes include: - Updating the comparison operator from `==` to `===` in the `activate_plugin` condition. - Renaming the `get_install_base_url` method to `get_woocommerce_com_base_url`. - Adding a new `get_install_base_url` method that returns the base URL for the plugin auto installer. These changes improve the readability and maintainability of the code. * Refactor data source poller classes for marketing recommendations, payment gateway suggestions, shipping partner suggestions, inbox notifications, remote free extensions, and WooPayments promotion - Refactor the data source poller classes for marketing recommendations, payment gateway suggestions, shipping partner suggestions, inbox notifications, remote free extensions, and WooPayments promotion to use a dynamic base URL for the data sources. - Update the deprecated DATA_SOURCES constant to an empty array in each class. - Add a new method get_data_sources() in each class to return the updated data sources with the dynamic base URL. - Modify the constructor of each class to use the get_data_sources() method instead of the deprecated DATA_SOURCES constant. * Add changelog * Add set-woocom-base-url tool * Add changelog * Rename woo_com and woocom -> wccom * Change to falsy check !url * Change woocom/WOOCOM to wccom/WCCOM * Change default value to https://woocommerce.com/ --------- Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
2024-09-24 11:37:57 +00:00
require 'tools/set-wccom-base-url.php';
require 'tools/reset-launch-your-store.php';