Página 1 de 1

Recuperar clave sin pedir usuario

Publicado: 27 Nov 2015, 15:48
por horseguards
Estoy teniendo algunos problemas con usuarios antiguos que están volviendo al foro, y cuando quieren recuperar sus claves se encuentran con el problema de que no recuerdan su nombre de Usuario.

Hay alguna manera de evitar pedir el nombre de Usuario y enviar la clave ingresando solo el email?

He buscado y he visto que hay un plugin, pero es bastante viejo, y no sé si funciona con 3.1.6.

Agradeceré cualquier ayuda a este respecto.

Gracias!

Contenido Oculto
Este foro requiere que este registrado e identificado para ver el contenido oculto.

Re: Recuperar clave sin pedir usuario

Publicado: 27 Nov 2015, 17:44
por infspirit
si están registrados con el mismo e-mail que te solicitan la nueva contraseña, puedes realizar una búsqueda por e-mail en la lista de usuarios, cuando le contestas al usuario le dices su nick y la contraseña nueva que le has puesto.

Re: Recuperar clave sin pedir usuario

Publicado: 27 Nov 2015, 21:13
por horseguards
Si, pero no me sirve. Tengo muchos miles de usuarios, no puedo buscar uno por uno. Es imprescindible facilitar y agilizar el acceso.
Además, creo que es excesivo pedir esa doble identificación. Con el campo mail y un captcha sería suficiente.

Re: Recuperar clave sin pedir usuario

Publicado: 27 Nov 2015, 21:22
por uruguayito
no he visto ninguna extensión que haga lo que pides.

pero lo que te dice el colega horseguards, no es mala idea.
buscar tu como Admin un usuario por email, no tarda nada.

Una vez lo encuentras, le asignas la nueva clave y se la envias por email.... por lo menos es una solución ;)

Re: Recuperar clave sin pedir usuario

Publicado: 28 Nov 2015, 15:44
por canidev
Como medida "rápida" puedes hacer lo siguiente:
1. Abre el archivo /includes/ucp/ucp_remind.php con Notepad++ o un editor similar.
2. Busca:

Código: Seleccionar todo

				WHERE user_email_hash = '" . $db->sql_escape(phpbb_email_hash($email)) . "'
					AND username_clean = '" . $db->sql_escape(utf8_clean_string($username)) . "'";
3. Cámbialo por:

Código: Seleccionar todo

				WHERE user_email_hash = '" . $db->sql_escape(phpbb_email_hash($email)) . "'
					OR username_clean = '" . $db->sql_escape(utf8_clean_string($username)) . "'";
Esto permitirá a los usuarios establecer una nueva contraseña poniendo solo un dato, o usuario o email en lugar de tener que poner los dos.

Re: Recuperar clave sin pedir usuario

Publicado: 29 Nov 2015, 05:03
por horseguards
Gracias canidev!

En otro foro también me dieron una respuesta similar, algo más detallada.

Aquí la copio, por si le sirve a alguien más...

1. Buscar /includes/ucp/ucp_remind.php y editarla con Notepad++, Dreamweaver o similar

2. buscar y cambiar esto:

Código: Seleccionar todo

FROM ' . USERS_TABLE . "
WHERE user_email_hash = '" . $db->sql_escape(phpbb_email_hash($email)) . "'
	AND username_clean = '" . $db->sql_escape(utf8_clean_string($username)) . "'";
3. por esto

Código: Seleccionar todo

FROM ' . USERS_TABLE . ' WHERE user_email_hash = ' . $db->sql_escape(phpbb_email_hash($email));
4. Ir a /styles/theme/template y abrir ucp_remind.html (mi theme es FLATBOOTS) y borrar (o comentar) todo esto:

Código: Seleccionar todo

<div class="form-group">
		<label for="username">{L_USERNAME}{L_COLON}</label>
          <div class="input-icon left">
	        <i class="fa fa-user"></i>
		    <input class="form-control input-sm" type="text" name="username" id="username" value="{USERNAME}" placeholder="{L_USERNAME}"/>
		  </div>
	</div>

5. Ir a /language/es/email/ y abrir user_activate_passwd.txt y cambiar esto:

Tu Clave: {PASSWORD}

6. por esto (por si el usuario no recuerda su username)

Tu Usuario: {USERNAME}
Tu Clave: {PASSWORD}
==============================================================

He seguido estos pasos y ha quedado tal como lo quería. Gracias por vuesta ayuda!
sendpass.jpeg