How to allow user to signup on MultiSite with Caps letter

Can you please tell me how can I let users signup on my buddypress Multisite using UpperCase Letter. My site allow users to create a blog within my network. Currently when a user try to create a profile using uppercase letter, they are unable to Sign Up.

Thank you in advance for the help. I lose about 25% signups because of this reason.

  • Ash
    • WordPress Hacker

    Hello @NRT

    Welcome to WPMU community!

    I hope you are well today and thanks for asking the question.

    It certainly is a common thought that domains must be in lower case. However, this is not actually true. The standard requires two related things:
    1. The url scheme (e.g. http) must be in lower case. This is strict.
    2. The domain-labels must be treated in a case insensitive way, but may be provided with any mix of upper and lower case.

    These conditions are loosely indicated in section 2.1 of http://www.ietf.org/rfc/rfc1738.txt and then made unambiguously clear in the specification on page 18-20. See the definitions of domainlabel, alphadigit and alpha.

    The work around is to use the Nickname as how you want it and choose that option with the "Display name publicly as:" selection at Dashboard -> Users -> Your Profile. But I think BP uses username in most of the cases.

    A simple solution would be to allow either upper or lower case, but quietly convert to lower case before database insert.

    function fixUsernameCase($username){
    	$username = strtolower($username);
    	return true;
    }
    add_filter ( 'authenticate', 'fixUsernameCase', 10, 1 );

    So, finally there is no way to keep capital letter in the username.

    Please let me know if it is helpful and feel free to ask more question if you have.

    Cheers
    Ash

  • Ash
    • WordPress Hacker

    @Zyniker, I think you can sanitize but final sanitization will be by the wordpress itself before inserting into the database during registration process. And wordpress won't allow uppercase letter, so it will convert the letter to lowercase. But I think @NRT wants the username have to be uppercase in the site.

  • Ash
    • WordPress Hacker

    @NRT, one more thing, why do you need uppercase? Do you want to show uppercase in the site? For example, if username is abcd, then you want to show as Abcd or ABCD? If that is the reason, we may do so with some jQuery hack.

    Please let me know.

    Cheers
    Ash

  • NRT
    • Flash Drive

    @Ashok.. thank you so much, I will try to add the code you mention. Also, I do not need to show the uppercase in the site, but it would be an added bonus. I just want the users to be able to sign up using uppercase letters. Most cell phone automatically start the first letter with an uppercase like an IPhone, for this reason I been losing potential sign ups...

    • jordan
      • Design Lord, Child of Thor

      Hi Ash i was wondering if the code snippet you gave above could be modified to do the same for the blog_url when signing up for a new site during registration? I want to convert to lowercase if the user iphone automatically makes it caps.

      • Ash
        • WordPress Hacker

        Hi jordan

        Thanks for posting in this thread, however it might be best if you open your own, even if the issues seem closely related. That way it will remain independent of this one and ensure it doesn't confuse issues here if this thread needs reopening again by the author.

        It also means the member who started this thread or anyone following it isn't inundated with post notifications each time we respond to each other. A lengthy thread could annoy the original poster.

        This also allows us to better track and answer your questions to ensure we don't miss any for you.

        You can start a new thread here:

        http://premium.wpmudev.org/forums/#question

        And feel free to tag me in that thread :slight_smile:

        Thanks
        Ash

Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.