PluginProbe ʕ •ᴥ•ʔ
Jetpack – WP Security, Backup, Speed, & Growth / 16.1-beta
Jetpack – WP Security, Backup, Speed, & Growth v16.1-beta
16.1 16.1-beta 16.1-beta.2 16.1-beta.3 16.1-a.5 16.1-a.3 16.0.1 16.1-a.1 16.0 16.0-beta 16.0-a.7 16.0-a.5 15.9.1 16.0-a.3 16.0-a.1 15.9 15.9-beta 15.9-a.7 15.9-a.5 15.9-a.3 15.9-a.1 15.8 15.8-beta 15.8-a.7 15.8-a.5 5.2.5 5.3.4 5.4.4 5.5.5 5.6.5 5.7.5 5.8.4 5.9.4 6.0.4 6.1 6.1.1 6.1.2 6.1.3 6.1.4 6.1.5 6.2 6.2.1 6.2.2 6.2.3 6.2.4 6.2.5 6.3 6.3.1 6.3.2 6.3.3 6.3.4 6.3.5 6.3.6 6.3.7 6.4 6.4.1 6.4.2 6.4.3 6.4.4 6.4.5 6.4.6 6.5 6.5.1 6.5.2 6.5.3 6.5.4 6.6 6.6.1 6.6.2 6.6.3 6.6.4 6.6.5 6.7 6.7.1 6.7.2 6.7.3 6.7.4 6.8 6.8.1 6.8.2 6.8.3 6.8.4 6.8.5 6.9 6.9.1 6.9.2 6.9.3 6.9.4 7.0 7.0.1 7.0.2 7.0.3 7.0.4 7.0.5 7.1 7.1.1 7.1.2 7.1.3 7.1.4 7.1.5 7.2 7.2.1 7.2.1.1 7.2.2 7.2.3 7.2.4 7.2.5 7.3 7.3.0.1 7.3.1 7.3.1.1 7.3.2 7.3.3 7.3.4 7.3.5 7.4 7.4.1 7.4.2 7.4.3 7.4.4 7.4.5 7.5 7.5.0.1 7.5.1 7.5.2 7.5.3 7.5.4 7.5.5 7.5.6 7.5.7 7.6 7.6.1 7.6.2 7.6.3 7.6.4 7.7 7.7.1 7.7.2 7.7.3 7.7.4 7.7.5 7.7.6 7.8 7.8.1 7.8.2 7.8.3 7.8.4 7.9 7.9.1 7.9.2 7.9.3 7.9.4 8.0 8.0.1 8.0.2 8.0.3 8.1 8.1.1 8.1.2 8.1.3 8.1.4 8.2 8.2.0.1 8.2.1 8.2.2 8.2.3 8.2.4 8.2.5 8.2.6 8.3 8.3.1 8.3.2 8.3.3 8.4 8.4.1 8.4.2 8.4.3 8.4.4 8.4.5 8.5 8.5.1 8.5.2 8.5.3 8.6 8.6.1 8.6.2 8.6.3 8.6.4 8.7 8.7.0.1 8.7.1 8.7.2 8.7.3 8.7.4 8.8 8.8.1 8.8.2 8.8.3 8.8.4 8.8.5 8.9 8.9.1 8.9.2 8.9.3 8.9.4 9.0 9.0.1 9.0.2 9.0.3 9.0.4 9.0.5 9.1 9.1.1 9.1.2 9.1.3 9.2 9.2.1 9.2.2 9.2.3 9.2.4 9.3 9.3.1 9.3.2 9.3.3 9.3.4 9.3.5 9.4 9.4.1 9.4.2 9.4.3 9.4.4 9.5 9.5.1 9.5.2 9.5.3 9.5.4 9.5.5 9.6 9.6.1 9.6.2 9.6.3 9.6.4 9.7 9.7.1 9.7.2 15.7-beta.2 9.7.3 15.7.1 9.8 15.8-a.1 9.8.1 15.8-a.3 9.8.2 2.0.9 9.8.3 2.1.7 9.9 2.2.10 9.9.1 2.3.10 9.9.2 2.4.7 9.9.3 2.5.5 2.6.6 2.7.5 2.8.5 2.9.6 3.0.6 3.1.5 3.2.5 3.3.6 3.4.6 3.5.6 3.6.4 3.7.5 3.8.5 3.9.10 4.0.7 4.1.4 4.2.5 4.3.5 4.4.5 4.5.3 4.6.3 4.7.4 4.8.5 4.9.3 5.0.3 5.1.4 trunk 10.0 10.0.1 10.0.2 10.1 10.1.1 10.1.2 10.2 10.2.1 10.2.2 10.2.3 10.3 10.3.1 10.3.2 10.4 10.4.1 10.4.2 10.5 10.5.1 10.5.2 10.5.3 10.6 10.6.1 10.6.2 10.7 10.7.1 10.7.2 10.8 10.8.1 10.8.2 10.9 10.9.1 10.9.2 10.9.3 11.0 11.0.1 11.0.2 11.1 11.1.1 11.1.2 11.1.3 11.1.4 11.2 11.2.1 11.2.2 11.3 11.3.1 11.3.2 11.3.3 11.3.4 11.4 11.4.1 11.4.2 11.5 11.5.1 11.5.2 11.5.3 11.6 11.6.1 11.6.2 11.7 11.7.1 11.7.2 11.7.3 11.8 11.8.3 11.8.4 11.8.5 11.8.6 11.9 11.9.1 11.9.2 11.9.3 12.0 12.0.1 12.0.2 12.1 12.1.1 12.1.2 12.2 12.2.1 12.2.2 12.3 12.3.1 12.4 12.4.1 12.5 12.5.1 12.6 12.6.1 12.6.2 12.6.3 12.7 12.7.1 12.7.2 12.8 12.8.1 12.8.2 12.9 12.9.1 12.9.2 12.9.3 12.9.4 13.0 13.0.1 13.1 13.1.1 13.1.2 13.1.3 13.1.4 13.2 13.2.1 13.2.2 13.2.3 13.3 13.3.1 13.3.2 13.4 13.4.1 13.4.2 13.4.3 13.4.4 13.5 13.5.1 13.6 13.6.1 13.7 13.7.1 13.8 13.8.1 13.8.2 13.9 13.9.1 14.0 14.1 14.2 14.2.1 14.3 14.4 14.4.1 14.5 14.6 14.7 14.8 14.9 14.9.1 15.0 15.0.1 15.0.2 15.1 15.1.1 15.2 15.3 15.3.1 15.4 15.5 15.6 15.7 15.7-a.1 15.7-a.3 15.7-a.5 15.7-a.7 15.7-beta
jetpack / json-endpoints / jetpack / class.wpcom-json-api-get-option-endpoint.php
jetpack / json-endpoints / jetpack Last commit date
class-jetpack-json-api-attachment-ownership-trait.php 3 months ago class-jetpack-json-api-delete-backup-helper-script-endpoint.php 8 months ago class-jetpack-json-api-install-backup-helper-script-endpoint.php 8 months ago class-jetpack-json-api-modules-list-v1-2-endpoint.php 8 months ago class.jetpack-json-api-check-capabilities-endpoint.php 8 months ago class.jetpack-json-api-core-endpoint.php 8 months ago class.jetpack-json-api-core-modify-endpoint.php 2 months ago class.jetpack-json-api-cron-endpoint.php 8 months ago class.jetpack-json-api-endpoint.php 2 months ago class.jetpack-json-api-get-comment-backup-endpoint.php 8 months ago class.jetpack-json-api-get-database-object-backup-endpoint.php 8 months ago class.jetpack-json-api-get-option-backup-endpoint.php 8 months ago class.jetpack-json-api-get-post-backup-endpoint.php 8 months ago class.jetpack-json-api-get-term-backup-endpoint.php 8 months ago class.jetpack-json-api-get-user-backup-endpoint.php 8 months ago class.jetpack-json-api-jps-woocommerce-connect-endpoint.php 8 months ago class.jetpack-json-api-log-endpoint.php 8 months ago class.jetpack-json-api-maybe-auto-update-endpoint.php 8 months ago class.jetpack-json-api-modules-endpoint.php 8 months ago class.jetpack-json-api-modules-get-endpoint.php 8 months ago class.jetpack-json-api-modules-list-endpoint.php 8 months ago class.jetpack-json-api-modules-modify-endpoint.php 8 months ago class.jetpack-json-api-plugins-delete-endpoint.php 8 months ago class.jetpack-json-api-plugins-endpoint.php 2 months ago class.jetpack-json-api-plugins-get-endpoint.php 8 months ago class.jetpack-json-api-plugins-install-endpoint.php 8 months ago class.jetpack-json-api-plugins-list-endpoint.php 1 month ago class.jetpack-json-api-plugins-modify-endpoint.php 8 months ago class.jetpack-json-api-plugins-modify-v1-2-endpoint.php 8 months ago class.jetpack-json-api-plugins-new-endpoint.php 8 months ago class.jetpack-json-api-plugins-replace-endpoint.php 3 months ago class.jetpack-json-api-sync-endpoint.php 2 months ago class.jetpack-json-api-themes-active-endpoint.php 8 months ago class.jetpack-json-api-themes-delete-endpoint.php 8 months ago class.jetpack-json-api-themes-endpoint.php 2 months ago class.jetpack-json-api-themes-get-endpoint.php 8 months ago class.jetpack-json-api-themes-install-endpoint.php 8 months ago class.jetpack-json-api-themes-list-endpoint.php 8 months ago class.jetpack-json-api-themes-modify-endpoint.php 8 months ago class.jetpack-json-api-themes-new-endpoint.php 8 months ago class.jetpack-json-api-themes-replace-endpoint.php 3 months ago class.jetpack-json-api-translations-endpoint.php 8 months ago class.jetpack-json-api-translations-modify-endpoint.php 8 months ago class.jetpack-json-api-updates-status-endpoint.php 2 months ago class.jetpack-json-api-user-connect-endpoint.php 8 months ago class.jetpack-json-api-user-create-endpoint.php 2 months ago class.wpcom-json-api-get-option-endpoint.php 2 months ago class.wpcom-json-api-update-option-endpoint.php 8 months ago json-api-jetpack-endpoints.php 3 months ago
class.wpcom-json-api-get-option-endpoint.php
80 lines
1 <?php // phpcs:ignore WordPress.Files.FileName.InvalidClassFileName
2
3 use Automattic\Jetpack\Sync\Defaults;
4
5 if ( ! defined( 'ABSPATH' ) ) {
6 exit( 0 );
7 }
8
9 /**
10 * Get option endpoint.
11 *
12 * @phan-constructor-used-for-side-effects
13 */
14 class WPCOM_JSON_API_Get_Option_Endpoint extends Jetpack_JSON_API_Endpoint {
15 /**
16 * This endpoint allows authentication both via a blog and a user token.
17 * If a user token is used, that user should have `manage_options` capability.
18 *
19 * @var array|string
20 */
21 protected $needed_capabilities = 'manage_options';
22
23 /**
24 * Options name.
25 *
26 * @var string
27 */
28 public $option_name;
29
30 /**
31 * Site option.
32 *
33 * @var string
34 */
35 public $site_option;
36
37 /**
38 * Endpoint callback.
39 *
40 * @return array
41 */
42 public function result() {
43 if ( $this->site_option ) {
44 return array( 'option_value' => get_site_option( $this->option_name ) );
45 }
46 return array( 'option_value' => get_option( $this->option_name ) );
47 }
48
49 /**
50 * Validate the input.
51 *
52 * @param object $object - unused, for parent class compatability.
53 *
54 * @return bool|WP_Error
55 */
56 public function validate_input( $object ) { // phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable
57 $query_args = $this->query_args();
58 $this->option_name = $query_args['option_name'] ?? false;
59 if ( ! $this->option_name ) {
60 return new WP_Error( 'option_name_not_set', __( 'You must specify an option_name', 'jetpack' ) );
61 }
62 $this->site_option = $query_args['site_option'] ?? false;
63
64 /**
65 * Filter the list of options that are manageable via the JSON API.
66 *
67 * @module json-api
68 *
69 * @since 3.8.2
70 *
71 * @param array The default list of site options.
72 * @param bool Is the option a site option.
73 */
74 if ( ! in_array( $this->option_name, apply_filters( 'jetpack_options_whitelist', Defaults::$default_options_whitelist, $this->site_option ), true ) ) {
75 return new WP_Error( 'option_name_not_in_whitelist', __( 'You must specify a whitelisted option_name', 'jetpack' ) );
76 }
77 return true;
78 }
79 }
80