[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kolab-commits
Subject:    Branch 'production' - kolab.org/www
From:       Torsten Grote <grote () kolabsys ! com>
Date:       2013-03-19 13:26:08
Message-ID: 20130319132608.073711FBAC8 () app01 ! kolabsys ! com
[Download RAW message or body]

kolab.org/www/drupal-7.18/sites/all/libraries/socialshareprivacy/2-klick-logo_min.jpg \
|binary  kolab.org/www/drupal-7.18/sites/all/libraries/socialshareprivacy/dimensions.gif \
|binary  kolab.org/www/drupal-7.18/sites/all/libraries/socialshareprivacy/index.html  \
|  741 ++++++++++  kolab.org/www/drupal-7.18/sites/all/libraries/socialshareprivacy/jquery.socialshareprivacy.js \
|  377 +++++  kolab.org/www/drupal-7.18/sites/all/libraries/socialshareprivacy/jquery.socialshareprivacy.min.js \
|   33   kolab.org/www/drupal-7.18/sites/all/libraries/socialshareprivacy/socialshareprivacy/images/2-klick-logo.jpg \
|binary  kolab.org/www/drupal-7.18/sites/all/libraries/socialshareprivacy/socialshareprivacy/images/dummy_facebook.png \
|binary  kolab.org/www/drupal-7.18/sites/all/libraries/socialshareprivacy/socialshareprivacy/images/dummy_facebook_en.png \
|binary  kolab.org/www/drupal-7.18/sites/all/libraries/socialshareprivacy/socialshareprivacy/images/dummy_gplus.png \
|binary  kolab.org/www/drupal-7.18/sites/all/libraries/socialshareprivacy/socialshareprivacy/images/dummy_gplus_alt.png \
|binary  kolab.org/www/drupal-7.18/sites/all/libraries/socialshareprivacy/socialshareprivacy/images/dummy_twitter.png \
|binary  kolab.org/www/drupal-7.18/sites/all/libraries/socialshareprivacy/socialshareprivacy/images/settings.png \
|binary  kolab.org/www/drupal-7.18/sites/all/libraries/socialshareprivacy/socialshareprivacy/images/socialshareprivacy_info.png \
|binary  kolab.org/www/drupal-7.18/sites/all/libraries/socialshareprivacy/socialshareprivacy/images/socialshareprivacy_on_off.png \
|binary  kolab.org/www/drupal-7.18/sites/all/libraries/socialshareprivacy/socialshareprivacy/socialshareprivacy.css \
|  226 +++  15 files changed, 1377 insertions(+)

New commits:
commit 06868d3020c6ab17d729b693459e66db00478557
Author: Torsten Grote <grote@kolabsys.com>
Date:   Tue Mar 19 14:25:48 2013 +0100

    add socialshareprivacy library

diff --git a/kolab.org/www/drupal-7.18/sites/all/libraries/socialshareprivacy/2-klick-logo_min.jpg \
b/kolab.org/www/drupal-7.18/sites/all/libraries/socialshareprivacy/2-klick-logo_min.jpg
 new file mode 100644
index 0000000..bb2e5a5
Binary files /dev/null and \
b/kolab.org/www/drupal-7.18/sites/all/libraries/socialshareprivacy/2-klick-logo_min.jpg \
                differ
diff --git a/kolab.org/www/drupal-7.18/sites/all/libraries/socialshareprivacy/dimensions.gif \
b/kolab.org/www/drupal-7.18/sites/all/libraries/socialshareprivacy/dimensions.gif new \
file mode 100644 index 0000000..762340a
Binary files /dev/null and \
b/kolab.org/www/drupal-7.18/sites/all/libraries/socialshareprivacy/dimensions.gif \
                differ
diff --git a/kolab.org/www/drupal-7.18/sites/all/libraries/socialshareprivacy/index.html \
b/kolab.org/www/drupal-7.18/sites/all/libraries/socialshareprivacy/index.html new \
file mode 100644 index 0000000..7d21cf1
--- /dev/null
+++ b/kolab.org/www/drupal-7.18/sites/all/libraries/socialshareprivacy/index.html
@@ -0,0 +1,741 @@
+<!DOCTYPE HTML>
+<html lang="de-DE">
+<head>
+    <title>Dokumentation &ndash; heise \
&bdquo;socialSharePrivacy&ldquo;&ndash;Plug-In</title> +    <meta charset="UTF-8" />
+    <meta name="author" content="Hilko Holweg, Sebastian Hilbig, Nicolas \
Heiringhoff, Juergen Schmidt - Heise Zeitschriften Verlag GbmH &amp; Co. KG" /> +    \
<meta name="description" content="Dokumentation und Einbindung des heise \
SocialSharePrivacy-Plug-Ins" /> +    <style type="text/css">
+        h1, h2, h3 {
+            font: normal 24px/30px Georgia, Times, "Times New Roman", serif; 
+            color: #666;
+        }
+        h2 {
+            font-size: 22px;
+            line-height: 28px;
+        }
+        h3 {
+            font-size: 20px;
+            line-height: 26px;
+        }
+        a {
+            color: #039;
+        }
+        pre {
+            background-color: #eee; 
+            border: 1px solid #bbb;
+            padding: 10px; 
+            margin: 20px 0 0;
+        }
+        pre code {
+            margin: 0; 
+            padding: 0;
+        }
+        pre + p {
+            margin-top: 5px;
+        }
+        ol li, p, td, th {
+            font: normal 14px/20px "Lucida Grande", "Lucida Sans Unicode", Verdana, \
Arial, sans-serif;  +            clear: both;
+        }
+        nav {
+            display: block; 
+            margin-bottom: 50px;
+            border-bottom: 1px solid #333;
+        }
+        nav ol li,
+        nav ol li a {
+            font: bold 16px/24px "Lucida Grande", "Lucida Sans Unicode", Verdana, \
Arial, sans-serif; +            color: #039;
+            -moz-transition: all .5s ease-in;
+            -webkit-transition: all .5s ease-in;
+            transition: all .5s ease-in;
+        }
+        nav ol li a:hover {
+            text-decoration: none; 
+            color: #333;
+        }
+        ol#structure li ol {
+            list-style-type: none; 
+            padding: 0;
+        }
+        ol#structure li ol#fb_app_id_step_by_step {
+            list-style-type: decimal;
+            padding-left: 20px;
+        }
+        ol#structure li ol#fb_app_id_step_by_step li {
+            margin-bottom: 16px;
+        }
+        ol#structure li ol li {
+            margin-bottom: 30px; 
+        }
+        ol#structure li ol li table {
+            border: 1px solid #333;
+            width: 100%;
+            display: table;
+            margin: 20px 0;
+        }
+        ol#structure li ol.changelog li {
+            margin: 5px 0;
+        }
+        ol#structure li ol.changelog li pre {
+            margin: 5px 0 20px;
+        }
+        table caption {
+            text-align: left; 
+            font-size: 18px; 
+            font-weight: bold; 
+            text-indent: 5px; 
+        }
+        table th {
+            text-align: left; 
+            font-style: italic; 
+            background-color: #333;
+            color: #fff;
+        }
+        table th, 
+        table td {
+            padding: 2px 4px; 
+            vertical-align: top; 
+        }
+        table tr:hover td {
+            background-color: #eee;
+        }
+    </style>
+</head>
+<body>
+    <h1>jQuery Plug-In socialshareprivacy &ndash; Dokumentation</h1>
+
+    <h3>Download des jQuery-Plug-Ins:</h3>
+    <p>
+        <a href="http://www.heise.de/extras/socialshareprivacy/jquery.socialshareprivacy.zip">jquery.socialshareprivacy.zip</a><br \
/> +        <a href="http://www.heise.de/extras/socialshareprivacy/jquery.socialshareprivacy.tar.gz">jquery.socialshareprivacy.tar.gz</a>
 +    </p>
+        
+    <nav>
+        <h2>Navigation</h2>
+        <ol>
+            <li><a href="#changelog">Change-Log</a></li>
+            <li><a href="#files">Dateien</a></li>
+            <li><a href="#pre">Voraussetzungen und Einschränkungen</a></li>
+            <li><a href="#dimensions">Ausmaße</a></li>
+            <li>Einfache Einbindung
+                <ol>
+                    <li><a href="#merge">Quelltext</a></li>
+                    <li><a href="#explanation">Erklärung des Codes</a></li>
+                </ol>
+            </li>
+            <li><a href="#options">Optionen</a>
+                <ol>
+                    <li><a href="#options_general">Allgemein</a></li>
+                    <li><a href="#options_facebook">Facebook</a></li>
+                    <li><a href="#options_twitter">Twitter</a></li>
+                    <li><a href="#options_gplus">Google+</a></li>
+                </ol>
+            </li>
+            <li><a href="#examples">Beispiel-Einbindungen</a>
+                <ol>
+                    <li><a href="#only_fb">Nur Facebook einbinden</a></li>
+                    <li><a href="#no_perma">Keine Option zum dauerhaften Aktivieren \
anbieten</a></li> +                    <li><a href="#only_gplus_css_path">Nur Google+ \
anbieten und eigenen Pfad für die CSS-Datei angeben.</a></li> +                </ol>
+            </li>
+            <li><a href="#url">URL</a></li>
+            <li><a href="#perma_option">Einstellung merken</a></li>
+            <li><a href="#licence">Lizenz</a></li>
+            <li><a href="#logo">Logo</a></li>
+        </ol>
+    </nav>
+    
+    <ol id="structure">
+        <li>
+            <h2 id="changelog">Change-Log</h2>
+            <ol class="changelog">
+                <li>
+                    <h3 id="v1-4">Version 1.4</h3>
+                    <ul>
+                        <li>
+                            Grafik: Da Google+ eine neue aktive Grafik einsetzt, \
wurde nun auch die inaktive Google+ Grafik angepasst<br /> +                          \
alt: <img src="/extras/socialshareprivacy/socialshareprivacy/images/dummy_gplus_alt.png" \
alt="alte Google+ Grafik" /><br /> +                            neu: <img \
src="/extras/socialshareprivacy/socialshareprivacy/images/dummy_gplus.png" alt="neue \
Google+ Grafik" /><br /> +                        </li>
+                    </ul>
+                </li>
+                <li>
+                    <h3 id="v1-3">Version 1.3</h3>
+                    <ul>
+                        <li>
+                            Erste Fassung, die auch mehrmals auf einer Seite \
verwendet werden kann. Damit in den verschiedenen Instanzen unterschiedliche URIs \
verwendet werden können, wird der per Option <code>uri</code> gesetzen Funktion ein \
Kontext-DOM-Knoten übergeben, über den man eine URI ermitteln kann. Beispiele für \
die Verwendung haben wir in der Dokumentation bei den <a \
href="#examples">Beispiel-Einbindungen</a> ergänzt. +                        </li>
+                        <li>
+                            Korrektur für IE &lt; 9: Das per <code>css_path</code> \
angegebene Stylesheet wurde mit jQuery-Versionen != 1.4.2 nicht eingebaut. +          \
</li> +                    </ul>
+                </li>
+                <li>
+                    <h3 id="v1-2">Version 1.2</h3>
+                    <ul>
+                        <li>
+                            JS: Facebook App-ID entfernt, da diese nicht mehr nötig \
ist, um den Like/Recommend-Button zu nutzen. +                        </li>
+                    </ul>
+                </li>
+                <li>
+                    <h3 id="v1-1">Version 1.1</h3>
+                    <ul>
+                        <li>
+                            CSS: Bei diversen Elementen haben wir mehr Angaben \
hinzugefügt, um die Nacharbeiten, bei der Integration in eigene Seiten, geringer zu \
halten. Vor allem haben wir <code>margin</code>-, <code>padding</code>-, \
<code>width</code>- und <code>height</code>-Angaben hinzugefügt. +                   \
</li> +                        <li>
+                            Die Doku wurde um einen Beispiele- und diesen \
Change-Log-Bereich erweitert.  +                        </li>
+                        <li>
+                            Das Plug-In wurde inhaltlich etwas umgestellt und einige \
Code-Abkürzungen vorgenommen. +                        </li>
+                        <li>
+                            JS-Bug Korrektur: Es gab einen Fehler, wenn es in der \
Seite ein <code>canonical</code>-Attribut gab, das aber einen leeren Wert hatte. +    \
</li> +                        <li>
+                            JS-Bug Korrektur: Bei den Optionen von Google+ gab es \
eine Angabe, die später im Script nie abgefragt wurde. +                        \
</li> +                        <li>
+                            JS-Bug Korrektur: Die Perma-Option von Google+ wurde nur \
angezeigt, wenn auch die Perma-Option von Twitter aktiviert war. +                    \
</li> +                        <li>
+                            Twitter: Wenn aktiviert war das iFrame zu groß und \
überlagerte darunter liegende Links. <code>&lt;iframe ...style="width:130px; \
height:25px;">&lt;/iframe></code> ergänzt. +                        </li>
+                        <li>Allgemein: Wenn die Option css_path leer ist, wird kein \
&lt;link>-Tag mit leerem href in die Seite eingebaut.</li> +                        \
<li>Allgemein: Die von den Buttons verwendete URI kann jetzt über die Option \
<code>uri</code> gesteuert werden. Es ist sowohl ein fester Wert, wie auch eine \
Function möglich. Default ist die enthaltene Funktion <code>getURI</code></li> +     \
<li><strong>Neue Features:</strong> +                            <ul>
+                                <li>Facebook: Die Beschriftungsvarianten des Buttons \
"Empfehlen" und "Gefällt mir" kann über die neue Option "action" gesteuert werden. \
Werte sind "<code>recommend</code>" (default) und "<code>like</code>".</li> +         \
<li>Twitter: Parameter "<code>language</code>" (default "<code>en</code>") jetzt auch \
für Twitter.</li> +                            </ul>
+                        </li>
+                    </ul>
+                </li>
+                <li>
+                    <h3 id="v1-0">Version 1.0</h3>
+                    <ul>
+                        <li>Erstes öffentliches Release</li>
+                    </ul>
+                </li>
+            </ol>
+        </li>
+
+        <li>
+            <h2 id="files">Dateien</h2>
+            <p>Zu unserem Plug-In gehören folgende Dateien:</p>
+            <ul>
+                <li>index.html (die Doku, die Sie gerade lesen)</li>
+                <li>dimensions.gif (Infografik für diese Doku)</li>
+                <li>2-klick-logo_min.jpg (Logo klein)</li>
+                <li>jquery.socialshareprivacy.js</li>
+                <li>jquery.socialshareprivacy.min.js</li>
+                <li>socialshareprivacy/socialshareprivacy.css</li>
+                <li>socialshareprivacy/images/dummy_facebook.png</li>
+                <li>socialshareprivacy/images/dummy_facebook_en.png</li>
+                <li>socialshareprivacy/images/dummy_gplus.png</li>
+                <li>socialshareprivacy/images/dummy_twitter.png</li>
+                <li>socialshareprivacy/images/settings.png</li>
+                <li>socialshareprivacy/images/socialshareprivacy_info.png</li>
+                <li>socialshareprivacy/images/socialshareprivacy_on_off.png</li>
+                <li>socialshareprivacy/images/2-klick-logo.jpg</li>
+            </ul>
+        </li>
+        <li>
+            <h2 id="pre">Voraussetzungen und Einschränkungen</h2>
+            <p>
+                Technische Voraussetzungen sind jQuery und aktiviertes JavaScript im \
Browser. Bei uns getestet mit jQuery 1.4.<br /> +                Das Plug-In kann \
derzeit innerhalb einer HTML-Seite nur einmal verwendet werden. +            </p>
+            <p>
+                Wenn Sie Vorschläge zur Verbesserung haben, wenden Sie sich gerne \
per Mail an <a href="mailto:2klick@heise.de?subject=Vorschlag%20zum%20Plug-In">2klick@heise.de</a>.
 +            </p>
+            <p>
+                Das dauerhafte Aktivieren der Services funktioniert im Internet \
Explorer erst ab Version 8, da die Vorgängerversionen kein JSON unterstützen. Daher \
fehlt im IE &lt;= 7 diese Funktion. Der Rest des Plug-Ins ist davon nicht betroffen. \
+            </p> +            <p>
+                <del datetime="2011-10-04" \
cite="http://www.heise.de/extras/socialshareprivacy/#v1-2">Für Facebook ist zwingend \
eine eigene App-ID notwendig, siehe dazu <a href="#fb_app-id">Hinweis zur Facebook \
App-ID</a>.</del> +            </p>
+        </li>
+        <li>
+            <h2 id="dimensions">Ausmaße</h2>
+            <img src="dimensions.gif" width="600" height="284" alt="Ausmaße des \
Plug-Ins" /> +            <p>
+                Das Plug-In benötigt insgesamt etwa 600 Pixel in der Breite (wenn \
alle Services aktiviert sind) und ca. 290 Pixel in der Höhe, wobei dies natürlich \
auch von der Länge der angegebenen MouseOver-Texte abhängt. +            </p>
+        <li>
+            <ol>
+                <li>
+                    <h2 id="merge">Einbindung</h2>
+<pre>
+<code>&lt;head&gt;
+  &hellip;
+  &lt;script type="text/javascript" src="jquery.js"&gt;&lt;/script&gt; 
+  &lt;script type="text/javascript" \
src="jquery.socialshareprivacy.js"&gt;&lt;/script&gt; +  &lt;script \
type="text/javascript"&gt; +    jQuery(document).ready(function($){
+      if($('#socialshareprivacy').length > 0){
+        $('#socialshareprivacy').socialSharePrivacy(); 
+      }
+    });
+  &lt;/script&gt;
+  &hellip;
+&lt;/head&gt;
+&lt;body&gt;
+  &hellip;
+  &lt;div id="socialshareprivacy"&gt;&lt;/div&gt;
+  &hellip;
+&lt;/body&gt;</code>
+</pre>
+                </li>
+                <li>
+                    <h3 id="explanation">Erklärung des Codes</h3>
+
+<pre>
+<code>&lt;script type="text/javascript" src="jquery.js"&gt;&lt;/script&gt; 
+&lt;script type="text/javascript" \
src="jquery.socialshareprivacy.js"&gt;&lt;/script&gt;</code> +</pre>
+                    <p>
+                        Die erste Zeile bindet das JavaScript-Framework \
&bdquo;JQuery&ldquo; (<a href="http://jquery.com/">http://jquery.com/</a>) ein, die \
zweite Zeile unser Plug-In. jQuery liegt unserem Paket <strong>nicht</strong> bei, \
Sie müssen es erst noch selbst von der eben genannten Website herunterladen. +       \
</p> +
+<pre>
+<code>&lt;script type="text/javascript"&gt;
+  jQuery(document).ready(function($){
+    if($('#socialshareprivacy').length > 0){
+      $('#socialshareprivacy').socialSharePrivacy(); 
+    }
+  });
+&lt;/script&gt;</code>
+</pre>
+                    <p>
+                        In diesem <code>&lt;script&gt;</code>-Block wird die Plug-In \
Funktion an ein frei wählbares, leeres HTML-Element in der Seite gehängt, in diesem \
Fall das Element mit der <code>id</code> <em>socialshareprivacy</em>.<br /> +         \
Damit das Anhängen des Plug-Ins nur dann geschieht, wenn das Element auch wirklich \
vorhanden ist, haben wir noch die Kontrollfunktion <code>if</code>, die das Anhängen \
umschließt und die nötige Bedingung prüft. +                    </p>
+
+<pre>
+<code>&lt;body&gt;
+  &hellip;
+  &lt;div id="socialshareprivacy"&gt;&lt;/div&gt;
+  &hellip;
+&lt;/body&gt;</code>
+</pre>
+                    <p>
+                        Irgendwo im <code>&lt;body&gt;</code>-Bereich der Website \
platziert man das leere HTML-Element mit der gewünschten <code>id</code>, die \
identisch zur verwendeten <code>id</code> im vorhergehenden \
<code>&lt;script&gt;</code>-Block sein muss. +                    </p>
+                </li>
+            </ol>
+        </li>
+        <li>
+            <h2 id="options">Optionen</h2>
+            <p>
+                Zur Einbindung stehen diverse Optionen zur Verfügung. Im Folgenden \
sind erstmal die allgemeinen Optionen aufgeführt und anschließend die Optionen nach \
den einzelnen Services (Facebook, Twitter, Google+) aufgelistet.<br /> +              \
Beispiel für einen Aufruf mit Optionen: +            </p>
+<pre>
+<code>$('#socialshareprivacy').socialSharePrivacy({
+  services : {
+    facebook : {
+      'perma_option': 'off'
+    }, 
+    twitter : {
+        'status' : 'off'
+    },
+    gplus : {
+      'display_name' : 'Google Plus'
+    }
+  },
+  'cookie_domain' : 'heise.de'
+});</code>
+</pre>
+            <ol>
+                <li id="options_general">
+                    <table summary="Eine Auflistung aller allgemeinen Optionen des \
socialSharePrivacy-Plug-Ins"> +                        <caption>allgemeine \
Optionen</caption> +                        <thead>
+                            <tr>
+                                <th>Option</th>
+                                <th>Standardwert</th>
+                                <th>Beschreibung</th>
+                            </tr>
+                        </thead>
+                        <tbody>
+                            <tr>
+                                <td>info_link</td>
+                                \
<td>http://www.heise.de/ct/artikel/2-Klicks-fuer-mehr-Datenschutz-1333879.html</td> + \
<td>Link zu detaillierter Datenschutz-Info, in unserem Fall ein heise-Artikel.</td> + \
</tr> +                            <tr>
+                                <td>txt_help</td>
+                                <td><em>Text</em></td>
+                                <td>MouseOver-Text des <em>i</em>-Icons</td>
+                            </tr>
+                            <tr>
+                                <td>settings_perma</td>
+                                <td>Dauerhaft aktivieren und \
Daten&uuml;ber&shy;tragung zustimmen:</td> +                                \
<td>Überschrift des Einstellungsmenüs</td> +                            </tr>
+                            <tr>
+                                <td>cookie_path</td>
+                                <td>/</td>
+                                <td>Pfad der Gültigkeit des Cookies</td>
+                            </tr>
+                            <tr>
+                                <td>cookie_domain</td>
+                                <td><code>document.location.host</code></td>
+                                <td>Domain für die das Cookie gültig ist</td>
+                            </tr>
+                            <tr>
+                                <td>cookie_expires</td>
+                                <td>365</td>
+                                <td>Dauer die das Cookie gültig ist in Tagen</td>
+                            </tr>
+                            <tr>
+                                <td>css_path</td>
+                                <td>socialshareprivacy/socialshareprivacy.css</td>
+                                <td>Pfad zur CSS-Datei, wenn leer wird kein \
Stylesheet eingebaut</td> +                            </tr>
+                            <tr>
+                                <td>uri</td>
+                                <td>getURI</td>
+                                <td>Die URI, die von den Buttons weitergegeben \
werden soll. Möglich ist ein fester Wert (z.B. <code>"http://www.heise.de"</code>) \
oder eine Funktion (siehe <code>function getURI()</code> im Plug-In-Quellcode)</td> + \
</tr> +                        </tbody>
+                    </table>
+                </li>
+                <li id="options_facebook">
+                    <table summary="Eine Auflistung aller Optionen für Facebook des \
socialSharePrivacy-Plug-Ins"> +                        <caption>Optionen: \
Facebook</caption> +                        <thead>
+                            <tr>
+                                <th>Option</th>
+                                <th>Standardwert</th>
+                                <th>Beschreibung</th>
+                            </tr>
+                        </thead>
+                        <tbody>
+                            <tr>
+                                <td>status</td>
+                                <td>on</td>
+                                <td>Der User hat Facebook zur Auswahl</td>
+                            </tr>
+                            <tr>
+                                <td><del datetime="2011-10-04" \
cite="http://www.heise.de/extras/socialshareprivacy/#v1-2">app_id</del></td> +        \
<td><em>entfallen (seit Version 1.2)</em></td> +                                \
<td><del datetime="2011-10-04" \
cite="http://www.heise.de/extras/socialshareprivacy/#v1-2">Facebook App-ID; Sie ist \
nötig um den <em>Empfehlen</em>-Button von Facebook nutzen zu können. Ist sie nicht \
angegeben, wird dem User Facebook trotz <code>'status' : 'on'</code> \
<strong>nicht</strong> angeboten. In der JavaScript-Konsole wird dem Entwickler ein \
entsprechender Hinweis ausgegeben.</del></td> +                            </tr>
+                            <tr>
+                                <td>dummy_img</td>
+                                \
<td>socialshareprivacy/images/dummy_facebook.png</td> +                               \
<td>Pfad zur statischen Grafik</td> +                            </tr>
+                            <tr>
+                                <td>txt_info</td>
+                                <td><em>Text</em></td>
+                                <td>MouseOver-Text des Empfehlen-Buttons</td>
+                            </tr>
+                            <tr>
+                                <td>txt_fb_off</td>
+                                <td>nicht mit Facebook verbunden</td>
+                                <td>Text-Entsprechung der Schalter-Grafik im \
ausgeschalteten Zustand, in der Regel nicht sichtbar für den User</td> +             \
</tr> +                            <tr>
+                                <td>txt_fb_on</td>
+                                <td>mit Facebook verbunden</td>
+                                <td>Text-Entsprechung der Schalter-Grafik im \
eingeschalteten Zustand, in der Regel nicht sichtbar für den User</td> +             \
</tr> +                            <tr>
+                                <td>perma_option</td>
+                                <td>on</td>
+                                <td>Der User hat die Option sich Facebook dauerhaft \
einblenden zu lassen (mittels Cookie)</td> +                            </tr>
+                            <tr>
+                                <td>display_name</td>
+                                <td>Facebook</td>
+                                <td>Schreibweise des Service in den Optionen</td>
+                            </tr>
+                            <tr>
+                                <td>referrer_track</td>
+                                <td>&nbsp;</td>
+                                <td>Wird ans Ende der URL gehängt, kann zum Tracken \
des Referrers genutzt werden</td> +                            </tr>
+                            <tr>
+                                <td>language</td>
+                                <td>de_DE</td>
+                                <td>Spracheinstellung</td>
+                            </tr>
+                            <tr>
+                                <td>action</td>
+                                <td>recommend</td>
+                                <td>Beschriftung des Buttons: Empfehlen \
(<code>recommend</code>) oder Gefällt mir (<code>like</code>)</td> +                 \
</tr> +                        </tbody>
+                    </table>
+                </li>
+                <li id="options_twitter">
+                    <table summary="Eine Auflistung aller Optionen für Twitter des \
socialSharePrivacy-Plug-Ins"> +                        <caption>Optionen: \
Twitter</caption> +                        <thead>
+                            <tr>
+                                <th>Option</th>
+                                <th>Standardwert</th>
+                                <th>Beschreibung</th>
+                            </tr>
+                        </thead>
+                        <tbody>
+                            <tr>
+                                <td>status</td>
+                                <td>on</td>
+                                <td>Der User hat Twitter zur Auswahl</td>
+                            </tr>
+                            <tr>
+                                <td>dummy_img</td>
+                                <td>socialshareprivacy/images/dummy_twitter.png</td>
+                                <td>Pfad zur statischen Grafik</td>
+                            </tr>
+                            <tr>
+                                <td>txt_info</td>
+                                <td><em>Text</em></td>
+                                <td>MouseOver-Text des Tweet-Buttons</td>
+                            </tr>
+                            <tr>
+                                <td>txt_twitter_off</td>
+                                <td>nicht mit Twitter verbunden</td>
+                                <td>Text-Entsprechung der Schalter-Grafik im \
ausgeschalteten Zustand, in der Regel nicht sichtbar für den User</td> +             \
</tr> +                            <tr>
+                                <td>txt_twitter_on</td>
+                                <td>mit Twitter verbunden</td>
+                                <td>Text-Entsprechung der Schalter-Grafik im \
eingeschalteten Zustand, in der Regel nicht sichtbar für den User</td> +             \
</tr> +                            <tr>
+                                <td>perma_option</td>
+                                <td>on</td>
+                                <td>Der User hat die Option sich Twitter dauerhaft \
einblenden zu lassen (mittels Cookie)</td> +                            </tr>
+                            <tr>
+                                <td>display_name</td>
+                                <td>Twitter</td>
+                                <td>Schreibweise des Service in den Optionen</td>
+                            </tr>
+                            <tr>
+                                <td>referrer_track</td>
+                                <td>&nbsp;</td>
+                                <td>Wird ans Ende der URL gehängt, kann zum Tracken \
des Referrers genutzt werden</td> +                            </tr>
+                            <tr>
+                                <td>tweet_text</td>
+                                <td><code>getTweetText</code></td>
+                                <td>
+                                    Die Funktion prüft ob es die Meta-Angabe \
<code>DC.title</code> gibt und verwendet diese. Gibt es außerdem noch \
<code>DC.creator</code> wird diese etwas abgesetzt (&quot; - &quot;) hinten \
angehängt. Ist <code>DC.title</code> nicht vorhanden wird das &lt;title&gt;-Tag der \
Seite verwendet.<br /> +                                    Diese Option kann mit \
einem eigenen Text (<code>typeof == string</code>) überschrieben werden oder mit \
einer eigenen Funktion (<code>typeof == function</code>), die den Text generiert.<br \
/> +                                    Der übergebene Texte wird immer auf 120 \
Zeichen gekürzt und beim letzten Leerzeichen mit &hellip; ersetzt. +                 \
</td> +                            </tr>
+                            <tr>
+                                <td>language</td>
+                                <td>en</td>
+                                <td>Spracheinstellung (Default: "<code>en</code>" \
ja, uns gefällt Tweet besser als Twittern)</td> +                            </tr>
+                        </tbody>
+                    </table>
+                </li>
+                <li id="options_gplus">
+                    <table summary="Eine Auflistung aller Optionen für Google+ des \
socialSharePrivacy-Plug-Ins"> +                        <caption>Optionen: \
Google+</caption> +                        <thead>
+                            <tr>
+                                <th>Option</th>
+                                <th>Standardwert</th>
+                                <th>Beschreibung</th>
+                            </tr>
+                        </thead>
+                        <tbody>
+                            <tr>
+                                <td>status</td>
+                                <td>on</td>
+                                <td>Der User hat Google+ zur Auswahl</td>
+                            </tr>
+                            <tr>
+                                <td>dummy_img</td>
+                                <td>socialshareprivacy/images/dummy_gplus.png</td>
+                                <td>Pfad zur statischen Grafik</td>
+                            </tr>
+                            <tr>
+                                <td>txt_info</td>
+                                <td><em>Text</em></td>
+                                <td>MouseOver-Text des &bdquo;+1&ldquo;-Buttons</td>
+                            </tr>
+                            <tr>
+                                <td>txt_gplus_off</td>
+                                <td>nicht mit Google+ verbunden</td>
+                                <td>Text-Entsprechung der Schalter-Grafik im \
ausgeschalteten Zustand, in der Regel nicht sichtbar für den User</td> +             \
</tr> +                            <tr>
+                                <td>txt_gplus_on</td>
+                                <td>mit Google+ verbunden</td>
+                                <td>Text-Entsprechung der Schalter-Grafik im \
eingeschalteten Zustand, in der Regel nicht sichtbar für den User</td> +             \
</tr> +                            <tr>
+                                <td>perma_option</td>
+                                <td>on</td>
+                                <td>Der User hat die Option sich Google+ dauerhaft \
einblenden zu lassen (mittels Cookie)</td> +                            </tr>
+                            <tr>
+                                <td>display_name</td>
+                                <td>Google+</td>
+                                <td>Schreibweise des Service in den Optionen</td>
+                            </tr>
+                            <tr>
+                                <td>referrer_track</td>
+                                <td>&nbsp;</td>
+                                <td>Wird ans Ende der URL gehängt, kann zum Tracken \
des Referrers genutzt werden</td> +                            </tr>
+                            <tr>
+                                <td>language</td>
+                                <td>de</td>
+                                <td>Spracheinstellung</td>
+                            </tr>
+                        </tbody>
+                    </table>
+                </li>
+            </ol>
+        </li>
+        <li>
+            <h2 id="examples">Beispiel-Einbindungen</h2>
+            <p>
+                Im Folgenden sehen Sie ein paar beispielhafte Einbindungen von \
gängigen Konfigurationen. +            </p>
+            <ul>
+                <li>
+                    <h3 id="only_fb">Nur Facebook einbinden</h3>
+<pre>
+<code>$('#socialshareprivacy').socialSharePrivacy({
+    services : {
+        twitter : {
+            'status' : 'off'
+        },
+        gplus : {
+            'status' : 'off'
+        }
+    }
+});</code>
+</pre>
+                </li>
+                <li>
+                    <h3 id="no_perma">Keine Option zum dauerhaften Aktivieren \
anbieten</h3> +<pre>
+<code>$('#socialshareprivacy').socialSharePrivacy({
+    services : {
+        facebook : {
+            'perma_option'  : 'off'
+        }, 
+        twitter : {
+            'perma_option' : 'off'
+        },
+        gplus : {
+            'perma_option' : 'off'
+        }
+    }
+});</code>
+</pre>
+                </li>
+                <li>
+                    <h3 id="only_gplus_css_path">Nur Google+ anbieten und eigenen \
Pfad für die CSS-Datei angeben.</h3> +<pre>
+<code>$('#socialshareprivacy').socialSharePrivacy({
+    services : {
+        facebook : {
+            'status' : 'off'
+        }, 
+        twitter : {
+            'status' : 'off'
+        }
+    },
+    'css_path' : '/style/plugins/socialshareprivacy.css'
+});</code>
+</pre>
+                </li>
+                <li>
+                    <h3>Mehrere 2-Klick-Buttonleisten auf einer Seite</h3>
+                    <h4>Variante 1: Ein Aufruf des Plug-Ins mit einem entsprechenden \
Selektor</h4> +<pre>
+&lt;div class="anriss">
+    &lt;h3>&lt;a href="http://www.heise.de">heise&lt;/a>&lt;/h3>
+    &lt;p>lorem ipsum&lt;/p>
+    &lt;div class="social">&lt;/div>
+&lt;/div>
+
+&lt;div class="anriss">
+    &lt;h3>&lt;a href="http://www.heise.de/security/">heise security&lt;/a>&lt;/h3>
+    &lt;p>dolor sit amet&lt;/p>
+    &lt;div class="social">&lt;/div>
+&lt;/div>
+
+&lt;script>
+$(".social").socialSharePrivacy({
+    uri : function(context) {
+        return $(context).parents(".anriss").find("h3 a").attr("href");
+    }
+});
+&lt;/script>
+</pre>
+                            <h4>Variante 2: Mehrfacher Aufruf des Plug-Ins</h4>
+<pre>
+&lt;div>
+    &lt;h3>&lt;a href="http://www.heise.de">heise&lt;/a>&lt;/h3>
+    &lt;p>lorem ipsum&lt;/p>
+    &lt;div id="one">&lt;/div>
+&lt;/div>
+&lt;script>
+$("#one").socialSharePrivacy({
+    uri : "http://www.heise.de"
+});
+&lt;/script>
+
+&lt;div>
+    &lt;h3>&lt;a href="http://www.heise.de/security/">heise security&lt;/a>&lt;/h3>
+    &lt;p>dolor sit amet&lt;/p>
+    &lt;div id="two">&lt;/div>
+&lt;/div>
+&lt;script>
+$("#two").socialSharePrivacy({
+    uri : "http://www.heise.de/security/"
+});
+&lt;/script>
+</pre>
+
+                </li>
+            </ul>
+        </li>
+        <li>
+            <h2 id="url">URL</h2>
+            <p>
+                Die URL, die den Services übergeben wird, kann über eine Option \
gesteuert werden.<br />Standardmäßig wird eine Funktion innerhalb des Plug-Ins \
verwendet, die die URL der aktuellen Seite aus <code>document.location.href</code> \
ermittelt, ist jedoch eine kanonische URL hinterlegt (<code>&lt;link \
rel="canonical"&gt;</code>), wird diese genommen. +            </p>
+        </li>
+        <li>
+            <h2 id="perma_option">Einstellungen merken</h2>
+            <p>
+                Bevor das Cookie abgefragt wird, wie die Einstellungen des Users \
sind, wird erstmal geprüft, wie das Plug-In konfiguriert ist. Ist das Plug-In \
eventuell nachträglich umgestellt worden hat der User dadurch keine Nachteile.<br /> \
+                Wurde für alle Services die Merken-Funktion ausgeschaltet \
(<code>'perma_option' : 'off'</code>) wird auch das Einstellungsmenü nicht mehr \
angezeigt. +            </p>
+        </li>
+        <li>
+            <h2 id="licence">Lizenz</h2>
+            <p>
+                Dieses Plug-In ist unter der MIT License (<a \
href="http://www.opensource.org/licenses/mit-license.php">http://www.opensource.org/licenses/mit-license.php</a>) \
veröffentlicht und darf gerne für private, wie auch kommerzielle Zwecke genutzt \
werden. +            </p>
+        </li>
+        <li>
+            <h2 id="logo">Logo</h2>
+            <p>
+                Unserem Plug-In liegt auch das von uns verwendete Logo bei, das Sie \
gerne zur Bewerbung dieser Aktion verwenden dürfen. +                <a \
href="socialshareprivacy/images/2-klick-logo.jpg"><img src="2-klick-logo_min.jpg" \
width="150" height="150" alt="Logo 2 Klicks für mehr Datenschutz" style="float: \
left;" /></a> +            </p>
+        </li>
+    </ol>
+</body>
+</html>
diff --git a/kolab.org/www/drupal-7.18/sites/all/libraries/socialshareprivacy/jquery.socialshareprivacy.js \
b/kolab.org/www/drupal-7.18/sites/all/libraries/socialshareprivacy/jquery.socialshareprivacy.js
 new file mode 100644
index 0000000..90fc5ab
--- /dev/null
+++ b/kolab.org/www/drupal-7.18/sites/all/libraries/socialshareprivacy/jquery.socialshareprivacy.js
 @@ -0,0 +1,377 @@
+/*
+ * jquery.socialshareprivacy.js | 2 Klicks fuer mehr Datenschutz
+ *
+ * http://www.heise.de/extras/socialshareprivacy/
+ * http://www.heise.de/ct/artikel/2-Klicks-fuer-mehr-Datenschutz-1333879.html
+ *
+ * Copyright (c) 2011 Hilko Holweg, Sebastian Hilbig, Nicolas Heiringhoff, Juergen \
Schmidt, + * Heise Zeitschriften Verlag GmbH & Co. KG, http://www.heise.de
+ *
+ * is released under the MIT License \
http://www.opensource.org/licenses/mit-license.php + *
+ * Spread the word, link to us if you can.
+ */
+(function ($) {
+
+    "use strict";
+
+	/*
+	 * helper functions
+	 */ 
+
+    // abbreviate at last blank before length and add "\u2026" (horizontal ellipsis)
+    function abbreviateText(text, length) {
+        var abbreviated = decodeURIComponent(text);
+        if (abbreviated.length <= length) {
+            return text;
+        }
+
+        var lastWhitespaceIndex = abbreviated.substring(0, length - 1).lastIndexOf(' \
'); +        abbreviated = encodeURIComponent(abbreviated.substring(0, \
lastWhitespaceIndex)) + "\u2026"; +
+        return abbreviated;
+    }
+
+    // returns content of <meta name="" content=""> tags or '' if empty/non existant
+    function getMeta(name) {
+        var metaContent = $('meta[name="' + name + '"]').attr('content');
+        return metaContent || '';
+    }
+    
+    // create tweet text from content of <meta name="DC.title"> and <meta \
name="DC.creator"> +    // fallback to content of <title> tag
+    function getTweetText() {
+        var title = getMeta('DC.title');
+        var creator = getMeta('DC.creator');
+
+        if (title.length > 0 && creator.length > 0) {
+            title += ' - ' + creator;
+        } else {
+            title = $('title').text();
+        }
+
+        return encodeURIComponent(title);
+    }
+
+    // build URI from rel="canonical" or document.location
+    function getURI() {
+        var uri = document.location.href;
+        var canonical = $("link[rel=canonical]").attr("href");
+
+        if (canonical && canonical.length > 0) {
+            if (canonical.indexOf("http") < 0) {
+                canonical = document.location.protocol + "//" + \
document.location.host + canonical; +            }
+            uri = canonical;
+        }
+
+        return uri;
+    }
+
+    function cookieSet(name, value, days, path, domain) {
+        var expires = new Date();
+        expires.setTime(expires.getTime() + (days * 24 * 60 * 60 * 1000));
+        document.cookie = name + '=' + value + '; expires=' + expires.toUTCString() \
+ '; path=' + path + '; domain=' + domain; +    }
+    function cookieDel(name, value, path, domain) {
+        var expires = new Date();
+        expires.setTime(expires.getTime() - 100);
+        document.cookie = name + '=' + value + '; expires=' + expires.toUTCString() \
+ '; path=' + path + '; domain=' + domain; +    }
+
+    // extend jquery with our plugin function
+    $.fn.socialSharePrivacy = function (settings) {
+        var defaults = {
+            'services' : {
+                'facebook' : {
+                    'status'            : 'on',
+                    'dummy_img'         : \
'socialshareprivacy/images/dummy_facebook.png', +                    'txt_info'       \
: '2 Klicks f&uuml;r mehr Datenschutz: Erst wenn Sie hier klicken, wird der Button \
aktiv und Sie k&ouml;nnen Ihre Empfehlung an Facebook senden. Schon beim Aktivieren \
werden Daten an Dritte &uuml;bertragen &ndash; siehe <em>i</em>.', +                  \
'txt_fb_off'        : 'nicht mit Facebook verbunden', +                    \
'txt_fb_on'         : 'mit Facebook verbunden', +                    'perma_option'   \
: 'on', +                    'display_name'      : 'Facebook',
+                    'referrer_track'    : '',
+                    'language'          : 'de_DE',
+                    'action'            : 'recommend'
+                }, 
+                'twitter' : {
+                    'status'            : 'on', 
+                    'dummy_img'         : \
'socialshareprivacy/images/dummy_twitter.png', +                    'txt_info'        \
: '2 Klicks f&uuml;r mehr Datenschutz: Erst wenn Sie hier klicken, wird der Button \
aktiv und Sie k&ouml;nnen Ihre Empfehlung an Twitter senden. Schon beim Aktivieren \
werden Daten an Dritte &uuml;bertragen &ndash; siehe <em>i</em>.', +                  \
'txt_twitter_off'   : 'nicht mit Twitter verbunden', +                    \
'txt_twitter_on'    : 'mit Twitter verbunden', +                    'perma_option'    \
: 'on', +                    'display_name'      : 'Twitter',
+                    'referrer_track'    : '', 
+                    'tweet_text'        : getTweetText,
+                    'language'          : 'en'
+                },
+                'gplus' : {
+                    'status'            : 'on',
+                    'dummy_img'         : \
'socialshareprivacy/images/dummy_gplus.png', +                    'txt_info'          \
: '2 Klicks f&uuml;r mehr Datenschutz: Erst wenn Sie hier klicken, wird der Button \
aktiv und Sie k&ouml;nnen Ihre Empfehlung an Google+ senden. Schon beim Aktivieren \
werden Daten an Dritte &uuml;bertragen &ndash; siehe <em>i</em>.', +                  \
'txt_gplus_off'     : 'nicht mit Google+ verbunden', +                    \
'txt_gplus_on'      : 'mit Google+ verbunden', +                    'perma_option'    \
: 'on', +                    'display_name'      : 'Google+',
+                    'referrer_track'    : '',
+                    'language'          : 'de'
+                }
+            },
+            'info_link'         : \
'http://www.heise.de/ct/artikel/2-Klicks-fuer-mehr-Datenschutz-1333879.html', +       \
'txt_help'          : 'Wenn Sie diese Felder durch einen Klick aktivieren, werden \
Informationen an Facebook, Twitter oder Google in die USA &uuml;bertragen und unter \
Umst&auml;nden auch dort gespeichert. N&auml;heres erfahren Sie durch einen Klick auf \
das <em>i</em>.', +            'settings_perma'    : 'Dauerhaft aktivieren und \
Daten&uuml;ber&shy;tragung zustimmen:', +            'cookie_path'       : '/',
+            'cookie_domain'     : document.location.host,
+            'cookie_expires'    : '365',
+            'css_path'          : 'socialshareprivacy/socialshareprivacy.css',
+            'uri'               : getURI
+        };
+
+        // Standardwerte des Plug-Ings mit den vom User angegebenen Optionen \
ueberschreiben +        var options = $.extend(true, defaults, settings);
+
+        var facebook_on = (options.services.facebook.status === 'on');
+        var twitter_on  = (options.services.twitter.status  === 'on');
+        var gplus_on    = (options.services.gplus.status    === 'on');
+
+        // check if at least one service is "on"
+        if (!facebook_on && !twitter_on && !gplus_on) {
+            return;
+        }
+
+        // insert stylesheet into document and prepend target element
+        if (options.css_path.length > 0) {
+            // IE fix (noetig fuer IE < 9 - wird hier aber fuer alle IE gemacht)
+            if (document.createStyleSheet) {
+                document.createStyleSheet(options.css_path);
+            } else {
+                $('head').append('<link rel="stylesheet" type="text/css" href="' + \
options.css_path + '" />'); +            }
+        }
+
+        return this.each(function () {
+
+            $(this).prepend('<ul class="social_share_privacy_area"></ul>');
+            var context = $('.social_share_privacy_area', this);
+
+            // canonical uri that will be shared
+            var uri = options.uri;
+            if (typeof uri === 'function') {
+                uri = uri(context);
+            }
+
+            //
+            // Facebook
+            //
+            if (facebook_on) {
+                var fb_enc_uri = encodeURIComponent(uri + \
options.services.facebook.referrer_track); +                var fb_code = '<iframe \
src="http://www.facebook.com/plugins/like.php?locale=' + \
options.services.facebook.language + '&amp;href=' + fb_enc_uri + \
'&amp;send=false&amp;layout=button_count&amp;width=120&amp;show_faces=false&amp;action=' \
+ options.services.facebook.action + '&amp;colorscheme=light&amp;font&amp;height=21" \
scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:145px; \
height:21px;" allowTransparency="true"></iframe>'; +                var fb_dummy_btn \
= '<img src="' + options.services.facebook.dummy_img + '" alt="Facebook \
&quot;Like&quot;-Dummy" class="fb_like_privacy_dummy" />'; +
+                context.append('<li class="facebook help_info"><span class="info">' \
+ options.services.facebook.txt_info + '</span><span class="switch off">' + \
options.services.facebook.txt_fb_off + '</span><div class="fb_like dummy_btn">' + \
fb_dummy_btn + '</div></li>'); +
+                var $container_fb = $('li.facebook', context);
+
+                $('li.facebook div.fb_like img.fb_like_privacy_dummy,li.facebook \
span.switch', context).live('click', function () { +                    if \
($container_fb.find('span.switch').hasClass('off')) { +                        \
$container_fb.addClass('info_off'); +                        \
$container_fb.find('span.switch').addClass('on').removeClass('off').html(options.services.facebook.txt_fb_on);
 +                        \
$container_fb.find('img.fb_like_privacy_dummy').replaceWith(fb_code); +               \
} else { +                        $container_fb.removeClass('info_off');
+                        \
$container_fb.find('span.switch').addClass('off').removeClass('on').html(options.services.facebook.txt_fb_off);
 +                        $container_fb.find('.fb_like').html(fb_dummy_btn);
+                    }
+                });
+            }
+
+            //
+            // Twitter
+            //
+            if (twitter_on) {
+                var text = options.services.twitter.tweet_text;
+                if (typeof text === 'function') {
+                    text = text();
+                }
+                // 120 is the max character count left after twitters automatic url \
shortening with t.co +                text = abbreviateText(text, '120');
+
+                var twitter_enc_uri = encodeURIComponent(uri + \
options.services.twitter.referrer_track); +                var twitter_count_url = \
encodeURIComponent(uri); +                var twitter_code = '<iframe \
allowtransparency="true" frameborder="0" scrolling="no" \
src="http://platform.twitter.com/widgets/tweet_button.html?url=' + twitter_enc_uri + \
'&amp;counturl=' + twitter_count_url + '&amp;text=' + text + \
'&amp;count=horizontal&amp;lang=' + options.services.twitter.language + '" \
style="width:130px; height:25px;"></iframe>'; +                var twitter_dummy_btn \
= '<img src="' + options.services.twitter.dummy_img + '" alt="&quot;Tweet \
this&quot;-Dummy" class="tweet_this_dummy" />'; +
+                context.append('<li class="twitter help_info"><span class="info">' + \
options.services.twitter.txt_info + '</span><span class="switch off">' + \
options.services.twitter.txt_twitter_off + '</span><div class="tweet dummy_btn">' + \
twitter_dummy_btn + '</div></li>'); +
+                var $container_tw = $('li.twitter', context);
+
+                $('li.twitter div.tweet img,li.twitter span.switch', \
context).live('click', function () { +                    if \
($container_tw.find('span.switch').hasClass('off')) { +                        \
$container_tw.addClass('info_off'); +                        \
$container_tw.find('span.switch').addClass('on').removeClass('off').html(options.services.twitter.txt_twitter_on);
 +                        \
$container_tw.find('img.tweet_this_dummy').replaceWith(twitter_code); +               \
} else { +                        $container_tw.removeClass('info_off');
+                        \
$container_tw.find('span.switch').addClass('off').removeClass('on').html(options.services.twitter.txt_twitter_off);
 +                        $container_tw.find('.tweet').html(twitter_dummy_btn);
+                    }
+                });
+            }
+
+            //
+            // Google+
+            //
+            if (gplus_on) {
+                // fuer G+ wird die URL nicht encoded, da das zu einem Fehler fuehrt
+                var gplus_uri = uri + options.services.gplus.referrer_track;
+                
+                // we use the Google+ "asynchronous" code, standard code is flaky if \
inserted into dom after load +                var gplus_code = '<div \
class="g-plusone" data-size="medium" data-href="' + gplus_uri + '"></div><script \
type="text/javascript">window.___gcfg = {lang: "' + options.services.gplus.language + \
'"}; (function() { var po = document.createElement("script"); po.type = \
"text/javascript"; po.async = true; po.src = "https://apis.google.com/js/plusone.js"; \
var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(po, s); \
})(); </script>'; +                var gplus_dummy_btn = '<img src="' + \
options.services.gplus.dummy_img + '" alt="&quot;Google+1&quot;-Dummy" \
class="gplus_one_dummy" />'; +
+                context.append('<li class="gplus help_info"><span class="info">' + \
options.services.gplus.txt_info + '</span><span class="switch off">' + \
options.services.gplus.txt_gplus_off + '</span><div class="gplusone dummy_btn">' + \
gplus_dummy_btn + '</div></li>'); +
+                var $container_gplus = $('li.gplus', context);
+
+                $('li.gplus div.gplusone img,li.gplus span.switch', \
context).live('click', function () { +                    if \
($container_gplus.find('span.switch').hasClass('off')) { +                        \
$container_gplus.addClass('info_off'); +                        \
$container_gplus.find('span.switch').addClass('on').removeClass('off').html(options.services.gplus.txt_gplus_on);
 +                        \
$container_gplus.find('img.gplus_one_dummy').replaceWith(gplus_code); +               \
} else { +                        $container_gplus.removeClass('info_off');
+                        \
$container_gplus.find('span.switch').addClass('off').removeClass('on').html(options.services.gplus.txt_gplus_off);
 +                        $container_gplus.find('.gplusone').html(gplus_dummy_btn);
+                    }
+                });
+            }
+
+            //
+            // Der Info/Settings-Bereich wird eingebunden
+            //
+            context.append('<li class="settings_info"><div class="settings_info_menu \
off perma_option_off"><a href="' + options.info_link + '"><span class="help_info \
icon"><span class="info">' + options.txt_help + '</span></span></a></div></li>'); +
+            // Info-Overlays mit leichter Verzoegerung einblenden
+            $('.help_info:not(.info_off)', context).live('mouseenter', function () {
+                var $info_wrapper = $(this);
+                var timeout_id = window.setTimeout(function () { \
$($info_wrapper).addClass('display'); }, 500); +                \
$(this).data('timeout_id', timeout_id); +            });
+            $('.help_info', context).live('mouseleave', function () {
+                var timeout_id = $(this).data('timeout_id');
+                window.clearTimeout(timeout_id);
+                if ($(this).hasClass('display')) {
+                    $(this).removeClass('display');
+                }
+            });
+
+            var facebook_perma = (options.services.facebook.perma_option === 'on');
+            var twitter_perma  = (options.services.twitter.perma_option  === 'on');
+            var gplus_perma    = (options.services.gplus.perma_option    === 'on');
+
+            // Menue zum dauerhaften Einblenden der aktiven Dienste via Cookie \
einbinden +            // Die IE7 wird hier ausgenommen, da er kein JSON kann und die \
Cookies hier ueber JSON-Struktur abgebildet werden +            if (((facebook_on && \
facebook_perma) +                || (twitter_on && twitter_perma)
+                || (gplus_on && gplus_perma))
+                    && (!$.browser.msie || ($.browser.msie && $.browser.version > \
7.0))) { +
+                // Cookies abrufen
+                var cookie_list = document.cookie.split(';');
+                var cookies = '{';
+                var i = 0;
+                for (; i < cookie_list.length; i += 1) {
+                    var foo = cookie_list[i].split('=');
+                    cookies += '"' + $.trim(foo[0]) + '":"' + $.trim(foo[1]) + '"';
+                    if (i < cookie_list.length - 1) {
+                        cookies += ',';
+                    }
+                }
+                cookies += '}';
+                cookies = JSON.parse(cookies);
+
+                // Container definieren
+                var $container_settings_info = $('li.settings_info', context);
+
+                // Klasse entfernen, die das i-Icon alleine formatiert, da \
Perma-Optionen eingeblendet werden +                \
$container_settings_info.find('.settings_info_menu').removeClass('perma_option_off'); \
+ +                // Perma-Optionen-Icon (.settings) und Formular (noch versteckt) \
einbinden +                \
$container_settings_info.find('.settings_info_menu').append('<span \
class="settings">Einstellungen</span><form><fieldset><legend>' + \
options.settings_perma + '</legend></fieldset></form>'); +
+
+                // Die Dienste mit <input> und <label>, sowie checked-Status laut \
Cookie, schreiben +                var checked = ' checked="checked"';
+                if (facebook_on && facebook_perma) {
+                    var perma_status_facebook = cookies.socialSharePrivacy_facebook \
=== 'perma_on' ? checked : ''; +                    \
$container_settings_info.find('form fieldset').append( +                        \
'<input type="checkbox" name="perma_status_facebook" id="perma_status_facebook"' +    \
+ perma_status_facebook + ' /><label for="perma_status_facebook">' +                  \
+ options.services.facebook.display_name + '</label>' +                    );
+                }
+
+                if (twitter_on && twitter_perma) {
+                    var perma_status_twitter = cookies.socialSharePrivacy_twitter \
=== 'perma_on' ? checked : ''; +                    \
$container_settings_info.find('form fieldset').append( +                        \
'<input type="checkbox" name="perma_status_twitter" id="perma_status_twitter"' +      \
+ perma_status_twitter + ' /><label for="perma_status_twitter">' +                    \
+ options.services.twitter.display_name + '</label>' +                    );
+                }
+
+                if (gplus_on && gplus_perma) {
+                    var perma_status_gplus = cookies.socialSharePrivacy_gplus === \
'perma_on' ? checked : ''; +                    $container_settings_info.find('form \
fieldset').append( +                        '<input type="checkbox" \
name="perma_status_gplus" id="perma_status_gplus"' +                            + \
perma_status_gplus + ' /><label for="perma_status_gplus">' +                          \
+ options.services.gplus.display_name + '</label>' +                    );
+                }
+
+                // Cursor auf Pointer setzen fuer das Zahnrad
+                $container_settings_info.find('span.settings').css('cursor', \
'pointer'); +
+                // Einstellungs-Menue bei mouseover ein-/ausblenden
+                $($container_settings_info.find('span.settings'), \
context).live('mouseenter', function () { +                    var timeout_id = \
window.setTimeout(function () { \
$container_settings_info.find('.settings_info_menu').removeClass('off').addClass('on'); \
}, 500); +                    $(this).data('timeout_id', timeout_id);
+                }); 
+                $($container_settings_info, context).live('mouseleave', function () \
{ +                    var timeout_id = $(this).data('timeout_id');
+                    window.clearTimeout(timeout_id);
+                    \
$container_settings_info.find('.settings_info_menu').removeClass('on').addClass('off');
 +                });
+
+                // Klick-Interaktion auf <input> um Dienste dauerhaft ein- oder \
auszuschalten (Cookie wird gesetzt oder geloescht) +                \
$($container_settings_info.find('fieldset input')).live('click', function (event) { + \
var click = event.target.id; +                    var service = \
click.substr(click.lastIndexOf('_') + 1, click.length); +                    var \
cookie_name = 'socialSharePrivacy_' + service; +
+                    if ($('#' + event.target.id + ':checked').length) {
+                        cookieSet(cookie_name, 'perma_on', options.cookie_expires, \
options.cookie_path, options.cookie_domain); +                        $('form \
fieldset label[for=' + click + ']', context).addClass('checked'); +                   \
} else { +                        cookieDel(cookie_name, 'perma_on', \
options.cookie_path, options.cookie_domain); +                        $('form \
fieldset label[for=' + click + ']', context).removeClass('checked'); +                \
} +                });
+
+                // Dienste automatisch einbinden, wenn entsprechendes Cookie \
vorhanden ist +                if (facebook_on && facebook_perma && \
cookies.socialSharePrivacy_facebook === 'perma_on') { +                    \
$('li.facebook span.switch', context).click(); +                }
+                if (twitter_on && twitter_perma && \
cookies.socialSharePrivacy_twitter === 'perma_on') { +                    \
$('li.twitter span.switch', context).click(); +                }
+                if (gplus_on && gplus_perma && cookies.socialSharePrivacy_gplus === \
'perma_on') { +                    $('li.gplus span.switch', context).click();
+                }
+            }
+        }); // this.each(function ()
+    };      // $.fn.socialSharePrivacy = function (settings) {
+}(jQuery));
+
diff --git a/kolab.org/www/drupal-7.18/sites/all/libraries/socialshareprivacy/jquery.socialshareprivacy.min.js \
b/kolab.org/www/drupal-7.18/sites/all/libraries/socialshareprivacy/jquery.socialshareprivacy.min.js
 new file mode 100644
index 0000000..13fd469
--- /dev/null
+++ b/kolab.org/www/drupal-7.18/sites/all/libraries/socialshareprivacy/jquery.socialshareprivacy.min.js
 @@ -0,0 +1,33 @@
+/*
+ * jquery.socialshareprivacy.js | 2 Klicks fuer mehr Datenschutz
+ *
+ * http://www.heise.de/extras/socialshareprivacy/
+ * http://www.heise.de/ct/artikel/2-Klicks-fuer-mehr-Datenschutz-1333879.html
+ *
+ * Copyright (c) 2011 Hilko Holweg, Sebastian Hilbig, Nicolas Heiringhoff, Juergen \
Schmidt, + * Heise Zeitschriften Verlag GmbH & Co. KG, http://www.heise.de
+ *
+ * is released under the MIT License \
http://www.opensource.org/licenses/mit-license.php + *
+ * Spread the word, link to us if you can.
+ */
+(function(b){function x(b,a){var f=decodeURIComponent(b);if(f.length<=a)return b;var \
j=f.substring(0,a-1).lastIndexOf(" ");return \
f=encodeURIComponent(f.substring(0,j))+"\u2026"}function q(c){return \
b('meta[name="'+c+'"]').attr("content")||""}function r(){var \
c=q("DC.title"),a=q("DC.creator"),c=0<c.length&&0<a.length?c+(" - \
"+a):b("title").text();return encodeURIComponent(c)}function s(){var \
c=document.location.href,a=b("link[rel=canonical]").attr("href");a&&0<a.length&&(0>a.indexOf("http")&&(a=document.location.protocol+
 +"//"+document.location.host+a),c=a);return \
c}b.fn.socialSharePrivacy=function(c){var \
a=b.extend(!0,{services:{facebook:{status:"on",dummy_img:"socialshareprivacy/images/dummy_facebook.png",txt_info:"2 \
Klicks f&uuml;r mehr Datenschutz: Erst wenn Sie hier klicken, wird der Button aktiv \
und Sie k&ouml;nnen Ihre Empfehlung an Facebook senden. Schon beim Aktivieren werden \
Daten an Dritte &uuml;bertragen &ndash; siehe <em>i</em>.",txt_fb_off:"nicht mit \
Facebook verbunden",txt_fb_on:"mit Facebook verbunden", \
+perma_option:"on",display_name:"Facebook",referrer_track:"",language:"de_DE",action:" \
recommend"},twitter:{status:"on",dummy_img:"socialshareprivacy/images/dummy_twitter.png",txt_info:"2 \
Klicks f&uuml;r mehr Datenschutz: Erst wenn Sie hier klicken, wird der Button aktiv \
und Sie k&ouml;nnen Ihre Empfehlung an Twitter senden. Schon beim Aktivieren werden \
Daten an Dritte &uuml;bertragen &ndash; siehe <em>i</em>.",txt_twitter_off:"nicht mit \
Twitter verbunden",txt_twitter_on:"mit Twitter verbunden",perma_option:"on", \
+display_name:"Twitter",referrer_track:"",tweet_text:r,language:"en"},gplus:{status:"on",dummy_img:"socialshareprivacy/images/dummy_gplus.png",txt_info:"2 \
Klicks f&uuml;r mehr Datenschutz: Erst wenn Sie hier klicken, wird der Button aktiv \
und Sie k&ouml;nnen Ihre Empfehlung an Google+ senden. Schon beim Aktivieren werden \
Daten an Dritte &uuml;bertragen &ndash; siehe <em>i</em>.",txt_gplus_off:"nicht mit \
Google+ verbunden",txt_gplus_on:"mit Google+ \
verbunden",perma_option:"on",display_name:"Google+", \
+referrer_track:"",language:"de"}},info_link:"http://www.heise.de/ct/artikel/2-Klicks-fuer-mehr-Datenschutz-1333879.html",txt_help:"Wenn \
Sie diese Felder durch einen Klick aktivieren, werden Informationen an Facebook, \
Twitter oder Google in die USA &uuml;bertragen und unter Umst&auml;nden auch dort \
gespeichert. N&auml;heres erfahren Sie durch einen Klick auf das \
<em>i</em>.",settings_perma:"Dauerhaft aktivieren und Daten&uuml;ber&shy;tragung \
zustimmen:",cookie_path:"/",cookie_domain:document.location.host, \
+cookie_expires:"365",css_path:"socialshareprivacy/socialshareprivacy.css",uri:s},c),f \
="on"===a.services.facebook.status,j="on"===a.services.twitter.status,n="on"===a.services.gplus.status;if(f||j||n)return \
0<a.css_path.length&&(document.createStyleSheet?document.createStyleSheet(a.css_path):b("head").append('<link \
rel="stylesheet" type="text/css" href="'+a.css_path+'" \
/>')),this.each(function(){b(this).prepend('<ul \
class="social_share_privacy_area"></ul>');var d=b(".social_share_privacy_area",this), \
+c=a.uri;"function"===typeof c&&(c=c(d));if(f){var \
g=encodeURIComponent(c+a.services.facebook.referrer_track),q='<iframe \
src="http://www.facebook.com/plugins/like.php?locale='+a.services.facebook.language+"& \
amp;href="+g+"&amp;send=false&amp;layout=button_count&amp;width=120&amp;show_faces=fal \
se&amp;action="+a.services.facebook.action+'&amp;colorscheme=light&amp;font&amp;height=21" \
scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:145px; \
height:21px;" allowTransparency="true"></iframe>', +t='<img \
src="'+a.services.facebook.dummy_img+'" alt="Facebook &quot;Like&quot;-Dummy" \
class="fb_like_privacy_dummy" />';d.append('<li class="facebook help_info"><span \
class="info">'+a.services.facebook.txt_info+'</span><span class="switch \
off">'+a.services.facebook.txt_fb_off+'</span><div class="fb_like \
dummy_btn">'+t+"</div></li>");var k=b("li.facebook",d);b("li.facebook div.fb_like \
img.fb_like_privacy_dummy,li.facebook \
span.switch",d).live("click",function(){k.find("span.switch").hasClass("off")? \
+(k.addClass("info_off"),k.find("span.switch").addClass("on").removeClass("off").html( \
a.services.facebook.txt_fb_on),k.find("img.fb_like_privacy_dummy").replaceWith(q)):(k. \
removeClass("info_off"),k.find("span.switch").addClass("off").removeClass("on").html(a \
.services.facebook.txt_fb_off),k.find(".fb_like").html(t))})}if(j){g=a.services.twitter.tweet_text;"function"===typeof \
g&&(g=g());var g=x(g,"120"),o=encodeURIComponent(c+a.services.twitter.referrer_track),e=encodeURIComponent(c),r='<iframe \
allowtransparency="true" frameborder="0" scrolling="no" \
src="http://platform.twitter.com/widgets/tweet_button.html?url='+ \
+o+"&amp;counturl="+e+"&amp;text="+g+"&amp;count=horizontal&amp;lang="+a.services.twitter.language+'" \
style="width:130px; height:25px;"></iframe>',u='<img \
src="'+a.services.twitter.dummy_img+'" alt="&quot;Tweet this&quot;-Dummy" \
class="tweet_this_dummy" />';d.append('<li class="twitter help_info"><span \
class="info">'+a.services.twitter.txt_info+'</span><span class="switch \
off">'+a.services.twitter.txt_twitter_off+'</span><div class="tweet \
dummy_btn">'+u+"</div></li>");var l=b("li.twitter",d);b("li.twitter div.tweet \
img,li.twitter span.switch", \
+d).live("click",function(){l.find("span.switch").hasClass("off")?(l.addClass("info_of \
f"),l.find("span.switch").addClass("on").removeClass("off").html(a.services.twitter.tx \
t_twitter_on),l.find("img.tweet_this_dummy").replaceWith(r)):(l.removeClass("info_off" \
),l.find("span.switch").addClass("off").removeClass("on").html(a.services.twitter.txt_twitter_off),l.find(".tweet").html(u))})}if(n){var \
s='<div class="g-plusone" data-size="medium" \
data-href="'+(c+a.services.gplus.referrer_track)+'"></div><script \
type="text/javascript">window.___gcfg = {lang: "'+ +a.services.gplus.language+'"}; \
(function() { var po = document.createElement("script"); po.type = "text/javascript"; \
po.async = true; po.src = "https://apis.google.com/js/plusone.js"; var s = \
document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(po, s); })(); \
<\/script>',v='<img src="'+a.services.gplus.dummy_img+'" \
alt="&quot;Google+1&quot;-Dummy" class="gplus_one_dummy" />';d.append('<li \
class="gplus help_info"><span class="info">'+a.services.gplus.txt_info+'</span><span \
class="switch off">'+ +a.services.gplus.txt_gplus_off+'</span><div class="gplusone \
dummy_btn">'+v+"</div></li>");var m=b("li.gplus",d);b("li.gplus div.gplusone \
img,li.gplus span.switch",d).live("click",function(){m.find("span.switch").hasClass("o \
ff")?(m.addClass("info_off"),m.find("span.switch").addClass("on").removeClass("off").h \
tml(a.services.gplus.txt_gplus_on),m.find("img.gplus_one_dummy").replaceWith(s)):(m.re \
moveClass("info_off"),m.find("span.switch").addClass("off").removeClass("on").html(a.services.gplus.txt_gplus_off),
 +m.find(".gplusone").html(v))})}d.append('<li class="settings_info"><div \
class="settings_info_menu off perma_option_off"><a href="'+a.info_link+'"><span \
class="help_info icon"><span \
class="info">'+a.txt_help+"</span></span></a></div></li>");b(".help_info:not(.info_off)",d).live("mouseenter",function(){var \
a=b(this),c=window.setTimeout(function(){b(a).addClass("display")},500);b(this).data("timeout_id",c)});b(".help_info",d).live("mouseleave",function(){var \
a=b(this).data("timeout_id");window.clearTimeout(a); \
+b(this).hasClass("display")&&b(this).removeClass("display")});c="on"===a.services.fac \
ebook.perma_option;g="on"===a.services.twitter.perma_option;o="on"===a.services.gplus. \
perma_option;if((f&&c||j&&g||n&&o)&&(!b.browser.msie||b.browser.msie&&7<b.browser.version)){for(var \
i=document.cookie.split(";"),e="{",p=0;p<i.length;p+=1){var \
w=i[p].split("="),e=e+('"'+b.trim(w[0])+'":"'+b.trim(w[1])+'"');p<i.length-1&&(e+=",")}var \
e=JSON.parse(e+"}"),h=b("li.settings_info",d);h.find(".settings_info_menu").removeClass("perma_option_off");
 +h.find(".settings_info_menu").append('<span \
class="settings">Einstellungen</span><form><fieldset><legend>'+a.settings_perma+"</legend></fieldset></form>");f&&c&&(i="perma_on"===e.socialSharePrivacy_facebook?' \
checked="checked"':"",h.find("form fieldset").append('<input type="checkbox" \
name="perma_status_facebook" id="perma_status_facebook"'+i+' /><label \
for="perma_status_facebook">'+a.services.facebook.display_name+"</label>"));j&&g&&(i="perma_on"===e.socialSharePrivacy_twitter?' \
checked="checked"': +"",h.find("form fieldset").append('<input type="checkbox" \
name="perma_status_twitter" id="perma_status_twitter"'+i+' /><label \
for="perma_status_twitter">'+a.services.twitter.display_name+"</label>"));n&&o&&(i="perma_on"===e.socialSharePrivacy_gplus?' \
checked="checked"':"",h.find("form fieldset").append('<input type="checkbox" \
name="perma_status_gplus" id="perma_status_gplus"'+i+' /><label \
for="perma_status_gplus">'+a.services.gplus.display_name+"</label>"));h.find("span.settings").css("cursor","pointer");
 +b(h.find("span.settings"),d).live("mouseenter",function(){var \
a=window.setTimeout(function(){h.find(".settings_info_menu").removeClass("off").addCla \
ss("on")},500);b(this).data("timeout_id",a)});b(h,d).live("mouseleave",function(){var \
a=b(this).data("timeout_id");window.clearTimeout(a);h.find(".settings_info_menu").removeClass("on").addClass("off")});b(h.find("fieldset \
input")).live("click",function(c){var \
e=c.target.id,g="socialSharePrivacy_"+e.substr(e.lastIndexOf("_")+1,e.length);if(b("#"+c.target.id+
 +":checked").length){var c=a.cookie_expires,h=a.cookie_path,f=a.cookie_domain,i=new \
Date;i.setTime(i.getTime()+c*864E5);document.cookie=g+"=perma_on; \
expires="+i.toUTCString()+"; path="+h+"; domain="+f;b("form fieldset \
label[for="+e+"]",d).addClass("checked")}else{c=a.cookie_path;h=a.cookie_domain;f=new \
Date;f.setTime(f.getTime()-100);document.cookie=g+"=perma_on; \
expires="+f.toUTCString()+"; path="+c+"; domain="+h;b("form fieldset \
label[for="+e+"]",d).removeClass("checked")}});f&&c&&"perma_on"=== \
+e.socialSharePrivacy_facebook&&b("li.facebook \
span.switch",d).click();j&&g&&"perma_on"===e.socialSharePrivacy_twitter&&b("li.twitter \
span.switch",d).click();n&&o&&"perma_on"===e.socialSharePrivacy_gplus&&b("li.gplus \
                span.switch",d).click()}})}})(jQuery);
diff --git a/kolab.org/www/drupal-7.18/sites/all/libraries/socialshareprivacy/socialshareprivacy/images/2-klick-logo.jpg \
b/kolab.org/www/drupal-7.18/sites/all/libraries/socialshareprivacy/socialshareprivacy/images/2-klick-logo.jpg
 new file mode 100644
index 0000000..a6d0c71
Binary files /dev/null and \
b/kolab.org/www/drupal-7.18/sites/all/libraries/socialshareprivacy/socialshareprivacy/images/2-klick-logo.jpg \
                differ
diff --git a/kolab.org/www/drupal-7.18/sites/all/libraries/socialshareprivacy/socialshareprivacy/images/dummy_facebook.png \
b/kolab.org/www/drupal-7.18/sites/all/libraries/socialshareprivacy/socialshareprivacy/images/dummy_facebook.png
 new file mode 100644
index 0000000..3e5b651
Binary files /dev/null and \
b/kolab.org/www/drupal-7.18/sites/all/libraries/socialshareprivacy/socialshareprivacy/images/dummy_facebook.png \
                differ
diff --git a/kolab.org/www/drupal-7.18/sites/all/libraries/socialshareprivacy/socialshareprivacy/images/dummy_facebook_en.png \
b/kolab.org/www/drupal-7.18/sites/all/libraries/socialshareprivacy/socialshareprivacy/images/dummy_facebook_en.png
 new file mode 100644
index 0000000..ec8344c
Binary files /dev/null and \
b/kolab.org/www/drupal-7.18/sites/all/libraries/socialshareprivacy/socialshareprivacy/images/dummy_facebook_en.png \
                differ
diff --git a/kolab.org/www/drupal-7.18/sites/all/libraries/socialshareprivacy/socialshareprivacy/images/dummy_gplus.png \
b/kolab.org/www/drupal-7.18/sites/all/libraries/socialshareprivacy/socialshareprivacy/images/dummy_gplus.png
 new file mode 100644
index 0000000..37e5cec
Binary files /dev/null and \
b/kolab.org/www/drupal-7.18/sites/all/libraries/socialshareprivacy/socialshareprivacy/images/dummy_gplus.png \
                differ
diff --git a/kolab.org/www/drupal-7.18/sites/all/libraries/socialshareprivacy/socialshareprivacy/images/dummy_gplus_alt.png \
b/kolab.org/www/drupal-7.18/sites/all/libraries/socialshareprivacy/socialshareprivacy/images/dummy_gplus_alt.png
 new file mode 100644
index 0000000..504dca7
Binary files /dev/null and \
b/kolab.org/www/drupal-7.18/sites/all/libraries/socialshareprivacy/socialshareprivacy/images/dummy_gplus_alt.png \
                differ
diff --git a/kolab.org/www/drupal-7.18/sites/all/libraries/socialshareprivacy/socialshareprivacy/images/dummy_twitter.png \
b/kolab.org/www/drupal-7.18/sites/all/libraries/socialshareprivacy/socialshareprivacy/images/dummy_twitter.png
 new file mode 100644
index 0000000..bfca32d
Binary files /dev/null and \
b/kolab.org/www/drupal-7.18/sites/all/libraries/socialshareprivacy/socialshareprivacy/images/dummy_twitter.png \
                differ
diff --git a/kolab.org/www/drupal-7.18/sites/all/libraries/socialshareprivacy/socialshareprivacy/images/settings.png \
b/kolab.org/www/drupal-7.18/sites/all/libraries/socialshareprivacy/socialshareprivacy/images/settings.png
 new file mode 100644
index 0000000..3016b7b
Binary files /dev/null and \
b/kolab.org/www/drupal-7.18/sites/all/libraries/socialshareprivacy/socialshareprivacy/images/settings.png \
                differ
diff --git a/kolab.org/www/drupal-7.18/sites/all/libraries/socialshareprivacy/socialshareprivacy/images/socialshareprivacy_info.png \
b/kolab.org/www/drupal-7.18/sites/all/libraries/socialshareprivacy/socialshareprivacy/images/socialshareprivacy_info.png
 new file mode 100644
index 0000000..6d70570
Binary files /dev/null and \
b/kolab.org/www/drupal-7.18/sites/all/libraries/socialshareprivacy/socialshareprivacy/images/socialshareprivacy_info.png \
                differ
diff --git a/kolab.org/www/drupal-7.18/sites/all/libraries/socialshareprivacy/socialshareprivacy/images/socialshareprivacy_on_off.png \
b/kolab.org/www/drupal-7.18/sites/all/libraries/socialshareprivacy/socialshareprivacy/images/socialshareprivacy_on_off.png
 new file mode 100644
index 0000000..8e9e725
Binary files /dev/null and \
b/kolab.org/www/drupal-7.18/sites/all/libraries/socialshareprivacy/socialshareprivacy/images/socialshareprivacy_on_off.png \
                differ
diff --git a/kolab.org/www/drupal-7.18/sites/all/libraries/socialshareprivacy/socialshareprivacy/socialshareprivacy.css \
b/kolab.org/www/drupal-7.18/sites/all/libraries/socialshareprivacy/socialshareprivacy/socialshareprivacy.css
 new file mode 100644
index 0000000..e313226
--- /dev/null
+++ b/kolab.org/www/drupal-7.18/sites/all/libraries/socialshareprivacy/socialshareprivacy/socialshareprivacy.css
 @@ -0,0 +1,226 @@
+.social_share_privacy_area {
+    clear: both;
+    margin: 20px 0 !important;
+	list-style-type: none;
+	padding: 0 !important;
+	width: auto;
+	height: 25px;
+	display: block;
+}
+.social_share_privacy_area li {
+	margin: 0 !important;
+	padding: 0 !important;
+	height: 21px;
+	float: left;
+}
+.social_share_privacy_area li .dummy_btn {
+    float: left;
+    margin: 0 0 0 10px;
+    cursor: pointer;
+    padding: 0;
+    height: inherit;
+}
+.social_share_privacy_area li div iframe {
+    overflow: hidden;
+    height: inherit;
+    width: inherit;
+}
+/* Facebook begin */
+.social_share_privacy_area .facebook {
+    width: 180px;
+    display: inline-block;
+}
+.social_share_privacy_area .facebook .fb_like iframe {
+    width: 145px;
+}
+/* Facebook end */
+/* Twitter begin */
+.social_share_privacy_area .twitter {
+	width: 148px;
+}
+.social_share_privacy_area li div.tweet {
+	width: 115px;
+}
+/* Twitter end */
+/* Google+ begin */
+.social_share_privacy_area .gplus {
+	width: 123px;
+}
+.social_share_privacy_area li div.gplusone {
+	width: 90px;
+}
+/* Google+ end */
+/* Switch begin */
+.social_share_privacy_area li .switch {
+    display: inline-block;
+    text-indent: -9999em;
+    background: transparent url(images/socialshareprivacy_on_off.png) no-repeat 0 0 \
scroll; +    width: 23px;
+    height: 12px;
+    overflow: hidden;
+    float: left;
+    margin: 4px 0 0;
+    padding: 0;
+    cursor: pointer;
+}
+.social_share_privacy_area li .switch.on {
+    background-position: 0 -12px; 
+}
+/* Switch end */
+/* Tooltips begin */
+.social_share_privacy_area li.help_info {
+    position: relative; 
+}
+.social_share_privacy_area li.help_info .info, 
+.social_share_privacy_area li .help_info.icon .info {
+    display: none;
+    position: absolute;
+    bottom: 40px;
+    left: 0;
+    width: 290px;
+    padding: 10px 15px;
+    margin: 0;
+    font-size: 12px;
+    line-height: 16px;
+    font-weight: bold;
+    border: 1px solid #ccc;
+    -moz-border-radius: 4px;
+    -webkit-border-radius: 4px;
+    border-radius: 4px;
+    -moz-box-shadow: 0 3px 4px #999;
+    -webkit-box-shadow: 0 3px 4px #999;
+    box-shadow: 0 3px 4px #999;
+    background-color: #fdfbec;
+    color: #000;
+    z-index: 500;
+}
+.social_share_privacy_area li.gplus.help_info .info {
+    left: -60px;
+}
+.social_share_privacy_area li .help_info.icon .info {
+    left: -243px;
+    width: 350px;
+}
+.social_share_privacy_area li.help_info.display .info, 
+.social_share_privacy_area li .help_info.icon.display .info {
+    display: block;
+}
+.social_share_privacy_area li.help_info.info_off.display .info {
+    display: none;
+}
+.social_share_privacy_area li .help_info.icon {
+    background: #fff url(images/socialshareprivacy_info.png) no-repeat center center \
scroll; +    width: 25px;
+    height: 20px;
+    position: relative;
+    display: inline-block;
+	vertical-align: top;
+	border: 2px solid #e7e3e3;
+	border-right-width: 0;
+	-moz-border-radius: 5px 0 0 5px;
+	-webkit-border-radius: 5px 0 0 5px;
+	border-radius: 5px 0 0 5px;
+    margin: 0;
+    padding: 0;
+}
+.social_share_privacy_area li.settings_info .settings_info_menu.on .help_info.icon {
+	border-top-width: 0;
+	border-left-width: 0;
+}
+.social_share_privacy_area li.settings_info .settings_info_menu.perma_option_off \
.help_info.icon { +	border-right-width: 2px;
+	-moz-border-radius: 5px;
+	-webkit-border-radius: 5px;
+	border-radius: 5px;
+}
+/* Tooltips end */
+/* Settings/Info begin */
+.social_share_privacy_area li.settings_info {
+	position: relative;
+	top: -2px;
+}
+.social_share_privacy_area li.settings_info a {
+	text-decoration: none;
+	margin: 0 !important;
+}
+.social_share_privacy_area li.settings_info .settings_info_menu {
+    background-color: #f3f4f5;
+    border: 2px solid #e7e3e3;
+	-moz-border-radius: 5px;
+	-webkit-border-radius: 5px;
+    border-radius: 5px;
+	-moz-box-shadow: 2px 2px 3px #c1c1c1;
+	-webkit-box-shadow: 2px 2px 3px #c1c1c1;
+    box-shadow: 3px 3px 3px #c1c1c1;
+    left: 0;
+    position: absolute;
+    top: 0;
+    width: 135px;
+    z-index: 1000;
+    margin: 0;
+    padding: 0;
+}
+.social_share_privacy_area li.settings_info .settings_info_menu.off {
+	border-width: 0;
+	-moz-box-shadow: none;
+	-webkit-box-shadow: none;
+	box-shadow: none;
+	background-color: transparent;
+}
+.social_share_privacy_area li.settings_info .settings_info_menu.off form {
+	display: none;
+	margin: 0;
+	padding: 0;
+}
+.social_share_privacy_area li.settings_info .settings_info_menu .settings {
+	text-indent: -9999em;
+	display: inline-block;
+	background: #fff url(images/settings.png) no-repeat center center scroll;
+	width: 25px;
+	height: 20px;
+	border: 2px solid #e7e3e3;
+	-moz-border-radius: 0 5px 5px 0;
+	-webkit-border-radius: 0 5px 5px 0;
+	border-radius: 0 5px 5px 0;
+	border-left: 1px solid #ddd;
+	margin: 0;
+	padding: 0;
+}
+.social_share_privacy_area li.settings_info .settings_info_menu.on .settings {
+	border-top-width: 0;
+}
+.social_share_privacy_area li.settings_info .settings_info_menu form fieldset {
+    border-width: 0;
+    margin: 0;
+    padding: 0 10px 10px;
+}
+.social_share_privacy_area li.settings_info .settings_info_menu form fieldset legend \
{ +    font-size: 11px;
+    font-weight: bold;
+    line-height: 14px;
+    margin: 0;
+    padding: 10px 0;
+	width: 115px;
+}
+.social_share_privacy_area li.settings_info .settings_info_menu form fieldset input \
{ +	clear: both;
+    float: left;
+    margin: 4px 10px 4px 0;
+    padding: 0;
+}
+.social_share_privacy_area li.settings_info .settings_info_menu form fieldset label \
{ +    display: inline-block;
+    float: left;
+    font-size: 12px;
+    font-weight: bold;
+    line-height: 24px;
+	-moz-transition: color .5s ease-in;
+	-webkit-transition: color .5s ease-in;
+	transition: color .5s ease-in;
+	margin: 0;
+	padding: 0;
+}
+.social_share_privacy_area li.settings_info .settings_info_menu form fieldset \
label.checked { +	color: #090;
+}
+/* Settings/Info end */
\ No newline at end of file



_______________________________________________
kolab-commits mailing list
kolab-commits@kolab.org
https://www.intevation.de/mailman/listinfo/kolab-commits

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic