How to check if a user is logged_in in a Drupal site via JavaScript?

samwell picture samwell · Apr 17, 2012 · Viewed 7.9k times · Source

I know how to check if the user is logged in through PHP, but I need to do some styling when an event occurs, and I created a separate JavaScript file for this. Is this a Drupal variable or something which I can reference too?

Answer

Muhammad Reda picture Muhammad Reda · Apr 17, 2012

Create a new custom module with hook_init implementation.

function [YOUR_MODULE]_init()
{
    global $user;
    drupal_add_js(array('user_js_uid' => $user->uid), 'setting');
}

Then in your javascript code, check for the value of the variable defined in the module user_js_uid.

if(Drupal.settings.user_js_uid == 0)
{
    // execute code for non logged in users
}
else
{
    // execute code for logged in users
}

Hope this helps... Muhammad