WordPress Social Sharing Plugin – Sassy Social Share - Version 3.3.40

Version Description

[24 March 2022] = * [Security] Fixed two XSS Vulnerability issues * [Bugfix] Right and Bottom counter positions in the Theme Selection section were not working * [Improvement] Updated the official Facebook SDK being used throughout the plugin to the latest version 13.0 * [Improvement] Anchor HTML tag for the More share icon now has an HREF attribute * [Improvement] Performmance improvement

Download this release

Release Info

Developer Heateor
Plugin Icon 128x128 WordPress Social Sharing Plugin – Sassy Social Share
Version 3.3.40
Comparing to
See all releases

Code changes from version 3.3.39 to 3.3.40

admin/js/sassy-social-share-fb-sdk.js CHANGED
@@ -1 +1 @@
1
- !function(e,n,t){var o,c=e.getElementsByTagName(n)[0];e.getElementById(t)||(o=e.createElement(n),o.id=t,o.src="//connect.facebook.net/en_GB/sdk.js#xfbml=1&version=v12.0",c.parentNode.insertBefore(o,c))}(document,"script","facebook-jssdk");
1
+ !function(e,n,t){var o,c=e.getElementsByTagName(n)[0];e.getElementById(t)||(o=e.createElement(n),o.id=t,o.src="//connect.facebook.net/en_GB/sdk.js#xfbml=1&version=v13.0",c.parentNode.insertBefore(o,c))}(document,"script","facebook-jssdk");
includes/class-sassy-social-share-shortcodes.php CHANGED
@@ -199,16 +199,16 @@ class Sassy_Social_Share_Shortcodes {
199
  $target_url = esc_url( home_url() );
200
  $post_id = 0;
201
  } elseif ( ! is_singular() && $type == 'vertical' ) {
202
- $target_url = html_entity_decode( esc_url( $this->public_class_object->get_http_protocol() . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"] ) );
203
  $post_id = 0;
204
  } elseif ( isset( $_SERVER['QUERY_STRING'] ) && $_SERVER['QUERY_STRING'] ) {
205
- $target_url = html_entity_decode( esc_url( $this->public_class_object->get_http_protocol() . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"] ) );
206
  $post_id = $post -> ID;
207
  } elseif ( get_permalink( $post -> ID ) ) {
208
  $target_url = get_permalink( $post -> ID );
209
  $post_id = $post -> ID;
210
  } else {
211
- $target_url = html_entity_decode( esc_url( $this->public_class_object->get_http_protocol() . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"] ) );
212
  $post_id = 0;
213
  }
214
  $share_count_url = $target_url;
@@ -249,7 +249,7 @@ class Sassy_Social_Share_Shortcodes {
249
  $inline_script .= 'var heateorSssUrlCountFetched = [], heateorSssSharesText = \''. htmlspecialchars( __( 'Shares', 'sassy-social-share' ), ENT_QUOTES ) . '\', heateorSssShareText = \'' . htmlspecialchars( __( 'Share', 'sassy-social-share' ), ENT_QUOTES ) . '\';';
250
  $inline_script .= 'function heateorSssPopup(e) {window.open(e,"popUpWindow","height=400,width=600,left=400,top=100,resizable,scrollbars,toolbar=0,personalbar=0,menubar=no,location=no,directories=no,status")}';
251
  if ( $this->public_class_object->facebook_like_recommend_enabled() || $this->public_class_object->facebook_share_enabled() ) {
252
- $inline_script .= 'function heateorSssInitiateFB() {FB.init({appId:"",channelUrl:"",status:!0,cookie:!0,xfbml:!0,version:"v12.0"})}window.fbAsyncInit=function() {heateorSssInitiateFB(),' . ( defined( 'HEATEOR_SOCIAL_SHARE_MYCRED_INTEGRATION_VERSION' ) && $this->public_class_object->facebook_like_recommend_enabled() ? 1 : 0 ) . '&&(FB.Event.subscribe("edge.create",function(e) {heateorSsmiMycredPoints("Facebook_like_recommend","",e?e:"")}),FB.Event.subscribe("edge.remove",function(e) {heateorSsmiMycredPoints("Facebook_like_recommend","",e?e:"","Minus point(s) for undoing Facebook like-recommend")}) ),'. ( defined( 'HEATEOR_SHARING_GOOGLE_ANALYTICS_VERSION' ) ? 1 : 0 ) .'&&(FB.Event.subscribe("edge.create",function(e) {heateorSsgaSocialPluginsTracking("Facebook","Like",e?e:"")}),FB.Event.subscribe("edge.remove",function(e) {heateorSsgaSocialPluginsTracking("Facebook","Unlike",e?e:"")}) )},function(e) {var n,i="facebook-jssdk",o=e.getElementsByTagName("script")[0];e.getElementById(i)||(n=e.createElement("script"),n.id=i,n.async=!0,n.src="//connect.facebook.net/'. ( $this->options['language'] ? $this->options['language'] : 'en_GB' ) .'/sdk.js",o.parentNode.insertBefore(n,o) )}(document);';
253
  }
254
  wp_enqueue_script( 'heateor_sss_sharing_js', plugins_url( '../public/js/sassy-social-share-public.js', __FILE__ ), array( 'jquery' ), $this->public_class_object->version, $in_footer );
255
  wp_add_inline_script( 'heateor_sss_sharing_js', $inline_script, $position = 'before' );
199
  $target_url = esc_url( home_url() );
200
  $post_id = 0;
201
  } elseif ( ! is_singular() && $type == 'vertical' ) {
202
+ $target_url = esc_url( $this->public_class_object->get_http_protocol() . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"] );
203
  $post_id = 0;
204
  } elseif ( isset( $_SERVER['QUERY_STRING'] ) && $_SERVER['QUERY_STRING'] ) {
205
+ $target_url = esc_url( $this->public_class_object->get_http_protocol() . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"] );
206
  $post_id = $post -> ID;
207
  } elseif ( get_permalink( $post -> ID ) ) {
208
  $target_url = get_permalink( $post -> ID );
209
  $post_id = $post -> ID;
210
  } else {
211
+ $target_url = esc_url( $this->public_class_object->get_http_protocol() . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"] );
212
  $post_id = 0;
213
  }
214
  $share_count_url = $target_url;
249
  $inline_script .= 'var heateorSssUrlCountFetched = [], heateorSssSharesText = \''. htmlspecialchars( __( 'Shares', 'sassy-social-share' ), ENT_QUOTES ) . '\', heateorSssShareText = \'' . htmlspecialchars( __( 'Share', 'sassy-social-share' ), ENT_QUOTES ) . '\';';
250
  $inline_script .= 'function heateorSssPopup(e) {window.open(e,"popUpWindow","height=400,width=600,left=400,top=100,resizable,scrollbars,toolbar=0,personalbar=0,menubar=no,location=no,directories=no,status")}';
251
  if ( $this->public_class_object->facebook_like_recommend_enabled() || $this->public_class_object->facebook_share_enabled() ) {
252
+ $inline_script .= 'function heateorSssInitiateFB() {FB.init({appId:"",channelUrl:"",status:!0,cookie:!0,xfbml:!0,version:"v13.0"})}window.fbAsyncInit=function() {heateorSssInitiateFB(),' . ( defined( 'HEATEOR_SOCIAL_SHARE_MYCRED_INTEGRATION_VERSION' ) && $this->public_class_object->facebook_like_recommend_enabled() ? 1 : 0 ) . '&&(FB.Event.subscribe("edge.create",function(e) {heateorSsmiMycredPoints("Facebook_like_recommend","",e?e:"")}),FB.Event.subscribe("edge.remove",function(e) {heateorSsmiMycredPoints("Facebook_like_recommend","",e?e:"","Minus point(s) for undoing Facebook like-recommend")}) ),'. ( defined( 'HEATEOR_SHARING_GOOGLE_ANALYTICS_VERSION' ) ? 1 : 0 ) .'&&(FB.Event.subscribe("edge.create",function(e) {heateorSsgaSocialPluginsTracking("Facebook","Like",e?e:"")}),FB.Event.subscribe("edge.remove",function(e) {heateorSsgaSocialPluginsTracking("Facebook","Unlike",e?e:"")}) )},function(e) {var n,i="facebook-jssdk",o=e.getElementsByTagName("script")[0];e.getElementById(i)||(n=e.createElement("script"),n.id=i,n.async=!0,n.src="//connect.facebook.net/'. ( $this->options['language'] ? $this->options['language'] : 'en_GB' ) .'/sdk.js",o.parentNode.insertBefore(n,o) )}(document);';
253
  }
254
  wp_enqueue_script( 'heateor_sss_sharing_js', plugins_url( '../public/js/sassy-social-share-public.js', __FILE__ ), array( 'jquery' ), $this->public_class_object->version, $in_footer );
255
  wp_add_inline_script( 'heateor_sss_sharing_js', $inline_script, $position = 'before' );
includes/class-sassy-social-share-widgets.php CHANGED
@@ -83,7 +83,7 @@ class Sassy_Social_Share_Standard_Widget extends WP_Widget {
83
  $inline_script .= 'var heateorSssUrlCountFetched = [], heateorSssSharesText = \''. htmlspecialchars(__( 'Shares', 'sassy-social-share' ), ENT_QUOTES ) . '\', heateorSssShareText = \'' . htmlspecialchars( __( 'Share', 'sassy-social-share' ), ENT_QUOTES ) . '\';';
84
  $inline_script .= 'function heateorSssPopup(e) {window.open(e,"popUpWindow","height=400,width=600,left=400,top=100,resizable,scrollbars,toolbar=0,personalbar=0,menubar=no,location=no,directories=no,status")}';
85
  if ( $this->public_class_object->facebook_like_recommend_enabled() || $this->public_class_object->facebook_share_enabled() ) {
86
- $inline_script .= 'function heateorSssInitiateFB() {FB.init({appId:"",channelUrl:"",status:!0,cookie:!0,xfbml:!0,version:"v12.0"})}window.fbAsyncInit=function() {heateorSssInitiateFB(),' . ( defined( 'HEATEOR_SOCIAL_SHARE_MYCRED_INTEGRATION_VERSION' ) && $this->facebook_like_recommend_enabled() ? 1 : 0 ) . '&&(FB.Event.subscribe("edge.create",function(e){heateorSsmiMycredPoints("Facebook_like_recommend","",e?e:"")}),FB.Event.subscribe("edge.remove",function(e){heateorSsmiMycredPoints("Facebook_like_recommend","",e?e:"","Minus point(s) for undoing Facebook like-recommend")}) ),' . ( defined( 'HEATEOR_SHARING_GOOGLE_ANALYTICS_VERSION' ) ? 1 : 0 ) . '&&(FB.Event.subscribe("edge.create",function(e) {heateorSssSsgaSocialPluginsTracking("Facebook","Like",e?e:"")}),FB.Event.subscribe("edge.remove",function(e) {heateorSssSsgaSocialPluginsTracking("Facebook","Unlike",e?e:"")}) )},function(e) {var n,i="facebook-jssdk",o=e.getElementsByTagName("script")[0];e.getElementById(i)||(n=e.createElement("script"),n.id=i,n.async=!0,n.src="//connect.facebook.net/' . ( $this->options['language'] ? $this->options['language'] : 'en_GB' ) . '/sdk.js",o.parentNode.insertBefore(n,o) )}(document);';
87
  }
88
  $inline_script .= '; var heateorSsmiAjaxUrl = "' . get_admin_url() . 'admin-ajax.php";';
89
  wp_enqueue_script( 'heateor_sss_sharing_js', plugins_url( '../public/js/sassy-social-share-public.js', __FILE__ ), array( 'jquery' ), $this->public_class_object->version, $in_footer );
@@ -98,14 +98,14 @@ class Sassy_Social_Share_Standard_Widget extends WP_Widget {
98
  }
99
  if ( isset( $instance['target_url'] ) ) {
100
  if ( $instance['target_url'] == 'default' ) {
101
- $sharing_url = html_entity_decode( esc_url( $this->public_class_object->get_http_protocol() . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"] ) );
102
  if ( is_home() ) {
103
  $sharing_url = home_url();
104
  $post_id = 0;
105
  } elseif ( ! is_singular() ) {
106
  $post_id = 0;
107
  } elseif ( isset( $_SERVER['QUERY_STRING'] ) && $_SERVER['QUERY_STRING'] ) {
108
- $sharing_url = html_entity_decode( esc_url( $this->public_class_object->get_http_protocol() . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"] ) );
109
  } elseif ( get_permalink( $post -> ID ) ) {
110
  $sharing_url = get_permalink( $post->ID );
111
  }
@@ -335,7 +335,7 @@ class Sassy_Social_Share_Floating_Widget extends WP_Widget {
335
  $inline_script .= 'var heateorSssUrlCountFetched = [], heateorSssSharesText = \''. htmlspecialchars(__( 'Shares', 'sassy-social-share' ), ENT_QUOTES ) . '\', heateorSssShareText = \'' . htmlspecialchars( __( 'Share', 'sassy-social-share' ), ENT_QUOTES ) . '\';';
336
  $inline_script .= 'function heateorSssPopup(e) {window.open(e,"popUpWindow","height=400,width=600,left=400,top=100,resizable,scrollbars,toolbar=0,personalbar=0,menubar=no,location=no,directories=no,status")}';
337
  if ( $this->public_class_object->facebook_like_recommend_enabled() || $this->public_class_object->facebook_share_enabled() ) {
338
- $inline_script .= 'function heateorSssInitiateFB() {FB.init({appId:"",channelUrl:"",status:!0,cookie:!0,xfbml:!0,version:"v12.0"})}window.fbAsyncInit=function() {heateorSssInitiateFB(),' . ( defined( 'HEATEOR_SOCIAL_SHARE_MYCRED_INTEGRATION_VERSION' ) && $this->facebook_like_recommend_enabled() ? 1 : 0 ) . '&&(FB.Event.subscribe("edge.create",function(e){heateorSsmiMycredPoints("Facebook_like_recommend","",e?e:"")}),FB.Event.subscribe("edge.remove",function(e){heateorSsmiMycredPoints("Facebook_like_recommend","",e?e:"","Minus point(s) for undoing Facebook like-recommend")}) ),' . ( defined( 'HEATEOR_SHARING_GOOGLE_ANALYTICS_VERSION' ) ? 1 : 0 ) . '&&(FB.Event.subscribe("edge.create",function(e) {heateorSssSsgaSocialPluginsTracking("Facebook","Like",e?e:"")}),FB.Event.subscribe("edge.remove",function(e) {heateorSssSsgaSocialPluginsTracking("Facebook","Unlike",e?e:"")}) )},function(e) {var n,i="facebook-jssdk",o=e.getElementsByTagName("script")[0];e.getElementById(i)||(n=e.createElement("script"),n.id=i,n.async=!0,n.src="//connect.facebook.net/' . ( $this->options['language'] ? $this->options['language'] : 'en_GB' ) . '/sdk.js",o.parentNode.insertBefore(n,o) )}(document);';
339
  }
340
  $inline_script .= '; var heateorSsmiAjaxUrl = "' . get_admin_url() . 'admin-ajax.php";';
341
  wp_enqueue_script( 'heateor_sss_sharing_js', plugins_url( '../public/js/sassy-social-share-public.js', __FILE__ ), array( 'jquery' ), $this->public_class_object->version, $in_footer );
@@ -346,14 +346,14 @@ class Sassy_Social_Share_Floating_Widget extends WP_Widget {
346
  $post_id = $post->ID;
347
  if ( isset( $instance['target_url'] ) ) {
348
  if ( $instance['target_url'] == 'default' ) {
349
- $sharing_url = html_entity_decode( esc_url( $this->public_class_object->get_http_protocol() . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"] ) );
350
  if ( is_home() ) {
351
  $sharing_url = home_url();
352
  $post_id = 0;
353
  } elseif ( ! is_singular() ) {
354
  $post_id = 0;
355
  } elseif ( isset( $_SERVER['QUERY_STRING'] ) && $_SERVER['QUERY_STRING'] ) {
356
- $sharing_url = html_entity_decode( esc_url( $this->public_class_object->get_http_protocol() . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"] ) );
357
  } elseif ( get_permalink( $post->ID ) ) {
358
  $sharing_url = get_permalink( $post->ID );
359
  }
83
  $inline_script .= 'var heateorSssUrlCountFetched = [], heateorSssSharesText = \''. htmlspecialchars(__( 'Shares', 'sassy-social-share' ), ENT_QUOTES ) . '\', heateorSssShareText = \'' . htmlspecialchars( __( 'Share', 'sassy-social-share' ), ENT_QUOTES ) . '\';';
84
  $inline_script .= 'function heateorSssPopup(e) {window.open(e,"popUpWindow","height=400,width=600,left=400,top=100,resizable,scrollbars,toolbar=0,personalbar=0,menubar=no,location=no,directories=no,status")}';
85
  if ( $this->public_class_object->facebook_like_recommend_enabled() || $this->public_class_object->facebook_share_enabled() ) {
86
+ $inline_script .= 'function heateorSssInitiateFB() {FB.init({appId:"",channelUrl:"",status:!0,cookie:!0,xfbml:!0,version:"v13.0"})}window.fbAsyncInit=function() {heateorSssInitiateFB(),' . ( defined( 'HEATEOR_SOCIAL_SHARE_MYCRED_INTEGRATION_VERSION' ) && $this->facebook_like_recommend_enabled() ? 1 : 0 ) . '&&(FB.Event.subscribe("edge.create",function(e){heateorSsmiMycredPoints("Facebook_like_recommend","",e?e:"")}),FB.Event.subscribe("edge.remove",function(e){heateorSsmiMycredPoints("Facebook_like_recommend","",e?e:"","Minus point(s) for undoing Facebook like-recommend")}) ),' . ( defined( 'HEATEOR_SHARING_GOOGLE_ANALYTICS_VERSION' ) ? 1 : 0 ) . '&&(FB.Event.subscribe("edge.create",function(e) {heateorSssSsgaSocialPluginsTracking("Facebook","Like",e?e:"")}),FB.Event.subscribe("edge.remove",function(e) {heateorSssSsgaSocialPluginsTracking("Facebook","Unlike",e?e:"")}) )},function(e) {var n,i="facebook-jssdk",o=e.getElementsByTagName("script")[0];e.getElementById(i)||(n=e.createElement("script"),n.id=i,n.async=!0,n.src="//connect.facebook.net/' . ( $this->options['language'] ? $this->options['language'] : 'en_GB' ) . '/sdk.js",o.parentNode.insertBefore(n,o) )}(document);';
87
  }
88
  $inline_script .= '; var heateorSsmiAjaxUrl = "' . get_admin_url() . 'admin-ajax.php";';
89
  wp_enqueue_script( 'heateor_sss_sharing_js', plugins_url( '../public/js/sassy-social-share-public.js', __FILE__ ), array( 'jquery' ), $this->public_class_object->version, $in_footer );
98
  }
99
  if ( isset( $instance['target_url'] ) ) {
100
  if ( $instance['target_url'] == 'default' ) {
101
+ $sharing_url = esc_url( $this->public_class_object->get_http_protocol() . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"] );
102
  if ( is_home() ) {
103
  $sharing_url = home_url();
104
  $post_id = 0;
105
  } elseif ( ! is_singular() ) {
106
  $post_id = 0;
107
  } elseif ( isset( $_SERVER['QUERY_STRING'] ) && $_SERVER['QUERY_STRING'] ) {
108
+ $sharing_url = esc_url( $this->public_class_object->get_http_protocol() . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"] );
109
  } elseif ( get_permalink( $post -> ID ) ) {
110
  $sharing_url = get_permalink( $post->ID );
111
  }
335
  $inline_script .= 'var heateorSssUrlCountFetched = [], heateorSssSharesText = \''. htmlspecialchars(__( 'Shares', 'sassy-social-share' ), ENT_QUOTES ) . '\', heateorSssShareText = \'' . htmlspecialchars( __( 'Share', 'sassy-social-share' ), ENT_QUOTES ) . '\';';
336
  $inline_script .= 'function heateorSssPopup(e) {window.open(e,"popUpWindow","height=400,width=600,left=400,top=100,resizable,scrollbars,toolbar=0,personalbar=0,menubar=no,location=no,directories=no,status")}';
337
  if ( $this->public_class_object->facebook_like_recommend_enabled() || $this->public_class_object->facebook_share_enabled() ) {
338
+ $inline_script .= 'function heateorSssInitiateFB() {FB.init({appId:"",channelUrl:"",status:!0,cookie:!0,xfbml:!0,version:"v13.0"})}window.fbAsyncInit=function() {heateorSssInitiateFB(),' . ( defined( 'HEATEOR_SOCIAL_SHARE_MYCRED_INTEGRATION_VERSION' ) && $this->facebook_like_recommend_enabled() ? 1 : 0 ) . '&&(FB.Event.subscribe("edge.create",function(e){heateorSsmiMycredPoints("Facebook_like_recommend","",e?e:"")}),FB.Event.subscribe("edge.remove",function(e){heateorSsmiMycredPoints("Facebook_like_recommend","",e?e:"","Minus point(s) for undoing Facebook like-recommend")}) ),' . ( defined( 'HEATEOR_SHARING_GOOGLE_ANALYTICS_VERSION' ) ? 1 : 0 ) . '&&(FB.Event.subscribe("edge.create",function(e) {heateorSssSsgaSocialPluginsTracking("Facebook","Like",e?e:"")}),FB.Event.subscribe("edge.remove",function(e) {heateorSssSsgaSocialPluginsTracking("Facebook","Unlike",e?e:"")}) )},function(e) {var n,i="facebook-jssdk",o=e.getElementsByTagName("script")[0];e.getElementById(i)||(n=e.createElement("script"),n.id=i,n.async=!0,n.src="//connect.facebook.net/' . ( $this->options['language'] ? $this->options['language'] : 'en_GB' ) . '/sdk.js",o.parentNode.insertBefore(n,o) )}(document);';
339
  }
340
  $inline_script .= '; var heateorSsmiAjaxUrl = "' . get_admin_url() . 'admin-ajax.php";';
341
  wp_enqueue_script( 'heateor_sss_sharing_js', plugins_url( '../public/js/sassy-social-share-public.js', __FILE__ ), array( 'jquery' ), $this->public_class_object->version, $in_footer );
346
  $post_id = $post->ID;
347
  if ( isset( $instance['target_url'] ) ) {
348
  if ( $instance['target_url'] == 'default' ) {
349
+ $sharing_url = esc_url( $this->public_class_object->get_http_protocol() . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"] );
350
  if ( is_home() ) {
351
  $sharing_url = home_url();
352
  $post_id = 0;
353
  } elseif ( ! is_singular() ) {
354
  $post_id = 0;
355
  } elseif ( isset( $_SERVER['QUERY_STRING'] ) && $_SERVER['QUERY_STRING'] ) {
356
+ $sharing_url = esc_url( $this->public_class_object->get_http_protocol() . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"] );
357
  } elseif ( get_permalink( $post->ID ) ) {
358
  $sharing_url = get_permalink( $post->ID );
359
  }
public/class-sassy-social-share-public.php CHANGED
@@ -120,7 +120,7 @@ class Sassy_Social_Share_Public {
120
  $inline_script .= 'var heateorSssUrlCountFetched = [], heateorSssSharesText = \''. htmlspecialchars(__('Shares', 'sassy-social-share'), ENT_QUOTES) .'\', heateorSssShareText = \''. htmlspecialchars(__('Share', 'sassy-social-share'), ENT_QUOTES) .'\';';
121
  $inline_script .= 'function heateorSssPopup(e) {window.open(e,"popUpWindow","height=400,width=600,left=400,top=100,resizable,scrollbars,toolbar=0,personalbar=0,menubar=no,location=no,directories=no,status")}';
122
  if ( $this->facebook_like_recommend_enabled() || $this->facebook_share_enabled() ) {
123
- $inline_script .= 'function heateorSssInitiateFB() {FB.init({appId:"",channelUrl:"",status:!0,cookie:!0,xfbml:!0,version:"v12.0"})}window.fbAsyncInit=function() {heateorSssInitiateFB(),' . ( defined( 'HEATEOR_SOCIAL_SHARE_MYCRED_INTEGRATION_VERSION' ) && $this->facebook_like_recommend_enabled() ? 1 : 0 ) . '&&(FB.Event.subscribe("edge.create",function(e) {heateorSsmiMycredPoints("Facebook_like_recommend","",e?e:"")}),FB.Event.subscribe("edge.remove",function(e) {heateorSsmiMycredPoints("Facebook_like_recommend","",e?e:"","Minus point(s) for undoing Facebook like-recommend")}) ),'. ( defined( 'HEATEOR_SHARING_GOOGLE_ANALYTICS_VERSION' ) ? 1 : 0 ) .'&&(FB.Event.subscribe("edge.create",function(e) {heateorSsgaSocialPluginsTracking("Facebook","Like",e?e:"")}),FB.Event.subscribe("edge.remove",function(e) {heateorSsgaSocialPluginsTracking("Facebook","Unlike",e?e:"")}) )},function(e) {var n,i="facebook-jssdk",o=e.getElementsByTagName("script")[0];e.getElementById(i)||(n=e.createElement("script"),n.id=i,n.async=!0,n.src="//connect.facebook.net/'. ( $this->options['language'] ? $this->options['language'] : 'en_GB' ) .'/sdk.js",o.parentNode.insertBefore(n,o) )}(document);';
124
  }
125
  wp_enqueue_script( 'heateor_sss_sharing_js', plugins_url( 'js/sassy-social-share-public.js', __FILE__ ), array( 'jquery' ), $this->version, $in_footer );
126
  wp_add_inline_script( 'heateor_sss_sharing_js', $inline_script, $position = 'before' );
@@ -414,11 +414,11 @@ class Sassy_Social_Share_Public {
414
  break;
415
  case 'right':
416
  $inner_style_conditional = 'display:block;';
417
- $counter_placeholder = 'span><span';
418
  break;
419
  case 'bottom':
420
  $inner_style_conditional = 'display:block;';
421
- $counter_placeholder = 'span><span';
422
  break;
423
  case 'inner_left':
424
  $inner_style_conditional = 'float:left;';
@@ -540,11 +540,11 @@ class Sassy_Social_Share_Public {
540
  }
541
 
542
  if ( isset( $this->options[$sharing_type . '_more'] ) && ! $this->is_amp_page() ) {
543
- $li_items .= '<a class="heateor_sss_more" title="More" rel="nofollow noopener" style="font-size: 32px!important;border:0;box-shadow:none;display:inline-block!important;font-size:16px;padding:0 4px;vertical-align: middle;display:inline;">';
544
  if ( $display_count ) {
545
  $li_items .= $counter_container_init_html . '">&nbsp;' . $counter_container_end_html;
546
  }
547
- $li_items .= '<span class="heateor_sss_svg" style="background-color:#ee8e2d;' . str_replace( array( 'style="', ';"' ), array( '', ';display:inline-block!important;opacity:1;float:left;font-size:32px!important;box-shadow:none;display:inline-block;font-size:16px;padding:0 4px;vertical-align:middle;display:inline;background-repeat:repeat;overflow:hidden;padding:0;cursor:pointer;box-sizing:content-box;' ), $style ) . '" onclick="heateorSssMoreSharingPopup(this, \'' . $post_url . '\', \'' . $post_title . '\', \'' . $this->sanitize_post_title( $this->wpseo_twitter_title( $post ) ) . '\' )">';
548
  if ( $this->is_amp_page() ) {
549
  $li_items .= '<i title="More" class="heateorSssSharing heateorSssMoreBackground"><i class="heateorSssSharingSvg heateorSssMoreSvg"></i></i></li>';
550
  } else {
@@ -893,6 +893,17 @@ class Sassy_Social_Share_Public {
893
 
894
  }
895
 
 
 
 
 
 
 
 
 
 
 
 
896
  /**
897
  * Get share counts for sharing networks
898
  *
@@ -903,7 +914,11 @@ class Sassy_Social_Share_Public {
903
  if ( isset( $_GET['urls'] ) && count( $_GET['urls'] ) > 0 ) {
904
  $target_urls = array_unique( $_GET['urls'] );
905
  foreach ( $target_urls as $k => $v ) {
906
- $target_urls[$k] = esc_url_raw( $v );
 
 
 
 
907
  }
908
  } else {
909
  $this->ajax_response( array( 'status' => 0, 'message' => __( 'Invalid request' ) ) );
@@ -1230,23 +1245,23 @@ class Sassy_Social_Share_Public {
1230
  <?php
1231
  }
1232
  if ( $this->options['horizontal_bg_color_default'] != '' ) { ?>
1233
- div.heateor_sss_horizontal_sharing a.heateor_sss_button_instagram span{background:<?php echo $this->options['horizontal_bg_color_default'] ?>!important;}div.heateor_sss_standard_follow_icons_container a.heateor_sss_button_instagram span{background:<?php echo $this->options['horizontal_bg_color_default'] ?>;}
1234
  <?php } ?>
1235
  <?php if ( $this->options['horizontal_bg_color_hover'] != '' ) { ?>
1236
- div.heateor_sss_horizontal_sharing a.heateor_sss_button_instagram span:hover{background:<?php echo $this->options['horizontal_bg_color_hover'] ?>!important;}div.heateor_sss_standard_follow_icons_container a.heateor_sss_button_instagram span:hover{background:<?php echo $this->options['horizontal_bg_color_hover'] ?>;}
1237
  <?php } ?>
1238
  <?php if ( $this->options['vertical_bg_color_default'] != '' ) { ?>
1239
- div.heateor_sss_vertical_sharing a.heateor_sss_button_instagram span{background:<?php echo $this->options['vertical_bg_color_default'] ?>!important;}div.heateor_sss_floating_follow_icons_container a.heateor_sss_button_instagram span{background:<?php echo $this->options['vertical_bg_color_default'] ?>;}
1240
  <?php } ?>
1241
  <?php if ( $this->options['vertical_bg_color_hover'] != '' ) { ?>
1242
- div.heateor_sss_vertical_sharing a.heateor_sss_button_instagram span:hover{background:<?php echo $this->options['vertical_bg_color_hover'] ?>!important;}div.heateor_sss_floating_follow_icons_container a.heateor_sss_button_instagram span:hover{background:<?php echo $this->options['vertical_bg_color_hover'] ?>;}
1243
  <?php } ?>
1244
  .heateor_sss_horizontal_sharing .heateor_sss_svg,.heateor_sss_standard_follow_icons_container .heateor_sss_svg{
1245
  <?php if ( $this->options['horizontal_bg_color_default'] != '' ) { ?>
1246
- background-color: <?php echo $this->options['horizontal_bg_color_default'] ?>!important;
1247
- background: <?php echo $this->options['horizontal_bg_color_default'] ?>!important;
1248
  <?php } ?>
1249
- color: <?php echo $this->options['horizontal_font_color_default'] ? $this->options['horizontal_font_color_default'] : '#fff' ?>;
1250
  <?php
1251
  $border_width = 0;
1252
  if ( $this->options['horizontal_border_width_default'] != '' ) {
@@ -1255,9 +1270,9 @@ class Sassy_Social_Share_Public {
1255
  $border_width = $this->options['horizontal_border_width_hover'];
1256
  }
1257
  ?>
1258
- border-width: <?php echo $border_width . 'px' ?>;
1259
  border-style: solid;
1260
- border-color: <?php echo $this->options['horizontal_border_color_default'] != '' ? $this->options['horizontal_border_color_default'] : 'transparent'; ?>;
1261
  }
1262
  <?php if ( $this->options['horizontal_font_color_default'] == '' ) {
1263
  ?>
@@ -1268,16 +1283,16 @@ class Sassy_Social_Share_Public {
1268
  }
1269
  if ( $this->options['horizontal_font_color_hover'] != '' ) { ?>
1270
  div.heateor_sss_horizontal_sharing span.heateor_sss_svg svg:hover path:not(.heateor_sss_no_fill),div.heateor_sss_horizontal_sharing span.heateor_sss_svg svg:hover ellipse, div.heateor_sss_horizontal_sharing span.heateor_sss_svg svg:hover circle, div.heateor_sss_horizontal_sharing span.heateor_sss_svg svg:hover polygon{
1271
- fill: <?php echo $this->options['horizontal_font_color_hover'] ?>;
1272
  }
1273
  div.heateor_sss_horizontal_sharing span.heateor_sss_svg svg:hover path.heateor_sss_svg_stroke{
1274
- stroke: <?php echo $this->options['horizontal_font_color_hover'] ?>;
1275
  }
1276
  <?php } ?>
1277
  .heateor_sss_horizontal_sharing span.heateor_sss_svg:hover,.heateor_sss_standard_follow_icons_container span.heateor_sss_svg:hover{
1278
  <?php if ( $this->options['horizontal_bg_color_hover'] != '' ) { ?>
1279
- background-color: <?php echo $this->options['horizontal_bg_color_hover'] ?>!important;
1280
- background: <?php echo $this->options['horizontal_bg_color_hover'] ?>!important;
1281
  <?php }
1282
  if ( $this->options['horizontal_font_color_hover'] != '' ) { ?>
1283
  color: <?php echo $this->options['horizontal_font_color_hover'] ?>;
@@ -1286,10 +1301,10 @@ class Sassy_Social_Share_Public {
1286
  }
1287
  .heateor_sss_vertical_sharing span.heateor_sss_svg,.heateor_sss_floating_follow_icons_container span.heateor_sss_svg{
1288
  <?php if ( $this->options['vertical_bg_color_default'] != '' ) { ?>
1289
- background-color: <?php echo $this->options['vertical_bg_color_default'] ?>!important;
1290
- background: <?php echo $this->options['vertical_bg_color_default'] ?>!important;
1291
  <?php } ?>
1292
- color: <?php echo $this->options['vertical_font_color_default'] ? $this->options['vertical_font_color_default'] : '#fff' ?>;
1293
  <?php
1294
  $vertical_border_width = 0;
1295
  if ( $this->options['vertical_border_width_default'] != '' ) {
@@ -1298,9 +1313,9 @@ class Sassy_Social_Share_Public {
1298
  $vertical_border_width = $this->options['vertical_border_width_hover'];
1299
  }
1300
  ?>
1301
- border-width: <?php echo $vertical_border_width ?>px;
1302
  border-style: solid;
1303
- border-color: <?php echo $this->options['vertical_border_color_default'] != '' ? $this->options['vertical_border_color_default'] : 'transparent'; ?>;
1304
  }
1305
  <?php if ( $this->options['horizontal_font_color_default'] == '' ) { ?>
1306
  .heateor_sss_vertical_sharing .heateorSssTCBackground{
@@ -1309,21 +1324,21 @@ class Sassy_Social_Share_Public {
1309
  <?php } ?>
1310
  <?php if ( $this->options['vertical_font_color_hover'] != '' ) { ?>
1311
  div.heateor_sss_vertical_sharing span.heateor_sss_svg svg:hover path:not(.heateor_sss_no_fill),div.heateor_sss_vertical_sharing span.heateor_sss_svg svg:hover ellipse, div.heateor_sss_vertical_sharing span.heateor_sss_svg svg:hover circle, div.heateor_sss_vertical_sharing span.heateor_sss_svg svg:hover polygon{
1312
- fill:<?php echo $this->options['vertical_font_color_hover'] ?>;
1313
  }
1314
  div.heateor_sss_vertical_sharing span.heateor_sss_svg svg:hover path.heateor_sss_svg_stroke{
1315
- stroke:<?php echo $this->options['vertical_font_color_hover'] ?>;
1316
  }
1317
  <?php } ?>
1318
  .heateor_sss_vertical_sharing span.heateor_sss_svg:hover,.heateor_sss_floating_follow_icons_container span.heateor_sss_svg:hover{
1319
  <?php if ( $this->options['vertical_bg_color_hover'] != '' ) { ?>
1320
- background-color: <?php echo $this->options['vertical_bg_color_hover'] ?>!important;
1321
- background: <?php echo $this->options['vertical_bg_color_hover'] ?>!important;
1322
  <?php }
1323
  if ( $this->options['vertical_font_color_hover'] != '' ) { ?>
1324
- color: <?php echo $this->options['vertical_font_color_hover'] ?>;
1325
  <?php } ?>
1326
- border-color: <?php echo $this->options['vertical_border_color_hover'] != '' ? $this->options['vertical_border_color_hover'] : 'transparent'; ?>;
1327
  }
1328
  <?php
1329
  if ( isset( $this->options['horizontal_counts'] ) ) {
@@ -1331,13 +1346,13 @@ class Sassy_Social_Share_Public {
1331
  if ( isset( $this->options['horizontal_counter_position'] ) && in_array( $this->options['horizontal_counter_position'], array( 'inner_top', 'inner_bottom' ) ) ) {
1332
  $line_height_percent = $this->options['horizontal_counter_position'] == 'inner_top' ? 38 : 19;
1333
  ?>
1334
- div.heateor_sss_horizontal_sharing svg{height:70%;margin-top:<?php echo $svg_height*15/100 ?>px}div.heateor_sss_horizontal_sharing .heateor_sss_square_count{line-height:<?php echo $svg_height*$line_height_percent/100 ?>px;}
1335
  <?php
1336
  } elseif ( isset( $this->options['horizontal_counter_position'] ) && in_array( $this->options['horizontal_counter_position'], array( 'inner_left', 'inner_right' ) ) ) { ?>
1337
- div.heateor_sss_horizontal_sharing svg{width:50%;margin:auto;}div.heateor_sss_horizontal_sharing .heateor_sss_square_count{float:left;width:50%;line-height:<?php echo $svg_height - 2 * $border_width; ?>px;}
1338
  <?php
1339
  } elseif ( isset( $this->options['horizontal_counter_position'] ) && in_array( $this->options['horizontal_counter_position'], array( 'left', 'right' ) ) ) { ?>
1340
- div.heateor_sss_horizontal_sharing .heateor_sss_square_count{float:<?php echo $this->options['horizontal_counter_position'] ?>;margin:0 8px;line-height:<?php echo $svg_height; ?>px;}
1341
  <?php
1342
  } elseif ( ! isset( $this->options['horizontal_counter_position'] ) || $this->options['horizontal_counter_position'] == 'top' ) { ?>
1343
  div.heateor_sss_horizontal_sharing .heateor_sss_square_count{display: block}
@@ -1350,20 +1365,20 @@ class Sassy_Social_Share_Public {
1350
  if ( ( isset( $this->options['vertical_counter_position'] ) && in_array( $this->options['vertical_counter_position'], array( 'inner_top', 'inner_bottom' ) ) ) || ! isset( $this->options['vertical_counter_position'] ) ) {
1351
  $vertical_line_height_percent = ! isset( $this->options['vertical_counter_position'] ) || $this->options['vertical_counter_position'] == 'inner_top' ? 38 : 19;
1352
  ?>
1353
- div.heateor_sss_vertical_sharing svg{height:70%;margin-top:<?php echo $vertical_svg_height*15/100 ?>px}div.heateor_sss_vertical_sharing .heateor_sss_square_count{line-height:<?php echo $vertical_svg_height*$vertical_line_height_percent/100; ?>px;}
1354
  <?php
1355
  } elseif ( isset( $this->options['vertical_counter_position'] ) && in_array( $this->options['vertical_counter_position'], array( 'inner_left', 'inner_right' ) ) ) { ?>
1356
- div.heateor_sss_vertical_sharing svg{width:50%;margin:auto;}div.heateor_sss_vertical_sharing .heateor_sss_square_count{float:left;width:50%;line-height:<?php echo $vertical_svg_height; ?>px;}
1357
  <?php
1358
  } elseif ( isset( $this->options['vertical_counter_position'] ) && in_array( $this->options['vertical_counter_position'], array( 'left', 'right' ) ) ) { ?>
1359
- div.heateor_sss_vertical_sharing .heateor_sss_square_count{float:<?php echo $this->options['vertical_counter_position'] ?>;margin:0 8px;line-height:<?php echo $vertical_svg_height; ?>px; <?php echo $this->options['vertical_counter_position'] == 'left' ? 'min-width:' . $vertical_svg_width*30/100 . 'px;display: block' : '';?>}
1360
  <?php
1361
  } elseif ( isset( $this->options['vertical_counter_position'] ) && $this->options['vertical_counter_position'] == 'top' ) { ?>
1362
  div.heateor_sss_vertical_sharing .heateor_sss_square_count{display:block}
1363
  <?php
1364
  }
1365
  }
1366
- echo isset( $this->options['hide_mobile_sharing'] ) && $this->options['vertical_screen_width'] != '' ? '@media screen and (max-width:' . $this->options['vertical_screen_width'] . 'px) {.heateor_sss_vertical_sharing{display:none!important}}' : '';
1367
 
1368
  $bottom_sharing_postion_inverse = $this->options['bottom_sharing_alignment'] == 'left' ? 'right' : 'left';
1369
  $bottom_sharing_responsive_css = '';
@@ -1375,7 +1390,7 @@ class Sassy_Social_Share_Public {
1375
  $bottom_sharing_responsive_css = 'div.heateor_sss_bottom_sharing{width:100%!important;left:0!important;}div.heateor_sss_bottom_sharing a{width:'.(100/($num_sharing_icons+$total_share_count_enabled+$more_icon_enabled)).'% !important;}div.heateor_sss_bottom_sharing .heateor_sss_svg{width: 100% !important;}div.heateor_sss_bottom_sharing div.heateorSssTotalShareCount{font-size:1em!important;line-height:' . ( $vertical_sharing_icon_height*70/100 ) . 'px!important}div.heateor_sss_bottom_sharing div.heateorSssTotalShareText{font-size:.7em!important;line-height:0px!important}';
1376
  }
1377
  echo isset( $this->options['vertical_enable'] ) && isset( $this->options['bottom_mobile_sharing'] ) && $this->options['horizontal_screen_width'] != '' ? 'div.heateor_sss_mobile_footer{display:none;}@media screen and (max-width:' . $this->options['horizontal_screen_width'] . 'px){div.heateor_sss_bottom_sharing .heateorSssTCBackground{background-color:white}'.$bottom_sharing_responsive_css.'div.heateor_sss_mobile_footer{display:block;height:'.($this->options['vertical_sharing_shape'] == 'rectangle' ? $this->options['vertical_sharing_height'] : $this->options['vertical_sharing_size']).'px;}.heateor_sss_bottom_sharing{padding:0!important;' . ( $this->options['bottom_sharing_position_radio'] == 'nonresponsive' && $this->options['bottom_sharing_position'] != '' ? $this->options['bottom_sharing_alignment'] . ':' . $this->options['bottom_sharing_position'] . 'px!important;' . $bottom_sharing_postion_inverse . ':auto!important;' : '' ) . 'display:block!important;width:auto!important;bottom:' . ( isset( $this->options['vertical_total_shares'] ) && ! $this->is_amp_page() ? '-5' : '-2' ) . 'px!important;top: auto!important;}.heateor_sss_bottom_sharing .heateor_sss_square_count{line-height:inherit;}.heateor_sss_bottom_sharing .heateorSssSharingArrow{display:none;}.heateor_sss_bottom_sharing .heateorSssTCBackground{margin-right:1.1em!important}}' : '';
1378
- echo $this->options['custom_css'];
1379
  echo isset( $this->options['hide_slider'] ) ? 'div.heateorSssSharingArrow{display:none}' : '';
1380
  if ( isset( $this->options['hor_enable'] ) && $this->options['hor_sharing_alignment'] == "center" ) {
1381
  echo 'div.heateor_sss_sharing_title{text-align:center}div.heateor_sss_sharing_ul{width:100%;text-align:center;}div.heateor_sss_horizontal_sharing div.heateor_sss_sharing_ul a{float:none!important;display:inline-block;}';
120
  $inline_script .= 'var heateorSssUrlCountFetched = [], heateorSssSharesText = \''. htmlspecialchars(__('Shares', 'sassy-social-share'), ENT_QUOTES) .'\', heateorSssShareText = \''. htmlspecialchars(__('Share', 'sassy-social-share'), ENT_QUOTES) .'\';';
121
  $inline_script .= 'function heateorSssPopup(e) {window.open(e,"popUpWindow","height=400,width=600,left=400,top=100,resizable,scrollbars,toolbar=0,personalbar=0,menubar=no,location=no,directories=no,status")}';
122
  if ( $this->facebook_like_recommend_enabled() || $this->facebook_share_enabled() ) {
123
+ $inline_script .= 'function heateorSssInitiateFB() {FB.init({appId:"",channelUrl:"",status:!0,cookie:!0,xfbml:!0,version:"v13.0"})}window.fbAsyncInit=function() {heateorSssInitiateFB(),' . ( defined( 'HEATEOR_SOCIAL_SHARE_MYCRED_INTEGRATION_VERSION' ) && $this->facebook_like_recommend_enabled() ? 1 : 0 ) . '&&(FB.Event.subscribe("edge.create",function(e) {heateorSsmiMycredPoints("Facebook_like_recommend","",e?e:"")}),FB.Event.subscribe("edge.remove",function(e) {heateorSsmiMycredPoints("Facebook_like_recommend","",e?e:"","Minus point(s) for undoing Facebook like-recommend")}) ),'. ( defined( 'HEATEOR_SHARING_GOOGLE_ANALYTICS_VERSION' ) ? 1 : 0 ) .'&&(FB.Event.subscribe("edge.create",function(e) {heateorSsgaSocialPluginsTracking("Facebook","Like",e?e:"")}),FB.Event.subscribe("edge.remove",function(e) {heateorSsgaSocialPluginsTracking("Facebook","Unlike",e?e:"")}) )},function(e) {var n,i="facebook-jssdk",o=e.getElementsByTagName("script")[0];e.getElementById(i)||(n=e.createElement("script"),n.id=i,n.async=!0,n.src="//connect.facebook.net/'. ( $this->options['language'] ? $this->options['language'] : 'en_GB' ) .'/sdk.js",o.parentNode.insertBefore(n,o) )}(document);';
124
  }
125
  wp_enqueue_script( 'heateor_sss_sharing_js', plugins_url( 'js/sassy-social-share-public.js', __FILE__ ), array( 'jquery' ), $this->version, $in_footer );
126
  wp_add_inline_script( 'heateor_sss_sharing_js', $inline_script, $position = 'before' );
414
  break;
415
  case 'right':
416
  $inner_style_conditional = 'display:block;';
417
+ $counter_placeholder = 'span><';
418
  break;
419
  case 'bottom':
420
  $inner_style_conditional = 'display:block;';
421
+ $counter_placeholder = 'span><';
422
  break;
423
  case 'inner_left':
424
  $inner_style_conditional = 'float:left;';
540
  }
541
 
542
  if ( isset( $this->options[$sharing_type . '_more'] ) && ! $this->is_amp_page() ) {
543
+ $li_items .= '<a class="heateor_sss_more" title="More" rel="nofollow noopener" style="font-size: 32px!important;border:0;box-shadow:none;display:inline-block!important;font-size:16px;padding:0 4px;vertical-align: middle;display:inline;" href="' . htmlentities( addslashes( esc_url( $post_url ) ), ENT_QUOTES ) . '" onclick="event.preventDefault()">';
544
  if ( $display_count ) {
545
  $li_items .= $counter_container_init_html . '">&nbsp;' . $counter_container_end_html;
546
  }
547
+ $li_items .= '<span class="heateor_sss_svg" style="background-color:#ee8e2d;' . str_replace( array( 'style="', ';"' ), array( '', ';display:inline-block!important;opacity:1;float:left;font-size:32px!important;box-shadow:none;display:inline-block;font-size:16px;padding:0 4px;vertical-align:middle;display:inline;background-repeat:repeat;overflow:hidden;padding:0;cursor:pointer;box-sizing:content-box;' ), $style ) . '" onclick="heateorSssMoreSharingPopup(this, \'' . htmlentities( addslashes( esc_url( $post_url ) ), ENT_QUOTES ) . '\', \'' . $post_title . '\', \'' . $this->sanitize_post_title( $this->wpseo_twitter_title( $post ) ) . '\' )">';
548
  if ( $this->is_amp_page() ) {
549
  $li_items .= '<i title="More" class="heateorSssSharing heateorSssMoreBackground"><i class="heateorSssSharingSvg heateorSssMoreSvg"></i></i></li>';
550
  } else {
893
 
894
  }
895
 
896
+ /**
897
+ * Check if the passed URL is valid
898
+ *
899
+ * @since 3.3.40
900
+ */
901
+ private function validate_url( $url ) {
902
+
903
+ return filter_var( trim( $url ), FILTER_VALIDATE_URL );
904
+
905
+ }
906
+
907
  /**
908
  * Get share counts for sharing networks
909
  *
914
  if ( isset( $_GET['urls'] ) && count( $_GET['urls'] ) > 0 ) {
915
  $target_urls = array_unique( $_GET['urls'] );
916
  foreach ( $target_urls as $k => $v ) {
917
+ if ( $this->validate_url( $v ) === false ) {
918
+ unset( $target_urls[$k] );
919
+ } else {
920
+ $target_urls[$k] = esc_url( $v );
921
+ }
922
  }
923
  } else {
924
  $this->ajax_response( array( 'status' => 0, 'message' => __( 'Invalid request' ) ) );
1245
  <?php
1246
  }
1247
  if ( $this->options['horizontal_bg_color_default'] != '' ) { ?>
1248
+ div.heateor_sss_horizontal_sharing a.heateor_sss_button_instagram span{background:<?php echo esc_html( $this->options['horizontal_bg_color_default'] ) ?>!important;}div.heateor_sss_standard_follow_icons_container a.heateor_sss_button_instagram span{background:<?php echo esc_html( $this->options['horizontal_bg_color_default'] ) ?>;}
1249
  <?php } ?>
1250
  <?php if ( $this->options['horizontal_bg_color_hover'] != '' ) { ?>
1251
+ div.heateor_sss_horizontal_sharing a.heateor_sss_button_instagram span:hover{background:<?php echo esc_html( $this->options['horizontal_bg_color_hover'] ) ?>!important;}div.heateor_sss_standard_follow_icons_container a.heateor_sss_button_instagram span:hover{background:<?php echo esc_html( $this->options['horizontal_bg_color_hover'] ) ?>;}
1252
  <?php } ?>
1253
  <?php if ( $this->options['vertical_bg_color_default'] != '' ) { ?>
1254
+ div.heateor_sss_vertical_sharing a.heateor_sss_button_instagram span{background:<?php echo esc_html( $this->options['vertical_bg_color_default'] ) ?>!important;}div.heateor_sss_floating_follow_icons_container a.heateor_sss_button_instagram span{background:<?php echo esc_html( $this->options['vertical_bg_color_default'] ) ?>;}
1255
  <?php } ?>
1256
  <?php if ( $this->options['vertical_bg_color_hover'] != '' ) { ?>
1257
+ div.heateor_sss_vertical_sharing a.heateor_sss_button_instagram span:hover{background:<?php echo esc_html( $this->options['vertical_bg_color_hover'] ) ?>!important;}div.heateor_sss_floating_follow_icons_container a.heateor_sss_button_instagram span:hover{background:<?php echo esc_html( $this->options['vertical_bg_color_hover'] ) ?>;}
1258
  <?php } ?>
1259
  .heateor_sss_horizontal_sharing .heateor_sss_svg,.heateor_sss_standard_follow_icons_container .heateor_sss_svg{
1260
  <?php if ( $this->options['horizontal_bg_color_default'] != '' ) { ?>
1261
+ background-color: <?php echo esc_html( $this->options['horizontal_bg_color_default'] ) ?>!important;
1262
+ background: <?php echo esc_html( $this->options['horizontal_bg_color_default'] ) ?>!important;
1263
  <?php } ?>
1264
+ color: <?php echo $this->options['horizontal_font_color_default'] ? esc_html( $this->options['horizontal_font_color_default'] ) : '#fff' ?>;
1265
  <?php
1266
  $border_width = 0;
1267
  if ( $this->options['horizontal_border_width_default'] != '' ) {
1270
  $border_width = $this->options['horizontal_border_width_hover'];
1271
  }
1272
  ?>
1273
+ border-width: <?php echo esc_html( $border_width ) . 'px' ?>;
1274
  border-style: solid;
1275
+ border-color: <?php echo $this->options['horizontal_border_color_default'] != '' ? esc_html( $this->options['horizontal_border_color_default'] ) : 'transparent'; ?>;
1276
  }
1277
  <?php if ( $this->options['horizontal_font_color_default'] == '' ) {
1278
  ?>
1283
  }
1284
  if ( $this->options['horizontal_font_color_hover'] != '' ) { ?>
1285
  div.heateor_sss_horizontal_sharing span.heateor_sss_svg svg:hover path:not(.heateor_sss_no_fill),div.heateor_sss_horizontal_sharing span.heateor_sss_svg svg:hover ellipse, div.heateor_sss_horizontal_sharing span.heateor_sss_svg svg:hover circle, div.heateor_sss_horizontal_sharing span.heateor_sss_svg svg:hover polygon{
1286
+ fill: <?php echo esc_html( $this->options['horizontal_font_color_hover'] ) ?>;
1287
  }
1288
  div.heateor_sss_horizontal_sharing span.heateor_sss_svg svg:hover path.heateor_sss_svg_stroke{
1289
+ stroke: <?php echo esc_html( $this->options['horizontal_font_color_hover'] ) ?>;
1290
  }
1291
  <?php } ?>
1292
  .heateor_sss_horizontal_sharing span.heateor_sss_svg:hover,.heateor_sss_standard_follow_icons_container span.heateor_sss_svg:hover{
1293
  <?php if ( $this->options['horizontal_bg_color_hover'] != '' ) { ?>
1294
+ background-color: <?php echo esc_html( $this->options['horizontal_bg_color_hover'] ) ?>!important;
1295
+ background: <?php echo esc_html( $this->options['horizontal_bg_color_hover'] ) ?>!important;
1296
  <?php }
1297
  if ( $this->options['horizontal_font_color_hover'] != '' ) { ?>
1298
  color: <?php echo $this->options['horizontal_font_color_hover'] ?>;
1301
  }
1302
  .heateor_sss_vertical_sharing span.heateor_sss_svg,.heateor_sss_floating_follow_icons_container span.heateor_sss_svg{
1303
  <?php if ( $this->options['vertical_bg_color_default'] != '' ) { ?>
1304
+ background-color: <?php echo esc_html( $this->options['vertical_bg_color_default'] ) ?>!important;
1305
+ background: <?php echo esc_html( $this->options['vertical_bg_color_default'] ) ?>!important;
1306
  <?php } ?>
1307
+ color: <?php echo $this->options['vertical_font_color_default'] ? esc_html( $this->options['vertical_font_color_default'] ) : '#fff' ?>;
1308
  <?php
1309
  $vertical_border_width = 0;
1310
  if ( $this->options['vertical_border_width_default'] != '' ) {
1313
  $vertical_border_width = $this->options['vertical_border_width_hover'];
1314
  }
1315
  ?>
1316
+ border-width: <?php echo esc_html( $vertical_border_width ) ?>px;
1317
  border-style: solid;
1318
+ border-color: <?php echo $this->options['vertical_border_color_default'] != '' ? esc_html( $this->options['vertical_border_color_default'] ) : 'transparent'; ?>;
1319
  }
1320
  <?php if ( $this->options['horizontal_font_color_default'] == '' ) { ?>
1321
  .heateor_sss_vertical_sharing .heateorSssTCBackground{
1324
  <?php } ?>
1325
  <?php if ( $this->options['vertical_font_color_hover'] != '' ) { ?>
1326
  div.heateor_sss_vertical_sharing span.heateor_sss_svg svg:hover path:not(.heateor_sss_no_fill),div.heateor_sss_vertical_sharing span.heateor_sss_svg svg:hover ellipse, div.heateor_sss_vertical_sharing span.heateor_sss_svg svg:hover circle, div.heateor_sss_vertical_sharing span.heateor_sss_svg svg:hover polygon{
1327
+ fill:<?php echo esc_html( $this->options['vertical_font_color_hover'] ) ?>;
1328
  }
1329
  div.heateor_sss_vertical_sharing span.heateor_sss_svg svg:hover path.heateor_sss_svg_stroke{
1330
+ stroke:<?php echo esc_html( $this->options['vertical_font_color_hover'] ) ?>;
1331
  }
1332
  <?php } ?>
1333
  .heateor_sss_vertical_sharing span.heateor_sss_svg:hover,.heateor_sss_floating_follow_icons_container span.heateor_sss_svg:hover{
1334
  <?php if ( $this->options['vertical_bg_color_hover'] != '' ) { ?>
1335
+ background-color: <?php echo esc_html( $this->options['vertical_bg_color_hover'] ) ?>!important;
1336
+ background: <?php echo esc_html( $this->options['vertical_bg_color_hover'] ) ?>!important;
1337
  <?php }
1338
  if ( $this->options['vertical_font_color_hover'] != '' ) { ?>
1339
+ color: <?php echo esc_html( $this->options['vertical_font_color_hover'] ) ?>;
1340
  <?php } ?>
1341
+ border-color: <?php echo $this->options['vertical_border_color_hover'] != '' ? esc_html( $this->options['vertical_border_color_hover'] ) : 'transparent'; ?>;
1342
  }
1343
  <?php
1344
  if ( isset( $this->options['horizontal_counts'] ) ) {
1346
  if ( isset( $this->options['horizontal_counter_position'] ) && in_array( $this->options['horizontal_counter_position'], array( 'inner_top', 'inner_bottom' ) ) ) {
1347
  $line_height_percent = $this->options['horizontal_counter_position'] == 'inner_top' ? 38 : 19;
1348
  ?>
1349
+ div.heateor_sss_horizontal_sharing svg{height:70%;margin-top:<?php echo esc_html( $svg_height )*15/100 ?>px}div.heateor_sss_horizontal_sharing .heateor_sss_square_count{line-height:<?php echo esc_html( $svg_height*$line_height_percent )/100 ?>px;}
1350
  <?php
1351
  } elseif ( isset( $this->options['horizontal_counter_position'] ) && in_array( $this->options['horizontal_counter_position'], array( 'inner_left', 'inner_right' ) ) ) { ?>
1352
+ div.heateor_sss_horizontal_sharing svg{width:50%;margin:auto;}div.heateor_sss_horizontal_sharing .heateor_sss_square_count{float:left;width:50%;line-height:<?php echo esc_html( $svg_height - 2 * $border_width ); ?>px;}
1353
  <?php
1354
  } elseif ( isset( $this->options['horizontal_counter_position'] ) && in_array( $this->options['horizontal_counter_position'], array( 'left', 'right' ) ) ) { ?>
1355
+ div.heateor_sss_horizontal_sharing .heateor_sss_square_count{float:<?php echo esc_html( $this->options['horizontal_counter_position'] ) ?>;margin:0 8px;line-height:<?php echo esc_html( $svg_height ); ?>px;}
1356
  <?php
1357
  } elseif ( ! isset( $this->options['horizontal_counter_position'] ) || $this->options['horizontal_counter_position'] == 'top' ) { ?>
1358
  div.heateor_sss_horizontal_sharing .heateor_sss_square_count{display: block}
1365
  if ( ( isset( $this->options['vertical_counter_position'] ) && in_array( $this->options['vertical_counter_position'], array( 'inner_top', 'inner_bottom' ) ) ) || ! isset( $this->options['vertical_counter_position'] ) ) {
1366
  $vertical_line_height_percent = ! isset( $this->options['vertical_counter_position'] ) || $this->options['vertical_counter_position'] == 'inner_top' ? 38 : 19;
1367
  ?>
1368
+ div.heateor_sss_vertical_sharing svg{height:70%;margin-top:<?php echo esc_html( $vertical_svg_height )*15/100 ?>px}div.heateor_sss_vertical_sharing .heateor_sss_square_count{line-height:<?php echo esc_html( $vertical_svg_height*$vertical_line_height_percent )/100; ?>px;}
1369
  <?php
1370
  } elseif ( isset( $this->options['vertical_counter_position'] ) && in_array( $this->options['vertical_counter_position'], array( 'inner_left', 'inner_right' ) ) ) { ?>
1371
+ div.heateor_sss_vertical_sharing svg{width:50%;margin:auto;}div.heateor_sss_vertical_sharing .heateor_sss_square_count{float:left;width:50%;line-height:<?php echo esc_html( $vertical_svg_height ); ?>px;}
1372
  <?php
1373
  } elseif ( isset( $this->options['vertical_counter_position'] ) && in_array( $this->options['vertical_counter_position'], array( 'left', 'right' ) ) ) { ?>
1374
+ div.heateor_sss_vertical_sharing .heateor_sss_square_count{float:<?php echo esc_html( $this->options['vertical_counter_position'] ) ?>;margin:0 8px;line-height:<?php echo esc_html( $vertical_svg_height ); ?>px; <?php echo $this->options['vertical_counter_position'] == 'left' ? 'min-width:' . esc_html( $vertical_svg_width )*30/100 . 'px;display: block' : '';?>}
1375
  <?php
1376
  } elseif ( isset( $this->options['vertical_counter_position'] ) && $this->options['vertical_counter_position'] == 'top' ) { ?>
1377
  div.heateor_sss_vertical_sharing .heateor_sss_square_count{display:block}
1378
  <?php
1379
  }
1380
  }
1381
+ echo isset( $this->options['hide_mobile_sharing'] ) && $this->options['vertical_screen_width'] != '' ? '@media screen and (max-width:' . intval( $this->options['vertical_screen_width'] ) . 'px) {.heateor_sss_vertical_sharing{display:none!important}}' : '';
1382
 
1383
  $bottom_sharing_postion_inverse = $this->options['bottom_sharing_alignment'] == 'left' ? 'right' : 'left';
1384
  $bottom_sharing_responsive_css = '';
1390
  $bottom_sharing_responsive_css = 'div.heateor_sss_bottom_sharing{width:100%!important;left:0!important;}div.heateor_sss_bottom_sharing a{width:'.(100/($num_sharing_icons+$total_share_count_enabled+$more_icon_enabled)).'% !important;}div.heateor_sss_bottom_sharing .heateor_sss_svg{width: 100% !important;}div.heateor_sss_bottom_sharing div.heateorSssTotalShareCount{font-size:1em!important;line-height:' . ( $vertical_sharing_icon_height*70/100 ) . 'px!important}div.heateor_sss_bottom_sharing div.heateorSssTotalShareText{font-size:.7em!important;line-height:0px!important}';
1391
  }
1392
  echo isset( $this->options['vertical_enable'] ) && isset( $this->options['bottom_mobile_sharing'] ) && $this->options['horizontal_screen_width'] != '' ? 'div.heateor_sss_mobile_footer{display:none;}@media screen and (max-width:' . $this->options['horizontal_screen_width'] . 'px){div.heateor_sss_bottom_sharing .heateorSssTCBackground{background-color:white}'.$bottom_sharing_responsive_css.'div.heateor_sss_mobile_footer{display:block;height:'.($this->options['vertical_sharing_shape'] == 'rectangle' ? $this->options['vertical_sharing_height'] : $this->options['vertical_sharing_size']).'px;}.heateor_sss_bottom_sharing{padding:0!important;' . ( $this->options['bottom_sharing_position_radio'] == 'nonresponsive' && $this->options['bottom_sharing_position'] != '' ? $this->options['bottom_sharing_alignment'] . ':' . $this->options['bottom_sharing_position'] . 'px!important;' . $bottom_sharing_postion_inverse . ':auto!important;' : '' ) . 'display:block!important;width:auto!important;bottom:' . ( isset( $this->options['vertical_total_shares'] ) && ! $this->is_amp_page() ? '-5' : '-2' ) . 'px!important;top: auto!important;}.heateor_sss_bottom_sharing .heateor_sss_square_count{line-height:inherit;}.heateor_sss_bottom_sharing .heateorSssSharingArrow{display:none;}.heateor_sss_bottom_sharing .heateorSssTCBackground{margin-right:1.1em!important}}' : '';
1393
+ echo esc_html( $this->options['custom_css'] );
1394
  echo isset( $this->options['hide_slider'] ) ? 'div.heateorSssSharingArrow{display:none}' : '';
1395
  if ( isset( $this->options['hor_enable'] ) && $this->options['hor_sharing_alignment'] == "center" ) {
1396
  echo 'div.heateor_sss_sharing_title{text-align:center}div.heateor_sss_sharing_ul{width:100%;text-align:center;}div.heateor_sss_horizontal_sharing div.heateor_sss_sharing_ul a{float:none!important;display:inline-block;}';
readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: https://www.heateor.com/donate/?action=Sassy+Social+Share
4
  Tags: social share, social sharing, social media share, share facebook, facebook social share, wordpress social share, share buttons, social share buttons, facebook like, twitter tweet, whatsapp share, line share, gab share, gab, parler share, gettr, gettr share, mewe share, mewe
5
  Requires at least: 2.5.0
6
  Tested up to: 5.9.2
7
- Stable tag: 3.3.39
8
  License: GPLv2 or later
9
 
10
  Slickest, Simplest and Optimized Share buttons. Facebook, Twitter, Reddit, Pinterest, Whatsapp, Parler, Gab, Gettr and over 100 more.
@@ -125,6 +125,13 @@ Yes, we can help you with it. Just drop an email at support[at]heateor[dot]com
125
  4. **Universal Sharing Popup**: Universal Sharing popup having all the supported sharing and bookmarking services
126
 
127
  == Changelog ==
 
 
 
 
 
 
 
128
  = 3.3.39 [15 March 2022] =
129
  * [Bugfix] myCRED Points for Linkedin shares were not being rewarded when using <a href="https://www.heateor.com/social-share-mycred/">Social Share myCRED Integration</a> add-on
130
 
@@ -1169,4 +1176,11 @@ Yes, we can help you with it. Just drop an email at support[at]heateor[dot]com
1169
  * [Improvement] Unnecessary CSS file was being loaded at the front-end
1170
 
1171
  = 3.3.39 [15 March 2022] =
1172
- * [Bugfix] myCRED Points for Linkedin shares were not being rewarded when using <a href="https://www.heateor.com/social-share-mycred/">Social Share myCRED Integration</a> add-on
 
 
 
 
 
 
 
4
  Tags: social share, social sharing, social media share, share facebook, facebook social share, wordpress social share, share buttons, social share buttons, facebook like, twitter tweet, whatsapp share, line share, gab share, gab, parler share, gettr, gettr share, mewe share, mewe
5
  Requires at least: 2.5.0
6
  Tested up to: 5.9.2
7
+ Stable tag: 3.3.40
8
  License: GPLv2 or later
9
 
10
  Slickest, Simplest and Optimized Share buttons. Facebook, Twitter, Reddit, Pinterest, Whatsapp, Parler, Gab, Gettr and over 100 more.
125
  4. **Universal Sharing Popup**: Universal Sharing popup having all the supported sharing and bookmarking services
126
 
127
  == Changelog ==
128
+ = 3.3.40 [24 March 2022] =
129
+ * [Security] Fixed two XSS Vulnerability issues
130
+ * [Bugfix] Right and Bottom counter positions in the Theme Selection section were not working
131
+ * [Improvement] Updated the official Facebook SDK being used throughout the plugin to the latest version 13.0
132
+ * [Improvement] Anchor HTML tag for the More share icon now has an HREF attribute
133
+ * [Improvement] Performmance improvement
134
+
135
  = 3.3.39 [15 March 2022] =
136
  * [Bugfix] myCRED Points for Linkedin shares were not being rewarded when using <a href="https://www.heateor.com/social-share-mycred/">Social Share myCRED Integration</a> add-on
137
 
1176
  * [Improvement] Unnecessary CSS file was being loaded at the front-end
1177
 
1178
  = 3.3.39 [15 March 2022] =
1179
+ * [Bugfix] myCRED Points for Linkedin shares were not being rewarded when using <a href="https://www.heateor.com/social-share-mycred/">Social Share myCRED Integration</a> add-on
1180
+
1181
+ = 3.3.40 [24 March 2022] =
1182
+ * [Security] Fixed two XSS Vulnerability issues
1183
+ * [Bugfix] Right and Bottom counter positions in the Theme Selection section were not working
1184
+ * [Improvement] Updated the official Facebook SDK being used throughout the plugin to the latest version 13.0
1185
+ * [Improvement] Anchor HTML tag for the More share icon now has an HREF attribute
1186
+ * [Improvement] Performmance improvement
sassy-social-share.php CHANGED
@@ -6,7 +6,7 @@
6
  * Plugin Name: Sassy Social Share
7
  * Plugin URI: https://www.heateor.com
8
  * Description: Slickest, Simplest and Optimized Share buttons. Facebook, Twitter, Reddit, Pinterest, WhatsApp and over 100 more
9
- * Version: 3.3.39
10
  * Author: Team Heateor
11
  * Author URI: https://www.heateor.com
12
  * Text Domain: sassy-social-share
@@ -20,7 +20,7 @@ if ( ! defined( 'WPINC' ) ) {
20
  die;
21
  }
22
 
23
- define( 'HEATEOR_SSS_VERSION', '3.3.39' );
24
  define( 'HEATEOR_SSS_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
25
 
26
  // core plugin class object
6
  * Plugin Name: Sassy Social Share
7
  * Plugin URI: https://www.heateor.com
8
  * Description: Slickest, Simplest and Optimized Share buttons. Facebook, Twitter, Reddit, Pinterest, WhatsApp and over 100 more
9
+ * Version: 3.3.40
10
  * Author: Team Heateor
11
  * Author URI: https://www.heateor.com
12
  * Text Domain: sassy-social-share
20
  die;
21
  }
22
 
23
+ define( 'HEATEOR_SSS_VERSION', '3.3.40' );
24
  define( 'HEATEOR_SSS_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
25
 
26
  // core plugin class object