[update]: Da WordPress dazu neigt, Hochkommas im Codebereich falsch darzustellen und xt:Commerce davon leider reichlich Gebrauch macht ist für den Einbau dringend zu empfehlen, die Codeteile aus der Textdatei zu kopieren!
Neues Jahr, neue Gesetze, neue Vorschriften. Seit Jahresbeginn gelten unter anderem neue Formvorschriften für E-Mails und, mit der Novelle des Telemediengesetzes, kommen gerade auf Shopbetreiber neue Anforderungen in Bezug auf die Datenschutzerklärung zu.
Während sich das Überarbeiten der dreizehn verschiedenen E-Mail-Texte, die sich für alle Sprachen, jeweils in einer reinen Text und einer HTML-Ausprägung sowohl in templates/[template]/mail/ als auch in templates/[template]/admin/mail befinden, allenfalls als Fleißaufgabe erweisen dürfte, da xt:Commerce keine Möglichkeit bietet, an alle E-Mails eine gleichlautende Signatur anzuhängen (aber vielleicht poste ich hier in Kürze mal was entsprechendes), müssen für die Erfordernisse des neuen Telemediengesetzes in Bezug auf Datenschutz stärkere Geschütze aufgefahren werden:
Wörtlich genommen müsste der Nutzer einer gewerblichen Webseite beim ersten Aufruf auf die Datenschutzerklärung hingewiesen werden. Es wird wohl allerdings ausreichend sein, einen entsprechenden aussagekräftigen Link auf die Belehrung in der Fusszeile anzubringen. Spätestens jedoch, wenn ein Bestellvorgang gestartet wird, bei dem der Nutzer seine persönlichen Daten eingibt, muss die Belehrung deutlich eingeblendet werden. Der Vorgang darf erst dann fortgesetzt werden können, wenn der Nutzer die Belehrung akzeptiert hat. Die Zustimmung muss nachprüfbar gespeicht werden.
Nach der Einverständniserklärung muss der Nutzer jederzeit den Inhalt seiner Erklärung abrufen können. Eine per Email versendete Bestellbestätigung sollte neben einem Link auf etwa akzeptierte AGB auch einen Link oder den Volltext der Datenschutzbelehrung enthalten.
Weiterhin ist sicherzustellen, dass der Nutzer des Dienstes die Nutzung jederzeit beenden kann. Wenn etwa ein Benutzer-Account angeboten wird muss dem Nutzer die Möglichkeit geboten werden, diesen zu deaktivieren, die gespeicherten Daten zu löschen bzw. zu sperren.
Tja, ich würde sagen, das sind gleich drei Wünsche auf einmal. Und wer ungern russisches Abmahnroulette spielt und daher nicht darauf warten will, bis die Änderungen in das nach wie vor nicht terminierte SP 2.2 einfließen, findet hier eine Einbauanleitung.
Ein Satz vorab
Wie immer gilt: Alle Änderungen beziehen sich auf xt:Commerce 3.04 SP2.1, der Einbau erfolgt auf eigene Gefahr und nicht nur für diese Anpassungen empfiehlt sich ein Backup, Fragen werden in den Kommentaren beantwortet.
Datenschutzerklärung abnicken
Zunächst mal sollte man wie bei Lübeck online vorgeschlagen und sofern noch nicht vorhanden eine Seite mit der Datenschutzerklärung erstellen und diese in eine der beiden Boxen verlinken.
Als nächsten Schritt gilt es, ähnlich wie bei den AGBs während des Checkout-Prozesses, beim Registrieren eines Accounts oder beim Checkout über den Gastaccount eine Checkbox zu integrieren, mit der der Kunde bestätigt, die Datenschutzrichtlinien akzeptiert zu haben.
Alle Angaben für create_account.php gelten analog auch für create_guest_account.php:
In create_account.php nach
$smarty->assign('INPUT_TEL', xtc_draw_input_fieldNote(array ('name' => 'telephone', 'text' => (xtc_not_null(ENTRY_TELEPHONE_NUMBER_TEXT) ? '<span class="inputRequirement">'.ENTRY_TELEPHONE_NUMBER_TEXT.'</span>' : ''))));
suchen und davor einfügen:
// BEGIN privacy policy
$smarty->assign('PRIVACY_LINK', $main->getContentLink(2, ACCEPT_PRIVACY, "class='popup'"));
$smarty->assign('CHECKBOX_PRIVACY', '<input type="checkbox" value="privacy" name="privacy" id="field_privacy" />');
// END privacy policy
Dadurch haben wir im Template sowohl einen Link auf die Datenschutzerklärung als auch die Checkbox zur Verfügung. Die 2 in $main->getContentLink steht dabei für die coID (Sprachgruppe) der Datenschutzerklärung, die man im Contentmanager findet oder indem man auf den Link klickt.
Wer nicht die jsPopUp-Klasse von Dirk Ginader nutzt muss natürlich selber wissen, ob und wie er die Erklärung in einem neuen Fenster öffnet.
Damit der Link auch einen sinnvollen Text hat, muss man die Konstante für alle im Einsatz befindlichen Sprachen definieren, beispielsweise in lang/german/german.php:
define('ACCEPT_PRIVACY', 'Ich akzeptiere Ihre Datenschutzrichtlinien');
Das platziert man dann an geeigneter Stelle im Template, sowohl in templates/[template]/modules/create_account.html als auch in templates/[template]/modules/create_account_guest.html, was bei mir am Ende so aussieht:
<fieldset>
<legend>{#title_privacy#}</legend>
<p class="conditions">
{$CHECKBOX_PRIVACY}
<label for="field_privacy">{$PRIVACY_LINK}</label><span class="inputRequirement">*</span>
</p>
</fieldset>
Jetzt nur noch prüfen, ob die Box auch angehakt war und das ganze zusammen mit allen Informationen in die Datenbank schreiben. Dazu widmen wir uns noch einmal create_account.php:
Nach
$telephone = xtc_db_prepare_input($_POST['telephone']);
fügend wir folgendes ein:
// BEGIN privacy policy
$privacy = xtc_db_prepare_input($_POST['privacy']);
// END privacy policy
Vor
if ($customers_status == 0 || !$customers_status)
fügen wir folgendes ein:
// BEGIN privacy policy
if(!isset($privacy) || empty($privacy)) {
$error = true;
$messageStack->add('create_account', ENTRY_PRIVACY_POLICY_ERROR);
}
// END privacy policy
Hier trennen sich die Wege von create_account.php und create_guest_account.php. In create_account.php ändern wir
$sql_data_array = array ('customers_vat_id' => $vat, 'customers_vat_id_status' => $customers_vat_id_status, 'customers_status' => $customers_status, 'customers_firstname' => $firstname, 'customers_lastname' => $lastname, 'customers_email_address' => $email_address, 'customers_telephone' => $telephone, 'customers_fax' => $fax, 'customers_newsletter' => $newsletter, 'customers_password' => xtc_encrypt_password($password),'customers_date_added' => 'now()','customers_last_modified' => 'now()');
zu
$sql_data_array = array ('customers_vat_id' => $vat, 'customers_vat_id_status' => $customers_vat_id_status, 'customers_status' => $customers_status, 'customers_firstname' => $firstname, 'customers_lastname' => $lastname, 'customers_email_address' => $email_address, 'customers_telephone' => $telephone, 'customers_fax' => $fax, 'customers_newsletter' => $newsletter, 'customers_password' => xtc_encrypt_password($password),'customers_date_added' => 'now()','customers_last_modified' => 'now()', 'privacy' => 'now()');
und in create_guest_account.php ersetzen wir
$sql_data_array = array ('customers_vat_id' => $vat, 'customers_vat_id_status' => $customers_vat_id_status, 'customers_status' => $customers_status, 'customers_firstname' => $firstname, 'customers_lastname' => $lastname, 'customers_email_address' => $email_address, 'customers_telephone' => $telephone, 'customers_fax' => $fax, 'customers_newsletter' => $newsletter, 'account_type' => '1', 'customers_password' => xtc_encrypt_password($password));
mit
$sql_data_array = array ('customers_vat_id' => $vat, 'customers_vat_id_status' => $customers_vat_id_status, 'customers_status' => $customers_status, 'customers_firstname' => $firstname, 'customers_lastname' => $lastname, 'customers_email_address' => $email_address, 'customers_telephone' => $telephone, 'customers_fax' => $fax, 'customers_newsletter' => $newsletter, 'account_type' => '1', 'customers_password' => xtc_encrypt_password($password), 'privacy' => 'now()');
Zwei Sachen sind noch zu erledigen, dann sind wir mit dem ersten Punkt auch schon durch. Die Fehlermeldung ist in allen Sprachdateien zu hinterlegen
define('ENTRY_PRIVACY_POLICY_ERROR', 'Sofern Sie unsere Datenschutzrichtlinien nicht akzeptieren können wir Ihre Bestellung bedauerlicherweise nicht entgegennehmen und auch kein Konto für Sie anlegen!');
und die Tabelle customers ist um das neue Feld privacy zu erweitern:
ALTER TABLE `customers` ADD `privacy` DATETIME NOT NULL AFTER `refferers_id` ;
Da die Codedarstellung in WordPress eher dürftig ist gibt es das ganze in dateiweiser Abfolge auch noch einmal in Textform.
Link in der E-Mail
Man kann den Link zur Datenschutzerklärung natürlich einfach kopieren und in die fraglichen Mailtexte templates/[template]/mail/[language]/order_mail.[txt|html] sowie templates/[template]/mail/[language]/create_account_mail.[txt|html] einfügen. Ein hartkodierter Link ist aber nicht wirklich die Ideallösung und sorgt bei einem eventuellen Domainwechsel für unbändige Freude und in der Form http://www.shop.de/shop_content.php/coID/2/content/Privatsphaere-und-Datenschutz/ sieht das auch nicht wirklich prickelnd aus.
Da hilft ein kurzer Eingriff in create_account.php, dort ersetzen wir
$module_content = array ('MAIL_NAME' => $name, 'MAIL_REPLY_ADDRESS' => EMAIL_SUPPORT_REPLY_ADDRESS, 'MAIL_GENDER' => $gender, 'MAIL_ADDRESS' => $gender =="m" ? EMAIL_ADDRESS_M : EMAIL_ADDRESS_F, 'MAIL_LASTNAME' => $lastname, 'MAIL_FIRSTNAME' => $firstname, 'MAIL_USERNAME' => $email_address, 'MAIL_PASSWORD' => $password);
mit
$module_content = array ('MAIL_NAME' => $name, 'MAIL_REPLY_ADDRESS' => EMAIL_SUPPORT_REPLY_ADDRESS, 'MAIL_GENDER' => $gender, 'MAIL_ADDRESS' => $gender =="m" ? EMAIL_ADDRESS_M : EMAIL_ADDRESS_F, 'MAIL_LASTNAME' => $lastname, 'MAIL_FIRSTNAME' => $firstname, 'MAIL_USERNAME' => $email_address, 'MAIL_PASSWORD' => $password, 'HTTP_SERVER' => HTTP_SERVER);
. In send_order.php fügen wir nach
$smarty->assign('PAYMENT_METHOD', $payment_method);
folgendes ein:
$smarty->assign("HTTP_SERVER", HTTP_SERVER);.
In den Bestellmails steht dann {$HTTP_SERVER} als Smarty-Variable zur Verfügung, in <tt>create_account_mail.[txt|html]</tt> ist es {$content.HTTP_SERVER}.
Dem eher unschönen Link rücken wir anschließend noch mit mod_rewrite zu Leibe und erstellen uns eine .htaccess-Datei oder ergänzen eine bereits vorhandene:
### BEGIN privacy policy ###
RewriteRule ^datenschutz/$ shop_content.php?coID=2&language=de
RewriteRule ^privacy/$ shop_content.php?coID=2&language=en
### END privacy policy ###
Konto löschen
Aller guten Dinge sind drei. Fangen wir bei den Sprachdateien an. In lang/[language]/[language].php brauchen wir für die Breadbrumb-Navigation entsprechende Angaben:
define('NAVBAR_TITLE_1_ACCOUNT_DELETE', 'Ihr Konto');
define('NAVBAR_TITLE_2_ACCOUNT_DELETE', 'Konto löschen');
Der Rest wird aus lang/[language]/lang_[language].conf beigesteuert. Den Abschnitt [account] ergänzen wir:
text_delete = 'Konto löschen'
Und den Abschnitt fügen wir komplett neu hinzu:
[account_delete]
heading_delete_account = 'Konto löschen'
heading_account_deleted = 'Konto gelöscht'
delete_account = 'Mit einem Klick auf den Weiter-Button löschen Sie Ihr Konto bei uns. Dadurch werden alle mit diesem Konto verknüpften personenbezogenen Daten gemäß den gesetzlichen Vorgaben unwiederbringlich gelöscht bzw. gesperrt.<p>Bitte beachten Sie, dass sie nach dem Löschen des Kontos daher auch keinerlei Zugriff mehr auf ihre getätigten Bestellungen haben!</p><p>Sie können natürlich jederzeit wieder ein neues Konto erstellen.'
account_deleted = 'Ihr Konto wurde erfolgreich gelöscht.'
</p>
In includes/filenames.php definieren wir noch einen Dateinamen für unsere Datei:
define('FILENAME_ACCOUNT_DELETE', 'account_delete.php');
In account.php bauen wir uns einen Link zur Löschfunktion, nach
$smarty->assign('LINK_PASSWORD', xtc_href_link(FILENAME_ACCOUNT_PASSWORD, '', 'SSL'));
fügen wir
$smarty->assign('LINK_DELETE', xtc_href_link(FILENAME_ACCOUNT_DELETE, '', 'SSL'));
ein.
Die Variable {$LINK_DELETE} steht somit im Template templates/[template]/module/account.html zur Verfügung und kann dort an passender Stelle, beispielsweise unter dem Link zur Passwortänderung, platziert werden.
Auch diese Änderungen finden sich der Übersicht halber nochmal in der Textdatei, account_delete.php und das zugehörige Template stehen ebenfalls zum Download bereit.
Wichtiger Hinweis: Derzeit sieht die “Account löschen”-Funktionalität keine weiteren Sicherheitsabfragen vor! Wer das braucht muss es selbst implementieren! Da xt:Commerce sämtliche Informationen bei einer Bestellung in die order-Tabelle kopiert sind durch das Löschen eines Benutzeraccounts weiterhin alle Rechnungen im vollen Umfang abrufbar.
[tags]xtc, xt:commerce, datenschutz, privacy[/tags]
Zu den E-Mail-Formvorschriften hätte ich folgende Idee (…im Core, bäh…):
In der inc/xtc_php_mail.inc.php jeweils (gibbet zweimal, für HTML und Plain Text Mails) nach
$message_body_plain=strip_tags($message_body_plain);
ungefähr folgendes einsetzen:
Im Text-Block kann man auf die Angaben für $message_body_html verzichten.
Cheers,
IaN
Ach, Mist, im HTML-Block fehlen die <br> – hab’ doch glatt den BBCode vergessen…
Ich war so frei das mal zu korrigieren.
Funktioniert bei mir nicht.
Habe Folgendes eingegeben:
————-
$message_body_html .= “———-VIVARISJ.Carlos Q.Fernandes
Pfaffenberg 50D-42659 SolingenDeutschland
Tel.: +49-212-2442948Fax: +49-212-2442949
E-Mail: kontakt@vivaris.deInternet: http://www.vivaris.de“;
$message_body_plain .= “\n\n———-\nVIVARIS\nCarlos Fernandes\n
Pfaffenberg 50\nD-42659 Solingen\nDeutschland\n
Tel.: +49-212-2442948\nFax: +49-212-2442949\n\n
E-Mail: kontakt@vivaris.de\nInternet: http://www.vivaris.de“;
// end add
$mail->AltBody = $message_body_plain;
} else {
$mail->IsHTML(false);
//remove html tags
$message_body_plain = str_replace(”, ” \n”, $message_body_plain);
$message_body_plain = strip_tags($message_body_plain);
$mail->Body = $message_body_plain;
——————
huhu, wirklich gute arbeit, funktioniert soweit alles. habe es auf 3.04 getestet. wie schaut es btw mit der version 3.03 aus? ist die anleitung übertragbar? grüße
Ian (der erste hier) hat im xt:Commerce-Forum gepostet, dass für 3.03 nur zwei Änderungen notwendig wären. Vielleicht kann er die ja hier kurz offenbaren ;-)
Hallo,
super, habe es bei uns installiert, funktioniert
soweit.
Nur eine Frage hätte ich noch, wie sieht es mit
den bestehenden Kunden aus, die müssten doch
der Datenschutzerklärung auch noch zustimmen?
Gruss
Thomas
Bei mir geht es Leider nicht muß an dieser Zeile liegen
$smarty->assign(‘PRIVACY_LINK’, $main->getContentLink(2, ACCEPT_PRIVACY, “class=’popup’”));
bekomme immer diesen Fehler
Fatal error: Call to a member function on a non-object in /var/www/web2/html/create_guest_account.php on line 369
Die Content ID ist aber richtig
https://www.it-friesen.de/shop_content.php/coID/2/content/Privatsph-re-und-Datenschutz
Hat eine ne Idee maß ich ändern muß
Welche Shop-Version hast du im Einsatz?
Für Bestandskunden habe ich nichts in petto.
Die 3.0.4
XTC 3.0.4
Hab das gerade noch einmal mit einer unmodifizierten 3.04 SP 2.1 getestet, da sind sowohl $smarty als auch $main ein Objekt.
Du kannst mal versuchen, dir den Link über xtc_href_link() selbst zusammenzuschrauben, um Probleme mit dem $main-Objekt auszuschließen, denn das $smarty-Objekt brauchst du ja auf jeden Fall, sonst würdest du keinerlei Ausgabe haben.
Vielen Dank für die Lösung.
Alle Links sind da, das “abnicken” bei Konto-erstellen funktioniert.
Klickt man jedoch auf “Konto löschen” dann wird die account_delete.php angezeigt aber nicht ausgeführt. Was habe ich vergessen?
Die filename.php wurde auch ergänzt.
Danke und Grüße!
Was meinst du mit ‘wird angezeigt, aber nicht ausgeführt’? Siehst du eine weiße Seite, Fehlermeldungen?
Hallo.
Erst einmal vielen Dank für diese Lösung.
Es funktioniert auch alles soweit bis auf das Löschen des Kundenkontos. Bei mir wird die account_delete.php lediglich angezeigt und nicht ausgeführt.
Was habe ich vergessen?
Hallo
Nette Anleitung. Nur Leider stimmt die Anleitung mit der SP2.1 nicht.
Es fehlen Einträge in der create_account.php
if ($customers_status == 0 || !$customers_status)
Das gibt es nicht.
und
$sql_data_array = array (‘customers_vat_id’ => $vat, ‘customers_vat_id_status’ => $customers_vat_id_status, ‘customers_status’ => $customers_status, ‘customers_firstname’ => $firstname, ‘customers_lastname’ => $lastname, ‘customers_email_address’ => $email_address, ‘customers_telephone’ => $telephone, ‘customers_fax’ => $fax, ‘customers_newsletter’ => $newsletter, ‘customers_password’ => xtc_encrypt_password($password),’customers_date_added’ => ‘now()’,'customers_last_modified’ => ‘now()’);
das auch nicht.
Was kann ich nun tun ??
Danke
Mike
Hallo
Nette Anleitung. Nur Leider stimmt die Anleitung mit der SP2.1 nicht.
Es fehlen Einträge in der create_account.php
if ($customers_status == 0 || !$customers_status)
Das gibt es nicht.
Was kann ich nun tun ??
Danke
Mike
Genau hinschauen.
if ($customers_status == 0 || !$customers_status)
ist in Zeile 213
$sql_data_array = array (‘customers_vat_id’ => $vat, ‘customers_vat_id_status’ => $customers_vat_id_status, ‘customers_status’ => $customers_status, ‘customers_firstname’ => $firstname, ‘customers_lastname’ => $lastname, ‘customers_email_address’ => $email_address, ‘customers_telephone’ => $telephone, ‘customers_fax’ => $fax, ‘customers_newsletter’ => $newsletter, ‘customers_password’ => xtc_encrypt_password($password),’customers_date_added’ => ‘now()’,'customers_last_modified’ => ‘now()’);
in Zeile 218 (jeweils unmodifiziertes, frisch geladenes xt:Commerce 3.04 SP 2.1)
Hi Matt,
vielen Dank für diese super Anleitung! Funktioniert auf Anhieb!
Gruß
Marcus
Hi Matt,
templates/[template]/modules und templates/[template]/modules/create_account.html:
/*———————————————————————————————–*/
An passender Stelle den Codeblock einfügen:
{#text_delete#}
**********************
Ich denke, dass dieser Link NUR in der account.html eingebaut werden soll! Oder liege ich da falsch?
Sonst vielen, vielen Dank für diesen genialen “hack� ;-)
Gruß
Jan
Hi Matt,
templates/[template]/modules und templates/[template]/modules/create_account.html:
/*———————————————————————————————–*/
An passender Stelle den Codeblock einfügen:
{#text_delete#}
**********************
Ich denke, dass dieser Link NUR in der account.html eingebaut werden soll ujnd sicher nicht in der create_account.html (so steht es in Deiner Textdatei geschrieben)! Oder liege ich da falsch?
Sonst vielen, vielen Dank für diesen genialen “hack� ;-)
Gruß
Jan
Ja, muss natürlich account.txt sein. Danke für den Hinweis, wurde korrigiert.
Hallo,
ich möchte bei meinem Shop gerne auch dsas der Kunde den Datenschutz, so wie die AGBs auch beim Bestellen bestätigen muss.
Wie kann ich das probieren?
Ich habe schon alles so einfach in checkout_payment.html eingefügt, aber es funktioniert nicht…
Hallo Matt,
bei meinem Shop möchte ich dass der Kunde den Datenschutz, so wie die AGBs auch, beim Bestellen bestätigen muss.
Wie kann ich das umsetzen?
Ich habe schon alles in checkout_payment.html eingefügt, aber es funktioniert nicht…
Kannst Du mir bitte sagen, wie ich das anstellen kann?
bei meinem xtc3.03 funktionierts nicht, zur Zeit hänge ich bei der Meldung
Fatal error: Call to undefined function: getcontentlink() in /var/www/web7/html/xtc/create_account.php on line 508
Kann mir jemand helfen?
Du musst folgendes ändern
create_account_guest.html und create_account.html:
An passender Stelle die Smarty-Variablen einfügen:
{$CHECKBOX_PRIVACY}
{$PRIVACY_LINK}
nicht {$PRIVACY_LINK} eintragen sondern den direkten Link
<a href=”https://www.it-friesen.de/shop_content.php?coID=2″ rel=”nofollow”>Ich akzeptiere Ihre Datenschutzrichtlinien</a>
#<a href=”https://www.it-friesen.de/shop_content.php?coID=2″ rel=”nofollow”>Ich akzeptiere Ihre Datenschutzrichtlinien</a>#
du musst natürlich deine webseite angeben.
bei mir kommt immer noch die Meldung
Fatal error: Call to undefined function: getcontentlink() in /var/www/web7/html/xtc/create_account.php
Wo und wie muß die Funktion getcontentlink() definiert werden?
Vielleicht kannst Du mir mal alle Änderungen beschreiben die bei einem xtc3.03 abweichen von der Beschreibung Oben, ich finde z.B. auch nicht die Zeile
if ($customers_status == 0 || !$customers_status)
in der create_account.php.
und diemal hoffentlich mit link…
Davor einfügen (’coID=x’ und class anpassen):
// BEGIN privacy policy
$smarty->assign(‘PRIVACY_LINK’,'#<a href=”‘.xtc_href_link(FILENAME_CONTENT, ‘coID=2′, ‘SSL’).’” rel=”nofollow”>’.ACCEPT_PRIVACY.’</a>#’);
$smarty->assign(‘CHECKBOX_PRIVACY’, ”);
// END privacy policy
Nun funktionierts auch in meinen Shops.
Dank an alle die mir halfen.
Danke schön!
hat sich erledigt, es funktioniert doch mit C&P, habe nur eine Funktion vergessen ^^
So, nun… Ich hatte ja immer noch vor, die notwendigen Änderungen für die Version 3.0.3 zu posten – also, sind tatsächlich drei, nicht zwei:
Zunächst mal die Änderung an der Datenbank:
ALTER TABLE `customers` ADD `privacy` DATETIME NOT NULL AFTER `refferers_id`;
…wird nicht gehen, da es das Feld refferers_id in der 3.0.3 nicht gibt. Kein Problem, nimmt man halt das, was da ist:
ALTER TABLE `customers` ADD `privacy` DATETIME NOT NULL AFTER `password_request_key`;
Dann das Datenbank-Update in der create_account.php und create_guest_account.php:
In der 3.0.3 heisst die Variable mit der Kundengruppe NICHT $customers_status, sondern $customer_group – lässt man den $customers_status drin, werden alle neuen kunden Admin…
ALSO: Anstatt nach
if ($customers_status == 0 || !$customers_status)
suchen nach
if ($customer_group == 0 || !$customer_group)
und Matts Code danach einfügen. Und ganz wichtig:
In $sql_data_array
‘customers_status’ => $customers_status
ersetzen durch
‘customers_status’ => $customer_group
Die dritte Änderung betrifft das getcontentlink, aber da hat Friesen schon den richtigen Weg aufgezeigt – ich hab’s auch erstmal mit nem hart codierten Link gemacht, werde aber wohl früher oder später noch versuchen, die getcontentlink aus einer 3.0.4 (ist in der main.php) in meinen 3.0.3 reinzupfriemeln – sieht halt besser aus, wenn man nur die Datenschutzerklärung hat ohne den “Rest” des Shops drumrum…
So, hoffe, ich hab nix vergessen!
Cheers,
IaN
Hmmm… Was soll man glauben?
http://www.pc-service-backes.de/forum/index.php/topic,467.0.html
(nimmt Bezug auf das Blog von TrustedShops: http://www.shopbetreiber-blog.de/2007/03/02/keine-neue-abmahnwelle-durch-telemediengesetz-tmg/ )
Alles wieder zurückbauen?
Habs heut auch gelesen. Allerdings frage ich mich, warum sich Trusted Shops mit dieser ‘Erklärung’ so lange Zeit läßt und das erst nach dem Inkrafttreten des Gesetzes per Newsletter veröffentlicht.
Ich sach ma:
Drinlassen schadet nicht. IANAL, aber wenn ich mir den Text des TMG durchlese (beispielsweise hier: http://www.telemedien-und-recht.de/#a10), dann sehe ich das schon für erforderlich an:
Ist halt die Frage: Wie definiert man ‘automatisiertes Verfahren’? Denn personenbezogene Daten werden bei einer Bestellung auf jeden Fall erhoben…
Was macht eigentlich der absolute Laie, der ich nun mal bin. Gibt es irgend wo Hilfe oder jemanden der einem die Änderungen einspielt?
Ich habe folgende Version: xt:Commerce v3.0.4 SP1
Besten Dank für eine Antwort.
Peter
>> Denn personenbezogene Daten werden bei einer Bestellung auf jeden Fall erhoben…
Diese stehen aber schon seit jeher unter dem Schutz des BDSG. Und das zur Abwicklung einer Bestellung Name und Adresse (online ggf. E-Mail) nötig sind, steht ausser Frage. Die bisherige und bewährte Praxis, eine Zustimmung NUR zu erfordern, wenn die Daten an Dritte weitergegeben werden (sieht man auf jedem Papier-Bestellschein: “Wenn Sie auch Angebote von unseren Partnern erhalten wollen…”) müsste doch ausreichen?!?
Okay, inwieweit z.B. Google Analytics als “Dritter” gewertet wird – es geht ja hier um Cookies (die die zuständigen Politiker wahrscheinlich immer noch für Kekse halten) bleibt nach wie vor offen.
Ganz abgesehen davon scheint die Datenschutzerklärung wettbewerbsrechtlich nicht relevant, so dass eine Abmahnung in diesem Punkt sowieso unwirksam wäre. Dazu zitiere ich nochmal aus dem TrustedShops-Blog:
“Andererseits haben bislang mehrere Gerichte entschieden, dass Datenschutzverstöße nicht abmahnfähig sind, so. z.B. das LG Essen 2003: “§ 4 TDDSG ist eine wertneutrale Vorschrift, so dass ein Verstoß gegen § 4 TDDSG nicht die Wettbewerbswidrigkeit zur Folge hat.â€? Nicht nachvollziehbar ist, warum dies bei § 13 TMG anders sein sollte.”
Link zum LG Essen:
http://www.jurpc.de/rechtspr/20030312.htm
Für mich ist das Ganze ein zweischneidiges Schwert – einerseits lese *ich* mir Datenschuzuerklärungen jetzt auch durch, wenn ich sie extra akzeptieren muss, andererseits ist unser Umsatz im Shop seit Einbau der Checkbox um ca. 30% eingebrochen…
Hallo,
finds klasse, dass hier so tolle Hilfe angeboten wird!!!
Ich werde mir auf jeden Fall die DSE einbauen, wenn auch nicht abmahnfähig so trotzdem bußgeldfähig (bis 50.000 Euro) …
Trotzdem, ich hab Probleme beim “verstehen”.
Als Info – bin total neu was das hier betrifft und versuche mich an einem shop und hoffe, dass es mir gelingt.
Vielleicht kann mir jemand auf die Sprünge helfen – ich schnalls nicht:
wo (welche Datei)muß das hier eingebaut werden:
Neues Feld in der Tabelle ‘customers hinzufügen:
/*———————————————————————————————–*/
ALTER TABLE `customers` ADD `privacy` DATETIME NOT NULL AFTER `refferers_id` ;
Schon mal ganz herzlichen Dank!!!
Das wird nicht in eine Datei eingetragen, sondern ist ein SQL-Statement zum ändern der customers-Tabelle.
Mit einem Tool deiner Wahl, beispielsweise phpMyAdmin, kannst du mit diesem Statement die Datenbank entsprechend modifizieren.
DANKE!!!
Hi Matt,
ganz herzlichen Dank für die Hilfe – sogar ich als Laie habe das hinbekommen!
Grüße
tobb
Hi Matt,
was passiert eigentlich, wenn ich meinen Neukunden einen Rabatt einräume?
Nun löscht Kunde XY gleich nach der ersten Bestellung sein Konto (weil er vielleicht der Meinung ist, er würde sowieso nie wieder was bei mir bestellen) und registriert sich kurze Zeit später erneut (weil er nun doch noch mehrere meiner Artikel kaufen will)! Wird für diesen Kunden erneut der “Neukundenrabatt” fällig, oder “merkt” das System, dass dieser Kunde (vorrausgesetzt die angegebenen Daten sind identisch) bereits irgend wann einmal ein Neukunde war? Ich gehe mal davon aus, dass so etwas nicht unbedingt mutwillig passieren muss!
Danke und Gruß
Jan
Jan, das Problem ließe sich lösen, indem du die Daten anstatt zu löschen sperrst und bei der Neuanmeldung eine Überprüfung auf diese gesperrten Daten loslässt, um den Kunden somit als Altkunden zu identifizieren.
Allerdings bin ich kein Anwalt und kann dir daher auch nicht sagen, ob so eine Prüfung mit gesperrten Daten zulässig ist.
OK Mantt, das kann dann wahrscheinlich wirklich nur ein Anwalt entscheiden.
Ich denke, ich werde einfach meinen Neukunden keinen Rabatt gewähren und umgehe das Problem auf diese Art ;-)
Vielen Dank für Deinen Beitrag
Jan
Hallo,
tolle Erweiterung (auch wenn ich die Privacy schon drin hatte – aber ohne eMail-Link und Lösch-Funktion) ;-)
Nun aber mal eine Frage Du schreibst ja:
“Die Zustimmung muss nachprüfbar gespeicht werden.”
Wo kann ich das denn im Notfall nachweisen, das der Kunde das akzeptiert hat? Finde das nirgends im Admin-Bereich, bis jetzt nur in der SQL Datenbank gesehen, aber reicht das als Nachweis wenn das ne “Laie” (z.B. Anwalt) sehen will?
Gruß
Mirko
Hallo,
wirklich super Matt.
Ich habe alles eingebaut un soweit funktioniert es auch. Nur wenn ich die Datenschutzrichtlinien akzeptiere und auf weiter klicke bekomme ich die Meldung, dass ich die Richtlinien akzeptieren muss.
Die Abfrage findet doch hier statt:
// BEGIN privacy policy
if(!isset($privacy) || empty($privacy)) {
$error = true;
$messageStack->add(‘create_account’, ENTRY_PRIVACY_POLICY_ERROR);
}
// END privacy policy
Ich benutze local XAMPP aber auf dem Webserver funktioniert es auch nicht.
Ja, aber das hier nicht vergessen:
// BEGIN privacy policy
$privacy = xtc_db_prepare_input($_POST['privacy']);
// END privacy policy
@Mirko: Da hab ich noch nicht wirklich drüber nachgedacht. Aber es macht ja eigentlich keinen Unterschied, ob du dem Anwalt das mit phpMyAdmin oder mit dem Admin-Tool vom Shop zeigst. IMHO.
Naja stimmt eigentlich, würde aber noch schöner sein das im admin bereich zu sehen ;-)
Gruß
Mirko
Hi, nett e Sache nur kann man die Sache mit der DB nicht bebildert darstellen? Also für Newbies weil ich hab da meine Probleme und weis nicht, was in welches Feld kommt.
Anbei ein Screenshot damit du weist wovon ich rede
http://img168.imageshack.us/img168/8230/dbtt1.jpg