From 7777bd5f502241e6e15e1732d3dacb3ad1e2026d Mon Sep 17 00:00:00 2001 From: David M Date: Fri, 6 Oct 2006 21:37:17 +0000 Subject: [PATCH] #3794 git-svn-id: file:///svn/phpbb/trunk@6448 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/posting.php | 39 ++++++++++++++++++++++++--------------- 1 file changed, 24 insertions(+), 15 deletions(-) diff --git a/phpBB/posting.php b/phpBB/posting.php index bcd6f0f7bb..a1c8f4088d 100644 --- a/phpBB/posting.php +++ b/phpBB/posting.php @@ -523,6 +523,8 @@ if ($load && $post_data['drafts']) load_drafts($topic_id, $forum_id); } +$solved_captcha = false; + if ($submit || $preview || $refresh) { $post_data['topic_cur_post_id'] = request_var('topic_cur_post_id', 0); @@ -718,6 +720,10 @@ if ($submit || $preview || $refresh) { $error[] = $user->lang['CONFIRM_CODE_WRONG']; } + else + { + $solved_captcha = true; + } } // Parse subject @@ -1125,23 +1131,26 @@ if ($config['enable_post_confirm'] && !$user->data['is_registered'] && ($mode == $db->sql_query($sql); // Generate code - $code = gen_rand_string(mt_rand(5, 8)); - $confirm_id = md5(unique_id($user->ip)); + if ($solved_captcha === false) + { + $code = gen_rand_string(mt_rand(5, 8)); + $confirm_id = md5(unique_id($user->ip)); - $sql = 'INSERT INTO ' . CONFIRM_TABLE . ' ' . $db->sql_build_array('INSERT', array( - 'confirm_id' => (string) $confirm_id, - 'session_id' => (string) $user->session_id, - 'confirm_type' => (int) CONFIRM_POST, - 'code' => (string) $code) - ); - $db->sql_query($sql); + $sql = 'INSERT INTO ' . CONFIRM_TABLE . ' ' . $db->sql_build_array('INSERT', array( + 'confirm_id' => (string) $confirm_id, + 'session_id' => (string) $user->session_id, + 'confirm_type' => (int) CONFIRM_POST, + 'code' => (string) $code) + ); + $db->sql_query($sql); - $template->assign_vars(array( - 'S_CONFIRM_CODE' => true, - 'CONFIRM_ID' => $confirm_id, - 'CONFIRM_IMAGE' => '', - 'L_POST_CONFIRM_EXPLAIN' => sprintf($user->lang['POST_CONFIRM_EXPLAIN'], '', ''), - )); + $template->assign_vars(array( + 'S_CONFIRM_CODE' => true, + 'CONFIRM_ID' => $confirm_id, + 'CONFIRM_IMAGE' => '', + 'L_POST_CONFIRM_EXPLAIN' => sprintf($user->lang['POST_CONFIRM_EXPLAIN'], '', ''), + )); + } } $s_hidden_fields = ($mode == 'reply' || $mode == 'quote') ? '' : '';