Add link_token for new subscribers during import
[MAILPOET-2364]
This commit is contained in:
committed by
Jack Kitterhing
parent
09db91bc33
commit
d6d9885a1e
@@ -11,6 +11,7 @@ use MailPoet\Models\SubscriberSegment;
|
||||
use MailPoet\Subscribers\ImportExport\ImportExportFactory;
|
||||
use MailPoet\Subscribers\Source;
|
||||
use MailPoet\Util\Helpers;
|
||||
use MailPoet\Util\Security;
|
||||
use function MailPoet\Util\array_column;
|
||||
|
||||
class Import {
|
||||
@@ -110,7 +111,7 @@ class Import {
|
||||
// add, if required, missing required fields to new subscribers
|
||||
$new_subscribers = $this->addMissingRequiredFields($new_subscribers);
|
||||
$new_subscribers = $this->setSubscriptionStatusToSubscribed($new_subscribers);
|
||||
$new_subscribers = $this->setSource($new_subscribers);
|
||||
$new_subscribers = $this->setSourceAndLinkToken($new_subscribers);
|
||||
$created_subscribers =
|
||||
$this->createOrUpdateSubscribers(
|
||||
'create',
|
||||
@@ -297,14 +298,20 @@ class Import {
|
||||
return $subscribers_data;
|
||||
}
|
||||
|
||||
function setSource($subscribers_data) {
|
||||
private function setSourceAndLinkToken($subscribers_data) {
|
||||
$subscribers_count = count($subscribers_data['data'][key($subscribers_data['data'])]);
|
||||
$subscribers_data['fields'][] = 'source';
|
||||
$subscribers_data['fields'][] = 'link_token';
|
||||
$subscribers_data['data']['source'] = array_fill(
|
||||
0,
|
||||
$subscribers_count,
|
||||
Source::IMPORTED
|
||||
);
|
||||
$subscribers_data['data']['link_token'] = array_map(
|
||||
function () {
|
||||
return Security::generateRandomString(Subscriber::LINK_TOKEN_LENGTH);
|
||||
}, array_fill(0, $subscribers_count, null)
|
||||
);
|
||||
return $subscribers_data;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user