| Server IP : 116.202.121.150 / Your IP : 216.73.216.20 Web Server : Apache System : Linux server5.febas.net 6.1.0-51-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.177-1 (2026-07-16) x86_64 User : k9887-1 ( 1171) PHP Version : 8.2.33 Disable Function : show_source, highlight_file, apache_child_terminate, apache_get_modules, apache_note, apache_setenv, virtual, dl, posix_getpwnam, posix_getpwuid, posix_mkfifo, posix_mknod, posix_setpgid, posix_setsid, posix_setuid, posix_uname, proc_nice, openlog, syslog, pfsockopen, system, shell_exec, passthru, popen, proc_open, exec MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/k9887-1/htdocs/_fisch/wp-content/plugins/wordpress-seo/src/routes/ |
Upload File : |
<?php
namespace Yoast\WP\SEO\Routes;
use WP_REST_Request;
use WP_REST_Response;
use Yoast\WP\SEO\Conditionals\No_Conditionals;
use Yoast\WP\SEO\Helpers\Options_Helper;
use Yoast\WP\SEO\Main;
/**
* Workouts_Route class.
*/
class Workouts_Route implements Route_Interface {
use No_Conditionals;
/**
* Represents workouts route.
*
* @var string
*/
const WORKOUTS_ROUTE = '/workouts';
/**
* The Options helper.
*
* @var Options_Helper
*/
private $options_helper;
/**
* Workouts_Route constructor.
*
* @param Options_Helper $options_helper The options helper.
*/
public function __construct(
Options_Helper $options_helper
) {
$this->options_helper = $options_helper;
}
/**
* Registers routes with WordPress.
*
* @return void
*/
public function register_routes() {
$edit_others_posts = static function() {
return \current_user_can( 'edit_others_posts' );
};
$workouts_route = [
[
'methods' => 'GET',
'callback' => [ $this, 'get_workouts' ],
'permission_callback' => $edit_others_posts,
],
[
'methods' => 'POST',
'callback' => [ $this, 'set_workouts' ],
'permission_callback' => $edit_others_posts,
'args' => $this->get_workouts_routes_args(),
],
];
\register_rest_route( Main::API_V1_NAMESPACE, self::WORKOUTS_ROUTE, $workouts_route );
}
/**
* Returns the workouts as configured for the site.
*
* @return WP_REST_Response the configuration of the workouts.
*/
public function get_workouts() {
$workouts_option = $this->options_helper->get( 'workouts_data' );
/**
* Filter: 'Yoast\WP\SEO\workouts_options' - Allows adding workouts options by the add-ons.
*
* @api array $workouts_option The content of the `workouts_data` option in Free.
*/
$workouts_option = \apply_filters( 'Yoast\WP\SEO\workouts_options', $workouts_option );
return new WP_REST_Response(
[ 'json' => $workouts_option ]
);
}
/**
* Sets the workout configuration.
*
* @param WP_REST_Request $request The request object.
*
* @return WP_REST_Response the configuration of the workouts.
*/
public function set_workouts( $request ) {
$workouts_data = $request->get_json_params();
/**
* Filter: 'Yoast\WP\SEO\workouts_route_save' - Allows the add-ons to save the options data in their own options.
*
* @api mixed|null $result The result of the previous saving operation.
*
* @param array $workouts_data The full set of workouts option data to save.
*/
$result = \apply_filters( 'Yoast\WP\SEO\workouts_route_save', null, $workouts_data );
return new WP_REST_Response(
[ 'json' => $result ]
);
}
/**
* Gets the args for all the registered workouts.
*
* @return array
*/
private function get_workouts_routes_args() {
$args_array = [];
/**
* Filter: 'Yoast\WP\SEO\workouts_route_args' - Allows the add-ons add their own arguments to the route registration.
*
* @api array $args_array The array of arguments for the route registration.
*/
return \apply_filters( 'Yoast\WP\SEO\workouts_route_args', $args_array );
}
}