PluginProbe ʕ •ᴥ•ʔ
OttoKit: All-in-One Automation Platform / trunk
OttoKit: All-in-One Automation Platform vtrunk
1.1.37 1.1.36 1.1.35 1.1.34 1.1.33 1.1.32 1.1.31 1.1.30 1.1.29 1.1.28 1.1.27 1.1.9 trunk 1.0.10 1.0.11 1.0.12 1.0.13 1.0.14 1.0.15 1.0.16 1.0.17 1.0.18 1.0.19 1.0.20 1.0.21 1.0.22 1.0.23 1.0.24 1.0.25 1.0.26 1.0.27 1.0.28 1.0.29 1.0.30 1.0.31 1.0.32 1.0.33 1.0.34 1.0.35 1.0.36 1.0.37 1.0.38 1.0.39 1.0.40 1.0.41 1.0.42 1.0.43 1.0.44 1.0.45 1.0.46 1.0.47 1.0.48 1.0.49 1.0.50 1.0.51 1.0.52 1.0.53 1.0.54 1.0.55 1.0.56 1.0.57 1.0.58 1.0.59 1.0.60 1.0.61 1.0.62 1.0.63 1.0.64 1.0.65 1.0.66 1.0.67 1.0.68 1.0.69 1.0.7 1.0.70 1.0.71 1.0.72 1.0.73 1.0.74 1.0.75 1.0.76 1.0.77 1.0.78 1.0.79 1.0.8 1.0.80 1.0.81 1.0.82 1.0.83 1.0.84 1.0.85 1.0.86 1.0.87 1.0.88 1.0.89 1.0.9 1.0.90 1.1.0 1.1.1 1.1.10 1.1.11 1.1.12 1.1.13 1.1.14 1.1.15 1.1.16 1.1.17 1.1.18 1.1.19 1.1.2 1.1.20 1.1.21 1.1.22 1.1.23 1.1.24 1.1.25 1.1.26 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8
suretriggers / src / Integrations / wishlistmember / actions / wishlist-member-add-update-user.php
suretriggers / src / Integrations / wishlistmember / actions Last commit date
wishlist-member-add-update-user.php 10 months ago wishlist-member-add-user.php 2 years ago wishlist-member-check-if-user-is-member.php 11 months ago wishlist-member-create-new-level.php 11 months ago wishlist-member-delete-existing-member.php 11 months ago wishlist-member-delete-level.php 11 months ago wishlist-member-get-all-levels.php 11 months ago wishlist-member-get-member-by-email.php 11 months ago wishlist-member-get-member-by-username.php 11 months ago wishlist-member-get-member-information.php 11 months ago wishlist-member-get-specific-level-details.php 11 months ago wishlist-member-get-specific-member-level.php 11 months ago wishlist-member-remove-user.php 3 years ago wishlist-member-update-existing-level.php 11 months ago
wishlist-member-add-update-user.php
191 lines
1 <?php
2 /**
3 * WishlistMemberAddOrUpdateUser.
4 * php version 5.6
5 *
6 * @category WishlistMemberAddOrUpdateUser
7 * @package SureTriggers
8 * @author BSF <username@example.com>
9 * @license https://www.gnu.org/licenses/gpl-3.0.html GPLv3
10 * @link https://www.brainstormforce.com/
11 * @since 1.0.0
12 */
13
14 namespace SureTriggers\Integrations\WishlistMember\Actions;
15
16 use SureTriggers\Integrations\AutomateAction;
17 use SureTriggers\Integrations\WordPress\WordPress;
18 use SureTriggers\Traits\SingletonLoader;
19 use SureTriggers\Integrations\WishlistMember\WishlistMember;
20
21 /**
22 * WishlistMemberAddOrUpdateUser
23 *
24 * @category WishlistMemberAddOrUpdateUser
25 * @package SureTriggers
26 * @author BSF <username@example.com>
27 * @license https://www.gnu.org/licenses/gpl-3.0.html GPLv3
28 * @link https://www.brainstormforce.com/
29 * @since 1.0.0
30 */
31 class WishlistMemberAddOrUpdateUser extends AutomateAction {
32
33
34 /**
35 * Integration type.
36 *
37 * @var string
38 */
39 public $integration = 'WishlistMember';
40
41 /**
42 * Action name.
43 *
44 * @var string
45 */
46 public $action = 'wishlist_member_add_update_user';
47
48 use SingletonLoader;
49
50 /**
51 * Register a action.
52 *
53 * @param array $actions actions.
54 * @return array
55 */
56 public function register( $actions ) {
57
58 $actions[ $this->integration ][ $this->action ] = [
59 'label' => __( 'Add/Update Member', 'suretriggers' ),
60 'action' => $this->action,
61 'function' => [ $this, 'action_listener' ],
62 ];
63
64 return $actions;
65
66 }
67
68
69 /**
70 * Action listener.
71 *
72 * @param int $user_id user_id.
73 * @param int $automation_id automation_id.
74 * @param array $fields fields.
75 * @param array $selected_options selectedOptions.
76 *
77 * @return array|bool
78 */
79 public function _action_listener( $user_id, $automation_id, $fields, $selected_options ) {
80 $email = sanitize_email( $selected_options['user_email'] );
81 $level_id = $selected_options['wlm_levels'];
82 $send_email = isset( $selected_options['send_email'] ) ? (int) $selected_options['send_email'] : 1;
83 $user = get_user_by( 'email', $email );
84 if ( empty( $email ) || empty( $level_id ) ) {
85 return false;
86 }
87
88 $userdata = [
89 'user_login' => $selected_options['user_name'],
90 'user_email' => $email,
91 'first_name' => $selected_options['first_name'],
92 'last_name' => $selected_options['last_name'],
93 'user_pass' => $selected_options['user_pass'],
94 ];
95
96 $userdata['company'] = $selected_options['company'];
97 $userdata['address1'] = $selected_options['address1'];
98 $userdata['address2'] = $selected_options['address2'];
99 $userdata['city'] = $selected_options['city'];
100 $userdata['state'] = $selected_options['state'];
101 $userdata['zip'] = $selected_options['zip'];
102 $userdata['country'] = $selected_options['country'];
103
104 if ( $user ) {
105 $user_id = $user->ID;
106 $userdata['ID'] = $user_id;
107 /**
108 * Skipping if empty value.
109 */
110 if ( empty( $userdata['user_login'] ) ) {
111 unset( $userdata['user_login'] );
112 }
113 if ( empty( $userdata['first_name'] ) ) {
114 unset( $userdata['first_name'] );
115 }
116 if ( empty( $userdata['last_name'] ) ) {
117 unset( $userdata['last_name'] );
118 }
119 if ( empty( $userdata['last_name'] ) ) {
120 unset( $userdata['last_name'] );
121 }
122 if ( empty( $selected_options['password'] ) ) {
123 unset( $userdata['user_pass'] );
124 }
125 if ( empty( $selected_options['company'] ) ) {
126 unset( $userdata['company'] );
127 }
128 if ( empty( $selected_options['state'] ) ) {
129 unset( $userdata['state'] );
130 }
131 if ( empty( $selected_options['address1'] ) ) {
132 unset( $userdata['address1'] );
133 }
134 if ( empty( $selected_options['address2'] ) ) {
135 unset( $userdata['address2'] );
136 }
137 if ( empty( $selected_options['city'] ) ) {
138 unset( $userdata['city'] );
139 }
140 if ( empty( $selected_options['zip'] ) ) {
141 unset( $userdata['zip'] );
142 }
143 if ( empty( $selected_options['country'] ) ) {
144 unset( $userdata['country'] );
145 }
146 if ( function_exists( 'wlmapi_update_member' ) ) {
147 wlmapi_update_member( $user_id, $userdata );
148 }
149 } else {
150 if ( function_exists( 'wlmapi_add_member' ) ) {
151 $userdata['Levels'] = [ $level_id ];
152 $userdata['SendMailPerLevel'] = $send_email;
153 $result = wlmapi_add_member( $userdata );
154 if ( isset( $result['member'][0]['ID'] ) ) {
155 $user_id = $result['member'][0]['ID'];
156 } else {
157 $created_user = get_user_by( 'email', $email );
158 if ( $created_user ) {
159 $user_id = $created_user->ID;
160 }
161 }
162 }
163 }
164
165 $args = [
166 'Users' => $user_id,
167 'SendMailPerLevel' => $send_email,
168 ];
169
170
171 wlmapi_add_member_to_level( $level_id, $args );
172 $level = wlmapi_get_level( $level_id );
173
174 $context = [];
175 $context['level_id'] = $level_id;
176
177 if ( isset( $level['level'] ) ) {
178 $context['level_name'] = $level['level']['name'];
179 }
180 $user = WordPress::get_user_context( $user_id );
181 $usercontext = WishlistMember::get_user_info( (int) $level_id, (int) $user_id );
182 return array_merge(
183 $user,
184 $context,
185 $usercontext
186 );
187 }
188 }
189
190 WishlistMemberAddOrUpdateUser::get_instance();
191