id and (validate_state=0 or validate_state=4)");
$foobar = mysql_fetch_object($result);
if (!$foobar) return 0;
mysql_free_result($result);
return $foobar->total;
}
function show_credit($user) {
row2("Total credit", format_credit($user->total_credit));
row2("Recent average credit", format_credit($user->expavg_credit));
if ($user->seti_nresults) {
row2(
"SETI@home classic workunits
as of 14 May 2004",
number_format($user->seti_nresults)
);
}
if ($user->seti_total_cpu) {
$x = number_format($user->seti_total_cpu/3600)." hours";
row2(
"SETI@home classic CPU time
as of 14 May 2004",
$x
);
}
}
// show dynamic user info (private)
//
function show_user_stats_private($user) {
row1("Account statistics");
row2(PROJECT." member since", time_str($user->create_time));
show_credit($user);
row2("Pending credit", "View");
if ($user->teamid) {
$team = lookup_team($user->teamid);
$x = "id>$team->name
| Quit this team";
if ($team->userid == $user->id) {
$x .= " | management functions";
}
row2("Team", $x);
} else {
row2("Team", "None (find a team)");
}
row2("Computers on this account", "View computers");
row2("Results", "id>View");
row2("Stats on your cell phone", URL_BASE."userw.php?id=$user->id");
if ($user->posts) {
row2("Message board posts", "id>$user->posts messages");
}
}
// show static user info (private)
//
function show_user_info_private($user) {
if (is_valid_email_addr($user->email_addr)) {
$email_text = $user->email_addr;
} else {
$email_text = "Verification pending";
}
row1("Account information");
row2("Email address
Edit",
$email_text
);
row2("Name", $user->name);
if (strlen($user->url)) {
$x = "http://$user->url";
} else {
$x = "none";
}
row2("URL", $x);
row2("Country", $user->country);
row2("Postal code", $user->postal_code);
row2("", "Edit account info");
row1("Profile");
$sql = "SELECT * FROM profile WHERE userid = ".$user->id;
$result = mysql_query($sql);
if (mysql_num_rows($result) != 0) {
row2("", "id>View or edit profile");
row2("", "Delete profile");
} else {
row2("", "Create");
}
row1("Preferences");
row2(
"General
specify when and how BOINC uses your computer",
"View or edit general preferences"
);
row2(PROJECT."
control resource share and customize graphics",
"View or edit ".PROJECT." preferences"
);
row2("Forum
configure features and the appearance of the forum",
"View or edit forum preferences"
);
}
// show summary of dynamic and static info (public)
//
function show_user_summary_public($user) {
row1("Account data for $user->name");
row2(PROJECT." member since", time_str($user->create_time));
row2("Country", $user->country);
if (strlen($user->url)) {
row2("URL", "url>http://$user->url");
}
show_credit($user);
if ($user->teamid) {
$result = mysql_query("select * from team where id = $user->teamid");
$team = mysql_fetch_object($result);
row2("Team", "id>$team->name");
} else {
row2("Team", "None");
}
if ($user->show_hosts) {
row2("Computers", "id>View");
} else {
row2("Computers", "hidden");
}
if ($user->posts) {
row2("Message board posts", "id>$user->posts");
}
if ($user->has_profile) {
row2("Profile", "id>view");
}
}
// show a summary of the user.
// NOTE: This is intended to be shown only to that user.
// it has info that other users aren't supposed to see
function show_user_page_private($user) {
start_table("width=100%");
show_user_info_private($user);
show_user_stats_private($user);
row1("Other");
row2("", "Log out");
row2("Account number
Used in URLs", $user->id);
row2("Cross-project ID", $user->cross_project_id);
end_table();
}
function user_table_start($sort_by) {
start_table();
echo "