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 ($vol->lang2) { $x .= "
Primary language: $vol->lang1"; $x .= "
Secondary language: $vol->lang2"; } $x .= "

"; return $x; } function live_contact($vol) { $skypeid = $vol->skypeid; echo " Contact $vol->name on Skype

"; if ($vol->voice_ok) { echo " Call (voice) "; } if ($vol->text_ok) { echo "

Chat (text) "; } echo "

"; help_warning(); echo "


"; } function show_rating($vol, $rating) { echo " If $vol->name has helped you, please give us your feedback:
id\"> "; list_start(); list_item( "Rating
Would you recommend $vol->name to people seeking help with BOINC?", star_select("rating", $rating->rating) ); list_item("Comments", textarea("comment", $rating->comment)); list_item("", ""); list_end(); echo "
"; } function email_contact($vol) { echo "

Contact $vol->name by email

id\"> "; list_start(); list_item( "Your email address", input("email_addr", "") ); list_item("Subject
Include 'BOINC' in the subject so $vol->name will know it's not spam", input("subject", "")); list_item("Message
Please include a detailed description of the problem you're experiencing. If possible, include the contents of BOINC's message log. ", textarea("message", "") ); list_item("", ""); list_end(); echo "
"; } $send_email = get_str2('send_email'); $rate = get_str2('rate'); session_set_cookie_params(86400*365); session_start(); $uid = session_id(); if ($send_email) { $volid = $_GET['volid']; $subject = stripslashes($_GET['subject']); $vol = vol_lookup($volid); if (!$vol || $vol->hide) { boinc_error_page("No such volunteer $volid"); } $msg = stripslashes($_GET['message']); if (!$msg) { boinc_error_page("You must supply a message"); } $body = "The following message was sent by a BOINC Help user.\n"; $email_addr = $_GET['email_addr']; if (!is_valid_email_addr($email_addr)) { boinc_error_page("You must specify a valid email address"); } $reply = "\r\nreply-to: $email_addr"; $body .= "\n\n"; $body .= $msg; if (!$subject) $subject = "BOINC Help request"; mail($vol->email_addr, $subject, $body, "From: BOINC".$reply); page_head("Message sent"); echo "Your message has been sent to $vol->name"; page_tail(); } else if ($rate) { $volid = $_GET['volid']; $vol = vol_lookup($volid); if (!$vol) { boinc_error_page("No such volunteer $volid"); } $x = $_GET['rating']; if ($x==null) { boinc_error_page("no rating given"); } $rating = (int) $x; if ($rating < 0 || $rating > 5) { boinc_error_page("bad rating"); } $comment = stripslashes($_GET['comment']); $r = null; $r->volunteerid = $volid; $r->rating = $rating; $r->timestamp = time(); $r->comment = $comment; $r->auth = $uid; if ($uid) { $oldr = rating_lookup($r); if ($oldr) { $retval = rating_update($r); if ($retval) vol_update_rating($vol, $oldr, $r); } else { $retval = rating_insert($r); if ($retval) vol_new_rating($vol, $rating); } } else { $retval = rating_insert($r); if ($retval) vol_new_rating($vol, $rating); } if (!$retval) { echo mysql_error(); boinc_error_page("database error"); } page_head("Feedback recorded"); echo "Your feedback has been recorded. Thanks.

Return to BOINC Help. "; page_tail(); } else { page_head("Help Volunteer: $vol->name"); echo show_info($vol); $status = skype_status($vol->skypeid); if ($status != $vol->status) { $vol->status = $status; $vol->last_check = time(); if (online($vol->status)) { $vol->last_online = time(); } vol_update_status($vol); } $image = button_image($status); echo "

"; echo "
"; if (online($status)) { live_contact($vol); } email_contact($vol); echo "

\n"; echo "
"; $rating = rating_vol_auth($vol->id, $uid); if (!$rating) { $rating = new StdClass; $rating->rating = -1; $rating->comment = ""; } show_rating($vol, $rating); echo "
\n"; page_tail(); } ?>