id; $x = "$vol->name"; return $x; } function order_vols($vols) { $online = array(); $offline = array(); foreach ($vols as $vol) { if (online($vol->status)) { $online[] = $vol; } else { $offline[] = $vol; } } shuffle($online); return array_merge($online, $offline); } function vol_modes($vol) { $x = ""; if ($vol->voice_ok && $vol->text_ok) { return "Either"; } if ($vol->text_ok) { return "Text only"; } if ($vol->voice_ok) { return "Voice only"; } } function rating_info($vol) { if ($vol->nratings == 0) { return "(no ratings)"; } $x = $vol->rating_sum/$vol->nratings; if ($x > 4.5) $img = "stars-5-0.gif"; else if ($x > 4.0) $img = "stars-4-5.gif"; else if ($x > 3.5) $img = "stars-4-0.gif"; else if ($x > 3.0) $img = "stars-3-5.gif"; else if ($x > 2.5) $img = "stars-3-0.gif"; else if ($x > 2.0) $img = "stars-2-5.gif"; else if ($x > 1.5) $img = "stars-2-0.gif"; else if ($x > 1.0) $img = "stars-1-5.gif"; else if ($x > 0.5) $img = "stars-1-0.gif"; else if ($x > 0.0) $img = "stars-0-5.gif"; else $img = "stars-0-0.gif"; return " id> $vol->nratings ratings "; } function info($vol) { global $lang; $x = " Country: $vol->country\n"; if ($vol->availability) { $x .= "
Usual hours: $vol->availability"; } if ($vol->specialties) { $x .= "
Specialties: $vol->specialties"; } if ($vol->projects) { $x .= "
Projects: $vol->projects"; } if (!$lang) { $x .= "
Primary language: $vol->lang1"; if (!$vol->lang2) { $x .= "
Secondary language: $vol->lang2"; } } $x .= "
"; return $x; } function show_vol($vol) { $status = $vol->status; $image = button_image($status); list_item_array(array( vol_info($vol), status_string($status), vol_modes($vol), info($vol), rating_info($vol) )); } function show_vols($vols) { echo " You can send email to a volunteer even if they're offline. To do so, click their name.

"; help_warning(); echo "

If you're setting up a BOINC project, this is not the place to get help. Instead, try the boinc_projects email list. "; list_start("border=0"); list_heading_array(array( "Volunteer name
click to contact", "Status", "Voice/Text", "Info", "Feedback
Click to see comments", )); foreach ($vols as $vol) { show_vol($vol); } list_end(); } if ($lang) { if (!is_spoken_language($lang)) { boinc_error_page("Not a recognized language"); } page_head("Online Help in $lang"); } else { page_head("Online Help in all languages"); } $vols = get_vols($lang); $vols = order_vols($vols); show_vols($vols); page_tail(); ?>