ng_attempts; $rval = $this->contact_service( 'ping', array( 'args' => $vaultpress_pings ) ); if ( $rval || $ping_attempts >= 3 ) break; if ( !$rval ) usleep(500000); } while ( true ); if ( !$rval ) { if ( $this->get_option( 'connection_error_code' ) !== -8 ) { // Do not save pings when the subscription is inactive. $__vp_recursive_ping_lock = true; $this->ai_ping_insert( serialize( $vaultpress_pings ) ); } } $this->reset_pings(); if ( $close_wpdb ) { $wpdb->__destruct(); unset( $wpdb ); } return $rval; } function resolve_content_dir() { // Take the easy way out if ( defined( 'WP_CONTENT_DIR' ) ) { if ( substr( WP_CONTENT_DIR, -1 ) != DIRECTORY_SEPARATOR ) return WP_CONTENT_DIR . DIRECTORY_SEPARATOR; return WP_CONTENT_DIR; } // Best guess if ( defined( 'ABSPATH' ) ) { if ( substr( ABSPATH, -1 ) != DIRECTORY_SEPARATOR ) return ABSPATH . DIRECTORY_SEPARATOR . 'wp-content' . DIRECTORY_SEPARATOR; return ABSPATH . 'wp-content' . DIRECTORY_SEPARATOR; } // Run with a solid assumption: WP_CONTENT_DIR/vaultpress/vaultpress.php return dirname( __DIR__ ) . DIRECTORY_SEPARATOR; } function resolve_upload_path() { $upload_path = false; $upload_dir = wp_upload_dir(); if ( isset( $upload_dir['basedir'] ) ) $upload_path = $upload_dir['basedir']; // Nothing recorded? use a best guess! if ( !$upload_path || $upload_path == realpath( ABSPATH ) ) return $this->resolve_content_dir() . 'uploads' . DIRECTORY_SEPARATOR; if ( substr( $upload_path, -1 ) != DIRECTORY_SEPARATOR ) $upload_path .= DIRECTORY_SEPARATOR; return $upload_path; } function load_first( $value ) { $value = array_unique( $value ); // just in case there are duplicates return array_merge( preg_grep( '/vaultpress\.php$/', $value ), preg_grep( '/vaultpress\.php$/', $value, PREG_GREP_INVERT ) ); } function is_multisite() { if ( function_exists( 'is_multisite' ) ) return is_multisite(); return false; } function is_main_site() { if ( !function_exists( 'is_main_site' ) || !$this->is_multisite() ) return true; return is_main_site(); } function is_registered() { $key = $this->get_option( 'key' ); $secret = $this->get_option( 'secret' ); return !empty( $key ) && !empty( $secret ); } function clear_connection() { $this->delete_option( 'connection' ); $this->delete_option( 'connection_error_code' ); $this->delete_option( 'connection_error_message' ); $this->delete_option( 'connection_test' ); } function site_url() { $site_url = ''; // compatibility for WordPress MU Domain Mapping plugin if ( defined( 'DOMAIN_MAPPING' ) && DOMAIN_MAPPING && ! function_exists( 'domain_mapping_siteurl' ) ) { if ( !function_exists( 'is_plugin_active' ) ) require_once ABSPATH . '/wp-admin/includes/plugin.php'; $plugin = 'wordpress-mu-domain-mapping/domain_mapping.php'; if ( is_plugin_active( $plugin ) ) include_once( WP_PLUGIN_DIR . '/' . $plugin ); } if ( function_exists( 'domain_mapping_siteurl' ) ) $site_url = domain_mapping_siteurl( false ); if ( empty( $site_url ) ) $site_url = site_url(); return $site_url; } /** * Sync the VaultPress options to WordPress.com if the Jetpack plugin is active. */ function sync_jetpack_options() { if ( class_exists( 'Jetpack_Sync' ) && method_exists( 'Jetpack_Sync', 'sync_options' ) && defined( 'JETPACK__VERSION' ) && version_compare( JETPACK__VERSION, '4.1', '<' ) ) { Jetpack_Sync::sync_options( __FILE__, $this->auto_register_option, $this->option_name ); } } /** * Add the VaultPress options to the Jetpack options management whitelist. * Allows Jetpack to register VaultPress options automatically. * * @param array $options The list of whitelisted option names. * * @return array The updated whitelist */ function add_to_jetpack_options_whitelist( $options ) { $options[] = $this->option_name; $options[] = $this->auto_register_option; return $options; } /** * When the VaultPress auto-register option is updated, run the registration call. * * This should only be run when the option is updated from the Jetpack/WP.com * API call, and only if the new key is different than the old key. * * @param mixed $old_value The old option value, or the option name (if add_option). * @param mixed $value The new option value. */ function updated_auto_register_option( $old_value, $value ) { // Not an API call or CLI call if ( ! class_exists( 'WPCOM_JSON_API_Update_Option_Endpoint' ) && ! ( defined( 'WP_CLI' ) && WP_CLI ) ) { return; } remove_action( "update_option_{$this->auto_register_option}", array( $this, 'updated_auto_register_option' ) ); $defaults = array( 'key' => false, 'action' => 'register', // or `response` 'status' => 'working', 'error' => false, ); // `wp_parse_args` uses arrays, might as well be explicit about it. $registration = (array) json_decode( $value ); $registration = wp_parse_args( $registration, $defaults ); // If we have a working connection, don't update the key. if ( $this->check_connection( true ) ) { $registration['action'] = 'response'; $registration['error'] = 'VaultPress is already registered on this site.'; update_option( $this->auto_register_option, json_encode( $registration ) ); return; } if ( ! $registration['key'] ) { return; } $registration['action'] = 'response'; $response = $this->register( $registration['key'] ); if ( is_wp_error( $response ) ) { $registration['status'] = 'broken'; $registration['error'] = $response->get_error_message(); } else if ( $this->get_option( 'connection_error_code' ) ) { $registration['status'] = 'broken'; $registration['error'] = $this->get_option( 'connection_error_message' ); } else { $registration['error'] = false; } update_option( $this->auto_register_option, json_encode( $registration ) ); } function add_global_actions_and_filters() { add_action( 'init', array( $this, 'sync_jetpack_options' ), 0, 99 ); add_filter( 'jetpack_options_whitelist', array( $this, 'add_to_jetpack_options_whitelist' ) ); add_action( "update_option_{$this->auto_register_option}", array( $this, 'updated_auto_register_option' ), 10, 2 ); add_action( "add_option_{$this->auto_register_option}", array( $this, 'updated_auto_register_option' ), 10, 2 ); add_action( 'admin_enqueue_scripts', array( $this, 'styles' ) ); } function add_admin_actions_and_filters() { add_action( 'admin_init', array( $this, 'admin_init' ) ); add_action( 'admin_menu', array( $this, 'admin_menu' ), 5 ); # Priority 5, so it's called before Jetpack's admin_menu. add_action( 'admin_head', array( $this, 'admin_head' ) ); } function add_listener_actions_and_filters() { add_action( 'admin_bar_menu', array( $this, 'toolbar' ), 999 ); // Comments add_action( 'delete_comment', array( $this, 'comment_action_handler' ) ); add_action( 'wp_set_comment_status', array( $this, 'comment_action_handler' ) ); add_action( 'trashed_comment', array( $this, 'comment_action_handler' ) ); add_action( 'untrashed_comment', array( $this, 'comment_action_handler' ) ); add_action( 'wp_insert_comment', array( $this, 'comment_action_handler' ) ); add_action( 'comment_post', array( $this, 'comment_action_handler' ) ); add_action( 'edit_comment', array( $this, 'comment_action_handler' ) ); // Commentmeta add_action( 'added_comment_meta', array( $this, 'commentmeta_insert_handler' ), 10, 2 ); add_action( 'updated_comment_meta', array( $this, 'commentmeta_modification_handler' ), 10, 4 ); add_action( 'deleted_comment_meta', array( $this, 'commentmeta_modification_handler' ), 10, 4 ); // Users if ( $this->is_main_site() ) { add_action( 'user_register', array( $this, 'userid_action_handler' ) ); add_action( 'password_reset', array( $this, 'userid_action_handler' ) ); add_action( 'profile_update', array( $this, 'userid_action_handler' ) ); add_action( 'user_register', array( $this, 'userid_action_handler' ) ); add_action( 'deleted_user', array( $this, 'userid_action_handler' ) ); } // Usermeta if ( $this->is_main_site() ) { // Keeping these action hooks for backward compatibility add_action( 'added_usermeta', array( $this, 'usermeta_action_handler' ), 10, 4 ); add_action( 'update_usermeta', array( $this, 'usermeta_action_handler' ), 10, 4 ); add_action( 'delete_usermeta', array( $this, 'usermeta_action_handler' ), 10, 4 ); add_action( 'added_user_meta', array( $this, 'usermeta_action_handler' ), 10, 4 ); add_action( 'update_user_meta', array( $this, 'usermeta_action_handler' ), 10, 4 ); add_action( 'delete_user_meta', array( $this, 'usermeta_action_handler' ), 10, 4 ); } // Posts add_action( 'delete_post', array( $this, 'post_action_handler' ) ); add_action( 'trash_post', array( $this, 'post_action_handler' ) ); add_action( 'untrash_post', array( $this, 'post_action_handler' ) ); add_action( 'edit_post', array( $this, 'post_action_handler' ) ); add_action( 'save_post', array( $this, 'post_action_handler' ) ); add_action( 'wp_insert_post', array( $this, 'post_action_handler' ) ); add_action( 'edit_attachment', array( $this, 'post_action_handler' ) ); add_action( 'add_attachment', array( $this, 'post_action_handler' ) ); add_action( 'delete_attachment', array( $this, 'post_action_handler' ) ); add_action( 'private_to_publish', array( $this, 'post_action_handler' ) ); add_action( 'wp_restore_post_revision', array( $this, 'post_action_handler' ) ); // Postmeta add_action( 'added_post_meta', array( $this, 'postmeta_insert_handler' ), 10, 4 ); add_action( 'update_post_meta', array( $this, 'postmeta_modification_handler' ), 10, 4 ); add_action( 'updated_post_meta', array( $this, 'postmeta_modification_handler' ), 10, 4 ); add_action( 'delete_post_meta', array( $this, 'postmeta_modification_handler' ), 10, 4 ); add_action( 'deleted_post_meta', array( $this, 'postmeta_modification_handler' ), 10, 4 ); add_action( 'added_postmeta', array( $this, 'postmeta_action_handler' ), 10, 3 ); add_action( 'update_postmeta', array( $this, 'postmeta_action_handler' ), 10, 3 ); add_action( 'delete_postmeta', array( $this, 'postmeta_action_handler' ), 10, 3 ); // Links add_action( 'edit_link', array( $this, 'link_action_handler' ) ); add_action( 'add_link', array( $this, 'link_action_handler' ) ); add_action( 'delete_link', array( $this, 'link_action_handler' ) ); // Taxonomy add_action( 'created_term', array( $this, 'term_handler' ), 2 ); add_action( 'edited_terms', array( $this, 'term_handler' ), 2 ); add_action( 'delete_term', array( $this, 'term_handler' ), 2 ); add_action( 'edit_term_taxonomy', array( $this, 'term_taxonomy_handler' ) ); add_action( 'delete_term_taxonomy', array( $this, 'term_taxonomy_handler' ) ); add_action( 'edit_term_taxonomies', array( $this, 'term_taxonomies_handler' ) ); add_action( 'add_term_relationship', array( $this, 'term_relationship_handler' ), 10, 2 ); add_action( 'delete_term_relationships', array( $this, 'term_relationships_handler' ), 10, 2 ); add_action( 'set_object_terms', array( $this, 'set_object_terms_handler' ), 10, 3 ); // Files if ( $this->is_main_site() ) { add_action( 'switch_theme', array( $this, 'theme_action_handler' ) ); add_action( 'activate_plugin', array( $this, 'plugin_action_handler' ) ); add_action( 'deactivate_plugin', array( $this, 'plugin_action_handler' ) ); } add_action( 'wp_handle_upload', array( $this, 'upload_handler' ) ); // Options add_action( 'deleted_option', array( $this, 'option_handler' ), 1 ); add_action( 'updated_option', array( $this, 'option_handler' ), 1 ); add_action( 'added_option', array( $this, 'option_handler' ), 1 ); $this->add_woocommerce_actions(); $this->add_vp_required_filters(); } function add_woocommerce_actions() { add_action( 'woocommerce_tax_rate_deleted', array( $this, 'woocommerce_tax_rate_handler' ), 10, 1 ); add_action( 'woocommerce_tax_rate_updated', array( $this, 'woocommerce_tax_rate_handler' ), 10, 1 ); add_action( 'woocommerce_tax_rate_added', array( $this, 'woocommerce_tax_rate_handler' ), 10, 1 ); add_action( 'woocommerce_new_order_item', array( $this, 'woocommerce_order_item_handler' ), 10, 1 ); add_action( 'woocommerce_update_order_item', array( $this, 'woocommerce_order_item_handler' ), 10, 1 ); add_action( 'woocommerce_delete_order_item', array( $this, 'woocommerce_order_item_handler' ), 10, 1 ); add_action( 'added_order_item_meta', array( $this, 'woocommerce_order_item_meta_handler' ), 10, 1 ); add_action( 'updated_order_item_meta', array( $this, 'woocommerce_order_item_meta_handler' ), 10, 1 ); add_action( 'deleted_order_item_meta', array( $this, 'woocommerce_order_item_meta_handler' ), 10, 1 ); add_action( 'woocommerce_attribute_added', array( $this, 'woocommerce_attribute_handler' ), 10, 1 ); add_action( 'woocommerce_attribute_updated', array( $this, 'woocommerce_attribute_handler' ), 10, 1 ); add_action( 'woocommerce_attribute_deleted', array( $this, 'woocommerce_attribute_handler' ), 10, 1 ); } function add_vp_required_filters() { // Log ins if ( $this->get_option( 'login_lockdown' ) ) { add_action( 'login_form', array( $this, 'add_js_token' ) ); add_filter( 'authenticate', array( $this, 'authenticate' ), 999 ); } // Report back to VaultPress add_action( 'shutdown', array( $this, 'do_pings' ) ); // VaultPress likes being first in line add_filter( 'pre_update_option_active_plugins', array( $this, 'load_first' ) ); } function get_jetpack_email() { if ( ! class_exists( 'Jetpack' ) ) { return false; } // For version of Jetpack prior to 7.7. if ( defined( 'JETPACK__VERSION' ) && version_compare( JETPACK__VERSION, '7.7', '<' ) && ! class_exists( 'Jetpack_IXR_Client' ) ) { Jetpack::load_xml_rpc_client(); } $xml = new Jetpack_IXR_Client( array( 'user_id' => get_current_user_id() ) ); $xml->query( 'wpcom.getUserEmail' ); if ( ! $xml->isError() ) { return $xml->getResponse(); } return new WP_Error( $xml->getErrorCode(), $xml->getErrorMessage() ); } function get_key_via_jetpack( $already_purchased = false ) { if ( ! class_exists( 'Jetpack' ) ) { return false; } // For version of Jetpack prior to 7.7. if ( defined( 'JETPACK__VERSION' ) && version_compare( JETPACK__VERSION, '7.7', '<' ) && ! class_exists( 'Jetpack_IXR_Client' ) ) { Jetpack::load_xml_rpc_client(); } $xml = new Jetpack_IXR_Client( array( 'user_id' => Jetpack_Options::get_option( 'master_user' ) ) ); $xml->query( 'vaultpress.registerSite', $already_purchased ); if ( ! $xml->isError() ) { return $xml->getResponse(); } return new WP_Error( $xml->getErrorCode(), $xml->getErrorMessage() ); } function register_via_jetpack( $already_purchased = false ) { $registration_key = $this->get_key_via_jetpack( $already_purchased ); if ( is_wp_error( $registration_key ) ) { return $registration_key; } return self::register( $registration_key ); } } $vaultpress = VaultPress::init(); if ( isset( $_GET['vaultpress'] ) && $_GET['vaultpress'] ) { if ( !function_exists( 'wp_magic_quotes' ) ) { // Escape with wpdb. $_GET = add_magic_quotes( $_GET ); $_POST = add_magic_quotes( $_POST ); $_COOKIE = add_magic_quotes( $_COOKIE ); $_SERVER = add_magic_quotes( $_SERVER ); // Force REQUEST to be GET + POST. If SERVER, COOKIE, or ENV are needed, use those superglobals directly. $_REQUEST = array_merge( $_GET, $_POST ); } else { wp_magic_quotes(); } if ( !function_exists( 'wp_get_current_user' ) ) include ABSPATH . '/wp-includes/pluggable.php'; // TODO: this prevents some error notices but do we need it? is there a better way to check capabilities/logged in user/etc? if ( function_exists( 'wp_cookie_constants' ) && !defined( 'AUTH_COOKIE' ) ) wp_cookie_constants(); $vaultpress->parse_request( null ); die(); } // only load hotfixes if it's not a VP request require_once __DIR__ . '/class.vaultpress-hotfixes.php'; $hotfixes = new VaultPress_Hotfixes(); // Add a helper method to WP CLI for auto-registerion via Jetpack if ( defined( 'WP_CLI' ) && WP_CLI ) { require_once __DIR__ . '/class.vaultpress-cli.php'; } require_once __DIR__ . '/cron-tasks.php'; {"id":16338,"date":"2015-12-31T05:15:15","date_gmt":"2015-12-31T10:15:15","guid":{"rendered":"http:\/\/www.socialnews.xyz\/?p=16338"},"modified":"2015-12-31T05:15:15","modified_gmt":"2015-12-31T10:15:15","slug":"us-honours-plutos-historic-flyby-with-postal-stamps","status":"publish","type":"post","link":"https:\/\/www.socialnews.xyz\/2015\/12\/31\/us-honours-plutos-historic-flyby-with-postal-stamps\/","title":{"rendered":"US Honours Pluto’s Historic Flyby with Postal Stamps"},"content":{"rendered":"

\"US<\/a>Washington, Dec 31 (IANS)<\/strong> The US Postal Service has released a preview of its new 2016 stamps highlighting NASA's planetary science programme, including the New Horizons' historic 2015 flyby.<\/p>\n

The 2016 stamp series also has eight new colourful Forever stamps of NASA images of solar system planets, a \"Global Forever\" stamp dedicated to the Earth's moon as well as another postal treat for space fans - a tribute to 50 years of \"Star Trek\".<\/p>\n

\"It is exciting to see that planetary science and space exploration are being celebrated in these new 2016 stamps,\" said John Grunsfeld, NASA's associate administrator for science in Washington, DC, in a statement.<\/p>\n

\"We are honoured that the US Postal Service has chosen to highlight NASA's New Horizons and 50 years of planetary exploration with these iconic images,\" he added.<\/p>\n

The Pluto stamps are of special significance to NASA and the New Horizons team which placed a 29-cent 1991 \"Pluto: Not Yet Explored\" stamp on board the spacecraft.<\/p>\n

On July 14, the New Horizons carried the tiny postage stamp on its history-making journey to Pluto and beyond, as members of the mission team celebrated with a large print, striking the words \"not yet\".<\/p>\n

\"The New Horizons project is proud to have such an important honor from the U.S. Postal Service,\" noted Alan Stern, New Horizons principal investigator.<\/p>\n

The souvenir sheet of four stamps contains two new stamps appearing twice.<\/p>\n

The first stamp shows an artist's rendering of NASA's New Horizons Pluto flyby spacecraft and the second shows the spacecraft's enhanced colour image of Pluto taken by New Horizons near its closest approach to Pluto.<\/p>\n

The \"Pluto Explored!\" stamps will be dedicated in late May at the World Stamp Show in New York next year.<\/p>\n","protected":false},"excerpt":{"rendered":"

Washington, Dec 31 (IANS) The US Postal Service has released a preview of its new 2016 stamps highlighting NASA’s planetary science programme, including the New Horizons’ historic 2015 flyby. The 2016 stamp series also has…<\/p>\n","protected":false},"author":11,"featured_media":16370,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false}}},"categories":[12,62],"tags":[],"better_featured_image":{"id":16370,"alt_text":"","caption":"","description":"","media_type":"image","media_details":{"width":1050,"height":1050,"file":"2015\/12\/pluto-stamp.jpg","sizes":{"thumbnail":{"file":"pluto-stamp-150x150.jpg","width":150,"height":150,"mime-type":"image\/jpeg","source_url":"https:\/\/i0.wp.com\/www.socialnews.xyz\/wp-content\/uploads\/2015\/12\/pluto-stamp.jpg?resize=150%2C150&quality=80&zoom=1&ssl=1"},"medium":{"file":"pluto-stamp-300x300.jpg","width":300,"height":300,"mime-type":"image\/jpeg","source_url":"https:\/\/i0.wp.com\/www.socialnews.xyz\/wp-content\/uploads\/2015\/12\/pluto-stamp.jpg?fit=300%2C300&quality=80&zoom=1&ssl=1"},"medium_large":{"file":"pluto-stamp-768x768.jpg","width":768,"height":768,"mime-type":"image\/jpeg","source_url":"https:\/\/i0.wp.com\/www.socialnews.xyz\/wp-content\/uploads\/2015\/12\/pluto-stamp.jpg?fit=768%2C768&quality=80&zoom=1&ssl=1"},"large":{"file":"pluto-stamp-1024x1024.jpg","width":1024,"height":1024,"mime-type":"image\/jpeg","source_url":"https:\/\/i0.wp.com\/www.socialnews.xyz\/wp-content\/uploads\/2015\/12\/pluto-stamp.jpg?fit=1024%2C1024&quality=80&zoom=1&ssl=1"},"content-single":{"file":"pluto-stamp-777x437.jpg","width":777,"height":437,"mime-type":"image\/jpeg","source_url":"https:\/\/i0.wp.com\/www.socialnews.xyz\/wp-content\/uploads\/2015\/12\/pluto-stamp.jpg?resize=777%2C437&quality=80&zoom=1&ssl=1"},"content-list":{"file":"pluto-stamp-260x146.jpg","width":260,"height":146,"mime-type":"image\/jpeg","source_url":"https:\/\/i0.wp.com\/www.socialnews.xyz\/wp-content\/uploads\/2015\/12\/pluto-stamp.jpg?resize=260%2C146&quality=80&zoom=1&ssl=1"},"cp-thumb-small":{"file":"pluto-stamp-120x67.jpg","width":120,"height":67,"mime-type":"image\/jpeg","source_url":"https:\/\/i0.wp.com\/www.socialnews.xyz\/wp-content\/uploads\/2015\/12\/pluto-stamp.jpg?resize=75%2C42&quality=80&zoom=1&ssl=1"},"rpwe-thumbnail":{"file":"pluto-stamp-45x45.jpg","width":45,"height":45,"mime-type":"image\/jpeg","source_url":"https:\/\/i0.wp.com\/www.socialnews.xyz\/wp-content\/uploads\/2015\/12\/pluto-stamp.jpg?resize=45%2C45&quality=80&zoom=1&ssl=1"}},"image_meta":{"aperture":0,"credit":"","camera":"","caption":"","created_timestamp":0,"copyright":"","focal_length":0,"iso":0,"shutter_speed":0,"title":"","orientation":0,"keywords":[]}},"post":16338,"source_url":"https:\/\/www.socialnews.xyz\/wp-content\/uploads\/2015\/12\/pluto-stamp.jpg"},"jetpack_publicize_connections":[],"yoast_head":"\nUS Honours Pluto's Historic Flyby with Postal Stamps - Social News XYZ<\/title>\n<meta name=\"description\" content=\"Washington, Dec 31 (IANS) The US Postal Service has released a preview of its new 2016 stamps highlighting NASA's planetary science programme, including the New Horizons' historic 2015 flyby. The 2016 stamp series also has... - Social News XYZ\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.socialnews.xyz\/2015\/12\/31\/us-honours-plutos-historic-flyby-with-postal-stamps\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"US Honours Pluto's Historic Flyby with Postal Stamps - Social News XYZ\" \/>\n<meta property=\"og:description\" content=\"Washington, Dec 31 (IANS) The US Postal Service has released a preview of its new 2016 stamps highlighting NASA's planetary science programme, including the New Horizons' historic 2015 flyby. The 2016 stamp series also has... - Social News XYZ\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.socialnews.xyz\/2015\/12\/31\/us-honours-plutos-historic-flyby-with-postal-stamps\/\" \/>\n<meta property=\"og:site_name\" content=\"Social News XYZ\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/socialnewsxyz\/\" \/>\n<meta property=\"article:published_time\" content=\"2015-12-31T10:15:15+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/i2.wp.com\/www.socialnews.xyz\/wp-content\/uploads\/2015\/12\/pluto-stamp.jpg?fit=1050%2C1050&quality=80&zoom=1&ssl=1\" \/>\n\t<meta property=\"og:image:width\" content=\"1050\" \/>\n\t<meta property=\"og:image:height\" content=\"1050\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Raju Sagi\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@Social_News_XYZ\" \/>\n<meta name=\"twitter:site\" content=\"@Social_News_XYZ\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Raju Sagi\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"NewsArticle\",\"@id\":\"https:\/\/www.socialnews.xyz\/2015\/12\/31\/us-honours-plutos-historic-flyby-with-postal-stamps\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.socialnews.xyz\/2015\/12\/31\/us-honours-plutos-historic-flyby-with-postal-stamps\/\"},\"author\":{\"name\":\"Raju Sagi\",\"@id\":\"https:\/\/www.socialnews.xyz\/#\/schema\/person\/23acdd199dd50efa07f5f4dbc04657af\"},\"headline\":\"US Honours Pluto’s Historic Flyby with Postal Stamps\",\"datePublished\":\"2015-12-31T10:15:15+00:00\",\"dateModified\":\"2015-12-31T10:15:15+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.socialnews.xyz\/2015\/12\/31\/us-honours-plutos-historic-flyby-with-postal-stamps\/\"},\"wordCount\":288,\"publisher\":{\"@id\":\"https:\/\/www.socialnews.xyz\/#organization\"},\"articleSection\":[\"General\",\"NASA\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.socialnews.xyz\/2015\/12\/31\/us-honours-plutos-historic-flyby-with-postal-stamps\/\",\"url\":\"https:\/\/www.socialnews.xyz\/2015\/12\/31\/us-honours-plutos-historic-flyby-with-postal-stamps\/\",\"name\":\"US Honours Pluto's Historic Flyby with Postal Stamps - Social News XYZ\",\"isPartOf\":{\"@id\":\"https:\/\/www.socialnews.xyz\/#website\"},\"datePublished\":\"2015-12-31T10:15:15+00:00\",\"dateModified\":\"2015-12-31T10:15:15+00:00\",\"description\":\"Washington, Dec 31 (IANS) The US Postal Service has released a preview of its new 2016 stamps highlighting NASA's planetary science programme, including the New Horizons' historic 2015 flyby. The 2016 stamp series also has... - Social News XYZ\",\"breadcrumb\":{\"@id\":\"https:\/\/www.socialnews.xyz\/2015\/12\/31\/us-honours-plutos-historic-flyby-with-postal-stamps\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.socialnews.xyz\/2015\/12\/31\/us-honours-plutos-historic-flyby-with-postal-stamps\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.socialnews.xyz\/2015\/12\/31\/us-honours-plutos-historic-flyby-with-postal-stamps\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.socialnews.xyz\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Technology\",\"item\":\"https:\/\/www.socialnews.xyz\/category\/technology\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"NASA\",\"item\":\"https:\/\/www.socialnews.xyz\/category\/technology\/nasa\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"US Honours Pluto’s Historic Flyby with Postal Stamps\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.socialnews.xyz\/#website\",\"url\":\"https:\/\/www.socialnews.xyz\/\",\"name\":\"Social News XYZ\",\"description\":\"The Millennial Media\",\"publisher\":{\"@id\":\"https:\/\/www.socialnews.xyz\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.socialnews.xyz\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.socialnews.xyz\/#organization\",\"name\":\"AGK FIRE INC (DBA: Social News XYZ)\",\"url\":\"https:\/\/www.socialnews.xyz\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.socialnews.xyz\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/i0.wp.com\/www.socialnews.xyz\/wp-content\/uploads\/2016\/07\/12\/Social-News-XYZ.jpg?fit=512%2C512&quality=80&zoom=1&ssl=1\",\"contentUrl\":\"https:\/\/i0.wp.com\/www.socialnews.xyz\/wp-content\/uploads\/2016\/07\/12\/Social-News-XYZ.jpg?fit=512%2C512&quality=80&zoom=1&ssl=1\",\"width\":512,\"height\":512,\"caption\":\"AGK FIRE INC (DBA: Social News XYZ)\"},\"image\":{\"@id\":\"https:\/\/www.socialnews.xyz\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/socialnewsxyz\/\",\"https:\/\/twitter.com\/Social_News_XYZ\",\"https:\/\/www.instagram.com\/socialnewsxyz\/\",\"https:\/\/www.linkedin.com\/company\/socialnewsxyz\/\",\"https:\/\/www.pinterest.com\/socialnewsxyz\/\",\"https:\/\/www.youtube.com\/socialnewsxyz\/\",\"https:\/\/flipboard.com\/@SocialNewsXYZ\",\"https:\/\/news.google.com\/publications\/CAAqKQgKIiNDQklTRkFnTWFoQUtEbk52WTJsaGJHNWxkM011ZUhsNktBQVAB?ceid=US:en&oc=3\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.socialnews.xyz\/#\/schema\/person\/23acdd199dd50efa07f5f4dbc04657af\",\"name\":\"Raju Sagi\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.socialnews.xyz\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/079d38b62032a510e31038f645636ac1?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/079d38b62032a510e31038f645636ac1?s=96&d=mm&r=g\",\"caption\":\"Raju Sagi\"},\"url\":\"https:\/\/www.socialnews.xyz\/author\/rajussn\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"US Honours Pluto's Historic Flyby with Postal Stamps - Social News XYZ","description":"Washington, Dec 31 (IANS) The US Postal Service has released a preview of its new 2016 stamps highlighting NASA's planetary science programme, including the New Horizons' historic 2015 flyby. The 2016 stamp series also has... - Social News XYZ","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.socialnews.xyz\/2015\/12\/31\/us-honours-plutos-historic-flyby-with-postal-stamps\/","og_locale":"en_US","og_type":"article","og_title":"US Honours Pluto's Historic Flyby with Postal Stamps - Social News XYZ","og_description":"Washington, Dec 31 (IANS) The US Postal Service has released a preview of its new 2016 stamps highlighting NASA's planetary science programme, including the New Horizons' historic 2015 flyby. The 2016 stamp series also has... - Social News XYZ","og_url":"https:\/\/www.socialnews.xyz\/2015\/12\/31\/us-honours-plutos-historic-flyby-with-postal-stamps\/","og_site_name":"Social News XYZ","article_publisher":"https:\/\/www.facebook.com\/socialnewsxyz\/","article_published_time":"2015-12-31T10:15:15+00:00","og_image":[{"width":1050,"height":1050,"url":"https:\/\/i2.wp.com\/www.socialnews.xyz\/wp-content\/uploads\/2015\/12\/pluto-stamp.jpg?fit=1050%2C1050&quality=80&zoom=1&ssl=1","type":"image\/jpeg"}],"author":"Raju Sagi","twitter_card":"summary_large_image","twitter_creator":"@Social_News_XYZ","twitter_site":"@Social_News_XYZ","twitter_misc":{"Written by":"Raju Sagi","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"NewsArticle","@id":"https:\/\/www.socialnews.xyz\/2015\/12\/31\/us-honours-plutos-historic-flyby-with-postal-stamps\/#article","isPartOf":{"@id":"https:\/\/www.socialnews.xyz\/2015\/12\/31\/us-honours-plutos-historic-flyby-with-postal-stamps\/"},"author":{"name":"Raju Sagi","@id":"https:\/\/www.socialnews.xyz\/#\/schema\/person\/23acdd199dd50efa07f5f4dbc04657af"},"headline":"US Honours Pluto’s Historic Flyby with Postal Stamps","datePublished":"2015-12-31T10:15:15+00:00","dateModified":"2015-12-31T10:15:15+00:00","mainEntityOfPage":{"@id":"https:\/\/www.socialnews.xyz\/2015\/12\/31\/us-honours-plutos-historic-flyby-with-postal-stamps\/"},"wordCount":288,"publisher":{"@id":"https:\/\/www.socialnews.xyz\/#organization"},"articleSection":["General","NASA"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.socialnews.xyz\/2015\/12\/31\/us-honours-plutos-historic-flyby-with-postal-stamps\/","url":"https:\/\/www.socialnews.xyz\/2015\/12\/31\/us-honours-plutos-historic-flyby-with-postal-stamps\/","name":"US Honours Pluto's Historic Flyby with Postal Stamps - Social News XYZ","isPartOf":{"@id":"https:\/\/www.socialnews.xyz\/#website"},"datePublished":"2015-12-31T10:15:15+00:00","dateModified":"2015-12-31T10:15:15+00:00","description":"Washington, Dec 31 (IANS) The US Postal Service has released a preview of its new 2016 stamps highlighting NASA's planetary science programme, including the New Horizons' historic 2015 flyby. The 2016 stamp series also has... - Social News XYZ","breadcrumb":{"@id":"https:\/\/www.socialnews.xyz\/2015\/12\/31\/us-honours-plutos-historic-flyby-with-postal-stamps\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.socialnews.xyz\/2015\/12\/31\/us-honours-plutos-historic-flyby-with-postal-stamps\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.socialnews.xyz\/2015\/12\/31\/us-honours-plutos-historic-flyby-with-postal-stamps\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.socialnews.xyz\/"},{"@type":"ListItem","position":2,"name":"Technology","item":"https:\/\/www.socialnews.xyz\/category\/technology\/"},{"@type":"ListItem","position":3,"name":"NASA","item":"https:\/\/www.socialnews.xyz\/category\/technology\/nasa\/"},{"@type":"ListItem","position":4,"name":"US Honours Pluto’s Historic Flyby with Postal Stamps"}]},{"@type":"WebSite","@id":"https:\/\/www.socialnews.xyz\/#website","url":"https:\/\/www.socialnews.xyz\/","name":"Social News XYZ","description":"The Millennial Media","publisher":{"@id":"https:\/\/www.socialnews.xyz\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.socialnews.xyz\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.socialnews.xyz\/#organization","name":"AGK FIRE INC (DBA: Social News XYZ)","url":"https:\/\/www.socialnews.xyz\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.socialnews.xyz\/#\/schema\/logo\/image\/","url":"https:\/\/i0.wp.com\/www.socialnews.xyz\/wp-content\/uploads\/2016\/07\/12\/Social-News-XYZ.jpg?fit=512%2C512&quality=80&zoom=1&ssl=1","contentUrl":"https:\/\/i0.wp.com\/www.socialnews.xyz\/wp-content\/uploads\/2016\/07\/12\/Social-News-XYZ.jpg?fit=512%2C512&quality=80&zoom=1&ssl=1","width":512,"height":512,"caption":"AGK FIRE INC (DBA: Social News XYZ)"},"image":{"@id":"https:\/\/www.socialnews.xyz\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/socialnewsxyz\/","https:\/\/twitter.com\/Social_News_XYZ","https:\/\/www.instagram.com\/socialnewsxyz\/","https:\/\/www.linkedin.com\/company\/socialnewsxyz\/","https:\/\/www.pinterest.com\/socialnewsxyz\/","https:\/\/www.youtube.com\/socialnewsxyz\/","https:\/\/flipboard.com\/@SocialNewsXYZ","https:\/\/news.google.com\/publications\/CAAqKQgKIiNDQklTRkFnTWFoQUtEbk52WTJsaGJHNWxkM011ZUhsNktBQVAB?ceid=US:en&oc=3"]},{"@type":"Person","@id":"https:\/\/www.socialnews.xyz\/#\/schema\/person\/23acdd199dd50efa07f5f4dbc04657af","name":"Raju Sagi","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.socialnews.xyz\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/079d38b62032a510e31038f645636ac1?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/079d38b62032a510e31038f645636ac1?s=96&d=mm&r=g","caption":"Raju Sagi"},"url":"https:\/\/www.socialnews.xyz\/author\/rajussn\/"}]}},"jetpack_featured_media_url":"https:\/\/i0.wp.com\/www.socialnews.xyz\/wp-content\/uploads\/2015\/12\/pluto-stamp.jpg?fit=1050%2C1050&quality=80&zoom=1&ssl=1","jetpack_likes_enabled":true,"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p6Nl9c-4fw","_links":{"self":[{"href":"https:\/\/www.socialnews.xyz\/wp-json\/wp\/v2\/posts\/16338"}],"collection":[{"href":"https:\/\/www.socialnews.xyz\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.socialnews.xyz\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.socialnews.xyz\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/www.socialnews.xyz\/wp-json\/wp\/v2\/comments?post=16338"}],"version-history":[{"count":0,"href":"https:\/\/www.socialnews.xyz\/wp-json\/wp\/v2\/posts\/16338\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.socialnews.xyz\/wp-json\/wp\/v2\/media\/16370"}],"wp:attachment":[{"href":"https:\/\/www.socialnews.xyz\/wp-json\/wp\/v2\/media?parent=16338"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.socialnews.xyz\/wp-json\/wp\/v2\/categories?post=16338"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.socialnews.xyz\/wp-json\/wp\/v2\/tags?post=16338"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}