modul-share-buttons

RPICMS SHare Buttons
git clone git://archive.git.mtrnord.blog/RpicmsTeam/modul-share-buttons.git
Log | Files | Refs | README | LICENSE

commit 104db08f0e12ce6aa96dbe5d0cf08016c085ac70
parent 70c773b9c525c0c87bf04476496f912fb2554d1e
Author: MTRNord <MTRNord1@gmail.com>
Date:   Sat,  3 Jan 2015 12:33:30 +0100

Merge pull request #1 from RpicmsTeam/develop

V1
Diffstat:
Ahtml_header.php | 21+++++++++++++++++++++
Apost_footer.php | 2++
Asocialshareprivacy/images/2-klick-logo.jpg | 0
Asocialshareprivacy/images/dummy_facebook.png | 0
Asocialshareprivacy/images/dummy_facebook_dark.png | 0
Asocialshareprivacy/images/dummy_facebook_en.png | 0
Asocialshareprivacy/images/dummy_facebook_like.png | 0
Asocialshareprivacy/images/dummy_facebook_share_de.png | 0
Asocialshareprivacy/images/dummy_facebook_share_de_dark.png | 0
Asocialshareprivacy/images/dummy_facebook_share_en.png | 0
Asocialshareprivacy/images/dummy_facebook_share_en_dark.png | 0
Asocialshareprivacy/images/dummy_gplus.png | 0
Asocialshareprivacy/images/dummy_gplus_alt.png | 0
Asocialshareprivacy/images/dummy_gplus_dark.png | 0
Asocialshareprivacy/images/dummy_twitter.png | 0
Asocialshareprivacy/images/dummy_twitter_dark.png | 0
Asocialshareprivacy/images/facebook_share_de.png | 0
Asocialshareprivacy/images/facebook_share_de_dark.png | 0
Asocialshareprivacy/images/facebook_share_en.png | 0
Asocialshareprivacy/images/facebook_share_en_dark.png | 0
Asocialshareprivacy/images/settings.png | 0
Asocialshareprivacy/images/settings_dark.png | 0
Asocialshareprivacy/images/socialshareprivacy_info.png | 0
Asocialshareprivacy/images/socialshareprivacy_info_dark.png | 0
Asocialshareprivacy/images/socialshareprivacy_on_off.png | 0
Asocialshareprivacy/images/socialshareprivacy_on_off_dark.png | 0
Asocialshareprivacy/js/jquery.socialshareprivacy.js | 446+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Asocialshareprivacy/js/jquery.socialshareprivacy.min.js | 2++
Asocialshareprivacy/lang/de.lang | 30++++++++++++++++++++++++++++++
Asocialshareprivacy/lang/en.lang | 30++++++++++++++++++++++++++++++
Asocialshareprivacy/socialshareprivacy.css | 335+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
31 files changed, 866 insertions(+), 0 deletions(-)

diff --git a/html_header.php b/html_header.php @@ -0,0 +1,20 @@ + <script type="text/javascript" src="../../core/libs/theme_engine/jquery/jquery-1.11.2.min.js"></script> + <script type="text/javascript" src="../../core/backend/admin/modules/share_buttons/socialshareprivacy/js/jquery.socialshareprivacy.min.js"></script> + <script type="text/javascript"> + jQuery(document).ready(function($){ + if($('#socialshareprivacy').length > 0){ + $('#socialshareprivacy').socialSharePrivacy({ + services : { + facebook : { + 'perma_option' : 'on' + }, + gplus : { + } + }, + "css_path" : "../../core/backend/admin/modules/share_buttons/socialshareprivacy/socialshareprivacy.css", + "lang_path" : "../../core/backend/admin/modules/share_buttons/socialshareprivacy/lang/", + "language" : "de" + }); + } + }); + </script> +\ No newline at end of file diff --git a/post_footer.php b/post_footer.php @@ -0,0 +1 @@ +<div id="socialshareprivacy"></div> +\ No newline at end of file diff --git a/socialshareprivacy/images/2-klick-logo.jpg b/socialshareprivacy/images/2-klick-logo.jpg Binary files differ. diff --git a/socialshareprivacy/images/dummy_facebook.png b/socialshareprivacy/images/dummy_facebook.png Binary files differ. diff --git a/socialshareprivacy/images/dummy_facebook_dark.png b/socialshareprivacy/images/dummy_facebook_dark.png Binary files differ. diff --git a/socialshareprivacy/images/dummy_facebook_en.png b/socialshareprivacy/images/dummy_facebook_en.png Binary files differ. diff --git a/socialshareprivacy/images/dummy_facebook_like.png b/socialshareprivacy/images/dummy_facebook_like.png Binary files differ. diff --git a/socialshareprivacy/images/dummy_facebook_share_de.png b/socialshareprivacy/images/dummy_facebook_share_de.png Binary files differ. diff --git a/socialshareprivacy/images/dummy_facebook_share_de_dark.png b/socialshareprivacy/images/dummy_facebook_share_de_dark.png Binary files differ. diff --git a/socialshareprivacy/images/dummy_facebook_share_en.png b/socialshareprivacy/images/dummy_facebook_share_en.png Binary files differ. diff --git a/socialshareprivacy/images/dummy_facebook_share_en_dark.png b/socialshareprivacy/images/dummy_facebook_share_en_dark.png Binary files differ. diff --git a/socialshareprivacy/images/dummy_gplus.png b/socialshareprivacy/images/dummy_gplus.png Binary files differ. diff --git a/socialshareprivacy/images/dummy_gplus_alt.png b/socialshareprivacy/images/dummy_gplus_alt.png Binary files differ. diff --git a/socialshareprivacy/images/dummy_gplus_dark.png b/socialshareprivacy/images/dummy_gplus_dark.png Binary files differ. diff --git a/socialshareprivacy/images/dummy_twitter.png b/socialshareprivacy/images/dummy_twitter.png Binary files differ. diff --git a/socialshareprivacy/images/dummy_twitter_dark.png b/socialshareprivacy/images/dummy_twitter_dark.png Binary files differ. diff --git a/socialshareprivacy/images/facebook_share_de.png b/socialshareprivacy/images/facebook_share_de.png Binary files differ. diff --git a/socialshareprivacy/images/facebook_share_de_dark.png b/socialshareprivacy/images/facebook_share_de_dark.png Binary files differ. diff --git a/socialshareprivacy/images/facebook_share_en.png b/socialshareprivacy/images/facebook_share_en.png Binary files differ. diff --git a/socialshareprivacy/images/facebook_share_en_dark.png b/socialshareprivacy/images/facebook_share_en_dark.png Binary files differ. diff --git a/socialshareprivacy/images/settings.png b/socialshareprivacy/images/settings.png Binary files differ. diff --git a/socialshareprivacy/images/settings_dark.png b/socialshareprivacy/images/settings_dark.png Binary files differ. diff --git a/socialshareprivacy/images/socialshareprivacy_info.png b/socialshareprivacy/images/socialshareprivacy_info.png Binary files differ. diff --git a/socialshareprivacy/images/socialshareprivacy_info_dark.png b/socialshareprivacy/images/socialshareprivacy_info_dark.png Binary files differ. diff --git a/socialshareprivacy/images/socialshareprivacy_on_off.png b/socialshareprivacy/images/socialshareprivacy_on_off.png Binary files differ. diff --git a/socialshareprivacy/images/socialshareprivacy_on_off_dark.png b/socialshareprivacy/images/socialshareprivacy_on_off_dark.png Binary files differ. diff --git a/socialshareprivacy/js/jquery.socialshareprivacy.js b/socialshareprivacy/js/jquery.socialshareprivacy.js @@ -0,0 +1,445 @@ +/* + * jquery.socialshareprivacy.js | 2 Klicks fuer mehr Datenschutz (1.6) + * + * http://www.heise.de/extras/socialshareprivacy/ + * http://www.heise.de/ct/artikel/2-Klicks-fuer-mehr-Datenschutz-1333879.html + * + * Copyright (c) 2011-2014 Hilko Holweg, Sebastian Hilbig, Nicolas Heiringhoff, Juergen Schmidt, + * Heise Zeitschriften Verlag GmbH & Co. KG, http://www.heise.de + * + * is released under the MIT License http://www.opensource.org/licenses/mit-license.php + * + * Spread the word, link to us if you can. + */ +(function ($) { + + "use strict"; + + // + // helper functions + // + + // abbreviate at last blank before length and add "\u2026" (horizontal ellipsis) + function abbreviateText(text, length) { + var abbreviated = decodeURIComponent(text); + if (abbreviated.length <= length) { + return text; + } + + var lastWhitespaceIndex = abbreviated.substring(0, length - 1).lastIndexOf(' '); + abbreviated = encodeURIComponent(abbreviated.substring(0, lastWhitespaceIndex)) + "\u2026"; + + return abbreviated; + } + + // returns content of <meta name="" content=""> tags or '' if empty/non existant + function getMeta(name) { + var metaContent = $('meta[name="' + name + '"]').attr('content'); + return metaContent || ''; + } + + // create tweet text from content of <meta name="DC.title"> and <meta name="DC.creator"> + // fallback to content of <title> tag + function getTweetText() { + var title = getMeta('DC.title'); + var creator = getMeta('DC.creator'); + + if (title.length > 0 && creator.length > 0) { + title += ' - ' + creator; + } else { + title = $('title').text(); + } + + return encodeURIComponent(title); + } + + // build URI from rel="canonical" or document.location + function getURI() { + var uri = document.location.href; + var canonical = $("link[rel=canonical]").attr("href"); + + if (canonical && canonical.length > 0) { + if (canonical.indexOf("http") < 0) { + canonical = document.location.protocol + "//" + document.location.host + canonical; + } + uri = canonical; + } + + return uri; + } + + function cookieSet(name, value, days, path, domain) { + var expires = new Date(); + expires.setTime(expires.getTime() + (days * 24 * 60 * 60 * 1000)); + document.cookie = name + '=' + value + '; expires=' + expires.toUTCString() + '; path=' + path + '; domain=' + domain; + } + function cookieDel(name, value, path, domain) { + var expires = new Date(); + expires.setTime(expires.getTime() - 100); + document.cookie = name + '=' + value + '; expires=' + expires.toUTCString() + '; path=' + path + '; domain=' + domain; + } + + // extend jquery with our plugin function + $.fn.socialSharePrivacy = function (settings) { + var defaults = { + 'services' : { + 'facebook' : { + 'status' : 'on', + 'dummy_img' : '../../core/backend/admin/modules/share_buttons/socialshareprivacy/images/dummy_facebook.png', + 'perma_option' : 'on', + 'referrer_track' : '', + 'action' : 'recommend', + 'layout' : 'button_count', + 'sharer' : { + 'status' : 'off', + 'dummy_img' : '../../core/backend/admin/modules/share_buttons/socialshareprivacy/images/dummy_facebook_share_de.png', + 'img' : '../../core/backend/admin/modules/share_buttons/socialshareprivacy/images/dummy_facebook_share_active_de.png' + } + }, + 'twitter' : { + 'status' : 'on', + 'dummy_img' : '../../core/backend/admin/modules/share_buttons/socialshareprivacy/images/dummy_twitter.png', + 'perma_option' : 'on', + 'referrer_track' : '', + 'tweet_text' : getTweetText, + 'count' : 'horizontal' + }, + 'gplus' : { + 'status' : 'on', + 'dummy_img' : '../../core/backend/admin/modules/share_buttons/socialshareprivacy/images/dummy_gplus.png', + 'perma_option' : 'on', + 'referrer_track' : '', + 'size' : 'medium' + } + }, + 'info_link' : 'http://www.heise.de/ct/artikel/2-Klicks-fuer-mehr-Datenschutz-1333879.html', + 'cookie_path' : '/', + 'cookie_domain' : document.location.host, + 'cookie_expires' : '365', + 'css_path' : '../../core/backend/admin/modules/share_buttons/socialshareprivacy/socialshareprivacy.css', + 'uri' : getURI, + 'language' : 'de', + 'lang_path' : '../../core/backend/admin/modules/share_buttons/socialshareprivacy/lang/', + 'skin' : 'light', + 'alignment' : 'horizontal', + 'switch_alignment' : 'left', + 'perma_orientation' : 'down' + }; + + // Standardwerte des Plug-Ins mit den vom User angegebenen Optionen ueberschreiben + var options = $.extend(true, defaults, settings); + + var facebook_on = (options.services.facebook.status === 'on'); + var facebook_sharer_on = (options.services.facebook.sharer.status === 'on'); + var twitter_on = (options.services.twitter.status === 'on'); + var gplus_on = (options.services.gplus.status === 'on'); + + // check if at least one service is "on" + if (!facebook_on && !twitter_on && !gplus_on) { + return; + } + + // insert stylesheet into document and prepend target element + if (options.css_path.length > 0 && $(window).data('socialshareprivacy_css') != '1') { + // IE fix (noetig fuer IE < 9 - wird hier aber fuer alle IE gemacht) + if (document.createStyleSheet) { + document.createStyleSheet(options.css_path); + } + else { + $('head').append('<link rel="stylesheet" type="text/css" href="' + options.css_path + '" />'); + } + + $(window).data('socialshareprivacy_css','1'); + } + + var language; + + function loadLangFile() { + var d = $.Deferred(); + + $.getJSON(options.lang_path + options.language+'.lang', function(data) { + language = data; + d.resolve(); + }).fail(function(s){ + if(typeof console !== "undefined") { + console.log('Error ' + s.status + ' while loading the language file ('+options.lang_path+options.language+'.lang)'); + } + d.reject(); + }); + + return d.promise(); + } + + return this.each(function () { + $('div#socialshareprivacy').each(function(){ + var iteration = this; + + $.when( + loadLangFile()) + .then( function() { + $(iteration).prepend('<ul class="social_share_privacy_area clearfix"></ul>'); + var context = $('.social_share_privacy_area', iteration); + + // Class for dark skinning + if(options.skin == 'dark') { + $(context).addClass('skin-dark'); + } + + // Class for alignment + if(options.alignment == 'vertical') { + $(context).addClass('vertical'); + + if(options.switch_alignment == 'right' && + ((facebook_on && options.services.facebook.layout == 'box_count') || (!facebook_on)) && + ((twitter_on && options.services.twitter.count == 'vertical') || (!twitter_on)) && + ((gplus_on && options.services.gplus.size == 'tall') || (!gplus_on))) { + $(context).addClass('switch_right'); + } + } + + // canonical uri that will be shared + var uri = options.uri; + if (typeof uri === 'function') { + uri = uri(context); + } + + // + // Facebook + // + if (facebook_on) { + var fb_dummy_btn; + var fb_code; + + var fb_height = options.services.facebook.layout == 'box_count' ? '61' : '21'; + var fb_width = options.services.facebook.layout == 'box_count' ? '90' : '130'; + + var fb_enc_uri = encodeURIComponent(uri + options.services.facebook.referrer_track); + + if (facebook_sharer_on) { + fb_dummy_btn = '<img src="' + options.services.facebook.sharer.dummy_img + '" alt="Facebook &quot;Share&quot;-Dummy" class="fb_like_privacy_dummy" />'; + fb_code = '<a href="#" onclick="window.open(\'https://www.facebook.com/sharer/sharer.php?u=' + fb_enc_uri + '\', \'facebook-share-dialog\', \'width=626,height=436\'); return false;"><img src="'+options.services.facebook.sharer.img+'" alt="" /></a>'; + } + else { + fb_dummy_btn = '<img src="' + options.services.facebook.dummy_img + '" alt="Facebook &quot;Like&quot;-Dummy" class="fb_like_privacy_dummy" />'; + fb_code = '<iframe src="//www.facebook.com/plugins/like.php?locale=' + language.services.facebook.language + '&amp;href=' + fb_enc_uri + '&amp;width=' + fb_width + '&amp;layout=' + options.services.facebook.layout + '&amp;action=' + options.services.facebook.action + '&amp;show_faces=false&amp;share=false&amp;height=' + fb_height + '&amp;colorscheme=' + options.skin + '" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:' + fb_width + 'px; height:' + fb_height + 'px;" allowTransparency="true"></iframe>'; + } + context.append('<li class="facebook help_info clearfix"><span class="info">' + language.services.facebook.txt_info + '</span><a href="#" class="switch off">' + language.services.facebook.txt_fb_off + '</a><div class="fb_like dummy_btn">' + fb_dummy_btn + '</div></li>'); + + var $container_fb = $('li.facebook', context); + $(context).on('click', 'li.facebook div.fb_like img.fb_like_privacy_dummy,li.facebook .switch', function (e) { + e.preventDefault(); + if ($container_fb.find('.switch').hasClass('off')) { + $container_fb.addClass('info_off'); + $container_fb.find('.switch').addClass('on').removeClass('off').html(language.services.facebook.txt_fb_on); + $container_fb.find('img.fb_like_privacy_dummy').replaceWith(fb_code); + } + else { + $container_fb.removeClass('info_off'); + $container_fb.find('.switch').addClass('off').removeClass('on').html(language.services.facebook.txt_fb_off); + $container_fb.find('.fb_like').html(fb_dummy_btn); + } + }); + } + + // + // Twitter + // + if (twitter_on) { + var text = options.services.twitter.tweet_text; + if (typeof text === 'function') { + text = text(); + } + // 120 is the max character count left after twitters automatic url shortening with t.co + text = abbreviateText(text, '120'); + + var tw_height = options.services.twitter.count == 'horizontal' ? '25' : '62'; + var tw_width = options.services.twitter.count == 'horizontal' ? '130' : '83'; + + var twitter_enc_uri = encodeURIComponent(uri + options.services.twitter.referrer_track); + var twitter_count_url = encodeURIComponent(uri); + var twitter_code = '<iframe allowtransparency="true" frameborder="0" scrolling="no" src="//platform.twitter.com/widgets/tweet_button.html?url=' + twitter_enc_uri + '&amp;counturl=' + twitter_count_url + '&amp;text=' + text + '&amp;count=' + options.services.twitter.count + '&amp;lang=' + language.services.twitter.language + '&amp;dnt=true" style="width:' + tw_width + 'px; height:' + tw_height + 'px;"></iframe>'; + var twitter_dummy_btn = '<img src="' + options.services.twitter.dummy_img + '" alt="&quot;Tweet this&quot;-Dummy" class="tweet_this_dummy" />'; + + context.append('<li class="twitter help_info clearfix"><span class="info">' + language.services.twitter.txt_info + '</span><a href="#" class="switch off">' + language.services.twitter.txt_twitter_off + '</a><div class="tweet dummy_btn">' + twitter_dummy_btn + '</div></li>'); + + var $container_tw = $('li.twitter', context); + + $(context).on('click', 'li.twitter div.tweet img,li.twitter .switch', function (e) { + e.preventDefault(); + if ($container_tw.find('.switch').hasClass('off')) { + $container_tw.addClass('info_off'); + $container_tw.find('.switch').addClass('on').removeClass('off').html(language.services.twitter.txt_twitter_on); + $container_tw.find('img.tweet_this_dummy').replaceWith(twitter_code); + } + else { + $container_tw.removeClass('info_off'); + $container_tw.find('.switch').addClass('off').removeClass('on').html(language.services.twitter.txt_twitter_off); + $container_tw.find('.tweet').html(twitter_dummy_btn); + } + }); + } + + // + // Google+ + // + if (gplus_on) { + // fuer G+ wird die URL nicht encoded, da das zu einem Fehler fuehrt + var gplus_uri = uri + options.services.gplus.referrer_track; + + // we use the Google+ "asynchronous" code, standard code is flaky if inserted into dom after load + var gplus_code = '<div class="g-plusone" data-size="' + options.services.gplus.size + '" data-href="' + gplus_uri + '"></div><script type="text/javascript">window.___gcfg = {lang: "' + language.services.gplus.language + '"}; (function() { var po = document.createElement("script"); po.type = "text/javascript"; po.async = true; po.src = "https://apis.google.com/js/platform.js"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(po, s); })(); </script>'; + var gplus_dummy_btn = '<img src="' + options.services.gplus.dummy_img + '" alt="&quot;Google+1&quot;-Dummy" class="gplus_one_dummy" />'; + + context.append('<li class="gplus help_info clearfix"><span class="info">' + language.services.gplus.txt_info + '</span><a href="#" class="switch off">' + language.services.gplus.txt_gplus_off + '</a><div class="gplusone dummy_btn">' + gplus_dummy_btn + '</div></li>'); + + var $container_gplus = $('li.gplus', context); + + $(context).on('click', 'li.gplus div.gplusone img,li.gplus .switch', function (e) { + e.preventDefault(); + if ($container_gplus.find('.switch').hasClass('off')) { + $container_gplus.addClass('info_off'); + $container_gplus.find('.switch').addClass('on').removeClass('off').html(language.services.gplus.txt_gplus_on); + $container_gplus.find('img.gplus_one_dummy').replaceWith(gplus_code); + } + else { + $container_gplus.removeClass('info_off'); + $container_gplus.find('.switch').addClass('off').removeClass('on').html(language.services.gplus.txt_gplus_off); + $container_gplus.find('.gplusone').html(gplus_dummy_btn); + } + }); + } + + // + // Der Info/Settings-Bereich wird eingebunden + // + context.append('<li class="settings_info ' + options.perma_orientation + '"><div class="settings_info_menu off perma_option_off"><a href="' + options.info_link + '"><span class="help_info icon"><span class="info">' + language.txt_help + '</span></span></a></div></li>'); + + // Info-Overlays mit leichter Verzoegerung einblenden + $(context).on('mouseenter', '.help_info:not(.info_off)', function () { + var $info_wrapper = $(this); + var timeout_id = window.setTimeout(function () { $($info_wrapper).addClass('display'); }, 500); + $(this).data('timeout_id', timeout_id); + }); + $(context).on('mouseleave', '.help_info', function () { + var timeout_id = $(this).data('timeout_id'); + window.clearTimeout(timeout_id); + if ($(this).hasClass('display')) { + $(this).removeClass('display'); + } + }); + + var facebook_perma = (options.services.facebook.perma_option === 'on'); + var twitter_perma = (options.services.twitter.perma_option === 'on'); + var gplus_perma = (options.services.gplus.perma_option === 'on'); + + // Menue zum dauerhaften Einblenden der aktiven Dienste via Cookie einbinden + if ((facebook_on && facebook_perma) || (twitter_on && twitter_perma) || (gplus_on && gplus_perma)) { + + // Cookies abrufen + var cookie_list = document.cookie.split(';'); + var cookies = '{'; + var i = 0; + for (; i < cookie_list.length; i += 1) { + var foo = cookie_list[i].split('='); + // Spaces and Quotes getting removed + foo[0] = $.trim(foo[0].replace(/"/g, '')); + foo[1] = $.trim(foo[1].replace(/"/g, '')); + cookies += '"' + foo[0] + '":"' + foo[1] + '"'; + if (i < cookie_list.length - 1) { + cookies += ','; + } + } + cookies += '}'; + cookies = jQuery.parseJSON(cookies); + + // Container definieren + var $container_settings_info = $('li.settings_info', context); + + // Klasse entfernen, die das i-Icon alleine formatiert, da Perma-Optionen eingeblendet werden + $container_settings_info.find('.settings_info_menu').removeClass('perma_option_off'); + + // Perma-Optionen-Icon (.settings) und Formular (noch versteckt) einbinden + $container_settings_info.find('.settings_info_menu').append('<a href="#" class="settings">' + language.settings + '</a><form><fieldset><legend>' + language.settings_perma + '</legend></fieldset></form>'); + + + var random = 'r' + Math.floor(Math.random()*101); + + // Die Dienste mit <input> und <label>, sowie checked-Status laut Cookie, schreiben + var checked = ' checked="checked"'; + if (facebook_on && facebook_perma) { + var perma_status_facebook = cookies.socialSharePrivacy_facebook === 'perma_on' ? checked : ''; + $container_settings_info.find('form fieldset').append( + '<input type="checkbox" name="perma_status_facebook" id="' + random + '_perma_status_facebook"' + perma_status_facebook + ' /><label for="'+random+'_perma_status_facebook">' + language.services.facebook.perma_display_name + '</label>' + ); + } + + if (twitter_on && twitter_perma) { + var perma_status_twitter = cookies.socialSharePrivacy_twitter === 'perma_on' ? checked : ''; + $container_settings_info.find('form fieldset').append( + '<input type="checkbox" name="perma_status_twitter" id="' + random + '_perma_status_twitter"' + perma_status_twitter + ' /><label for="'+random+'_perma_status_twitter">' + language.services.twitter.perma_display_name + '</label>' + ); + } + + if (gplus_on && gplus_perma) { + var perma_status_gplus = cookies.socialSharePrivacy_gplus === 'perma_on' ? checked : ''; + $container_settings_info.find('form fieldset').append( + '<input type="checkbox" name="perma_status_gplus" id="'+random+'_perma_status_gplus"' + perma_status_gplus + ' /><label for="'+random+'_perma_status_gplus">' + language.services.gplus.perma_display_name + '</label>' + ); + } + + // Settings-Menue per Tastatur erreichbar machen, die Mouseevents werden getriggert + $(context).on('click', 'li.settings_info .settings', function (e) { + e.preventDefault(); + if($(this).data('keyb') == 'on') { + $('li.settings_info', context).trigger('mouseleave'); + $(this).data('keyb','off'); + } + else { + $('li.settings_info .settings', context).trigger('mouseenter'); + $(this).data('keyb','on'); + } + }); + + // Einstellungs-Menue bei mouseover ein-/ausblenden + $(context).on('mouseenter', 'li.settings_info .settings', function () { + var timeout_id = window.setTimeout(function () { $container_settings_info.find('.settings_info_menu').removeClass('off').addClass('on'); }, 500); + $(this).data('timeout_id', timeout_id); + }); + $(context).on('mouseleave', 'li.settings_info', function () { + var timeout_id = $(this).data('timeout_id'); + window.clearTimeout(timeout_id); + $container_settings_info.find('.settings_info_menu').removeClass('on').addClass('off'); + }); + + // Klick-Interaktion auf <input> um Dienste dauerhaft ein- oder auszuschalten (Cookie wird gesetzt oder geloescht) + $(context).on('click', 'li.settings_info fieldset input', function (event) { + var click = event.target.id; + var service = click.substr(click.lastIndexOf('_') + 1, click.length); + var cookie_name = 'socialSharePrivacy_' + service; + + if ($('#' + event.target.id + ':checked').length) { + cookieSet(cookie_name, 'perma_on', options.cookie_expires, options.cookie_path, options.cookie_domain); + $('form fieldset label[for=' + click + ']', context).addClass('checked'); + } + else { + cookieDel(cookie_name, 'perma_on', options.cookie_path, options.cookie_domain); + $('form fieldset label[for=' + click + ']', context).removeClass('checked'); + } + }); + + // Dienste automatisch einbinden, wenn entsprechendes Cookie vorhanden ist + if (facebook_on && facebook_perma && cookies.socialSharePrivacy_facebook === 'perma_on') { + $('li.facebook .switch', context).click(); + } + if (twitter_on && twitter_perma && cookies.socialSharePrivacy_twitter === 'perma_on') { + $('li.twitter .switch', context).click(); + } + if (gplus_on && gplus_perma && cookies.socialSharePrivacy_gplus === 'perma_on') { + $('li.gplus .switch', context).click(); + } + } + }); // .then() + }); + }); // this.each(function () + }; // $.fn.socialSharePrivacy = function (settings) { +}(jQuery)); +\ No newline at end of file diff --git a/socialshareprivacy/js/jquery.socialshareprivacy.min.js b/socialshareprivacy/js/jquery.socialshareprivacy.min.js @@ -0,0 +1 @@ +!function(e){"use strict";function t(e,t){var s=decodeURIComponent(e);if(s.length<=t)return e;var a=s.substring(0,t-1).lastIndexOf(" ");return s=encodeURIComponent(s.substring(0,a))+"…"}function s(t){var s=e('meta[name="'+t+'"]').attr("content");return s||""}function a(){var t=s("DC.title"),a=s("DC.creator");return t.length>0&&a.length>0?t+=" - "+a:t=e("title").text(),encodeURIComponent(t)}function i(){var t=document.location.href,s=e("link[rel=canonical]").attr("href");return s&&s.length>0&&(s.indexOf("http")<0&&(s=document.location.protocol+"//"+document.location.host+s),t=s),t}function o(e,t,s,a,i){var o=new Date;o.setTime(o.getTime()+24*s*60*60*1e3),document.cookie=e+"="+t+"; expires="+o.toUTCString()+"; path="+a+"; domain="+i}function r(e,t,s,a){var i=new Date;i.setTime(i.getTime()-100),document.cookie=e+"="+t+"; expires="+i.toUTCString()+"; path="+s+"; domain="+a}e.fn.socialSharePrivacy=function(s){function n(){var t=e.Deferred();return e.getJSON(l.lang_path+l.language+".lang",function(e){u=e,t.resolve()}).fail(function(e){"undefined"!=typeof console&&console.log("Error "+e.status+" while loading the language file ("+l.lang_path+l.language+".lang)"),t.reject()}),t.promise()}var c={services:{facebook:{status:"on",dummy_img:"../../core/backend/admin/modules/share_buttons/socialshareprivacy/images/dummy_facebook.png",perma_option:"on",referrer_track:"",action:"recommend",layout:"button_count",sharer:{status:"off",dummy_img:"../../core/backend/admin/modules/share_buttons/socialshareprivacy/images/dummy_facebook_share_de.png",img:"../../core/backend/admin/modules/share_buttons/socialshareprivacy/images/dummy_facebook_share_active_de.png"}},twitter:{status:"on",dummy_img:"../../core/backend/admin/modules/share_buttons/socialshareprivacy/images/dummy_twitter.png",perma_option:"on",referrer_track:"",tweet_text:a,count:"horizontal"},gplus:{status:"on",dummy_img:"../../core/backend/admin/modules/share_buttons/socialshareprivacy/images/dummy_gplus.png",perma_option:"on",referrer_track:"",size:"medium"}},info_link:"http://www.heise.de/ct/artikel/2-Klicks-fuer-mehr-Datenschutz-1333879.html",cookie_path:"/",cookie_domain:document.location.host,cookie_expires:"365",css_path:"../../core/backend/admin/modules/share_buttons/socialshareprivacy/socialshareprivacy.css",uri:i,language:"de",lang_path:"../../core/backend/admin/modules/share_buttons/socialshareprivacy/lang/",skin:"light",alignment:"horizontal",switch_alignment:"left",perma_orientation:"down"},l=e.extend(!0,c,s),f="on"===l.services.facebook.status,m="on"===l.services.facebook.sharer.status,p="on"===l.services.twitter.status,d="on"===l.services.gplus.status;if(f||p||d){l.css_path.length>0&&"1"!=e(window).data("socialshareprivacy_css")&&(document.createStyleSheet?document.createStyleSheet(l.css_path):e("head").append('<link rel="stylesheet" type="text/css" href="'+l.css_path+'" />'),e(window).data("socialshareprivacy_css","1"));var u;return this.each(function(){e("div#socialshareprivacy").each(function(){var s=this;e.when(n()).then(function(){e(s).prepend('<ul class="social_share_privacy_area clearfix"></ul>');var a=e(".social_share_privacy_area",s);"dark"==l.skin&&e(a).addClass("skin-dark"),"vertical"==l.alignment&&(e(a).addClass("vertical"),"right"==l.switch_alignment&&(f&&"box_count"==l.services.facebook.layout||!f)&&(p&&"vertical"==l.services.twitter.count||!p)&&(d&&"tall"==l.services.gplus.size||!d)&&e(a).addClass("switch_right"));var i=l.uri;if("function"==typeof i&&(i=i(a)),f){var n,c,_="box_count"==l.services.facebook.layout?"61":"21",h="box_count"==l.services.facebook.layout?"90":"130",g=encodeURIComponent(i+l.services.facebook.referrer_track);m?(n='<img src="'+l.services.facebook.sharer.dummy_img+'" alt="Facebook &quot;Share&quot;-Dummy" class="fb_like_privacy_dummy" />',c='<a href="#" onclick="window.open(\'https://www.facebook.com/sharer/sharer.php?u='+g+"', 'facebook-share-dialog', 'width=626,height=436'); return false;\"><img src=\""+l.services.facebook.sharer.img+'" alt="" /></a>'):(n='<img src="'+l.services.facebook.dummy_img+'" alt="Facebook &quot;Like&quot;-Dummy" class="fb_like_privacy_dummy" />',c='<iframe src="//www.facebook.com/plugins/like.php?locale='+u.services.facebook.language+"&amp;href="+g+"&amp;width="+h+"&amp;layout="+l.services.facebook.layout+"&amp;action="+l.services.facebook.action+"&amp;show_faces=false&amp;share=false&amp;height="+_+"&amp;colorscheme="+l.skin+'" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:'+h+"px; height:"+_+'px;" allowTransparency="true"></iframe>'),a.append('<li class="facebook help_info clearfix"><span class="info">'+u.services.facebook.txt_info+'</span><a href="#" class="switch off">'+u.services.facebook.txt_fb_off+'</a><div class="fb_like dummy_btn">'+n+"</div></li>");var v=e("li.facebook",a);e(a).on("click","li.facebook div.fb_like img.fb_like_privacy_dummy,li.facebook .switch",function(e){e.preventDefault(),v.find(".switch").hasClass("off")?(v.addClass("info_off"),v.find(".switch").addClass("on").removeClass("off").html(u.services.facebook.txt_fb_on),v.find("img.fb_like_privacy_dummy").replaceWith(c)):(v.removeClass("info_off"),v.find(".switch").addClass("off").removeClass("on").html(u.services.facebook.txt_fb_off),v.find(".fb_like").html(n))})}if(p){var k=l.services.twitter.tweet_text;"function"==typeof k&&(k=k()),k=t(k,"120");var w="horizontal"==l.services.twitter.count?"25":"62",b="horizontal"==l.services.twitter.count?"130":"83",y=encodeURIComponent(i+l.services.twitter.referrer_track),C=encodeURIComponent(i),x='<iframe allowtransparency="true" frameborder="0" scrolling="no" src="//platform.twitter.com/widgets/tweet_button.html?url='+y+"&amp;counturl="+C+"&amp;text="+k+"&amp;count="+l.services.twitter.count+"&amp;lang="+u.services.twitter.language+'&amp;dnt=true" style="width:'+b+"px; height:"+w+'px;"></iframe>',S='<img src="'+l.services.twitter.dummy_img+'" alt="&quot;Tweet this&quot;-Dummy" class="tweet_this_dummy" />';a.append('<li class="twitter help_info clearfix"><span class="info">'+u.services.twitter.txt_info+'</span><a href="#" class="switch off">'+u.services.twitter.txt_twitter_off+'</a><div class="tweet dummy_btn">'+S+"</div></li>");var D=e("li.twitter",a);e(a).on("click","li.twitter div.tweet img,li.twitter .switch",function(e){e.preventDefault(),D.find(".switch").hasClass("off")?(D.addClass("info_off"),D.find(".switch").addClass("on").removeClass("off").html(u.services.twitter.txt_twitter_on),D.find("img.tweet_this_dummy").replaceWith(x)):(D.removeClass("info_off"),D.find(".switch").addClass("off").removeClass("on").html(u.services.twitter.txt_twitter_off),D.find(".tweet").html(S))})}if(d){var T=i+l.services.gplus.referrer_track,z='<div class="g-plusone" data-size="'+l.services.gplus.size+'" data-href="'+T+'"></div><script type="text/javascript">window.___gcfg = {lang: "'+u.services.gplus.language+'"}; (function() { var po = document.createElement("script"); po.type = "text/javascript"; po.async = true; po.src = "https://apis.google.com/js/platform.js"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(po, s); })(); </script>',q='<img src="'+l.services.gplus.dummy_img+'" alt="&quot;Google+1&quot;-Dummy" class="gplus_one_dummy" />';a.append('<li class="gplus help_info clearfix"><span class="info">'+u.services.gplus.txt_info+'</span><a href="#" class="switch off">'+u.services.gplus.txt_gplus_off+'</a><div class="gplusone dummy_btn">'+q+"</div></li>");var I=e("li.gplus",a);e(a).on("click","li.gplus div.gplusone img,li.gplus .switch",function(e){e.preventDefault(),I.find(".switch").hasClass("off")?(I.addClass("info_off"),I.find(".switch").addClass("on").removeClass("off").html(u.services.gplus.txt_gplus_on),I.find("img.gplus_one_dummy").replaceWith(z)):(I.removeClass("info_off"),I.find(".switch").addClass("off").removeClass("on").html(u.services.gplus.txt_gplus_off),I.find(".gplusone").html(q))})}a.append('<li class="settings_info '+l.perma_orientation+'"><div class="settings_info_menu off perma_option_off"><a href="'+l.info_link+'"><span class="help_info icon"><span class="info">'+u.txt_help+"</span></span></a></div></li>"),e(a).on("mouseenter",".help_info:not(.info_off)",function(){var t=e(this),s=window.setTimeout(function(){e(t).addClass("display")},500);e(this).data("timeout_id",s)}),e(a).on("mouseleave",".help_info",function(){var t=e(this).data("timeout_id");window.clearTimeout(t),e(this).hasClass("display")&&e(this).removeClass("display")});var P="on"===l.services.facebook.perma_option,U="on"===l.services.twitter.perma_option,j="on"===l.services.gplus.perma_option;if(f&&P||p&&U||d&&j){for(var R=document.cookie.split(";"),O="{",N=0;N<R.length;N+=1){var E=R[N].split("=");E[0]=e.trim(E[0].replace(/"/g,"")),E[1]=e.trim(E[1].replace(/"/g,"")),O+='"'+E[0]+'":"'+E[1]+'"',N<R.length-1&&(O+=",")}O+="}",O=jQuery.parseJSON(O);var W=e("li.settings_info",a);W.find(".settings_info_menu").removeClass("perma_option_off"),W.find(".settings_info_menu").append('<a href="#" class="settings">'+u.settings+"</a><form><fieldset><legend>"+u.settings_perma+"</legend></fieldset></form>");var B="r"+Math.floor(101*Math.random()),F=' checked="checked"';if(f&&P){var J="perma_on"===O.socialSharePrivacy_facebook?F:"";W.find("form fieldset").append('<input type="checkbox" name="perma_status_facebook" id="'+B+'_perma_status_facebook"'+J+' /><label for="'+B+'_perma_status_facebook">'+u.services.facebook.perma_display_name+"</label>")}if(p&&U){var M="perma_on"===O.socialSharePrivacy_twitter?F:"";W.find("form fieldset").append('<input type="checkbox" name="perma_status_twitter" id="'+B+'_perma_status_twitter"'+M+' /><label for="'+B+'_perma_status_twitter">'+u.services.twitter.perma_display_name+"</label>")}if(d&&j){var Q="perma_on"===O.socialSharePrivacy_gplus?F:"";W.find("form fieldset").append('<input type="checkbox" name="perma_status_gplus" id="'+B+'_perma_status_gplus"'+Q+' /><label for="'+B+'_perma_status_gplus">'+u.services.gplus.perma_display_name+"</label>")}e(a).on("click","li.settings_info .settings",function(t){t.preventDefault(),"on"==e(this).data("keyb")?(e("li.settings_info",a).trigger("mouseleave"),e(this).data("keyb","off")):(e("li.settings_info .settings",a).trigger("mouseenter"),e(this).data("keyb","on"))}),e(a).on("mouseenter","li.settings_info .settings",function(){var t=window.setTimeout(function(){W.find(".settings_info_menu").removeClass("off").addClass("on")},500);e(this).data("timeout_id",t)}),e(a).on("mouseleave","li.settings_info",function(){var t=e(this).data("timeout_id");window.clearTimeout(t),W.find(".settings_info_menu").removeClass("on").addClass("off")}),e(a).on("click","li.settings_info fieldset input",function(t){var s=t.target.id,i=s.substr(s.lastIndexOf("_")+1,s.length),n="socialSharePrivacy_"+i;e("#"+t.target.id+":checked").length?(o(n,"perma_on",l.cookie_expires,l.cookie_path,l.cookie_domain),e("form fieldset label[for="+s+"]",a).addClass("checked")):(r(n,"perma_on",l.cookie_path,l.cookie_domain),e("form fieldset label[for="+s+"]",a).removeClass("checked"))}),f&&P&&"perma_on"===O.socialSharePrivacy_facebook&&e("li.facebook .switch",a).click(),p&&U&&"perma_on"===O.socialSharePrivacy_twitter&&e("li.twitter .switch",a).click(),d&&j&&"perma_on"===O.socialSharePrivacy_gplus&&e("li.gplus .switch",a).click()}})})})}}}(jQuery); +\ No newline at end of file diff --git a/socialshareprivacy/lang/de.lang b/socialshareprivacy/lang/de.lang @@ -0,0 +1,29 @@ +{ + "services" : { + "facebook" : { + "txt_info" : "2 Klicks f&uuml;r mehr Datenschutz: Erst wenn Sie hier klicken, wird der Button aktiv und Sie k&ouml;nnen Ihre Empfehlung an Facebook senden. Schon beim Aktivieren werden Daten an Dritte &uuml;bertragen &ndash; siehe <em>i</em>.", + "txt_fb_off" : "nicht mit Facebook verbunden", + "txt_fb_on" : "mit Facebook verbunden", + "language" : "de_DE", + "perma_display_name" : "Facebook" + }, + "twitter" : { + "txt_info" : "2 Klicks f&uuml;r mehr Datenschutz: Erst wenn Sie hier klicken, wird der Button aktiv und Sie k&ouml;nnen Ihre Empfehlung an Twitter senden. Schon beim Aktivieren werden Daten an Dritte &uuml;bertragen &ndash; siehe <em>i</em>.", + "txt_twitter_off" : "nicht mit Twitter verbunden", + "txt_twitter_on" : "mit Twitter verbunden", + "language" : "en", + "perma_display_name" : "Twitter" + }, + "gplus" : { + "txt_info" : "2 Klicks f&uuml;r mehr Datenschutz: Erst wenn Sie hier klicken, wird der Button aktiv und Sie k&ouml;nnen Ihre Empfehlung an Google+ senden. Schon beim Aktivieren werden Daten an Dritte &uuml;bertragen &ndash; siehe <em>i</em>.", + "txt_gplus_off" : "nicht mit Google+ verbunden", + "txt_gplus_on" : "mit Google+ verbunden", + "language" : "de", + "perma_display_name" : "Google+" + } + }, + "language" : "de", + "txt_help" : "Wenn Sie diese Felder durch einen Klick aktivieren, werden Informationen an Facebook, Twitter oder Google in die USA &uuml;bertragen und unter Umst&auml;nden auch dort gespeichert. N&auml;heres erfahren Sie durch einen Klick auf das <em>i</em>.", + "settings_perma" : "Dauerhaft aktivieren und Daten&uuml;ber&shy;tragung zustimmen:", + "settings" : "Einstellungen" +} +\ No newline at end of file diff --git a/socialshareprivacy/lang/en.lang b/socialshareprivacy/lang/en.lang @@ -0,0 +1,29 @@ +{ + "services" : { + "facebook" : { + "txt_info" : "2 clicks for more privacy: When you click here the button will be activated and you can send your recommendation. As soon as the button is activated data will be send to third party &ndash; for details click on <em>i</em>.", + "txt_fb_off" : "not connected to Facebook", + "txt_fb_on" : "connected to Facebook", + "language" : "en_US", + "perma_display_name" : "Facebook" + }, + "twitter" : { + "txt_info" : "2 clicks for more privacy: When you click here the button will be activated and you can send your recommendation. As soon as the button is activated data will be send to third party &ndash; for details click on <em>i</em>", + "txt_twitter_off" : "not connected to Twitter", + "txt_twitter_on" : "connected to Twitter", + "language" : "en", + "perma_display_name" : "Twitter" + }, + "gplus" : { + "txt_info" : "2 clicks for more privacy: When you click here the button will be activated and you can send your recommendation. As soon as the button is activated data will be send to third party &ndash; for details click on <em>i</em>", + "txt_gplus_off" : "not connected to Google+", + "txt_gplus_on" : "connected to Google+", + "language" : "en", + "perma_display_name" : "Google+" + } + }, + "language" : "en", + "txt_help" : "If you activate these buttons with a click informations will be send to Facebook, Twitter or Google in the USA and may be stored there. For details click on <em>i</em>.", + "settings_perma" : "Agree permanent activation and data transfer:", + "settings" : "settings" +} +\ No newline at end of file diff --git a/socialshareprivacy/socialshareprivacy.css b/socialshareprivacy/socialshareprivacy.css @@ -0,0 +1,334 @@ +.social_share_privacy_area .clearfix::after { + content: ""; + height: 0; + line-height: 0; + font-size: 0; + visibility: hidden; + clear: both; + display: block; +} +.social_share_privacy_area { + clear: both; + margin: 20px 0 !important; + list-style-type: none; + padding: 0 !important; + width: auto; + height: 25px; + display: block; + font-family: Arial, sans-serif; +} +.social_share_privacy_area.vertical { + height: auto; +} +.social_share_privacy_area li { + margin: 0 !important; + padding: 0 !important; + height: 21px; + float: left; +} +.social_share_privacy_area.vertical li { + float: none; + clear: both; + width: 150px; + height: auto; + margin: 0 0 10px !important; +} +.social_share_privacy_area.vertical li.settings_info { + height: 24px; +} +.social_share_privacy_area.vertical.switch_right li { + width: 120px; +} +.social_share_privacy_area li .dummy_btn { + float: left; + margin: 0 0 0 10px; + cursor: pointer; + padding: 0; + height: inherit; +} +.social_share_privacy_area.vertical li .dummy_btn { + width: 90px; +} +.social_share_privacy_area.vertical.switch_right li .dummy_btn { + margin-left: 0; +} +.social_share_privacy_area li div iframe { + overflow: hidden; + height: inherit; + width: inherit; +} +/* Facebook begin */ +.social_share_privacy_area .facebook { + width: 180px; + display: inline-block; +} +.social_share_privacy_area.vertical .facebook { + display: block; +} +.social_share_privacy_area .facebook .fb_like iframe { + width: 130px; +} +/* Facebook end */ +/* Twitter begin */ +.social_share_privacy_area .twitter { + width: 148px; +} +.social_share_privacy_area li div.tweet { + width: 100px; +} +/* Twitter end */ +/* Google+ begin */ +.social_share_privacy_area .gplus { + width: 123px; +} +.social_share_privacy_area li div.gplusone { + width: 75px; +} +/* Google+ end */ +/* Switch begin */ +.social_share_privacy_area li .switch { + text-indent: -9999em; + background: transparent url(images/socialshareprivacy_on_off.png) no-repeat 0 0 scroll; + width: 23px; + height: 12px; + overflow: hidden; + float: left; + margin: 4px 0 0; + padding: 0; + cursor: pointer; +} +.social_share_privacy_area.vertical.switch_right li .switch { + float: right; +} +.social_share_privacy_area.skin-dark li .switch { + background-image: url(images/socialshareprivacy_on_off_dark.png); +} +.social_share_privacy_area li .switch.on { + background-position: 0 -12px; +} +/* Switch end */ +/* Tooltips begin */ +.social_share_privacy_area li.help_info { + position: relative; +} +.social_share_privacy_area li.help_info .info, +.social_share_privacy_area li .help_info.icon .info { + display: none; + position: absolute; + bottom: 40px; + left: 0; + width: 290px; + padding: 10px 15px; + margin: 0; + font-size: 12px; + line-height: 16px; + font-weight: bold; + border: 1px solid #ccc; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: 0 3px 4px #999; + -webkit-box-shadow: 0 3px 4px #999; + box-shadow: 0 3px 4px #999; + background-color: #fdfbec; + color: #000; + z-index: 500; +} +.social_share_privacy_area li.gplus.help_info .info { + left: -60px; +} +.social_share_privacy_area li .help_info.icon .info { + left: -243px; + width: 350px; +} +.social_share_privacy_area.vertical li.gplus.help_info .info, +.social_share_privacy_area.vertical li .help_info.icon .info { + left: 0; +} +.social_share_privacy_area li.help_info.display .info, +.social_share_privacy_area li .help_info.icon.display .info { + display: block; +} +.social_share_privacy_area li.help_info.info_off.display .info { + display: none; +} +.social_share_privacy_area li .help_info.icon { + background: #fff url(images/socialshareprivacy_info.png) no-repeat center center scroll; + width: 25px; + height: 20px; + position: relative; + display: inline-block; + vertical-align: top; + border: 2px solid #e7e3e3; + border-right-width: 0; + -moz-border-radius: 5px 0 0 5px; + -webkit-border-radius: 5px 0 0 5px; + border-radius: 5px 0 0 5px; + margin: 0; + padding: 0; +} +.social_share_privacy_area.skin-dark li .help_info.icon { + background-image: url(images/socialshareprivacy_info_dark.png),-moz-linear-gradient(top,#6a6767 0,#2d2a2a 100%); + background-image: url(images/socialshareprivacy_info_dark.png),-webkit-gradient(linear,center top,center bottom,color-stop(0%,#6a6767),color-stop(100%,#2d2a2a)); + background-image: url(images/socialshareprivacy_info_dark.png),-webkit-linear-gradient(top,#6a6767 0,#2d2a2a 100%); + background-image: url(images/socialshareprivacy_info_dark.png),-o-linear-gradient(top,#6a6767 0,#2d2a2a 100%); + background-image: url(images/socialshareprivacy_info_dark.png),-ms-linear-gradient(top,#6a6767 0,#2d2a2a 100%); + background-image: url(images/socialshareprivacy_info_dark.png),linear-gradient(top,#6a6767 0,#2d2a2a 100%); + background-image: url(images/socialshareprivacy_info_dark.png); + background-color: #4f4c4c; + border-color: #7e7e7e; +} +.social_share_privacy_area li.settings_info .settings_info_menu.on .help_info.icon { + border-top-width: 0; + border-left-width: 0; +} +.social_share_privacy_area li.settings_info .settings_info_menu.perma_option_off .help_info.icon { + border-right-width: 2px; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + border-radius: 5px; +} +/* Tooltips end */ +/* Settings/Info begin */ +.social_share_privacy_area li.settings_info { + position: relative; + top: -2px; +} +.social_share_privacy_area.vertical li.settings_info { + top: 0; +} +.social_share_privacy_area li.settings_info a { + text-decoration: none; + margin: 0 !important; +} +.social_share_privacy_area li.settings_info .settings_info_menu { + background-color: #f3f4f5; + border: 2px solid #e7e3e3; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + border-radius: 5px; + -moz-box-shadow: 2px 2px 3px #c1c1c1; + -webkit-box-shadow: 2px 2px 3px #c1c1c1; + box-shadow: 3px 3px 3px #c1c1c1; + left: 0; + position: absolute; + top: 0; + width: 135px; + z-index: 1000; + margin: 0; + padding: 0; +} +.social_share_privacy_area li.settings_info .settings_info_menu.off { + border-width: 0; + -moz-box-shadow: none; + -webkit-box-shadow: none; + box-shadow: none; + background-color: transparent; +} +.social_share_privacy_area li.settings_info .settings_info_menu.off form { + display: none; + margin: 0; + padding: 0; +} +.social_share_privacy_area li.settings_info .settings_info_menu .settings { + text-indent: -9999em; + display: inline-block; + background: #fff url(images/settings.png) no-repeat center center scroll; + width: 25px; + height: 20px; + border: 2px solid #e7e3e3; + -moz-border-radius: 0 5px 5px 0; + -webkit-border-radius: 0 5px 5px 0; + border-radius: 0 5px 5px 0; + border-left: 1px solid #ddd; + margin: 0; + padding: 0; +} +.social_share_privacy_area.skin-dark li.settings_info .settings_info_menu .settings { + background-image: url(images/settings_dark.png),-moz-linear-gradient(top,#6a6767 0,#2d2a2a 100%); + background-image: url(images/settings_dark.png),-webkit-gradient(linear,center top,center bottom,color-stop(0%,#6a6767),color-stop(100%,#2d2a2a)); + background-image: url(images/settings_dark.png),-webkit-linear-gradient(top,#6a6767 0,#2d2a2a 100%); + background-image: url(images/settings_dark.png),-o-linear-gradient(top,#6a6767 0,#2d2a2a 100%); + background-image: url(images/settings_dark.png),-ms-linear-gradient(top,#6a6767 0,#2d2a2a 100%); + background-image: url(images/settings_dark.png),linear-gradient(top,#6a6767 0,#2d2a2a 100%); + background-image: url(images/settings_dark.png); + background-color: #4f4c4c; + border-color: #7e7e7e; +} +.social_share_privacy_area.skin-dark li.settings_info .settings_info_menu.on { + background-color: #4f4c4c; + color: #fff; + -moz-box-shadow: none; + -webkit-box-shadow: none; + box-shadow: none; +} +.social_share_privacy_area li.settings_info .settings_info_menu.on .settings { + border-top-width: 0; +} +.social_share_privacy_area li.settings_info .settings_info_menu form fieldset { + border-width: 0; + margin: 0; + padding: 0 10px 10px; +} +.social_share_privacy_area li.settings_info .settings_info_menu form fieldset legend { + font-size: 11px; + font-weight: bold; + line-height: 14px; + margin: 0; + padding: 10px 0; + width: 115px; +} +.social_share_privacy_area li.settings_info .settings_info_menu form fieldset input { + clear: both; + float: left; + margin: 4px 10px 4px 0; + padding: 0; +} +.social_share_privacy_area li.settings_info .settings_info_menu form fieldset label { + display: inline-block; + float: left; + font-size: 12px; + font-weight: bold; + line-height: 24px; + -moz-transition: color .5s ease-in; + -webkit-transition: color .5s ease-in; + transition: color .5s ease-in; + margin: 0; + padding: 0; +} +.social_share_privacy_area li.settings_info .settings_info_menu form fieldset label.checked { + color: #090; +} +/* Top-Orientation */ +.social_share_privacy_area li.settings_info.top { + +} +.social_share_privacy_area li.settings_info.top .settings_info_menu.on { + top: auto; + bottom: -3px; + padding-bottom: 22px; +} +.social_share_privacy_area.vertical li.settings_info.top .settings_info_menu.on { + bottom: 0; +} +.social_share_privacy_area li.settings_info.top .settings_info_menu.on > a { + position: absolute; + bottom: 0; + left: 0; +} +.social_share_privacy_area li.settings_info.top .settings_info_menu.on > a .help_info.icon { + border-top-width: 2px; + border-bottom-width: 0; + -webkit-border-radius: 0 0 0 5px; + -moz-border-radius: 0 0 0 5px; + border-radius: 0 0 0 5px; +} +.social_share_privacy_area li.settings_info.top .settings_info_menu.on > a.settings { + left: 25px; + border-top-width: 2px; + border-bottom-width: 0; + -webkit-border-radius: 0 5px 0 0; + -moz-border-radius: 0 5px 0 0; + border-radius: 0 5px 0 0; +} +/* Settings/Info end */ +\ No newline at end of file