$x $y "; } function version_url($v) { global $url_base; $file = $v["file"]; if (is_dev($v)) { return "http://boinc.berkeley.edu/dl/$file"; } else { return $url_base.$file; } } function show_detail($v) { $num = $v["num"]; $file = $v["file"]; $status = $v["status"]; $path = "dl/$file"; $url = version_url($v); $dlink = "$file"; $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 show_version_xml($v, $p) { $name = $p["name"]; $dbname = $p["dbname"]; $num = $v["num"]; $file = $v["file"]; $status = $v["status"]; $path = "dl/$file"; $url = version_url($v); $dlink = "$file"; $s = number_format(filesize($path)/1000000, 2); $date = $v["date"]; $type = type_text($v["type"]); echo " $name $dbname $status $date $num $url $file $s $type "; } function show_version($pname, $i, $v) { $num = $v["num"]; $file = $v["file"]; $status = $v["status"]; if (is_dev($v)) { $status = $status."
(MAY BE UNSTABLE - USE ONLY FOR TESTING) "; } $path = "dl/$file"; $s = number_format(filesize($path)/1000000, 2); $date = $v["date"]; $type = $v["type"]; $type_text = type_text($type); $url = version_url($v); echo " $num $status Download ($s MB) $date "; } function show_platform($short_name, $p, $dev) { global $min_version; global $max_version; $long_name = $p["name"]; $description = $p["description"]; if ($p["url"]) { $url = $p["url"]; $long_name .= " details"; } list_bar($long_name, $description); foreach ($p["versions"] as $i=>$v) { if ($min_version && version_compare($v['num'], $min_version, "<")) continue; if ($max_version && version_compare($v['num'], $max_version, ">")) continue; if (!$dev && is_dev($v)) continue; show_version($short_name, $i, $v); } } function show_platform_xml($short_name, $p, $dev) { foreach ($p["versions"] as $i=>$v) { if (!$dev && is_dev($v)) continue; // show only those builds that have been around for over three days. // Gives us time to address any showstoppers // found by the early adopters if (!$dev && ((time() - strtotime($v["date"])) <= 86400*3)) continue; show_version_xml($v, $p); } } // show details on a version if URL indicates // if ($pname && $version) { $p = $platforms[$pname]; if (!$p) { error_page("platform not found"); } $long_name = $p["name"]; $va = $p["versions"]; foreach ($va as $v) { if ($v['num'] == $version && $type_name==$v['type']) { page_head("BOINC version $version for $long_name"); show_detail($v); page_tail(); exit(); } } error_page( "version not found\n"); } if ($xml) { header('Content-type: text/xml'); echo "\n \n "; foreach($platforms as $short_name=>$p) { show_platform_xml($short_name, $p, $dev); } echo " \n "; } else { if ($pname) { $p = $platforms[$pname]; $name = $p['name']; page_head("Download BOINC client software for $name"); echo ""; show_platform($pname, $p, $dev); list_end(); } else { page_head("Download BOINC client software"); echo "
"; foreach($platforms as $short_name=>$p) { show_platform($short_name, $p, $dev); } list_end(); echo "

GPU computing

If your computer is equipped with an NVIDIA Graphics Processing Unit (GPU), you may be able to use it to compute faster.

Other platforms

If your computer is not of one of these types, you can

Linux info

"; show_linux_info(); } echo "

Customizing this page

The information on this page can be restricted by platform and/or version number, or presented in XML format. "; page_tail(); } ?>