account setup

svn path=/trunk/boinc/; revision=883
This commit is contained in:
David Anderson 2003-02-08 02:06:35 +00:00
parent 90d722a45d
commit 8a0e378e47
22 changed files with 283 additions and 89 deletions

View File

@ -3123,3 +3123,11 @@ David Feb 7 2003
html_user/
account_setup* (new)
David Feb 8 2003
- Work on account creation a bit more.
Removed project graphics prefs.
Added email prefs.
html_user/
various

View File

@ -13,7 +13,7 @@
<form method=post action=login_action.php>
<input type=hidden name=url value=account_setup.php>
<table cellpadding=8>
<tr><td align=right>Copy and paste the account key here:</td>
<tr><td align=right>Then copy and paste the account key here:</td>
<td><input name=authenticator size=40></td>
</tr><tr>
<td align=right>and click here:</td>

View File

@ -9,18 +9,19 @@
$user = get_user_from_auth($authenticator);
require_login($user);
page_head("Account configuration");
page_head("Account setup", $user);
echo "
<h3>Account configuration</h3>
<h3>Account setup</h3>
".PROJECT." uses the BOINC software system.
<br>BOINC lets you divide your computer time between several
distributed computing projects.
<br>Are you currently participating in other projects that use BOINC?
<br>Is this your first BOINC project?
<blockquote>
<a href=account_setup_first.php><b>This is my first BOINC project</b></a>
<p>
<a href=account_setup_nonfirst.php>Yes</a>
<p>
<a href=account_setup_first.php>No</a>
<a href=account_setup_nonfirst.php><b>I'm currently participating in another BOINC project</b></a>
</blockquote>
";
page_tail();

View File

@ -13,21 +13,21 @@ if ($user == NULL) {
exit();
}
page_head("Account configuration");
page_head("Account setup", $user);
echo "
<h3>Account configuration</h3>
Thank you for allowing ".PROJECT." to use part of your computer power.
<h3>Account setup</h3>
Thank you for letting ".PROJECT." use part of your computer power.
<br>
You control when and how your computer is used.
You can control when and how your computer is used.
<br>
We suggest using the defaults -
We suggest using the defaults settings -
just go to the bottom and click OK.
";
$prefs = default_prefs();
global_prefs_update($user, $prefs);
project_prefs_update($user, $prefs);
prefs_form_global($user, $prefs, "account_setup_first_project.php");
prefs_form_global($user, $prefs, "account_setup_first_email.php");
page_tail();
?>

View File

@ -12,15 +12,12 @@ if ($user == NULL) {
exit();
}
page_head("Download BOINC software");
page_head("Download BOINC software", $user);
echo "
Your account is now configured according to your preferences
(you can return to our web site to change your preferences later).
<p>
The next step is to download the BOINC software.
Click on the kind of computer that you have to download
the appropriate version of BOINC.
Your account setup is complete.
<br>Next you must download the BOINC software.
<br>Click on the type of computer that you have:
<p>
";
@ -33,23 +30,23 @@ echo "
<li><b>Windows users</b>:
double-click on the downloaded file.
This will install BOINC on your computer.
<li><b>Macintosh OS/X users</b>: xxx
<li><b>Macintosh OS/X users</b>: BOINC will install itself automatically.
<li><b>Unix and Linux users</b>:
Use gunzip and tar to extract BOINC.
</ul>
When the BOINC software first runs,
When BOINC first runs,
it will ask you for a project URL and an account key.
Copy and paste the following:
<ul>
<li>Project URL: <b>".MASTER_URL."</b>
<li>Account key: $user->authenticator
<li>Account key: <b>$user->authenticator</b>
</ul>
That's it - you're done.
Thanks for participating in ".PROJECT.".
Visit our main page for more information.
This completes the ".PROJECT." installation.
<br>Thanks for participating in ".PROJECT.".
<br>Visit our <a href=index.php>main page</a> for more information.
";
page_tail();

View File

@ -0,0 +1,24 @@
<?php
include_once("db.inc");
include_once("util.inc");
include_once("prefs.inc");
$authenticator = init_session();
db_init();
$user = get_user_from_auth($authenticator);
if ($user == NULL) {
print_login_form();
exit();
}
page_head("Account setup: email options", $user);
echo "
<h3>Account setup: email options</h3>
<br>
";
$prefs = null;
prefs_form_email($prefs, "account_setup_first_download.php");
page_tail();
?>

View File

@ -12,9 +12,9 @@ if ($user == NULL) {
print_login_form();
exit();
}
page_head("Account configuration: graphics");
page_head("Account setup: graphics", $user);
echo "
<h3>Account configuration: graphics</h3>
<h3>Account setup: graphics</h3>
<br>
".PROJECT." lets you control the following properties of its graphics.
";

View File

@ -12,9 +12,9 @@ if ($user == NULL) {
print_login_form();
exit();
}
page_head("Account configuration");
page_head("Account setup: resource share", $user);
echo "
<h3>Account configuration</h3>
<h3>Account setup: resource share</h3>
<br>
You can control how your resources
(computer time and disk space) are divided
@ -25,7 +25,7 @@ echo "
The default resource share is 100.
";
$prefs = prefs_parse($user->project_prefs);
prefs_form_resource($prefs, "account_setup_nonfirst_done.php");
prefs_form_resource($prefs, "account_setup_nonfirst_email.php");
page_tail();
?>

View File

@ -12,12 +12,12 @@ if ($user == NULL) {
print_login_form();
exit();
}
page_head("Account configuration: last step");
page_head("Account setup: done", $user);
echo "
<h3>Account configuration: last step</h3>
<h3>Account setup: done</h3>
Your ".PROJECT." account is now set up.
<br>Now you must tell your computer about it.
Your account setup is complete.
<br>Next you must tell your computer(s) to use this account.
<ul>
<li><b>Windows users:</b>
Open the BOINC application window by
@ -39,9 +39,9 @@ echo "
<li>Account key: $user->authenticator
</ul>
That's it - you're done.
Thanks for participating in ".PROJECT.".
Visit our main page for more information.
This completes the ".PROJECT." installation.
<br>Thanks for participating in ".PROJECT.".
<br>Visit our <a href=index.php>main page</a> for more information.
";
page_tail();

View File

@ -0,0 +1,24 @@
<?php
include_once("db.inc");
include_once("util.inc");
include_once("prefs.inc");
$authenticator = init_session();
db_init();
$user = get_user_from_auth($authenticator);
if ($user == NULL) {
print_login_form();
exit();
}
page_head("Account setup: email options", $user);
echo "
<h3>Account setup: email options</h3>
<br>
";
$prefs = null;
prefs_form_email($prefs, "account_setup_nonfirst_done.php");
page_tail();
?>

View File

@ -0,0 +1,25 @@
<?php
include_once("db.inc");
include_once("util.inc");
include_once("prefs.inc");
$authenticator = init_session();
db_init();
$user = get_user_from_auth($authenticator);
if ($user == NULL) {
print_login_form();
exit();
}
page_head("Account setup: graphics", $user);
echo "
<h3>Account setup: graphics</h3>
<br>
".PROJECT." lets you control the following properties of its graphics.
";
$prefs = null;
prefs_form_project($prefs, "account_setup_nonfirst_done.php");
page_tail();
?>

View File

@ -10,7 +10,7 @@
db_init();
$user = get_user_from_auth($authenticator);
if ($user) {
page_head("User page for $user->name");
page_head("User page", $user);
show_user_page_private($user);
page_tail();
} else {

View File

@ -130,7 +130,7 @@ function default_prefs() {
$p->confirm_before_connecting = 0;
$p->low_water_days = 1;
$p->high_water_days = 3;
$p->disk_max_used_gb = 1000;
$p->disk_max_used_gb = 100;
$p->disk_max_used_pct = 50;
$p->disk_min_free_gb = 1;
@ -158,9 +158,6 @@ function prefs_parse($prefs_xml) {
// display preference subsets, with Edit buttons
//
function prefs_show_global($prefs) {
echo "<p>";
echo "<table width=580 cellpadding=4>\n";
echo "<tr>".TD2.LG_FONT."<b>Global preferences</b></font>
<br><font size=-1>These apply to all BOINC projects in which you participate</font></td></tr>\n";
if ($prefs->dont_run_on_batteries) {
@ -178,37 +175,50 @@ function prefs_show_global($prefs) {
} else {
$confirm = "No";
}
row2a("<b>Work if computer on batteries: </b>", $batteries);
row2a("<b>Work if computer in use: </b>", $in_use);
row2a("<b>Confirm before connecting to network: </b>", $confirm);
row2a("<b>Minimum amount of work to buffer: </b>", "$prefs->low_water_days days");
row2a("<b>Maximum amount of work to buffer: </b>", "$prefs->high_water_days days");
echo "<p>";
row2a("<b>Maximum disk space to use: </b>", "$prefs->disk_max_used_gb GB");
row2a("<b>Minimum disk space to leave free: </b>", "$prefs->disk_min_free_gb GB");
row2a("<b>Maximum % of disk allowed to used: </b>", "$prefs->disk_max_used_pct %");
row2a("Work if computer on batteries:", $batteries);
row2a("Work if computer in use:", $in_use);
row2a("Confirm before connecting to network:", $confirm);
row2a("Minimum amount of work to buffer:", "$prefs->low_water_days days");
row2a("Maximum amount of work to buffer:", "$prefs->high_water_days days");
row2a("Maximum disk space to use:", "$prefs->disk_max_used_gb GB");
row2a("Minimum disk space to leave free:", "$prefs->disk_min_free_gb GB");
row2a("Maximum % of disk allowed to used:", "$prefs->disk_max_used_pct %");
echo "<tr><td><a href=prefs_edit_global_form.php>Edit global preferences</a></td></tr>\n";
echo "</table>\n";
}
function prefs_show_resource($prefs) {
echo "<tr>".TD2.LG_FONT."<b>Resource share</b></font>
<br><font size=-1>Control how your resources are divided among BOINC projects</font></td></tr>\n";
row2a(PROJECT." resource share:", $prefs->resource_share);
echo "<tr><td><a href=prefs_edit_resource_form.php>Edit resource share</a></td></tr>\n";
}
function prefs_show_email($prefs) {
echo "<tr>".TD2.LG_FONT."<b>Email options</b></font>
<br><font size=-1>Control how ".PROJECT." uses your email address</font></td></tr>\n";
row2a("Should ".PROJECT." send you email newsletters?", $prefs->send_email?"Yes":"No");
row2a("Should ".PROJECT." show your email address on its web site?", $prefs->show_email?"Yes":"No");
echo "<tr><td><a href=prefs_edit_email_form.php>Edit email options</a></td></tr>\n";
}
function prefs_show_project($prefs) {
echo "<p>";
echo "<table width=580 cellpadding=4>\n";
echo "<tr>".TD2.LG_FONT."<b>Project preferences</b></font>
<br><font size=-1>These apply only to this project</font></td></tr>\n";
row2a("<b>Resource Share: </b>", $prefs->resource_share);
$prefs = project_specific_prefs_parse($prefs->project_specific);
echo "<tr>".TD2.LG_FONT."<b>Graphics preferences</b></font>
<br><font size=-1>Customize ".PROJECT." screensaver graphics</font></td></tr>\n";
project_specific_prefs_show($prefs);
echo "<tr><td><a href=prefs_edit_project_form.php>Edit project preferences</a></td></tr>\n";
echo "</table>";
echo "<tr><td><a href=prefs_edit_project_form.php>Edit graphics preferences</a></td></tr>\n";
}
function print_prefs_display($user) {
prefs_show_project(prefs_parse($user->project_prefs));
prefs_show_resource(prefs_parse($user->project_prefs));
prefs_show_global(prefs_parse($user->global_prefs));
echo "<table width=580 cellpadding=4>\n";
$global_prefs = prefs_parse($user->global_prefs);
$project_prefs = prefs_parse($user->project_prefs);
$project_specific_prefs = project_specific_prefs_parse($project_prefs->project_specific);
prefs_show_resource($project_prefs);
prefs_show_project($project_specific_prefs);
prefs_show_email($global_prefs);
prefs_show_global($global_prefs);
echo "</table>";
}
////////////////////////////////////////////
@ -270,8 +280,27 @@ function prefs_form_global($user, $prefs, $next_url) {
";
}
function prefs_form_resource($prefs_xml, $next_url) {
$prefs = project_specific_prefs_parse($prefs_xml);
function prefs_form_email($prefs, $next_url) {
echo "<form action=prefs_edit_email_action.php>
<input type=hidden name=next_url value=$next_url>
<table cellpadding=6>
<tr>
<td align=right>Should ".PROJECT." send you email newsletters?</td><td>
";
printf("Yes <input type=radio name=send_email %s>\n", $prefs->send_email?"checked":"");
printf("No <input type=radio name=send_email %s>\n", $prefs->send_email?"":"checked");
echo " </td></tr><tr>
<td align=right>Should ".PROJECT." show your email address on its web site?</td><td>
";
printf("Yes <input type=radio name=show_email %s>\n", $prefs->show_email?"checked":"");
printf("No <input type=radio name=show_email %s>\n", $prefs->show_email?"":"checked");
echo" </td></tr>
<tr><td><br></td><td><input type=submit value=OK></td></tr>
</table></form>
";
}
function prefs_form_resource($prefs, $next_url) {
echo "<form action=prefs_edit_resource_action.php>
<input type=hidden name=next_url value=$next_url>
<table cellpadding=6>
@ -320,6 +349,12 @@ function prefs_resource_parse_form(&$prefs) {
$prefs->resource_share = $resource_share;
}
function prefs_email_parse_form(&$prefs) {
parse_str(getenv("QUERY_STRING"));
$prefs->send_email = isset($send_email)?1:0;
$prefs->show_email = isset($show_email)?1:0;
}
function prefs_project_parse_form(&$prefs) {
$prefs->project_specific = project_specific_prefs_parse_form();
}

View File

@ -0,0 +1,24 @@
<?php
include_once("db.inc");
include_once("util.inc");
include_once("prefs.inc");
parse_str(getenv("QUERY_STRING"));
$authenticator = init_session();
db_init();
$user = get_user_from_auth($authenticator);
if ($user == NULL) {
print_login_form();
exit();
}
no_cache();
$prefs = prefs_parse($user->project_prefs);
prefs_email_parse_form($prefs);
project_prefs_update($user, $prefs);
Header("Location: $next_url");
?>

View File

@ -0,0 +1,21 @@
<?php
include_once("db.inc");
include_once("util.inc");
include_once("prefs.inc");
$authenticator = init_session();
db_init();
$user = get_user_from_auth($authenticator);
if ($user == NULL) {
print_login_form();
exit();
}
page_head("Edit email options", $user);
parse_str(getenv("QUERY_STRING"));
$prefs = prefs_parse($user->project_prefs);
prefs_form_email($prefs, "prefs.php");
page_tail();
?>

View File

@ -12,7 +12,7 @@ if ($user == NULL) {
print_login_form();
exit();
}
page_head("Edit preferences");
page_head("Edit preferences", $user);
parse_str(getenv("QUERY_STRING"));
$prefs = prefs_parse($user->project_prefs);
prefs_form_project($prefs);

View File

@ -12,11 +12,18 @@ if ($user == NULL) {
print_login_form();
exit();
}
page_head("Edit Global Preferences");
page_head("Edit global preferences", $user);
$prefs = prefs_parse($user->global_prefs);
prefs_form_global($user, $prefs);
echo "<h3>Edit global preferences</h3>
These preferences apply to all the BOINC projects
in which you participate.
<br>If you participate in multiple BOINC projects,
edit your preferences only one project's web site;
<br>otherwise edits may be overwritten.
";
prefs_form_global($user, $prefs, "prefs.php");
echo "<a href=prefs.php>Back to preferences</a>\n";
echo "<p>\n";
page_tail();
?>

View File

@ -12,10 +12,10 @@ if ($user == NULL) {
print_login_form();
exit();
}
page_head("Edit project preferences");
page_head("Edit project preferences", $user);
parse_str(getenv("QUERY_STRING"));
$prefs = prefs_parse($user->project_prefs);
prefs_form_project($prefs);
prefs_form_project($prefs, "prefs.php");
echo "<p>\n";
page_tail();

View File

@ -0,0 +1,21 @@
<?php
include_once("db.inc");
include_once("util.inc");
include_once("prefs.inc");
$authenticator = init_session();
db_init();
$user = get_user_from_auth($authenticator);
if ($user == NULL) {
print_login_form();
exit();
}
page_head("Edit resource share", $user);
parse_str(getenv("QUERY_STRING"));
$prefs = prefs_parse($user->project_prefs);
prefs_form_resource($prefs, "prefs.php");
page_tail();
?>

View File

@ -41,7 +41,7 @@ function project_specific_prefs_parse_form() {
//
function project_specific_prefs_show($prefs) {
echo "<tr>\n
<td><b>Color scheme:</b></td>\n
<td>Color scheme:</td>\n
<td>$prefs->color_scheme</td>\n
</tr>\n";
}

View File

@ -2,15 +2,15 @@
function show_user_stats($user) {
echo TABLE2."\n";
echo "<tr>".TD2.LG_FONT."<b>User Stats:</b></font></td></tr>\n";
$row = sprintf("<b>%s user since: </b>", $project);
echo "<tr>".TD2.LG_FONT."<b>User stats</b></font></td></tr>\n";
$row = sprintf("<b>%s user since</b>", $project);
row($row, time_str($user->create_time));
row("<b>Total credit: </b>", $user->total_credit);
row("<b>Recent average credit: </b>", $user->expavg_credit);
row("<b>Total credit</b>", $user->total_credit);
row("<b>Recent average credit</b>", $user->expavg_credit);
if ($user->teamid) {
$result = mysql_query("select * from team where id = $user->teamid");
$team = mysql_fetch_object($result);
row("<b>Team: </b>", "<a href=team_display.php?id=$team->id>$team->name</a>");
row("<b>Team</b>", "<a href=team_display.php?id=$team->id>$team->name</a>");
} else {
row("<b>Team: </b>", "None");
}
@ -19,7 +19,8 @@ function show_user_stats($user) {
function show_user_profile($user) {
echo TABLE2."\n";
echo "<tr>".TD2.LG_FONT."<b>User Information:</b></font></td></tr>\n";
echo "<tr>".TD2.LG_FONT."<b>User information</b></font></td></tr>\n";
row("<b>name</b>", $user->name);
row("<b>email address</b>", $user->email_addr);
row("<b>country</b>", $user->country);
row("<b>postal (ZIP) code</b>", $user->postal_code);
@ -46,10 +47,11 @@ function show_hosts($user) {
function show_host_brief($host) {
echo "<tr>
<td><a href=show_host_detail.php?hostid=$host->id>$host->domain_name</a></td>
<td>$host->total_credit</td>
<td>$host->expavg_credit</td>
</tr>";
<td><a href=show_host_detail.php?hostid=$host->id>$host->domain_name</a></td>
<td>$host->total_credit</td>
<td>$host->expavg_credit</td>
</tr>
";
}
// show a summary of the user.

View File

@ -15,7 +15,7 @@ define("TD3", "<td colspan=3 bgcolor=cccccc>");
define("TABLE", "<table cellpadding=10 cellspacing=4 border=0 width=100%>");
define("VISTABLE", "<table cellpadding=2 cellspacing=0 border=1 width=100%>");
define("TABLE2", "<table width=580>");
define("TABLE2", "<table width=580 cellpadding=3>");
define("BG_COLOR", " bgcolor=ffffff ");
define("TITLE_COLOR", " bgcolor=000000 ");
@ -79,13 +79,18 @@ function show_login($user) {
}
}
function page_head($title) {
function page_head($title, $user=null) {
echo "<head><title>$title</title><body ".BG_COLOR.">\n";
// Put your project title and logo here
echo "<h2>".PROJECT."</h2><hr>\n";
//echo "<h3>$title</h3>\n";
echo "<table width=100%><tr><td><h2>".PROJECT."</h2></td><td align=right>\n";
if ($user) {
echo "Logged in as $user->name";
} else {
echo "<br>";
}
echo "</td></tr></table><hr>\n";
}
function page_tail() {