Commit Graph

42 Commits

Author SHA1 Message Date
David Remer
f5c678ec2d Initialize session when no ID exists
[MAILPOET-4514]
2022-11-24 09:20:39 +01:00
David Remer
223625bd9b Use constant for endpoint
[MAILPOET-4514]
2022-11-24 09:20:39 +01:00
David Remer
fbd7cf8cc7 Use SubscriberEntity instead of the Model
[MAILPOET-4514]
2022-11-24 09:20:39 +01:00
David Remer
26c7e4d1cc Use null instead of empty string
[MAILPOET-4514]
2022-11-24 09:20:39 +01:00
David Remer
4832771185 Refactor the captcha system
The current Captcha class has a lot of responsibilities. It renders the captcha
image, can check if a certain captcha type is a Google captcha, if a captcha is
required for a certain email. The SubscriberSubscribeController is not only in
charge of "controlling" the subscription process but also validates, whether a
captcha is correct or not. This architecture made it difficult to extend the
functionality and introduce the audio captcha feature.

Therefore this commit refactors the captcha architecture and tries to seperate
the different concerns into several classes and objects. Validation is now done
by validators.

The CaptchaPhrase now is in charge of keeping the captcha phrase consistent
between the image and the new audio, so that you can renew the captcha and both
captchas are in sync.

[MAILPOET-4514]
2022-11-24 09:20:39 +01:00
David Remer
7fb8d64628 Rename CaptchaRenderer to CaptchaFormRenderer
[MAILPOET-4203]
2022-11-24 09:20:39 +01:00
David Remer
36fed3bbf8 Enable output of audio captcha when image captcha has not yet been generated
[MAILPOET-4203]
2022-11-24 09:20:39 +01:00
David Remer
8ab738b315 Use classes instead of ids for captcha elements
[MAILPOET-4203]
2022-11-24 09:20:39 +01:00
David Remer
b84b9606e9 Remove type residual from audio captcha url building
[MAILPOET-4203]
2022-11-24 09:20:39 +01:00
David Remer
aa68b7e148 Bust caching when building the audio captcha url
[MAILPOET-4203]
2022-11-24 09:20:39 +01:00
David Remer
c164268c20 Change file name to lower case
and codestyle
[MAILPOET-4203]
2022-11-24 09:20:39 +01:00
David Remer
e42808f22d Update Captcha UI to add audio button
[MAILPOET-4203]
2022-11-24 09:20:39 +01:00
David Remer
75a4b2c538 Add Captcha Audio endpoint to Router
[MAILPOET-4203]
2022-11-24 09:20:39 +01:00
Oluwaseun Olorunsola
8b922681b6 Use boolean instead of integer for displayInManageSubscriptionPage column
MAILPOET-4669
2022-11-21 15:21:29 +01:00
Oluwaseun Olorunsola
e64dc1669f Add support for segment displayInManageSubscriptionPage on Subscription management page
MAILPOET-4669
2022-11-21 15:21:29 +01:00
Jan Jakes
725e0ecb00 Remove automation feature flag
[MAILPOET-4788]
2022-11-14 12:35:29 +02:00
David Remer
9a14ddb57c Fire mailpoet_segment_subscribed only when subscriber status changed
[MAILPOET-4773]
2022-11-07 04:41:47 -06:00
Oluwaseun Olorunsola
dc5254721e Update the confirmation page title
Show website title instead of list names

MAILPOET-4667
2022-10-27 13:42:50 +02:00
David Remer
87ced17813 Use submit button label of form for captcha submit button
[MAILPOET-4496]
2022-09-14 11:44:09 +02:00
David Remer
218de96024 Fix WordPress.WP.I18n.MissingTranslatorsComment errors
[MAILPOET-4524]
2022-08-09 13:23:16 +02:00
David Remer
b05e6d414c Remove WP\Functions::__ and other translate functions
Under the new sniffer rules, those functions produce errors and, when those methods
are used, the sniffer can not properly be applied.

[MAILPOET-4524]
2022-08-09 13:23:16 +02:00
Jan Lysý
e706110230 Fix new subscriber notifications
[MAILPOET-4518]
2022-08-02 12:57:05 +02:00
Jan Lysý
deaf293273 Remove redundant code removing relation
Removing inconsistent relations is solved in the class SubscriberEntity by the preFlush
[MAILPOET-4350]
2022-08-01 13:28:57 +02:00
Jan Lysý
fb05cc4297 Remove old model from Manage
[MAILPOET-4350]
2022-08-01 13:28:57 +02:00
Rodrigo Primo
ad29073715 Replace Paris models with Doctrine entities in Subscription\Captcha
[MAILPOET-4351]
2022-07-13 16:09:41 +02:00
Jan Lysý
856561c443 Remove old model usage from NewSubscriberNotificationMailer
[MAILPOET-4352]
2022-07-13 15:36:14 +02:00
Rodrigo Primo
c1bd52b964 Add code to display the invisible ReCaptcha in the frontend
This commit adds the required code to display the invisible ReCaptcha in
the frontend when a form is rendered and this type of captcha is
selected in the admin.

[MAILPOET-4145]
2022-05-19 09:22:30 +02:00
Jan Lysý
100ea655ff Change method parameter name
[MAILPOET-4137]
2022-04-25 10:58:18 +02:00
Jan Lysý
d019ad9bdb Remove using Idiorm and replace it by Doctrine
[MAILPOET-4137]
2022-04-25 10:58:18 +02:00
David Remer
fa4d673098 Do not track with Cookie when headers have been sent
[MAILPOET-4060]
2022-04-13 10:48:31 +02:00
David Remer
3320afe8f5 Remove wp_kses from templates
This commit removes two escaped outputs to keep backwards compatibility.

[MAILPOET-4219]
2022-04-04 17:12:33 +02:00
David Remer
53fc49d1eb Simplify phpcs:disable comments
Additionally this commit contains a conversion from %d to %s in a query

[MAILPOET-4219]
2022-04-04 17:12:33 +02:00
David Remer
9f39843189 Sanitize incoming data according to WP sniffer
[MAILPOET-4219]
2022-04-04 17:12:33 +02:00
David Remer
a8d88beec9 Escape output according to WP sniffs
[MAILPOET-4129]
2022-04-04 17:12:33 +02:00
Rodrigo Primo
2e374d1a3b Remove unused property from Pages
[MAILPOET-4020]
2022-04-04 16:24:21 +02:00
Rodrigo Primo
17f562a9c5 Remove last usages of Subscriber model from the Pages class
[MAILPOET-4020]
2022-04-04 16:24:21 +02:00
Rodrigo Primo
bb47db85b8 Improve PagesTest::testItUnsubscribes()
This commit improves the test PagesTest::testItUnsubscribes() but adding
a segment to the subscriber and making sure that the status of the
SubscriberSegmentEntity changes when Pages::unsubscribe() is called.
Before this change, the test was not covering this part of the execution
path of the tested code.

[MAILPOET-4020]
2022-04-04 16:24:21 +02:00
Rodrigo Primo
250e450c82 Replace most usages of old Subscriber model with SubscriberEntity in the Pages class
[MAILPOET-4020]
2022-04-04 16:24:21 +02:00
David Remer
fb7a0a0e62 Add custom message styles to CaptchaRenderer
[MAIPOET-4134]
2022-03-31 08:58:12 +02:00
Jan Jakes
86d934ba36 Add hook for segment subscription
This will be used for a "SegmentSubscribed" trigger for automation
that can trigger welcome emails and other actions.

[MAILPOET-4136]
2022-03-14 09:36:21 +01:00
Rodrigo Primo
ff9e1dc6be Update a string displayed in the manage subscriptions page
Change to make the meaning of the sentence more clear.

[MAILPOET-4068]
2022-02-09 16:34:18 +01:00
Jan Jakes
9f790efbf0 Move plugin files to a subfolder
[MAILPOET-3988]
2022-01-18 15:30:22 +01:00