Example #1
0
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);
    }
}
Example #2
0
/**
 * @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;
}