function fp_load_user
Search API
| 7.x db.inc | fp_load_user($user_id) | 
| 6.x db.inc | fp_load_user($user_id) | 
| 4.x db.inc | fp_load_user($user_id) | 
| 5.x db.inc | fp_load_user($user_id) | 
Returns back a user object for this user_id. If the user is not found in the users table, it will return NULL. If the user_id requested is 0, the anonymous user object is returned.
5 calls to fp_load_user()
- content_display_content_admin_list in modules/content/ content.module 
- Display a list of content for the administrator
- content_view_content in modules/content/ content.module 
- Display the content specified in the GET's cid.
- stats_report_access_stats in modules/stats/ stats.module 
- This report shows recent activity in FlightPath. It can also be used to see if anyone is "online" in that they would have activity less than 5 minutes old.
- system_init in modules/system/ system.module 
- Called on every page load.
- system_login_form_submit in modules/system/ system.module 
- Submit handler for login form. If we are here, it probably means we have indeed authenticated. Just in case, we will test the form_state["passed_authentication"] value, which we expect to have been set in our validate handler.
File
- includes/db.inc, line 268 
- This file contains mostly db shortcuts.
Code
function fp_load_user($user_id) {
  $rtn = new stdClass();
  if ($user_id == 0) {
    // Return the anonymous user.
    $rtn->id = 0;
    $rtn->name = t("Anonymous");
    $rtn->roles = array(1 => "anonymous user");
    $rtn->permissions = fp_get_permissions_for_role(1);
    return $rtn;
  }
  $res = db_query("SELECT * FROM users WHERE user_id = '?' ", $user_id);
  if (db_num_rows($res) == 0) {
    return NULL;
  }
  $cur = db_fetch_object($res);
  $rtn->id = $cur->user_id;
  $rtn->name = $cur->user_name;
  $rtn->f_name = $cur->f_name;
  $rtn->l_name = $cur->l_name;
  $rtn->email = $cur->email;
  $rtn->cwid = $cur->cwid;
  $rtn->is_student = (bool) $cur->is_student;
  $rtn->is_faculty = (bool) $cur->is_faculty;
  $rtn->roles = array();
  $rtn->permissions = array();
  // Load the user's roles and    
  $res = db_query("SELECT * FROM user_roles a,                                
                                roles c
                  WHERE a.user_id = '?'
                  AND a.rid = c.rid", $user_id);
  while ($cur = db_fetch_array($res)) {
    $rtn->roles [$cur ["rid"]] = $cur ["name"];
  }
  // Let's make sure we get the authenticated user role as well, #2.
  $rtn->roles [2] = "authenticated user";
  // Go through each role and add in the permissions for each role.
  foreach ($rtn->roles as $rid => $val) {
    $perms = fp_get_permissions_for_role($rid);
    // Merge the arrays while KEEPING the original's key.  So don't
    // use array_merge, use the + operator.
    $rtn->permissions = $rtn->permissions + $perms;
  }
  return $rtn;
}
