Detect First time login

    enRaiser
    By enRaiser

    This code can help to detect first time login of user.
    elgg_register_event_handler(‘login’,’user’,’check_first_login’);

    function check_first_login($login_event, $user_type, $user) {

    if($user && $user->last_login == 0) {

    // do something here.

    }

    }

    how to redirect after login.

    I realised that putting a forward directly into  login handler may create problem to other login handler, owned by other plugins.
    Hence I recommand following methos.

    elgg_register_event_handler(‘login’, ‘user’, ‘my_login_redirect’);
    elgg_register_plugin_hook_handler(‘forward’, ‘system’, ‘mysite_hook_forward_system’);

    function mysite_hook_forward_system($hook, $type, $returnvalue, $params)
    {
    //global $SESSION;

    $url = $_SESSION[‘forward_link’];
    if(!empty($url )) {
    $_SESSION[‘forward_link’] = ”;
    return elgg_get_site_url() .$url ;
    }

    }
    function my_login_redirect($event, $type, $user) {

    elgg_register_menu_item(‘topbar’, array(‘name’ => ‘editprofile’,’href’ => ‘profile’,’text’ => ‘Edit’,’priority’ => 200,));

    global $SESSION;
    $SESSION[‘forward_link’] = “profile/”.$user->username;

    return true;
    }