Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [WP + PhpBB] caratteri speciali nome utente

    Ho installato il WP-PhpBB bridge per wordpress.
    Il merge utenti funziona benissimo, solo che i caratteri speciali e le lettere maiuscole non vengono considerate (es, su phpbb: [prova]Ciao1; su wp: provaciao1)

    Ho provato nel file plugin.php a modifcare questa funzione:
    Codice PHP:
    function wpb_get_username($count 0)
    {
        global 
    $user;
        
        
    $new_username ereg_replace("[^A-Za-z0-9]"""$user->data['username']);
        
    $new_username strtolower($new_username);

        if(
    $count 0)
        {
            
    $new_username .= (string)$count;
        }

        if(
    username_exists($new_username))
        {
            
    $count++;
            
    $new_username wpb_get_username($count);
        }

        return 
    $new_username;

    inserendo, al posto dell'ereg_replace l'htmlspecialchars ed eliminando l'strtolower

    Ma il problema persiste. Così ho controllato il file formatting.php della board cercando la funzione sanitize_user che ho notato essere presente ogni qualvolta si richiami la variabile username.
    Il fatto è che vorrei tenere anche soltanto le parentesi quadre [] e le lettere maiuscole, il resto può anche nonessere considerato

    Codice PHP:
    function sanitize_user$username$strict false ) {
        
    $raw_username $username;
        
    $username wp_strip_all_tags$username );
        
    $username remove_accents$username );
        
    // Kill octets
        
    $username preg_replace'|%([a-fA-F0-9][a-fA-F0-9])|'''$username );
        
    $username preg_replace'/&.+?;/'''$username ); // Kill entities

        // If strict, reduce to ASCII for max portability.
        
    if ( $strict )
            
    $username preg_replace'|[^a-z0-9 _.\-@]|i'''$username );

        
    $username trim$username );
        
    // Consolidate contiguous whitespace
        
    $username preg_replace'|\s+|'' '$username );

        return 
    apply_filters'sanitize_user'$username$raw_username$strict );

    Ho pensato di togliere dal terzo preg_replace le parentesi, ma non vorrei distruggere tutto e quindi vorrei prima il parere di esperti

    Grazie mille per l'aiuto

  2. #2
    Up per favore

  3. #3

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.