function show_item($y) { $d = gmdate("g:i A \\U\\T\\C, F d Y", $y[7]); $file = $y[0]; if (strstr($file, 'http://')) { $url = $file; } else { $url = "http://boinc.berkeley.edu/addons/{$file}"; } page_head($y[1]); list_start(); list_item("Name<br><font size=-2>Click to download</font>", "<a href=\"{$url}\">" . $y[1] . '</a>'); if ($y[2]) { list_item("Version", $y[2]); } if ($y[3]) { list_item("Summary", $y[3]); } if ($y[4]) { list_item("Origin", '<a href=' . $y[4] . '>' . $y[4] . '</a>'); } if ($y[5]) { list_item("Platform", $y[5]); } if ($y[6]) { list_item("Description", $y[6]); } list_item("Date", $d); list_end(); page_tail(); }
function email_contact($vol) { echo "\n <p>\n <h2>Contact {$vol->name} by email</h2>\n <form action=help_vol.php>\n <input type=hidden name=volid value=\"{$vol->id}\">\n "; list_start(); list_item("Your email address", input("email_addr", "")); list_item("Subject<br><span class=note>Include 'BOINC' in the subject so {$vol->name} will know it's not spam</span>", input("subject", "")); list_item("Message<br><span class=note>\n \n Please include a detailed description of the problem\n you're experiencing.\n If possible, include the contents of BOINC's message log.\n </span>", textarea("message", "")); list_item("", "<input type=submit name=send_email value=OK>"); list_end(); echo "</form>\n "; }
function show_detail($v) { $num = $v["num"]; $file = $v["file"]; $status = $v["status"]; $path = "dl/{$file}"; $url = version_url($v['file']); $dlink = "<a href={$url}>{$file}</a>"; $s = number_format(filesize($path) / 1000000, 2); $date = $v["date"]; $type = type_text($v["type"]); list_start(); dl_item("File (click to download)", "{$dlink} ({$s} MB)"); dl_item("Version number", $num); dl_item("Release date", $date); list_end(); }
function print_form($vol, $action_name) { list_start(); list_item("Name or nickname", input("volname", $vol->name)); list_item("Email address<br><font size=-2>This won't be publicized,\n but user email may be sent here.\n Use a separate mailbox if you want.</font>", input("email_addr", $vol->email_addr)); list_item("Password", password("password", $vol->password)); list_item("Skype ID<br><font size=-2>\n This will be publicized.\n Use a Skype account other than\n your primary one if you want.</font>", input("skypeid", $vol->skypeid)); list_item("Primary language", spoken_language_list("lang1", $vol->lang1)); list_item("Secondary language", spoken_language_list("lang2", $vol->lang2)); list_item("Country", "<select name=country>" . country_select($vol->country) . "</select>"); list_item("Specialties<br><font size=-2>\n What kinds of computers (Windows/Mac/Linux)\n and/or networking technologies (proxies, NATs)\n are you most familiar with?</font>", textarea("specialties", $vol->specialties)); list_item("Projects<br><font size=-2>\n Do you specialize in any particular BOINC-based projects?</font>", textarea("projects", $vol->projects)); list_item("What days and times are you typically available for help?\n <br><font size=-2>Include your time zone, or use UTC</font>", textarea("availability", $vol->availability)); list_item("Is Skype voice OK?", yesno("voice_ok", $vol->voice_ok)); list_item("Is Skype text OK?", yesno("text_ok", $vol->text_ok)); list_item("Hide your account?", yesno("hide", $vol->hide)); list_item("", "<input type=submit name={$action_name} value=OK>"); list_end(); }
function show_vols($vols) { echo "\n You can send email to a volunteer even if they're offline.\n To do so, click their name.\n <p>\n "; help_warning(); echo "\n <p>\n If you're setting up a BOINC project, this is not the place to get help.\n Instead, try the\n <a href=http://boinc.berkeley.edu/email_lists.php>boinc_projects</a>\n email list.\n "; list_start("border=0"); list_heading_array(array("Volunteer name<br><font size=2>click to contact</font>", "Voice/Text", "Info", "Feedback <br><font size=-2>Click to see comments</font>")); foreach ($vols as $vol) { show_vol($vol); } list_end(); }
function show_download($pname) { echo "\n <table cellpadding=10><tr><td valign=top>\n " . tra("BOINC is a program that lets you donate your idle computer time to science projects like SETI@home, Climateprediction.net, Rosetta@home, World Community Grid, and many others.") . " " . tra("After installing BOINC on your computer, you can connect it to as many of these projects as you like.") . "<p>" . tra("You may run this software on a computer only if you own the computer or have the permission of its owner.") . "<p>"; if ($pname == 'android') { echo "<b>" . tra("We recommend that you download BOINC from the Google Play Store or Amazon Appstore, not from here.") . " </b>\n "; } if ($pname) { download_link($pname, true); } else { list_start(); list_heading_array(array('Computer type', 'BOINC version ', 'Click to download')); download_link('win'); download_link('winx64'); download_link('mac'); download_link('macppc'); download_link('linux'); download_link('linuxx64'); download_link('linuxcompat'); download_link('android'); list_end(); echo "Linux users: BOINC is available as a package for many Linux distributions. It is available for Linux/ARM as a package for Debian and Ubuntu for ARM, and Raspbian (for Raspberry Pi)."; } if ($pname != 'android') { echo "\n <p>\n After downloading BOINC you must <b>install</b> it:\n typically this means double-clicking on the file icon\n when the download is finished.\n "; } echo "\n <p>\n <center>\n <a href=\"wiki/System_requirements\"><span class=nobr>" . tra("System requirements") . "</span></a>\n · <a href=\"wiki/Release_Notes\"><span class=nobr>" . tra("Release notes") . "</span></a>\n · <a href=\"wiki/BOINC_Help\"><span class=nobr>" . tra("Help") . "</span></a>\n · <a href=download_all.php><span class=nobr>" . tra("All versions") . "</span></a>\n · <a href=\"trac/wiki/VersionHistory\">" . tra("Version history") . "</a>\n · <a href=http://boinc.berkeley.edu/wiki/GPU_computing>" . tra("GPU computing") . "</a>\n </center>\n </td>\n <td valign=top>\n "; show_pictures(); echo "\n </td>\n </tr></table>\n "; }
page_head("Choosing BOINC projects"); echo "\n<p>\nBOINC is used by many volunteer computing <b>projects</b>.\nSome are based at universities and research labs,\nothers are run by companies and individuals.\nYou can participate in any number of these projects.\n<p>\nIn deciding whether to participate in a project,\nread its web site and consider the following questions:\n\n<ul>\n<li> Does it clearly describe its goals?\n Are these goals important and beneficial?\n<li> Do they have any published results? See\n<a href=/wiki/Publications_by_BOINC_projects>\nA list of scientific publications of BOINC projects</a>.\n<li> Do you trust it to use proper security practices?\n<li> Who owns the results of the computation?\n Will they be freely available to the public?\n Will they belong to a company?\n</ul>\n<p>\n\nThe following projects are known to us at BOINC,\nand we believe that their descriptions are accurate.\nSee also\n<a href=wiki/Project_list>a complete list of projects</a>.\n\n<p>\nProjects have different requirements such as memory size;\na partial summary is <a href=http://boincfaq.mundayweb.com/index.php?view=67>here</a>.\n<p>\nIf your computer is equipped with a Graphics Processing Unit\n(GPU), you may be able to\n<a href=http://boinc.berkeley.edu/wiki/GPU_computing>use it to compute faster</a>.\n"; list_start("cellpadding=2 width=100%"); list_heading_array(array("Project<br><span class=note>Mouse over for details; click to visit web site</span>", "Home", "Research area", "Supported platforms")); shuffle($areas); foreach ($areas as $area) { list_bar($area[0]); $projects = $area[1]; shuffle($projects); $n = 0; foreach ($projects as $p) { $img = ""; if (array_key_exists(5, $p) && $p[5]) { $img = "<img align=right vspace=4 hspace=4 src=images/{$p['5']}>"; } $desc = addslashes($p[4]); $x = "<a href={$p['1']} onmouseover=\"return escape('{$img} <b>Home:</b> {$p['2']}<hr><b>Area:</b> {$p['3']}<hr><b>Goal:</b> {$desc}')\">{$p['0']}</a>"; $home = $p[2]; $area = $p[3]; $master_url = $p[1]; if (array_key_exists(6, $p)) { $master_url = $p[6]; } $p = get_platforms_string($master_url); echo "<tr class=row{$n}>\n <td valign=top>{$x}</td>\n <td valign=top>{$home}</td>\n <td valign=top>{$area}</td>\n <td width=30% valign=top>{$p}</td>\n </tr>\n "; $n = 1 - $n; } } list_end(); echo "\n</ul>\n\n<p>\nIf you run a BOINC-based project\nand would like it to be included on this list,\nplease <a href=http://boinc.berkeley.edu/trac/wiki/ProjectPeople>contact us</a>.\n<script language=\"JavaScript\" type=\"text/javascript\" src=\"wz_tooltip.js\"></script>\n"; page_tail();
function ordered_display($areas, $sort) { // make a list of projects // $projects = null; foreach ($areas as $area) { $title = $area[0]; $projs = $area[1]; foreach ($projs as $p) { $p['area'] = $title; $projects[] = $p; } } usort($projects, $sort == "area" ? 'comp_area' : 'comp_name'); list_start("cellpadding=2 width=100%"); list_heading_array(array(($sort == "area" ? "<a title='Sort by name' href=projects.php>Name</a>" : "Name") . "<br><span class=note>Mouse over for details; click to visit web site</span>", $sort != "area" ? "<a title='Sort by category' href=projects.php?sort=area>Category</a>" : "Category", "Area", "Sponsor", "Supported platforms")); $n = 0; foreach ($projects as $p) { $img = ""; if (array_key_exists(5, $p) && $p[5]) { $img = "<img align=right vspace=4 hspace=4 src=images/{$p['5']}>"; } $arg = "{$img} <b>Sponsor:</b> {$p['2']}<hr><b>Area:</b> {$p['3']}<hr><b>Goal:</b> {$p['4']}"; $arg = addslashes($arg); $x = "<a href={$p['1']} onmouseover=\"popup('{$arg}')\">{$p['0']}</a>"; $home = $p[2]; $area = $p['area']; $spec_area = $p[3]; $master_url = $p[1]; if (array_key_exists(6, $p) && strlen($p[6])) { $master_url = $p[6]; } $p = get_platform_icons($master_url); if (!$p) { $p = tra("Unknown"); } else { $pd = get_platforms_string($master_url, false); $p .= "<br><a href=projects.php onmouseover=\"popup('Supported platforms:<br>{$pd}', 240)\">Details</a>"; } echo "<tr class=row{$n}>\n <td valign=top>{$x}</td>\n <td valign=top>{$area}</td>\n <td valign=top>{$spec_area}</td>\n <td valign=top>{$home}</td>\n <td width=30% valign=top>{$p}</td>\n </tr>\n "; $n = 1 - $n; } list_end(); }