function memberful_wp_update_customer_roles($old_active_role, $new_active_role, $old_inactive_role, $new_inactive_role) { $mapped_users = Memberful_User_Mapping_Repository::fetch_user_ids_of_all_mapped_members(); $role_decision = Memberful_Wp_User_Role_Decision::build(array($old_active_role, $old_inactive_role)); $mapped_users = get_users(array('fields' => 'all', 'include' => $mapped_users)); foreach ($mapped_users as $user) { $role_decision->update_user_role($user); } }
/** * @param $account * @param $mapping_context * @return WP_User */ function memberful_wp_sync_member_account($account, $mapping_context) { $mapper = new Memberful_User_Map(); $user = $mapper->map($account->member, $mapping_context); if (!is_wp_error($user)) { Memberful_Wp_User_Downloads::sync($user->ID, $account->products); Memberful_Wp_User_Subscriptions::sync($user->ID, $account->subscriptions); Memberful_Wp_User_Role_Decision::ensure_user_role_is_correct($user); } else { memberful_wp_record_error(array('error' => $user->get_error_messages(), 'code' => $user->get_error_code(), 'data' => $user->get_error_data())); } return $user; }