// /* Social Media buttons script */ /* Partially from http://dev.wikia.com/wiki/ShowHide/code.js by Daniel Friesen and others */ // Namespaces the buttons should be loaded on if (!$.isArray(window.SocialMediaButtonsNamespaces)) { window.SocialMediaButtonsNamespaces = [0, 6, 14, 500]; } // Check namespace of article, cross-reference with namespaces entered if ( SocialMediaButtonsNamespaces.indexOf( mediaWiki.config.get( 'wgNamespaceNumber' ) ) > -1 ) { (function ($, mw, Wikia) { "use strict"; //Configuration var config = window.SocialMediaButtons = $.extend(true, { position: 'top', //Position of the buttons: "top" or "bottom" colorScheme: 'dark', //Color scheme of the buttons: "dark", "light" or "color" buttonSize: 'default', //Button size: "default" or "#px" wikiTwitterAccount: 'default', //Wiki Twitter account: "default" or "accountname" userLang: true, //i18n settings: "true" // German de: { google: "Teile diesen Artikel auf Google+", facebook: "Teile diesen Artikel auf Facebook", twitter: "Teile diesen Artikel auf Twitter", weibo: "Teile diesen Artikel auf Weibo", via: "via", twitterAccount: "Wikia_de", twitterMessage: "+für+Fans,+von+Fans.+" }, // English en: { google: "Share this on Google+", facebook: "Share this on Facebook", twitter: "Share this on Twitter", weibo: "Share this on Weibo", via: "via", twitterAccount: "Wikia", twitterMessage: "+from+the+most+knowledgeable+fans+on+the+planet.+" }, // Spanish es: { google: "Compártelo en Google+", facebook: "Compártelo en Facebook", twitter: "Compártelo en Twitter", weibo: "Compártelo en Weibo", via: "vía", twitterAccount: "Wikia_es", twitterMessage: "+de+fans,+para+fans.+" }, // French fr: { google: "Partager sur Google+", facebook: "Partager sur Facebook", twitter: "Partager sur Twitter", weibo: "Partager sur Weibo", via: "@Wikia_fr", twitterAccount: "Wikia_fr", twitterMessage: "+from+the+most+knowledgeable+fans+on+the+planet.+" }, // Hungarian hu: { google: "Megosztás a Google+-on", facebook: "Megosztás a Facebookon", twitter: "Megosztás a Twitteren", weibo: "Megosztás a Weibo-on", via: "via", twitterAccount: "Wikia", twitterMessage: "+a+földkerekség+legnagyobb+tudású+rajongóitól.+" }, // Japanese ja: { google: "Google+でシェアする", facebook: "Facebookでシェアする", twitter: "Twitterでシェアする", weibo: "Weiboでシェアする", via: "を用いて", twitterAccount: "Wikia", twitterMessage: "+from+the+most+knowledgeable+fans+on+the+planet.+" }, // Dutch nl: { google: "Deel dit op Google+", facebook: "Deel dit op Facebook", twitter: "Deel dit op Twitter", weibo: "Deel dit op Weibo", via: "via", twitterAccount: "Wikia_nl", twitterMessage: "+from+the+most+knowledgeable+fans+on+the+planet.+" }, // Polish pl: { google: "Podziel się na Google+", facebook: "Podziel się na Facebooku", twitter: "Podziel się na Twitterze", weibo: "Podziel się na Weibo", via: "przez", twitterAccount: "Wikia_pl", twitterMessage: "+from+the+most+knowledgeable+fans+on+the+planet.+" }, // Portuguese pt: { google: "Compartilhe no Google+", facebook: "Compartilhe no Facebook", twitter: "Compartilhe no Twitter", weibo: "Compartilhe no Weibo", via: "via", twitterAccount: "Wikia_pt", twitterMessage: "+from+the+most+knowledgeable+fans+on+the+planet.+" }, // Chinese zh: { google: "在Google+上分享", facebook: "在Facebook上分享", twitter: "在Twitter上分享", weibo: "在Weibo上分享", via: "を用いて", twitterAccount: "Wikia", twitterMessage: "+from+the+most+knowledgeable+fans+on+the+planet.+" } }, window.SocialMediaButtons || {}); // i18n function function msg(name) { if (config.userLang && mw.config.get('wgUserLanguage') in config && name in config[mw.config.get('wgUserLanguage')]) { return config[mw.config.get('wgUserLanguage')][name]; } if (mw.config.get('wgContentLanguage') in config && name in config[mw.config.get('wgContentLanguage')]) { return config[mw.config.get('wgContentLanguage')][name]; } return config.en[name]; } // Image colorscheme if (config.colorScheme === 'light') { var gInactive = 'http://static.wikia.com/messaging/images/7/7c/Google%2B_Light.png', fbInactive = 'http://static.wikia.com/messaging/images/5/56/Facebook_Light.png', twitterInactive = 'http://static.wikia.com/messaging/images/b/b8/Twitter_Light.png'; if (mw.config.get('wgContentLanguage') === "zh") { var weiboInactive = 'http://static.wikia.com/messaging/images/1/16/WeiboLight.png'; } } else if (config.colorScheme === 'color') { var gInactive = 'http://static.wikia.com/messaging/images/7/74/Google%2B_Hover.png', fbInactive = 'http://static.wikia.com/messaging/images/2/22/Facebook_Hover.png', twitterInactive = 'http://static.wikia.com/messaging/images/5/5d/Twitter_Hover.png'; if (mw.config.get('wgContentLanguage') === "zh") { var weiboInactive = 'http://static.wikia.com/messaging/images/9/93/WeiboHover.png'; } } else { var gInactive = 'http://static.wikia.com/messaging/images/4/45/Google%2B_Dark.png', fbInactive = 'http://static.wikia.com/messaging/images/8/83/Facebook_Dark.png', twitterInactive = 'http://static.wikia.com/messaging/images/d/d1/Twitter_Dark.png'; if (mw.config.get('wgContentLanguage') === "zh") { var weiboInactive = 'http://static.wikia.com/messaging/images/8/8f/WeiboDark.png'; } } var gHover = 'http://static.wikia.com/messaging/images/7/74/Google%2B_Hover.png', fbHover = 'http://static.wikia.com/messaging/images/2/22/Facebook_Hover.png', twitterHover = 'http://static.wikia.com/messaging/images/5/5d/Twitter_Hover.png'; // Pre-load the hover images to avoid delay var gHoverLoad = new Image(), fbHoverLoad = new Image(), twitterHoverLoad = new Image(); gHoverLoad.src = gHover; fbHoverLoad.src = fbHover; twitterHoverLoad.src = twitterHover; if (mw.config.get('wgContentLanguage') === "zh") { var weiboHover = 'http://static.wikia.com/messaging/images/9/93/WeiboHover.png'; var weiboHoverLoad = new Image(); weiboHoverLoad.src = weiboHover; } // Share URL's var currentURL = document.URL; var currentSiteName = mw.config.get('wgSiteName').replace(/ /g,"+"); var currentPageName = mw.config.get('wgPageName').replace(/_/g,"+").replace(/"/g,"%22"); if (mw.config.get('wgContentLanguage') === "zh") { var siteName = mw.config.get('wgSiteName'); var sudaRef = mw.config.get('wgServer').replace(/http\:\/\//g,""); } var gShare = 'https://plus.google.com/share?url=' + currentURL; var fbShare = 'https://facebook.com/sharer/sharer.php?u=' + currentURL; if(config.wikiTwitterAccount !== 'default') { var twitterAcc = config.wikiTwitterAccount; } else { var twitterAcc = msg('twitterAccount'); } var twitterShare = 'https://twitter.com/intent/tweet?original_referer=' + currentURL + '&text=' + currentPageName + msg('twitterMessage') + currentSiteName + '&url=' + currentURL + '&via=' + twitterAcc; + '&via=' + twitterAcc; if (mw.config.get('wgContentLanguage') === "zh") { var weiboShare = 'http://service.weibo.com/share/share.php?url=' + currentURL + '&title=' + siteName + '&sudaref=' + sudaRef; } //Border color, positioning and HTML for the various namespaces if (mediaWiki.config.get( 'wgNamespaceNumber' ) === 500) { var borderColor = $('#WikiaUserPagesHeader').css('border-bottom-color'); var appendTo = '#WikiaUserPagesHeader'; var topHTML = 'float: right; margin-top: -24px;'; } else if (mediaWiki.config.get( 'wgNamespaceNumber' ) === 1201) { var borderColor = $('#mw-content-text .BreadCrumbs').css('border-bottom-color'); var appendTo = '#mw-content-text .BreadCrumbs'; var topHTML = 'float:right;'; } else { var borderColor = $('#WikiaPageHeader').css('border-bottom-color'); var appendTo = '#WikiaPageHeader'; if (mediaWiki.config.get( 'wgPageName' ) === mediaWiki.config.get( 'wgMainPageTitle' ).replace(/ /g,'_')) { var topHTML = 'padding-top: 4px; position: absolute; top: 29px; right: 0;'; } else { var topHTML = 'position: absolute; top: 29px; right: 0;'; } } // Append the buttons $(function () { if (config.position === 'top') { if(config.buttonSize !== 'default') { var buttonSizePX = config.buttonSize; } else { var buttonSizePX = "21px"; } var socialHTML = '
'; $(appendTo).append(socialHTML); if ($('#WikiaPageHeader').length) { var WikiaPageHeaderHeight = $('#WikiaPageHeader').height(); if (mediaWiki.config.get( 'wgPageName' ) !== mediaWiki.config.get( 'wgMainPageTitle' ).replace(/ /g,'_')) { var paddingBottom = parseInt(buttonSizePX.replace('px','')) + 5 + 'px'; $('#WikiaPageHeader').css('padding-bottom', paddingBottom); } else if(mediaWiki.config.get( 'wgPageName' ) === mediaWiki.config.get( 'wgMainPageTitle' ).replace(/ /g,'_')) { var paddingBottom = parseInt(buttonSizePX.replace('px','')) + 8 + 'px'; $('#WikiaPageHeader').css('padding-bottom', paddingBottom); } } } else { if(config.buttonSize !== 'default') { var buttonSizePX = config.buttonSize; } else { var buttonSizePX = "64px"; } var socialHTML = '
'; $('#mw-content-text').append(socialHTML); } if (mw.config.get('wgContentLanguage') === "zh") { if (config.position === 'top') { $('.socialmedia-share').prepend(''); } else { $('.socialmedia-share').prepend(''); $('.socialmedia-share .googleplus').css('padding-left','5px'); } } // Change the button on hover $('.socialmedia-share .googleplus').hover(function () { $(this).attr('src', gHover); }, function () { $(this).attr('src', gInactive); }); $('.socialmedia-share .facebook').hover(function () { $(this).attr('src', fbHover); }, function () { $(this).attr('src', fbInactive); }); $('.socialmedia-share .twitter').hover(function () { $(this).attr('src', twitterHover); }, function () { $(this).attr('src', twitterInactive); }); if (mw.config.get('wgContentLanguage') === "zh") { $('.socialmedia-share .weibo').hover(function () { $(this).attr('src', weiboHover); }, function () { $(this).attr('src', weiboInactive); }); } // Pop-up instead of new window function createPopup(url,windowName) { var popupWindow=window.open(url,windowName,'height=500,width=600,menubar=0,toolbar=0,location=1,scrollbars=1,status=1,resizable=1'); if (window.focus) { popupWindow.focus(); } return false; } function trackClick(label, event) { return Wikia.Tracker.track({ action: Wikia.Tracker.ACTIONS.CLICK_LINK_BUTTON, browserEvent: event, category: 'custom-share', label: label, trackingMethod: 'ga' }); } $('.socialmedia-share img').on('click',function(event) { event.preventDefault(); var socialNetwork = $(this).attr('class'); var socialNetworkURL = $(this).parent().attr('href'); if(socialNetwork.indexOf('googleplus') >= 0) { createPopup(socialNetworkURL,'googleplusPopup'); trackClick('googleplus', event); } else if(socialNetwork.indexOf('facebook') >= 0) { createPopup(socialNetworkURL,'facebookPopup'); trackClick('facebook', event); } else if(socialNetwork.indexOf('twitter') >= 0) { createPopup(socialNetworkURL,'twitterPopup'); trackClick('twitter', event); } else if(socialNetwork.indexOf('weibo') >= 0) { createPopup(socialNetworkURL,'weiboPopup'); trackClick('weibo', event); } }); }); }(jQuery, mediaWiki, Wikia)); } //