Аналогично ответу Берке, но кажется, что вы просто хотите, чтобы это было единоразово. Для этого вы можете проверить свойство $ account-> access, чтобы проверить их последний вход в систему. Если это 0, то они входят в систему в первый раз.
Это должно работать нормально для электронной почты или без проверки электронной почты.
<?php
/**
* Implements hook_user().
*/
function mymodule_user($op, &$edit, &$account, $category = NULL) {
switch ($op) {
case 'login':
// execute this if they have never accessed the site before
if ($account->access == 0) {
// run conditional logic based on profile fields
// to set destination here
$_REQUEST['destination'] = 'path/to/welcome-page';
}
break;
}
}
?>