function privatemsg_user_load in Privatemsg 6.2
Privatemsg wrapper function for user_load() with a static cache.
The function additionaly also adds the privatemsg specific recipient id (uid) and recipient type to the user object.
Parameters
$uids: Which uid, or array of uids to load.
Return value
If $uids is a single uid, the user object with the recipient and type properties. Otherwise, if $user is an array of uids, an array of user objects with the recipient and type properties.
11 calls to privatemsg_user_load()
- pm_block_user_list in pm_block_user/
pm_block_user.pages.inc  - Formbuilder function to build a simple form to block users.
 - pm_block_user_privatemsg_block_message in pm_block_user/
pm_block_user.module  - Implements hook_privatemsg_block_message().
 - pm_email_notify_privatemsg_message_recipient_changed in pm_email_notify/
pm_email_notify.module  - Implements hook_privatemsg_message_recipient_changed().
 - privatemsg_devel_generate_new_thread in ./
privatemsg.devel_generate.inc  - Single Message Generation
 - privatemsg_link in ./
privatemsg.module  - Implements hook_link().
 
1 string reference to 'privatemsg_user_load'
File
- ./
privatemsg.module, line 2550  - Allows users to send private messages to other users.
 
Code
function privatemsg_user_load($uids) {
  static $user_cache = array();
  $to_load = $uids;
  if (!is_array($to_load)) {
    $to_load = array(
      $uids,
    );
  }
  foreach ($to_load as $uid) {
    if (!array_key_exists($uid, $user_cache)) {
      $user_cache[$uid] = user_load($uid);
      if (is_object($user_cache[$uid])) {
        $user_cache[$uid]->recipient = $user_cache[$uid]->uid;
        $user_cache[$uid]->type = 'user';
      }
    }
  }
  if (is_array($uids)) {
    return array_intersect_key($user_cache, drupal_map_assoc($uids));
  }
  else {
    return $user_cache[$uids];
  }
}