aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/ucp
diff options
context:
space:
mode:
authorMeik Sievertsen <acydburn@phpbb.com>2009-06-24 10:08:18 +0000
committerMeik Sievertsen <acydburn@phpbb.com>2009-06-24 10:08:18 +0000
commitf9bbf10a80c7a22a1ff59e30eef1cf9873e46516 (patch)
treec38514d9708c53172a60362d3daff17a91d8243f /phpBB/includes/ucp
parente8638ff0ef36c3305e8f9136552439c858fae4b5 (diff)
downloadforums-f9bbf10a80c7a22a1ff59e30eef1cf9873e46516.tar
forums-f9bbf10a80c7a22a1ff59e30eef1cf9873e46516.tar.gz
forums-f9bbf10a80c7a22a1ff59e30eef1cf9873e46516.tar.bz2
forums-f9bbf10a80c7a22a1ff59e30eef1cf9873e46516.tar.xz
forums-f9bbf10a80c7a22a1ff59e30eef1cf9873e46516.zip
- Fix XHTML for r9666
- Utilize $captcha->solved property - Only validate captcha once to retain captcha mode over switching from/to agreement page git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@9668 89ea8834-ac86-4346-8a33-228a782c2dd0
Diffstat (limited to 'phpBB/includes/ucp')
-rw-r--r--phpBB/includes/ucp/ucp_register.php27
1 files changed, 14 insertions, 13 deletions
diff --git a/phpBB/includes/ucp/ucp_register.php b/phpBB/includes/ucp/ucp_register.php
index b2bcc794f7..aa3e00685e 100644
--- a/phpBB/includes/ucp/ucp_register.php
+++ b/phpBB/includes/ucp/ucp_register.php
@@ -51,7 +51,7 @@ class ucp_register
{
add_form_key('ucp_register_terms');
}
-
+
if ($change_lang || $user_lang != $config['default_lang'])
{
$use_lang = ($change_lang) ? basename($change_lang) : basename($user_lang);
@@ -77,12 +77,18 @@ class ucp_register
}
}
- $captcha_solved = false;
+ $vc_response = false;
if ($config['enable_confirm'])
{
include($phpbb_root_path . 'includes/captcha/captcha_factory.' . $phpEx);
$captcha =& phpbb_captcha_factory::get_instance($config['captcha_plugin']);
$captcha->init(CONFIRM_REG);
+
+ // If confirm id is submitted we check the status of the captcha here
+ if (request_var('confirm_code', ''))
+ {
+ $vc_response = $captcha->validate();
+ }
}
$cp = new custom_profile();
@@ -117,10 +123,11 @@ class ucp_register
}
// Checking amount of available languages
- $lang_row = array();
- $sql = 'SELECT lang_id
+ $sql = 'SELECT lang_id
FROM ' . LANG_TABLE;
$result = $db->sql_query($sql);
+
+ $lang_row = array();
while ($row = $db->sql_fetchrow($result))
{
$lang_row[] = $row;
@@ -223,16 +230,10 @@ class ucp_register
if ($config['enable_confirm'])
{
- $vc_response = $captcha->validate();
- if ($vc_response)
+ if (!$captcha->solved)
{
$error[] = $vc_response;
}
- else
- {
- $captcha_solved = true;
- // $captcha->reset();
- }
if ($config['max_reg_attempts'] && $captcha->get_attempt_count() > $config['max_reg_attempts'])
{
@@ -443,7 +444,7 @@ class ucp_register
{
$s_hidden_fields['coppa'] = $coppa;
}
-
+
if ($config['enable_confirm'])
{
$s_hidden_fields = array_merge($s_hidden_fields, $captcha->get_hidden_fields());
@@ -452,7 +453,7 @@ class ucp_register
$confirm_image = '';
// Visual Confirmation - Show images
- if ($config['enable_confirm'] && !$captcha_solved)
+ if ($config['enable_confirm'] && !$captcha->solved)
{
$template->assign_vars(array(
'L_CONFIRM_EXPLAIN' => sprintf($user->lang['CONFIRM_EXPLAIN'], '<a href="mailto:' . htmlspecialchars($config['board_contact']) . '">', '</a>'),