summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/jetpack/sal/class.json-api-site-jetpack.php')
-rw-r--r--plugins/jetpack/sal/class.json-api-site-jetpack.php196
1 files changed, 196 insertions, 0 deletions
diff --git a/plugins/jetpack/sal/class.json-api-site-jetpack.php b/plugins/jetpack/sal/class.json-api-site-jetpack.php
new file mode 100644
index 00000000..0efcb3aa
--- /dev/null
+++ b/plugins/jetpack/sal/class.json-api-site-jetpack.php
@@ -0,0 +1,196 @@
+<?php
+
+require_once dirname( __FILE__ ) . '/class.json-api-site-jetpack-base.php';
+require_once dirname( __FILE__ ) . '/class.json-api-post-jetpack.php';
+
+// this code runs on Jetpack (.org) sites
+class Jetpack_Site extends Abstract_Jetpack_Site {
+
+ protected function get_mock_option( $name ) {
+ return get_option( 'jetpack_'.$name );
+ }
+
+ protected function get_constant( $name ) {
+ if ( defined( $name) ) {
+ return constant( $name );
+ }
+ return null;
+ }
+
+ protected function main_network_site() {
+ return network_site_url();
+ }
+
+ protected function wp_version() {
+ global $wp_version;
+ return $wp_version;
+ }
+
+ protected function max_upload_size() {
+ return wp_max_upload_size();
+ }
+
+ protected function wp_memory_limit() {
+ return wp_convert_hr_to_bytes( WP_MEMORY_LIMIT );
+ }
+
+ protected function wp_max_memory_limit() {
+ return wp_convert_hr_to_bytes( WP_MAX_MEMORY_LIMIT );
+ }
+
+ protected function is_main_network() {
+ return Jetpack::is_multi_network();
+ }
+
+ public function is_multisite() {
+ return (bool) is_multisite();
+ }
+
+ public function is_single_user_site() {
+ return (bool) Jetpack::is_single_user_site();
+ }
+
+ protected function is_version_controlled() {
+ return Jetpack_Sync_Functions::is_version_controlled();
+ }
+
+ protected function file_system_write_access() {
+ return Jetpack_Sync_Functions::file_system_write_access();
+ }
+
+ protected function current_theme_supports( $feature_name ) {
+ return current_theme_supports( $feature_name );
+ }
+
+ protected function get_theme_support( $feature_name ) {
+ return get_theme_support( $feature_name );
+ }
+
+ public function get_updates() {
+ return (array) Jetpack::get_updates();
+ }
+
+ function get_id() {
+ return $this->platform->token->blog_id;
+ }
+
+ function has_videopress() {
+ // TODO - this only works on wporg site - need to detect videopress option for remote Jetpack site on WPCOM
+ $videopress = Jetpack_Options::get_option( 'videopress', array() );
+ if ( isset( $videopress['blog_id'] ) && $videopress['blog_id'] > 0 ) {
+ return true;
+ }
+
+ return false;
+ }
+
+ function upgraded_filetypes_enabled() {
+ return true;
+ }
+
+ function is_mapped_domain() {
+ return true;
+ }
+
+ function is_redirect() {
+ return false;
+ }
+
+ function is_following() {
+ return false;
+ }
+
+ function has_wordads() {
+ return Jetpack::is_module_active( 'wordads' );
+ }
+
+ function get_frame_nonce() {
+ return false;
+ }
+
+ function get_jetpack_frame_nonce() {
+ return false;
+ }
+
+ function is_headstart_fresh() {
+ return false;
+ }
+
+ function allowed_file_types() {
+ $allowed_file_types = array();
+
+ // http://codex.wordpress.org/Uploading_Files
+ $mime_types = get_allowed_mime_types();
+ foreach ( $mime_types as $type => $mime_type ) {
+ $extras = explode( '|', $type );
+ foreach ( $extras as $extra ) {
+ $allowed_file_types[] = $extra;
+ }
+ }
+
+ return $allowed_file_types;
+ }
+
+ function is_private() {
+ return false;
+ }
+
+ function get_plan() {
+ return false;
+ }
+
+ function get_subscribers_count() {
+ return 0; // special magic fills this in on the WPCOM side
+ }
+
+ function get_capabilities() {
+ return false;
+ }
+
+ function get_locale() {
+ return get_bloginfo( 'language' );
+ }
+
+ function is_jetpack() {
+ return true;
+ }
+
+ public function get_jetpack_version() {
+ return JETPACK__VERSION;
+ }
+
+ function get_ak_vp_bundle_enabled() {}
+
+ function get_jetpack_seo_front_page_description() {
+ return Jetpack_SEO_Utils::get_front_page_meta_description();
+ }
+
+ function get_jetpack_seo_title_formats() {
+ return Jetpack_SEO_Titles::get_custom_title_formats();
+ }
+
+ function get_verification_services_codes() {
+ return get_option( 'verification_services_codes', null );
+ }
+
+ function get_podcasting_archive() {
+ return null;
+ }
+
+ function is_connected_site() {
+ return true;
+ }
+
+ function current_user_can( $role ) {
+ return current_user_can( $role );
+ }
+
+ /**
+ * Post functions
+ */
+
+ function wrap_post( $post, $context ) {
+ return new Jetpack_Post( $this, $post, $context );
+ }
+
+}