1
0
mirror of https://github.com/e107inc/e107.git synced 2025-04-30 09:18:09 +02:00

Factory for e_user_provider

This commit is contained in:
Nick Liu 2020-02-19 18:25:25 +01:00
parent a91fa2c9b8
commit dc66b508bf
No known key found for this signature in database
GPG Key ID: 1167C5F9C9897637
3 changed files with 17 additions and 10 deletions

View File

@ -50,8 +50,7 @@ class core_system_xup_controller extends eController
if($allow && vartrue($_GET['provider']))
{
require_once(e_HANDLER."user_handler.php");
$provider = new e_user_provider($_GET['provider']);
$provider = e107::getUserProvider($_GET['provider']);
try
{
$provider->signup($this->backUrl, true, false); // redirect to test page is expected, if true - redirect to SITEURL
@ -77,8 +76,7 @@ class core_system_xup_controller extends eController
if($allow && vartrue($_GET['provider']))
{
require_once(e_HANDLER."user_handler.php");
$provider = new e_user_provider($_GET['provider']);
$provider = e107::getUserProvider($_GET['provider']);
try
{
$provider->login($this->backUrl); // redirect to test page is expected, if true - redirect to SITEURL

View File

@ -216,6 +216,7 @@ class e107
'e_user_model' => '{e_HANDLER}user_model.php',
'e_user' => '{e_HANDLER}user_model.php',
'e_user_extended_structure_tree' => '{e_HANDLER}user_model.php',
'e_user_provider' => '{e_HANDLER}user_handler.php',
'e_userperms' => '{e_HANDLER}user_handler.php',
'e_validator' => '{e_HANDLER}validator_class.php',
'e_vars' => '{e_HANDLER}model_class.php',
@ -1709,14 +1710,13 @@ class e107
* @return Hybridauth\Hybridauth
* @throws \Hybridauth\Exception\InvalidArgumentException if Hybridauth rejects the provided config
* @throws ReflectionException if this method is unintentionally broken
* @deprecated v2.3.0 Use the e_user_provider interfaces instead (e107::getUser()->getProvider()).
* Hybridauth features are only available if the user is associated with a social login.
* @deprecated v2.3.0 Use the e_user_provider interfaces instead (e107::getUserProvider()).
* It's the e107 wrapper around Hybridauth.
* @see e_user_provider for social login features.
* @see e107::getUser() for getting a user object that may or may not have a social login.
* @see e_user_provider for social login features, only if enabled on the user.
*/
public static function getHybridAuth($config = null)
{
include_once("user_handler.php");
$e_user_provider = new e_user_provider(null, $config);
$reflection = new ReflectionClass('e_user_provider');
$reflection_property = $reflection->getProperty('hybridauth');
@ -1724,6 +1724,16 @@ class e107
return $reflection_property->getValue($e_user_provider);
}
/**
* Create a new social login handler
* @param string|null $providerName
* @return e_user_provider
*/
public static function getUserProvider($providerName = null)
{
return self::getObject('e_user_provider', $providerName);
}
/**
* Retrieve userclass singleton object
*

View File

@ -1541,8 +1541,7 @@ class e_user extends e_user_model
if($this->get('user_xup'))
{
$providerId = $this->getProviderName();
require_once(e_HANDLER.'user_handler.php');
$this->_provider = new e_user_provider($providerId);
$this->_provider = e107::getUserProvider($providerId);
$this->_provider->init();
}