OxDBOptIn Bug nicht gelöst


#1

Hallo,
der Bugeintrag: https://bugs.oxid-esales.com/view.php?id=2777 wurde scheinbar ohne Änderung/Lösung auf erledigt gesetzt.
“Newsletter - Users already subscribed for newsletter shouldn’t be set to oxdboptin = 2 when they subscribe again.” Das Problem besteht weiterhin auch in der 4.10.4 und kann über die Tabelle oxNewssubscribed und dem Feld oxDboptin gut nachvollzogen werden.

Einen Kommentar dazu schreiben oder so kann ich nicht. Kann den Bugeintrag mal wieder jemand öffnen?

cya


#2

Das liegt m.A.nur daran, dass die Einträge gelöscht werden, wenn der Newsletter erneut abonniert wird:

//removing user from subscribe list before adding
$oUser->setNewsSubscription(false, false);

Ich würde Zeile 157 auskommentieren und den Hinweis in Zeile 168 anpassen bzw. einen neuen Wert einfügen:

//removing user from subscribe list before adding
//$oUser->setNewsSubscription(false, false);
oxRegistry::get("oxUtilsView")->addErrorToDisplay('MESSAGE_NOT_ABLE_TO_SEND_EMAIL');
'MESSAGE_NOT_ABLE_TO_SEND_EMAIL'                              => 'Leider konnten wir Ihnen keine E-Mail zustellen. Wird die E-Mail-Adresse vielleicht schon verwendet?',

#3

Hab ihn wieder aufgemacht: https://bugs.oxid-esales.com/view.php?id=2777#c12113

Gruß


#4

Hallo,
du meinst wahrscheinlich die controllers/newsletter.php.
So wie ich die Stelle verstehe:

 if ($blSubscribe && $blUserLoaded) {...

hier wird ja geprüft, ob es sich um NL-Abonenten handel und ob der User geladen werden kann. Hier dürfte doch das erste Problem sein, denn es handelt sich ja gerade nicht um eingeloggte User, sondern um reine Newsletterabonnenten oder Leute ohne Kundenkonto.
Mit dem $blUserLoaded werden doch nur eingeloggte User abgefangen?

Somit müsste man noch den Fall abfange, dass es kein (registrierter) User ist, aber ein Newsletterabonent.

Dass der Eintrag grundsätzlich neu generiert wird finde ich noch ok. Es gibt ja auch eine neue oxid der Usertabelle. Der Eintrag in der Newssubscribed scheint aber nur aktualisiert zu werden und einige Daten übernommen zu werden, aber eben nicht der Status der oxDBOPTIN.

Ein ähnliches Problem hat auch ein reiner Newsletterabonent, wenn er als Gast bestellt. Die DoubleOptIn Bestätigung inkl. Newsletterregistrierung ist weg.

cya


#5

Grmf,
das Problem, bzw. die Ursache, wurde bereits im April 2013 gemeldet und nichts gemacht. :mad:

https://bugs.oxid-esales.com/view.php?id=5040
https://bugs.oxid-esales.com/view.php?id=6146

Aus Marketingsicht ein SuperGAU! Reine Newsletterabonenten und Gastbesteller werden bei jeder neuen (Gast-)Bestellung aus dem Newsletter ausgetragen ohne dass diese es merken.

cya


#6

Sorry, ja die Datei war gemeint. Also ich kann mich mit der Änderung eingeloggt und nicht eingeloggt als Newsletterabonent registrieren. Weitere Tests habe ich noch nicht gemacht.


#7

Hallo,
na toll. Der Bug https://bugs.oxid-esales.com/view.php?id=5040 wurde nach 4 Jahren mit “No Change Required” auf erledigt gesetzt. Es schein ja ein neuere Ticket mit demselben Bug zu geben. So kann man auch seine Ticketstatistik schönen.
Der Bug besteht aber weiterhin.
:eek:
:mad:


#8

Der Bug scheint immer noch präsent. Die Lösung von foxido funktioniert noch bei uns. Vielen Dank! Bei einem Update ist die Änderung jedoch weg.


#9

Patches bzw. composer-patches wäre vielleicht hilfreich. Never change the core. patch sollte nativ bereits auf vielen Systemen verfügbar sein.