Jak skutecznie zniechęcić użytkownika do rejestracji w naszym serwisie? Proste, dać mu 10 lub więcej pól do wypełnienia podczas rejestracji. A nie można prościej, o tak można, ba nawet trzeba. Zapewne od dawna marzyłeś, aby okno logowania zawierało tylko 2 pola: e-mail i hasło, tak jak na większości serwisów społecznościowych (np. N-K, GL). Jeśli masz kilka dolarów albo 10 funtów, zainwestuj w dodatek Email as Username (www.lunarhotel.co.uk). Niniejsze rozszerzenie w pełni współdziała z: standardowym logowaniem, JomSocial, VirtueMart, AjaxRegistration Pro, K2 oraz Sakic’s AjaxRegister.
Czy jest to jedyne rozszerzenie, które upraszcza życie nowym userom, z pewnością nie. O komponencie do rejestracji AlphaRegistration – już pisałem jakiś czas temu /kliknij na tag/.
3 zmiany i mozna to uzyskac za free, oczywiscie zmieniajac doslownie troszeczke kod ..plugins\authentication\joomla.php
To może @krystian podzielisz się tymi modyfikacjami ?
Chętnie skorzystam.
ok, nie bede pisal co zmieniamy… podmien od 'Get a database object’ w pliku plugins\authentication\joomla.php
// Get a database object
$db =& JFactory::getDBO();
$query = 'SELECT `id`, `password`, `gid`, `username`’
. ’ FROM `#__users`’
. ’ WHERE username=’.$db->Quote( $credentials[’username’] ).’ OR email=’. $db->Quote( $credentials[’username’] );
$db->setQuery( $query );
$result = $db->loadObject();
$credentials[’username’] = $result->username;
if($result)
{
$parts = explode( ’:’, $result->password );
$crypt = $parts[0];
$salt = @$parts[1];
$testcrypt = JUserHelper::getCryptedPassword($credentials[’password’], $salt);
if ($crypt == $testcrypt) {
$user = JUser::getInstance($result->id); // Bring this in line with the rest of the system
$response->email = $user->email;
$response->fullname = $user->name;
$response->username = $user->username;
$response->status = JAUTHENTICATE_STATUS_SUCCESS;
$response->error_message = ”;
} else {
$response->status = JAUTHENTICATE_STATUS_FAILURE;
$response->error_message = 'Invalid password’;
}
}
else
{
$response->status = JAUTHENTICATE_STATUS_FAILURE;
$response->error_message = 'User does not exist’;
}