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