mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-28 06:08:52 +00:00
[feature/oauth] Login_link works with ucp_register now
PHPBB3-11673
This commit is contained in:
parent
3b19d5c198
commit
aa80ac44a4
1 changed files with 21 additions and 7 deletions
|
@ -81,6 +81,7 @@ class ucp_register
|
||||||
$cp = new custom_profile();
|
$cp = new custom_profile();
|
||||||
|
|
||||||
$error = $cp_data = $cp_error = array();
|
$error = $cp_data = $cp_error = array();
|
||||||
|
$s_hidden_fields = array();
|
||||||
|
|
||||||
// Handle login_link data added to $_hidden_fields
|
// Handle login_link data added to $_hidden_fields
|
||||||
$login_link_data = $this->get_login_link_data_array();
|
$login_link_data = $this->get_login_link_data_array();
|
||||||
|
@ -91,13 +92,13 @@ class ucp_register
|
||||||
$auth_provider = 'auth.provider.' . $request->variable('auth_provider', $config['auth_method']);
|
$auth_provider = 'auth.provider.' . $request->variable('auth_provider', $config['auth_method']);
|
||||||
$auth_provider = $phpbb_container->get($auth_provider);
|
$auth_provider = $phpbb_container->get($auth_provider);
|
||||||
|
|
||||||
$result = $auth_provider->login_link_has_necessary_data($data);
|
$result = $auth_provider->login_link_has_necessary_data($login_link_data);
|
||||||
if ($result !== null)
|
if ($result !== null)
|
||||||
{
|
{
|
||||||
$error[] = $user->lang[$result];
|
$error[] = $user->lang[$result];
|
||||||
}
|
}
|
||||||
|
|
||||||
$s_hidden_fields = array_merge($s_hidden_fields, $login_link_data);
|
$s_hidden_fields = array_merge($s_hidden_fields, $this->get_login_link_data_for_hidden_fields($login_link_data));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!$agreed || ($coppa === false && $config['coppa_enable']) || ($coppa && !$config['coppa_enable']))
|
if (!$agreed || ($coppa === false && $config['coppa_enable']) || ($coppa && !$config['coppa_enable']))
|
||||||
|
@ -105,9 +106,9 @@ class ucp_register
|
||||||
$add_lang = ($change_lang) ? '&change_lang=' . urlencode($change_lang) : '';
|
$add_lang = ($change_lang) ? '&change_lang=' . urlencode($change_lang) : '';
|
||||||
$add_coppa = ($coppa !== false) ? '&coppa=' . $coppa : '';
|
$add_coppa = ($coppa !== false) ? '&coppa=' . $coppa : '';
|
||||||
|
|
||||||
$s_hidden_fields = array(
|
$s_hidden_fields = array_merge($s_hidden_fields, array(
|
||||||
'change_lang' => $change_lang,
|
'change_lang' => $change_lang,
|
||||||
);
|
));
|
||||||
|
|
||||||
// If we change the language, we want to pass on some more possible parameter.
|
// If we change the language, we want to pass on some more possible parameter.
|
||||||
if ($change_lang)
|
if ($change_lang)
|
||||||
|
@ -433,10 +434,10 @@ class ucp_register
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$s_hidden_fields = array(
|
$s_hidden_fields = array_merge($s_hidden_fields, array(
|
||||||
'agreed' => 'true',
|
'agreed' => 'true',
|
||||||
'change_lang' => 0,
|
'change_lang' => 0,
|
||||||
);
|
));
|
||||||
|
|
||||||
if ($config['coppa_enable'])
|
if ($config['coppa_enable'])
|
||||||
{
|
{
|
||||||
|
@ -516,10 +517,23 @@ class ucp_register
|
||||||
{
|
{
|
||||||
if (strpos($var_name, 'login_link_') === 0)
|
if (strpos($var_name, 'login_link_') === 0)
|
||||||
{
|
{
|
||||||
$login_link_data[$var_name] = $request->variable($var_name, '', false, phpbb_request_interface::POST);
|
$key_name = str_replace('login_link_', '', $var_name);
|
||||||
|
$login_link_data[$key_name] = $request->variable($var_name, '', false, phpbb_request_interface::POST);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return $login_link_data;
|
return $login_link_data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected function get_login_link_data_for_hidden_fields($data)
|
||||||
|
{
|
||||||
|
$new_data = array();
|
||||||
|
|
||||||
|
foreach ($data as $key => $value)
|
||||||
|
{
|
||||||
|
$new_data['login_link_' . $key] = $value;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $new_data;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue