Changeset 1664073
- Timestamp:
- 05/24/2017 03:09:45 PM (9 years ago)
- Location:
- ssv-mailchimp/trunk
- Files:
-
- 4 edited
-
functions.php (modified) (6 diffs)
-
general/js/mp-ssv-input-field-selector.js (modified) (3 diffs)
-
readme.txt (modified) (1 diff)
-
ssv-mailchimp.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
ssv-mailchimp/trunk/functions.php
r1659850 r1664073 24 24 #endregion 25 25 26 #region Update Member From User 27 /** 28 * @param User|int $user 29 */ 30 function mp_ssv_mailchimp_register_member_from_user($user) 31 { 32 $user = $user instanceof User ? $user : User::getByID($user); 33 $listID = get_option(SSV_MailChimp::OPTION_USERS_LIST); 34 mp_ssv_mailchimp_update_member($user, $listID, true); 35 } 36 #endregion 37 26 38 #region Update Member From Registration 27 39 /** … … 42 54 * @param string $listID 43 55 */ 44 function mp_ssv_mailchimp_update_member($user, $listID )56 function mp_ssv_mailchimp_update_member($user, $listID, $createOnly = false) 45 57 { 46 58 $mailchimpMember = array(); 47 59 $mergeFields = array(); 48 $links = get_option(SSV_MailChimp::OPTION_MERGE_TAG_LINKS, array()); 49 foreach ($links as $link) { 50 $link = json_decode($link, true); 51 $mailchimpMergeTag = strtoupper($link["tagName"]); 52 $memberField = $link["fieldName"]; 53 $value = $user->getMeta($memberField); 54 $mergeFields[$mailchimpMergeTag] = $value; 60 if (!$createOnly) { 61 $links = get_option(SSV_MailChimp::OPTION_MERGE_TAG_LINKS, array()); 62 foreach ($links as $link) { 63 $link = json_decode($link, true); 64 $mailchimpMergeTag = strtoupper($link["tagName"]); 65 $memberField = $link["fieldName"]; 66 $value = $user->getMeta($memberField); 67 $mergeFields[$mailchimpMergeTag] = $value; 68 } 55 69 } 56 70 $mailchimpMember["email_address"] = $user->user_email; … … 59 73 60 74 $apiKey = get_option(SSV_MailChimp::OPTION_API_KEY); 75 if (empty($apiKey)) { 76 return; 77 } 61 78 $memberId = md5(strtolower($mailchimpMember['email_address'])); 62 79 $memberCenter = substr($apiKey, strpos($apiKey, '-') + 1); … … 72 89 'method' => 'PUT', 73 90 ); 74 $response = json_decode(wp_remote_request($url, $args)['body'], true); 75 if (array_key_exists('merge_fields', $response)) { 76 foreach ($links as $link) { 77 $link = json_decode($link, true); 78 $mailchimpMergeTag = strtoupper($link["tagName"]); 79 $memberField = $link["fieldName"]; 80 $value = $user->getMeta($memberField); 81 $mergeFields[$mailchimpMergeTag] = $value; 82 } 83 } 84 } 85 86 add_action('user_register', 'mp_ssv_mailchimp_update_member_from_user'); 91 wp_remote_request($url, $args); 92 } 93 94 add_action('user_register', 'mp_ssv_mailchimp_register_member_from_user'); 87 95 add_action(SSV_General::HOOK_USERS_SAVE_MEMBER, 'mp_ssv_mailchimp_update_member_from_user'); 88 96 add_action(SSV_General::HOOK_EVENTS_NEW_REGISTRATION, 'mp_ssv_mailchimp_update_member_from_registration'); … … 120 128 121 129 $apiKey = get_option(SSV_MailChimp::OPTION_API_KEY); 130 if (empty($apiKey)) { 131 return; 132 } 122 133 $memberCenter = substr($apiKey, strpos($apiKey, '-') + 1); 123 134 $url = 'https://' . $memberCenter . '.api.mailchimp.com/3.0/lists/'; … … 177 188 $member = User::getByID($user_id); 178 189 $apiKey = get_option(SSV_Mailchimp::OPTION_API_KEY); 190 if (empty($apiKey)) { 191 return $user_id; 192 } 179 193 $listID = get_option(SSV_Mailchimp::OPTION_USERS_LIST); 180 194 $memberId = md5(strtolower($member->user_email)); -
ssv-mailchimp/trunk/general/js/mp-ssv-input-field-selector.js
r1656576 r1664073 989 989 removeField(document.getElementById(fieldID + "_default_value_td")); 990 990 removeField(document.getElementById(fieldID + "_default_checked_td")); 991 removeField(document.getElementById(fieldID + "_date_range_td")); 991 992 removeField(document.getElementById(fieldID + "_placeholder_td")); 992 993 removeField(document.getElementById(fieldID + "_class_td")); … … 1032 1033 removeField(document.getElementById(fieldID + "_default_value_td")); 1033 1034 removeField(document.getElementById(fieldID + "_default_checked_td")); 1035 removeField(document.getElementById(fieldID + "_date_range_td")); 1034 1036 removeField(document.getElementById(fieldID + "_placeholder_td")); 1035 1037 removeField(document.getElementById(fieldID + "_class_td")); … … 1076 1078 } 1077 1079 function createMultiSelect(fieldID, fieldNameExtension, options, selected) { 1078 console.log(selected);1079 1080 if (selected === null) { 1080 1081 selected = []; -
ssv-mailchimp/trunk/readme.txt
r1656576 r1664073 31 31 32 32 == Changelog == 33 = 3.1.5 = 34 * Not trying to make requests without API Key 35 * Register only functionality (without metadata links) 36 33 37 = 3.1.4 = 34 38 * Successful Code Inspection -
ssv-mailchimp/trunk/ssv-mailchimp.php
r1659850 r1664073 4 4 * Plugin URI: http://bosso.nl/ssv-mailchimp/ 5 5 * Description: SSV MailChimp is an add-on for both the SSV Events and the SSV Frontend Members plugin. 6 * Version: 3.1. 46 * Version: 3.1.5 7 7 * Author: moridrin 8 8 * Author URI: http://nl.linkedin.com/in/jberkvens/
Note: See TracChangeset
for help on using the changeset viewer.