Export lists for email

[MAILPOET-1354]
This commit is contained in:
Pavel Dohnal
2018-05-02 14:58:58 +01:00
committed by pavel-mailpoet
parent f8e443ed3c
commit 8e13eb50bf
5 changed files with 192 additions and 0 deletions

View File

@ -0,0 +1,52 @@
<?php
namespace MailPoet\Subscribers\ImportExport\PersonalDataExporters;
use MailPoet\Models\Subscriber;
class SegmentsExporter {
function export($email) {
return array(
'data' => $this->exportSubscriber(Subscriber::findOne(trim($email))),
'done' => true,
);
}
private function exportSubscriber($subscriber) {
if(!$subscriber) return array();
$result = array();
$segments = $subscriber->getAllSegmentNamesWithStatus();
foreach($segments as $segment) {
$result[] = $this->exportSegment($segment);
}
return $result;
}
private function exportSegment($segment) {
$segment_data = array();
$segment_data[] = array(
'name' => __('List name'),
'value' => $segment['name'],
);
$segment_data[] = array(
'name' => __('Subscription status'),
'value' => $segment['status'],
);
$segment_data[] = array(
'name' => __('Timestamp of the subscription (or last change of the subscription status)'),
'value' => $segment['updated_at'],
);
return array(
'group_id' => 'mailpoet-lists',
'group_label' => __('MailPoet Mailing Lists'),
'item_id' => 'list-' . $segment['segment_id'],
'data' => $segment_data,
);
}
}