aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB
diff options
context:
space:
mode:
authorJakub Senko <jakubsenko@gmail.com>2018-07-26 16:34:11 +0200
committerMarc Alexander <admin@m-a-styles.de>2019-05-09 19:00:29 +0200
commit3914515199ba9f3c2ce84e28b0a9a2c4e3dfb270 (patch)
treebef609553aaee9d21a952dc9be84fd1667e0bf64 /phpBB
parent3c2e75b52adc18360a10590543f29513b95f206b (diff)
downloadforums-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.php25
-rw-r--r--phpBB/language/en/ucp.php1
-rw-r--r--phpBB/phpbb/auth/provider/oauth/oauth.php2
-rw-r--r--phpBB/styles/prosilver/template/ucp_register.html11
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">