PluginProbe ʕ •ᴥ•ʔ
Jetpack – WP Security, Backup, Speed, & Growth / 13.9.2
Jetpack – WP Security, Backup, Speed, & Growth v13.9.2
12.0.3 12.1.3 12.2.3 12.3.2 12.4.2 12.5.2 12.6.4 12.7.3 12.8.3 12.9.5 13.0.2 13.1.5 13.2.4 13.3.3 13.4.5 13.5.2 13.6.2 13.7.2 13.8.3 13.9.2 14.0.1 14.1.1 14.2.2 14.3.1 14.4.2 14.5.1 14.6.1 14.7.1 14.8.1 14.9.2 15.0.3 15.1.2 15.2.1 15.3.2 15.4.1 15.5.1 15.6.1 15.7.2 15.8.1 15.9.2 16.0.2 16.1.3 16.2-a.5 16.2-a.3 16.1.2 16.2-a.1 16.1.1 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 / class.wpcom-json-api-site-settings-v1-2-endpoint.php
jetpack / json-endpoints Last commit date
jetpack 2 years ago class.wpcom-json-api-add-widget-endpoint.php 2 years ago class.wpcom-json-api-autosave-post-v1-1-endpoint.php 5 years ago class.wpcom-json-api-bulk-delete-post-endpoint.php 4 years ago class.wpcom-json-api-bulk-restore-post-endpoint.php 2 years ago class.wpcom-json-api-bulk-update-comments-endpoint.php 3 years ago class.wpcom-json-api-comment-endpoint.php 2 years ago class.wpcom-json-api-delete-media-endpoint.php 4 years ago class.wpcom-json-api-delete-media-v1-1-endpoint.php 4 years ago class.wpcom-json-api-edit-media-v1-2-endpoint.php 2 years ago class.wpcom-json-api-get-autosave-v1-1-endpoint.php 5 years ago class.wpcom-json-api-get-comment-counts-endpoint.php 4 years ago class.wpcom-json-api-get-comment-endpoint.php 4 years ago class.wpcom-json-api-get-comment-history-endpoint.php 4 years ago class.wpcom-json-api-get-comments-tree-endpoint.php 4 years ago class.wpcom-json-api-get-comments-tree-v1-1-endpoint.php 4 years ago class.wpcom-json-api-get-comments-tree-v1-2-endpoint.php 4 years ago class.wpcom-json-api-get-customcss.php 2 years ago class.wpcom-json-api-get-media-endpoint.php 4 years ago class.wpcom-json-api-get-media-v1-1-endpoint.php 4 years ago class.wpcom-json-api-get-media-v1-2-endpoint.php 2 years ago class.wpcom-json-api-get-post-counts-v1-1-endpoint.php 2 years ago class.wpcom-json-api-get-post-endpoint.php 2 years ago class.wpcom-json-api-get-post-v1-1-endpoint.php 2 years ago class.wpcom-json-api-get-site-endpoint.php 1 year ago class.wpcom-json-api-get-site-v1-2-endpoint.php 2 years ago class.wpcom-json-api-get-taxonomies-endpoint.php 2 years ago class.wpcom-json-api-get-taxonomy-endpoint.php 4 years ago class.wpcom-json-api-get-term-endpoint.php 4 years ago class.wpcom-json-api-list-comments-endpoint.php 2 years ago class.wpcom-json-api-list-dropdown-pages-endpoint.php 3 years ago class.wpcom-json-api-list-embeds-endpoint.php 4 years ago class.wpcom-json-api-list-media-endpoint.php 2 years ago class.wpcom-json-api-list-media-v1-1-endpoint.php 2 years ago class.wpcom-json-api-list-media-v1-2-endpoint.php 2 years ago class.wpcom-json-api-list-post-type-taxonomies-endpoint.php 4 years ago class.wpcom-json-api-list-post-types-endpoint.php 3 years ago class.wpcom-json-api-list-posts-endpoint.php 2 years ago class.wpcom-json-api-list-posts-v1-1-endpoint.php 3 years ago class.wpcom-json-api-list-posts-v1-2-endpoint.php 3 years ago class.wpcom-json-api-list-roles-endpoint.php 2 years ago class.wpcom-json-api-list-shortcodes-endpoint.php 4 years ago class.wpcom-json-api-list-terms-endpoint.php 2 years ago class.wpcom-json-api-list-users-endpoint.php 2 years ago class.wpcom-json-api-menus-v1-1-endpoint.php 2 years ago class.wpcom-json-api-post-endpoint.php 2 years ago class.wpcom-json-api-post-v1-1-endpoint.php 2 years ago class.wpcom-json-api-render-embed-endpoint.php 2 years ago class.wpcom-json-api-render-embed-reversal-endpoint.php 2 years ago class.wpcom-json-api-render-endpoint.php 3 years ago class.wpcom-json-api-render-shortcode-endpoint.php 3 years ago class.wpcom-json-api-sharing-buttons-endpoint.php 2 years ago class.wpcom-json-api-site-settings-endpoint.php 1 year ago class.wpcom-json-api-site-settings-v1-2-endpoint.php 2 years ago class.wpcom-json-api-site-settings-v1-3-endpoint.php 2 years ago class.wpcom-json-api-site-settings-v1-4-endpoint.php 1 year ago class.wpcom-json-api-site-user-endpoint.php 2 years ago class.wpcom-json-api-taxonomy-endpoint.php 4 years ago class.wpcom-json-api-update-comment-endpoint.php 2 years ago class.wpcom-json-api-update-customcss.php 2 years ago class.wpcom-json-api-update-media-endpoint.php 4 years ago class.wpcom-json-api-update-media-v1-1-endpoint.php 2 years ago class.wpcom-json-api-update-post-endpoint.php 3 years ago class.wpcom-json-api-update-post-v1-1-endpoint.php 2 years ago class.wpcom-json-api-update-post-v1-2-endpoint.php 2 years ago class.wpcom-json-api-update-site-homepage-endpoint.php 4 years ago class.wpcom-json-api-update-site-logo-endpoint.php 2 years ago class.wpcom-json-api-update-taxonomy-endpoint.php 4 years ago class.wpcom-json-api-update-term-endpoint.php 4 years ago class.wpcom-json-api-update-user-endpoint.php 3 years ago class.wpcom-json-api-upload-media-endpoint.php 3 years ago class.wpcom-json-api-upload-media-v1-1-endpoint.php 2 years ago
class.wpcom-json-api-site-settings-v1-2-endpoint.php
215 lines
1 <?php // phpcs:ignore WordPress.Files.FileName.InvalidClassFileName
2
3 new WPCOM_JSON_API_Site_Settings_V1_2_Endpoint(
4 array(
5 'description' => 'Get detailed settings information about a site.',
6 'group' => '__do_not_document',
7 'stat' => 'sites:X',
8 'min_version' => '1.2',
9 'method' => 'GET',
10 'path' => '/sites/%s/settings',
11 'path_labels' => array(
12 '$site' => '(int|string) Site ID or domain',
13 ),
14
15 'query_parameters' => array(
16 'context' => false,
17 ),
18
19 'response_format' => WPCOM_JSON_API_Site_Settings_Endpoint::$site_format,
20
21 'example_request' => 'https://public-api.wordpress.com/rest/v1.2/sites/en.blog.wordpress.com/settings?pretty=1',
22 )
23 );
24
25 new WPCOM_JSON_API_Site_Settings_V1_2_Endpoint(
26 array(
27 'description' => 'Update settings for a site.',
28 'group' => '__do_not_document',
29 'stat' => 'sites:X',
30 'min_version' => '1.2',
31 'method' => 'POST',
32 'path' => '/sites/%s/settings',
33 'path_labels' => array(
34 '$site' => '(int|string) Site ID or domain',
35 ),
36
37 'request_format' => array(
38 'blogname' => '(string) Blog name',
39 'blogdescription' => '(string) Blog description',
40 'default_pingback_flag' => '(bool) Notify blogs linked from article?',
41 'default_ping_status' => '(bool) Allow link notifications from other blogs?',
42 'default_comment_status' => '(bool) Allow comments on new articles?',
43 'blog_public' => '(string) Site visibility; -1: private, 0: discourage search engines, 1: allow search engines',
44 'jetpack_sync_non_public_post_stati' => '(bool) allow sync of post and pages with non-public posts stati',
45 'jetpack_relatedposts_enabled' => '(bool) Enable related posts?',
46 'jetpack_relatedposts_show_context' => '(bool) Show post\'s tags and category in related posts?',
47 'jetpack_relatedposts_show_date' => '(bool) Show date in related posts?',
48 'jetpack_relatedposts_show_headline' => '(bool) Show headline in related posts?',
49 'jetpack_relatedposts_show_thumbnails' => '(bool) Show thumbnails in related posts?',
50 'instant_search_enabled' => '(bool) Enable the new Jetpack Instant Search interface',
51 'jetpack_search_enabled' => '(bool) Enable Jetpack Search',
52 'jetpack_search_supported' => '(bool) Jetpack Search supported',
53 'jetpack_protect_whitelist' => '(array) List of IP addresses to always allow',
54 'infinite_scroll' => '(bool) Support infinite scroll of posts?',
55 'default_category' => '(int) Default post category',
56 'default_post_format' => '(string) Default post format',
57 'require_name_email' => '(bool) Require comment authors to fill out name and email?',
58 'comment_registration' => '(bool) Require users to be registered and logged in to comment?',
59 'close_comments_for_old_posts' => '(bool) Automatically close comments on old posts?',
60 'close_comments_days_old' => '(int) Age at which to close comments',
61 'thread_comments' => '(bool) Enable threaded comments?',
62 'thread_comments_depth' => '(int) Depth to thread comments',
63 'page_comments' => '(bool) Break comments into pages?',
64 'comments_per_page' => '(int) Number of comments to display per page',
65 'default_comments_page' => '(string) newest|oldest Which page of comments to display first',
66 'comment_order' => '(string) asc|desc Order to display comments within page',
67 'comments_notify' => '(bool) Email me when someone comments?',
68 'moderation_notify' => '(bool) Email me when a comment is helf for moderation?',
69 'social_notifications_like' => '(bool) Email me when someone likes my post?',
70 'social_notifications_reblog' => '(bool) Email me when someone reblogs my post?',
71 'social_notifications_subscribe' => '(bool) Email me when someone subscribes to my blog?',
72 'comment_moderation' => '(bool) Moderate comments for manual approval?',
73 'comment_previously_approved' => '(bool) Moderate comments unless author has a previously-approved comment?',
74 'comment_max_links' => '(int) Moderate comments that contain X or more links',
75 'moderation_keys' => '(string) Words or phrases that trigger comment moderation, one per line',
76 'disallowed_keys' => '(string) Words or phrases that mark comment spam, one per line',
77 'lang_id' => '(int) ID for language blog is written in',
78 'locale' => '(string) locale code for language blog is written in',
79 'wga' => '(array) Google Analytics Settings',
80 'disabled_likes' => '(bool) Are likes globally disabled (they can still be turned on per post)?',
81 'disabled_reblogs' => '(bool) Are reblogs disabled on posts?',
82 'jetpack_comment_likes_enabled' => '(bool) Are comment likes enabled for all comments?',
83 'sharing_button_style' => '(string) Style to use for sharing buttons (icon-text, icon, text, or official)',
84 'sharing_label' => '(string) Label to use for sharing buttons, e.g. "Share this:"',
85 'sharing_show' => '(string|array:string) Post type or array of types where sharing buttons are to be displayed',
86 'sharing_open_links' => '(string) Link target for sharing buttons (same or new)',
87 'twitter_via' => '(string) Twitter username to include in tweets when people share using the Twitter button',
88 'jetpack-twitter-cards-site-tag' => '(string) The Twitter username of the owner of the site\'s domain.',
89 'eventbrite_api_token' => '(int) The Keyring token ID for an Eventbrite token to associate with the site',
90 'timezone_string' => '(string) PHP-compatible timezone string like \'UTC-5\'',
91 'gmt_offset' => '(int) Site offset from UTC in hours',
92 'date_format' => '(string) PHP Date-compatible date format',
93 'time_format' => '(string) PHP Date-compatible time format',
94 'start_of_week' => '(int) Starting day of week (0 = Sunday, 6 = Saturday)',
95 'jetpack_testimonial' => '(bool) Whether testimonial custom post type is enabled for the site',
96 'jetpack_testimonial_posts_per_page' => '(int) Number of testimonials to show per page',
97 'jetpack_portfolio' => '(bool) Whether portfolio custom post type is enabled for the site',
98 'jetpack_portfolio_posts_per_page' => '(int) Number of portfolio projects to show per page',
99 Jetpack_SEO_Utils::FRONT_PAGE_META_OPTION => '(string) The SEO meta description for the site.',
100 Jetpack_SEO_Titles::TITLE_FORMATS_OPTION => '(array) SEO meta title formats. Allowed keys: front_page, posts, pages, groups, archives',
101 'verification_services_codes' => '(array) Website verification codes. Allowed keys: google, pinterest, bing, yandex, facebook',
102 'podcasting_archive' => '(string) The post category, if any, used for publishing podcasts',
103 'site_icon' => '(int) Media attachment ID to use as site icon. Set to zero or an otherwise empty value to clear',
104 'api_cache' => '(bool) Turn on/off the Jetpack JSON API cache',
105 'posts_per_page' => '(int) Number of posts to show on blog pages',
106 'posts_per_rss' => '(int) Number of posts to show in the RSS feed',
107 'rss_use_excerpt' => '(bool) Whether the RSS feed will use post excerpts',
108 'wpcom_publish_posts_with_markdown' => '(bool) Whether markdown is enabled for posts',
109 'wpcom_publish_comments_with_markdown' => '(bool) Whether markdown is enabled for comments',
110 ),
111
112 'response_format' => array(
113 'updated' => '(array)',
114 ),
115
116 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/en.blog.wordpress.com/settings?pretty=1',
117 )
118 );
119
120 /**
121 * Site settings v1_2 endpoint.
122 */
123 class WPCOM_JSON_API_Site_Settings_V1_2_Endpoint extends WPCOM_JSON_API_Site_Settings_Endpoint {
124
125 /**
126 * Site format.
127 *
128 * @var array
129 */
130 public static $site_format = array(
131 'ID' => '(int) Site ID',
132 'name' => '(string) Title of site',
133 'description' => '(string) Tagline or description of site',
134 'URL' => '(string) Full URL to the site',
135 'locale' => '(string) Locale code of the site',
136 'locale_variant' => '(string) Locale variant code for the site, if set',
137 'settings' => '(array) An array of options/settings for the blog. Only viewable by users with post editing rights to the site.',
138 );
139
140 /**
141 * API Callback.
142 *
143 * @param string $path - the path.
144 * @param int $blog_id - the blog ID.
145 *
146 * @return array|WP_Error
147 */
148 public function callback( $path = '', $blog_id = 0 ) {
149 add_filter( 'site_settings_endpoint_update_locale', array( $this, 'update_locale' ) );
150 add_filter( 'site_settings_endpoint_get', array( $this, 'return_locale' ) );
151 add_filter( 'site_settings_site_format', array( $this, 'site_format' ) );
152 return parent::callback( $path, $blog_id );
153 }
154
155 /**
156 * Get the locale.
157 *
158 * @param string $key - the key.
159 *
160 * @return string|false
161 */
162 protected function get_locale( $key ) {
163 if ( 'locale' === $key ) {
164 if ( defined( 'IS_WPCOM' ) && IS_WPCOM ) {
165 return (string) get_blog_lang_code();
166 } else {
167 return get_locale();
168 }
169 }
170
171 return false;
172 }
173
174 /**
175 * Return the locale.
176 *
177 * @param array $settings - the site settings.
178 *
179 * @return array `$settings` with a locale key added.
180 */
181 public function return_locale( $settings ) {
182 return $settings + array( 'locale' => $this->get_locale( 'locale' ) );
183 }
184
185 /**
186 * Update the locale.
187 *
188 * @param string $value - the locale code.
189 *
190 * @return bool
191 */
192 public function update_locale( $value ) {
193 if ( defined( 'IS_WPCOM' ) && IS_WPCOM ) {
194 $lang_id = get_lang_id_by_code( $value );
195 if ( ! empty( $lang_id ) ) {
196 if ( update_option( 'lang_id', $lang_id ) ) {
197 return true;
198 }
199 }
200 }
201 return false;
202 }
203
204 /**
205 * Format the site.
206 *
207 * @param string $format - the format.
208 *
209 * @return array
210 */
211 public function site_format( $format ) { // phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable
212 return self::$site_format;
213 }
214 }
215