Social Media Share Buttons | MashShare - Version 3.4.9

Version Description

  • New: Add new short code parameter [mashshare icons=1] allows to show icon buttons only
  • Fix: Remove access token notice
  • Tweak: Lower request break to 5min if facebook api req/hours limits are reached
Download this release

Release Info

Developer ReneHermi
Plugin Icon 128x128 Social Media Share Buttons | MashShare
Version 3.4.9
Comparing to
See all releases

Code changes from version 3.4.7 to 3.4.9

assets/css/mashsb.css CHANGED
@@ -547,4 +547,13 @@ color:#8A8C8E;
547
.mashsb-main .mashsb-buttons .mashsb-noshadow:hover{
548
box-shadow: none;
549
-webkit-box-shadow: none;
550
}
547
.mashsb-main .mashsb-buttons .mashsb-noshadow:hover{
548
box-shadow: none;
549
-webkit-box-shadow: none;
550
+ }
551
+
552
+ .mashsb-main .mashsb-buttons .mashsb-pure-icons {
553
+ min-width:0;
554
+ flex:none;
555
+ -webkit-flex:none;
556
+ }
557
+ .mashsb-main .mashsb-buttons .mashsb-pure-icons .icon:before {
558
+ margin-right:0px;
559
}
assets/css/mashsb.min.css CHANGED
@@ -1 +1 @@
1
- .mashicon-buffer .icon,.mashicon-buffer .text,[class*=" mashicon-"],[class^=mashicon-] .icon{color:#fff}.mashsb-buttons a.mash-center,.mashsb-count,.onoffswitch,.onoffswitch2{text-align:center}.onoffswitch,.onoffswitch2{-ms-user-select:none;margin-left:0;-webkit-user-select:none;-moz-user-select:none}.mashsb-buttons .secondary-shares a .text{text-indent:-9999px;line-height:0;display:block}.mashsb-buttons .secondary-shares a .text:after{content:" ";text-indent:0;font-size:13px;display:block}.mashsb-buttons .secondary-shares a{min-width:0;display:block}.mashsb-buttons .secondary-shares a .icon:before{margin-right:0}.mashsb-buttons .mashsb-hide{display:none}@font-face{font-family:mashsb-font;src:url(data:application/octet-stream;base64,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)format('woff'),url(data:application/octet-stream;base64,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)format('truetype')}[class*=" mashicon-"]:hover,[class^=mashicon-]:hover{opacity:.8}[class*=" mashicon-"] .text,[class^=mashicon-] .text{font-family:sans-serif;color:#fff}[class*=" mashicon-"] .onoffswitch-label,[class^=mashicon-]{font-size:15px;border-radius:0;cursor:pointer}.mashicon-share:before,[class*=" mashicon-"] .icon:before,[class^=mashicon-] .icon:before{font-family:mashsb-font;font-style:normal;font-weight:400;speak:none;font-size:16px;display:inline-block;text-decoration:inherit;width:1em;margin-right:.7em;text-align:center;font-variant:normal;text-transform:none;margin-top:0;float:left}[class^=mashicon-].mash-center .icon:before{float:none}.mashicon-facebook .icon:before{content:'\e800'}.mashicon-google .icon:before{content:'\e801'}.mashicon-pinterest .icon:before{content:'\e802'}.mashicon-linkedin .icon:before{content:'\e803'}.mashicon-digg .icon:before{content:'\e804'}.mashicon-reddit .icon:before{content:'\e805'}.mashicon-stumbleupon .icon:before{content:'\e806'}.mashicon-twitter .icon:before{content:'\e807'}.mashicon-mail .icon:before{content:'\e808'}.mashicon-vk .icon:before{content:'\e809'}.mashicon-print .icon:before{content:'\e80a'}.mashicon-delicious .icon:before{content:'\e80b'}.mashicon-buffer .icon:before{content:'\e80c'}.mashicon-heart .icon:before{content:'\e80d'}.mashicon-weibo .icon:before{content:'\e80e'}.mashicon-pocket .icon:before{content:'\e80f'}.mashicon-xing .icon:before{content:'\e810'}.mashicon-flattr .icon:before{content:'\e811'}.mashicon-odnoklassniki .icon:before{content:'\e812'}.mashicon-tumblr .icon:before{content:'\e813'}.mashicon-subscribe .icon:before{content:'\e808'}.mashicon-whatsapp .icon:before{content:'\e814'}.mashicon-meneame .icon:before{content:'\e815'}.mashicon-managewp .icon:before{content:'\e816'}.mashicon-mailru .icon:before{content:'\E819'}.mashicon-line .icon:before{content:'\E81A'}.mashicon-yummly .icon:before{content:'\E81B'}.mashicon-frype .icon:before{content:'\e81c'}.mashicon-skype .icon:before{content:'\e81d'}.mashicon-share:before{content:'\e81E'}.mashicon-telegram .icon:before{content:'\e81F'}.mashicon-hackernews .icon:before{content:'\e820'}.mashicon-flipboard .icon:before{content:'\e821'}.mashsb-container{padding-top:10px;padding-bottom:10px}.mashsb-buttons a{min-width:177px}.mashsb-box .mashsb-buttons a{padding:13px;margin-right:3px;margin-bottom:3px;float:left;border:0;text-decoration:none}.mashsb-box .mashsb-buttons a:hover{text-decoration:none}.mashsb-box .mashsb-buttons a.mash-nomargin{margin-right:0}.mashsb-box .mashsb-buttons a.mash-medium{padding:10px}.mashsb-box .mashsb-buttons a.mash-small{padding:6px}.mashsb-buttons .float-right{float:right}.mashsb-buttons .float-left{float:left}.mashicon-facebook{background:#2d5f9a}.mashicon-twitter{background:#00c3f3}.mashicon-google{background:#d73d32}.mashicon-subscribe{background:#fff120}.mashicon-pinterest{background:#cd252b}.mashicon-linkedin{background:#2ba3e1}.mashicon-digg{background:#1b5791}.mashicon-stumbleupon{background:#eb4723}.mashicon-vk{background:#5d83aa}.mashicon-mail{background:#888}.mashicon-print{background:#666}.mashicon-reddit{background:#333}.mashicon-delicious{background:#39f}.mashicon-weibo{background:#ed1c24}.mashicon-pocket{background:#ee4055}.mashicon-xing{background:#135a5b}.mashicon-flattr{background:#8cb55b}.mashicon-odnoklassniki{background:#f4731c}.mashicon-managewp{background:#056cad}.mashicon-tumblr{background:#2c4762}.mashicon-meneame{background:#ff7d12}.mashicon-whatsapp{background:#1d9e11}.mashicon-buffer{background:#000}.mashicon-mailru{background:#044b89}.mashicon-line{background:#1dcd00}.mashicon-yummly{background:#e16120}.mashicon-frype{background:#f60}.mashicon-skype{background:#00afef}.mashicon-telegram{background:#1d94d3}.mashicon-hackernews{background:#f60}.mashicon-flipboard{background:#b31f17}.mashicon-subscribe .icon,.mashicon-subscribe .text{color:#000}.mashsb-count{display:block;padding-bottom:0;font-size:43px;font-weight:700;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#ccc;border:0 solid #FFF;margin-right:10px;margin-top:10px;float:left;line-height:13px}.mashsb-count.mash-medium{font-size:30px;margin-top:5px}.mashsb-count.mash-small{font-size:20px;margin-top:1px}.mashsb-sharetext{font-size:11px;font-family:Arial,sans-serif;color:#8A8C8E}.onoffswitch,.onoffswitch2{margin-bottom:3px;color:#FFF}.mashsb-toggle-container{display:none;padding:11px 2% 8px;border:10px solid #FFF120;position:relative;margin-bottom:10px;margin-top:0}[class*=" mashicon-"],[class^=mashicon-]{position:relative;display:inline-block}[class*=" mashicon-"] .text,[class^=mashicon-] .text{padding:0;margin:0}[class*=" mashicon-"] .text:after,[class^=mashicon-] .text:after{line-height:10px}.mashsb-box{line-height:1}.mashsb-count>.counts{clear:both}.onoffswitch{position:relative;display:inline-block;float:left;margin-right:0;cursor:pointer;background-color:#C5C5C5;width:42px;height:42px;line-height:42px}.onoffswitch.mash-medium{width:36px;height:36px;line-height:36px}.onoffswitch.mash-small{width:28px;height:28px;line-height:28px}.onoffswitch:before{content:"+";display:inline-block;font-weight:700;font-size:30px;font-family:arial;vertical-align:middle}.onoffswitch2{position:relative;display:inline-block;float:left;margin-right:3px;cursor:pointer;background-color:#C5C5C5;width:42px;height:42px;line-height:42px}.onoffswitch2.mash-medium{width:36px;height:36px;line-height:36px}.onoffswitch2.mash-small{width:28px;height:28px;line-height:28px}.onoffswitch2:before{content:"-";display:inline-block;font-weight:700;font-size:30px;font-family:arial;vertical-align:super}@media only screen and (max-width:568px){[class*=" mashicon-"] .text,[class^=mashicon-] .text{text-indent:-9999px;line-height:0;display:block}[class*=" mashicon-"] .text:after,[class^=mashicon-] .text:after{content:"";text-indent:0;font-size:13px;display:block}[class*=" mashicon-"],[class^=mashicon-]{text-align:center}[class*=" mashicon-"] .icon:before,[class^=mashicon-] .icon:before{float:none;margin-right:0}.mashsb-buttons a{margin-right:3px;margin-bottom:3px;min-width:0;width:41px}.onoffswitch,.onoffswitch-inner:after .onoffswitch2,.onoffswitch-inner:before,.onoffswitch2-inner:after,.onoffswitch2-inner:before{margin-right:0;width:41px}}.mashsb-widget-img{border:1px solid #ccc;margin-right:5px;margin-top:5px;float:left}.mashsb-widget-post-title{font-weight:700}.mashsb-share-widget li{clear:both;min-height:90px;border-bottom:1px solid #f5f5f5;list-style:none;padding-top:8px;padding-bottom:8px}.mashsb-share-widget{margin:0}.mashsb-excerpt{font-size:12px}.mashicon-share{font-size:12px;cursor:default}.mashicon-share:before{font-size:12px;margin-right:5px}.mashicon-share:hover{opacity:1}.mashsb-stretched .mashsb-buttons{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start}.mashsb-stretched .mashsb-buttons a{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;min-width:0;box-shadow:0 0}.mashsb-buttons .mashsb-shadow{-webkit-box-shadow:1px 2px 5px 0 rgba(0,0,0,.51);-moz-box-shadow:1px 2px 5px 0 rgba(0,0,0,.51);box-shadow:1px 2px 5px 0 rgba(0,0,0,.51)}.mashsb-main .mashsb-buttons .mashsb-noshadow,.mashsb-main .mashsb-buttons .mashsb-noshadow:hover{box-shadow:none;-webkit-box-shadow:none}
1
+ .mashicon-buffer .icon,.mashicon-buffer .text,[class*=" mashicon-"],[class^=mashicon-] .icon{color:#fff}.mashsb-buttons a.mash-center,.mashsb-count,.onoffswitch,.onoffswitch2{text-align:center}.onoffswitch,.onoffswitch2{-ms-user-select:none;margin-left:0;-webkit-user-select:none;-moz-user-select:none}.mashsb-buttons .secondary-shares a .text{text-indent:-9999px;line-height:0;display:block}.mashsb-buttons .secondary-shares a .text:after{content:" ";text-indent:0;font-size:13px;display:block}.mashsb-buttons .secondary-shares a{min-width:0;display:block}.mashsb-buttons .secondary-shares a .icon:before{margin-right:0}.mashsb-buttons .mashsb-hide{display:none}@font-face{font-family:mashsb-font;src:url(data:application/octet-stream;base64,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)format('woff'),url(data:application/octet-stream;base64,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)format('truetype')}[class*=" mashicon-"]:hover,[class^=mashicon-]:hover{opacity:.8}[class*=" mashicon-"] .text,[class^=mashicon-] .text{font-family:sans-serif;color:#fff}[class*=" mashicon-"] .onoffswitch-label,[class^=mashicon-]{font-size:15px;border-radius:0;cursor:pointer}.mashicon-share:before,[class*=" mashicon-"] .icon:before,[class^=mashicon-] .icon:before{font-family:mashsb-font;font-style:normal;font-weight:400;speak:none;font-size:16px;display:inline-block;text-decoration:inherit;width:1em;margin-right:.7em;text-align:center;font-variant:normal;text-transform:none;margin-top:0;float:left}[class^=mashicon-].mash-center .icon:before{float:none}.mashicon-facebook .icon:before{content:'\e800'}.mashicon-google .icon:before{content:'\e801'}.mashicon-pinterest .icon:before{content:'\e802'}.mashicon-linkedin .icon:before{content:'\e803'}.mashicon-digg .icon:before{content:'\e804'}.mashicon-reddit .icon:before{content:'\e805'}.mashicon-stumbleupon .icon:before{content:'\e806'}.mashicon-twitter .icon:before{content:'\e807'}.mashicon-mail .icon:before{content:'\e808'}.mashicon-vk .icon:before{content:'\e809'}.mashicon-print .icon:before{content:'\e80a'}.mashicon-delicious .icon:before{content:'\e80b'}.mashicon-buffer .icon:before{content:'\e80c'}.mashicon-heart .icon:before{content:'\e80d'}.mashicon-weibo .icon:before{content:'\e80e'}.mashicon-pocket .icon:before{content:'\e80f'}.mashicon-xing .icon:before{content:'\e810'}.mashicon-flattr .icon:before{content:'\e811'}.mashicon-odnoklassniki .icon:before{content:'\e812'}.mashicon-tumblr .icon:before{content:'\e813'}.mashicon-subscribe .icon:before{content:'\e808'}.mashicon-whatsapp .icon:before{content:'\e814'}.mashicon-meneame .icon:before{content:'\e815'}.mashicon-managewp .icon:before{content:'\e816'}.mashicon-mailru .icon:before{content:'\E819'}.mashicon-line .icon:before{content:'\E81A'}.mashicon-yummly .icon:before{content:'\E81B'}.mashicon-frype .icon:before{content:'\e81c'}.mashicon-skype .icon:before{content:'\e81d'}.mashicon-share:before{content:'\e81E'}.mashicon-telegram .icon:before{content:'\e81F'}.mashicon-hackernews .icon:before{content:'\e820'}.mashicon-flipboard .icon:before{content:'\e821'}.mashsb-container{padding-top:10px;padding-bottom:10px}.mashsb-buttons a{min-width:177px}.mashsb-box .mashsb-buttons a{padding:13px;margin-right:3px;margin-bottom:3px;float:left;border:0;text-decoration:none}.mashsb-box .mashsb-buttons a:hover{text-decoration:none}.mashsb-box .mashsb-buttons a.mash-nomargin{margin-right:0}.mashsb-box .mashsb-buttons a.mash-medium{padding:10px}.mashsb-box .mashsb-buttons a.mash-small{padding:6px}.mashsb-buttons .float-right{float:right}.mashsb-buttons .float-left{float:left}.mashicon-facebook{background:#2d5f9a}.mashicon-twitter{background:#00c3f3}.mashicon-google{background:#d73d32}.mashicon-subscribe{background:#fff120}.mashicon-pinterest{background:#cd252b}.mashicon-linkedin{background:#2ba3e1}.mashicon-digg{background:#1b5791}.mashicon-stumbleupon{background:#eb4723}.mashicon-vk{background:#5d83aa}.mashicon-mail{background:#888}.mashicon-print{background:#666}.mashicon-reddit{background:#333}.mashicon-delicious{background:#39f}.mashicon-weibo{background:#ed1c24}.mashicon-pocket{background:#ee4055}.mashicon-xing{background:#135a5b}.mashicon-flattr{background:#8cb55b}.mashicon-odnoklassniki{background:#f4731c}.mashicon-managewp{background:#056cad}.mashicon-tumblr{background:#2c4762}.mashicon-meneame{background:#ff7d12}.mashicon-whatsapp{background:#1d9e11}.mashicon-buffer{background:#000}.mashicon-mailru{background:#044b89}.mashicon-line{background:#1dcd00}.mashicon-yummly{background:#e16120}.mashicon-frype{background:#f60}.mashicon-skype{background:#00afef}.mashicon-telegram{background:#1d94d3}.mashicon-hackernews{background:#f60}.mashicon-flipboard{background:#b31f17}.mashicon-subscribe .icon,.mashicon-subscribe .text{color:#000}.mashsb-count{display:block;padding-bottom:0;font-size:43px;font-weight:700;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#ccc;border:0 solid #FFF;margin-right:10px;margin-top:10px;float:left;line-height:13px}.mashsb-count.mash-medium{font-size:30px;margin-top:5px}.mashsb-count.mash-small{font-size:20px;margin-top:1px}.mashsb-sharetext{font-size:11px;font-family:Arial,sans-serif;color:#8A8C8E}.onoffswitch,.onoffswitch2{margin-bottom:3px;color:#FFF}.mashsb-toggle-container{display:none;padding:11px 2% 8px;border:10px solid #FFF120;position:relative;margin-bottom:10px;margin-top:0}[class*=" mashicon-"],[class^=mashicon-]{position:relative;display:inline-block}[class*=" mashicon-"] .text,[class^=mashicon-] .text{padding:0;margin:0}[class*=" mashicon-"] .text:after,[class^=mashicon-] .text:after{line-height:10px}.mashsb-box{line-height:1}.mashsb-count>.counts{clear:both}.onoffswitch{position:relative;display:inline-block;float:left;margin-right:0;cursor:pointer;background-color:#C5C5C5;width:42px;height:42px;line-height:42px}.onoffswitch.mash-medium{width:36px;height:36px;line-height:36px}.onoffswitch.mash-small{width:28px;height:28px;line-height:28px}.onoffswitch:before{content:"+";display:inline-block;font-weight:700;font-size:30px;font-family:arial;vertical-align:middle}.onoffswitch2{position:relative;display:inline-block;float:left;margin-right:3px;cursor:pointer;background-color:#C5C5C5;width:42px;height:42px;line-height:42px}.onoffswitch2.mash-medium{width:36px;height:36px;line-height:36px}.onoffswitch2.mash-small{width:28px;height:28px;line-height:28px}.onoffswitch2:before{content:"-";display:inline-block;font-weight:700;font-size:30px;font-family:arial;vertical-align:super}@media only screen and (max-width:568px){[class*=" mashicon-"] .text,[class^=mashicon-] .text{text-indent:-9999px;line-height:0;display:block}[class*=" mashicon-"] .text:after,[class^=mashicon-] .text:after{content:"";text-indent:0;font-size:13px;display:block}[class*=" mashicon-"],[class^=mashicon-]{text-align:center}[class*=" mashicon-"] .icon:before,[class^=mashicon-] .icon:before{float:none;margin-right:0}.mashsb-buttons a{margin-right:3px;margin-bottom:3px;min-width:0;width:41px}.onoffswitch,.onoffswitch-inner:after .onoffswitch2,.onoffswitch-inner:before,.onoffswitch2-inner:after,.onoffswitch2-inner:before{margin-right:0;width:41px}}.mashsb-widget-img{border:1px solid #ccc;margin-right:5px;margin-top:5px;float:left}.mashsb-widget-post-title{font-weight:700}.mashsb-share-widget li{clear:both;min-height:90px;border-bottom:1px solid #f5f5f5;list-style:none;padding-top:8px;padding-bottom:8px}.mashsb-share-widget{margin:0}.mashsb-excerpt{font-size:12px}.mashicon-share{font-size:12px;cursor:default}.mashicon-share:before{font-size:12px;margin-right:5px}.mashicon-share:hover{opacity:1}.mashsb-stretched .mashsb-buttons{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start}.mashsb-stretched .mashsb-buttons a{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;min-width:0;box-shadow:0 0}.mashsb-buttons .mashsb-shadow{-webkit-box-shadow:1px 2px 5px 0 rgba(0,0,0,.51);-moz-box-shadow:1px 2px 5px 0 rgba(0,0,0,.51);box-shadow:1px 2px 5px 0 rgba(0,0,0,.51)}.mashsb-main .mashsb-buttons .mashsb-noshadow,.mashsb-main .mashsb-buttons .mashsb-noshadow:hover{box-shadow:none;-webkit-box-shadow:none}.mashsb-main .mashsb-buttons .mashsb-pure-icons{min-width:0;flex:none;-webkit-flex:none}.mashsb-main .mashsb-buttons .mashsb-pure-icons .icon:before{margin-right:0}
assets/js/mashsb-admin.js CHANGED
@@ -46,7 +46,7 @@ jQuery(document).ready(function ($) {
46
*/
47
function check_access_token()
48
{
49
- $.ajax("https://graph.facebook.com/v2.7/?id=http://www.google.com&access_token=" + $('#mashsb_settings\\[fb_access_token_new\\]').val())
50
.done(function (e) {
51
52
try {
46
*/
47
function check_access_token()
48
{
49
+ $.ajax("https://graph.facebook.com/v2.11/?id=http://www.google.com&access_token=" + $('#mashsb_settings\\[fb_access_token_new\\]').val())
50
.done(function (e) {
51
52
try {
assets/js/mashsb-admin.min.js CHANGED
@@ -1 +1 @@
1
- jQuery(document).ready(function(a){function b(){a.ajax("https://graph.facebook.com/v2.7/?id=http://www.google.com&access_token="+a("#mashsb_settings\\[fb_access_token_new\\]").val()).done(function(b){try{b.share.share_count&&a("#mashsb_token_notice").html("<strong>Token valid:</strong> Facebook share count for http://google.com: "+b.share.share_count)}catch(b){a("#mashsb_token_notice").html('<span style="color:red;"> <strong>Error:</strong> Access Token Invalid!</span>')}})}function c(a,b,c){if(c){var d=new Date;d.setTime(d.getTime()+24*c*60*60*1e3);var e="; expires="+d.toGMTString()}else var e="";document.cookie=a+"="+b+e+"; path=/"}function d(a){for(var b=a+"=",c=document.cookie.split(";"),d=0;d<c.length;d++){for(var e=c[d];" "==e.charAt(0);)e=e.substring(1,e.length);if(0==e.indexOf(b))return e.substring(b.length,e.length)}return null}function e(){var a=jQuery(".mashsb-tabs.active").find("a").attr("href");c("mashsb_active_tab",a)}function f(){var a=d("mashsb_active_tab");return null==a&&(a="#mashsb_settingsgeneral_header"),a}function g(){var a,b;return a=jQuery(".mashsb.nav-tab-wrapper a.nav-tab-active:nth-child(2)"),b=jQuery(".mashsb.nav-tab-wrapper a.nav-tab-active:nth-child(3)"),a.length>0||b.length>0?void 0:f()+"-nav"}a(".mashsb-color-box").each(function(){a(this).colpick({layout:"hex",submit:0,colorScheme:"light",onChange:function(b,c,d,e,f){a(e).css("border-color","#"+c),f||a(e).val(c)}}).keyup(function(){a(this).colpickSetColor(this.value)}),a(this).colpick({layout:"hex",submit:0,colorScheme:"light",onChange:function(b,c,d,e,f){a(e).css("border-color","#"+c),f||a(e).val(c)}}).keyup(function(){a(this).colpickSetColor(this.value)})}),a("#mashsb_verify_fbtoken").on("click",function(c){c.preventDefault(),a("#mashsb_settings\\[fb_access_token_new\\]").val()&&b()}),a("#mashsb_fb_auth").click(function(b){b.preventDefault(),winWidth=520,winHeight=350;var c=screen.height/2-winHeight/2,d=screen.width/2-winWidth/2,e=a(this).attr("href");mashsb_fb_auth=window.open(e,"mashsb_fb_auth","top="+c+",left="+d+",toolbar=0,status=0,width="+winWidth+",height="+winHeight+",resizable=yes")}),a("#mashsb_settings\\[responsive_buttons\\]").attr("checked")?a("#mashsb_settings\\[button_width\\]").closest(".row").css("display","none"):a("#mashsb_settings\\[button_width\\]").closest(".row").fadeIn(300).css("display","table-row"),a("#mashsb_settings\\[responsive_buttons\\]").click(function(){a(this).attr("checked")?a("#mashsb_settings\\[button_width\\]").closest(".row").css("display","none"):a("#mashsb_settings\\[button_width\\]").closest(".row").fadeIn(300).css("display","table-row")}),a(".mashsb-chosen-select").chosen({width:"400px"}),a("#mashsb_settings\\[caching_method\\]").change(function(){"refresh_loading"===a("#mashsb_settings\\[caching_method\\]").val()?a("#mashsb_settings\\[mashsharer_cache\\]").closest(".row").fadeIn(300).css("display","table-row"):a("#mashsb_settings\\[mashsharer_cache\\]").closest(".row").css("display","none")}),"refresh_loading"===a("#mashsb_settings\\[caching_method\\]").val()?a("#mashsb_settings\\[mashsharer_cache\\]").closest(".row").fadeIn(300).css("display","table-row"):a("#mashsb_settings\\[mashsharer_cache\\]").closest(".row").css("display","none"),a(".mashsb-tabs").length&&a("#mashsb_container").easytabs({animate:!0,updateHash:!0,defaultTab:g()}),a("#mashsb_container").bind("easytabs:after",function(){0==jQuery(".mashsb.nav-tab-wrapper a.nav-tab-active:nth-child(2)").length&&e()}),a(".mashtab").length&&a(".tabcontent_container").easytabs({animate:!0}),a("#mashsb_network_list").sortable({items:".mashsb_list_item",opacity:.6,cursor:"move",axis:"y",update:function(){var b=a(this).sortable("serialize")+"&action=mashsb_update_order";a.post(ajaxurl,b,function(){})}}),a(".mashsb-helper").click(function(b){b.preventDefault();var c=a(this),d=a(this).next();a(".mashsb-message").not(d).hide();var e=c.position();d.css(d.hasClass("bottom")?{left:e.left-d.width()/2+"px",top:e.top+c.height()+9+"px"}:{left:e.left+c.width()+9+"px",top:e.top+c.height()/2-18+"px"}),d.toggle(),b.stopPropagation()}),a("body").click(function(){a(".mashsb-message").hide()}),a(".mashsb-message").click(function(a){a.stopPropagation()})}),function(a,b,c){function d(a){return a=a||location.href,"#"+a.replace(/^[^#]*#?(.*)#x2F;,"$1")}var e,f="hashchange",g=document,h=a.event.special,i=g.documentMode,j="on"+f in b&&(i===c||i>7);a.fn[f]=function(a){return a?this.bind(f,a):this.trigger(f)},a.fn[f].delay=50,h[f]=a.extend(h[f],{setup:function(){return j?!1:void a(e.start)},teardown:function(){return j?!1:void a(e.stop)}}),e=function(){function e(){var c=d(),g=n(k);c!==k?(m(k=c,g),a(b).trigger(f)):g!==k&&(location.href=location.href.replace(/#.*/,"")+g),h=setTimeout(e,a.fn[f].delay)}var h,i={},k=d(),l=function(a){return a},m=l,n=l;return i.start=function(){h||e()},i.stop=function(){h&&clearTimeout(h),h=c},a.browser.msie&&!j&&function(){var b,c;i.start=function(){b||(c=a.fn[f].src,c=c&&c+d(),b=a('<iframe tabindex="-1" title="empty"/>').hide().one("load",function(){c||m(d()),e()}).attr("src",c||"javascript:0").insertAfter("body")[0].contentWindow,g.onpropertychange=function(){try{"title"===event.propertyName&&(b.document.title=g.title)}catch(a){}})},i.stop=l,n=function(){return d(b.location.href)},m=function(c,d){var e=b.document,h=a.fn[f].domain;c!==d&&(e.title=g.title,e.open(),h&&e.write('<script>document.domain="'+h+'"</script>'),e.close(),b.location.hash=c)}}(),i}()}(jQuery,this),function(a){a.easytabs=function(b,c){var d,e,f,g,h,i,j=this,k=a(b),l={animate:!0,panelActiveClass:"active",tabActiveClass:"active",defaultTab:"li:first-child",animationSpeed:"normal",tabs:"> ul > li",updateHash:!0,cycle:!1,collapsible:!1,collapsedClass:"collapsed",collapsedByDefault:!0,uiTabs:!1,transitionIn:"fadeIn",transitionOut:"fadeOut",transitionInEasing:"swing",transitionOutEasing:"swing",transitionCollapse:"slideUp",transitionUncollapse:"slideDown",transitionCollapseEasing:"swing",transitionUncollapseEasing:"swing",containerClass:"",tabsClass:"",tabClass:"",panelClass:"",cache:!0,event:"click",panelContext:k},m={fast:200,normal:400,slow:600};j.init=function(){j.settings=i=a.extend({},l,c),i.bind_str=i.event+".easytabs",i.uiTabs&&(i.tabActiveClass="ui-tabs-selected",i.containerClass="ui-tabs ui-widget ui-widget-content ui-corner-all",i.tabsClass="ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all",i.tabClass="ui-state-default ui-corner-top",i.panelClass="ui-tabs-panel ui-widget-content ui-corner-bottom"),i.collapsible&&void 0!==c.defaultTab&&void 0===c.collpasedByDefault&&(i.collapsedByDefault=!1),"string"==typeof i.animationSpeed&&(i.animationSpeed=m[i.animationSpeed]),a("a.anchor").remove().prependTo("body"),k.data("easytabs",{}),j.setTransitions(),j.getTabs(),o(),p(),r(),v(),w(),k.attr("data-easytabs",!0)},j.setTransitions=function(){f=i.animate?{show:i.transitionIn,hide:i.transitionOut,speed:i.animationSpeed,collapse:i.transitionCollapse,uncollapse:i.transitionUncollapse,halfSpeed:i.animationSpeed/2}:{show:"show",hide:"hide",speed:0,collapse:"hide",uncollapse:"show",halfSpeed:0}},j.getTabs=function(){var b;j.tabs=k.find(i.tabs),j.panels=a(),j.tabs.each(function(){var c=a(this),d=c.children("a"),e=c.children("a").data("target");c.data("easytabs",{}),void 0!==e&&null!==e?c.data("easytabs").ajax=d.attr("href"):e=d.attr("href"),e=e.match(/#([^\?]+)/)[1],b=i.panelContext.find("#"+e),b.length?(b.data("easytabs",{position:b.css("position"),visibility:b.css("visibility")}),b.not(i.panelActiveClass).hide(),j.panels=j.panels.add(b),c.data("easytabs").panel=b):(j.tabs=j.tabs.not(c),"console"in window&&console.warn("Warning: tab without matching panel for selector '#"+e+"' removed from set"))})},j.selectTab=function(a,b){var c=window.location,d=(c.hash.match(/^[^\?]*/)[0],a.parent().data("easytabs").panel),e=a.parent().data("easytabs").ajax;i.collapsible&&!h&&(a.hasClass(i.tabActiveClass)||a.hasClass(i.collapsedClass))?j.toggleTabCollapse(a,d,e,b):a.hasClass(i.tabActiveClass)&&d.hasClass(i.panelActiveClass)?i.cache||s(a,d,e,b):s(a,d,e,b)},j.toggleTabCollapse=function(a,b,c,d){j.panels.stop(!0,!0),n(k,"easytabs:before",[a,b,i])&&(j.tabs.filter("."+i.tabActiveClass).removeClass(i.tabActiveClass).children().removeClass(i.tabActiveClass),a.hasClass(i.collapsedClass)?(!c||i.cache&&a.parent().data("easytabs").cached||(k.trigger("easytabs:ajax:beforeSend",[a,b]),b.load(c,function(c,d,e){a.parent().data("easytabs").cached=!0,k.trigger("easytabs:ajax:complete",[a,b,c,d,e])})),a.parent().removeClass(i.collapsedClass).addClass(i.tabActiveClass).children().removeClass(i.collapsedClass).addClass(i.tabActiveClass),b.addClass(i.panelActiveClass)[f.uncollapse](f.speed,i.transitionUncollapseEasing,function(){k.trigger("easytabs:midTransition",[a,b,i]),"function"==typeof d&&d()})):(a.addClass(i.collapsedClass).parent().addClass(i.collapsedClass),b.removeClass(i.panelActiveClass)[f.collapse](f.speed,i.transitionCollapseEasing,function(){k.trigger("easytabs:midTransition",[a,b,i]),"function"==typeof d&&d()})))},j.matchTab=function(a){return j.tabs.find("[href='"+a+"'],[data-target='"+a+"']").first()},j.matchInPanel=function(a){return a&&j.validId(a)?j.panels.filter(":has("+a+")").first():[]},j.validId=function(a){return a.substr(1).match(/^[A-Za-z][A-Za-z0-9\-_:\.]*#x2F;)},j.selectTabFromHashChange=function(){var a,b=window.location.hash.match(/^[^\?]*/)[0],c=j.matchTab(b);i.updateHash&&(c.length?(h=!0,j.selectTab(c)):(a=j.matchInPanel(b),a.length?(b="#"+a.attr("id"),c=j.matchTab(b),h=!0,j.selectTab(c)):d.hasClass(i.tabActiveClass)||i.cycle||(""===b||j.matchTab(g).length||k.closest(b).length)&&(h=!0,j.selectTab(e))))},j.cycleTabs=function(b){i.cycle&&(b%=j.tabs.length,$tab=a(j.tabs[b]).children("a").first(),h=!0,j.selectTab($tab,function(){setTimeout(function(){j.cycleTabs(b+1)},i.cycle)}))},j.publicMethods={select:function(b){var c;0===(c=j.tabs.filter(b)).length?0===(c=j.tabs.find("a[href='"+b+"']")).length&&0===(c=j.tabs.find("a"+b)).length&&0===(c=j.tabs.find("[data-target='"+b+"']")).length&&0===(c=j.tabs.find("a[href$='"+b+"']")).length&&a.error("Tab '"+b+"' does not exist in tab set"):c=c.children("a").first(),j.selectTab(c)}};var n=function(b,c,d){var e=a.Event(c);return b.trigger(e,d),e.result!==!1},o=function(){k.addClass(i.containerClass),j.tabs.parent().addClass(i.tabsClass),j.tabs.addClass(i.tabClass),j.panels.addClass(i.panelClass)},p=function(){var b,c=window.location.hash.match(/^[^\?]*/)[0],f=j.matchTab(c).parent();1===f.length?(d=f,i.cycle=!1):(b=j.matchInPanel(c),b.length?(c="#"+b.attr("id"),d=j.matchTab(c).parent()):(d=j.tabs.parent().find(i.defaultTab),0===d.length&&a.error("The specified default tab ('"+i.defaultTab+"') could not be found in the tab set ('"+i.tabs+"') out of "+j.tabs.length+" tabs."))),e=d.children("a").first(),q(f)},q=function(b){var c,f;i.collapsible&&0===b.length&&i.collapsedByDefault?d.addClass(i.collapsedClass).children().addClass(i.collapsedClass):(c=a(d.data("easytabs").panel),f=d.data("easytabs").ajax,!f||i.cache&&d.data("easytabs").cached||(k.trigger("easytabs:ajax:beforeSend",[e,c]),c.load(f,function(a,b,f){d.data("easytabs").cached=!0,k.trigger("easytabs:ajax:complete",[e,c,a,b,f])})),d.data("easytabs").panel.show().addClass(i.panelActiveClass),d.addClass(i.tabActiveClass).children().addClass(i.tabActiveClass)),k.trigger("easytabs:initialised",[e,c])},r=function(){j.tabs.children("a").bind(i.bind_str,function(b){i.cycle=!1,h=!1,j.selectTab(a(this)),b.preventDefault?b.preventDefault():b.returnValue=!1})},s=function(a,b,c,d){if(j.panels.stop(!0,!0),n(k,"easytabs:before",[a,b,i])){var e,l,m,o,p=j.panels.filter(":visible"),q=b.parent(),r=window.location.hash.match(/^[^\?]*/)[0];i.animate&&(e=t(b),l=p.length?u(p):0,m=e-l),g=r,o=function(){k.trigger("easytabs:midTransition",[a,b,i]),i.animate&&"fadeIn"==i.transitionIn&&0>m&&q.animate({height:q.height()+m},f.halfSpeed).css({"min-height":""}),i.updateHash&&!h?window.history.pushState?window.history.pushState(null,null,"#"+b.attr("id")):window.location.hash="#"+b.attr("id"):h=!1,b[f.show](f.speed,i.transitionInEasing,function(){q.css({height:"","min-height":""}),k.trigger("easytabs:after",[a,b,i]),"function"==typeof d&&d()})},!c||i.cache&&a.parent().data("easytabs").cached||(k.trigger("easytabs:ajax:beforeSend",[a,b]),b.load(c,function(c,d,e){a.parent().data("easytabs").cached=!0,k.trigger("easytabs:ajax:complete",[a,b,c,d,e])})),i.animate&&"fadeOut"==i.transitionOut&&(m>0?q.animate({height:q.height()+m},f.halfSpeed):q.css({"min-height":q.height()})),j.tabs.filter("."+i.tabActiveClass).removeClass(i.tabActiveClass).children().removeClass(i.tabActiveClass),j.tabs.filter("."+i.collapsedClass).removeClass(i.collapsedClass).children().removeClass(i.collapsedClass),a.parent().addClass(i.tabActiveClass).children().addClass(i.tabActiveClass),j.panels.filter("."+i.panelActiveClass).removeClass(i.panelActiveClass),b.addClass(i.panelActiveClass),p.length?p[f.hide](f.speed,i.transitionOutEasing,o):b[f.uncollapse](f.speed,i.transitionUncollapseEasing,o)}},t=function(b){if(b.data("easytabs")&&b.data("easytabs").lastHeight)return b.data("easytabs").lastHeight;var c,d,e=b.css("display");try{c=a("<div></div>",{position:"absolute",visibility:"hidden",overflow:"hidden"})}catch(f){c=a("<div></div>",{visibility:"hidden",overflow:"hidden"})}return d=b.wrap(c).css({position:"relative",visibility:"hidden",display:"block"}).outerHeight(),b.unwrap(),b.css({position:b.data("easytabs").position,visibility:b.data("easytabs").visibility,display:e}),b.data("easytabs").lastHeight=d,d},u=function(a){var b=a.outerHeight();return a.data("easytabs")?a.data("easytabs").lastHeight=b:a.data("easytabs",{lastHeight:b}),b},v=function(){"function"==typeof a(window).hashchange?a(window).hashchange(function(){j.selectTabFromHashChange()}):a.address&&"function"==typeof a.address.change&&a.address.change(function(){j.selectTabFromHashChange()})},w=function(){var a;i.cycle&&(a=j.tabs.index(d),setTimeout(function(){j.cycleTabs(a+1)},i.cycle))};j.init()},a.fn.easytabs=function(b){var c=arguments;return this.each(function(){var d=a(this),e=d.data("easytabs");return void 0===e&&(e=new a.easytabs(this,b),d.data("easytabs",e)),e.publicMethods[b]?e.publicMethods[b](Array.prototype.slice.call(c,1)):void 0})}}(jQuery),function(a){var b=function(){var b='<div class="colpick"><div class="colpick_color"><div class="colpick_color_overlay1"><div class="colpick_color_overlay2"><div class="colpick_selector_outer"><div class="colpick_selector_inner"></div></div></div></div></div><div class="colpick_hue"><div class="colpick_hue_arrs"><div class="colpick_hue_larr"></div><div class="colpick_hue_rarr"></div></div></div><div class="colpick_new_color"></div><div class="colpick_current_color"></div><div class="colpick_hex_field"><div class="colpick_field_letter">#</div><input type="text" maxlength="6" size="6" /></div><div class="colpick_rgb_r colpick_field"><div class="colpick_field_letter">R</div><input type="text" maxlength="3" size="3" /><div class="colpick_field_arrs"><div class="colpick_field_uarr"></div><div class="colpick_field_darr"></div></div></div><div class="colpick_rgb_g colpick_field"><div class="colpick_field_letter">G</div><input type="text" maxlength="3" size="3" /><div class="colpick_field_arrs"><div class="colpick_field_uarr"></div><div class="colpick_field_darr"></div></div></div><div class="colpick_rgb_b colpick_field"><div class="colpick_field_letter">B</div><input type="text" maxlength="3" size="3" /><div class="colpick_field_arrs"><div class="colpick_field_uarr"></div><div class="colpick_field_darr"></div></div></div><div class="colpick_hsb_h colpick_field"><div class="colpick_field_letter">H</div><input type="text" maxlength="3" size="3" /><div class="colpick_field_arrs"><div class="colpick_field_uarr"></div><div class="colpick_field_darr"></div></div></div><div class="colpick_hsb_s colpick_field"><div class="colpick_field_letter">S</div><input type="text" maxlength="3" size="3" /><div class="colpick_field_arrs"><div class="colpick_field_uarr"></div><div class="colpick_field_darr"></div></div></div><div class="colpick_hsb_b colpick_field"><div class="colpick_field_letter">B</div><input type="text" maxlength="3" size="3" /><div class="colpick_field_arrs"><div class="colpick_field_uarr"></div><div class="colpick_field_darr"></div></div></div><div class="colpick_submit"></div></div>',c={showEvent:"click",onShow:function(){},onBeforeShow:function(){},onHide:function(){},onChange:function(){},onSubmit:function(){},colorScheme:"light",color:"3289c7",livePreview:!0,flat:!1,layout:"full",submit:1,submitText:"OK",height:156},g=function(b,c){var d=f(b);a(c).data("colpick").fields.eq(1).val(d.r).end().eq(2).val(d.g).end().eq(3).val(d.b).end()},i=function(b,c){a(c).data("colpick").fields.eq(4).val(Math.round(b.h)).end().eq(5).val(Math.round(b.s)).end().eq(6).val(Math.round(b.b)).end()},j=function(b,c){a(c).data("colpick").fields.eq(0).val(h(b))},k=function(b,c){a(c).data("colpick").selector.css("backgroundColor","#"+h({h:b.h,s:100,b:100})),a(c).data("colpick").selectorIndic.css({left:parseInt(a(c).data("colpick").height*b.s/100,10),top:parseInt(a(c).data("colpick").height*(100-b.b)/100,10)})},l=function(b,c){a(c).data("colpick").hue.css("top",parseInt(a(c).data("colpick").height-a(c).data("colpick").height*b.h/360,10))},m=function(b,c){a(c).data("colpick").currentColor.css("backgroundColor","#"+h(b))},n=function(b,c){a(c).data("colpick").newColor.css("backgroundColor","#"+h(b))},o=function(){var b,c=a(this).parent().parent();this.parentNode.className.indexOf("_hex")>0?(c.data("colpick").color=b=d(G(this.value)),g(b,c.get(0)),i(b,c.get(0))):this.parentNode.className.indexOf("_hsb")>0?(c.data("colpick").color=b=E({h:parseInt(c.data("colpick").fields.eq(4).val(),10),s:parseInt(c.data("colpick").fields.eq(5).val(),10),b:parseInt(c.data("colpick").fields.eq(6).val(),10)}),g(b,c.get(0)),j(b,c.get(0))):(c.data("colpick").color=b=e(F({r:parseInt(c.data("colpick").fields.eq(1).val(),10),g:parseInt(c.data("colpick").fields.eq(2).val(),10),b:parseInt(c.data("colpick").fields.eq(3).val(),10)})),j(b,c.get(0)),i(b,c.get(0))),k(b,c.get(0)),l(b,c.get(0)),n(b,c.get(0)),c.data("colpick").onChange.apply(c.parent(),[b,h(b),f(b),c.data("colpick").el,0])},p=function(){a(this).parent().removeClass("colpick_focus")},q=function(){a(this).parent().parent().data("colpick").fields.parent().removeClass("colpick_focus"),a(this).parent().addClass("colpick_focus")},r=function(b){b.preventDefault?b.preventDefault():b.returnValue=!1;var c=a(this).parent().find("input").focus(),d={el:a(this).parent().addClass("colpick_slider"),max:this.parentNode.className.indexOf("_hsb_h")>0?360:this.parentNode.className.indexOf("_hsb")>0?100:255,y:b.pageY,field:c,val:parseInt(c.val(),10),preview:a(this).parent().parent().data("colpick").livePreview};a(document).mouseup(d,t),a(document).mousemove(d,s)},s=function(a){return a.data.field.val(Math.max(0,Math.min(a.data.max,parseInt(a.data.val-a.pageY+a.data.y,10)))),a.data.preview&&o.apply(a.data.field.get(0),[!0]),!1},t=function(b){return o.apply(b.data.field.get(0),[!0]),b.data.el.removeClass("colpick_slider").find("input").focus(),a(document).off("mouseup",t),a(document).off("mousemove",s),!1},u=function(b){b.preventDefault?b.preventDefault():b.returnValue=!1;var c={cal:a(this).parent(),y:a(this).offset().top};a(document).on("mouseup touchend",c,w),a(document).on("mousemove touchmove",c,v);var d="touchstart"==b.type?b.originalEvent.changedTouches[0].pageY:b.pageY;return o.apply(c.cal.data("colpick").fields.eq(4).val(parseInt(360*(c.cal.data("colpick").height-(d-c.y))/c.cal.data("colpick").height,10)).get(0),[c.cal.data("colpick").livePreview]),!1},v=function(a){var b="touchmove"==a.type?a.originalEvent.changedTouches[0].pageY:a.pageY;return o.apply(a.data.cal.data("colpick").fields.eq(4).val(parseInt(360*(a.data.cal.data("colpick").height-Math.max(0,Math.min(a.data.cal.data("colpick").height,b-a.data.y)))/a.data.cal.data("colpick").height,10)).get(0),[a.data.preview]),!1},w=function(b){return g(b.data.cal.data("colpick").color,b.data.cal.get(0)),j(b.data.cal.data("colpick").color,b.data.cal.get(0)),a(document).off("mouseup touchend",w),a(document).off("mousemove touchmove",v),!1},x=function(b){b.preventDefault?b.preventDefault():b.returnValue=!1;var c={cal:a(this).parent(),pos:a(this).offset()};c.preview=c.cal.data("colpick").livePreview,a(document).on("mouseup touchend",c,z),a(document).on("mousemove touchmove",c,y);var d;return"touchstart"==b.type?(pageX=b.originalEvent.changedTouches[0].pageX,d=b.originalEvent.changedTouches[0].pageY):(pageX=b.pageX,d=b.pageY),o.apply(c.cal.data("colpick").fields.eq(6).val(parseInt(100*(c.cal.data("colpick").height-(d-c.pos.top))/c.cal.data("colpick").height,10)).end().eq(5).val(parseInt(100*(pageX-c.pos.left)/c.cal.data("colpick").height,10)).get(0),[c.preview]),!1},y=function(a){var b;return"touchmove"==a.type?(pageX=a.originalEvent.changedTouches[0].pageX,b=a.originalEvent.changedTouches[0].pageY):(pageX=a.pageX,b=a.pageY),o.apply(a.data.cal.data("colpick").fields.eq(6).val(parseInt(100*(a.data.cal.data("colpick").height-Math.max(0,Math.min(a.data.cal.data("colpick").height,b-a.data.pos.top)))/a.data.cal.data("colpick").height,10)).end().eq(5).val(parseInt(100*Math.max(0,Math.min(a.data.cal.data("colpick").height,pageX-a.data.pos.left))/a.data.cal.data("colpick").height,10)).get(0),[a.data.preview]),!1},z=function(b){return g(b.data.cal.data("colpick").color,b.data.cal.get(0)),j(b.data.cal.data("colpick").color,b.data.cal.get(0)),a(document).off("mouseup touchend",z),a(document).off("mousemove touchmove",y),!1},A=function(){var b=a(this).parent(),c=b.data("colpick").color;b.data("colpick").origColor=c,m(c,b.get(0)),b.data("colpick").onSubmit(c,h(c),f(c),b.data("colpick").el)},B=function(b){b.stopPropagation();var c=a("#"+a(this).data("colpickId"));c.data("colpick").onBeforeShow.apply(this,[c.get(0)]);var d=a(this).offset(),e=d.top+this.offsetHeight,f=d.left,g=D(),h=c.width();f+h>g.l+g.w&&(f-=h),c.css({left:f+"px",top:e+"px"}),0!=c.data("colpick").onShow.apply(this,[c.get(0)])&&c.show(),a("html").mousedown({cal:c},C),c.mousedown(function(a){a.stopPropagation()})},C=function(b){0!=b.data.cal.data("colpick").onHide.apply(this,[b.data.cal.get(0)])&&b.data.cal.hide(),a("html").off("mousedown",C)},D=function(){var a="CSS1Compat"==document.compatMode;return{l:window.pageXOffset||(a?document.documentElement.scrollLeft:document.body.scrollLeft),w:window.innerWidth||(a?document.documentElement.clientWidth:document.body.clientWidth)}},E=function(a){return{h:Math.min(360,Math.max(0,a.h)),s:Math.min(100,Math.max(0,a.s)),b:Math.min(100,Math.max(0,a.b))}},F=function(a){return{r:Math.min(255,Math.max(0,a.r)),g:Math.min(255,Math.max(0,a.g)),b:Math.min(255,Math.max(0,a.b))}},G=function(a){var b=6-a.length;if(b>0){for(var c=[],d=0;b>d;d++)c.push("0");c.push(a),a=c.join("")}return a},H=function(){var b=a(this).parent(),c=b.data("colpick").origColor;b.data("colpick").color=c,g(c,b.get(0)),j(c,b.get(0)),i(c,b.get(0)),k(c,b.get(0)),l(c,b.get(0)),n(c,b.get(0))};return{init:function(f){if(f=a.extend({},c,f||{}),"string"==typeof f.color)f.color=d(f.color);else if(void 0!=f.color.r&&void 0!=f.color.g&&void 0!=f.color.b)f.color=e(f.color);else{if(void 0==f.color.h||void 0==f.color.s||void 0==f.color.b)return this;f.color=E(f.color)}return this.each(function(){if(!a(this).data("colpickId")){var c=a.extend({},f);c.origColor=f.color;var d="collorpicker_"+parseInt(1e3*Math.random());a(this).data("colpickId",d);var e=a(b).attr("id",d);e.addClass("colpick_"+c.layout+(c.submit?"":" colpick_"+c.layout+"_ns")),"light"!=c.colorScheme&&e.addClass("colpick_"+c.colorScheme),e.find("div.colpick_submit").html(c.submitText).click(A),c.fields=e.find("input").change(o).blur(p).focus(q),e.find("div.colpick_field_arrs").mousedown(r).end().find("div.colpick_current_color").click(H),c.selector=e.find("div.colpick_color").on("mousedown touchstart",x),c.selectorIndic=c.selector.find("div.colpick_selector_outer"),c.el=this,c.hue=e.find("div.colpick_hue_arrs"),huebar=c.hue.parent();var h=navigator.userAgent.toLowerCase(),s="Microsoft Internet Explorer"===navigator.appName,t=s?parseFloat(h.match(/msie ([0-9]{1,}[\.0-9]{0,})/)[1]):0,v=s&&10>t,w=["#ff0000","#ff0080","#ff00ff","#8000ff","#0000ff","#0080ff","#00ffff","#00ff80","#00ff00","#80ff00","#ffff00","#ff8000","#ff0000"];if(v){var y,z;for(y=0;11>=y;y++)z=a("<div></div>").attr("style","height:8.333333%; filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr="+w[y]+", endColorstr="+w[y+1]+'); -ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='+w[y]+", endColorstr="+w[y+1]+')";'),huebar.append(z)}else stopList=w.join(","),huebar.attr("style","background:-webkit-linear-gradient(top,"+stopList+"); background: -o-linear-gradient(top,"+stopList+"); background: -ms-linear-gradient(top,"+stopList+"); background:-moz-linear-gradient(top,"+stopList+"); -webkit-linear-gradient(top,"+stopList+"); background:linear-gradient(to bottom,"+stopList+"); ");e.find("div.colpick_hue").on("mousedown touchstart",u),c.newColor=e.find("div.colpick_new_color"),c.currentColor=e.find("div.colpick_current_color"),e.data("colpick",c),g(c.color,e.get(0)),i(c.color,e.get(0)),j(c.color,e.get(0)),l(c.color,e.get(0)),k(c.color,e.get(0)),m(c.color,e.get(0)),n(c.color,e.get(0)),c.flat?(e.appendTo(this).show(),e.css({position:"relative",display:"block"})):(e.appendTo(document.body),a(this).on(c.showEvent,B),e.css({position:"absolute"}))}})},showPicker:function(){return this.each(function(){a(this).data("colpickId")&&B.apply(this)})},hidePicker:function(){return this.each(function(){a(this).data("colpickId")&&a("#"+a(this).data("colpickId")).hide()})},setColor:function(b,c){if(c="undefined"==typeof c?1:c,"string"==typeof b)b=d(b);else if(void 0!=b.r&&void 0!=b.g&&void 0!=b.b)b=e(b);else{if(void 0==b.h||void 0==b.s||void 0==b.b)return this;b=E(b)}return this.each(function(){if(a(this).data("colpickId")){var d=a("#"+a(this).data("colpickId"));d.data("colpick").color=b,d.data("colpick").origColor=b,g(b,d.get(0)),i(b,d.get(0)),j(b,d.get(0)),l(b,d.get(0)),k(b,d.get(0)),n(b,d.get(0)),d.data("colpick").onChange.apply(d.parent(),[b,h(b),f(b),d.data("colpick").el,1]),c&&m(b,d.get(0))}})}}}(),c=function(a){var a=parseInt(a.indexOf("#")>-1?a.substring(1):a,16);return{r:a>>16,g:(65280&a)>>8,b:255&a}},d=function(a){return e(c(a))},e=function(a){var b={h:0,s:0,b:0},c=Math.min(a.r,a.g,a.b),d=Math.max(a.r,a.g,a.b),e=d-c;return b.b=d,b.s=0!=d?255*e/d:0,b.h=0!=b.s?a.r==d?(a.g-a.b)/e:a.g==d?2+(a.b-a.r)/e:4+(a.r-a.g)/e:-1,b.h*=60,b.h<0&&(b.h+=360),b.s*=100/255,b.b*=100/255,b},f=function(a){var b={},c=a.h,d=255*a.s/100,e=255*a.b/100;if(0==d)b.r=b.g=b.b=e;else{var f=e,g=(255-d)*e/255,h=(f-g)*(c%60)/60;360==c&&(c=0),60>c?(b.r=f,b.b=g,b.g=g+h):120>c?(b.g=f,b.b=g,b.r=f-h):180>c?(b.g=f,b.r=g,b.b=g+h):240>c?(b.b=f,b.r=g,b.g=f-h):300>c?(b.b=f,b.g=g,b.r=g+h):360>c?(b.r=f,b.g=g,b.b=f-h):(b.r=0,b.g=0,b.b=0)}return{r:Math.round(b.r),g:Math.round(b.g),b:Math.round(b.b)}},g=function(b){var c=[b.r.toString(16),b.g.toString(16),b.b.toString(16)];return a.each(c,function(a,b){1==b.length&&(c[a]="0"+b)}),c.join("")},h=function(a){return g(f(a))};a.fn.extend({colpick:b.init,colpickHide:b.hidePicker,colpickShow:b.showPicker,colpickSetColor:b.setColor}),a.extend({colpick:{rgbToHex:g,rgbToHsb:e,hsbToHex:h,hsbToRgb:f,hexToHsb:d,hexToRgb:c}})}(jQuery),window.twttr=function(a,b,c){var d,e=a.getElementsByTagName(b)[0],f=window.twttr||{};return a.getElementById(c)?f:(d=a.createElement(b),d.id=c,d.src="https://platform.twitter.com/widgets.js",e.parentNode.insertBefore(d,e),f._e=[],f.ready=function(a){f._e.push(a)},f)}(document,"script","twitter-wjs");
1
+ jQuery(document).ready(function(a){function b(){a.ajax("https://graph.facebook.com/v2.11/?id=http://www.google.com&access_token="+a("#mashsb_settings\\[fb_access_token_new\\]").val()).done(function(b){try{b.share.share_count&&a("#mashsb_token_notice").html("<strong>Token valid:</strong> Facebook share count for http://google.com: "+b.share.share_count)}catch(b){a("#mashsb_token_notice").html('<span style="color:red;"> <strong>Error:</strong> Access Token Invalid!</span>')}})}function c(a,b,c){if(c){var d=new Date;d.setTime(d.getTime()+24*c*60*60*1e3);var e="; expires="+d.toGMTString()}else var e="";document.cookie=a+"="+b+e+"; path=/"}function d(a){for(var b=a+"=",c=document.cookie.split(";"),d=0;d<c.length;d++){for(var e=c[d];" "==e.charAt(0);)e=e.substring(1,e.length);if(0==e.indexOf(b))return e.substring(b.length,e.length)}return null}function e(){var a=jQuery(".mashsb-tabs.active").find("a").attr("href");c("mashsb_active_tab",a)}function f(){var a=d("mashsb_active_tab");return null==a&&(a="#mashsb_settingsgeneral_header"),a}function g(){var a,b;return a=jQuery(".mashsb.nav-tab-wrapper a.nav-tab-active:nth-child(2)"),b=jQuery(".mashsb.nav-tab-wrapper a.nav-tab-active:nth-child(3)"),a.length>0||b.length>0?void 0:f()+"-nav"}a(".mashsb-color-box").each(function(){a(this).colpick({layout:"hex",submit:0,colorScheme:"light",onChange:function(b,c,d,e,f){a(e).css("border-color","#"+c),f||a(e).val(c)}}).keyup(function(){a(this).colpickSetColor(this.value)}),a(this).colpick({layout:"hex",submit:0,colorScheme:"light",onChange:function(b,c,d,e,f){a(e).css("border-color","#"+c),f||a(e).val(c)}}).keyup(function(){a(this).colpickSetColor(this.value)})}),a("#mashsb_verify_fbtoken").on("click",function(c){c.preventDefault(),a("#mashsb_settings\\[fb_access_token_new\\]").val()&&b()}),a("#mashsb_fb_auth").click(function(b){b.preventDefault(),winWidth=520,winHeight=350;var c=screen.height/2-winHeight/2,d=screen.width/2-winWidth/2,e=a(this).attr("href");mashsb_fb_auth=window.open(e,"mashsb_fb_auth","top="+c+",left="+d+",toolbar=0,status=0,width="+winWidth+",height="+winHeight+",resizable=yes")}),a("#mashsb_settings\\[responsive_buttons\\]").attr("checked")?a("#mashsb_settings\\[button_width\\]").closest(".row").css("display","none"):a("#mashsb_settings\\[button_width\\]").closest(".row").fadeIn(300).css("display","table-row"),a("#mashsb_settings\\[responsive_buttons\\]").click(function(){a(this).attr("checked")?a("#mashsb_settings\\[button_width\\]").closest(".row").css("display","none"):a("#mashsb_settings\\[button_width\\]").closest(".row").fadeIn(300).css("display","table-row")}),a(".mashsb-chosen-select").chosen({width:"400px"}),a("#mashsb_settings\\[caching_method\\]").change(function(){"refresh_loading"===a("#mashsb_settings\\[caching_method\\]").val()?a("#mashsb_settings\\[mashsharer_cache\\]").closest(".row").fadeIn(300).css("display","table-row"):a("#mashsb_settings\\[mashsharer_cache\\]").closest(".row").css("display","none")}),"refresh_loading"===a("#mashsb_settings\\[caching_method\\]").val()?a("#mashsb_settings\\[mashsharer_cache\\]").closest(".row").fadeIn(300).css("display","table-row"):a("#mashsb_settings\\[mashsharer_cache\\]").closest(".row").css("display","none"),a(".mashsb-tabs").length&&a("#mashsb_container").easytabs({animate:!0,updateHash:!0,defaultTab:g()}),a("#mashsb_container").bind("easytabs:after",function(){0==jQuery(".mashsb.nav-tab-wrapper a.nav-tab-active:nth-child(2)").length&&e()}),a(".mashtab").length&&a(".tabcontent_container").easytabs({animate:!0}),a("#mashsb_network_list").sortable({items:".mashsb_list_item",opacity:.6,cursor:"move",axis:"y",update:function(){var b=a(this).sortable("serialize")+"&action=mashsb_update_order";a.post(ajaxurl,b,function(){})}}),a(".mashsb-helper").click(function(b){b.preventDefault();var c=a(this),d=a(this).next();a(".mashsb-message").not(d).hide();var e=c.position();d.css(d.hasClass("bottom")?{left:e.left-d.width()/2+"px",top:e.top+c.height()+9+"px"}:{left:e.left+c.width()+9+"px",top:e.top+c.height()/2-18+"px"}),d.toggle(),b.stopPropagation()}),a("body").click(function(){a(".mashsb-message").hide()}),a(".mashsb-message").click(function(a){a.stopPropagation()})}),function(a,b,c){function d(a){return a=a||location.href,"#"+a.replace(/^[^#]*#?(.*)#x2F;,"$1")}var e,f="hashchange",g=document,h=a.event.special,i=g.documentMode,j="on"+f in b&&(i===c||i>7);a.fn[f]=function(a){return a?this.bind(f,a):this.trigger(f)},a.fn[f].delay=50,h[f]=a.extend(h[f],{setup:function(){return j?!1:void a(e.start)},teardown:function(){return j?!1:void a(e.stop)}}),e=function(){function e(){var c=d(),g=n(k);c!==k?(m(k=c,g),a(b).trigger(f)):g!==k&&(location.href=location.href.replace(/#.*/,"")+g),h=setTimeout(e,a.fn[f].delay)}var h,i={},k=d(),l=function(a){return a},m=l,n=l;return i.start=function(){h||e()},i.stop=function(){h&&clearTimeout(h),h=c},a.browser.msie&&!j&&function(){var b,c;i.start=function(){b||(c=a.fn[f].src,c=c&&c+d(),b=a('<iframe tabindex="-1" title="empty"/>').hide().one("load",function(){c||m(d()),e()}).attr("src",c||"javascript:0").insertAfter("body")[0].contentWindow,g.onpropertychange=function(){try{"title"===event.propertyName&&(b.document.title=g.title)}catch(a){}})},i.stop=l,n=function(){return d(b.location.href)},m=function(c,d){var e=b.document,h=a.fn[f].domain;c!==d&&(e.title=g.title,e.open(),h&&e.write('<script>document.domain="'+h+'"</script>'),e.close(),b.location.hash=c)}}(),i}()}(jQuery,this),function(a){a.easytabs=function(b,c){var d,e,f,g,h,i,j=this,k=a(b),l={animate:!0,panelActiveClass:"active",tabActiveClass:"active",defaultTab:"li:first-child",animationSpeed:"normal",tabs:"> ul > li",updateHash:!0,cycle:!1,collapsible:!1,collapsedClass:"collapsed",collapsedByDefault:!0,uiTabs:!1,transitionIn:"fadeIn",transitionOut:"fadeOut",transitionInEasing:"swing",transitionOutEasing:"swing",transitionCollapse:"slideUp",transitionUncollapse:"slideDown",transitionCollapseEasing:"swing",transitionUncollapseEasing:"swing",containerClass:"",tabsClass:"",tabClass:"",panelClass:"",cache:!0,event:"click",panelContext:k},m={fast:200,normal:400,slow:600};j.init=function(){j.settings=i=a.extend({},l,c),i.bind_str=i.event+".easytabs",i.uiTabs&&(i.tabActiveClass="ui-tabs-selected",i.containerClass="ui-tabs ui-widget ui-widget-content ui-corner-all",i.tabsClass="ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all",i.tabClass="ui-state-default ui-corner-top",i.panelClass="ui-tabs-panel ui-widget-content ui-corner-bottom"),i.collapsible&&void 0!==c.defaultTab&&void 0===c.collpasedByDefault&&(i.collapsedByDefault=!1),"string"==typeof i.animationSpeed&&(i.animationSpeed=m[i.animationSpeed]),a("a.anchor").remove().prependTo("body"),k.data("easytabs",{}),j.setTransitions(),j.getTabs(),o(),p(),r(),v(),w(),k.attr("data-easytabs",!0)},j.setTransitions=function(){f=i.animate?{show:i.transitionIn,hide:i.transitionOut,speed:i.animationSpeed,collapse:i.transitionCollapse,uncollapse:i.transitionUncollapse,halfSpeed:i.animationSpeed/2}:{show:"show",hide:"hide",speed:0,collapse:"hide",uncollapse:"show",halfSpeed:0}},j.getTabs=function(){var b;j.tabs=k.find(i.tabs),j.panels=a(),j.tabs.each(function(){var c=a(this),d=c.children("a"),e=c.children("a").data("target");c.data("easytabs",{}),void 0!==e&&null!==e?c.data("easytabs").ajax=d.attr("href"):e=d.attr("href"),e=e.match(/#([^\?]+)/)[1],b=i.panelContext.find("#"+e),b.length?(b.data("easytabs",{position:b.css("position"),visibility:b.css("visibility")}),b.not(i.panelActiveClass).hide(),j.panels=j.panels.add(b),c.data("easytabs").panel=b):(j.tabs=j.tabs.not(c),"console"in window&&console.warn("Warning: tab without matching panel for selector '#"+e+"' removed from set"))})},j.selectTab=function(a,b){var c=window.location,d=(c.hash.match(/^[^\?]*/)[0],a.parent().data("easytabs").panel),e=a.parent().data("easytabs").ajax;i.collapsible&&!h&&(a.hasClass(i.tabActiveClass)||a.hasClass(i.collapsedClass))?j.toggleTabCollapse(a,d,e,b):a.hasClass(i.tabActiveClass)&&d.hasClass(i.panelActiveClass)?i.cache||s(a,d,e,b):s(a,d,e,b)},j.toggleTabCollapse=function(a,b,c,d){j.panels.stop(!0,!0),n(k,"easytabs:before",[a,b,i])&&(j.tabs.filter("."+i.tabActiveClass).removeClass(i.tabActiveClass).children().removeClass(i.tabActiveClass),a.hasClass(i.collapsedClass)?(!c||i.cache&&a.parent().data("easytabs").cached||(k.trigger("easytabs:ajax:beforeSend",[a,b]),b.load(c,function(c,d,e){a.parent().data("easytabs").cached=!0,k.trigger("easytabs:ajax:complete",[a,b,c,d,e])})),a.parent().removeClass(i.collapsedClass).addClass(i.tabActiveClass).children().removeClass(i.collapsedClass).addClass(i.tabActiveClass),b.addClass(i.panelActiveClass)[f.uncollapse](f.speed,i.transitionUncollapseEasing,function(){k.trigger("easytabs:midTransition",[a,b,i]),"function"==typeof d&&d()})):(a.addClass(i.collapsedClass).parent().addClass(i.collapsedClass),b.removeClass(i.panelActiveClass)[f.collapse](f.speed,i.transitionCollapseEasing,function(){k.trigger("easytabs:midTransition",[a,b,i]),"function"==typeof d&&d()})))},j.matchTab=function(a){return j.tabs.find("[href='"+a+"'],[data-target='"+a+"']").first()},j.matchInPanel=function(a){return a&&j.validId(a)?j.panels.filter(":has("+a+")").first():[]},j.validId=function(a){return a.substr(1).match(/^[A-Za-z][A-Za-z0-9\-_:\.]*#x2F;)},j.selectTabFromHashChange=function(){var a,b=window.location.hash.match(/^[^\?]*/)[0],c=j.matchTab(b);i.updateHash&&(c.length?(h=!0,j.selectTab(c)):(a=j.matchInPanel(b),a.length?(b="#"+a.attr("id"),c=j.matchTab(b),h=!0,j.selectTab(c)):d.hasClass(i.tabActiveClass)||i.cycle||(""===b||j.matchTab(g).length||k.closest(b).length)&&(h=!0,j.selectTab(e))))},j.cycleTabs=function(b){i.cycle&&(b%=j.tabs.length,$tab=a(j.tabs[b]).children("a").first(),h=!0,j.selectTab($tab,function(){setTimeout(function(){j.cycleTabs(b+1)},i.cycle)}))},j.publicMethods={select:function(b){var c;0===(c=j.tabs.filter(b)).length?0===(c=j.tabs.find("a[href='"+b+"']")).length&&0===(c=j.tabs.find("a"+b)).length&&0===(c=j.tabs.find("[data-target='"+b+"']")).length&&0===(c=j.tabs.find("a[href$='"+b+"']")).length&&a.error("Tab '"+b+"' does not exist in tab set"):c=c.children("a").first(),j.selectTab(c)}};var n=function(b,c,d){var e=a.Event(c);return b.trigger(e,d),e.result!==!1},o=function(){k.addClass(i.containerClass),j.tabs.parent().addClass(i.tabsClass),j.tabs.addClass(i.tabClass),j.panels.addClass(i.panelClass)},p=function(){var b,c=window.location.hash.match(/^[^\?]*/)[0],f=j.matchTab(c).parent();1===f.length?(d=f,i.cycle=!1):(b=j.matchInPanel(c),b.length?(c="#"+b.attr("id"),d=j.matchTab(c).parent()):(d=j.tabs.parent().find(i.defaultTab),0===d.length&&a.error("The specified default tab ('"+i.defaultTab+"') could not be found in the tab set ('"+i.tabs+"') out of "+j.tabs.length+" tabs."))),e=d.children("a").first(),q(f)},q=function(b){var c,f;i.collapsible&&0===b.length&&i.collapsedByDefault?d.addClass(i.collapsedClass).children().addClass(i.collapsedClass):(c=a(d.data("easytabs").panel),f=d.data("easytabs").ajax,!f||i.cache&&d.data("easytabs").cached||(k.trigger("easytabs:ajax:beforeSend",[e,c]),c.load(f,function(a,b,f){d.data("easytabs").cached=!0,k.trigger("easytabs:ajax:complete",[e,c,a,b,f])})),d.data("easytabs").panel.show().addClass(i.panelActiveClass),d.addClass(i.tabActiveClass).children().addClass(i.tabActiveClass)),k.trigger("easytabs:initialised",[e,c])},r=function(){j.tabs.children("a").bind(i.bind_str,function(b){i.cycle=!1,h=!1,j.selectTab(a(this)),b.preventDefault?b.preventDefault():b.returnValue=!1})},s=function(a,b,c,d){if(j.panels.stop(!0,!0),n(k,"easytabs:before",[a,b,i])){var e,l,m,o,p=j.panels.filter(":visible"),q=b.parent(),r=window.location.hash.match(/^[^\?]*/)[0];i.animate&&(e=t(b),l=p.length?u(p):0,m=e-l),g=r,o=function(){k.trigger("easytabs:midTransition",[a,b,i]),i.animate&&"fadeIn"==i.transitionIn&&0>m&&q.animate({height:q.height()+m},f.halfSpeed).css({"min-height":""}),i.updateHash&&!h?window.history.pushState?window.history.pushState(null,null,"#"+b.attr("id")):window.location.hash="#"+b.attr("id"):h=!1,b[f.show](f.speed,i.transitionInEasing,function(){q.css({height:"","min-height":""}),k.trigger("easytabs:after",[a,b,i]),"function"==typeof d&&d()})},!c||i.cache&&a.parent().data("easytabs").cached||(k.trigger("easytabs:ajax:beforeSend",[a,b]),b.load(c,function(c,d,e){a.parent().data("easytabs").cached=!0,k.trigger("easytabs:ajax:complete",[a,b,c,d,e])})),i.animate&&"fadeOut"==i.transitionOut&&(m>0?q.animate({height:q.height()+m},f.halfSpeed):q.css({"min-height":q.height()})),j.tabs.filter("."+i.tabActiveClass).removeClass(i.tabActiveClass).children().removeClass(i.tabActiveClass),j.tabs.filter("."+i.collapsedClass).removeClass(i.collapsedClass).children().removeClass(i.collapsedClass),a.parent().addClass(i.tabActiveClass).children().addClass(i.tabActiveClass),j.panels.filter("."+i.panelActiveClass).removeClass(i.panelActiveClass),b.addClass(i.panelActiveClass),p.length?p[f.hide](f.speed,i.transitionOutEasing,o):b[f.uncollapse](f.speed,i.transitionUncollapseEasing,o)}},t=function(b){if(b.data("easytabs")&&b.data("easytabs").lastHeight)return b.data("easytabs").lastHeight;var c,d,e=b.css("display");try{c=a("<div></div>",{position:"absolute",visibility:"hidden",overflow:"hidden"})}catch(f){c=a("<div></div>",{visibility:"hidden",overflow:"hidden"})}return d=b.wrap(c).css({position:"relative",visibility:"hidden",display:"block"}).outerHeight(),b.unwrap(),b.css({position:b.data("easytabs").position,visibility:b.data("easytabs").visibility,display:e}),b.data("easytabs").lastHeight=d,d},u=function(a){var b=a.outerHeight();return a.data("easytabs")?a.data("easytabs").lastHeight=b:a.data("easytabs",{lastHeight:b}),b},v=function(){"function"==typeof a(window).hashchange?a(window).hashchange(function(){j.selectTabFromHashChange()}):a.address&&"function"==typeof a.address.change&&a.address.change(function(){j.selectTabFromHashChange()})},w=function(){var a;i.cycle&&(a=j.tabs.index(d),setTimeout(function(){j.cycleTabs(a+1)},i.cycle))};j.init()},a.fn.easytabs=function(b){var c=arguments;return this.each(function(){var d=a(this),e=d.data("easytabs");return void 0===e&&(e=new a.easytabs(this,b),d.data("easytabs",e)),e.publicMethods[b]?e.publicMethods[b](Array.prototype.slice.call(c,1)):void 0})}}(jQuery),function(a){var b=function(){var b='<div class="colpick"><div class="colpick_color"><div class="colpick_color_overlay1"><div class="colpick_color_overlay2"><div class="colpick_selector_outer"><div class="colpick_selector_inner"></div></div></div></div></div><div class="colpick_hue"><div class="colpick_hue_arrs"><div class="colpick_hue_larr"></div><div class="colpick_hue_rarr"></div></div></div><div class="colpick_new_color"></div><div class="colpick_current_color"></div><div class="colpick_hex_field"><div class="colpick_field_letter">#</div><input type="text" maxlength="6" size="6" /></div><div class="colpick_rgb_r colpick_field"><div class="colpick_field_letter">R</div><input type="text" maxlength="3" size="3" /><div class="colpick_field_arrs"><div class="colpick_field_uarr"></div><div class="colpick_field_darr"></div></div></div><div class="colpick_rgb_g colpick_field"><div class="colpick_field_letter">G</div><input type="text" maxlength="3" size="3" /><div class="colpick_field_arrs"><div class="colpick_field_uarr"></div><div class="colpick_field_darr"></div></div></div><div class="colpick_rgb_b colpick_field"><div class="colpick_field_letter">B</div><input type="text" maxlength="3" size="3" /><div class="colpick_field_arrs"><div class="colpick_field_uarr"></div><div class="colpick_field_darr"></div></div></div><div class="colpick_hsb_h colpick_field"><div class="colpick_field_letter">H</div><input type="text" maxlength="3" size="3" /><div class="colpick_field_arrs"><div class="colpick_field_uarr"></div><div class="colpick_field_darr"></div></div></div><div class="colpick_hsb_s colpick_field"><div class="colpick_field_letter">S</div><input type="text" maxlength="3" size="3" /><div class="colpick_field_arrs"><div class="colpick_field_uarr"></div><div class="colpick_field_darr"></div></div></div><div class="colpick_hsb_b colpick_field"><div class="colpick_field_letter">B</div><input type="text" maxlength="3" size="3" /><div class="colpick_field_arrs"><div class="colpick_field_uarr"></div><div class="colpick_field_darr"></div></div></div><div class="colpick_submit"></div></div>',c={showEvent:"click",onShow:function(){},onBeforeShow:function(){},onHide:function(){},onChange:function(){},onSubmit:function(){},colorScheme:"light",color:"3289c7",livePreview:!0,flat:!1,layout:"full",submit:1,submitText:"OK",height:156},g=function(b,c){var d=f(b);a(c).data("colpick").fields.eq(1).val(d.r).end().eq(2).val(d.g).end().eq(3).val(d.b).end()},i=function(b,c){a(c).data("colpick").fields.eq(4).val(Math.round(b.h)).end().eq(5).val(Math.round(b.s)).end().eq(6).val(Math.round(b.b)).end()},j=function(b,c){a(c).data("colpick").fields.eq(0).val(h(b))},k=function(b,c){a(c).data("colpick").selector.css("backgroundColor","#"+h({h:b.h,s:100,b:100})),a(c).data("colpick").selectorIndic.css({left:parseInt(a(c).data("colpick").height*b.s/100,10),top:parseInt(a(c).data("colpick").height*(100-b.b)/100,10)})},l=function(b,c){a(c).data("colpick").hue.css("top",parseInt(a(c).data("colpick").height-a(c).data("colpick").height*b.h/360,10))},m=function(b,c){a(c).data("colpick").currentColor.css("backgroundColor","#"+h(b))},n=function(b,c){a(c).data("colpick").newColor.css("backgroundColor","#"+h(b))},o=function(){var b,c=a(this).parent().parent();this.parentNode.className.indexOf("_hex")>0?(c.data("colpick").color=b=d(G(this.value)),g(b,c.get(0)),i(b,c.get(0))):this.parentNode.className.indexOf("_hsb")>0?(c.data("colpick").color=b=E({h:parseInt(c.data("colpick").fields.eq(4).val(),10),s:parseInt(c.data("colpick").fields.eq(5).val(),10),b:parseInt(c.data("colpick").fields.eq(6).val(),10)}),g(b,c.get(0)),j(b,c.get(0))):(c.data("colpick").color=b=e(F({r:parseInt(c.data("colpick").fields.eq(1).val(),10),g:parseInt(c.data("colpick").fields.eq(2).val(),10),b:parseInt(c.data("colpick").fields.eq(3).val(),10)})),j(b,c.get(0)),i(b,c.get(0))),k(b,c.get(0)),l(b,c.get(0)),n(b,c.get(0)),c.data("colpick").onChange.apply(c.parent(),[b,h(b),f(b),c.data("colpick").el,0])},p=function(){a(this).parent().removeClass("colpick_focus")},q=function(){a(this).parent().parent().data("colpick").fields.parent().removeClass("colpick_focus"),a(this).parent().addClass("colpick_focus")},r=function(b){b.preventDefault?b.preventDefault():b.returnValue=!1;var c=a(this).parent().find("input").focus(),d={el:a(this).parent().addClass("colpick_slider"),max:this.parentNode.className.indexOf("_hsb_h")>0?360:this.parentNode.className.indexOf("_hsb")>0?100:255,y:b.pageY,field:c,val:parseInt(c.val(),10),preview:a(this).parent().parent().data("colpick").livePreview};a(document).mouseup(d,t),a(document).mousemove(d,s)},s=function(a){return a.data.field.val(Math.max(0,Math.min(a.data.max,parseInt(a.data.val-a.pageY+a.data.y,10)))),a.data.preview&&o.apply(a.data.field.get(0),[!0]),!1},t=function(b){return o.apply(b.data.field.get(0),[!0]),b.data.el.removeClass("colpick_slider").find("input").focus(),a(document).off("mouseup",t),a(document).off("mousemove",s),!1},u=function(b){b.preventDefault?b.preventDefault():b.returnValue=!1;var c={cal:a(this).parent(),y:a(this).offset().top};a(document).on("mouseup touchend",c,w),a(document).on("mousemove touchmove",c,v);var d="touchstart"==b.type?b.originalEvent.changedTouches[0].pageY:b.pageY;return o.apply(c.cal.data("colpick").fields.eq(4).val(parseInt(360*(c.cal.data("colpick").height-(d-c.y))/c.cal.data("colpick").height,10)).get(0),[c.cal.data("colpick").livePreview]),!1},v=function(a){var b="touchmove"==a.type?a.originalEvent.changedTouches[0].pageY:a.pageY;return o.apply(a.data.cal.data("colpick").fields.eq(4).val(parseInt(360*(a.data.cal.data("colpick").height-Math.max(0,Math.min(a.data.cal.data("colpick").height,b-a.data.y)))/a.data.cal.data("colpick").height,10)).get(0),[a.data.preview]),!1},w=function(b){return g(b.data.cal.data("colpick").color,b.data.cal.get(0)),j(b.data.cal.data("colpick").color,b.data.cal.get(0)),a(document).off("mouseup touchend",w),a(document).off("mousemove touchmove",v),!1},x=function(b){b.preventDefault?b.preventDefault():b.returnValue=!1;var c={cal:a(this).parent(),pos:a(this).offset()};c.preview=c.cal.data("colpick").livePreview,a(document).on("mouseup touchend",c,z),a(document).on("mousemove touchmove",c,y);var d;return"touchstart"==b.type?(pageX=b.originalEvent.changedTouches[0].pageX,d=b.originalEvent.changedTouches[0].pageY):(pageX=b.pageX,d=b.pageY),o.apply(c.cal.data("colpick").fields.eq(6).val(parseInt(100*(c.cal.data("colpick").height-(d-c.pos.top))/c.cal.data("colpick").height,10)).end().eq(5).val(parseInt(100*(pageX-c.pos.left)/c.cal.data("colpick").height,10)).get(0),[c.preview]),!1},y=function(a){var b;return"touchmove"==a.type?(pageX=a.originalEvent.changedTouches[0].pageX,b=a.originalEvent.changedTouches[0].pageY):(pageX=a.pageX,b=a.pageY),o.apply(a.data.cal.data("colpick").fields.eq(6).val(parseInt(100*(a.data.cal.data("colpick").height-Math.max(0,Math.min(a.data.cal.data("colpick").height,b-a.data.pos.top)))/a.data.cal.data("colpick").height,10)).end().eq(5).val(parseInt(100*Math.max(0,Math.min(a.data.cal.data("colpick").height,pageX-a.data.pos.left))/a.data.cal.data("colpick").height,10)).get(0),[a.data.preview]),!1},z=function(b){return g(b.data.cal.data("colpick").color,b.data.cal.get(0)),j(b.data.cal.data("colpick").color,b.data.cal.get(0)),a(document).off("mouseup touchend",z),a(document).off("mousemove touchmove",y),!1},A=function(){var b=a(this).parent(),c=b.data("colpick").color;b.data("colpick").origColor=c,m(c,b.get(0)),b.data("colpick").onSubmit(c,h(c),f(c),b.data("colpick").el)},B=function(b){b.stopPropagation();var c=a("#"+a(this).data("colpickId"));c.data("colpick").onBeforeShow.apply(this,[c.get(0)]);var d=a(this).offset(),e=d.top+this.offsetHeight,f=d.left,g=D(),h=c.width();f+h>g.l+g.w&&(f-=h),c.css({left:f+"px",top:e+"px"}),0!=c.data("colpick").onShow.apply(this,[c.get(0)])&&c.show(),a("html").mousedown({cal:c},C),c.mousedown(function(a){a.stopPropagation()})},C=function(b){0!=b.data.cal.data("colpick").onHide.apply(this,[b.data.cal.get(0)])&&b.data.cal.hide(),a("html").off("mousedown",C)},D=function(){var a="CSS1Compat"==document.compatMode;return{l:window.pageXOffset||(a?document.documentElement.scrollLeft:document.body.scrollLeft),w:window.innerWidth||(a?document.documentElement.clientWidth:document.body.clientWidth)}},E=function(a){return{h:Math.min(360,Math.max(0,a.h)),s:Math.min(100,Math.max(0,a.s)),b:Math.min(100,Math.max(0,a.b))}},F=function(a){return{r:Math.min(255,Math.max(0,a.r)),g:Math.min(255,Math.max(0,a.g)),b:Math.min(255,Math.max(0,a.b))}},G=function(a){var b=6-a.length;if(b>0){for(var c=[],d=0;b>d;d++)c.push("0");c.push(a),a=c.join("")}return a},H=function(){var b=a(this).parent(),c=b.data("colpick").origColor;b.data("colpick").color=c,g(c,b.get(0)),j(c,b.get(0)),i(c,b.get(0)),k(c,b.get(0)),l(c,b.get(0)),n(c,b.get(0))};return{init:function(f){if(f=a.extend({},c,f||{}),"string"==typeof f.color)f.color=d(f.color);else if(void 0!=f.color.r&&void 0!=f.color.g&&void 0!=f.color.b)f.color=e(f.color);else{if(void 0==f.color.h||void 0==f.color.s||void 0==f.color.b)return this;f.color=E(f.color)}return this.each(function(){if(!a(this).data("colpickId")){var c=a.extend({},f);c.origColor=f.color;var d="collorpicker_"+parseInt(1e3*Math.random());a(this).data("colpickId",d);var e=a(b).attr("id",d);e.addClass("colpick_"+c.layout+(c.submit?"":" colpick_"+c.layout+"_ns")),"light"!=c.colorScheme&&e.addClass("colpick_"+c.colorScheme),e.find("div.colpick_submit").html(c.submitText).click(A),c.fields=e.find("input").change(o).blur(p).focus(q),e.find("div.colpick_field_arrs").mousedown(r).end().find("div.colpick_current_color").click(H),c.selector=e.find("div.colpick_color").on("mousedown touchstart",x),c.selectorIndic=c.selector.find("div.colpick_selector_outer"),c.el=this,c.hue=e.find("div.colpick_hue_arrs"),huebar=c.hue.parent();var h=navigator.userAgent.toLowerCase(),s="Microsoft Internet Explorer"===navigator.appName,t=s?parseFloat(h.match(/msie ([0-9]{1,}[\.0-9]{0,})/)[1]):0,v=s&&10>t,w=["#ff0000","#ff0080","#ff00ff","#8000ff","#0000ff","#0080ff","#00ffff","#00ff80","#00ff00","#80ff00","#ffff00","#ff8000","#ff0000"];if(v){var y,z;for(y=0;11>=y;y++)z=a("<div></div>").attr("style","height:8.333333%; filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr="+w[y]+", endColorstr="+w[y+1]+'); -ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='+w[y]+", endColorstr="+w[y+1]+')";'),huebar.append(z)}else stopList=w.join(","),huebar.attr("style","background:-webkit-linear-gradient(top,"+stopList+"); background: -o-linear-gradient(top,"+stopList+"); background: -ms-linear-gradient(top,"+stopList+"); background:-moz-linear-gradient(top,"+stopList+"); -webkit-linear-gradient(top,"+stopList+"); background:linear-gradient(to bottom,"+stopList+"); ");e.find("div.colpick_hue").on("mousedown touchstart",u),c.newColor=e.find("div.colpick_new_color"),c.currentColor=e.find("div.colpick_current_color"),e.data("colpick",c),g(c.color,e.get(0)),i(c.color,e.get(0)),j(c.color,e.get(0)),l(c.color,e.get(0)),k(c.color,e.get(0)),m(c.color,e.get(0)),n(c.color,e.get(0)),c.flat?(e.appendTo(this).show(),e.css({position:"relative",display:"block"})):(e.appendTo(document.body),a(this).on(c.showEvent,B),e.css({position:"absolute"}))}})},showPicker:function(){return this.each(function(){a(this).data("colpickId")&&B.apply(this)})},hidePicker:function(){return this.each(function(){a(this).data("colpickId")&&a("#"+a(this).data("colpickId")).hide()})},setColor:function(b,c){if(c="undefined"==typeof c?1:c,"string"==typeof b)b=d(b);else if(void 0!=b.r&&void 0!=b.g&&void 0!=b.b)b=e(b);else{if(void 0==b.h||void 0==b.s||void 0==b.b)return this;b=E(b)}return this.each(function(){if(a(this).data("colpickId")){var d=a("#"+a(this).data("colpickId"));d.data("colpick").color=b,d.data("colpick").origColor=b,g(b,d.get(0)),i(b,d.get(0)),j(b,d.get(0)),l(b,d.get(0)),k(b,d.get(0)),n(b,d.get(0)),d.data("colpick").onChange.apply(d.parent(),[b,h(b),f(b),d.data("colpick").el,1]),c&&m(b,d.get(0))}})}}}(),c=function(a){var a=parseInt(a.indexOf("#")>-1?a.substring(1):a,16);return{r:a>>16,g:(65280&a)>>8,b:255&a}},d=function(a){return e(c(a))},e=function(a){var b={h:0,s:0,b:0},c=Math.min(a.r,a.g,a.b),d=Math.max(a.r,a.g,a.b),e=d-c;return b.b=d,b.s=0!=d?255*e/d:0,b.h=0!=b.s?a.r==d?(a.g-a.b)/e:a.g==d?2+(a.b-a.r)/e:4+(a.r-a.g)/e:-1,b.h*=60,b.h<0&&(b.h+=360),b.s*=100/255,b.b*=100/255,b},f=function(a){var b={},c=a.h,d=255*a.s/100,e=255*a.b/100;if(0==d)b.r=b.g=b.b=e;else{var f=e,g=(255-d)*e/255,h=(f-g)*(c%60)/60;360==c&&(c=0),60>c?(b.r=f,b.b=g,b.g=g+h):120>c?(b.g=f,b.b=g,b.r=f-h):180>c?(b.g=f,b.r=g,b.b=g+h):240>c?(b.b=f,b.r=g,b.g=f-h):300>c?(b.b=f,b.g=g,b.r=g+h):360>c?(b.r=f,b.g=g,b.b=f-h):(b.r=0,b.g=0,b.b=0)}return{r:Math.round(b.r),g:Math.round(b.g),b:Math.round(b.b)}},g=function(b){var c=[b.r.toString(16),b.g.toString(16),b.b.toString(16)];return a.each(c,function(a,b){1==b.length&&(c[a]="0"+b)}),c.join("")},h=function(a){return g(f(a))};a.fn.extend({colpick:b.init,colpickHide:b.hidePicker,colpickShow:b.showPicker,colpickSetColor:b.setColor}),a.extend({colpick:{rgbToHex:g,rgbToHsb:e,hsbToHex:h,hsbToRgb:f,hexToHsb:d,hexToRgb:c}})}(jQuery),window.twttr=function(a,b,c){var d,e=a.getElementsByTagName(b)[0],f=window.twttr||{};return a.getElementById(c)?f:(d=a.createElement(b),d.id=c,d.src="https://platform.twitter.com/widgets.js",e.parentNode.insertBefore(d,e),f._e=[],f.ready=function(a){f._e.push(a)},f)}(document,"script","twitter-wjs");
includes/admin/admin-notices.php CHANGED
@@ -48,17 +48,18 @@ function mashsb_admin_messages() {
48
}
49
50
// Rate Limit warning
51
- if( mashsb_is_admin_page() && mashsb_rate_limit_exceeded() ) {
52
- echo '<div class="error">';
53
- echo '<p>' . sprintf(__('Your website exceeded the Facebook rate limit. Share count requests to Facebook and other networks will be delayed for 30min and the Share Count will not grow during this time. If you see this notice often consider to change <strong>MashShare Caching Method</strong> to <a href="%s">Refresh while Loading</a> and use a higher cache expiration. Also create an facebook access token and add it in <a href="%s">Settings->Facebook User Access Token</a> MashShare tries again to request shares in ' . mashsbGetRemainingRateLimitTime() , 'mashsb'), admin_url() . 'admin.php?page=mashsb-settings#mashsb_settingsgeneral_header', admin_url() . 'admin.php?page=mashsb-settings#mashsb_settingsservices_header') . '</p>';
54
- echo '</div>';
55
- }
56
// Access Token expired
57
- if( mashsb_is_invalid_fb_api_key() ) {
58
- echo '<div class="error">';
59
- echo '<p>' . sprintf(__('<strong>Error: </strong>'.mashsb_is_invalid_fb_api_key().' <br> Your <strong>Facebook Access Token</strong> has been expired or is invalid. Remove the invalid access token from <a href="%s">MashShare->Settings->Networks</a> or generate a new one. Your MashShare Facebook Shares will not be refreshed any longer. <a href="%s" target="_blank">Read here</a> how to renew the Facebook access token. Fix it and press the button: | <a href="%s" class="button">CHECK AGAIN</a>', 'mashsb'), admin_url() . 'admin.php?page=mashsb-settings#mashsb_settingsservices_header', 'http://docs.mashshare.net/article/132-how-to-create-a-facebook-access-token', admin_url() . 'admin.php?mashsb_action=check_access_token&page=mashsb-settings') . '</p>';
60
- echo '</div>';
61
- }
62
63
// Cache warning
64
if( mashsb_is_deactivated_cache() ) {
48
}
49
50
// Rate Limit warning
51
+ // if( mashsb_is_admin_page() && mashsb_rate_limit_exceeded() ) {
52
+ // echo '<div class="error">';
53
+ // //echo '<p>' . sprintf(__('Your website exceeded the Facebook rate limit. Share count requests to Facebook and other networks will be delayed for 30min and the Share Count will not grow during this time. If you see this notice often consider to change <strong>MashShare Caching Method</strong> to <a href="%s">Refresh while Loading</a> and use a higher cache expiration. Also create an facebook access token and add it in <a href="%s">Settings->Facebook User Access Token</a> MashShare tries again to request shares in ' . mashsbGetRemainingRateLimitTime() , 'mashsb'), admin_url() . 'admin.php?page=mashsb-settings#mashsb_settingsgeneral_header', admin_url() . 'admin.php?page=mashsb-settings#mashsb_settingsservices_header') . '</p>';
54
+ // echo '<p>' . sprintf(__('Your website exceeded the Facebook rate limit. Share count requests to Facebook and other networks will be delayed for 30min and the Share Count will not grow during this time. If you see this notice often consider to change <strong>MashShare Caching Method</strong> to <a href="%s">Refresh while Loading</a> and use a higher cache expiration. MashShare tries again to get shares in ' . mashsbGetRemainingRateLimitTime() , 'mashsb'), admin_url() . 'admin.php?page=mashsb-settings#mashsb_settingsgeneral_header', admin_url() . 'admin.php?page=mashsb-settings#mashsb_settingsservices_header') . '</p>';
55
+ // echo '</div>';
56
+ // }
57
// Access Token expired
58
+ // if( mashsb_is_invalid_fb_api_key() ) {
59
+ // echo '<div class="error">';
60
+ // echo '<p>' . sprintf(__('<strong>Error: </strong>'.mashsb_is_invalid_fb_api_key().' <br> Your <strong>Facebook Access Token</strong> has been expired or is invalid. Remove the invalid access token from <a href="%s">MashShare->Settings->Networks</a> or generate a new one. Your MashShare Facebook Shares will not be refreshed any longer. <a href="%s" target="_blank">Read here</a> how to renew the Facebook access token. Fix it and press the button: | <a href="%s" class="button">CHECK AGAIN</a>', 'mashsb'), admin_url() . 'admin.php?page=mashsb-settings#mashsb_settingsservices_header', 'http://docs.mashshare.net/article/132-how-to-create-a-facebook-access-token', admin_url() . 'admin.php?mashsb_action=check_access_token&page=mashsb-settings') . '</p>';
61
+ // echo '</div>';
62
+ // }
63
64
// Cache warning
65
if( mashsb_is_deactivated_cache() ) {
includes/admin/settings/register-settings.php CHANGED
@@ -261,13 +261,13 @@ function mashsb_get_registered_settings() {
261
'desc' => '',
262
'type' => 'header'
263
),
264
- array(
265
- 'id' => 'fb_access_token_new',
266
- 'name' => __( 'Facebook User Access Token', 'mashsb' ),
267
- 'desc' => sprintf( __( 'Try this to be able to make up to 200 calls per hour to facebook api. <a href="%s" target="_blank">Read here</a> how to get the access token. If your access token is not working just leave this field empty. Shares are counted, though.', 'mashsb' ), 'http://docs.mashshare.net/article/132-how-to-create-a-facebook-access-token' ),
268
- 'type' => 'fboauth',
269
- 'size' => 'large'
270
- ),
271
array(
272
'id' => 'fb_publisher_url',
273
'name' => __( 'Facebook page url', 'mashsb' ),
@@ -1965,6 +1965,10 @@ function mashsb_ratelimit_callback() {
1965
print '<div style="max-width:200px;">' . $buffer . '</div>';
1966
}
1967
1968
// Test facebook api with access token
1969
$url = 'https://graph.facebook.com/v2.7/?id=http://www.google.com&access_token=' . $mashsb_options['fb_access_token_new'];
1970
$curl_handle = curl_init();
261
'desc' => '',
262
'type' => 'header'
263
),
264
+ // array(
265
+ // 'id' => 'fb_access_token_new',
266
+ // 'name' => __( 'Facebook User Access Token', 'mashsb' ),
267
+ // 'desc' => sprintf( __( 'Optional: Use this to make up to 200 calls per hour to facebook api. <a href="%s" target="_blank">Read here</a> how to get the access token. If your access token is not working just leave this field empty. Shares are still counted.', 'mashsb' ), 'http://docs.mashshare.net/article/132-how-to-create-a-facebook-access-token' ),
268
+ // 'type' => 'fboauth',
269
+ // 'size' => 'large'
270
+ // ),
271
array(
272
'id' => 'fb_publisher_url',
273
'name' => __( 'Facebook page url', 'mashsb' ),
1965
print '<div style="max-width:200px;">' . $buffer . '</div>';
1966
}
1967
1968
+ if(empty($mashsb_options['fb_access_token_new'])){
1969
+ return;
1970
+ }
1971
+
1972
// Test facebook api with access token
1973
$url = 'https://graph.facebook.com/v2.7/?id=http://www.google.com&access_token=' . $mashsb_options['fb_access_token_new'];
1974
$curl_handle = curl_init();
includes/admin/welcome.php CHANGED
@@ -111,20 +111,21 @@ class MASHSB_Welcome {
111
.mashsb-about-wrap .mashsb-badge { float: right; border-radius: 4px; margin: 0 0 15px 15px; max-width: 100px; }
112
.mashsb-about-wrap #mashsb-header { margin-bottom: 15px; }
113
.mashsb-about-wrap #mashsb-header h1 { margin-bottom: 15px !important; }
114
- .mashsb-about-wrap .about-text { margin: 0 0 15px; max-width: 670px; }
115
- .mashsb-about-wrap .feature-section { margin-top: 20px; }
116
- .mashsb-about-wrap .feature-section-content,
117
- .mashsb-about-wrap .feature-section-media { width: 50%; box-sizing: border-box; }
118
- .mashsb-about-wrap .feature-section-content { float: left; padding-right: 50px; }
119
- .mashsb-about-wrap .feature-section-content h4 { margin: 0 0 1em; }
120
- .mashsb-about-wrap .feature-section-media { float: right; text-align: right; margin-bottom: 20px; }
121
- .mashsb-about-wrap .feature-section-media img { border: 1px solid #ddd; }
122
- .mashsb-about-wrap .feature-section:not(.under-the-hood) .col { margin-top: 0; }
123
/* responsive */
124
@media all and ( max-width: 782px ) {
125
- .mashsb-about-wrap .feature-section-content,
126
- .mashsb-about-wrap .feature-section-media { float: none; padding-right: 0; width: 100%; text-align: left; }
127
- .mashsb-about-wrap .feature-section-media img { float: none; margin: 0 0 20px; }
128
}
129
/*]]>*/
130
</style>
@@ -149,15 +150,15 @@ class MASHSB_Welcome {
149
$this->tabs();
150
?>
151
<?php if (isset($_GET['redirect'])) {?>
152
- <p class="about-description mashsb-notice notice-success"><?php _e( 'Facebook and Twitter Share Buttons are successfully enabled on all your posts! <br> Now you can use the steps below to customize MashShare to your needs.', 'mashsb' ); ?></p>
153
<?php } ?>
154
- <div class="changelog">
155
<h1><?php _e( 'Create Your First Social Sharing Button', 'mashsb' ); ?></h1>
156
- <div class="feature-section">
157
- <div class="feature-section-media">
158
<img style="display:none;" src="<?php echo MASHSB_PLUGIN_URL . 'assets/images/screenshots/social-networks-settings.png'; ?>" class="mashsb-welcome-screenshots"/>
159
</div>
160
- <div class="feature-section-content">
161
<h4>Step 1: Go to <a href="<?php echo admin_url( 'admin.php?page=mashsb-settings#mashsb_settingsservices_header' ) ?>" target="blank"><?php _e( 'Settings &rarr; Networks', 'mashsb' ); ?></a></h4>
162
<p><?php _e( 'The Social Network menu is your general access point for activating the desired share buttons and for customizing the share button label', 'mashsb' ); ?></p>
163
<h4>Step 2: Go to <a href="<?php echo admin_url( 'admin.php?page=mashsb-settings#mashsb_settingslocation_header' ) ?>" target="blank"><?php _e( 'Settings &rarr; Position', 'mashsb' ); ?></a></h4>
@@ -169,10 +170,10 @@ class MASHSB_Welcome {
169
</div>
170
</div>
171
172
- <div class="changelog">
173
<h1><?php _e( 'Create Most Shared Posts Widget', 'mashsb' ); ?></h1>
174
- <div class="feature-section">
175
- <div class="feature-section-content">
176
<h4>Go to <a href="<?php echo admin_url( 'widgets.php' ) ?>" target="blank"><?php _e( 'Appearance &rarr; Widgets', 'mashsb' ); ?></a></h4>
177
178
<p><?php _e( 'Drag and drop the widget labeled "<i>MashShare - Most Shared Posts</i>" into the desired widget location and save it.', 'mashsb' ); ?></p>
@@ -182,13 +183,13 @@ class MASHSB_Welcome {
182
</div>
183
</div>
184
185
- <div class="changelog">
186
<h1><?php _e( 'Content Shortcodes', 'mashsb' ); ?></h1>
187
- <div class="feature-section">
188
- <div class="feature-section-media">
189
<img style="display:none;" src="<?php echo MASHSB_PLUGIN_URL . 'assets/images/screenshots/shortcodes.png'; ?>"/>
190
</div>
191
- <div class="feature-section-content">
192
<p>
193
<?php _e( 'Add Share buttons manually with using shortcode <i style="font-weight:bold;">[mashshare]</i>.', 'mashsb' ); ?>
194
</p>
@@ -199,25 +200,25 @@ class MASHSB_Welcome {
199
</div>
200
</div>
201
</div>
202
- <div class="changelog">
203
<h1><?php _e( 'PHP Template Shortcode', 'mashsb' ); ?></h1>
204
- <div class="feature-section">
205
- <div class="feature-section-media">
206
</div>
207
- <div class="feature-section-content">
208
<p>
209
- <?php _e( 'Add MashShare directly into your theme template files with using the PHP code <i style="font-weight:bold;">&lt;?php do_shortcode(\'[mashshare]\'); ?&gt;</i>', 'mashsb' ); ?>
210
</p>
211
</div>
212
</div>
213
</div>
214
215
- <div class="changelog">
216
<h1><?php _e( 'Need Help?', 'mashsb' ); ?></h1>
217
- <div class="feature-section two-col">
218
<div>
219
<h4><?php _e( 'Great Support', 'mashsb' ); ?></h4>
220
- <p><?php _e( 'We do our best to provide the best support we can. If you encounter a problem or have a question, simply open a ticket using our <a href="https://www.mashshare.net/contact-developer/" target="blank">support form</a>.', 'mashsb' ); ?></p>
221
<ul id="mash-social-admin-head">
222
<?php echo mashsb_share_buttons(); ?>
223
</ul>
@@ -242,9 +243,9 @@ class MASHSB_Welcome {
242
<div id="mashsb-header">
243
<!--<img class="mashsb-badge" src="<?php //echo . 'assets/images/mashsb-logo.svg'; ?>" alt="<?php //_e( 'MashShare', 'mashsb' ); ?>" / >//-->
244
<h1><?php printf( __( 'Welcome to MashShare %s', 'mashsb' ), $display_version ); ?></h1>
245
- <p class="about-text">
246
- <?php _e( 'Thank you for updating to the latest version! MashShare is installed and ready to grow your traffic from social networks!', 'mashsb' ); ?>
247
- </p>
248
</div>
249
<?php
250
}
@@ -258,15 +259,15 @@ class MASHSB_Welcome {
258
*/
259
public function about_screen() {
260
?>
261
- <div class="wrap about-wrap mashsb-about-wrap">
262
<?php
263
// load welcome message and content tabs
264
$this->welcome_message();
265
$this->tabs();
266
?>
267
<div class="changelog">
268
- <div class="feature-section">
269
- <div class="feature-section-content">
270
<!--
271
<h1><?php //_e( 'Use Facebook Connect to Skyrocket Share Count', 'mashsb' ); ?></h1>
272
<p><?php //_e( 'MashShare is the first Social Media plugin that uses the brandnew Facebook Connect Integration to bypass the regular facebook API limit which has been introduced recently. <p>It allows you up to 200 API calls per hour to the facebook server. This is more than enough for even huge traffic sites as MashShare is caching all share counts internally. <p>We are convinced that other social media plugins are going to copy our solution soon... and we will be proud of it;) <p> Your site becomes immediately better than the rest because you are the one whose website is running with full social sharing power. Other sites share count still stucks and are delayed and they do not know it;)', 'mashsb' ); ?></p>
@@ -309,7 +310,7 @@ class MASHSB_Welcome {
309
310
<div class="changelog">
311
<h1><?php _e( 'Additional Updates', 'mashsb' ); ?></h1>
312
- <div class="feature-section three-col">
313
<div class="col">
314
<h4><?php _e( 'Developer Friendly', 'mashsb' ); ?></h4>
315
<p><?php echo sprintf(__( 'Are you a theme developer and want to use MashShare as your build in share count aggregator? Read the <a href="%s" target="blank">developer instructions.</a>', 'mashsb' ), 'https://www.mashshare.net/documentation/developer-instruction-for-commercial-theme-integration/'); ?></p>
@@ -371,13 +372,13 @@ class MASHSB_Welcome {
371
*/
372
public function credits_screen() {
373
?>
374
- <div class="wrap about-wrap mashsb-about-wrap">
375
<?php
376
// load welcome message and content tabs
377
$this->welcome_message();
378
$this->tabs();
379
?>
380
- <p class="about-description"><?php _e( 'Mashshare is created by a René Hermenau and developers all over the world who aim to provide the #1 ecosystem for growing social media traffic through WordPress.', 'mashsb' ); ?></p>
381
382
<?php echo $this->contributors(); ?>
383
<p class="small"><?php echo sprintf(__(' If you want to be credited here participate on the development and make your pull request on <a href="%s" target="_blank">github</a>',' mashsb'), 'https://github.com/mashshare/Mashshare')?></p>
@@ -405,7 +406,7 @@ class MASHSB_Welcome {
405
406
foreach ( $contributors as $contributor ) {
407
$contributor_list .= '<li class="wp-person">';
408
- $contributor_list .= sprintf( '<a href="%s" title="%s">', esc_url( 'https://github.com/' . $contributor->login ), esc_html( sprintf( __( 'View %s', 'mashsb' ), $contributor->login ) )
409
);
410
$contributor_list .= sprintf( '<img src="%s" width="64" height="64" class="gravatar" alt="%s" />', esc_url( $contributor->avatar_url ), esc_html( $contributor->login ) );
411
$contributor_list .= '</a>';
@@ -486,7 +487,7 @@ class MASHSB_Welcome {
486
*/
487
public function changelog_screen() {
488
?>
489
- <div class="wrap about-wrap mashsb-about-wrap">
490
<?php
491
// load welcome message and content tabs
492
$this->welcome_message();
@@ -495,7 +496,7 @@ class MASHSB_Welcome {
495
<div class="changelog">
496
<h4><?php _e( 'Full Changelog', 'mashsb' ); ?></h4>
497
498
- <div class="feature-section">
499
<?php echo $this->parse_readme(); ?>
500
</div>
501
</div>
111
.mashsb-about-wrap .mashsb-badge { float: right; border-radius: 4px; margin: 0 0 15px 15px; max-width: 100px; }
112
.mashsb-about-wrap #mashsb-header { margin-bottom: 15px; }
113
.mashsb-about-wrap #mashsb-header h1 { margin-bottom: 15px !important; }
114
+ //.mashsb-about-wrap .about-text { margin: 0 0 15px; max-width: 670px; }
115
+ .mashsb-about-wrap .about-text { margin: 0 0 15px; }
116
+ .mashsb-about-wrap .mash-feature-section { margin-top: 20px; }
117
+ .mashsb-about-wrap .mash-feature-section-content,
118
+ .mashsb-about-wrap .mash-feature-section-media { width: 50%; box-sizing: border-box; }
119
+ .mashsb-about-wrap .mash-feature-section-content { float: left; padding-right: 50px; }
120
+ .mashsb-about-wrap .mash-feature-section-content h4 { margin: 0 0 1em; }
121
+ .mashsb-about-wrap .mash-feature-section-media { float: right; text-align: right; margin-bottom: 20px; }
122
+ .mashsb-about-wrap .mash-feature-section-media img { border: 1px solid #ddd; }
123
+ .mashsb-about-wrap .mash-feature-section:not(.under-the-hood) .col { margin-top: 0; }
124
/* responsive */
125
@media all and ( max-width: 782px ) {
126
+ .mashsb-about-wrap .mash-feature-section-content,
127
+ .mashsb-about-wrap .mash-feature-section-media { float: none; padding-right: 0; width: 100%; text-align: left; }
128
+ .mashsb-about-wrap .mash-feature-section-media img { float: none; margin: 0 0 20px; }
129
}
130
/*]]>*/
131
</style>
150
$this->tabs();
151
?>
152
<?php if (isset($_GET['redirect'])) {?>
153
+ <p class="about-description mashsb-notice" style="background-color:#00abed;color:white;padding:20px;margin-top:20px;"><?php _e( 'Facebook and Twitter Share Buttons successfully enabled on all your posts! <br> You can use the steps below to customize MashShare:', 'mashsb' ); ?></p>
154
<?php } ?>
155
+ <div class="changelog clear">
156
<h1><?php _e( 'Create Your First Social Sharing Button', 'mashsb' ); ?></h1>
157
+ <div class="mash-feature-section">
158
+ <div class="mash-feature-section-media">
159
<img style="display:none;" src="<?php echo MASHSB_PLUGIN_URL . 'assets/images/screenshots/social-networks-settings.png'; ?>" class="mashsb-welcome-screenshots"/>
160
</div>
161
+ <div class="mash-feature-section-content">
162
<h4>Step 1: Go to <a href="<?php echo admin_url( 'admin.php?page=mashsb-settings#mashsb_settingsservices_header' ) ?>" target="blank"><?php _e( 'Settings &rarr; Networks', 'mashsb' ); ?></a></h4>
163
<p><?php _e( 'The Social Network menu is your general access point for activating the desired share buttons and for customizing the share button label', 'mashsb' ); ?></p>
164
<h4>Step 2: Go to <a href="<?php echo admin_url( 'admin.php?page=mashsb-settings#mashsb_settingslocation_header' ) ?>" target="blank"><?php _e( 'Settings &rarr; Position', 'mashsb' ); ?></a></h4>
170
</div>
171
</div>
172
173
+ <div class="changelog clear">
174
<h1><?php _e( 'Create Most Shared Posts Widget', 'mashsb' ); ?></h1>
175
+ <div class="mash-feature-section">
176
+ <div class="mash-feature-section-content">
177
<h4>Go to <a href="<?php echo admin_url( 'widgets.php' ) ?>" target="blank"><?php _e( 'Appearance &rarr; Widgets', 'mashsb' ); ?></a></h4>
178
179
<p><?php _e( 'Drag and drop the widget labeled "<i>MashShare - Most Shared Posts</i>" into the desired widget location and save it.', 'mashsb' ); ?></p>
183
</div>
184
</div>
185
186
+ <div class="changelog clear">
187
<h1><?php _e( 'Content Shortcodes', 'mashsb' ); ?></h1>
188
+ <div class="mash-feature-section">
189
+ <div class="mash-feature-section-media">
190
<img style="display:none;" src="<?php echo MASHSB_PLUGIN_URL . 'assets/images/screenshots/shortcodes.png'; ?>"/>
191
</div>
192
+ <div class="mash-feature-section-content">
193
<p>
194
<?php _e( 'Add Share buttons manually with using shortcode <i style="font-weight:bold;">[mashshare]</i>.', 'mashsb' ); ?>
195
</p>
200
</div>
201
</div>
202
</div>
203
+ <div class="changelog clear">
204
<h1><?php _e( 'PHP Template Shortcode', 'mashsb' ); ?></h1>
205
+ <div class="mash-feature-section">
206
+ <div class="mash-feature-section-media">
207
</div>
208
+ <div class="mash-feature-section-content">
209
<p>
210
+ <?php _e( 'Add MashShare directly into your theme template files with using the PHP code<br> <pre><i style="font-weight:bold;">&lt;?php do_shortcode(\'[mashshare]\'); ?&gt;</i></pre>', 'mashsb' ); ?>
211
</p>
212
</div>
213
</div>
214
</div>
215
216
+ <div class="changelog clear">
217
<h1><?php _e( 'Need Help?', 'mashsb' ); ?></h1>
218
+ <div class="mash-feature-section two-col">
219
<div>
220
<h4><?php _e( 'Great Support', 'mashsb' ); ?></h4>
221
+ <p><?php _e( 'We do our best to provide the best support we can. If you encounter a problem or have a question, simply <a href="https://www.mashshare.net/contact-developer/" target="blank">open a ticket</a>.', 'mashsb' ); ?></p>
222
<ul id="mash-social-admin-head">
223
<?php echo mashsb_share_buttons(); ?>
224
</ul>
243
<div id="mashsb-header">
244
<!--<img class="mashsb-badge" src="<?php //echo . 'assets/images/mashsb-logo.svg'; ?>" alt="<?php //_e( 'MashShare', 'mashsb' ); ?>" / >//-->
245
<h1><?php printf( __( 'Welcome to MashShare %s', 'mashsb' ), $display_version ); ?></h1>
246
+ <h1 class="about-text">
247
+ <?php _e( 'Congrats for installing MashShare<br>MashShare is activated and ready to grow your social media traffic!', 'mashsb' ); ?>
248
+ </h1>
249
</div>
250
<?php
251
}
259
*/
260
public function about_screen() {
261
?>
262
+ <div class="wrap mashsb-about-wrap">
263
<?php
264
// load welcome message and content tabs
265
$this->welcome_message();
266
$this->tabs();
267
?>
268
<div class="changelog">
269
+ <div class="mash-feature-section">
270
+ <div class="mash-feature-section-content">
271
<!--
272
<h1><?php //_e( 'Use Facebook Connect to Skyrocket Share Count', 'mashsb' ); ?></h1>
273
<p><?php //_e( 'MashShare is the first Social Media plugin that uses the brandnew Facebook Connect Integration to bypass the regular facebook API limit which has been introduced recently. <p>It allows you up to 200 API calls per hour to the facebook server. This is more than enough for even huge traffic sites as MashShare is caching all share counts internally. <p>We are convinced that other social media plugins are going to copy our solution soon... and we will be proud of it;) <p> Your site becomes immediately better than the rest because you are the one whose website is running with full social sharing power. Other sites share count still stucks and are delayed and they do not know it;)', 'mashsb' ); ?></p>
310
311
<div class="changelog">
312
<h1><?php _e( 'Additional Updates', 'mashsb' ); ?></h1>
313
+ <div class="mash-feature-section three-col">
314
<div class="col">
315
<h4><?php _e( 'Developer Friendly', 'mashsb' ); ?></h4>
316
<p><?php echo sprintf(__( 'Are you a theme developer and want to use MashShare as your build in share count aggregator? Read the <a href="%s" target="blank">developer instructions.</a>', 'mashsb' ), 'https://www.mashshare.net/documentation/developer-instruction-for-commercial-theme-integration/'); ?></p>
372
*/
373
public function credits_screen() {
374
?>
375
+ <div class="wrap mashsb-about-wrap">
376
<?php
377
// load welcome message and content tabs
378
$this->welcome_message();
379
$this->tabs();
380
?>
381
+ <h1 class="about-description"><?php _e( 'Mashshare is created by developers all over the world who aim to provide the #1 ecosystem for growing social media traffic through WordPress.', 'mashsb' ); ?></h1>
382
383
<?php echo $this->contributors(); ?>
384
<p class="small"><?php echo sprintf(__(' If you want to be credited here participate on the development and make your pull request on <a href="%s" target="_blank">github</a>',' mashsb'), 'https://github.com/mashshare/Mashshare')?></p>
406
407
foreach ( $contributors as $contributor ) {
408
$contributor_list .= '<li class="wp-person">';
409
+ $contributor_list .= sprintf( '<a href="%s" style="margin-right:8px;" title="%s">', esc_url( 'https://github.com/' . $contributor->login ), esc_html( sprintf( __( 'View %s', 'mashsb' ), $contributor->login ) )
410
);
411
$contributor_list .= sprintf( '<img src="%s" width="64" height="64" class="gravatar" alt="%s" />', esc_url( $contributor->avatar_url ), esc_html( $contributor->login ) );
412
$contributor_list .= '</a>';
487
*/
488
public function changelog_screen() {
489
?>
490
+ <div class="wrap mashsb-about-wrap">
491
<?php
492
// load welcome message and content tabs
493
$this->welcome_message();
496
<div class="changelog">
497
<h4><?php _e( 'Full Changelog', 'mashsb' ); ?></h4>
498
499
+ <div class="mash-feature-section">
500
<?php echo $this->parse_readme(); ?>
501
</div>
502
</div>
includes/helper.php CHANGED
@@ -48,9 +48,9 @@ function mashsb_replace_http($string){
48
49
function mashsb_share_buttons(){
50
$content = '<li><a class="mashicon-facebook" target="_blank" href="https://www.facebook.com/sharer.php?u=https%3A%2F%2Fwww.mashshare.net%2F&display=popup&ref=plugin&src=like&app_id=449277011881884"><span class="icon"></span><span class="text">Share it</span></a></li>'.
51
- '<li><a class="mashicon-twitter" target="_blank" href="https://twitter.com/intent/tweet?hashtags=mashshare%2C&original_referer=http%3A%2F%2Fsrc.wordpress-develop.dev%2Fwp-admin%2Fadmin.php%3Fpage%3Dmashsb-settings%26tab%3Dgeneral&ref_src=twsrc%5Etfw&related=mashshare&text=I%20use%20MashShare%20- incredible%20great%20socialm%20media%20tool%20on%20my%20site%20'. mashsb_replace_http(get_bloginfo('wpurl')).'&tw_p=tweetbutton&url=https%3A%2F%2Fwww.mashshare.net%2F"><span class="icon"></span><span class="text">Tweet #mashshare</span></a></li>' .
52
- '<li><a class="mashicon-twitter" target="_blank" href="https://twitter.com/intent/follow?original_referer=http%3A%2F%2Fsrc.wordpress-develop.dev%2Fwp-admin%2Fadmin.php%3Fpage%3Dmashsb-settings%26tab%3Dgeneral&ref_src=twsrc%5Etfw&region=follow_link&screen_name=mashshare&tw_p=followbutton"><span class="icon"></span><span class="text">Follow @mashshare</span></a></li>'.
53
- '<li><a class="mashicon-twitter" target="_blank" href="https://twitter.com/intent/follow?original_referer=http%3A%2F%2Fsrc.wordpress-develop.dev%2Fwp-admin%2Fadmin.php%3Fpage%3Dmashsb-settings%26tab%3Dgeneral&ref_src=twsrc%5Etfw&region=follow_link&screen_name=renehermenau&tw_p=followbutton"><span class="icon"></span><span class="text">Follow @renehermenau</span></a></li>';
54
return $content;
55
}
56
48
49
function mashsb_share_buttons(){
50
$content = '<li><a class="mashicon-facebook" target="_blank" href="https://www.facebook.com/sharer.php?u=https%3A%2F%2Fwww.mashshare.net%2F&display=popup&ref=plugin&src=like&app_id=449277011881884"><span class="icon"></span><span class="text">Share it</span></a></li>'.
51
+ '<li><a class="mashicon-twitter" target="_blank" href="https://twitter.com/intent/tweet?hashtags=mashshare%2C&original_referer=http%3A%2F%2Fsrc.wordpress-develop.dev%2Fwp-admin%2Fadmin.php%3Fpage%3Dmashsb-settings%26tab%3Dgeneral&ref_src=twsrc%5Etfw&related=mashshare&text=I%20use%20MashShare%20- incredible%20great%20social%20media%20tool%20on%20my%20site%20'. mashsb_replace_http(get_bloginfo('wpurl')).'&tw_p=tweetbutton&url=https%3A%2F%2Fwww.mashshare.net%2F"><span class="icon"></span><span class="text">Tweet #mashshare</span></a></li>' .
52
+ '<li><a class="mashicon-twitter" target="_blank" href="https://twitter.com/intent/follow?original_referer=http%3A%2F%2Fsrc.wordpress-develop.dev%2Fwp-admin%2Fadmin.php%3Fpage%3Dmashsb-settings%26tab%3Dgeneral&ref_src=twsrc%5Etfw&region=follow_link&screen_name=mashshare&tw_p=followbutton"><span class="icon"></span><span class="text">Follow @mashshare</span></a></li>';
53
+ //'<li><a class="mashicon-twitter" target="_blank" href="https://twitter.com/intent/follow?original_referer=http%3A%2F%2Fsrc.wordpress-develop.dev%2Fwp-admin%2Fadmin.php%3Fpage%3Dmashsb-settings%26tab%3Dgeneral&ref_src=twsrc%5Etfw&region=follow_link&screen_name=renehermenau&tw_p=followbutton"><span class="icon"></span><span class="text">Follow @renehermenau</span></a></li>';
54
return $content;
55
}
56
includes/mashengine.php CHANGED
@@ -65,55 +65,56 @@ class mashengine {
65
66
switch ( $fb_mode ) {
67
case $fb_mode === 'likes':
68
- if( empty( $mashsb_options['fb_access_token_new'] ) ) {
69
if( isset( $mashsb_options['cumulate_http_https'] ) ) {
70
$RollingCurlX->addRequest( "http://graph.facebook.com/?id=" . $this->http_scheme_url, $post_data, array($this, 'getCount'), array('facebook_likes'), $headers );
71
$RollingCurlX->addRequest( "http://graph.facebook.com/?id=" . $this->https_scheme_url, $post_data, array($this, 'getCount'), array('facebook_likes'), $headers );
72
} else {
73
$RollingCurlX->addRequest( "http://graph.facebook.com/?id=" . $this->url, $post_data, array($this, 'getCount'), array('facebook_likes'), $headers );
74
}
75
- } else {
76
- if( isset( $mashsb_options['cumulate_http_https'] ) ) {
77
- $RollingCurlX->addRequest( "https://graph.facebook.com/v2.7/?id=" . $this->http_scheme_url . '&access_token=' . sanitize_text_field( $mashsb_options['fb_access_token_new'] ), $post_data, array($this, 'getCount'), array('facebook_likes'), $headers );
78
- $RollingCurlX->addRequest( "https://graph.facebook.com/v2.7/?id=" . $this->https_scheme_url . '&access_token=' . sanitize_text_field( $mashsb_options['fb_access_token_new'] ), $post_data, array($this, 'getCount'), array('facebook_likes'), $headers );
79
- } else {
80
- $RollingCurlX->addRequest( "https://graph.facebook.com/v2.7/?id=" . $this->url . '&access_token=' . sanitize_text_field( $mashsb_options['fb_access_token_new'] ), $post_data, array($this, 'getCount'), array('facebook_likes'), $headers );
81
- }
82
- }
83
break;
84
case $fb_mode === 'total':
85
- if( empty( $mashsb_options['fb_access_token_new'] ) ) {
86
if( isset( $mashsb_options['cumulate_http_https'] ) ) {
87
$RollingCurlX->addRequest( "http://graph.facebook.com/?id=" . $this->http_scheme_url, $post_data, array($this, 'getCount'), array('facebook_total'), $headers );
88
$RollingCurlX->addRequest( "http://graph.facebook.com/?id=" . $this->https_scheme_url, $post_data, array($this, 'getCount'), array('facebook_total'), $headers );
89
} else {
90
$RollingCurlX->addRequest( "http://graph.facebook.com/?id=" . $this->url, $post_data, array($this, 'getCount'), array('facebook_total'), $headers );
91
}
92
- } else {
93
- if( isset( $mashsb_options['cumulate_http_https'] ) ) {
94
- $RollingCurlX->addRequest( "https://graph.facebook.com/v2.7/?id=" . $this->http_scheme_url . '&access_token=' . sanitize_text_field( $mashsb_options['fb_access_token_new'] ), $post_data, array($this, 'getCount'), array('facebook_total'), $headers );
95
- $RollingCurlX->addRequest( "https://graph.facebook.com/v2.7/?id=" . $this->https_scheme_url . '&access_token=' . sanitize_text_field( $mashsb_options['fb_access_token_new'] ), $post_data, array($this, 'getCount'), array('facebook_total'), $headers );
96
- } else {
97
- $RollingCurlX->addRequest( "https://graph.facebook.com/v2.7/?id=" . $this->url . '&access_token=' . sanitize_text_field( $mashsb_options['fb_access_token_new'] ), $post_data, array($this, 'getCount'), array('facebook_total'), $headers );
98
- }
99
- }
100
break;
101
default:
102
- if( empty( $mashsb_options['fb_access_token_new'] ) ) {
103
if( isset( $mashsb_options['cumulate_http_https'] ) ) {
104
$RollingCurlX->addRequest( "http://graph.facebook.com/?id=" . $this->http_scheme_url, $post_data, array($this, 'getCount'), array('facebook_shares'), $headers );
105
$RollingCurlX->addRequest( "http://graph.facebook.com/?id=" . $this->https_scheme_url, $post_data, array($this, 'getCount'), array('facebook_shares'), $headers );
106
} else {
107
$RollingCurlX->addRequest( "http://graph.facebook.com/?id=" . $this->url, $post_data, array($this, 'getCount'), array('facebook_shares'), $headers );
108
}
109
- } else {
110
- if( isset( $mashsb_options['cumulate_http_https'] ) ) {
111
- $RollingCurlX->addRequest( "https://graph.facebook.com/v2.7/?id=" . $this->http_scheme_url . '&access_token=' . sanitize_text_field( $mashsb_options['fb_access_token_new'] ), $post_data, array($this, 'getCount'), array('facebook_shares'), $headers );
112
- $RollingCurlX->addRequest( "https://graph.facebook.com/v2.7/?id=" . $this->https_scheme_url . '&access_token=' . sanitize_text_field( $mashsb_options['fb_access_token_new'] ), $post_data, array($this, 'getCount'), array('facebook_shares'), $headers );
113
- } else {
114
- $RollingCurlX->addRequest( "https://graph.facebook.com/v2.7/?id=" . $this->url . '&access_token=' . sanitize_text_field( $mashsb_options['fb_access_token_new'] ), $post_data, array($this, 'getCount'), array('facebook_shares'), $headers );
115
- }
116
- }
117
}
118
if( isset( $mashsb_options['cumulate_http_https'] ) ) {
119
$RollingCurlX->addRequest( "http://public.newsharecounts.com/count.json?url=" . $this->https_scheme_url, $post_data, array($this, 'getCount'), array('twitter'), $headers );
@@ -151,55 +152,55 @@ class mashengine {
151
$RollingCurlX->setOptions( $options );
152
switch ( $fb_mode ) {
153
case $fb_mode === 'likes':
154
- if( empty( $mashsb_options['fb_access_token_new'] ) ) {
155
if( isset( $mashsb_options['cumulate_http_https'] ) ) {
156
$RollingCurlX->addRequest( "http://graph.facebook.com/?id=" . $this->http_scheme_url, $post_data, array($this, 'getCount'), array('facebook_likes'), $headers );
157
$RollingCurlX->addRequest( "http://graph.facebook.com/?id=" . $this->https_scheme_url, $post_data, array($this, 'getCount'), array('facebook_likes'), $headers );
158
} else {
159
$RollingCurlX->addRequest( "http://graph.facebook.com/?id=" . $this->url, $post_data, array($this, 'getCount'), array('facebook_likes'), $headers );
160
}
161
- } else {
162
- if( isset( $mashsb_options['cumulate_http_https'] ) ) {
163
- $RollingCurlX->addRequest( "https://graph.facebook.com/v2.7/?id=" . $this->http_scheme_url . '&access_token=' . sanitize_text_field( $mashsb_options['fb_access_token_new'] ), $post_data, array($this, 'getCount'), array('facebook_likes'), $headers );
164
- $RollingCurlX->addRequest( "https://graph.facebook.com/v2.7/?id=" . $this->https_scheme_url . '&access_token=' . sanitize_text_field( $mashsb_options['fb_access_token_new'] ), $post_data, array($this, 'getCount'), array('facebook_likes'), $headers );
165
- } else {
166
- $RollingCurlX->addRequest( "https://graph.facebook.com/v2.7/?id=" . $this->url . '&access_token=' . sanitize_text_field( $mashsb_options['fb_access_token_new'] ), $post_data, array($this, 'getCount'), array('facebook_likes'), $headers );
167
- }
168
- }
169
break;
170
case $fb_mode === 'total':
171
- if( empty( $mashsb_options['fb_access_token_new'] ) ) {
172
if( isset( $mashsb_options['cumulate_http_https'] ) ) {
173
$RollingCurlX->addRequest( "http://graph.facebook.com/?id=" . $this->http_scheme_url, $post_data, array($this, 'getCount'), array('facebook_total'), $headers );
174
$RollingCurlX->addRequest( "http://graph.facebook.com/?id=" . $this->https_scheme_url, $post_data, array($this, 'getCount'), array('facebook_total'), $headers );
175
} else {
176
$RollingCurlX->addRequest( "http://graph.facebook.com/?id=" . $this->url, $post_data, array($this, 'getCount'), array('facebook_total'), $headers );
177
}
178
- } else {
179
- if( isset( $mashsb_options['cumulate_http_https'] ) ) {
180
- $RollingCurlX->addRequest( "https://graph.facebook.com/v2.7/?id=" . $this->http_scheme_url . '&access_token=' . sanitize_text_field( $mashsb_options['fb_access_token_new'] ), $post_data, array($this, 'getCount'), array('facebook_total'), $headers );
181
- $RollingCurlX->addRequest( "https://graph.facebook.com/v2.7/?id=" . $this->https_scheme_url . '&access_token=' . sanitize_text_field( $mashsb_options['fb_access_token_new'] ), $post_data, array($this, 'getCount'), array('facebook_total'), $headers );
182
- } else {
183
- $RollingCurlX->addRequest( "https://graph.facebook.com/v2.7/?id=" . $this->url . '&access_token=' . sanitize_text_field( $mashsb_options['fb_access_token_new'] ), $post_data, array($this, 'getCount'), array('facebook_total'), $headers );
184
- }
185
- }
186
break;
187
default:
188
- if( empty( $mashsb_options['fb_access_token_new'] ) ) {
189
if( isset( $mashsb_options['cumulate_http_https'] ) ) {
190
$RollingCurlX->addRequest( "http://graph.facebook.com/?id=" . $this->http_scheme_url, $post_data, array($this, 'getCount'), array('facebook_shares'), $headers );
191
$RollingCurlX->addRequest( "http://graph.facebook.com/?id=" . $this->https_scheme_url, $post_data, array($this, 'getCount'), array('facebook_shares'), $headers );
192
} else {
193
$RollingCurlX->addRequest( "http://graph.facebook.com/?id=" . $this->url, $post_data, array($this, 'getCount'), array('facebook_shares'), $headers );
194
}
195
- } else {
196
- if( isset( $mashsb_options['cumulate_http_https'] ) ) {
197
- $RollingCurlX->addRequest( "https://graph.facebook.com/v2.7/?id=" . $this->http_scheme_url . '&access_token=' . sanitize_text_field( $mashsb_options['fb_access_token_new'] ), $post_data, array($this, 'getCount'), array('facebook_shares'), $headers );
198
- $RollingCurlX->addRequest( "https://graph.facebook.com/v2.7/?id=" . $this->https_scheme_url . '&access_token=' . sanitize_text_field( $mashsb_options['fb_access_token_new'] ), $post_data, array($this, 'getCount'), array('facebook_shares'), $headers );
199
- } else {
200
- $RollingCurlX->addRequest( "https://graph.facebook.com/v2.7/?id=" . $this->url . '&access_token=' . sanitize_text_field( $mashsb_options['fb_access_token_new'] ), $post_data, array($this, 'getCount'), array('facebook_shares'), $headers );
201
- }
202
- }
203
}
204
if( isset( $mashsb_options['cumulate_http_https'] ) ) {
205
$RollingCurlX->addRequest( "http://public.newsharecounts.com/count.json?url=" . $this->https_scheme_url, $post_data, array($this, 'getCount'), array('twitter'), $headers );
@@ -232,7 +233,7 @@ class mashengine {
232
*/
233
234
function getCount( $data, $url, $request_info, $service, $time ) {
235
- global $mashsb_error;
236
$count = 0;
237
$error = '';
238
@@ -322,7 +323,7 @@ class mashengine {
322
mashdebug()->info( 'MashEngine - URL: ' . $url . ' ' . $service[0] . ': ' . $count );
323
//echo 'MashEngine - URL: ' . $url . ' ' . $service[0] . ': ' . $count . '<br>';
324
$this->debug_notices[] = 'MashEngine - URL: ' . $url . ' ' . $service[0] . ': ' . $count . '<br>';
325
- $mashsb_error[] = 'MashEngine - URL: ' . $url . ' ' . $service[0] . ': ' . $count;
326
327
add_action( 'wp_footer', array($this, 'outputDebug'), 100 );
328
}
@@ -340,7 +341,7 @@ class mashengine {
340
}
341
342
public function setRateLimitTransient() {
343
- set_transient( 'mashsb_rate_limit', 'true', 30 * 60 );
344
345
MASHSB()->logger->info( 'Error: Facebook Rate Limit hit' );
346
$this->debug_notices[] = 'Error: Requests to Facebook hit Rate Limit.';
65
66
switch ( $fb_mode ) {
67
case $fb_mode === 'likes':
68
+ //if( empty( $mashsb_options['fb_access_token_new'] ) ) {
69
if( isset( $mashsb_options['cumulate_http_https'] ) ) {
70
$RollingCurlX->addRequest( "http://graph.facebook.com/?id=" . $this->http_scheme_url, $post_data, array($this, 'getCount'), array('facebook_likes'), $headers );
71
$RollingCurlX->addRequest( "http://graph.facebook.com/?id=" . $this->https_scheme_url, $post_data, array($this, 'getCount'), array('facebook_likes'), $headers );
72
} else {
73
$RollingCurlX->addRequest( "http://graph.facebook.com/?id=" . $this->url, $post_data, array($this, 'getCount'), array('facebook_likes'), $headers );
74
}
75
+ //}
76
+ // else {
77
+ // if( isset( $mashsb_options['cumulate_http_https'] ) ) {
78
+ // $RollingCurlX->addRequest( "https://graph.facebook.com/v2.7/?id=" . $this->http_scheme_url . '&access_token=' . sanitize_text_field( $mashsb_options['fb_access_token_new'] ), $post_data, array($this, 'getCount'), array('facebook_likes'), $headers );
79
+ // $RollingCurlX->addRequest( "https://graph.facebook.com/v2.7/?id=" . $this->https_scheme_url . '&access_token=' . sanitize_text_field( $mashsb_options['fb_access_token_new'] ), $post_data, array($this, 'getCount'), array('facebook_likes'), $headers );
80
+ // } else {
81
+ // $RollingCurlX->addRequest( "https://graph.facebook.com/v2.7/?id=" . $this->url . '&access_token=' . sanitize_text_field( $mashsb_options['fb_access_token_new'] ), $post_data, array($this, 'getCount'), array('facebook_likes'), $headers );
82
+ // }
83
+ // }
84
break;
85
case $fb_mode === 'total':
86
+ //if( empty( $mashsb_options['fb_access_token_new'] ) ) {
87
if( isset( $mashsb_options['cumulate_http_https'] ) ) {
88
$RollingCurlX->addRequest( "http://graph.facebook.com/?id=" . $this->http_scheme_url, $post_data, array($this, 'getCount'), array('facebook_total'), $headers );
89
$RollingCurlX->addRequest( "http://graph.facebook.com/?id=" . $this->https_scheme_url, $post_data, array($this, 'getCount'), array('facebook_total'), $headers );
90
} else {
91
$RollingCurlX->addRequest( "http://graph.facebook.com/?id=" . $this->url, $post_data, array($this, 'getCount'), array('facebook_total'), $headers );
92
}
93
+ // } else {
94
+ // if( isset( $mashsb_options['cumulate_http_https'] ) ) {
95
+ // $RollingCurlX->addRequest( "https://graph.facebook.com/v2.7/?id=" . $this->http_scheme_url . '&access_token=' . sanitize_text_field( $mashsb_options['fb_access_token_new'] ), $post_data, array($this, 'getCount'), array('facebook_total'), $headers );
96
+ // $RollingCurlX->addRequest( "https://graph.facebook.com/v2.7/?id=" . $this->https_scheme_url . '&access_token=' . sanitize_text_field( $mashsb_options['fb_access_token_new'] ), $post_data, array($this, 'getCount'), array('facebook_total'), $headers );
97
+ // } else {
98
+ // $RollingCurlX->addRequest( "https://graph.facebook.com/v2.7/?id=" . $this->url . '&access_token=' . sanitize_text_field( $mashsb_options['fb_access_token_new'] ), $post_data, array($this, 'getCount'), array('facebook_total'), $headers );
99
+ // }
100
+ // }
101
break;
102
default:
103
+ //if( empty( $mashsb_options['fb_access_token_new'] ) ) {
104
if( isset( $mashsb_options['cumulate_http_https'] ) ) {
105
$RollingCurlX->addRequest( "http://graph.facebook.com/?id=" . $this->http_scheme_url, $post_data, array($this, 'getCount'), array('facebook_shares'), $headers );
106
$RollingCurlX->addRequest( "http://graph.facebook.com/?id=" . $this->https_scheme_url, $post_data, array($this, 'getCount'), array('facebook_shares'), $headers );
107
} else {
108
$RollingCurlX->addRequest( "http://graph.facebook.com/?id=" . $this->url, $post_data, array($this, 'getCount'), array('facebook_shares'), $headers );
109
}
110
+ // } else {
111
+ // if( isset( $mashsb_options['cumulate_http_https'] ) ) {
112
+ // $RollingCurlX->addRequest( "https://graph.facebook.com/v2.7/?id=" . $this->http_scheme_url . '&access_token=' . sanitize_text_field( $mashsb_options['fb_access_token_new'] ), $post_data, array($this, 'getCount'), array('facebook_shares'), $headers );
113
+ // $RollingCurlX->addRequest( "https://graph.facebook.com/v2.7/?id=" . $this->https_scheme_url . '&access_token=' . sanitize_text_field( $mashsb_options['fb_access_token_new'] ), $post_data, array($this, 'getCount'), array('facebook_shares'), $headers );
114
+ // } else {
115
+ // $RollingCurlX->addRequest( "https://graph.facebook.com/v2.7/?id=" . $this->url . '&access_token=' . sanitize_text_field( $mashsb_options['fb_access_token_new'] ), $post_data, array($this, 'getCount'), array('facebook_shares'), $headers );
116
+ // }
117
+ // }
118
}
119
if( isset( $mashsb_options['cumulate_http_https'] ) ) {
120
$RollingCurlX->addRequest( "http://public.newsharecounts.com/count.json?url=" . $this->https_scheme_url, $post_data, array($this, 'getCount'), array('twitter'), $headers );
152
$RollingCurlX->setOptions( $options );
153
switch ( $fb_mode ) {
154
case $fb_mode === 'likes':
155
+ //if( empty( $mashsb_options['fb_access_token_new'] ) ) {
156
if( isset( $mashsb_options['cumulate_http_https'] ) ) {
157
$RollingCurlX->addRequest( "http://graph.facebook.com/?id=" . $this->http_scheme_url, $post_data, array($this, 'getCount'), array('facebook_likes'), $headers );
158
$RollingCurlX->addRequest( "http://graph.facebook.com/?id=" . $this->https_scheme_url, $post_data, array($this, 'getCount'), array('facebook_likes'), $headers );
159
} else {
160
$RollingCurlX->addRequest( "http://graph.facebook.com/?id=" . $this->url, $post_data, array($this, 'getCount'), array('facebook_likes'), $headers );
161
}
162
+ // } else {
163
+ // if( isset( $mashsb_options['cumulate_http_https'] ) ) {
164
+ // $RollingCurlX->addRequest( "https://graph.facebook.com/v2.7/?id=" . $this->http_scheme_url . '&access_token=' . sanitize_text_field( $mashsb_options['fb_access_token_new'] ), $post_data, array($this, 'getCount'), array('facebook_likes'), $headers );
165
+ // $RollingCurlX->addRequest( "https://graph.facebook.com/v2.7/?id=" . $this->https_scheme_url . '&access_token=' . sanitize_text_field( $mashsb_options['fb_access_token_new'] ), $post_data, array($this, 'getCount'), array('facebook_likes'), $headers );
166
+ // } else {
167
+ // $RollingCurlX->addRequest( "https://graph.facebook.com/v2.7/?id=" . $this->url . '&access_token=' . sanitize_text_field( $mashsb_options['fb_access_token_new'] ), $post_data, array($this, 'getCount'), array('facebook_likes'), $headers );
168
+ // }
169
+ // }
170
break;
171
case $fb_mode === 'total':
172
+ //if( empty( $mashsb_options['fb_access_token_new'] ) ) {
173
if( isset( $mashsb_options['cumulate_http_https'] ) ) {
174
$RollingCurlX->addRequest( "http://graph.facebook.com/?id=" . $this->http_scheme_url, $post_data, array($this, 'getCount'), array('facebook_total'), $headers );
175
$RollingCurlX->addRequest( "http://graph.facebook.com/?id=" . $this->https_scheme_url, $post_data, array($this, 'getCount'), array('facebook_total'), $headers );
176
} else {
177
$RollingCurlX->addRequest( "http://graph.facebook.com/?id=" . $this->url, $post_data, array($this, 'getCount'), array('facebook_total'), $headers );
178
}
179
+ // } else {
180
+ // if( isset( $mashsb_options['cumulate_http_https'] ) ) {
181
+ // $RollingCurlX->addRequest( "https://graph.facebook.com/v2.7/?id=" . $this->http_scheme_url . '&access_token=' . sanitize_text_field( $mashsb_options['fb_access_token_new'] ), $post_data, array($this, 'getCount'), array('facebook_total'), $headers );
182
+ // $RollingCurlX->addRequest( "https://graph.facebook.com/v2.7/?id=" . $this->https_scheme_url . '&access_token=' . sanitize_text_field( $mashsb_options['fb_access_token_new'] ), $post_data, array($this, 'getCount'), array('facebook_total'), $headers );
183
+ // } else {
184
+ // $RollingCurlX->addRequest( "https://graph.facebook.com/v2.7/?id=" . $this->url . '&access_token=' . sanitize_text_field( $mashsb_options['fb_access_token_new'] ), $post_data, array($this, 'getCount'), array('facebook_total'), $headers );
185
+ // }
186
+ // }
187
break;
188
default:
189
+ //if( empty( $mashsb_options['fb_access_token_new'] ) ) {
190
if( isset( $mashsb_options['cumulate_http_https'] ) ) {
191
$RollingCurlX->addRequest( "http://graph.facebook.com/?id=" . $this->http_scheme_url, $post_data, array($this, 'getCount'), array('facebook_shares'), $headers );
192
$RollingCurlX->addRequest( "http://graph.facebook.com/?id=" . $this->https_scheme_url, $post_data, array($this, 'getCount'), array('facebook_shares'), $headers );
193
} else {
194
$RollingCurlX->addRequest( "http://graph.facebook.com/?id=" . $this->url, $post_data, array($this, 'getCount'), array('facebook_shares'), $headers );
195
}
196
+ // } else {
197
+ // if( isset( $mashsb_options['cumulate_http_https'] ) ) {
198
+ // $RollingCurlX->addRequest( "https://graph.facebook.com/v2.7/?id=" . $this->http_scheme_url . '&access_token=' . sanitize_text_field( $mashsb_options['fb_access_token_new'] ), $post_data, array($this, 'getCount'), array('facebook_shares'), $headers );
199
+ // $RollingCurlX->addRequest( "https://graph.facebook.com/v2.7/?id=" . $this->https_scheme_url . '&access_token=' . sanitize_text_field( $mashsb_options['fb_access_token_new'] ), $post_data, array($this, 'getCount'), array('facebook_shares'), $headers );
200
+ // } else {
201
+ // $RollingCurlX->addRequest( "https://graph.facebook.com/v2.7/?id=" . $this->url . '&access_token=' . sanitize_text_field( $mashsb_options['fb_access_token_new'] ), $post_data, array($this, 'getCount'), array('facebook_shares'), $headers );
202
+ // }
203
+ // }
204
}
205
if( isset( $mashsb_options['cumulate_http_https'] ) ) {
206
$RollingCurlX->addRequest( "http://public.newsharecounts.com/count.json?url=" . $this->https_scheme_url, $post_data, array($this, 'getCount'), array('twitter'), $headers );
233
*/
234
235
function getCount( $data, $url, $request_info, $service, $time ) {
236
+ global $mashsb_debug;
237
$count = 0;
238
$error = '';
239
323
mashdebug()->info( 'MashEngine - URL: ' . $url . ' ' . $service[0] . ': ' . $count );
324
//echo 'MashEngine - URL: ' . $url . ' ' . $service[0] . ': ' . $count . '<br>';
325
$this->debug_notices[] = 'MashEngine - URL: ' . $url . ' ' . $service[0] . ': ' . $count . '<br>';
326
+ $mashsb_debug[] = 'MashEngine - URL: ' . $url . ' ' . $service[0] . ': ' . $count;
327
328
add_action( 'wp_footer', array($this, 'outputDebug'), 100 );
329
}
341
}
342
343
public function setRateLimitTransient() {
344
+ set_transient( 'mashsb_rate_limit', 'true', 5 * 60 );
345
346
MASHSB()->logger->info( 'Error: Facebook Rate Limit hit' );
347
$this->debug_notices[] = 'Error: Requests to Facebook hit Rate Limit.';
includes/scripts.php CHANGED
@@ -18,7 +18,6 @@ add_action( 'wp_enqueue_scripts', 'mashsb_load_scripts', 10 );
18
add_action( 'wp_enqueue_scripts', 'mashsb_register_styles', 10 );
19
add_action( 'wp_enqueue_scripts', 'mashsb_load_inline_styles', 10 );
20
add_action( 'admin_enqueue_scripts', 'mashsb_load_plugins_admin_scripts', 10 );
21
- //add_action( 'amp_post_template_css', 'mashsb_amp_load_css', 10 );
22
23
/**
24
* Load Scripts
@@ -273,112 +272,6 @@ function mashsb_load_inline_styles() {
273
wp_add_inline_style( 'mashsb-styles', $mashsb_custom_css );
274
}
275
276
- /**
277
- * Load AMP (Accelerated Mobile Pages) CSS
278
- *
279
- * @return string css
280
- */
281
- //function mashsb_amp_load_css() {
282
- // global $mashsb_options;
283
- //
284
- // $share_color = !empty( $mashsb_options['share_color'] ) ? '.mashsb-count {color:' . $mashsb_options['share_color'] . '}' : '';
285
- // $custom_css = isset( $mashsb_options['custom_css'] ) ? $mashsb_options['custom_css'] : '';
286
- // $amp_css = isset( $mashsb_options['amp_css'] ) ? $mashsb_options['amp_css'] : '';
287
- //
288
- // $css = "@font-face {
289
- // font-family: 'mashsb-font';
290
- // src: url('" . MASHSB_PLUGIN_URL . "/assets/css/fonts/mashsb-font.eot?29924580');
291
- // src: url('" . MASHSB_PLUGIN_URL . "/assets/css/fonts/mashsb-font.eot?29924580#iefix') format('embedded-opentype'),
292
- // url('" . MASHSB_PLUGIN_URL . "/assets/css/fonts/mashsb-font.woff2?29924580') format('woff2'),
293
- // url('" . MASHSB_PLUGIN_URL . "/assets/css/fonts/mashsb-font.woff?29924580') format('woff'),
294
- // url('" . MASHSB_PLUGIN_URL . "/assets/css/fonts/mashsb-font.ttf?29924580') format('truetype'),
295
- // url('" . MASHSB_PLUGIN_URL . "/assets/css/fonts/mashsb-font.svg?29924580#mashsb-font') format('svg');
296
- // font-weight: normal;
297
- // font-style: normal;
298
- //}";
299
- //
300
- // // Get default css file
301
- // $css .= file_get_contents( MASHSB_PLUGIN_DIR . '/assets/css/mashsb-amp.css' );
302
- //
303
- //
304
- // // add custom css
305
- // $css .= $custom_css;
306
- //
307
- // // add AMP custom css
308
- // $css .= $amp_css;
309
- //
310
- // // STYLES
311
- // $css .= $share_color;
312
- //
313
- // if( !empty( $mashsb_options['border_radius'] ) && $mashsb_options['border_radius'] != 'default' ) {
314
- // $css .= '
315
- // [class^="mashicon-"], .onoffswitch-label, .onoffswitch2-label {
316
- // border-radius: ' . $mashsb_options['border_radius'] . 'px;
317
- // }';
318
- // }
319
- // if( !empty( $mashsb_options['mash_style'] ) && $mashsb_options['mash_style'] == 'gradiant' ) {
320
- // $css .= '
321
- // .mashsb-buttons a {
322
- // background-image: -webkit-linear-gradient(bottom,rgba(0, 0, 0, 0.17) 0%,rgba(255, 255, 255, 0.17) 100%);
323
- // background-image: -moz-linear-gradient(bottom,rgba(0, 0, 0, 0.17) 0%,rgba(255, 255, 255, 0.17) 100%);
324
- // background-image: linear-gradient(bottom,rgba(0,0,0,.17) 0%,rgba(255,255,255,.17) 100%);}';
325
- // }
326
- // // Get css for small buttons
327
- // $css .= '[class^="mashicon-"] .text, [class*=" mashicon-"] .text{
328
- // text-indent: -9999px;
329
- // line-height: 0px;
330
- // display: block;
331
- // }
332
- // [class^="mashicon-"] .text:after, [class*=" mashicon-"] .text:after {
333
- // content: "";
334
- // text-indent: 0;
335
- // font-size:13px;
336
- // display: block;
337
- // }
338
- // [class^="mashicon-"], [class*=" mashicon-"] {
339
- // width:25%;
340
- // text-align: center;
341
- // }
342
- // [class^="mashicon-"] .icon:before, [class*=" mashicon-"] .icon:before {
343
- // float:none;
344
- // margin-right: 0;
345
- // }
346
- // .mashsb-buttons a{
347
- // margin-right: 3px;
348
- // margin-bottom:3px;
349
- // min-width: 0px;
350
- // width: 41px;
351
- // }
352
- //
353
- // .onoffswitch,
354
- // .onoffswitch-inner:before,
355
- // .onoffswitch-inner:after
356
- // .onoffswitch2,
357
- // .onoffswitch2-inner:before,
358
- // .onoffswitch2-inner:after {
359
- // margin-right: 0px;
360
- // width: 41px;
361
- // line-height: 41px;
362
- // }';
363
- // // hide plus and subscribe button
364
- // // on AMP we disable js
365
- // $css .= '.onoffswitch2, .onoffswitch{display:none}';
366
- //
367
- // // Hide subscribe button when it's not a link
368
- // $css .= isset( $mashsb_options['subscribe_behavior'] ) && $mashsb_options['subscribe_behavior'] === 'content' ? '.mashicon-subscribe{display:none;}' : '';
369
- //
370
- // // Make sure the share buttons are not moving under the share count when decreasing width
371
- // $css .= '.mashsb-buttons{display:table;}';
372
- //
373
- // // Float the second shares box
374
- // $css .= '.secondary-shares{float:left;}';
375
- //
376
- // // Hide the view count
377
- // $css .= '.mashpv{display:none;}';
378
- //
379
- // echo $css;
380
- //}
381
-
382
/*
383
* Check if debug mode is enabled
384
*
18
add_action( 'wp_enqueue_scripts', 'mashsb_register_styles', 10 );
19
add_action( 'wp_enqueue_scripts', 'mashsb_load_inline_styles', 10 );
20
add_action( 'admin_enqueue_scripts', 'mashsb_load_plugins_admin_scripts', 10 );
21
22
/**
23
* Load Scripts
272
wp_add_inline_style( 'mashsb-styles', $mashsb_custom_css );
273
}
274
275
/*
276
* Check if debug mode is enabled
277
*
includes/sharecount-functions.php CHANGED
@@ -33,19 +33,16 @@ function mashsb_rate_limit_exceeded(){
33
* @return boolean
34
*/
35
function mashsb_is_req_limited() {
36
- global $mashsb_error;
37
38
$data_timeout = get_option('_transient_timeout_mashsb_limit_req');
39
40
- // Rewrite this because wordpress sometimes does not store the expiration value so we need to check this value first
41
- //if (false === get_transient('mashsb_limit_req')) {
42
-
43
if (false === $data_timeout || empty($data_timeout) || $data_timeout < time() ){
44
set_transient('mashsb_limit_req', '1', 25);
45
- $mashsb_error[] = 'MashShare: Temp Rate Limit not exceeded';
46
return false;
47
}
48
- $mashsb_error[] = 'MashShare: Temp Rate Limit Exceeded';
49
return true;
50
51
}
33
* @return boolean
34
*/
35
function mashsb_is_req_limited() {
36
+ global $mashsb_debug;
37
38
$data_timeout = get_option('_transient_timeout_mashsb_limit_req');
39
40
if (false === $data_timeout || empty($data_timeout) || $data_timeout < time() ){
41
set_transient('mashsb_limit_req', '1', 25);
42
+ $mashsb_debug[] = 'Temp Rate Limit not exceeded';
43
return false;
44
}
45
+ $mashsb_debug[] = 'Temp Rate Limit Exceeded';
46
return true;
47
48
}
includes/template-functions.php CHANGED
@@ -87,7 +87,7 @@ function mashsbGetShareMethod( $mashsbSharesObj ) {
87
* @returns integer $shares
88
*/
89
function mashsbGetNonPostShares( $url ) {
90
- global $mashsb_error;
91
92
93
// Expiration
@@ -143,9 +143,9 @@ function mashsbGetNonPostShares( $url ) {
143
*/
144
145
function getSharedcount( $url ) {
146
- global $mashsb_options, $post, $mashsb_sharecount, $mashsb_error; // todo test a global share count var if it reduces the amount of requests
147
148
- $mashsb_error[] = 'MashShare: Trying to get share count!';
149
150
// Return global share count variable to prevent multiple execution
151
if (is_array($mashsb_sharecount) && array_key_exists($url, $mashsb_sharecount) && !empty($mashsb_sharecount[$url]) && !mashsb_is_cache_refresh() ){
@@ -168,7 +168,7 @@ function getSharedcount( $url ) {
168
169
170
if( is_404() || is_search() || empty($url) || !mashsb_is_enabled_permalinks() || isset($mashsb_options['disable_sharecount']) ) {
171
- $mashsb_error[] = 'MashShare: Trying to get share count deactivated';
172
return apply_filters( 'filter_get_sharedcount', 0 );
173
}
174
@@ -179,7 +179,7 @@ function getSharedcount( $url ) {
179
180
181
if( !empty( $url ) && is_null( $post ) ) {
182
- $mashsb_error[] = 'MashShare: URL or POST is empty. Return share count with mashsbGetNonPostShares';
183
return apply_filters( 'filter_get_sharedcount', mashsbGetNonPostShares( $url ) );
184
}
185
@@ -188,11 +188,11 @@ function getSharedcount( $url ) {
188
*/
189
if( mashsb_force_cache_refresh() && is_singular() ) {
190
191
- $mashsb_error[] = 'MashShare: Force Cache Refresh on singular()';
192
193
// Its request limited
194
if ( mashsb_is_req_limited() ){
195
- $mashsb_error[] = 'MashShare: rate limit reached. Return Share from custom meta option';
196
return get_post_meta( $post->ID, 'mashsb_shares', true ) + getFakecount();
197
}
198
@@ -202,8 +202,8 @@ function getSharedcount( $url ) {
202
// Write timestamp (Use this on top of this condition. If this is not on top following return statements will be skipped and ignored - possible bug?)
203
update_post_meta( $post->ID, 'mashsb_timestamp', time() );
204
205
- MASHSB()->logger->info( 'Code:4 Refresh Cache: Update Timestamp: ' . time() );
206
- $mashsb_error[] = 'Code:4 Refresh Cache: Update Timestamp: ' . time();
207
// Get the share Object
208
$mashsbSharesObj = mashsbGetShareObj( $url );
209
// Get the share count Method
@@ -214,8 +214,8 @@ function getSharedcount( $url ) {
214
// Create global sharecount
215
$mashsb_sharecount = array($url => $mashsbShareCounts->total);
216
217
- $mashsb_error[] = 'Code: 5 Get Share count for URL: ' . $url . ' Shares: ' . $mashsbShareCounts->total;
218
- MASHSB()->logger->info( 'Code: 5 Get Share count for URL: ' . $url . ' Shares: ' . $mashsbShareCounts->total );
219
/*
220
* Update post_meta only when API is requested and
221
* API share count is greater than real fresh requested share count ->
@@ -236,7 +236,7 @@ function getSharedcount( $url ) {
236
// Return cached results
237
$cachedCountsMeta = is_numeric($var = get_post_meta( $post->ID, 'mashsb_shares', true )) ? (int)$var : 0;
238
$cachedCounts = $cachedCountsMeta + getFakecount();
239
- $mashsb_error[] = 'Cached Results: ' . $cachedCounts . ' url:' . $url;
240
MASHSB()->logger->info( 'Cached Results: ' . $cachedCounts . ' url:' . $url );
241
return apply_filters( 'filter_get_sharedcount', $cachedCounts );
242
}
@@ -305,12 +305,15 @@ function roundshares( $totalshares ) {
305
* @return string
306
*/
307
308
- function onOffSwitch() {
309
global $mashsb_options;
310
311
// Get class names for buttons size
312
$class_size = isset($mashsb_options['buttons_size']) ? ' ' . $mashsb_options['buttons_size'] : '';
313
314
// Get class names for button style
315
$class_style = isset($mashsb_options['mash_style']) && $mashsb_options['mash_style'] === 'shadow' ? ' mashsb-shadow' : ' mashsb-noshadow';
316
@@ -326,12 +329,15 @@ function onOffSwitch() {
326
* @return string
327
*/
328
329
- function onOffSwitch2() {
330
global $mashsb_options;
331
332
- // Get class names for buttons size
333
$class_size = isset($mashsb_options['buttons_size']) ? ' ' . $mashsb_options['buttons_size'] : '';
334
335
// Get class names for button style
336
$class_style = isset($mashsb_options['mash_style']) && $mashsb_options['mash_style'] === 'shadow' ? ' mashsb-shadow' : ' mashsb-noshadow';
337
@@ -397,7 +403,9 @@ function arrNetworks( $name, $is_shortcode ) {
397
*
398
* @since 2.0
399
* @param bool true when used from shortcode [mashshare]
400
- * @param int number of visible networks
401
* @return string html
402
*/
403
@@ -416,6 +424,9 @@ function mashsb_getNetworks( $is_shortcode = false, $services = 0 ) {
416
// Get class names for buttons size
417
$class_size = isset($mashsb_options['buttons_size']) ? ' ' . $mashsb_options['buttons_size'] : '';
418
419
// Get class names for buttons margin
420
$class_margin = isset($mashsb_options['button_margin']) ? '' : ' mash-nomargin';
421
@@ -442,12 +453,13 @@ function mashsb_getNetworks( $is_shortcode = false, $services = 0 ) {
442
/* Overwrite maxcounter with shortcode attribute */
443
$maxcounter = ($services === 0) ? $maxcounter : $services;
444
445
- /* our list of available services, includes the disabled ones!
446
* We have to clean this array first!
447
*/
448
- //$getnetworks = isset( $mashsb_options['networks'] ) ? $mashsb_options['networks'] : '';
449
$getnetworks = isset( $mashsb_options['networks'] ) ? apply_filters('mashsb_filter_networks', $mashsb_options['networks']) : apply_filters('mashsb_filter_networks', '');
450
-
451
/* Delete disabled services from array. Use callback function here. Do this only once because array_filter is slow!
452
* Use the newly created array and bypass the callback function
453
*/
@@ -460,9 +472,14 @@ function mashsb_getNetworks( $is_shortcode = false, $services = 0 ) {
460
} else {
461
$enablednetworks = $getnetworks;
462
}
463
464
// Start Primary Buttons
465
- //$output .= '<div class="mashsb-primary-shares">';
466
467
if( !empty( $enablednetworks ) ) {
468
foreach ( $enablednetworks as $key => $network ):
@@ -510,6 +527,140 @@ function mashsb_getNetworks( $is_shortcode = false, $services = 0 ) {
510
511
return apply_filters( 'return_networks', $output );
512
}
513
514
/*
515
* Render template
@@ -547,7 +698,7 @@ function mashshareShow() {
547
* @param string alignment default left
548
* @return string html
549
*/
550
- function mashsb_render_sharecounts( $customurl = '', $align = 'left' ) {
551
global $mashsb_options;
552
553
if( isset( $mashsb_options['disable_sharecount'] ) || !mashsb_curl_installed() || !mashsb_is_enabled_permalinks() ) {
@@ -568,6 +719,9 @@ function mashsb_render_sharecounts( $customurl = '', $align = 'left' ) {
568
// Get class names for buttons size
569
$class_size = isset($mashsb_options['buttons_size']) ? ' ' . $mashsb_options['buttons_size'] : '';
570
571
// No inline style if it's amp
572
$style = !mashsb_is_amp_page() ? 'style="float:' . $align . ';"' : '';
573
@@ -598,12 +752,31 @@ function mashshareShortcodeShow( $args ) {
598
'services' => '0', //default is by admin option - plus 1 because array starts counting from zero
599
'align' => 'left',
600
'text' => '', // $text
601
- 'url' => '' // $url
602
- ), $args ) );
603
604
// Visible services
605
$count_services = !empty($services) ? $services : 0;
606
607
// Define custom url var to share
608
//$mashsb_custom_url = empty( $url ) ? mashsb_get_url() : $url;
609
// The global available custom url to share
@@ -615,7 +788,7 @@ function mashshareShortcodeShow( $args ) {
615
$mashsb_custom_text = !empty( $text ) ? $text : false;
616
617
if( $shares != 'false' ) {
618
- $sharecount = mashsb_render_sharecounts( $mashsb_url, $align );
619
// shortcode [mashshare shares="true" buttons="false"]
620
if( $shares === "true" && $buttons === 'false' ) {
621
return $sharecount;
@@ -629,7 +802,7 @@ function mashshareShortcodeShow( $args ) {
629
'<div class="mashsb-box">'
630
. $sharecount .
631
'<div class="mashsb-buttons">'
632
- . mashsb_getNetworks( true, $count_services ) .
633
'</div></div>
634
<div style="clear:both;"></div>'
635
. mashsb_subscribe_content()
@@ -640,6 +813,7 @@ function mashshareShortcodeShow( $args ) {
640
return apply_filters( 'mashsb_output_buttons', $return );
641
}
642
643
/* Returns active status of Mashshare.
644
* Used for scripts.php $hook
645
* @since 2.0.3
@@ -829,7 +1003,7 @@ function mashsb_get_image( $postID ) {
829
830
if( has_post_thumbnail( $post->ID ) ) {
831
$image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'single-post-thumbnail' );
832
- return $image[0];
833
}
834
}
835
@@ -863,6 +1037,7 @@ function mashsb_get_excerpt_by_id( $post_id ) {
863
}
864
865
$the_excerpt = $the_post->post_content; //Gets post_content to be used as a basis for the excerpt
866
$excerpt_length = 35; //Sets excerpt length by word count
867
$the_excerpt = strip_tags( strip_shortcodes( $the_excerpt ) ); //Strips tags and images
868
$words = explode( ' ', $the_excerpt, $excerpt_length + 1 );
87
* @returns integer $shares
88
*/
89
function mashsbGetNonPostShares( $url ) {
90
+ global $mashsb_debug;
91
92
93
// Expiration
143
*/
144
145
function getSharedcount( $url ) {
146
+ global $mashsb_options, $post, $mashsb_sharecount, $mashsb_debug; // todo test a global share count var if it reduces the amount of requests
147
148
+ $mashsb_debug[] = 'Trying to get share count!';
149
150
// Return global share count variable to prevent multiple execution
151
if (is_array($mashsb_sharecount) && array_key_exists($url, $mashsb_sharecount) && !empty($mashsb_sharecount[$url]) && !mashsb_is_cache_refresh() ){
168
169
170
if( is_404() || is_search() || empty($url) || !mashsb_is_enabled_permalinks() || isset($mashsb_options['disable_sharecount']) ) {
171
+ $mashsb_debug[] = 'MashShare: Trying to get share count deactivated';
172
return apply_filters( 'filter_get_sharedcount', 0 );
173
}
174
179
180
181
if( !empty( $url ) && is_null( $post ) ) {
182
+ $mashsb_debug[] = '$url or $post is empty. Return share count with mashsbGetNonPostShares';
183
return apply_filters( 'filter_get_sharedcount', mashsbGetNonPostShares( $url ) );
184
}
185
188
*/
189
if( mashsb_force_cache_refresh() && is_singular() ) {
190
191
+ $mashsb_debug[] = 'Force Cache Refresh for page type singular()';
192
193
// Its request limited
194
if ( mashsb_is_req_limited() ){
195
+ $mashsb_debug[] = 'Rate limit reached. Return Share from custom meta option';
196
return get_post_meta( $post->ID, 'mashsb_shares', true ) + getFakecount();
197
}
198
202
// Write timestamp (Use this on top of this condition. If this is not on top following return statements will be skipped and ignored - possible bug?)
203
update_post_meta( $post->ID, 'mashsb_timestamp', time() );
204
205
+ MASHSB()->logger->info( 'Refresh Cache: Update Timestamp: ' . time() );
206
+ $mashsb_debug[] = 'Refresh Cache: Update Timestamp: ' . time();
207
// Get the share Object
208
$mashsbSharesObj = mashsbGetShareObj( $url );
209
// Get the share count Method
214
// Create global sharecount
215
$mashsb_sharecount = array($url => $mashsbShareCounts->total);
216
217
+ $mashsb_debug[] = 'Get Share count for URL: ' . $url . ' Shares: ' . $mashsbShareCounts->total;
218
+ MASHSB()->logger->info( 'Get Share count for URL: ' . $url . ' Shares: ' . $mashsbShareCounts->total );
219
/*
220
* Update post_meta only when API is requested and
221
* API share count is greater than real fresh requested share count ->
236
// Return cached results
237
$cachedCountsMeta = is_numeric($var = get_post_meta( $post->ID, 'mashsb_shares', true )) ? (int)$var : 0;
238
$cachedCounts = $cachedCountsMeta + getFakecount();
239
+ $mashsb_debug[] = 'Cached Results: ' . $cachedCounts . ' url:' . $url;
240
MASHSB()->logger->info( 'Cached Results: ' . $cachedCounts . ' url:' . $url );
241
return apply_filters( 'filter_get_sharedcount', $cachedCounts );
242
}
305
* @return string
306
*/
307
308
+ function onOffSwitch($size = false) {
309
global $mashsb_options;
310
311
// Get class names for buttons size
312
$class_size = isset($mashsb_options['buttons_size']) ? ' ' . $mashsb_options['buttons_size'] : '';
313
314
+ // Override size with shortcode argument
315
+ $class_size = $size ? ' mash-'.$size : $class_size;
316
+
317
// Get class names for button style
318
$class_style = isset($mashsb_options['mash_style']) && $mashsb_options['mash_style'] === 'shadow' ? ' mashsb-shadow' : ' mashsb-noshadow';
319
329
* @return string
330
*/
331
332
+ function onOffSwitch2( $size = false) {
333
global $mashsb_options;
334
335
+ // Get class names for buttons size
336
$class_size = isset($mashsb_options['buttons_size']) ? ' ' . $mashsb_options['buttons_size'] : '';
337
338
+ // Override size with shortcode argument
339
+ $class_size = $size ? ' mash-'.$size : $class_size;
340
+
341
// Get class names for button style
342
$class_style = isset($mashsb_options['mash_style']) && $mashsb_options['mash_style'] === 'shadow' ? ' mashsb-shadow' : ' mashsb-noshadow';
343
403
*
404
* @since 2.0
405
* @param bool true when used from shortcode [mashshare]
406
+ * @param int number of visible networks (used for shortcodes)
407
+ * @param array activated networks (used for shortcodes)
408
+ * @param string button size (used for shortcodes)
409
* @return string html
410
*/
411
424
// Get class names for buttons size
425
$class_size = isset($mashsb_options['buttons_size']) ? ' ' . $mashsb_options['buttons_size'] : '';
426
427
+ // Override size with shortcode argument
428
+ //$class_size = $size ? ' mash-'.$size : $class_size;
429
+
430
// Get class names for buttons margin
431
$class_margin = isset($mashsb_options['button_margin']) ? '' : ' mash-nomargin';
432
453
/* Overwrite maxcounter with shortcode attribute */
454
$maxcounter = ($services === 0) ? $maxcounter : $services;
455
456
+ /*
457
+ * Our list of available services, includes the disabled ones!
458
* We have to clean this array first!
459
*/
460
$getnetworks = isset( $mashsb_options['networks'] ) ? apply_filters('mashsb_filter_networks', $mashsb_options['networks']) : apply_filters('mashsb_filter_networks', '');
461
+
462
+
463
/* Delete disabled services from array. Use callback function here. Do this only once because array_filter is slow!
464
* Use the newly created array and bypass the callback function
465
*/
472
} else {
473
$enablednetworks = $getnetworks;
474
}
475
+
476
+
477
+ // Use custom networks if available and override default networks
478
+ //$enablednetworks = $networks ? $networks : $enablednetworks;
479
+
480
+ //var_dump($enablednetworks);
481
482
// Start Primary Buttons
483
484
if( !empty( $enablednetworks ) ) {
485
foreach ( $enablednetworks as $key => $network ):
527
528
return apply_filters( 'return_networks', $output );
529
}
530
+ /*
531
+ * Return all available networks for Shortcode generated buttons
532
+ *
533
+ * @since 2.0
534
+ * @param bool true when used from shortcode [mashshare]
535
+ * @param int number of visible networks (used for shortcodes)
536
+ * @param array activated networks (used for shortcodes)
537
+ * @param string button size (used for shortcodes)
538
+ * @return string html
539
+ */
540
+
541
+ function mashsb_getNetworksShortcode( $is_shortcode = false, $services = 0, $networks = false, $size = false, $icons = false ) {
542
+ //global $mashsb_options, $mashsb_custom_url, $enablednetworks, $mashsb_twitter_url;
543
+ global $mashsb_options, $mashsb_custom_url, $mashsb_twitter_url;
544
+
545
+
546
+ // define globals
547
+ if( $is_shortcode ) {
548
+ $mashsb_twitter_url = !empty( $mashsb_custom_url ) ? mashsb_get_shorturl( $mashsb_custom_url ) : mashsb_get_twitter_url();
549
+
550
+ }else{
551
+ $mashsb_twitter_url = mashsb_get_twitter_url();
552
+ }
553
+
554
+ // Get class names for buttons size
555
+ $class_size = isset($mashsb_options['buttons_size']) ? ' ' . $mashsb_options['buttons_size'] : '';
556
+
557
+ // Override size with shortcode argument
558
+ $class_size = $size ? ' mash-'.$size : $class_size;
559
+
560
+ // Get class names for buttons margin
561
+ $class_margin = isset($mashsb_options['button_margin']) ? '' : ' mash-nomargin';
562
+
563
+ // Get class names for center align
564
+ $class_center = isset($mashsb_options['text_align_center']) ? ' mash-center' : '';
565
+
566
+ // Get class names for button style
567
+ $class_style = isset($mashsb_options['mash_style']) && $mashsb_options['mash_style'] === 'shadow' ? ' mashsb-shadow' : ' mashsb-noshadow';
568
+
569
+ $class_icons = $icons ? ' mashsb-pure-icons' : '';
570
+
571
+ //$style = $fullwidth ? '' : 'style="min-width:0;flex:none;-webkit-flex:none;"';
572
+
573
+ $output = '';
574
+ $startsecondaryshares = '';
575
+ $endsecondaryshares = '';
576
+
577
+ /* content of 'more services' button */
578
+ $onoffswitch = '';
579
+
580
+ /* counter for 'Visible Services' */
581
+ $startcounter = 1;
582
+
583
+ $maxcounter = isset( $mashsb_options['visible_services'] ) ? $mashsb_options['visible_services'] : 0;
584
+ $maxcounter = ($maxcounter === 'all') ? 'all' : ($maxcounter + 1); // plus 1 to get networks correct counted (array's starting counting from zero)
585
+ $maxcounter = apply_filters( 'mashsb_visible_services', $maxcounter );
586
+
587
+ /* Overwrite maxcounter with shortcode attribute */
588
+ $maxcounter = ($services === 0) ? $maxcounter : $services;
589
+
590
+ /*
591
+ * Our list of available services, includes the disabled ones!
592
+ * We have to clean this array first!
593
+ */
594
+ $getnetworks = isset( $mashsb_options['networks'] ) ? apply_filters('mashsb_filter_networks', $mashsb_options['networks']) : apply_filters('mashsb_filter_networks', '');
595
+
596
+ /*
597
+ * Delete disabled services from array. Use callback function here. Do this only once because array_filter is slow!
598
+ * Use the newly created array and bypass the callback function
599
+ */
600
+ if( is_array( $getnetworks ) ) {
601
+ if( !isset($enablednetworks) || !is_array( $enablednetworks ) ) {
602
+ $enablednetworks = array_filter( $getnetworks, 'isStatus' );
603
+ } else {
604
+ $enablednetworks = $enablednetworks;
605
+ }
606
+ } else {
607
+ $enablednetworks = $getnetworks;
608
+ }
609
+
610
+
611
+ // Use custom networks if available and override default networks
612
+ $enablednetworks = $networks ? $networks : $enablednetworks;
613
+
614
+ //var_dump($enablednetworks);
615
+
616
+ // Start Primary Buttons
617
+
618
+ if( !empty( $enablednetworks ) ) {
619
+ foreach ( $enablednetworks as $key => $network ):
620
+
621
+ if( $maxcounter !== 'all' && $maxcounter < count( $enablednetworks ) ) { // $maxcounter + 1 for correct comparision with count()
622
+ if( $startcounter == $maxcounter ) {
623
+ $onoffswitch = onOffSwitch($size); // Start More Button
624
+ //$startsecondaryshares = '</div>'; // End Primary Buttons
625
+ $startsecondaryshares .= '<div class="secondary-shares" style="display:none;">'; // Start secondary-shares
626
+ } else {
627
+ $onoffswitch = '';
628
+ $onoffswitch2 = '';
629
+ $startsecondaryshares = '';
630
+ }
631
+ if( $startcounter === (count( $enablednetworks )) ) {
632
+ $endsecondaryshares = '</div>';
633
+ } else {
634
+ $endsecondaryshares = '';
635
+ }
636
+ }
637
+
638
+ if( isset($enablednetworks[$key]['name']) && !empty($enablednetworks[$key]['name']) ) {
639
+ /* replace all spaces with $nbsp; This prevents error in css style content: text-intend */
640
+ $name = !$icons ? preg_replace( '/\040{1,}/', '&nbsp;', $enablednetworks[$key]['name'] ) : ''; // The custom share label
641
+ } else {
642
+ $name = !$icons ? ucfirst( $enablednetworks[$key]['id'] ) : ''; // Use the id as share label. Capitalize it!
643
+ }
644
+
645
+ $enablednetworks[$key]['id'] == 'whatsapp' ? $display = 'style="display:none;"' : $display = ''; // Whatsapp button is made visible via js when opened on mobile devices
646
+
647
+ // Lets use the data attribute to prevent that pininit.js is overwriting our pinterest button - PR: https://secure.helpscout.net/conversation/257066283/954/?folderId=924740
648
+ if ('pinterest' === $enablednetworks[$key]['id'] && !mashsb_is_amp_page() ) {
649
+ $output .= '<a ' . $display . ' class="mashicon-' . $enablednetworks[$key]['id'] . $class_size . $class_margin . $class_center . $class_style . $class_icons . '" href="#" data-mashsb-url="'. arrNetworks( $enablednetworks[$key]['id'], $is_shortcode ) . '" target="_blank" rel="nofollow"><span class="icon"></span><span class="text">' . $name . '</span></a>';
650
+ } else {
651
+ $output .= '<a ' . $display . ' class="mashicon-' . $enablednetworks[$key]['id'] . $class_size . $class_margin . $class_center . $class_style . $class_icons . '" href="' . arrNetworks( $enablednetworks[$key]['id'], $is_shortcode ) . '" target="_blank" rel="nofollow"><span class="icon"></span><span class="text">' . $name . '</span></a>';
652
+ }
653
+ $output .= $onoffswitch;
654
+ $output .= $startsecondaryshares;
655
+
656
+ $startcounter++;
657
+ endforeach;
658
+ $output .= onOffSwitch2($size);
659
+ $output .= $endsecondaryshares;
660
+ }
661
+
662
+ return apply_filters( 'return_networks', $output );
663
+ }
664
665
/*
666
* Render template
698
* @param string alignment default left
699
* @return string html
700
*/
701
+ function mashsb_render_sharecounts( $customurl = '', $align = 'left', $size = false ) {
702
global $mashsb_options;
703
704
if( isset( $mashsb_options['disable_sharecount'] ) || !mashsb_curl_installed() || !mashsb_is_enabled_permalinks() ) {
719
// Get class names for buttons size
720
$class_size = isset($mashsb_options['buttons_size']) ? ' ' . $mashsb_options['buttons_size'] : '';
721
722
+ // Override size with shortcode argument
723
+ $class_size = $size ? ' mash-'.$size : $class_size;
724
+
725
// No inline style if it's amp
726
$style = !mashsb_is_amp_page() ? 'style="float:' . $align . ';"' : '';
727
752
'services' => '0', //default is by admin option - plus 1 because array starts counting from zero
753
'align' => 'left',
754
'text' => '', // $text
755
+ 'url' => '', // $url
756
+ 'networks' => '', // List of networks separated by comma
757
+ 'size' => '', // small, medium, large button size
758
+ 'icons' => '0' // 1
759
+ ), $args ) );
760
761
// Visible services
762
$count_services = !empty($services) ? $services : 0;
763
764
+ // Enable specific networks
765
+ $networks = !empty($networks) ? explode(",", $networks) : false;
766
+
767
+ // Convert into appropriate array structure
768
+ if ($networks) {
769
+ $new = array();
770
+ foreach ($networks as $key => $value) {
771
+ $new[$key]['id'] = $value;
772
+ $new[$key]['status'] = '1';
773
+ $new[$key]['name'] = $value;
774
+ }
775
+ $networks = $new;
776
+ }
777
+
778
+ //var_dump( $new );
779
+
780
// Define custom url var to share
781
//$mashsb_custom_url = empty( $url ) ? mashsb_get_url() : $url;
782
// The global available custom url to share
788
$mashsb_custom_text = !empty( $text ) ? $text : false;
789
790
if( $shares != 'false' ) {
791
+ $sharecount = mashsb_render_sharecounts( $mashsb_url, $align, $size );
792
// shortcode [mashshare shares="true" buttons="false"]
793
if( $shares === "true" && $buttons === 'false' ) {
794
return $sharecount;
802
'<div class="mashsb-box">'
803
. $sharecount .
804
'<div class="mashsb-buttons">'
805
+ . mashsb_getNetworksShortcode( true, $count_services, $networks, $size, $icons ) .
806
'</div></div>
807
<div style="clear:both;"></div>'
808
. mashsb_subscribe_content()
813
return apply_filters( 'mashsb_output_buttons', $return );
814
}
815
816
+
817
/* Returns active status of Mashshare.
818
* Used for scripts.php $hook
819
* @since 2.0.3
1003
1004
if( has_post_thumbnail( $post->ID ) ) {
1005
$image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'single-post-thumbnail' );
1006
+ return isset($image[0]) ? $image[0] : '';
1007
}
1008
}
1009
1037
}
1038
1039
$the_excerpt = $the_post->post_content; //Gets post_content to be used as a basis for the excerpt
1040
+ // Strip all shortcodes
1041
$excerpt_length = 35; //Sets excerpt length by word count
1042
$the_excerpt = strip_tags( strip_shortcodes( $the_excerpt ) ); //Strips tags and images
1043
$words = explode( ' ', $the_excerpt, $excerpt_length + 1 );
mashshare.php CHANGED
@@ -6,7 +6,7 @@
6
* Description: Mashshare is a Share functionality inspired by the the great website Mashable for Facebook and Twitter. More networks available.
7
* Author: René Hermenau
8
* Author URI: https://www.mashshare.net
9
- * Version: 3.4.7
10
* Text Domain: mashsb
11
* Domain Path: /languages
12
* Credits: Thanks go to Pippin Williamson and the edd team. When we started with Mashshare we decided to use the EDD code base and
@@ -37,7 +37,7 @@ if( !defined( 'ABSPATH' ) )
37
38
// Plugin version
39
if( !defined( 'MASHSB_VERSION' ) ) {
40
- define( 'MASHSB_VERSION', '3.4.7' );
41
}
42
43
// Debug mode
6
* Description: Mashshare is a Share functionality inspired by the the great website Mashable for Facebook and Twitter. More networks available.
7
* Author: René Hermenau
8
* Author URI: https://www.mashshare.net
9
+ * Version: 3.4.9
10
* Text Domain: mashsb
11
* Domain Path: /languages
12
* Credits: Thanks go to Pippin Williamson and the edd team. When we started with Mashshare we decided to use the EDD code base and
37
38
// Plugin version
39
if( !defined( 'MASHSB_VERSION' ) ) {
40
+ define( 'MASHSB_VERSION', '3.4.9' );
41
}
42
43
// Debug mode
readme.txt CHANGED
@@ -9,7 +9,7 @@ License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
Tags: Share buttons, Social Sharing, social media, Facebook, Twitter, Subscribe, Traffic posts, pages, widget, social share buttons, analytics, email
10
Requires at least: 3.6+
11
Tested up to: 4.9
12
- Stable tag: 3.4.7
13
14
Social Media Share Buttons for Twitter, Facebook and other social networks. Highly customizable Social Media ecosystem
15
@@ -246,6 +246,19 @@ Read here more about this: http://docs.mashshare.net/article/10-facebook-is-show
246
247
== Changelog ==
248
249
= 3.4.7 =
250
* Fix: 100% PHP7 compatibility! No more warnings with php7 compatibility checker
251
@@ -293,5 +306,5 @@ https://www.mashshare.net/changelog/
293
294
== Upgrade Notice ==
295
296
- = 3.4.7 =
297
- 3.4.7 * 100% php7 compatibility! Make use of Twitter character limit of 280 characters. Compatible up to WordPress 4.9
9
Tags: Share buttons, Social Sharing, social media, Facebook, Twitter, Subscribe, Traffic posts, pages, widget, social share buttons, analytics, email
10
Requires at least: 3.6+
11
Tested up to: 4.9
12
+ Stable tag: 3.4.9
13
14
Social Media Share Buttons for Twitter, Facebook and other social networks. Highly customizable Social Media ecosystem
15
246
247
== Changelog ==
248
249
+ = 3.4.9 =
250
+ * New: Add new short code parameter [mashshare icons=1] allows to show icon buttons only
251
+ * Fix: Remove access token notice
252
+ * Tweak: Lower request break to 5min if facebook api req/hours limits are reached
253
+
254
+ = 3.4.8 =
255
+ * New: Extend shortcode and allow selection of certain networks and button size [mashshare networks="facebook,twitter,linkedin" services="3" size="small"]
256
+ * Tweak: Remove Facebook Access Token. Will be replaced by queue processing soon to prevent exceeding facebook api limits
257
+ * Tweak: Clean up debug mode
258
+ * Tweak: Clean up Welcome page
259
+ * Tweak: Clean up sidebar
260
+ * Fix: Tweet button
261
+
262
= 3.4.7 =
263
* Fix: 100% PHP7 compatibility! No more warnings with php7 compatibility checker
264
306
307
== Upgrade Notice ==
308
309
+ = 3.4.8 =
310
+ 3.4.8 * New shortcode options. Preparations for new MashShare count queue processing. Compatible up to WordPress 4.9.2
templates/sidebar.php CHANGED
@@ -16,13 +16,13 @@ $user = wp_get_current_user();
16
17
<a class="mashsb-banner" target="_blank" href="https://www.mashshare.net/pricing/?utm_source=insideplugin&utm_medium=userwebsite&utm_content=sidebar&utm_campaign=freeplugin"><img src="<?php echo MASHSB_PLUGIN_URL . 'assets/images/upgrade_to_pro.png'; ?>" width="300" height="250" alt="<?php _e( 'Increase your Shares and Social Traffic', 'mashsb' ); ?>" /></a>
18
19
- <form method="post" action="<?php echo $post; ?>" target="_blank" class="subscribe block">
20
- <h2><?php _e( 'Get 20% Off!', 'mashsb' ); ?></h2>
21
22
<?php $user = wp_get_current_user(); ?>
23
24
<p class="interesting">
25
- <?php echo wptexturize( __( "Submit your name and email and we'll send you a coupon for 20% off your upgrade to the pro version.", 'mashsb' ) ); ?>
26
</p>
27
28
<div class="field">
@@ -41,7 +41,7 @@ $user = wp_get_current_user();
41
<input type="hidden" name="source" value="8" />
42
43
<div class="field submit-button">
44
- <input type="submit" class="button" value="<?php _e( 'Send me the coupon', 'mashsb' ); ?>"/>
45
</div>
46
47
<p class="promise">
16
17
<a class="mashsb-banner" target="_blank" href="https://www.mashshare.net/pricing/?utm_source=insideplugin&utm_medium=userwebsite&utm_content=sidebar&utm_campaign=freeplugin"><img src="<?php echo MASHSB_PLUGIN_URL . 'assets/images/upgrade_to_pro.png'; ?>" width="300" height="250" alt="<?php _e( 'Increase your Shares and Social Traffic', 'mashsb' ); ?>" /></a>
18
19
+ <form method="post" action="<?php echo $post; ?>" target="_blank" class="subscribe block" style="display:none;">
20
+ <h2><?php _e( 'Get More Traffic', 'mashsb' ); ?></h2>
21
22
<?php $user = wp_get_current_user(); ?>
23
24
<p class="interesting">
25
+ <?php echo wptexturize( __( "Submit your name and email and we'll send you tips and tricks how to get more traffic by using MashShare", 'mashsb' ) ); ?>
26
</p>
27
28
<div class="field">
41
<input type="hidden" name="source" value="8" />
42
43
<div class="field submit-button">
44
+ <input type="submit" class="button" value="<?php _e( 'Send me the free stuff', 'mashsb' ); ?>"/>
45
</div>
46
47
<p class="promise">
templates/sidebar_mail.php ADDED
@@ -0,0 +1,72 @@
1
+ <?php
2
+ // Exit if accessed directly
3
+ if ( ! defined( 'ABSPATH' ) ) exit;
4
+
5
+ $post = 'https://www.mashshare.net/?mashsb_action=checkin';
6
+ if (MASHSB_DEBUG){
7
+ $post = 'https://src.wordpress-develop.dev/?mashsb_action=checkin';
8
+ }
9
+
10
+ // Get the current user data
11
+ $user = wp_get_current_user();
12
+
13
+ ?>
14
+
15
+ <div id="mashsb-sidebar">
16
+
17
+ <a class="mashsb-banner" target="_blank" href="https://www.mashshare.net/pricing/?utm_source=insideplugin&utm_medium=userwebsite&utm_content=sidebar&utm_campaign=freeplugin"><img src="<?php echo MASHSB_PLUGIN_URL . 'assets/images/upgrade_to_pro.png'; ?>" width="300" height="250" alt="<?php _e( 'Increase your Shares and Social Traffic', 'mashsb' ); ?>" /></a>
18
+
19
+ <form method="post" action="<?php echo $post; ?>" target="_blank" class="subscribe block">
20
+ <h2><?php _e( 'Get 20% Off!', 'mashsb' ); ?></h2>
21
+
22
+ <?php $user = wp_get_current_user(); ?>
23
+
24
+ <p class="interesting">
25
+ <?php echo wptexturize( __( "Submit your name and email and we'll send you a coupon for 20% off your upgrade to the pro version.", 'mashsb' ) ); ?>
26
+ </p>
27
+
28
+ <div class="field">
29
+ <input type="email" name="email" value="<?php echo esc_attr( $user->user_email ); ?>" placeholder="<?php _e( 'Your Email', 'mashsb' ); ?>"/>
30
+ </div>
31
+
32
+ <div class="field">
33
+ <input type="text" name="firstname" value="<?php echo esc_attr( trim( $user->user_firstname ) ); ?>" placeholder="<?php _e( 'First Name', 'mashsb' ); ?>"/>
34
+ </div>
35
+
36
+ <div class="field">
37
+ <input type="text" name="lastname" value="<?php echo esc_attr( trim( $user->user_lastname ) ); ?>" placeholder="<?php _e( 'Last Name', 'mashsb' ); ?>"/>
38
+ </div>
39
+
40
+ <input type="hidden" name="campaigns[]" value="4" />
41
+ <input type="hidden" name="source" value="8" />
42
+
43
+ <div class="field submit-button">
44
+ <input type="submit" class="button" value="<?php _e( 'Send me the coupon', 'mashsb' ); ?>"/>
45
+ </div>
46
+
47
+ <p class="promise">
48
+ <?php _e( 'Your email will not be used for anything else and you can unsubscribe with 1-click anytime.', 'mashsb' ); ?>
49
+ </p>
50
+ <p style="text-align: center;margin-top:25px;"><?php echo sprintf(__( '<a href="%s" target="_new" style="font-weight:bold;color:#00adff;border: 1px solid #00adff;padding:6px;">Visit Our Affiliate Program', 'mashsb'), 'https://www.mashshare.net/become-partner/?utm_source=mashsbadmin&utm_medium=website&utm_campaign=see_our_affiliate_program' ); ?></a></p>
51
+
52
+
53
+ </form>
54
+
55
+ <div class="block testimonial">
56
+ <p class="stars">
57
+ <span class="dashicons dashicons-star-filled"></span>
58
+ <span class="dashicons dashicons-star-filled"></span>
59
+ <span class="dashicons dashicons-star-filled"></span>
60
+ <span class="dashicons dashicons-star-filled"></span>
61
+ <span class="dashicons dashicons-star-filled"></span>
62
+ </p>
63
+
64
+ <p class="quote">
65
+ &#8220;Really happy with @Mashshare. This brilliant WordPress plugin helped increase @iCulture shares by 30%. Highly recommended.&#8221;
66
+ </p>
67
+
68
+ <p class="author">&mdash; Jean-Paul Horn</p>
69
+
70
+ <p class="via"><a target="_blank" href="https://twitter.com/JeanPaulH/status/726084101145550850">via Twitter</a></p>
71
+ </div>
72
+ </div>