52 lines
1.1 KiB
PHP
52 lines
1.1 KiB
PHP
<?php
|
|
|
|
if ( ! defined( 'ABSPATH' ) ) {
|
|
exit;
|
|
}
|
|
|
|
if ( class_exists( 'WC_REST_Connect_Tos_Controller' ) ) {
|
|
return;
|
|
}
|
|
|
|
class WC_REST_Connect_Tos_Controller extends WC_REST_Connect_Base_Controller {
|
|
|
|
protected $rest_base = 'connect/tos';
|
|
|
|
public function get() {
|
|
return new WP_REST_Response(
|
|
array(
|
|
'success' => true,
|
|
'accepted' => WC_Connect_Options::get_option( 'tos_accepted' ),
|
|
),
|
|
200
|
|
);
|
|
}
|
|
|
|
public function post( $request ) {
|
|
$settings = $request->get_json_params();
|
|
|
|
if ( ! $settings || ! isset( $settings['accepted'] ) || ! $settings['accepted'] ) {
|
|
return new WP_Error( 'bad_request', __( 'Bad request', 'woocommerce-services' ), array( 'status' => 400 ) );
|
|
}
|
|
|
|
WC_Connect_Options::update_option( 'tos_accepted', true );
|
|
|
|
return new WP_REST_Response(
|
|
array(
|
|
'success' => true,
|
|
'accepted' => WC_Connect_Options::get_option( 'tos_accepted' ),
|
|
),
|
|
200
|
|
);
|
|
}
|
|
|
|
/**
|
|
* Validate the requester's permissions
|
|
*/
|
|
public function check_permission( $request ) {
|
|
return current_user_can( 'manage_woocommerce' ) &&
|
|
current_user_can( 'install_plugins' ) &&
|
|
current_user_can( 'activate_plugins' );
|
|
}
|
|
}
|