PluginProbe ʕ •ᴥ•ʔ
Jetpack – WP Security, Backup, Speed, & Growth / 11.1.1
Jetpack – WP Security, Backup, Speed, & Growth v11.1.1
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 / modules / publicize.php
jetpack / modules Last commit date
calypsoify 4 years ago carousel 4 years ago cloudflare-analytics 4 years ago comment-likes 5 years ago comments 4 years ago contact-form 3 years ago custom-css 4 years ago custom-post-types 4 years ago geo-location 4 years ago google-analytics 4 years ago gravatar 5 years ago infinite-scroll 4 years ago likes 4 years ago markdown 4 years ago masterbar 3 years ago memberships 3 years ago photon 5 years ago photon-cdn 3 years ago plugin-search 4 years ago post-by-email 4 years ago protect 4 years ago publicize 3 years ago related-posts 3 years ago scan 4 years ago seo-tools 3 years ago sharedaddy 3 years ago shortcodes 4 years ago simple-payments 3 years ago site-icon 4 years ago sitemaps 3 years ago sso 4 years ago stats 4 years ago subscriptions 4 years ago theme-tools 4 years ago tiled-gallery 3 years ago verification-tools 4 years ago videopress 3 years ago widget-visibility 3 years ago widgets 3 years ago woocommerce-analytics 4 years ago wordads 4 years ago wpcom-block-editor 4 years ago wpcom-tos 5 years ago carousel.php 4 years ago comment-likes.php 4 years ago comments.php 4 years ago contact-form.php 3 years ago copy-post.php 4 years ago custom-content-types.php 4 years ago custom-css.php 4 years ago enhanced-distribution.php 4 years ago geo-location.php 4 years ago google-analytics.php 4 years ago google-fonts.php 4 years ago gravatar-hovercards.php 4 years ago infinite-scroll.php 4 years ago json-api.php 5 years ago latex.php 4 years ago lazy-images.php 4 years ago likes.php 4 years ago markdown.php 4 years ago masterbar.php 4 years ago module-extras.php 4 years ago module-headings.php 4 years ago module-info.php 3 years ago monitor.php 4 years ago notes.php 4 years ago photon-cdn.php 4 years ago photon.php 4 years ago plugin-search.php 5 years ago post-by-email.php 5 years ago protect.php 4 years ago publicize.php 3 years ago related-posts.php 4 years ago search.php 4 years ago seo-tools.php 4 years ago sharedaddy.php 4 years ago shortcodes.php 4 years ago shortlinks.php 4 years ago sitemaps.php 4 years ago sso.php 4 years ago stats.php 4 years ago subscriptions.php 4 years ago theme-tools.php 4 years ago tiled-gallery.php 4 years ago vaultpress.php 4 years ago verification-tools.php 5 years ago videopress.php 4 years ago waf.php 4 years ago widget-visibility.php 4 years ago widgets.php 4 years ago woocommerce-analytics.php 5 years ago wordads.php 5 years ago wpgroho.js 5 years ago
publicize.php
134 lines
1 <?php // phpcs:ignore WordPress.Files.FileName.InvalidClassFileName
2 /**
3 * Module Name: Publicize
4 * Module Description: Publicize makes it easy to share your site’s posts on several social media networks automatically when you publish a new post.
5 * Sort Order: 10
6 * Recommendation Order: 7
7 * First Introduced: 2.0
8 * Requires Connection: Yes
9 * Requires User Connection: Yes
10 * Auto Activate: No
11 * Module Tags: Social, Recommended
12 * Feature: Engagement
13 * Additional Search Queries: facebook, jetpack publicize, twitter, tumblr, linkedin, social, tweet, connections, sharing, social media, automated, automated sharing, auto publish, auto tweet and like, auto tweet, facebook auto post, facebook posting
14 *
15 * @package automattic/jetpack
16 */
17
18 /**
19 * Class Jetpack_Publicize
20 */
21 class Jetpack_Publicize {
22
23 /**
24 * If Publicize is executing within Jetpack.
25 *
26 * @var bool
27 */
28 public $in_jetpack = true;
29
30 /**
31 * Jetpack_Publicize constructor.
32 */
33 public function __construct() {
34 global $publicize_ui;
35
36 $this->modules = new Automattic\Jetpack\Modules();
37 $this->in_jetpack = ( class_exists( 'Jetpack' ) && method_exists( 'Jetpack', 'enable_module_configurable' ) ) ? true : false;
38
39 if ( $this->in_jetpack ) {
40 Jetpack::enable_module_configurable( __FILE__ );
41
42 if ( $this->modules->is_active( 'publicize' ) ) {
43 add_action(
44 'jetpack_register_gutenberg_extensions',
45 function () {
46 global $publicize;
47 if ( $publicize->current_user_can_access_publicize_data() ) {
48 Jetpack_Gutenberg::set_extension_available( 'jetpack/publicize' );
49 } else {
50 Jetpack_Gutenberg::set_extension_unavailable( 'jetpack/publicize', 'unauthorized' );
51 }
52 }
53 );
54 }
55
56 // if sharedaddy isn't active, the sharing menu hasn't been added yet.
57 if ( $this->modules->is_active( 'publicize' ) && ! $this->modules->is_active( 'sharedaddy' ) ) {
58 add_action( 'admin_menu', array( &$publicize_ui, 'sharing_menu' ) );
59 }
60
61 /*
62 * The Publicize Options array does not currently have UI since it is being added
63 * for a specific purpose and not part of a broader Publicize sprint.
64 *
65 * In order to pass the settings up to WordPress.com, we are updating an option to Sync will pass it up.
66 * To make it relatively easy for use, we are creating a filter that checks if the option and filter match.
67 *
68 * This only runs when a post is saved to avoid it running too much.
69 */
70 add_action(
71 'save_post',
72 function () {
73 $publicize_options = get_option( 'jetpack_publicize_options', array() );
74
75 /**
76 * Filters the options for Publicize.
77 *
78 * As of Jetpack 8.5, the array keys could be:
79 * attach_media bool If Publicize should send the image to the social media platform. Default false.
80 *
81 * @module publicize
82 *
83 * @since 8.5.0
84 *
85 * @param array $options Array of Publicize options.
86 */
87 $filtered = (array) apply_filters( 'jetpack_publicize_options', $publicize_options );
88
89 if ( $publicize_options !== $filtered ) {
90 update_option( 'jetpack_publicize_options', $filtered, false );
91 }
92 }
93 );
94 } else {
95 require_once __DIR__ . '/publicize/publicize.php';
96 require_once dirname( __DIR__ ) . '/mu-plugins/keyring/keyring.php';
97 require_once __DIR__ . '/publicize/publicize-wpcom.php';
98 require_once __DIR__ . '/publicize/ui.php';
99 $publicize_ui = new Publicize_UI();
100 }
101
102 $publicize_ui->in_jetpack = $this->in_jetpack;
103 }
104 }
105
106 // On Jetpack, we instantiate Jetpack_Publicize only if the Publicize module is active.
107 if ( ! ( defined( 'IS_WPCOM' ) && IS_WPCOM ) ) {
108
109 $modules = new Automattic\Jetpack\Modules();
110
111 if ( $modules->is_active( 'publicize' ) ) {
112 new Jetpack_Publicize();
113 }
114
115 if ( ! function_exists( 'publicize_init' ) ) {
116 /**
117 * Helper for grabbing a Publicize object from the "front-end" (non-admin) of
118 * a site. Normally Publicize is only loaded in wp-admin, so there's a little
119 * set up that you might need to do if you want to use it on the front end.
120 * Just call this function and it returns a Publicize object.
121 *
122 * @return Publicize Object
123 */
124 function publicize_init() {
125 global $publicize;
126
127 return $publicize;
128 }
129 }
130 } else {
131 // On wpcom, instantiate Jetpack_Publicize without any other checks.
132 new Jetpack_Publicize();
133 }
134