Email jako Nazwa Użytkownika

Facebooktwittergoogle_plusredditpinterestlinkedintumblrmailFacebooktwittergoogle_plusredditpinterestlinkedintumblrmail

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/.

  • krystian

    3 zmiany i mozna to uzyskac za free, oczywiscie zmieniajac doslownie troszeczke kod ..plugins\authentication\joomla.php

  • Marcin

    To może @krystian podzielisz się tymi modyfikacjami ?
    Chętnie skorzystam.

  • krystian

    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’;
    }