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 "; }
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 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(); }
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_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. <p> 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) { download_link($pname, true); } else { list_start(); list_heading_array(array('Computer type', 'Current version ', 'Size')); download_link('win'); download_link('winx64'); download_link('mac'); download_link('macppc'); download_link('linux'); download_link('linuxx64'); download_link('linuxcompat'); end_table(); } echo "\n <p>\n After downloading BOINC you must <b>install</b> it:\n <ul>\n <li> Save the file to disk.\n <li> Double-click on the file icon.\n </ul>\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 "; }
//<li> <a href=http://www.esea.dk/esea/bos.asp>BOS (BOINC Online Schedulers></a> echo "\n <li> <a href=http://boincprojectstatus.ath.cx/>BOINC Project Status</a>\n </ul>\n "; } echo "\n<a name=misc></a>\n<h3>Miscellaneous</h3>\n"; $misc_sites = array(array("http://www.linkedin.com/groups?gid=678497", "BOINC group on LinkedIn"), array("http://www.facebook.com/#!/pages/BOINC/109465765746025?ref=ts", "BOINC on Facebook")); echo "<ul>"; foreach ($misc_sites as $m) { $u = $m[0]; $t1 = $m[1]; $t2 = $m[2]; echo "<li> <a href={$u}>{$t1}</a> {$t2}\n "; } echo "\n</ul>\n<a name=skins></a>\n<h3>Skins for the BOINC Manager</h3>\n<ul>\n<li> <a href=http://www.crunching-family.at/download-center/>Crunching Family Skin Download</a>\n<li> <a href=http://www.czechnationalteam.cz/view.php?cisloclanku=2007040003>Czech National Team skin</a> (in Czech)\n<li> <a href=http://www.grid-france.fr/tutos/boinc-personnaliser-aux-couleurs-equipe >Skin for Equipe France (WCG)</a>\n"; //<li> <a href=http://wcg.userfriendly.org/resources.jspx>Skin for team UserFriendly.org</a> echo "\n</ul>\n<a name=sites></a>\n<h3>Other BOINC-related web sites</h3>\n"; list_start(); echo "\n<tr><th>Language</th><th>Site</th></tr>\n"; language("Belgium (Dutch/French/English)", array(site("http://www.boinc.be", "www.boinc.be"))); //language("Bulgarian", array( //site("http://www.boinc-bulgaria.net", "BOINC Bulgaria") //)); language("Catalan", array(site("http://www.boinc.cat", "BOINC.cat"))); language("Chinese", array(site("http://boinc.equn.com/", "boinc.equn.com"))); language("Czech", array(site("http://www.czechnationalteam.cz/", "Czech National Team"), site("http://www.boincteamcz.net/", "BOINC Team CZ"), site("http://www.boinc.cz/", "www.boinc.cz"))); language("Danish", array(site("http://boincdenmark.dk", "BOINC@Denmark"), site("http://www.setihome.dk", "www.setihome.dk"))); language("Dutch", array(site("http://www.dutchpowercows.org/", "Dutch Power Cows\n </a>(also <a href=http://gathering.tweakers.net/forum/list_topics/5>forums</a>)"), site("http://www.seti.nl/content.php?c=boincmain", "SETI@Netherlands"), site("http://www.boinc.be", "www.boinc.be"))); language("English", array(site("http://www.overclock.net/f/365/overclock-net-boinc-team", "Overclock.net"), site("http://z15.invisionfree.com/The_Boinc_Bar/index.php?act=idx", "The BOINC Bar"), site("http://www.s15.invisionfree.com/Crunchers_Inc/index.php?act=idx", "Crunchers Inc."), site("http://www.calmchaosonline.com/", "Calm Chaos"), site("http://www.teamphoenixrising.net/", "Team Phoenix Rising"), site("http://www.unitedmacs.com/", "United Macs"), site("http://www.ukboincteam.org.uk/", "UK BOINC Team"), site("http://www.bc-team.org/", "BOINC Confederation"), site("http://www.free-dc.org/", "Free-DC"), site("http://forums.anandtech.com/categories.aspx?catid=39&entercat=y", "TeAm Anandtech"), site("http://www.boinc-australia.net", "BOINC@Australia"), site("http://www.boincuk.com/", "BOINC UK and Team Lookers"), site("http://www.boincsynergy.com/", "BOINC Synergy"), site("http://www.tswb.org", "Team Starfire World BOINC"))); //language("Estonian", array( //site("http://boinc.tmac.pri.ee", "boinc.tmac.pri.ee"), //site("http://setimehed.net/", "setimehed.net"), //));
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(); }
<?php require_once "docutil.php"; require_once "projects.inc"; require_once "get_platforms.inc"; 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;