This module converts the login interface to look like what has. Here is an example of the new login interface: It also replaces username with email address and provides the functionality to update one's email address.

Project page:

Git link:

Repository information:
git clone --recursive --branch 7.x-1.x amazon_like_login
cd amazon_like_login

This module will be used with Drupal 7.


sanchi.girotra’s picture


  1. Please update the git link corresponding to non maintainer like "" in the issue summary.
  2. Please review your module using Coder Module and see automated review here
neeravbm’s picture

I have made the changes as suggested. Please review.

suhani.jain’s picture

Mannual Review

In .module file

1)'!==' operator is there on line no 115.It should be '!='
2)In drupal_goto you have passed 'user/register' as an argument...But what if clean url in not on??? it work

When i click on 'No, I am new to this site.' radio button under 'Do you have a localhost password?' its get redirected to 'http://localhost/user/register' which will throw 'Page not found'.Please use the drupal base path to get the base path of drupal

Please correct your git clone link it should be 'git clone amazon_like_login' and also correct all the issues mentioned in

Suhani Jain

pnemes’s picture

I installed your module and it works well.
You should check your coding here. there is a few error you should fix.
Also, you should change your git repository link described in comment #3, because it is hard to find this way.

After enabled the module, i cant login with my user's email address. I see you mentioned it in readme, but i found this a bit confusing.
At least, you should change the login block's title to e-mail/username.

DmitriyMakeev’s picture

Status:Needs review» Needs work

Nice module. Also module was checked with CAPTCHA and works fine.
1. Check automatic review one more time.
2. Instead of amazon_like_login_valid_email() use valid_email_address().
3. Please add amazon_like_login.install file with:

function amazon_like_login_install() {
  drupal_set_message($t('Amazon Like Login module was installed. You need to !link.',
    array('!link' => l(t('update e-mail adresses'), 'email_update'))), 'status');
neeravbm’s picture

Thank you for reviewing the module. Here are the changes I have made:
1) When a user clicks on "No", he is redirected to "?q=user/register" rather than "user/register". This way we ensure that the link will work even without Clean URLs enabled.
2) Added javascript code so that when login page loads, "Yes" is checked by default.

neeravbm’s picture

Hi Suhani,

Thank you for reviewing the module. Here are responses to your queries:
1) !== is a valid operator. In fact, this is the one required here because I need to check boolean FALSE otherwise even 0 will match.
2) In javascript, I have changed redirection URL from "user/register" to "?q=user/register" to ensure that it works without clean URL enabled. In drupal_goto(), "user/register" will work.

Thank you.


neeravbm’s picture

Hi pnemes,

After enabling the module, one will be able to log in using whatever username he or she used before. It does not change data of people who have already registered on the site. This way even the admin username will work since it is registered before the module is enabled.

Thank you.


neeravbm’s picture

Hi DmitriyMakeev,

Thank you for reviewing the module. Here are the answers:
1) Automatic review only gives a few Warnings. The only errors it gives are errors in javascript where it asks to insert space between and after operators. But this is a minified javascript and removing the space is to reduce its size.
2) I changed amazon_like_login_valid_email() to valid_email_address().
3) To me, showing the message on install does not make sense since only the administrator will be able to see it when he installs the module. It should be up to the users if they want to update.

Thank you.


neeravbm’s picture

Priority:Normal» Major
Status:Needs work» Needs review

Updating project priority since I haven't got any feedback since more than 2 weeks.’s picture

Status:Needs review» Needs work

HI neeravbm,

You are getting few js error in automatic review
you should add space after and before of the +,=,== etc.

Please read drupal JavaScript coding standards.

Shanid kv

neeravbm’s picture

Priority:Major» Normal
Status:Needs work» Needs review

Fixed javascript coding format errors. Please review.

neeravbm’s picture

Priority:Normal» Major

Increasing the priority.

cubeinspire’s picture

Status:Needs review» Needs work

Welcome neeravbm !

Automatic review:

1. Please solve the remaining code standard (minor) issue:

Manual review:

2. amazon_like_login.js:There is not enough to use the hostname, as some installations are not on the root url path (as mine is at localhost/drupal/mytestsited7/?q=[...]) You can access base path on the javascript side using Drupal.settings.basePath. window.location = window.location.protocol + '//' + window.location.hostname + '?q=user/register';

3. There is mispelling on line 114. You must enter a username. should be You must enter an username.

4. You should add a tag on the query at line 223 to allow other modules to modify this query. The query does not take node access grants into account, so node access modules might have no effect. Be sure to use a dynamic query created by db_select() and add a tag of "node_access". This will allow modules dealing with node access to ensure only nodes to which the user has access are retrieved, through the use of hook_query_TAG_alter(). See:!node!node.module/group/node_access/7

We do really need more hands in the application queue and highly recommend to get a review bonus so we can come back to your application sooner.

klausi’s picture

Status:Needs work» Closed (won't fix)

Closing due to lack of activity. Feel free to reopen if you are still working on this application.

If you reopen this please keep in mind that we are currently quite busy with all the project applications and I can only review projects with a review bonus. Please help me reviewing and I'll take a look at your project right away :-)

neeravbm’s picture

Status:Closed (won't fix)» Needs review

I have fixed points 1, 2 and 3. Line 223 does not have a node query but a user query so I am not adding "node_access" tag. I could have added another tag but then somebody might accidentally break the functionality of the module. That's why I am not adding any tag to this query.

MJCO’s picture

Status:Needs review» Needs work

Hey neeravbm,


Firstly, please reverse the change made in #14, point 2.

The correct phrase is "a username" this is because username starts with a palatal glide (a 'y' sound). The use of a vs an relates to the sounds and not the letters used. You are sounding a consonant when you read username therefore you use a not an.

Automated Code Review:

No serious issues found. Please shorten the lines mentioned if it's at all possible.

Automated Code Review link.

Usability Points:

Personally I'd like to see the email_update url replaced with user/emailupdate for the sake of consistency. It'd be great to see user/password user/login user/register and user/emailupdate. However this is just a suggestion based on my observations.

My second usability point questions the validity of overriding Drupal's default username handling. In my opinion it would be better to use the existing email address field attached to users instead of overriding the functionality of username.

Manual Code Review:

.module file:
Line: 241form_set_error('name', t('You indicated that you are new to this site but an account with @username already exists.', array('@username' => $username)));

This doesn't quite read right. Suggest changing to: t('Sorry, an account with @username already exists.', array('@username' => $username))); file:
Line: 27

Change to 'Current e-mail address'

PA robot’s picture

Status:Needs work» Closed (won't fix)

Closing due to lack of activity. Feel free to reopen if you are still working on this application.

I'm a robot and this is an automated message from Project Applications Scraper.

PA robot’s picture

Issue summary:View changes

Checked with Drupal Coder module and Drupal Code Sniffer. Made changes for what makes sense. Also updated the git link in the project page.