diff options
-rw-r--r-- | phpBB/docs/CHANGELOG.html | 1 | ||||
-rw-r--r-- | phpBB/includes/ucp/ucp_register.php | 49 | ||||
-rw-r--r-- | phpBB/styles/prosilver/template/overall_header.html | 6 | ||||
-rw-r--r-- | phpBB/styles/prosilver/template/ucp_agreement.html | 27 | ||||
-rw-r--r-- | phpBB/styles/subsilver2/template/overall_header.html | 4 | ||||
-rw-r--r-- | phpBB/styles/subsilver2/template/ucp_agreement.html | 27 |
6 files changed, 83 insertions, 31 deletions
diff --git a/phpBB/docs/CHANGELOG.html b/phpBB/docs/CHANGELOG.html index 2ca61084bf..f1d60b2b8f 100644 --- a/phpBB/docs/CHANGELOG.html +++ b/phpBB/docs/CHANGELOG.html @@ -146,6 +146,7 @@ <li>[Change] Add WAI-ARIA landmarks for easier accessibility to the prosilver template (Bug #45715 - Patch by MarcoZ)</li> <li>[Change] "Post details" links with image in MCP. (Bug #39845 - Patch by leviatan21)</li> <li>[Feature] Add confirmation for deactivating styles (Bug #14304 - Patch by leviatan21)</li> + <li>[Feature] Add language selection on the registration terms page (Bug #15085 - Patch by leviatan21)</li> <li>[Feature] Backported 3.2 captcha plugins.</li> <li>[Feature] Introduced new ACM plugins: <ul> diff --git a/phpBB/includes/ucp/ucp_register.php b/phpBB/includes/ucp/ucp_register.php index e0dc0222f5..b2bcc794f7 100644 --- a/phpBB/includes/ucp/ucp_register.php +++ b/phpBB/includes/ucp/ucp_register.php @@ -52,7 +52,6 @@ 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); @@ -67,7 +66,7 @@ class ucp_register $agreed = (empty($_GET['change_lang'])) ? 0 : $agreed; } - $user->lang_name = $lang = $use_lang; + $user->lang_name = $user_lang = $use_lang; $user->lang = array(); $user->add_lang(array('common', 'ucp')); } @@ -78,17 +77,26 @@ class ucp_register } } + $captcha_solved = 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); + } + $cp = new custom_profile(); $error = $cp_data = $cp_error = array(); - if (!$agreed || ($coppa === false && $config['coppa_enable']) || ($coppa && !$config['coppa_enable'])) { $add_lang = ($change_lang) ? '&change_lang=' . urlencode($change_lang) : ''; $add_coppa = ($coppa !== false) ? '&coppa=' . $coppa : ''; - $s_hidden_fields = array(); + $s_hidden_fields = array( + 'change_lang' => $change_lang, + ); // If we change the language, we want to pass on some more possible parameter. if ($change_lang) @@ -108,6 +116,17 @@ class ucp_register } } + // Checking amount of available languages + $lang_row = array(); + $sql = 'SELECT lang_id + FROM ' . LANG_TABLE; + $result = $db->sql_query($sql); + while ($row = $db->sql_fetchrow($result)) + { + $lang_row[] = $row; + } + $db->sql_freeresult($result); + if ($coppa === false && $config['coppa_enable']) { $now = getdate(); @@ -115,6 +134,7 @@ class ucp_register unset($now); $template->assign_vars(array( + 'S_LANG_OPTIONS' => (sizeof($lang_row) > 1) ? language_select($user_lang) : '', 'L_COPPA_NO' => sprintf($user->lang['UCP_COPPA_BEFORE'], $coppa_birthday), 'L_COPPA_YES' => sprintf($user->lang['UCP_COPPA_ON_AFTER'], $coppa_birthday), @@ -129,6 +149,7 @@ class ucp_register else { $template->assign_vars(array( + 'S_LANG_OPTIONS' => (sizeof($lang_row) > 1) ? language_select($user_lang) : '', 'L_TERMS_OF_USE' => sprintf($user->lang['TERMS_OF_USE_CONTENT'], $config['sitename'], generate_board_url()), 'S_SHOW_COPPA' => false, @@ -138,19 +159,12 @@ class ucp_register ) ); } + unset($lang_row); $this->tpl_name = 'ucp_agreement'; return; } - $captcha_solved = 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); - } - // Try to manually determine the timezone and adjust the dst if the server date/time complies with the default setting +/- 1 $timezone = date('Z') / 3600; $is_dst = date('I'); @@ -430,7 +444,6 @@ class ucp_register $s_hidden_fields['coppa'] = $coppa; } - if ($config['enable_confirm']) { $s_hidden_fields = array_merge($s_hidden_fields, $captcha->get_hidden_fields()); @@ -441,15 +454,6 @@ class ucp_register // Visual Confirmation - Show images if ($config['enable_confirm'] && !$captcha_solved) { - if ($change_lang) - { - $str = '&change_lang=' . $change_lang; - } - else - { - $str = ''; - } - $template->assign_vars(array( 'L_CONFIRM_EXPLAIN' => sprintf($user->lang['CONFIRM_EXPLAIN'], '<a href="mailto:' . htmlspecialchars($config['board_contact']) . '">', '</a>'), 'CAPTCHA_TEMPLATE' => $captcha->get_template(), @@ -484,6 +488,7 @@ class ucp_register 'S_LANG_OPTIONS' => language_select($data['lang']), 'S_TZ_OPTIONS' => tz_select($data['tz']), 'S_CONFIRM_REFRESH' => ($config['enable_confirm'] && $config['confirm_refresh']) ? true : false, + 'S_REGISTRATION' => true, 'S_COPPA' => $coppa, 'S_HIDDEN_FIELDS' => $s_hidden_fields, 'S_UCP_ACTION' => append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=register'), diff --git a/phpBB/styles/prosilver/template/overall_header.html b/phpBB/styles/prosilver/template/overall_header.html index 52eeffbdb2..383bf74bb2 100644 --- a/phpBB/styles/prosilver/template/overall_header.html +++ b/phpBB/styles/prosilver/template/overall_header.html @@ -161,8 +161,8 @@ <li class="icon-faq"><a href="{U_FAQ}" title="{L_FAQ_EXPLAIN}">{L_FAQ}</a></li> <!-- IF not S_IS_BOT --> <!-- IF S_DISPLAY_MEMBERLIST --><li class="icon-members"><a href="{U_MEMBERLIST}" title="{L_MEMBERLIST_EXPLAIN}">{L_MEMBERLIST}</a></li><!-- ENDIF --> - <!-- IF not S_USER_LOGGED_IN and S_REGISTER_ENABLED --><li class="icon-register"><a href="{U_REGISTER}">{L_REGISTER}</a></li><!-- ENDIF --> - <li class="icon-logout"><a href="{U_LOGIN_LOGOUT}" title="{L_LOGIN_LOGOUT}" accesskey="l">{L_LOGIN_LOGOUT}</a></li> + <!-- IF not S_USER_LOGGED_IN and S_REGISTER_ENABLED and not (S_SHOW_COPPA or S_REGISTRATION) --><li class="icon-register"><a href="{U_REGISTER}">{L_REGISTER}</a></li><!-- ENDIF --> + <!-- IF not (S_SHOW_COPPA or S_REGISTRATION) --><li class="icon-logout"><a href="{U_LOGIN_LOGOUT}" title="{L_LOGIN_LOGOUT}" accesskey="l">{L_LOGIN_LOGOUT}</a></li><!-- ENDIF --> <!-- ENDIF --> </ul> @@ -179,4 +179,4 @@ <strong>{L_INFORMATION}:</strong> {L_BOARD_DISABLED} <span class="corners-bottom"><span></span></span></div> </div> - <!-- ENDIF -->
\ No newline at end of file + <!-- ENDIF --> diff --git a/phpBB/styles/prosilver/template/ucp_agreement.html b/phpBB/styles/prosilver/template/ucp_agreement.html index 67dcb35e7b..d64e2aebbe 100644 --- a/phpBB/styles/prosilver/template/ucp_agreement.html +++ b/phpBB/styles/prosilver/template/ucp_agreement.html @@ -1,8 +1,31 @@ <!-- INCLUDE overall_header.html --> - <!-- IF S_SHOW_COPPA or S_REGISTRATION --> +<!-- IF S_LANG_OPTIONS --> +<script type="text/javascript"> +// <![CDATA[ + /** + * Change language + */ + function change_language(lang_iso) + { + document.forms['register'].change_lang.value = lang_iso; + document.forms['register'].submit(); + } + +// ]]> +</script> + + <form method="post" action="{S_UCP_ACTION}" id="register"> + <p class="rightside"> + <label for="lang">{L_LANGUAGE}:</label><select name="lang" id="lang" onchange="change_language(this.value); return false;" title="{L_LANGUAGE}">{S_LANG_OPTIONS}</select> + </p> + <div class="clear"></div> + {S_HIDDEN_FIELDS} + </form> +<!-- ENDIF --> + <form method="post" action="{S_UCP_ACTION}" id="agreement"> <div class="panel"> @@ -45,4 +68,4 @@ <!-- ENDIF --> -<!-- INCLUDE overall_footer.html -->
\ No newline at end of file +<!-- INCLUDE overall_footer.html --> diff --git a/phpBB/styles/subsilver2/template/overall_header.html b/phpBB/styles/subsilver2/template/overall_header.html index c605871f0b..a45e51b467 100644 --- a/phpBB/styles/subsilver2/template/overall_header.html +++ b/phpBB/styles/subsilver2/template/overall_header.html @@ -162,13 +162,13 @@ function marklist(id, name, state) <table width="100%" cellspacing="0"> <tr> <td class="genmed"> - <!-- IF not S_IS_BOT --><a href="{U_LOGIN_LOGOUT}"><img src="{T_THEME_PATH}/images/icon_mini_login.gif" width="12" height="13" alt="*" /> {L_LOGIN_LOGOUT}</a> <!-- ENDIF --> + <!-- IF not S_IS_BOT and not (S_SHOW_COPPA or S_REGISTRATION) --><a href="{U_LOGIN_LOGOUT}"><img src="{T_THEME_PATH}/images/icon_mini_login.gif" width="12" height="13" alt="*" /> {L_LOGIN_LOGOUT}</a> <!-- ENDIF --> <!-- IF U_RESTORE_PERMISSIONS --> <a href="{U_RESTORE_PERMISSIONS}"><img src="{T_THEME_PATH}/images/icon_mini_login.gif" width="12" height="13" alt="*" /> {L_RESTORE_PERMISSIONS}</a><!-- ENDIF --> <!-- IF S_BOARD_DISABLED and S_USER_LOGGED_IN --> <span style="color: red;">{L_BOARD_DISABLED}</span><!-- ENDIF --> <!-- IF not S_IS_BOT --> <!-- IF S_USER_LOGGED_IN --> <!-- IF S_DISPLAY_PM --> <a href="{U_PRIVATEMSGS}"><img src="{T_THEME_PATH}/images/icon_mini_message.gif" width="12" height="13" alt="*" /> {PRIVATE_MESSAGE_INFO}<!-- IF PRIVATE_MESSAGE_INFO_UNREAD -->, {PRIVATE_MESSAGE_INFO_UNREAD}<!-- ENDIF --></a><!-- ENDIF --> - <!-- ELSEIF S_REGISTER_ENABLED --> <a href="{U_REGISTER}"><img src="{T_THEME_PATH}/images/icon_mini_register.gif" width="12" height="13" alt="*" /> {L_REGISTER}</a> + <!-- ELSEIF S_REGISTER_ENABLED and not (S_SHOW_COPPA or S_REGISTRATION) --> <a href="{U_REGISTER}"><img src="{T_THEME_PATH}/images/icon_mini_register.gif" width="12" height="13" alt="*" /> {L_REGISTER}</a> <!-- ENDIF --> <!-- ENDIF --> </td> diff --git a/phpBB/styles/subsilver2/template/ucp_agreement.html b/phpBB/styles/subsilver2/template/ucp_agreement.html index f1ea9df73a..d5420f66a6 100644 --- a/phpBB/styles/subsilver2/template/ucp_agreement.html +++ b/phpBB/styles/subsilver2/template/ucp_agreement.html @@ -1,8 +1,31 @@ <!-- INCLUDE overall_header.html --> +<!-- IF S_SHOW_COPPA or S_REGISTRATION --> +<!-- IF S_LANG_OPTIONS --> +<script type="text/javascript"> +// <![CDATA[ + /** + * Change language + */ + function change_language(lang_iso) + { + document.forms['register'].change_lang.value = lang_iso; + document.forms['register'].submit(); + } -<!-- IF S_SHOW_COPPA or S_REGISTRATION --> +// ]]> +</script> + + <form method="post" action="{S_UCP_ACTION}" id="register"> + <table width="100%" cellspacing="0"> + <tr> + <td class="gensmall" align="{S_CONTENT_FLOW_END}">{L_LANGUAGE}: <select name="lang" id="lang" onchange="change_language(this.value); return false;" title="{L_LANGUAGE}">{S_LANG_OPTIONS}</select></td> + </tr> + </table> + {S_HIDDEN_FIELDS} + </form> +<!-- ENDIF --> <form method="post" action="{S_UCP_ACTION}"> @@ -58,4 +81,4 @@ <!-- ENDIF --> -<!-- INCLUDE overall_footer.html -->
\ No newline at end of file +<!-- INCLUDE overall_footer.html --> |