PATH:
home
/
letacommog
/
broderie
/
wp-content
/
plugins
/
woocommerce-services
/
classes
<?php if ( ! defined( 'ABSPATH' ) ) { exit; } if ( class_exists( 'WC_REST_Connect_Services_Controller' ) ) { return; } class WC_REST_Connect_Services_Controller extends WC_REST_Connect_Base_Controller { protected $rest_base = 'connect/services/(?P<id>[a-z_]+)\/(?P<instance>[\d]+)'; /** * @var WC_Connect_Service_Schemas_Store */ protected $service_schemas_store; public function __construct( WC_Connect_API_Client $api_client, WC_Connect_Service_Settings_Store $settings_store, WC_Connect_Logger $logger, WC_Connect_Service_Schemas_Store $schemas_store ) { parent::__construct( $api_client, $settings_store, $logger ); $this->service_schemas_store = $schemas_store; } public function get( $request ) { $method_id = $request[ 'id' ]; $instance_id = isset( $request[ 'instance' ] ) ? $request[ 'instance' ] : false; $service_schema = $this->service_schemas_store->get_service_schema_by_id_or_instance_id( $instance_id ? $instance_id : $method_id ); if ( ! $service_schema ) { return new WP_Error( 'schemas_not_found', __( 'Service schemas were not loaded', 'woocommerce-services' ), array( 'status' => 500 ) ); } $payload = apply_filters( 'wc_connect_shipping_service_settings', array( 'success' => true, ), $method_id, $instance_id ); return new WP_REST_Response( $payload, 200 ); } /** * Attempts to update the settings on a particular service and instance */ public function post( $request ) { $request_params = $request->get_params(); $id = array_key_exists( 'id', $request_params ) ? $request_params['id'] : ''; $instance = array_key_exists( 'instance', $request_params ) ? absint( $request_params['instance'] ) : false; if ( empty( $id ) ) { $error = new WP_Error( 'service_id_missing', __( 'Unable to update service settings. Form data is missing service ID.', 'woocommerce-services' ), array( 'status' => 400 ) ); $this->logger->log( $error, __CLASS__ ); return $error; } $settings = ( object ) $request->get_json_params(); if ( empty( $settings ) ) { $error = new WP_Error( 'bad_form_data', __( 'Unable to update service settings. The form data could not be read.', 'woocommerce-services' ), array( 'status' => 400 ) ); $this->logger->log( $error, __CLASS__ ); return $error; } $validation_result = $this->settings_store->validate_and_possibly_update_settings( $settings, $id, $instance ); if ( is_wp_error( $validation_result ) ) { $error = new WP_Error( 'validation_failed', sprintf( __( 'Unable to update service settings. Validation failed. %s', 'woocommerce-services' ), $validation_result->get_error_message() ), array( 'status' => 400 ) ); $this->logger->log( $error, __CLASS__ ); return $error; } return new WP_REST_Response( array( 'success' => true ), 200 ); } }
[+]
..
[-] class-wc-connect-paypal-ec.php
[edit]
[-] class-wc-rest-connect-address-normalization-controller.php
[edit]
[-] class-wc-connect-settings-pages.php
[edit]
[-] class-wc-rest-connect-shipping-label-controller.php
[edit]
[-] class-wc-connect-error-notice.php
[edit]
[-] class-wc-rest-connect-shipping-label-preview-controller.php
[edit]
[-] class-wc-rest-connect-subscription-activate-controller.php
[edit]
[-] class-wc-connect-package-settings.php
[edit]
[-] class-wc-rest-connect-services-controller.php
[edit]
[-] class-wc-connect-continents.php
[edit]
[-] class-wc-rest-connect-self-help-controller.php
[edit]
[-] class-wc-connect-jetpack.php
[edit]
[-] class-wc-rest-connect-shipping-label-print-controller.php
[edit]
[-] class-wc-connect-debug-tools.php
[edit]
[-] class-wc-connect-taxjar-integration.php
[edit]
[-] class-wc-rest-connect-shipping-carriers-controller.php
[edit]
[-] class-wc-connect-extension-compatibility.php
[edit]
[-] class-wc-rest-connect-tos-controller.php
[edit]
[-] class-wc-connect-help-view.php
[edit]
[+]
wc-api-dev
[-] class-wc-connect-shipping-method.php
[edit]
[-] class-wc-connect-payment-gateway.php
[edit]
[-] class-wc-connect-api-client.php
[edit]
[-] class-wc-connect-payment-methods-store.php
[edit]
[-] class-wc-connect-shipping-label.php
[edit]
[-] class-wc-rest-connect-assets-controller.php
[edit]
[-] class-wc-rest-connect-shipping-carrier-delete-controller.php
[edit]
[-] class-wc-rest-connect-base-controller.php
[edit]
[-] class-wc-connect-compatibility-wc30.php
[edit]
[-] class-wc-connect-functions.php
[edit]
[-] class-wc-rest-connect-shipping-label-status-controller.php
[edit]
[-] class-wc-connect-logger.php
[edit]
[-] class-wc-connect-service-schemas-store.php
[edit]
[-] class-wc-connect-service-settings-store.php
[edit]
[-] class-wc-connect-account-settings.php
[edit]
[-] class-wc-connect-options.php
[edit]
[-] class-wc-rest-connect-shipping-carrier-types-controller.php
[edit]
[-] class-wc-connect-compatibility-wc26.php
[edit]
[-] class-wc-rest-connect-shipping-rates-controller.php
[edit]
[-] class-wc-connect-nux.php
[edit]
[-] class-wc-connect-compatibility.php
[edit]
[-] class-wc-connect-tracks.php
[edit]
[-] class-wc-rest-connect-shipping-label-refund-controller.php
[edit]
[-] class-wc-connect-label-reports.php
[edit]
[-] class-wc-rest-connect-packages-controller.php
[edit]
[-] class-wc-rest-connect-subscriptions-controller.php
[edit]
[-] class-wc-connect-privacy.php
[edit]
[-] class-wc-connect-order-presenter.php
[edit]
[-] class-wc-rest-connect-account-settings-controller.php
[edit]
[-] class-wc-rest-connect-shipping-carrier-controller.php
[edit]
[-] class-wc-connect-service-schemas-validator.php
[edit]
[-] class-wc-connect-api-client-live.php
[edit]