| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192 |
- <?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 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 );
- }
- }
|