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: DSGVO + Newsletteranmeldung mit CheckBox Datenschutzerklärung?

    michail223

    • Neu im Forum
    • Beiträge: 7
    Hallo Andreas,

    dankesehr - klappt bei nem ersten Test super!

    LG

    lohkaes1

    • Schreiberling
    • Beiträge: 460
    Hallo,

    kurze Frage: Wo bzw. Wie kann man den Newsletter deaktivieren? Ist dies irgendwo im Backend möglich?
    Danke.

    Edit: Danke habs gefunden. Einfachste Lösung: Zuerst mal deaktivieren und abwarten wie sich die Sache entwickelt.

    karsta.de

    • Experte
    • Beiträge: 3.156
    Admin > Erw. Konfiguration > Zusatzmodule > Newsletter > NEIN

    Sergio Mueller

    • Mitglied
    • Beiträge: 180
    Danke für die Checkbox Lösung. Klappt wunderbar. Ich bin mir zwar nicht 100% sicher ob sie nötig ist, habe sie aber mal eingebaut.
    Im Leitfaden der IT-Recht Kanzlei steht zwar das die Einwilligung zum Newsletterversand aktiv bzw. nicht voreingestellt gegeben werden muss (durch Checkbox bzw. den vorhandenen Radiobutton), aber nicht das nochmal extra die Datenschutzerklärung bestätigt werden muss. Lediglich ein Link in der Nähe des Absende Buttons soll erforderlich sein.

    In diesem Zusammenhang ist mir aufgefallen, das der Button bei mir immer mit "Anmelden" beschriftet ist.
    Das könnte den Kunden etwas verwirren, wenn er sich abmelden möchte.
    Ich bevorzuge hier die Beschriftung "Absenden"

    Das wird in der Datei newsletter.php  im Rootverzeichnis gesetzt.

    Suche:
    Code: PHP  [Auswählen]
    $smarty->assign('BUTTON_SEND', xtc_image_submit('button_send.gif', IMAGE_BUTTON_LOGIN));

    Ersetze durch:
    Code: PHP  [Auswählen]
    $smarty->assign('BUTTON_SEND', xtc_image_submit('button_send.gif', IMAGE_BUTTON_SEND));

    Edit: Sorry das mit der Buttonbeschriftung wurde ja schon behandelt. Hatte es überlesen...

    p3e

    • Experte
    • Beiträge: 2.424
    Ich interpretiere das bei it-Recht ebenfalls so, dass man die Checkbox nicht nutzen soll sondern nur den Hinweistext ...
    Zusätzlich benötigt man den Text inkl. Link auch in der Kundenameldung. Momentan steht da noch:
    Zitat
    Ich möchte regelmäßig interessante Angebote per E-Mail erhalten. Meine E-Mail-Adresse wird nicht an andere Unternehmen weitergegeben. Diese Einwilligung zur Nutzung meiner E-Mail-Adresse für Werbezwecke kann ich jederzeit mit Wirkung für die Zukunft widerrufen.

    TrueSlide

    • Schreiberling
    • Beiträge: 402
    Ob Deutschland aufm letzten Drücken noch nachzieht?!?

    https://m.heise.de/newsticker/meldung/Keine-Strafen-Oesterreich-zieht-neuem-Datenschutz-die-Zaehne-4031217.html

    Mir ist durchaus bewusst das dies nie passieren wird, einfach weil hierzulande ja viel zu viel Geld mit den Vollpfo.... äh Abmahnanwälten und deren Industrie verdient wird.

    Roberto

    • Frisch an Board
    • Beiträge: 84
    Moin,

    ich habe in der lang_german.conf einen Textzusatz mit Link eingefügt. Also keine Änderung am Quelltext mit neuer Checkbox. Im Anhang das Ergebnis.

    golferteddy

    • Schreiberling
    • Beiträge: 404
    • Geschlecht:
    Also

    wahrscheinlich sind beide Lösungen möglich
    - Checkbox und / oder nur textlicher Hinweis

    Ein Blick auf die gesetzgebenen (Regierungs)parteien bezüglich der Newsletteranmeldung zeigt
    Stand: 20.5.2018

    CDU: https://www.cdu.de/
    mit Checkbox für Datenschutz
    aber OHNE Erklärung welche Inhalte (also FÜR WAS) man den Newsletter bestellt.

    CSU:https://www.csu.de/aktuell/newsletter/
    mit mit textlichem Hinweis auf den Datenschutz
    aber !!!! - mit Vorname und Nachname und Anrede als Pflichtfeld
    obwohl die in der Datenschutzerklären angeblich freiwillig sind.
    so .... wer von uns mahnt die jetzt ab - das ist schon jetzt unzulässig

    SPD: https://www.spd.de/
    weder Checkbox noch Hinweis auf Datenschutzerklärung

    FDP: https://mailings.fdp.de/newsletter/subscribe?tname=freibrief
    weder Checkbox, noch Hinweis auf Datenschutz
    mit Vorname und Nachname und Anrede als Pflichtfeld

    Bündnis90/Die Grünen: https://www.gruene.de/service/newsletter.html
    mit Checkbox für Datenschutz
    mit Vorname als Pflichtfeld

    ... also zumindest die CSU und die FDP sollten wir mal am 26.5 mit Hinweis auf die jetzt geltenden Gesetzte mal anschreiben.

    Wenn das auch ein paar machen würden, merken die vielleicht auch mal, wie schwer es ist, eine gesetzeskonforme Web-Site zu machen. - Nur wer soll die schon abmahnen, da es ja keine Wettbewerbssituation gibt ....

    p3e

    • Experte
    • Beiträge: 2.424
    Wenn du magst, kannst du sie der Datenschutzbehörde melden. Dafür bedarf es keine Konkurrenzsituation.

    h-h-h

    • modified Team
    • Beiträge: 4.562
    Gibt es dafür einen Grund, dass hier über Radio-Buttons und deren Label-Texte ausgewählt wird, ob man sich ab- oder anmelden möchte?

    Habe das jetzt mal so gelöst:
    [ Für Gäste sind keine Dateianhänge sichtbar ]

    Die Buttons haben einfach name="check" und value="del" bzw. value="inp" bekommen.

    Roberto

    • Frisch an Board
    • Beiträge: 84
    Deine Variante gefällt mir auch sehr gut.

    Die Radio-Buttons sind die "Werkseinstellung" bei den beiden Modified-Templates. Ich habe nur den Text angepasst.

    Übrigens findet man diese Variante auch bei www.eon.de, wo man bereits auf DSGVO umgestellt hat (Die Kunden wurden sogar per Post darüber informiert). Meines Wissens beschäftigt man dort auch diverse Anwälte, die sich mit der DSGVO auseinander gesetzt haben.

    karsta.de

    • Experte
    • Beiträge: 3.156
    Die Buttons haben einfach name="check" und value="del" bzw. value="inp" bekommen.

    Finde ich eine schöne Lösung.

    Gibt es dafür einen Grund, dass hier über Radio-Buttons und deren Label-Texte ausgewählt wird, ob man sich ab- oder anmelden möchte?

    Es kommt darauf an, was jeder für sich als richtig hält bzw. ob der Shopbetreiber zusätzliche Informationen anzeigen will. Deshalb habe ich das so gelöst:

    [ Für Gäste sind keine Dateianhänge sichtbar ]

    BG kgd

    Alex23

    • Fördermitglied
    • Beiträge: 197
    Guten Morgen,

    schaut euch das Script bitte genau an.
    Die Zeile
    $newsletter->AddUser($_POST['check'], strtoupper($_POST['vvcode']), $email);
    wird auch ausgeführt, wenn die checkbox nicht gesetzt ist, sodass die Newsletter-Mail immer versendet wird.

    Ich habe das komplette Script angepasst:
    Code: PHP  [Auswählen]
    <?php
    /* -----------------------------------------------------------------------------------------
       $Id: newsletter.php 10076 2016-07-15 09:28:07Z GTB $

       modified eCommerce Shopsoftware
       http://www.modified-shop.org

       Copyright (c) 2009 - 2013 [www.modified-shop.org]
       -----------------------------------------------------------------------------------------
       based on:
       (c) 2000-2001 The Exchange Project  (earlier name of osCommerce)
       (c) 2002-2003 osCommerce www.oscommerce.com
       (c) 2003   nextcommerce www.nextcommerce.org
       (c) 2003 XT-Commerce
       
       
       Released under the GNU General Public License
       ---------------------------------------------------------------------------------------*/


    require ('includes/application_top.php');

    if (!defined('MODULE_NEWSLETTER_STATUS') || MODULE_NEWSLETTER_STATUS == 'false') {
      xtc_redirect(xtc_href_link(FILENAME_DEFAULT));
    }

    defined('DISPLAY_PRIVACY_CHECK') or define('DISPLAY_PRIVACY_CHECK', 'true');
     
    // captcha
    $use_captcha = array('newsletter');
    if (defined('MODULE_CAPTCHA_ACTIVE')) {
      $use_captcha = explode(',', MODULE_CAPTCHA_ACTIVE);
    }
    defined('MODULE_CAPTCHA_CODE_LENGTH') or define('MODULE_CAPTCHA_CODE_LENGTH', 6);
    defined('MODULE_CAPTCHA_LOGGED_IN') or define('MODULE_CAPTCHA_LOGGED_IN', 'True');

    // create smarty elements
    $smarty = new Smarty;

    // include boxes
    require (DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/source/boxes.php');

    // include needed functions
    require_once (DIR_FS_INC.'xtc_validate_email.inc.php');
    require_once (DIR_FS_INC.'secure_form.inc.php');
    require_once (DIR_WS_CLASSES.'class.newsletter.php');

    $info_message = '';
    $newsletter = new newsletter();

    if (isset ($_GET['action']) && ($_GET['action'] == 'process')) {
      $privacy = isset($_POST['privacy']) && $_POST['privacy'] == 'privacy' ? true : false;
      $email = xtc_db_prepare_input($_POST['email']);
      if (check_secure_form($_POST) === false) {
        $info_message = ENTRY_EMAIL_ADDRESS_CHECK_ERROR;
        $newsletter->message_class = 'error';
      } elseif (xtc_validate_email($email) != false) {
        if (!in_array('newsletter', $use_captcha) || (isset($_SESSION['customer_id']) && MODULE_CAPTCHA_LOGGED_IN == 'False')) {
          $newsletter->auto = true;
        }
        if (DISPLAY_PRIVACY_CHECK == 'true') {
          if(!$privacy) {
            $info_message = ENTRY_PRIVACY_ERROR;
            $newsletter->message_class = 'error';
          }
          else {
            $newsletter->AddUser($_POST['check'], strtoupper($_POST['vvcode']), $email);
            $info_message = $newsletter->message;
          }
        }
        else {
          $newsletter->AddUser($_POST['check'], strtoupper($_POST['vvcode']), $email);
          $info_message = $newsletter->message;
        }
      } else {
        $info_message = ENTRY_EMAIL_ADDRESS_CHECK_ERROR;
        $newsletter->message_class = 'error';
      }
    }

    // Accountaktivierung per Emaillink
    if (isset ($_GET['action']) && ($_GET['action'] == 'activate')) {
      $newsletter->ActivateAddress($_GET['key'], $_GET['email']);
      $info_message = $newsletter->message;
      if ($newsletter->message_class == 'info') {
        $smarty->assign('activated', true);
      }
    }

    // Accountdeaktivierung per Emaillink
    if (isset ($_GET['action']) && ($_GET['action'] == 'remove')) {
      $newsletter->RemoveFromList($_GET['key'], $_GET['email']);
      $info_message = $newsletter->message;
    }

    $breadcrumb->add(NAVBAR_TITLE_NEWSLETTER, xtc_href_link(FILENAME_NEWSLETTER, '', 'SSL'));

    require (DIR_WS_INCLUDES.'header.php');

    if (in_array('newsletter', $use_captcha) && (!isset($_SESSION['customer_id']) || MODULE_CAPTCHA_LOGGED_IN == 'True')) {
      $smarty->assign('VVIMG', '<img src="'.xtc_href_link(FILENAME_DISPLAY_VVCODES, '', 'SSL') .'" alt="Captcha" />');
      $smarty->assign('INPUT_CODE', xtc_draw_input_field('vvcode', '', 'size="'.MODULE_CAPTCHA_CODE_LENGTH.'" maxlength="'.MODULE_CAPTCHA_CODE_LENGTH.'"', 'text', false));
    }

    $smarty->assign('text_newsletter', TEXT_NEWSLETTER);
    $smarty->assign('info_message', $info_message);
    if ($newsletter->message_class != '') {
      $smarty->assign('message_class', $newsletter->message_class);
    }
    $smarty->assign('FORM_ACTION', xtc_draw_form('sign', xtc_href_link(FILENAME_NEWSLETTER, 'action=process', 'SSL')).secure_form());
    $smarty->assign('INPUT_EMAIL', xtc_draw_input_field('email', ((isset($_GET['email']) && xtc_db_input($_GET['email'])!='') ? xtc_db_input($_GET['email']):((isset($_POST['email']) && xtc_db_input($_POST['email']))?xtc_db_input($_POST['email']):''))));

    if(isset($_POST['check']) && $_POST['check'] == 'inp') {$inp = 'true'; $del = '';}
    if(isset($_POST['check']) && $_POST['check'] == 'del') {$inp = ''; $del = 'true';}  

    //datenschutz
    if (DISPLAY_PRIVACY_CHECK == 'true') {
          $smarty->assign('PRIVACY_CHECKBOX', xtc_draw_checkbox_field('privacy', 'privacy', $privacy, 'id="privacy"'));
          $smarty->assign('PRIVACY_LINK', $main->getContentLink(2, MORE_INFO, $request_type));
        }

    $smarty->assign('CHECK_INP', xtc_draw_radio_field('check', 'inp', $inp));
    $smarty->assign('CHECK_DEL', xtc_draw_radio_field('check', 'del', $del));


    $smarty->assign('BUTTON_SEND', xtc_image_submit('button_send.gif', IMAGE_BUTTON_LOGIN));
    $smarty->assign('FORM_END', '</form>');

    $smarty->assign('language', $_SESSION['language']);
    $smarty->caching = 0;
    $main_content = $smarty->fetch(CURRENT_TEMPLATE.'/module/newsletter.html');
    $smarty->assign('main_content', $main_content);

    $smarty->assign('language', $_SESSION['language']);
    $smarty->caching = 0;
    if (!defined('RM'))
      $smarty->load_filter('output', 'note');
    $smarty->display(CURRENT_TEMPLATE.'/index.html');
    include ('includes/application_bottom.php');
    ?>

    Viele Grüße
    Andreas

    Hallo Andreas / AGI,

    ich habe das gleiche Problem wie michail223 bei meiner Shopversion v1.06 und möchte auch gern die angepassten Passagen deines Scripts bei mir einbauen.
    Nur leider weiß ich nicht, an welchen Stellen ich sie einfügen muß, da vieles meiner "newsletter.php" ganz anders aussieht!

    Kannst Du oder jemand anderes mir bitte weiterhelfen, sodass die Newsletter-Mail nur noch versendet wird, wenn die Checkbox gesetzt ist?

    Meine "newsletter.php" sieht so aus:
    Code: PHP  [Auswählen]
    <?php

    /*------------------------------------------------------------------------------
       $Id: newsletter.php,v 1.0

       Copyright (c) 2003 XT-Commerce
       -----------------------------------------------------------------------------------------
       based on:
       (c) 2000-2001 The Exchange Project  (earlier name of osCommerce)
       (c) 2002-2003 osCommerce www.oscommerce.com
       (c) 2003      nextcommerce www.nextcommerce.org
       
       XTC-NEWSLETTER_RECIPIENTS RC1 - Contribution for XT-Commerce http://www.(( Wir dulden keine kommerziellen Werbelinks - Bitte <a href="index.php?topic=3013.0">Forenregeln</a> beachten! ))
       by Matthias Hinsche http://www.gamesempire.de
       
       Released under the GNU General Public License
       ---------------------------------------------------------------------------------------*/


    require ('includes/application_top.php');

    defined('DISPLAY_PRIVACY_CHECK') or define('DISPLAY_PRIVACY_CHECK', 'true');

    // create smarty elements
    $smarty = new Smarty;

    // include boxes
    require (DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/source/boxes.php');

    // include needed functions
    require_once (DIR_FS_INC.'xtc_render_vvcode.inc.php');
    require_once (DIR_FS_INC.'xtc_random_charcode.inc.php');
    require_once (DIR_FS_INC.'xtc_encrypt_password.inc.php');
    require_once (DIR_FS_INC.'xtc_validate_password.inc.php');
    require_once (DIR_FS_INC.'xtc_validate_email.inc.php');

    $inp = 'true';
    $del = '';
    $info_message = '';

    if (isset ($_GET['action']) && ($_GET['action'] == 'process')) {
      $privacy = isset($_POST['privacy']) && $_POST['privacy'] == 'privacy' ? true : false;    
           
            $vlcode = xtc_random_charcode(32);
            $link = xtc_href_link(FILENAME_NEWSLETTER, 'action=activate&email='.xtc_db_input($_POST['email']).'&key='.$vlcode, 'SSL'); // web28 - 2010-09-21 - change NONSSL -> SSL

            // assign language to template for caching
            $smarty->assign('language', $_SESSION['language']);
            $smarty->assign('tpl_path', 'templates/'.CURRENT_TEMPLATE.'/');
            $smarty->assign('logo_path', HTTP_SERVER.DIR_WS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/img/');

            // assign vars
            $smarty->assign('EMAIL', xtc_db_input($_POST['email']));
            $smarty->assign('LINK', $link);
            // dont allow cache
            $smarty->caching = false;

            // create mails
            $html_mail = $smarty->fetch(CURRENT_TEMPLATE.'/mail/'.$_SESSION['language'].'/newsletter_mail.html');
            $txt_mail = $smarty->fetch(CURRENT_TEMPLATE.'/mail/'.$_SESSION['language'].'/newsletter_mail.txt');

            // Check if email exists

      //BOF - Dokuman - 2009-09-04: convert uppercase Captchas to lowercase, to be more flexible on user input
            //if (($_POST['check'] == 'inp') && ($_POST['vvcode'] == $_SESSION['vvcode'])) {
      //BOF - web28 - 2010-02-09: NEWSLETTER ERROR HANDLING
        //if (($_POST['check'] == 'inp') && (strtoupper($_POST['vvcode']) == $_SESSION['vvcode'])) {
            if (xtc_validate_email(trim($_POST['email'])) && ($_POST['check'] == 'inp') && (strtoupper($_POST['vvcode']) == $_SESSION['vvcode'])) {
      //BOF - web28 - 2010-02-09: NEWSLETTER ERROR HANDLING
      //EOF - Dokuman - 2009-09-04: convert uppercase Captchas to lowercase, to be more flexible on user input

                    $check_mail_query = xtc_db_query("select customers_email_address, mail_status from ".TABLE_NEWSLETTER_RECIPIENTS." where customers_email_address = '".xtc_db_input($_POST['email'])."'");
                    if (!xtc_db_num_rows($check_mail_query)) {

                            if (isset ($_SESSION['customer_id'])) {
                                    $customers_id = $_SESSION['customer_id'];
                                    $customers_status = $_SESSION['customers_status']['customers_status_id'];
                                    $customers_firstname = $_SESSION['customer_first_name'];
                                    $customers_lastname = $_SESSION['customer_last_name'];
                            } else {

                                    $check_customer_mail_query = xtc_db_query("select customers_id, customers_status, customers_firstname, customers_lastname, customers_email_address from ".TABLE_CUSTOMERS." where customers_email_address = '".xtc_db_input($_POST['email'])."'");
                                    if (!xtc_db_num_rows($check_customer_mail_query)) {
                                            $customers_id = '0';
                                            $customers_status = '1';
                                            $customers_firstname = TEXT_CUSTOMER_GUEST;
                                            $customers_lastname = '';
                                    } else {
                                            $check_customer = xtc_db_fetch_array($check_customer_mail_query);
                                            $customers_id = $check_customer['customers_id'];
                                            $customers_status = $check_customer['customers_status'];
                                            $customers_firstname = $check_customer['customers_firstname'];
                                            $customers_lastname = $check_customer['customers_lastname'];
                                    }

                            }

                            $sql_data_array = array ('customers_email_address' => xtc_db_input($_POST['email']), 'customers_id' => xtc_db_input($customers_id), 'customers_status' => xtc_db_input($customers_status), 'customers_firstname' => xtc_db_input($customers_firstname), 'customers_lastname' => xtc_db_input($customers_lastname), 'mail_status' => '0', 'mail_key' => xtc_db_input($vlcode), 'date_added' => 'now()');
                            xtc_db_perform(TABLE_NEWSLETTER_RECIPIENTS, $sql_data_array);

                            $info_message = TEXT_EMAIL_INPUT;

                            if (SEND_EMAILS == true) {
                                    xtc_php_mail(EMAIL_SUPPORT_ADDRESS, EMAIL_SUPPORT_NAME, xtc_db_input($_POST['email']), '', '', EMAIL_SUPPORT_REPLY_ADDRESS, EMAIL_SUPPORT_REPLY_ADDRESS_NAME, '', '', TEXT_EMAIL_SUBJECT, $html_mail, $txt_mail);
                            }

                    } else {
                            $check_mail = xtc_db_fetch_array($check_mail_query);

                            if ($check_mail['mail_status'] == '0') {

                                    $info_message = TEXT_EMAIL_EXIST_NO_NEWSLETTER;

                                    if (SEND_EMAILS == true) {
                                            xtc_php_mail(EMAIL_SUPPORT_ADDRESS, EMAIL_SUPPORT_NAME, xtc_db_input($_POST['email']), '', '', EMAIL_SUPPORT_REPLY_ADDRESS, EMAIL_SUPPORT_REPLY_ADDRESS_NAME, '', '', TEXT_EMAIL_SUBJECT, $html_mail, $txt_mail);
                                    }

                            } else {
                                    $info_message = TEXT_EMAIL_EXIST_NEWSLETTER;
                            }

                    }

            } else {
                //BOF - web28 - 2010-02-09: NEWSLETTER ERROR HANDLING
                //$info_message = TEXT_WRONG_CODE;
                if (!xtc_validate_email(trim($_POST['email']))) $info_message .= ERROR_EMAIL;
                    if (strtoupper($_POST['vvcode']) != $_SESSION['vvcode']) $info_message .= ERROR_VVCODE;        
                    //EOF - web28 - 2010-02-09: NEWSLETTER ERROR HANDLING
            }

      //BOF - Dokuman - 2009-09-04: convert uppercase Captchas to lowercase, to be more flexible on user input
            //if (($_POST['check'] == 'del') && ($_POST['vvcode'] == $_SESSION['vvcode'])) {
      //BOF - web28 - 2010-02-09: NEWSLETTER ERROR HANDLING
            //if (($_POST['check'] == 'del') && (strtoupper($_POST['vvcode']) == $_SESSION['vvcode'])) {
            if (xtc_validate_email(trim($_POST['email'])) && ($_POST['check'] == 'del') && (strtoupper($_POST['vvcode']) == $_SESSION['vvcode'])) {
      //EOF - web28 - 2010-02-09: NEWSLETTER ERROR HANDLING
      //BOF - Dokuman - 2009-09-04: convert uppercase Captchas to lowercase, to be more flexible on user input

                    $check_mail_query = xtc_db_query("select customers_email_address from ".TABLE_NEWSLETTER_RECIPIENTS." where customers_email_address = '".xtc_db_input($_POST['email'])."'");
                    if (!xtc_db_num_rows($check_mail_query)) {
                            $info_message = TEXT_EMAIL_NOT_EXIST;
                    } else {
                            $del_query = xtc_db_query("delete from ".TABLE_NEWSLETTER_RECIPIENTS." where customers_email_address ='".xtc_db_input($_POST['email'])."'");
               
                            $info_message = TEXT_EMAIL_DEL;
                    }
            }
            if (DISPLAY_PRIVACY_CHECK == 'true' && empty($privacy)) {
             $info_message = ENTRY_PRIVACY_ERROR;
             $newsletter->message_class = 'error';
        }
    }

    // Accountaktivierung per Emaillink
    if (isset ($_GET['action']) && ($_GET['action'] == 'activate')) {
            $check_mail_query = xtc_db_query("select mail_key from ".TABLE_NEWSLETTER_RECIPIENTS." where customers_email_address = '".xtc_db_input($_GET['email'])."'");
            if (!xtc_db_num_rows($check_mail_query)) {
                    $info_message = TEXT_EMAIL_NOT_EXIST;
            } else {           
                    $check_mail = xtc_db_fetch_array($check_mail_query);
                    //BOF - web28 - 2009-02-09 : FIX WRONG ACTIVATE HANDLING
                    //if (!$check_mail['mail_key'] == $_GET['key']) {
                    if ($check_mail['mail_key'] != $_GET['key']) {
                    //EOF - web28 - 2009-02-09 : FIX WRONG ACTIVATE HANDLING
                            $info_message = TEXT_EMAIL_ACTIVE_ERROR;
                    } else {
                            xtc_db_query("update ".TABLE_NEWSLETTER_RECIPIENTS." set mail_status = '1' where customers_email_address = '".xtc_db_input($_GET['email'])."'");
                           
                            $info_message = TEXT_EMAIL_ACTIVE;
                    }
            }
    }

    // Accountdeaktivierung per Emaillink
    if (isset ($_GET['action']) && ($_GET['action'] == 'remove')) {
            $check_mail_query = xtc_db_query("select customers_email_address,
                                               mail_key
                                        from "
    .TABLE_NEWSLETTER_RECIPIENTS."
                                        where customers_email_address = '"
    .xtc_db_input($_GET['email'])."'
                                        and mail_key = '"
    .xtc_db_input($_GET['key'])."'");
            if (!xtc_db_num_rows($check_mail_query)) {
                    $info_message = TEXT_EMAIL_NOT_EXIST;
            } else {
                    $check_mail = xtc_db_fetch_array($check_mail_query);
                    //BOF - web28 - 2009-02-09 : FIX WRONG DEACTIVATE HANDLING
                    //if (!xtc_validate_password($check_mail['customers_email_address'], $_GET['key'])) {
                    if ($check_mail['mail_key'] != $_GET['key']) {
                    //EOF - web28 - 2009-02-09 : FIX WRONG DEACTIVATE HANDLING
                            $info_message = TEXT_EMAIL_DEL_ERROR;
                    } else {
                            $del_query = xtc_db_query("delete from ".TABLE_NEWSLETTER_RECIPIENTS." where  customers_email_address ='".xtc_db_input($_GET['email'])."' and mail_key = '".xtc_db_input($_GET['key'])."'");
                           
                            $info_message = TEXT_EMAIL_DEL;
                    }
            }
    }

    $breadcrumb->add(NAVBAR_TITLE_NEWSLETTER, xtc_href_link(FILENAME_NEWSLETTER, '', 'SSL')); // web28 - 2010-09-21 - change NONSSL -> SSL

    require (DIR_WS_INCLUDES.'header.php');

    //BOF - Dokuman - 2009-11-02 - Fix lost session on newsletter subscription
    //$smarty->assign('VVIMG', '<img src="'.DIR_WS_CATALOG.FILENAME_DISPLAY_VVCODES.'" alt="Captcha" />');
    $smarty->assign('VVIMG', '<img src="'.xtc_href_link(FILENAME_DISPLAY_VVCODES, 't='. time(), 'SSL') .'" alt="Captcha" />'); // web28 - 2010-09-21 - change NONSSL -> SSL
    //EOF - Dokuman - 2009-11-02 - Fix lost session on newsletter subscription

    $smarty->assign('text_newsletter', TEXT_NEWSLETTER);
    $smarty->assign('info_message', $info_message);
    $smarty->assign('FORM_ACTION', xtc_draw_form('sign', xtc_href_link(FILENAME_NEWSLETTER, 'action=process', 'SSL'))); // web28 - 2010-09-21 - change NONSSL -> SSL
    //BOF - web28 - 2010-02-09: SHOW EMAIL  IN INPUT FIELD
    //$smarty->assign('INPUT_EMAIL', xtc_draw_input_field('email', xtc_db_input($_POST['email'])));
    $smarty->assign('INPUT_EMAIL', xtc_draw_input_field('email', ((isset($_GET['email']) && xtc_db_input($_GET['email'])!='') ? xtc_db_input($_GET['email']):((isset($_POST['email']) && xtc_db_input($_POST['email']))?xtc_db_input($_POST['email']):''))));
    //EOF - web28 - 2010-02-09: SHOW EMAIL IN INPUT FIELD
    // BOF - Tomcraft - 2010-01-24 - unified the captcha field size.
    //$smarty->assign('INPUT_CODE', xtc_draw_input_field('vvcode', '', 'size="6" maxlength="6"', 'text', false));
    $smarty->assign('INPUT_CODE', xtc_draw_input_field('vvcode', '', 'size="8" maxlength="6"', 'text', false));
    // EOF - Tomcraft - 2010-01-24 - unified the captcha field size.
    //BOF - web28 - 2010-02-09: NEWSLETTER ERROR HANDLING
    if(isset($_POST['check']) && $_POST['check'] == 'inp') {$inp = 'true'; $del = '';}
    if(isset($_POST['check']) && $_POST['check'] == 'del') {$inp = ''; $del = 'true';}
    //datenschutz
    if (DISPLAY_PRIVACY_CHECK == 'true') {
          $smarty->assign('PRIVACY_CHECKBOX', xtc_draw_checkbox_field('privacy', 'privacy', $privacy, 'id="privacy"'));
          $smarty->assign('PRIVACY_LINK', $main->getContentLink(2, MORE_INFO, $request_type));
        }  
    $smarty->assign('CHECK_INP', xtc_draw_radio_field('check', 'inp', $inp));
    //EOF - web28 - 2010-02-09: NEWSLETTER ERROR HANDLING
    $smarty->assign('CHECK_DEL', xtc_draw_radio_field('check', 'del', $del));
    $smarty->assign('BUTTON_SEND', xtc_image_submit('button_send.gif', IMAGE_BUTTON_LOGIN));
    $smarty->assign('FORM_END', '</form>');

    $smarty->assign('language', $_SESSION['language']);
    $smarty->caching = 0;
    $main_content = $smarty->fetch(CURRENT_TEMPLATE.'/module/newsletter.html');
    $smarty->assign('main_content', $main_content);

    $smarty->assign('language', $_SESSION['language']);
    $smarty->caching = 0;
    if (!defined('RM'))
            $smarty->load_filter('output', 'note');
    $smarty->display(CURRENT_TEMPLATE.'/index.html');
    include ('includes/application_bottom.php');
    ?>

    Gruß + danke im Voraus,

    Alex23

    Friederike

    • Fördermitglied
    • Beiträge: 87
    Re: DSGVO + Newsletteranmeldung mit CheckBox Datenschutzerklärung?
    Antwort #73 am: 27. November 2018, 11:51:38
    Mache gerade die Shop-Tiefenprüfung vom Händlerbund, und die sagen bzgl. Checkbox:
    Zitat
    Grundsätzlich ist das "Abhaken" der Datenschutzerklärung im Bestellvorgang aus rechtlicher Sicht nicht erforderlich. Die Option kann deshalb gänzlich entfernt werden. Sofern Sie die Funktion belassen möchten, empfehlen wir, den momentan verwendeten Hinweis umzuformulieren, um nicht den Eindruck zu vermitteln, der Kunde müsse der Datenschutzerklärung ausdrücklich zustimmen.

    karsta.de

    • Experte
    • Beiträge: 3.156
    Re: DSGVO + Newsletteranmeldung mit CheckBox Datenschutzerklärung?
    Antwort #74 am: 27. November 2018, 12:21:18
    ..."Abhaken" der Datenschutzerklärung im Bestellvorgang... nicht erforderlich ...

    An welcher Stelle im Bestellvorgang wird das in der aktuellen Shop-Version denn gefordert. Im Standard eigentlich nicht.
    Im Standard nur beim Anlegen der Konten als Gast bzw. Kunde und im Kontaktformular, denn an der Stelle werden persönliche Daten abgefragt und hinterlegt.

    BG kgd
               
    anything