< návrat zpět

Diskuse


Téma: Newsletter bez registrace rss

Zaslal/a 1.4.2020 23:53

Ahoj ještě jednou. Dávám nový téma jelikož se jedná o úplně jiný dotaz.I když s formulářema moc neumím, to už víme.. 1

SL je připraven na hromadné rozesílání emailů, ale pro registrované. To na svém webu potřebovat nebudu.
Nechat si přes formulář jen zasílat adresy uživatelů a řešit to externě také nechci.
Chci zachovat skutečnost, že pro přihlášení k newsletteru stačí zadat pouze email - alespoň než databázi začne plnit nějaký spambot, tam mi napomáhej až budoucí skutečnosti.

Takže mě napadlo to řešit přes SL a trošku očůranou registrací.

Moje vidina je následující, vezmu registrační formulář, na jméně nezáleží, takže necháme vygenerovat náhodné jméno, dostatečně dlouhé, aby se negenerovali stejné (je to jedno, uvidím jen já v administraci), to samé provedeme s heslem, jen je potřeba ho napsat dvakrát, email si zadá uživatel, všechny pole kromě emailu dáme jako hidden.

Provedu fígl z mého minulého dotazu od Jirky Daňka, udělá se z toho hcm a pomocí parseHCM to nechám vypsat šablonou.

Našel jsem si funkci na generování náhodného řetezce (ale asi ji neumím správně použít)
<?php
$random = substr(md5(mt_rand()), 0, 7);
echo $random;
?>


Takže můj modul pro registraci jen za pomocí emailu by teď vypadal nějak takto
<?php
/* --- kontrola jadra --- */
if (!defined('_core')) {
exit;
}

/* --- definice funkce modulu --- */
function _HCM_search()
{
if (_search) {
return "<form action='index.php?m=reg' method='post' name='regform' />

<input type='text' name='username' class='inputsmall' maxlength='24' value="$random = substr(md5(mt_rand()), 0, 20); echo $random;" />
<input type='hidden' name='password' class='inputsmall' value="$random2 = substr(md5(mt_rand()), 0, 12); echo $random2;"/>
<input type='hidden' name='password2' class='inputsmall' value="echo $random2;"/>
<input type='text' name='email' class='inputsmall' placeholder="Vas @ email.cz - Přihlásit se k odběru" />
<input type='hidden' name='massemail' value='1' checked='checked' />
<input type='submit' class="btn delicious-btn w-100" value='Ano, chci senzační emaily' />
" . _xsrfProtect() . "
</form>
";
}
}


nicméně to samozřejmě nefunguje, jak bych si předtsavoval..

Budu vděčný, když byste se mi na to někdo podíval 7

Zaslat odpověď >

#022075
A tenhle http://sunlight.shira.cz/ke-stazeni/hcm-moduly/newsletter-zasilani-novinek by nefungoval?
#022076
Teď jsem si ušetřil trochu času a zrovna jsem to chtěl taky napsat. To co jsi vymyslel, byl trošku fujtajbl zavánějící problémem.

Rád bych upozornil, že i toto HCM není výhra... je letité, neudržované a nerespektuje současné požadavky GDPR. Jde tam hlavně o ten sběr emailových adres, bylo by potřeba určitě doplnit ukládání data, IP (?u neregistrovaných?) a času přihlášení k odběru. Protože bez uživatelem potvrzeného souhlasu nesmíš s jeho údaji nakládat. Řekl bych, že newsletter není oprávněný zájem jako například email pro vytvoření a aktivaci účtu. A ani na ten bez souhlasu nesmíš zasílat nic víc než emaily třeba na reset hesla, prostě nic co není spojeno se základní funkčností.
#022077
hele, fungoval :) a to jsem stránku s hcm moduly prolejzal, ale tohle jsem nějak opomenul 7 7

datum přihlášení k newsletteru ukláda do db v linux formátu, v administraci se přeloží, ipku nevím, jsem na localu, vypisuje "::1", což nevím zda je správně či nikoli.. GDPR není u newsletteru zas tak přísné, je třeba jen doplnit link na prohlášení o ..

jediná škoda, že to při přihlášení neodešle nějaký děkovný email, případně i s potvrzovacím odkazem.. ale to už chci moc..

každopádně vřelé díky 1
#022078
Doporučuji přečíst: https://www.lupa.cz/clanky/gdpr-last-minute-co-musite-splnit-kdyz-sbirate-e-maily-pro-posilani-newsletteru/

Nechci sem kopírovat celý článek, ale pro budoucí čtenáře kdyby článek náhodou neexistoval sem dám odstavec.

Jedním účelem je naplnění smluvního vztahu či právní povinnost (informování zákazníka o potvrzení objednávky, fakturace apod.). Dalším samostatným účelem je pak použití e-mailových adres k rozesílání newsletterů, což pro samotné plnění smlouvy není nezbytné.

Jelikož se jedná o oddělený účel zpracování, které navíc nepodléhá oprávněnému zájmu či nevyplývá z právní povinnosti, je nutné pro něj získat od zákazníka souhlas.

Poznatek k HCM:
Zkusmo jsem si nahodil to HCM doma, mě vypisuje IP 127.0.0.1, ale ::1 je ekvivalent podle protokolu IPv6. Po odhlášení emailu z odběrů, zůstává i nadále v DB jen se stavem active=0. Myslím si, že by bylo lepší kdyby ten email byl odstraněn, protože uživatel nadále nesouhlasí se zasíláním emailů a tím pádem není důvod jeho email udržovat. To už asi porušuje GDPR, třeba mě někdo opraví nebo doplní...
#022079
S tím posledním souhlasím, navíc uživatel se po odhlášení už nemůže sám znovu přihlásit. Jednak je to nešikovné a druhak ano, tahle část už asi bude v rozporu s GDPR.

php moc neovládám, záznam z db vymazat neumím, ale úpravou řádku 26 z
[code if (DB::update(_mysql_prefix . "-massemail", "email='" . DB::esc($_POST['email']) . "'", array('active' => 0))) {][/code]
na
if (DB::update(_mysql_prefix . "-massemail", "email='" . DB::esc($_POST['email']) . "'", array('email' => 0,'time' => 0,'ip' => 0))) {
se přepíše nulou adresa, čas i IP. Tudíž to vyřeší oba výše zmíněné problémy.

Tvá citace platí v případě třeba eshopu. Nakupuju-li zboží a při odesílání objednávky vyplňuji email, musím dát zvlášť jasný souhlas se zasíláním newsletterů, tj. zaškrtávácí políčko někde poblíž. V opačném případě můj mail použijí jen na věci ohledně objednávky. To je ten oprávněný zájem, právní povinnost, povinné plnění a podobně. Jinými slovy moji adresu primárně nezískali pro účely rozesílání obchodních sdělení a pokud je chci dostávat, musím k tomu dát zvlášť souhlas.

Já třeba nic neprodávám, můj formulář jasně říká, že se jedná o přihlášení k newsletteru, má jen jedno pole pro adresu a pod ním je odkaz na prohlášení o ochraně osobních údajů, kde dle zákona musím uživatele informovat jak s údaji nakládám.. Ostatně tak nějak to vypadá, když se člověk mrkne na formuláře k přihlášení k newsletteru velkých firem a webů.. Ale právní věci ohledně webu ať už si řeší každý sám 1
#022080
sakra, ujela mi značka.. ale asi je to jasné..
#022081
Další počtení https://elegal.cz/upload/143-sber-e-mailu-podle-gdpr-infografika.pdf

Mazání by vypadalo asi takto, ale nezavíral bych ho do ifu. Schoval bych to za jinak danou podmínku (nejspíše DB::count()). To HCM je prostě nešťastně řešené a zastaralé. Použitelné sice je, ale chce to dost úprav.
DB::query("DELETE FROM `" . _mysql_prefix . "-massemail` WHERE email=" . DB::esc($_POST['email']))
Pro aktuální verzi systému již nic neprogramuji, jen supportuji... takže tě nasměruji, ale přepisovat to nebudu.
#022082
No, necháme to asi tak.. rád se něco přiučím, ale potřebuji dělat další věci a tohle je pro teď dostatečně funkční (alespoň v poměru k nárokům)..

ještě jednou děkuji 1
#022083
Jo ten modul by potřeboval asi revizi, ale momentálně můj časový fond na to asi stačit nebude.
Což mě navádí k myšlence, že ho někde taky mám použitý. Musím se podívat a pokud ano, tak asi budu muset tu revizi udělat.