LLMS_REST_Admin_Form_Controller::handle_webhook_upsert()
Handle creating/updating a webhook via admin interfaces
Return Return
(true|void|WP_Error) true on update success, void (redirect) on creation success, WP_Error on failure.
Source Source
File: libraries/lifterlms-rest/includes/admin/class-llms-rest-admin-form-controller.php
*/ protected function handle_webhook_upsert() { $data = array( 'name' => llms_filter_input_sanitize_string( INPUT_POST, 'llms_rest_webhook_name' ), 'status' => llms_filter_input_sanitize_string( INPUT_POST, 'llms_rest_webhook_status' ), 'topic' => llms_filter_input_sanitize_string( INPUT_POST, 'llms_rest_webhook_topic' ), 'delivery_url' => llms_filter_input( INPUT_POST, 'llms_rest_webhook_delivery_url', FILTER_SANITIZE_URL ), 'secret' => llms_filter_input_sanitize_string( INPUT_POST, 'llms_rest_webhook_secret' ), ); if ( 'action' === $data['topic'] ) { $data['topic'] .= '.' . llms_filter_input_sanitize_string( INPUT_POST, 'llms_rest_webhook_action' ); } $hook_id = llms_filter_input( INPUT_POST, 'llms_rest_webhook_id', FILTER_SANITIZE_NUMBER_INT ); if ( ! $hook_id ) { $hook = LLMS_REST_API()->webhooks()->create( $data ); if ( ! is_wp_error( $hook ) ) { return llms_redirect_and_exit( $hook->get_edit_link(), array( 'status' => 301 ) ); } } else { $hook = LLMS_REST_API()->webhooks()->get( $hook_id ); if ( ! $hook ) { // Translators: %s = Webhook ID. $hook = new WP_Error( 'llms_rest_api_webhook_not_found', sprintf( __( '"%s" is not a valid Webhook.', 'lifterlms' ), $hook_id ) ); } else { $data['id'] = $hook_id; $hook = LLMS_REST_API()->webhooks()->update( $data ); } } if ( is_wp_error( $hook ) ) { // Translators: %1$s = error message; %2$s = error code. LLMS_Admin_Notices::flash_notice( sprintf( __( 'Error: %1$s [Code: %2$s]', 'lifterlms' ), $hook->get_error_message(), $hook->get_error_code() ), 'error' ); return $hook; } return true;
Expand full source code Collapse full source code View on GitHub
Changelog Changelog
Version | Description |
---|---|
1.0.0-beta.1 | Introduced. |