. // Some posts may contain material that is not suited for public // viewing. This file allows people to report such posts // For this file to work the project must have defined who // should receive such reports (in the configuration file) require_once('../inc/util.inc'); require_once('../inc/forum.inc'); require_once('../inc/forum_email.inc'); if (DISABLE_FORUMS) error_page("Forums are disabled"); check_get_args(array("post", "submit", "reason", "tnow", "ttok")); $postId = get_int('post'); $post = BoincPost::lookup_id($postId); if (!$post) error_page("No such post."); $thread = BoincThread::lookup_id($post->thread); if (!$thread) error_page("No such thread."); $forum = BoincForum::lookup_id($thread->forum); if (!$forum) error_page("No such forum."); $user = get_logged_in_user(); BoincForumPrefs::lookup($user); check_banished($user); // Make sure the user has the forum's minimum amount of RAC and total credit // before allowing them to report a post. // Using the same rules as for rating (at least for now) // if ($user->total_credit<$forum->rate_min_total_credit || $user->expavg_credit<$forum->rate_min_expavg_credit) { error_page(tra("You need more average or total credit to report a post.")); } // Action part // $success_page=0; if (get_str("submit",true)){ check_tokens($user->authenticator); $reason = get_str("reason"); if (send_report_post_email($user, $forum, $thread, $post, $reason)){ $success_page=1; } else { echo "send email failed"; $success_page=-1; } } $no_forum_rating = parse_bool(get_config(), "no_forum_rating"); // Display part // if ($success_page==1) { page_head(tra("Report Registered")); echo tra("Your report has been recorded. Thanks for your input.")."

" .tra("A moderator will now look at your report and decide what will happen - this may take a little while, so please be patient"); echo "

id&postid=$post->id\">".tra("Return to thread").""; } elseif ($success_page==0){ page_head(tra("Report a forum post")); if (!$no_forum_rating) { echo "

".tra("Before reporting this post, consider using the +/- rating system instead. If enough users rate a post negatively it will eventually be hidden.
You can find the rating system at the bottom of the post.")."

"; } echo "
\n"; echo form_tokens($user->authenticator); echo "id."\">"; start_table('table-striped'); echo "".tra("Author")." ".tra("Message")." "; show_post($post, $thread, $forum, $user); row1(tra("Report post")); echo " "; echo tra("Why do you find the post offensive: %1 Please include enough information so that a person that has not yet read the thread will quickly be able to identify the issue. %2", "

", ""); echo ' '; echo ""; echo ""; end_table(); echo "

"; } elseif ($success_page==-1) { page_head(tra("Report not registered")); echo "

".tra("Your report could not be recorded. Please wait a while and try again.")."

".tra("If this is not a temporary error, please report it to the project developers.")."

"; echo "id&postid=$post->id\">".tra("Return to thread").""; } page_tail(); ?>