|
|
@@ -39,8 +39,16 @@ omschrijft die stand zelf zo:
|
|
|
|
|
|
Bevestiging geldt dus alleen voor ANONIEME bezoekers. Een app-gebruiker is
|
|
|
per definitie ingelogd en wordt direct (un)subscribed — net als op
|
|
|
-/user/<uid>/simplenews. Daarom staat `custom_nieuwsbrieven_confirm` op
|
|
|
-FALSE: zo doet de app exact hetzelfde als de website.
|
|
|
+/user/<uid>/simplenews.
|
|
|
+
|
|
|
+⚠️ Simplenews past die regel NIET zelf toe. simplenews_subscribe_user()
|
|
|
+bevat geen enkele check op de ingelogde gebruiker; hij doet blind wat de
|
|
|
+$confirm-parameter zegt. De formulieren bepalen die waarde, met
|
|
|
+simplenews_require_double_opt_in($tid, $account) — FALSE zodra het
|
|
|
+mailadres van de ingelogde gebruiker zelf is, anders de opt-in-methode.
|
|
|
+Deze resource roept precies diezelfde functie aan, dus de app volgt de
|
|
|
+website automatisch, ook als de opt-in-instelling ooit wijzigt. Je hoeft
|
|
|
+er geen variabele voor te zetten.
|
|
|
|
|
|
Dit verklaart ook het cijfer dat eerder verdacht leek. Gemeten over de hele
|
|
|
database (tid 1, een oude restterm, niet meegeteld):
|
|
|
@@ -57,10 +65,10 @@ er in tien jaar nul zijn bevestigd — dat is een lage conversie op de
|
|
|
publieke formulieren en misschien ooit een eigen kijkje waard, maar het
|
|
|
raakt de app niet.
|
|
|
|
|
|
-WIL JE HET TOCH MET BEVESTIGING (dan blijft het abonnement op status 2 tot
|
|
|
-de gebruiker op de link klikt — de app toont die stand al):
|
|
|
+NOODREM (normaal niet nodig): custom_nieuwsbrieven_confirm overrulet de
|
|
|
+functie hierboven. Niet gezet = automatisch, 1 = altijd bevestigingsmail,
|
|
|
+0 = nooit.
|
|
|
drush @uitgaanskrant.com vset custom_nieuwsbrieven_confirm 1
|
|
|
-Terug naar direct abonneren:
|
|
|
drush @uitgaanskrant.com vdel custom_nieuwsbrieven_confirm
|
|
|
|
|
|
|
|
|
@@ -252,14 +260,24 @@ function _custom_nieuwsbrieven_wijzig($tid, $aan) {
|
|
|
// Al actief? Niets doen. Anders stuurt simplenews bij confirm=TRUE tóch
|
|
|
// een mail ("je bent al ingeschreven") bij elke dubbele tik.
|
|
|
if ($huidig !== 1) {
|
|
|
- // FALSE (default) = meteen actief, geen mail. Dit is wat de
|
|
|
- // opt-in/out-methode "Double" voorschrijft: anonieme bezoekers
|
|
|
- // krijgen een bevestigingsmail, ingelogde gebruikers worden
|
|
|
- // direct (un)subscribed. Een app-gebruiker is altijd ingelogd.
|
|
|
- // TRUE = bevestigingsmail; het abonnement blijft dan op status 2
|
|
|
- // tot de gebruiker op de link klikt.
|
|
|
- $confirm = (bool) variable_get('custom_nieuwsbrieven_confirm', FALSE);
|
|
|
- simplenews_subscribe_user($account->mail, $tid, $confirm, 'app');
|
|
|
+ // Wel of geen bevestigingsmail? Niet zelf beslissen, maar exact
|
|
|
+ // dezelfde regel volgen als het websiteformulier: dat roept
|
|
|
+ // simplenews_require_double_opt_in() aan. Die geeft FALSE zodra het
|
|
|
+ // mailadres van de ingelogde gebruiker zelf is, en valt anders terug
|
|
|
+ // op de opt-in/out-methode van de nieuwsbrief. Een app-gebruiker is
|
|
|
+ // per definitie ingelogd, dus dit levert hier altijd FALSE op:
|
|
|
+ // meteen actief, geen mail. Verandert de opt-in-instelling ooit, dan
|
|
|
+ // volgt de app vanzelf mee.
|
|
|
+ //
|
|
|
+ // Let op: simplenews_subscribe_user() kijkt NIET zelf of iemand
|
|
|
+ // ingelogd is -- hij doet blind wat deze parameter zegt. De
|
|
|
+ // "Double"-stand wordt dus door de aanroeper toegepast, niet door
|
|
|
+ // simplenews.
|
|
|
+ $confirm = variable_get('custom_nieuwsbrieven_confirm', NULL);
|
|
|
+ if ($confirm === NULL) {
|
|
|
+ $confirm = simplenews_require_double_opt_in($tid, $account);
|
|
|
+ }
|
|
|
+ simplenews_subscribe_user($account->mail, $tid, (bool) $confirm, 'app');
|
|
|
}
|
|
|
}
|
|
|
else {
|