Commit Graph

70 Commits

Author SHA1 Message Date
Rostislav Wolny
b3795eab1a Ensure BC for data types in url data
Due to a bugfix in PHP8.1(https://bugs.php.net/bug.php?id=80808)
PDO now returns correctly integers where it used to return string.
In this commit ensures that data passed to URL will be passed as strings
in order to maintain backward compatibility.
[MAILPOET-3980]
2021-12-13 09:36:43 +01:00
Rodrigo Primo
ae99fe3be2 Use Doctrine references when saving links
This commit changes the code of the method
\MailPoet\Newsletter\Links\Links::save() to use Doctrine references
instead of full entities when getting a newsletter and sending queue
entities to save the related links.

We don't need the full entities here, and getting a full entity for the
sending queue was generating an error in the
testItLogsErrorWhenNewlyRenderedNewsletterBodyIsInvalid() integration
test (see the description of PR
https://github.com/mailpoet/mailpoet/pull/3784 for more details).

To be able to get the reference, it was necessary to add a helper method
called getReference() to \MailPoet\Doctrine\Repository.

[MAILPOET-3816]
2021-11-15 13:03:47 +01:00
Rodrigo Primo
d9296d86fd Replace NewsletterLink with NewsletterLinkEntity in the class Links
It was also necessary to update two NewsletterTest tests, as after the
change to Links::save(), having a queue ID set became mandatory (before
it was not and one was not set properly in the mock SendingQueue object).

[MAILPOET-3816]
2021-11-15 13:03:47 +01:00
Rodrigo Primo
612eb1073d Move NewstetterLink properties to NewsletterLinkEntity
Doing this as part of the task to deprecated old Paris models
(NewsletterLink) and use Doctrine entities instead
(NewslleterLinkEntity).

[MAILPOET-3816]
2021-11-15 13:03:47 +01:00
Pavel Dohnal
21839fc30b Fix indentation of multiline function declarations
[MAILPOET-3732]
2021-09-17 12:17:36 +02:00
Pavel Dohnal
cdda3480ca Make all constructor signatures multiline
[MAILPOET-3732]
2021-09-16 14:19:40 +02:00
Jan Lysý
8826b01ec9 Remove static calling from Newsletter/Links
[MAILPOET-3269]
2021-06-14 10:12:34 +02:00
Jan Lysý
4390a1932d Remove phpstan errors from the rest of the code
[MAILPOET-3235]
2021-01-18 14:39:42 +01:00
Rostislav Wolny
8d7625fc3c Fix argument passed by reference exception
This fails on PHP8. Passing by reference was introduced int this commit
a587b0a966
[MAILPOET-3296]
2020-12-07 11:36:01 +01:00
Pavel Dohnal
6139e300c3 Free up shortcodes constructor for DI
[MAILPOET-2993]
2020-11-11 11:34:55 +01:00
Pavel Dohnal
9e8ccd2c17 Use native array_column
[MAILPOET-3173]
2020-10-12 10:10:03 +02:00
Rostislav Wolny
d19e7714c3 Use instant unsubscribe URL for List-Unsubscribe header
[MAILPOET-2736]
2020-05-05 14:40:11 +02:00
Jan Jakeš
54549ff037 Convert variable names to camel case
[MAILPOET-1796]
2020-01-14 15:22:42 +01:00
Amine Ben hammou
43df66d162 Add public keyword to methods
[MAILPOET-2413]
2019-12-26 18:09:45 +03:00
Jan Jakeš
a012984a7a Move array_column polyfill to MailPoetVendor namespace
[MAILPOET-2545]
2019-11-27 12:38:20 +00:00
Jan Jakeš
ade1cc4d8e Autofix alphabetically sorted use statements
[MAILPOET-2409]
2019-10-01 14:29:30 +01:00
Jan Jakeš
1b5b9d89ff Autofix namespace declaration spacing
[MAILPOET-2409]
2019-10-01 14:29:30 +01:00
Rostislav Wolny
6ae61a3e9b Refactor array_column call using use statement
[MAILPOET-2245]
2019-10-01 14:07:39 +01:00
Rostislav Wolny
86fd634563 Mark Newsletter/Links methods used only internally as private
[MAILPOET-2245]
2019-10-01 14:07:39 +01:00
Rostislav Wolny
028c5e6de5 Add ensure unsubscribe link method to newsletters links
[MAILPOET-2245]
2019-10-01 14:07:39 +01:00
Amine Ben hammou
692ff1ed22 Use getToken()
[MAILPOET-2340]
2019-09-24 14:40:22 +01:00
Amine Ben hammou
3ea9c99090 Use link_token when tracking and rendering links 2019-09-12 17:32:05 +02:00
Pavel Dohnal
5da7110eb6 Use short array syntax
[MAILPOET-2090]
2019-05-20 10:18:45 -04:00
Pavel Dohnal
3e66e9e1dd Fix phpstan level 6
[MAILPOET-1969]
2019-04-10 09:55:13 -04:00
Ján Mikláš
3ee58aea10 Add space between if and ‘(‘
[MAILPOET-1791]
2019-02-13 08:26:27 -05:00
Ján Mikláš
ebbdec5ebd Add space between foreach and ‘(‘
[MAILPOET-1791]
2019-02-13 08:26:27 -05:00
Amine Ben hammou
de261d6179 Added confirmation when 'edit' is clicked 2017-08-15 12:55:05 +00:00
Amine Ben hammou
a587b0a966 Links are not re-hashed when re-rendering the same newsletter 2017-08-15 12:55:05 +00:00
Vlad
213d0e8627 Distinguishes between link TYPE and link CATEGORY NAME
Uses $replacement_link variable for clarity
2017-07-17 09:14:11 -04:00
Vlad
fe9ae392f2 Replaces URL extraction regex with DOM parser
Simplifies link replacement logic
Cleans up code
2017-07-14 23:15:08 -04:00
Vlad
7f509f66ff Changes newsletter link hash generation function 2017-05-15 08:36:43 -04:00
Vlad
cd5f3165c7 Uses queue ID when fetching newsletter link by hash 2017-05-14 22:02:19 -04:00
Vlad
6e700b0cfa Moves newsletter hash generating logic into Security helper class
Updates Links class to use Security helper's hash generating method
2017-05-14 20:15:40 -04:00
mrcasual
99eb72428f Fixes reference to self in anonymous function 2017-03-31 12:51:58 -04:00
Alexey Stoletniy
d686f75222 Swap JS actions with filters for robustness & testability, get rid of URL key hashing [PREMIUM-2] 2017-03-21 13:34:47 +03:00
Alexey Stoletniy
16c1607850 Refactor links processing: isolate core logic for easier substitution [PREMIUM-2] 2017-03-20 12:09:58 +03:00
Alexey Stoletniy
e2864e2243 Add hooks for GA tracking feature [PREMIUM-2] 2017-03-20 12:09:58 +03:00
Vlad
9698cf2d2e - Optimizes ViewInBrowser router endpoint
- Optimizes ViewInBrowser class
- Optimizes and updates shortcode link category to use the refactored
  getViewInBrowserUrl() method
- Updates Shortcodes to use the refactored getViewInBrowserUrl() method
2016-12-18 23:24:57 -05:00
Vlad
062f849fc8 - Isolates shortcodes regex into a class method
- Adds a new method to create a URL data object as a numeric array instead
  of associative, thus reducing the size of the object
- Adds a new method to convert numeric URL data object array into associative
  array
- Preserves backward compatibility with previous MP3 Beta versions
  by checking if the URL data object is already an associative array
2016-12-18 23:08:08 -05:00
Vlad
59d30cc139 - Renames router URL query parameter and router class
- Updates other classes to use the new name
- Updates unit tests
2016-08-25 09:57:14 -04:00
Vlad
05c128d12d - Fixes errors thrown when there are no shortcodes in the newsletter body 2016-08-24 09:29:17 -04:00
Vlad
b492bcecc0 - Removes requirement of passing newsletter id when tracking clicks
- Extracts common tracking data processing/validation code into the Track
  class
- Refactors Clicks, Opens and View in Browser classes to enforce
  subscriber id and token check
- Allows admin users to preview newsletters without tracking statistics
2016-08-22 09:26:25 -04:00
Vlad
0b0c0f5759 - Fixes conditional statement 2016-08-05 13:03:31 -04:00
Jonathan Labreuille
2e88d7cce0 Added API/Endpoint abstract class
- (re)Added Endpoints folder to both API and Router
- fixed syntax in namespaces
- xhr.responseJSON is returned to the fail()
- fixed Router endpoints (view in browser, cron,...)
2016-08-02 17:08:43 +02:00
Jonathan Labreuille
008fdb94c5 Moved lib/API to lib/Router
- renamed lib/API/API.php to lib/Router/Front.php
- updated namespaces in various file to account for namespace change
2016-08-01 17:00:32 +02:00
Vlad
8e4d07c658 - Updates regex to not match http/ftp links as shortcodes
- Updates regex to properly replace links in text version of newsletter
2016-07-27 21:57:55 -04:00
Vlad
f557881462 - Updates code based on review comments 2016-07-07 09:01:59 -04:00
Vlad
8dba4727c4 - Updates open/click link generation logic to utilize API's buildRequest
method
2016-07-06 22:57:39 -04:00
Vlad
3c353e715b - Fixes view in browser API URL 2016-07-06 19:56:26 -04:00
Vlad
bd814baf28 - Fixes data not being passed to API buildRequest method 2016-07-06 10:02:47 -04:00