diff options
author | Jakub Senko <jakubsenko@gmail.com> | 2018-07-26 16:34:11 +0200 |
---|---|---|
committer | Marc Alexander <admin@m-a-styles.de> | 2019-05-09 19:00:29 +0200 |
commit | 3914515199ba9f3c2ce84e28b0a9a2c4e3dfb270 (patch) | |
tree | bef609553aaee9d21a952dc9be84fd1667e0bf64 /phpBB | |
parent | 3c2e75b52adc18360a10590543f29513b95f206b (diff) | |
download | forums-3914515199ba9f3c2ce84e28b0a9a2c4e3dfb270.tar forums-3914515199ba9f3c2ce84e28b0a9a2c4e3dfb270.tar.gz forums-3914515199ba9f3c2ce84e28b0a9a2c4e3dfb270.tar.bz2 forums-3914515199ba9f3c2ce84e28b0a9a2c4e3dfb270.tar.xz forums-3914515199ba9f3c2ce84e28b0a9a2c4e3dfb270.zip |
[ticket/11838] OAuth registration from ucp_register
PHPBB3-11838
Diffstat (limited to 'phpBB')
-rw-r--r-- | phpBB/includes/ucp/ucp_register.php | 25 | ||||
-rw-r--r-- | phpBB/language/en/ucp.php | 1 | ||||
-rw-r--r-- | phpBB/phpbb/auth/provider/oauth/oauth.php | 2 | ||||
-rw-r--r-- | phpBB/styles/prosilver/template/ucp_register.html | 11 |
4 files changed, 38 insertions, 1 deletions
diff --git a/phpBB/includes/ucp/ucp_register.php b/phpBB/includes/ucp/ucp_register.php index fc74f48025..0e3ff50268 100644 --- a/phpBB/includes/ucp/ucp_register.php +++ b/phpBB/includes/ucp/ucp_register.php @@ -602,6 +602,31 @@ class ucp_register break; } + /* @var $provider_collection \phpbb\auth\provider_collection */ + $provider_collection = $phpbb_container->get('auth.provider_collection'); + $auth_provider = $provider_collection->get_provider(); + + $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'], + )); + } + // Assign template vars for timezone select phpbb_timezone_select($template, $user, $data['tz'], true); diff --git a/phpBB/language/en/ucp.php b/phpBB/language/en/ucp.php index 85572f9029..12b0bad182 100644 --- a/phpBB/language/en/ucp.php +++ b/phpBB/language/en/ucp.php @@ -449,6 +449,7 @@ $lang = array_merge($lang, array( 'RECIPIENT' => 'Recipient', 'RECIPIENTS' => 'Recipients', 'REGISTRATION' => 'Registration', + 'OAUTH_REGISTRATION' => 'Registration using external services', 'RELEASE_MESSAGES' => '%sRelease all on-hold messages%s… they will be re-sorted into the appropriate folder if enough space is made available.', 'REMOVE_ADDRESS' => 'Remove address', 'REMOVE_SELECTED_BOOKMARKS' => 'Remove selected bookmarks', diff --git a/phpBB/phpbb/auth/provider/oauth/oauth.php b/phpBB/phpbb/auth/provider/oauth/oauth.php index 93419d2915..5e8cb3dea8 100644 --- a/phpBB/phpbb/auth/provider/oauth/oauth.php +++ b/phpBB/phpbb/auth/provider/oauth/oauth.php @@ -423,7 +423,7 @@ class oauth extends \phpbb\auth\provider\base if ($credentials['key'] && $credentials['secret']) { $actual_name = str_replace('auth.provider.oauth.service.', '', $service_name); - $redirect_url = build_url(false) . '&login=external&oauth_service=' . $actual_name; + $redirect_url = generate_board_url() . '/ucp.' . $this->php_ext . '?mode=login&login=external&oauth_service=' . $actual_name; $login_data['BLOCK_VARS'][$service_name] = array( 'REDIRECT_URL' => redirect($redirect_url, true), 'SERVICE_NAME' => $this->user->lang['AUTH_PROVIDER_OAUTH_SERVICE_' . strtoupper($actual_name)], diff --git a/phpBB/styles/prosilver/template/ucp_register.html b/phpBB/styles/prosilver/template/ucp_register.html index bf39990c35..ee8aa319bc 100644 --- a/phpBB/styles/prosilver/template/ucp_register.html +++ b/phpBB/styles/prosilver/template/ucp_register.html @@ -12,6 +12,17 @@ } </script> +<div class="panel"> + <div class="inner"> + + <h2>{{ SITENAME }} - {{ lang('OAUTH_REGISTRATION') }}</h2> + + {% if PROVIDER_TEMPLATE_FILE %} + {% include PROVIDER_TEMPLATE_FILE %} + {% endif %} + </div> +</div> + <form id="register" method="post" action="{S_UCP_ACTION}"{S_FORM_ENCTYPE}> <div class="panel"> |