-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathexport-import.php
69 lines (58 loc) · 2.39 KB
/
export-import.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
<?php
/**
* Ajoute les colonnes "numero_since" et "numero_end" dans l'export des membres
*
*/
function on_wc_memberships_modify_member_export_headers( $headers ) {
// remove any unwanted headers
unset( $headers['membership_plan_id'], $headers['has_access'] );
$new_headers = array();
// add a column header for "numero_since" and "numero_end"
foreach ( $headers as $key => $name ) {
$new_headers[ $key ] = $name;
if ( 'member_since' == $key ) {
$new_headers['numero_since'] = 'numero_since';
}
if ( 'membership_expiration' == $key ) {
$new_headers['numero_end'] = 'numero_end';
}
}
return $new_headers;
}
add_filter( 'wc_memberships_csv_export_user_memberships_headers', 'on_wc_memberships_modify_member_export_headers' );
/**
* Convertis les dates en numéro de magazine
*/
function on_wc_memberships_csv_export_user_memberships_numero_column( $data, $key, $user_membership ) {
$date = $key == 'numero_since' ? $user_membership->get_start_date() : $user_membership->get_end_date();
if ($key == 'numero_end') {
$next_payment_date = on_next_payment_date_membership($user_membership);
if ($next_payment_date) {
$date = $next_payment_date;
}
}
if (empty($date)) {
return '';
}
$numero_since = on_date_magazine_to_numero($date);
return $numero_since;
}
add_filter( 'wc_memberships_csv_export_user_memberships_numero_since_column', 'on_wc_memberships_csv_export_user_memberships_numero_column', 10, 3 );
add_filter( 'wc_memberships_csv_export_user_memberships_numero_end_column', 'on_wc_memberships_csv_export_user_memberships_numero_column', 10, 3 );
/**
* Ajoute les colonnes "numero_since" et "numero_end" dans l'import des membres
*/
function on_wc_memberships_modify_import_data( $import_data, $action, $columns, $row ) {
if ( isset( $columns['numero_since'] ) ) {
$numero_since = $row[ $columns['numero_since'] ];
$date_since = on_numero_to_date_magazine($numero_since);
$import_data['member_since'] = !empty($date_since) ? $date_since . '-01' : '';
}
if ( isset( $columns['numero_end'] ) ) {
$numero_end = $row[ $columns['numero_end'] ];
$date_end = on_numero_to_date_magazine($numero_end);
$import_data['membership_expiration'] = !empty($date_end) ? $date_end . '-28' : 'unlimited';
}
return $import_data;
}
add_filter( 'wc_memberships_csv_import_user_memberships_data', 'on_wc_memberships_modify_import_data', 10, 4 );