Miércoles, 28 Junio 2017

Prohibición de símbolos al registrarse J15[RTO]

¡ Compartelo en tus REDES SOCIALES ! y siguenos en TWITTER

8 años 2 meses antes - 8 años 2 meses antes #2060 por selimoff
¡Buena hora del día!
Tengo esta pregunta:

Me gustaría prohibir ciertos símbolos solamente para el campo Nombre de usuario al registrase y en el menú de usuarios.
En Joomla 1.0 simplemente agregaba los simbolos no deseados en registration.html.php
ejemplo: [<|й||ц|у|к|е|н|г|ш|щ|з|х|ъ|ф|ы|в|а|п|р|о|л|д|ж|э|я|ч|с|м|и|т|ь|б|ю|>|"|'|%|;|(|)|&|+|-].

Espero que puedan ayudarme :)
Saludos

Por favor, Identificarse para unirse a la conversación.

8 años 2 meses antes #2203 por dagget
No estoy seguro de si funcionaria pero en libraries/joomla/user/user.php encontramos esto:

// Check that username is not greater than 25 characters
$username = $this->get( 'username' );
if ( strlen($username) > 150 )
{
$username = substr( $username, 0, 150 );
$this->set( 'username', $username );
}

Quizás si ahí le añadimos que controle tambien la aparicion de esos simbolos consigas tu proposito, por lo pronto podría ser algo así...

// Check that username is not greater than 25 characters and many simbols not appear in the string
$username = $this->get( 'username' );
$ilegal = array('&','%','$');
$result = strrpos($username, $ilegal);
if ( strlen($username) > 150 && $result != false)
{
$username = substr( $username, 0, 150 );
$this->set( 'username', $username );
}

No se si funcionaria es solo una idea...

CEO at Joomla! Projects
CEO at GWErp
Linux user number #470399

Por favor, Identificarse para unirse a la conversación.

8 años 2 meses antes - 8 años 2 meses antes #2221 por selimoff
Hola @Dagget,
Lamentablemente no funciono :(
trate:
// Check that username is not greater than 150 characters
$username = $this->get( 'username' );
$ilegal = array('а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','ъ','ы','ь','э','ю','я');
$result = strrpos($username, $ilegal);
if ( strlen($username) > 150 && $result != false)
{
$username = substr( $username, 0, 150 );
$this->set( 'username', $username );
}

Por favor, Identificarse para unirse a la conversación.

8 años 2 meses antes - 8 años 2 meses antes #2294 por Motion Graphics
a mi tambien me interesa prohibirlos porque con jomsocial no funcionan los perfiles si tienen puntos y esas cosas

Por favor, Identificarse para unirse a la conversación.

8 años 2 meses antes #2311 por dagget
Prueba en libraries/joomla/database/table/user.php linea 158:

if (eregi( "[<>"'%;()&]", $this->username) || strlen(utf8_decode($this->username )) < 2)
{
$this->setError( JText::sprintf( 'VALID_AZ09', JText::_( 'Username' ), 2 ) );
return false;
}

Introduce ahi tus simbolos prohibidos.

CEO at Joomla! Projects
CEO at GWErp
Linux user number #470399

Por favor, Identificarse para unirse a la conversación.

8 años 2 meses antes #2317 por selimoff
Exactamente lo que estaba buscando!
Te ganaste un +

Muchas gracias por tu esfuerzo

Por favor, Identificarse para unirse a la conversación.