user_module_invoke()
has been removed from User module. It was originally added to allow manipulation of submitted user login form values by other modules and tests, but form values can be manipulated through standard Form API ways today.
hook_user_login() implementations
Hook implementations need to be updated, since the $edit
parameter has been removed:
/**
* Implements hook_user_login().
*/
-function system_user_login(&$edit, $account) {
+function system_user_login($account) {
It was possible to use $edit to to a form redirect. Modules which were doing this should now add a submit callback to the login form instead and handle the redirect there.
User Authentication API
All existing calls to user_module_invoke()
need to be replaced with module_invoke_all()
.
Drupal 7
$edit = array();
user_module_invoke('login', $edit, $account);
Drupal 8
module_invoke_all('user_login', $account);
See user_login_finalize() for reference.