Plugin Directory

Changeset 1290975


Ignore:
Timestamp:
11/20/2015 06:10:19 PM (10 years ago)
Author:
3UU
Message:

new service VK; add dynamic cache lifespan based on post date; fix facebook use total_counts again; fix search for custom WP locations; fix for WP4.4

Location:
shariff/trunk
Files:
1 added
1 deleted
18 edited

Legend:

Unmodified
Added
Removed
  • shariff/trunk/backend/index.php

    r1287123 r1290975  
    4848
    4949// search in the subfolders of $wp_root_path for a given file (regex)
    50 function rsearch($folder, $pattern) {
     50function rsearch( $folder, $pattern ) {
    5151    $dir = new RecursiveDirectoryIterator( $folder );
    52     $iterator = new RecursiveIteratorIterator( $dir, RecursiveIteratorIterator::CATCH_GET_CHILD );
    53     $files = new RegexIterator($iterator, $pattern, RegexIterator::GET_MATCH);
     52    $iterator = new RecursiveIteratorIterator( $dir );
     53    $files = new RegexIterator( $iterator, $pattern, RegexIterator::GET_MATCH );
    5454    $fileList = array();
    55     foreach($files as $file) {
     55    foreach( $files as $file ) {
    5656      $fileList[] = array(
    5757        'file' => $file,
     
    7474define('WP_USE_THEMES', false);
    7575require ( $wp_root_path . '/wp-blog-header.php');
     76
    7677// if a custom permalink structure is used, WordPress throws a 404 in every ajax call
    7778header( "HTTP/1.1 200 OK" );
     
    8586}
    8687
    87 // get shariff options (fb id, fb secret and ttl)
    88 $shariff3UU_advanced = (array) get_option( 'shariff3UU_advanced' );
    89    
    90 // if we have a constant for the ttl
    91 if ( defined( 'SHARIFF_BACKEND_TTL' ) ) $ttl = SHARIFF_BACKEND_TTL;
    92 // elseif check for option from the WordPress plugin, must be between 120 and 7200 seconds
    93 elseif ( isset( $shariff3UU_advanced['ttl'] ) ) {
    94     $ttl = absint( $shariff3UU_advanced['ttl'] );
    95     // make sure ttl is a reasonable number
    96     if ( $ttl < '61' ) $ttl = '60';
    97     elseif ( $ttl > '7200' ) $ttl = '7200';
    98 }
    99 // else set it to default (60 seconds)
    100 else {
    101     $ttl = '60';
    102 }
    103 
    10488// get url
    10589$post_url  = urlencode( esc_url( $_GET["url"] ) );
     
    118102// if transient doesn't exit or is outdated, we fetch all counts
    119103else {
     104    // get shariff options (fb id, fb secret and ttl)
     105    $shariff3UU_advanced = (array) get_option( 'shariff3UU_advanced' );
     106       
     107    // if we have a constant for the ttl
     108    if ( defined( 'SHARIFF_BACKEND_TTL' ) ) $ttl = SHARIFF_BACKEND_TTL;
     109    // elseif check for option from the WordPress plugin, must be between 120 and 7200 seconds
     110    elseif ( isset( $shariff3UU_advanced['ttl'] ) ) {
     111        $ttl = absint( $shariff3UU_advanced['ttl'] );
     112        // make sure ttl is a reasonable number
     113        if ( $ttl < '61' ) $ttl = '60';
     114        elseif ( $ttl > '7200' ) $ttl = '7200';
     115    }
     116    // else set it to default (60 seconds)
     117    else {
     118        $ttl = '60';
     119    }
     120
     121    // adjust ttl based on the post age
     122    if ( isset ( $_GET["timestamp"] ) ) {
     123        // the timestamp represents the last time the post or page was modfied
     124        $post_time = intval( $_GET["timestamp"] );
     125        $current_time = current_time( 'timestamp', true );
     126        $post_age = round( abs( $current_time - $post_time ) );
     127        if ( $post_age > '0' ) {
     128            $post_age_days = round( $post_age / 60 / 60 / 24 );
     129            // make sure ttl base is not getting too high
     130            if ( $ttl > '300' ) $ttl = '300';
     131            $ttl = round( ( $ttl + $post_age_days * 3 ) * ( $post_age_days * 2 ) );
     132        }
     133        // set minimum ttl to 60 seconds and maxium ttl to one week
     134        if ( $ttl < '60' ) {
     135            $ttl = '60';
     136        }
     137        elseif ( $ttl > '604800' ) {
     138            $ttl = '604800';
     139        }
     140        // in case we get a timestamp older than 01.01.2000 or for example a 0, use a reasonable default value of five minutes
     141        if ( $post_time < '946684800' ) {
     142            $ttl = '300';
     143        }
     144    }
     145
    120146    // Facebook
    121     include ( 'services/facebook.php' );
     147    if ( ! isset ( $shariff3UU_advanced["disable"]["facebook"] ) || ( isset ( $shariff3UU_advanced["disable"]["facebook"] ) && $shariff3UU_advanced["disable"]["facebook"] == 0 ) ) {
     148        include ( 'services/facebook.php' );
     149    }
    122150    // Twitter
    123     include ( 'services/twitter.php' );
    124     // Google
    125     include ( 'services/google.php' );
     151    if ( ! isset ( $shariff3UU_advanced["disable"]["twitter"] ) || ( isset ( $shariff3UU_advanced["disable"]["twitter"] ) && $shariff3UU_advanced["disable"]["twitter"] == 0 ) ) {
     152        include ( 'services/twitter.php' );
     153    }
     154    // GooglePlus
     155    if ( ! isset ( $shariff3UU_advanced["disable"]["googleplus"] ) || ( isset ( $shariff3UU_advanced["disable"]["googleplus"] ) && $shariff3UU_advanced["disable"]["googleplus"] == 0 ) ) {
     156        include ( 'services/googleplus.php' );
     157    }
    126158    // Xing
    127     include ( 'services/xing.php' );
     159    if ( ! isset ( $shariff3UU_advanced["disable"]["xing"] ) || ( isset ( $shariff3UU_advanced["disable"]["xing"] ) && $shariff3UU_advanced["disable"]["xing"] == 0 ) ) {
     160        include ( 'services/xing.php' );
     161    }
    128162    // LinkedIn
    129     include ( 'services/linkedin.php' );
     163    if ( ! isset ( $shariff3UU_advanced["disable"]["linkedin"] ) || ( isset ( $shariff3UU_advanced["disable"]["linkedin"] ) && $shariff3UU_advanced["disable"]["linkedin"] == 0 ) ) {
     164        include ( 'services/linkedin.php' );
     165    }
    130166    // Pinterest
    131     include ( 'services/pinterest.php' );
     167    if ( ! isset ( $shariff3UU_advanced["disable"]["pinterest"] ) || ( isset ( $shariff3UU_advanced["disable"]["pinterest"] ) && $shariff3UU_advanced["disable"]["pinterest"] == 0 ) ) {
     168        include ( 'services/pinterest.php' );
     169    }
    132170    // Flattr
    133     include ( 'services/flattr.php' );
     171    if ( ! isset ( $shariff3UU_advanced["disable"]["flattr"] ) || ( isset ( $shariff3UU_advanced["disable"]["flattr"] ) && $shariff3UU_advanced["disable"]["flattr"] == 0 ) ) {
     172        // include ( 'services/flattr.php' ); // temporarily disabled due to ongoing problems with the flattr api
     173    }
    134174    // Reddit
    135     include ( 'services/reddit.php' );
     175    if ( ! isset ( $shariff3UU_advanced["disable"]["reddit"] ) || ( isset ( $shariff3UU_advanced["disable"]["reddit"] ) && $shariff3UU_advanced["disable"]["reddit"] == 0 ) ) {
     176        include ( 'services/reddit.php' );
     177    }
    136178    // StumbleUpon
    137     include ( 'services/stumbleupon.php' );
     179    if ( ! isset ( $shariff3UU_advanced["disable"]["stumbleupon"] ) || ( isset ( $shariff3UU_advanced["disable"]["stumbleupon"] ) && $shariff3UU_advanced["disable"]["stumbleupon"] == 0 ) ) {
     180        include ( 'services/stumbleupon.php' );
     181    }
    138182    // Tumblr
    139     include ( 'services/tumblr.php' );
     183    if ( ! isset ( $shariff3UU_advanced["disable"]["tumblr"] ) || ( isset ( $shariff3UU_advanced["disable"]["tumblr"] ) && $shariff3UU_advanced["disable"]["tumblr"] == 0 ) ) {
     184        include ( 'services/tumblr.php' );
     185    }
    140186    // AddThis
    141     include ( 'services/addthis.php' );
     187    if ( ! isset ( $shariff3UU_advanced["disable"]["addthis"] ) || ( isset ( $shariff3UU_advanced["disable"]["addthis"] ) && $shariff3UU_advanced["disable"]["addthis"] == 0 ) ) {
     188        include ( 'services/addthis.php' );
     189    }
    142190    // VK
    143     include ( 'services/vk.php' );
    144     // save transient if we have counts
     191    if ( ! isset ( $shariff3UU_advanced["disable"]["vk"] ) || ( isset ( $shariff3UU_advanced["disable"]["vk"] ) && $shariff3UU_advanced["disable"]["vk"] == 0 ) ) {
     192        include ( 'services/vk.php' );
     193    }
     194
     195    // save transient, if we have counts
    145196    if ( isset( $share_counts ) && $share_counts != null ) {
    146197        set_transient( $post_hash, $share_counts, $ttl );
  • shariff/trunk/backend/services/addthis.php

    r1285722 r1290975  
    99// store results, if we have some
    1010if ( isset( $addthis_json['shares'] ) ) {
    11     $share_counts['addthis'] = $addthis_json['shares'];
    12 }
    13 // otherwise store the error message
    14 else {
    15     $share_counts['errors']['addthis'] = "AddThis Error! Message: " . $addthis;
     11    $share_counts['addthis'] = intval( $addthis_json['shares'] );
    1612}
    1713
  • shariff/trunk/backend/services/facebook.php

    r1286165 r1290975  
    66if ( isset( $shariff3UU_advanced['fb_id'] ) && isset( $shariff3UU_advanced['fb_secret'] ) ) {
    77    // on 32-bit PHP the constant is 4 and we have to disable the check because the id is too long
    8     if ( ( defined( PHP_INT_SIZE ) && PHP_INT_SIZE === '4' ) || ! defined( PHP_INT_SIZE ) ) $fb_app_id = $shariff3UU_advanced['fb_id'];
    9     else $fb_app_id = absint( $shariff3UU_advanced['fb_id'] );
     8    if ( ( defined( PHP_INT_SIZE ) && PHP_INT_SIZE === '4' ) || ! defined( PHP_INT_SIZE ) ) {
     9        $fb_app_id = $shariff3UU_advanced['fb_id'];
     10    }
     11    else {
     12        $fb_app_id = absint( $shariff3UU_advanced['fb_id'] );
     13    }
    1014    $fb_app_secret = sanitize_text_field( $shariff3UU_advanced['fb_secret'] );
    1115    // get fb access token
    1216    $fb_token = sanitize_text_field( wp_remote_retrieve_body( wp_remote_get( 'https://graph.facebook.com/oauth/access_token?client_id=' .  $fb_app_id . '&client_secret=' . $fb_app_secret . '&grant_type=client_credentials' ) ) );
    1317    // use token to get share counts
    14     $facebookID = sanitize_text_field( wp_remote_retrieve_body( wp_remote_get( 'https://graph.facebook.com/v2.2/?id=' . $post_url . '&' . $fb_token ) ) );
    15     $facebookID_json = json_decode( $facebookID, true );
    16     // store results, if we have some
    17     if ( isset( $facebookID_json['share']['share_count'] ) ) {
    18         $share_counts['facebook'] = $facebookID_json['share']['share_count'];
    19     }
    20     // otherwise store the error message
    21     else {
    22         $share_counts['errors']['facebookID'] = "Facebook ID Error! Message: " . $facebookID;
    23     }
     18    $facebook = sanitize_text_field( wp_remote_retrieve_body( wp_remote_get( 'https://graph.facebook.com/v2.2/?id=' . $post_url . '&' . $fb_token ) ) );
     19    $facebook_json = json_decode( $facebook, true );
    2420}
    2521// otherwise use the normal way
     
    2723    $facebook = sanitize_text_field( wp_remote_retrieve_body( wp_remote_get( 'https://graph.facebook.com/fql?q=SELECT%20share_count%20FROM%20link_stat%20WHERE%20url="' . $post_url . '"' ) ) );
    2824    $facebook_json = json_decode( $facebook, true );
    29     // store results, if we have some
    30     if ( isset( $facebook_json['data']['0']['share_count'] ) ) {
    31         $share_counts['facebook'] = $facebook_json['data']['0']['share_count'];
    32     }
    33     // otherwise show the error message
    34     else {
    35         $share_counts['errors']['facebook'] = "Facebook Error! Message: " . $facebook;
    36     }
     25}
     26
     27// store results - use total_count if it exists, otherwise use share_count
     28if ( isset( $facebook_json['data'] ) && isset( $facebook_json['data'][0] ) && isset( $facebook_json['data'][0]['total_count'] ) ) {
     29    $share_counts['facebook'] = intval( $facebook_json['data'][0]['total_count'] );
     30}
     31elseif ( isset($facebook_json['data'] ) && isset( $facebook_json['data'][0] ) && isset( $facebook_json['data'][0]['share_count'] ) ) {
     32    $share_counts['facebook'] = intval( $facebook_json['data'][0]['share_count'] );
     33}
     34elseif ( isset($facebook_json['share'] ) && isset( $facebook_json['share']['share_count'] ) ) {
     35    $share_counts['facebook'] = intval( $facebook_json['share']['share_count'] );
    3736}
    3837
  • shariff/trunk/backend/services/flattr.php

    r1285722 r1290975  
    66$flattr = sanitize_text_field( wp_remote_retrieve_body( wp_remote_get( 'https://api.flattr.com/rest/v2/things/lookup/?url=' . $post_url ) ) );
    77$flattr_json = json_decode( $flattr, true );
     8
    89// store results, if we have some
    910if ( isset( $flattr_json['flattrs'] ) ) {
    10     $share_counts['flattr'] = $flattr_json['flattrs'];
     11    $share_counts['flattr'] = intval( $flattr_json['flattrs'] );
    1112}
     13
    1214// if no thing was found, set it to 0
    1315elseif ( isset( $flattr_json['description'] ) && $flattr_json['description'] == 'No thing was found' ) {
    1416    $share_counts['flattr'] = 0;
    1517}
    16 // otherwise show the error message
    17 else {
    18     $share_counts['errors']['flattr'] = "Flattr Error! Message: " . $flattr;
    19 }
    2018
    2119?>
  • shariff/trunk/backend/services/linkedin.php

    r1285722 r1290975  
    99// store results, if we have some
    1010if ( isset( $linkedin_json['count'] ) ) {
    11     $share_counts['linkedin'] = $linkedin_json['count'];
    12 }
    13 // otherwise store the error message
    14 else {
    15     $share_counts['errors']['linkedin'] = "LinkedIn Error! Message: " . $linkedin;
     11    $share_counts['linkedin'] = intval( $linkedin_json['count'] );
    1612}
    1713
  • shariff/trunk/backend/services/pinterest.php

    r1285722 r1290975  
    1010// store results, if we have some
    1111if ( isset( $pinterest_json['count'] ) ) {
    12     $share_counts['pinterest'] = $pinterest_json['count'];
    13 }
    14 // otherwise store the error message
    15 else {
    16     $share_counts['errors']['pinterest'] = "Pinterest Error! Message: " . $pinterest;
     12    $share_counts['pinterest'] = intval( $pinterest_json['count'] );
    1713}
    1814
    19 
    2015?>
  • shariff/trunk/backend/services/reddit.php

    r1285722 r1290975  
    1111    $count = 0;
    1212    foreach ( $reddit_json['data']['children'] as $child ) {
    13         $count += $child['data']['score'];
     13        $count += intval( $child['data']['score'] );
    1414    }
    1515    $share_counts['reddit'] = $count;
    1616}
    17 // otherwise store the error message
    18 else {
    19     $share_counts['errors']['reddit'] = "Reddit Error! Message: " . $reddit;
    20 }
    2117
    2218?>
  • shariff/trunk/backend/services/stumbleupon.php

    r1285722 r1290975  
    1010if ( isset( $stumbleupon_json['success'] ) && $stumbleupon_json['success'] == true ) {
    1111    if ( isset( $stumbleupon_json['result']['views'] ) ) {
    12         $share_counts['stumbleupon'] = $stumbleupon_json['result']['views'];
     12        $share_counts['stumbleupon'] = intval( $stumbleupon_json['result']['views'] );
    1313    }
    1414    else {
     
    1616    }
    1717}
    18 // otherwise store the error message
    19 else {
    20     $share_counts['errors']['stumbleupon'] = "StumbleUpon Error! Message: " . $stumbleupon;
    21 }
    2218
    2319?>
  • shariff/trunk/backend/services/tumblr.php

    r1285722 r1290975  
    99// store results, if we have some
    1010if ( isset( $tumblr_json['response']['note_count'] ) ) {
    11     $share_counts['tumblr'] = $tumblr_json['response']['note_count'];
    12 }
    13 // otherwise store the error message
    14 else {
    15     $share_counts['errors']['tumblr'] = "Tumblr Error! Message: " . $tumblr;
     11    $share_counts['tumblr'] = intval( $tumblr_json['response']['note_count'] );
    1612}
    1713
  • shariff/trunk/backend/services/twitter.php

    r1285722 r1290975  
    99// store results, if we have some
    1010if ( isset( $twitter_json['count'] ) ) {
    11     $share_counts['twitter'] = $twitter_json['count'];
    12 }
    13 // otherwise store the error message
    14 else {
    15     $share_counts['errors']['twitter'] = "Twitter Error! Message: " . $twitter;
     11    $share_counts['twitter'] = intval( $twitter_json['count'] );
    1612}
    1713
  • shariff/trunk/backend/services/vk.php

    r1287123 r1290975  
    11<?php
    22
    3 // Twitter
     3// VK
    44
    55// fetch counts
    66$vk = sanitize_text_field( wp_remote_retrieve_body( wp_remote_get( 'http://vk.com/share.php?act=count&url=' . $post_url ) ) );
    7 if (!$vk){
    8     $share_counts['errors']['vk'] = "VK Error! Message: " . $vk;
    9 }else{
    10     preg_match('/^VK.Share.count\((\d+),\s+(\d+)\);$/i', $vk, $matches);
    11     $vk_count = $matches[2];
     7if ( isset( $vk ) ) {
     8    preg_match( '/^VK.Share.count\((\d+),\s+(\d+)\);$/i', $vk, $matches );
     9    $vk_count = intval( $matches[2] );
    1210}
    1311
    1412// store results, if we have some
    1513if ( isset( $vk_count ) ) {
    16     $share_counts['vk'] = intval($vk_count);
     14    $share_counts['vk'] = $vk_count;
    1715}
    18 // otherwise store the error message
    19 else {
    20     $share_counts['errors']['vk'] = "VK Error! Message: " . $vk;
    21 }
     16
    2217?>
  • shariff/trunk/backend/services/xing.php

    r1285722 r1290975  
    2222$xing = sanitize_text_field( wp_remote_retrieve_body( wp_remote_post( 'https://www.xing-share.com/spi/shares/statistics', $xing_post_options ) ) );
    2323$xing_json = json_decode( $xing, true );
    24 #var_dump($xing);die();
     24
    2525// store results, if we have some
    2626if ( isset( $xing_json['share_counter'] ) ) {
    27     $share_counts['xing'] = intval($xing_json['share_counter']);
    28 }
    29 // otherwise store the error message
    30 else {
    31     $share_counts['errors']['xing'] = "Xing Error! Message: " . $xing;
     27    $share_counts['xing'] = intval( $xing_json['share_counter'] );
    3228}
    3329
  • shariff/trunk/css/shariff.min.local.css

    r1287123 r1290975  
    11/*!
    2  * shariff - v1.21.0 - 14.11.2015
     2 * shariff - v1.21.0 - 20.11.2015
    33 * https://github.com/heiseonline/shariff
    44 * Copyright (c) 2015 Ines Pauer, Philipp Busse, Sebastian Hilbig, Erich Kramer, Deniz Sesli
    55 * Licensed under the MIT license
    6  */@font-face{font-family:shariff3uu;src:url(../fonts/shariff3uu.eot);src:url(../fonts/shariff3uu.eot)format('embedded-opentype'),url(../fonts/shariff3uu.woff)format('woff'),url(../fonts/shariff3uu.ttf)format('truetype'),url(../fonts/shariff3uu.svg)format('svg');font-weight:400;font-style:normal}.shariff .s3uu{font-family:shariff3uu;speak:none;font-variant:normal;text-transform:none;line-height:1;display:inline-block;-webkit-font-feature-settings:normal;-moz-font-feature-settings:normal;font-feature-settings:normal;-webkit-font-kerning:auto;-moz-font-kerning:auto;font-kerning:auto;-webkit-font-language-override:normal;-moz-font-language-override:normal;font-language-override:normal;font-size:inherit;font-size-adjust:none;font-stretch:normal;font-synthesis:weight style;text-rendering:auto;width:35px;line-height:35px;text-align:center;vertical-align:middle;font-size:20px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shariff .s3uu-google-plus:before{content:"\e900"}.shariff .s3uu-threema:before{content:"\e901"}.shariff .s3uu-addthis:before{content:"\e902"}.shariff .s3uu-tumblr:before{content:"\eabb"}.shariff .s3uu-facebook:before{content:"\e800"}.shariff .s3uu-twitter:before{content:"\e801"}.shariff .s3uu-pinterest:before{content:"\e803"}.shariff .s3uu-xing:before{content:"\e804"}.shariff .s3uu-linkedin:before{content:"\e805"}.shariff .s3uu-reddit:before{content:"\e806"}.shariff .s3uu-stumbleupon:before{content:"\e807"}.shariff .s3uu-envelope:before{content:"\e808"}.shariff .s3uu-print:before{content:"\e809"}.shariff .s3uu-info:before{content:"\e80a"}.shariff .s3uu-flattr:before{content:"\e80b"}.shariff .s3uu-whatsapp:before{content:"\f232"}.shariff .s3uu-paypal:before{content:"\e603"}.shariff .s3uu-patreon:before{content:"\e602"}.shariff .s3uu-bitcoin:before{content:"\e601"}.shariff .s3uu-vk:before{content:"\e600"}.shariff .s3uu-diaspora:before{content:"\e903"}.flattr_warning{background-color:red;color:#fff;font-size:20px;font-weight:700;padding:10px;text-align:center;margin:0 auto;line-height:1.5}.shariff_mailform{background:#eee none repeat scroll 0 0;border:1px solid;margin:10px;max-width:750px;padding:10px 15px}.shariff_mailform form{margin:0}.shariff_mailform fieldset{border:none;margin:0;padding:0}.shariff_mailform label{margin-left:3px;display:inline-block}.shariff_mailform p{margin:10px 0 0 0!important}.shariff_mailform textarea{height:auto!important;width:90%!important}.shariff_mailform input,.shariff_mailform select{vertical-align:baseline}.shariff_mailform_error{color:red;font-weight:700;padding:0 0 5px}.shariff_mailform_disabled{color:red;font-weight:700;padding:2px 0 0}.shariff_mailform_headline{font-weight:700;padding:0}.shariff::after,.shariff::before{content:" ";display:table}.shariff::after{clear:both}.shariff span{color:inherit}.shariff ul{display:-webkit-flex;display:-moz-flex;display:-ms-flex;display:-o-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-moz-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;padding:0!important;margin:0!important}.shariff ul li{list-style-type:none}.shariff ul li::before{content:normal!important}.shariff li{height:35px;box-sizing:border-box;overflow:hidden!important;margin:5px!important;padding:0!important;text-indent:0!important}.shariff li a{color:#fff;position:relative;display:block;height:35px;text-decoration:none;box-sizing:border-box;border:0}.shariff li .share_text{vertical-align:top!important}.shariff li .share_count,.shariff li .share_text{font-family:Arial,Helvetica,sans-serif;font-size:12px;line-height:36px}.shariff li .s3uu{width:35px;line-height:35px;text-align:center;vertical-align:top;font-size:20px}.shariff li .share_count{padding:0 8px;height:33px;position:absolute;top:0;right:0;margin:1px;background-color:rgba(255,255,255,.5);vertical-align:middle}.shariff .orientation-horizontal li{-webkit-box-flex:1}.shariff .orientation-horizontal .info{-webkit-box-flex:0}.shariff .orientation-horizontal li{float:left;-webkit-flex:none;-ms-flex:none;flex:none}.shariff .orientation-horizontal li .share_text{display:block;text-indent:-9999px;padding-left:3px}.shariff .orientation-horizontal li .share_count{display:none}.shariff .theme-default .shariff-button a{color:#fff}.shariff .theme-color .share_count{background-color:transparent!important;color:#fff}.shariff .theme-color a{color:#fff!important}.shariff .theme-color a:hover{color:#fff}.shariff .theme-grey .share_count{background-color:transparent}.shariff .theme-grey .shariff-button a{background-color:#b0b0b0;color:#fff}.shariff .theme-white .share_count{background-color:transparent}.shariff .theme-white .shariff-button{border:1px solid #ddd}.shariff .theme-white .shariff-button a{background-color:#fff;color:0}.shariff .theme-white .shariff-button a:hover{background-color:#eee}.shariff .theme-round .share_count{display:inline;height:100%;padding:0;right:0;left:0;top:0;margin:0;width:100%;background-color:transparent;color:transparent!important}.shariff .theme-round .shariff-button{width:35px!important;min-width:35px!important;max-width:35px!important;height:35px;border-radius:50%;margin:5px}.shariff .theme-round .share_text{display:block;text-indent:-9999px}.shariff .theme-round li{background:0 0}.shariff .theme-round li .s3uu{vertical-align:baseline}.shariff .theme-round li a{color:#fff}.shariff .theme-round a{text-align:center;color:#fff;position:relative;height:35px;border-radius:50%}.shariff .theme-round li.facebook .share_count:hover{background-color:#99adcf!important;color:#183a75!important}.shariff .theme-round li.twitter .share_count:hover{background-color:#96d4ee!important;color:#0174a4!important}.shariff .theme-round li.googleplus .share_count:hover{background-color:#eda79d!important;color:#a31601!important}.shariff .theme-round li.pinterest .share_count:hover{background-color:#ff050f!important;color:#fff!important}.shariff .theme-round li.linkedin .share_count:hover{background-color:#99adcf!important;color:#183a75!important}.shariff .theme-round li.xing .share_count:hover{background-color:#4fa5a7!important;color:#15686a!important}.shariff .theme-round li.reddit .share_count:hover{background-color:#e9f2fa!important;color:#000!important}.shariff .theme-round li.stumbleupon .share_count:hover{background-color:#fb613c!important;color:#fff!important}.shariff .theme-round li.flattr .share_count:hover{background-color:#f67c1a!important;color:#fff!important}.shariff .theme-round li.paypal .share_count:hover{background-color:#0285d2!important;color:#fff!important}.shariff .theme-round li.bitcoin .share_count:hover{background-color:#f7931a!important;color:#fff!important}.shariff .theme-round li.tumblr .share_count:hover{background-color:#529ecc!important;color:#fff!important}.shariff .theme-round li.patreon .share_count:hover{background-color:#e6461a!important;color:#fff!important}.shariff .orientation-vertical{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.shariff .orientation-vertical li{width:135px}.shariff .orientation-vertical li a{color:#fff}.shariff .buttonsize-small li{height:25px}.shariff .buttonsize-small li a{height:25px}.shariff .buttonsize-small li .share_count,.shariff .buttonsize-small li .share_text{font-size:11px;line-height:25px;padding:0 5px;height:23px}.shariff .buttonsize-small li .s3uu{width:25px;line-height:25px;font-size:16px}.shariff .buttonsize-small li .share_text{padding-left:1px!important}.shariff .orientation-vertical.buttonsize-small li{width:115px}.shariff .theme-round.buttonsize-small li .s3uu{margin-top:0}.shariff .theme-round.buttonsize-small .shariff-button{width:25px!important;min-width:25px!important;max-width:25px!important;height:25px!important}.shariff .theme-round.buttonsize-small .share_count{padding:0!important;height:25px!important}.widget .shariff .theme-color li a,.widget .shariff .theme-default li a,.widget .shariff .theme-grey li a,.widget .shariff .theme-round li a{color:#fff}.widget .shariff .theme-color li a:hover,.widget .shariff .theme-default li a:hover,.widget .shariff .theme-grey li a:hover,.widget .shariff .theme-round li a:hover{color:#fff}@media only screen and (max-width:360px){.shariff .orientation-horizontal li{min-width:35px;max-width:35px}.shariff .orientation-horizontal.buttonsize-small li{min-width:25px;max-width:25px}}@media only screen and (min-width:360px){.shariff .orientation-horizontal li{min-width:80px;width:auto}.shariff .orientation-horizontal li .share_count{display:block}.shariff .orientation-horizontal.col-1 li,.shariff .orientation-horizontal.col-2 li{min-width:130px}.shariff .orientation-horizontal.col-1 li .share_text,.shariff .orientation-horizontal.col-2 li .share_text{text-indent:0;display:inline!important}.shariff .orientation-horizontal.col-5 li,.shariff .orientation-horizontal.col-6 li{-webkit-flex:none;-ms-flex:none;flex:none}}@media only screen and (min-width:640px){.shariff .orientation-horizontal.col-3 li{min-width:130px}.shariff .orientation-horizontal.col-3 li .share_text{text-indent:0;display:inline!important}.shariff .orientation-horizontal.col-3.buttonsize-small li{min-width:105px}.shariff .orientation-horizontal.col-3.buttonsize-small li .share_text{text-indent:0;display:inline!important}}@media only screen and (min-width:768px){.shariff .orientation-horizontal li{min-width:130px}.shariff .orientation-horizontal li .share_text{text-indent:0;display:inline!important}.shariff .orientation-horizontal.buttonsize-small li{min-width:105px}.shariff .orientation-horizontal.buttonsize-small li .share_text{text-indent:0;display:inline!important}}@media only screen and (min-width:1024px){.shariff li{height:35px}.shariff li a{height:35px}.shariff li .s3uu{width:35px;line-height:35px}.shariff .buttonsize-small li{height:25px}.shariff .buttonsize-small li a{height:25px}.shariff .buttonsize-small li .s3uu{width:25px;line-height:25px}}.shariff .twitter a{background-color:#55acee}.shariff .twitter a:hover{background-color:#32bbf5}.shariff .theme-default .twitter .share_count{color:#147bc9}.shariff .theme-white .twitter a{color:#55acee}.shariff .theme-white .twitter a:hover{color:#55acee}.shariff .facebook a{background-color:#3b5998;color:#fff}.shariff .facebook a:hover{background-color:#4273c8}.shariff .theme-default .facebook .share_count{color:#1e2e4f}.shariff .theme-white .facebook a{color:#3b5998!important}.shariff .theme-white .facebook a:hover{color:#3b5998}.shariff .googleplus a{background-color:#d34836}.shariff .googleplus a:hover{background-color:#f75b44}.shariff .theme-default .googleplus .share_count{color:#86291d}.shariff .theme-white .googleplus a{color:#d34836}.shariff .theme-white .googleplus a:hover{color:#d34836}.shariff .vk a{background-color:#527498;color:#fff}.shariff .vk a:hover{background-color:#4273c8}.shariff .theme-default .facebook .share_count{color:#1e2e4f}.shariff .theme-white .facebook a{color:#527498!important}.shariff .theme-white .facebook a:hover{color:#527498}.shariff .mailform a{background-color:#999}.shariff .mailform a:hover{background-color:#a8a8a8}.shariff .theme-white .mailform a{color:#999}.shariff .theme-white .mailform a:hover{color:#999}.shariff .buttonsize-small .mailform .s3uu{font-size:14px!important}.shariff .mailto a{background-color:#999}.shariff .mailto a:hover{background-color:#a8a8a8}.shariff .theme-white .mailto a{color:#999}.shariff .theme-white .mailto a:hover{color:#999}.shariff .buttonsize-small .mailto .s3uu{font-size:14px!important}.shariff .info{border:1px solid #ccc}.shariff .info a{color:#666!important;background-color:#fff;text-align:center}.shariff .info a:hover{background-color:#efefef}.shariff .info .s3uu-info{width:35px;max-width:35px}.shariff .info .share_text{display:block!important;text-indent:-9999px!important}.shariff .theme-grey .info a{background-color:#fff}.shariff .theme-grey .info a:hover{background-color:#efefef}.shariff .orientation-vertical .info{width:35px;float:left}.shariff .orientation-vertical.buttonsize-small .info{width:25px;float:left}@media only screen and (min-width:360px){.shariff .orientation-horizontal .info{-webkit-flex:none!important;-ms-flex:none!important;flex:none!important;width:35px;min-width:35px;max-width:35px}.shariff .orientation-vertical .info{width:35px}.shariff .orientation-vertical.buttonsize-small .info{width:25px}.shariff .orientation-vertical.buttonsize-small .info .s3uu{line-height:24px;width:23px}.shariff .orientation-horizontal.buttonsize-small .info{width:25px;min-width:25px;max-width:25px}.shariff .orientation-horizontal.buttonsize-small .info .s3uu{line-height:24px;width:23px}}.shariff .whatsapp a{background-color:#5cbe4a}.shariff .whatsapp a:hover{background-color:#34af23}.shariff .s3uu-whatsapp{margin-left:1px}.shariff .theme-white .whatsapp a{color:#5cbe4a}.shariff .theme-white .whatsapp a:hover{color:#5cbe4a}.shariff .xing a{background-color:#126567;color:#fff}.shariff .xing a:hover{background-color:#29888a}.shariff .theme-default .xing .share_count{color:#031010}.shariff .theme-white .xing a{color:#126567}.shariff .theme-white .xing a:hover{color:#126567}.shariff .pinterest a{background-color:#cb2027;color:#fff}.shariff .pinterest a:hover{background-color:#e70f18}.shariff .theme-default .pinterest .share_count{color:#731216}.shariff .theme-white .pinterest a{color:#cb2027!important}.shariff .theme-white .pinterest a:hover{color:#cb2027}.shariff .stumbleupon a{background-color:#eb4b24}.shariff .stumbleupon a:hover{background-color:#e1370e}.shariff .stumbleupon .s3uu-stumbleupon{font-size:20px}.shariff .stumbleupon .s3uu-stumbleupon .buttonsize-small{font-size:16px}.shariff .theme-default .stumbleupon .share_count{color:#9b2a0e}.shariff .theme-white .stumbleupon a{color:#eb4b24!important}.shariff .theme-white .stumbleupon a:hover{color:#eb4b24}.shariff .printer a{background-color:#999}.shariff .printer a:hover{background-color:#a8a8a8}.shariff .theme-white .printer a{color:#999}.shariff .theme-white .printer a:hover{color:#999}.shariff .reddit a{background-color:#cee3f8;color:#000!important}.shariff .reddit a:hover{background-color:#bedcf9}.shariff .reddit .share_count{color:#000}.shariff .theme-white .reddit a{color:#000!important}.shariff .theme-grey .reddit a{color:#fff!important}.shariff .theme-grey .reddit a .share_count{color:#fff!important}.widget .shariff .theme-color .reddit a,.widget .shariff .theme-round .reddit a,.widget .shariff .theme-white .reddit a{color:#000!important}.shariff .linkedin a{background-color:#0077b5}.shariff .linkedin a:hover{background-color:#1488bf}.shariff .theme-default .linkedin .share_count{background-color:#33aae8}.shariff .theme-white .linkedin a{color:#0077b5}.shariff .theme-white .linkedin a:hover{color:#0077b5}.shariff .flattr a{background-color:#7ea352;color:#fff}.shariff .flattr a .s3uu{font-size:18px}.shariff .flattr a:hover{background-color:#f67c1a}.shariff .theme-default .flattr .share_count{color:#4a5f30}.shariff .theme-default .flattr a:hover .share_count{color:#a44c06}.shariff .theme-white .flattr a{color:#7ea352}.shariff .theme-white .flattr a:hover{color:#7ea352}.shariff .buttonsize-small .flattr a .s3uu{font-size:14px}.shariff .paypal a{background-color:#009cde;color:#fff}.shariff .paypal a .s3uu{font-size:18px}.shariff .paypal a:hover{background-color:#0285d2}.shariff .theme-default .paypal .share_count{color:#005478}.shariff .theme-default .paypal a:hover .share_count{color:#005478}.shariff .theme-white .paypal a{color:#009cde}.shariff .theme-white .paypal a:hover{color:#0285d2}.shariff .buttonsize-small .paypal a .s3uu{font-size:14px}.shariff .bitcoin a{background-color:#f7931a;color:#fff}.shariff .bitcoin a .s3uu{font-size:18px}.shariff .bitcoin a:hover{background-color:#000}.shariff .theme-default .bitcoin .share_count{color:#a55d06}.shariff .theme-default .bitcoin a:hover .share_count{color:#a55d06}.shariff .theme-white .bitcoin a{color:#f7931a}.shariff .theme-white .bitcoin a:hover{color:#000}.shariff .buttonsize-small .bitcoin a .s3uu{font-size:14px}.shariff .tumblr a{background-color:#36465d;color:#fff}.shariff .tumblr a .s3uu{font-size:18px}.shariff .tumblr a:hover{background-color:#529ecc}.shariff .theme-default .tumblr .share_count{color:#11151c}.shariff .theme-default .tumblr a:hover .share_count{color:#11151c}.shariff .theme-white .tumblr a{color:#36465d}.shariff .theme-white .tumblr a:hover{color:#529ecc}.shariff .buttonsize-small .tumblr a .s3uu{font-size:14px}.shariff .patreon a{background-color:#e6461a;color:#fff}.shariff .patreon a .s3uu{font-size:18px}.shariff .patreon a:hover{background-color:#f09076}.shariff .theme-default .patreon .share_count{color:#8b2a0f}.shariff .theme-default .patreon a:hover .share_count{color:#8b2a0f}.shariff .theme-white .patreon a{color:#e6461a}.shariff .theme-white .patreon a:hover{color:#232d32}.shariff .buttonsize-small .patreon a .s3uu{font-size:14px}.shariff .addthis a{background-color:#f8694d;color:#fff}.shariff .addthis a:hover{background-color:#f75b44}.shariff .theme-default .addthis .share_count{color:#d72a08}.shariff .theme-white .addthis a{color:#f8694d}.shariff .theme-white .addthis a:hover{color:#f8694d}.shariff .diaspora a{background-color:#999;color:#fff}.shariff .diaspora a:hover{background-color:#b3b3b3}.shariff .theme-default .diaspora .share_count{color:#666}.shariff .theme-white .diaspora a{color:#999}.shariff .theme-white .diaspora a:hover{color:#999}.shariff .threema a{background-color:#1f1f1f;color:#fff}.shariff .threema a:hover{background-color:#4fbc24}.shariff .theme-default .threema .share_count{color:#000}.shariff .theme-white .threema a{color:#1f1f1f}.shariff .theme-white .threema a:hover{color:#1f1f1f}.shariff .paypalme a{background-color:#009cde;color:#fff}.shariff .paypalme a .s3uu{font-size:18px}.shariff .paypalme a:hover{background-color:#0285d2}.shariff .theme-default .paypalme .share_count{color:#005478}.shariff .theme-default .paypalme a:hover .share_count{color:#005478}.shariff .theme-white .paypalme a{color:#009cde}.shariff .theme-white .paypalme a:hover{color:#0285d2}.shariff .buttonsize-small .paypalme a .s3uu{font-size:14px}
     6 */@font-face{font-family:shariff3uu;src:url(../fonts/shariff3uu.eot);src:url(../fonts/shariff3uu.eot) format('embedded-opentype'),url(../fonts/shariff3uu.woff) format('woff'),url(../fonts/shariff3uu.ttf) format('truetype'),url(../fonts/shariff3uu.svg) format('svg');font-weight:400;font-style:normal}.shariff .s3uu{font-family:shariff3uu;speak:none;font-variant:normal;text-transform:none;line-height:1;display:inline-block;-webkit-font-feature-settings:normal;font-feature-settings:normal;-webkit-font-kerning:auto;font-kerning:auto;-webkit-font-language-override:normal;font-language-override:normal;font-size:inherit;font-size-adjust:none;font-stretch:normal;font-synthesis:weight style;text-rendering:auto;width:35px;line-height:35px;text-align:center;vertical-align:middle;font-size:20px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shariff .s3uu-google-plus:before{content:"\e900"}.shariff .s3uu-threema:before{content:"\e901"}.shariff .s3uu-addthis:before{content:"\e902"}.shariff .s3uu-tumblr:before{content:"\eabb"}.shariff .s3uu-facebook:before{content:"\e800"}.shariff .s3uu-twitter:before{content:"\e801"}.shariff .s3uu-pinterest:before{content:"\e803"}.shariff .s3uu-xing:before{content:"\e804"}.shariff .s3uu-linkedin:before{content:"\e805"}.shariff .s3uu-reddit:before{content:"\e806"}.shariff .s3uu-stumbleupon:before{content:"\e807"}.shariff .s3uu-envelope:before{content:"\e808"}.shariff .s3uu-print:before{content:"\e809"}.shariff .s3uu-info:before{content:"\e80a"}.shariff .s3uu-flattr:before{content:"\e80b"}.shariff .s3uu-whatsapp:before{content:"\f232"}.shariff .s3uu-paypal:before{content:"\e603"}.shariff .s3uu-patreon:before{content:"\e602"}.shariff .s3uu-bitcoin:before{content:"\e601"}.shariff .s3uu-vk:before{content:"\e600"}.shariff .s3uu-diaspora:before{content:"\e903"}.flattr_warning{background-color:red;color:#fff;font-size:20px;font-weight:700;padding:10px;text-align:center;margin:0 auto;line-height:1.5}.shariff_mailform{background:#eee none repeat scroll 0 0;border:1px solid;margin:10px;max-width:750px;padding:10px 15px}.shariff_mailform form{margin:0}.shariff_mailform fieldset{border:none;margin:0;padding:0}.shariff_mailform label{margin-left:3px;display:inline-block}.shariff_mailform p{margin:10px 0 0 0!important}.shariff_mailform textarea{height:auto!important;width:90%!important}.shariff_mailform input,.shariff_mailform select{vertical-align:baseline}.shariff_mailform_error{color:red;font-weight:700;padding:0 0 5px}.shariff_mailform_disabled{color:red;font-weight:700;padding:2px 0 0}.shariff_mailform_headline{font-weight:700;padding:0}.shariff::after,.shariff::before{content:" ";display:table}.shariff::after{clear:both}.shariff span{color:inherit}.shariff ul{display:-webkit-flex;display:-moz-flex;display:-ms-flex;display:-o-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-moz-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;padding:0!important;margin:0!important}.shariff ul li{list-style-type:none}.shariff ul li::before{content:normal!important}.shariff li{height:35px;box-sizing:border-box;overflow:hidden!important;margin:5px!important;padding:0!important;text-indent:0!important}.shariff li a{color:#fff;position:relative;display:block;height:35px;text-decoration:none;box-sizing:border-box;border:0}.shariff li .share_text{vertical-align:top!important}.shariff li .share_count,.shariff li .share_text{font-family:Arial,Helvetica,sans-serif;font-size:12px;line-height:36px}.shariff li .s3uu{width:35px;line-height:35px;text-align:center;vertical-align:top;font-size:20px}.shariff li .share_count{padding:0 8px;height:33px;position:absolute;top:0;right:0;margin:1px;background-color:rgba(255,255,255,.5);vertical-align:middle}.shariff .orientation-horizontal li{-webkit-box-flex:1}.shariff .orientation-horizontal .info{-webkit-box-flex:0}.shariff .orientation-horizontal li{float:left;-webkit-flex:none;-ms-flex:none;flex:none}.shariff .orientation-horizontal li .share_text{display:block;text-indent:-9999px;padding-left:3px}.shariff .orientation-horizontal li .share_count{display:none}.shariff .theme-default .shariff-button a{color:#fff}.shariff .theme-color .share_count{background-color:transparent!important;color:#fff}.shariff .theme-color a{color:#fff!important}.shariff .theme-color a:hover{color:#fff}.shariff .theme-grey .share_count{background-color:transparent}.shariff .theme-grey .shariff-button a{background-color:#b0b0b0;color:#fff}.shariff .theme-white .share_count{background-color:transparent}.shariff .theme-white .shariff-button{border:1px solid #ddd}.shariff .theme-white .shariff-button a{background-color:#fff;color:0}.shariff .theme-white .shariff-button a:hover{background-color:#eee}.shariff .theme-round .share_count{display:inline;height:100%;padding:0;right:0;left:0;top:0;margin:0;width:100%;background-color:transparent;color:transparent!important}.shariff .theme-round .shariff-button{width:35px!important;min-width:35px!important;max-width:35px!important;height:35px;border-radius:50%;margin:5px}.shariff .theme-round .share_text{display:block;text-indent:-9999px}.shariff .theme-round li{background:0 0}.shariff .theme-round li .s3uu{vertical-align:baseline}.shariff .theme-round li a{color:#fff}.shariff .theme-round a{text-align:center;color:#fff;position:relative;height:35px;border-radius:50%}.shariff .theme-round li.facebook .share_count:hover{background-color:#99adcf!important;color:#183a75!important}.shariff .theme-round li.twitter .share_count:hover{background-color:#96d4ee!important;color:#0174a4!important}.shariff .theme-round li.googleplus .share_count:hover{background-color:#eda79d!important;color:#a31601!important}.shariff .theme-round li.pinterest .share_count:hover{background-color:#ff050f!important;color:#fff!important}.shariff .theme-round li.linkedin .share_count:hover{background-color:#99adcf!important;color:#183a75!important}.shariff .theme-round li.xing .share_count:hover{background-color:#4fa5a7!important;color:#15686a!important}.shariff .theme-round li.reddit .share_count:hover{background-color:#e9f2fa!important;color:#000!important}.shariff .theme-round li.stumbleupon .share_count:hover{background-color:#fb613c!important;color:#fff!important}.shariff .theme-round li.flattr .share_count:hover{background-color:#F67C1A!important;color:#fff!important}.shariff .theme-round li.paypal .share_count:hover{background-color:#0285d2!important;color:#fff!important}.shariff .theme-round li.bitcoin .share_count:hover{background-color:#f7931a!important;color:#fff!important}.shariff .theme-round li.tumblr .share_count:hover{background-color:#529ecc!important;color:#fff!important}.shariff .theme-round li.patreon .share_count:hover{background-color:#e6461a!important;color:#fff!important}.shariff .orientation-vertical{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.shariff .orientation-vertical li{width:135px}.shariff .orientation-vertical li a{color:#fff}.shariff .buttonsize-small li{height:25px}.shariff .buttonsize-small li a{height:25px}.shariff .buttonsize-small li .share_count,.shariff .buttonsize-small li .share_text{font-size:11px;line-height:25px;padding:0 5px;height:23px}.shariff .buttonsize-small li .s3uu{width:25px;line-height:25px;font-size:16px}.shariff .buttonsize-small li .share_text{padding-left:1px!important}.shariff .orientation-vertical.buttonsize-small li{width:115px}.shariff .theme-round.buttonsize-small li .s3uu{margin-top:0}.shariff .theme-round.buttonsize-small .shariff-button{width:25px!important;min-width:25px!important;max-width:25px!important;height:25px!important}.shariff .theme-round.buttonsize-small .share_count{padding:0!important;height:25px!important}.widget .shariff .theme-color li a,.widget .shariff .theme-default li a,.widget .shariff .theme-grey li a,.widget .shariff .theme-round li a{color:#fff}.widget .shariff .theme-color li a:hover,.widget .shariff .theme-default li a:hover,.widget .shariff .theme-grey li a:hover,.widget .shariff .theme-round li a:hover{color:#fff}@media only screen and (max-width:360px){.shariff .orientation-horizontal li{min-width:35px;max-width:35px}.shariff .orientation-horizontal.buttonsize-small li{min-width:25px;max-width:25px}}@media only screen and (min-width:360px){.shariff .orientation-horizontal li{min-width:80px;width:auto}.shariff .orientation-horizontal li .share_count{display:block}.shariff .orientation-horizontal.col-1 li,.shariff .orientation-horizontal.col-2 li{min-width:130px}.shariff .orientation-horizontal.col-1 li .share_text,.shariff .orientation-horizontal.col-2 li .share_text{text-indent:0;display:inline!important}.shariff .orientation-horizontal.col-5 li,.shariff .orientation-horizontal.col-6 li{-webkit-flex:none;-ms-flex:none;flex:none}}@media only screen and (min-width:640px){.shariff .orientation-horizontal.col-3 li{min-width:130px}.shariff .orientation-horizontal.col-3 li .share_text{text-indent:0;display:inline!important}.shariff .orientation-horizontal.col-3.buttonsize-small li{min-width:105px}.shariff .orientation-horizontal.col-3.buttonsize-small li .share_text{text-indent:0;display:inline!important}}@media only screen and (min-width:768px){.shariff .orientation-horizontal li{min-width:130px}.shariff .orientation-horizontal li .share_text{text-indent:0;display:inline!important}.shariff .orientation-horizontal.buttonsize-small li{min-width:105px}.shariff .orientation-horizontal.buttonsize-small li .share_text{text-indent:0;display:inline!important}}@media only screen and (min-width:1024px){.shariff li{height:35px}.shariff li a{height:35px}.shariff li .s3uu{width:35px;line-height:35px}.shariff .buttonsize-small li{height:25px}.shariff .buttonsize-small li a{height:25px}.shariff .buttonsize-small li .s3uu{width:25px;line-height:25px}}.shariff .twitter a{background-color:#55acee}.shariff .twitter a:hover{background-color:#32bbf5}.shariff .theme-default .twitter .share_count{color:#147bc9}.shariff .theme-white .twitter a{color:#55acee}.shariff .theme-white .twitter a:hover{color:#55acee}.shariff .facebook a{background-color:#3b5998;color:#fff}.shariff .facebook a:hover{background-color:#4273c8}.shariff .theme-default .facebook .share_count{color:#1e2e4f}.shariff .theme-white .facebook a{color:#3b5998!important}.shariff .theme-white .facebook a:hover{color:#3b5998}.shariff .googleplus a{background-color:#d34836}.shariff .googleplus a:hover{background-color:#f75b44}.shariff .theme-default .googleplus .share_count{color:#86291d}.shariff .theme-white .googleplus a{color:#d34836}.shariff .theme-white .googleplus a:hover{color:#d34836}.shariff .vk a{background-color:#527498;color:#fff}.shariff .vk a:hover{background-color:#4273c8}.shariff .theme-default .vk .share_count{color:#1e2e4f}.shariff .theme-white .vk a{color:#527498!important}.shariff .theme-white .vk a:hover{color:#527498}.shariff .mailform a{background-color:#999}.shariff .mailform a:hover{background-color:#a8a8a8}.shariff .theme-white .mailform a{color:#999}.shariff .theme-white .mailform a:hover{color:#999}.shariff .buttonsize-small .mailform .s3uu{font-size:14px!important}.shariff .mailto a{background-color:#999}.shariff .mailto a:hover{background-color:#a8a8a8}.shariff .theme-white .mailto a{color:#999}.shariff .theme-white .mailto a:hover{color:#999}.shariff .buttonsize-small .mailto .s3uu{font-size:14px!important}.shariff .info{border:1px solid #ccc}.shariff .info a{color:#666!important;background-color:#fff;text-align:center}.shariff .info a:hover{background-color:#efefef}.shariff .info .s3uu-info{width:35px;max-width:35px}.shariff .info .share_text{display:block!important;text-indent:-9999px!important}.shariff .theme-grey .info a{background-color:#fff}.shariff .theme-grey .info a:hover{background-color:#efefef}.shariff .orientation-vertical .info{width:35px;float:left}.shariff .orientation-vertical.buttonsize-small .info{width:25px;float:left}@media only screen and (min-width:360px){.shariff .orientation-horizontal .info{-webkit-flex:none!important;-ms-flex:none!important;flex:none!important;width:35px;min-width:35px;max-width:35px}.shariff .orientation-vertical .info{width:35px}.shariff .orientation-vertical.buttonsize-small .info{width:25px}.shariff .orientation-vertical.buttonsize-small .info .s3uu{line-height:24px;width:23px}.shariff .orientation-horizontal.buttonsize-small .info{width:25px;min-width:25px;max-width:25px}.shariff .orientation-horizontal.buttonsize-small .info .s3uu{line-height:24px;width:23px}}.shariff .whatsapp a{background-color:#5cbe4a}.shariff .whatsapp a:hover{background-color:#34af23}.shariff .s3uu-whatsapp{margin-left:1px}.shariff .theme-white .whatsapp a{color:#5cbe4a}.shariff .theme-white .whatsapp a:hover{color:#5cbe4a}.shariff .xing a{background-color:#126567;color:#fff}.shariff .xing a:hover{background-color:#29888a}.shariff .theme-default .xing .share_count{color:#031010}.shariff .theme-white .xing a{color:#126567}.shariff .theme-white .xing a:hover{color:#126567}.shariff .pinterest a{background-color:#cb2027;color:#fff}.shariff .pinterest a:hover{background-color:#e70f18}.shariff .theme-default .pinterest .share_count{color:#731216}.shariff .theme-white .pinterest a{color:#cb2027!important}.shariff .theme-white .pinterest a:hover{color:#cb2027}.shariff .stumbleupon a{background-color:#eb4b24}.shariff .stumbleupon a:hover{background-color:#e1370e}.shariff .stumbleupon .s3uu-stumbleupon{font-size:20px}.shariff .stumbleupon .s3uu-stumbleupon .buttonsize-small{font-size:16px}.shariff .theme-default .stumbleupon .share_count{color:#9b2a0e}.shariff .theme-white .stumbleupon a{color:#eb4b24!important}.shariff .theme-white .stumbleupon a:hover{color:#eb4b24}.shariff .printer a{background-color:#999}.shariff .printer a:hover{background-color:#a8a8a8}.shariff .theme-white .printer a{color:#999}.shariff .theme-white .printer a:hover{color:#999}.shariff .reddit a{background-color:#cee3f8;color:#000!important}.shariff .reddit a:hover{background-color:#bedcf9}.shariff .reddit .share_count{color:#000}.shariff .theme-white .reddit a{color:#000!important}.shariff .theme-grey .reddit a{color:#fff!important}.shariff .theme-grey .reddit a .share_count{color:#fff!important}.widget .shariff .theme-color .reddit a,.widget .shariff .theme-round .reddit a,.widget .shariff .theme-white .reddit a{color:#000!important}.shariff .linkedin a{background-color:#0077b5}.shariff .linkedin a:hover{background-color:#1488bf}.shariff .theme-default .linkedin .share_count{background-color:#33AAE8}.shariff .theme-white .linkedin a{color:#0077b5}.shariff .theme-white .linkedin a:hover{color:#0077b5}.shariff .flattr a{background-color:#7ea352;color:#fff}.shariff .flattr a .s3uu{font-size:18px}.shariff .flattr a:hover{background-color:#F67C1A}.shariff .theme-default .flattr .share_count{color:#4a5f30}.shariff .theme-default .flattr a:hover .share_count{color:#a44c06}.shariff .theme-white .flattr a{color:#7ea352}.shariff .theme-white .flattr a:hover{color:#7ea352}.shariff .buttonsize-small .flattr a .s3uu{font-size:14px}.shariff .paypal a{background-color:#009cde;color:#fff}.shariff .paypal a .s3uu{font-size:18px}.shariff .paypal a:hover{background-color:#0285d2}.shariff .theme-default .paypal .share_count{color:#005478}.shariff .theme-default .paypal a:hover .share_count{color:#005478}.shariff .theme-white .paypal a{color:#009cde}.shariff .theme-white .paypal a:hover{color:#0285d2}.shariff .buttonsize-small .paypal a .s3uu{font-size:14px}.shariff .bitcoin a{background-color:#f7931a;color:#fff}.shariff .bitcoin a .s3uu{font-size:18px}.shariff .bitcoin a:hover{background-color:#000}.shariff .theme-default .bitcoin .share_count{color:#a55d06}.shariff .theme-default .bitcoin a:hover .share_count{color:#a55d06}.shariff .theme-white .bitcoin a{color:#f7931a}.shariff .theme-white .bitcoin a:hover{color:#000}.shariff .buttonsize-small .bitcoin a .s3uu{font-size:14px}.shariff .tumblr a{background-color:#36465d;color:#fff}.shariff .tumblr a .s3uu{font-size:18px}.shariff .tumblr a:hover{background-color:#529ecc}.shariff .theme-default .tumblr .share_count{color:#11151c}.shariff .theme-default .tumblr a:hover .share_count{color:#11151c}.shariff .theme-white .tumblr a{color:#36465d}.shariff .theme-white .tumblr a:hover{color:#529ecc}.shariff .buttonsize-small .tumblr a .s3uu{font-size:14px}.shariff .patreon a{background-color:#e6461a;color:#fff}.shariff .patreon a .s3uu{font-size:18px}.shariff .patreon a:hover{background-color:#f09076}.shariff .theme-default .patreon .share_count{color:#8b2a0f}.shariff .theme-default .patreon a:hover .share_count{color:#8b2a0f}.shariff .theme-white .patreon a{color:#e6461a}.shariff .theme-white .patreon a:hover{color:#232d32}.shariff .buttonsize-small .patreon a .s3uu{font-size:14px}.shariff .addthis a{background-color:#f8694d;color:#fff}.shariff .addthis a:hover{background-color:#f75b44}.shariff .theme-default .addthis .share_count{color:#d72a08}.shariff .theme-white .addthis a{color:#f8694d}.shariff .theme-white .addthis a:hover{color:#f8694d}.shariff .diaspora a{background-color:#999;color:#fff}.shariff .diaspora a:hover{background-color:#b3b3b3}.shariff .theme-default .diaspora .share_count{color:#666}.shariff .theme-white .diaspora a{color:#999}.shariff .theme-white .diaspora a:hover{color:#999}.shariff .threema a{background-color:#1f1f1f;color:#fff}.shariff .threema a:hover{background-color:#4fbc24}.shariff .theme-default .threema .share_count{color:#000}.shariff .theme-white .threema a{color:#1f1f1f}.shariff .theme-white .threema a:hover{color:#1f1f1f}.shariff .paypalme a{background-color:#009cde;color:#fff}.shariff .paypalme a .s3uu{font-size:18px}.shariff .paypalme a:hover{background-color:#0285d2}.shariff .theme-default .paypalme .share_count{color:#005478}.shariff .theme-default .paypalme a:hover .share_count{color:#005478}.shariff .theme-white .paypalme a{color:#009cde}.shariff .theme-white .paypalme a:hover{color:#0285d2}.shariff .buttonsize-small .paypalme a .s3uu{font-size:14px}
  • shariff/trunk/locale/shariff3UU-de_DE.po

    r1285722 r1290975  
    22msgstr ""
    33"Project-Id-Version: Shariff Wrapper for Wordpress\n"
    4 "PO-Revision-Date: 2015-11-13 01:41+0100\n"
     4"PO-Revision-Date: 2015-11-20 01:27+0100\n"
    55"Last-Translator: JP\n"
    66"Plural-Forms: nplurals=2; plural=n != 1;\n"
     
    816816msgid "Excerpt"
    817817msgstr "Textauszug (Excerpt)"
     818
     819# @ shariff3UU
     820#. Text in function
     821#: shariff.php:1
     822msgid "Disable the following services (share counts only):"
     823msgstr "Deaktiviere die folgenden Dienste (nur Statistik):"
  • shariff/trunk/readme.txt

    r1287123 r1290975  
    1 === Shariff Wrapper ===
     1=== Shariff Wrapper ===
    22Contributors: 3UU, starguide
    33Tags: Twitter, Facebook, GooglePlus, sharebutton, sharing, privacy, social, whatsapp
     
    77License: MIT
    88License URI: http://opensource.org/licenses/MIT
    9 Donate link: https://www.jplambeck.de/wp-content/plugins/shariff/bitcoin.php?bitcoinaddress=1Pm5JgQkWnadUN81uakULAp3VuLSztYqz
     9Donate link: http://folge.link/?bitcoin=1Ritz1iUaLaxuYcXhUCoFhkVRH6GWiMTP
    1010
    1111This is a wrapper to Shariff. It enables shares with Twitter, Facebook ... on posts, pages and themes with no harm for visitors privacy.
     
    147147
    148148== Changelog ==
     149
     150= 3.2.0 =
     151- new service VK
     152- new share count service VK
     153- new dynamic cache lifespan (ttl) based on post / page age (last modified)
     154- new option to disable individual services (only share counts)
     155- fix facebook share counts now use total_counts again
     156- fix search for custom WP locations
     157- backend optimization
     158- temporarily disabled the Flattr counts (statistic) due to ongoing problems of the Flattr API
     159- fix use of wp_title() is/was deprecated in WP4.4
    149160
    150161= 3.1.3 =
  • shariff/trunk/shariff.js

    r1287123 r1290975  
    11
    22/*!
    3  * shariff - v1.21.0 - 14.11.2015
     3 * shariff - v1.21.0 - 20.11.2015
    44 * https://github.com/heiseonline/shariff
    55 * Copyright (c) 2015 Ines Pauer, Philipp Busse, Sebastian Hilbig, Erich Kramer, Deniz Sesli
     
    1111module.exports=window;
    1212
    13 
    1413},{}],2:[function(require,module,exports){
    1514(function (global){
    16 !function(o){function e(o){throw RangeError(L[o])}function n(o,e){for(var n=o.length;n--;)o[n]=e(o[n]);return o}function t(o,e){return n(o.split(S),e).join(".")}function r(o){for(var e,n,t=[],r=0,u=o.length;u>r;)e=o.charCodeAt(r++),e>=55296&&56319>=e&&u>r?(n=o.charCodeAt(r++),56320==(64512&n)?t.push(((1023&e)<<10)+(1023&n)+65536):(t.push(e),r--)):t.push(e);return t}function u(o){return n(o,function(o){var e="";return o>65535&&(o-=65536,e+=R(o>>>10&1023|55296),o=56320|1023&o),e+=R(o)}).join("")}function i(o){return 10>o-48?o-22:26>o-65?o-65:26>o-97?o-97:x}function f(o,e){return o+22+75*(26>o)-((0!=e)<<5)}function c(o,e,n){var t=0;for(o=n?P(o/m):o>>1,o+=P(o/e);o>M*C>>1;t+=x)o=P(o/M);return P(t+(M+1)*o/(o+j))}function l(o){var n,t,r,f,l,d,s,a,p,h,v=[],g=o.length,w=0,j=I,m=A;for(t=o.lastIndexOf(F),0>t&&(t=0),r=0;t>r;++r)o.charCodeAt(r)>=128&&e("not-basic"),v.push(o.charCodeAt(r));for(f=t>0?t+1:0;g>f;){for(l=w,d=1,s=x;f>=g&&e("invalid-input"),a=i(o.charCodeAt(f++)),(a>=x||a>P((b-w)/d))&&e("overflow"),w+=a*d,p=m>=s?y:s>=m+C?C:s-m,!(p>a);s+=x)h=x-p,d>P(b/h)&&e("overflow"),d*=h;n=v.length+1,m=c(w-l,n,0==l),P(w/n)>b-j&&e("overflow"),j+=P(w/n),w%=n,v.splice(w++,0,j)}return u(v)}function d(o){var n,t,u,i,l,d,s,a,p,h,v,g,w,j,m,E=[];for(o=r(o),g=o.length,n=I,t=0,l=A,d=0;g>d;++d)v=o[d],128>v&&E.push(R(v));for(u=i=E.length,i&&E.push(F);g>u;){for(s=b,d=0;g>d;++d)v=o[d],v>=n&&s>v&&(s=v);for(w=u+1,s-n>P((b-t)/w)&&e("overflow"),t+=(s-n)*w,n=s,d=0;g>d;++d)if(v=o[d],n>v&&++t>b&&e("overflow"),v==n){for(a=t,p=x;h=l>=p?y:p>=l+C?C:p-l,!(h>a);p+=x)m=a-h,j=x-h,E.push(R(f(h+m%j,0))),a=P(m/j);E.push(R(f(a,0))),l=c(t,w,u==i),t=0,++u}++t,++n}return E.join("")}function s(o){return t(o,function(o){return E.test(o)?l(o.slice(4).toLowerCase()):o})}function a(o){return t(o,function(o){return O.test(o)?"xn--"+d(o):o})}var p="object"==typeof exports&&exports,h="object"==typeof module&&module&&module.exports==p&&module,v="object"==typeof global&&global;(v.global===v||v.window===v)&&(o=v);var g,w,b=2147483647,x=36,y=1,C=26,j=38,m=700,A=72,I=128,F="-",E=/^xn--/,O=/[^ -~]/,S=/\x2E|\u3002|\uFF0E|\uFF61/g,L={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},M=x-y,P=Math.floor,R=String.fromCharCode;if(g={version:"1.2.4",ucs2:{decode:r,encode:u},decode:l,encode:d,toASCII:a,toUnicode:s},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return g});else if(p&&!p.nodeType)if(h)h.exports=g;else for(w in g)g.hasOwnProperty(w)&&(p[w]=g[w]);else o.punycode=g}(this);
    17 
     15!function(e){function o(e){throw RangeError(T[e])}function n(e,o){for(var n=e.length,r=[];n--;)r[n]=o(e[n]);return r}function r(e,o){var r=e.split("@"),t="";r.length>1&&(t=r[0]+"@",e=r[1]),e=e.replace(S,".");var u=e.split("."),i=n(u,o).join(".");return t+i}function t(e){for(var o,n,r=[],t=0,u=e.length;u>t;)o=e.charCodeAt(t++),o>=55296&&56319>=o&&u>t?(n=e.charCodeAt(t++),56320==(64512&n)?r.push(((1023&o)<<10)+(1023&n)+65536):(r.push(o),t--)):r.push(o);return r}function u(e){return n(e,function(e){var o="";return e>65535&&(e-=65536,o+=P(e>>>10&1023|55296),e=56320|1023&e),o+=P(e)}).join("")}function i(e){return 10>e-48?e-22:26>e-65?e-65:26>e-97?e-97:b}function f(e,o){return e+22+75*(26>e)-((0!=o)<<5)}function c(e,o,n){var r=0;for(e=n?M(e/j):e>>1,e+=M(e/o);e>L*C>>1;r+=b)e=M(e/L);return M(r+(L+1)*e/(e+m))}function l(e){var n,r,t,f,l,s,d,a,p,h,v=[],g=e.length,w=0,m=I,j=A;for(r=e.lastIndexOf(E),0>r&&(r=0),t=0;r>t;++t)e.charCodeAt(t)>=128&&o("not-basic"),v.push(e.charCodeAt(t));for(f=r>0?r+1:0;g>f;){for(l=w,s=1,d=b;f>=g&&o("invalid-input"),a=i(e.charCodeAt(f++)),(a>=b||a>M((x-w)/s))&&o("overflow"),w+=a*s,p=j>=d?y:d>=j+C?C:d-j,!(p>a);d+=b)h=b-p,s>M(x/h)&&o("overflow"),s*=h;n=v.length+1,j=c(w-l,n,0==l),M(w/n)>x-m&&o("overflow"),m+=M(w/n),w%=n,v.splice(w++,0,m)}return u(v)}function s(e){var n,r,u,i,l,s,d,a,p,h,v,g,w,m,j,F=[];for(e=t(e),g=e.length,n=I,r=0,l=A,s=0;g>s;++s)v=e[s],128>v&&F.push(P(v));for(u=i=F.length,i&&F.push(E);g>u;){for(d=x,s=0;g>s;++s)v=e[s],v>=n&&d>v&&(d=v);for(w=u+1,d-n>M((x-r)/w)&&o("overflow"),r+=(d-n)*w,n=d,s=0;g>s;++s)if(v=e[s],n>v&&++r>x&&o("overflow"),v==n){for(a=r,p=b;h=l>=p?y:p>=l+C?C:p-l,!(h>a);p+=b)j=a-h,m=b-h,F.push(P(f(h+j%m,0))),a=M(j/m);F.push(P(f(a,0))),l=c(r,w,u==i),r=0,++u}++r,++n}return F.join("")}function d(e){return r(e,function(e){return F.test(e)?l(e.slice(4).toLowerCase()):e})}function a(e){return r(e,function(e){return O.test(e)?"xn--"+s(e):e})}var p="object"==typeof exports&&exports&&!exports.nodeType&&exports,h="object"==typeof module&&module&&!module.nodeType&&module,v="object"==typeof global&&global;(v.global===v||v.window===v||v.self===v)&&(e=v);var g,w,x=2147483647,b=36,y=1,C=26,m=38,j=700,A=72,I=128,E="-",F=/^xn--/,O=/[^\x20-\x7E]/,S=/[\x2E\u3002\uFF0E\uFF61]/g,T={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},L=b-y,M=Math.floor,P=String.fromCharCode;if(g={version:"1.3.2",ucs2:{decode:t,encode:u},decode:l,encode:s,toASCII:a,toUnicode:d},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return g});else if(p&&h)if(module.exports==p)h.exports=g;else for(w in g)g.hasOwnProperty(w)&&(p[w]=g[w]);else e.punycode=g}(this);
    1816
    1917}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
     
    2119"use strict";function hasOwnProperty(r,e){return Object.prototype.hasOwnProperty.call(r,e)}module.exports=function(r,e,t,n){e=e||"&",t=t||"=";var o={};if("string"!=typeof r||0===r.length)return o;var a=/\+/g;r=r.split(e);var s=1e3;n&&"number"==typeof n.maxKeys&&(s=n.maxKeys);var p=r.length;s>0&&p>s&&(p=s);for(var y=0;p>y;++y){var u,c,i,l,f=r[y].replace(a,"%20"),v=f.indexOf(t);v>=0?(u=f.substr(0,v),c=f.substr(v+1)):(u=f,c=""),i=decodeURIComponent(u),l=decodeURIComponent(c),hasOwnProperty(o,i)?isArray(o[i])?o[i].push(l):o[i]=[o[i],l]:o[i]=l}return o};var isArray=Array.isArray||function(r){return"[object Array]"===Object.prototype.toString.call(r)};
    2220
    23 
    2421},{}],4:[function(require,module,exports){
    2522"use strict";function map(r,e){if(r.map)return r.map(e);for(var t=[],n=0;n<r.length;n++)t.push(e(r[n],n));return t}var stringifyPrimitive=function(r){switch(typeof r){case"string":return r;case"boolean":return r?"true":"false";case"number":return isFinite(r)?r:"";default:return""}};module.exports=function(r,e,t,n){return e=e||"&",t=t||"=",null===r&&(r=void 0),"object"==typeof r?map(objectKeys(r),function(n){var i=encodeURIComponent(stringifyPrimitive(n))+t;return isArray(r[n])?map(r[n],function(r){return i+encodeURIComponent(stringifyPrimitive(r))}).join(e):i+encodeURIComponent(stringifyPrimitive(r[n]))}).join(e):n?encodeURIComponent(stringifyPrimitive(n))+t+encodeURIComponent(stringifyPrimitive(r)):""};var isArray=Array.isArray||function(r){return"[object Array]"===Object.prototype.toString.call(r)},objectKeys=Object.keys||function(r){var e=[];for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&e.push(t);return e};
    26 
    2723
    2824},{}],5:[function(require,module,exports){
    2925"use strict";exports.decode=exports.parse=require("./decode"),exports.encode=exports.stringify=require("./encode");
    3026
    31 
    3227},{"./decode":3,"./encode":4}],6:[function(require,module,exports){
    3328function Url(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}function urlParse(t,s,e){if(t&&isObject(t)&&t instanceof Url)return t;var h=new Url;return h.parse(t,s,e),h}function urlFormat(t){return isString(t)&&(t=urlParse(t)),t instanceof Url?t.format():Url.prototype.format.call(t)}function urlResolve(t,s){return urlParse(t,!1,!0).resolve(s)}function urlResolveObject(t,s){return t?urlParse(t,!1,!0).resolveObject(s):s}function isString(t){return"string"==typeof t}function isObject(t){return"object"==typeof t&&null!==t}function isNull(t){return null===t}function isNullOrUndefined(t){return null==t}var punycode=require("punycode");exports.parse=urlParse,exports.resolve=urlResolve,exports.resolveObject=urlResolveObject,exports.format=urlFormat,exports.Url=Url;var protocolPattern=/^([a-z0-9.+-]+:)/i,portPattern=/:[0-9]*$/,delims=["<",">",'"',"`"," ","\r","\n","   "],unwise=["{","}","|","\\","^","`"].concat(delims),autoEscape=["'"].concat(unwise),nonHostChars=["%","/","?",";","#"].concat(autoEscape),hostEndingChars=["/","?","#"],hostnameMaxLen=255,hostnamePartPattern=/^[a-z0-9A-Z_-]{0,63}$/,hostnamePartStart=/^([a-z0-9A-Z_-]{0,63})(.*)$/,unsafeProtocol={javascript:!0,"javascript:":!0},hostlessProtocol={javascript:!0,"javascript:":!0},slashedProtocol={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},querystring=require("querystring");Url.prototype.parse=function(t,s,e){if(!isString(t))throw new TypeError("Parameter 'url' must be a string, not "+typeof t);var h=t;h=h.trim();var r=protocolPattern.exec(h);if(r){r=r[0];var o=r.toLowerCase();this.protocol=o,h=h.substr(r.length)}if(e||r||h.match(/^\/\/[^@\/]+@[^@\/]+/)){var a="//"===h.substr(0,2);!a||r&&hostlessProtocol[r]||(h=h.substr(2),this.slashes=!0)}if(!hostlessProtocol[r]&&(a||r&&!slashedProtocol[r])){for(var n=-1,i=0;i<hostEndingChars.length;i++){var l=h.indexOf(hostEndingChars[i]);-1!==l&&(-1===n||n>l)&&(n=l)}var c,u;u=-1===n?h.lastIndexOf("@"):h.lastIndexOf("@",n),-1!==u&&(c=h.slice(0,u),h=h.slice(u+1),this.auth=decodeURIComponent(c)),n=-1;for(var i=0;i<nonHostChars.length;i++){var l=h.indexOf(nonHostChars[i]);-1!==l&&(-1===n||n>l)&&(n=l)}-1===n&&(n=h.length),this.host=h.slice(0,n),h=h.slice(n),this.parseHost(),this.hostname=this.hostname||"";var p="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!p)for(var f=this.hostname.split(/\./),i=0,m=f.length;m>i;i++){var v=f[i];if(v&&!v.match(hostnamePartPattern)){for(var g="",y=0,d=v.length;d>y;y++)g+=v.charCodeAt(y)>127?"x":v[y];if(!g.match(hostnamePartPattern)){var P=f.slice(0,i),b=f.slice(i+1),j=v.match(hostnamePartStart);j&&(P.push(j[1]),b.unshift(j[2])),b.length&&(h="/"+b.join(".")+h),this.hostname=P.join(".");break}}}if(this.hostname.length>hostnameMaxLen?this.hostname="":this.hostname=this.hostname.toLowerCase(),!p){for(var O=this.hostname.split("."),q=[],i=0;i<O.length;++i){var x=O[i];q.push(x.match(/[^A-Za-z0-9_-]/)?"xn--"+punycode.encode(x):x)}this.hostname=q.join(".")}var U=this.port?":"+this.port:"",C=this.hostname||"";this.host=C+U,this.href+=this.host,p&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==h[0]&&(h="/"+h))}if(!unsafeProtocol[o])for(var i=0,m=autoEscape.length;m>i;i++){var A=autoEscape[i],E=encodeURIComponent(A);E===A&&(E=escape(A)),h=h.split(A).join(E)}var w=h.indexOf("#");-1!==w&&(this.hash=h.substr(w),h=h.slice(0,w));var R=h.indexOf("?");if(-1!==R?(this.search=h.substr(R),this.query=h.substr(R+1),s&&(this.query=querystring.parse(this.query)),h=h.slice(0,R)):s&&(this.search="",this.query={}),h&&(this.pathname=h),slashedProtocol[o]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var U=this.pathname||"",x=this.search||"";this.path=U+x}return this.href=this.format(),this},Url.prototype.format=function(){var t=this.auth||"";t&&(t=encodeURIComponent(t),t=t.replace(/%3A/i,":"),t+="@");var s=this.protocol||"",e=this.pathname||"",h=this.hash||"",r=!1,o="";this.host?r=t+this.host:this.hostname&&(r=t+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(r+=":"+this.port)),this.query&&isObject(this.query)&&Object.keys(this.query).length&&(o=querystring.stringify(this.query));var a=this.search||o&&"?"+o||"";return s&&":"!==s.substr(-1)&&(s+=":"),this.slashes||(!s||slashedProtocol[s])&&r!==!1?(r="//"+(r||""),e&&"/"!==e.charAt(0)&&(e="/"+e)):r||(r=""),h&&"#"!==h.charAt(0)&&(h="#"+h),a&&"?"!==a.charAt(0)&&(a="?"+a),e=e.replace(/[?#]/g,function(t){return encodeURIComponent(t)}),a=a.replace("#","%23"),s+r+e+a+h},Url.prototype.resolve=function(t){return this.resolveObject(urlParse(t,!1,!0)).format()},Url.prototype.resolveObject=function(t){if(isString(t)){var s=new Url;s.parse(t,!1,!0),t=s}var e=new Url;if(Object.keys(this).forEach(function(t){e[t]=this[t]},this),e.hash=t.hash,""===t.href)return e.href=e.format(),e;if(t.slashes&&!t.protocol)return Object.keys(t).forEach(function(s){"protocol"!==s&&(e[s]=t[s])}),slashedProtocol[e.protocol]&&e.hostname&&!e.pathname&&(e.path=e.pathname="/"),e.href=e.format(),e;if(t.protocol&&t.protocol!==e.protocol){if(!slashedProtocol[t.protocol])return Object.keys(t).forEach(function(s){e[s]=t[s]}),e.href=e.format(),e;if(e.protocol=t.protocol,t.host||hostlessProtocol[t.protocol])e.pathname=t.pathname;else{for(var h=(t.pathname||"").split("/");h.length&&!(t.host=h.shift()););t.host||(t.host=""),t.hostname||(t.hostname=""),""!==h[0]&&h.unshift(""),h.length<2&&h.unshift(""),e.pathname=h.join("/")}if(e.search=t.search,e.query=t.query,e.host=t.host||"",e.auth=t.auth,e.hostname=t.hostname||t.host,e.port=t.port,e.pathname||e.search){var r=e.pathname||"",o=e.search||"";e.path=r+o}return e.slashes=e.slashes||t.slashes,e.href=e.format(),e}var a=e.pathname&&"/"===e.pathname.charAt(0),n=t.host||t.pathname&&"/"===t.pathname.charAt(0),i=n||a||e.host&&t.pathname,l=i,c=e.pathname&&e.pathname.split("/")||[],h=t.pathname&&t.pathname.split("/")||[],u=e.protocol&&!slashedProtocol[e.protocol];if(u&&(e.hostname="",e.port=null,e.host&&(""===c[0]?c[0]=e.host:c.unshift(e.host)),e.host="",t.protocol&&(t.hostname=null,t.port=null,t.host&&(""===h[0]?h[0]=t.host:h.unshift(t.host)),t.host=null),i=i&&(""===h[0]||""===c[0])),n)e.host=t.host||""===t.host?t.host:e.host,e.hostname=t.hostname||""===t.hostname?t.hostname:e.hostname,e.search=t.search,e.query=t.query,c=h;else if(h.length)c||(c=[]),c.pop(),c=c.concat(h),e.search=t.search,e.query=t.query;else if(!isNullOrUndefined(t.search)){if(u){e.hostname=e.host=c.shift();var p=e.host&&e.host.indexOf("@")>0?e.host.split("@"):!1;p&&(e.auth=p.shift(),e.host=e.hostname=p.shift())}return e.search=t.search,e.query=t.query,isNull(e.pathname)&&isNull(e.search)||(e.path=(e.pathname?e.pathname:"")+(e.search?e.search:"")),e.href=e.format(),e}if(!c.length)return e.pathname=null,e.search?e.path="/"+e.search:e.path=null,e.href=e.format(),e;for(var f=c.slice(-1)[0],m=(e.host||t.host)&&("."===f||".."===f)||""===f,v=0,g=c.length;g>=0;g--)f=c[g],"."==f?c.splice(g,1):".."===f?(c.splice(g,1),v++):v&&(c.splice(g,1),v--);if(!i&&!l)for(;v--;v)c.unshift("..");!i||""===c[0]||c[0]&&"/"===c[0].charAt(0)||c.unshift(""),m&&"/"!==c.join("/").substr(-1)&&c.push("");var y=""===c[0]||c[0]&&"/"===c[0].charAt(0);if(u){e.hostname=e.host=y?"":c.length?c.shift():"";var p=e.host&&e.host.indexOf("@")>0?e.host.split("@"):!1;p&&(e.auth=p.shift(),e.host=e.hostname=p.shift())}return i=i||e.host&&c.length,i&&!y&&c.unshift(""),c.length?e.pathname=c.join("/"):(e.pathname=null,e.path=null),isNull(e.pathname)&&isNull(e.search)||(e.path=(e.pathname?e.pathname:"")+(e.search?e.search:"")),e.auth=t.auth||e.auth,e.slashes=e.slashes||t.slashes,e.href=e.format(),e},Url.prototype.parseHost=function(){var t=this.host,s=portPattern.exec(t);s&&(s=s[0],":"!==s&&(this.port=s.substr(1)),t=t.substr(0,t.length-s.length)),t&&(this.hostname=t)};
    34 
    3529
    3630},{"punycode":2,"querystring":5}],7:[function(require,module,exports){
    3731"use strict";module.exports=function(d){var e=encodeURIComponent(d.getURL());return{popup:!0,mobileonly:!1,shareText:{bg:"cподеляне",da:"del",de:"teilen",en:"share",es:"compartir",fi:"Jaa",fr:"partager",hr:"podijelite",hu:"megosztás",it:"condividi",ja:"共有",ko:"공유하기",nl:"delen",no:"del",pl:"udostępnij",pt:"compartilhar",ro:"partajează",ru:"поделиться",sk:"zdieľať",sl:"deli",sr:"podeli",sv:"dela",tr:"paylaş",zh:"分享"},name:"addthis",faName:"s3uu-addthis",title:{bg:"Сподели в AddThis",da:"Del på AddThis",de:"Bei AddThis teilen",en:"Share on AddThis",es:"Compartir en AddThis",fi:"Jaa AddThisissä",fr:"Partager sur AddThis",hr:"Podijelite na AddThis",hu:"Megosztás AddThisen",it:"Condividi su AddThis",ja:"AddThis上で共有",ko:"AddThis에서 공유하기",nl:"Delen op AddThis",no:"Del på AddThis",pl:"Udostępnij przez AddThis",pt:"Compartilhar no AddThis",ro:"Partajează pe AddThis",ru:"Поделиться на AddThis",sk:"Zdieľať na AddThis",sl:"Deli na AddThis",sr:"Podeli na AddThis",sv:"Dela på AddThis",tr:"AddThis'ta paylaş",zh:"在AddThis上分享"},shareUrl:"http://api.addthis.com/oexchange/0.8/offer?url="+e+d.getReferrerTrack()}};
    3832
    39 
    4033},{}],8:[function(require,module,exports){
    4134"use strict";module.exports=function(n){var i="",o="";return null!==n.options.bitcoinaddress&&(i=n.options.bitcoinaddress),null!==n.options.bitcoinurl&&(o=n.options.bitcoinurl),{popup:!0,noblank:!1,mobileonly:!1,shareText:{de:"spenden",en:"donate",fr:"faire un don",es:"donar"},name:"bitcoin",faName:"s3uu-bitcoin",title:{de:"Spenden mit Bitcoin",en:"Donate with Bitcoin",fr:"Faire un don via Bitcoin",es:"Donar via Bitcoin"},shareUrl:o+"bitcoin.php?bitcoinaddress="+i}};
    42 
    4335
    4436},{}],9:[function(require,module,exports){
    4537"use strict";var url=require("url");module.exports=function(e){var r=url.parse("https://sharetodiaspora.github.io/",!0);return r.query.url=e.getURL(),r.query.title=e.getTitle()||e.getMeta("DC.title"),r.protocol="https",delete r.search,{popup:!0,mobileonly:!1,shareText:{de:"teilen",en:"share"},name:"diaspora",faName:"s3uu-diaspora",title:{de:"Bei Diaspora teilen",en:"Share on Diaspora"},shareUrl:url.format(r)+e.getReferrerTrack()}};
    4638
    47 
    4839},{"url":6}],10:[function(require,module,exports){
    4940"use strict";module.exports=function(e){var o=encodeURIComponent(e.getURL());return{popup:!0,mobileonly:!1,shareText:{bg:"cподеляне",da:"del",de:"teilen",en:"share",es:"compartir",fi:"Jaa",fr:"partager",hr:"podijelite",hu:"megosztás",it:"condividi",ja:"共有",ko:"공유하기",nl:"delen",no:"del",pl:"udostępnij",pt:"compartilhar",ro:"partajează",ru:"поделиться",sk:"zdieľať",sl:"deli",sr:"podeli",sv:"dela",tr:"paylaş",zh:"分享"},name:"facebook",faName:"s3uu-facebook",title:{bg:"Сподели във Facebook",da:"Del på Facebook",de:"Bei Facebook teilen",en:"Share on Facebook",es:"Compartir en Facebook",fi:"Jaa Facebookissa",fr:"Partager sur Facebook",hr:"Podijelite na Facebooku",hu:"Megosztás Facebookon",it:"Condividi su Facebook",ja:"フェイスブック上で共有",ko:"페이스북에서 공유하기",nl:"Delen op Facebook",no:"Del på Facebook",pl:"Udostępnij na Facebooku",pt:"Compartilhar no Facebook",ro:"Partajează pe Facebook",ru:"Поделиться на Facebook",sk:"Zdieľať na Facebooku",sl:"Deli na Facebooku",sr:"Podeli na Facebook-u",sv:"Dela på Facebook",tr:"Facebook'ta paylaş",zh:"在Facebook上分享"},shareUrl:"https://www.facebook.com/sharer/sharer.php?u="+o+e.getReferrerTrack()}};
    50 
    5141
    5242},{}],11:[function(require,module,exports){
    5343"use strict";module.exports=function(t){var e=encodeURIComponent(t.getURL()),r=t.getMeta("DC.title"),a=t.getMeta("DC.creator"),n="",o="";return r.length>0&&a.length>0?r+=" - "+a:r=t.getTitle(),null!==t.options.flattruser&&(n=t.options.flattruser),o="de"===t.options.lang||"fr"===t.options.lang||"es"===t.options.lang?t.options.lang+"_"+t.options.lang.toUpperCase():"en_US",{popup:!0,noblank:!1,mobileonly:!1,shareText:"flattr",name:"flattr",faName:"s3uu-flattr",title:{de:"Beitrag flattrn!",en:"Flattr this!",fr:"Flattré!",es:"Flattr!"},shareUrl:"https://flattr.com/submit/auto?url="+e+t.getReferrerTrack()+"&title="+encodeURIComponent(r)+"&description=&language="+o+"&tags=&category=text&user_id="+n}};
    5444
    55 
    5645},{}],12:[function(require,module,exports){
    5746"use strict";module.exports=function(o){var e=encodeURIComponent(o.getURL());return{popup:!0,mobileonly:!1,shareText:"+1",name:"googleplus",faName:"s3uu-google-plus",title:{bg:"Сподели в Google+",da:"Del på Google+",de:"Bei Google+ teilen",en:"Share on Google+",es:"Compartir en Google+",fi:"Jaa Google+:ssa",fr:"Partager sur Goolge+",hr:"Podijelite na Google+",hu:"Megosztás Google+on",it:"Condividi su Google+",ja:"Google+上で共有",ko:"Google+에서 공유하기",nl:"Delen op Google+",no:"Del på Google+",pl:"Udostępnij na Google+",pt:"Compartilhar no Google+",ro:"Partajează pe Google+",ru:"Поделиться на Google+",sk:"Zdieľať na Google+",sl:"Deli na Google+",sr:"Podeli na Google+",sv:"Dela på Google+",tr:"Google+'da paylaş",zh:"在Google+上分享"},shareUrl:"https://plus.google.com/share?url="+e+o.getReferrerTrack()}};
    58 
    5947
    6048},{}],13:[function(require,module,exports){
    6149"use strict";module.exports=function(e){return{popup:!1,blank:!0,mobileonly:!1,shareText:"Info",name:"info",faName:"s3uu-info",title:{de:"weitere Informationen",en:"more information",es:"más informaciones",fr:"plus d'informations",it:"maggiori informazioni",da:"flere oplysninger",nl:"verdere informatie"},shareUrl:e.getInfoUrl()}};
    6250
    63 
    6451},{}],14:[function(require,module,exports){
    6552"use strict";module.exports=function(e){var n=encodeURIComponent(e.getURL()),i=e.getMeta("DC.title"),t=e.getMeta("DC.creator");return i.length>0&&t.length>0?i+=" - "+t:i=e.getTitle(),{popup:!0,mobileonly:!1,shareText:{de:"mitteilen",en:"share",es:"compartir",fi:"Jaa",fr:"partager",hr:"podijelite",hu:"megosztás",it:"condividi",ja:"シェア",ko:"공유하기",nl:"delen",no:"del",pl:"udostępnij",pt:"compartilhar",ro:"distribuiți",ru:"поделиться",sk:"zdieľať",sl:"deli",sr:"podeli",sv:"dela",tr:"paylaş",zh:"分享"},name:"linkedin",faName:"s3uu-linkedin",title:{bg:"Сподели в LinkedIn",da:"Del på LinkedIn",de:"Bei LinkedIn teilen",en:"Share on LinkedIn",es:"Compartir en LinkedIn",fi:"Jaa LinkedInissä",fr:"Partager sur LinkedIn",hr:"Podijelite na LinkedIn",hu:"Megosztás LinkedInen",it:"Condividi su LinkedIn",ja:"LinkedIn上で共有",ko:"LinkedIn에서 공유하기",nl:"Delen op LinkedIn",no:"Del på LinkedIn",pl:"Udostępnij przez LinkedIn",pt:"Compartilhar no LinkedIn",ro:"Partajează pe LinkedIn",ru:"Поделиться на LinkedIn",sk:"Zdieľať na LinkedIn",sl:"Deli na LinkedIn",sr:"Podeli na LinkedIn-u",sv:"Dela på LinkedIn",tr:"LinkedIn'ta paylaş",zh:"在LinkedIn上分享"},shareUrl:"https://www.linkedin.com/shareArticle?mini=true&url="+n+e.getReferrerTrack()+"&title="+encodeURIComponent(i)}};
    66 
    6753
    6854},{}],15:[function(require,module,exports){
    6955"use strict";module.exports=function(e){var i=e.getURL();return{popup:!1,mobileonly:!1,blank:!1,shareText:{bg:"имейл",da:"e-mail",de:"e-mail",en:"e-mail",es:"emilio",fi:"sähköpostitse",fr:"courriel",hr:"e-pošta",hu:"e-mail",it:"e-mail",ja:"e-mail",ko:"e-mail",nl:"e-mail",no:"e-post",pl:"e-mail",pt:"e-mail",ro:"e-mail",ru:"e-mail",sk:"e-mail",sl:"e-mail",sr:"e-mail",sv:"e-post",tr:"e-posta",zh:"e-mail"},name:"mailform",faName:"s3uu-envelope",title:{bg:"Изпрати по имейл",da:"Sende via e-mail",de:"Per E-Mail versenden",en:"Send by email",es:"Enviar por email",fi:"Lähetä sähköpostitse",fr:"Envoyer par courriel",hr:"Pošaljite emailom",hu:"Elküldés e-mailben",it:"Inviare via e-mail",ja:"電子メールで送信",ko:"이메일로 보내기",nl:"Sturen via e-mail",no:"Send via epost",pl:"Wyślij e-mailem",pt:"Enviar por e-mail",ro:"Trimite prin e-mail",ru:"Отправить по эл. почте",sk:"Poslať e-mailom",sl:"Pošlji po elektronski pošti",sr:"Pošalji putem email-a",sv:"Skicka via e-post",tr:"E-posta ile gönder",zh:"通过电子邮件传送"},shareUrl:i+"?view=mail#shariff_mailform"}};
    7056
    71 
    7257},{}],16:[function(require,module,exports){
    7358"use strict";module.exports=function(e){var i=encodeURIComponent(e.getURL()),a=e.getMeta("DC.title"),l=e.getMeta("DC.creator");return a.length>0&&l.length>0?a+=" - "+l:a=e.getTitle(),{popup:!1,mobileonly:!1,blank:!1,shareText:{bg:"имейл",da:"e-mail",de:"e-mail",en:"e-mail",es:"emilio",fi:"sähköpostitse",fr:"courriel",hr:"e-pošta",hu:"e-mail",it:"e-mail",ja:"e-mail",ko:"e-mail",nl:"e-mail",no:"e-post",pl:"e-mail",pt:"e-mail",ro:"e-mail",ru:"e-mail",sk:"e-mail",sl:"e-mail",sr:"e-mail",sv:"e-post",tr:"e-posta",zh:"e-mail"},name:"mailto",faName:"s3uu-envelope",title:{bg:"Изпрати по имейл",da:"Sende via e-mail",de:"Per E-Mail versenden",en:"Send by email",es:"Enviar por email",fi:"Lähetä sähköpostitse",fr:"Envoyer par courriel",hr:"Pošaljite emailom",hu:"Elküldés e-mailben",it:"Inviare via e-mail",ja:"電子メールで送信",ko:"이메일로 보내기",nl:"Sturen via e-mail",no:"Send via epost",pl:"Wyślij e-mailem",pt:"Enviar por e-mail",ro:"Trimite prin e-mail",ru:"Отправить по эл. почте",sk:"Poslať e-mailom",sl:"Pošlji po elektronski pošti",sr:"Pošalji putem email-a",sv:"Skicka via e-post",tr:"E-posta ile gönder",zh:"通过电子邮件传送"},shareUrl:"mailto:?body="+i+e.getReferrerTrack()+"&subject="+encodeURIComponent(a)}};
    74 
    7559
    7660},{}],17:[function(require,module,exports){
    7761"use strict";module.exports=function(e){var n="";return null!==e.options.patreonid&&(n=e.options.patreonid),{popup:!0,mobileonly:!1,shareText:"patreon",name:"patreon",faName:"s3uu-patreon",title:{de:"Werde ein patron!",en:"Become a patron!",es:"Conviértete en un patron!",fr:"Devenez un patron!"},shareUrl:"https://www.patreon.com/"+n}};
    7862
    79 
    8063},{}],18:[function(require,module,exports){
    8164"use strict";module.exports=function(a){var n="";return null!==a.options.paypalbuttonid&&(n=a.options.paypalbuttonid),{popup:!0,noblank:!1,mobileonly:!1,shareText:{de:"spenden",en:"donate",fr:"faire un don",es:"donar"},name:"paypal",faName:"s3uu-paypal",title:{de:"Spenden mit PayPal",en:"Donate with PayPal",fr:"Faire un don via PayPal",es:"Donar via PayPal"},shareUrl:"https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id="+n}};
    82 
    8365
    8466},{}],19:[function(require,module,exports){
    8567"use strict";module.exports=function(a){var e="";return null!==a.options.paypalmeid&&(e=a.options.paypalmeid),{popup:!0,noblank:!1,mobileonly:!1,shareText:{de:"spenden",en:"donate",fr:"faire un don",es:"donar"},name:"paypalme",faName:"s3uu-paypal",title:{de:"Spenden mit PayPal",en:"Donate with PayPal",fr:"Faire un don via PayPal",es:"Donar via PayPal"},shareUrl:"https://www.paypal.me/"+e}};
    8668
    87 
    8869},{}],20:[function(require,module,exports){
    8970"use strict";module.exports=function(e){var t=encodeURIComponent(e.getURL()),n=e.getMeta("DC.title"),i=e.getMeta("DC.creator");return n.length>0&&i.length>0?n+=" - "+i:n=e.getTitle(),{popup:!0,mobileonly:!1,shareText:{de:"pinnen",en:"pin it"},name:"pinterest",faName:"s3uu-pinterest",title:{de:"Bei Pinterest pinnen",en:"Pin it on Pinterest",es:"Compartir en Pinterest",fr:"Partager sur Pinterest",it:"Condividi su Pinterest",da:"Del på Pinterest",nl:"Delen op Pinterest"},shareUrl:"https://www.pinterest.com/pin/create/link/?url="+t+e.getReferrerTrack()+"&media="+e.getMedia()+"&description="+encodeURIComponent(n)}};
    90 
    9171
    9272},{}],21:[function(require,module,exports){
    9373"use strict";module.exports=function(r){return{popup:!1,mobileonly:!1,blank:!1,shareText:{de:"drucken",en:"print",fr:"imprimer",es:"imprimir",it:"imprimere",da:"dat trykke",nl:"drukken"},name:"printer",faName:"s3uu-print",title:{de:"drucken",en:"print",fr:"imprimer",es:"imprimir",it:"imprimere",da:"dat trykke",nl:"drukken"},shareUrl:"javascript:window.print()"}};
    9474
    95 
    9675},{}],22:[function(require,module,exports){
    9776"use strict";module.exports=function(e){var d=encodeURIComponent(e.getURL());return{popup:!0,mobileonly:!1,shareText:{bg:"cподеляне",da:"del",de:"teilen",en:"share",es:"compartir",fi:"Jaa",fr:"partager",hr:"podijelite",hu:"megosztás",it:"condividi",ja:"共有",ko:"공유하기",nl:"delen",no:"del",pl:"udostępnij",pt:"compartilhar",ro:"partajează",ru:"поделиться",sk:"zdieľať",sl:"deli",sr:"podeli",sv:"dela",tr:"paylaş",zh:"分享"},name:"reddit",faName:"s3uu-reddit",title:{de:"Bei Reddit teilen",en:"Share on Reddit",es:"Compartir en Reddit",fr:"Partager sur Reddit",it:"Condividi su Reddit",da:"Del på Reddit",nl:"Delen op Reddit"},shareUrl:"https://www.reddit.com/submit?url="+d+e.getReferrerTrack()}};
    98 
    9977
    10078},{}],23:[function(require,module,exports){
    10179"use strict";module.exports=function(e){var t=encodeURIComponent(e.getURL());return{popup:!0,mobileonly:!1,shareText:{bg:"cподеляне",da:"del",de:"teilen",en:"share",es:"compartir",fi:"Jaa",fr:"partager",hr:"podijelite",hu:"megosztás",it:"condividi",ja:"共有",ko:"공유하기",nl:"delen",no:"del",pl:"udostępnij",pt:"compartilhar",ro:"partajează",ru:"поделиться",sk:"zdieľať",sl:"deli",sr:"podeli",sv:"dela",tr:"paylaş",zh:"分享"},name:"stumbleupon",faName:"s3uu-stumbleupon",title:{de:"Bei StumbleUpon teilen",en:"Share on StumbleUpon",es:"Compartir en StumbleUpon",fr:"Partager sur StumbleUpon",it:"Condividi su StumbleUpon",da:"Del på StumbleUpon",nl:"Delen op StumbleUpon"},shareUrl:"https://www.stumbleupon.com/submit?url="+t+e.getReferrerTrack()}};
    10280
    103 
    10481},{}],24:[function(require,module,exports){
    10582"use strict";module.exports=function(e){var a=encodeURIComponent(e.getURL()),r=e.getMeta("DC.title"),t=e.getMeta("DC.creator");return r.length>0&&t.length>0?r+=" - "+t:r=e.getTitle(),{popup:!1,mobileonly:!0,shareText:{bg:"cподеляне",da:"del",de:"teilen",en:"share",es:"compartir",fi:"Jaa",fr:"partager",hr:"podijelite",hu:"megosztás",it:"condividi",ja:"共有",ko:"공유하기",nl:"delen",no:"del",pl:"udostępnij",pt:"compartilhar",ro:"partajează",ru:"поделиться",sk:"zdieľať",sl:"deli",sr:"podeli",sv:"dela",tr:"paylaş",zh:"分享"},name:"threema",faName:"s3uu-threema",title:{bg:"Сподели в Threema",da:"Del på Threema",de:"Bei Threema teilen",en:"Share on Threema",es:"Compartir en Threema",fi:"Jaa Threemaissä",fr:"Partager sur Threema",hr:"Podijelite na Threema",hu:"Megosztás Threemaen",it:"Condividi su Threema",ja:"Threema上で共有",ko:"Threema에서 공유하기",nl:"Delen op Threema",no:"Del på Threema",pl:"Udostępnij przez Threema",pt:"Compartilhar no Threema",ro:"Partajează pe Threema",ru:"Поделиться на Threema",sk:"Zdieľať na Threema",sl:"Deli na Threema",sr:"Podeli na Threema-u",sv:"Dela på Threema",tr:"Threema'ta paylaş",zh:"在Threema上分享"},shareUrl:"threema://compose?text="+encodeURIComponent(r)+"%20"+a+e.getReferrerTrack()}};
    10683
    107 
    10884},{}],25:[function(require,module,exports){
    109 "use strict";module.exports=function(e){var r=encodeURIComponent(e.getURL()),l=e.getMeta("DC.title"),t=e.getMeta("DC.creator");l.length>0&&t.length>0?l+=" - "+t:l=e.getTitle();var a=e.getURL(),u=a.replace("http://","").replace("https://","").replace("www.","").split(/[\/?#]/),i=u[0];return{popup:!0,mobileonly:!1,shareText:{bg:"cподеляне",da:"del",de:"teilen",en:"share",es:"compartir",fi:"Jaa",fr:"partager",hr:"podijelite",hu:"megosztás",it:"condividi",ja:"共有",ko:"공유하기",nl:"delen",no:"del",pl:"udostępnij",pt:"compartilhar",ro:"partajează",ru:"поделиться",sk:"zdieľať",sl:"deli",sr:"podeli",sv:"dela",tr:"paylaş",zh:"分享"},name:"tumblr",faName:"s3uu-tumblr",title:{bg:"Сподели във Tumblr",da:"Del på Tumblr",de:"Bei Tumblr teilen",en:"Share on Tumblr",es:"Compartir en Tumblr",fi:"Jaa Tumblrissa",fr:"Partager sur Tumblr",hr:"Podijelite na Tumblru",hu:"Megosztás Tumblron",it:"Condividi su Tumblr",ja:"フェイスブック上で共有",ko:"페이스북에서 공유하기",nl:"Delen op Tumblr",no:"Del på Tumblr",pl:"Udostępnij na Tumblru",pt:"Compartilhar no Tumblr",ro:"Partajează pe Tumblr",ru:"Поделиться на Tumblr",sk:"Zdieľať na Tumblru",sl:"Deli na Tumblru",sr:"Podeli na Tumblr-u",sv:"Dela på Tumblr",tr:"Tumblr'ta paylaş",zh:"在Tumblr上分享"},shareUrl:"https://www.tumblr.com/widgets/share/tool?posttype=link&canonicalUrl="+r+e.getReferrerTrack()+"&tags="+i}};
    110 
     85"use strict";module.exports=function(e){var r=encodeURIComponent(e.getURL()),l=e.getMeta("DC.title"),t=e.getMeta("DC.creator");l.length>0&&t.length>0?l+=" - "+t:l=e.getTitle();var a=e.getURL(),u=a.replace("http://","").replace("https://","").replace("www.","").split(/[/?#]/),i=u[0];return{popup:!0,mobileonly:!1,shareText:{bg:"cподеляне",da:"del",de:"teilen",en:"share",es:"compartir",fi:"Jaa",fr:"partager",hr:"podijelite",hu:"megosztás",it:"condividi",ja:"共有",ko:"공유하기",nl:"delen",no:"del",pl:"udostępnij",pt:"compartilhar",ro:"partajează",ru:"поделиться",sk:"zdieľať",sl:"deli",sr:"podeli",sv:"dela",tr:"paylaş",zh:"分享"},name:"tumblr",faName:"s3uu-tumblr",title:{bg:"Сподели във Tumblr",da:"Del på Tumblr",de:"Bei Tumblr teilen",en:"Share on Tumblr",es:"Compartir en Tumblr",fi:"Jaa Tumblrissa",fr:"Partager sur Tumblr",hr:"Podijelite na Tumblru",hu:"Megosztás Tumblron",it:"Condividi su Tumblr",ja:"フェイスブック上で共有",ko:"페이스북에서 공유하기",nl:"Delen op Tumblr",no:"Del på Tumblr",pl:"Udostępnij na Tumblru",pt:"Compartilhar no Tumblr",ro:"Partajează pe Tumblr",ru:"Поделиться на Tumblr",sk:"Zdieľať na Tumblru",sl:"Deli na Tumblru",sr:"Podeli na Tumblr-u",sv:"Dela på Tumblr",tr:"Tumblr'ta paylaş",zh:"在Tumblr上分享"},shareUrl:"https://www.tumblr.com/widgets/share/tool?posttype=link&canonicalUrl="+r+e.getReferrerTrack()+"&tags="+i}};
    11186
    11287},{}],26:[function(require,module,exports){
    11388(function (global){
    114 "use strict";var url=require("url"),$=(typeof window !== "undefined" ? window.jQuery : typeof global !== "undefined" ? global.jQuery : null),abbreviateText=function(t,e){var r=$("<div/>").html(t).text();if(r.length<=e)return t;var i=r.substring(0,e-1).lastIndexOf(" ");return r=r.substring(0,i)+"…"};module.exports=function(t){var e;e=window.twttr?url.parse("https://twitter.com/share",!0):url.parse("https://twitter.com/intent/tweet",!0);var r=t.getMeta("DC.title"),i=t.getMeta("DC.creator");return r.length>0&&i.length>0?r+=" - "+i:r=t.getTitle(),e.query.text=abbreviateText(r,120),e.query.url=t.getURL(),null!==t.options.twitterVia&&(e.query.via=t.options.twitterVia),delete e.search,{popup:!0,mobileonly:!1,shareText:{de:"twittern",en:"tweet"},name:"twitter",faName:"s3uu-twitter",title:{bg:"Сподели в Twitter",da:"Del på Twitter",de:"Bei Twitter teilen",en:"Share on Twitter",es:"Compartir en Twitter",fi:"Jaa Twitterissä",fr:"Partager sur Twitter",hr:"Podijelite na Twitteru",hu:"Megosztás Twitteren",it:"Condividi su Twitter",ja:"ツイッター上で共有",ko:"트위터에서 공유하기",nl:"Delen op Twitter",no:"Del på Twitter",pl:"Udostępnij na Twitterze",pt:"Compartilhar no Twitter",ro:"Partajează pe Twitter",ru:"Поделиться на Twitter",sk:"Zdieľať na Twitteri",sl:"Deli na Twitterju",sr:"Podeli na Twitter-u",sv:"Dela på Twitter",tr:"Twitter'da paylaş",zh:"在Twitter上分享"},shareUrl:url.format(e)+t.getReferrerTrack()}};
    115 
     89"use strict";var url=require("url"),$=(typeof window !== "undefined" ? window['jQuery'] : typeof global !== "undefined" ? global['jQuery'] : null),abbreviateText=function(t,e){var r=$("<div/>").html(t).text();if(r.length<=e)return t;var i=r.substring(0,e-1).lastIndexOf(" ");return r=r.substring(0,i)+"…"};module.exports=function(t){var e;e=window.twttr?url.parse("https://twitter.com/share",!0):url.parse("https://twitter.com/intent/tweet",!0);var r=t.getMeta("DC.title"),i=t.getMeta("DC.creator");return r.length>0&&i.length>0?r+=" - "+i:r=t.getTitle(),e.query.text=abbreviateText(r,120),e.query.url=t.getURL(),null!==t.options.twitterVia&&(e.query.via=t.options.twitterVia),delete e.search,{popup:!0,mobileonly:!1,shareText:{de:"twittern",en:"tweet"},name:"twitter",faName:"s3uu-twitter",title:{bg:"Сподели в Twitter",da:"Del på Twitter",de:"Bei Twitter teilen",en:"Share on Twitter",es:"Compartir en Twitter",fi:"Jaa Twitterissä",fr:"Partager sur Twitter",hr:"Podijelite na Twitteru",hu:"Megosztás Twitteren",it:"Condividi su Twitter",ja:"ツイッター上で共有",ko:"트위터에서 공유하기",nl:"Delen op Twitter",no:"Del på Twitter",pl:"Udostępnij na Twitterze",pt:"Compartilhar no Twitter",ro:"Partajează pe Twitter",ru:"Поделиться на Twitter",sk:"Zdieľať na Twitteri",sl:"Deli na Twitterju",sr:"Podeli na Twitter-u",sv:"Dela på Twitter",tr:"Twitter'da paylaş",zh:"在Twitter上分享"},shareUrl:url.format(e)+t.getReferrerTrack()}};
    11690
    11791}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
     
    11993"use strict";module.exports=function(e){var a=encodeURIComponent(e.getURL());return{popup:!0,mobileonly:!1,shareText:{bg:"cподеляне",da:"del",de:"teilen",en:"share",es:"compartir",fi:"Jaa",fr:"partager",hr:"podijelite",hu:"megosztás",it:"condividi",ja:"共有",ko:"공유하기",nl:"delen",no:"del",pl:"udostępnij",pt:"compartilhar",ro:"partajează",ru:"поделиться",sk:"zdieľať",sl:"deli",sr:"podeli",sv:"dela",tr:"paylaş",zh:"分享"},name:"vk",faName:"s3uu-vk",title:{bg:"Сподели във VK",da:"Del på VK",de:"Bei VK teilen",en:"Share on VK",es:"Compartir en VK",fi:"Jaa VKissa",fr:"Partager sur VK",hr:"Podijelite na VKu",hu:"Megosztás VKon",it:"Condividi su VK",ja:"フェイスブック上で共有",ko:"페이스북에서 공유하기",nl:"Delen op VK",no:"Del på VK",pl:"Udostępnij na VKu",pt:"Compartilhar no VK",ro:"Partajează pe VK",ru:"Поделиться на VK",sk:"Zdieľať na VKu",sl:"Deli na VKu",sr:"Podeli na VK-u",sv:"Dela på VK",tr:"VK'ta paylaş",zh:"在VK上分享"},shareUrl:"https://vk.com/share.php?url="+a+e.getReferrerTrack()}};
    12094
    121 
    12295},{}],28:[function(require,module,exports){
    12396"use strict";module.exports=function(a){var p=encodeURIComponent(a.getURL()),e=a.getMeta("DC.title"),t=a.getMeta("DC.creator");return e.length>0&&t.length>0?e+=" - "+t:e=a.getTitle(),{popup:!1,mobileonly:!0,shareText:{bg:"cподеляне",da:"del",de:"teilen",en:"share",es:"compartir",fi:"Jaa",fr:"partager",hr:"podijelite",hu:"megosztás",it:"condividi",ja:"共有",ko:"공유하기",nl:"delen",no:"del",pl:"udostępnij",pt:"compartilhar",ro:"partajează",ru:"поделиться",sk:"zdieľať",sl:"deli",sr:"podeli",sv:"dela",tr:"paylaş",zh:"分享"},name:"whatsapp",faName:"s3uu-whatsapp",title:{bg:"Сподели в Whatsapp",da:"Del på Whatsapp",de:"Bei Whatsapp teilen",en:"Share on Whatsapp",es:"Compartir en Whatsapp",fi:"Jaa WhatsAppissä",fr:"Partager sur Whatsapp",hr:"Podijelite na Whatsapp",hu:"Megosztás WhatsAppen",it:"Condividi su Whatsapp",ja:"Whatsapp上で共有",ko:"Whatsapp에서 공유하기",nl:"Delen op Whatsapp",no:"Del på Whatsapp",pl:"Udostępnij przez WhatsApp",pt:"Compartilhar no Whatsapp",ro:"Partajează pe Whatsapp",ru:"Поделиться на Whatsapp",sk:"Zdieľať na Whatsapp",sl:"Deli na Whatsapp",sr:"Podeli na WhatsApp-u",sv:"Dela på Whatsapp",tr:"Whatsapp'ta paylaş",zh:"在Whatsapp上分享"},shareUrl:"whatsapp://send?text="+encodeURIComponent(e)+"%20"+p+a.getReferrerTrack()}};
    124 
    12597
    12698},{}],29:[function(require,module,exports){
    12799"use strict";module.exports=function(e){var r=encodeURIComponent(e.getURL());return{popup:!0,mobileonly:!1,shareText:{bg:"cподеляне",da:"del",de:"teilen",en:"share",es:"compartir",fi:"Jaa",fr:"partager",hr:"podijelite",hu:"megosztás",it:"condividi",ja:"共有",ko:"공유하기",nl:"delen",no:"del",pl:"udostępnij",pt:"compartilhar",ro:"partajează",ru:"поделиться",sk:"zdieľať",sl:"deli",sr:"podeli",sv:"dela",tr:"paylaş",zh:"分享"},name:"xing",faName:"s3uu-xing",title:{de:"Bei XING teilen",en:"Share on XING",es:"Compartir en XING",fr:"Partager sur XING",it:"Condividi su XING",da:"Del på XING",nl:"Delen op XING"},shareUrl:"https://www.xing.com/social_plugins/share?url="+r+e.getReferrerTrack()}};
    128100
    129 
    130101},{}],30:[function(require,module,exports){
    131102(function (global){
    132 "use strict";var $=(typeof window !== "undefined" ? window.jQuery : typeof global !== "undefined" ? global.jQuery : null),url=require("url"),window=require("browserify-window"),Shariff=function(e,t){var r=this;this.element=e,$(e).empty(),this.options=$.extend({},this.defaults,t,$(e).data());var i=[require("./services/facebook.js"),require("./services/vk.js"),require("./services/googleplus.js"),require("./services/twitter.js"),require("./services/whatsapp.js"),require("./services/mailform.js"),require("./services/info.js"),require("./services/mailto.js"),require("./services/linkedin.js"),require("./services/xing.js"),require("./services/pinterest.js"),require("./services/reddit.js"),require("./services/stumbleupon.js"),require("./services/printer.js"),require("./services/flattr.js"),require("./services/paypal.js"),require("./services/bitcoin.js"),require("./services/tumblr.js"),require("./services/patreon.js"),require("./services/addthis.js"),require("./services/diaspora.js"),require("./services/threema.js"),require("./services/paypalme.js")];this.services=$.map(this.options.services,function(e){var t;return i.forEach(function(i){return i=i(r),"mail"===e&&(e="mailform"),i.name===e?(t=i,null):void 0}),t}),this._addButtonList(),null!==this.options.backendUrl&&this.getShares().then($.proxy(this._updateCounts,this))};Shariff.prototype={defaults:{theme:"default",backendUrl:null,infoUrl:"http://ct.de/-2467514",lang:"de",langFallback:"en",mailUrl:function(){var e=url.parse(this.getURL(),!0);return e.query.view="mail",delete e.search,url.format(e)},mailSubject:function(){return this.getMeta("DC.title")||this.getTitle()},mailBody:function(){return"<"+this.getURL()+">"},mediaUrl:null,orientation:"horizontal",buttonsize:"big",referrerTrack:null,services:["twitter","facebook","googleplus","info"],title:function(){return $("head title").text()},twitterVia:null,flattruser:null,url:function(){var e=global.document.location.href,t=$("link[rel=canonical]").attr("href")||this.getMeta("og:url")||"";return t.length>0&&(t.indexOf("http")<0&&(t=global.document.location.protocol+"//"+global.document.location.host+t),e=t),e}},$socialshareElement:function(){return $(this.element)},getLocalized:function(e,t){return"object"==typeof e[t]?"undefined"==typeof e[t][this.options.lang]?e[t][this.options.langFallback]:e[t][this.options.lang]:"string"==typeof e[t]?e[t]:void 0},getMeta:function(e){var t=$('meta[name="'+e+'"],[property="'+e+'"]').attr("content");return t||""},getInfoUrl:function(){return this.options.infoUrl},getURL:function(){return this.getOption("url")},getOption:function(e){var t=this.options[e];return"function"==typeof t?$.proxy(t,this)():t},getTitle:function(){return this.getOption("title")},getReferrerTrack:function(){return this.options.referrerTrack||""},getMedia:function(){return this.getOption("media")},getShares:function(){var e=url.parse(this.options.backendUrl,!0);return e.query.url=this.getURL(),delete e.search,$.getJSON(url.format(e))},_updateCounts:function(e){var t=this;$.each(e,function(e,r){r>=1e3&&(r=Math.round(r/1e3)+"k"),$(t.element).find("."+e+" a").append('<span class="share_count">'+r)})},_addButtonList:function(){var e=this,t=this.$socialshareElement(),r="theme-"+this.options.theme,i="orientation-"+this.options.orientation,s="col-"+this.options.services.length,n="buttonsize-"+this.options.buttonsize,a=$("<ul>").addClass(r).addClass(i).addClass(s).addClass(n);this.services.forEach(function(t){if(!t.mobileonly||"undefined"!=typeof window.orientation||"object"==typeof window.document.ontouchstart){var r=$('<li class="shariff-button">').addClass(t.name),i='<span class="share_text">'+e.getLocalized(t,"shareText"),s=$("<a>").attr("href",t.shareUrl).append(i);"undefined"!=typeof t.faName&&s.prepend('<span class="s3uu '+t.faName+'">'),t.popup?s.attr("data-rel","popup"):t.blank&&s.attr("target","_blank"),s.attr("title",e.getLocalized(t,"title")),s.attr("role","button"),s.attr("aria-label",e.getLocalized(t,"title")),r.append(s),a.append(r)}}),a.on("click",'[data-rel="popup"]',function(e){e.preventDefault();var t=$(this).attr("href"),r="_blank",i="1000",s="500",n="width="+i+",height="+s+",scrollbars=yes";global.window.open(t,r,n)}),t.append(a)}},module.exports=Shariff,global.Shariff=Shariff,$(".shariff").each(function(){this.hasOwnProperty("shariff")||(this.shariff=new Shariff(this))});
     103"use strict";var $=(typeof window !== "undefined" ? window['jQuery'] : typeof global !== "undefined" ? global['jQuery'] : null),url=require("url"),window=require("browserify-window"),Shariff=function(e,t){var r=this;this.element=e,$(e).empty(),this.options=$.extend({},this.defaults,t,$(e).data());var i=[require("./services/facebook.js"),require("./services/vk.js"),require("./services/googleplus.js"),require("./services/twitter.js"),require("./services/whatsapp.js"),require("./services/mailform.js"),require("./services/info.js"),require("./services/mailto.js"),require("./services/linkedin.js"),require("./services/xing.js"),require("./services/pinterest.js"),require("./services/reddit.js"),require("./services/stumbleupon.js"),require("./services/printer.js"),require("./services/flattr.js"),require("./services/paypal.js"),require("./services/bitcoin.js"),require("./services/tumblr.js"),require("./services/patreon.js"),require("./services/addthis.js"),require("./services/diaspora.js"),require("./services/threema.js"),require("./services/paypalme.js")];this.services=$.map(this.options.services,function(e){var t;return i.forEach(function(i){return i=i(r),"mail"===e&&(e="mailform"),i.name===e?(t=i,null):void 0}),t}),this._addButtonList(),null!==this.options.backendUrl&&this.getShares().then($.proxy(this._updateCounts,this))};Shariff.prototype={defaults:{theme:"default",backendUrl:null,infoUrl:"http://ct.de/-2467514",lang:"de",langFallback:"en",mailUrl:function(){var e=url.parse(this.getURL(),!0);return e.query.view="mail",delete e.search,url.format(e)},mailSubject:function(){return this.getMeta("DC.title")||this.getTitle()},mailBody:function(){return"<"+this.getURL()+">"},mediaUrl:null,orientation:"horizontal",buttonsize:"big",referrerTrack:null,services:["twitter","facebook","googleplus","info"],title:function(){return $("head title").text()},twitterVia:null,flattruser:null,url:function(){var e=global.document.location.href,t=$("link[rel=canonical]").attr("href")||this.getMeta("og:url")||"";return t.length>0&&(t.indexOf("http")<0&&(t=global.document.location.protocol+"//"+global.document.location.host+t),e=t),e}},$socialshareElement:function(){return $(this.element)},getLocalized:function(e,t){return"object"==typeof e[t]?"undefined"==typeof e[t][this.options.lang]?e[t][this.options.langFallback]:e[t][this.options.lang]:"string"==typeof e[t]?e[t]:void 0},getMeta:function(e){var t=$('meta[name="'+e+'"],[property="'+e+'"]').attr("content");return t||""},getInfoUrl:function(){return this.options.infoUrl},getURL:function(){return this.getOption("url")},getOption:function(e){var t=this.options[e];return"function"==typeof t?$.proxy(t,this)():t},getTitle:function(){return this.getOption("title")},getReferrerTrack:function(){return this.options.referrerTrack||""},getMedia:function(){return this.getOption("media")},getShares:function(){var e=url.parse(this.options.backendUrl,!0);return e.query.url=this.getURL(),delete e.search,e.query.timestamp=this.getOption("timestamp"),$.getJSON(url.format(e))},_updateCounts:function(e){var t=this;$.each(e,function(e,r){r>=1e3&&(r=Math.round(r/1e3)+"k"),$(t.element).find("."+e+" a").append('<span class="share_count">'+r)})},_addButtonList:function(){var e=this,t=this.$socialshareElement(),r="theme-"+this.options.theme,i="orientation-"+this.options.orientation,s="col-"+this.options.services.length,n="buttonsize-"+this.options.buttonsize,a=$("<ul>").addClass(r).addClass(i).addClass(s).addClass(n);this.services.forEach(function(t){if(!t.mobileonly||"undefined"!=typeof window.orientation||"object"==typeof window.document.ontouchstart){var r=$('<li class="shariff-button">').addClass(t.name),i='<span class="share_text">'+e.getLocalized(t,"shareText"),s=$("<a>").attr("href",t.shareUrl).append(i);"undefined"!=typeof t.faName&&s.prepend('<span class="s3uu '+t.faName+'">'),t.popup?s.attr("data-rel","popup"):t.blank&&s.attr("target","_blank"),s.attr("title",e.getLocalized(t,"title")),s.attr("role","button"),s.attr("aria-label",e.getLocalized(t,"title")),r.append(s),a.append(r)}}),a.on("click",'[data-rel="popup"]',function(e){e.preventDefault();var t=$(this).attr("href"),r="_blank",i="1000",s="500",n="width="+i+",height="+s+",scrollbars=yes";global.window.open(t,r,n)}),t.append(a)}},module.exports=Shariff,global.Shariff=Shariff,$(".shariff").each(function(){this.hasOwnProperty("shariff")||(this.shariff=new Shariff(this))});
    133104}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
    134105},{"./services/addthis.js":7,"./services/bitcoin.js":8,"./services/diaspora.js":9,"./services/facebook.js":10,"./services/flattr.js":11,"./services/googleplus.js":12,"./services/info.js":13,"./services/linkedin.js":14,"./services/mailform.js":15,"./services/mailto.js":16,"./services/patreon.js":17,"./services/paypal.js":18,"./services/paypalme.js":19,"./services/pinterest.js":20,"./services/printer.js":21,"./services/reddit.js":22,"./services/stumbleupon.js":23,"./services/threema.js":24,"./services/tumblr.js":25,"./services/twitter.js":26,"./services/vk.js":27,"./services/whatsapp.js":28,"./services/xing.js":29,"browserify-window":1,"url":6}]},{},[30]);
  • shariff/trunk/shariff.php

    r1287123 r1290975  
    44 * Plugin URI: http://www.3uu.org/plugins.htm
    55 * Description: This is a wrapper to Shariff. It enables shares with Twitter, Facebook ... on posts, pages and themes with no harm for visitors privacy.
    6  * Version: 3.1.3
     6 * Version: 3.2.0
    77 * Author: 3UU, JP
    88 * Author URI: http://www.DatenVerwurstungsZentrale.com/
     
    1313 *
    1414 * ### Supported options ###
    15  *   services: [facebook|twitter|googleplus|whatsapp|threema|pinterest|linkedin|xing|reddit|stumbleupon|tumblr|diaspora|addthis|flattr|patreon|paypal|paypalme|bitcoin|mailform|mailto|printer|info]
     15 *   services: [facebook|twitter|googleplus|whatsapp|threema|pinterest|linkedin|xing|reddit|stumbleupon|tumblr|vk|diaspora|addthis|flattr|patreon|paypal|paypalme|bitcoin|mailform|mailto|printer|info]
    1616 *   info_url: http://ct.de/-2467514
    1717 *   lang: de|en
     
    104104
    105105    /******************** ADJUST VERSION ********************/
    106     $code_version = "3.1.3"; // set code version - needs to be adjusted for every new version!
     106    $code_version = "3.2.0"; // set code version - needs to be adjusted for every new version!
    107107    /******************** ADJUST VERSION ********************/
    108108
     
    370370        'shariff3UU_number_ttl_render', 'advanced', 'shariff3UU_advanced_section' );
    371371
     372    // disable services
     373    add_settings_field( 'shariff3UU_multiplecheckbox_disable_services', __( 'Disable the following services (share counts only):', 'shariff3UU' ),
     374        'shariff3UU_multiplecheckbox_disable_services_render', 'advanced', 'shariff3UU_advanced_section' );
     375
    372376    // fourth tab - mailform
    373377
     
    472476    if ( isset($input["fb_secret"] ) )              $valid["fb_secret"]             = sanitize_text_field( $input["fb_secret"] );
    473477    if ( isset($input["ttl"] ) )                    $valid["ttl"]                   = absint( $input["ttl"] );
     478    if ( isset($input["disable"] ) )                $valid["disable"]               = sani_add_arrays( $input["disable"] );
    474479
    475480    // protect users from themselfs
     
    535540    }
    536541    echo '<input type="text" name="shariff3UU_basic[services]" value="' . esc_html($services) . '" size="50" placeholder="twitter|facebook|googleplus|info">';
    537     echo '<p><code>facebook|twitter|googleplus|whatsapp|threema|pinterest|xing|linkedin|reddit|diaspora</code></p>';
     542    echo '<p><code>facebook|twitter|googleplus|whatsapp|threema|pinterest|xing|linkedin|reddit|vk|diaspora</code></p>';
    538543    echo '<p><code>stumbleupon|tumblr|addthis|flattr|patreon|paypal|paypalme|bitcoin|mailform|mailto|printer|info</code></p>';
    539544    echo '<p>' . __( 'Use the pipe sign | (Alt Gr + &lt; or &#8997; + 7) between two or more services.', 'shariff3UU' ) . '</p>';
     
    895900    }
    896901    echo '<input type="number" name="shariff3UU_advanced[ttl]" value="'. $ttl .'" maxlength="4" min="60" max="7200" placeholder="60" style="width: 75px">';
     902}
     903
     904// disable services
     905function shariff3UU_multiplecheckbox_disable_services_render() {
     906    // Facebook
     907    echo '<p><input type="checkbox" name="shariff3UU_advanced[disable][facebook]" ';
     908    if ( isset( $GLOBALS['shariff3UU_advanced']['disable']['facebook'] ) ) echo checked( $GLOBALS['shariff3UU_advanced']['disable']['facebook'], 1, 0 );
     909    echo ' value="1">' . __('Facebook', 'shariff3UU') . '</p>';
     910
     911    // Twitter
     912    echo '<p><input type="checkbox" name="shariff3UU_advanced[disable][twitter]" ';
     913    if ( isset( $GLOBALS['shariff3UU_advanced']['disable']['twitter'] ) ) echo checked( $GLOBALS['shariff3UU_advanced']['disable']['twitter'], 1, 0 );
     914    echo ' value="1">' . __('Twitter', 'shariff3UU') . '</p>';
     915
     916    // GooglePlus
     917    echo '<p><input type="checkbox" name="shariff3UU_advanced[disable][googleplus]" ';
     918    if ( isset( $GLOBALS['shariff3UU_advanced']['disable']['googleplus'] ) ) echo checked( $GLOBALS['shariff3UU_advanced']['disable']['googleplus'], 1, 0 );
     919    echo ' value="1">' . __('GooglePlus', 'shariff3UU') . '</p>';
     920   
     921    // Pinterest
     922    echo '<p><input type="checkbox" name="shariff3UU_advanced[disable][pinterest]" ';
     923    if ( isset( $GLOBALS['shariff3UU_advanced']['disable']['pinterest'] ) ) echo checked( $GLOBALS['shariff3UU_advanced']['disable']['pinterest'], 1, 0 );
     924    echo ' value="1">' . __('Pinterest', 'shariff3UU') . '</p>';
     925
     926    // Xing
     927    echo '<p><input type="checkbox" name="shariff3UU_advanced[disable][xing]" ';
     928    if ( isset( $GLOBALS['shariff3UU_advanced']['disable']['xing'] ) ) echo checked( $GLOBALS['shariff3UU_advanced']['disable']['xing'], 1, 0 );
     929    echo ' value="1">' . __('Xing', 'shariff3UU') . '</p>';
     930
     931    // LinkedIn
     932    echo '<p><input type="checkbox" name="shariff3UU_advanced[disable][linkedin]" ';
     933    if ( isset( $GLOBALS['shariff3UU_advanced']['disable']['linkedin'] ) ) echo checked( $GLOBALS['shariff3UU_advanced']['disable']['linkedin'], 1, 0 );
     934    echo ' value="1">' . __('LinkedIn', 'shariff3UU') . '</p>';
     935
     936    // Tumblr
     937    echo '<p><input type="checkbox" name="shariff3UU_advanced[disable][tumblr]" ';
     938    if ( isset( $GLOBALS['shariff3UU_advanced']['disable']['tumblr'] ) ) echo checked( $GLOBALS['shariff3UU_advanced']['disable']['tumblr'], 1, 0 );
     939    echo ' value="1">' . __('Tumblr', 'shariff3UU') . '</p>';
     940
     941    // VK
     942    echo '<p><input type="checkbox" name="shariff3UU_advanced[disable][vk]" ';
     943    if ( isset( $GLOBALS['shariff3UU_advanced']['disable']['vk'] ) ) echo checked( $GLOBALS['shariff3UU_advanced']['disable']['vk'], 1, 0 );
     944    echo ' value="1">' . __('VK', 'shariff3UU') . '</p>';
     945
     946    // StumbleUpon
     947    echo '<p><input type="checkbox" name="shariff3UU_advanced[disable][stumbleupon]" ';
     948    if ( isset( $GLOBALS['shariff3UU_advanced']['disable']['stumbleupon'] ) ) echo checked( $GLOBALS['shariff3UU_advanced']['disable']['stumbleupon'], 1, 0 );
     949    echo ' value="1">' . __('StumbleUpon', 'shariff3UU') . '</p>';
     950
     951    // Reddit
     952    echo '<p><input type="checkbox" name="shariff3UU_advanced[disable][reddit]" ';
     953    if ( isset( $GLOBALS['shariff3UU_advanced']['disable']['reddit'] ) ) echo checked( $GLOBALS['shariff3UU_advanced']['disable']['reddit'], 1, 0 );
     954    echo ' value="1">' . __('Reddit', 'shariff3UU') . '</p>';
     955
     956    // AddThis
     957    echo '<p><input type="checkbox" name="shariff3UU_advanced[disable][addthis]" ';
     958    if ( isset( $GLOBALS['shariff3UU_advanced']['disable']['addthis'] ) ) echo checked( $GLOBALS['shariff3UU_advanced']['disable']['addthis'], 1, 0 );
     959    echo ' value="1">' . __('AddThis', 'shariff3UU') . '</p>';
     960
     961    // Flattr
     962    echo '<p><input type="checkbox" name="shariff3UU_advanced[disable][flattr]" ';
     963    if ( isset( $GLOBALS['shariff3UU_advanced']['disable']['flattr'] ) ) echo checked( $GLOBALS['shariff3UU_advanced']['disable']['flattr'], 1, 0 );
     964    echo ' value="1">' . __('Flattr', 'shariff3UU') . '</p>';
    897965}
    898966
     
    11441212// statistic status on fist tab (basic) only
    11451213function shariff3UU_status_section_callback() {
     1214    // options
     1215    $shariff3UU_advanced = $GLOBALS["shariff3UU_advanced"];
    11461216    // status table
    11471217    echo '<div class="shariff_status-main-table">';
     
    11591229    }
    11601230    else {
    1161         // check if backend shows results
    1162         $wp_url = get_bloginfo('url');
    1163         $wp_url = preg_replace('#^https?://#', '', $wp_url);
    1164         $backend_testurl = plugin_dir_url( __FILE__ ) . 'backend/index.php?url=http%3A%2F%2F' . $wp_url;
    1165         $backend_output = sanitize_text_field( wp_remote_retrieve_body( wp_remote_get( $backend_testurl, array( 'timeout' => 11 ) ) ) );
    1166         $backend_output_json = json_decode( $backend_output, true );
    1167         if ( ! isset( $backend_output_json['errors'] ) ) {
     1231        // check if services produce error messages
     1232        $post_url  = urlencode( esc_url( get_bloginfo('url') ) );
     1233        $post_url2 = esc_url( get_bloginfo('url') );
     1234        $backend_services_url = plugin_dir_path( __FILE__ ) . 'backend/services/';
     1235
     1236        // temporarily removed flattr due to ongoing problems with the flattr api
     1237        $services = array( 'facebook', 'twitter', 'googleplus', 'pinterest', 'linkedin', 'xing', 'reddit', 'stumbleupon', 'tumblr', 'vk', 'addthis' );
     1238       
     1239        // start testing services
     1240        foreach ( $services as $service ) {
     1241            if ( ! isset ( $shariff3UU_advanced["disable"][ $service ] ) || ( isset ( $shariff3UU_advanced["disable"][ $service ] ) && $shariff3UU_advanced["disable"][ $service ] == 0 ) ) {
     1242                include ( $backend_services_url . $service . '.php' );
     1243                if ( ! isset ( $share_counts[ $service ] ) ) {
     1244                    $service_errors[ $service ] = $$service;
     1245                }
     1246            }
     1247        }
     1248
     1249        // status output
     1250        if ( ! isset( $service_errors ) ) {
    11681251            // statistic working message
    11691252            echo '<div class="shariff_status-cell">';
     
    11831266                // error message table
    11841267                echo '<div class="shariff_status-table">';
    1185                 echo '<div class="shariff_status-row"><div class="shariff_status-cell"><span class="shariff_status-error">' . __( 'Error', 'shariff3UU' ) . '</span></div></div>';
    1186                 echo '<div class="shariff_status-row"><div class="shariff_status-cell">' . __( 'Backend error.', 'shariff3UU' ) . '</div></div>';
    1187                 echo '<div class="shariff_status-row"><div class="shariff_status-cell">';
    1188                 foreach( $backend_output_json['errors'] as $service_error ) {
    1189                     echo esc_html( $service_error );
    1190                 }
    1191                 echo '</div></div></div>';
     1268                    echo '<div class="shariff_status-row"><div class="shariff_status-cell"><span class="shariff_status-error">' . __( 'Error', 'shariff3UU' ) . '</span></div></div>';
     1269                    echo '<div class="shariff_status-row"><div class="shariff_status-cell">' . __( 'Backend error.', 'shariff3UU' ) . '</div></div>';
     1270                    foreach( $service_errors as $service => $error ) {
     1271                        echo '<div class="shariff_status-row"><div class="shariff_status-cell">';
     1272                        echo ucfirst( $service ) . '-Error! Message: ' . esc_html( $error );
     1273                        echo '</div></div>';
     1274                    }
     1275                echo '</div>';
    11921276            echo '</div>';
    11931277            // end statistic row, if not working correctly
     
    14301514    // flatter-username
    14311515    if ( ! empty($shariff3UU["flattruser"] ) )  $shorttag .= ' flattruser="' . $shariff3UU["flattruser"] . '"';
     1516    // set timestamp of last modification
     1517    $shorttag .= ' timestamp="' . get_the_modified_date( 'U', true ) . '"';
    14321518
    14331519    // close the shorttag
     
    18221908    $shariff3UU = $GLOBALS["shariff3UU"];
    18231909    // remove headline in post
    1824     $content = str_replace( strip_tags( $shariff3UU["headline"] ), " ", $content );
     1910    if ( isset( $shariff3UU["headline"] ) ) {
     1911        $content = str_replace( strip_tags( $shariff3UU["headline"] ), " ", $content );
     1912    }
    18251913    // add shariff before the excerpt, if option checked in the admin menu
    18261914    if ( isset( $shariff3UU["add_before"]["excerpt"] ) && $shariff3UU["add_before"]["excerpt"] == '1' ) {
     
    19982086    if ( array_key_exists( 'bitcoinaddress', $atts ) )  $output .= ' data-bitcoinurl="'     . esc_url( plugins_url( '/', __FILE__ ) ) . '"';
    19992087    if ( array_key_exists( 'buttonsize', $atts ) )      $output .= ' data-buttonsize="'     . esc_html( $atts['buttonsize'] ) . '"';
    2000 
     2088    if ( array_key_exists( 'timestamp', $atts ) )       $output .= ' data-timestamp="'      . esc_html( $atts['timestamp'] ) . '"';
    20012089    // if services are set only use these
    20022090    if ( array_key_exists( 'services', $atts ) ) {
     
    22102298        $page_title = '';
    22112299        if ( strpos( $original_shorttag, 'title=' ) === false ) {
    2212             $wp_title = wp_title( '', false );
     2300            $wp_title = get_the_title(); # for WP4.4
     2301            // rtzTODO: use wp_get_document_title() with backward compatibility
     2302            // prior wp_title( '', false );
    22132303            // wp_title for all pages that have it
    22142304            if ( ! empty( $wp_title ) ) {
     
    22192309                $page_title = get_bloginfo('name');
    22202310            }
    2221             $page_title = ' title="' . $page_title;
    2222             $page_title .= '"';
     2311            $page_title = ' title="' . $page_title . '"';
    22232312        }
    22242313           
     
    23332422// clear cache upon deactivation
    23342423function shariff3UU_deactivate() {
    2335 // check for multisite
    2336 if ( is_multisite() ) {
    23372424    global $wpdb;
    2338     $current_blog_id = get_current_blog_id();
    2339     $blogs = $wpdb->get_results( "SELECT blog_id FROM {$wpdb->blogs}", ARRAY_A );
    2340     if ( $blogs ) {
    2341         foreach ( $blogs as $blog ) {
    2342             // switch to each blog
    2343             switch_to_blog( $blog['blog_id'] );
    2344             // delete cache dir
    2345             shariff_removecachedir();
    2346             // switch back to main
    2347             restore_current_blog();
    2348         }
    2349     }
    2350 } else {
    2351     // delete cache dir
    2352     shariff_removecachedir();
     2425    // check for multisite
     2426    if ( is_multisite() ) {
     2427        $current_blog_id = get_current_blog_id();
     2428        $blogs = $wpdb->get_results( "SELECT blog_id FROM {$wpdb->blogs}", ARRAY_A );
     2429        if ( $blogs ) {
     2430            foreach ( $blogs as $blog ) {
     2431                // switch to each blog
     2432                switch_to_blog( $blog['blog_id'] );
     2433                // delete cache dir
     2434                shariff_removecachedir();
     2435                // purge transients
     2436                purge_transients();
     2437                // switch back to main
     2438                restore_current_blog();
     2439            }
     2440        }
     2441    } else {
     2442        // delete cache dir
     2443        shariff_removecachedir();
     2444        // purge transients
     2445        purge_transients();
    23532446    }
    23542447}
    23552448register_deactivation_hook( __FILE__, 'shariff3UU_deactivate' );
     2449
     2450// purge all the transients associated with our plugin
     2451function purge_transients() {
     2452    global $wpdb;
     2453
     2454    // delete transients
     2455    $sql = 'DELETE FROM ' . $wpdb->options . ' WHERE option_name LIKE "_transient_timeout_shariff%"';
     2456    $wpdb->query($sql);
     2457    $sql = 'DELETE FROM ' . $wpdb->options . ' WHERE option_name LIKE "_transient_shariff%"';
     2458    $wpdb->query($sql);
     2459
     2460    // clear object cache
     2461    wp_cache_flush();
     2462}
    23562463
    23572464// delete cache directory
Note: See TracChangeset for help on using the changeset viewer.