diff options
author | Nathan Guse <nathaniel.guse@gmail.com> | 2013-09-12 22:56:54 -0500 |
---|---|---|
committer | Nathan Guse <nathaniel.guse@gmail.com> | 2013-09-12 22:56:54 -0500 |
commit | bcb1392351c2da921f477b56ab2c0777e7bbf4fc (patch) | |
tree | 154c1f820f4c9ef7197d04cee4b8ed1db599c874 /phpBB/includes/functions.php | |
parent | 65f52d7575a8a7fe83cbfe7c5f35215ef8fba5b0 (diff) | |
parent | 12ede5f2a783bbdb8dc8ba9a94b4cd1ffa750e49 (diff) | |
download | forums-bcb1392351c2da921f477b56ab2c0777e7bbf4fc.tar forums-bcb1392351c2da921f477b56ab2c0777e7bbf4fc.tar.gz forums-bcb1392351c2da921f477b56ab2c0777e7bbf4fc.tar.bz2 forums-bcb1392351c2da921f477b56ab2c0777e7bbf4fc.tar.xz forums-bcb1392351c2da921f477b56ab2c0777e7bbf4fc.zip |
Merge branch 'develop' of github.com:phpbb/phpbb3 into ticket/11816
# By Joseph Warner (187) and others
# Via Nathan Guse (6) and others
* 'develop' of github.com:phpbb/phpbb3: (195 commits)
[ticket/11828] Fix greedy operators in lexer
[ticket/11835] Fix ucp_auth_link adding in migration
[prep-release-3.0.12] Remove changelog entry for ticket that was not resolved.
[ticket/develop/11832] Fix path detection
[feature/oauth] Fix tabindex
[ticket/9550] Add the core.viewtopic_post_rowset_data event to viewtopic.php
[ticket/11829] Use report_closed to determine status in MCP report_details
[feature/oauth] Fix bug on ucp_auth_link related to error display
[feature/oauth] More small fixes
[feature/oauth] More minor changes from review
[feature/oauth] Fix small bug introduced by update in OAuth library
[feature/oauth] Fix small issues on ucp pages
[feature/oauth] Fix typo in OAuth logout method
[feature/oauth] Make token storage service ignorant
[feature/oauth] Update oauth::logout() to use clearAllTokens()
[feature/oauth] Update storage implementation due to inteface change
[feature/oauth] Update lusitanian/oauth to stable branch
[ticket/11822] Use namespace lookup order for asset loading
[feature/oauth] Update comment on oauth service exception
[feature/oauth] Forgot to remove placeholder comment
...
Conflicts:
phpBB/phpbb/template/twig/lexer.php
tests/template/template_test.php
Diffstat (limited to 'phpBB/includes/functions.php')
-rw-r--r-- | phpBB/includes/functions.php | 35 |
1 files changed, 32 insertions, 3 deletions
diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php index 4d2d704a43..bf973fe141 100644 --- a/phpBB/includes/functions.php +++ b/phpBB/includes/functions.php @@ -3206,7 +3206,7 @@ function confirm_box($check, $title = '', $hidden = '', $html_body = 'confirm_bo function login_box($redirect = '', $l_explain = '', $l_success = '', $admin = false, $s_display = true) { global $db, $user, $template, $auth, $phpEx, $phpbb_root_path, $config; - global $request; + global $request, $phpbb_container; if (!class_exists('phpbb_captcha_factory', false)) { @@ -3233,7 +3233,7 @@ function login_box($redirect = '', $l_explain = '', $l_success = '', $admin = fa trigger_error('NO_AUTH_ADMIN'); } - if (isset($_POST['login'])) + if ($request->is_set_post('login') || ($request->is_set('login') && $request->variable('login', '') == 'external')) { // Get credential if ($admin) @@ -3374,6 +3374,29 @@ function login_box($redirect = '', $l_explain = '', $l_success = '', $admin = fa $s_hidden_fields['credential'] = $credential; } + $auth_provider = $phpbb_container->get('auth.provider.' . $config['auth_method']); + + $auth_provider_data = $auth_provider->get_login_data(); + if ($auth_provider_data) + { + if (isset($auth_provider_data['VARS'])) + { + $template->assign_vars($auth_provider_data['VARS']); + } + + if (isset($auth_provider_data['BLOCK_VAR_NAME'])) + { + foreach ($auth_provider_data['BLOCK_VARS'] as $block_vars) + { + $template->assign_block_vars($auth_provider_data['BLOCK_VAR_NAME'], $block_vars); + } + } + + $template->assign_vars(array( + 'PROVIDER_TEMPLATE_FILE' => $auth_provider_data['TEMPLATE_FILE'], + )); + } + $s_hidden_fields = build_hidden_fields($s_hidden_fields); $template->assign_vars(array( @@ -5733,6 +5756,8 @@ function phpbb_create_symfony_request(phpbb_request $request) */ function phpbb_get_web_root_path(Request $symfony_request, $phpbb_root_path = '') { + global $phpbb_container; + static $path; if (null !== $path) { @@ -5746,7 +5771,11 @@ function phpbb_get_web_root_path(Request $symfony_request, $phpbb_root_path = '' return $path; } - $corrections = substr_count($path_info, '/'); + $filesystem = $phpbb_container->get('filesystem'); + $path_info = $filesystem->clean_path($path_info); + + // Do not count / at start of path + $corrections = substr_count(substr($path_info, 1), '/'); // When URL Rewriting is enabled, app.php is optional. We have to // correct for it not being there |