friendsofredaxo / consent_manager Goto Github PK
View Code? Open in Web Editor NEWStellt ein Opt-In Cookie Banner zur Verfügung
License: MIT License
Stellt ein Opt-In Cookie Banner zur Verfügung
License: MIT License
Hi, ich entwickle zur Zeit eine Redaxo-Webseite, die DE/EN unterstützt.
Die Konfiguration/Einrichtung/Anzeige des AddOns für DE ist problemlos.
Für EN treten jedoch eine Ungereimheiten auf, die wohl so nicht gedacht waren. Gerne lasse ich mich aber auch eines besseren belehren.
versus
Damit kann dann auch für clang=2 nichts im Cookiebanner angezeigt werden.
und
während in EN tatsächlich nur die für die Sprache relevanten Einträge gezeigt werden:
und
Viele Grüße, Roland
Es gibt eine Hauptdomains und eine Domain die auf die Hauptdomain weiterleitet, wenn ich jetzt von der Domain komme, die auf die Hauptdomain verweist, und den Cookiebanner akzeptiere wird die Seite nicht mehr angezeigt und Fehlerseite 403 angezeigt.
Man kann eine Cookie Gruppe nicht an mehrere Domains zuweisen sondern jeweils nur an eine.
Es sollte eine MultiauswahlBox bei "Domain" stehen.
Matomo-Cookies
https://matomo.org/faq/general/faq_146/
Ich hatte eben den Fall, dass mit dem Upgrade von 1.0.8 auf 1.0.9 die neuen Textfelder für die beiden Buttons "button_select_all" und "button_accept" nicht in der DB (Tabelle rex_iwcc_text) angelegt wurden. Grundlage war die 1.0.9 aus github. Ich habe mir beholfen, in dem ich die Felder händisch in der DB angelegt habe. Sollte jedoch bei ReInstall automatisch funktionieren.
Um die Ausgabe in Modulen zu steuern könnte das REX-Var hilfreich sein.
Eingebundener Code könnte erst ausgegeben werden, wenn dem Cookie zugestimmt wurde.
Beispiel:
REX_IWCC[id=1 group=google]
Es wäre schön, wenn man Cookie Gruppen auf einer Multidomain Seite für mehrere oder gar alle Domains gleichzeitig nutzen könnte.
Da jetzt Cookie consent archiviert wurde (gab es dazu eine Abstimmung?), könnte man dann hier den Namen Gedöns loswerden und eventuell auch das Präfix iw für Ingo Winter?
Ideal wäre es wenn man unter "Cookie Texte" auch den Text dieser 2 Buttons eingegeben könnte ...
Moin Ingo!
Eine Frage zu iwcc…
Ich habe da eine kleine Fehlermeldung:
Deprecated: Non-static method iwcc_frontend::getFragment() should not be called statically in rex:///template/4 on line 56
Da steht nur "REX_IWCC[]", sonst nix. Was mache ich falsch?
Danke :-)
"Indentation problem" beim speichern eines Cookies
Generell jetzt überall, wo man "Speichern" kann.
Aufgrund der pid als auto-increment-Wert und eines weiteren id-Feldes, lässt sich die Tabelle nicht mit yform bearbeiten um so z.B. schnell Cookies zu importieren. Gibt es eine andere Möglichkeit dazu, um nicht bei jeder neuen Installation die Cookies per Hand einzutragen?
Vorschlag: Am besten als Pflichtfeld validieren
Hallo, iwcc führt zu einem Schriftkonflikt mit Fonts wie Font-Awesome oder Line-Icons.
In der fontello.css wird die Klasse "icon-" behandelt. Dieser Klassenname wird häufiger benutzt. Es wäre also gut die Iconklasse bei iwcc spezifischer zu machen, z.B. "iwccicon-"
fontello.css, Zeile 25
[class^="icon-"]::before, [class*=" icon-"]::before {
Gruß Heinz
Es wäre glaube ich besser, wenn der Code am Dienst hinterlegt wird (z.B. google-analytics), statt an der Cookie-Gruppe - denn am Dienst ist ja auch die logische Zugehörigkeit.
Reinstallation des Addons scheitert wegen install.sql
Gesetzte Cookies werden nach Abwahl (Einstellungen bearbeiten) nicht entfernt.
Aus der Readme
Pro Gruppe können Skripte hinterlegt werden, die nach Akzeptieren der Gruppe ausgeführt werden.
Sind das Skripte die
Wenn 2. zutrifft, wo erscheinen die Skripte im Quelltext?
Einen Dialog für die Datenschutzbestimmungen anbieten
Datenbankfehler beim Installieren / Deinstalieren / Reinstallieren
/assets/addons/iwcc/iwcc_backend.js
wird nicht gefunden
Wie kann man abfragen
Nicht eingewilligten Cookies sollte man im Nachhinein noch zustimmen können, bspw. über eine 2-Klick-Lösung. Zufällig hatte ich da ja was angefangen...
In Sprog wird für öffnendes/schließendes Tag per Standard "{{ " und " }}" verwendet. Wird dieses Tag in einer Cookie Definition verwendet kommt folgender fatal error:
rex_yaml_parse_exception: Malformed inline YAML string: {{ iwcc_cookies_iwcc_cookie_iwcc }} at line 4 (near "desc: {{ iwcc_cookies_iwcc_cookie_iwcc }}").
File: redaxo/src/core/lib/util/string.php
Line: 148
Function | File | Line |
---|---|---|
rex_string::yamlDecode | redaxo/src/addons/iwcc/lib/iwcc_cache.php | 87 |
iwcc_cache->prepareData | redaxo/src/addons/iwcc/lib/iwcc_cache.php | 32 |
iwcc_cache->writeCache | redaxo/src/addons/iwcc/lib/iwcc_cache.php | 24 |
iwcc_cache::write | redaxo/src/core/lib/extension.php | 45 |
rex_extension::registerPoint | redaxo/src/core/lib/form/form.php | 369 |
rex_form->save | redaxo/src/core/lib/form/form_base.php | 1151 |
rex_form_base->get | redaxo/src/addons/iwcc/pages/cookie.php | 56 |
include | redaxo/src/core/lib/packages/package.php | 245 |
rex_package->includeFile | redaxo/src/core/lib/be/controller.php | 471 |
rex_be_controller::includePath | redaxo/src/core/lib/be/controller.php | 428 |
rex_be_controller::includeCurrentPageSubPath | redaxo/src/addons/iwcc/pages/index.php | 8 |
include | redaxo/src/core/lib/packages/package.php | 245 |
rex_package->includeFile | redaxo/src/core/lib/be/controller.php | 471 |
rex_be_controller::includePath | redaxo/src/core/lib/be/controller.php | 413 |
rex_be_controller::includeCurrentPage | redaxo/src/core/backend.php | 216 |
require | redaxo/src/core/boot.php | 137 |
require | redaxo/index.php | 9 |
REDAXO | |
---|---|
Version | 5.10.0 |
PHP | |
---|---|
Version | 7.3.11-nmm1 |
OPcache | no |
Xdebug | no |
Database | |
---|---|
Version | MySQL 5.6.44 |
Character set | utf8 |
Server | |
---|---|
OS | Linux |
SAPI | fpm-fcgi |
Webserver | Apache |
Request | |
---|---|
Browser | Firefox/74.0 |
Protocol | HTTP/1.1 |
HTTPS | yes |
Packages | |
---|---|
accessdenied | 1.0.6 |
be_style | 2.10.0 |
be_style/customizer | 2.10.0 |
be_style/redaxo | 2.10.0 |
cookie_consent | 3.0.0-beta3 |
cronjob | 2.7.0 |
d2u_address | 1.1.2 |
d2u_helper | 1.6.2 |
d2u_helper/translation_helper | 1.6.1 |
d2u_history | 1.0.0 |
d2u_jobs | 1.1.0 |
d2u_jobs/hr4you_import | 1.1.0 |
d2u_linkbox | 1.2.3 |
d2u_machinery | 1.3.2 |
d2u_machinery/industry_sectors | 1.3.2 |
d2u_machinery/machine_features_extension | 1.3.2 |
d2u_machinery/machine_steel_processing_extension | 1.3.2 |
d2u_machinery/used_machines | 1.3.2 |
d2u_news | 1.1.2 |
d2u_news/fairs | 1.1.2 |
d2u_partner | 1.0 |
d2u_references | 1.0.7 |
d2u_staff | 1.0.3 |
d2u_videos | 1.0.8 |
emailobfuscator | 3.0.0 |
install | 2.7.0 |
iwcc | 1.0.8 |
media_manager | 2.9.0 |
media_manager_autorewrite | 1.1.0 |
mediapool | 2.8.0 |
metainfo | 2.7.0 |
multinewsletter | 3.2.7 |
phpmailer | 2.8.0 |
search_it | 6.7.0 |
search_it/autocomplete | 6.7.0 |
search_it/documentation | 6.7.0 |
search_it/plaintext | 6.7.0 |
search_it/stats | 6.7.0 |
sprog | 1.2.0 |
structure | 2.10.0 |
structure/content | 2.10.0 |
tinymce4 | 1.2.1 |
uploader | 2.0.5 |
url | 2.0.0-beta3 |
users | 2.6.1 |
ycom | 4.0.1 |
ycom/auth | 4.0.1 |
ycom/docs | 4.0.1 |
ycom/group | 4.0.1 |
ycom/media_auth | 4.0.1 |
yform | 3.3.1 |
yform/docs | 3.3.1 |
yform/email | 3.3.1 |
yform/manager | 3.3.1 |
yrewrite | 2.6 |
yrewrite_scheme | 3.2.1 |
Warning: Invalid argument supplied for foreach() in src/addons/iwcc/lib/iwcc_frontend.php on line 24
Vorweg erst einmal vielen DANK für das tolle Addon !!!
Ich hab es nun erstmalig auf einer Webseite mit 3 Sprachen eingesetzt.
Es läßt sich ja alles super ersetzen, aber ich habe für nachfolgende 2 Buttons und das Wort Impressum bisher keine Möglichkeit gefunden.
< a class="iwcc-save-selection iwcc-close" >Auswahl bestätigen< /a >
< a class="iwcc-accept-all iwcc-close" >Alle auswählen< /a >
Und der Link-Text: Impressum
Habe ich da was übersehen oder kann man das ggf. noch editierbar machen ?
Ich hoffe ich kann mit solchen Hinweisen die Entwicklung zumindest etwas unterstützen.
Liebe Grüße und bleibt gesund
Mirco
Hallo,
ich nutze das "Cookie-Gedöns" für eine Webseite mit drei Sprachen, 98% der Texte lassen sich im AddOn übersetzen nur die zwei Button "Auswahl bestätigen" "Alle auswählen" lassen sich nicht übersetzen, ich hab es mit Platzhalter (Sprog) im der iwcc_box.php hat aber leider auch nicht geklappt.
Gruß
Jochen
Jetzt müsste man an noch einer weiteren Stelle die Domains pflegen, was bei einer Multidomainseite recht aufwendig werden kann. Sobald yrewrite dabei ist, könnte man von dort die Domains verwenden und als Fallback die unter System hinterlegte.
Unsere Datenschutzerklärung enthält auch den Punkt "Aktuell gesetzte Cookies" um den Besucher zu informieren, welche Cookies derzeit von der Website gesetzt sind. Über folgendes Fragment lässt sich das mit der Cookie-Datenbank von iwcc verknüpfen.
Wäre das eine wünschenswerte Ergänzung?
<?php
$iwcc = new iwcc_frontend($this->getVar('forceCache'));
$iwcc->setDomain($_SERVER['HTTP_HOST']);
if ($this->getVar('debug'))
{
print_r($_COOKIE);
}
if ($iwcc->cookiegroups) {
$cookieDatabase = array();
foreach ($iwcc->cookiegroups as $cookiegroup)
{
foreach ($cookiegroup['cookie'] as $cookie)
{
$cookieDatabase[$cookie['cookie_name']]=array(
"service_name"=>$cookie['service_name'],
"provider"=>$cookie['provider'],
"category"=>$cookiegroup['name'],
"required"=>$cookiegroup['required'],
"lifetime"=>$cookie['cookie_lifetime'],
"description"=>$cookie['description']
);
}
}
$outputDatabase = '<table class="cookieInfoTable uk-table">';
$outputDatabase .= '<tr>
<th class="cookieName">Cookie-Name</th>
<th class="cookieService">Service</th>
<th class="cookieProvider">'. $iwcc->texts['provider'] .'</th>
<th class="cookieLifetime">'. $iwcc->texts['lifetime'] .'</th>
<th class="cookieDescription">Verwendungszweck</th>
<th class="cookieCategory">Kategorie</th>
<th class="cookieValue">Wert</th>
<th class="cookieDelete"> </th>
</tr>';
foreach ($_COOKIE as $cookieName => $cookieValue)
{
$outputDatabase .= '<tr>';
$outputDatabase .= '<td class="cookieName">'. $cookieName .'</td>';
if (isset($cookieDatabase[$cookieName]) || array_key_exists($cookieName, $cookieDatabase))
{
$outputDatabase .= '<td class="cookieService">'. $cookieDatabase[$cookieName]['service_name'] .'</td>';
$outputDatabase .= '<td class="cookieProvider">'. $cookieDatabase[$cookieName]['provider'] .'</td>';
$outputDatabase .= '<td class="cookieLifetime">'. $cookieDatabase[$cookieName]['lifetime'] .'</td>';
$outputDatabase .= '<td class="cookieDescription">'. $cookieDatabase[$cookieName]['description'] .'</td>';
$outputDatabase .= '<td class="cookieCategory">'. $cookieDatabase[$cookieName]['category'] .'</td>';
$outputDatabase .= '<td class="cookieValue">'. $cookieValue .'</td>';
if (!$cookieDatabase[$cookieName]['required'])
{
$outputDatabase .= '<td class="cookieDelete"><a href="javascript:Cookies.remove(\''. $cookieName .'\', { path: \'/\' });Cookies.remove(\''. $cookieName .'\', { path: \'/\', domain: \''.str_replace('www','',$_SERVER['HTTP_HOST']).'\' })"><span>X</span></a></td>';
}
else
{
$outputDatabase .= '<td></td>';
}
}
else
{
$outputDatabase .= '<td colspan="6">Keine Informationen vorhanden</td>';
}
$outputDatabase .= '</tr>';
}
$outputDatabase .= '</table>';
echo $outputDatabase;
}
So sieht's aus:
Moin,
vielleicht eher eine kleine kosmetische Sache, vermutlich läuft auch kaum jemand rein, aber spricht etwas dagegen das Ersetzen des Platzhalters REX_IWCC[]
nochmal auf aktiviertes Addon zu validieren?
Habe den Cookie Hinweis gerade bei einem Kunden vorbereitet und anschließend das Addon deaktiviert und es hat etwas geknallt. Hab es jetzt im Template abgefangen, aber dann geht es weiter und iwcc_frontend.js
schmeißt den nächsten Fehler, weil das Template Script nicht gefunden werden kann.
Skripte, die nach Einverständnis geladen werden
Wird das Skript nur einmalig nach dem Einverständnis geladen oder immer sofern das Cookie noch gesetzt ist?
Hintergrund ist, dass das Javascript nicht erscheint. Sollte man daher das Matomo Skript selbst in das Template notieren? Wie ist eure Erfahrung?
Die Felder Name/Laufzeit/Beschreibung werden durch eine einzelne Textarea "Cookie Definitionen" ersetzt, die YAML erwartet:
-
name: _ga
time: 2 Jahre
desc: Speichert für jeden Besucher der Website eine anonyme ID. Anhand der ID können Seitenaufrufe einem Besucher zugeordnet werden.
-
name: _gat
time: 1 Tag
desc: Verhindert, dass in zu schneller Folge Daten an den Analytics Server übertragen werden.
-
name: _gid
time: 1 Tag
desc: Speichert für jeden Besucher der Website eine anonyme ID. Anhand der ID können Seitenaufrufe einem Besucher zugeordnet werden.
Damit sind sämtliche Cookies für einen Dienst in einem Datensatz vorhanden, die Eingabe geht schneller und die Liste wird übersichtlicher.
Wenn man eine Domain falsch einträgt, z.B. mit http://, erscheint folgender Hinweis, den man noch mit einem Text hinterlegen müsste:
[translate:iwcc_hostname_malformed_msg]
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.