Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: MODUL: OIL.js Cookie Consent Management

    hpzeller

    • Experte
    • Beiträge: 4.130
    • Geschlecht:
    Re: MODUL: OIL.js Cookie Consent Management
    Antwort #255 am: 12. Oktober 2020, 14:35:02
    Hallo Timm,

    ersetze im geposteten Code testweise folgende Codesequenz:

    Code: PHP  [Auswählen]
                    /**
                     * Strips single line Comments from the buffer
                     *
                     * @access private
                     * @param string $code Code string
                     * @return string
                     */

        private function _removeMultiLineAndSingleLineComments($code) {  
          if ($this->_options['compress_css'] == false) {
            $code = preg_replace('/(?:(?<!\:|\\\|\'|\")\/\/.*)/', '', $code);  // entfernt single line '//' comments. hpzeller
          }
          $code = preg_replace('/(?:\/\*(?:[^*]|(?:\*+[^*\/]))*\*+\/)/', '', $code); // entfernt multi line '/* */' comments. hpzeller        
          return $code;
        }

    mit dieser:

    Code: PHP  [Auswählen]
                    /**
                     * Strips single line  and  multi line Comments from the buffer
                     *
                     * @access private
                     * @param string $code Code string
                     * @return string
                     */

        private function _removeMultiLineAndSingleLineComments($code) {
          // Wegen https://www.modified-shop.org/forum/index.php?topic=41168.msg377654#msg377654
          // zuerst multi line '/* */' comments entfernen
          // und erst danach gegebenenfalls single line '//' comments entfernen.
          $code = preg_replace('/(?:\/\*(?:[^*]|(?:\*+[^*\/]))*\*+\/)/', '', $code); // entfernt multi line '/* */' comments. hpzeller      
          if ($this->_options['compress_css'] == false) {
            $code = preg_replace('/(?:(?<!\:|\\\|\'|\")\/\/.*)/', '', $code);  // entfernt single line '//' comments. hpzeller
          }        
          return $code;
        }

    Gruss
    Hanspeter

    Timm

    • Fördermitglied
    • Beiträge: 6.343
    Re: MODUL: OIL.js Cookie Consent Management
    Antwort #256 am: 12. Oktober 2020, 21:59:34
    Hallo Hanspeter

    Mit deiner neuen Lösung funktioniert es. Hat etwas gedauert, bis ich gemerkt habe, dass man die tpl_plugin.min.js mit einer leeren Version austauschen muss, um eine Veränderung zu sehen.

    Vielen Dank!!!

    Was ich am Code aber nicht ganz verstehe ist

    Code: PHP  [Auswählen]
    if ($this->_options['compress_css'] == false) {

    Was hat die css Komprimierung mit dem entfernen in einer Javascript Datei zu tun und warum hat es keine Auswirkung, ob die css Komprimierung an oder aus ist?

    Wenn ich deine Lösung richtig verstehe, dann macht er bei der ersten Variante aus

    Code: Javascript  [Auswählen]
    /*2p: 7a !1C;*//*}*/.1d-1c-4V {.............
    das
    Code: Javascript  [Auswählen]
    /*2p: 7a !1C;*
    er löscht also alles nach den //, da alles folgende in dem Skript in einer Zeile steht.

    Und nun macht er aus

    Code: Javascript  [Auswählen]
    /*2p: 7a !1C;*//*}*/.1d-1c-4V {...............
    das
    Code: Javascript  [Auswählen]
    .1d-1c-4V {............
    entfernt also die beiden multiline Kommentare (die aber in einer Zeile stehen) und es bleibt kein singleline Kommentar übrig, der zu löschen wäre und alles dahinter bleibt damit auch bestehen. Hab ich das richtig gedeutet?

    Gruss Timm

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.743
    • Geschlecht:
    Re: MODUL: OIL.js Cookie Consent Management
    Antwort #257 am: 12. Oktober 2020, 23:17:45
    [...] Hat etwas gedauert, bis ich gemerkt habe, dass man die tpl_plugin.min.js mit einer leeren Version austauschen muss, um eine Veränderung zu sehen.
    [...]

    Um genau zu sein:
    Wenn die von dir genannte Datei (also die mit den komprimierten Files) leer ist
    oder
    sich eines der Skripte welche komprimiert werden geändert hat.
    Da die sog. filetime jedes Files gemessen und mit der der Datei die die komprimierten Files enthält verglichen wird, kann man einfach ein Skript öffnen, zum Schein etwas änderen z.B. (Leerzeichen und wieder zurück), und speichern.

    Gruß,
    noRiddle

    hpzeller

    • Experte
    • Beiträge: 4.130
    • Geschlecht:
    Re: MODUL: OIL.js Cookie Consent Management
    Antwort #258 am: 13. Oktober 2020, 00:36:34
    [...]
    Was ich am Code aber nicht ganz verstehe ist

    Code: PHP  [Auswählen]
    if ($this->_options['compress_css'] == false) {

    Was hat die css Komprimierung mit dem entfernen in einer Javascript Datei zu tun und warum hat es keine Auswirkung, ob die css Komprimierung an oder aus ist?
    [...]

    Die Funktion "_removeMultiLineAndSingleLineComments" wird sowohl bei der Komprimierung von JavaScript-Dateien als auch bei der Komprimierung von CSS-Dateien ausgeführt, da aber in CSS-Dateien nur /* */ Kommentare zugelassen sind ist das Ausführen der Funktion "preg_replace" für // Kommentare nicht nötig.

    [...]
    Wenn ich deine Lösung richtig verstehe, dann macht er bei der ersten Variante aus

    Code: Javascript  [Auswählen]
    /*2p: 7a !1C;*//*}*/.1d-1c-4V {.............
    das
    Code: Javascript  [Auswählen]
    /*2p: 7a !1C;*
    er löscht also alles nach den //, da alles folgende in dem Skript in einer Zeile steht.

    Und nun macht er aus

    Code: Javascript  [Auswählen]
    /*2p: 7a !1C;*//*}*/.1d-1c-4V {...............
    das
    Code: Javascript  [Auswählen]
    .1d-1c-4V {............
    entfernt also die beiden multiline Kommentare (die aber in einer Zeile stehen) und es bleibt kein singleline Kommentar übrig, der zu löschen wäre und alles dahinter bleibt damit auch bestehen. Hab ich das richtig gedeutet?
    [...]

    Präzis, das hast du richtig gedeutet :thumbs:

    Gruss
    Hanspeter

    Nachtrag:
    Gelinde gesagt finde ich eine solche Auskommentiererei

    Code: Javascript  [Auswählen]
    /*2p: 7a !1C;*//*}*/.1d-1c-4V {...............

    etwas merkwürdig, für gewöhnlich würde man das ja so auskommentieren.

    Code: Javascript  [Auswählen]
    /*2p: 7a !1C;}*/.1d-1c-4V {...............

    Aber egal, syntaktisch ist es ja korrekt.

    Timm

    • Fördermitglied
    • Beiträge: 6.343
    Re: MODUL: OIL.js Cookie Consent Management
    Antwort #259 am: 13. Oktober 2020, 10:26:22
    Danke dir. Warum Magictoolbox das so auskommentiert hat, kann ich nicht sagen. Es gibt diesen Fall in meinen 3 sehr langen JS Dateien auch nur einmal.

    Gruss Timm

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.197
    • Geschlecht:
    Re: MODUL: OIL.js Cookie Consent Management
    Antwort #260 am: 17. Oktober 2020, 13:47:27
    Ich habe das Changeset r12918 ins Modul aus Beitrag 1 mit aufgenommen.

    Grüße

    Torsten

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.743
    • Geschlecht:
    Re: MODUL: OIL.js Cookie Consent Management
    Antwort #261 am: 28. Oktober 2020, 13:56:16
    Um die Unterstützung weiterer Sprachen, außer der Default-Sprachen Deutsch und Englisch, in korrekter Form zu gewährleisten müsste in /admin/cookie_consent.php beim Akt des Speicherns das Feld "fixed" in den beiden betroffenen DB-Tabellen berücksichtigt werden. Das ist nicht der Fall.
    Nehmen wir an wir haben zusätzlich zu Deutsch und Englisch noch Französisch im Shop, mit der languages_id 3.
    Beim Ändern von Default-Einträgen werden nun, weil noch nicht vorhanden, die fehlenden Einträge für die neue Sprache in den beiden zuständigen DB-Tabellen (cookie_consent_categories und cookie_consent_cookies) gemacht. Allerdings wird dabei nicht berücksichtigt ob der Wert für das Feld "fixed" bei den Default-Sprachen auf 1 steht. Das sollte/müsste jedoch so sein und der Wert, wenn zutreffend, ebenfalls auf 1 gesetzt werden.
    Das heißt, daß im switch für $_GET['saction'] jeweils in den cases save_options und save_values geprüft werden müsste
    - z.B. anhand der Default-Sprache Englisch -
    ob es sich um einen "fixed"-Eintrag handelt und das Feld dann für die neue Sprache ebenfalls setzen.

    Soweit ich das sehe könnte das relativ leicht bewerkstelligt werden indem man in den Forms wo gepeichert wird ein hidden-Field (z.b. namens set_fixed) mit dem "fixed"-Flag hinzufügt im Falle "fixed" für Englisch 1 ist und das $sql_data_array für das Speichern dann optional mit dem Wert für "fixed" erweitert indem man auf isset($_POST['set_fixed']) prüft.

    Weitere Gedanken zum Modul:
    Es werden in /admin/cookie_consent.php immer wieder die Funktionen xtc_get_cookies_categories_detail() und xtc_get_cookies_detail() aufgerufen, um im Edit-Modus an die bereits gespeicherten Werte zu kommen, sodaß es zig Queries auf ein und dieselbe DB-Tabelle gibt. Das halte ich für in hohem Maße ineffizient.
    Zwar sind wiederholte Queries (oder Queries in einem Loop) wegen der Mehrsprachigkeit bedingt notwendig
    - könnte man auch anders lösen ist aber quer durch modified so im Backend -
    aber für jeden einzelnen Wert (_name, _description) einzelne Queries durchzuführen ist nun wirklich unnötig.

    So, jetzt darf der volle Haß auf meine Besserwisserei losgelassen werden. :-D

    Gruß,
    noRiddle

    *NACHTRAG*
    Eigtl. müsste man weitere Sprachen betreffend auch im System-Modul die Implementation so gestalten, daß durch einmal Deinstallieren und neues Installieren zusätzliche Sprachen automatisch mit angelegt werden. Die Werte kann man ja mit denen für Englisch füllen.

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.197
    • Geschlecht:
    Re: MODUL: OIL.js Cookie Consent Management
    Antwort #262 am: 28. Oktober 2020, 19:25:45
    Ich habe das in Ticket #1545 vermerkt.

    Grüße

    Torsten

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.743
    • Geschlecht:
    Re: MODUL: OIL.js Cookie Consent Management
    Antwort #263 am: 29. Oktober 2020, 08:08:10
    Hier mal eine angepasste /admin/cookie_consent.php mit nach meinen Ausführungen geändertem Code (Code-Stellen mit noRiddle kommentiert).

    Gruß,
    noRiddle

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.197
    • Geschlecht:
    Re: MODUL: OIL.js Cookie Consent Management
    Antwort #264 am: 29. Oktober 2020, 11:35:54
    Super, Danke dir! :thx:

    Kannst du kurz sagen, was du dort alles aus dem letzten Kommentar aus Ticket #1545 berücksichtigt hast?

    Nachtrag: Schon gesehen, geht nur um die Anregungen aus Antwort #261.

    Grüße

    Torsten

    Friederike

    • Fördermitglied
    • Beiträge: 87
    Re: MODUL: OIL.js Cookie Consent Management
    Antwort #265 am: 03. November 2020, 20:56:54
    Hi, habe das Modul in meinem Shop und nun möchte der Händlerbund neuerdings, dass man für die Erstellung einer korrekten Datenschutzerklärung das Cookie Consent Tool auswählt, das man einsetzt. Dieses Modified-Modul ist leider noch nicht in der Auswahlliste.

    Habe Bescheid gegeben, die wollen sich das Tool wohl näher ansehen, wenn sie dazu kommen. Bis dahin soll ich selbständig einen passenden Passus in die Datenschutzerklärung einbauen.

    Hat jemand einen Vorschlag für die Formulierung?

    Hier als Beispiel der Text, der für einen anderen Cookie Consent-Manager eingebunden wird:

    Verwendung von Consentmanager ABC
    Wir verwenden auf unserer Website das Consent-Management-Tool ABC der XYZ AG.
    Das Tool ermöglicht es Ihnen, Einwilligungen in Datenverarbeitungen über die Website, insbesondere das Setzen von Cookies, zu erteilen sowie von Ihrem Widerrufsrecht für bereits erteilte Einwilligungen Gebrauch zu machen.
    Die Datenverarbeitung dient dem Zweck, erforderliche Einwilligungen in Datenverarbeitungen einzuholen sowie zu dokumentieren und damit gesetzliche Verpflichtungen einzuhalten.
    Hierzu können Cookies eingesetzt werden. Dabei können u. a. folgende Informationen erhoben und an XYZ übermittelt werden: Datum und Uhrzeit des Seitenaufrufs, ..... (???)... Opt-in- und Opt-out-Daten. Eine Weitergabe dieser Daten an sonstige Dritte erfolgt nicht.
    Die Datenverarbeitung erfolgt zur Erfüllung einer rechtlichen Verpflichtung auf Grundlage....
    Nähere Informationen zum Datenschutz bei XYZ finden sie unter: www.....

    karsta.de

    • Experte
    • Beiträge: 3.082
    Re: MODUL: OIL.js Cookie Consent Management
    Antwort #266 am: 03. November 2020, 21:41:07
    [...]
    Hat jemand einen Vorschlag für die Formulierung?
    [...]

    Ich verstehe nicht warum du das fragst. Als Mitglied im Händlerbund gibt doch der Händlerbund den rechtssicheren Text für dich dafür vor. Und ansonsten hast du hier einen Leitvorschlag für einen Text gepostet, den du nach deinem Ermessen ändern könntest.
    BG Karsta

    Friederike

    • Fördermitglied
    • Beiträge: 87
    Re: MODUL: OIL.js Cookie Consent Management
    Antwort #267 am: 03. November 2020, 21:48:34
    Dann frage ich konkreter, es geht mir um das Ausfüllen der Lücken:
    1) Der Name des Tools ist "OIL.js Cookie Consent Management" von "modified eCommerce"? Kann man das so sagen?
    2) Übermittelt das Tool irgendwelche Daten irgendwohin? (Sorry, habe den Quellcode nicht gelesen und verstanden)
    3) Gibt es eine andere Datenschutzseite zu diesem Tool, auf die ich verlinken sollte?

    Vielen Dank und viele Grüße
    Friederike

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.197
    • Geschlecht:
    Re: MODUL: OIL.js Cookie Consent Management
    Antwort #268 am: 03. November 2020, 22:01:33
    [...]
    1) Der Name des Tools ist "OIL.js Cookie Consent Management" von "modified eCommerce"? Kann man das so sagen?
    [...]

    "OIL.js - Consent Management" von "Axel Springer SE"
    Quelle des Skripts: https://www.oiljs.org

    [...]
    2) Übermittelt das Tool irgendwelche Daten irgendwohin? (Sorry, habe den Quellcode nicht gelesen und verstanden)
    [...]

    Nein, da das Skript nicht extern geladen wird, sondern direkt aus dem Shop.

    [...]
    3) Gibt es eine andere Datenschutzseite zu diesem Tool, auf die ich verlinken sollte?
    [...]

    Ich wüsste nicht wieso? Oder ich verstehe die Frage nicht. :nixweiss:

    Grüße

    Torsten

    Friederike

    • Fördermitglied
    • Beiträge: 87
    Re: MODUL: OIL.js Cookie Consent Management
    Antwort #269 am: 03. November 2020, 23:03:52
    Ok, prima, vielen Dank. :-)
    11 Antworten
    2468 Aufrufe
    10. Dezember 2021, 21:55:58 von gdl-joe
    11 Antworten
    3269 Aufrufe
    17. Dezember 2021, 12:40:07 von Pixelknecht
    8 Antworten
    1350 Aufrufe
    16. Oktober 2023, 16:47:54 von Tomcraft
    2 Antworten
    744 Aufrufe
    07. Oktober 2022, 13:16:22 von Viol