Joomla.it Forum
Joomla! 1.5.x (versione con supporto terminato) => Joomla! 1.5 => : marcorock17 17 Feb 2011, 16:07:56
-
Ciao ragazzi!
Vorrei far loggare i miei utenti con la mail invece che con lo userid.
Che cosa devo modificare?
Da quel che ho capito Joomla fa cosi:
1 - invia le variabili dalla form presente in modules\mod_login\tmpl\default.php
2 -qui \components\com_user\controller.php imposta le variabili $credentials con i valori che l'utente ha inserito
e poi mi sono perso.
Ho visto che qui \joomla17\plugins\authentication\joomla.php c'è una query, e qui \libraries\joomla\user\authentication.php l'autenticazione vera e propria.
Mi date una mano a raggiungere questo scopo senza ricorrere a plugin/estensioni esterne?
Grazie mille,
Marco
-
Risolto.
Ecco la soluzione.
1 -
qui components\com_user\controller.php riga 139: dopo $credentials = array(); inserite
$email = JRequest::getVar('email', '', 'method', 'email');
$db = JFactory::getDBO();
$db->setQuery("Select * from #__users where email='$email'");
$tempUser = $db->loadObject();
$credentials['username'] = $tempUser->username;
e commentate la riga //$credentials['username'] = JRequest::getVar('username', '', 'method', 'username');
2 -
qui modules\mod_login\tmpl\default.php sostituite la parola username con email -> il risultato deve essere questo
<p id="form-login-email">
<label for="modlgn_email"><?php echo JText::_('Email') ?></label>
<input id="modlgn_email" type="text" name="email" class="inputbox" alt="email" size="18" />
</p>
è tutto
ciao
Marco