Swap JS actions with filters for robustness & testability, get rid of URL key hashing [PREMIUM-2]
This commit is contained in:
@@ -103,7 +103,7 @@ define(
|
|||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
Hooks.doAction('mailpoet_newsletters_3rd_step_fields', fields);
|
fields = Hooks.applyFilters('mailpoet_newsletters_3rd_step_fields', fields);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
getFields: function(newsletter) {
|
getFields: function(newsletter) {
|
||||||
|
@@ -413,7 +413,7 @@ define(
|
|||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
Hooks.doAction('mailpoet_newsletters_3rd_step_fields', fields);
|
fields = Hooks.applyFilters('mailpoet_newsletters_3rd_step_fields', fields);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
getFields: function(newsletter) {
|
getFields: function(newsletter) {
|
||||||
|
@@ -73,7 +73,7 @@ define(
|
|||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
Hooks.doAction('mailpoet_newsletters_3rd_step_fields', fields);
|
fields = Hooks.applyFilters('mailpoet_newsletters_3rd_step_fields', fields);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
getFields: function(newsletter) {
|
getFields: function(newsletter) {
|
||||||
|
@@ -73,9 +73,9 @@ class Links {
|
|||||||
$processed_links = array();
|
$processed_links = array();
|
||||||
foreach($extracted_links as $extracted_link) {
|
foreach($extracted_links as $extracted_link) {
|
||||||
$hash = Security::generateRandomString(self::HASH_LENGTH);
|
$hash = Security::generateRandomString(self::HASH_LENGTH);
|
||||||
// Use a hashed key to map between extracted and processed links
|
// Use URL as a key to map between extracted and processed links
|
||||||
// regardless of their sequential position (useful for link skips etc.)
|
// regardless of their sequential position (useful for link skips etc.)
|
||||||
$key = self::getKey($extracted_link['link']);
|
$key = $extracted_link['link'];
|
||||||
$processed_links[$key] = array(
|
$processed_links[$key] = array(
|
||||||
'hash' => $hash,
|
'hash' => $hash,
|
||||||
'url' => $extracted_link['link'],
|
'url' => $extracted_link['link'],
|
||||||
@@ -89,9 +89,8 @@ class Links {
|
|||||||
|
|
||||||
static function replace($content, $extracted_links, $processed_links) {
|
static function replace($content, $extracted_links, $processed_links) {
|
||||||
foreach($extracted_links as $key => $extracted_link) {
|
foreach($extracted_links as $key => $extracted_link) {
|
||||||
$key = self::getKey($extracted_link['link']);
|
$key = $extracted_link['link'];
|
||||||
if(!isset($processed_links[$key]['processed_link'])) {
|
if(!($hasReplacement = isset($processed_links[$key]['processed_link']))) {
|
||||||
// Skip this link
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
$processed_link = $processed_links[$key]['processed_link'];
|
$processed_link = $processed_links[$key]['processed_link'];
|
||||||
@@ -113,6 +112,7 @@ class Links {
|
|||||||
'[$1](' . $processed_link . ')',
|
'[$1](' . $processed_link . ')',
|
||||||
$content
|
$content
|
||||||
);
|
);
|
||||||
|
// Clean up data used to generate a new link
|
||||||
unset($processed_links[$key]['processed_link']);
|
unset($processed_links[$key]['processed_link']);
|
||||||
}
|
}
|
||||||
return array(
|
return array(
|
||||||
@@ -121,10 +121,6 @@ class Links {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
static function getKey($value) {
|
|
||||||
return md5($value);
|
|
||||||
}
|
|
||||||
|
|
||||||
static function replaceSubscriberData(
|
static function replaceSubscriberData(
|
||||||
$subscriber_id,
|
$subscriber_id,
|
||||||
$queue_id,
|
$queue_id,
|
||||||
|
Reference in New Issue
Block a user