/*
* jquery.socialshareprivacy.js | 2 Klicks fuer mehr Datenschutz
*
* http://www.heise.de/extras/socialshareprivacy/
* http://www.heise.de/ct/artikel/2-Klicks-fuer-mehr-Datenschutz-1333879.html
*
* Copyright (c) 2011 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($){
$.fn.socialSharePrivacy = function(options){
var defaults = {
'services' : {
'facebook' : {
'status' : 'on',
'app_id' : '__FB_APP-ID__',
'dummy_img' : '/images/dummy_facebook.png',
'txt_info' : '2 Klicks für mehr Datenschutz: Erst wenn Sie hier klicken, wird der Button aktiv und Sie können Ihre Empfehlung an Facebook senden. Schon beim Aktivieren werden Daten an Dritte übertragen – siehe i.',
'txt_fb_off' : 'nicht mit Facebook verbunden',
'txt_fb_on' : 'mit Facebook verbunden',
'perma_option' : 'on',
'display_name' : 'Facebook',
'referrer_track' : '',
'language' : 'de_DE'
},
'twitter' : {
'status' : 'on',
'dummy_img' : '/images/dummy_twitter.png',
'txt_info' : '2 Klicks für mehr Datenschutz: Erst wenn Sie hier klicken, wird der Button aktiv und Sie können Ihre Empfehlung an Twitter senden. Schon beim Aktivieren werden Daten an Dritte übertragen – siehe i.',
'txt_twitter_off' : 'nicht mit Twitter verbunden',
'txt_twitter_on' : 'mit Twitter verbunden',
'perma_option' : 'on',
'display_name' : 'Twitter',
'referrer_track' : '',
'tweet_text' : getTweetText
},
'gplus' : {
'status' : 'on',
'dummy_img' : '/images/dummy_gplus.png',
'txt_info' : '2 Klicks für mehr Datenschutz: Erst wenn Sie hier klicken, wird der Button aktiv und Sie können Ihre Empfehlung an Google+ senden. Schon beim Aktivieren werden Daten an Dritte übertragen.',
'txt_gplus_off' : 'nicht mit Google+ verbunden',
'txt_plus_on' : 'mit Google+ verbunden',
'perma_option' : 'on',
'display_name' : 'Google+',
'referrer_track' : '',
'language' : 'de'
}
},
'info_link' : 'http://www.cdu.de/portal2009/26466.htm',
'txt_help' : 'Wenn Sie diese Felder durch einen Klick aktivieren, werden Informationen an Google in die USA übertragen und unter Umständen auch dort gespeichert.',
'settings_perma' : 'Dauerhaft aktivieren und Datenübertragung zustimmen:',
'cookie_path' : '/',
'cookie_domain' : document.location.host,
'cookie_expires' : '365',
'css_path' : '/css/kampagne-3.css'
};
// Standardwerte des Plug-Ings mit den vom User angegebenen Optionen ueberschreiben
var options = $.extend(true, defaults, options);
if((options.services.facebook.status == 'on' && options.services.facebook.app_id != '__FB_APP-ID__') || options.services.twitter.status == 'on' || options.services.gplus.status == 'on'){
//$('head').append('');
$(this).prepend('
');
var context = $('.social_share_privacy_area', this);
// als URL wird erstmal die derzeitige Dokument-URL angenommen
var uri = document.location.href;
// ist eine kanonische URL hinterlegt wird diese verwendet
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;
}
}
// Text kuerzen und am Ende mit \u2026 (horizontal ellipsis) versehen, sofern er abgekuerzt werden musste
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;
}
// Meta-Wert abfragen
function getMeta(name){
var metaContent = jQuery('meta[name="' + name + '"]').attr('content');
return metaContent ? metaContent : '';
}
// Tweet-Text
function getTweetText(){
// Titel aus und wenn vorhanden, sonst
var title = getMeta('DC.title');
var creator = getMeta('DC.creator');
if(title.length > 0){
if(creator.length > 0){
title = title+' - '+creator;
}
}
else{
title = $('title').text();
}
return encodeURIComponent(title);
}
return this.each(function(){
// Facebook
if(options.services.facebook.status == 'on'){
// Kontrolle ob Facebook App-ID hinterlegt ist, da diese noetig fuer den Empfehlen-Button ist
if(options.services.facebook.app_id != '__FB_APP-ID__'){
var fb_enc_uri = encodeURIComponent(uri+options.services.facebook.referrer_track);
var fb_code = '';
var fb_dummy_btn = '';
context.append('