<?php // phpcs:ignore WordPress.Files.FileName.InvalidClassFileName /** * Module Name: Jetpack Social * Module Description: Jetpack Social makes it easy to share your site’s posts on several social media networks automatically when you publish a new post. * Sort Order: 10 * Recommendation Order: 7 * First Introduced: 2.0 * Requires Connection: Yes * Requires User Connection: Yes * Auto Activate: No * Module Tags: Social, Recommended * Feature: Engagement * Additional Search Queries: facebook, jetpack publicize, tumblr, linkedin, social, tweet, connections, sharing, social media, automated, automated sharing, auto publish, auto tweet and like, auto tweet, facebook auto post, facebook posting * * @package automattic/jetpack */ // phpcs:disable Universal.Files.SeparateFunctionsFromOO.Mixed -- TODO: Move classes to appropriately-named class files. /** * Class Jetpack_Publicize */ class Jetpack_Publicize { /** * Current status about Jetpack modules. * * @var Modules */ public $modules; /** * If Publicize is executing within Jetpack. * * @var bool */ public $in_jetpack = true; /** * Jetpack_Publicize constructor. */ public function __construct() { global $publicize_ui; $this->modules = new Automattic\Jetpack\Modules(); $this->in_jetpack = ( class_exists( 'Jetpack' ) && method_exists( 'Jetpack', 'enable_module_configurable' ) ) ? true : false; if ( $this->in_jetpack ) { Jetpack::enable_module_configurable( __FILE__ ); // if sharedaddy isn't active, the sharing menu hasn't been added yet. if ( $this->modules->is_active( 'publicize' ) && ! $this->modules->is_active( 'sharedaddy' ) ) { add_action( 'admin_menu', array( &$publicize_ui, 'sharing_menu' ) ); } /* * The Publicize Options array does not currently have UI since it is being added * for a specific purpose and not part of a broader Publicize sprint. * * In order to pass the settings up to WordPress.com, we are updating an option to Sync will pass it up. * To make it relatively easy for use, we are creating a filter that checks if the option and filter match. * * This only runs when a post is saved to avoid it running too much. */ add_action( 'save_post', function () { $publicize_options = get_option( 'jetpack_publicize_options', array() ); /** * Filters the options for Publicize. * * As of Jetpack 8.5, the array keys could be: * attach_media bool If Publicize should send the image to the social media platform. Default false. * * @module publicize * * @since 8.5.0 * * @param array $options Array of Publicize options. */ $filtered = (array) apply_filters( 'jetpack_publicize_options', $publicize_options ); if ( $publicize_options !== $filtered ) { update_option( 'jetpack_publicize_options', $filtered, false ); } } ); } else { global $publicize; require_once WP_CONTENT_DIR . '/mu-plugins/keyring/keyring.php'; require_once WP_CONTENT_DIR . '/admin-plugins/publicize/publicize-wpcom.php'; $publicize = new Publicize(); $publicize_ui = new Automattic\Jetpack\Publicize\Publicize_UI(); } } } // On Jetpack, we instantiate Jetpack_Publicize only if the Publicize module is active. if ( ! ( defined( 'IS_WPCOM' ) && IS_WPCOM ) ) { global $publicize; // None of this should be the case, but we can get here with a broken user connection. If that's the case // then we want to stop loading any more of the module code. if ( ! ( new Automattic\Jetpack\Modules() )->is_active( 'publicize' ) || ! Jetpack::connection()->has_connected_user() || ! $publicize ) { return; } new Jetpack_Publicize(); if ( ! function_exists( 'publicize_init' ) ) { /** * Helper for grabbing a Publicize object from the "front-end" (non-admin) of * a site. Normally Publicize is only loaded in wp-admin, so there's a little * set up that you might need to do if you want to use it on the front end. * Just call this function and it returns a Publicize object. * * @return Publicize Object */ function publicize_init() { global $publicize; return $publicize; } } } else { // On wpcom, instantiate Jetpack_Publicize without any other checks. new Jetpack_Publicize(); }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
calypsoify | Folder | 0755 |
|
|
carousel | Folder | 0755 |
|
|
cloudflare-analytics | Folder | 0755 |
|
|
comment-likes | Folder | 0755 |
|
|
comments | Folder | 0755 |
|
|
contact-form | Folder | 0755 |
|
|
custom-css | Folder | 0755 |
|
|
custom-post-types | Folder | 0755 |
|
|
geo-location | Folder | 0755 |
|
|
google-analytics | Folder | 0755 |
|
|
google-fonts | Folder | 0755 |
|
|
gravatar | Folder | 0755 |
|
|
infinite-scroll | Folder | 0755 |
|
|
likes | Folder | 0755 |
|
|
markdown | Folder | 0755 |
|
|
masterbar | Folder | 0755 |
|
|
memberships | Folder | 0755 |
|
|
photon-cdn | Folder | 0755 |
|
|
plugin-search | Folder | 0755 |
|
|
post-by-email | Folder | 0755 |
|
|
related-posts | Folder | 0755 |
|
|
scan | Folder | 0755 |
|
|
seo-tools | Folder | 0755 |
|
|
sharedaddy | Folder | 0755 |
|
|
shortcodes | Folder | 0755 |
|
|
simple-payments | Folder | 0755 |
|
|
site-icon | Folder | 0755 |
|
|
sitemaps | Folder | 0755 |
|
|
sso | Folder | 0755 |
|
|
stats | Folder | 0755 |
|
|
subscriptions | Folder | 0755 |
|
|
theme-tools | Folder | 0755 |
|
|
tiled-gallery | Folder | 0755 |
|
|
verification-tools | Folder | 0755 |
|
|
videopress | Folder | 0755 |
|
|
widget-visibility | Folder | 0755 |
|
|
widgets | Folder | 0755 |
|
|
woocommerce-analytics | Folder | 0755 |
|
|
wordads | Folder | 0755 |
|
|
wpcom-block-editor | Folder | 0755 |
|
|
wpcom-tos | Folder | 0755 |
|
|
action-bar.php | File | 644 B | 0644 |
|
blaze.php | File | 419 B | 0644 |
|
carousel.php | File | 573 B | 0644 |
|
comment-likes.php | File | 8.03 KB | 0644 |
|
comments.php | File | 1.06 KB | 0644 |
|
contact-form.php | File | 7.47 KB | 0644 |
|
copy-post.php | File | 12.27 KB | 0644 |
|
custom-content-types.php | File | 1.53 KB | 0644 |
|
custom-css.php | File | 1.37 KB | 0644 |
|
enhanced-distribution.php | File | 2.4 KB | 0644 |
|
geo-location.php | File | 2.44 KB | 0644 |
|
google-analytics.php | File | 501 B | 0644 |
|
google-fonts.php | File | 533 B | 0644 |
|
gravatar-hovercards.php | File | 11.8 KB | 0644 |
|
infinite-scroll.php | File | 8.19 KB | 0644 |
|
json-api.php | File | 484 B | 0644 |
|
latex.php | File | 4.61 KB | 0644 |
|
lazy-images.php | File | 955 B | 0644 |
|
likes.php | File | 21.59 KB | 0644 |
|
markdown.php | File | 1007 B | 0644 |
|
masterbar.php | File | 1.56 KB | 0644 |
|
module-extras.php | File | 2.93 KB | 0644 |
|
module-headings.php | File | 46.17 KB | 0644 |
|
module-info.php | File | 27.93 KB | 0644 |
|
monitor.php | File | 3.51 KB | 0644 |
|
notes.php | File | 7.6 KB | 0644 |
|
photon-cdn.php | File | 12.17 KB | 0644 |
|
photon.php | File | 711 B | 0644 |
|
plugin-search.php | File | 20.06 KB | 0644 |
|
post-by-email.php | File | 596 B | 0644 |
|
post-list.php | File | 533 B | 0644 |
|
protect.php | File | 694 B | 0644 |
|
publicize.php | File | 4.24 KB | 0644 |
|
related-posts.php | File | 2.14 KB | 0644 |
|
search.php | File | 1.17 KB | 0644 |
|
seo-tools.php | File | 1.52 KB | 0644 |
|
sharedaddy.php | File | 1.6 KB | 0644 |
|
shortcodes.php | File | 6.06 KB | 0644 |
|
shortlinks.php | File | 4.37 KB | 0644 |
|
sitemaps.php | File | 1.28 KB | 0644 |
|
sso.php | File | 40.16 KB | 0644 |
|
stats.php | File | 50.88 KB | 0644 |
|
subscriptions.php | File | 35.02 KB | 0644 |
|
theme-tools.php | File | 2.52 KB | 0644 |
|
tiled-gallery.php | File | 1.05 KB | 0644 |
|
vaultpress.php | File | 1.77 KB | 0644 |
|
verification-tools.php | File | 830 B | 0644 |
|
videopress.php | File | 1007 B | 0644 |
|
waf.php | File | 297 B | 0644 |
|
widget-visibility.php | File | 475 B | 0644 |
|
widgets.php | File | 2.86 KB | 0644 |
|
woocommerce-analytics.php | File | 631 B | 0644 |
|
wordads.php | File | 586 B | 0644 |
|
wpgroho.js | File | 1.91 KB | 0644 |
|