%PDF- %PDF-
Direktori : /var/www/knwn/wp-content/plugins/wordpress-seo/src/routes/ |
Current File : /var/www/knwn/wp-content/plugins/wordpress-seo/src/routes/configuration-workout-route.php |
<?php namespace Yoast\WP\SEO\Routes; use Yoast\WP\SEO\Actions\Configuration\Configuration_Workout_Action; use Yoast\WP\SEO\Conditionals\No_Conditionals; use Yoast\WP\SEO\Main; /** * Configuration_Workout_Route class. */ class Configuration_Workout_Route implements Route_Interface { use No_Conditionals; /** * Represents a site representation route. * * @var string */ const SITE_REPRESENTATION_ROUTE = '/site_representation'; /** * Represents a social profiles route. * * @var string */ const SOCIAL_PROFILES_ROUTE = '/social_profiles'; /** * Represents a route to enable/disable tracking. * * @var string */ const ENABLE_TRACKING_ROUTE = '/enable_tracking'; /** * The configuration workout action. * * @var Configuration_Workout_Action; */ private $configuration_workout_action; /** * Configuration_Workout_Route constructor. * * @param Configuration_Workout_Action $configuration_workout_action The configuration workout action. */ public function __construct( Configuration_Workout_Action $configuration_workout_action ) { $this->configuration_workout_action = $configuration_workout_action; } /** * Registers routes with WordPress. * * @return void */ public function register_routes() { $site_representation_route = [ 'methods' => 'POST', 'callback' => [ $this, 'set_site_representation' ], 'permission_callback' => [ $this, 'can_manage_options' ], 'args' => [ 'company_or_person' => [ 'type' => 'string', 'enum' => [ 'company', 'person', ], 'required' => true, ], 'company_name' => [ 'type' => 'string', ], 'company_logo' => [ 'type' => 'string', ], 'company_logo_id' => [ 'type' => 'integer', ], 'person_logo' => [ 'type' => 'string', ], 'person_logo_id' => [ 'type' => 'integer', ], 'company_or_person_user_id' => [ 'type' => 'integer', ], 'description' => [ 'type' => 'string', ], ], ]; \register_rest_route( Main::API_V1_NAMESPACE, Workouts_Route::WORKOUTS_ROUTE . self::SITE_REPRESENTATION_ROUTE, $site_representation_route ); $social_profiles_route = [ 'methods' => 'POST', 'callback' => [ $this, 'set_social_profiles' ], 'permission_callback' => [ $this, 'can_manage_options' ], 'args' => [ 'facebook_site' => [ 'type' => 'string', ], 'twitter_site' => [ 'type' => 'string', ], 'instagram_url' => [ 'type' => 'string', ], 'linkedin_url' => [ 'type' => 'string', ], 'myspace_url' => [ 'type' => 'string', ], 'pinterest_url' => [ 'type' => 'string', ], 'youtube_url' => [ 'type' => 'string', ], 'wikipedia_url' => [ 'type' => 'string', ], ], ]; \register_rest_route( Main::API_V1_NAMESPACE, Workouts_Route::WORKOUTS_ROUTE . self::SOCIAL_PROFILES_ROUTE, $social_profiles_route ); $enable_tracking_route = [ 'methods' => 'POST', 'callback' => [ $this, 'set_enable_tracking' ], 'permission_callback' => [ $this, 'can_manage_options' ], 'args' => [ 'tracking' => [ 'type' => 'boolean', 'required' => true, ], ], ]; \register_rest_route( Main::API_V1_NAMESPACE, Workouts_Route::WORKOUTS_ROUTE . self::ENABLE_TRACKING_ROUTE, $enable_tracking_route ); } /** * Sets the site representation values. * * @param \WP_REST_Request $request The request. * * @return \WP_REST_Response */ public function set_site_representation( \WP_REST_Request $request ) { $data = $this ->configuration_workout_action ->set_site_representation( $request->get_json_params() ); return new \WP_REST_Response( $data, $data->status ); } /** * Sets the social profiles values. * * @param \WP_REST_Request $request The request. * * @return \WP_REST_Response */ public function set_social_profiles( \WP_REST_Request $request ) { $data = $this ->configuration_workout_action ->set_social_profiles( $request->get_json_params() ); return new \WP_REST_Response( $data, $data->status ); } /** * Enables or disables tracking. * * @param \WP_REST_Request $request The request. * * @return \WP_REST_Response */ public function set_enable_tracking( \WP_REST_Request $request ) { $data = $this ->configuration_workout_action ->set_enable_tracking( $request->get_json_params() ); return new \WP_REST_Response( $data, $data->status ); } /** * Checks if the current user has the right capability. * * @return bool */ public function can_manage_options() { return \current_user_can( 'wpseo_manage_options' ); } }