.
// This file allows you to create a new thread in a forum
// At first it displays an input box and when you submit
// it will apply the changes by calling methods on the forum
require_once('../inc/forum_email.inc');
require_once('../inc/forum.inc');
require_once('../inc/bbcode_html.inc');
require_once('../inc/akismet.inc');
$logged_in_user = get_logged_in_user();
BoincForumPrefs::lookup($logged_in_user);
check_banished($logged_in_user);
$forumid = get_int("id");
$forum = BoincForum::lookup_id($forumid);
if (!user_can_create_thread($logged_in_user, $forum)) {
error_page(
"Only project admins may create a thread here.
However, you may post a reply to existing threads."
);
}
check_post_access($user, $forum);
$title = post_str("title", true);
if (!$title) $title = get_str("title", true);
$force_title = get_str("force_title", true);
$content = post_str("content", true);
$preview = post_str("preview", true);
$warning = null;
if ($content && $title && (!$preview)){
if (post_str('add_signature',true)=="add_it"){
$add_signature=true; // set a flag and concatenate later
} else {
$add_signature=false;
}
check_tokens($logged_in_user->authenticator);
if (!akismet_check($logged_in_user, $content)) {
$warning = "Your message was flagged as spam by the Akismet
anti-spam system. Please modify your text and try again.
";
$preview = tra("Preview");
} else {
$thread = create_thread(
$title, $content, $logged_in_user, $forum, $add_signature
);
header('Location: forum_thread.php?id=' . $thread->id);
}
}
page_head('Create new thread','','','', $bbcode_js);
show_forum_header($logged_in_user);
if ($warning) {
echo "$warning
"; } switch ($forum->parent_type) { case 0: $category = BoincCategory::lookup_id($forum->category); show_forum_title($category, $forum, null); break; case 1: show_team_forum_title($forum); break; } if ($preview == tra("Preview")) { $options = null; echo "