$x "; } xml_header(); $retval = db_init_xml(); if ($retval) xml_error($retval); $auth = get_str("account_key"); $user = lookup_user_auth($auth); if (!$user) { xml_error(-136); } $name = process_user_text($_GET["name"]); $country = $_GET["country"]; if ($country && !is_valid_country($country)) { xml_error(-1, "invalid country"); } $postal_code = process_user_text($_GET["postal_code"]); $global_prefs = process_user_text($_GET["global_prefs"]); $project_prefs = process_user_text($_GET["project_prefs"]); // Do processing on project prefs so that we don't overwrite project-specific // settings if AMS has no idea about them if (stripos($project_prefs, "") === false) { // AMS request does not contain project specific prefs, preserve original $orig_project_specific = stristr($user->project_prefs, ""); $orig_project_specific = substr($orig_project_specific, 0, stripos($orig_project_specific, "") + 19)."\n"; $project_prefs = str_ireplace("", "\n".$orig_project_specific, $project_prefs); } $url = process_user_text($_GET["url"]); $send_email = process_user_text($_GET["send_email"]); $show_hosts = process_user_text($_GET["show_hosts"]); $teamid = get_int("teamid", true); $venue = process_user_text($_GET["venue"]); $email_addr = strtolower(process_user_text($_GET["email_addr"])); $password_hash = process_user_text($_GET["password_hash"]); $query = ""; if ($name) { $query .= " name='$name', "; } if ($country) { $query .= " country='$country', "; } if ($postal_code) { $query .= " postal_code='$postal_code', "; } if ($global_prefs) { $global_prefs = str_replace("\\r\\n", "\n", $global_prefs); $x = bad_xml($global_prefs, "", ""); if ($x) { error("Invalid global preferences: $x"); } $query .= " global_prefs='$global_prefs', "; } if ($project_prefs) { $project_prefs = str_replace("\\r\\n", "\n", $project_prefs); $x = bad_xml($project_prefs, "", ""); if ($x) { xml_error(-112, "Invalid project preferences: $x"); } $query .= " project_prefs='$project_prefs', "; } if ($url) { $query .= " url='$url', "; } if ($send_email != null) { $query .= " send_email='$send_email', "; } if ($show_hosts != null) { $query .= " show_hosts='$show_hosts', "; } if (!is_null($teamid)) { if ($teamid==0) { user_quit_team($user); } else { $team = lookup_team($teamid); if ($team) { user_join_team($team, $user); } } } if ($venue) { $query .= " venue='$venue', "; } if ($email_addr && $email_addr!=$user->email_addr) { $old_email_addr = $user->email_addr; $query .= " email_addr='$email_addr', "; } if ($password_hash) { $query .= " passwd_hash='$password_hash', "; } if (strlen($query)) { // the seti_id=seti_id is to make the query valid, // since $query ends with a comma at this point // $query = "$query seti_id=seti_id"; $result = $user->update($query); if ($result) { success(""); } else { xml_error(-1, "database error: ".BoincDb::error()); } } else { success(""); } ?>