-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcustomers.php
129 lines (116 loc) · 3.19 KB
/
customers.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
<?php
include('functions/csv.php');
include('functions/phone.php');
include('functions/country.php');
$input_args = getopt('f:');
if (!$input_args['f']) {
die("No file selected, use -f filename.csv\n");
}
$input_filename = $input_args['f'];
$output_filename = "shopify_customers_" . $input_filename;
$data = getCsvAsAssArray($input_filename);
$export = array(array(
'ID',
'Email',
'Command',
'First Name',
'Last Name',
'Phone',
'State',
'Accepts Marketing',
'Created At',
'Updated At',
'Note',
'Verified Email',
'Tax Exempt',
'Tags',
'Tags Command',
'Total Spent',
'Total Orders',
'Last Order: Name',
'Row #',
'Top Row',
'Address ID',
'Address Command',
'Address First Name',
'Address Last Name',
'Address Phone',
'Address Company',
'Address Line 1',
'Address Line 2',
'Address City',
'Address Province',
'Address Province Code',
'Address Country',
'Address Country Code',
'Address Zip',
'Address Is Default',
'Account Activation URL',
'Send Account Activation Email',
'Send Welcome Email',
'Password',
'Multipass Identifier'
));
foreach ($data as $row) {
# Phone
$phone = null;
if (validate_phone_number($row['Phone'])) {
$phone = $row['Phone']; # TODO: Needs to do something with numbers missing a +
}
# Tags
$tag_array = array();
if ($row['Email Opt In']) {
$tag_array[] = 'Email Opt In:' . $row['Email Opt In'];
}
$tag_array[] = 'Imported from vscommerce';
$tags = implode(',', $tag_array);
# Country
$country = null;
if (array_key_exists('Country', $row)) {
$country = lookup_country($row['Country']);
$country_code = country_name_to_code($country);
}
$export[] = array(
null, // ID
$row['Email'], // Email
'UPDATE', // Command
$row['Firstname'], // First Name
$row['Surname'], // Last Name
$phone, // Phone
null, // State
null, // Accepts Marketing
null, // Created At
null, // Updated At
null, // Note
null, // Verified Email
null, // Tax Exempt
$tags, // Tags
'REPLACE', // Tags Command
null, // Total Spent
null, // Total Orders
null, // Last Order: Name
null, // Row #
null, // Top Row
null, // Address ID
null, // Address Command
$row['Firstname'], // Address First Name
$row['Surname'], // Address Last Name
$phone, // Address Phone
$row['Company Name'], // Address Company
$row['Address1'], // Address Line 1
$row['Address2'], // Address Line 2
$row['Town'], // Address City
$row['County'], // Address Province
null, // Address Province Code
$country, // Address Country
$country_code, // Address Country Code
$row['Post Code'], // Address Zip
null, // Address Is Default
null, // Account Activation URL
null, // Send Account Activation Email
null, // Send Welcome Email
null, // Password
null // Multipass Identifier
);
}
writeDataToCsv($output_filename, $export);