3.10.3. user_get

This hook can be used to handle the data that was retrieved from the database for a user. Modules can add and modify the user data.

In combination with the user_save hook, this hook could also be used to store and retrieve some of the Phorum user fields in some external system

Call time:

Just after user data has been retrieved from the database.

Hook input:

This hook receives two arguments.
The first argument contains an array of users. Each item in this array is an array containing data for a single user, which can be updated.
The second argument contains a boolean that indicates whether detailed information (i.e. including group info) is retrieved.

Hook output:

The array that was used as the first argument for the hook call, possibly with some updated users in it.

Example code:

function phorum_mod_foo_user_get($user, $detailed)
{
    // Let's asume that our usernames are based on the
    // system users on a UNIX system. We could merge some
    // info from the password file with the Phorum info here.

    // First try to lookup the password file entry.
    // Return if this lookup fails.
    $pw = posix_getpwnam($user['username']);
    if (empty($pw)) return $user;

    // On a lot of systems, the "gecos" field contains
    // the real name for the user.
    $user['real_name'] = $pw["gecos"] != ''
                       ? $pw["gecos"]
                       : $user["real_name"];

    // If a custom profile field "shell" was created, then
    // we could also put the user's shell in the data.
    $user['shell'] = $pw['shell'];

    return $user;
}