function get_user($netid) { $q = new UserQuery(); $user = $q->findOneByNetid($netid); // The user exists in the database if ($user) { return $user; } else { // We need to build it. $netid_info = netid_info($netid); if ($netid_info) { if (array_key_exists("givenname", $netid_info)) { $name = $netid_info["givenname"]["0"] . " " . $netid_info["sn"]["0"]; } else { // User has no name in LDAP, set their name to their netid. $name = $netid; } $year = array_key_exists("ou", $netid_info) ? $netid_info["ou"]["0"] : false; $user = new User(); $user->setNetid($netid); if ($year) { $user->setYear($year); } if ($name) { $user->setName($name); } $user->save(); return $user; } else { // User doesn't exist in ldap either return false; } } }