Bom galera neste tutorial vamos aprender a remover restrição de caracteres especiais no nome de usuários, mas antes leia a mensagem abaixo:

Aviso
Não é aconselhável a utilização por não saber exatamente a implicação disso, por questões de segurança! USE POR SUA CONTA E RISCO!


# TUTORIAL #

Abra o arquivo admin\sources\classes\member\memberFunctions.php e localize:

Código PHP:
                                        case 'ILLEGAL_CHARS':
                                                return array( 
'members_display_name' => $cleanedName['name'], 'errors' => array( 'dname' => ipsRegistry::getClass'class_localization' )->words['reg_error_chars'] ) );
                                        break; 

Substitua por:

Código PHP:
                                        /*case 'ILLEGAL_CHARS':
                                                return array( 'members_display_name' => $cleanedName['name'], 'errors' => array( 'dname' => ipsRegistry::getClass( 'class_localization' )->words['reg_error_chars'] ) );
                                        break;*/ 

Vamos Localizar:

Código PHP:
                                        case 'ILLEGAL_CHARS':
                                                return array( 
'username' => $cleanedName['name'], 'errors' => array( 'username' => ipsRegistry::getClass'class_localization' )->words['reg_error_chars'] ) );
                                        break; 

Substituir por:

Código PHP:
                                        /*case 'ILLEGAL_CHARS':
                                                return array( 'username' => $cleanedName['name'], 'errors' => array( 'username' => ipsRegistry::getClass( 'class_localization' )->words['reg_error_chars'] ) );
                                        break;*/ 

Vamos Localizar:

Código PHP:
                //-----------------------------------------
                // Manually check against bad chars
                //-----------------------------------------
                
                
if( strpos$unicode_name'\' ) !== false OR 
                        strpos( $unicode_name, '
&#quot;' ) !== false OR 
                        
strpos$unicode_name' ) !== false OR
                        strpos( $unicode_name, '
&#lt;' ) !== false OR
                        
strpos$unicode_name' ) !== false OR
                        strpos( $unicode_name, '
]' ) !== false OR
                        strpos( $unicode_name, '
[' ) !== false OR
                        strpos( $unicode_name, '
,' ) !== false OR
                        strpos( $unicode_name, '
|' ) !== false OR
                        strpos( $unicode_name, '
&#gt;' ) !== false )
                
{
                        
ipsRegistry::getClass'class_localization' )->loadLanguageFile( array( 'public_register' ), 'core' );
                        
                        return array( 
'name' => $original'errors' => array( ipsRegistry::getClass'class_localization' )->words['reg_error_chars'] ) );
                } 

Substituir por:

Código PHP:
                //-----------------------------------------
                // Manually check against bad chars
                //-----------------------------------------
                
                /*if( strpos( $unicode_name, '\' ) !== false OR 
                        strpos( $unicode_name, '&#quot;' ) !== false OR 
                        strpos( $unicode_name, ' ) !== false OR
                        strpos( $unicode_name, '&#lt;' ) !== false OR
                        strpos( $unicode_name, ' ) !== false OR
                        strpos( $unicode_name, ']' ) !== false OR
                        strpos( $unicode_name, '[' ) !== false OR
                        strpos( $unicode_name, ',' ) !== false OR
                        strpos( $unicode_name, '|' ) !== false OR
                        strpos( $unicode_name, '&#gt;' ) !== false )
                {
                        ipsRegistry::getClass( 'class_localization' )->loadLanguageFile( array( 'public_register' ), 'core' );
                        
                        return array( 'name' => $original, 'errors' => array( ipsRegistry::getClass( 'class_localization' )->words['reg_error_chars'] ) );
                }*/ 

Exemplo de membro criado com caracteres especiais:




Creditos: Adriano
Fonte: SOS Invision