verify_post_check($mybb->get_input('my_post_key')); $plugins->run_hooks("newreply_do_newreply_start"); // If this isn't a logged in user, then we need to do some special validation. if ($mybb->user['uid'] == 0) { // If they didn't specify a username then give them "Guest" if (!$mybb->get_input('username')) { $username = $lang->guest; } else { $username = $mybb->get_input('username'); } $uid = 0; if ($mybb->settings['stopforumspam_on_newreply']) { require_once MYBB_ROOT . '/inc/class_stopforumspamchecker.php'; $stop_forum_spam_checker = new StopForumSpamChecker($plugins, $mybb->settings['stopforumspam_min_weighting_before_spam'], $mybb->settings['stopforumspam_check_usernames'], $mybb->settings['stopforumspam_check_emails'], $mybb->settings['stopforumspam_check_ips'], $mybb->settings['stopforumspam_log_blocks']); try { if ($stop_forum_spam_checker->is_user_a_spammer($mybb->get_input('username'), '', get_ip())) { error($lang->sprintf($lang->error_stop_forum_spam_spammer, $stop_forum_spam_checker->getErrorText(array('stopforumspam_check_usernames', 'stopforumspam_check_ips')))); } } catch (Exception $e) { if ($mybb->settings['stopforumspam_block_on_error']) { error($lang->error_stop_forum_spam_fetching); } } } } else { $username = $mybb->user['username']; $uid = $mybb->user['uid']; } // Attempt to see if this post is a duplicate or not if ($uid > 0) { $user_check = "p.uid='{$uid}'";
// Do we have a saved COPPA DOB? if (isset($mybb->cookies['coppadob'])) { list($dob_day, $dob_month, $dob_year) = explode("-", $mybb->cookies['coppadob']); $user['birthday'] = array("day" => $dob_day, "month" => $dob_month, "year" => $dob_year); } $user['options'] = array("allownotices" => $mybb->get_input('allownotices', MyBB::INPUT_INT), "hideemail" => $mybb->get_input('hideemail', MyBB::INPUT_INT), "subscriptionmethod" => $mybb->get_input('subscriptionmethod', MyBB::INPUT_INT), "receivepms" => $mybb->get_input('receivepms', MyBB::INPUT_INT), "pmnotice" => $mybb->get_input('pmnotice', MyBB::INPUT_INT), "pmnotify" => $mybb->get_input('pmnotify', MyBB::INPUT_INT), "invisible" => $mybb->get_input('invisible', MyBB::INPUT_INT), "dstcorrection" => $mybb->get_input('dstcorrection')); $userhandler->set_data($user); $errors = ""; if (!$userhandler->validate_user()) { $errors = $userhandler->get_friendly_errors(); } if ($mybb->settings['enablestopforumspam_on_register']) { require_once MYBB_ROOT . '/inc/class_stopforumspamchecker.php'; $stop_forum_spam_checker = new StopForumSpamChecker($plugins, $mybb->settings['stopforumspam_min_weighting_before_spam'], $mybb->settings['stopforumspam_check_usernames'], $mybb->settings['stopforumspam_check_emails'], $mybb->settings['stopforumspam_check_ips'], $mybb->settings['stopforumspam_log_blocks']); try { if ($stop_forum_spam_checker->is_user_a_spammer($user['username'], $user['email'], get_ip())) { error($lang->sprintf($lang->error_stop_forum_spam_spammer, $stop_forum_spam_checker->getErrorText(array('stopforumspam_check_usernames', 'stopforumspam_check_emails', 'stopforumspam_check_ips')))); } } catch (Exception $e) { if ($mybb->settings['stopforumspam_block_on_error']) { error($lang->error_stop_forum_spam_fetching); } } } if ($mybb->settings['captchaimage']) { require_once MYBB_ROOT . 'inc/class_captcha.php'; $captcha = new captcha(); if ($captcha->validate_captcha() == false) { // CAPTCHA validation failed foreach ($captcha->get_errors() as $error) { $errors[] = $error;
} // Should we have a CAPTCHA? Perhaps yes, but only for guests like in other pages... if ($mybb->settings['captchaimage'] && !$mybb->user['uid']) { $captcha = new captcha(); if ($captcha->validate_captcha() == false) { // CAPTCHA validation failed foreach ($captcha->get_errors() as $error) { $errors[] = $error; } } } if (!$mybb->user['uid'] && $mybb->settings['stopforumspam_on_contact']) { require_once MYBB_ROOT . '/inc/class_stopforumspamchecker.php'; $stop_forum_spam_checker = new StopForumSpamChecker($plugins, $mybb->settings['stopforumspam_min_weighting_before_spam'], $mybb->settings['stopforumspam_check_usernames'], $mybb->settings['stopforumspam_check_emails'], $mybb->settings['stopforumspam_check_ips'], $mybb->settings['stopforumspam_log_blocks']); try { if ($stop_forum_spam_checker->is_user_a_spammer('', $mybb->input['email'], get_ip())) { $errors[] = $lang->sprintf($lang->error_stop_forum_spam_spammer, $stop_forum_spam_checker->getErrorText(array('stopforumspam_check_emails', 'stopforumspam_check_ips'))); } } catch (Exception $e) { if ($mybb->settings['stopforumspam_block_on_error']) { $errors[] = $lang->error_stop_forum_spam_fetching; } } } if (empty($errors)) { if ($mybb->settings['contact_badwords'] == 1) { // Load the post parser require_once MYBB_ROOT . "inc/class_parser.php"; $parser = new postParser(); $parser_options = array('filter_badwords' => 1); $mybb->input['subject'] = $parser->parse_message($mybb->input['subject'], $parser_options);