From f9bbf10a80c7a22a1ff59e30eef1cf9873e46516 Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Wed, 24 Jun 2009 10:08:18 +0000 Subject: [PATCH] - 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 --- phpBB/includes/functions.php | 4 ++- phpBB/includes/ucp/ucp_register.php | 27 ++++++++++--------- .../prosilver/template/ucp_agreement.html | 6 +++-- phpBB/ucp.php | 4 +-- 4 files changed, 23 insertions(+), 18 deletions(-) diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php index 12b9363ec4..30bdc9abce 100644 --- a/phpBB/includes/functions.php +++ b/phpBB/includes/functions.php @@ -2265,7 +2265,7 @@ function reapply_sid($url) { // All kind of links $url = preg_replace('/(\?)?(&|&)?sid=[a-z0-9]+/', '', $url); - // if the sid was the first param, make the old second as first ones + // if the sid was the first param, make the old second as first ones $url = preg_replace("/$phpEx(&|&)+?/", "$phpEx?", $url); } @@ -3844,6 +3844,8 @@ function page_header($page_title = '', $display_online_list = true) 'U_SEARCH_ACTIVE_TOPICS'=> append_sid("{$phpbb_root_path}search.$phpEx", 'search_id=active_topics'), 'U_DELETE_COOKIES' => append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=delete_cookies'), 'U_TEAM' => ($user->data['user_id'] != ANONYMOUS && !$auth->acl_get('u_viewprofile')) ? '' : append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=leaders'), + 'U_TERMS_USE' => append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=terms'), + 'U_PRIVACY' => append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=privacy'), 'U_RESTORE_PERMISSIONS' => ($user->data['user_perm_from'] && $auth->acl_get('a_switchperm')) ? append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=restore_perm') : '', 'U_FEED' => generate_board_url() . "/feed.$phpEx", 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'], '', ''), diff --git a/phpBB/styles/prosilver/template/ucp_agreement.html b/phpBB/styles/prosilver/template/ucp_agreement.html index d64e2aebbe..3825abc08f 100644 --- a/phpBB/styles/prosilver/template/ucp_agreement.html +++ b/phpBB/styles/prosilver/template/ucp_agreement.html @@ -20,10 +20,12 @@

+ {S_HIDDEN_FIELDS}

-
- {S_HIDDEN_FIELDS}
+ +
+
diff --git a/phpBB/ucp.php b/phpBB/ucp.php index 908d4fb89a..02b96f4bfb 100644 --- a/phpBB/ucp.php +++ b/phpBB/ucp.php @@ -127,8 +127,8 @@ switch ($mode) 'AGREEMENT_TITLE' => $user->lang[$title], 'AGREEMENT_TEXT' => sprintf($user->lang[$message], $config['sitename'], generate_board_url()), 'U_BACK' => append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=login'), - 'L_BACK' => $user->lang['BACK_TO_LOGIN']) - ); + 'L_BACK' => $user->lang['BACK_TO_LOGIN'], + )); page_footer();