Use link_token when tracking and rendering links

This commit is contained in:
Amine Ben hammou
2019-09-03 12:16:49 +01:00
committed by Jack Kitterhing
parent 042213d5aa
commit 3ea9c99090
17 changed files with 43 additions and 34 deletions

View File

@ -30,10 +30,13 @@ class Manage {
$subscriber_data = $_POST['data'];
$subscriber_data = $this->field_name_obfuscator->deobfuscateFormPayload($subscriber_data);
if (!empty($subscriber_data['email']) && Subscriber::verifyToken($subscriber_data['email'], $token)) {
if ($subscriber_data['email'] !== Pages::DEMO_EMAIL) {
$subscriber = Subscriber::createOrUpdate($this->filterOutEmptyMandatoryFields($subscriber_data));
$subscriber->getErrors();
if (!empty($subscriber_data['email'])) {
$subscriber = Subscriber::where('email', $subscriber_data['email'])->findOne();
if ($subscriber && $subscriber->verifyToken($token)) {
if ($subscriber_data['email'] !== Pages::DEMO_EMAIL) {
$subscriber = Subscriber::createOrUpdate($this->filterOutEmptyMandatoryFields($subscriber_data));
$subscriber->getErrors();
}
}
}

View File

@ -103,9 +103,8 @@ class Pages {
return false;
}
return (Subscriber::verifyToken($email, $token)) ?
Subscriber::findOne($email) :
false;
$subscriber = Subscriber::where('email', $email)->findOne();
return ($subscriber && $subscriber->verifyToken($token)) ? $subscriber : false;
}
function confirm() {
@ -283,6 +282,7 @@ class Pages {
'email' => self::DEMO_EMAIL,
'first_name' => 'John',
'last_name' => 'Doe',
'link_token' => Subscriber::generateToken(self::DEMO_EMAIL),
]);
} else if ($this->subscriber !== false) {
$subscriber = $this->subscriber
@ -438,7 +438,7 @@ class Pages {
$subscriber->email .
'" />';
$form_html .= '<input type="hidden" name="token" value="' .
Subscriber::generateToken($subscriber->email) .
$subscriber->getLinkToken() .
'" />';
$form_html .= '<p class="mailpoet_paragraph">';

View File

@ -46,7 +46,7 @@ class Url {
if ($subscriber !== null) {
$data = [
'token' => Subscriber::generateToken($subscriber->email),
'token' => $subscriber->getLinkToken(),
'email' => $subscriber->email,
];
} elseif (is_null($data)) {