Still getting the same error even after that. Im sorry I cannot do this for myself, I am an idiot

Here is the updated code if you get a chance to take another look. I included a little bit more of the code this time.
Code:
if ($_POST['do'] == 'postthread')
{
globalize($_POST, array('posthash' => STR_NOHTML, 'poststarttime' => STR_NOHTML));
if (isset($_POST['WYSIWYG_HTML']))
{
require_once('./includes/functions_wysiwyg.php');
$newpost['message'] = convert_wysiwyg_html_to_bbcode($_POST['WYSIWYG_HTML'], $foruminfo['allowhtml']);
}
else
{
$newpost['message'] = &$_POST['message'];
}
if (!($forumperms & CANPOSTPOLL))
{
unset($_POST['postpoll']);
}
$newpost['title'] = $_POST['subject'];
$newpost['iconid'] = $_POST['iconid'];
$newpost['parseurl'] = $_POST['parseurl'];
$newpost['email'] = $_POST['email'];
$newpost['signature'] = $_POST['signature'];
$newpost['preview'] = $_POST['preview'];
$newpost['disablesmilies'] = $_POST['disablesmilies'];
$newpost['rating'] = $_POST['rating'];
$newpost['username'] = $_POST['username'];
$newpost['postpoll'] = $_POST['postpoll'];
$newpost['polloptions'] = intval($_POST['polloptions']);
$newpost['folderid'] = $_POST['folderid'];
$newpost['emailupdate'] = $_POST['emailupdate'];
$newpost['poststarttime'] = $poststarttime;
$newpost['posthash'] = $posthash;
// moderation options
$newpost['stickunstick'] = $_POST['stickunstick'];
$newpost['openclose'] = $_POST['openclose'];
build_new_post('thread', $foruminfo, array(), 0, $newpost, $errors);
if (sizeof($errors) > 0)
{
// ### POST HAS ERRORS ###
$postpreview = construct_errors($errors); // this will take the preview's place
construct_checkboxes($newpost);
$_REQUEST['do'] = 'newthread';
$newpost['message'] = htmlspecialchars_uni($newpost['message']);
}
else if ($newpost['preview'])
{
// ### PREVIEW POST ###
$postpreview = process_post_preview($newpost);
$_REQUEST['do'] = 'newthread';
$newpost['message'] = htmlspecialchars_uni($newpost['message']);
}
else
{
// ### NOT PREVIEW - ACTUAL POST ###
if ($newpost['postpoll'])
{
$url = "poll.php?$session[sessionurl]t=$newpost[threadid]&polloptions=$newpost[polloptions]";
}
else if ($newpost['visible'])
{
// Change for automatic warning
// You have to use "ObsceneWords" as Title of the Warning.
// You have to use a Hidden Warner.
if ($vboptions['warn_automatic'] == 1)
{
$Protected_Usergroups = explode("|",$vboptions['warn_protected_usergroups']);
if($Protected_Usergroups[0])
{
foreach($Protected_Usergroups as $pro)
{
if($pro == $bbuserinfo['usergroupid'])
{
$userprotected = 1;
}
}
}
if ($bbuserinfo['userid'] != 1 AND $userprotected != 1 AND $wehavecensoredwords == 1)
{
// Get Warning Types
$warn_type = array();
$warn_type = $DB_site->query_first("SELECT * FROM " . TABLE_PREFIX . "warning_types WHERE warn_name='ObsceneWords'");
$thread1="}/showthread.php?p={$newpost['postid']}']Warned Post";
$thread2="$vboptions[bburl]/showthread.php?p=$newpost[postid]";
$warnerdata=$DB_site->query_first("select username, email from ".TABLE_PREFIX."user where userid='{$vboptions['warn_automatic_warner']}'");
$wcomment="(This is an automatic warning, no moderator was involved.)";
if ($alert=='')
{
$alert='No';
}
warn_calculations($warn_type['tid'], $wcomment, $newpost['postid'], $bbuserinfo, $vboptions['warn_automatic_warner'],$alert);
warn_notify($thread1, $thread2, $bbuserinfo, $warnerdata['email'], $warnerdata['username'], $vboptions['warn_automatic_warner'], $warn_type, $level, $wcomment, $alert);
}
}
// End of automated warnings things
{
$url = "showthread.php?$session[sessionurl]p=$newpost[postid]#post$newpost[postid]";
}
else
{
$_REQUEST['forceredirect'] = 1;
$url = "forumdisplay.php?$session[sessionurl]f=$foruminfo[forumid]";
}
eval(print_standard_redirect('redirect_postthanks'));
} // end if
}