Simple Follow Me Social Buttons Widget - Version 3.3.2

Version Description

  • Checked compatibility with WordPress 4.3
  • Fixed issue with hover color effect on some themes
  • Removed Specificfeeds.com default activation and admin notice.
  • Save plugin version into database for track the current installed version.
  • Changed icons defualt colors
  • Fix js to prevent conflicts with other plugins
Download this release

Release Info

Developer lucymtc
Plugin Icon 128x128 Simple Follow Me Social Buttons Widget
Version 3.3.2
Comparing to
See all releases

Code changes from version 3.3.1 to 3.3.2

assets/css/admin.css CHANGED
@@ -104,39 +104,6 @@ a.sfmsb-pending{
104
  box-shadow: 0 0 0 3px #E8ED45;
105
  }
106
 
107
- p#sfmsb-specififeeds-message{
108
- font-size: 10px;
109
- display:none;
110
- }
111
-
112
- .updated.sfmsb-specificfeeds-notice {
113
- position:relative;
114
- }
115
-
116
- .updated.sfmsb-specificfeeds-notice p{
117
- display:table;
118
- }
119
-
120
- .updated.sfmsb-specificfeeds-notice span{
121
- display:table-cell;
122
- vertical-align: middle;
123
- padding:0px 10px 0px 0px;
124
-
125
- }
126
-
127
- .updated.sfmsb-specificfeeds-notice {
128
- border-color: #0c459b ;
129
- overflow:hidden;
130
- }
131
-
132
- .updated.sfmsb-specificfeeds-notice .sfmsb-icon-specificfeeds{
133
- color:#d68678;
134
- font-size: 30px;
135
- margin-right:5px;
136
- }
137
-
138
- .sfmsb-icon-close:before { content: "\e643"; }
139
- .sfmsb-icon-close{ font-size: 17px; position:absolute; top: 5px; right:5px; color:#0c459b;}
140
 
141
  /* @end */
142
 
104
  box-shadow: 0 0 0 3px #E8ED45;
105
  }
106
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
107
 
108
  /* @end */
109
 
assets/js/admin.js DELETED
@@ -1,40 +0,0 @@
1
- /**
2
- * admin scripts
3
- * author Lucy Tomás
4
- * @since 2.4
5
- */
6
-
7
- jQuery(document).ready(function($) {
8
-
9
- if ( $(".sfmsb-specificfeeds-notice").length > 0 ){
10
- init_specificfeeds_notice();
11
- }
12
-
13
- function init_specificfeeds_notice(){
14
-
15
- $( 'a#sfmsb-specificfeeds-close' ).on( 'click', function( e ){
16
-
17
- e.preventDefault();
18
-
19
- //remove before response so there is no waiting
20
- $('.sfmsb-specificfeeds-notice').remove();
21
-
22
- var data = {
23
- action : 'sfmsb_notice_viewed',
24
- specificfeeds_viewed_notice : 1,
25
- nonce : sfmsb_vars.nonce
26
- };
27
-
28
- $.post(sfmsb_vars.ajaxurl, data, function(response){
29
-
30
- if( response == 'success') {
31
- //$('.sfmsb-specificfeeds-notice').remove();
32
- }
33
-
34
- });
35
-
36
- });
37
- }
38
-
39
-
40
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/js/front-widget.js CHANGED
@@ -7,36 +7,45 @@
7
 
8
  jQuery(document).ready(function($) {
9
 
10
- hover_effect_init();
11
-
12
-
13
- function hover_effect_init (){
14
-
15
- $('.sfmsb_widget').each( function(el){
16
-
17
- var id_widget = $(this).attr('id');
18
- var hover_color = $('#' + id_widget + ' .sfmsb-follow-social-buttons').attr('data-hover');
19
-
20
- if( hover_color && hover_color != 'undefined'){
21
-
22
- $('#' + id_widget + ' a').hover(
23
- function(){
24
- $(this).find('span').css('color', hover_color);
25
- },
26
- function(){
27
- $(this).find('span').css('color', $(this).find('span').attr('data-color'));
28
- }
29
- );
30
-
31
- }
32
-
33
-
34
- });
35
-
36
- }
37
 
38
  });
39
 
40
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
41
 
42
 
7
 
8
  jQuery(document).ready(function($) {
9
 
10
+
11
+ var sfmsb_widget = new sfmsb_front();
12
+ sfmsb_widget.init_icons();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13
 
14
  });
15
 
16
 
17
+
18
+ // Closure
19
+
20
+ function sfmsb_front (){
21
+
22
+ return {
23
+
24
+ /**
25
+ * init_icons
26
+ * inits hover color effect
27
+ */
28
+
29
+ init_icons : function () {
30
+
31
+ jQuery('.sfmsb-follow-social-buttons a').hover(
32
+
33
+ function(){
34
+ var hover_color = jQuery(this).parent('.sfmsb-follow-social-buttons').attr('data-hover');
35
+ jQuery(this).find('span').css('color', hover_color);
36
+ },
37
+ function(){
38
+ jQuery(this).find('span').css('color', jQuery(this).find('span').attr('data-color'));
39
+ }
40
+
41
+ );
42
+
43
+ }
44
+
45
+ } //
46
+
47
+ }
48
+
49
+
50
 
51
 
assets/js/widget.js CHANGED
@@ -5,101 +5,104 @@
5
  */
6
 
7
  jQuery(document).ajaxSuccess(function(e, xhr, settings) {
8
-
9
- init();
 
10
 
11
  });
12
 
13
  jQuery(document).ready(function($) {
14
 
15
- init();
 
16
 
17
  });
18
 
 
19
 
20
-
21
-
22
- function init (){
23
-
24
- jQuery( '.sfmsb-color-picker' ).wpColorPicker();
25
 
26
- //** Icon events
27
- jQuery( '.sfmsb-icons-container a.sfmsb-disable, .sfmsb-icons-container a.sfmsb-enable' ).on( 'click', function( event, ui ){
28
-
29
- jQuery('.sfmsb-icons-container').removeClass('extra-message');
30
- jQuery('p#sfmsb-specififeeds-message').css('display', 'none');
31
 
32
- var tmp = jQuery( this ).find( 'span' ).attr( 'class' ).split( ' ' );
33
- tmp = tmp[0].split( '-' );
34
 
35
- var icon_name = tmp[2];
36
 
37
- // get the id of the widget on the widgets page
38
- var widget = '#' + jQuery( this ).closest( '.widget' ).attr( 'id' );
39
 
40
- /* if undefined probably not the widgets page, for example could com from a page builder
41
- so set id to the icons container to work with that element*/
42
 
43
- if( widget == '#undefined') {
 
 
 
44
 
45
- widget = '#' + jQuery( this ).closest( '.sfmsb-icons-container ' ).attr( 'id' );
46
 
47
- if( widget == '#undefined') {
 
 
 
48
 
49
- widget = get_random_id();
50
- jQuery( this ).closest( '.sfmsb-icons-container ' ).attr('id', widget);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
51
 
52
- widget = '#' + widget;
53
  }
54
 
55
- }
 
 
 
56
 
57
-
58
- jQuery( widget + ' .sfmsb-initial-message' ).css( 'display', 'none' );
59
- jQuery( widget + ' .sfmsb-input-block' ).css( 'display', 'none' );
60
- jQuery( widget + ' .sfmsb-input-block.sfmsb-' + icon_name ).css( 'display', 'block' );
61
 
62
- if( icon_name == 'specificfeeds' ) {
 
 
 
 
 
 
 
 
 
 
63
 
64
- jQuery( widget + ' .sfmsb-icons-container').addClass('extra-message');
65
- jQuery( widget + ' p#sfmsb-specififeeds-message').css('display', 'inline');
66
-
67
- }
68
-
69
- });
70
-
71
- //** Input events
72
- jQuery( '.sfmsb-icons-container input[type=text]' ).keyup( function() {
73
-
74
- var tmp = jQuery( this ).attr( 'id' ).split( '-' );
75
- tmp = tmp[3].split( '_' );
76
-
77
- var icon_name = tmp[1];
78
- var widget = '#' + jQuery( this ).closest( '.widget' ).attr( 'id' );
79
- var aTag = jQuery( widget + ' .sfmsb-icon-' + icon_name ).closest( 'a' );
80
-
81
- if( jQuery(this).val() == '' ){
82
-
83
- aTag.attr( 'class', 'sfmsb-disable' );
84
-
85
- }else{
86
-
87
- aTag.attr( 'class', 'sfmsb-pending' );
88
- }
89
- });
90
-
91
- }
92
 
93
- /**
94
- * get_random_id
95
- * @since 2.6
96
- */
97
 
98
- function get_random_id(){
 
 
99
 
100
- var num = Math.floor((Math.random() * 999) + 1);
101
- var id = 'sfmsb-' + num;
102
 
103
- return id;
104
 
105
- }
5
  */
6
 
7
  jQuery(document).ajaxSuccess(function(e, xhr, settings) {
8
+
9
+ var sfmsb_form = new sfmsb();
10
+ sfmsb_form.init();
11
 
12
  });
13
 
14
  jQuery(document).ready(function($) {
15
 
16
+ var sfmsb_form = new sfmsb();
17
+ sfmsb_form.init();
18
 
19
  });
20
 
21
+ // Closure
22
 
23
+ function sfmsb (){
 
 
 
 
24
 
25
+ function get_random_id(){
 
 
 
 
26
 
27
+ var num = Math.floor((Math.random() * 999) + 1);
28
+ var id = 'sfmsb-' + num;
29
 
30
+ return id;
31
 
32
+ }
 
33
 
34
+ // public methods
35
+ return {
36
 
37
+ /**
38
+ * init_icons
39
+ * inits hover color effect
40
+ */
41
 
42
+ init : function () {
43
 
44
+ jQuery( '.sfmsb-color-picker' ).wpColorPicker();
45
+
46
+ //** Icon events
47
+ jQuery( '.sfmsb-icons-container a.sfmsb-disable, .sfmsb-icons-container a.sfmsb-enable' ).on( 'click', function( event, ui ){
48
 
49
+ jQuery('.sfmsb-icons-container').removeClass('extra-message');
50
+ jQuery('p#sfmsb-specififeeds-message').css('display', 'none');
51
+
52
+ var tmp = jQuery( this ).find( 'span' ).attr( 'class' ).split( ' ' );
53
+ tmp = tmp[0].split( '-' );
54
+
55
+ var icon_name = tmp[2];
56
+
57
+ // get the id of the widget on the widgets page
58
+ var widget = '#' + jQuery( this ).closest( '.widget' ).attr( 'id' );
59
+
60
+ // if undefined probably not the widgets page, for example could com from a page builder
61
+ // so set id to the icons container to work with that element
62
+
63
+ if( widget == '#undefined') {
64
+
65
+ widget = '#' + jQuery( this ).closest( '.sfmsb-icons-container ' ).attr( 'id' );
66
+
67
+ if( widget == '#undefined') {
68
+
69
+ widget = get_random_id();
70
+ jQuery( this ).closest( '.sfmsb-icons-container ' ).attr('id', widget);
71
+
72
+ widget = '#' + widget;
73
+ }
74
 
 
75
  }
76
 
77
+
78
+ jQuery( widget + ' .sfmsb-initial-message' ).css( 'display', 'none' );
79
+ jQuery( widget + ' .sfmsb-input-block' ).css( 'display', 'none' );
80
+ jQuery( widget + ' .sfmsb-input-block.sfmsb-' + icon_name ).css( 'display', 'block' );
81
 
82
+ });
 
 
 
83
 
84
+ //** Input events
85
+ jQuery( '.sfmsb-icons-container input[type=text]' ).keyup( function() {
86
+
87
+ var tmp = jQuery( this ).attr( 'id' ).split( '-' );
88
+ tmp = tmp[3].split( '_' );
89
+
90
+ var icon_name = tmp[1];
91
+ var widget = '#' + jQuery( this ).closest( '.widget' ).attr( 'id' );
92
+ var aTag = jQuery( widget + ' .sfmsb-icon-' + icon_name ).closest( 'a' );
93
+
94
+ if( jQuery(this).val() == '' ){
95
 
96
+ aTag.attr( 'class', 'sfmsb-disable' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
97
 
98
+ }else{
 
 
 
99
 
100
+ aTag.attr( 'class', 'sfmsb-pending' );
101
+ }
102
+ });
103
 
104
+ }
 
105
 
106
+ } //
107
 
108
+ }
includes/admin.php DELETED
@@ -1,39 +0,0 @@
1
- <?php
2
- /**
3
- * @package SFMSB
4
- * @subpackage admin
5
- * @author Lucy Tomás
6
- * @since 2.4
7
- */
8
-
9
- // Exit if accessed directly
10
- if ( !defined( 'ABSPATH' ) ) exit;
11
-
12
-
13
- if( !class_exists( 'Sfmsb_Admin' )){
14
-
15
- class Sfmsb_Admin {
16
-
17
- /**
18
- * Class contructor
19
- *
20
- * @since 1.0
21
- */
22
-
23
- private function __construct() {}
24
-
25
- public static function add_admin_scripts() {
26
-
27
- wp_register_script( 'sfmsb-admin-script', SFMSB_PLUGIN_URL . 'assets/js/admin.js', array('jquery'), SFMSB_PLUGIN_VERSION );
28
-
29
- wp_enqueue_script('sfmsb-admin-script');
30
-
31
- wp_localize_script( 'sfmsb-admin-script', 'sfmsb_vars', array(
32
- 'ajaxurl' => admin_url( 'admin-ajax.php' ),
33
- 'nonce' => wp_create_nonce( 'follow_nonce' )
34
- ) );
35
-
36
- }
37
-
38
- }//class
39
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
includes/widget.php CHANGED
@@ -35,17 +35,9 @@ class Sfmsb_Widget extends WP_Widget {
35
  $existing_settings = get_option('widget_sfmsb_settings');
36
 
37
  foreach ( SFMSB::instance()->available_buttons as $key => $item ) {
38
-
39
- if( $key == 'specificfeeds' && empty( $existing_settings ) ) {
40
-
41
- $this->defaults['enable_' . $key] = 1;
42
- $this->defaults['url_' . $key] = 'http://www.specificfeeds.com/follow';
43
-
44
- } else {
45
-
46
- $this->defaults['enable_' . $key] = 0;
47
- $this->defaults['url_' . $key] = '';
48
- }
49
  }
50
 
51
 
@@ -189,8 +181,6 @@ class Sfmsb_Widget extends WP_Widget {
189
  class=""
190
  value="<?php echo $value ?>"/>
191
 
192
- <p id="sfmsb-specififeeds-message"><?php _e('Leave <a href="http://www.specificfeeds.com/follow" target="_blank">http://www.specificfeeds.com/follow</a> to allow your visitors to subscribe to your blog by email. 100% free <a href="http://www.specificfeeds.com/rss" target="_blank">(learn more)</a>');?> </p>
193
-
194
  </div>
195
 
196
  <?php } // foreach ?>
35
  $existing_settings = get_option('widget_sfmsb_settings');
36
 
37
  foreach ( SFMSB::instance()->available_buttons as $key => $item ) {
38
+
39
+ $this->defaults['enable_' . $key] = 0;
40
+ $this->defaults['url_' . $key] = '';
 
 
 
 
 
 
 
 
41
  }
42
 
43
 
181
  class=""
182
  value="<?php echo $value ?>"/>
183
 
 
 
184
  </div>
185
 
186
  <?php } // foreach ?>
readme.txt CHANGED
@@ -3,8 +3,8 @@ Contributors: lucymtc
3
  Donate link: http://wptips.me/simple-follow-social-buttons-widget/
4
  Tags: social,follow me,buttons,twitter,facebook,pinterest,google plus,linkedin,wordpress,rss,github,youtube,vimeo,instagram,email,sound cloud,itunes,bloglovin,flickr,tumblr,hubpages,deviantart,feedly,slideshare,vine,goodreads,vk,sanscritique,yelp,lastfm,trover,xing,behance,specificfeeds,stackoverflow,blogger,reddit,500px.com,remind,dribbble,picasa,rdio,skype,stumbleupon,foursquare,ello,openclipart,stitcher,canalcocina,kukers,tastespotting,foodgawker,tripadvisor,scoop.it,twitch,tunein,steam,scribd,ravelry,issuu,etsy,anobii,myspace,blog-connect,weibo,fotocommunity,dawanda,aboutme,eyeem,notonthehighstreet,odnoklassniki,font icons,retina ready
5
  Requires at least: 3.8
6
- Tested up to: 4.1.1
7
- Stable tag: 3.3.1
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -120,6 +120,14 @@ Other plugins that you may have interest:
120
 
121
  == Changelog ==
122
 
 
 
 
 
 
 
 
 
123
  = 3.3.1 =
124
  * CSS fix. Conflicting with some themes.
125
 
3
  Donate link: http://wptips.me/simple-follow-social-buttons-widget/
4
  Tags: social,follow me,buttons,twitter,facebook,pinterest,google plus,linkedin,wordpress,rss,github,youtube,vimeo,instagram,email,sound cloud,itunes,bloglovin,flickr,tumblr,hubpages,deviantart,feedly,slideshare,vine,goodreads,vk,sanscritique,yelp,lastfm,trover,xing,behance,specificfeeds,stackoverflow,blogger,reddit,500px.com,remind,dribbble,picasa,rdio,skype,stumbleupon,foursquare,ello,openclipart,stitcher,canalcocina,kukers,tastespotting,foodgawker,tripadvisor,scoop.it,twitch,tunein,steam,scribd,ravelry,issuu,etsy,anobii,myspace,blog-connect,weibo,fotocommunity,dawanda,aboutme,eyeem,notonthehighstreet,odnoklassniki,font icons,retina ready
5
  Requires at least: 3.8
6
+ Tested up to: 4.3
7
+ Stable tag: 3.3.2
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
120
 
121
  == Changelog ==
122
 
123
+ = 3.3.2 =
124
+ * Checked compatibility with WordPress 4.3
125
+ * Fixed issue with hover color effect on some themes
126
+ * Removed Specificfeeds.com default activation and admin notice.
127
+ * Save plugin version into database for track the current installed version.
128
+ * Changed icons defualt colors
129
+ * Fix js to prevent conflicts with other plugins
130
+
131
  = 3.3.1 =
132
  * CSS fix. Conflicting with some themes.
133
 
simple-follow-me-social-buttons-widget.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  Plugin Name: Simple Follow Me Social Buttons Widget
4
  Description: Widget to add some of the most popular follow me social buttons. Retina ready.
5
- Version: 3.3.1
6
  Author: Lucy Tomás
7
  Author URI: https://wordpress.org/support/profile/lucymtc
8
  License: GPLv2
@@ -70,6 +70,8 @@ final class SFMSB {
70
  */
71
 
72
  private function __construct () {
 
 
73
 
74
  $this->default_options = array();
75
 
@@ -78,17 +80,12 @@ final class SFMSB {
78
  if( is_admin() ) {
79
 
80
  add_action( 'admin_enqueue_scripts', array('Sfmsb_Widget', 'add_admin_scripts') );
81
- add_action( 'admin_enqueue_scripts', array('Sfmsb_Admin', 'add_admin_scripts') );
82
- add_action( 'admin_notices', array('SFMSB', 'specificfeeds_notice') );
83
-
84
  } else{
85
 
86
  add_action( 'wp_enqueue_scripts', array('Sfmsb_Widget', 'add_scripts') );
87
  }
88
 
89
- add_action('wp_ajax_sfmsb_notice_viewed', array('SFMSB', 'specificfeeds_save_notice_viewed'));
90
- add_action('wp_ajax_nopriv_sfmsb_notice_viewed', array('SFMSB', 'specificfeeds_save_notice_viewed'));
91
-
92
  }
93
 
94
 
@@ -101,8 +98,28 @@ final class SFMSB {
101
  private function includes () {
102
 
103
  require_once( SFMSB_PLUGIN_DIR . '/includes/widget.php');
104
- require_once( SFMSB_PLUGIN_DIR . '/includes/admin.php');
105
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
106
  }
107
 
108
 
@@ -116,7 +133,7 @@ final class SFMSB {
116
  if( !defined('SFMSB_PLUGIN_DIR') ) { define('SFMSB_PLUGIN_DIR', plugin_dir_path( __FILE__ )); }
117
  if( !defined('SFMSB_PLUGIN_URL') ) { define('SFMSB_PLUGIN_URL', plugin_dir_url( __FILE__ )); }
118
  if( !defined('SFMSB_PLUGIN_FILE') ) { define('SFMSB_PLUGIN_FILE', __FILE__ ); }
119
- if( !defined('SFMSB_PLUGIN_VERSION') ) { define('SFMSB_PLUGIN_VERSION', '3.3.1'); }
120
 
121
  }
122
 
@@ -129,74 +146,74 @@ final class SFMSB {
129
 
130
 
131
  $this->available_buttons = array(
132
- 'specificfeeds' => array( 'name' => 'SpecificFeeds','color' => 'd68678' ),
133
- 'twitter' => array( 'name' => 'Twitter', 'color' => '84b3dc' ),
134
- 'facebook' => array( 'name' => 'Facebook', 'color' => '6c97bf' ),
135
- 'googleplus' => array( 'name' => 'Google+', 'color' => 'd68778' ),
136
- 'feed' => array( 'name' => 'Rss Feed', 'color' => 'e1b96a' ),
137
- 'linkedin' => array( 'name' => 'Linkedin', 'color' => '6c97bf' ),
138
- 'pinterest' => array( 'name' => 'Pinterest', 'color' => 'd68678' ),
139
- 'wordpress' => array( 'name' => 'WordPress', 'color' => '6b96be' ),
140
- 'github' => array( 'name' => 'Github', 'color' => '717272' ),
141
- 'instagram' => array( 'name' => 'Instagram', 'color' => 'b9a38c' ),
142
- 'youtube' => array( 'name' => 'Youtube', 'color' => 'd68778' ),
143
- 'vimeo' => array( 'name' => 'Vimeo', 'color' => '4b6079' ),
144
- 'email' => array( 'name' => 'Email', 'color' => '84b3dc' ),
145
  'soundcloud' => array( 'name' => 'SoundCloud', 'color' => 'f6a46a' ),
146
- 'itunes' => array( 'name' => 'iTunes', 'color' => 'cf95f5' ),
147
- 'bloglovin' => array( 'name' => 'Bloglovin', 'color' => '5ed3f5' ),
148
- 'flickr' => array( 'name' => 'Flickr', 'color' => 'f66db4' ),
149
- 'tumblr' => array( 'name' => 'Tumblr', 'color' => '436381' ),
150
- 'hubpages' => array( 'name' => 'HubPages', 'color' => '717272' ),
151
- 'deviantart' => array( 'name' => 'Deviantart', 'color' => 'c0ca65' ),
152
- 'feedly' => array( 'name' => 'Feedly', 'color' => '6bc581' ),
153
- 'slideshare' => array( 'name' => 'SlideShare', 'color' => 'e7a463' ),
154
- 'vine' => array( 'name' => 'Vine', 'color' => '6bc3ad' ),
155
- 'goodreads' => array( 'name' => 'GoodReads', 'color' => '8d7469' ),
156
- 'vk' => array( 'name' => 'VK', 'color' => '6c97bf' ),
157
- 'sanscritique' => array( 'name' => 'SensCritique', 'color' => '9ed47b' ),
158
- 'yelp' => array( 'name' => 'Yelp', 'color' => 'b33e3a' ),
159
- 'lastfm' => array( 'name' => 'Last.fm', 'color' => 'd5565a' ),
160
- 'trover' => array( 'name' => 'Trover', 'color' => 'b79344' ),
161
- 'xing' => array( 'name' => 'Xing.com', 'color' => '498383' ),
162
- 'behance' => array( 'name' => 'Behance', 'color' => '717272' ),
163
- 'stackoverflow' => array( 'name' => 'Stackoverflow','color' => 'f2ab5a' ),
164
- 'blogger' => array( 'name' => 'Blogger', 'color' => 'f5b075' ),
165
- 'reddit' => array( 'name' => 'Reddit', 'color' => 'd3f3fe' ),
166
- '500px' => array( 'name' => '500px.com', 'color' => '717272' ),
167
- 'remind' => array( 'name' => 'Remind', 'color' => '72c9ff' ),
168
- 'dribbble' => array( 'name' => 'Dribbble', 'color' => 'efa3be' ),
169
- 'picasa' => array( 'name' => 'Picasa', 'color' => 'b06bb3' ),
170
- 'rdio' => array( 'name' => 'Rdio', 'color' => '4e9ace' ),
171
- 'skype' => array( 'name' => 'Skype', 'color' => '47bfeb' ),
172
- 'stumbleupon' => array( 'name' => 'Stumbleupon', 'color' => 'e47961' ),
173
- 'foursquare' => array( 'name' => 'Foursquare', 'color' => 'f37496' ),
174
- 'ello' => array( 'name' => 'Ello.co', 'color' => '717272' ),
175
- 'openclipart' => array( 'name' => 'Openclipart', 'color' => '74ab40' ),
176
- 'stitcher' => array( 'name' => 'Stitcher', 'color' => '717272' ),
177
- 'canalcocina' => array( 'name' => 'CanalCocina', 'color' => '717272' ),
178
- 'kukers' => array( 'name' => 'Kukers', 'color' => '778752' ),
179
- 'tastespotting' => array( 'name' => 'TasteSpotting','color' => '808285' ),
180
  'foodgawker' => array( 'name' => 'Foodgawker', 'color' => '808285' ),
181
- 'tripadvisor' => array( 'name' => 'Tripadvisor', 'color' => '73b35b' ),
182
- 'scoopit' => array( 'name' => 'Scoop.it', 'color' => '88ad69' ),
183
- 'twitch' => array( 'name' => 'Twitch', 'color' => '8d79b0' ),
184
- 'tunein' => array( 'name' => 'Tunein', 'color' => '6fb6af' ),
185
- 'steam' => array( 'name' => 'Steam', 'color' => '467293' ),
186
- 'scribd' => array( 'name' => 'Scribd', 'color' => '3074a0' ),
187
- 'ravelry' => array( 'name' => 'Ravelry', 'color' => 'de4d7d' ),
188
- 'issuu' => array( 'name' => 'ISSUU', 'color' => 'ec8569' ),
189
- 'etsy' => array( 'name' => 'Etsy', 'color' => 'd97850' ),
190
- 'anobii' => array( 'name' => 'ANOBII', 'color' => 'f4995d' ),
191
- 'myspace' => array( 'name' => 'Myspace', 'color' => '717272' ),
192
- 'blogconnect' => array( 'name' => 'Blog-Connect', 'color' => '717272' ),
193
- 'weibo' => array( 'name' => 'Weibo', 'color' => 'd73e3e' ),
194
- 'fotocommunity' => array( 'name' => 'fotocommunity','color' => '717272' ),
195
- 'dawanda' => array( 'name' => 'Dawanda', 'color' => 'ca5452' ),
196
- 'aboutme' => array( 'name' => 'about.me', 'color' => '265979' ),
197
- 'eyeem' => array( 'name' => 'EyeEm', 'color' => '717272' ),
198
- 'notonthehighstreet'=> array( 'name' => 'notonthehighstreet.com','color' => '2098bb' ),
199
- 'odnoklassniki' => array( 'name' => 'Odnoklassniki (ok.ru)', 'color' => 'eb9633' )
200
  );
201
 
202
  }
@@ -210,56 +227,7 @@ final class SFMSB {
210
  load_plugin_textdomain('sfmsb_domain', false, dirname( plugin_basename( SFMSB_PLUGIN_FILE ) ) . '/languages/' );
211
  }
212
 
213
- /**
214
- * specificfeeds_notice
215
- * displays a notice to inform specificfeeds icon has been added
216
- *
217
- * @since 2.3
218
- */
219
-
220
- public static function specificfeeds_notice() {
221
-
222
- $option = get_option('sfmsb_specificfeeds_viewed_notice');
223
-
224
- if( empty($option ) ) {
225
- ?>
226
- <div class="updated sfmsb-specificfeeds-notice">
227
-
228
- <p>
229
- <span class="sfmsb-icon-specificfeeds square"></span>
230
- <span class="sfmsb-icon-specificfeeds circle"></span>
231
- <span><?php _e( '<strong>Simple Follow Me Social Buttons Widget</strong> has included <a href="http://www.specificfeeds.com"><strong>SpecificFeeds.com</strong></a> icon. You still don\'t know about SpecificFeeds? <a href="http://www.specificfeeds.com/rss">Learn more from here</a>, it\'s 100% FREE.', 'sfmsb_domain' ); ?></span>
232
- </p>
233
-
234
- <a href="javascript:void(0);" id="sfmsb-specificfeeds-close"><span class="sfmsb-icon-close"></span></a>
235
- </div>
236
- <?php
237
- }// if ! option
238
- }
239
-
240
- /**
241
- * specificfeeds_save_notice_viewed
242
- * saves option to indicate that the notice has been closed to not show again
243
- *
244
- * @since 2.3
245
- */
246
-
247
- public static function specificfeeds_save_notice_viewed(){
248
-
249
-
250
- if( isset($_POST['specificfeeds_viewed_notice']) &&
251
- isset($_POST['specificfeeds_viewed_notice']) == 1 &&
252
- is_user_logged_in()) {
253
-
254
- update_option('sfmsb_specificfeeds_viewed_notice', 1);
255
- echo 'success';
256
-
257
- }
258
-
259
- die();
260
- }
261
-
262
-
263
  }// class
264
 
265
 
2
  /**
3
  Plugin Name: Simple Follow Me Social Buttons Widget
4
  Description: Widget to add some of the most popular follow me social buttons. Retina ready.
5
+ Version: 3.3.2
6
  Author: Lucy Tomás
7
  Author URI: https://wordpress.org/support/profile/lucymtc
8
  License: GPLv2
70
  */
71
 
72
  private function __construct () {
73
+
74
+ register_activation_hook( __FILE__, array($this, 'activation') );
75
 
76
  $this->default_options = array();
77
 
80
  if( is_admin() ) {
81
 
82
  add_action( 'admin_enqueue_scripts', array('Sfmsb_Widget', 'add_admin_scripts') );
83
+
 
 
84
  } else{
85
 
86
  add_action( 'wp_enqueue_scripts', array('Sfmsb_Widget', 'add_scripts') );
87
  }
88
 
 
 
 
89
  }
90
 
91
 
98
  private function includes () {
99
 
100
  require_once( SFMSB_PLUGIN_DIR . '/includes/widget.php');
101
+
102
+ }
103
+
104
+ /**
105
+ * activation
106
+ *
107
+ * @since 3.3.2
108
+ */
109
+
110
+ public function activation() {
111
+
112
+ $installed_version = get_option( 'sfmsb_version' );
113
+
114
+
115
+ if( $installed_version == false || $installed_version < '3.3.2' ) {
116
+ delete_option('sfmsb_specificfeeds_viewed_notice');
117
+ }
118
+
119
+ if( $installed_version != SFMSB_PLUGIN_VERSION ) {
120
+ update_option( 'sfmsb_version', SFMSB_PLUGIN_VERSION );
121
+ }
122
+
123
  }
124
 
125
 
133
  if( !defined('SFMSB_PLUGIN_DIR') ) { define('SFMSB_PLUGIN_DIR', plugin_dir_path( __FILE__ )); }
134
  if( !defined('SFMSB_PLUGIN_URL') ) { define('SFMSB_PLUGIN_URL', plugin_dir_url( __FILE__ )); }
135
  if( !defined('SFMSB_PLUGIN_FILE') ) { define('SFMSB_PLUGIN_FILE', __FILE__ ); }
136
+ if( !defined('SFMSB_PLUGIN_VERSION') ) { define('SFMSB_PLUGIN_VERSION', '3.3.2'); }
137
 
138
  }
139
 
146
 
147
 
148
  $this->available_buttons = array(
149
+ 'twitter' => array( 'name' => 'Twitter', 'color' => '55acee' ),
150
+ 'facebook' => array( 'name' => 'Facebook', 'color' => '3a5795' ),
151
+ 'googleplus' => array( 'name' => 'Google+', 'color' => 'd73d32' ),
152
+ 'feed' => array( 'name' => 'Rss Feed', 'color' => 'ffa500' ),
153
+ 'specificfeeds' => array( 'name' => 'SpecificFeeds','color' => 'e52e13' ),
154
+ 'linkedin' => array( 'name' => 'Linkedin', 'color' => '0077b5' ),
155
+ 'pinterest' => array( 'name' => 'Pinterest', 'color' => 'cb2027' ),
156
+ 'wordpress' => array( 'name' => 'WordPress', 'color' => '3274ae' ),
157
+ 'github' => array( 'name' => 'Github', 'color' => '101010' ),
158
+ 'instagram' => array( 'name' => 'Instagram', 'color' => 'b09375' ),
159
+ 'youtube' => array( 'name' => 'Youtube', 'color' => 'e12b28' ),
160
+ 'vimeo' => array( 'name' => 'Vimeo', 'color' => '1ab7ea' ),
161
+ 'email' => array( 'name' => 'Email', 'color' => '2758a6' ),
162
  'soundcloud' => array( 'name' => 'SoundCloud', 'color' => 'f6a46a' ),
163
+ 'itunes' => array( 'name' => 'iTunes', 'color' => 'd545e3' ),
164
+ 'bloglovin' => array( 'name' => 'Bloglovin', 'color' => '4bd1fa' ),
165
+ 'flickr' => array( 'name' => 'Flickr', 'color' => 'ff0084' ),
166
+ 'tumblr' => array( 'name' => 'Tumblr', 'color' => '36465d' ),
167
+ 'hubpages' => array( 'name' => 'HubPages', 'color' => '222222' ),
168
+ 'deviantart' => array( 'name' => 'Deviantart', 'color' => '4c5e51' ),
169
+ 'feedly' => array( 'name' => 'Feedly', 'color' => '87bf31' ),
170
+ 'slideshare' => array( 'name' => 'SlideShare', 'color' => 'f6931e' ),
171
+ 'vine' => array( 'name' => 'Vine', 'color' => '00bd8e' ),
172
+ 'goodreads' => array( 'name' => 'GoodReads', 'color' => '693d17' ),
173
+ 'vk' => array( 'name' => 'VK', 'color' => '4c75a3' ),
174
+ 'sanscritique' => array( 'name' => 'SensCritique', 'color' => '231f20' ),
175
+ 'yelp' => array( 'name' => 'Yelp', 'color' => 'd51600' ),
176
+ 'lastfm' => array( 'name' => 'Last.fm', 'color' => 'd51007' ),
177
+ 'trover' => array( 'name' => 'Trover', 'color' => 'f1b731' ),
178
+ 'xing' => array( 'name' => 'Xing.com', 'color' => '006567' ),
179
+ 'behance' => array( 'name' => 'Behance', 'color' => '333333' ),
180
+ 'stackoverflow' => array( 'name' => 'Stackoverflow','color' => 'f37a21' ),
181
+ 'blogger' => array( 'name' => 'Blogger', 'color' => 'ff6600' ),
182
+ 'reddit' => array( 'name' => 'Reddit', 'color' => 'cee3f8' ),
183
+ '500px' => array( 'name' => '500px.com', 'color' => '222222' ),
184
+ 'remind' => array( 'name' => 'Remind', 'color' => '36b2ff' ),
185
+ 'dribbble' => array( 'name' => 'Dribbble', 'color' => 'e14c86' ),
186
+ 'picasa' => array( 'name' => 'Picasa', 'color' => '9762ad' ),
187
+ 'rdio' => array( 'name' => 'Rdio', 'color' => '007dc3' ),
188
+ 'skype' => array( 'name' => 'Skype', 'color' => '00aff0' ),
189
+ 'stumbleupon' => array( 'name' => 'Stumbleupon', 'color' => 'eb4924' ),
190
+ 'foursquare' => array( 'name' => 'Foursquare', 'color' => 'f84676' ),
191
+ 'ello' => array( 'name' => 'Ello.co', 'color' => '000000' ),
192
+ 'openclipart' => array( 'name' => 'Openclipart', 'color' => '4e9a06' ),
193
+ 'stitcher' => array( 'name' => 'Stitcher', 'color' => '101010' ),
194
+ 'canalcocina' => array( 'name' => 'CanalCocina', 'color' => '101010' ),
195
+ 'kukers' => array( 'name' => 'Kukers', 'color' => '678817' ),
196
+ 'tastespotting' => array( 'name' => 'TasteSpotting','color' => '252525' ),
197
  'foodgawker' => array( 'name' => 'Foodgawker', 'color' => '808285' ),
198
+ 'tripadvisor' => array( 'name' => 'Tripadvisor', 'color' => '4c8a37' ),
199
+ 'scoopit' => array( 'name' => 'Scoop.it', 'color' => '6cab36' ),
200
+ 'twitch' => array( 'name' => 'Twitch', 'color' => '6441a5' ),
201
+ 'tunein' => array( 'name' => 'Tunein', 'color' => '2cb6a8' ),
202
+ 'steam' => array( 'name' => 'Steam', 'color' => '171a21' ),
203
+ 'scribd' => array( 'name' => 'Scribd', 'color' => '1a7bba' ),
204
+ 'ravelry' => array( 'name' => 'Ravelry', 'color' => 'c84a89' ),
205
+ 'issuu' => array( 'name' => 'ISSUU', 'color' => 'ef5227' ),
206
+ 'etsy' => array( 'name' => 'Etsy', 'color' => 'f37020' ),
207
+ 'anobii' => array( 'name' => 'ANOBII', 'color' => 'f15614' ),
208
+ 'myspace' => array( 'name' => 'Myspace', 'color' => '101010' ),
209
+ 'blogconnect' => array( 'name' => 'Blog-Connect', 'color' => '101010' ),
210
+ 'weibo' => array( 'name' => 'Weibo', 'color' => 'd72729' ),
211
+ 'fotocommunity' => array( 'name' => 'fotocommunity','color' => '101010' ),
212
+ 'dawanda' => array( 'name' => 'Dawanda', 'color' => 'c00e0e' ),
213
+ 'aboutme' => array( 'name' => 'about.me', 'color' => '044a75' ),
214
+ 'eyeem' => array( 'name' => 'EyeEm', 'color' => '101010' ),
215
+ 'notonthehighstreet'=> array( 'name' => 'notonthehighstreet.com','color' => '0180c4' ),
216
+ 'odnoklassniki' => array( 'name' => 'Odnoklassniki (ok.ru)', 'color' => 'e47d16' )
217
  );
218
 
219
  }
227
  load_plugin_textdomain('sfmsb_domain', false, dirname( plugin_basename( SFMSB_PLUGIN_FILE ) ) . '/languages/' );
228
  }
229
 
230
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
231
  }// class
232
 
233