PluginProbe
MailPoet – Newsletters, Email Marketing, and Automation / 5.34.1
MailPoet – Newsletters, Email Marketing, and Automation v5.34.1
5.37.0 5.36.1 5.36.0 5.35.1 5.35.0 5.34.3 5.34.2 5.34.1 5.34.0 5.33.1 5.33.0 5.32.0 5.31.0 5.30.0 5.29.0 5.28.1 5.28.0 5.27.0 5.26.0 5.26.1 5.25.0 5.24.0 4.43.0 4.43.1 4.44.0 All 541 releases
mailpoet / lib / Subscribers / ImportExport / Import / MailChimpDataMapper.php
MailChimpDataMapper.php
65 lines 1.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php // phpcs:ignore SlevomatCodingStandard.TypeHints.DeclareStrictTypes.DeclareStrictTypesMissing
2
3 namespace MailPoet\Subscribers\ImportExport\Import;
4
5 if (!defined('ABSPATH')) exit;
6
7
8 class MailChimpDataMapper {
9 public function getMembersHeader(): array {
10 return [
11 'email_address',
12 'status',
13 'first_name',
14 'last_name',
15 'address',
16 'phone',
17 'birthday',
18 'ip_signup',
19 'timestamp_signup',
20 'ip_opt',
21 'timestamp_opt',
22 'member_rating',
23 'last_changed',
24 'language',
25 'vip',
26 'email_client',
27 'latitude',
28 'longitude',
29 'gmtoff',
30 'dstoff',
31 'country_code',
32 'timezone',
33 'source',
34 ];
35 }
36
37 public function mapMember(array $member): array {
38 return [
39 $member['email_address'],
40 $member['status'],
41 $member['merge_fields']['FNAME'] ?? '',
42 $member['merge_fields']['LNAME'] ?? '',
43 is_array($member['merge_fields']['ADDRESS']) ? implode(' ', array_map(static fn($v): string => is_scalar($v) ? (string)$v : '', $member['merge_fields']['ADDRESS'])) : $member['merge_fields']['ADDRESS'],
44 $member['merge_fields']['PHONE'] ?? '',
45 $member['merge_fields']['BIRTHDAY'] ?? '',
46 $member['ip_signup'],
47 $member['timestamp_signup'],
48 $member['ip_opt'],
49 $member['timestamp_opt'],
50 $member['member_rating'],
51 $member['last_changed'],
52 $member['language'],
53 $member['vip'],
54 $member['email_client'],
55 $member['location']['latitude'] ?? '',
56 $member['location']['longitude'] ?? '',
57 $member['location']['gmtoff'] ?? '',
58 $member['location']['dstoff'] ?? '',
59 $member['location']['country_code'] ?? '',
60 $member['location']['timezone'] ?? '',
61 $member['source'],
62 ];
63 }
64 }
65