Joomla.it Forum

Joomla! 1.5.x (versione con supporto terminato) => Joomla! 1.5 => : marcorock17 17 Feb 2011, 16:07:56

: [RISOLTO] Login con Email (no Plugin / Extensions - only code)
: 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
: Re:Login con Email (no Plugin / Extensions - only code)
: marcorock17 17 Feb 2011, 17:19:34
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