Added cookie policy page
authorMarcel Werk <burntime@woltlab.com>
Thu, 29 May 2014 18:32:49 +0000 (20:32 +0200)
committerMarcel Werk <burntime@woltlab.com>
Thu, 29 May 2014 18:32:49 +0000 (20:32 +0200)
com.woltlab.wcf/option.xml
com.woltlab.wcf/templates/cookiePolicy.tpl [new file with mode: 0644]
com.woltlab.wcf/templates/userNotice.tpl
wcfsetup/install/files/lib/page/CookiePolicyPage.class.php [new file with mode: 0644]
wcfsetup/install/files/lib/system/session/SessionHandler.class.php
wcfsetup/install/lang/de.xml
wcfsetup/install/lang/en.xml

index d9a633e36e7fc1fcd5ed0aafb50154489886f4ab..1f8eee1435b859b706c74c7cc89297a9030f6660 100644 (file)
                                <defaultvalue>1</defaultvalue>
                        </option>
                        
+                       <option name="module_cookie_policy_page">
+                               <categoryname>module.system</categoryname>
+                               <optiontype>boolean</optiontype>
+                               <defaultvalue>1</defaultvalue>
+                       </option>
+                       
                        <option name="module_attachment">
                                <categoryname>module.content</categoryname>
                                <optiontype>boolean</optiontype>
diff --git a/com.woltlab.wcf/templates/cookiePolicy.tpl b/com.woltlab.wcf/templates/cookiePolicy.tpl
new file mode 100644 (file)
index 0000000..57b8c6d
--- /dev/null
@@ -0,0 +1,52 @@
+{include file='documentHeader'}
+
+<head>
+       <title>{lang}wcf.page.cookiePolicy{/lang} - {PAGE_TITLE|language}</title>
+       
+       {include file='headInclude'}
+</head>
+
+<body id="tpl{$templateName|ucfirst}">
+
+{include file='header'}
+
+<header class="boxHeadline">
+       <h1>{lang}wcf.page.cookiePolicy{/lang}</h1>
+</header>
+
+{include file='userNotice'}
+
+<div class="contentNavigation">
+       {hascontent}
+               <nav>
+                       <ul>
+                               {content}
+                                       {event name='contentNavigationButtonsTop'}
+                               {/content}
+                       </ul>
+               </nav>
+       {/hascontent}
+</div>
+
+<div class="container containerPadding marginTop htmlContent">
+       {lang}wcf.page.cookiePolicy.text{/lang}
+       
+       {event name='fieldsets'}
+</div>
+       
+<div class="contentNavigation">
+       {hascontent}
+               <nav>
+                       <ul>
+                               {content}
+                                       {event name='contentNavigationButtonsBottom'}
+                               {/content}
+                       </ul>
+               </nav>
+       {/hascontent}
+</div>
+
+{include file='footer'}
+
+</body>
+</html>
index a4ba26f6a9f1fe4ec5cb39d483b7cc160270b4c4..00aa085e09d217233826a06d23a6400162988bad 100644 (file)
@@ -6,6 +6,10 @@
                </div>
        {/if}
        
+       {if MODULE_COOKIE_POLICY_PAGE && $__wcf->session->isFirstVisit() && !$__wcf->user->userID}
+               <p class="info">{lang}wcf.page.cookiePolicy.info{/lang}</p>
+       {/if}
+       
        {if $__wcf->session->getPermission('admin.system.package.canUpdatePackage') && $__wcf->getAvailableUpdates()}
                <p class="info">{lang}wcf.global.availableUpdates{/lang}</p>
        {/if}
diff --git a/wcfsetup/install/files/lib/page/CookiePolicyPage.class.php b/wcfsetup/install/files/lib/page/CookiePolicyPage.class.php
new file mode 100644 (file)
index 0000000..3c08da1
--- /dev/null
@@ -0,0 +1,19 @@
+<?php
+namespace wcf\page;
+
+/**
+ * Show the cookie policy.
+ *
+ * @author     Marcel Werk
+ * @copyright  2001-2014 WoltLab GmbH
+ * @license    GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
+ * @package    com.woltlab.wcf
+ * @subpackage page
+ * @category   Community Framework
+ */
+class CookiePolicyPage extends AbstractPage {
+       /**
+        * @see \wcf\page\AbstractPage::$neededModules
+        */
+       public $neededModules = array('MODULE_COOKIE_POLICY_PAGE');
+}
index 99aaf6ae0d638b401a6e04d3dbd95bf1ffd3f0a3..e87bbe66a0f7818e48a7132ee7e62004b12dea5d 100644 (file)
@@ -121,6 +121,12 @@ class SessionHandler extends SingletonFactory {
         */
        protected $virtualSession = false;
        
+       /**
+        * true, if this is a new session
+        * @var boolean
+        */
+       protected $firstVisit = false;
+       
        /**
         * Provides access to session data.
         * 
@@ -444,6 +450,7 @@ class SessionHandler extends SingletonFactory {
                        
                        if ($spiderID !== null) $sessionData['spiderID'] = $spiderID;
                        $this->session = call_user_func(array($this->sessionEditorClassName, 'create'), $sessionData);
+                       $this->firstVisit = true;
                        $this->loadVirtualSession(true);
                }
        }
@@ -898,4 +905,13 @@ class SessionHandler extends SingletonFactory {
                
                return null;
        }
+       
+       /**
+        * Returns true, if this is a new session.
+        *
+        * @return      boolean
+        */
+       public function isFirstVisit() {
+               return $this->firstVisit;
+       }
 }
index e0b849831ee1d0de227f15ee9624f9809f1e40e6..e97c0622dff7a652373b1c0a0034c13676d117db 100644 (file)
@@ -925,6 +925,8 @@ GmbH=Gesellschaft mit beschränkter Haftung]]></item>
                <item name="wcf.acp.option.google_maps_default_longitude"><![CDATA[Standard-Kartenposition (Längengrad)]]></item>
                <item name="wcf.acp.option.message_sidebar_enable_user_online_marking"><![CDATA[„Benutzer online“-Darstellung für Benutzernamen verwenden]]></item>
                <item name="wcf.acp.option.module_privacy_policy_page"><![CDATA[Datenschutzerklärung aktivieren]]></item>
+               <item name="wcf.acp.option.module_cookie_policy_page"><![CDATA[Erklärung zum „Einsatz von Cookies“ aktivieren]]></item>
+               <item name="wcf.acp.option.module_cookie_policy_page.description"><![CDATA[Weist Besucher beim ersten Aufruf der Seite gemäß EU-Richtlinie 2009/136/EG auf den Einsatz von Cookies hin.]]></item>
        </category>
        
        <category name="wcf.acp.package">
@@ -2154,6 +2156,30 @@ Fehler sind beispielsweise:
 
 <p><small><em>Quellenangaben: <a rel="nofollow" href="http://www.e-recht24.de/muster-datenschutzerklaerung.html" target="_blank">eRecht24</a>, <a rel="nofollow" href="http://www.e-recht24.de/artikel/datenschutz/6590-facebook-like-button-datenschutz-disclaimer.html" target="_blank">Facebook-Disclaimer von eRecht24</a>, <a rel="nofollow" href="http://www.google.com/intl/de/+/policy/+1button.html" target="_blank">Google +1 Bedingungen</a>, <a rel="nofollow" href="http://twitter.com/privacy" target="_blank">Datenschutzerklärung Twitter</a></em></small></p>]]></item>
                
+               <item name="wcf.page.cookiePolicy.info"><![CDATA[Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. <a href="{link controller='CookiePolicy'}{/link}">Weitere Informationen</a>]]></item>
+               <item name="wcf.page.cookiePolicy"><![CDATA[Einsatz von Cookies]]></item>
+               <item name="wcf.page.cookiePolicy.text"><![CDATA[<p>Wie viele Internetseiten nutzt auch diese Seite Cookies. An dieser Stelle wird erklärt was Cookies sind und wie sie genutzt werden.</p>
+               
+<h2>Was sind Cookies</h2>
+<p>Cookies sind kleine Dateien, die beim Aufruf von Internetseiten durch den Internet Browser auf Ihrem lokalen Rechner gespeichert werden. In den Dateien speichern Internetseiten verschiedene Informationen, um die Nutzung von besuchten Internetseiten für Sie komfortabler zu gestalten. Oftmals wird in Cookies z.B. Ihr Login gespeichert, um Sie bei einem späteren Besuch der Internetseite automatisch anzumelden, ohne dass Sie Ihre Zugangsdaten noch einmal manuell eingeben müssen.</p>
+
+<h2>Wie wir Cookies nutzen</h2>
+<p>Wir setzen Cookies für folgende Zwecke ein:</p>
+<ul>
+<li>Anmeldung: Bei der Anmeldung werden Ihre Zugangsdaten in verschlüsselter Form als Cookies gespeichert, um Sie bei einem späteren Seitenaufruf automatisiert anzumelden. Im Anmeldefenster können Sie mit der Option „Dauerhaft angemeldet bleiben“ festlegen, ob diese Cookies angelegt werden sollen.</li>
+<li>Sitzung: Beim ersten Aufruf unserer Seite wird eine neue Sitzung gestartet, diese wird durch ein eindeutiges Cookies Ihrem Computer zugeordnet. Sitzungen erlauben es, Sie zwischen zwei Seitenaufrufen wieder zu erkennen und Ihnen alle Funktionalitäten bereitstellen zu können. Es handelt sich um ein temporäres Cookies, dass beim Beenden des Internet Browsers automatisch gelöscht wird.</li>
+<li>Drittanbieter-Dienste: Die Einblendung von Werbeanzeigen oder das Teilen von Inhalten auf sozialen Netzwerken oder vergleichbaren Internetseiten kann die Erzeugung eines Cookies zur Folge haben. Diese Cookies werden nicht direkt von unserer Seite erzeugt, sondern durch den Drittanbieter selbst.</li>
+</ul>
+
+<h2>Wie Sie Cookies deaktivieren und entfernen</h2>    
+<p>Cookies können in den Einstellungen Ihres Internet Browsers verwaltet und entfernt werden. Darüber hinaus lässt sich in den Einstellungen das Speichern von Cookies zudem vollständig deaktivieren. Bitte entnehmen Sie der folgenden Auflistung die passende Anleitung für den Umgang mit Cookies zu dem von Ihnen genutzten Internet Browser.</p>
+<ul>
+<li><a href="https://support.google.com/chrome/answer/95647?hl=de" class="externalURL" rel="nofollow">Google Chrome</a></li>
+<li><a href="https://support.mozilla.org/de/kb/cookies-informationen-websites-auf-ihrem-computer" class="externalURL" rel="nofollow">Mozilla Firefox</a></li>
+<li><a href="http://help.opera.com/Windows/12.00/de/cookies.html" class="externalURL" rel="nofollow">Opera</a></li>
+<li><a href="http://support.apple.com/kb/ph11920" class="externalURL" rel="nofollow">Safari</a></li>
+<li><a href="http://windows.microsoft.com/de-DE/internet-explorer/delete-manage-cookies" class="externalURL" rel="nofollow">Windows Internet Explorer</a></li>
+</ul>]]></item>
                <item name="wcf.page.com.woltlab.wcf.AccountManagementForm"><![CDATA[Benutzerkonto-Verwaltung]]></item>
                <item name="wcf.page.com.woltlab.wcf.AvatarEditForm"><![CDATA[Avatar-Verwaltung]]></item>
                <item name="wcf.page.com.woltlab.wcf.DisclaimerForm"><![CDATA[Disclaimer]]></item>
index 35535a1087605c5eebe7cf01039454c5a0a2ff19..8670dc8f2cc24a9461d0072ca319c2c50a46efaa 100644 (file)
@@ -898,6 +898,8 @@ GmbH=Gesellschaft mit beschränkter Haftung]]></item>
                <item name="wcf.acp.option.google_maps_default_longitude"><![CDATA[Default Map Position (Longitude)]]></item>
                <item name="wcf.acp.option.message_sidebar_enable_user_online_marking"><![CDATA[TODO: „Benutzer online“-Darstellung für Benutzernamen verwenden]]></item>
                <item name="wcf.acp.option.module_privacy_policy_page"><![CDATA[TODO: Enable Privacy Policy page]]></item>
+               <item name="wcf.acp.option.module_cookie_policy_page"><![CDATA[TODO: Erklärung zum „Einsatz von Cookies“ aktivieren]]></item>
+               <item name="wcf.acp.option.module_cookie_policy_page.description"><![CDATA[TODO: Weist Besucher beim ersten Aufruf der Seite gemäß EU-Richtlinie 2009/136/EG auf den Einsatz von Cookies hin.]]></item>
        </category>
        
        <category name="wcf.acp.package">
@@ -2006,7 +2008,9 @@ Errors are:
                <item name="wcf.page.javascriptDisabled"><![CDATA[Your browser has JavaScript disabled. If you would like to use all features of this site, it is mandatory to enable JavaScript.]]></item>
                <item name="wcf.page.privacyPolicy"><![CDATA[Privacy Policy]]></item>
                <item name="wcf.page.privacyPolicy.text"><![CDATA[TODO]]></item>
-               
+               <item name="wcf.page.cookiePolicy.info"><![CDATA[TODO: Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. <a href="{link controller='CookiePolicy'}{/link}">Weitere Informationen</a>]]></item>
+               <item name="wcf.page.cookiePolicy"><![CDATA[TODO: Einsatz von Cookies]]></item>
+               <item name="wcf.page.cookiePolicy.text"><![CDATA[TODO]]></item>
                <item name="wcf.page.com.woltlab.wcf.AccountManagementForm"><![CDATA[Account Management]]></item>
                <item name="wcf.page.com.woltlab.wcf.AvatarEditForm"><![CDATA[Avatar Management]]></item>
                <item name="wcf.page.com.woltlab.wcf.DisclaimerForm"><![CDATA[Disclaimer]]></item>