WordPress Social Sharing Plugin – Social Warfare - Version 2.2.4

Version Description

(09 MAY 2017) =

  • Added a feature to set og:type values for all post types with individual post control via the swp_og_type custom field.
  • Added information links for all options sets on the admin options page.
  • Added a feature to add a Pinterest image that is picked up by the Pinterest browser extensions.
  • Added better support for buttons being displayed on very tiny screens.
  • Added system checks to ensure that the site is using a compatible version of PHP, WordPress, cURL, etc.
  • Updated Facebook share link from http to https.
  • Updated Italian and French translations to 100%.
  • Reorganized all file and folder organization structures.
  • Refactored and reorganized the code in all of the social network files.
  • Update lots of in-file code documentation.
  • Updated the functionality of the ?swp_cache=rebuild URL parameter.
  • Fixed the no_pin class. You can now add a class of no_pin to an image to opt it out from having a Pinterest hover share button.
  • Fixed a few random PHP warnings and errors.
  • Added a filter to remove script and style tags from meta descriptions. They will now only be text. No HTML allowed.
  • Added UTM parameters to the Pinterest share links.
Download this release

Release Info

Developer WarfarePlugins
Plugin Icon 128x128 WordPress Social Sharing Plugin – Social Warfare
Version 2.2.4
Comparing to
See all releases

Code changes from version 2.2.3 to 2.2.4

Files changed (54) hide show
  1. README.md +53 -0
  2. css/admin-options-page.css +29 -2
  3. css/admin-options-page.min.css +1 -1
  4. css/admin.css +16 -3
  5. css/admin.min.css +1 -1
  6. css/style.css +15 -3
  7. css/style.min.css +1 -1
  8. functions/{options-array.php → admin/options-array.php} +1 -1
  9. functions/admin/options-fetch.php +238 -0
  10. functions/admin/options-page.php +29 -6
  11. functions/{profile-fields.php → admin/profile-fields.php} +20 -5
  12. functions/admin/swp_system_checker.php +147 -0
  13. functions/curl_functions.php +0 -103
  14. functions/{buttons-floating.php → frontend-output/buttons-floating.php} +0 -0
  15. functions/{buttons-standard.php → frontend-output/buttons-standard.php} +0 -0
  16. functions/{display.php → frontend-output/display.php} +0 -0
  17. functions/{header-meta-tags.php → frontend-output/header-meta-tags.php} +0 -0
  18. functions/{scripts.php → frontend-output/scripts.php} +0 -0
  19. functions/{shortcodes.php → frontend-output/shortcodes.php} +0 -0
  20. functions/{sw-shortcode-generator.php → frontend-output/sw-shortcode-generator.php} +0 -0
  21. functions/options-fetch.php +0 -221
  22. functions/social-networks/facebook.php +58 -44
  23. functions/social-networks/googlePlus.php +57 -43
  24. functions/social-networks/linkedIn.php +57 -44
  25. functions/social-networks/pinterest.php +114 -101
  26. functions/social-networks/stumbleupon.php +90 -77
  27. functions/social-networks/twitter.php +76 -54
  28. functions/{compatibility.php → utilities/compatibility.php} +0 -0
  29. functions/utilities/curl_functions.php +105 -0
  30. functions/{deprecated.php → utilities/deprecated.php} +0 -0
  31. functions/{languages.php → utilities/languages.php} +0 -0
  32. functions/{permalinks.php → utilities/permalinks.php} +0 -0
  33. functions/{share-cache.php → utilities/share-cache.php} +56 -13
  34. functions/{share-count-function.php → utilities/share-count-function.php} +3 -2
  35. functions/{url_processing.php → utilities/url_processing.php} +10 -3
  36. functions/{utility.php → utilities/utility.php} +25 -1
  37. functions/{widgets.php → widgets/widgets.php} +0 -0
  38. js/script.js +5 -3
  39. js/script.min.js +1 -1
  40. languages/social-warfare-de_DE.mo +0 -0
  41. languages/social-warfare-en_US.mo +0 -0
  42. languages/social-warfare-es_ES.mo +0 -0
  43. languages/social-warfare-fr_FR.mo +0 -0
  44. languages/social-warfare-it_IT.mo +0 -0
  45. languages/social-warfare-nl_NL.mo +0 -0
  46. languages/social-warfare-pt_PT.mo +0 -0
  47. languages/social-warfare-ru_RU.mo +0 -0
  48. languages/social-warfare-uk.mo +0 -0
  49. languages/social-warfare.pot +39 -27
  50. languages/{social-warfare-el.mo → social_warfare-el_EL.mo} +0 -0
  51. languages/social_warfare-nl_NL.mo +0 -0
  52. package.json +27 -0
  53. readme.txt +18 -0
  54. social-warfare.php +27 -23
README.md CHANGED
@@ -1,2 +1,55 @@
1
  # Warfare Plugins / Social Warfare Repository and Issue Tracker
2
  This is a public repository for the Social Warfare WordPress plugin created primarily for the purpose of publishing and maintaining a public list of bugs, known issues, and feature requests with the community at large. Please use the "Issues" link above to track or add information to existing issues or to submit new issues altogether.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  # Warfare Plugins / Social Warfare Repository and Issue Tracker
2
  This is a public repository for the Social Warfare WordPress plugin created primarily for the purpose of publishing and maintaining a public list of bugs, known issues, and feature requests with the community at large. Please use the "Issues" link above to track or add information to existing issues or to submit new issues altogether.
3
+
4
+ ***
5
+
6
+ ## Guidelines & Standards for Creating & Updating Code on This Project
7
+
8
+ Coding Standards are an important factor for achieving a high code quality. A common visual style, naming conventions and other technical settings allow us to produce a homogenous code which is easy to read and maintain.
9
+
10
+ While this project has used various coding standards over time, this guide should provide the framework for all new code additions and to updates made to existing code.
11
+
12
+ **WordPress Coding Standards:** All WordPress coding standards should be followed. Anything not specifically defined here should defer to WordPress's recommended coding standards found here: [WordPress Coding Standards](https://codex.wordpress.org/WordPress_Coding_Standards).
13
+
14
+ **Variables and Class Names:** All PHP and Javascript variables, functions and classes, and CSS classes and ID's should follow the following naming standards. All names will use the Snake Case nomenclature and be preceded with the swp_ prefix (e.g. swp_my_variable_name).
15
+
16
+ **Docblocking:** Each file should begin with a docblock, as well as each function and class should be preceded with a docblock to explain it's purpose and functionality. There is no such thing as too much documentation on this project. The purpose is that any developer or non-developer should be able to easily browser each file and know exactly what is happening in that file.
17
+
18
+ ***
19
+
20
+ ## Guidelines for Submitting Issues to this GitHub Issue Tracker
21
+ Before submitting an issue to the issue tracker, please be sure of a few things. By following these guidelines, you maximize the possibility of our development team being able to find a solution to the issue in a quick and thorough manner.
22
+
23
+ ### Prerequisites: Do this BEFORE submitting an issue
24
+
25
+ #### 1. Check the Documentation
26
+ First check the [support documentation](https://warfareplugins.com/support/) on the Warfare Plugins website to ensure that a solution to your issue has not already been addressed. Once you've determined that there is no useful information for your particular issue, you may proceed to step 2.
27
+
28
+ #### 2. Submit a Support Ticket First
29
+ Once you have completed step 1, you need to submit a ticket using the [contact form on the Warfare Plugins website](https://warfareplugins.com/). Once submitted, most tickets are responded to on the same or next business day so please allow until the end of the next business day for a response.
30
+
31
+ Many tickets being posted here are issues that simply require adjusting a single setting to accomodate themes or plugins in certain ways. The support team is able to respond to these much, much more quickly than here in the developer's workspace. Since this is the case, any issues submitted without first going through the support team will be deleted. Otherwise it is a waste of both your time and ours.
32
+
33
+ #### 3. Create an Issue on GitHub
34
+ Only once you have completed the above steps should you submit an issue to GitHub. GitHub is the workspace of the development team. In the rare instances where the support team is unable to solve a particular issue, it will be brought here to be tracked and solved by the development team. GitHub is public so that not only the support team, but also all users can view and track the progress of issues as well as commenting and participating in the conversation regarding each issue.
35
+
36
+ ### Required Information: Provide this information WHILE submitting an issue
37
+ Once you've gone through support and you're ready to submit a GitHub issue, please **copy and paste the following information into your GitHub issue and fill out the blanks**:
38
+
39
+ #### Description of the Issue
40
+
41
+ A. Describe the nature of the issue:
42
+
43
+ B. How can this issue be replicated?:
44
+
45
+ C. Is this issue able to be viewed on your site right now? If so, where?
46
+
47
+ #### Additional Information
48
+
49
+ A. What version of the plugin are you using?
50
+
51
+ B. What version of WordPress are you using?
52
+
53
+ C. What caching plugin(s) are you using?
54
+
55
+ D. What version of PHP are you using?
css/admin-options-page.css CHANGED
@@ -115,7 +115,34 @@ img {
115
  .sw-hidden {
116
  display: none!important;
117
  }
118
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
119
 
120
  /*********************************************************
121
 
@@ -768,6 +795,6 @@ p.sw-subtitle.sw-registration-text {
768
  float: right;
769
  }
770
 
771
- .toplevel_page_social-warfare .notice-error, .toplevel_page_social-warfare .notice-warning, .toplevel_page_social-warfare .notice-success, .toplevel_page_social-warfare .notice-info, .toplevel_page_social-warfare .is-dismissible, .toplevel_page_social-warfare .update-nag {
772
  display: none;
773
  }
115
  .sw-hidden {
116
  display: none!important;
117
  }
118
+ .swp_support_link {
119
+ border: 1px solid #ccc;
120
+ font-size: 18px;
121
+ line-height: 20px;
122
+ text-decoration: none;
123
+ -webkit-border-radius: 50%;
124
+ border-radius: 50%;
125
+ width: 20px;
126
+ display: block;
127
+ float: right;
128
+ text-align: center;
129
+ color: #ccc;
130
+ margin-right: 20px;
131
+ margin-top: 4px;
132
+ padding: 2px;
133
+ font-weight: bold;
134
+ }
135
+ .swp_support_link:hover {
136
+ color:#6BCCE9;
137
+ border-color:#6BCCE9;
138
+ }
139
+ .swp_support_link.swp_four_fourths {
140
+ margin-left: 20px;
141
+ margin-top: 13px;
142
+ }
143
+ #screen-meta-links .screen-meta-toggle {
144
+ display:none!important;
145
+ }
146
 
147
  /*********************************************************
148
 
795
  float: right;
796
  }
797
 
798
+ .toplevel_page_social-warfare .notice-error, .toplevel_page_social-warfare .notice-warning, .toplevel_page_social-warfare .notice-success, .toplevel_page_social-warfare .notice-info, .toplevel_page_social-warfare .is-dismissible, .toplevel_page_social-warfare .update-nag, .toplevel_page_social-warfare #notice-error, .toplevel_page_social-warfare #notice-warning, .toplevel_page_social-warfare #notice-success, .toplevel_page_social-warfare #notice-info, .toplevel_page_social-warfare #is-dismissible, .toplevel_page_social-warfare #update-nag, div.error {
799
  display: none;
800
  }
css/admin-options-page.min.css CHANGED
@@ -1 +1 @@
1
- .sw-grid,.sw-grid-right{margin-bottom:2.127659574468%;padding-top:0}.sw-grid{float:left}.sw-grid-right{float:right}.sw-col-140,.sw-col-220,.sw-col-300,.sw-col-380,.sw-col-460,.sw-col-540,.sw-col-60,.sw-col-620,.sw-col-700,.sw-col-780,.sw-col-860{margin-right:2.127659574468%}.sw-col-60{width:6.382978723404%}.sw-col-140{width:14.893617021277%}.sw-col-220{width:23.404255319149%}.sw-col-300{width:31.914893617021%}.sw-col-380{width:40.425531914894%}.sw-col-460{width:48.936170212766%}.sw-col-540{width:57.446808510638%}.sw-col-620{width:65.957446808511%}.sw-col-700{width:74.468085106383%}.sw-col-780{width:82.978723404255%}.sw-col-860{width:91.489361702128%}.sw-col-940{width:100%}.sw-fit{margin-left:0!important;margin-right:0!important}.sw-clearfix:after,.sw-clearfix:before{content:' ';display:table}.sw-clearfix:after{clear:both}.sw-clearfix{clear:both;width:100%}img{-ms-interpolation-mode:bicubic;border:0;height:auto;max-width:100%;vertical-align:middle}.sw-admin-divider,.sw-top-menu{border-bottom:1px solid #CED3DC}.sw-admin-divider{width:100%;height:1px;margin:20px 0 40px}.sw-header-logo,.sw-header-menu li{height:75px;float:left}.sw-hidden{display:none!important}#wpcontent,#wpwrap{background:#fff;padding-left:0}.sw-top-menu{float:none;background:#fff;z-index:5;margin:0}.sw-header-menu{height:75px;margin:0}.sw-header-menu li{margin:0 15px;font-size:16px;display:table}.sw-header-menu li a:focus,.sw-header-menu li:focus{outline:0;-webkit-box-shadow:none;box-shadow:none}.sw-header-menu li span{padding:0 5px 5px}.sw-header-menu li.sw-active-tab span,.sw-header-menu li:hover span{border-bottom:4px solid #30394f}.sw-header-menu li a{color:#30394f;text-decoration:none;display:table-cell;vertical-align:middle}.sw-top-menu .sw-grid{margin-bottom:0}.sw-admin-wrapper,.sw-header-wrapper{clear:both;margin:20px auto;padding:0 40px 20px;position:relative}.sw-header-wrapper{margin:0}.sw-tabs-container .sw-admin-tab{display:none}.sw-tabs-container .sw-admin-tab:nth-child(1){display:block}.sw-admin-wrapper[sw-registered="0"] .sw-option-container[premium="1"] .sw-checkbox-toggle[status=on] .sw-checkbox-on,.sw-checkbox-toggle[status=on] .sw-checkbox-off,.sw-checkbox-toggle[status=off] .sw-checkbox-on,.system-status-wrapper{display:none}.sw-admin-tab h2{font-size:26px;line-height:1.2;margin:0}.sw-admin-tab h2.sw-h-label{line-height:56px}p.sw-subtitle{font-size:16px;line-height:1.2;margin:10px 0 30px}p.sw-authenticate-label,p.sw-checkbox-label,p.sw-input-label,p.sw-select-label{font-size:16px;font-weight:700;padding-left:10%}.sw-select-label.sw-no-padding{padding-left:0}p.sw-short{margin:1em 0 0}p.sw-subtext-label{margin-top:-10px}.sw-admin-sidebar img{margin:5px 0 10px}.system-status-container{width:90%;height:250px;overflow:hidden;border:1px solid #CED3DC;padding:5%}h3.sw-buttons-toggle{width:100px;float:left;clear:left;margin:15px 0 30px;padding-left:10%}.sw-checkbox-toggle{width:150px;height:46px;background-color:#30394f;float:right;margin:5px 0;cursor:pointer;-webkit-border-radius:4px;border-radius:4px;overflow:hidden;position:relative}.sw-checkbox-off,.sw-checkbox-on{color:#fff;font-size:15px;text-align:center;line-height:46px;position:absolute;top:0;width:50%;height:100%}.sw-checkbox-toggle[status=on] .sw-checkbox-on{left:0;background-color:#71C069}.sw-admin-wrapper[sw-registered="0"] .sw-option-container[premium="1"] .sw-checkbox-toggle[status=on] .sw-checkbox-off{right:0;background-color:#ee464f;display:block}.sw-checkbox-toggle[status=off] .sw-checkbox-off{right:0;background-color:#ee464f}input.sw-admin-input{padding:15px;border:1px solid #ced3cd;-webkit-border-radius:4px;border-radius:4px;float:right;-webkit-box-shadow:none;box-shadow:none;margin:2px 0 1px;width:100%}.sw-grid select{width:100%;-webkit-box-shadow:none;box-shadow:none;border:1px solid #ced3cd;height:51px;padding:15px;margin:2px 1px 3px 0;-webkit-border-radius:4px;border-radius:4px}a.button.sw-blue-button,a.button.sw-green-button,a.button.sw-navy-button,a.button.sw-red-button{padding:15px 30px;height:auto;line-height:1;-webkit-border-radius:4px;border-radius:4px;float:right;margin:15px 0}a.button.sw-navy-button,a.button.sw-navy-button:focus{background:#30394f;color:#fff;border-color:#2a2d34;-webkit-box-shadow:none;box-shadow:none}a.button.sw-blue-button:hover,a.button.sw-navy-button:hover{background:#2a2d34;border-color:#2a2d34;color:#fff;-webkit-box-shadow:none;box-shadow:none}a.button.sw-blue-button,a.button.sw-blue-button:focus{background:#6bcce9;border-color:#6bcce9;color:#fff;-webkit-box-shadow:none;box-shadow:none}a.button.sw-green-button,a.button.sw-green-button:focus{background:#71C069;color:#fff;border-color:#71C069;-webkit-box-shadow:none;box-shadow:none}a.button.sw-red-button,a.button.sw-red-button:focus,a.button.sw-red-button:hover{background:#ee464f;color:#fff;border-color:#ee464f;-webkit-box-shadow:none;box-shadow:none}.sw-admin-tab a.button{margin:5px 0 15px}.sw-save-settings{width:100%;text-align:center}.sw-green-notice,.sw-red-notice{color:#fff;padding:15px;-webkit-border-radius:2px;border-radius:2px;margin:15px 0}.sw-loading-message,.sw-red-notice{background:#ee464f}.sw-green-notice,.sw-loading-complete{background:#71C069}.sw-loading-bg{width:100%;position:fixed;top:0;left:0;height:100%;background:rgba(0,0,0,.8);z-index:999999999999}.sw-green-notice:before,.sw-loading-complete:before,.sw-loading-message:before{font-family:Dashicons;font-size:26px;margin:0 15px 0 0;vertical-align:middle}.sw-red-notice:before{font-family:sw-icon-font;font-size:26px;margin:0 15px 0 0;vertical-align:middle;content:'E'}.sw-red-notice a{color:#fff;font-weight:700;text-decoration:none;border-bottom:2px solid #fff}.sw-red-notice a:hover{color:#30394f;border-bottom:2px solid #30394f}.sw-loading-message:before{content:"\f158"}.sw-green-notice:before,.sw-loading-complete:before{content:"\f147"}.sw-admin-tab .two-thirds-advanced h2.sw-h-label{line-height:1.2;margin-bottom:15px}.sw-italic{font-style:italic}.sw-admin-hover-notice i:before,.sw-s{font-family:sw-icon-font;font-style:normal}p.sw-subtitle.sw-registration-text{padding:20px 0 0;font-size:120%;line-height:175%}.registration-wrapper[registration="0"] .swp_is_registered,.registration-wrapper[registration="1"] .swp_is_not_registered,.tweet-count-wrapper[registration=true] .swp_tweets_not_activated{display:none}.sw-tweet-count-demo{margin:20px 0}.sw-loading-complete,.sw-loading-message{position:fixed;top:50%;left:50%;-webkit-border-radius:3px;border-radius:3px;padding:25px;text-align:center;font-size:20px;color:#fff;width:240px;margin-top:-46px;margin-left:-120px}.sw-active,.sw-inactive{margin:0 0 5px;min-width:50px;min-height:40px;border:1px dashed #ced3dc;padding:0;-webkit-border-radius:4px;border-radius:4px;width:auto;height:auto;display:inline-block}.sw-s{color:#fff;padding:5px 30px 4px;margin:7px 5px;-webkit-border-radius:2px;border-radius:2px;display:inline-block;font-size:15px;line-height:15px;cursor:pointer}.sw-twitter-icon:before{content:'s'}.sw-s.sw-twitter-icon{background-color:#429cd6;border-color:#3c87b2}.sw-googlePlus-icon:before{content:'h'}.sw-s.sw-googlePlus-icon{background-color:#df4b37;border-color:#c44133}.sw-facebook-icon:before{content:'j'}.sw-s.sw-facebook-icon{background-color:#3a589e;border-color:#2e4675}.sw-pinterest-icon:before{content:'b'}.sw-s.sw-pinterest-icon{background-color:#cd2029;border-color:#aa1b29}.sw-linkedIn-icon:before{content:'f'}.sw-s.sw-linkedIn-icon{background-color:#0d77b7;border-color:#0c6591}.sw-tumblr-icon:before{content:'r'}.sw-s.sw-tumblr-icon{background-color:#39475d;border-color:#27313f}.sw-stumbleupon-icon:before{content:'q'}.sw-s.sw-stumbleupon-icon{background-color:#ef5025;border-color:#d34427}.sw-reddit-icon:before{content:'a'}.sw-s.sw-reddit-icon{background-color:#f04b23;border-color:#d33f27}.sw-yummly-icon:before{content:'x'}.sw-s.sw-yummly-icon{background-color:#e26426;border-color:#b65027}.sw-whatsapp-icon:before{content:'y'}.sw-s.sw-whatsapp-icon{background-color:#71c169;border-color:#28b04b}.sw-pocket-icon:before{content:'B'}.sw-s.sw-pocket-icon{background-color:#ef4056;border-color:#ce3d55}.sw-buffer-icon:before{content:'z'}.sw-s.sw-buffer-icon{background-color:#323b43;border-color:#59626a}.sw-email-icon:before{content:'k'}.sw-s.sw-email-icon{background-color:#6bcce9;border-color:#6bcce9}.sw-hacker_news-icon:before{content:'D'}.sw-s.sw-hacker_news-icon{background-color:#f16522;border-color:#d85623}.sw-flipboard-icon:before{content:'C'}.sw-s.sw-flipboard-icon{background-color:#e02828;border-color:#bf2626}@media screen and (max-width:1350px){.sw-header-menu li{font-size:12px;margin:0 10px}}@media screen and (max-width:1080px){.sw-header-logo{display:none}}.sw-admin-wrapper[sw-registered="0"] div[premium="1"]{display:none!important}.sw-admin-wrapper[sw-registered="0"] div[premium="1"] .sw-premium-blocker,.sw-admin-wrapper[sw-registered="0"] i[premium-button="1"],.sw-admin-wrapper[sw-registered="1"] .sw-premium-blocker,.sw-admin-wrapper[sw-registered="1"] .sw-premium-buttons,.swp_upload_image_field,.toplevel_page_social-warfare .is-dismissible,.toplevel_page_social-warfare .notice-error,.toplevel_page_social-warfare .notice-info,.toplevel_page_social-warfare .notice-success,.toplevel_page_social-warfare .notice-warning,.toplevel_page_social-warfare .update-nag{display:none}.sw-admin-wrapper[sw-registered="0"] .sw-option-container{position:relative}.sw-admin-wrapper[sw-registered="0"] div[premium="1"] .sw-premium-blocker:not(.no-icon):before{font-family:sw-icon-font;content:'E';font-size:24px;float:right;margin:20px 20px 0 0}.ui-tooltip.sw-admin-hover-notice{background:#ee464f;color:#fff;-webkit-border-radius:2px;border-radius:2px;margin:15px 0;border:0;-webkit-box-shadow:none;box-shadow:none;max-width:none;padding:20px}.sw-admin-hover-notice i:before{font-size:26px;margin:0 15px 0 0;vertical-align:middle;content:'E';float:left}.sw-admin-image-preview{max-height:50px;float:right}
1
+ .sw-grid,.sw-grid-right{margin-bottom:2.127659574468%;padding-top:0}.sw-red-notice a,.swp_support_link{font-weight:700;text-decoration:none}.sw-grid{float:left}.sw-grid-right{float:right}.sw-col-140,.sw-col-220,.sw-col-300,.sw-col-380,.sw-col-460,.sw-col-540,.sw-col-60,.sw-col-620,.sw-col-700,.sw-col-780,.sw-col-860{margin-right:2.127659574468%}.sw-col-60{width:6.382978723404%}.sw-col-140{width:14.893617021277%}.sw-col-220{width:23.404255319149%}.sw-col-300{width:31.914893617021%}.sw-col-380{width:40.425531914894%}.sw-col-460{width:48.936170212766%}.sw-col-540{width:57.446808510638%}.sw-col-620{width:65.957446808511%}.sw-col-700{width:74.468085106383%}.sw-col-780{width:82.978723404255%}.sw-col-860{width:91.489361702128%}.sw-col-940{width:100%}.sw-fit{margin-left:0!important;margin-right:0!important}.sw-clearfix:after,.sw-clearfix:before{content:' ';display:table}.sw-clearfix:after{clear:both}.sw-clearfix{clear:both;width:100%}img{-ms-interpolation-mode:bicubic;border:0;height:auto;max-width:100%;vertical-align:middle}.sw-admin-divider{width:100%;height:1px;border-bottom:1px solid #CED3DC;margin:20px 0 40px}.sw-header-logo,.sw-header-menu li{height:75px;float:left}.sw-hidden{display:none!important}.swp_support_link{border:1px solid #ccc;font-size:18px;line-height:20px;-webkit-border-radius:50%;border-radius:50%;width:20px;display:block;float:right;text-align:center;color:#ccc;margin-right:20px;margin-top:4px;padding:2px}.swp_support_link:hover{color:#6BCCE9;border-color:#6BCCE9}.swp_support_link.swp_four_fourths{margin-left:20px;margin-top:13px}#screen-meta-links .screen-meta-toggle{display:none!important}#wpcontent,#wpwrap{background:#fff;padding-left:0}.sw-top-menu{border-bottom:1px solid #CED3DC;float:none;background:#fff;z-index:5;margin:0}.sw-header-menu{height:75px;margin:0}.sw-header-menu li{margin:0 15px;font-size:16px;display:table}.sw-header-menu li a:focus,.sw-header-menu li:focus{outline:0;-webkit-box-shadow:none;box-shadow:none}.sw-header-menu li span{padding:0 5px 5px}.sw-header-menu li.sw-active-tab span,.sw-header-menu li:hover span{border-bottom:4px solid #30394f}.sw-header-menu li a{color:#30394f;text-decoration:none;display:table-cell;vertical-align:middle}.sw-top-menu .sw-grid{margin-bottom:0}.sw-admin-wrapper,.sw-header-wrapper{clear:both;margin:20px auto;padding:0 40px 20px;position:relative}.sw-header-wrapper{margin:0}.sw-tabs-container .sw-admin-tab{display:none}.sw-tabs-container .sw-admin-tab:nth-child(1){display:block}.sw-admin-wrapper[sw-registered="0"] .sw-option-container[premium="1"] .sw-checkbox-toggle[status=on] .sw-checkbox-on,.sw-checkbox-toggle[status=on] .sw-checkbox-off,.sw-checkbox-toggle[status=off] .sw-checkbox-on,.system-status-wrapper{display:none}.sw-admin-tab h2{font-size:26px;line-height:1.2;margin:0}.sw-admin-tab h2.sw-h-label{line-height:56px}p.sw-subtitle{font-size:16px;line-height:1.2;margin:10px 0 30px}p.sw-authenticate-label,p.sw-checkbox-label,p.sw-input-label,p.sw-select-label{font-size:16px;font-weight:700;padding-left:10%}.sw-select-label.sw-no-padding{padding-left:0}p.sw-short{margin:1em 0 0}p.sw-subtext-label{margin-top:-10px}.sw-admin-sidebar img{margin:5px 0 10px}.system-status-container{width:90%;height:250px;overflow:hidden;border:1px solid #CED3DC;padding:5%}h3.sw-buttons-toggle{width:100px;float:left;clear:left;margin:15px 0 30px;padding-left:10%}.sw-checkbox-toggle{width:150px;height:46px;background-color:#30394f;float:right;margin:5px 0;cursor:pointer;-webkit-border-radius:4px;border-radius:4px;overflow:hidden;position:relative}.sw-checkbox-off,.sw-checkbox-on{color:#fff;font-size:15px;text-align:center;line-height:46px;position:absolute;top:0;width:50%;height:100%}.sw-checkbox-toggle[status=on] .sw-checkbox-on{left:0;background-color:#71C069}.sw-admin-wrapper[sw-registered="0"] .sw-option-container[premium="1"] .sw-checkbox-toggle[status=on] .sw-checkbox-off{right:0;background-color:#ee464f;display:block}.sw-checkbox-toggle[status=off] .sw-checkbox-off{right:0;background-color:#ee464f}input.sw-admin-input{padding:15px;border:1px solid #ced3cd;-webkit-border-radius:4px;border-radius:4px;float:right;-webkit-box-shadow:none;box-shadow:none;margin:2px 0 1px;width:100%}.sw-grid select{width:100%;-webkit-box-shadow:none;box-shadow:none;border:1px solid #ced3cd;height:51px;padding:15px;margin:2px 1px 3px 0;-webkit-border-radius:4px;border-radius:4px}a.button.sw-blue-button,a.button.sw-green-button,a.button.sw-navy-button,a.button.sw-red-button{padding:15px 30px;height:auto;line-height:1;-webkit-border-radius:4px;border-radius:4px;float:right;margin:15px 0}a.button.sw-navy-button,a.button.sw-navy-button:focus{background:#30394f;color:#fff;border-color:#2a2d34;-webkit-box-shadow:none;box-shadow:none}a.button.sw-blue-button:hover,a.button.sw-navy-button:hover{background:#2a2d34;border-color:#2a2d34;color:#fff;-webkit-box-shadow:none;box-shadow:none}a.button.sw-blue-button,a.button.sw-blue-button:focus{background:#6bcce9;border-color:#6bcce9;color:#fff;-webkit-box-shadow:none;box-shadow:none}a.button.sw-green-button,a.button.sw-green-button:focus{background:#71C069;color:#fff;border-color:#71C069;-webkit-box-shadow:none;box-shadow:none}a.button.sw-red-button,a.button.sw-red-button:focus,a.button.sw-red-button:hover{background:#ee464f;color:#fff;border-color:#ee464f;-webkit-box-shadow:none;box-shadow:none}.sw-admin-tab a.button{margin:5px 0 15px}.sw-save-settings{width:100%;text-align:center}.sw-green-notice,.sw-red-notice{color:#fff;padding:15px;-webkit-border-radius:2px;border-radius:2px;margin:15px 0}.sw-loading-message,.sw-red-notice{background:#ee464f}.sw-green-notice,.sw-loading-complete{background:#71C069}.sw-loading-bg{width:100%;position:fixed;top:0;left:0;height:100%;background:rgba(0,0,0,.8);z-index:999999999999}.sw-green-notice:before,.sw-loading-complete:before,.sw-loading-message:before{font-family:Dashicons;font-size:26px;margin:0 15px 0 0;vertical-align:middle}.sw-red-notice:before{font-family:sw-icon-font;font-size:26px;margin:0 15px 0 0;vertical-align:middle;content:'E'}.sw-red-notice a{color:#fff;border-bottom:2px solid #fff}.sw-red-notice a:hover{color:#30394f;border-bottom:2px solid #30394f}.sw-loading-message:before{content:"\f158"}.sw-green-notice:before,.sw-loading-complete:before{content:"\f147"}.sw-admin-tab .two-thirds-advanced h2.sw-h-label{line-height:1.2;margin-bottom:15px}.sw-italic{font-style:italic}.sw-admin-hover-notice i:before,.sw-s{font-family:sw-icon-font;font-style:normal}p.sw-subtitle.sw-registration-text{padding:20px 0 0;font-size:120%;line-height:175%}.registration-wrapper[registration="0"] .swp_is_registered,.registration-wrapper[registration="1"] .swp_is_not_registered,.tweet-count-wrapper[registration=true] .swp_tweets_not_activated{display:none}.sw-tweet-count-demo{margin:20px 0}.sw-loading-complete,.sw-loading-message{position:fixed;top:50%;left:50%;-webkit-border-radius:3px;border-radius:3px;padding:25px;text-align:center;font-size:20px;color:#fff;width:240px;margin-top:-46px;margin-left:-120px}.sw-active,.sw-inactive{margin:0 0 5px;min-width:50px;min-height:40px;border:1px dashed #ced3dc;padding:0;-webkit-border-radius:4px;border-radius:4px;width:auto;height:auto;display:inline-block}.sw-s{color:#fff;padding:5px 30px 4px;margin:7px 5px;-webkit-border-radius:2px;border-radius:2px;display:inline-block;font-size:15px;line-height:15px;cursor:pointer}.sw-twitter-icon:before{content:'s'}.sw-s.sw-twitter-icon{background-color:#429cd6;border-color:#3c87b2}.sw-googlePlus-icon:before{content:'h'}.sw-s.sw-googlePlus-icon{background-color:#df4b37;border-color:#c44133}.sw-facebook-icon:before{content:'j'}.sw-s.sw-facebook-icon{background-color:#3a589e;border-color:#2e4675}.sw-pinterest-icon:before{content:'b'}.sw-s.sw-pinterest-icon{background-color:#cd2029;border-color:#aa1b29}.sw-linkedIn-icon:before{content:'f'}.sw-s.sw-linkedIn-icon{background-color:#0d77b7;border-color:#0c6591}.sw-tumblr-icon:before{content:'r'}.sw-s.sw-tumblr-icon{background-color:#39475d;border-color:#27313f}.sw-stumbleupon-icon:before{content:'q'}.sw-s.sw-stumbleupon-icon{background-color:#ef5025;border-color:#d34427}.sw-reddit-icon:before{content:'a'}.sw-s.sw-reddit-icon{background-color:#f04b23;border-color:#d33f27}.sw-yummly-icon:before{content:'x'}.sw-s.sw-yummly-icon{background-color:#e26426;border-color:#b65027}.sw-whatsapp-icon:before{content:'y'}.sw-s.sw-whatsapp-icon{background-color:#71c169;border-color:#28b04b}.sw-pocket-icon:before{content:'B'}.sw-s.sw-pocket-icon{background-color:#ef4056;border-color:#ce3d55}.sw-buffer-icon:before{content:'z'}.sw-s.sw-buffer-icon{background-color:#323b43;border-color:#59626a}.sw-email-icon:before{content:'k'}.sw-s.sw-email-icon{background-color:#6bcce9;border-color:#6bcce9}.sw-hacker_news-icon:before{content:'D'}.sw-s.sw-hacker_news-icon{background-color:#f16522;border-color:#d85623}.sw-flipboard-icon:before{content:'C'}.sw-s.sw-flipboard-icon{background-color:#e02828;border-color:#bf2626}@media screen and (max-width:1350px){.sw-header-menu li{font-size:12px;margin:0 10px}}@media screen and (max-width:1080px){.sw-header-logo{display:none}}.sw-admin-wrapper[sw-registered="0"] div[premium="1"]{display:none!important}.sw-admin-wrapper[sw-registered="0"] div[premium="1"] .sw-premium-blocker,.sw-admin-wrapper[sw-registered="0"] i[premium-button="1"],.sw-admin-wrapper[sw-registered="1"] .sw-premium-blocker,.sw-admin-wrapper[sw-registered="1"] .sw-premium-buttons,.swp_upload_image_field,.toplevel_page_social-warfare #is-dismissible,.toplevel_page_social-warfare #notice-error,.toplevel_page_social-warfare #notice-info,.toplevel_page_social-warfare #notice-success,.toplevel_page_social-warfare #notice-warning,.toplevel_page_social-warfare #update-nag,.toplevel_page_social-warfare .is-dismissible,.toplevel_page_social-warfare .notice-error,.toplevel_page_social-warfare .notice-info,.toplevel_page_social-warfare .notice-success,.toplevel_page_social-warfare .notice-warning,.toplevel_page_social-warfare .update-nag,div.error{display:none}.sw-admin-wrapper[sw-registered="0"] .sw-option-container{position:relative}.sw-admin-wrapper[sw-registered="0"] div[premium="1"] .sw-premium-blocker:not(.no-icon):before{font-family:sw-icon-font;content:'E';font-size:24px;float:right;margin:20px 20px 0 0}.ui-tooltip.sw-admin-hover-notice{background:#ee464f;color:#fff;-webkit-border-radius:2px;border-radius:2px;margin:15px 0;border:0;-webkit-box-shadow:none;box-shadow:none;max-width:none;padding:20px}.sw-admin-hover-notice i:before{font-size:26px;margin:0 15px 0 0;vertical-align:middle;content:'E';float:left}.sw-admin-image-preview{max-height:50px;float:right}
css/admin.css CHANGED
@@ -111,13 +111,26 @@
111
  .swpmb-field.swpmb-textarea-wrapper.nc_ogTitleWrapper,
112
  .swpmb-field.swpmb-textarea-wrapper.nc_ogDescriptionWrapper,
113
  .swpmb-field.swpmb-textarea-wrapper.nc_pinterestDescriptionWrapper,
114
- .swpmb-field.swpmb-textarea-wrapper.nc_customTweetWrapper,
115
- .swpmb-field.swpmb-select-wrapper.nc_postLocationWrapper,
116
- .swpmb-field.swpmb-select-wrapper.nc_floatLocationWrapper {
117
  width: 63%;
118
  float: left;
119
  }
120
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
121
  .swpmb-field.swpmb-image_advanced-wrapper.nc_ogImageWrapper,
122
  .swpmb-field.swpmb-image_advanced-wrapper.nc_pinterestImageWrapper {
123
  width: 30%;
111
  .swpmb-field.swpmb-textarea-wrapper.nc_ogTitleWrapper,
112
  .swpmb-field.swpmb-textarea-wrapper.nc_ogDescriptionWrapper,
113
  .swpmb-field.swpmb-textarea-wrapper.nc_pinterestDescriptionWrapper,
114
+ .swpmb-field.swpmb-textarea-wrapper.nc_customTweetWrapper {
 
 
115
  width: 63%;
116
  float: left;
117
  }
118
 
119
+ .swpmb-field.swpmb-select-wrapper.swp_advanced_pinterest_imageWrapper,
120
+ .swpmb-field.swpmb-select-wrapper.swp_advanced_pinterest_image_locationWrapper,
121
+ .swpmb-field.swpmb-select-wrapper.nc_postLocationWrapper,
122
+ .swpmb-field.swpmb-select-wrapper.nc_floatLocationWrapper {
123
+ width:32%;
124
+ float:left;
125
+ min-width:320px;
126
+ }
127
+ .swpmb-field.swpmb-select-wrapper.swp_advanced_pinterest_imageWrapper select,
128
+ .swpmb-field.swpmb-select-wrapper.swp_advanced_pinterest_image_locationWrapper select,
129
+ .swpmb-field.swpmb-select-wrapper.nc_postLocationWrapper select,
130
+ .swpmb-field.swpmb-select-wrapper.nc_floatLocationWrapper select {
131
+ width:90%;
132
+ }
133
+
134
  .swpmb-field.swpmb-image_advanced-wrapper.nc_ogImageWrapper,
135
  .swpmb-field.swpmb-image_advanced-wrapper.nc_pinterestImageWrapper {
136
  width: 30%;
css/admin.min.css CHANGED
@@ -1 +1 @@
1
- .ui-tabs-nav{border-bottom:1px solid #ccc;height:27px;margin:20px 0;padding:0}.ui-tabs-nav li{display:block;float:left;margin:0}.ui-tabs-nav li a{font-weight:700;border-style:solid;border-color:#CCC #CCC #F9F9F9;border-width:1px 1px 0;color:#C1C1C1;text-shadow:rgba(255,255,255,1) 0 1px 0;display:inline-block;padding:4px 14px 6px;text-decoration:none;margin:0 6px -1px 0;-moz-border-radius:5px 5px 0 0;-webkit-border-top-left-radius:5px;-webkit-border-top-right-radius:5px;-khtml-border-top-left-radius:5px;-khtml-border-top-right-radius:5px;border-top-left-radius:5px;border-top-right-radius:5px}.ui-tabs-nav li.ui-state-active a,.ui-tabs-nav li.ui-tabs-selected a{border-width:1px;color:#464646}.ui-tabs-panel{clear:both}.ui-tabs-panel h3{font:italic normal normal 24px/29px Georgia,"Times New Roman","Bitstream Charter",Times,serif;margin:0;padding:0 0 5px;line-height:35px;text-shadow:0 1px 0 #fff}.ui-tabs-panel h4{font-size:15px;font-weight:700;margin:1em 0}.notAvailable{opacity:.3}.swp_CountDown{background-color:#CCC;display:inline-block;float:right;padding:5px 15px;-webkit-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0;color:#FFF;font-weight:700;margin-top:-27px}.swp_CountDown.swp_blue{background-color:#30394F}.swp_CountDown.swp_red{background-color:#EE464F}#socialWarfare textarea.large-text{width:100%}#socialWarfare ul.swpmb-media-list.ui-sortable{display:block;width:100%;-webkit-background-size:cover;background-size:cover;background-position-x:center;background-repeat:no-repeat;background-color:#ccc;-webkit-border-radius:4px;border-radius:4px;padding:0}#socialWarfare .nc_ogImageWrapper ul.swpmb-media-list{background-image:url(../images/img-placeholder-og.jpg)}#socialWarfare .nc_pinterestImageWrapper ul.swpmb-media-list{background-image:url(../images/img-placeholder-pin.jpg)}.swpmb-field.swpmb-select-wrapper.nc_floatLocationWrapper,.swpmb-field.swpmb-select-wrapper.nc_postLocationWrapper,.swpmb-field.swpmb-textarea-wrapper.nc_customTweetWrapper,.swpmb-field.swpmb-textarea-wrapper.nc_ogDescriptionWrapper,.swpmb-field.swpmb-textarea-wrapper.nc_ogTitleWrapper,.swpmb-field.swpmb-textarea-wrapper.nc_pinterestDescriptionWrapper{width:63%;float:left}.swpmb-field.swpmb-image_advanced-wrapper.nc_ogImageWrapper,.swpmb-field.swpmb-image_advanced-wrapper.nc_pinterestImageWrapper{width:30%;float:left;margin-right:3%}#socialWarfare .swpmb-input,#socialWarfare .swpmb-label{width:100%}#socialWarfare .swpmb-field{margin-top:10px}#socialWarfare .swpmb-image-item,#socialWarfare .swpmb-media-content .centered,#socialWarfare .swpmb-media-content img,#socialWarfare .swpmb-media-preview{width:100%;height:auto;max-height:none;-webkit-transform:none;-ms-transform:none;transform:none}.wp-core-ui #socialWarfare a.swpmb-add-media.button{display:block;background:#30394f;color:#fff;font-size:12px;line-height:1;text-align:center;vertical-align:middle;padding:15px 25px;margin:0;-webkit-box-shadow:none;box-shadow:none;border:none;height:auto}.wp-core-ui #socialWarfare a.swpmb-add-media.button:hover{background:#EE464F}#socialWarfare .swpmb-media-content img{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0)}#socialWarfare .swpmb-media-content{overflow:visible;position:inherit}#socialWarfare .swpmb-media-preview:before{padding-top:0}#socialWarfare .swpmb-divider-wrapper hr{border:none!important}#socialWarfare .swpmb-label label{font-weight:700;color:#30394f;font-size:18px}#socialWarfare .swpmb-divider-wrapper{max-height:1px;clear:both}#socialWarfare .swpmb-label{margin-bottom:10px}#socialWarfare h2.hndle span:before{content:'p';margin-right:10px;font-family:sw-icon-font;vertical-align:middle}#socialWarfare .dashicons,#socialWarfare .sw{vertical-align:middle;margin-right:10px;font-size:18px}#socialWarfare .sw-premium-blocker{position:absolute;width:100%;height:100%;top:0;left:0}#socialWarfare .sw-premium-blocker:not(.no-icon):before{font-family:sw-icon-font;content:'E';font-size:24px;float:right;margin:10px 40px 0 0}.ui-tooltip.sw-admin-hover-notice{background:#ee464f;color:#fff;-webkit-border-radius:2px;border-radius:2px;margin:15px 0;border:0;-webkit-box-shadow:none;box-shadow:none;max-width:none;padding:20px}.sw-admin-hover-notice i:before{font-family:sw-icon-font;font-size:26px;margin:0 15px 0 0;vertical-align:middle;content:'E';float:left;font-style:normal}
1
+ .ui-tabs-nav{border-bottom:1px solid #ccc;height:27px;margin:20px 0;padding:0}.ui-tabs-nav li{display:block;float:left;margin:0}.ui-tabs-nav li a{font-weight:700;border-style:solid;border-color:#CCC #CCC #F9F9F9;border-width:1px 1px 0;color:#C1C1C1;text-shadow:rgba(255,255,255,1) 0 1px 0;display:inline-block;padding:4px 14px 6px;text-decoration:none;margin:0 6px -1px 0;-moz-border-radius:5px 5px 0 0;-webkit-border-top-left-radius:5px;-webkit-border-top-right-radius:5px;-khtml-border-top-left-radius:5px;-khtml-border-top-right-radius:5px;border-top-left-radius:5px;border-top-right-radius:5px}.ui-tabs-nav li.ui-state-active a,.ui-tabs-nav li.ui-tabs-selected a{border-width:1px;color:#464646}.ui-tabs-panel{clear:both}.ui-tabs-panel h3{font:italic normal normal 24px/29px Georgia,"Times New Roman","Bitstream Charter",Times,serif;margin:0;padding:0 0 5px;line-height:35px;text-shadow:0 1px 0 #fff}.ui-tabs-panel h4{font-size:15px;font-weight:700;margin:1em 0}.notAvailable{opacity:.3}.swp_CountDown{background-color:#CCC;display:inline-block;float:right;padding:5px 15px;-webkit-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0;color:#FFF;font-weight:700;margin-top:-27px}.swp_CountDown.swp_blue{background-color:#30394F}.swp_CountDown.swp_red{background-color:#EE464F}#socialWarfare textarea.large-text{width:100%}#socialWarfare ul.swpmb-media-list.ui-sortable{display:block;width:100%;-webkit-background-size:cover;background-size:cover;background-position-x:center;background-repeat:no-repeat;background-color:#ccc;-webkit-border-radius:4px;border-radius:4px;padding:0}#socialWarfare .nc_ogImageWrapper ul.swpmb-media-list{background-image:url(../images/img-placeholder-og.jpg)}#socialWarfare .nc_pinterestImageWrapper ul.swpmb-media-list{background-image:url(../images/img-placeholder-pin.jpg)}.swpmb-field.swpmb-textarea-wrapper.nc_customTweetWrapper,.swpmb-field.swpmb-textarea-wrapper.nc_ogDescriptionWrapper,.swpmb-field.swpmb-textarea-wrapper.nc_ogTitleWrapper,.swpmb-field.swpmb-textarea-wrapper.nc_pinterestDescriptionWrapper{width:63%;float:left}.swpmb-field.swpmb-select-wrapper.nc_floatLocationWrapper,.swpmb-field.swpmb-select-wrapper.nc_postLocationWrapper,.swpmb-field.swpmb-select-wrapper.swp_advanced_pinterest_imageWrapper,.swpmb-field.swpmb-select-wrapper.swp_advanced_pinterest_image_locationWrapper{width:32%;float:left;min-width:320px}.swpmb-field.swpmb-select-wrapper.nc_floatLocationWrapper select,.swpmb-field.swpmb-select-wrapper.nc_postLocationWrapper select,.swpmb-field.swpmb-select-wrapper.swp_advanced_pinterest_imageWrapper select,.swpmb-field.swpmb-select-wrapper.swp_advanced_pinterest_image_locationWrapper select{width:90%}.swpmb-field.swpmb-image_advanced-wrapper.nc_ogImageWrapper,.swpmb-field.swpmb-image_advanced-wrapper.nc_pinterestImageWrapper{width:30%;float:left;margin-right:3%}#socialWarfare .swpmb-input,#socialWarfare .swpmb-label{width:100%}#socialWarfare .swpmb-field{margin-top:10px}#socialWarfare .swpmb-image-item,#socialWarfare .swpmb-media-content .centered,#socialWarfare .swpmb-media-content img,#socialWarfare .swpmb-media-preview{width:100%;height:auto;max-height:none;-webkit-transform:none;-ms-transform:none;transform:none}.wp-core-ui #socialWarfare a.swpmb-add-media.button{display:block;background:#30394f;color:#fff;font-size:12px;line-height:1;text-align:center;vertical-align:middle;padding:15px 25px;margin:0;-webkit-box-shadow:none;box-shadow:none;border:none;height:auto}.wp-core-ui #socialWarfare a.swpmb-add-media.button:hover{background:#EE464F}#socialWarfare .swpmb-media-content img{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0)}#socialWarfare .swpmb-media-content{overflow:visible;position:inherit}#socialWarfare .swpmb-media-preview:before{padding-top:0}#socialWarfare .swpmb-divider-wrapper hr{border:none!important}#socialWarfare .swpmb-label label{font-weight:700;color:#30394f;font-size:18px}#socialWarfare .swpmb-divider-wrapper{max-height:1px;clear:both}#socialWarfare .swpmb-label{margin-bottom:10px}#socialWarfare h2.hndle span:before{content:'p';margin-right:10px;font-family:sw-icon-font;vertical-align:middle}#socialWarfare .dashicons,#socialWarfare .sw{vertical-align:middle;margin-right:10px;font-size:18px}#socialWarfare .sw-premium-blocker{position:absolute;width:100%;height:100%;top:0;left:0}#socialWarfare .sw-premium-blocker:not(.no-icon):before{font-family:sw-icon-font;content:'E';font-size:24px;float:right;margin:10px 40px 0 0}.ui-tooltip.sw-admin-hover-notice{background:#ee464f;color:#fff;-webkit-border-radius:2px;border-radius:2px;margin:15px 0;border:0;-webkit-box-shadow:none;box-shadow:none;max-width:none;padding:20px}.sw-admin-hover-notice i:before{font-family:sw-icon-font;font-size:26px;margin:0 15px 0 0;vertical-align:middle;content:'E';float:left;font-style:normal}
css/style.css CHANGED
@@ -5,14 +5,13 @@
5
  display: -moz-box;
6
  display: -ms-flexbox;
7
  display: flex;
8
- height: 30px;
9
  line-height: 1;
10
  margin-bottom: 20px!important;
11
  margin-top: 20px!important;
 
12
  padding: 0;
13
 
14
- -webkit-align-content: center;
15
- align-content: center;
16
  -webkit-align-items: stretch;
17
  align-items: stretch;
18
  -webkit-box-align: stretch;
@@ -22,6 +21,9 @@
22
  -ms-flex-align: stretch;
23
  -ms-flex-line-pack: center;
24
  -ms-flex-pack: justify;
 
 
 
25
  -webkit-justify-content: space-between;
26
  justify-content: space-between;
27
  }
@@ -43,6 +45,7 @@ div.nc_socialPanel .nc_tweetContainer {
43
  font-family: Lato;
44
  height: 32px;
45
  margin: 0 5px;
 
46
  overflow: hidden;
47
  text-align: center;
48
  -webkit-transition: all 0.1s linear;
@@ -263,6 +266,7 @@ div.nc_socialPanel:hover div.totes.totesalt:not(:nth-child(1)) {
263
  margin-left: 10px;
264
  margin-top: 12px;
265
  min-width: 35px;
 
266
  vertical-align: middle;
267
  }
268
 
@@ -1738,3 +1742,11 @@ div.nc_socialPanel .nc_tweetContainer.swp_whatsapp:not(.mobile) {
1738
  max-width: 100%;
1739
  }
1740
  }
 
 
 
 
 
 
 
 
5
  display: -moz-box;
6
  display: -ms-flexbox;
7
  display: flex;
8
+ height: 32px;
9
  line-height: 1;
10
  margin-bottom: 20px!important;
11
  margin-top: 20px!important;
12
+ overflow: hidden;
13
  padding: 0;
14
 
 
 
15
  -webkit-align-items: stretch;
16
  align-items: stretch;
17
  -webkit-box-align: stretch;
21
  -ms-flex-align: stretch;
22
  -ms-flex-line-pack: center;
23
  -ms-flex-pack: justify;
24
+ -webkit-flex-wrap: wrap;
25
+ -ms-flex-wrap: wrap;
26
+ flex-wrap: wrap;
27
  -webkit-justify-content: space-between;
28
  justify-content: space-between;
29
  }
45
  font-family: Lato;
46
  height: 32px;
47
  margin: 0 5px;
48
+ min-width: 34px;
49
  overflow: hidden;
50
  text-align: center;
51
  -webkit-transition: all 0.1s linear;
266
  margin-left: 10px;
267
  margin-top: 12px;
268
  min-width: 35px;
269
+ position: relative;
270
  vertical-align: middle;
271
  }
272
 
1742
  max-width: 100%;
1743
  }
1744
  }
1745
+
1746
+ .swp_hidden_pin_image {
1747
+ height: 0;
1748
+ opacity: 0;
1749
+ position: absolute;
1750
+ top: 0;
1751
+ width: 0;
1752
+ }
css/style.min.css CHANGED
@@ -1 +1 @@
1
- .nc_socialPanel{clear:both;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;height:30px;line-height:1;margin-bottom:20px!important;margin-top:20px!important;padding:0;-webkit-align-content:center;align-content:center;-webkit-align-items:stretch;align-items:stretch;-webkit-box-align:stretch;-moz-box-align:stretch;-webkit-box-pack:justify;-moz-box-pack:justify;-ms-flex-align:stretch;-ms-flex-line-pack:center;-ms-flex-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.nc_socialPanel:not(.nc_floater):not(.nc_socialPanelSide){width:100%!important}.nc_wrapper .nc_socialPanel{margin-bottom:10px!important;margin-top:10px!important}div.nc_socialPanel .nc_tweetContainer{-webkit-border-radius:2px;border-radius:2px;cursor:pointer;float:left;font-family:Lato;height:32px;margin:0 5px;overflow:hidden;text-align:center;-webkit-transition:all .1s linear;transition:all .1s linear;border-size:1px}div.nc_socialPanel:not(.nc_socialPanelSide) .nc_tweetContainer{-webkit-box-flex:1;-moz-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.nc_socialPanel .nc_tweetContainer a.nc_tweet,.nc_socialPanel .totes .swp_count{display:block;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;font-family:Lato,sans-serif;font-size:18px!important;font-weight:700;height:30px;text-decoration:none;text-decoration:none!important;text-transform:none;-webkit-box-direction:normal;-moz-box-direction:normal;-webkit-box-orient:horizontal;-moz-box-orient:horizontal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap}.nc_socialPanel:not(.nc_socialPanelSide) .nc_tweetContainer:nth-child(1){margin-left:0}.nc_socialPanel:not(.nc_socialPanelSide) .nc_tweetContainer:nth-last-child(1){margin-right:0}.nc_socialPanel a .swp_count:not(.swp_hide){display:inline-block;line-height:32px;margin:0;padding:0 5px;-webkit-box-flex:1;-moz-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.nc_socialPanel .totes .swp_count,span.swp_share{line-height:30px}.nc_socialPanel a .swp_count.swp_hide{margin:0 auto}.nc_socialPanel span:before{content:initial!important}.nc_socialPanel span.swp_count{font-size:14px}.nc_socialPanel span.iconFiller{font-size:18px;margin:0 auto}.nc_socialPanel.notMobile .nc_tweetContainer:nth-child(1){margin-left:0}.nc_socialPanel:not(.nc_socialPanelSide){-webkit-transition:opacity .2s ease-in-out;transition:opacity .2s ease-in-out}.nc_socialPanel:not(.nc_socialPanelSide) div.totes.totesalt:nth-child(1){margin-left:0;margin-right:15px;padding-left:0}.nc_socialPanel:not(.nc_socialPanelSide) div.totes.totesalt:nth-last-child(1){margin-right:0;padding-right:0}a.swp_CTT{cursor:pointer}span.swp_share{display:block;float:right;float:left;font-size:14px;font-weight:400;height:30px;margin:0 0 0 6px;max-width:none!important;vertical-align:middle}.nc_socialPanelSide span.swp_share{margin:0}.nc_socialPanel .sw{float:left;height:30px;line-height:32px;margin:0 5px;text-shadow:none!important;width:20px}.iconFiller{display:block;float:left;height:30px;overflow:hidden;-webkit-transition:width .1s linear;transition:width .1s linear}.nc_socialPanel .iconFiller{width:30px}span.spaceManWilly{display:block;width:120px}.nc_socialPanel .totes{background:#c4c4c4;border:1px solid #e08a0f;-webkit-border-radius:2px;border-radius:2px;color:#fff;cursor:default;display:block;font-size:19px;padding:0 10px;-webkit-box-flex:0!important;-moz-box-flex:0!important;-webkit-flex:none!important;-ms-flex:none!important;flex:none!important}.nc_socialPanel div.totes.totesalt,.nc_socialPanel:hover div.totes.totesalt:not(:nth-child(1)){background:0 0!important;border:none;color:#474b4d;margin-left:0!important}div.nc_socialPanel:hover div.totes.totesalt:not(:nth-child(1)){background:0 0;color:#474b4d;margin-left:10px}.nc_socialPanel .totes.totesalt .swp_label{color:#474b4d;font-size:10px;vertical-align:middle}.nc_socialPanel .totes .swp_label{font-size:10px;vertical-align:middle}.nc_socialPanel .totes.totesalt .swp_count{color:#474b4d;font-size:24px}.nc_socialPanel.swp_customFull:hover div.totes,.nc_socialPanel.swp_fade .totes,.nc_socialPanel.swp_fullColor .totes,.nc_socialPanel:hover .totes{background:#e08a0f}.nc_socialPanel:not(.nc_socialPanelSide) .nc_tweetContainer.totes.totesalt:before{content:"o";display:inline-block;font-family:sw-icon-font;margin-top:7px;vertical-align:top}.nc_socialPanel:not(.nc_socialPanelSide) .totes.totesalt .swp_count{display:inline-block;line-height:0;margin-left:10px;margin-top:12px;min-width:35px;vertical-align:middle}span.swp_label{display:block;font-size:9px!important;margin-top:13px;position:absolute;text-align:center!important;text-transform:uppercase}.nc_socialPanelSide span.swp_label{margin-top:0}.nc_socialPanel.swp_leaf .nc_tweetContainer{-webkit-border-radius:15px 0;border-radius:15px 0;border-width:1px}.nc_socialPanel.swp_pill .nc_tweetContainer{-webkit-border-radius:50px;border-radius:50px;border-width:1px}.nc_socialPanel.swp_shift .nc_tweetContainer:not(.totes){border-width:1px;-moz-transform:skew(-25deg);-o-transform:skew(-25deg);-webkit-transform:skew(-25deg)}.nc_socialPanel.swp_shift .nc_tweetContainer a{-moz-transform:skew(25deg);-o-transform:skew(25deg);-webkit-transform:skew(25deg)}.swp_connected .nc_tweetContainer,.swp_connected .nc_tweetContainer:hover,.swp_connected:hover .nc_tweetContainer{-webkit-border-radius:0!important;border-radius:0!important;border-width:1px;margin:0!important}.nc_socialPanel.swp_flatFresh.swp_d_fullColor .googlePlus,body .nc_socialPanel.swp_flatFresh.swp_o_fullColor:hover .googlePlus:not(:hover),html body .nc_socialPanel.swp_flatFresh.swp_i_fullColor .googlePlus:hover{border:1px solid #df4b37}.nc_socialPanel.swp_flatFresh.swp_d_fullColor .twitter,body .nc_socialPanel.swp_flatFresh.swp_o_fullColor:hover .twitter:not(:hover),html body .nc_socialPanel.swp_flatFresh.swp_i_fullColor .twitter:hover{border:1px solid #429cd6}.nc_socialPanel.swp_flatFresh.swp_d_fullColor .swp_fb,body .nc_socialPanel.swp_flatFresh.swp_o_fullColor:hover .swp_fb:not(:hover),html body .nc_socialPanel.swp_flatFresh.swp_i_fullColor .swp_fb:hover{border:1px solid #3a589e}.nc_socialPanel.swp_flatFresh.swp_d_fullColor .nc_pinterest,body .nc_socialPanel.swp_flatFresh.swp_o_fullColor:hover .nc_pinterest:not(:hover),html body .nc_socialPanel.swp_flatFresh.swp_i_fullColor .nc_pinterest:hover{border:1px solid #cd2029}.nc_socialPanel.swp_flatFresh.swp_d_fullColor .linkedIn,body .nc_socialPanel.swp_flatFresh.swp_o_fullColor:hover .linkedIn:not(:hover),html body .nc_socialPanel.swp_flatFresh.swp_i_fullColor .linkedIn:hover{border:1px solid #0d77b7}.nc_socialPanel.swp_flatFresh.swp_d_fullColor .swp_tumblr,body .nc_socialPanel.swp_flatFresh.swp_o_fullColor:hover .swp_tumblr:not(:hover),html body .nc_socialPanel.swp_flatFresh.swp_i_fullColor .swp_tumblr:hover{border:1px solid #39475d}.nc_socialPanel.swp_flatFresh.swp_d_fullColor .swp_stumbleupon,body .nc_socialPanel.swp_flatFresh.swp_o_fullColor:hover .swp_stumbleupon:not(:hover),html body .nc_socialPanel.swp_flatFresh.swp_i_fullColor .swp_stumbleupon:hover{border:1px solid #ef5025}.nc_socialPanel.swp_flatFresh.swp_d_fullColor .swp_yummly,body .nc_socialPanel.swp_flatFresh.swp_o_fullColor:hover .swp_yummly:not(:hover),html body .nc_socialPanel.swp_flatFresh.swp_i_fullColor .swp_yummly:hover{border:1px solid #e26426}.nc_socialPanel.swp_flatFresh.swp_d_fullColor .swp_reddit,body .nc_socialPanel.swp_flatFresh.swp_o_fullColor:hover .swp_reddit:not(:hover),html body .nc_socialPanel.swp_flatFresh.swp_i_fullColor .swp_reddit:hover{border:1px solid #f04b23}.nc_socialPanel.swp_flatFresh.swp_d_fullColor .swp_email,body .nc_socialPanel.swp_flatFresh.swp_o_fullColor:hover .swp_email:not(:hover),html body .nc_socialPanel.swp_flatFresh.swp_i_fullColor .swp_email:hover{border:1px solid #6bcce9}.nc_socialPanel.swp_flatFresh.swp_d_fullColor .swp_whatsapp,body .nc_socialPanel.swp_flatFresh.swp_o_fullColor:hover .swp_whatsapp:not(:hover),html body .nc_socialPanel.swp_flatFresh.swp_i_fullColor .swp_whatsapp:hover{border:1px solid #71c169}.nc_socialPanel.swp_flatFresh.swp_d_fullColor .swp_pocket,body .nc_socialPanel.swp_flatFresh.swp_o_fullColor:hover .swp_pocket:not(:hover),html body .nc_socialPanel.swp_flatFresh.swp_i_fullColor .swp_pocket:hover{border:1px solid #ef4056}.nc_socialPanel.swp_flatFresh.swp_d_fullColor .swp_buffer,body .nc_socialPanel.swp_flatFresh.swp_o_fullColor:hover .swp_buffer:not(:hover),html body .nc_socialPanel.swp_flatFresh.swp_i_fullColor .swp_buffer:hover{border:1px solid #323b43}.nc_socialPanel.swp_flatFresh.swp_d_fullColor .swp_hacker_news,body .nc_socialPanel.swp_flatFresh.swp_o_fullColor:hover .swp_hacker_news:not(:hover),html body .nc_socialPanel.swp_flatFresh.swp_i_fullColor .swp_hacker_news:hover{border:1px solid #d85623}.nc_socialPanel.swp_flatFresh.swp_d_fullColor .swp_flipboard,body .nc_socialPanel.swp_flatFresh.swp_o_fullColor:hover .swp_flipboard:not(:hover),html body .nc_socialPanel.swp_flatFresh.swp_i_fullColor .swp_flipboard:hover{border:1px solid #bf2626}.nc_socialPanel.swp_d_fullColor .googlePlus,body .nc_socialPanel.swp_o_fullColor:hover .googlePlus,html body .nc_socialPanel.swp_i_fullColor .googlePlus:hover{background:#df4b37;border:1px solid #c44133}.nc_socialPanel.swp_d_fullColor .twitter,body .nc_socialPanel.swp_o_fullColor:hover .twitter,html body .nc_socialPanel.swp_i_fullColor .twitter:hover{background:#429cd6;border:1px solid #3c87b2}.nc_socialPanel.swp_d_fullColor .swp_fb,body .nc_socialPanel.swp_o_fullColor:hover .swp_fb,html body .nc_socialPanel.swp_i_fullColor .swp_fb:hover{background:#3a589e;border:1px solid #2e4675}.nc_socialPanel.swp_d_fullColor .nc_pinterest,body .nc_socialPanel.swp_o_fullColor:hover .nc_pinterest,html body .nc_socialPanel.swp_i_fullColor .nc_pinterest:hover{background:#cd2029;border:1px solid #aa1b29}.nc_socialPanel.swp_d_fullColor .linkedIn,body .nc_socialPanel.swp_o_fullColor:hover .linkedIn,html body .nc_socialPanel.swp_i_fullColor .linkedIn:hover{background:#0d77b7;border:1px solid #0c6591}.nc_socialPanel.swp_d_fullColor .swp_tumblr,body .nc_socialPanel.swp_o_fullColor:hover .swp_tumblr,html body .nc_socialPanel.swp_i_fullColor .swp_tumblr:hover{background:#39475d;border:1px solid #27313f}.nc_socialPanel.swp_d_fullColor .swp_stumbleupon,body .nc_socialPanel.swp_o_fullColor:hover .swp_stumbleupon,html body .nc_socialPanel.swp_i_fullColor .swp_stumbleupon:hover{background:#ef5025;border:1px solid #d34427}.nc_socialPanel.swp_d_fullColor .swp_yummly,body .nc_socialPanel.swp_o_fullColor:hover .swp_yummly,html body .nc_socialPanel.swp_i_fullColor .swp_yummly:hover{background:#e26426;border:1px solid #b65027}.nc_socialPanel.swp_d_fullColor .swp_reddit,body .nc_socialPanel.swp_o_fullColor:hover .swp_reddit,html body .nc_socialPanel.swp_i_fullColor .swp_reddit:hover{background:#f04b23;border:1px solid #d33f27}.nc_socialPanel.swp_d_fullColor .swp_email,body .nc_socialPanel.swp_o_fullColor:hover .swp_email,html body .nc_socialPanel.swp_i_fullColor .swp_email:hover{background:#6bcce9;border:1px solid #61bace}.nc_socialPanel.swp_d_fullColor .swp_whatsapp,body .nc_socialPanel.swp_o_fullColor:hover .swp_whatsapp,html body .nc_socialPanel.swp_i_fullColor .swp_whatsapp:hover{background:#71c169;border:1px solid #28b04b}.nc_socialPanel.swp_d_fullColor .swp_pocket,body .nc_socialPanel.swp_o_fullColor:hover .swp_pocket,html body .nc_socialPanel.swp_i_fullColor .swp_pocket:hover{background:#ef4056;border:1px solid #ce3d55}.nc_socialPanel.swp_d_fullColor .swp_buffer,body .nc_socialPanel.swp_o_fullColor:hover .swp_buffer,html body .nc_socialPanel.swp_i_fullColor .swp_buffer:hover{background:#323b43;border:1px solid #000}.nc_socialPanel.swp_d_fullColor .swp_hacker_news,body .nc_socialPanel.swp_o_fullColor:hover .swp_hacker_news,html body .nc_socialPanel.swp_i_fullColor .swp_hacker_news:hover{background:#f16522;border:1px solid #d85623}.nc_socialPanel.swp_d_fullColor .swp_flipboard,body .nc_socialPanel.swp_o_fullColor:hover .swp_flipboard,html body .nc_socialPanel.swp_i_fullColor .swp_flipboard:hover{background:#e02828;border:1px solid #bf2626}.nc_socialPanel.swp_threeDee.swp_d_fullColor .googlePlus,body .nc_socialPanel.swp_threeDee.swp_o_fullColor:hover .googlePlus,html body .nc_socialPanel.swp_threeDee.swp_i_fullColor .googlePlus:hover{border-bottom:3px solid #c44133}.nc_socialPanel.swp_threeDee.swp_d_fullColor .twitter,body .nc_socialPanel.swp_threeDee.swp_o_fullColor:hover .twitter,html body .nc_socialPanel.swp_threeDee.swp_i_fullColor .twitter:hover{border-bottom:3px solid #5595bc}.nc_socialPanel.swp_threeDee.swp_d_fullColor .swp_fb,body .nc_socialPanel.swp_threeDee.swp_o_fullColor:hover .swp_fb,html body .nc_socialPanel.swp_threeDee.swp_i_fullColor .swp_fb:hover{border-bottom:3px solid #2e4675}.nc_socialPanel.swp_threeDee.swp_d_fullColor .nc_pinterest,body .nc_socialPanel.swp_threeDee.swp_o_fullColor:hover .nc_pinterest,html body .nc_socialPanel.swp_threeDee.swp_i_fullColor .nc_pinterest:hover{border-bottom:3px solid #aa1b29}.nc_socialPanel.swp_threeDee.swp_d_fullColor .linkedIn,body .nc_socialPanel.swp_threeDee.swp_o_fullColor:hover .linkedIn,html body .nc_socialPanel.swp_threeDee.swp_i_fullColor .linkedIn:hover{border-bottom:3px solid #0c6591}.nc_socialPanel.swp_threeDee.swp_d_fullColor .swp_tumblr,body .nc_socialPanel.swp_threeDee.swp_o_fullColor:hover .swp_tumblr,html body .nc_socialPanel.swp_threeDee.swp_i_fullColor .swp_tumblr:hover{border-bottom:3px solid #27313f}.nc_socialPanel.swp_threeDee.swp_d_fullColor .swp_stumbleupon,body .nc_socialPanel.swp_threeDee.swp_o_fullColor:hover .swp_stumbleupon,html body .nc_socialPanel.swp_threeDee.swp_i_fullColor .swp_stumbleupon:hover{border-bottom:3px solid #d34427}.nc_socialPanel.swp_threeDee.swp_d_fullColor .swp_yummly,body .nc_socialPanel.swp_threeDee.swp_o_fullColor:hover .swp_yummly,html body .nc_socialPanel.swp_threeDee.swp_i_fullColor .swp_yummly:hover{border-bottom:3px solid #b65027}.nc_socialPanel.swp_threeDee.swp_d_fullColor .swp_reddit,body .nc_socialPanel.swp_threeDee.swp_o_fullColor:hover .swp_reddit,html body .nc_socialPanel.swp_threeDee.swp_i_fullColor .swp_reddit:hover{border-bottom:3px solid #d33f27}.nc_socialPanel.swp_threeDee.swp_d_fullColor .swp_email,body .nc_socialPanel.swp_threeDee.swp_o_fullColor:hover .swp_email,html body .nc_socialPanel.swp_threeDee.swp_i_fullColor .swp_email:hover{border-bottom:3px solid #61bace}.nc_socialPanel.swp_threeDee.swp_d_fullColor .swp_whatsapp,body .nc_socialPanel.swp_threeDee.swp_o_fullColor:hover .swp_whatsapp,html body .nc_socialPanel.swp_threeDee.swp_i_fullColor .swp_whatsapp:hover{border-bottom:3px solid #28b04b}.nc_socialPanel.swp_threeDee.swp_d_fullColor .swp_pocket,body .nc_socialPanel.swp_threeDee.swp_o_fullColor:hover .swp_pocket,html body .nc_socialPanel.swp_threeDee.swp_i_fullColor .swp_pocket:hover{border-bottom:3px solid #ce3d55}.nc_socialPanel.swp_threeDee.swp_d_fullColor .swp_buffer,body .nc_socialPanel.swp_threeDee.swp_o_fullColor:hover .swp_buffer,html body .nc_socialPanel.swp_threeDee.swp_i_fullColor .swp_buffer:hover{border-bottom:3px solid #000}.nc_socialPanel.swp_threeDee.swp_d_fullColor .swp_hacker_news,body .nc_socialPanel.swp_threeDee.swp_o_fullColor:hover .swp_hacker_news,html body .nc_socialPanel.swp_threeDee.swp_i_fullColor .swp_hacker_news:hover{border-bottom:3px solid #d85623}.nc_socialPanel.swp_threeDee.swp_d_fullColor .swp_flipboard,body .nc_socialPanel.swp_threeDee.swp_o_fullColor:hover .swp_flipboard,html body .nc_socialPanel.swp_threeDee.swp_i_fullColor .swp_flipboard:hover{border-bottom:3px solid #bf2626}.nc_socialPanel.swp_d_lightGray .nc_tweetContainer,body .nc_socialPanel.swp_o_lightGray:hover .nc_tweetContainer,html body .nc_socialPanel.swp_i_lightGray .nc_tweetContainer:hover{background-color:#ccc;border:1px solid #ccc}.nc_socialPanel.swp_threeDee.swp_d_lightGray .nc_tweetContainer:not(.totesalt),body .nc_socialPanel.swp_threeDee.swp_o_lightGray:hover .nc_tweetContainer:not(.totesalt),html body .nc_socialPanel.swp_threeDee.swp_i_lightGray .nc_tweetContainer:not(.totesalt):hover{border-bottom:3px solid #999}.nc_socialPanel.swp_d_mediumGray .nc_tweetContainer,body .nc_socialPanel.swp_o_mediumGray:hover .nc_tweetContainer,html body .nc_socialPanel.swp_i_mediumGray .nc_tweetContainer:hover{background-color:#999;border:1px solid #999}.nc_socialPanel.swp_threeDee.swp_d_mediumGray .nc_tweetContainer:not(.totesalt),body .nc_socialPanel.swp_threeDee.swp_o_mediumGray:hover .nc_tweetContainer:not(.totesalt),html body .nc_socialPanel.swp_threeDee.swp_i_mediumGray .nc_tweetContainer:not(.totesalt):hover{border-bottom:3px solid #444}.nc_socialPanel.swp_d_darkGray .nc_tweetContainer,body .nc_socialPanel.swp_o_darkGray:hover .nc_tweetContainer,html body .nc_socialPanel.swp_i_darkGray .nc_tweetContainer:hover{background-color:#444;border:1px solid #444}.nc_socialPanel.swp_threeDee.swp_d_darkGray .nc_tweetContainer:not(.totesalt),body .nc_socialPanel.swp_threeDee.swp_o_darkGray:hover .nc_tweetContainer:not(.totesalt),html body .nc_socialPanel.swp_threeDee.swp_i_darkGray .nc_tweetContainer:not(.totesalt):hover{border-bottom:3px solid #222}.nc_socialPanel.swp_d_lgOutlines a,body .nc_socialPanel.swp_o_lgOutlines:hover a,html body .nc_socialPanel.swp_i_lgOutlines a:hover{color:#ccc}.nc_socialPanel.swp_d_lgOutlines .nc_tweetContainer,body .nc_socialPanel.swp_o_lgOutlines:hover .nc_tweetContainer,html body .nc_socialPanel.swp_i_lgOutlines .nc_tweetContainer:hover{background:0 0;border:1px solid #ccc}.nc_socialPanel.swp_d_mdOutlines a,body .nc_socialPanel.swp_o_mdOutlines:hover a,html body .nc_socialPanel.swp_i_mdOutlines a:hover{color:#999}.nc_socialPanel.swp_d_mdOutlines .nc_tweetContainer,body .nc_socialPanel.swp_o_mdOutlines:hover .nc_tweetContainer,html body .nc_socialPanel.swp_i_mdOutlines .nc_tweetContainer:hover{background:0 0;border:1px solid #999}.nc_socialPanel.swp_d_dgOutlines a,body .nc_socialPanel.swp_o_dgOutlines:hover a,html body .nc_socialPanel.swp_i_dgOutlines a:hover{color:#444}.nc_socialPanel.swp_d_dgOutlines .nc_tweetContainer,body .nc_socialPanel.swp_o_dgOutlines:hover .nc_tweetContainer,html body .nc_socialPanel.swp_i_dgOutlines .nc_tweetContainer:hover{background:0 0;border:1px solid #444}.nc_socialPanel.swp_d_colorOutlines .googlePlus a,body .nc_socialPanel.swp_o_colorOutlines:hover .googlePlus a,html body .nc_socialPanel.swp_i_colorOutlines .googlePlus a:hover{color:#df4b37}.nc_socialPanel.swp_d_colorOutlines .swp_fb a,body .nc_socialPanel.swp_o_colorOutlines:hover .swp_fb a,html body .nc_socialPanel.swp_i_colorOutlines .swp_fb a:hover{color:#3a589e}.nc_socialPanel.swp_d_colorOutlines .nc_pinterest a,body .nc_socialPanel.swp_o_colorOutlines:hover .nc_pinterest a,html body .nc_socialPanel.swp_i_colorOutlines .nc_pinterest a:hover{color:#cd2029}.nc_socialPanel.swp_d_colorOutlines .linkedIn a,body .nc_socialPanel.swp_o_colorOutlines:hover .linkedIn a,html body .nc_socialPanel.swp_i_colorOutlines .linkedIn a:hover{color:#0d77b7}.nc_socialPanel.swp_d_colorOutlines .swp_tumblr a,body .nc_socialPanel.swp_o_colorOutlines:hover .swp_tumblr a,html body .nc_socialPanel.swp_i_colorOutlines .swp_tumblr a:hover{color:#39475d}.nc_socialPanel.swp_d_colorOutlines .swp_stumbleupon a,body .nc_socialPanel.swp_o_colorOutlines:hover .swp_stumbleupon a,html body .nc_socialPanel.swp_i_colorOutlines .swp_stumbleupon a:hover{color:#ef5025}.nc_socialPanel.swp_d_colorOutlines .swp_yummly a,body .nc_socialPanel.swp_o_colorOutlines:hover .swp_yummly a,html body .nc_socialPanel.swp_i_colorOutlines .swp_yummly a:hover{color:#e26426}.nc_socialPanel.swp_d_colorOutlines .swp_whatsapp a,body .nc_socialPanel.swp_o_colorOutlines:hover .swp_whatsapp a,html body .nc_socialPanel.swp_i_colorOutlines .swp_whatsapp a:hover{color:#71c169}.nc_socialPanel.swp_d_colorOutlines .swp_pocket a,body .nc_socialPanel.swp_o_colorOutlines:hover .swp_pocket a,html body .nc_socialPanel.swp_i_colorOutlines .swp_pocket a:hover{color:#ef4056}.nc_socialPanel.swp_d_colorOutlines .swp_reddit a,body .nc_socialPanel.swp_o_colorOutlines:hover .swp_reddit a,html body .nc_socialPanel.swp_i_colorOutlines .swp_reddit a:hover{color:#f04b23}.nc_socialPanel.swp_d_colorOutlines .swp_email a,body .nc_socialPanel.swp_o_colorOutlines:hover .swp_email a,html body .nc_socialPanel.swp_i_colorOutlines .swp_email a:hover{color:#6bcce9}.nc_socialPanel.swp_d_colorOutlines .swp_buffer a,body .nc_socialPanel.swp_o_colorOutlines:hover .swp_buffer a,html body .nc_socialPanel.swp_i_colorOutlines .swp_buffer a:hover{color:#323b43}.nc_socialPanel.swp_d_colorOutlines .swp_hacker_news a,body .nc_socialPanel.swp_o_colorOutlines:hover .swp_hacker_news a,html body .nc_socialPanel.swp_i_colorOutlines .swp_hacker_news a:hover{color:#f16522}.nc_socialPanel.swp_d_colorOutlines .swp_flipboard a,body .nc_socialPanel.swp_o_colorOutlines:hover .swp_flipboard a,html body .nc_socialPanel.swp_i_colorOutlines .swp_flipboard a:hover{color:#e02828}.nc_socialPanel.swp_d_colorOutlines .googlePlus,body .nc_socialPanel.swp_o_colorOutlines:hover .googlePlus,html body .nc_socialPanel.swp_i_colorOutlines .googlePlus:hover{background:0 0;border:1px solid #df4b37}.nc_socialPanel.swp_d_colorOutlines .twitter,body .nc_socialPanel.swp_o_colorOutlines:hover .twitter,html body .nc_socialPanel.swp_i_colorOutlines .twitter:hover{background:0 0;border:1px solid #429cd6}.nc_socialPanel.swp_d_colorOutlines .swp_fb,body .nc_socialPanel.swp_o_colorOutlines:hover .swp_fb,html body .nc_socialPanel.swp_i_colorOutlines .swp_fb:hover{background:0 0;border:1px solid #3a589e}.nc_socialPanel.swp_d_colorOutlines .nc_pinterest,body .nc_socialPanel.swp_o_colorOutlines:hover .nc_pinterest,html body .nc_socialPanel.swp_i_colorOutlines .nc_pinterest:hover{background:0 0;border:1px solid #cd2029}.nc_socialPanel.swp_d_colorOutlines .linkedIn,body .nc_socialPanel.swp_o_colorOutlines:hover .linkedIn,html body .nc_socialPanel.swp_i_colorOutlines .linkedIn:hover{background:0 0;border:1px solid #0d77b7}.nc_socialPanel.swp_d_colorOutlines .swp_tumblr,body .nc_socialPanel.swp_o_colorOutlines:hover .swp_tumblr,html body .nc_socialPanel.swp_i_colorOutlines .swp_tumblr:hover{background:0 0;border:1px solid #39475d}.nc_socialPanel.swp_d_colorOutlines .swp_stumbleupon,body .nc_socialPanel.swp_o_colorOutlines:hover .swp_stumbleupon,html body .nc_socialPanel.swp_i_colorOutlines .swp_stumbleupon:hover{background:0 0;border:1px solid #ef5025}.nc_socialPanel.swp_d_colorOutlines .swp_yummly,body .nc_socialPanel.swp_o_colorOutlines:hover .swp_yummly,html body .nc_socialPanel.swp_i_colorOutlines .swp_yummly:hover{background:0 0;border:1px solid #e26426}.nc_socialPanel.swp_d_colorOutlines .swp_whatsapp,body .nc_socialPanel.swp_o_colorOutlines:hover .swp_whatsapp,html body .nc_socialPanel.swp_i_colorOutlines .swp_whatsapp:hover{background:0 0;border:1px solid #71c169}.nc_socialPanel.swp_d_colorOutlines .swp_reddit,body .nc_socialPanel.swp_o_colorOutlines:hover .swp_reddit,html body .nc_socialPanel.swp_i_colorOutlines .swp_reddit:hover{background:0 0;border:1px solid #f04b23}.nc_socialPanel.swp_d_colorOutlines .swp_email,body .nc_socialPanel.swp_o_colorOutlines:hover .swp_email,html body .nc_socialPanel.swp_i_colorOutlines .swp_email:hover{background:0 0;border:1px solid #6bcce9}.nc_socialPanel.swp_d_colorOutlines .swp_pocket,body .nc_socialPanel.swp_o_colorOutlines:hover .swp_pocket,html body .nc_socialPanel.swp_i_colorOutlines .swp_pocket:hover{background:0 0;border:1px solid #ef4056}.nc_socialPanel.swp_d_colorOutlines .swp_buffer,body .nc_socialPanel.swp_o_colorOutlines:hover .swp_buffer,html body .nc_socialPanel.swp_i_colorOutlines .swp_buffer:hover{background:0 0;border:1px solid #323b43}.nc_socialPanel.swp_d_colorOutlines .swp_hacker_news,body .nc_socialPanel.swp_o_colorOutlines:hover .swp_hacker_news,html body .nc_socialPanel.swp_i_colorOutlines .swp_hacker_news:hover{background:0 0;border:1px solid #f16522}.nc_socialPanel.swp_d_colorOutlines .swp_flipboard,body .nc_socialPanel.swp_o_colorOutlines:hover .swp_flipboard,html body .nc_socialPanel.swp_i_colorOutlines .swp_flipboard:hover{background:0 0;border:1px solid #bf2626}.nc_socialPanelSide{flex-direction:column;height:auto;overflow:visible;top:200px;-webkit-transition:all .2s linear;transition:all .2s linear;width:100px!important;z-index:9999999;-webkit-box-direction:normal;-moz-box-direction:normal;-webkit-box-orient:vertical;-moz-box-orient:vertical;-webkit-flex-direction:column;-ms-flex-direction:column}.nc_socialPanelSide.slide{position:fixed;left:-100px;-webkit-transition:all .2s linear;transition:all .2s linear}.nc_socialPanelSide.fade{display:none;position:fixed;left:5px;-webkit-transition:all .2s linear;transition:all .2s linear}.nc_socialPanelSide .nc_tweetContainer{background:#dd4b38;-webkit-border-radius:3px;border-radius:3px;clear:both;display:block;font-family:Lato,sans-serif;height:32px;margin:3px 0!important;overflow:hidden;padding:0;-webkit-transition:all .1s linear;transition:all .1s linear;vertical-align:top;width:90px}.nc_socialPanelSide .nc_tweetContainer .iconFiller{display:inline-block;height:40px;margin:0 6px;padding:0;-webkit-transition:all .1s linear;transition:all .1s linear;vertical-align:middle;width:21px}.nc_socialPanelSide .nc_tweetContainer .swp_count{display:inline-block;font-size:14px;height:32px;line-height:35px;margin:0;overflow:hidden;padding:0;text-align:right;-webkit-transition:all .1s linear;transition:all .1s linear;vertical-align:top;width:0}.nc_socialPanelSide .nc_tweetContainer a{cursor:pointer;display:block;font-weight:500;height:36px;margin:0;padding:0;text-decoration:none;-webkit-transition:all .1s linear;transition:all .1s linear;vertical-align:top}.nc_socialPanelSide .nc_tweetContainer .sw,.nc_socialPanelSide .nc_tweetContainer .swp_share{float:left;line-height:34px}.nc_socialPanelSide.swp_default .nc_tweetContainer .sw{line-height:32px}.nc_socialPanelSide.swp_default .nc_tweetContainer .swp_share{line-height:30px}.nc_socialPanelSide .nc_tweetContainer .swp_share{font-size:13px}.nc_socialPanelSide .nc_tweetContainer:hover,.nc_socialPanelSide .nc_tweetContainer:hover .iconFiller,.nc_socialPanelSide .nc_tweetContainer:hover .swp_count{-webkit-transition:all .1s linear;transition:all .1s linear}.nc_socialPanelSide.swp_boxed{-ms-transform:scale(.9);-webkit-transform:scale(.9);transform:scale(.9)}.nc_socialPanelSide.swp_boxed .nc_tweetContainer{margin-bottom:5px}.nc_socialPanelSide.swp_boxed .nc_tweetContainer,.nc_socialPanelSide.swp_boxed .nc_tweetContainer a{height:75px;position:relative;width:75px}.nc_socialPanelSide.swp_boxed .nc_tweetContainer i.sw{font-size:27px;height:40px;margin:0;padding-top:10px;text-align:center;width:100%}.nc_socialPanelSide.swp_boxed .nc_tweetContainer:not(.totes) span.swp_share{height:35px;opacity:0;position:absolute;bottom:0;left:0;text-align:center;width:75px}.nc_socialPanelSide.swp_boxed .nc_tweetContainer:not(.totes) span.swp_count{height:35px;margin:0;padding:0;position:absolute;bottom:0;left:0;text-align:center;-webkit-transition:padding .1s linear;transition:padding .1s linear;width:100%}.nc_socialPanelSide.swp_boxed .nc_tweetContainer span.swp_hide .iconFiller,.nc_socialPanelSide.swp_boxed .nc_tweetContainer span.swp_hide .spaceManWilly,.nc_socialPanelSide.swp_boxed .nc_tweetContainer:not(.totes) span.swp_count.swp_hide{height:75px;opacity:1}.nc_socialPanelSide.swp_boxed .nc_tweetContainer span.iconFiller{height:40px;width:75px}.nc_socialPanelSide.swp_boxed .nc_tweetContainer:not(.totes):hover span.swp_count:not(.swp_hide){opacity:0}.nc_socialPanelSide.swp_boxed .totes{padding:0;width:75px!important}.nc_socialPanelSide .nc_tweetContainer:not(.totes){line-height:34px}.nc_socialPanelSide:not(.swp_boxed) .nc_tweetContainer:not(.totes) .iconFiller{margin-left:2px;width:30px}.nc_socialPanelSide .nc_tweetContainer:not(.totes) .swp_count{padding:0 8px;width:48px}.nc_socialPanelSide .nc_tweetContainer:not(.totes) .swp_count.swp_hide{padding:0;width:100%}.nc_socialPanelSide .nc_tweetContainer:not(.totes) .swp_hide .iconFiller{display:block;float:none;margin:0 auto}.nc_socialPanelSide:not(.swp_boxed) .nc_tweetContainer:not(.totes):hover{width:150px}.nc_socialPanelSide .nc_tweetContainer:not(.totes) .spaceManWilly,.nc_socialPanelSide .nc_tweetContainer:not(.totes):hover .iconFiller{width:90px}.nc_socialPanelSide.swp_boxed .nc_tweetContainer:not(.totes) .spaceManWilly,.nc_socialPanelSide.swp_boxed .nc_tweetContainer:not(.totes):hover .iconFiller{width:100%}.nc_socialPanelSide .nc_tweetContainer.totes{background:rgba(0,0,0,0);border:0!important;font-weight:800;height:45px;margin:0;padding:0;text-align:center;width:90px}.nc_socialPanelSide .nc_tweetContainer.totes .swp_count{color:#444;display:block;font-family:Lato,sans-serif;height:28px;text-align:center;width:100%}.nc_socialPanelSide .nc_tweetContainer.totes .swp_label{color:#444;display:block;font-family:Lato,sans-serif;font-size:50%;position:relative;text-align:center;width:100%}.nc_wrapper{background:#fff;position:fixed;-webkit-transition:top .5s bottom .5s;transition:top .5s bottom .5s;width:100%;z-index:99999}.nc_wrapper.floatBottom{bottom:0;left:0}.nc_wrapper.floatTop{top:0;left:0}.nc_floater{margin:10px 0;position:relative;left:304px;width:740px}.nc_socialPanelSide.hideCounts a{text-align:center}.nc_socialPanelSide.hideCounts .iconFiller{float:none;text-align:left}.sw{display:inline-block;font-family:sw-icon-font!important;font-size:inherit;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-style:normal;font-weight:400;text-rendering:auto;-ms-transform:translate(0,0);-webkit-transform:translate(0,0);transform:translate(0,0)}.sw:before{display:block!important}.wp-editor-container .sw:before{font-size:18px;line-height:22px}.wp-editor-container .sw-social-warfare:before{color:#ee464f}.mce-container .sw-social-warfare{color:#ee464f;font-size:20px;margin-right:15px;vertical-align:middle}.sw-google-plus:before{content:"h"}.sw-pinterest:before{content:"b"}.sw-twitter:before{content:"s"}.sw-facebook:before{content:"j"}.sw-linkedin:before{content:"f"}.sw-tumblr:before{content:"r"}.sw-stumbleupon:before{content:"q"}.sw-reddit:before{content:"a"}.sw-email:before{content:"k"}.sw-yummly:before{content:"x"}.sw-whatsapp:before{content:"y"}.sw-pocket:before{content:"B"}.sw-buffer:before{content:"z"}.sw-hacker_news:before{content:"D"}.sw-flipboard:before{content:"C"}.sw-social-warfare:before{content:"p"}.sw-click-to-tweet:after,.sw-tweet-clear:after{content:".";height:0;clear:both;visibility:hidden;display:block}.swp_CTT{text-decoration:none!important}.sw-tweet-clear{zoom:1}.sw-click-to-tweet{display:block;margin:15px 0;padding:15px 30px;position:relative}.sw-click-to-tweet:after{line-height:0}.sw-click-to-tweet .sw-ctt-text{margin:0 0 10px;padding:0;position:relative;word-wrap:break-word}a .sw-click-to-tweet .sw-ctt-text{display:block;font-size:24px;font-weight:500;line-height:140%;margin:0;padding:0;position:relative;text-decoration:none;text-transform:none}.sw-click-to-tweet .sw-ctt-btn{display:block;float:right;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-weight:700;line-height:100%;margin:10px 0 0;padding:3px 5px 3px 3px;position:relative;text-decoration:none;text-transform:uppercase}.sw-click-to-tweet i.sw-twitter{float:right;font-size:21px;margin-left:15px;margin-top:2px;text-transform:none}a.swp_CTT.style1 .sw-click-to-tweet{background-color:#fff;border:1px solid #ddd;-webkit-border-radius:4px;border-radius:4px}a.swp_CTT.style2 .sw-click-to-tweet{background-color:#fff;border:4px double #ddd;-webkit-border-radius:0;border-radius:0}a.style2 .sw-click-to-tweet .sw-ctt-text{color:#666;font-style:italic;text-decoration:none}a.swp_CTT.style3:hover .sw-click-to-tweet{border-left:10px solid #3c87b2;padding-right:20px;-webkit-transition:all .25s linear;transition:all .25s linear}a.swp_CTT.style3 .sw-click-to-tweet{background-color:#429cd6;border:none;border-left:10px solid #429cd6;-webkit-border-radius:0;border-radius:0;padding-right:20px;-webkit-transition:all .25s linear;transition:all .25s linear}a.style3 .sw-click-to-tweet .sw-ctt-text{color:#fff;font-style:italic;text-decoration:none}a.swp_CTT.style4:hover .sw-click-to-tweet{border-left:10px solid #3c87b2;-webkit-transition:all .25s linear;transition:all .25s linear}a.swp_CTT.style4 .sw-click-to-tweet{background-color:#333;border-left:10px solid #c33;-webkit-border-radius:0;border-radius:0;-webkit-transition:all .25s linear;transition:all .25s linear}a.swp_CTT.style5:hover .sw-click-to-tweet{background-color:#d34250;border-left:10px solid #30394f;-webkit-transition:all .25s linear;transition:all .25s linear}a.swp_CTT.style5 .sw-click-to-tweet{background-color:#30394f;border-left:10px solid #d34250;-webkit-border-radius:0;border-radius:0;-webkit-transition:all .25s linear;transition:all .25s linear}a.swp_CTT.style6:hover .sw-click-to-tweet{background-color:#ced3dc;border-left:10px solid #d34250;-webkit-transition:all .25s linear;transition:all .25s linear}a.swp_CTT.style6 .sw-click-to-tweet{background-color:#eee;border-left:10px solid #d34250;-webkit-border-radius:0;border-radius:0;-webkit-transition:all .25s linear;transition:all .25s linear}a.style6 .sw-click-to-tweet i.sw-twitter{color:#30394f}.swp_pop_thumb{-webkit-border-radius:3px;border-radius:3px;float:left;height:100px;margin:5px 25px 5px 0;width:100px}.swp_popular_post{clear:both}.swp_clearfix:after{clear:both;content:" ";display:block;height:0;visibility:hidden}.swp_popular_post a.swp_popularity{border:none;display:block;line-height:1.5;margin:20px 0}span.swp_pop_count{display:block;font-size:70%}.swp_widget_box{-webkit-border-radius:3px;border-radius:3px}div.sw-pinit{display:table!important;line-height:0;position:relative!important}.nc_socialPanel.mobile .iconFiller~.swp_count,.sw-content-locator,div.nc_socialPanel .nc_tweetContainer.swp_whatsapp:not(.mobile){display:none}div.sw-pinit a.sw-pinit-button,div.sw-pinit a.sw-pinit-button:visited{background:#cd2029;border:1px solid #aa1b29;-webkit-border-radius:4px;border-radius:4px;color:#fff;font-size:20px;height:50px;line-height:45px;opacity:0;padding:0 30px;position:absolute;text-decoration:none;-webkit-transition:opacity .5s;transition:opacity .5s;z-index:200}.nc_socialPanelSide.swp_boxed .nc_tweetContainer:not(.totes) .swp_hide span.swp_share,.nc_socialPanelSide.swp_boxed .nc_tweetContainer:not(.totes):hover span.swp_share:not(.swp_hide),div.sw-pinit:focus a.sw-pinit-button,div.sw-pinit:hover a.sw-pinit-button{opacity:1}div.sw-pinit a.sw-pinit-button::before{color:#fff;content:"b";float:left;font-family:sw-icon-font;font-size:24px;font-weight:400;line-height:50px;margin-left:-5px;margin-right:10px}div.sw-pinit a.sw-pinit-button:hover::before{content:"F"}div.sw-pinit a.sw-pinit-button::focus,div.sw-pinit a.sw-pinit-button::hover{background:#aa1b29;color:#fff;text-decoration:none}div.sw-pinit .sw-pinit-left{left:30px}div.sw-pinit .sw-pinit-center{margin-left:-60px;left:50%}div.sw-pinit .sw-pinit-right{right:30px}div.sw-pinit .sw-pinit-top{top:30px}div.sw-pinit .sw-pinit-middle{margin-top:-25px;top:50%}div.sw-pinit .sw-pinit-bottom{bottom:30px}.mobile .nc_tweetContainer:nth-last-child(2),.nc_socialPanel.notMobile .nc_tweetContainer:nth-last-child(1),.nc_tweetContainer.totes:nth-last-child(1){margin-right:0}.nc_socialPanel.swp_d_darkGray a,.nc_socialPanel.swp_d_fullColor a,.nc_socialPanel.swp_d_lightGray a,.nc_socialPanel.swp_d_mediumGray a,body .nc_socialPanel.swp_o_darkGray:hover a,body .nc_socialPanel.swp_o_fullColor:hover a,body .nc_socialPanel.swp_o_lightGray:hover a,body .nc_socialPanel.swp_o_mediumGray:hover a,html body .nc_socialPanel.swp_i_darkGray a:hover,html body .nc_socialPanel.swp_i_fullColor .nc_tweetContainer:hover a,html body .nc_socialPanel.swp_i_lightGray .nc_tweetContainer:hover a,html body .nc_socialPanel.swp_i_mediumGray a:hover{color:#fff}.nc_socialPanel.swp_d_colorOutlines .twitter a,.wp-editor-container .sw-twitter:before,a.style1 .sw-click-to-tweet i.sw-twitter,a.style2 .sw-click-to-tweet i.sw-twitter,body .nc_socialPanel.swp_o_colorOutlines:hover .twitter a,html body .nc_socialPanel.swp_i_colorOutlines .twitter a:hover{color:#429cd6}a.style1 .sw-click-to-tweet .sw-ctt-btn,a.style1 .sw-click-to-tweet .sw-ctt-text{color:#999;text-decoration:none}a.style1:hover .sw-click-to-tweet .sw-ctt-btn,a.style1:hover .sw-click-to-tweet .sw-ctt-text,a.style2 .sw-click-to-tweet .sw-ctt-btn,a.style2:hover .sw-click-to-tweet .sw-ctt-btn,a.style2:hover .sw-click-to-tweet .sw-ctt-text{color:#666;text-decoration:none}a.style3 .sw-click-to-tweet .sw-ctt-btn,a.style3 .sw-click-to-tweet i.sw-twitter,a.style3:hover .sw-click-to-tweet .sw-ctt-btn,a.style3:hover .sw-click-to-tweet .sw-ctt-text,a.style4 .sw-click-to-tweet .sw-ctt-btn,a.style4 .sw-click-to-tweet .sw-ctt-text,a.style4:hover .sw-click-to-tweet .sw-ctt-btn,a.style4:hover .sw-click-to-tweet .sw-ctt-text,a.style5 .sw-click-to-tweet .sw-ctt-btn,a.style5 .sw-click-to-tweet .sw-ctt-text,a.style5:hover .sw-click-to-tweet .sw-ctt-btn,a.style5:hover .sw-click-to-tweet .sw-ctt-text{color:#fff;text-decoration:none}a.style4 .sw-click-to-tweet i.sw-twitter,a.style5 .sw-click-to-tweet i.sw-twitter{color:#fff}a.style6 .sw-click-to-tweet .sw-ctt-btn,a.style6 .sw-click-to-tweet .sw-ctt-text{color:#30394f;text-decoration:none}a.style6:hover .sw-click-to-tweet .sw-ctt-btn,a.style6:hover .sw-click-to-tweet .sw-ctt-text,a.style6:hover .sw-click-to-tweet i.sw-twitter{color:#2a2d34;text-decoration:none}.scale-70{-ms-transform:scale(.7);-webkit-transform:scale(.7);transform:scale(.7)}.nc_socialPanel:not(.nc_floater).scale-70.scale-fullWidth{width:142.8571428571429%!important}.scale-80{-ms-transform:scale(.8);-webkit-transform:scale(.8);transform:scale(.8)}.nc_socialPanel:not(.nc_floater).scale-80.scale-fullWidth{width:125%!important}.scale-90{-ms-transform:scale(.9);-webkit-transform:scale(.9);transform:scale(.9)}.nc_socialPanel:not(.nc_floater).scale-90.scale-fullWidth{width:111.111111111111%!important}.scale-110{-ms-transform:scale(1.1);-webkit-transform:scale(1.1);transform:scale(1.1)}.nc_socialPanel:not(.nc_floater).scale-110.scale-fullWidth{width:90.90909090909091%!important}.scale-120{-ms-transform:scale(1.2);-webkit-transform:scale(1.2);transform:scale(1.2)}.nc_socialPanel:not(.nc_floater).scale-120.scale-fullWidth{width:83.33333333333333%!important}.scale-130{-ms-transform:scale(1.3);-webkit-transform:scale(1.3);transform:scale(1.3)}.nc_socialPanel:not(.nc_floater).scale-130.scale-fullWidth{width:76.92307692307692%!important}.scale-140{-ms-transform:scale(1.4);-webkit-transform:scale(1.4);transform:scale(1.4)}.nc_socialPanel:not(.nc_floater).scale-140.scale-fullWidth{width:71.42857142857143%!important}.nc_floater.scale-center,.nc_floater.scale-right,.scale-fullWidth,.scale-left{-ms-transform-origin:left;-webkit-transform-origin:left;transform-origin:left}.scale-right{-ms-transform-origin:right;-webkit-transform-origin:right;transform-origin:right}.scale-center{-ms-transform-origin:center;-webkit-transform-origin:center;transform-origin:center}div.nc_socialPanel .nc_tweetContainer.swp_emphasize{-webkit-box-flex:2;-moz-box-flex:2;-webkit-flex:2;-ms-flex:2;flex:2}.sw-pinit.aligncenter{margin:0 auto}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){div.sw-pinit{display:inline-block!important;max-width:100%}}
1
+ .nc_socialPanel{clear:both;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;height:32px;line-height:1;margin-bottom:20px!important;margin-top:20px!important;overflow:hidden;padding:0;-webkit-align-items:stretch;align-items:stretch;-webkit-box-align:stretch;-moz-box-align:stretch;-webkit-box-pack:justify;-moz-box-pack:justify;-ms-flex-align:stretch;-ms-flex-line-pack:center;-ms-flex-pack:justify;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-justify-content:space-between;justify-content:space-between}.nc_socialPanel:not(.nc_floater):not(.nc_socialPanelSide){width:100%!important}.nc_wrapper .nc_socialPanel{margin-bottom:10px!important;margin-top:10px!important}div.nc_socialPanel .nc_tweetContainer{-webkit-border-radius:2px;border-radius:2px;cursor:pointer;float:left;font-family:Lato;height:32px;margin:0 5px;min-width:34px;overflow:hidden;text-align:center;-webkit-transition:all .1s linear;transition:all .1s linear;border-size:1px}div.nc_socialPanel:not(.nc_socialPanelSide) .nc_tweetContainer{-webkit-box-flex:1;-moz-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.nc_socialPanel .nc_tweetContainer a.nc_tweet,.nc_socialPanel .totes .swp_count{display:block;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;font-family:Lato,sans-serif;font-size:18px!important;font-weight:700;height:30px;text-decoration:none;text-decoration:none!important;text-transform:none;-webkit-box-direction:normal;-moz-box-direction:normal;-webkit-box-orient:horizontal;-moz-box-orient:horizontal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap}.nc_socialPanel:not(.nc_socialPanelSide) .nc_tweetContainer:nth-child(1){margin-left:0}.nc_socialPanel:not(.nc_socialPanelSide) .nc_tweetContainer:nth-last-child(1){margin-right:0}.nc_socialPanel a .swp_count:not(.swp_hide){display:inline-block;line-height:32px;margin:0;padding:0 5px;-webkit-box-flex:1;-moz-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.nc_socialPanel .totes .swp_count,span.swp_share{line-height:30px}.nc_socialPanel a .swp_count.swp_hide{margin:0 auto}.nc_socialPanel span:before{content:initial!important}.nc_socialPanel span.swp_count{font-size:14px}.nc_socialPanel span.iconFiller{font-size:18px;margin:0 auto}.nc_socialPanel.notMobile .nc_tweetContainer:nth-child(1){margin-left:0}.nc_socialPanel:not(.nc_socialPanelSide){-webkit-transition:opacity .2s ease-in-out;transition:opacity .2s ease-in-out}.nc_socialPanel:not(.nc_socialPanelSide) div.totes.totesalt:nth-child(1){margin-left:0;margin-right:15px;padding-left:0}.nc_socialPanel:not(.nc_socialPanelSide) div.totes.totesalt:nth-last-child(1){margin-right:0;padding-right:0}a.swp_CTT{cursor:pointer}span.swp_share{display:block;float:right;float:left;font-size:14px;font-weight:400;height:30px;margin:0 0 0 6px;max-width:none!important;vertical-align:middle}.nc_socialPanelSide span.swp_share{margin:0}.nc_socialPanel .sw{float:left;height:30px;line-height:32px;margin:0 5px;text-shadow:none!important;width:20px}.iconFiller{display:block;float:left;height:30px;overflow:hidden;-webkit-transition:width .1s linear;transition:width .1s linear}.nc_socialPanel .iconFiller{width:30px}span.spaceManWilly{display:block;width:120px}.nc_socialPanel .totes{background:#c4c4c4;border:1px solid #e08a0f;-webkit-border-radius:2px;border-radius:2px;color:#fff;cursor:default;display:block;font-size:19px;padding:0 10px;-webkit-box-flex:0!important;-moz-box-flex:0!important;-webkit-flex:none!important;-ms-flex:none!important;flex:none!important}.nc_socialPanel div.totes.totesalt,.nc_socialPanel:hover div.totes.totesalt:not(:nth-child(1)){background:0 0!important;border:none;color:#474b4d;margin-left:0!important}div.nc_socialPanel:hover div.totes.totesalt:not(:nth-child(1)){background:0 0;color:#474b4d;margin-left:10px}.nc_socialPanel .totes.totesalt .swp_label{color:#474b4d;font-size:10px;vertical-align:middle}.nc_socialPanel .totes .swp_label{font-size:10px;vertical-align:middle}.nc_socialPanel .totes.totesalt .swp_count{color:#474b4d;font-size:24px}.nc_socialPanel.swp_customFull:hover div.totes,.nc_socialPanel.swp_fade .totes,.nc_socialPanel.swp_fullColor .totes,.nc_socialPanel:hover .totes{background:#e08a0f}.nc_socialPanel:not(.nc_socialPanelSide) .nc_tweetContainer.totes.totesalt:before{content:"o";display:inline-block;font-family:sw-icon-font;margin-top:7px;vertical-align:top}.nc_socialPanel:not(.nc_socialPanelSide) .totes.totesalt .swp_count{display:inline-block;line-height:0;margin-left:10px;margin-top:12px;min-width:35px;position:relative;vertical-align:middle}span.swp_label{display:block;font-size:9px!important;margin-top:13px;position:absolute;text-align:center!important;text-transform:uppercase}.nc_socialPanelSide span.swp_label{margin-top:0}.nc_socialPanel.swp_leaf .nc_tweetContainer{-webkit-border-radius:15px 0;border-radius:15px 0;border-width:1px}.nc_socialPanel.swp_pill .nc_tweetContainer{-webkit-border-radius:50px;border-radius:50px;border-width:1px}.nc_socialPanel.swp_shift .nc_tweetContainer:not(.totes){border-width:1px;-moz-transform:skew(-25deg);-o-transform:skew(-25deg);-webkit-transform:skew(-25deg)}.nc_socialPanel.swp_shift .nc_tweetContainer a{-moz-transform:skew(25deg);-o-transform:skew(25deg);-webkit-transform:skew(25deg)}.swp_connected .nc_tweetContainer,.swp_connected .nc_tweetContainer:hover,.swp_connected:hover .nc_tweetContainer{-webkit-border-radius:0!important;border-radius:0!important;border-width:1px;margin:0!important}.nc_socialPanel.swp_flatFresh.swp_d_fullColor .googlePlus,body .nc_socialPanel.swp_flatFresh.swp_o_fullColor:hover .googlePlus:not(:hover),html body .nc_socialPanel.swp_flatFresh.swp_i_fullColor .googlePlus:hover{border:1px solid #df4b37}.nc_socialPanel.swp_flatFresh.swp_d_fullColor .twitter,body .nc_socialPanel.swp_flatFresh.swp_o_fullColor:hover .twitter:not(:hover),html body .nc_socialPanel.swp_flatFresh.swp_i_fullColor .twitter:hover{border:1px solid #429cd6}.nc_socialPanel.swp_flatFresh.swp_d_fullColor .swp_fb,body .nc_socialPanel.swp_flatFresh.swp_o_fullColor:hover .swp_fb:not(:hover),html body .nc_socialPanel.swp_flatFresh.swp_i_fullColor .swp_fb:hover{border:1px solid #3a589e}.nc_socialPanel.swp_flatFresh.swp_d_fullColor .nc_pinterest,body .nc_socialPanel.swp_flatFresh.swp_o_fullColor:hover .nc_pinterest:not(:hover),html body .nc_socialPanel.swp_flatFresh.swp_i_fullColor .nc_pinterest:hover{border:1px solid #cd2029}.nc_socialPanel.swp_flatFresh.swp_d_fullColor .linkedIn,body .nc_socialPanel.swp_flatFresh.swp_o_fullColor:hover .linkedIn:not(:hover),html body .nc_socialPanel.swp_flatFresh.swp_i_fullColor .linkedIn:hover{border:1px solid #0d77b7}.nc_socialPanel.swp_flatFresh.swp_d_fullColor .swp_tumblr,body .nc_socialPanel.swp_flatFresh.swp_o_fullColor:hover .swp_tumblr:not(:hover),html body .nc_socialPanel.swp_flatFresh.swp_i_fullColor .swp_tumblr:hover{border:1px solid #39475d}.nc_socialPanel.swp_flatFresh.swp_d_fullColor .swp_stumbleupon,body .nc_socialPanel.swp_flatFresh.swp_o_fullColor:hover .swp_stumbleupon:not(:hover),html body .nc_socialPanel.swp_flatFresh.swp_i_fullColor .swp_stumbleupon:hover{border:1px solid #ef5025}.nc_socialPanel.swp_flatFresh.swp_d_fullColor .swp_yummly,body .nc_socialPanel.swp_flatFresh.swp_o_fullColor:hover .swp_yummly:not(:hover),html body .nc_socialPanel.swp_flatFresh.swp_i_fullColor .swp_yummly:hover{border:1px solid #e26426}.nc_socialPanel.swp_flatFresh.swp_d_fullColor .swp_reddit,body .nc_socialPanel.swp_flatFresh.swp_o_fullColor:hover .swp_reddit:not(:hover),html body .nc_socialPanel.swp_flatFresh.swp_i_fullColor .swp_reddit:hover{border:1px solid #f04b23}.nc_socialPanel.swp_flatFresh.swp_d_fullColor .swp_email,body .nc_socialPanel.swp_flatFresh.swp_o_fullColor:hover .swp_email:not(:hover),html body .nc_socialPanel.swp_flatFresh.swp_i_fullColor .swp_email:hover{border:1px solid #6bcce9}.nc_socialPanel.swp_flatFresh.swp_d_fullColor .swp_whatsapp,body .nc_socialPanel.swp_flatFresh.swp_o_fullColor:hover .swp_whatsapp:not(:hover),html body .nc_socialPanel.swp_flatFresh.swp_i_fullColor .swp_whatsapp:hover{border:1px solid #71c169}.nc_socialPanel.swp_flatFresh.swp_d_fullColor .swp_pocket,body .nc_socialPanel.swp_flatFresh.swp_o_fullColor:hover .swp_pocket:not(:hover),html body .nc_socialPanel.swp_flatFresh.swp_i_fullColor .swp_pocket:hover{border:1px solid #ef4056}.nc_socialPanel.swp_flatFresh.swp_d_fullColor .swp_buffer,body .nc_socialPanel.swp_flatFresh.swp_o_fullColor:hover .swp_buffer:not(:hover),html body .nc_socialPanel.swp_flatFresh.swp_i_fullColor .swp_buffer:hover{border:1px solid #323b43}.nc_socialPanel.swp_flatFresh.swp_d_fullColor .swp_hacker_news,body .nc_socialPanel.swp_flatFresh.swp_o_fullColor:hover .swp_hacker_news:not(:hover),html body .nc_socialPanel.swp_flatFresh.swp_i_fullColor .swp_hacker_news:hover{border:1px solid #d85623}.nc_socialPanel.swp_flatFresh.swp_d_fullColor .swp_flipboard,body .nc_socialPanel.swp_flatFresh.swp_o_fullColor:hover .swp_flipboard:not(:hover),html body .nc_socialPanel.swp_flatFresh.swp_i_fullColor .swp_flipboard:hover{border:1px solid #bf2626}.nc_socialPanel.swp_d_fullColor .googlePlus,body .nc_socialPanel.swp_o_fullColor:hover .googlePlus,html body .nc_socialPanel.swp_i_fullColor .googlePlus:hover{background:#df4b37;border:1px solid #c44133}.nc_socialPanel.swp_d_fullColor .twitter,body .nc_socialPanel.swp_o_fullColor:hover .twitter,html body .nc_socialPanel.swp_i_fullColor .twitter:hover{background:#429cd6;border:1px solid #3c87b2}.nc_socialPanel.swp_d_fullColor .swp_fb,body .nc_socialPanel.swp_o_fullColor:hover .swp_fb,html body .nc_socialPanel.swp_i_fullColor .swp_fb:hover{background:#3a589e;border:1px solid #2e4675}.nc_socialPanel.swp_d_fullColor .nc_pinterest,body .nc_socialPanel.swp_o_fullColor:hover .nc_pinterest,html body .nc_socialPanel.swp_i_fullColor .nc_pinterest:hover{background:#cd2029;border:1px solid #aa1b29}.nc_socialPanel.swp_d_fullColor .linkedIn,body .nc_socialPanel.swp_o_fullColor:hover .linkedIn,html body .nc_socialPanel.swp_i_fullColor .linkedIn:hover{background:#0d77b7;border:1px solid #0c6591}.nc_socialPanel.swp_d_fullColor .swp_tumblr,body .nc_socialPanel.swp_o_fullColor:hover .swp_tumblr,html body .nc_socialPanel.swp_i_fullColor .swp_tumblr:hover{background:#39475d;border:1px solid #27313f}.nc_socialPanel.swp_d_fullColor .swp_stumbleupon,body .nc_socialPanel.swp_o_fullColor:hover .swp_stumbleupon,html body .nc_socialPanel.swp_i_fullColor .swp_stumbleupon:hover{background:#ef5025;border:1px solid #d34427}.nc_socialPanel.swp_d_fullColor .swp_yummly,body .nc_socialPanel.swp_o_fullColor:hover .swp_yummly,html body .nc_socialPanel.swp_i_fullColor .swp_yummly:hover{background:#e26426;border:1px solid #b65027}.nc_socialPanel.swp_d_fullColor .swp_reddit,body .nc_socialPanel.swp_o_fullColor:hover .swp_reddit,html body .nc_socialPanel.swp_i_fullColor .swp_reddit:hover{background:#f04b23;border:1px solid #d33f27}.nc_socialPanel.swp_d_fullColor .swp_email,body .nc_socialPanel.swp_o_fullColor:hover .swp_email,html body .nc_socialPanel.swp_i_fullColor .swp_email:hover{background:#6bcce9;border:1px solid #61bace}.nc_socialPanel.swp_d_fullColor .swp_whatsapp,body .nc_socialPanel.swp_o_fullColor:hover .swp_whatsapp,html body .nc_socialPanel.swp_i_fullColor .swp_whatsapp:hover{background:#71c169;border:1px solid #28b04b}.nc_socialPanel.swp_d_fullColor .swp_pocket,body .nc_socialPanel.swp_o_fullColor:hover .swp_pocket,html body .nc_socialPanel.swp_i_fullColor .swp_pocket:hover{background:#ef4056;border:1px solid #ce3d55}.nc_socialPanel.swp_d_fullColor .swp_buffer,body .nc_socialPanel.swp_o_fullColor:hover .swp_buffer,html body .nc_socialPanel.swp_i_fullColor .swp_buffer:hover{background:#323b43;border:1px solid #000}.nc_socialPanel.swp_d_fullColor .swp_hacker_news,body .nc_socialPanel.swp_o_fullColor:hover .swp_hacker_news,html body .nc_socialPanel.swp_i_fullColor .swp_hacker_news:hover{background:#f16522;border:1px solid #d85623}.nc_socialPanel.swp_d_fullColor .swp_flipboard,body .nc_socialPanel.swp_o_fullColor:hover .swp_flipboard,html body .nc_socialPanel.swp_i_fullColor .swp_flipboard:hover{background:#e02828;border:1px solid #bf2626}.nc_socialPanel.swp_threeDee.swp_d_fullColor .googlePlus,body .nc_socialPanel.swp_threeDee.swp_o_fullColor:hover .googlePlus,html body .nc_socialPanel.swp_threeDee.swp_i_fullColor .googlePlus:hover{border-bottom:3px solid #c44133}.nc_socialPanel.swp_threeDee.swp_d_fullColor .twitter,body .nc_socialPanel.swp_threeDee.swp_o_fullColor:hover .twitter,html body .nc_socialPanel.swp_threeDee.swp_i_fullColor .twitter:hover{border-bottom:3px solid #5595bc}.nc_socialPanel.swp_threeDee.swp_d_fullColor .swp_fb,body .nc_socialPanel.swp_threeDee.swp_o_fullColor:hover .swp_fb,html body .nc_socialPanel.swp_threeDee.swp_i_fullColor .swp_fb:hover{border-bottom:3px solid #2e4675}.nc_socialPanel.swp_threeDee.swp_d_fullColor .nc_pinterest,body .nc_socialPanel.swp_threeDee.swp_o_fullColor:hover .nc_pinterest,html body .nc_socialPanel.swp_threeDee.swp_i_fullColor .nc_pinterest:hover{border-bottom:3px solid #aa1b29}.nc_socialPanel.swp_threeDee.swp_d_fullColor .linkedIn,body .nc_socialPanel.swp_threeDee.swp_o_fullColor:hover .linkedIn,html body .nc_socialPanel.swp_threeDee.swp_i_fullColor .linkedIn:hover{border-bottom:3px solid #0c6591}.nc_socialPanel.swp_threeDee.swp_d_fullColor .swp_tumblr,body .nc_socialPanel.swp_threeDee.swp_o_fullColor:hover .swp_tumblr,html body .nc_socialPanel.swp_threeDee.swp_i_fullColor .swp_tumblr:hover{border-bottom:3px solid #27313f}.nc_socialPanel.swp_threeDee.swp_d_fullColor .swp_stumbleupon,body .nc_socialPanel.swp_threeDee.swp_o_fullColor:hover .swp_stumbleupon,html body .nc_socialPanel.swp_threeDee.swp_i_fullColor .swp_stumbleupon:hover{border-bottom:3px solid #d34427}.nc_socialPanel.swp_threeDee.swp_d_fullColor .swp_yummly,body .nc_socialPanel.swp_threeDee.swp_o_fullColor:hover .swp_yummly,html body .nc_socialPanel.swp_threeDee.swp_i_fullColor .swp_yummly:hover{border-bottom:3px solid #b65027}.nc_socialPanel.swp_threeDee.swp_d_fullColor .swp_reddit,body .nc_socialPanel.swp_threeDee.swp_o_fullColor:hover .swp_reddit,html body .nc_socialPanel.swp_threeDee.swp_i_fullColor .swp_reddit:hover{border-bottom:3px solid #d33f27}.nc_socialPanel.swp_threeDee.swp_d_fullColor .swp_email,body .nc_socialPanel.swp_threeDee.swp_o_fullColor:hover .swp_email,html body .nc_socialPanel.swp_threeDee.swp_i_fullColor .swp_email:hover{border-bottom:3px solid #61bace}.nc_socialPanel.swp_threeDee.swp_d_fullColor .swp_whatsapp,body .nc_socialPanel.swp_threeDee.swp_o_fullColor:hover .swp_whatsapp,html body .nc_socialPanel.swp_threeDee.swp_i_fullColor .swp_whatsapp:hover{border-bottom:3px solid #28b04b}.nc_socialPanel.swp_threeDee.swp_d_fullColor .swp_pocket,body .nc_socialPanel.swp_threeDee.swp_o_fullColor:hover .swp_pocket,html body .nc_socialPanel.swp_threeDee.swp_i_fullColor .swp_pocket:hover{border-bottom:3px solid #ce3d55}.nc_socialPanel.swp_threeDee.swp_d_fullColor .swp_buffer,body .nc_socialPanel.swp_threeDee.swp_o_fullColor:hover .swp_buffer,html body .nc_socialPanel.swp_threeDee.swp_i_fullColor .swp_buffer:hover{border-bottom:3px solid #000}.nc_socialPanel.swp_threeDee.swp_d_fullColor .swp_hacker_news,body .nc_socialPanel.swp_threeDee.swp_o_fullColor:hover .swp_hacker_news,html body .nc_socialPanel.swp_threeDee.swp_i_fullColor .swp_hacker_news:hover{border-bottom:3px solid #d85623}.nc_socialPanel.swp_threeDee.swp_d_fullColor .swp_flipboard,body .nc_socialPanel.swp_threeDee.swp_o_fullColor:hover .swp_flipboard,html body .nc_socialPanel.swp_threeDee.swp_i_fullColor .swp_flipboard:hover{border-bottom:3px solid #bf2626}.nc_socialPanel.swp_d_lightGray .nc_tweetContainer,body .nc_socialPanel.swp_o_lightGray:hover .nc_tweetContainer,html body .nc_socialPanel.swp_i_lightGray .nc_tweetContainer:hover{background-color:#ccc;border:1px solid #ccc}.nc_socialPanel.swp_threeDee.swp_d_lightGray .nc_tweetContainer:not(.totesalt),body .nc_socialPanel.swp_threeDee.swp_o_lightGray:hover .nc_tweetContainer:not(.totesalt),html body .nc_socialPanel.swp_threeDee.swp_i_lightGray .nc_tweetContainer:not(.totesalt):hover{border-bottom:3px solid #999}.nc_socialPanel.swp_d_mediumGray .nc_tweetContainer,body .nc_socialPanel.swp_o_mediumGray:hover .nc_tweetContainer,html body .nc_socialPanel.swp_i_mediumGray .nc_tweetContainer:hover{background-color:#999;border:1px solid #999}.nc_socialPanel.swp_threeDee.swp_d_mediumGray .nc_tweetContainer:not(.totesalt),body .nc_socialPanel.swp_threeDee.swp_o_mediumGray:hover .nc_tweetContainer:not(.totesalt),html body .nc_socialPanel.swp_threeDee.swp_i_mediumGray .nc_tweetContainer:not(.totesalt):hover{border-bottom:3px solid #444}.nc_socialPanel.swp_d_darkGray .nc_tweetContainer,body .nc_socialPanel.swp_o_darkGray:hover .nc_tweetContainer,html body .nc_socialPanel.swp_i_darkGray .nc_tweetContainer:hover{background-color:#444;border:1px solid #444}.nc_socialPanel.swp_threeDee.swp_d_darkGray .nc_tweetContainer:not(.totesalt),body .nc_socialPanel.swp_threeDee.swp_o_darkGray:hover .nc_tweetContainer:not(.totesalt),html body .nc_socialPanel.swp_threeDee.swp_i_darkGray .nc_tweetContainer:not(.totesalt):hover{border-bottom:3px solid #222}.nc_socialPanel.swp_d_lgOutlines a,body .nc_socialPanel.swp_o_lgOutlines:hover a,html body .nc_socialPanel.swp_i_lgOutlines a:hover{color:#ccc}.nc_socialPanel.swp_d_lgOutlines .nc_tweetContainer,body .nc_socialPanel.swp_o_lgOutlines:hover .nc_tweetContainer,html body .nc_socialPanel.swp_i_lgOutlines .nc_tweetContainer:hover{background:0 0;border:1px solid #ccc}.nc_socialPanel.swp_d_mdOutlines a,body .nc_socialPanel.swp_o_mdOutlines:hover a,html body .nc_socialPanel.swp_i_mdOutlines a:hover{color:#999}.nc_socialPanel.swp_d_mdOutlines .nc_tweetContainer,body .nc_socialPanel.swp_o_mdOutlines:hover .nc_tweetContainer,html body .nc_socialPanel.swp_i_mdOutlines .nc_tweetContainer:hover{background:0 0;border:1px solid #999}.nc_socialPanel.swp_d_dgOutlines a,body .nc_socialPanel.swp_o_dgOutlines:hover a,html body .nc_socialPanel.swp_i_dgOutlines a:hover{color:#444}.nc_socialPanel.swp_d_dgOutlines .nc_tweetContainer,body .nc_socialPanel.swp_o_dgOutlines:hover .nc_tweetContainer,html body .nc_socialPanel.swp_i_dgOutlines .nc_tweetContainer:hover{background:0 0;border:1px solid #444}.nc_socialPanel.swp_d_colorOutlines .googlePlus a,body .nc_socialPanel.swp_o_colorOutlines:hover .googlePlus a,html body .nc_socialPanel.swp_i_colorOutlines .googlePlus a:hover{color:#df4b37}.nc_socialPanel.swp_d_colorOutlines .swp_fb a,body .nc_socialPanel.swp_o_colorOutlines:hover .swp_fb a,html body .nc_socialPanel.swp_i_colorOutlines .swp_fb a:hover{color:#3a589e}.nc_socialPanel.swp_d_colorOutlines .nc_pinterest a,body .nc_socialPanel.swp_o_colorOutlines:hover .nc_pinterest a,html body .nc_socialPanel.swp_i_colorOutlines .nc_pinterest a:hover{color:#cd2029}.nc_socialPanel.swp_d_colorOutlines .linkedIn a,body .nc_socialPanel.swp_o_colorOutlines:hover .linkedIn a,html body .nc_socialPanel.swp_i_colorOutlines .linkedIn a:hover{color:#0d77b7}.nc_socialPanel.swp_d_colorOutlines .swp_tumblr a,body .nc_socialPanel.swp_o_colorOutlines:hover .swp_tumblr a,html body .nc_socialPanel.swp_i_colorOutlines .swp_tumblr a:hover{color:#39475d}.nc_socialPanel.swp_d_colorOutlines .swp_stumbleupon a,body .nc_socialPanel.swp_o_colorOutlines:hover .swp_stumbleupon a,html body .nc_socialPanel.swp_i_colorOutlines .swp_stumbleupon a:hover{color:#ef5025}.nc_socialPanel.swp_d_colorOutlines .swp_yummly a,body .nc_socialPanel.swp_o_colorOutlines:hover .swp_yummly a,html body .nc_socialPanel.swp_i_colorOutlines .swp_yummly a:hover{color:#e26426}.nc_socialPanel.swp_d_colorOutlines .swp_whatsapp a,body .nc_socialPanel.swp_o_colorOutlines:hover .swp_whatsapp a,html body .nc_socialPanel.swp_i_colorOutlines .swp_whatsapp a:hover{color:#71c169}.nc_socialPanel.swp_d_colorOutlines .swp_pocket a,body .nc_socialPanel.swp_o_colorOutlines:hover .swp_pocket a,html body .nc_socialPanel.swp_i_colorOutlines .swp_pocket a:hover{color:#ef4056}.nc_socialPanel.swp_d_colorOutlines .swp_reddit a,body .nc_socialPanel.swp_o_colorOutlines:hover .swp_reddit a,html body .nc_socialPanel.swp_i_colorOutlines .swp_reddit a:hover{color:#f04b23}.nc_socialPanel.swp_d_colorOutlines .swp_email a,body .nc_socialPanel.swp_o_colorOutlines:hover .swp_email a,html body .nc_socialPanel.swp_i_colorOutlines .swp_email a:hover{color:#6bcce9}.nc_socialPanel.swp_d_colorOutlines .swp_buffer a,body .nc_socialPanel.swp_o_colorOutlines:hover .swp_buffer a,html body .nc_socialPanel.swp_i_colorOutlines .swp_buffer a:hover{color:#323b43}.nc_socialPanel.swp_d_colorOutlines .swp_hacker_news a,body .nc_socialPanel.swp_o_colorOutlines:hover .swp_hacker_news a,html body .nc_socialPanel.swp_i_colorOutlines .swp_hacker_news a:hover{color:#f16522}.nc_socialPanel.swp_d_colorOutlines .swp_flipboard a,body .nc_socialPanel.swp_o_colorOutlines:hover .swp_flipboard a,html body .nc_socialPanel.swp_i_colorOutlines .swp_flipboard a:hover{color:#e02828}.nc_socialPanel.swp_d_colorOutlines .googlePlus,body .nc_socialPanel.swp_o_colorOutlines:hover .googlePlus,html body .nc_socialPanel.swp_i_colorOutlines .googlePlus:hover{background:0 0;border:1px solid #df4b37}.nc_socialPanel.swp_d_colorOutlines .twitter,body .nc_socialPanel.swp_o_colorOutlines:hover .twitter,html body .nc_socialPanel.swp_i_colorOutlines .twitter:hover{background:0 0;border:1px solid #429cd6}.nc_socialPanel.swp_d_colorOutlines .swp_fb,body .nc_socialPanel.swp_o_colorOutlines:hover .swp_fb,html body .nc_socialPanel.swp_i_colorOutlines .swp_fb:hover{background:0 0;border:1px solid #3a589e}.nc_socialPanel.swp_d_colorOutlines .nc_pinterest,body .nc_socialPanel.swp_o_colorOutlines:hover .nc_pinterest,html body .nc_socialPanel.swp_i_colorOutlines .nc_pinterest:hover{background:0 0;border:1px solid #cd2029}.nc_socialPanel.swp_d_colorOutlines .linkedIn,body .nc_socialPanel.swp_o_colorOutlines:hover .linkedIn,html body .nc_socialPanel.swp_i_colorOutlines .linkedIn:hover{background:0 0;border:1px solid #0d77b7}.nc_socialPanel.swp_d_colorOutlines .swp_tumblr,body .nc_socialPanel.swp_o_colorOutlines:hover .swp_tumblr,html body .nc_socialPanel.swp_i_colorOutlines .swp_tumblr:hover{background:0 0;border:1px solid #39475d}.nc_socialPanel.swp_d_colorOutlines .swp_stumbleupon,body .nc_socialPanel.swp_o_colorOutlines:hover .swp_stumbleupon,html body .nc_socialPanel.swp_i_colorOutlines .swp_stumbleupon:hover{background:0 0;border:1px solid #ef5025}.nc_socialPanel.swp_d_colorOutlines .swp_yummly,body .nc_socialPanel.swp_o_colorOutlines:hover .swp_yummly,html body .nc_socialPanel.swp_i_colorOutlines .swp_yummly:hover{background:0 0;border:1px solid #e26426}.nc_socialPanel.swp_d_colorOutlines .swp_whatsapp,body .nc_socialPanel.swp_o_colorOutlines:hover .swp_whatsapp,html body .nc_socialPanel.swp_i_colorOutlines .swp_whatsapp:hover{background:0 0;border:1px solid #71c169}.nc_socialPanel.swp_d_colorOutlines .swp_reddit,body .nc_socialPanel.swp_o_colorOutlines:hover .swp_reddit,html body .nc_socialPanel.swp_i_colorOutlines .swp_reddit:hover{background:0 0;border:1px solid #f04b23}.nc_socialPanel.swp_d_colorOutlines .swp_email,body .nc_socialPanel.swp_o_colorOutlines:hover .swp_email,html body .nc_socialPanel.swp_i_colorOutlines .swp_email:hover{background:0 0;border:1px solid #6bcce9}.nc_socialPanel.swp_d_colorOutlines .swp_pocket,body .nc_socialPanel.swp_o_colorOutlines:hover .swp_pocket,html body .nc_socialPanel.swp_i_colorOutlines .swp_pocket:hover{background:0 0;border:1px solid #ef4056}.nc_socialPanel.swp_d_colorOutlines .swp_buffer,body .nc_socialPanel.swp_o_colorOutlines:hover .swp_buffer,html body .nc_socialPanel.swp_i_colorOutlines .swp_buffer:hover{background:0 0;border:1px solid #323b43}.nc_socialPanel.swp_d_colorOutlines .swp_hacker_news,body .nc_socialPanel.swp_o_colorOutlines:hover .swp_hacker_news,html body .nc_socialPanel.swp_i_colorOutlines .swp_hacker_news:hover{background:0 0;border:1px solid #f16522}.nc_socialPanel.swp_d_colorOutlines .swp_flipboard,body .nc_socialPanel.swp_o_colorOutlines:hover .swp_flipboard,html body .nc_socialPanel.swp_i_colorOutlines .swp_flipboard:hover{background:0 0;border:1px solid #bf2626}.nc_socialPanelSide{flex-direction:column;height:auto;overflow:visible;top:200px;-webkit-transition:all .2s linear;transition:all .2s linear;width:100px!important;z-index:9999999;-webkit-box-direction:normal;-moz-box-direction:normal;-webkit-box-orient:vertical;-moz-box-orient:vertical;-webkit-flex-direction:column;-ms-flex-direction:column}.nc_socialPanelSide.slide{position:fixed;left:-100px;-webkit-transition:all .2s linear;transition:all .2s linear}.nc_socialPanelSide.fade{display:none;position:fixed;left:5px;-webkit-transition:all .2s linear;transition:all .2s linear}.nc_socialPanelSide .nc_tweetContainer{background:#dd4b38;-webkit-border-radius:3px;border-radius:3px;clear:both;display:block;font-family:Lato,sans-serif;height:32px;margin:3px 0!important;overflow:hidden;padding:0;-webkit-transition:all .1s linear;transition:all .1s linear;vertical-align:top;width:90px}.nc_socialPanelSide .nc_tweetContainer .iconFiller{display:inline-block;height:40px;margin:0 6px;padding:0;-webkit-transition:all .1s linear;transition:all .1s linear;vertical-align:middle;width:21px}.nc_socialPanelSide .nc_tweetContainer .swp_count{display:inline-block;font-size:14px;height:32px;line-height:35px;margin:0;overflow:hidden;padding:0;text-align:right;-webkit-transition:all .1s linear;transition:all .1s linear;vertical-align:top;width:0}.nc_socialPanelSide .nc_tweetContainer a{cursor:pointer;display:block;font-weight:500;height:36px;margin:0;padding:0;text-decoration:none;-webkit-transition:all .1s linear;transition:all .1s linear;vertical-align:top}.nc_socialPanelSide .nc_tweetContainer .sw,.nc_socialPanelSide .nc_tweetContainer .swp_share{float:left;line-height:34px}.nc_socialPanelSide.swp_default .nc_tweetContainer .sw{line-height:32px}.nc_socialPanelSide.swp_default .nc_tweetContainer .swp_share{line-height:30px}.nc_socialPanelSide .nc_tweetContainer .swp_share{font-size:13px}.nc_socialPanelSide .nc_tweetContainer:hover,.nc_socialPanelSide .nc_tweetContainer:hover .iconFiller,.nc_socialPanelSide .nc_tweetContainer:hover .swp_count{-webkit-transition:all .1s linear;transition:all .1s linear}.nc_socialPanelSide.swp_boxed{-ms-transform:scale(.9);-webkit-transform:scale(.9);transform:scale(.9)}.nc_socialPanelSide.swp_boxed .nc_tweetContainer{margin-bottom:5px}.nc_socialPanelSide.swp_boxed .nc_tweetContainer,.nc_socialPanelSide.swp_boxed .nc_tweetContainer a{height:75px;position:relative;width:75px}.nc_socialPanelSide.swp_boxed .nc_tweetContainer i.sw{font-size:27px;height:40px;margin:0;padding-top:10px;text-align:center;width:100%}.nc_socialPanelSide.swp_boxed .nc_tweetContainer:not(.totes) span.swp_share{height:35px;opacity:0;position:absolute;bottom:0;left:0;text-align:center;width:75px}.nc_socialPanelSide.swp_boxed .nc_tweetContainer:not(.totes) span.swp_count{height:35px;margin:0;padding:0;position:absolute;bottom:0;left:0;text-align:center;-webkit-transition:padding .1s linear;transition:padding .1s linear;width:100%}.nc_socialPanelSide.swp_boxed .nc_tweetContainer span.swp_hide .iconFiller,.nc_socialPanelSide.swp_boxed .nc_tweetContainer span.swp_hide .spaceManWilly,.nc_socialPanelSide.swp_boxed .nc_tweetContainer:not(.totes) span.swp_count.swp_hide{height:75px;opacity:1}.nc_socialPanelSide.swp_boxed .nc_tweetContainer span.iconFiller{height:40px;width:75px}.nc_socialPanelSide.swp_boxed .nc_tweetContainer:not(.totes):hover span.swp_count:not(.swp_hide){opacity:0}.nc_socialPanelSide.swp_boxed .totes{padding:0;width:75px!important}.nc_socialPanelSide .nc_tweetContainer:not(.totes){line-height:34px}.nc_socialPanelSide:not(.swp_boxed) .nc_tweetContainer:not(.totes) .iconFiller{margin-left:2px;width:30px}.nc_socialPanelSide .nc_tweetContainer:not(.totes) .swp_count{padding:0 8px;width:48px}.nc_socialPanelSide .nc_tweetContainer:not(.totes) .swp_count.swp_hide{padding:0;width:100%}.nc_socialPanelSide .nc_tweetContainer:not(.totes) .swp_hide .iconFiller{display:block;float:none;margin:0 auto}.nc_socialPanelSide:not(.swp_boxed) .nc_tweetContainer:not(.totes):hover{width:150px}.nc_socialPanelSide .nc_tweetContainer:not(.totes) .spaceManWilly,.nc_socialPanelSide .nc_tweetContainer:not(.totes):hover .iconFiller{width:90px}.nc_socialPanelSide.swp_boxed .nc_tweetContainer:not(.totes) .spaceManWilly,.nc_socialPanelSide.swp_boxed .nc_tweetContainer:not(.totes):hover .iconFiller{width:100%}.nc_socialPanelSide .nc_tweetContainer.totes{background:rgba(0,0,0,0);border:0!important;font-weight:800;height:45px;margin:0;padding:0;text-align:center;width:90px}.nc_socialPanelSide .nc_tweetContainer.totes .swp_count{color:#444;display:block;font-family:Lato,sans-serif;height:28px;text-align:center;width:100%}.nc_socialPanelSide .nc_tweetContainer.totes .swp_label{color:#444;display:block;font-family:Lato,sans-serif;font-size:50%;position:relative;text-align:center;width:100%}.nc_wrapper{background:#fff;position:fixed;-webkit-transition:top .5s bottom .5s;transition:top .5s bottom .5s;width:100%;z-index:99999}.nc_wrapper.floatBottom{bottom:0;left:0}.nc_wrapper.floatTop{top:0;left:0}.nc_floater{margin:10px 0;position:relative;left:304px;width:740px}.nc_socialPanelSide.hideCounts a{text-align:center}.nc_socialPanelSide.hideCounts .iconFiller{float:none;text-align:left}.sw{display:inline-block;font-family:sw-icon-font!important;font-size:inherit;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-style:normal;font-weight:400;text-rendering:auto;-ms-transform:translate(0,0);-webkit-transform:translate(0,0);transform:translate(0,0)}.sw:before{display:block!important}.wp-editor-container .sw:before{font-size:18px;line-height:22px}.wp-editor-container .sw-social-warfare:before{color:#ee464f}.mce-container .sw-social-warfare{color:#ee464f;font-size:20px;margin-right:15px;vertical-align:middle}.sw-google-plus:before{content:"h"}.sw-pinterest:before{content:"b"}.sw-twitter:before{content:"s"}.sw-facebook:before{content:"j"}.sw-linkedin:before{content:"f"}.sw-tumblr:before{content:"r"}.sw-stumbleupon:before{content:"q"}.sw-reddit:before{content:"a"}.sw-email:before{content:"k"}.sw-yummly:before{content:"x"}.sw-whatsapp:before{content:"y"}.sw-pocket:before{content:"B"}.sw-buffer:before{content:"z"}.sw-hacker_news:before{content:"D"}.sw-flipboard:before{content:"C"}.sw-social-warfare:before{content:"p"}.sw-click-to-tweet:after,.sw-tweet-clear:after{content:".";height:0;clear:both;visibility:hidden;display:block}.swp_CTT{text-decoration:none!important}.sw-tweet-clear{zoom:1}.sw-click-to-tweet{display:block;margin:15px 0;padding:15px 30px;position:relative}.sw-click-to-tweet:after{line-height:0}.sw-click-to-tweet .sw-ctt-text{margin:0 0 10px;padding:0;position:relative;word-wrap:break-word}a .sw-click-to-tweet .sw-ctt-text{display:block;font-size:24px;font-weight:500;line-height:140%;margin:0;padding:0;position:relative;text-decoration:none;text-transform:none}.sw-click-to-tweet .sw-ctt-btn{display:block;float:right;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-weight:700;line-height:100%;margin:10px 0 0;padding:3px 5px 3px 3px;position:relative;text-decoration:none;text-transform:uppercase}.sw-click-to-tweet i.sw-twitter{float:right;font-size:21px;margin-left:15px;margin-top:2px;text-transform:none}a.swp_CTT.style1 .sw-click-to-tweet{background-color:#fff;border:1px solid #ddd;-webkit-border-radius:4px;border-radius:4px}a.swp_CTT.style2 .sw-click-to-tweet{background-color:#fff;border:4px double #ddd;-webkit-border-radius:0;border-radius:0}a.style2 .sw-click-to-tweet .sw-ctt-text{color:#666;font-style:italic;text-decoration:none}a.swp_CTT.style3:hover .sw-click-to-tweet{border-left:10px solid #3c87b2;padding-right:20px;-webkit-transition:all .25s linear;transition:all .25s linear}a.swp_CTT.style3 .sw-click-to-tweet{background-color:#429cd6;border:none;border-left:10px solid #429cd6;-webkit-border-radius:0;border-radius:0;padding-right:20px;-webkit-transition:all .25s linear;transition:all .25s linear}a.style3 .sw-click-to-tweet .sw-ctt-text{color:#fff;font-style:italic;text-decoration:none}a.swp_CTT.style4:hover .sw-click-to-tweet{border-left:10px solid #3c87b2;-webkit-transition:all .25s linear;transition:all .25s linear}a.swp_CTT.style4 .sw-click-to-tweet{background-color:#333;border-left:10px solid #c33;-webkit-border-radius:0;border-radius:0;-webkit-transition:all .25s linear;transition:all .25s linear}a.swp_CTT.style5:hover .sw-click-to-tweet{background-color:#d34250;border-left:10px solid #30394f;-webkit-transition:all .25s linear;transition:all .25s linear}a.swp_CTT.style5 .sw-click-to-tweet{background-color:#30394f;border-left:10px solid #d34250;-webkit-border-radius:0;border-radius:0;-webkit-transition:all .25s linear;transition:all .25s linear}a.swp_CTT.style6:hover .sw-click-to-tweet{background-color:#ced3dc;border-left:10px solid #d34250;-webkit-transition:all .25s linear;transition:all .25s linear}a.swp_CTT.style6 .sw-click-to-tweet{background-color:#eee;border-left:10px solid #d34250;-webkit-border-radius:0;border-radius:0;-webkit-transition:all .25s linear;transition:all .25s linear}a.style6 .sw-click-to-tweet i.sw-twitter{color:#30394f}.swp_pop_thumb{-webkit-border-radius:3px;border-radius:3px;float:left;height:100px;margin:5px 25px 5px 0;width:100px}.swp_popular_post{clear:both}.swp_clearfix:after{clear:both;content:" ";display:block;height:0;visibility:hidden}.swp_popular_post a.swp_popularity{border:none;display:block;line-height:1.5;margin:20px 0}span.swp_pop_count{display:block;font-size:70%}.swp_widget_box{-webkit-border-radius:3px;border-radius:3px}div.sw-pinit{display:table!important;line-height:0;position:relative!important}.nc_socialPanel.mobile .iconFiller~.swp_count,.sw-content-locator,div.nc_socialPanel .nc_tweetContainer.swp_whatsapp:not(.mobile){display:none}div.sw-pinit a.sw-pinit-button,div.sw-pinit a.sw-pinit-button:visited{background:#cd2029;border:1px solid #aa1b29;-webkit-border-radius:4px;border-radius:4px;color:#fff;font-size:20px;height:50px;line-height:45px;opacity:0;padding:0 30px;position:absolute;text-decoration:none;-webkit-transition:opacity .5s;transition:opacity .5s;z-index:200}.nc_socialPanelSide.swp_boxed .nc_tweetContainer:not(.totes) .swp_hide span.swp_share,.nc_socialPanelSide.swp_boxed .nc_tweetContainer:not(.totes):hover span.swp_share:not(.swp_hide),div.sw-pinit:focus a.sw-pinit-button,div.sw-pinit:hover a.sw-pinit-button{opacity:1}div.sw-pinit a.sw-pinit-button::before{color:#fff;content:"b";float:left;font-family:sw-icon-font;font-size:24px;font-weight:400;line-height:50px;margin-left:-5px;margin-right:10px}div.sw-pinit a.sw-pinit-button:hover::before{content:"F"}div.sw-pinit a.sw-pinit-button::focus,div.sw-pinit a.sw-pinit-button::hover{background:#aa1b29;color:#fff;text-decoration:none}div.sw-pinit .sw-pinit-left{left:30px}div.sw-pinit .sw-pinit-center{margin-left:-60px;left:50%}div.sw-pinit .sw-pinit-right{right:30px}div.sw-pinit .sw-pinit-top{top:30px}div.sw-pinit .sw-pinit-middle{margin-top:-25px;top:50%}div.sw-pinit .sw-pinit-bottom{bottom:30px}.mobile .nc_tweetContainer:nth-last-child(2),.nc_socialPanel.notMobile .nc_tweetContainer:nth-last-child(1),.nc_tweetContainer.totes:nth-last-child(1){margin-right:0}.nc_socialPanel.swp_d_darkGray a,.nc_socialPanel.swp_d_fullColor a,.nc_socialPanel.swp_d_lightGray a,.nc_socialPanel.swp_d_mediumGray a,body .nc_socialPanel.swp_o_darkGray:hover a,body .nc_socialPanel.swp_o_fullColor:hover a,body .nc_socialPanel.swp_o_lightGray:hover a,body .nc_socialPanel.swp_o_mediumGray:hover a,html body .nc_socialPanel.swp_i_darkGray a:hover,html body .nc_socialPanel.swp_i_fullColor .nc_tweetContainer:hover a,html body .nc_socialPanel.swp_i_lightGray .nc_tweetContainer:hover a,html body .nc_socialPanel.swp_i_mediumGray a:hover{color:#fff}.nc_socialPanel.swp_d_colorOutlines .twitter a,.wp-editor-container .sw-twitter:before,a.style1 .sw-click-to-tweet i.sw-twitter,a.style2 .sw-click-to-tweet i.sw-twitter,body .nc_socialPanel.swp_o_colorOutlines:hover .twitter a,html body .nc_socialPanel.swp_i_colorOutlines .twitter a:hover{color:#429cd6}a.style1 .sw-click-to-tweet .sw-ctt-btn,a.style1 .sw-click-to-tweet .sw-ctt-text{color:#999;text-decoration:none}a.style1:hover .sw-click-to-tweet .sw-ctt-btn,a.style1:hover .sw-click-to-tweet .sw-ctt-text,a.style2 .sw-click-to-tweet .sw-ctt-btn,a.style2:hover .sw-click-to-tweet .sw-ctt-btn,a.style2:hover .sw-click-to-tweet .sw-ctt-text{color:#666;text-decoration:none}a.style3 .sw-click-to-tweet .sw-ctt-btn,a.style3 .sw-click-to-tweet i.sw-twitter,a.style3:hover .sw-click-to-tweet .sw-ctt-btn,a.style3:hover .sw-click-to-tweet .sw-ctt-text,a.style4 .sw-click-to-tweet .sw-ctt-btn,a.style4 .sw-click-to-tweet .sw-ctt-text,a.style4:hover .sw-click-to-tweet .sw-ctt-btn,a.style4:hover .sw-click-to-tweet .sw-ctt-text,a.style5 .sw-click-to-tweet .sw-ctt-btn,a.style5 .sw-click-to-tweet .sw-ctt-text,a.style5:hover .sw-click-to-tweet .sw-ctt-btn,a.style5:hover .sw-click-to-tweet .sw-ctt-text{color:#fff;text-decoration:none}a.style4 .sw-click-to-tweet i.sw-twitter,a.style5 .sw-click-to-tweet i.sw-twitter{color:#fff}a.style6 .sw-click-to-tweet .sw-ctt-btn,a.style6 .sw-click-to-tweet .sw-ctt-text{color:#30394f;text-decoration:none}a.style6:hover .sw-click-to-tweet .sw-ctt-btn,a.style6:hover .sw-click-to-tweet .sw-ctt-text,a.style6:hover .sw-click-to-tweet i.sw-twitter{color:#2a2d34;text-decoration:none}.scale-70{-ms-transform:scale(.7);-webkit-transform:scale(.7);transform:scale(.7)}.nc_socialPanel:not(.nc_floater).scale-70.scale-fullWidth{width:142.8571428571429%!important}.scale-80{-ms-transform:scale(.8);-webkit-transform:scale(.8);transform:scale(.8)}.nc_socialPanel:not(.nc_floater).scale-80.scale-fullWidth{width:125%!important}.scale-90{-ms-transform:scale(.9);-webkit-transform:scale(.9);transform:scale(.9)}.nc_socialPanel:not(.nc_floater).scale-90.scale-fullWidth{width:111.111111111111%!important}.scale-110{-ms-transform:scale(1.1);-webkit-transform:scale(1.1);transform:scale(1.1)}.nc_socialPanel:not(.nc_floater).scale-110.scale-fullWidth{width:90.90909090909091%!important}.scale-120{-ms-transform:scale(1.2);-webkit-transform:scale(1.2);transform:scale(1.2)}.nc_socialPanel:not(.nc_floater).scale-120.scale-fullWidth{width:83.33333333333333%!important}.scale-130{-ms-transform:scale(1.3);-webkit-transform:scale(1.3);transform:scale(1.3)}.nc_socialPanel:not(.nc_floater).scale-130.scale-fullWidth{width:76.92307692307692%!important}.scale-140{-ms-transform:scale(1.4);-webkit-transform:scale(1.4);transform:scale(1.4)}.nc_socialPanel:not(.nc_floater).scale-140.scale-fullWidth{width:71.42857142857143%!important}.nc_floater.scale-center,.nc_floater.scale-right,.scale-fullWidth,.scale-left{-ms-transform-origin:left;-webkit-transform-origin:left;transform-origin:left}.scale-right{-ms-transform-origin:right;-webkit-transform-origin:right;transform-origin:right}.scale-center{-ms-transform-origin:center;-webkit-transform-origin:center;transform-origin:center}div.nc_socialPanel .nc_tweetContainer.swp_emphasize{-webkit-box-flex:2;-moz-box-flex:2;-webkit-flex:2;-ms-flex:2;flex:2}.sw-pinit.aligncenter{margin:0 auto}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){div.sw-pinit{display:inline-block!important;max-width:100%}}.swp_hidden_pin_image{height:0;opacity:0;position:absolute;top:0;width:0}
functions/{options-array.php → admin/options-array.php} RENAMED
@@ -4,7 +4,7 @@
4
  * An Array of options to pass over to the option page
5
  *
6
  * @package SocialWarfare\Functions
7
- * @copyright Copyright (c) 2016, Warfare Plugins, LLC
8
  * @license GPL-3.0+
9
  * @since 1.0.0
10
  */
4
  * An Array of options to pass over to the option page
5
  *
6
  * @package SocialWarfare\Functions
7
+ * @copyright Copyright (c) 2017, Warfare Plugins, LLC
8
  * @license GPL-3.0+
9
  * @since 1.0.0
10
  */
functions/admin/options-fetch.php ADDED
@@ -0,0 +1,238 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Functions for getting and setting the plugin's options.
4
+ *
5
+ * @package SocialWarfare\Functions
6
+ * @copyright Copyright (c) 2017, Warfare Plugins, LLC
7
+ * @license GPL-3.0+
8
+ * @since 1.0.0
9
+ */
10
+
11
+ defined( 'WPINC' ) || die;
12
+
13
+ // Set the global options variable
14
+ global $swp_user_options;
15
+
16
+ /**
17
+ * $swp_user_options Fetch the available options that the user has set
18
+ * @var array An array of available options from the options page
19
+ */
20
+ $swp_user_options = swp_get_user_options( is_admin() );
21
+
22
+ /**
23
+ * A function to adjust the options and ensure that defaults are set
24
+ *
25
+ * @param boolean $admin A boolean value to determine if it's being called in the admin or elsewhere
26
+ * @return array $options The modified options array
27
+ */
28
+ function swp_get_user_options( $admin = false ) {
29
+ $options = get_option( 'socialWarfareOptions', array() );
30
+
31
+ $defaults = array(
32
+ 'locationSite' => 'below',
33
+ 'locationHome' => 'none',
34
+ 'location_post' => 'below',
35
+ 'location_page' => 'below',
36
+ 'totes' => true,
37
+ 'totesEach' => true,
38
+ 'twitterID' => false,
39
+ 'swp_twitter_card' => true,
40
+ 'visualTheme' => 'flatFresh',
41
+ 'dColorSet' => 'fullColor',
42
+ 'iColorSet' => 'fullColor',
43
+ 'oColorSet' => 'fullColor',
44
+ 'sideDColorSet' => 'fullColor',
45
+ 'sideIColorSet' => 'fullColor',
46
+ 'sideOColorSet' => 'fullColor',
47
+ 'floatStyleSource' => true,
48
+ 'buttonSize' => 1,
49
+ 'buttonFloat' => 'fullWidth',
50
+ 'sideReveal' => 'slide',
51
+ 'swp_float_scr_sz' => 1100,
52
+ 'cttTheme' => 'style1',
53
+ 'twitter_shares' => false,
54
+ 'float' => true,
55
+ 'floatOption' => 'bottom',
56
+ 'floatBgColor' => '#ffffff',
57
+ 'floatStyle' => 'default',
58
+ 'customColor' => '#000000',
59
+ 'recover_shares' => false,
60
+ 'recovery_format' => 'unchanged',
61
+ 'recovery_protocol' => 'unchanged',
62
+ 'recovery_prefix' => 'unchanged',
63
+ 'swDecimals' => 0,
64
+ 'swp_decimal_separator' => 'period',
65
+ 'swTotesFormat' => 'totesalt',
66
+ 'googleAnalytics' => false,
67
+ 'dashboardShares' => true,
68
+ 'linkShortening' => false,
69
+ 'minTotes' => 0,
70
+ 'cacheMethod' => 'advanced',
71
+ 'full_content' => false,
72
+ 'rawNumbers' => false,
73
+ 'notShowing' => false,
74
+ 'visualEditorBug' => false,
75
+ 'loopFix' => false,
76
+ 'sniplyBuster' => false,
77
+ 'analyticsMedium' => 'social',
78
+ 'analyticsCampaign' => 'SocialWarfare',
79
+ 'swp_click_tracking' => false,
80
+ 'orderOfIconsSelect' => 'manual',
81
+ 'pinit_toggle' => false,
82
+ 'pinit_location_horizontal' => 'center',
83
+ 'pinit_location_vertical' => 'top',
84
+ 'pinit_min_width' => '200',
85
+ 'pinit_min_height' => '200',
86
+ 'advanced_pinterest_image' => false,
87
+ 'advanced_pinterest_image_location' => 'hidden',
88
+ 'advanced_pinterest_fallback' => 'all',
89
+ 'emphasize_icons' => 0,
90
+ 'floatLeftMobile' => 'bottom',
91
+ 'newOrderOfIcons' => array(
92
+ 'active' => array(
93
+ 'twitter' => 'Twitter',
94
+ 'linkedIn' => 'LinkedIn',
95
+ 'pinterest' => 'Pinterest',
96
+ 'facebook' => 'Facebook',
97
+ 'googlePlus' => 'Google Plus',
98
+ ),
99
+ ),
100
+ );
101
+
102
+ /**
103
+ * Set the default og:type values for each post type
104
+ *
105
+ */
106
+ $swp_post_types = swp_get_post_types();
107
+ if(!empty($swp_post_types)):
108
+ foreach($swp_post_types as $swp_post_type):
109
+ $defaults['swp_og_type_'.$swp_post_type] = 'article';
110
+ endforeach;
111
+ endif;
112
+
113
+ $options = array_merge( $defaults, $options );
114
+
115
+ // Make the side custom absorb the main custom color if they haven't set one yet.
116
+ if(empty($options['sideCustomColor']) ):
117
+ $options['sideCustomColor'] = $options['customColor'];
118
+ endif;
119
+
120
+ // Force the plugin off on certain post types.
121
+ $options['locationattachment'] = 'none';
122
+ $options['locationrevision'] = 'none';
123
+ $options['nav_menu_item'] = 'none';
124
+ $options['shop_order'] = 'none';
125
+ $options['shop_order_refund'] = 'none';
126
+ $options['shop_coupon'] = 'none';
127
+ $options['shop_webhook'] = 'none';
128
+
129
+ if( function_exists('is_swp_registered') ):
130
+ $swp_registration = is_swp_registered();
131
+ else:
132
+ $swp_registration = false;
133
+ endif;
134
+
135
+ if ( $admin || true === $swp_registration ) :
136
+ if ( 'totes' === $options['swTotesFormat'] ) :
137
+ $options['swTotesFormat'] = 'totesalt';
138
+ endif;
139
+ else:
140
+ $options['swp_twitter_card'] = false;
141
+ $options['visualTheme'] = 'flatFresh';
142
+ $options['dColorSet'] = 'fullColor';
143
+ $options['iColorSet'] = 'fullColor';
144
+ $options['oColorSet'] = 'fullColor';
145
+ $options['sideDColorSet'] = 'fullColor';
146
+ $options['sideIColorSet'] = 'fullColor';
147
+ $options['sideOColorSet'] = 'fullColor';
148
+ $options['floatStyleSource'] = true;
149
+ $options['buttonSize'] = 1;
150
+ $options['buttonFloat'] = 'fullWidth';
151
+ $options['cttTheme'] = 'style1';
152
+ $options['twitter_shares'] = false;
153
+ $options['recover_shares'] = false;
154
+ $options['googleAnalytics'] = false;
155
+ $options['linkShortening'] = false;
156
+ $options['minTotes'] = 0;
157
+ $options['swp_click_tracking'] = false;
158
+ $options['orderOfIconsSelect'] = 'manual';
159
+ $options['pinit_toggle'] = false;
160
+ $options['pinit_location_horizontal'] = 'center';
161
+ $options['pinit_location_vertical'] = 'top';
162
+ $options['emphasize_icons'] = 0;
163
+ $options['floatLeftMobile'] = 'off';
164
+ $options['advanced_pinterest_image'] = false;
165
+ $options['advanced_pinterest_image_location'] = 'hidden';
166
+ $options['advanced_pinterest_fallback'] = 'all';
167
+ endif;
168
+
169
+ if(isset($options['newOrderOfIcons']['active'])) {
170
+ unset($options['newOrderOfIcons']['active']);
171
+ }
172
+
173
+ /**
174
+ * Unset any buttons that may have been put into the options but are no longer actually available
175
+ *
176
+ */
177
+ $icons_array = array(
178
+ 'type' => 'buttons'
179
+ );
180
+ $icons_array = apply_filters( 'swp_button_options' , $icons_array );
181
+ foreach($options['newOrderOfIcons'] as $icon):
182
+ if(!isset($icons_array['content'][$icon])):
183
+ unset($options['newOrderOfIcons'][$icon]);
184
+ endif;
185
+ endforeach;
186
+
187
+ return $options;
188
+ }
189
+
190
+ /**
191
+ * Fetch a single option
192
+ *
193
+ * @since unknown
194
+ * @param string $key The key to pull from the array of options.
195
+ * @return mixed $options The value of the desired option
196
+ */
197
+ function swp_get_single_option( $key ) {
198
+ global $swp_user_options;
199
+
200
+ if ( isset( $swp_user_options[ $key ] ) ) {
201
+ return $swp_user_options[ $key ];
202
+ }
203
+
204
+ return false;
205
+ }
206
+
207
+ /**
208
+ * Update the main plugin options.
209
+ *
210
+ * @since 2.1.0
211
+ * @param array $options The option values to be set.
212
+ * @return bool True if the option has been updated.
213
+ */
214
+ function swp_update_options( $options ) {
215
+ if ( ! is_array( $options ) ) {
216
+ return false;
217
+ }
218
+
219
+ unset( $options['orderOfIcons'] );
220
+
221
+ return update_option( 'socialWarfareOptions', $options );
222
+ }
223
+
224
+ /**
225
+ * Update a single option.
226
+ *
227
+ * @since 2.1.0
228
+ * @param string $key The key to set in the array of options.
229
+ * @param mixed $value The option value to be set.
230
+ * @return bool True if the option has been updated.
231
+ */
232
+ function swp_update_option( $key, $value ) {
233
+ $options = get_option( 'socialWarfareOptions', array() );
234
+
235
+ $options[ $key ] = $value;
236
+
237
+ return swp_update_options( $options );
238
+ }
functions/admin/options-page.php CHANGED
@@ -144,6 +144,11 @@ function swp_build_options_page() {
144
 
145
  echo '<div class="sw-admin-wrapper" sw-registered="' . absint( $swp_registration ) . '">';
146
 
 
 
 
 
 
147
  echo '<form class="sw-admin-settings-form">';
148
 
149
  // Wrapper for the left 3/4 non-sidebar content
@@ -164,7 +169,11 @@ function swp_build_options_page() {
164
 
165
  if ( $option['type'] == 'title' ) :
166
  echo '<div class="sw-grid sw-col-940 sw-fit sw-option-container ' . $key . '_wrapper" ' . (isset( $option['dep'] ) ? 'dep="' . $option['dep'] . '" dep_val=\'' . json_encode( $option['dep_val'] ) . '\'' : '') . ' ' . (isset( $option['premium'] ) ? 'premium="' . $option['premium'] . '"' : '') . '>';
167
- echo '<h2>' . $option['content'] . '</h2>';
 
 
 
 
168
  echo '<div class="sw-premium-blocker" title="test"></div>';
169
  echo '</div>';
170
  endif;
@@ -331,6 +340,9 @@ function swp_build_options_page() {
331
 
332
  echo '<div class="sw-grid sw-col-620"><h2 class="sw-h-label">' . $option['title'] . '</h2><p class="sw-subtext-label">' . $option['description'] . '</p></div>';
333
  echo '<div class="sw-grid sw-col-300 sw-fit">';
 
 
 
334
  echo '<div class="sw-checkbox-toggle" status="' . $status . '" field="#' . $key . '"><div class="sw-checkbox-on">' . __( 'ON' , 'social-warfare' ) . '</div><div class="sw-checkbox-off">' . __( 'OFF' , 'social-warfare' ) . '</div></div>';
335
  echo '<input type="checkbox" class="sw-hidden" name="' . $key . '" id="' . $key . '" ' . $selected . '>';
336
  echo '</div>';
@@ -346,7 +358,12 @@ function swp_build_options_page() {
346
  echo '<div class="sw-checkbox-toggle" status="' . $status . '" field="#' . $key . '"><div class="sw-checkbox-on">' . __( 'ON' , 'social-warfare' ) . '</div><div class="sw-checkbox-off">' . __( 'OFF' , 'social-warfare' ) . '</div></div>';
347
  echo '<input type="checkbox" class="sw-hidden" name="' . $key . '" id="' . $key . '" ' . $selected . '>';
348
  echo '</div>';
349
- echo '<div class="sw-grid sw-col-300 sw-fit"></div>';
 
 
 
 
 
350
  echo '</div>';
351
  echo '<div class="sw-clearfix"></div>';
352
  echo '<div class="sw-premium-blocker"></div>';
@@ -387,7 +404,11 @@ function swp_build_options_page() {
387
  echo '<div class="sw-checkbox-toggle" status="' . $status . '" field="#' . $key . '"><div class="sw-checkbox-on">' . __( 'ON' , 'social-warfare' ) . '</div><div class="sw-checkbox-off">' . __( 'OFF' , 'social-warfare' ) . '</div></div>';
388
  echo '<input type="checkbox" class="sw-hidden" name="' . $key . '" id="' . $key . '" ' . $selected . '>';
389
  echo '</div>';
390
- echo '<div class="sw-grid sw-col-300 sw-fit"></div>';
 
 
 
 
391
 
392
  echo '<div class="sw-premium-blocker"></div>';
393
  echo '</div>';
@@ -402,8 +423,10 @@ function swp_build_options_page() {
402
 
403
  if ( isset( $swp_user_options[ $key ] ) ) :
404
  $value = $swp_user_options[ $key ];
405
- else :
406
  $value = $option['default'];
 
 
407
  endif;
408
 
409
  echo '<div class="sw-grid sw-col-940 sw-option-container ' . $key . '_wrapper" ' . (isset( $option['dep'] ) ? 'dep="' . $option['dep'] . '" dep_val=\'' . json_encode( $option['dep_val'] ) . '\'' : '') . ' ' . (isset( $option['premium'] ) ? 'premium="' . $option['premium'] . '"' : '') . '>';
@@ -622,7 +645,7 @@ function swp_build_options_page() {
622
  * Plugin Registration Module
623
  */
624
  if ( defined('SWPP_PLUGIN_DIR') && 'plugin_registration' === $option['type'] ) :
625
- require_once SWPP_PLUGIN_DIR . '/functions/admin/views/options-registration.php';
626
  endif;
627
 
628
  /**
@@ -756,7 +779,7 @@ function swp_build_options_page() {
756
 
757
  echo '<div class="sw-admin-sidebar sw-grid sw-col-220 sw-fit">';
758
  echo '<a href="https://warfareplugins.com/affiliates/" target="_blank"><img src="' . SWP_PLUGIN_URL . '/images/admin-options-page/affiliate-300x150.jpg"></a>';
759
- echo '<a href="https://warfareplugins.com/walkthrough/" target="_blank"><img src="' . SWP_PLUGIN_URL . '/images/admin-options-page/starter-guide-300x150.jpg"></a>';
760
  echo '<a href="https://warfareplugins.com/how-to-measure-social-media-roi-using-google-analytics/" target="_blank"><img src="' . SWP_PLUGIN_URL . '/images/admin-options-page/measure-roi-300x150.jpg"></a>';
761
  echo '<p class="sw-support-notice sw-italic">' . __( 'Need help? Check out our <a href="https://warfareplugins.com/support/" target="_blank">Knowledgebase.' , 'social-warfare' ) . '</a></p>';
762
  echo '<p class="sw-support-notice sw-italic">' . __( 'Opening a support ticket? Copy your System Status by clicking the button below.' , 'social-warfare' ) . '</p>';
144
 
145
  echo '<div class="sw-admin-wrapper" sw-registered="' . absint( $swp_registration ) . '">';
146
 
147
+ // Runs a full system check, printing errors found if any
148
+ if( class_exists( 'swp_system_checker' ) ) {
149
+ swp_system_checker::full_system_check();
150
+ }
151
+
152
  echo '<form class="sw-admin-settings-form">';
153
 
154
  // Wrapper for the left 3/4 non-sidebar content
169
 
170
  if ( $option['type'] == 'title' ) :
171
  echo '<div class="sw-grid sw-col-940 sw-fit sw-option-container ' . $key . '_wrapper" ' . (isset( $option['dep'] ) ? 'dep="' . $option['dep'] . '" dep_val=\'' . json_encode( $option['dep_val'] ) . '\'' : '') . ' ' . (isset( $option['premium'] ) ? 'premium="' . $option['premium'] . '"' : '') . '>';
172
+ if(!empty($option['support'])):
173
+ echo '<h2><a target="_blank" class="swp_support_link" href="'.$option['support'].'" title="Click here to learn more about these options.">i</a>' . $option['content'] . '</h2>';
174
+ else:
175
+ echo '<h2>' . $option['content'] . '</h2>';
176
+ endif;
177
  echo '<div class="sw-premium-blocker" title="test"></div>';
178
  echo '</div>';
179
  endif;
340
 
341
  echo '<div class="sw-grid sw-col-620"><h2 class="sw-h-label">' . $option['title'] . '</h2><p class="sw-subtext-label">' . $option['description'] . '</p></div>';
342
  echo '<div class="sw-grid sw-col-300 sw-fit">';
343
+ if(!empty($option['support'])):
344
+ echo '<a target="_blank" class="swp_support_link swp_four_fourths" href="'.$option['support'].'" title="Click here to learn more about these options.">i</a>';
345
+ endif;
346
  echo '<div class="sw-checkbox-toggle" status="' . $status . '" field="#' . $key . '"><div class="sw-checkbox-on">' . __( 'ON' , 'social-warfare' ) . '</div><div class="sw-checkbox-off">' . __( 'OFF' , 'social-warfare' ) . '</div></div>';
347
  echo '<input type="checkbox" class="sw-hidden" name="' . $key . '" id="' . $key . '" ' . $selected . '>';
348
  echo '</div>';
358
  echo '<div class="sw-checkbox-toggle" status="' . $status . '" field="#' . $key . '"><div class="sw-checkbox-on">' . __( 'ON' , 'social-warfare' ) . '</div><div class="sw-checkbox-off">' . __( 'OFF' , 'social-warfare' ) . '</div></div>';
359
  echo '<input type="checkbox" class="sw-hidden" name="' . $key . '" id="' . $key . '" ' . $selected . '>';
360
  echo '</div>';
361
+
362
+ if(!empty($option['support'])):
363
+ echo '<div class="sw-grid sw-col-300 sw-fit"><a target="_blank" class="swp_support_link" href="'.$option['support'].'" title="Click here to learn more about these options.">i</a></div>';
364
+ else:
365
+ echo '<div class="sw-grid sw-col-300 sw-fit"></div>';
366
+ endif;
367
  echo '</div>';
368
  echo '<div class="sw-clearfix"></div>';
369
  echo '<div class="sw-premium-blocker"></div>';
404
  echo '<div class="sw-checkbox-toggle" status="' . $status . '" field="#' . $key . '"><div class="sw-checkbox-on">' . __( 'ON' , 'social-warfare' ) . '</div><div class="sw-checkbox-off">' . __( 'OFF' , 'social-warfare' ) . '</div></div>';
405
  echo '<input type="checkbox" class="sw-hidden" name="' . $key . '" id="' . $key . '" ' . $selected . '>';
406
  echo '</div>';
407
+ if(!empty($option['support'])):
408
+ echo '<div class="sw-grid sw-col-300 sw-fit"><a target="_blank" class="swp_support_link" href="'.$option['support'].'" title="Click here to learn more about these options.">i</a></div>';
409
+ else:
410
+ echo '<div class="sw-grid sw-col-300 sw-fit"></div>';
411
+ endif;
412
 
413
  echo '<div class="sw-premium-blocker"></div>';
414
  echo '</div>';
423
 
424
  if ( isset( $swp_user_options[ $key ] ) ) :
425
  $value = $swp_user_options[ $key ];
426
+ elseif ( isset( $option['default'] ) ):
427
  $value = $option['default'];
428
+ else :
429
+ $value = '';
430
  endif;
431
 
432
  echo '<div class="sw-grid sw-col-940 sw-option-container ' . $key . '_wrapper" ' . (isset( $option['dep'] ) ? 'dep="' . $option['dep'] . '" dep_val=\'' . json_encode( $option['dep_val'] ) . '\'' : '') . ' ' . (isset( $option['premium'] ) ? 'premium="' . $option['premium'] . '"' : '') . '>';
645
  * Plugin Registration Module
646
  */
647
  if ( defined('SWPP_PLUGIN_DIR') && 'plugin_registration' === $option['type'] ) :
648
+ require_once SWPP_PLUGIN_DIR . '/functions/admin/options-registration.php';
649
  endif;
650
 
651
  /**
779
 
780
  echo '<div class="sw-admin-sidebar sw-grid sw-col-220 sw-fit">';
781
  echo '<a href="https://warfareplugins.com/affiliates/" target="_blank"><img src="' . SWP_PLUGIN_URL . '/images/admin-options-page/affiliate-300x150.jpg"></a>';
782
+ echo '<a href="https://warfareplugins.com/support-categories/getting-started/" target="_blank"><img src="' . SWP_PLUGIN_URL . '/images/admin-options-page/starter-guide-300x150.jpg"></a>';
783
  echo '<a href="https://warfareplugins.com/how-to-measure-social-media-roi-using-google-analytics/" target="_blank"><img src="' . SWP_PLUGIN_URL . '/images/admin-options-page/measure-roi-300x150.jpg"></a>';
784
  echo '<p class="sw-support-notice sw-italic">' . __( 'Need help? Check out our <a href="https://warfareplugins.com/support/" target="_blank">Knowledgebase.' , 'social-warfare' ) . '</a></p>';
785
  echo '<p class="sw-support-notice sw-italic">' . __( 'Opening a support ticket? Copy your System Status by clicking the button below.' , 'social-warfare' ) . '</p>';
functions/{profile-fields.php → admin/profile-fields.php} RENAMED
@@ -6,22 +6,30 @@ add_action( 'edit_user_profile', 'swp_show_user_profile_fields' );
6
  add_action( 'personal_options_update', 'swp_save_user_profile_fields' );
7
  add_action( 'edit_user_profile_update', 'swp_save_user_profile_fields' );
8
 
9
- // Display the new option on the user profile edit page
 
 
 
 
 
 
 
10
  function swp_show_user_profile_fields( $user ) {
11
  echo '<h3>Social Warfare Fields</h3>';
12
  echo '<table class="form-table">';
13
  echo '<tr>';
14
- echo '<th><label for="twitter">Twitter Username</label></th>';
15
  echo '<td>';
16
  echo '<input type="text" name="swp_twitter" id="swp_twitter" value="' . esc_attr( get_the_author_meta( 'swp_twitter' , $user->ID ) ) . '" class="regular-text" />';
17
- echo '<br /><span class="description">Please enter your Twitter username.</span>';
18
  echo '</td>';
19
  echo '</tr>';
20
  echo '<tr>';
21
- echo '<th><label for="facebook_author">Facebook Author URL</label></th>';
22
  echo '<td>';
23
  echo '<input type="text" name="swp_fb_author" id="swp_fb_author" value="' . esc_attr( get_the_author_meta( 'swp_fb_author' , $user->ID ) ) . '" class="regular-text" />';
24
- echo '<br /><span class="description">Please enter the URL of your Facebok profile.</span>';
 
25
  echo '</td>';
26
  echo '</tr>';
27
 
@@ -29,6 +37,13 @@ function swp_show_user_profile_fields( $user ) {
29
  }
30
 
31
  // Save our fields when the page is udpated
 
 
 
 
 
 
 
32
  function swp_save_user_profile_fields( $user_id ) {
33
 
34
  if ( ! current_user_can( 'edit_user', $user_id ) ) {
6
  add_action( 'personal_options_update', 'swp_save_user_profile_fields' );
7
  add_action( 'edit_user_profile_update', 'swp_save_user_profile_fields' );
8
 
9
+ /**
10
+ * swp_show_user_profile_fields( $user ) | Display the new options on the user profile edit page
11
+ * @param object $user The user object
12
+ * @since Unknown | Created | Unknown | A function to output fields on each user's profile page
13
+ * @since 2.2.4 | Updated | 07 MAR 2017 | Added translation gettext calls to each title and description
14
+ * @access public
15
+ * @return none
16
+ */
17
  function swp_show_user_profile_fields( $user ) {
18
  echo '<h3>Social Warfare Fields</h3>';
19
  echo '<table class="form-table">';
20
  echo '<tr>';
21
+ echo '<th><label for="twitter">' . __( 'Twitter Username','social-warfare' ) . '</label></th>';
22
  echo '<td>';
23
  echo '<input type="text" name="swp_twitter" id="swp_twitter" value="' . esc_attr( get_the_author_meta( 'swp_twitter' , $user->ID ) ) . '" class="regular-text" />';
24
+ echo '<br /><span class="description">' . __( 'Please enter your Twitter username.','social-warfare' ) . '</span>';
25
  echo '</td>';
26
  echo '</tr>';
27
  echo '<tr>';
28
+ echo '<th><label for="facebook_author">' . __( 'Facebook Author URL','social-warfare' ) . '</label></th>';
29
  echo '<td>';
30
  echo '<input type="text" name="swp_fb_author" id="swp_fb_author" value="' . esc_attr( get_the_author_meta( 'swp_fb_author' , $user->ID ) ) . '" class="regular-text" />';
31
+ echo '<br /><span class="description">' . __( 'Please enter the URL of your Facebok profile.','social-warfare' ) . '</span>';
32
+
33
  echo '</td>';
34
  echo '</tr>';
35
 
37
  }
38
 
39
  // Save our fields when the page is udpated
40
+ /**
41
+ * swp_save_user_profile_fields( $user_id )| Save our fields when the page is updated
42
+ * @param integer $user_id The user ID
43
+ * @since Unknown | Created | Unknown | A function to save the profile fields
44
+ * @access public
45
+ * @return none
46
+ */
47
  function swp_save_user_profile_fields( $user_id ) {
48
 
49
  if ( ! current_user_can( 'edit_user', $user_id ) ) {
functions/admin/swp_system_checker.php ADDED
@@ -0,0 +1,147 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * A series of classes to check the user's system for minimum system requirements
4
+ *
5
+ * @package social-warfare\functions\admin
6
+ * @copyright Copyright (c) 2017, Warfare Plugins, LLC
7
+ * @license GPL-3.0+
8
+ * @since 2.2.4 | Created | 1 MAY 2017
9
+ */
10
+
11
+ /**
12
+ * A class for initializing the system checks
13
+ *
14
+ * @since 2.2.4 | Created | 1 MAY 2017
15
+ * @access public
16
+ */
17
+ abstract class swp_custom_check
18
+ {
19
+ public $name = "";
20
+ public $whats_wrong = "";
21
+ public $how_to_fix= "";
22
+ public $check_passed = null;
23
+ public $additional_message = null;
24
+
25
+ /**
26
+ * Force children to have an executable run method.
27
+ */
28
+ abstract public function run();
29
+ }
30
+
31
+ /**
32
+ * A series of classes to check the user's system for minimum system requirements
33
+ *
34
+ * @since 2.2.4 | Created | 6 March 2017
35
+ * @access public
36
+ * @return string The HTML for an error notice if triggered
37
+ */
38
+ class swp_system_checker
39
+ {
40
+ public static $custom_checks = array();
41
+ public static $has_error = FALSE;
42
+
43
+ public static function full_system_check()
44
+ {
45
+ swp_system_checker::load_all_checks();
46
+ swp_system_checker::run_all_checks();
47
+ swp_system_checker::print_all_errors();
48
+
49
+ }
50
+
51
+ public static function load_all_checks()
52
+ {
53
+ swp_system_checker::$custom_checks[ 'swp_php_check' ] = new swp_php_check();
54
+ swp_system_checker::$custom_checks[ 'swp_curl_check' ] = new swp_curl_check();
55
+ }
56
+
57
+ public static function run_all_checks()
58
+ {
59
+ foreach( swp_system_checker::$custom_checks as $custom_check )
60
+ {
61
+ if( method_exists( $custom_check, 'run' ) ) {
62
+ if( !$custom_check->run() && !$custom_check->check_passed ) {
63
+ swp_system_checker::$has_error = true;
64
+ }
65
+ }
66
+ }
67
+ }
68
+
69
+ public static function print_all_errors()
70
+ {
71
+ if( !isset( swp_system_checker::$has_error ) || empty( swp_system_checker::$has_error ) ) {
72
+ return FALSE;
73
+ }
74
+
75
+ foreach( swp_system_checker::$custom_checks as $custom_check )
76
+ {
77
+ if( $custom_check->check_passed ) {
78
+ continue;
79
+ }
80
+
81
+ echo '<div class="sw-red-notice">' . $custom_check->whats_wrong . $custom_check->how_to_fix . '</div>';
82
+ }
83
+ }
84
+ }
85
+
86
+ /**
87
+ * A class to detect if the user is using a compatible version of PHP (5.3+) on their server
88
+ *
89
+ * @since 2.2.4 | Created | 1 MAY 2017
90
+ * @access public
91
+ * @return string The HTML for an error notice if triggered
92
+ */
93
+ class swp_php_check extends swp_custom_check
94
+ {
95
+ public function __construct()
96
+ {
97
+ $this->name = 'PHP Check';
98
+ }
99
+
100
+ public function run()
101
+ {
102
+ if( version_compare( PHP_VERSION, '5.2.0' ) >= 0 )
103
+ {
104
+ $this->check_passed = true;
105
+ }
106
+ else
107
+ {
108
+ $this->check_passed = false;
109
+ $this->whats_wrong = 'Your server is currently using PHP version '.PHP_VERSION.'. In order for our plugin to fetch share counts properly, you must be using PHP 5.3 or newer.';
110
+ $this->how_to_fix = 'To fix this, simply contact your hosting provider and ask them to update your server to the latest stable version of PHP.';
111
+ }
112
+
113
+ return $this->check_passed;
114
+ }
115
+ }
116
+
117
+ /**
118
+ * A class to detect if the user has cURL enabled on their server. cURL is a requirement of the plugin.
119
+ *
120
+ * @since 2.2.4 | Created | 1 MAY 2017
121
+ * @access public
122
+ * @return string The HTML for an error notice if triggered
123
+ */
124
+ class swp_curl_check extends swp_custom_check
125
+ {
126
+ public function __construct()
127
+ {
128
+ $this->name = 'Curl Check';
129
+ }
130
+
131
+ public function run()
132
+ {
133
+
134
+ if( function_exists( 'curl_version' ) )
135
+ {
136
+ $this->check_passed = true;
137
+ }
138
+ else
139
+ {
140
+ $this->check_passed = false;
141
+ $this->whats_wrong = 'Your server has cURL disabled. In order for our plugin to fetch share counts, you must have cURL enabled on your server.';
142
+ $this->how_to_fix = 'To fix this, simply contact your hosting provider and ask them to activate cURL on your server.';
143
+ }
144
+
145
+ return $this->check_passed;
146
+ }
147
+ }
functions/curl_functions.php DELETED
@@ -1,103 +0,0 @@
1
- <?php
2
- /**
3
- * **************************************************************
4
- * *
5
- * cURL - A Function to Process cURL requests *
6
- * *
7
- ******************************************************************/
8
-
9
- function swp_fetch_shares_via_curl_multi( $data, $options = array() ) {
10
-
11
- // array of curl handles
12
- $curly = array();
13
- // data to be returned
14
- $result = array();
15
-
16
- // multi handle
17
- $mh = curl_multi_init();
18
-
19
- // loop through $data and create curl handles
20
- // then add them to the multi-handle
21
- foreach ( $data as $id => $d ) {
22
-
23
- if ( $d !== 0 || $id == 'googlePlus' ) :
24
-
25
- $curly[ $id ] = curl_init();
26
-
27
- if ( $id == 'googlePlus' ) :
28
-
29
- curl_setopt( $curly[ $id ], CURLOPT_URL, 'https://clients6.google.com/rpc' );
30
- curl_setopt( $curly[ $id ], CURLOPT_POST, true );
31
- curl_setopt( $curly[ $id ], CURLOPT_SSL_VERIFYPEER, false );
32
- curl_setopt( $curly[ $id ], CURLOPT_POSTFIELDS, '[{"method":"pos.plusones.get","id":"p","params":{"nolog":true,"id":"' . rawurldecode( $d ) . '","source":"widget","userId":"@viewer","groupId":"@self"},"jsonrpc":"2.0","key":"p","apiVersion":"v1"}]' );
33
- curl_setopt( $curly[ $id ], CURLOPT_RETURNTRANSFER, true );
34
- curl_setopt( $curly[ $id ], CURLOPT_HTTPHEADER, array( 'Content-type: application/json' ) );
35
-
36
- else :
37
-
38
- $url = (is_array( $d ) && ! empty( $d['url'] )) ? $d['url'] : $d;
39
- curl_setopt( $curly[ $id ], CURLOPT_URL, $url );
40
- curl_setopt( $curly[ $id ], CURLOPT_HEADER, 0 );
41
- curl_setopt( $curly[ $id ], CURLOPT_RETURNTRANSFER, 1 );
42
- curl_setopt( $curly[ $id ], CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT'] );
43
- curl_setopt( $curly[ $id ], CURLOPT_FAILONERROR, 0 );
44
- curl_setopt( $curly[ $id ], CURLOPT_FOLLOWLOCATION, 0 );
45
- curl_setopt( $curly[ $id ], CURLOPT_RETURNTRANSFER,1 );
46
- curl_setopt( $curly[ $id ], CURLOPT_SSL_VERIFYPEER, false );
47
- curl_setopt( $curly[ $id ], CURLOPT_SSL_VERIFYHOST, false );
48
- curl_setopt( $curly[ $id ], CURLOPT_TIMEOUT, 5 );
49
- curl_setopt( $curly[ $id ], CURLOPT_CONNECTTIMEOUT, 5 );
50
- curl_setopt( $curly[ $id ], CURLOPT_NOSIGNAL, 1 );
51
- curl_setopt( $curly[ $id ], CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4 );
52
- // curl_setopt($curly[$id], CURLOPT_SSLVERSION, CURL_SSLVERSION_SSLv3);
53
- endif;
54
-
55
- // extra options?
56
- if ( ! empty( $options ) ) {
57
- curl_setopt_array( $curly[ $id ], $options );
58
- }
59
-
60
- curl_multi_add_handle( $mh, $curly[ $id ] );
61
-
62
- endif;
63
- }// End foreach().
64
-
65
- // execute the handles
66
- $running = null;
67
- do {
68
- curl_multi_exec( $mh, $running );
69
- } while ($running > 0);
70
-
71
- // get content and remove handles
72
- foreach ( $curly as $id => $c ) {
73
- $result[ $id ] = curl_multi_getcontent( $c );
74
- curl_multi_remove_handle( $mh, $c );
75
- }
76
-
77
- // all done
78
- curl_multi_close( $mh );
79
-
80
- return $result;
81
- }
82
-
83
- function swp_file_get_contents_curl( $url ) {
84
- $ch = curl_init();
85
- curl_setopt( $ch, CURLOPT_URL, $url );
86
- curl_setopt( $ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT'] );
87
- curl_setopt( $ch, CURLOPT_FAILONERROR, 0 );
88
- curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, 0 );
89
- curl_setopt( $ch, CURLOPT_RETURNTRANSFER,1 );
90
- curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false );
91
- curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, false );
92
- curl_setopt( $ch, CURLOPT_TIMEOUT, 5 );
93
- curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT, 5 );
94
- curl_setopt( $ch, CURLOPT_NOSIGNAL, 1 );
95
- curl_setopt( $ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4 );
96
- $cont = @curl_exec( $ch );
97
- $curl_errno = curl_errno( $ch );
98
- curl_close( $ch );
99
- if ( $curl_errno > 0 ) {
100
- return 0;
101
- }
102
- return $cont;
103
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
functions/{buttons-floating.php → frontend-output/buttons-floating.php} RENAMED
File without changes
functions/{buttons-standard.php → frontend-output/buttons-standard.php} RENAMED
File without changes
functions/{display.php → frontend-output/display.php} RENAMED
File without changes
functions/{header-meta-tags.php → frontend-output/header-meta-tags.php} RENAMED
File without changes
functions/{scripts.php → frontend-output/scripts.php} RENAMED
File without changes
functions/{shortcodes.php → frontend-output/shortcodes.php} RENAMED
File without changes
functions/{sw-shortcode-generator.php → frontend-output/sw-shortcode-generator.php} RENAMED
File without changes
functions/options-fetch.php DELETED
@@ -1,221 +0,0 @@
1
- <?php
2
- /**
3
- * Functions for getting and setting the plugin's options.
4
- *
5
- * @package SocialWarfare\Functions
6
- * @copyright Copyright (c) 2016, Warfare Plugins, LLC
7
- * @license GPL-3.0+
8
- * @since 1.0.0
9
- */
10
-
11
- defined( 'WPINC' ) || die;
12
-
13
- // Set the global options variable
14
- global $swp_user_options;
15
-
16
- /**
17
- * $swp_user_options Fetch the available options that the user has set
18
- * @var array An array of available options from the options page
19
- */
20
- $swp_user_options = swp_get_user_options( is_admin() );
21
-
22
- /**
23
- * A function to adjust the options and ensure that defaults are set
24
- *
25
- * @param boolean $admin A boolean value to determine if it's being called in the admin or elsewhere
26
- * @return array $options The modified options array
27
- */
28
- function swp_get_user_options( $admin = false ) {
29
- $options = get_option( 'socialWarfareOptions', array() );
30
-
31
- $defaults = array(
32
- 'locationSite' => 'below',
33
- 'locationHome' => 'none',
34
- 'location_post' => 'below',
35
- 'location_page' => 'below',
36
- 'totes' => true,
37
- 'totesEach' => true,
38
- 'twitterID' => false,
39
- 'swp_twitter_card' => true,
40
- 'visualTheme' => 'flatFresh',
41
- 'dColorSet' => 'fullColor',
42
- 'iColorSet' => 'fullColor',
43
- 'oColorSet' => 'fullColor',
44
- 'sideDColorSet' => 'fullColor',
45
- 'sideIColorSet' => 'fullColor',
46
- 'sideOColorSet' => 'fullColor',
47
- 'floatStyleSource' => true,
48
- 'buttonSize' => 1,
49
- 'buttonFloat' => 'fullWidth',
50
- 'sideReveal' => 'slide',
51
- 'swp_float_scr_sz' => 1100,
52
- 'cttTheme' => 'style1',
53
- 'twitter_shares' => false,
54
- 'float' => true,
55
- 'floatOption' => 'bottom',
56
- 'floatBgColor' => '#ffffff',
57
- 'floatStyle' => 'default',
58
- 'customColor' => '#000000',
59
- 'recover_shares' => false,
60
- 'recovery_format' => 'unchanged',
61
- 'recovery_protocol' => 'unchanged',
62
- 'recovery_prefix' => 'unchanged',
63
- 'swDecimals' => 0,
64
- 'swp_decimal_separator' => 'period',
65
- 'swTotesFormat' => 'totesalt',
66
- 'googleAnalytics' => false,
67
- 'dashboardShares' => true,
68
- 'linkShortening' => false,
69
- 'minTotes' => 0,
70
- 'cacheMethod' => 'advanced',
71
- 'full_content' => false,
72
- 'rawNumbers' => false,
73
- 'notShowing' => false,
74
- 'visualEditorBug' => false,
75
- 'loopFix' => false,
76
- 'sniplyBuster' => false,
77
- 'analyticsMedium' => 'social',
78
- 'analyticsCampaign' => 'SocialWarfare',
79
- 'swp_click_tracking' => false,
80
- 'orderOfIconsSelect' => 'manual',
81
- 'pinit_toggle' => false,
82
- 'pinit_location_horizontal' => 'center',
83
- 'pinit_location_vertical' => 'top',
84
- 'pinit_min_width' => '200',
85
- 'pinit_min_height' => '200',
86
- 'emphasize_icons' => 0,
87
- 'floatLeftMobile' => 'bottom',
88
- 'newOrderOfIcons' => array(
89
- 'active' => array(
90
- 'twitter' => 'Twitter',
91
- 'linkedIn' => 'LinkedIn',
92
- 'pinterest' => 'Pinterest',
93
- 'facebook' => 'Facebook',
94
- 'googlePlus' => 'Google Plus',
95
- ),
96
- ),
97
- );
98
-
99
- $options = array_merge( $defaults, $options );
100
-
101
- // Make the side custom absorbe the main custom color if they haven't set one yet.
102
- if(empty($options['sideCustomColor']) ):
103
- $options['sideCustomColor'] = $options['customColor'];
104
- endif;
105
-
106
- // Force the plugin off on certain post types.
107
- $options['locationattachment'] = 'none';
108
- $options['locationrevision'] = 'none';
109
- $options['nav_menu_item'] = 'none';
110
- $options['shop_order'] = 'none';
111
- $options['shop_order_refund'] = 'none';
112
- $options['shop_coupon'] = 'none';
113
- $options['shop_webhook'] = 'none';
114
-
115
- if( function_exists('is_swp_registered') ):
116
- $swp_registration = is_swp_registered();
117
- else:
118
- $swp_registration = false;
119
- endif;
120
-
121
- if ( $admin || true === $swp_registration ) {
122
- if ( 'totes' === $options['swTotesFormat'] ) {
123
- $options['swTotesFormat'] = 'totesalt';
124
- }
125
- } else {
126
- $options['swp_twitter_card'] = false;
127
- $options['visualTheme'] = 'flatFresh';
128
- $options['dColorSet'] = 'fullColor';
129
- $options['iColorSet'] = 'fullColor';
130
- $options['oColorSet'] = 'fullColor';
131
- $options['sideDColorSet'] = 'fullColor';
132
- $options['sideIColorSet'] = 'fullColor';
133
- $options['sideOColorSet'] = 'fullColor';
134
- $options['floatStyleSource'] = true;
135
- $options['buttonSize'] = 1;
136
- $options['buttonFloat'] = 'fullWidth';
137
- $options['cttTheme'] = 'style1';
138
- $options['twitter_shares'] = false;
139
- $options['recover_shares'] = false;
140
- $options['googleAnalytics'] = false;
141
- $options['linkShortening'] = false;
142
- $options['minTotes'] = 0;
143
- $options['swp_click_tracking'] = false;
144
- $options['orderOfIconsSelect'] = 'manual';
145
- $options['pinit_toggle'] = false;
146
- $options['pinit_location_horizontal'] = 'center';
147
- $options['pinit_location_vertical'] = 'top';
148
- $options['emphasize_icons'] = 0;
149
- $options['floatLeftMobile'] = 'off';
150
- }
151
-
152
- if(isset($options['newOrderOfIcons']['active'])) {
153
- unset($options['newOrderOfIcons']['active']);
154
- }
155
-
156
- /**
157
- * Unset any buttons that may have been put into the options but are no longer actually available
158
- *
159
- */
160
- $icons_array = array(
161
- 'type' => 'buttons'
162
- );
163
- $icons_array = apply_filters( 'swp_button_options' , $icons_array );
164
- foreach($options['newOrderOfIcons'] as $icon):
165
- if(!isset($icons_array['content'][$icon])):
166
- unset($options['newOrderOfIcons'][$icon]);
167
- endif;
168
- endforeach;
169
-
170
- return $options;
171
- }
172
-
173
- /**
174
- * Fetch a single option
175
- *
176
- * @since unknown
177
- * @param string $key The key to pull from the array of options.
178
- * @return mixed $options The value of the desired option
179
- */
180
- function swp_get_single_option( $key ) {
181
- global $swp_user_options;
182
-
183
- if ( isset( $swp_user_options[ $key ] ) ) {
184
- return $swp_user_options[ $key ];
185
- }
186
-
187
- return false;
188
- }
189
-
190
- /**
191
- * Update the main plugin options.
192
- *
193
- * @since 2.1.0
194
- * @param array $options The option values to be set.
195
- * @return bool True if the option has been updated.
196
- */
197
- function swp_update_options( $options ) {
198
- if ( ! is_array( $options ) ) {
199
- return false;
200
- }
201
-
202
- unset( $options['orderOfIcons'] );
203
-
204
- return update_option( 'socialWarfareOptions', $options );
205
- }
206
-
207
- /**
208
- * Update a single option.
209
- *
210
- * @since 2.1.0
211
- * @param string $key The key to set in the array of options.
212
- * @param mixed $value The option value to be set.
213
- * @return bool True if the option has been updated.
214
- */
215
- function swp_update_option( $key, $value ) {
216
- $options = get_option( 'socialWarfareOptions', array() );
217
-
218
- $options[ $key ] = $value;
219
-
220
- return swp_update_options( $options );
221
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
functions/social-networks/facebook.php CHANGED
@@ -1,63 +1,75 @@
1
  <?php
2
 
3
  /**
 
 
 
 
 
 
 
 
4
 
5
- * **************************************************************
6
- * *
7
- * #1: Add the On / Off Switch and Sortable Option *
8
- * *
9
- ******************************************************************/
10
- add_filter( 'swp_button_options', 'swp_facebook_options_function',20 );
 
 
 
 
 
11
  function swp_facebook_options_function( $options ) {
12
 
13
  // Create the new option in a variable to be inserted
14
  $options['content']['facebook'] = array(
15
- 'type' => 'checkbox',
16
- 'content' => 'Facebook',
17
- 'default' => true,
18
- 'premium' => false,
19
  );
20
 
21
  return $options;
22
 
23
  };
24
- /**
25
-
26
- ***************************************************************
27
- * *
28
- * #2: Add it to global network array *
29
- * *
30
- */
31
- // Queue up your filter to be ran on the swp_options hook.
32
- add_filter( 'swp_add_networks', 'swp_facebook_network' );
33
 
34
- // Create the function that will filter the options
 
 
 
 
 
 
 
 
35
  function swp_facebook_network( $networks ) {
36
-
37
- // Add your network to the existing network array
38
  $networks[] = 'facebook';
39
-
40
- // Be sure to return the modified options array or the world will explode
41
  return $networks;
42
  };
43
- /**
44
 
45
- * **************************************************************
46
- * *
47
- * #3: Generate the API Share Count Request URL *
48
- * *
49
- ******************************************************************/
 
 
 
50
  function swp_facebook_request_link( $url ) {
51
  $request_url = 'https://graph.facebook.com/?id=' . $url;
52
  return $request_url;
53
  }
54
- /**
55
 
56
- * **************************************************************
57
- * *
58
- * #4: Parse the Response to get the share count *
59
- * *
60
- ******************************************************************/
 
 
 
61
  function swp_format_facebook_response( $response ) {
62
 
63
  $url = get_permalink( get_the_ID() );
@@ -86,14 +98,16 @@ function swp_format_facebook_response( $response ) {
86
 
87
  return $total_activity;
88
  }
89
- /**
90
 
91
- ***************************************************************
92
- * *
93
- * #5: Create the Button HTML *
94
- * *
95
- */
96
- add_filter( 'swp_network_buttons', 'swp_facebook_button_html',10 );
 
 
 
97
  function swp_facebook_button_html( $array ) {
98
 
99
  // If we've already generated this button, just use our existing html
@@ -108,7 +122,7 @@ function swp_facebook_button_html( $array ) {
108
 
109
  $array['resource']['facebook'] = '<div class="nc_tweetContainer swp_fb" data-id="' . $array['count'] . '" data-network="facebook">';
110
  $link = urlencode( urldecode( swp_process_url( $array['url'] , 'facebook' , $array['postID'] ) ) );
111
- $array['resource']['facebook'] .= '<a rel="nofollow" target="_blank" href="http://www.facebook.com/share.php?u=' . $link . '" data-link="http://www.facebook.com/share.php?u=' . $link . '" class="nc_tweet">';
112
  if ( $array['options']['totesEach'] && $array['shares']['totes'] >= $array['options']['minTotes'] && $array['shares']['facebook'] > 0 ) :
113
  $array['resource']['facebook'] .= '<span class="iconFiller">';
114
  $array['resource']['facebook'] .= '<span class="spaceManWilly">';
1
  <?php
2
 
3
  /**
4
+ * Functions to add a Facebook share button to the available buttons
5
+ *
6
+ * @package SocialWarfare\Functions
7
+ * @copyright Copyright (c) 2017, Warfare Plugins, LLC
8
+ * @license GPL-3.0+
9
+ * @since 1.0.0 | CREATED | Unknown
10
+ * @since 2.2.4 | UPDATED | 2 MAY 2017 | Refactored functions & updated docblocking
11
+ */
12
 
13
+ defined( 'WPINC' ) || die;
14
+
15
+ /**
16
+ * #1: Add the On/Off Switch and Sortable Option
17
+ *
18
+ * @since 1.0.0
19
+ * @access public
20
+ * @param array $options The array of available plugin options
21
+ * @return array $options The modified array of available plugin options
22
+ */
23
+ add_filter( 'swp_button_options', 'swp_facebook_options_function',20 );
24
  function swp_facebook_options_function( $options ) {
25
 
26
  // Create the new option in a variable to be inserted
27
  $options['content']['facebook'] = array(
28
+ 'type' => 'checkbox',
29
+ 'content' => 'Facebook',
30
+ 'default' => true,
31
+ 'premium' => false,
32
  );
33
 
34
  return $options;
35
 
36
  };
 
 
 
 
 
 
 
 
 
37
 
38
+ /**
39
+ * #2: Add it to the global network array
40
+ *
41
+ * @since 1.0.0
42
+ * @access public
43
+ * @param array $networks The array of available plugin social networks
44
+ * @return array $networks The modified array of available plugin social networks
45
+ */
46
+ add_filter( 'swp_add_networks', 'swp_facebook_network' );
47
  function swp_facebook_network( $networks ) {
 
 
48
  $networks[] = 'facebook';
 
 
49
  return $networks;
50
  };
 
51
 
52
+ /**
53
+ * #3: Generate the API Share Count Request URL
54
+ *
55
+ * @since 1.0.0
56
+ * @access public
57
+ * @param string $url The permalink of the page or post for which to fetch share counts
58
+ * @return string $request_url The complete URL to be used to access share counts via the API
59
+ */
60
  function swp_facebook_request_link( $url ) {
61
  $request_url = 'https://graph.facebook.com/?id=' . $url;
62
  return $request_url;
63
  }
 
64
 
65
+ /**
66
+ * #4: Parse the response to get the share count
67
+ *
68
+ * @since 1.0.0
69
+ * @access public
70
+ * @param string $response The raw response returned from the API request
71
+ * @return int $total_activity The number of shares reported from the API
72
+ */
73
  function swp_format_facebook_response( $response ) {
74
 
75
  $url = get_permalink( get_the_ID() );
98
 
99
  return $total_activity;
100
  }
 
101
 
102
+ /**
103
+ * #5: Create the HTML to display the share button
104
+ *
105
+ * @since 1.0.0
106
+ * @access public
107
+ * @param array $array The array of information used to create and display each social panel of buttons
108
+ * @return array $array The modified array which will now contain the html for this button
109
+ */
110
+ add_filter( 'swp_network_buttons', 'swp_facebook_button_html',10 );
111
  function swp_facebook_button_html( $array ) {
112
 
113
  // If we've already generated this button, just use our existing html
122
 
123
  $array['resource']['facebook'] = '<div class="nc_tweetContainer swp_fb" data-id="' . $array['count'] . '" data-network="facebook">';
124
  $link = urlencode( urldecode( swp_process_url( $array['url'] , 'facebook' , $array['postID'] ) ) );
125
+ $array['resource']['facebook'] .= '<a rel="nofollow" target="_blank" href="https://www.facebook.com/share.php?u=' . $link . '" data-link="http://www.facebook.com/share.php?u=' . $link . '" class="nc_tweet">';
126
  if ( $array['options']['totesEach'] && $array['shares']['totes'] >= $array['options']['minTotes'] && $array['shares']['facebook'] > 0 ) :
127
  $array['resource']['facebook'] .= '<span class="iconFiller">';
128
  $array['resource']['facebook'] .= '<span class="spaceManWilly">';
functions/social-networks/googlePlus.php CHANGED
@@ -1,74 +1,88 @@
1
  <?php
2
 
3
  /**
 
 
 
 
 
 
 
 
4
 
5
- * **************************************************************
6
- * *
7
- * #1: Add the On / Off Switch and Sortable Option *
8
- * *
9
- ******************************************************************/
10
- add_filter( 'swp_button_options', 'swp_googlePlus_options_function',20 );
 
 
 
 
 
11
  function swp_googlePlus_options_function( $options ) {
12
 
13
  // Create the new option in a variable to be inserted
14
  $options['content']['googlePlus'] = array(
15
- 'type' => 'checkbox',
16
- 'content' => 'Google Plus',
17
- 'default' => true,
18
- 'premium' => false,
19
  );
20
 
21
  return $options;
22
 
23
  };
24
- /**
25
-
26
- ***************************************************************
27
- * *
28
- * #2: Add it to global network array *
29
- * *
30
- */
31
- // Queue up your filter to be ran on the swp_options hook.
32
- add_filter( 'swp_add_networks', 'swp_googlePlus_network' );
33
 
34
- // Create the function that will filter the options
 
 
 
 
 
 
 
 
35
  function swp_googlePlus_network( $networks ) {
36
-
37
- // Add your network to the existing network array
38
  $networks[] = 'googlePlus';
39
-
40
- // Be sure to return the modified options array or the world will explode
41
  return $networks;
42
  };
43
- /**
44
 
45
- * **************************************************************
46
- * *
47
- * #3: Generate the API Share Count Request URL *
48
- * *
49
- ******************************************************************/
 
 
 
50
  function swp_googlePlus_request_link( $url ) {
51
  return $url;
52
  }
53
- /**
54
 
55
- * **************************************************************
56
- * *
57
- * #4: Parse the Response to get the share count *
58
- * *
59
- ******************************************************************/
 
 
 
60
  function swp_format_googlePlus_response( $response ) {
61
  $response = json_decode( $response, true );
62
  return isset( $response[0]['result']['metadata']['globalCounts']['count'] )?intval( $response[0]['result']['metadata']['globalCounts']['count'] ):0;
63
  }
64
- /**
65
 
66
- ***************************************************************
67
- * *
68
- * #5: Create the Button HTML *
69
- * *
70
- */
71
- add_filter( 'swp_network_buttons', 'swp_googlePlus_button_html',10 );
 
 
 
72
  function swp_googlePlus_button_html( $array ) {
73
 
74
  // If we've already generated this button, just use our existing html
1
  <?php
2
 
3
  /**
4
+ * Functions to add a Google Plus share button to the available buttons
5
+ *
6
+ * @package SocialWarfare\Functions
7
+ * @copyright Copyright (c) 2017, Warfare Plugins, LLC
8
+ * @license GPL-3.0+
9
+ * @since 1.0.0 | CREATED | Unknown
10
+ * @since 2.2.4 | UPDATED | 2 MAY 2017 | Refactored functions & updated docblocking
11
+ */
12
 
13
+ defined( 'WPINC' ) || die;
14
+
15
+ /**
16
+ * #1: Add the On/Off Switch and Sortable Option
17
+ *
18
+ * @since 1.0.0
19
+ * @access public
20
+ * @param array $options The array of available plugin options
21
+ * @return array $options The modified array of available plugin options
22
+ */
23
+ add_filter( 'swp_button_options', 'swp_googlePlus_options_function',20 );
24
  function swp_googlePlus_options_function( $options ) {
25
 
26
  // Create the new option in a variable to be inserted
27
  $options['content']['googlePlus'] = array(
28
+ 'type' => 'checkbox',
29
+ 'content' => 'Google Plus',
30
+ 'default' => true,
31
+ 'premium' => false,
32
  );
33
 
34
  return $options;
35
 
36
  };
 
 
 
 
 
 
 
 
 
37
 
38
+ /**
39
+ * #2: Add it to the global network array
40
+ *
41
+ * @since 1.0.0
42
+ * @access public
43
+ * @param array $networks The array of available plugin social networks
44
+ * @return array $networks The modified array of available plugin social networks
45
+ */
46
+ add_filter( 'swp_add_networks', 'swp_googlePlus_network' );
47
  function swp_googlePlus_network( $networks ) {
 
 
48
  $networks[] = 'googlePlus';
 
 
49
  return $networks;
50
  };
 
51
 
52
+ /**
53
+ * #3: Generate the API Share Count Request URL
54
+ *
55
+ * @since 1.0.0
56
+ * @access public
57
+ * @param string $url The permalink of the page or post for which to fetch share counts
58
+ * @return string $request_url The complete URL to be used to access share counts via the API
59
+ */
60
  function swp_googlePlus_request_link( $url ) {
61
  return $url;
62
  }
 
63
 
64
+ /**
65
+ * #4: Parse the response to get the share count
66
+ *
67
+ * @since 1.0.0
68
+ * @access public
69
+ * @param string $response The raw response returned from the API request
70
+ * @return int $total_activity The number of shares reported from the API
71
+ */
72
  function swp_format_googlePlus_response( $response ) {
73
  $response = json_decode( $response, true );
74
  return isset( $response[0]['result']['metadata']['globalCounts']['count'] )?intval( $response[0]['result']['metadata']['globalCounts']['count'] ):0;
75
  }
 
76
 
77
+ /**
78
+ * #5: Create the HTML to display the share button
79
+ *
80
+ * @since 1.0.0
81
+ * @access public
82
+ * @param array $array The array of information used to create and display each social panel of buttons
83
+ * @return array $array The modified array which will now contain the html for this button
84
+ */
85
+ add_filter( 'swp_network_buttons', 'swp_googlePlus_button_html',10 );
86
  function swp_googlePlus_button_html( $array ) {
87
 
88
  // If we've already generated this button, just use our existing html
functions/social-networks/linkedIn.php CHANGED
@@ -1,75 +1,88 @@
1
  <?php
2
 
3
  /**
 
 
 
 
 
 
 
 
4
 
5
- * **************************************************************
6
- * *
7
- * #1: Add the On / Off Switch and Sortable Option *
8
- * *
9
- ******************************************************************/
10
- add_filter( 'swp_button_options', 'swp_linkedIn_options_function',20 );
 
 
 
 
 
11
  function swp_linkedIn_options_function( $options ) {
12
 
13
  // Create the new option in a variable to be inserted
14
  $options['content']['linkedIn'] = array(
15
- 'type' => 'checkbox',
16
- 'content' => 'LinkedIn',
17
- 'default' => true,
18
- 'premium' => false,
19
  );
20
 
21
  return $options;
22
-
23
  };
24
- /**
25
 
26
- ***************************************************************
27
- * *
28
- * #2: Add it to global network array *
29
- * *
30
- */
31
- // Queue up your filter to be ran on the swp_options hook.
32
- add_filter( 'swp_add_networks', 'swp_linkedIn_network' );
33
-
34
- // Create the function that will filter the options
35
  function swp_linkedIn_network( $networks ) {
36
-
37
- // Add your network to the existing network array
38
  $networks[] = 'linkedIn';
39
-
40
- // Be sure to return the modified options array or the world will explode
41
  return $networks;
42
  };
43
- /**
44
 
45
- * **************************************************************
46
- * *
47
- * #3: Generate the API Share Count Request URL *
48
- * *
49
- ******************************************************************/
 
 
 
50
  function swp_linkedIn_request_link( $url ) {
51
  $request_url = 'https://www.linkedin.com/countserv/count/share?url=' . $url . '&format=json';
52
  return $request_url;
53
  }
54
- /**
55
 
56
- * **************************************************************
57
- * *
58
- * #4: Parse the Response to get the share count *
59
- * *
60
- ******************************************************************/
 
 
 
61
  function swp_format_linkedIn_response( $response ) {
62
  $response = json_decode( $response, true );
63
  return isset( $response['count'] )?intval( $response['count'] ):0;
64
  }
65
- /**
66
 
67
- ***************************************************************
68
- * *
69
- * #5: Create the Button HTML *
70
- * *
71
- */
72
- add_filter( 'swp_network_buttons', 'swp_linkedIn_button_html',10 );
 
 
 
73
  function swp_linkedIn_button_html( $array ) {
74
 
75
  // If we've already generated this button, just use our existing html
1
  <?php
2
 
3
  /**
4
+ * Functions to add a LinkedIn share button to the available buttons
5
+ *
6
+ * @package SocialWarfare\Functions
7
+ * @copyright Copyright (c) 2017, Warfare Plugins, LLC
8
+ * @license GPL-3.0+
9
+ * @since 1.0.0 | CREATED | Unknown
10
+ * @since 2.2.4 | UPDATED | 2 MAY 2017 | Refactored functions & updated docblocking
11
+ */
12
 
13
+ defined( 'WPINC' ) || die;
14
+
15
+ /**
16
+ * #1: Add the On/Off Switch and Sortable Option
17
+ *
18
+ * @since 1.0.0
19
+ * @access public
20
+ * @param array $options The array of available plugin options
21
+ * @return array $options The modified array of available plugin options
22
+ */
23
+ add_filter( 'swp_button_options', 'swp_linkedIn_options_function',20 );
24
  function swp_linkedIn_options_function( $options ) {
25
 
26
  // Create the new option in a variable to be inserted
27
  $options['content']['linkedIn'] = array(
28
+ 'type' => 'checkbox',
29
+ 'content' => 'LinkedIn',
30
+ 'default' => true,
31
+ 'premium' => false,
32
  );
33
 
34
  return $options;
 
35
  };
 
36
 
37
+ /**
38
+ * #2: Add it to the global network array
39
+ *
40
+ * @since 1.0.0
41
+ * @access public
42
+ * @param array $networks The array of available plugin social networks
43
+ * @return array $networks The modified array of available plugin social networks
44
+ */
45
+ add_filter( 'swp_add_networks', 'swp_linkedIn_network' );
46
  function swp_linkedIn_network( $networks ) {
 
 
47
  $networks[] = 'linkedIn';
 
 
48
  return $networks;
49
  };
 
50
 
51
+ /**
52
+ * #3: Generate the API Share Count Request URL
53
+ *
54
+ * @since 1.0.0
55
+ * @access public
56
+ * @param string $url The permalink of the page or post for which to fetch share counts
57
+ * @return string $request_url The complete URL to be used to access share counts via the API
58
+ */
59
  function swp_linkedIn_request_link( $url ) {
60
  $request_url = 'https://www.linkedin.com/countserv/count/share?url=' . $url . '&format=json';
61
  return $request_url;
62
  }
 
63
 
64
+ /**
65
+ * #4: Parse the response to get the share count
66
+ *
67
+ * @since 1.0.0
68
+ * @access public
69
+ * @param string $response The raw response returned from the API request
70
+ * @return int $total_activity The number of shares reported from the API
71
+ */
72
  function swp_format_linkedIn_response( $response ) {
73
  $response = json_decode( $response, true );
74
  return isset( $response['count'] )?intval( $response['count'] ):0;
75
  }
 
76
 
77
+ /**
78
+ * #5: Create the HTML to display the share button
79
+ *
80
+ * @since 1.0.0
81
+ * @access public
82
+ * @param array $array The array of information used to create and display each social panel of buttons
83
+ * @return array $array The modified array which will now contain the html for this button
84
+ */
85
+ add_filter( 'swp_network_buttons' , 'swp_linkedIn_button_html' , 10 );
86
  function swp_linkedIn_button_html( $array ) {
87
 
88
  // If we've already generated this button, just use our existing html
functions/social-networks/pinterest.php CHANGED
@@ -1,151 +1,164 @@
1
  <?php
2
 
3
  /**
 
 
 
 
 
 
 
 
4
 
5
- * **************************************************************
6
- * *
7
- * #1: Add the On / Off Switch and Sortable Option *
8
- * *
9
- ******************************************************************/
10
- add_filter( 'swp_button_options', 'swp_pinterest_options_function',20 );
 
 
 
 
 
11
  function swp_pinterest_options_function( $options ) {
12
 
13
  // Create the new option in a variable to be inserted
14
  $options['content']['pinterest'] = array(
15
- 'type' => 'checkbox',
16
- 'content' => 'Pinterest',
17
- 'default' => true,
18
- 'premium' => false,
19
  );
20
 
21
  return $options;
22
-
23
  };
24
- /**
25
 
26
- ***************************************************************
27
- * *
28
- * #2: Add it to global network array *
29
- * *
30
- */
31
- // Queue up your filter to be ran on the swp_options hook.
32
- add_filter( 'swp_add_networks', 'swp_pinterest_network' );
33
-
34
- // Create the function that will filter the options
35
  function swp_pinterest_network( $networks ) {
36
-
37
- // Add your network to the existing network array
38
  $networks[] = 'pinterest';
39
-
40
- // Be sure to return the modified options array or the world will explode
41
  return $networks;
42
  };
43
- /**
44
 
45
- * **************************************************************
46
- * *
47
- * #3: Generate the API Share Count Request URL *
48
- * *
49
- ******************************************************************/
 
 
 
50
  function swp_pinterest_request_link( $url ) {
51
  $url = rawurlencode( $url );
52
  $request_url = 'https://api.pinterest.com/v1/urls/count.json?url=' . $url;
53
  return $request_url;
54
  }
55
- /**
56
 
57
- * **************************************************************
58
- * *
59
- * #4: Parse the Response to get the share count *
60
- * *
61
- ******************************************************************/
 
 
 
62
  function swp_format_pinterest_response( $response ) {
63
  $response = preg_replace( '/^receiveCount\((.*)\)$/', "\\1", $response );
64
  $response = json_decode( $response,true );
65
  return isset( $response['count'] )?intval( $response['count'] ):0;
66
  }
67
- /**
68
 
69
- ***************************************************************
70
- * *
71
- * #5: Create the Button HTML *
72
- * *
73
- */
74
- add_filter( 'swp_network_buttons', 'swp_pinterest_button_html',10 );
 
 
 
75
  function swp_pinterest_button_html( $array ) {
76
 
77
  // If we've already generated this button, just use our existing html
78
  if ( isset( $_GLOBALS['sw']['buttons'][ $array['postID'] ]['pinterest'] ) ) :
79
  $array['resource']['pinterest'] = $_GLOBALS['sw']['buttons'][ $array['postID'] ]['pinterest'];
80
 
81
- // If not, let's check if Facebook is activated and create the button HTML
82
- elseif ( (isset( $array['options']['newOrderOfIcons']['pinterest'] ) && ! isset( $array['buttons'] )) || (isset( $array['buttons'] ) && isset( $array['buttons']['pinterest'] )) ) :
83
 
84
- $array['totes'] += intval( $array['shares']['pinterest'] );
85
- ++$array['count'];
86
 
87
- $pi = get_post_meta( $array['postID'] , 'nc_pinterestImage' , true );
88
 
89
- // Pinterest Username
90
- if ( !empty( $array['options']['pinterestID'] ) ) :
91
- $pu = ' via @' . str_replace( '@' , '' , $array['options']['pinterestID'] );
92
- else :
93
- $pu = '';
94
- endif;
95
 
96
- $array['imageURL'] = false;
97
- $image_url = get_post_meta( $array['postID'] , 'swp_pinterest_image_url' , true );
98
- if( !empty( $image_url ) ):
99
- $array['imageURL'] = $image_url;
100
- else:
101
- $thumbnail_url = wp_get_attachment_url( get_post_thumbnail_id( $array['postID'] ) );
102
- if( !empty( $thumbnail_url ) ):
103
- $array['imageURL'] = $thumbnail_url;
104
- endif;
105
  endif;
 
106
 
107
- $pd = get_post_meta( $array['postID'] , 'nc_pinterestDescription' , true );
108
- if ( $array['imageURL'] ) :
109
- $pi = '&media=' . urlencode( html_entity_decode( $array['imageURL'],ENT_COMPAT, 'UTF-8' ) );
110
- else :
111
- $pi = '';
112
- endif;
113
 
114
- $pinterestLink = $array['url'];
115
- $title = strip_tags( get_the_title( $array['postID'] ) );
116
- $title = str_replace( '|','',$title );
117
 
118
- if( function_exists('is_swp_registered') ):
119
- $swp_registration = is_swp_registered();
120
- else:
121
- $swp_registration = false;
122
- endif;
123
 
124
- if ( $pi != '' && true === $swp_registration ) :
125
- $a = '<a rel="nofollow" data-link="https://pinterest.com/pin/create/button/?url=' . $pinterestLink . '' . $pi . '&description=' . ($pd != '' ? urlencode( html_entity_decode( $pd . $pu, ENT_COMPAT, 'UTF-8' ) ) : urlencode( html_entity_decode( $title . $pu, ENT_COMPAT, 'UTF-8' ) )) . '" class="nc_tweet" data-count="0">';
126
- else :
127
- $a = '<a rel="nofollow" onClick="var e=document.createElement(\'script\');e.setAttribute(\'type\',\'text/javascript\');e.setAttribute(\'charset\',\'UTF-8\');e.setAttribute(\'src\',\'//assets.pinterest.com/js/pinmarklet.js?r=\'+Math.random()*99999999);document.body.appendChild(e);" class="nc_tweet noPop">';
128
- endif;
129
- $array['resource']['pinterest'] = '<div class="nc_tweetContainer nc_pinterest" data-id="' . $array['count'] . '" data-network="pinterest">';
130
- $array['resource']['pinterest'] .= $a;
131
- if ( $array['options']['totesEach'] && $array['shares']['totes'] >= $array['options']['minTotes'] && $array['shares']['pinterest'] > 0 ) :
132
- $array['resource']['pinterest'] .= '<span class="iconFiller">';
133
- $array['resource']['pinterest'] .= '<span class="spaceManWilly">';
134
- $array['resource']['pinterest'] .= '<i class="sw sw-pinterest"></i>';
135
- $array['resource']['pinterest'] .= '<span class="swp_share"> ' . __( 'Pin','social-warfare' ) . '</span>';
136
- $array['resource']['pinterest'] .= '</span></span>';
137
- $array['resource']['pinterest'] .= '<span class="swp_count">' . swp_kilomega( $array['shares']['pinterest'] ) . '</span>';
138
- else :
139
- $array['resource']['pinterest'] .= '<span class="swp_count swp_hide"><span class="iconFiller"><span class="spaceManWilly"><i class="sw sw-pinterest"></i><span class="swp_share"> ' . __( 'Pin','social-warfare' ) . '</span></span></span></span>';
140
- endif;
141
- $array['resource']['pinterest'] .= '</a>';
142
- $array['resource']['pinterest'] .= '</div>';
143
 
144
- // Store these buttons so that we don't have to generate them for each set
145
- $_GLOBALS['sw']['buttons'][ $array['postID'] ]['pinterest'] = $array['resource']['pinterest'];
146
 
147
- endif;
148
 
149
- return $array;
150
 
151
  };
1
  <?php
2
 
3
  /**
4
+ * Functions to add a Pinterest share button to the available buttons
5
+ *
6
+ * @package SocialWarfare\Functions
7
+ * @copyright Copyright (c) 2017, Warfare Plugins, LLC
8
+ * @license GPL-3.0+
9
+ * @since 1.0.0 | CREATED | Unknown
10
+ * @since 2.2.4 | UPDATED | 2 MAY 2017 | Refactored functions & updated docblocking
11
+ */
12
 
13
+ defined( 'WPINC' ) || die;
14
+
15
+ /**
16
+ * #1: Add the On/Off Switch and Sortable Option
17
+ *
18
+ * @since 1.0.0
19
+ * @access public
20
+ * @param array $options The array of available plugin options
21
+ * @return array $options The modified array of available plugin options
22
+ */
23
+ add_filter( 'swp_button_options', 'swp_pinterest_options_function',20 );
24
  function swp_pinterest_options_function( $options ) {
25
 
26
  // Create the new option in a variable to be inserted
27
  $options['content']['pinterest'] = array(
28
+ 'type' => 'checkbox',
29
+ 'content' => 'Pinterest',
30
+ 'default' => true,
31
+ 'premium' => false,
32
  );
33
 
34
  return $options;
 
35
  };
 
36
 
37
+ /**
38
+ * #2: Add it to the global network array
39
+ *
40
+ * @since 1.0.0
41
+ * @access public
42
+ * @param array $networks The array of available plugin social networks
43
+ * @return array $networks The modified array of available plugin social networks
44
+ */
45
+ add_filter( 'swp_add_networks', 'swp_pinterest_network' );
46
  function swp_pinterest_network( $networks ) {
 
 
47
  $networks[] = 'pinterest';
 
 
48
  return $networks;
49
  };
 
50
 
51
+ /**
52
+ * #3: Generate the API Share Count Request URL
53
+ *
54
+ * @since 1.0.0
55
+ * @access public
56
+ * @param string $url The permalink of the page or post for which to fetch share counts
57
+ * @return string $request_url The complete URL to be used to access share counts via the API
58
+ */
59
  function swp_pinterest_request_link( $url ) {
60
  $url = rawurlencode( $url );
61
  $request_url = 'https://api.pinterest.com/v1/urls/count.json?url=' . $url;
62
  return $request_url;
63
  }
 
64
 
65
+ /**
66
+ * #4: Parse the response to get the share count
67
+ *
68
+ * @since 1.0.0
69
+ * @access public
70
+ * @param string $response The raw response returned from the API request
71
+ * @return int $total_activity The number of shares reported from the API
72
+ */
73
  function swp_format_pinterest_response( $response ) {
74
  $response = preg_replace( '/^receiveCount\((.*)\)$/', "\\1", $response );
75
  $response = json_decode( $response,true );
76
  return isset( $response['count'] )?intval( $response['count'] ):0;
77
  }
 
78
 
79
+ /**
80
+ * #5: Create the HTML to display the share button
81
+ *
82
+ * @since 1.0.0
83
+ * @access public
84
+ * @param array $array The array of information used to create and display each social panel of buttons
85
+ * @return array $array The modified array which will now contain the html for this button
86
+ */
87
+ add_filter( 'swp_network_buttons', 'swp_pinterest_button_html',10 );
88
  function swp_pinterest_button_html( $array ) {
89
 
90
  // If we've already generated this button, just use our existing html
91
  if ( isset( $_GLOBALS['sw']['buttons'][ $array['postID'] ]['pinterest'] ) ) :
92
  $array['resource']['pinterest'] = $_GLOBALS['sw']['buttons'][ $array['postID'] ]['pinterest'];
93
 
94
+ // If not, let's check if Facebook is activated and create the button HTML
95
+ elseif ( (isset( $array['options']['newOrderOfIcons']['pinterest'] ) && ! isset( $array['buttons'] )) || (isset( $array['buttons'] ) && isset( $array['buttons']['pinterest'] )) ) :
96
 
97
+ $array['totes'] += intval( $array['shares']['pinterest'] );
98
+ ++$array['count'];
99
 
100
+ $pi = get_post_meta( $array['postID'] , 'nc_pinterestImage' , true );
101
 
102
+ // Pinterest Username
103
+ if ( !empty( $array['options']['pinterestID'] ) ) :
104
+ $pu = ' via @' . str_replace( '@' , '' , $array['options']['pinterestID'] );
105
+ else :
106
+ $pu = '';
107
+ endif;
108
 
109
+ $array['imageURL'] = false;
110
+ $image_url = get_post_meta( $array['postID'] , 'swp_pinterest_image_url' , true );
111
+ if( !empty( $image_url ) ):
112
+ $array['imageURL'] = $image_url;
113
+ elseif(isset($array['options']['advanced_pinterest_fallback']) && $array['options']['advanced_pinterest_fallback'] == 'featured'):
114
+ $thumbnail_url = wp_get_attachment_url( get_post_thumbnail_id( $array['postID'] ) );
115
+ if( !empty( $thumbnail_url ) ):
116
+ $array['imageURL'] = $thumbnail_url;
 
117
  endif;
118
+ endif;
119
 
120
+ $pd = get_post_meta( $array['postID'] , 'nc_pinterestDescription' , true );
121
+ if ( $array['imageURL'] ) :
122
+ $pi = '&media=' . urlencode( html_entity_decode( $array['imageURL'],ENT_COMPAT, 'UTF-8' ) );
123
+ else :
124
+ $pi = '';
125
+ endif;
126
 
127
+ $pinterest_link = urlencode( urldecode( swp_process_url( $array['url'] , 'pinterest' , $array['postID'] ) ) );
128
+ $title = strip_tags( get_the_title( $array['postID'] ) );
129
+ $title = str_replace( '|','',$title );
130
 
131
+ if( function_exists('is_swp_registered') ):
132
+ $swp_registration = is_swp_registered();
133
+ else:
134
+ $swp_registration = false;
135
+ endif;
136
 
137
+ if ( $pi != '' && true === $swp_registration ) :
138
+ $a = '<a rel="nofollow" data-link="https://pinterest.com/pin/create/button/?url=' . $pinterest_link . '' . $pi . '&description=' . ($pd != '' ? urlencode( html_entity_decode( $pd . $pu, ENT_COMPAT, 'UTF-8' ) ) : urlencode( html_entity_decode( $title . $pu, ENT_COMPAT, 'UTF-8' ) )) . '" class="nc_tweet" data-count="0">';
139
+ else :
140
+ $a = '<a rel="nofollow" onClick="var e=document.createElement(\'script\');e.setAttribute(\'type\',\'text/javascript\');e.setAttribute(\'charset\',\'UTF-8\');e.setAttribute(\'src\',\'//assets.pinterest.com/js/pinmarklet.js?r=\'+Math.random()*99999999);document.body.appendChild(e);" class="nc_tweet noPop">';
141
+ endif;
142
+ $array['resource']['pinterest'] = '<div class="nc_tweetContainer nc_pinterest" data-id="' . $array['count'] . '" data-network="pinterest">';
143
+ $array['resource']['pinterest'] .= $a;
144
+ if ( $array['options']['totesEach'] && $array['shares']['totes'] >= $array['options']['minTotes'] && $array['shares']['pinterest'] > 0 ) :
145
+ $array['resource']['pinterest'] .= '<span class="iconFiller">';
146
+ $array['resource']['pinterest'] .= '<span class="spaceManWilly">';
147
+ $array['resource']['pinterest'] .= '<i class="sw sw-pinterest"></i>';
148
+ $array['resource']['pinterest'] .= '<span class="swp_share"> ' . __( 'Pin','social-warfare' ) . '</span>';
149
+ $array['resource']['pinterest'] .= '</span></span>';
150
+ $array['resource']['pinterest'] .= '<span class="swp_count">' . swp_kilomega( $array['shares']['pinterest'] ) . '</span>';
151
+ else :
152
+ $array['resource']['pinterest'] .= '<span class="swp_count swp_hide"><span class="iconFiller"><span class="spaceManWilly"><i class="sw sw-pinterest"></i><span class="swp_share"> ' . __( 'Pin','social-warfare' ) . '</span></span></span></span>';
153
+ endif;
154
+ $array['resource']['pinterest'] .= '</a>';
155
+ $array['resource']['pinterest'] .= '</div>';
156
 
157
+ // Store these buttons so that we don't have to generate them for each set
158
+ $_GLOBALS['sw']['buttons'][ $array['postID'] ]['pinterest'] = $array['resource']['pinterest'];
159
 
160
+ endif;
161
 
162
+ return $array;
163
 
164
  };
functions/social-networks/stumbleupon.php CHANGED
@@ -1,116 +1,129 @@
1
  <?php
2
 
3
  /**
 
 
 
 
 
 
 
 
4
 
5
- * **************************************************************
6
- * *
7
- * #1: Add the On / Off Switch and Sortable Option *
8
- * *
9
- ******************************************************************/
10
- add_filter( 'swp_button_options', 'swp_stumbleupon_options_function',20 );
 
 
 
 
 
11
  function swp_stumbleupon_options_function( $options ) {
12
 
13
  // Create the new option in a variable to be inserted
14
  $options['content']['stumbleupon'] = array(
15
- 'type' => 'checkbox',
16
- 'content' => 'StumbleUpon',
17
- 'default' => false,
18
- 'premium' => false,
19
  );
20
 
21
  return $options;
22
-
23
  };
24
- /**
25
-
26
- ***************************************************************
27
- * *
28
- * #2: Add it to global network array *
29
- * *
30
- */
31
- // Queue up your filter to be ran on the swp_options hook.
32
- add_filter( 'swp_add_networks', 'swp_stumbleupon_network' );
33
 
34
- // Create the function that will filter the options
 
 
 
 
 
 
 
 
35
  function swp_stumbleupon_network( $networks ) {
36
-
37
- // Add your network to the existing network array
38
  $networks[] = 'stumbleupon';
39
-
40
- // Be sure to return the modified options array or the world will explode
41
  return $networks;
42
  };
43
- /**
44
 
45
- * **************************************************************
46
- * *
47
- * #3: Generate the API Share Count Request URL *
48
- * *
49
- ******************************************************************/
 
 
 
50
  function swp_stumbleupon_request_link( $url ) {
51
  $request_url = 'https://www.stumbleupon.com/services/1.01/badge.getinfo?url=' . $url;
52
  return $request_url;
53
  }
54
- /**
55
 
56
- * **************************************************************
57
- * *
58
- * #4: Parse the Response to get the share count *
59
- * *
60
- ******************************************************************/
 
 
 
61
  function swp_format_stumbleupon_response( $response ) {
62
  $response = json_decode( $response, true );
63
  return isset( $response['result']['views'] )?intval( $response['result']['views'] ):0;
64
  }
65
- /**
66
 
67
- ***************************************************************
68
- * *
69
- * #5: Create the Button HTML *
70
- * *
71
- */
72
- add_filter( 'swp_network_buttons', 'swp_stumbleupon_button_html',10 );
 
 
 
73
  function swp_stumbleupon_button_html( $array ) {
74
 
75
  // If we've already generated this button, just use our existing html
76
  if ( isset( $_GLOBALS['sw']['buttons'][ $array['postID'] ]['stumbleupon'] ) ) :
77
  $array['resource']['stumbleupon'] = $_GLOBALS['sw']['buttons'][ $array['postID'] ]['stumbleupon'];
78
 
79
- // If not, let's check if Facebook is activated and create the button HTML
80
- elseif ( (isset( $array['options']['newOrderOfIcons']['stumbleupon'] ) && ! isset( $array['buttons'] )) || (isset( $array['buttons'] ) && isset( $array['buttons']['stumbleupon'] )) ) :
81
-
82
- if ( isset( $array['shares']['stumbleupon'] ) ) :
83
- $array['totes'] += intval( $array['shares']['stumbleupon'] );
84
- endif;
85
- ++$array['count'];
86
-
87
- // Collect the Title
88
- $title = get_post_meta( $array['postID'] , 'nc_ogTitle' , true );
89
- if ( ! $title ) :
90
- $title = get_the_title();
91
- endif;
92
-
93
- $array['resource']['stumbleupon'] = '<div class="nc_tweetContainer swp_stumbleupon" data-id="' . $array['count'] . '" data-network="stumble_upon">';
94
- $link = $array['url'];
95
- $array['resource']['stumbleupon'] .= '<a rel="nofollow" target="_blank" href="http://www.stumbleupon.com/submit?url=' . $link . '&title=' . urlencode( $title ) . '" data-link="http://www.stumbleupon.com/submit?url=' . $link . '&title=' . urlencode( $title ) . '" class="nc_tweet">';
96
- if ( $array['options']['totesEach'] && $array['shares']['totes'] >= $array['options']['minTotes'] && isset( $array['shares']['stumbleupon'] ) && $array['shares']['stumbleupon'] > 0 ) :
97
- $array['resource']['stumbleupon'] .= '<span class="iconFiller">';
98
- $array['resource']['stumbleupon'] .= '<span class="spaceManWilly">';
99
- $array['resource']['stumbleupon'] .= '<i class="sw sw-stumbleupon"></i>';
100
- $array['resource']['stumbleupon'] .= '<span class="swp_share"> ' . __( 'Stumble','social-warfare' ) . '</span>';
101
- $array['resource']['stumbleupon'] .= '</span></span>';
102
- $array['resource']['stumbleupon'] .= '<span class="swp_count">' . swp_kilomega( $array['shares']['stumbleupon'] ) . '</span>';
103
- else :
104
- $array['resource']['stumbleupon'] .= '<span class="swp_count swp_hide"><span class="iconFiller"><span class="spaceManWilly"><i class="sw sw-stumbleupon"></i><span class="swp_share"> ' . __( 'Stumble','social-warfare' ) . '</span></span></span></span>';
105
- endif;
106
- $array['resource']['stumbleupon'] .= '</a>';
107
- $array['resource']['stumbleupon'] .= '</div>';
108
-
109
- // Store these buttons so that we don't have to generate them for each set
110
- $_GLOBALS['sw']['buttons'][ $array['postID'] ]['stumbleupon'] = $array['resource']['stumbleupon'];
111
 
 
 
 
 
 
 
 
 
 
 
 
 
112
  endif;
 
 
 
 
 
 
 
113
 
114
- return $array;
115
 
116
  };
1
  <?php
2
 
3
  /**
4
+ * Functions to add a StumbleUpon share button to the available buttons
5
+ *
6
+ * @package SocialWarfare\Functions
7
+ * @copyright Copyright (c) 2017, Warfare Plugins, LLC
8
+ * @license GPL-3.0+
9
+ * @since 1.0.0 | CREATED | Unknown
10
+ * @since 2.2.4 | UPDATED | 2 MAY 2017 | Refactored functions & updated docblocking
11
+ */
12
 
13
+ defined( 'WPINC' ) || die;
14
+
15
+ /**
16
+ * #1: Add the On/Off Switch and Sortable Option
17
+ *
18
+ * @since 1.0.0
19
+ * @access public
20
+ * @param array $options The array of available plugin options
21
+ * @return array $options The modified array of available plugin options
22
+ */
23
+ add_filter( 'swp_button_options' , 'swp_stumbleupon_options_function' , 20 );
24
  function swp_stumbleupon_options_function( $options ) {
25
 
26
  // Create the new option in a variable to be inserted
27
  $options['content']['stumbleupon'] = array(
28
+ 'type' => 'checkbox',
29
+ 'content' => 'StumbleUpon',
30
+ 'default' => false,
31
+ 'premium' => false,
32
  );
33
 
34
  return $options;
 
35
  };
 
 
 
 
 
 
 
 
 
36
 
37
+ /**
38
+ * #2: Add it to the global network array
39
+ *
40
+ * @since 1.0.0
41
+ * @access public
42
+ * @param array $networks The array of available plugin social networks
43
+ * @return array $networks The modified array of available plugin social networks
44
+ */
45
+ add_filter( 'swp_add_networks', 'swp_stumbleupon_network' );
46
  function swp_stumbleupon_network( $networks ) {
 
 
47
  $networks[] = 'stumbleupon';
 
 
48
  return $networks;
49
  };
 
50
 
51
+ /**
52
+ * #3: Generate the API Share Count Request URL
53
+ *
54
+ * @since 1.0.0
55
+ * @access public
56
+ * @param string $url The permalink of the page or post for which to fetch share counts
57
+ * @return string $request_url The complete URL to be used to access share counts via the API
58
+ */
59
  function swp_stumbleupon_request_link( $url ) {
60
  $request_url = 'https://www.stumbleupon.com/services/1.01/badge.getinfo?url=' . $url;
61
  return $request_url;
62
  }
 
63
 
64
+ /**
65
+ * #4: Parse the response to get the share count
66
+ *
67
+ * @since 1.0.0
68
+ * @access public
69
+ * @param string $response The raw response returned from the API request
70
+ * @return int $total_activity The number of shares reported from the API
71
+ */
72
  function swp_format_stumbleupon_response( $response ) {
73
  $response = json_decode( $response, true );
74
  return isset( $response['result']['views'] )?intval( $response['result']['views'] ):0;
75
  }
 
76
 
77
+ /**
78
+ * #5: Create the HTML to display the share button
79
+ *
80
+ * @since 1.0.0
81
+ * @access public
82
+ * @param array $array The array of information used to create and display each social panel of buttons
83
+ * @return array $array The modified array which will now contain the html for this button
84
+ */
85
+ add_filter( 'swp_network_buttons', 'swp_stumbleupon_button_html',10 );
86
  function swp_stumbleupon_button_html( $array ) {
87
 
88
  // If we've already generated this button, just use our existing html
89
  if ( isset( $_GLOBALS['sw']['buttons'][ $array['postID'] ]['stumbleupon'] ) ) :
90
  $array['resource']['stumbleupon'] = $_GLOBALS['sw']['buttons'][ $array['postID'] ]['stumbleupon'];
91
 
92
+ // If not, let's check if Facebook is activated and create the button HTML
93
+ elseif ( (isset( $array['options']['newOrderOfIcons']['stumbleupon'] ) && ! isset( $array['buttons'] )) || (isset( $array['buttons'] ) && isset( $array['buttons']['stumbleupon'] )) ) :
94
+
95
+ if ( isset( $array['shares']['stumbleupon'] ) ) :
96
+ $array['totes'] += intval( $array['shares']['stumbleupon'] );
97
+ endif;
98
+ ++$array['count'];
99
+
100
+ // Collect the Title
101
+ $title = get_post_meta( $array['postID'] , 'nc_ogTitle' , true );
102
+ if ( ! $title ) :
103
+ $title = get_the_title();
104
+ endif;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
105
 
106
+ $array['resource']['stumbleupon'] = '<div class="nc_tweetContainer swp_stumbleupon" data-id="' . $array['count'] . '" data-network="stumble_upon">';
107
+ $link = $array['url'];
108
+ $array['resource']['stumbleupon'] .= '<a rel="nofollow" target="_blank" href="http://www.stumbleupon.com/submit?url=' . $link . '&title=' . urlencode( $title ) . '" data-link="http://www.stumbleupon.com/submit?url=' . $link . '&title=' . urlencode( $title ) . '" class="nc_tweet">';
109
+ if ( $array['options']['totesEach'] && $array['shares']['totes'] >= $array['options']['minTotes'] && isset( $array['shares']['stumbleupon'] ) && $array['shares']['stumbleupon'] > 0 ) :
110
+ $array['resource']['stumbleupon'] .= '<span class="iconFiller">';
111
+ $array['resource']['stumbleupon'] .= '<span class="spaceManWilly">';
112
+ $array['resource']['stumbleupon'] .= '<i class="sw sw-stumbleupon"></i>';
113
+ $array['resource']['stumbleupon'] .= '<span class="swp_share"> ' . __( 'Stumble','social-warfare' ) . '</span>';
114
+ $array['resource']['stumbleupon'] .= '</span></span>';
115
+ $array['resource']['stumbleupon'] .= '<span class="swp_count">' . swp_kilomega( $array['shares']['stumbleupon'] ) . '</span>';
116
+ else :
117
+ $array['resource']['stumbleupon'] .= '<span class="swp_count swp_hide"><span class="iconFiller"><span class="spaceManWilly"><i class="sw sw-stumbleupon"></i><span class="swp_share"> ' . __( 'Stumble','social-warfare' ) . '</span></span></span></span>';
118
  endif;
119
+ $array['resource']['stumbleupon'] .= '</a>';
120
+ $array['resource']['stumbleupon'] .= '</div>';
121
+
122
+ // Store these buttons so that we don't have to generate them for each set
123
+ $_GLOBALS['sw']['buttons'][ $array['postID'] ]['stumbleupon'] = $array['resource']['stumbleupon'];
124
+
125
+ endif;
126
 
127
+ return $array;
128
 
129
  };
functions/social-networks/twitter.php CHANGED
@@ -1,52 +1,61 @@
1
  <?php
2
 
3
  /**
 
 
 
 
 
 
 
 
4
 
5
- * **************************************************************
6
- * *
7
- * #1: Add the On / Off Switch and Sortable Option *
8
- * *
9
- ******************************************************************/
10
- add_filter( 'swp_button_options', 'swp_twitter_options_function',20 );
 
 
 
 
 
11
  function swp_twitter_options_function( $options ) {
12
 
13
  // Create the new option in a variable to be inserted
14
  $options['content']['twitter'] = array(
15
- 'type' => 'checkbox',
16
- 'content' => 'Twitter',
17
- 'default' => true,
18
- 'premium' => false,
19
  );
20
 
21
  return $options;
22
-
23
  };
24
- /**
25
 
26
- ***************************************************************
27
- * *
28
- * #2: Add it to global network array *
29
- * *
30
- */
31
- // Queue up your filter to be ran on the swp_options hook.
32
- add_filter( 'swp_add_networks', 'swp_twitter_network' );
33
-
34
- // Create the function that will filter the options
35
  function swp_twitter_network( $networks ) {
36
-
37
- // Add your network to the existing network array
38
  $networks[] = 'twitter';
39
-
40
- // Be sure to return the modified options array or the world will explode
41
  return $networks;
42
  };
43
- /**
44
 
45
- * **************************************************************
46
- * *
47
- * #3: Generate the API Share Count Request URL *
48
- * *
49
- ******************************************************************/
 
 
 
50
  function swp_twitter_request_link( $url ) {
51
 
52
  // Fetch the user's options
@@ -73,13 +82,15 @@ function swp_twitter_request_link( $url ) {
73
 
74
  endif;
75
  }
76
- /**
77
 
78
- * **************************************************************
79
- * *
80
- * #4: Parse the Response to get the share count *
81
- * *
82
- ******************************************************************/
 
 
 
83
  function swp_format_twitter_response( $response ) {
84
 
85
  // Fetch the user's options
@@ -106,37 +117,48 @@ function swp_format_twitter_response( $response ) {
106
 
107
  endif;
108
  }
109
- /**
110
 
111
- ***************************************************************
112
- * *
113
- * #5: Create the Button HTML *
114
- * *
115
- */
116
- add_filter( 'swp_network_buttons', 'swp_twitter_button_html',10 );
 
 
 
117
  function swp_twitter_button_html( $array ) {
118
 
119
  // If we've already generated this button, just use our existing html
120
  if ( isset( $_GLOBALS['sw']['buttons'][ $array['postID'] ]['twitter'] ) ) :
121
  $array['resource']['twitter'] = $_GLOBALS['sw']['buttons'][ $array['postID'] ]['twitter'];
122
 
123
- // If not, let's check if Facebook is activated and create the button HTML
124
- elseif ( (isset( $array['options']['newOrderOfIcons']['twitter'] ) && ! isset( $array['buttons'] )) || (isset( $array['buttons'] ) && isset( $array['buttons']['twitter'] )) ) :
125
 
126
- $array['totes'] += intval( $array['shares']['twitter'] );
127
- ++$array['count'];
128
 
129
- $title = strip_tags( get_the_title( $array['postID'] ) );
130
- $title = str_replace( '|','',$title );
131
- $ct = get_post_meta( $array['postID'] , 'nc_customTweet' , true );
132
 
133
- $ct = ($ct != '' ? urlencode( html_entity_decode( $ct, ENT_COMPAT, 'UTF-8' ) ) : urlencode( html_entity_decode( $title, ENT_COMPAT, 'UTF-8' ) ));
134
- $twitterLink = swp_process_url( $array['url'] , 'twitter' , $array['postID'] );
135
- if ( strpos( $ct,'http' ) !== false ) : $urlParam = '&url=/';
 
136
  else :
137
  $urlParam = '&url=' . $twitterLink;
138
  endif;
139
 
 
 
 
 
 
 
 
 
140
  $user_twitter_handle = get_the_author_meta( 'swp_twitter' , swp_get_author( $array['postID'] ) );
141
  if ( $user_twitter_handle ) :
142
  $viaText = '&via=' . str_replace( '@','',$user_twitter_handle );
1
  <?php
2
 
3
  /**
4
+ * Functions to add a Twitter share button to the available buttons
5
+ *
6
+ * @package SocialWarfare\Functions
7
+ * @copyright Copyright (c) 2017, Warfare Plugins, LLC
8
+ * @license GPL-3.0+
9
+ * @since 1.0.0 | CREATED | Unknown
10
+ * @since 2.2.4 | UPDATED | 3 MAY 2017 | Refactored functions & updated docblocking
11
+ */
12
 
13
+ defined( 'WPINC' ) || die;
14
+
15
+ /**
16
+ * #1: Add the On/Off Switch and Sortable Option
17
+ *
18
+ * @since 1.0.0
19
+ * @access public
20
+ * @param array $options The array of available plugin options
21
+ * @return array $options The modified array of available plugin options
22
+ */
23
+ add_filter( 'swp_button_options', 'swp_twitter_options_function',20 );
24
  function swp_twitter_options_function( $options ) {
25
 
26
  // Create the new option in a variable to be inserted
27
  $options['content']['twitter'] = array(
28
+ 'type' => 'checkbox',
29
+ 'content' => 'Twitter',
30
+ 'default' => true,
31
+ 'premium' => false,
32
  );
33
 
34
  return $options;
 
35
  };
 
36
 
37
+ /**
38
+ * #2: Add it to the global network array
39
+ *
40
+ * @since 1.0.0
41
+ * @access public
42
+ * @param array $networks The array of available plugin social networks
43
+ * @return array $networks The modified array of available plugin social networks
44
+ */
45
+ add_filter( 'swp_add_networks', 'swp_twitter_network' );
46
  function swp_twitter_network( $networks ) {
 
 
47
  $networks[] = 'twitter';
 
 
48
  return $networks;
49
  };
 
50
 
51
+ /**
52
+ * #3: Generate the API Share Count Request URL
53
+ *
54
+ * @since 1.0.0
55
+ * @access public
56
+ * @param string $url The permalink of the page or post for which to fetch share counts
57
+ * @return string $request_url The complete URL to be used to access share counts via the API
58
+ */
59
  function swp_twitter_request_link( $url ) {
60
 
61
  // Fetch the user's options
82
 
83
  endif;
84
  }
 
85
 
86
+ /**
87
+ * #4: Parse the response to get the share count
88
+ *
89
+ * @since 1.0.0
90
+ * @access public
91
+ * @param string $response The raw response returned from the API request
92
+ * @return int $total_activity The number of shares reported from the API
93
+ */
94
  function swp_format_twitter_response( $response ) {
95
 
96
  // Fetch the user's options
117
 
118
  endif;
119
  }
 
120
 
121
+ /**
122
+ * #5: Create the HTML to display the share button
123
+ *
124
+ * @since 1.0.0
125
+ * @access public
126
+ * @param array $array The array of information used to create and display each social panel of buttons
127
+ * @return array $array The modified array which will now contain the html for this button
128
+ */
129
+ add_filter( 'swp_network_buttons', 'swp_twitter_button_html',10 );
130
  function swp_twitter_button_html( $array ) {
131
 
132
  // If we've already generated this button, just use our existing html
133
  if ( isset( $_GLOBALS['sw']['buttons'][ $array['postID'] ]['twitter'] ) ) :
134
  $array['resource']['twitter'] = $_GLOBALS['sw']['buttons'][ $array['postID'] ]['twitter'];
135
 
136
+ // If not, let's check if Facebook is activated and create the button HTML
137
+ elseif ( (isset( $array['options']['newOrderOfIcons']['twitter'] ) && ! isset( $array['buttons'] )) || (isset( $array['buttons'] ) && isset( $array['buttons']['twitter'] )) ) :
138
 
139
+ $array['totes'] += intval( $array['shares']['twitter'] );
140
+ ++$array['count'];
141
 
142
+ $title = strip_tags( get_the_title( $array['postID'] ) );
143
+ $title = str_replace( '|','',$title );
144
+ $ct = get_post_meta( $array['postID'] , 'nc_customTweet' , true );
145
 
146
+ $ct = ($ct != '' ? urlencode( html_entity_decode( $ct, ENT_COMPAT, 'UTF-8' ) ) : urlencode( html_entity_decode( $title, ENT_COMPAT, 'UTF-8' ) ));
147
+ $twitterLink = swp_process_url( $array['url'] , 'twitter' , $array['postID'] );
148
+ if ( strpos( $ct,'http' ) !== false ) :
149
+ $urlParam = '&url=/';
150
  else :
151
  $urlParam = '&url=' . $twitterLink;
152
  endif;
153
 
154
+ /**
155
+ * A function to allow custom mentions of a Twitter user when link is shared on Twitter
156
+ */
157
+ $twitter_mention = get_post_meta( $array['postID'] , 'swp_twitter_mention' , true );
158
+ if(false != $twitter_mention):
159
+ $ct .= ' @'.str_replace('@','',$twitter_mention);
160
+ endif;
161
+
162
  $user_twitter_handle = get_the_author_meta( 'swp_twitter' , swp_get_author( $array['postID'] ) );
163
  if ( $user_twitter_handle ) :
164
  $viaText = '&via=' . str_replace( '@','',$user_twitter_handle );
functions/{compatibility.php → utilities/compatibility.php} RENAMED
File without changes
functions/utilities/curl_functions.php ADDED
@@ -0,0 +1,105 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * **************************************************************
4
+ * *
5
+ * cURL - A Function to Process cURL requests *
6
+ * *
7
+ ******************************************************************/
8
+
9
+ function swp_fetch_shares_via_curl_multi( $data, $options = array() ) {
10
+
11
+ // array of curl handles
12
+ $curly = array();
13
+ // data to be returned
14
+ $result = array();
15
+
16
+ // multi handle
17
+ $mh = curl_multi_init();
18
+
19
+ // loop through $data and create curl handles
20
+ // then add them to the multi-handle
21
+ if( is_array( $data ) ):
22
+ foreach ( $data as $id => $d ) :
23
+
24
+ if ( $d !== 0 || $id == 'googlePlus' ) :
25
+
26
+ $curly[ $id ] = curl_init();
27
+
28
+ if ( $id == 'googlePlus' ) :
29
+
30
+ curl_setopt( $curly[ $id ], CURLOPT_URL, 'https://clients6.google.com/rpc' );
31
+ curl_setopt( $curly[ $id ], CURLOPT_POST, true );
32
+ curl_setopt( $curly[ $id ], CURLOPT_SSL_VERIFYPEER, false );
33
+ curl_setopt( $curly[ $id ], CURLOPT_POSTFIELDS, '[{"method":"pos.plusones.get","id":"p","params":{"nolog":true,"id":"' . rawurldecode( $d ) . '","source":"widget","userId":"@viewer","groupId":"@self"},"jsonrpc":"2.0","key":"p","apiVersion":"v1"}]' );
34
+ curl_setopt( $curly[ $id ], CURLOPT_RETURNTRANSFER, true );
35
+ curl_setopt( $curly[ $id ], CURLOPT_HTTPHEADER, array( 'Content-type: application/json' ) );
36
+
37
+ else :
38
+
39
+ $url = (is_array( $d ) && ! empty( $d['url'] )) ? $d['url'] : $d;
40
+ curl_setopt( $curly[ $id ], CURLOPT_URL, $url );
41
+ curl_setopt( $curly[ $id ], CURLOPT_HEADER, 0 );
42
+ curl_setopt( $curly[ $id ], CURLOPT_RETURNTRANSFER, 1 );
43
+ curl_setopt( $curly[ $id ], CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT'] );
44
+ curl_setopt( $curly[ $id ], CURLOPT_FAILONERROR, 0 );
45
+ curl_setopt( $curly[ $id ], CURLOPT_FOLLOWLOCATION, 0 );
46
+ curl_setopt( $curly[ $id ], CURLOPT_RETURNTRANSFER,1 );
47
+ curl_setopt( $curly[ $id ], CURLOPT_SSL_VERIFYPEER, false );
48
+ curl_setopt( $curly[ $id ], CURLOPT_SSL_VERIFYHOST, false );
49
+ curl_setopt( $curly[ $id ], CURLOPT_TIMEOUT, 5 );
50
+ curl_setopt( $curly[ $id ], CURLOPT_CONNECTTIMEOUT, 5 );
51
+ curl_setopt( $curly[ $id ], CURLOPT_NOSIGNAL, 1 );
52
+ curl_setopt( $curly[ $id ], CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4 );
53
+ // curl_setopt($curly[$id], CURLOPT_SSLVERSION, CURL_SSLVERSION_SSLv3);
54
+ endif;
55
+
56
+ // extra options?
57
+ if ( ! empty( $options ) ) {
58
+ curl_setopt_array( $curly[ $id ], $options );
59
+ }
60
+
61
+ curl_multi_add_handle( $mh, $curly[ $id ] );
62
+
63
+ endif;
64
+ endforeach;
65
+ endif;
66
+
67
+ // execute the handles
68
+ $running = null;
69
+ do {
70
+ curl_multi_exec( $mh, $running );
71
+ } while ($running > 0);
72
+
73
+ // get content and remove handles
74
+ foreach ( $curly as $id => $c ) {
75
+ $result[ $id ] = curl_multi_getcontent( $c );
76
+ curl_multi_remove_handle( $mh, $c );
77
+ }
78
+
79
+ // all done
80
+ curl_multi_close( $mh );
81
+
82
+ return $result;
83
+ }
84
+
85
+ function swp_file_get_contents_curl( $url ) {
86
+ $ch = curl_init();
87
+ curl_setopt( $ch, CURLOPT_URL, $url );
88
+ curl_setopt( $ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT'] );
89
+ curl_setopt( $ch, CURLOPT_FAILONERROR, 0 );
90
+ curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, 0 );
91
+ curl_setopt( $ch, CURLOPT_RETURNTRANSFER,1 );
92
+ curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false );
93
+ curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, false );
94
+ curl_setopt( $ch, CURLOPT_TIMEOUT, 5 );
95
+ curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT, 5 );
96
+ curl_setopt( $ch, CURLOPT_NOSIGNAL, 1 );
97
+ curl_setopt( $ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4 );
98
+ $cont = @curl_exec( $ch );
99
+ $curl_errno = curl_errno( $ch );
100
+ curl_close( $ch );
101
+ if ( $curl_errno > 0 ) {
102
+ return 0;
103
+ }
104
+ return $cont;
105
+ }
functions/{deprecated.php → utilities/deprecated.php} RENAMED
File without changes
functions/{languages.php → utilities/languages.php} RENAMED
File without changes
functions/{permalinks.php → utilities/permalinks.php} RENAMED
File without changes
functions/{share-cache.php → utilities/share-cache.php} RENAMED
@@ -1,17 +1,18 @@
1
  <?php
2
 
3
  /**
4
- * Register and output header meta tags
5
  *
6
  * @package SocialWarfare\Functions
7
- * @copyright Copyright (c) 2016, Warfare Plugins, LLC
8
  * @license GPL-3.0+
9
- * @since 1.0.0
 
10
  */
11
 
12
  defined( 'WPINC' ) || die;
13
 
14
- add_filter( 'query_vars', 'swp_add_query_vars' );
15
  /**
16
  * Register custom query vars.
17
  *
@@ -24,6 +25,25 @@ function swp_add_query_vars( $vars ) {
24
  $vars[] = 'swp_cache';
25
  return $vars;
26
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
27
 
28
  add_filter( 'swp_meta_tags', 'swp_cache_rebuild_rel_canonical', 7 );
29
  /**
@@ -34,7 +54,7 @@ add_filter( 'swp_meta_tags', 'swp_cache_rebuild_rel_canonical', 7 );
34
  * @return array $info Meta tag info.
35
  */
36
  function swp_cache_rebuild_rel_canonical( $info ) {
37
- if ( 'rebuild' === get_query_var( 'swp_cache' ) ) {
38
  $info['header_output'] .= '<link rel="canonical" href="' . get_permalink() . '">';
39
  }
40
 
@@ -65,7 +85,7 @@ function swp_is_cache_fresh( $post_id, $output = false, $ajax = false ) {
65
 
66
  // Bail if output isn't being forced and legacy caching isn't enabled.
67
  if ( ! $output && 'legacy' !== $options['cacheMethod'] ) {
68
- if ( 'rebuild' !== get_query_var( 'swp_cache' ) ) {
69
  $fresh_cache = true;
70
  }
71
 
@@ -331,7 +351,7 @@ function swp_output_cache_trigger( $info ) {
331
  }
332
 
333
  // Bail early if we're not on a single page or we have fresh cache.
334
- if ( (! is_singular() || swp_is_cache_fresh( get_the_ID(), true )) && 'rebuild' !== get_query_var( 'swp_cache' ) ) {
335
  return $info;
336
  }
337
 
@@ -341,26 +361,49 @@ function swp_output_cache_trigger( $info ) {
341
  }
342
 
343
  // Trigger the cache rebuild.
344
- if ( 'rebuild' === get_query_var( 'swp_cache' ) || false === swp_is_cache_fresh( get_the_ID(), true ) ) {
345
  ob_start();
346
 
347
  ?>
 
348
  swp_admin_ajax = '<?php echo admin_url( 'admin-ajax.php' ); ?>';
349
  var swp_buttons_exist = !!document.getElementsByClassName( 'nc_socialPanel' );
350
  if ( swp_buttons_exist ) {
351
  jQuery( document ).ready( function() {
352
  var swp_cache_data = {
353
  'action': 'swp_cache_trigger',
354
- 'post_id': <?php echo $info['postID']; ?>
 
355
  };
356
- jQuery.post( swp_admin_ajax, swp_cache_data, function( response ) {
357
- console.log(response);
358
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
359
  });
360
  swp_post_id='<?php echo $info['postID']; ?>';
361
  swp_post_url='<?php echo get_permalink(); ?>';
362
  swp_post_recovery_url = '<?php echo $alternateURL; ?>';
363
- socialWarfarePlugin.fetchShares();
 
364
  }
365
  <?php
366
  $info['footer_output'] .= ob_get_clean();
1
  <?php
2
 
3
  /**
4
+ * Control the cache rebuild processes for share counts
5
  *
6
  * @package SocialWarfare\Functions
7
+ * @copyright Copyright (c) 2017, Warfare Plugins, LLC
8
  * @license GPL-3.0+
9
+ * @since 1.0.0 | CREATED | UNKNOWN
10
+ * @since 2.2.4 | UPDATED | 02 MAY 2017 | Added a function to remove the cache rebuild URL parameter from WP's query
11
  */
12
 
13
  defined( 'WPINC' ) || die;
14
 
15
+
16
  /**
17
  * Register custom query vars.
18
  *
25
  $vars[] = 'swp_cache';
26
  return $vars;
27
  }
28
+ add_filter( 'query_vars', 'swp_add_query_vars' );
29
+
30
+ /**
31
+ * Force our swp_cache variable to not be part of the query
32
+ *
33
+ * @since 2.2.4 | CREATED | 02 MAY 2017
34
+ * @access public
35
+ * @param array $request The current query request.
36
+ * @return array $request The modified query request.
37
+ */
38
+ add_filter( 'request', 'swp_alter_the_query' );
39
+ function swp_alter_the_query( $request ) {
40
+ $dummy_query = new WP_Query(); // the query isn't run if we don't pass any query vars
41
+ $dummy_query->parse_query( $request );
42
+ if(isset($request['swp_cache'])) {
43
+ unset($request['swp_cache']);
44
+ }
45
+ return $request;
46
+ }
47
 
48
  add_filter( 'swp_meta_tags', 'swp_cache_rebuild_rel_canonical', 7 );
49
  /**
54
  * @return array $info Meta tag info.
55
  */
56
  function swp_cache_rebuild_rel_canonical( $info ) {
57
+ if ( 'rebuild' === $_GET['swp_cache'] ) {
58
  $info['header_output'] .= '<link rel="canonical" href="' . get_permalink() . '">';
59
  }
60
 
85
 
86
  // Bail if output isn't being forced and legacy caching isn't enabled.
87
  if ( ! $output && 'legacy' !== $options['cacheMethod'] ) {
88
+ if ( empty( $_GET['swp_cache'] ) ) {
89
  $fresh_cache = true;
90
  }
91
 
351
  }
352
 
353
  // Bail early if we're not on a single page or we have fresh cache.
354
+ if ( (! is_singular() || swp_is_cache_fresh( get_the_ID(), true )) && empty( $_GET['swp_cache'] ) ) {
355
  return $info;
356
  }
357
 
361
  }
362
 
363
  // Trigger the cache rebuild.
364
+ if ( ( isset($_GET['swp_cache']) && 'rebuild' === $_GET['swp_cache'] ) || false === swp_is_cache_fresh( get_the_ID(), true ) ) {
365
  ob_start();
366
 
367
  ?>
368
+ var within_timelimit;
369
  swp_admin_ajax = '<?php echo admin_url( 'admin-ajax.php' ); ?>';
370
  var swp_buttons_exist = !!document.getElementsByClassName( 'nc_socialPanel' );
371
  if ( swp_buttons_exist ) {
372
  jQuery( document ).ready( function() {
373
  var swp_cache_data = {
374
  'action': 'swp_cache_trigger',
375
+ 'post_id': <?php echo $info['postID']; ?>,
376
+ 'timestamp': <?php echo time(); ?>
377
  };
378
+ // if( !swp_cache_data.timestamp ){ // error handling}
379
+ console.log( "Server Timestamp is " + swp_cache_data.timestamp );
380
+ var browser_date = Date.now();
381
+ if( !browser_date )
382
+ browser_date = new Date().getTime();
383
+ browser_date = Math.floor( browser_date / 1000 );
384
+ console.log( "Browser Timestamp is " + browser_date );
385
+ var elapsed_time = ( swp_cache_data.timestamp - browser_date );
386
+ if( elapsed_time > 60 ){
387
+ console.log( "Elapsed time since server timestamp is greater than 60 seconds -- " + elapsed_time + "seconds" );
388
+ within_timelimit = false;
389
+ } else {
390
+ console.log( "Elapsed time since server timestamp is less than 60 seconds -- " + elapsed_time + "seconds" );
391
+ within_timelimit = true;
392
+ }
393
+
394
+ if( within_timelimit === true ){
395
+ jQuery.post( swp_admin_ajax, swp_cache_data, function( response ) {
396
+ console.log(response);
397
+ });
398
+
399
+ socialWarfarePlugin.fetchShares();
400
+ }
401
  });
402
  swp_post_id='<?php echo $info['postID']; ?>';
403
  swp_post_url='<?php echo get_permalink(); ?>';
404
  swp_post_recovery_url = '<?php echo $alternateURL; ?>';
405
+
406
+ // socialWarfarePlugin.fetchShares();
407
  }
408
  <?php
409
  $info['footer_output'] .= ob_get_clean();
functions/{share-count-function.php → utilities/share-count-function.php} RENAMED
@@ -110,8 +110,9 @@ function get_social_warfare_shares( $postID ) {
110
  delete_post_meta( $postID,'_' . $network . '_shares' );
111
  update_post_meta( $postID,'_' . $network . '_shares',$shares[ $network ] );
112
  endif;
113
- $shares['totes'] += $shares[ $network ];
114
-
 
115
  endforeach;
116
  endif;
117
 
110
  delete_post_meta( $postID,'_' . $network . '_shares' );
111
  update_post_meta( $postID,'_' . $network . '_shares',$shares[ $network ] );
112
  endif;
113
+ if (is_numeric( $shares[ $network ] ) ):
114
+ $shares['totes'] += $shares[ $network ];
115
+ endif;
116
  endforeach;
117
  endif;
118
 
functions/{url_processing.php → utilities/url_processing.php} RENAMED
@@ -10,7 +10,7 @@
10
 
11
  // Enqueue the Bitly Shortener Hook
12
  add_filter( 'swp_link_shortening' , 'swp_bitly_shortener' );
13
- add_filter( 'swp_analytics' , 'swp_google_analytics' );
14
 
15
 
16
  /**
@@ -289,12 +289,19 @@ function swp_process_url( $url, $network, $postID ) {
289
  return $_GLOBALS['sw']['links'][ $postID ];
290
  else :
291
 
292
- // $options = swp_get_user_options();
 
293
  $array['url'] = $url;
294
  $array['network'] = $network;
295
  $array['postID'] = $postID;
 
 
296
  $array = apply_filters( 'swp_analytics' , $array );
297
- $array = apply_filters( 'swp_link_shortening' , $array );
 
 
 
 
298
  return $array['url'];
299
 
300
  endif;
10
 
11
  // Enqueue the Bitly Shortener Hook
12
  add_filter( 'swp_link_shortening' , 'swp_bitly_shortener' );
13
+ add_filter( 'swp_analytics' , 'swp_google_analytics' );
14
 
15
 
16
  /**
289
  return $_GLOBALS['sw']['links'][ $postID ];
290
  else :
291
 
292
+
293
+ // Fetch the parameters into an array for use by the filters
294
  $array['url'] = $url;
295
  $array['network'] = $network;
296
  $array['postID'] = $postID;
297
+
298
+ // Run the anaylitcs hook filters
299
  $array = apply_filters( 'swp_analytics' , $array );
300
+
301
+ // Run the link shortening hook filters, but not on Pinterest
302
+ if($network !== 'pinterest'):
303
+ $array = apply_filters( 'swp_link_shortening' , $array );
304
+ endif;
305
  return $array['url'];
306
 
307
  endif;
functions/{utility.php → utilities/utility.php} RENAMED
@@ -78,11 +78,27 @@ function swp_kilomega( $val ) {
78
 
79
  return 0;
80
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
81
 
82
  /**
83
  * Process the excerpts for descriptions
84
  *
85
- * @since unknown
 
86
  * @access public
87
  * @param int $post_id The post ID to use when getting an exceprt.
88
  * @return string The excerpt.
@@ -101,6 +117,14 @@ function swp_get_excerpt_by_id( $post_id ) {
101
  endif;
102
 
103
  $excerpt_length = 100; // Sets excerpt length by word count
 
 
 
 
 
 
 
 
104
  $the_excerpt = strip_tags( strip_shortcodes( $the_excerpt ) ); // Strips tags and images
105
 
106
  $the_excerpt = str_replace( ']]>', ']]&gt;', $the_excerpt );
78
 
79
  return 0;
80
  }
81
+ /**
82
+ * This is a function for removing tags and all of their containing html like inline style or script tags in the excerpt.
83
+ * @since 2.2.4 | Created | 6 March 2017
84
+ * @access public
85
+ * @param string $tag_name The name of the tag to search and destroy
86
+ * @param object $document The HTML dom object
87
+ * @return none
88
+ */
89
+ function swp_remove_elements_by_tag_name($tag_name, $document) {
90
+ $nodeList = $document->getElementsByTagName($tag_name);
91
+ for ($nodeIdx = $nodeList->length; --$nodeIdx >= 0; ) {
92
+ $node = $nodeList->item($nodeIdx);
93
+ $node->parentNode->removeChild($node);
94
+ }
95
+ }
96
 
97
  /**
98
  * Process the excerpts for descriptions
99
  *
100
+ * @since 1.0.0 | Created | Unknown
101
+ * @since 2.2.4 | Updated | 6 March 2017 | Added the filter to remove the script and style tags
102
  * @access public
103
  * @param int $post_id The post ID to use when getting an exceprt.
104
  * @return string The excerpt.
117
  endif;
118
 
119
  $excerpt_length = 100; // Sets excerpt length by word count
120
+
121
+ // Filter out any inline script or style tags as well as their content
122
+ $html = new DOMDocument();
123
+ $html->loadHTML($the_excerpt);
124
+ swp_remove_elements_by_tag_name('script', $html);
125
+ swp_remove_elements_by_tag_name('style', $html);
126
+ $the_excerpt = $html->saveHtml();
127
+
128
  $the_excerpt = strip_tags( strip_shortcodes( $the_excerpt ) ); // Strips tags and images
129
 
130
  $the_excerpt = str_replace( ']]>', ']]&gt;', $the_excerpt );
functions/{widgets.php → widgets/widgets.php} RENAMED
File without changes
js/script.js CHANGED
@@ -364,7 +364,7 @@ var socialWarfarePlugin = socialWarfarePlugin || {};
364
  if ( $image.data( 'media' ) ) {
365
  pinMedia = $image.data( 'media' );
366
  } else if ( $(this).attr('data-lazy-src') ) {
367
- pinMedia = $(this).attr('data-lazy-src');
368
  } else if ( $image[0].src ) {
369
  pinMedia = $image[0].src;
370
  }
@@ -372,7 +372,9 @@ var socialWarfarePlugin = socialWarfarePlugin || {};
372
  // Bail if we don't have any media to pin.
373
  if ( false === pinMedia ) {
374
  return;
375
- } else if ( $(this).hasClass('no_pin')) {
 
 
376
  return;
377
  }
378
 
@@ -384,7 +386,7 @@ var socialWarfarePlugin = socialWarfarePlugin || {};
384
  pinDesc = $image.attr( 'alt' );
385
  }
386
 
387
- var bookmark = 'http://pinterest.com/pin/create/bookmarklet/?media=' + encodeURI( pinMedia ) + '&url=' + encodeURI( options.pageURL ) + '&is_video=false' + '&description=' + pinDesc;
388
  var imageClasses = $image.attr( 'class' );
389
  var imageStyle = $image.attr( 'style' );
390
 
364
  if ( $image.data( 'media' ) ) {
365
  pinMedia = $image.data( 'media' );
366
  } else if ( $(this).attr('data-lazy-src') ) {
367
+ pinMedia = $(this).attr('data-lazy-src');
368
  } else if ( $image[0].src ) {
369
  pinMedia = $image[0].src;
370
  }
372
  // Bail if we don't have any media to pin.
373
  if ( false === pinMedia ) {
374
  return;
375
+ }
376
+
377
+ if ( $image.hasClass('no_pin')) {
378
  return;
379
  }
380
 
386
  pinDesc = $image.attr( 'alt' );
387
  }
388
 
389
+ var bookmark = 'http://pinterest.com/pin/create/bookmarklet/?media=' + encodeURI( pinMedia ) + '&url=' + encodeURI( options.pageURL ) + '&is_video=false' + '&description=' + encodeURIComponent( pinDesc );
390
  var imageClasses = $image.attr( 'class' );
391
  var imageStyle = $image.attr( 'style' );
392
 
js/script.min.js CHANGED
@@ -1 +1 @@
1
- var socialWarfarePlugin=socialWarfarePlugin||{};!function(a,b){var c,d=a.socialWarfarePlugin;d.throttle=c=function(a,c,e,f){function g(){function d(){i=+new Date,e.apply(j,l)}function g(){h=b}var j=this,k=+new Date-i,l=arguments;f&&!h&&d(),h&&clearTimeout(h),f===b&&k>a?d():c!==!0&&(h=setTimeout(f?g:d,f===b?a-k:a))}var h,i=0;return"boolean"!=typeof c&&(f=e,e=c,c=b),d.guid&&(g.guid=e.guid=e.guid||d.guid++),g},d.debounce=function(a,d,e){return e===b?c(a,d,!1):c(a,e,d!==!1)}}(this),function(a,b,c){"use strict";function d(a){return parseInt(a,10)}function e(c){var d=b.Event(c);b(a).trigger(d)}function f(){b(".nc_socialPanel:not(.nc_socialPanelSide) .nc_tweetContainer:not(.swp_nohover) .iconFiller").removeAttr("style"),b(".nc_socialPanel:not(.nc_socialPanelSide) .nc_tweetContainer:not(.swp_nohover)").removeAttr("style")}function g(){b(".nc_wrapper").length&&b(".nc_wrapper").remove();var a=b(".nc_socialPanel").not('[data-float="float_ignore"]').first(),c=(b(".nc_socialPanel").index(a),a.attr("data-float")),d=a.attr("data-align");if(c){var e=b(".nc_socialPanel").attr("data-floatColor");b('<div class="nc_wrapper" style="background-color:'+e+'"></div>').appendTo("body");var f=a.attr("data-float");a.clone().appendTo(".nc_wrapper"),b(".nc_wrapper").hide().addClass("floatLeft"==f?"floatBottom":f);var g=a.outerWidth(!0),h=a.offset();b(".nc_socialPanel").last().addClass("nc_floater").css({width:g,left:"center"==d?0:h.left}),b(".nc_socialPanel .swp_count").css({transition:"padding .1s linear"}),b(".nc_socialPanel").eq(0).addClass("swp_one"),b(".nc_socialPanel").eq(2).addClass("swp_two"),b(".nc_socialPanel").eq(1).addClass("swp_three")}}function h(){var c=b(".nc_socialPanel"),d=c.not('[data-float="float_ignore"]').eq(0).attr("data-float"),f=b(a),g=f.height(),h=b(".nc_wrapper"),i=b(".nc_socialPanelSide").filter(":not(.mobile)"),j=(b(".nc_socialPanel").attr("data-position"),i.attr("data-screen-width")),k=c.eq(0).offset(),l=f.scrollTop();b(a).scrollTop();"undefined"==typeof a.swpOffsets&&(a.swpOffsets={});var m=!1;if("floatLeft"==d){var n=b(".nc_socialPanelSide").attr("data-mobileFloat");b(".nc_socialPanel").not(".nc_socialPanelSide").length?(b(".nc_socialPanel").not(".nc_socialPanelSide, .nc_floater").each(function(){var a=b(this).offset(),c=b(this).height();a.top+c>l&&a.top<l+g&&(m=!0)}),k.left<100||b(a).width()<j?(m=!0,"bottom"==n&&(d="floatBottom")):m||(m=!1)):b(a).width()>j?m=!1:(m=!0,"bottom"==n&&(d="floatBottom"));var o=i.attr("data-transition");"slide"==o?1==m?i.css({left:"-100px"},200):i.css({left:"5px"}):"fade"==o&&(1==m?i.fadeOut(200):i.fadeIn(200))}if("floatBottom"==d||"floatTop"==d)if(m=!1,b(".nc_socialPanel").not(".nc_socialPanelSide, .nc_floater").each(function(){var a=b(this).offset(),c=b(this).height();a.top+c>l&&a.top<l+g&&(m=!0)}),m)h.hide(),"floatBottom"==d?b("body").animate({"padding-bottom":a.bodyPaddingBottom+"px"},0):"floatTop"==d&&b("body").animate({"padding-top":a.bodyPaddingTop+"px"},0);else{var p,q;h.show(),e("floating_bar_revealed"),"floatBottom"==d?(p=a.bodyPaddingBottom+50,b("body").animate({"padding-bottom":p+"px"},0)):"floatTop"==d&&(q=b(".nc_socialPanel").not(".nc_socialPanelSide, .nc_wrapper .nc_socialPanel").first().offset(),q.top>l+g&&(p=a.bodyPaddingTop+50,b("body").animate({"padding-top":p+"px"},0)))}}function i(){0!==b(".nc_socialPanel").length&&(g(),l.activateHoverStates(),k(),b(a).scrollTop(),b(a).scroll(l.throttle(50,function(){h()})),b(a).trigger("scroll"),b(".nc_socialPanel").css({opacity:1}))}function j(){var c={wrap:'<div class="sw-pinit" />',pageURL:document.URL},d=b.extend(c,d);b(".swp-content-locator").parent().find("img").each(function(){var c=b(this);if(!(c.outerHeight()<swpPinIt.minHeight||c.outerWidth()<swpPinIt.minWidth)){var e=!1;if(c.data("media")?e=c.data("media"):b(this).attr("data-lazy-src")?e=b(this).attr("data-lazy-src"):c[0].src&&(e=c[0].src),!1!==e&&!b(this).hasClass("no_pin")){var f="";c.attr("title")?f=c.attr("title"):c.attr("alt")&&(f=c.attr("alt"));var g="http://pinterest.com/pin/create/bookmarklet/?media="+encodeURI(e)+"&url="+encodeURI(d.pageURL)+"&is_video=false&description="+f,h=c.attr("class"),i=c.attr("style");c.removeClass().attr("style","").wrap(d.wrap),c.after('<a href="'+g+'" class="sw-pinit-button sw-pinit-'+swpPinIt.vLocation+" sw-pinit-"+swpPinIt.hLocation+'">Save</a>'),c.parent(".sw-pinit").addClass(h).attr("style",i),b(".sw-pinit .sw-pinit-button").on("click",function(){return a.open(b(this).attr("href"),"Pinterest","width=632,height=253,status=0,toolbar=0,menubar=0,location=1,scrollbars=1"),!1})}}})}function k(){b(".nc_tweet, a.swp_CTT").off("click"),b(".nc_tweet, a.swp_CTT").on("click",function(c){if(b(this).hasClass("noPop"))return!1;if(console.log(b(this)),b(this).attr("data-link")){c.preventDefault?c.preventDefault():c.returnValue=!1;var d=b(this).attr("data-link");console.log(d);var e,f,g;if(d=d.replace("’","'"),b(this).hasClass("pinterest")||b(this).hasClass("buffer_link")||b(this).hasClass("flipboard")?(e=550,f=775):(e=270,f=500),g=a.open(d,"_blank","height="+e+",width="+f),"function"==typeof ga&&!0===swpClickTracking){var h=b(this).parents(".nc_tweetContainer").attr("data-network");console.log(h+" Button Clicked"),ga("send","event","social_media","swp_"+h+"_share")}return!1}})}var l=a.socialWarfarePlugin,m={};socialWarfarePlugin.fetchShares=function(){b.when(b.get("https://graph.facebook.com/?id="+swp_post_url),b.get("https://graph.facebook.com/?id="+swp_post_url+"&fields=og_object{likes.summary(true),comments.summary(true)}"),swp_post_recovery_url?b.get("https://graph.facebook.com/?id="+swp_post_recovery_url):"",swp_post_recovery_url?b.get("https://graph.facebook.com/?id="+swp_post_recovery_url+"&fields=og_object{likes.summary(true),comments.summary(true)}"):"").then(function(a,c,e,f){if("undefined"!=typeof a[0].share&&"undefined"!=typeof c[0].og_object){var g=d(a[0].share.share_count),h=d(c[0].og_object.likes.summary.total_count),i=d(c[0].og_object.comments.summary.total_count),j=g+h+i;if(swp_post_recovery_url){if("undefined"!=typeof e[0].share)var k=d(e[0].share.share_count);else var k=0;if("undefined"!=typeof f[0].og_object)var l=d(f[0].og_object.likes.summary.total_count),n=d(f[0].og_object.comments.summary.total_count);else var l=0,n=0;var o=k+l+n;j!==o&&(j+=o)}m={action:"swp_facebook_shares_update",post_id:swp_post_id,activity:j},b.post(swp_admin_ajax,m,function(a){console.log("Facebook Shares Response: "+a)})}})},l.activateHoverStates=function(){e("pre_activate_buttons"),b(".nc_socialPanel:not(.nc_socialPanelSide) .nc_tweetContainer:not(.swp_nohover)").on("mouseenter",function(){f();var a=b(this).find(".swp_share").outerWidth(),c=b(this).find("i.sw").outerWidth(),d=b(this).width(),e=1+(a+35)/d;b(this).find(".iconFiller").width(a+c+25+"px"),b(this).css({flex:e+" 1 0%"})}),b(".nc_socialPanel:not(.nc_socialPanelSide)").on("mouseleave",function(){f()})},b(a).on("load",function(){"undefined"!=typeof swpPinIt&&swpPinIt.enabled&&j()}),b(document).ready(function(){k(),i(),a.bodyPaddingTop=d(b("body").css("padding-top").replace("px","")),a.bodyPaddingBottom=d(b("body").css("padding-bottom").replace("px",""));var c=!1;if(b(".nc_socialPanel").hover(function(){c=!0},function(){c=!1}),b(a).resize(l.debounce(250,function(){b(".nc_socialPanel").length&&!1!==c||(a.swpAdjust=1,i())})),b(document.body).on("post-load",function(){i()}),0!==b(".nc_socialPanelSide").length){var e=b(".nc_socialPanelSide").height(),f=b(a).height(),g=d(f/2-e/2);setTimeout(function(){b(".nc_socialPanelSide").animate({top:g},0)},105)}swp_isMobile.phone&&b(".swp_whatsapp").addClass("mobile"),1===b(".swp-content-locator").parent().children().length&&b(".swp-content-locator").parent().hide()})}(this,jQuery),function(a){var b=/iPhone/i,c=/iPod/i,d=/iPad/i,e=/(?=.*\bAndroid\b)(?=.*\bMobile\b)/i,f=/Android/i,g=/(?=.*\bAndroid\b)(?=.*\bSD4930UR\b)/i,h=/(?=.*\bAndroid\b)(?=.*\b(?:KFOT|KFTT|KFJWI|KFJWA|KFSOWI|KFTHWI|KFTHWA|KFAPWI|KFAPWA|KFARWI|KFASWI|KFSAWI|KFSAWA)\b)/i,i=/Windows Phone/i,j=/(?=.*\bWindows\b)(?=.*\bARM\b)/i,k=/BlackBerry/i,l=/BB10/i,m=/Opera Mini/i,n=/(CriOS|Chrome)(?=.*\bMobile\b)/i,o=/(?=.*\bFirefox\b)(?=.*\bMobile\b)/i,p=new RegExp("(?:Nexus 7|BNTV250|Kindle Fire|Silk|GT-P1000)","i"),q=function(a,b){return a.test(b)},r=function(a){var r=a||navigator.userAgent,s=r.split("[FBAN");if("undefined"!=typeof s[1]&&(r=s[0]),s=r.split("Twitter"),"undefined"!=typeof s[1]&&(r=s[0]),this.apple={phone:q(b,r),ipod:q(c,r),tablet:!q(b,r)&&q(d,r),device:q(b,r)||q(c,r)||q(d,r)},this.amazon={phone:q(g,r),tablet:!q(g,r)&&q(h,r),device:q(g,r)||q(h,r)},this.android={phone:q(g,r)||q(e,r),tablet:!q(g,r)&&!q(e,r)&&(q(h,r)||q(f,r)),device:q(g,r)||q(h,r)||q(e,r)||q(f,r)},this.windows={phone:q(i,r),tablet:q(j,r),device:q(i,r)||q(j,r)},this.other={blackberry:q(k,r),blackberry10:q(l,r),opera:q(m,r),firefox:q(o,r),chrome:q(n,r),device:q(k,r)||q(l,r)||q(m,r)||q(o,r)||q(n,r)},this.seven_inch=q(p,r),this.any=this.apple.device||this.android.device||this.windows.device||this.other.device||this.seven_inch,this.phone=this.apple.phone||this.android.phone||this.windows.phone,this.tablet=this.apple.tablet||this.android.tablet||this.windows.tablet,"undefined"==typeof window)return this},s=function(){var a=new r;return a.Class=r,a};"undefined"!=typeof module&&module.exports&&"undefined"==typeof window?module.exports=r:"undefined"!=typeof module&&module.exports&&"undefined"!=typeof window?module.exports=s():"function"==typeof define&&define.amd?define("swp_isMobile",[],a.swp_isMobile=s()):a.swp_isMobile=s()}(this);
1
+ var socialWarfarePlugin=socialWarfarePlugin||{};!function(a,b){var c,d=a.socialWarfarePlugin;d.throttle=c=function(a,c,e,f){function g(){function d(){i=+new Date,e.apply(j,l)}function g(){h=b}var j=this,k=+new Date-i,l=arguments;f&&!h&&d(),h&&clearTimeout(h),f===b&&k>a?d():c!==!0&&(h=setTimeout(f?g:d,f===b?a-k:a))}var h,i=0;return"boolean"!=typeof c&&(f=e,e=c,c=b),d.guid&&(g.guid=e.guid=e.guid||d.guid++),g},d.debounce=function(a,d,e){return e===b?c(a,d,!1):c(a,e,d!==!1)}}(this),function(a,b,c){"use strict";function d(a){return parseInt(a,10)}function e(c){var d=b.Event(c);b(a).trigger(d)}function f(){b(".nc_socialPanel:not(.nc_socialPanelSide) .nc_tweetContainer:not(.swp_nohover) .iconFiller").removeAttr("style"),b(".nc_socialPanel:not(.nc_socialPanelSide) .nc_tweetContainer:not(.swp_nohover)").removeAttr("style")}function g(){b(".nc_wrapper").length&&b(".nc_wrapper").remove();var a=b(".nc_socialPanel").not('[data-float="float_ignore"]').first(),c=(b(".nc_socialPanel").index(a),a.attr("data-float")),d=a.attr("data-align");if(c){var e=b(".nc_socialPanel").attr("data-floatColor");b('<div class="nc_wrapper" style="background-color:'+e+'"></div>').appendTo("body");var f=a.attr("data-float");a.clone().appendTo(".nc_wrapper"),b(".nc_wrapper").hide().addClass("floatLeft"==f?"floatBottom":f);var g=a.outerWidth(!0),h=a.offset();b(".nc_socialPanel").last().addClass("nc_floater").css({width:g,left:"center"==d?0:h.left}),b(".nc_socialPanel .swp_count").css({transition:"padding .1s linear"}),b(".nc_socialPanel").eq(0).addClass("swp_one"),b(".nc_socialPanel").eq(2).addClass("swp_two"),b(".nc_socialPanel").eq(1).addClass("swp_three")}}function h(){var c=b(".nc_socialPanel"),d=c.not('[data-float="float_ignore"]').eq(0).attr("data-float"),f=b(a),g=f.height(),h=b(".nc_wrapper"),i=b(".nc_socialPanelSide").filter(":not(.mobile)"),j=(b(".nc_socialPanel").attr("data-position"),i.attr("data-screen-width")),k=c.eq(0).offset(),l=f.scrollTop();b(a).scrollTop();"undefined"==typeof a.swpOffsets&&(a.swpOffsets={});var m=!1;if("floatLeft"==d){var n=b(".nc_socialPanelSide").attr("data-mobileFloat");b(".nc_socialPanel").not(".nc_socialPanelSide").length?(b(".nc_socialPanel").not(".nc_socialPanelSide, .nc_floater").each(function(){var a=b(this).offset(),c=b(this).height();a.top+c>l&&a.top<l+g&&(m=!0)}),k.left<100||b(a).width()<j?(m=!0,"bottom"==n&&(d="floatBottom")):m||(m=!1)):b(a).width()>j?m=!1:(m=!0,"bottom"==n&&(d="floatBottom"));var o=i.attr("data-transition");"slide"==o?1==m?i.css({left:"-100px"},200):i.css({left:"5px"}):"fade"==o&&(1==m?i.fadeOut(200):i.fadeIn(200))}if("floatBottom"==d||"floatTop"==d)if(m=!1,b(".nc_socialPanel").not(".nc_socialPanelSide, .nc_floater").each(function(){var a=b(this).offset(),c=b(this).height();a.top+c>l&&a.top<l+g&&(m=!0)}),m)h.hide(),"floatBottom"==d?b("body").animate({"padding-bottom":a.bodyPaddingBottom+"px"},0):"floatTop"==d&&b("body").animate({"padding-top":a.bodyPaddingTop+"px"},0);else{var p,q;h.show(),e("floating_bar_revealed"),"floatBottom"==d?(p=a.bodyPaddingBottom+50,b("body").animate({"padding-bottom":p+"px"},0)):"floatTop"==d&&(q=b(".nc_socialPanel").not(".nc_socialPanelSide, .nc_wrapper .nc_socialPanel").first().offset(),q.top>l+g&&(p=a.bodyPaddingTop+50,b("body").animate({"padding-top":p+"px"},0)))}}function i(){0!==b(".nc_socialPanel").length&&(g(),l.activateHoverStates(),k(),b(a).scrollTop(),b(a).scroll(l.throttle(50,function(){h()})),b(a).trigger("scroll"),b(".nc_socialPanel").css({opacity:1}))}function j(){var c={wrap:'<div class="sw-pinit" />',pageURL:document.URL},d=b.extend(c,d);b(".swp-content-locator").parent().find("img").each(function(){var c=b(this);if(!(c.outerHeight()<swpPinIt.minHeight||c.outerWidth()<swpPinIt.minWidth)){var e=!1;if(c.data("media")?e=c.data("media"):b(this).attr("data-lazy-src")?e=b(this).attr("data-lazy-src"):c[0].src&&(e=c[0].src),!1!==e&&!c.hasClass("no_pin")){var f="";c.attr("title")?f=c.attr("title"):c.attr("alt")&&(f=c.attr("alt"));var g="http://pinterest.com/pin/create/bookmarklet/?media="+encodeURI(e)+"&url="+encodeURI(d.pageURL)+"&is_video=false&description="+encodeURIComponent(f),h=c.attr("class"),i=c.attr("style");c.removeClass().attr("style","").wrap(d.wrap),c.after('<a href="'+g+'" class="sw-pinit-button sw-pinit-'+swpPinIt.vLocation+" sw-pinit-"+swpPinIt.hLocation+'">Save</a>'),c.parent(".sw-pinit").addClass(h).attr("style",i),b(".sw-pinit .sw-pinit-button").on("click",function(){return a.open(b(this).attr("href"),"Pinterest","width=632,height=253,status=0,toolbar=0,menubar=0,location=1,scrollbars=1"),!1})}}})}function k(){b(".nc_tweet, a.swp_CTT").off("click"),b(".nc_tweet, a.swp_CTT").on("click",function(c){if(b(this).hasClass("noPop"))return!1;if(console.log(b(this)),b(this).attr("data-link")){c.preventDefault?c.preventDefault():c.returnValue=!1;var d=b(this).attr("data-link");console.log(d);var e,f,g;if(d=d.replace("’","'"),b(this).hasClass("pinterest")||b(this).hasClass("buffer_link")||b(this).hasClass("flipboard")?(e=550,f=775):(e=270,f=500),g=a.open(d,"_blank","height="+e+",width="+f),"function"==typeof ga&&!0===swpClickTracking){var h=b(this).parents(".nc_tweetContainer").attr("data-network");console.log(h+" Button Clicked"),ga("send","event","social_media","swp_"+h+"_share")}return!1}})}var l=a.socialWarfarePlugin,m={};socialWarfarePlugin.fetchShares=function(){b.when(b.get("https://graph.facebook.com/?id="+swp_post_url),b.get("https://graph.facebook.com/?id="+swp_post_url+"&fields=og_object{likes.summary(true),comments.summary(true)}"),swp_post_recovery_url?b.get("https://graph.facebook.com/?id="+swp_post_recovery_url):"",swp_post_recovery_url?b.get("https://graph.facebook.com/?id="+swp_post_recovery_url+"&fields=og_object{likes.summary(true),comments.summary(true)}"):"").then(function(a,c,e,f){if("undefined"!=typeof a[0].share&&"undefined"!=typeof c[0].og_object){var g=d(a[0].share.share_count),h=d(c[0].og_object.likes.summary.total_count),i=d(c[0].og_object.comments.summary.total_count),j=g+h+i;if(swp_post_recovery_url){if("undefined"!=typeof e[0].share)var k=d(e[0].share.share_count);else var k=0;if("undefined"!=typeof f[0].og_object)var l=d(f[0].og_object.likes.summary.total_count),n=d(f[0].og_object.comments.summary.total_count);else var l=0,n=0;var o=k+l+n;j!==o&&(j+=o)}m={action:"swp_facebook_shares_update",post_id:swp_post_id,activity:j},b.post(swp_admin_ajax,m,function(a){console.log("Facebook Shares Response: "+a)})}})},l.activateHoverStates=function(){e("pre_activate_buttons"),b(".nc_socialPanel:not(.nc_socialPanelSide) .nc_tweetContainer:not(.swp_nohover)").on("mouseenter",function(){f();var a=b(this).find(".swp_share").outerWidth(),c=b(this).find("i.sw").outerWidth(),d=b(this).width(),e=1+(a+35)/d;b(this).find(".iconFiller").width(a+c+25+"px"),b(this).css({flex:e+" 1 0%"})}),b(".nc_socialPanel:not(.nc_socialPanelSide)").on("mouseleave",function(){f()})},b(a).on("load",function(){"undefined"!=typeof swpPinIt&&swpPinIt.enabled&&j()}),b(document).ready(function(){k(),i(),a.bodyPaddingTop=d(b("body").css("padding-top").replace("px","")),a.bodyPaddingBottom=d(b("body").css("padding-bottom").replace("px",""));var c=!1;if(b(".nc_socialPanel").hover(function(){c=!0},function(){c=!1}),b(a).resize(l.debounce(250,function(){b(".nc_socialPanel").length&&!1!==c||(a.swpAdjust=1,i())})),b(document.body).on("post-load",function(){i()}),0!==b(".nc_socialPanelSide").length){var e=b(".nc_socialPanelSide").height(),f=b(a).height(),g=d(f/2-e/2);setTimeout(function(){b(".nc_socialPanelSide").animate({top:g},0)},105)}swp_isMobile.phone&&b(".swp_whatsapp").addClass("mobile"),1===b(".swp-content-locator").parent().children().length&&b(".swp-content-locator").parent().hide()})}(this,jQuery),function(a){var b=/iPhone/i,c=/iPod/i,d=/iPad/i,e=/(?=.*\bAndroid\b)(?=.*\bMobile\b)/i,f=/Android/i,g=/(?=.*\bAndroid\b)(?=.*\bSD4930UR\b)/i,h=/(?=.*\bAndroid\b)(?=.*\b(?:KFOT|KFTT|KFJWI|KFJWA|KFSOWI|KFTHWI|KFTHWA|KFAPWI|KFAPWA|KFARWI|KFASWI|KFSAWI|KFSAWA)\b)/i,i=/Windows Phone/i,j=/(?=.*\bWindows\b)(?=.*\bARM\b)/i,k=/BlackBerry/i,l=/BB10/i,m=/Opera Mini/i,n=/(CriOS|Chrome)(?=.*\bMobile\b)/i,o=/(?=.*\bFirefox\b)(?=.*\bMobile\b)/i,p=new RegExp("(?:Nexus 7|BNTV250|Kindle Fire|Silk|GT-P1000)","i"),q=function(a,b){return a.test(b)},r=function(a){var r=a||navigator.userAgent,s=r.split("[FBAN");if("undefined"!=typeof s[1]&&(r=s[0]),s=r.split("Twitter"),"undefined"!=typeof s[1]&&(r=s[0]),this.apple={phone:q(b,r),ipod:q(c,r),tablet:!q(b,r)&&q(d,r),device:q(b,r)||q(c,r)||q(d,r)},this.amazon={phone:q(g,r),tablet:!q(g,r)&&q(h,r),device:q(g,r)||q(h,r)},this.android={phone:q(g,r)||q(e,r),tablet:!q(g,r)&&!q(e,r)&&(q(h,r)||q(f,r)),device:q(g,r)||q(h,r)||q(e,r)||q(f,r)},this.windows={phone:q(i,r),tablet:q(j,r),device:q(i,r)||q(j,r)},this.other={blackberry:q(k,r),blackberry10:q(l,r),opera:q(m,r),firefox:q(o,r),chrome:q(n,r),device:q(k,r)||q(l,r)||q(m,r)||q(o,r)||q(n,r)},this.seven_inch=q(p,r),this.any=this.apple.device||this.android.device||this.windows.device||this.other.device||this.seven_inch,this.phone=this.apple.phone||this.android.phone||this.windows.phone,this.tablet=this.apple.tablet||this.android.tablet||this.windows.tablet,"undefined"==typeof window)return this},s=function(){var a=new r;return a.Class=r,a};"undefined"!=typeof module&&module.exports&&"undefined"==typeof window?module.exports=r:"undefined"!=typeof module&&module.exports&&"undefined"!=typeof window?module.exports=s():"function"==typeof define&&define.amd?define("swp_isMobile",[],a.swp_isMobile=s()):a.swp_isMobile=s()}(this);
languages/social-warfare-de_DE.mo CHANGED
Binary file
languages/social-warfare-en_US.mo CHANGED
Binary file
languages/social-warfare-es_ES.mo CHANGED
Binary file
languages/social-warfare-fr_FR.mo CHANGED
Binary file
languages/social-warfare-it_IT.mo CHANGED
Binary file
languages/social-warfare-nl_NL.mo DELETED
Binary file
languages/social-warfare-pt_PT.mo CHANGED
Binary file
languages/social-warfare-ru_RU.mo CHANGED
Binary file
languages/social-warfare-uk.mo CHANGED
Binary file
languages/social-warfare.pot CHANGED
@@ -2,9 +2,9 @@
2
  # This file is distributed under the same license as the Social Warfare package.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: Social Warfare 2.2.1\n"
6
  "Report-Msgid-Bugs-To: https://warfareplugins.com/\n"
7
- "POT-Creation-Date: 2017-02-21 19:11:21+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
@@ -26,84 +26,84 @@ msgstr ""
26
  msgid "Settings"
27
  msgstr ""
28
 
29
- #: functions/admin/options-page.php:242
30
  msgid "Active"
31
  msgstr ""
32
 
33
- #: functions/admin/options-page.php:275
34
  msgid "Inactive"
35
  msgstr ""
36
 
37
- #: functions/admin/options-page.php:334 functions/admin/options-page.php:346
38
- #: functions/admin/options-page.php:369 functions/admin/options-page.php:387
39
- #: functions/admin/options-page.php:667
40
  msgid "ON"
41
  msgstr ""
42
 
43
- #: functions/admin/options-page.php:334 functions/admin/options-page.php:346
44
- #: functions/admin/options-page.php:369 functions/admin/options-page.php:387
45
- #: functions/admin/options-page.php:667
46
  msgid "OFF"
47
  msgstr ""
48
 
49
- #: functions/admin/options-page.php:611
50
  msgid "Connected"
51
  msgstr ""
52
 
53
- #: functions/admin/options-page.php:613
54
  msgid "Authenticated"
55
  msgstr ""
56
 
57
- #: functions/admin/options-page.php:652
58
  msgid "Tweet Count Registration"
59
  msgstr ""
60
 
61
- #: functions/admin/options-page.php:658
62
  msgid ""
63
  "In order to allow Social Warfare to track tweet counts, we've partnered "
64
  "with NewShareCounts.com. Follow the steps below to register with "
65
  "NewShareCounts and allow us to track your Twitter shares."
66
  msgstr ""
67
 
68
- #: functions/admin/options-page.php:659
69
  msgid "Click here to visit NewShareCounts.com"
70
  msgstr ""
71
 
72
- #: functions/admin/options-page.php:659
73
  msgid ""
74
  "Step 2: At NewShareCounts.com, Enter your domain and click the \"Sign In "
75
  "With Twitter\" button."
76
  msgstr ""
77
 
78
- #: functions/admin/options-page.php:659
79
  msgid "Step 3: Flip the switch below to \"ON\" and then save changes."
80
  msgstr ""
81
 
82
- #: functions/admin/options-page.php:761
83
  msgid ""
84
  "Need help? Check out our <a href=\"https://warfareplugins.com/support/\" "
85
  "target=\"_blank\">Knowledgebase."
86
  msgstr ""
87
 
88
- #: functions/admin/options-page.php:762
89
  msgid ""
90
  "Opening a support ticket? Copy your System Status by clicking the button "
91
  "below."
92
  msgstr ""
93
 
94
- #: functions/admin/options-page.php:763
95
  msgid "Get System Status"
96
  msgstr ""
97
 
98
- #: functions/admin/options-page.php:768
99
  msgid "Press Ctrl+C to Copy this information."
100
  msgstr ""
101
 
102
- #: functions/admin/options-page.php:790
103
  msgid "Security failed."
104
  msgstr ""
105
 
106
- #: functions/admin/options-page.php:797
107
  msgid "No settings to save."
108
  msgstr ""
109
 
@@ -304,7 +304,7 @@ msgid ""
304
  "them below."
305
  msgstr ""
306
 
307
- #: functions/options-array.php:285
308
  msgid "Twitter Username"
309
  msgstr ""
310
 
@@ -369,6 +369,18 @@ msgstr ""
369
  msgid "Full Content?"
370
  msgstr ""
371
 
 
 
 
 
 
 
 
 
 
 
 
 
372
  #: functions/scripts.php:105
373
  msgid "Characters Remaining"
374
  msgstr ""
@@ -395,12 +407,12 @@ msgstr ""
395
  msgid "Stumble"
396
  msgstr ""
397
 
398
- #: functions/social-networks/twitter.php:155
399
- #: functions/social-networks/twitter.php:159
400
  msgid "Tweet"
401
  msgstr ""
402
 
403
- #: functions/utility.php:333
404
  msgid ""
405
  "<b>Important:</b> We’ve made <a "
406
  "href=\"https://warfareplugins.com/social-warfare-2-2/\" "
2
  # This file is distributed under the same license as the Social Warfare package.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: Social Warfare 2.2.3\n"
6
  "Report-Msgid-Bugs-To: https://warfareplugins.com/\n"
7
+ "POT-Creation-Date: 2017-03-31 20:37:06+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
26
  msgid "Settings"
27
  msgstr ""
28
 
29
+ #: functions/admin/options-page.php:246
30
  msgid "Active"
31
  msgstr ""
32
 
33
+ #: functions/admin/options-page.php:279
34
  msgid "Inactive"
35
  msgstr ""
36
 
37
+ #: functions/admin/options-page.php:341 functions/admin/options-page.php:353
38
+ #: functions/admin/options-page.php:381 functions/admin/options-page.php:399
39
+ #: functions/admin/options-page.php:685
40
  msgid "ON"
41
  msgstr ""
42
 
43
+ #: functions/admin/options-page.php:341 functions/admin/options-page.php:353
44
+ #: functions/admin/options-page.php:381 functions/admin/options-page.php:399
45
+ #: functions/admin/options-page.php:685
46
  msgid "OFF"
47
  msgstr ""
48
 
49
+ #: functions/admin/options-page.php:629
50
  msgid "Connected"
51
  msgstr ""
52
 
53
+ #: functions/admin/options-page.php:631
54
  msgid "Authenticated"
55
  msgstr ""
56
 
57
+ #: functions/admin/options-page.php:670
58
  msgid "Tweet Count Registration"
59
  msgstr ""
60
 
61
+ #: functions/admin/options-page.php:676
62
  msgid ""
63
  "In order to allow Social Warfare to track tweet counts, we've partnered "
64
  "with NewShareCounts.com. Follow the steps below to register with "
65
  "NewShareCounts and allow us to track your Twitter shares."
66
  msgstr ""
67
 
68
+ #: functions/admin/options-page.php:677
69
  msgid "Click here to visit NewShareCounts.com"
70
  msgstr ""
71
 
72
+ #: functions/admin/options-page.php:677
73
  msgid ""
74
  "Step 2: At NewShareCounts.com, Enter your domain and click the \"Sign In "
75
  "With Twitter\" button."
76
  msgstr ""
77
 
78
+ #: functions/admin/options-page.php:677
79
  msgid "Step 3: Flip the switch below to \"ON\" and then save changes."
80
  msgstr ""
81
 
82
+ #: functions/admin/options-page.php:779
83
  msgid ""
84
  "Need help? Check out our <a href=\"https://warfareplugins.com/support/\" "
85
  "target=\"_blank\">Knowledgebase."
86
  msgstr ""
87
 
88
+ #: functions/admin/options-page.php:780
89
  msgid ""
90
  "Opening a support ticket? Copy your System Status by clicking the button "
91
  "below."
92
  msgstr ""
93
 
94
+ #: functions/admin/options-page.php:781
95
  msgid "Get System Status"
96
  msgstr ""
97
 
98
+ #: functions/admin/options-page.php:786
99
  msgid "Press Ctrl+C to Copy this information."
100
  msgstr ""
101
 
102
+ #: functions/admin/options-page.php:808
103
  msgid "Security failed."
104
  msgstr ""
105
 
106
+ #: functions/admin/options-page.php:815
107
  msgid "No settings to save."
108
  msgstr ""
109
 
304
  "them below."
305
  msgstr ""
306
 
307
+ #: functions/options-array.php:285 functions/profile-fields.php:21
308
  msgid "Twitter Username"
309
  msgstr ""
310
 
369
  msgid "Full Content?"
370
  msgstr ""
371
 
372
+ #: functions/profile-fields.php:24
373
+ msgid "Please enter your Twitter username."
374
+ msgstr ""
375
+
376
+ #: functions/profile-fields.php:28
377
+ msgid "Facebook Author URL"
378
+ msgstr ""
379
+
380
+ #: functions/profile-fields.php:31
381
+ msgid "Please enter the URL of your Facebok profile."
382
+ msgstr ""
383
+
384
  #: functions/scripts.php:105
385
  msgid "Characters Remaining"
386
  msgstr ""
407
  msgid "Stumble"
408
  msgstr ""
409
 
410
+ #: functions/social-networks/twitter.php:163
411
+ #: functions/social-networks/twitter.php:167
412
  msgid "Tweet"
413
  msgstr ""
414
 
415
+ #: functions/utility.php:357
416
  msgid ""
417
  "<b>Important:</b> We’ve made <a "
418
  "href=\"https://warfareplugins.com/social-warfare-2-2/\" "
languages/{social-warfare-el.mo → social_warfare-el_EL.mo} RENAMED
File without changes
languages/social_warfare-nl_NL.mo ADDED
Binary file
package.json ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "SocialWarfare",
3
+ "slug": "social-warfare",
4
+ "download_url": "https://downloads.wordpress.org/plugin/social-warfare.zip",
5
+ "version": "2.0.7",
6
+ "last_updated": "2016-06-13 15:10:00",
7
+ "requires": "3.0",
8
+ "tested": "4.5",
9
+ "author": "Warfare Plugins",
10
+ "repository": {
11
+ "type": "git",
12
+ "url": "https://github.com/warfare-plugins/social-warfare.git"
13
+ },
14
+ "devDependencies": {
15
+ "autoprefixer": "6.x",
16
+ "grunt": "^1.0.1",
17
+ "grunt-contrib-cssmin": "1.x",
18
+ "grunt-contrib-uglify": "2.x",
19
+ "grunt-contrib-watch": "1.x",
20
+ "grunt-postcss": "0.x",
21
+ "grunt-replace": "1.x",
22
+ "grunt-version": "1.x",
23
+ "grunt-wp-css": "0.x",
24
+ "grunt-wp-i18n": "0.x",
25
+ "load-grunt-tasks": "3.x"
26
+ }
27
+ }
readme.txt CHANGED
@@ -186,6 +186,24 @@ We have a growing archive of <a href="https://warfareplugins.com/support" rel="f
186
 
187
  == Changelog ==
188
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
189
  = 2.2.3 (22 FEB 2017) =
190
 
191
  *Maintenance:*
186
 
187
  == Changelog ==
188
 
189
+ = 2.2.4 (09 MAY 2017) =
190
+
191
+ * Added a feature to set og:type values for all post types with individual post control via the swp_og_type custom field.
192
+ * Added information links for all options sets on the admin options page.
193
+ * Added a feature to add a Pinterest image that is picked up by the Pinterest browser extensions.
194
+ * Added better support for buttons being displayed on very tiny screens.
195
+ * Added system checks to ensure that the site is using a compatible version of PHP, WordPress, cURL, etc.
196
+ * Updated Facebook share link from http to https.
197
+ * Updated Italian and French translations to 100%.
198
+ * Reorganized all file and folder organization structures.
199
+ * Refactored and reorganized the code in all of the social network files.
200
+ * Update lots of in-file code documentation.
201
+ * Updated the functionality of the ?swp_cache=rebuild URL parameter.
202
+ * Fixed the no_pin class. You can now add a class of no_pin to an image to opt it out from having a Pinterest hover share button.
203
+ * Fixed a few random PHP warnings and errors.
204
+ * Added a filter to remove script and style tags from meta descriptions. They will now only be text. No HTML allowed.
205
+ * Added UTM parameters to the Pinterest share links.
206
+
207
  = 2.2.3 (22 FEB 2017) =
208
 
209
  *Maintenance:*
social-warfare.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: Social Warfare
4
  * Plugin URI: http://warfareplugins.com
5
  * Description: A plugin to maximize social shares and drive more traffic using the fastest and most intelligent share buttons on the market, calls to action via in-post click-to-tweets, popular posts widgets based on share popularity, link-shortening, Google Analytics and much, much more!
6
- * Version: 2.2.3
7
  * Author: Warfare Plugins
8
  * Author URI: http://warfareplugins.com
9
  * Text Domain: social-warfare
@@ -13,14 +13,16 @@ defined( 'WPINC' ) || die;
13
 
14
  /**
15
  * Define plugin constants for use throughout the plugin (Version and Directories)
 
16
  */
17
- define( 'SWP_VERSION' , '2.2.3' );
18
  define( 'SWP_PLUGIN_FILE', __FILE__ );
19
  define( 'SWP_PLUGIN_URL', untrailingslashit( plugin_dir_url( __FILE__ ) ) );
20
  define( 'SWP_PLUGIN_DIR', dirname( __FILE__ ) );
21
 
22
  /**
23
  * Include the plugin's network files.
 
24
  */
25
  require_once SWP_PLUGIN_DIR . '/functions/social-networks/googlePlus.php';
26
  require_once SWP_PLUGIN_DIR . '/functions/social-networks/twitter.php';
@@ -31,36 +33,38 @@ require_once SWP_PLUGIN_DIR . '/functions/social-networks/stumbleupon.php';
31
 
32
  /**
33
  * Include the plugin's necessary functions files.
 
34
  */
 
35
  function swp_initiate_plugin() {
36
  require_once( ABSPATH . 'wp-admin/includes/plugin.php' );
37
- require_once SWP_PLUGIN_DIR . '/functions/languages.php';
38
- require_once SWP_PLUGIN_DIR . '/functions/url_processing.php';
39
- require_once SWP_PLUGIN_DIR . '/functions/utility.php';
40
- require_once SWP_PLUGIN_DIR . '/functions/options-fetch.php';
41
- require_once SWP_PLUGIN_DIR . '/functions/options-array.php';
42
- require_once SWP_PLUGIN_DIR . '/functions/curl_functions.php';
43
- require_once SWP_PLUGIN_DIR . '/functions/widgets.php';
44
- require_once SWP_PLUGIN_DIR . '/functions/scripts.php';
45
  require_once SWP_PLUGIN_DIR . '/functions/click-to-tweet/clickToTweet.php';
46
- require_once SWP_PLUGIN_DIR . '/functions/sw-shortcode-generator.php';
47
- require_once SWP_PLUGIN_DIR . '/functions/buttons-standard.php';
48
- require_once SWP_PLUGIN_DIR . '/functions/buttons-floating.php';
49
- require_once SWP_PLUGIN_DIR . '/functions/display.php';
50
- require_once SWP_PLUGIN_DIR . '/functions/permalinks.php';
51
- require_once SWP_PLUGIN_DIR . '/functions/share-count-function.php';
52
- require_once SWP_PLUGIN_DIR . '/functions/share-cache.php';
53
- require_once SWP_PLUGIN_DIR . '/functions/header-meta-tags.php';
54
- require_once SWP_PLUGIN_DIR . '/functions/profile-fields.php';
55
- require_once SWP_PLUGIN_DIR . '/functions/shortcodes.php';
56
- require_once SWP_PLUGIN_DIR . '/functions/deprecated.php';
57
- require_once SWP_PLUGIN_DIR . '/functions/compatibility.php';
58
  }
59
- add_action( 'plugins_loaded' , 'swp_initiate_plugin' , 20 );
60
  /**
61
  * Include the plugin's admin files.
62
  */
63
  if ( is_admin() ) {
 
64
  require_once SWP_PLUGIN_DIR . '/functions/admin/columns.php';
65
  require_once SWP_PLUGIN_DIR . '/functions/admin/misc.php';
66
  require_once SWP_PLUGIN_DIR . '/functions/admin/options-page.php';
3
  * Plugin Name: Social Warfare
4
  * Plugin URI: http://warfareplugins.com
5
  * Description: A plugin to maximize social shares and drive more traffic using the fastest and most intelligent share buttons on the market, calls to action via in-post click-to-tweets, popular posts widgets based on share popularity, link-shortening, Google Analytics and much, much more!
6
+ * Version: 2.2.4
7
  * Author: Warfare Plugins
8
  * Author URI: http://warfareplugins.com
9
  * Text Domain: social-warfare
13
 
14
  /**
15
  * Define plugin constants for use throughout the plugin (Version and Directories)
16
+ *
17
  */
18
+ define( 'SWP_VERSION' , '2.2.4' );
19
  define( 'SWP_PLUGIN_FILE', __FILE__ );
20
  define( 'SWP_PLUGIN_URL', untrailingslashit( plugin_dir_url( __FILE__ ) ) );
21
  define( 'SWP_PLUGIN_DIR', dirname( __FILE__ ) );
22
 
23
  /**
24
  * Include the plugin's network files.
25
+ *
26
  */
27
  require_once SWP_PLUGIN_DIR . '/functions/social-networks/googlePlus.php';
28
  require_once SWP_PLUGIN_DIR . '/functions/social-networks/twitter.php';
33
 
34
  /**
35
  * Include the plugin's necessary functions files.
36
+ *
37
  */
38
+ add_action( 'plugins_loaded' , 'swp_initiate_plugin' , 20 );
39
  function swp_initiate_plugin() {
40
  require_once( ABSPATH . 'wp-admin/includes/plugin.php' );
41
+ require_once SWP_PLUGIN_DIR . '/functions/utilities/languages.php';
42
+ require_once SWP_PLUGIN_DIR . '/functions/utilities/url_processing.php';
43
+ require_once SWP_PLUGIN_DIR . '/functions/utilities/utility.php';
44
+ require_once SWP_PLUGIN_DIR . '/functions/admin/options-fetch.php';
45
+ require_once SWP_PLUGIN_DIR . '/functions/admin/options-array.php';
46
+ require_once SWP_PLUGIN_DIR . '/functions/utilities/curl_functions.php';
47
+ require_once SWP_PLUGIN_DIR . '/functions/widgets/widgets.php';
48
+ require_once SWP_PLUGIN_DIR . '/functions/frontend-output/scripts.php';
49
  require_once SWP_PLUGIN_DIR . '/functions/click-to-tweet/clickToTweet.php';
50
+ require_once SWP_PLUGIN_DIR . '/functions/frontend-output/sw-shortcode-generator.php';
51
+ require_once SWP_PLUGIN_DIR . '/functions/frontend-output/buttons-standard.php';
52
+ require_once SWP_PLUGIN_DIR . '/functions/frontend-output/buttons-floating.php';
53
+ require_once SWP_PLUGIN_DIR . '/functions/frontend-output/display.php';
54
+ require_once SWP_PLUGIN_DIR . '/functions/utilities/permalinks.php';
55
+ require_once SWP_PLUGIN_DIR . '/functions/utilities/share-count-function.php';
56
+ require_once SWP_PLUGIN_DIR . '/functions/utilities/share-cache.php';
57
+ require_once SWP_PLUGIN_DIR . '/functions/frontend-output/header-meta-tags.php';
58
+ require_once SWP_PLUGIN_DIR . '/functions/admin/profile-fields.php';
59
+ require_once SWP_PLUGIN_DIR . '/functions/frontend-output/shortcodes.php';
60
+ require_once SWP_PLUGIN_DIR . '/functions/utilities/deprecated.php';
61
+ require_once SWP_PLUGIN_DIR . '/functions/utilities/compatibility.php';
62
  }
 
63
  /**
64
  * Include the plugin's admin files.
65
  */
66
  if ( is_admin() ) {
67
+ require_once SWP_PLUGIN_DIR . '/functions/admin/swp_system_checker.php';
68
  require_once SWP_PLUGIN_DIR . '/functions/admin/columns.php';
69
  require_once SWP_PLUGIN_DIR . '/functions/admin/misc.php';
70
  require_once SWP_PLUGIN_DIR . '/functions/admin/options-page.php';