Edit File by line
/home/zeestwma/richards.../wp-conte.../plugins/jetpack/modules/sharedad...
File: sharing-sources.php
/**
[500] Fix | Delete
* Generates and returns the markup for an AMP sharing button.
[501] Fix | Delete
*
[502] Fix | Delete
* @param array $attrs Custom attributes for rendering the social icon.
[503] Fix | Delete
*
[504] Fix | Delete
* @return string
[505] Fix | Delete
*/
[506] Fix | Delete
protected function build_amp_markup( $attrs = array() ) {
[507] Fix | Delete
[508] Fix | Delete
$title = sprintf(
[509] Fix | Delete
/* translators: placeholder is a service name, such as "Twitter" or "Facebook". */
[510] Fix | Delete
__( 'Share on %s', 'jetpack' ),
[511] Fix | Delete
$this->get_name()
[512] Fix | Delete
);
[513] Fix | Delete
[514] Fix | Delete
$attrs = array_merge(
[515] Fix | Delete
array(
[516] Fix | Delete
'type' => $this->get_id(),
[517] Fix | Delete
'height' => '32px',
[518] Fix | Delete
'width' => '32px',
[519] Fix | Delete
'aria-label' => $title,
[520] Fix | Delete
'title' => $title,
[521] Fix | Delete
),
[522] Fix | Delete
$attrs
[523] Fix | Delete
);
[524] Fix | Delete
$sharing_link = '<amp-social-share';
[525] Fix | Delete
foreach ( $attrs as $key => $value ) {
[526] Fix | Delete
$sharing_link .= sprintf( ' %s="%s"', sanitize_key( $key ), esc_attr( $value ) );
[527] Fix | Delete
}
[528] Fix | Delete
$sharing_link .= '></amp-social-share>';
[529] Fix | Delete
return $sharing_link;
[530] Fix | Delete
}
[531] Fix | Delete
[532] Fix | Delete
/**
[533] Fix | Delete
* Display a preview of the sharing button.
[534] Fix | Delete
*
[535] Fix | Delete
* @param bool $echo Whether to echo the output or return it.
[536] Fix | Delete
* @param bool $force_smart Whether to force the smart (official) services to be shown.
[537] Fix | Delete
* @param null|string $button_style Button style.
[538] Fix | Delete
*
[539] Fix | Delete
* @return string|void
[540] Fix | Delete
*/
[541] Fix | Delete
public function display_preview( $echo = true, $force_smart = false, $button_style = null ) {
[542] Fix | Delete
$text = '&nbsp;';
[543] Fix | Delete
$button_style = ( ! empty( $button_style ) ) ? $button_style : $this->button_style;
[544] Fix | Delete
if ( ! $this->smart && ! $force_smart ) {
[545] Fix | Delete
if ( $button_style !== 'icon' ) {
[546] Fix | Delete
$text = $this->get_name();
[547] Fix | Delete
}
[548] Fix | Delete
}
[549] Fix | Delete
[550] Fix | Delete
$klasses = array( 'share-' . $this->get_class(), 'sd-button' );
[551] Fix | Delete
[552] Fix | Delete
if ( $button_style === 'icon' || $button_style === 'icon-text' ) {
[553] Fix | Delete
$klasses[] = 'share-icon';
[554] Fix | Delete
}
[555] Fix | Delete
[556] Fix | Delete
if ( $button_style === 'icon' ) {
[557] Fix | Delete
$klasses[] = 'no-text';
[558] Fix | Delete
}
[559] Fix | Delete
[560] Fix | Delete
if ( $button_style === 'text' ) {
[561] Fix | Delete
$klasses[] = 'no-icon';
[562] Fix | Delete
}
[563] Fix | Delete
[564] Fix | Delete
$is_deprecated = $this->is_deprecated();
[565] Fix | Delete
[566] Fix | Delete
$link = sprintf(
[567] Fix | Delete
'<a rel="nofollow" class="%s" href="javascript:void(0)" title="%s"><span>%s</span></a>',
[568] Fix | Delete
implode( ' ', $klasses ),
[569] Fix | Delete
esc_attr(
[570] Fix | Delete
$is_deprecated
[571] Fix | Delete
/* translators: %1$s is the name of a deprecated Sharing Service like "Google+" */
[572] Fix | Delete
? sprintf( __( 'The %1$s sharing service has shut down or discontinued support for sharing buttons. This sharing button is not displayed to your visitors and should be removed.', 'jetpack' ), $this->get_name() )
[573] Fix | Delete
: $this->get_name()
[574] Fix | Delete
),
[575] Fix | Delete
esc_html(
[576] Fix | Delete
$is_deprecated
[577] Fix | Delete
/* translators: %1$s is the name of a deprecated Sharing Service like "Google+" */
[578] Fix | Delete
? sprintf( __( '%1$s is no longer supported', 'jetpack' ), $this->get_name() )
[579] Fix | Delete
: $text
[580] Fix | Delete
)
[581] Fix | Delete
);
[582] Fix | Delete
[583] Fix | Delete
$smart = ( $this->smart || $force_smart ) ? 'on' : 'off';
[584] Fix | Delete
$return = "<div class='option option-smart-$smart'>$link</div>";
[585] Fix | Delete
if ( $echo ) {
[586] Fix | Delete
echo $return; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- we escape things above.
[587] Fix | Delete
}
[588] Fix | Delete
[589] Fix | Delete
return $return;
[590] Fix | Delete
}
[591] Fix | Delete
[592] Fix | Delete
/**
[593] Fix | Delete
* Get sharing stats for a specific post or sharing service.
[594] Fix | Delete
*
[595] Fix | Delete
* @param bool|WP_Post $post Post object.
[596] Fix | Delete
*
[597] Fix | Delete
* @return int
[598] Fix | Delete
*/
[599] Fix | Delete
public function get_total( $post = false ) {
[600] Fix | Delete
global $wpdb, $blog_id;
[601] Fix | Delete
[602] Fix | Delete
$name = strtolower( (string) $this->get_id() );
[603] Fix | Delete
[604] Fix | Delete
if ( $post === false ) {
[605] Fix | Delete
// get total number of shares for service
[606] Fix | Delete
return (int) $wpdb->get_var( $wpdb->prepare( 'SELECT SUM( count ) FROM sharing_stats WHERE blog_id = %d AND share_service = %s', $blog_id, $name ) );
[607] Fix | Delete
}
[608] Fix | Delete
[609] Fix | Delete
// get total shares for a post
[610] Fix | Delete
return (int) $wpdb->get_var( $wpdb->prepare( 'SELECT count FROM sharing_stats WHERE blog_id = %d AND post_id = %d AND share_service = %s', $blog_id, $post->ID, $name ) );
[611] Fix | Delete
}
[612] Fix | Delete
[613] Fix | Delete
/**
[614] Fix | Delete
* Get sharing stats for all posts on the site.
[615] Fix | Delete
*
[616] Fix | Delete
* @return array
[617] Fix | Delete
*/
[618] Fix | Delete
public function get_posts_total() {
[619] Fix | Delete
global $wpdb, $blog_id;
[620] Fix | Delete
[621] Fix | Delete
$totals = array();
[622] Fix | Delete
$name = strtolower( (string) $this->get_id() );
[623] Fix | Delete
[624] Fix | Delete
$my_data = $wpdb->get_results( $wpdb->prepare( 'SELECT post_id as id, SUM( count ) as total FROM sharing_stats WHERE blog_id = %d AND share_service = %s GROUP BY post_id ORDER BY count DESC ', $blog_id, $name ) );
[625] Fix | Delete
[626] Fix | Delete
if ( ! empty( $my_data ) ) {
[627] Fix | Delete
foreach ( $my_data as $row ) {
[628] Fix | Delete
$totals[] = new Sharing_Post_Total( $row->id, $row->total );
[629] Fix | Delete
}
[630] Fix | Delete
}
[631] Fix | Delete
[632] Fix | Delete
usort( $totals, array( 'Sharing_Post_Total', 'cmp' ) );
[633] Fix | Delete
[634] Fix | Delete
return $totals;
[635] Fix | Delete
}
[636] Fix | Delete
[637] Fix | Delete
/**
[638] Fix | Delete
* Process sharing request. Add actions that need to happen when sharing here.
[639] Fix | Delete
*
[640] Fix | Delete
* @param WP_Post $post Post object.
[641] Fix | Delete
* @param array $post_data Array of information about the post we're sharing.
[642] Fix | Delete
*
[643] Fix | Delete
* @return void
[644] Fix | Delete
*/
[645] Fix | Delete
public function process_request( $post, array $post_data ) { // phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable
[646] Fix | Delete
/**
[647] Fix | Delete
* Fires when a post is shared via one of the sharing buttons.
[648] Fix | Delete
*
[649] Fix | Delete
* @module sharedaddy
[650] Fix | Delete
*
[651] Fix | Delete
* @since 1.1.0
[652] Fix | Delete
*
[653] Fix | Delete
* @param array $args Aray of information about the sharing service.
[654] Fix | Delete
*/
[655] Fix | Delete
do_action(
[656] Fix | Delete
'sharing_bump_stats',
[657] Fix | Delete
array(
[658] Fix | Delete
'service' => $this,
[659] Fix | Delete
'post' => $post,
[660] Fix | Delete
)
[661] Fix | Delete
);
[662] Fix | Delete
}
[663] Fix | Delete
[664] Fix | Delete
/**
[665] Fix | Delete
* Redirect to an external social network site to finish sharing.
[666] Fix | Delete
*
[667] Fix | Delete
* @param string $url Sharing URL for a given service.
[668] Fix | Delete
* @return never
[669] Fix | Delete
*/
[670] Fix | Delete
public function redirect_request( $url ) {
[671] Fix | Delete
wp_redirect( $url ); // phpcs:ignore WordPress.Security.SafeRedirect.wp_redirect_wp_redirect -- We allow external redirects here; we define them ourselves.
[672] Fix | Delete
[673] Fix | Delete
// We set up this custom header to indicate to search engines not to index this page.
[674] Fix | Delete
header( 'X-Robots-Tag: noindex, nofollow' );
[675] Fix | Delete
die( 0 );
[676] Fix | Delete
}
[677] Fix | Delete
[678] Fix | Delete
/**
[679] Fix | Delete
* Add extra JavaScript to a sharing service.
[680] Fix | Delete
*
[681] Fix | Delete
* @param string $name Sharing service name.
[682] Fix | Delete
* @param array $params Array of sharing options.
[683] Fix | Delete
*
[684] Fix | Delete
* @return void
[685] Fix | Delete
*/
[686] Fix | Delete
public function js_dialog( $name, $params = array() ) {
[687] Fix | Delete
if ( true !== $this->open_link_in_new ) {
[688] Fix | Delete
return;
[689] Fix | Delete
}
[690] Fix | Delete
[691] Fix | Delete
$defaults = array(
[692] Fix | Delete
'menubar' => 1,
[693] Fix | Delete
'resizable' => 1,
[694] Fix | Delete
'width' => 600,
[695] Fix | Delete
'height' => 400,
[696] Fix | Delete
);
[697] Fix | Delete
$params = array_merge( $defaults, $params );
[698] Fix | Delete
$opts = array();
[699] Fix | Delete
foreach ( $params as $key => $val ) {
[700] Fix | Delete
$opts[] = "$key=$val";
[701] Fix | Delete
}
[702] Fix | Delete
$opts = implode( ',', $opts );
[703] Fix | Delete
[704] Fix | Delete
// Add JS after sharing-js has been enqueued.
[705] Fix | Delete
wp_add_inline_script(
[706] Fix | Delete
'sharing-js',
[707] Fix | Delete
"var windowOpen;
[708] Fix | Delete
( function () {
[709] Fix | Delete
function matches( el, sel ) {
[710] Fix | Delete
return !! (
[711] Fix | Delete
el.matches && el.matches( sel ) ||
[712] Fix | Delete
el.msMatchesSelector && el.msMatchesSelector( sel )
[713] Fix | Delete
);
[714] Fix | Delete
}
[715] Fix | Delete
[716] Fix | Delete
document.body.addEventListener( 'click', function ( event ) {
[717] Fix | Delete
if ( ! event.target ) {
[718] Fix | Delete
return;
[719] Fix | Delete
}
[720] Fix | Delete
[721] Fix | Delete
var el;
[722] Fix | Delete
if ( matches( event.target, 'a.share-$name' ) ) {
[723] Fix | Delete
el = event.target;
[724] Fix | Delete
} else if ( event.target.parentNode && matches( event.target.parentNode, 'a.share-$name' ) ) {
[725] Fix | Delete
el = event.target.parentNode;
[726] Fix | Delete
}
[727] Fix | Delete
[728] Fix | Delete
if ( el ) {
[729] Fix | Delete
event.preventDefault();
[730] Fix | Delete
[731] Fix | Delete
// If there's another sharing window open, close it.
[732] Fix | Delete
if ( typeof windowOpen !== 'undefined' ) {
[733] Fix | Delete
windowOpen.close();
[734] Fix | Delete
}
[735] Fix | Delete
windowOpen = window.open( el.getAttribute( 'href' ), 'wpcom$name', '$opts' );
[736] Fix | Delete
return false;
[737] Fix | Delete
}
[738] Fix | Delete
} );
[739] Fix | Delete
} )();"
[740] Fix | Delete
);
[741] Fix | Delete
}
[742] Fix | Delete
}
[743] Fix | Delete
[744] Fix | Delete
/**
[745] Fix | Delete
* Handle the display of deprecated sharing services.
[746] Fix | Delete
*/
[747] Fix | Delete
abstract class Deprecated_Sharing_Source extends Sharing_Source {
[748] Fix | Delete
/**
[749] Fix | Delete
* Button style (icon-text, icon, or text)
[750] Fix | Delete
*
[751] Fix | Delete
* @var string
[752] Fix | Delete
*/
[753] Fix | Delete
public $button_style = 'text';
[754] Fix | Delete
[755] Fix | Delete
/**
[756] Fix | Delete
* Does the service have an official version.
[757] Fix | Delete
*
[758] Fix | Delete
* @var bool
[759] Fix | Delete
*/
[760] Fix | Delete
public $smart = false;
[761] Fix | Delete
[762] Fix | Delete
/**
[763] Fix | Delete
* Should the sharing link open in a new tab.
[764] Fix | Delete
*
[765] Fix | Delete
* @var bool
[766] Fix | Delete
*/
[767] Fix | Delete
protected $open_link_in_new = false;
[768] Fix | Delete
[769] Fix | Delete
/**
[770] Fix | Delete
* Sharing unique ID.
[771] Fix | Delete
*
[772] Fix | Delete
* @var int
[773] Fix | Delete
*/
[774] Fix | Delete
protected $id;
[775] Fix | Delete
[776] Fix | Delete
/**
[777] Fix | Delete
* Is the service deprecated.
[778] Fix | Delete
*
[779] Fix | Delete
* @var bool
[780] Fix | Delete
*/
[781] Fix | Delete
protected $deprecated = true;
[782] Fix | Delete
[783] Fix | Delete
/**
[784] Fix | Delete
* Constructor.
[785] Fix | Delete
*
[786] Fix | Delete
* @param int $id Sharing source ID.
[787] Fix | Delete
* @param array $settings Sharing settings.
[788] Fix | Delete
*/
[789] Fix | Delete
final public function __construct( $id, array $settings ) {
[790] Fix | Delete
$this->id = $id;
[791] Fix | Delete
[792] Fix | Delete
if ( isset( $settings['button_style'] ) ) {
[793] Fix | Delete
$this->button_style = $settings['button_style'];
[794] Fix | Delete
}
[795] Fix | Delete
}
[796] Fix | Delete
[797] Fix | Delete
/**
[798] Fix | Delete
* Is the service deprecated.
[799] Fix | Delete
*
[800] Fix | Delete
* @return bool
[801] Fix | Delete
*/
[802] Fix | Delete
final public function is_deprecated() {
[803] Fix | Delete
return true;
[804] Fix | Delete
}
[805] Fix | Delete
[806] Fix | Delete
/**
[807] Fix | Delete
* Get a post's permalink to use for sharing.
[808] Fix | Delete
*
[809] Fix | Delete
* @param int $post_id Post ID.
[810] Fix | Delete
*
[811] Fix | Delete
* @return string
[812] Fix | Delete
*/
[813] Fix | Delete
final public function get_share_url( $post_id ) {
[814] Fix | Delete
return get_permalink( $post_id );
[815] Fix | Delete
}
[816] Fix | Delete
[817] Fix | Delete
/**
[818] Fix | Delete
* No AMP display for deprecated sources.
[819] Fix | Delete
*
[820] Fix | Delete
* @param \WP_Post $post The current post being viewed.
[821] Fix | Delete
*/
[822] Fix | Delete
final public function get_amp_display( $post ) { // phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable
[823] Fix | Delete
return false;
[824] Fix | Delete
}
[825] Fix | Delete
[826] Fix | Delete
/**
[827] Fix | Delete
* Display a preview of the sharing button.
[828] Fix | Delete
*
[829] Fix | Delete
* @param bool $echo Whether to echo the output or return it.
[830] Fix | Delete
* @param bool $force_smart Whether to force the smart (official) services to be shown.
[831] Fix | Delete
* @param null|string $button_style Button style.
[832] Fix | Delete
*
[833] Fix | Delete
* @return string|void
[834] Fix | Delete
*/
[835] Fix | Delete
final public function display_preview( $echo = true, $force_smart = false, $button_style = null ) {
[836] Fix | Delete
return parent::display_preview( $echo, false, $button_style );
[837] Fix | Delete
}
[838] Fix | Delete
[839] Fix | Delete
/**
[840] Fix | Delete
* Get sharing stats for a specific post or sharing service.
[841] Fix | Delete
*
[842] Fix | Delete
* @param bool|WP_Post $post Post object.
[843] Fix | Delete
*
[844] Fix | Delete
* @return int
[845] Fix | Delete
*/
[846] Fix | Delete
final public function get_total( $post = false ) { // phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable
[847] Fix | Delete
return 0;
[848] Fix | Delete
}
[849] Fix | Delete
[850] Fix | Delete
/**
[851] Fix | Delete
* Get sharing stats for all posts on the site.
[852] Fix | Delete
*
[853] Fix | Delete
* @return int|array
[854] Fix | Delete
*/
[855] Fix | Delete
final public function get_posts_total() {
[856] Fix | Delete
return 0;
[857] Fix | Delete
}
[858] Fix | Delete
[859] Fix | Delete
/**
[860] Fix | Delete
* Process sharing request. Add actions that need to happen when sharing here.
[861] Fix | Delete
*
[862] Fix | Delete
* @param WP_Post $post Post object.
[863] Fix | Delete
* @param array $post_data Array of information about the post we're sharing.
[864] Fix | Delete
*
[865] Fix | Delete
* @return void
[866] Fix | Delete
*/
[867] Fix | Delete
final public function process_request( $post, array $post_data ) { // phpcs:ignore Generic.CodeAnalysis.UselessOverridingMethod.Found
[868] Fix | Delete
parent::process_request( $post, $post_data );
[869] Fix | Delete
}
[870] Fix | Delete
[871] Fix | Delete
/**
[872] Fix | Delete
* Get the markup of the sharing button.
[873] Fix | Delete
*
[874] Fix | Delete
* @param WP_Post $post Post object.
[875] Fix | Delete
*
[876] Fix | Delete
* @return string
[877] Fix | Delete
*/
[878] Fix | Delete
final public function get_display( $post ) {
[879] Fix | Delete
if ( current_user_can( 'manage_options' ) ) {
[880] Fix | Delete
return $this->display_deprecated( $post );
[881] Fix | Delete
}
[882] Fix | Delete
[883] Fix | Delete
return '';
[884] Fix | Delete
}
[885] Fix | Delete
[886] Fix | Delete
/**
[887] Fix | Delete
* Display a custom message for deprecated services.
[888] Fix | Delete
*
[889] Fix | Delete
* @param WP_Post $post Post object.
[890] Fix | Delete
*
[891] Fix | Delete
* @return string
[892] Fix | Delete
*/
[893] Fix | Delete
public function display_deprecated( $post ) {
[894] Fix | Delete
return $this->get_link(
[895] Fix | Delete
$this->get_share_url( $post->ID ),
[896] Fix | Delete
/* translators: %1$s is the name of a deprecated Sharing Service like "Google+" */
[897] Fix | Delete
sprintf( __( '%1$s is no longer supported', 'jetpack' ), $this->get_name() ),
[898] Fix | Delete
/* translators: %1$s is the name of a deprecated Sharing Service like "Google+" */
[899] Fix | Delete
sprintf( __( 'The %1$s sharing service has shut down or discontinued support for sharing buttons. This sharing button is not displayed to your visitors and should be removed.', 'jetpack' ), $this->get_name() )
[900] Fix | Delete
);
[901] Fix | Delete
}
[902] Fix | Delete
}
[903] Fix | Delete
[904] Fix | Delete
/**
[905] Fix | Delete
* Handle the display of advanced sharing services.
[906] Fix | Delete
* Custom sharing buttons we create ourselves will be such services.
[907] Fix | Delete
*/
[908] Fix | Delete
abstract class Sharing_Advanced_Source extends Sharing_Source {
[909] Fix | Delete
/**
[910] Fix | Delete
* Does the service have advanced options.
[911] Fix | Delete
*
[912] Fix | Delete
* @return bool
[913] Fix | Delete
*/
[914] Fix | Delete
public function has_advanced_options() {
[915] Fix | Delete
return true;
[916] Fix | Delete
}
[917] Fix | Delete
[918] Fix | Delete
/**
[919] Fix | Delete
* Display options for our sharing buttons.
[920] Fix | Delete
*/
[921] Fix | Delete
abstract public function display_options();
[922] Fix | Delete
[923] Fix | Delete
/**
[924] Fix | Delete
* Sanitize and save options for our sharing buttons.
[925] Fix | Delete
*
[926] Fix | Delete
* @param array $data Data to be saved.
[927] Fix | Delete
*
[928] Fix | Delete
* @return void
[929] Fix | Delete
*/
[930] Fix | Delete
abstract public function update_options( array $data );
[931] Fix | Delete
[932] Fix | Delete
/**
[933] Fix | Delete
* Get array of information about the service.
[934] Fix | Delete
*
[935] Fix | Delete
* @return array
[936] Fix | Delete
*/
[937] Fix | Delete
abstract public function get_options();
[938] Fix | Delete
}
[939] Fix | Delete
[940] Fix | Delete
/**
[941] Fix | Delete
* Handle the display of the email sharing button.
[942] Fix | Delete
*/
[943] Fix | Delete
class Share_Email extends Sharing_Source {
[944] Fix | Delete
/**
[945] Fix | Delete
* Service short name.
[946] Fix | Delete
*
[947] Fix | Delete
* @var string
[948] Fix | Delete
*/
[949] Fix | Delete
public $shortname = 'email';
[950] Fix | Delete
[951] Fix | Delete
/**
[952] Fix | Delete
* Service icon font code.
[953] Fix | Delete
*
[954] Fix | Delete
* @var string
[955] Fix | Delete
*/
[956] Fix | Delete
public $icon = '\f410';
[957] Fix | Delete
[958] Fix | Delete
/**
[959] Fix | Delete
* Constructor.
[960] Fix | Delete
*
[961] Fix | Delete
* @param int $id Sharing source ID.
[962] Fix | Delete
* @param array $settings Sharing settings.
[963] Fix | Delete
*/
[964] Fix | Delete
public function __construct( $id, array $settings ) {
[965] Fix | Delete
parent::__construct( $id, $settings );
[966] Fix | Delete
[967] Fix | Delete
if ( 'official' === $this->button_style ) {
[968] Fix | Delete
$this->smart = true;
[969] Fix | Delete
} else {
[970] Fix | Delete
$this->smart = false;
[971] Fix | Delete
}
[972] Fix | Delete
}
[973] Fix | Delete
[974] Fix | Delete
/**
[975] Fix | Delete
* Service name.
[976] Fix | Delete
*
[977] Fix | Delete
* @return string
[978] Fix | Delete
*/
[979] Fix | Delete
public function get_name() {
[980] Fix | Delete
return _x( 'Email', 'as sharing source', 'jetpack' );
[981] Fix | Delete
}
[982] Fix | Delete
[983] Fix | Delete
/**
[984] Fix | Delete
* Helper function to return a nonce action based on the current post.
[985] Fix | Delete
*
[986] Fix | Delete
* @param WP_Post|null $post The current post if it is defined.
[987] Fix | Delete
* @return string The nonce action name.
[988] Fix | Delete
*/
[989] Fix | Delete
protected function get_email_share_nonce_action( $post ) {
[990] Fix | Delete
if ( ! empty( $post ) && $post instanceof WP_Post ) {
[991] Fix | Delete
return 'jetpack-email-share-' . $post->ID;
[992] Fix | Delete
}
[993] Fix | Delete
[994] Fix | Delete
return 'jetpack-email-share';
[995] Fix | Delete
}
[996] Fix | Delete
[997] Fix | Delete
/**
[998] Fix | Delete
* Process sharing request. Add actions that need to happen when sharing here.
[999] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function