oont-contents/plugins/string-locator/includes/REST/class-save.php
2025-02-08 15:10:23 +01:00

66 lines
1.5 KiB
PHP

<?php
namespace StringLocator\REST;
use StringLocator\Base\REST;
class Save extends REST {
protected $rest_base = 'save';
public function __construct() {
parent::__construct();
}
public function register_rest_route() {
register_rest_route(
$this->namespace,
$this->rest_base,
array(
'methods' => 'POST',
'callback' => array( $this, 'save' ),
'permission_callback' => array( $this, 'permission_callback' ),
)
);
}
public function save( \WP_REST_Request $request ) {
$handler = new \StringLocator\Save();
/**
* Filters the REST Request parameter values that will be used for the save call.
*
* @param array $params REST Request parameters.
*/
$params = apply_filters( 'string_locator_save_params', $request->get_params() );
/**
* Filter the save handler used to perform edits.
*
* @attr object $handler The handler performing the save.
*/
$handler = apply_filters( 'string_locator_save_handler', $handler );
/**
* Trigger an action before the save has been performed.
*
* @attr array $params The parameters used to perform the save.
*/
do_action( 'string_locator_pre_save_action', $params );
$save_result = $handler->save( $params );
/**
* Trigger an action after the save has been performed.
*
* @attr array $save_result The result of the save.
* @attr array $params The parameters used to perform the save.
*/
do_action( 'string_locator_post_save_action', $save_result, $params );
return $save_result;
}
}
new Save();