Files
roi-theme/wp-content/plugins/seo-by-rank-math/includes/rest/class-setup-wizard.php
root a22573bf0b Commit inicial - WordPress Análisis de Precios Unitarios
- WordPress core y plugins
- Tema Twenty Twenty-Four configurado
- Plugin allow-unfiltered-html.php simplificado
- .gitignore configurado para excluir wp-config.php y uploads

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-03 21:04:30 -06:00

171 lines
4.2 KiB
PHP
Executable File

<?php
/**
* The Rest endpoints used in the Setup Wizard page.
*
* Defines the functionality loaded on admin.
*
* @since 1.0.245
* @package RankMath
* @subpackage RankMath\Rest
* @author Rank Math <support@rankmath.com>
*/
namespace RankMath\Rest;
use WP_REST_Request;
use WP_REST_Controller;
use RankMath\Helper;
defined( 'ABSPATH' ) || exit;
/**
* Setup_Wizard class.
*/
class Setup_Wizard extends WP_REST_Controller {
/**
* Constructor.
*/
public function __construct() {
$this->namespace = \RankMath\Rest\Rest_Helper::BASE . '/setupWizard';
}
/**
* Registers the routes for the objects of the controller.
*/
public function register_routes() {
register_rest_route(
$this->namespace,
'/getStepData',
[
'methods' => 'POST',
'callback' => [ $this, 'get_step_data' ],
'permission_callback' => [ '\\RankMath\\Rest\\Rest_Helper', 'can_manage_options' ],
'args' => $this->get_step_args(),
]
);
register_rest_route(
$this->namespace,
'/updateStepData',
[
'methods' => 'POST',
'callback' => [ $this, 'update_step_data' ],
'permission_callback' => [ '\\RankMath\\Rest\\Rest_Helper', 'can_manage_options' ],
'args' => $this->update_step_args(),
]
);
register_rest_route(
$this->namespace,
'/updateTrackingOptin',
[
'methods' => 'POST',
'callback' => [ $this, 'update_tracking_optin' ],
'permission_callback' => [ '\\RankMath\\Rest\\Rest_Helper', 'can_manage_options' ],
'args' => $this->tracking_optin_args(),
]
);
}
/**
* Get Current step data.
*
* @param WP_REST_Request $request Full details about the request.
*
* @return array View Data.
*/
public function get_step_data( WP_REST_Request $request ) {
$step = $request->get_param( 'step' );
// Track step change.
do_action( 'rank_math/setup_wizard/step_viewed', $step );
return \RankMath\Admin\Setup_Wizard::get_localized_data( $step );
}
/**
* Update the step data.
*
* @param WP_REST_Request $request Full details about the request.
*/
public function update_step_data( WP_REST_Request $request ) {
$step = $request->get_param( 'step' );
$values = $request->get_param( 'value' );
return \RankMath\Admin\Setup_Wizard::save_data( $step, $values );
}
/**
* Update tracking opt-in status.
*
* @param WP_REST_Request $request Full details about the request.
*
* @return array Response data.
*/
public function update_tracking_optin( WP_REST_Request $request ) {
$enable_tracking = $request->get_param( 'enable_tracking' );
do_action( 'rank_math/setup_wizard/enable_tracking', $enable_tracking === 'on' );
return [
'success' => true,
'status' => 200,
];
}
/**
* Get step endpoint arguments.
*
* @return array
*/
private function get_step_args() {
return [
'step' => [
'type' => 'string',
'required' => true,
'description' => esc_html__( 'Current Step', 'rank-math' ),
'sanitize_callback' => 'rest_sanitize_request_arg',
'validate_callback' => 'rest_validate_request_arg',
],
];
}
/**
* Update step data endpoint arguments.
*
* @return array
*/
private function update_step_args() {
return [
'step' => [
'type' => 'string',
'required' => true,
'description' => esc_html__( 'Current Step', 'rank-math' ),
'sanitize_callback' => 'rest_sanitize_request_arg',
'validate_callback' => 'rest_validate_request_arg',
],
'value' => [
'type' => 'object',
'required' => true,
'description' => esc_html__( 'Current Step Data', 'rank-math' ),
'sanitize_callback' => 'rest_sanitize_request_arg',
'validate_callback' => 'rest_validate_request_arg',
],
];
}
/**
* Tracking opt-in endpoint arguments.
*
* @return array
*/
private function tracking_optin_args() {
return [
'enable_tracking' => [
'type' => 'string',
'required' => true,
'description' => esc_html__( 'Enable Tracking', 'rank-math' ),
'sanitize_callback' => 'rest_sanitize_request_arg',
'validate_callback' => 'rest_validate_request_arg',
],
];
}
}