$v) { if (!$dev && is_dev($v)) continue; return $v; } foreach ($p['versions'] as $i=>$v) { return $v; } } // show a download link as a button or table row // function download_link($pname, $button=false) { global $platforms; global $url_base; $p = $platforms[$pname]; $v = latest_version($p); $file = $v['file']; $vbox_file = $v['vbox_file']; $vbox_version = $v['vbox_version']; $long_name = $p['name']; $num = $v['num']; $path = "dl/$file"; $url = $url_base.$file; $dlink = "$file"; $s = number_format(filesize($path)/1000000, 2); if ($button) { if ($vbox_file) { echo tra("We recommend that you also install VirtualBox, so your computer can work on science projects that require it."); echo " "; echo tra("Learn more about VirtualBox."); echo ""; echo "
\n"; $vbox_url = $url_base.$vbox_file; $vbox_path = "dl/$vbox_file"; $vbox_size = number_format(filesize($vbox_path)/1000000, 2); echo "
" .tra("Download BOINC + VirtualBox") ."
" .sprintf(tra("for %s"), $long_name) ." ($vbox_size MB)" ."
" .sprintf(tra("BOINC version %s"), $num) ."
" .sprintf(tra("VirtualBox version %s"), $vbox_version) ."
"; echo "
\n"; } echo "
".tra("Download BOINC")."
" .sprintf(tra("for %s"), $long_name) ." ($s MB)" ."
" .sprintf(tra("BOINC version %s"), $num) ."
"; if ($vbox_file) { echo "
\n"; } if ($pname == 'linux'||$pname == 'linuxx64') { echo "

", linux_info(); } } else { echo " $long_name $num Download ($s MB) "; } } $apps = array( array('classic.jpg', 180, 143), array('cpdn_200.jpg', 200, 147), array('eah_200.png', 200, 150), array('rosetta_at_home.jpg', 200, 150), array('qah.200x150.png', 200, 150), ); function show_pictures() { global $apps; shuffle($apps); $a0 = $apps[0]; $a1 = $apps[1]; $f0 = $a0[0]; $f1 = $a1[0]; echo "

\"BOINC
\"BOINC
\"BOINC
"; } function show_download($pname) { echo "
".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.") ."

" .tra("You may run this software on a computer only if you own the computer or have the permission of its owner."). "

" ; if ($pname == 'android') { echo "" .tra("We recommend that you download BOINC from the Google Play Store or Amazon Appstore, not from here.") ." "; } 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(); } if ($pname != 'android') { echo "

After downloading BOINC you must install it:

  • Save the file to disk.
  • Double-click on the file icon.
"; } echo "

".tra("System requirements")." · ".tra("Release notes")." · ".tra("Help")." · ".tra("All versions")." · ".tra("Version history")." · ".tra("GPU computing")."
"; show_pictures(); echo "
"; } if (get_str2('xml')) { $args = strstr($_SERVER['REQUEST_URI'], '?'); Header("Location: download_all.php$args"); exit(); } page_head(tra("BOINC: compute for science")); $client_info = $_SERVER['HTTP_USER_AGENT']; if (get_str2('all_platforms')) { show_download(null); } else if (strstr($client_info, 'Windows')) { if (strstr($client_info, 'Win64')||strstr($client_info, 'WOW64')) { show_download('winx64'); } else { show_download('win'); } } else if (strstr($client_info, 'Mac')) { if (strstr($client_info, 'PPC Mac OS X')) { show_download('macppc'); } else { show_download('mac'); } } else if (strstr($client_info, 'Linux') && strstr($client_info, 'Android')) { // Check for Android before Linux, // since Android contains the Linux kernel and the // web browser user agent string list Linux too. show_download('android'); } else if (strstr($client_info, 'Linux')) { if (strstr($client_info, 'x86_64')) { show_download('linuxx64'); } else { show_download('linux'); } } else { show_download(null); } page_tail(true); ?>