mirror of
https://github.com/e107inc/e107.git
synced 2025-07-29 19:00:26 +02:00
Interface fixes and refactoring to e107 conventions/standards.
This commit is contained in:
@@ -21,15 +21,15 @@ class core_system_xup_controller extends eController
|
|||||||
|
|
||||||
var $backUrl = null;
|
var $backUrl = null;
|
||||||
/**
|
/**
|
||||||
* @var SocialLoginConfigManager
|
* @var social_login_config
|
||||||
*/
|
*/
|
||||||
private $social_login_config_manager;
|
private $social_login_config_manager;
|
||||||
|
|
||||||
public function __construct(eRequest $request, eResponse $response = null)
|
public function __construct(eRequest $request, eResponse $response = null)
|
||||||
{
|
{
|
||||||
parent::__construct($request, $response);
|
parent::__construct($request, $response);
|
||||||
require_once(e_PLUGIN."social/SocialLoginConfigManager.php");
|
require_once(e_PLUGIN."social/includes/social_login_config.php");
|
||||||
$this->social_login_config_manager = new SocialLoginConfigManager(e107::getConfig());
|
$this->social_login_config_manager = new social_login_config(e107::getConfig());
|
||||||
}
|
}
|
||||||
|
|
||||||
public function init()
|
public function init()
|
||||||
@@ -65,8 +65,8 @@ class core_system_xup_controller extends eController
|
|||||||
|
|
||||||
public function actionTest()
|
public function actionTest()
|
||||||
{
|
{
|
||||||
require_once(e_PLUGIN . "social/SocialLoginConfigManager.php");
|
require_once(e_PLUGIN . "social/includes/social_login_config.php");
|
||||||
$manager = new SocialLoginConfigManager(e107::getConfig());
|
$manager = new social_login_config(e107::getConfig());
|
||||||
|
|
||||||
if (!$manager->isFlagActive($manager::ENABLE_BIT_TEST_PAGE))
|
if (!$manager->isFlagActive($manager::ENABLE_BIT_TEST_PAGE))
|
||||||
{
|
{
|
||||||
|
@@ -112,7 +112,7 @@ class signup_shortcodes extends e_shortcode
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
$manager = new SocialLoginConfigManager(e107::getConfig());
|
$manager = new social_login_config(e107::getConfig());
|
||||||
$providers = $manager->getValidConfiguredProviderConfigs();
|
$providers = $manager->getValidConfiguredProviderConfigs();
|
||||||
|
|
||||||
foreach ($providers as $p => $v)
|
foreach ($providers as $p => $v)
|
||||||
|
@@ -343,7 +343,7 @@ class e107
|
|||||||
* @param $e107_paths
|
* @param $e107_paths
|
||||||
* @param $e107_root_path
|
* @param $e107_root_path
|
||||||
* @param array $e107_config_override
|
* @param array $e107_config_override
|
||||||
* @return e107
|
* @return object|boolean e107
|
||||||
*/
|
*/
|
||||||
public function initInstall($e107_paths, $e107_root_path, $e107_config_override = array())
|
public function initInstall($e107_paths, $e107_root_path, $e107_config_override = array())
|
||||||
{
|
{
|
||||||
|
@@ -1104,14 +1104,14 @@ class e_user_provider
|
|||||||
protected $hybridauth;
|
protected $hybridauth;
|
||||||
protected $_config = array();
|
protected $_config = array();
|
||||||
/**
|
/**
|
||||||
* @var SocialLoginConfigManager
|
* @var social_login_config
|
||||||
*/
|
*/
|
||||||
protected $social_login_config_manager;
|
protected $social_login_config_manager;
|
||||||
|
|
||||||
public function __construct($provider = null, $config = array())
|
public function __construct($provider = null, $config = array())
|
||||||
{
|
{
|
||||||
require_once(e_PLUGIN . "social/SocialLoginConfigManager.php");
|
require_once(e_PLUGIN . "social/includes/social_login_config.php");
|
||||||
$this->social_login_config_manager = new SocialLoginConfigManager(e107::getConfig());
|
$this->social_login_config_manager = new social_login_config(e107::getConfig());
|
||||||
|
|
||||||
if (!empty($config))
|
if (!empty($config))
|
||||||
{
|
{
|
||||||
@@ -1432,7 +1432,7 @@ class e_user_provider
|
|||||||
*/
|
*/
|
||||||
public function isSocialLoginEnabled()
|
public function isSocialLoginEnabled()
|
||||||
{
|
{
|
||||||
return $this->social_login_config_manager->isFlagActive(SocialLoginConfigManager::ENABLE_BIT_GLOBAL);
|
return $this->social_login_config_manager->isFlagActive(social_login_config::ENABLE_BIT_GLOBAL);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -12,6 +12,111 @@ if (!getperms('P'))
|
|||||||
e107::lan('social',true, true);
|
e107::lan('social',true, true);
|
||||||
e107::lan('social',false, true);
|
e107::lan('social',false, true);
|
||||||
|
|
||||||
|
// test legacy upgrade interface.
|
||||||
|
/*
|
||||||
|
$legacy = array(
|
||||||
|
'FakeProviderNeverExisted' =>
|
||||||
|
array(
|
||||||
|
'enabled' => '1',
|
||||||
|
),
|
||||||
|
'AOL' =>
|
||||||
|
array(
|
||||||
|
'enabled' => '1',
|
||||||
|
),
|
||||||
|
'Facebook' =>
|
||||||
|
array(
|
||||||
|
'keys' =>
|
||||||
|
array(
|
||||||
|
'id' => 'a',
|
||||||
|
'secret' => 'b',
|
||||||
|
),
|
||||||
|
'scope' => 'c',
|
||||||
|
'enabled' => '1',
|
||||||
|
),
|
||||||
|
'Foursquare' =>
|
||||||
|
array(
|
||||||
|
'keys' =>
|
||||||
|
array(
|
||||||
|
'id' => 'a',
|
||||||
|
'secret' => 'b',
|
||||||
|
),
|
||||||
|
'enabled' => '1',
|
||||||
|
),
|
||||||
|
'Github' =>
|
||||||
|
array(
|
||||||
|
'keys' =>
|
||||||
|
array(
|
||||||
|
'id' => 'a',
|
||||||
|
'secret' => 'b',
|
||||||
|
),
|
||||||
|
'scope' => 'c',
|
||||||
|
'enabled' => '1',
|
||||||
|
),
|
||||||
|
'Google' =>
|
||||||
|
array(
|
||||||
|
'keys' =>
|
||||||
|
array(
|
||||||
|
'id' => 'a',
|
||||||
|
'secret' => 'b',
|
||||||
|
),
|
||||||
|
'scope' => 'c',
|
||||||
|
'enabled' => '1',
|
||||||
|
),
|
||||||
|
'LinkedIn' =>
|
||||||
|
array(
|
||||||
|
'keys' =>
|
||||||
|
array(
|
||||||
|
'id' => 'a',
|
||||||
|
'secret' => 'b',
|
||||||
|
),
|
||||||
|
'enabled' => '1',
|
||||||
|
),
|
||||||
|
'Live' =>
|
||||||
|
array(
|
||||||
|
'keys' =>
|
||||||
|
array(
|
||||||
|
'id' => 'a',
|
||||||
|
'secret' => 'b',
|
||||||
|
),
|
||||||
|
'enabled' => '1',
|
||||||
|
),
|
||||||
|
'OpenID' =>
|
||||||
|
array(
|
||||||
|
'enabled' => '1',
|
||||||
|
),
|
||||||
|
'Steam' =>
|
||||||
|
array(
|
||||||
|
'keys' =>
|
||||||
|
array(
|
||||||
|
'key' => 'a',
|
||||||
|
),
|
||||||
|
'enabled' => '1',
|
||||||
|
),
|
||||||
|
'Twitter' =>
|
||||||
|
array(
|
||||||
|
'keys' =>
|
||||||
|
array(
|
||||||
|
'key' => 'a',
|
||||||
|
'secret' => 'b',
|
||||||
|
),
|
||||||
|
'enabled' => '1',
|
||||||
|
),
|
||||||
|
'Yahoo' =>
|
||||||
|
array(
|
||||||
|
'keys' =>
|
||||||
|
array(
|
||||||
|
'id' => 'a',
|
||||||
|
'secret' => 'b',
|
||||||
|
),
|
||||||
|
'enabled' => '1',
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
e107::getConfig()->setPref('social_login', $legacy);
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class social_adminarea extends e_admin_dispatcher
|
class social_adminarea extends e_admin_dispatcher
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -50,7 +155,7 @@ class social_adminarea extends e_admin_dispatcher
|
|||||||
|
|
||||||
public function init()
|
public function init()
|
||||||
{
|
{
|
||||||
$slcm = new SocialLoginConfigManager(e107::getConfig());
|
$slcm = new social_login_config(e107::getConfig());
|
||||||
$supported_providers = $slcm->getSupportedProviders();
|
$supported_providers = $slcm->getSupportedProviders();
|
||||||
$configured_providers = $slcm->getConfiguredProviders();
|
$configured_providers = $slcm->getConfiguredProviders();
|
||||||
$unsupported_providers = array_diff($configured_providers, $supported_providers);
|
$unsupported_providers = array_diff($configured_providers, $supported_providers);
|
||||||
@@ -70,7 +175,7 @@ class social_adminarea extends e_admin_dispatcher
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
require_once("SocialLoginConfigManager.php");
|
require_once("includes/social_login_config.php");
|
||||||
|
|
||||||
class social_ui extends e_admin_ui
|
class social_ui extends e_admin_ui
|
||||||
{
|
{
|
||||||
@@ -131,7 +236,7 @@ class social_ui extends e_admin_ui
|
|||||||
|
|
||||||
protected $social_logins = array();
|
protected $social_logins = array();
|
||||||
/**
|
/**
|
||||||
* @var SocialLoginConfigManager
|
* @var social_login_config
|
||||||
*/
|
*/
|
||||||
protected $social_login_config_manager;
|
protected $social_login_config_manager;
|
||||||
|
|
||||||
@@ -141,7 +246,7 @@ class social_ui extends e_admin_ui
|
|||||||
|
|
||||||
public function init()
|
public function init()
|
||||||
{
|
{
|
||||||
$this->social_login_config_manager = new SocialLoginConfigManager(e107::getConfig());
|
$this->social_login_config_manager = new social_login_config(e107::getConfig());
|
||||||
|
|
||||||
if(!empty($_POST['save_social_logins']) )
|
if(!empty($_POST['save_social_logins']) )
|
||||||
{
|
{
|
||||||
@@ -152,10 +257,14 @@ class social_ui extends e_admin_ui
|
|||||||
$this->social_login_config_manager->setProviderConfig($provider_name, $raw_updated_social_login);
|
$this->social_login_config_manager->setProviderConfig($provider_name, $raw_updated_social_login);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(isset($_POST['social_login_active']))
|
||||||
|
{
|
||||||
$social_login_flags =
|
$social_login_flags =
|
||||||
!!$_POST['social_login_active'] << SocialLoginConfigManager::ENABLE_BIT_GLOBAL |
|
!!$_POST['social_login_active'] << social_login_config::ENABLE_BIT_GLOBAL |
|
||||||
!!$_POST['social_login_test_page'] << SocialLoginConfigManager::ENABLE_BIT_TEST_PAGE;
|
!!$_POST['social_login_test_page'] << social_login_config::ENABLE_BIT_TEST_PAGE;
|
||||||
$cfg->setPref(SocialLoginConfigManager::SOCIAL_LOGIN_FLAGS, $social_login_flags);
|
$cfg->setPref(social_login_config::SOCIAL_LOGIN_FLAGS, $social_login_flags);
|
||||||
|
}
|
||||||
|
|
||||||
$cfg->save(true, true, true);
|
$cfg->save(true, true, true);
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -217,29 +326,35 @@ class social_ui extends e_admin_ui
|
|||||||
function renderHelp()
|
function renderHelp()
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
$action = $this->getAction();
|
$action = $this->getAction();
|
||||||
|
|
||||||
switch($action)
|
switch($action)
|
||||||
{
|
{
|
||||||
|
|
||||||
case "configure":
|
case "configure":
|
||||||
$notice = LAN_SOCIAL_ADMIN_45."<br />";
|
$notice = LAN_SOCIAL_ADMIN_45;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "unsupported":
|
case "unsupported":
|
||||||
$notice = LAN_SOCIAL_ADMIN_48;
|
$notice = LAN_SOCIAL_ADMIN_48;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
case "prefs":
|
||||||
case "add":
|
return null; // todo?
|
||||||
$notice = LAN_SOCIAL_ADMIN_46."<br /><br />";
|
|
||||||
$notice .= LAN_SOCIAL_ADMIN_08." <br /><br /><a href='".self::TEST_URL."' rel='external'>".self::TEST_URL."</a>";
|
|
||||||
|
|
||||||
$callBack = SITEURL;
|
|
||||||
$notice .= "<br /><br />".LAN_SOCIAL_ADMIN_09."</br ><a href='".$callBack."'>".$callBack."</a>";
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
case "add":
|
||||||
|
$notice = LAN_SOCIAL_ADMIN_46;
|
||||||
|
break;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if($action == 'configure' || $action == 'add')
|
||||||
|
{
|
||||||
|
$notice .= "<br /><br />".LAN_SOCIAL_ADMIN_08." <br /><br /><a href='".self::TEST_URL."' rel='external'>".self::TEST_URL."</a>";
|
||||||
|
$callBack = SITEURL;
|
||||||
|
$notice .= "<br /><br />".LAN_SOCIAL_ADMIN_09."</br ><a href='".$callBack."'>".$callBack."</a>";
|
||||||
}
|
}
|
||||||
|
|
||||||
$tp = e107::getParser();
|
$tp = e107::getParser();
|
||||||
@@ -256,7 +371,7 @@ class social_ui extends e_admin_ui
|
|||||||
$unsupported_providers = array_diff($configured_providers, $supported_providers);
|
$unsupported_providers = array_diff($configured_providers, $supported_providers);
|
||||||
// $configured_providers = array_diff($configured_providers, $unsupported_providers);
|
// $configured_providers = array_diff($configured_providers, $unsupported_providers);
|
||||||
|
|
||||||
return $this->generateSocialLoginSection($unsupported_providers );
|
return $this->generateSocialLoginSection($unsupported_providers, true );
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -404,7 +519,7 @@ class social_ui extends e_admin_ui
|
|||||||
</colgroup>
|
</colgroup>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<td><label for='social-login-active-1'>".LAN_SOCIAL_ADMIN_02."</label>
|
<td><label for='social-login-active-1'>".LAN_SOCIAL_ADMIN_51."</label>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
".$frm->radio_switch('social_login_active', $slcm->isFlagActive($slcm::ENABLE_BIT_GLOBAL))."
|
".$frm->radio_switch('social_login_active', $slcm->isFlagActive($slcm::ENABLE_BIT_GLOBAL))."
|
||||||
@@ -455,7 +570,7 @@ class social_ui extends e_admin_ui
|
|||||||
* @param array $provider_names
|
* @param array $provider_names
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
private function generateSocialLoginSection($provider_names)
|
private function generateSocialLoginSection($provider_names, $readonly=false)
|
||||||
{
|
{
|
||||||
if(empty($provider_names))
|
if(empty($provider_names))
|
||||||
{
|
{
|
||||||
@@ -482,7 +597,7 @@ class social_ui extends e_admin_ui
|
|||||||
|
|
||||||
foreach ($provider_names as $provider_name)
|
foreach ($provider_names as $provider_name)
|
||||||
{
|
{
|
||||||
$text .= $this->generateSocialLoginRow($provider_name);
|
$text .= $this->generateSocialLoginRow($provider_name, $readonly);
|
||||||
}
|
}
|
||||||
|
|
||||||
$text .= "</table>";
|
$text .= "</table>";
|
||||||
@@ -566,7 +681,7 @@ class social_ui extends e_admin_ui
|
|||||||
* @param $provider_name
|
* @param $provider_name
|
||||||
* @return string Text to append
|
* @return string Text to append
|
||||||
*/
|
*/
|
||||||
private function generateSocialLoginRow($provider_name, $mode = 'list')
|
private function generateSocialLoginRow($provider_name, $readonly = false)
|
||||||
{
|
{
|
||||||
$slcm = $this->social_login_config_manager;
|
$slcm = $this->social_login_config_manager;
|
||||||
$provider_type = $slcm->getTypeOfProvider($provider_name);
|
$provider_type = $slcm->getTypeOfProvider($provider_name);
|
||||||
@@ -596,6 +711,11 @@ class social_ui extends e_admin_ui
|
|||||||
'placeholder' => self::getPlaceholderFor($provider_name, $fieldSlash),
|
'placeholder' => self::getPlaceholderFor($provider_name, $fieldSlash),
|
||||||
];
|
];
|
||||||
|
|
||||||
|
if($readonly)
|
||||||
|
{
|
||||||
|
$frm_options['readonly'] = 1; ;
|
||||||
|
}
|
||||||
|
|
||||||
$text .= "<tr><td class='col-label'>".$this->getLabel($fieldSlash)."</td>";
|
$text .= "<tr><td class='col-label'>".$this->getLabel($fieldSlash)."</td>";
|
||||||
$text .= "<td>".$frm->text("social_login[$provider_name][$field]", $slcm->getProviderConfig($provider_name, $fieldSlash), 256, $frm_options).
|
$text .= "<td>".$frm->text("social_login[$provider_name][$field]", $slcm->getProviderConfig($provider_name, $fieldSlash), 256, $frm_options).
|
||||||
"<div class='smalltext field-help'>$description</div>";
|
"<div class='smalltext field-help'>$description</div>";
|
||||||
@@ -604,7 +724,16 @@ class social_ui extends e_admin_ui
|
|||||||
|
|
||||||
$text .= "</table></td>";
|
$text .= "</table></td>";
|
||||||
|
|
||||||
$textEnabled = $frm->radio_switch("social_login[$provider_name][enabled]", $slcm->isProviderEnabled($provider_name), '', '', ['class' => 'e-expandit']);
|
|
||||||
|
if($readonly)
|
||||||
|
{
|
||||||
|
$textEnabled = ($slcm->isProviderEnabled($provider_name)) ? ADMIN_TRUE_ICON : ADMIN_FALSE_ICON;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$enabledOpts = ['class' => 'e-expandit'];
|
||||||
|
$textEnabled = $frm->radio_switch("social_login[$provider_name][enabled]", $slcm->isProviderEnabled($provider_name), '', '', $enabledOpts);
|
||||||
|
}
|
||||||
|
|
||||||
$text .= $textKeys . $textScope . "<td class='center'>" . $textEnabled . "</td>";
|
$text .= $textKeys . $textScope . "<td class='center'>" . $textEnabled . "</td>";
|
||||||
|
|
||||||
|
@@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
require_once(e_HANDLER . "user_handler.php");
|
require_once(e_HANDLER . "user_handler.php");
|
||||||
|
|
||||||
class SocialLoginConfigManager
|
class social_login_config
|
||||||
{
|
{
|
||||||
const SOCIAL_LOGIN_PREF = "social_login";
|
const SOCIAL_LOGIN_PREF = "social_login";
|
||||||
|
|
||||||
@@ -100,7 +100,7 @@ class SocialLoginConfigManager
|
|||||||
* $options['keys']['id'] string The OAuth1 client key or OAuth2 client ID
|
* $options['keys']['id'] string The OAuth1 client key or OAuth2 client ID
|
||||||
* $options['keys']['secret'] string The OAuth1 or OAuth2 client secret
|
* $options['keys']['secret'] string The OAuth1 or OAuth2 client secret
|
||||||
* $options['scope'] string OAuth2 scopes, space-delimited
|
* $options['scope'] string OAuth2 scopes, space-delimited
|
||||||
* @see SocialLoginConfigManager::saveConfig() to commit to database.
|
* @see social_login_config::saveConfig() to commit to database.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public function setProviderConfig($providerName, $options)
|
public function setProviderConfig($providerName, $options)
|
@@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
define("LAN_SOCIAL_ADMIN_00", "Applications");
|
define("LAN_SOCIAL_ADMIN_00", "Applications");
|
||||||
define("LAN_SOCIAL_ADMIN_01", "Pages");
|
define("LAN_SOCIAL_ADMIN_01", "Pages");
|
||||||
define("LAN_SOCIAL_ADMIN_02", "Social Signup/Login"); //tab
|
define("LAN_SOCIAL_ADMIN_02", "Configured Login Providers"); //tab
|
||||||
define("LAN_SOCIAL_ADMIN_03", "Signup/Login"); //bar
|
define("LAN_SOCIAL_ADMIN_03", "Signup/Login"); //bar
|
||||||
define("LAN_SOCIAL_ADMIN_04", "Provider");
|
define("LAN_SOCIAL_ADMIN_04", "Provider");
|
||||||
define("LAN_SOCIAL_ADMIN_05", "Key/ID");
|
define("LAN_SOCIAL_ADMIN_05", "Key/ID");
|
||||||
@@ -53,7 +53,7 @@ define("LAN_SOCIAL_ADMIN_42", "Custom Image");
|
|||||||
|
|
||||||
define("LAN_SOCIAL_ADMIN_43","A [database update] is required to continue using this plugin.");
|
define("LAN_SOCIAL_ADMIN_43","A [database update] is required to continue using this plugin.");
|
||||||
define("LAN_SOCIAL_ADMIN_44", "Add New Provider");
|
define("LAN_SOCIAL_ADMIN_44", "Add New Provider");
|
||||||
define("LAN_SOCIAL_ADMIN_45", "These social login providers are currently configured.\nIf the master switch [b]Social Signup/Login[/b] is toggled on, each provider in this table that is also toggled on may be used for user registration and login. If you empty the fields of a provider here and save, it will move to the [b]Add New Providers[/b] section.");
|
define("LAN_SOCIAL_ADMIN_45", "These social login providers are currently configured.\nIf the master switch [b]Social Signup/Login[/b] is toggled on, each provider in this table that is also toggled on may be used for user registration and login. If you empty the fields of a provider here and save, it will move to the [b]Add New Provider[/b] section.");
|
||||||
define("LAN_SOCIAL_ADMIN_46", "These are the available social login providers, which have not been configured. Once you configure and save a provider here, it will move to the [b]Configured[/b] section.");
|
define("LAN_SOCIAL_ADMIN_46", "These are the available social login providers, which have not been configured. Once you configure and save a provider here, it will move to the [b]Configured[/b] section.");
|
||||||
define("LAN_SOCIAL_ADMIN_47", "Broken Configured Providers");
|
define("LAN_SOCIAL_ADMIN_47", "Broken Configured Providers");
|
||||||
define("LAN_SOCIAL_ADMIN_48", "These social login providers were configured in the past but no longer have an adapter that can support them.[br]This may be due to them no longer existing or being replaced by a different provider.");
|
define("LAN_SOCIAL_ADMIN_48", "These social login providers were configured in the past but no longer have an adapter that can support them.[br]This may be due to them no longer existing or being replaced by a different provider.");
|
||||||
@@ -62,6 +62,7 @@ define("LAN_SOCIAL_ADMIN_50", "Enable or disable the social login test page");
|
|||||||
|
|
||||||
define("LAN_SOCIAL_ADMIN_08", "Note: In most cases, you will need to obtain an application ID and secret key from social login providers.\nIf a provider's name is a link, that link should take you to the login application configuration documentation.\n\nYou may test your configuration with the following URL after enabling the [b]Test Page[/b] option:");
|
define("LAN_SOCIAL_ADMIN_08", "Note: In most cases, you will need to obtain an application ID and secret key from social login providers.\nIf a provider's name is a link, that link should take you to the login application configuration documentation.\n\nYou may test your configuration with the following URL after enabling the [b]Test Page[/b] option:");
|
||||||
define("LAN_SOCIAL_ADMIN_09", "Your callback URL is: ");
|
define("LAN_SOCIAL_ADMIN_09", "Your callback URL is: ");
|
||||||
|
define("LAN_SOCIAL_ADMIN_51", "Social Login System");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@@ -8,7 +8,7 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
require_once("SocialLoginConfigManager.php");
|
require_once("includes/social_login_config.php");
|
||||||
|
|
||||||
class social_setup
|
class social_setup
|
||||||
{
|
{
|
||||||
@@ -30,8 +30,8 @@ class social_setup
|
|||||||
private function upgrade_required_provider_name_normalization()
|
private function upgrade_required_provider_name_normalization()
|
||||||
{
|
{
|
||||||
$coreConfig = e107::getConfig();
|
$coreConfig = e107::getConfig();
|
||||||
$manager = new SocialLoginConfigManager($coreConfig);
|
$manager = new social_login_config($coreConfig);
|
||||||
$providerConfig = $coreConfig->getPref(SocialLoginConfigManager::SOCIAL_LOGIN_PREF);
|
$providerConfig = $coreConfig->getPref(social_login_config::SOCIAL_LOGIN_PREF);
|
||||||
if (!is_array($providerConfig)) $providerConfig = [];
|
if (!is_array($providerConfig)) $providerConfig = [];
|
||||||
$normalizedProviderNames = array_keys($providerConfig);
|
$normalizedProviderNames = array_keys($providerConfig);
|
||||||
foreach ($normalizedProviderNames as $normalizedProviderName)
|
foreach ($normalizedProviderNames as $normalizedProviderName)
|
||||||
@@ -75,9 +75,9 @@ class social_setup
|
|||||||
{
|
{
|
||||||
$coreConfig = e107::getConfig();
|
$coreConfig = e107::getConfig();
|
||||||
$logger = e107::getMessage();
|
$logger = e107::getMessage();
|
||||||
$manager = new SocialLoginConfigManager($coreConfig);
|
$manager = new social_login_config($coreConfig);
|
||||||
|
|
||||||
$providerConfig = $coreConfig->getPref(SocialLoginConfigManager::SOCIAL_LOGIN_PREF);
|
$providerConfig = $coreConfig->getPref(social_login_config::SOCIAL_LOGIN_PREF);
|
||||||
if (!is_array($providerConfig)) $providerConfig = [];
|
if (!is_array($providerConfig)) $providerConfig = [];
|
||||||
|
|
||||||
foreach ($providerConfig as $oldNormalizedProviderName => $oldOptions)
|
foreach ($providerConfig as $oldNormalizedProviderName => $oldOptions)
|
||||||
@@ -107,7 +107,7 @@ class social_setup
|
|||||||
{
|
{
|
||||||
$manager->setProviderConfig($denormalizedProviderName, $newOptions);
|
$manager->setProviderConfig($denormalizedProviderName, $newOptions);
|
||||||
$coreConfig->removePref(
|
$coreConfig->removePref(
|
||||||
SocialLoginConfigManager::SOCIAL_LOGIN_PREF . '/' . $oldNormalizedProviderName
|
social_login_config::SOCIAL_LOGIN_PREF . '/' . $oldNormalizedProviderName
|
||||||
);
|
);
|
||||||
$logger->addSuccess(
|
$logger->addSuccess(
|
||||||
"Updated name of social login provider $oldNormalizedProviderName → $actualNormalizedProviderName"
|
"Updated name of social login provider $oldNormalizedProviderName → $actualNormalizedProviderName"
|
||||||
|
@@ -17,7 +17,7 @@ class SocialLoginConfigManagerTest extends \Codeception\Test\Unit
|
|||||||
*/
|
*/
|
||||||
private $pref;
|
private $pref;
|
||||||
/**
|
/**
|
||||||
* @var SocialLoginConfigManager
|
* @var social_login_config
|
||||||
*/
|
*/
|
||||||
private $manager;
|
private $manager;
|
||||||
|
|
||||||
@@ -26,10 +26,10 @@ class SocialLoginConfigManagerTest extends \Codeception\Test\Unit
|
|||||||
*/
|
*/
|
||||||
public function _before()
|
public function _before()
|
||||||
{
|
{
|
||||||
include_once(e_PLUGIN . "social/SocialLoginConfigManager.php");
|
include_once(e_PLUGIN . "social/includes/social_login_config.php");
|
||||||
|
|
||||||
$this->pref = $this->make('e_pref');
|
$this->pref = $this->make('e_pref');
|
||||||
$this->pref->set(SocialLoginConfigManager::SOCIAL_LOGIN_PREF, [
|
$this->pref->set(social_login_config::SOCIAL_LOGIN_PREF, [
|
||||||
'Twitter-OAuth1' => [
|
'Twitter-OAuth1' => [
|
||||||
'enabled' => true,
|
'enabled' => true,
|
||||||
'keys' => [
|
'keys' => [
|
||||||
@@ -52,35 +52,35 @@ class SocialLoginConfigManagerTest extends \Codeception\Test\Unit
|
|||||||
'enabled' => true,
|
'enabled' => true,
|
||||||
],
|
],
|
||||||
]);
|
]);
|
||||||
$this->manager = new SocialLoginConfigManager($this->pref);
|
$this->manager = new social_login_config($this->pref);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testFlagSettingOff()
|
public function testFlagSettingOff()
|
||||||
{
|
{
|
||||||
$this->pref->set(SocialLoginConfigManager::SOCIAL_LOGIN_FLAGS, 0x0);
|
$this->pref->set(social_login_config::SOCIAL_LOGIN_FLAGS, 0x0);
|
||||||
$this->manager = new SocialLoginConfigManager($this->pref);
|
$this->manager = new social_login_config($this->pref);
|
||||||
$this->assertFalse($this->manager->isFlagActive(SocialLoginConfigManager::ENABLE_BIT_GLOBAL));
|
$this->assertFalse($this->manager->isFlagActive(social_login_config::ENABLE_BIT_GLOBAL));
|
||||||
$this->assertFalse($this->manager->isFlagActive(SocialLoginConfigManager::ENABLE_BIT_TEST_PAGE));
|
$this->assertFalse($this->manager->isFlagActive(social_login_config::ENABLE_BIT_TEST_PAGE));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testFlagSettingGlobalOffPreventsOthersOn()
|
public function testFlagSettingGlobalOffPreventsOthersOn()
|
||||||
{
|
{
|
||||||
$this->manager->setFlag(SocialLoginConfigManager::ENABLE_BIT_GLOBAL, 0);
|
$this->manager->setFlag(social_login_config::ENABLE_BIT_GLOBAL, 0);
|
||||||
$this->manager->setFlag(SocialLoginConfigManager::ENABLE_BIT_TEST_PAGE, 1);
|
$this->manager->setFlag(social_login_config::ENABLE_BIT_TEST_PAGE, 1);
|
||||||
$this->assertFalse($this->manager->isFlagActive(SocialLoginConfigManager::ENABLE_BIT_GLOBAL));
|
$this->assertFalse($this->manager->isFlagActive(social_login_config::ENABLE_BIT_GLOBAL));
|
||||||
$this->assertFalse($this->manager->isFlagActive(SocialLoginConfigManager::ENABLE_BIT_TEST_PAGE));
|
$this->assertFalse($this->manager->isFlagActive(social_login_config::ENABLE_BIT_TEST_PAGE));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testFlagSettingGlobalOnAllowsOtherToggles()
|
public function testFlagSettingGlobalOnAllowsOtherToggles()
|
||||||
{
|
{
|
||||||
$this->manager->setFlag(SocialLoginConfigManager::ENABLE_BIT_GLOBAL, 1);
|
$this->manager->setFlag(social_login_config::ENABLE_BIT_GLOBAL, 1);
|
||||||
$this->manager->setFlag(SocialLoginConfigManager::ENABLE_BIT_TEST_PAGE, 0);
|
$this->manager->setFlag(social_login_config::ENABLE_BIT_TEST_PAGE, 0);
|
||||||
$this->assertTrue($this->manager->isFlagActive(SocialLoginConfigManager::ENABLE_BIT_GLOBAL));
|
$this->assertTrue($this->manager->isFlagActive(social_login_config::ENABLE_BIT_GLOBAL));
|
||||||
$this->assertFalse($this->manager->isFlagActive(SocialLoginConfigManager::ENABLE_BIT_TEST_PAGE));
|
$this->assertFalse($this->manager->isFlagActive(social_login_config::ENABLE_BIT_TEST_PAGE));
|
||||||
|
|
||||||
$this->manager->setFlag(SocialLoginConfigManager::ENABLE_BIT_TEST_PAGE, 1);
|
$this->manager->setFlag(social_login_config::ENABLE_BIT_TEST_PAGE, 1);
|
||||||
$this->assertTrue($this->manager->isFlagActive(SocialLoginConfigManager::ENABLE_BIT_GLOBAL));
|
$this->assertTrue($this->manager->isFlagActive(social_login_config::ENABLE_BIT_GLOBAL));
|
||||||
$this->assertTrue($this->manager->isFlagActive(SocialLoginConfigManager::ENABLE_BIT_TEST_PAGE));
|
$this->assertTrue($this->manager->isFlagActive(social_login_config::ENABLE_BIT_TEST_PAGE));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -89,14 +89,14 @@ class SocialLoginConfigManagerTest extends \Codeception\Test\Unit
|
|||||||
*/
|
*/
|
||||||
public function testFlagGlobalOffTurnsAllOff()
|
public function testFlagGlobalOffTurnsAllOff()
|
||||||
{
|
{
|
||||||
$this->pref->set(SocialLoginConfigManager::SOCIAL_LOGIN_FLAGS, ~0);
|
$this->pref->set(social_login_config::SOCIAL_LOGIN_FLAGS, ~0);
|
||||||
$this->manager = new SocialLoginConfigManager($this->pref);
|
$this->manager = new social_login_config($this->pref);
|
||||||
$this->assertTrue($this->manager->isFlagActive(SocialLoginConfigManager::ENABLE_BIT_GLOBAL));
|
$this->assertTrue($this->manager->isFlagActive(social_login_config::ENABLE_BIT_GLOBAL));
|
||||||
$this->assertTrue($this->manager->isFlagActive(SocialLoginConfigManager::ENABLE_BIT_TEST_PAGE));
|
$this->assertTrue($this->manager->isFlagActive(social_login_config::ENABLE_BIT_TEST_PAGE));
|
||||||
|
|
||||||
$this->manager->setFlag(SocialLoginConfigManager::ENABLE_BIT_GLOBAL, 0);
|
$this->manager->setFlag(social_login_config::ENABLE_BIT_GLOBAL, 0);
|
||||||
$this->assertFalse($this->manager->isFlagActive(SocialLoginConfigManager::ENABLE_BIT_GLOBAL));
|
$this->assertFalse($this->manager->isFlagActive(social_login_config::ENABLE_BIT_GLOBAL));
|
||||||
$this->assertFalse($this->manager->isFlagActive(SocialLoginConfigManager::ENABLE_BIT_TEST_PAGE));
|
$this->assertFalse($this->manager->isFlagActive(social_login_config::ENABLE_BIT_TEST_PAGE));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testIsProviderEnabled()
|
public function testIsProviderEnabled()
|
||||||
@@ -166,8 +166,8 @@ class SocialLoginConfigManagerTest extends \Codeception\Test\Unit
|
|||||||
|
|
||||||
public function testSetProviderConfigOverwritesNonArray()
|
public function testSetProviderConfigOverwritesNonArray()
|
||||||
{
|
{
|
||||||
$this->pref->set(SocialLoginConfigManager::SOCIAL_LOGIN_PREF, 'bad string!');
|
$this->pref->set(social_login_config::SOCIAL_LOGIN_PREF, 'bad string!');
|
||||||
$manager = new SocialLoginConfigManager($this->pref);
|
$manager = new social_login_config($this->pref);
|
||||||
$expected = ['enabled' => true];
|
$expected = ['enabled' => true];
|
||||||
|
|
||||||
$manager->setProviderConfig('FirstProvider', $expected);
|
$manager->setProviderConfig('FirstProvider', $expected);
|
||||||
|
@@ -12,30 +12,30 @@ class social_setupTest extends \Codeception\Test\Unit
|
|||||||
{
|
{
|
||||||
public function _before()
|
public function _before()
|
||||||
{
|
{
|
||||||
include_once(e_PLUGIN . "social/SocialLoginConfigManager.php");
|
include_once(e_PLUGIN . "social/includes/social_login_config.php");
|
||||||
include_once(e_PLUGIN . "social/social_setup.php");
|
include_once(e_PLUGIN . "social/social_setup.php");
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testUpgradeProviderNameNormalization()
|
public function testUpgradeProviderNameNormalization()
|
||||||
{
|
{
|
||||||
e107::getConfig()->set(SocialLoginConfigManager::SOCIAL_LOGIN_PREF, SOCIAL_LOGIN_LEGACY_DATA);
|
e107::getConfig()->set(social_login_config::SOCIAL_LOGIN_PREF, SOCIAL_LOGIN_LEGACY_DATA);
|
||||||
$social_setup = new social_setup();
|
$social_setup = new social_setup();
|
||||||
$this->assertTrue($social_setup->upgrade_required());
|
$this->assertTrue($social_setup->upgrade_required());
|
||||||
$this->assertIsArray(e107::getConfig()->getPref(SocialLoginConfigManager::SOCIAL_LOGIN_PREF . "/AOL"));
|
$this->assertIsArray(e107::getConfig()->getPref(social_login_config::SOCIAL_LOGIN_PREF . "/AOL"));
|
||||||
$this->assertIsNotArray(e107::getConfig()->getPref(SocialLoginConfigManager::SOCIAL_LOGIN_PREF . "/AOL-OpenID"));
|
$this->assertIsNotArray(e107::getConfig()->getPref(social_login_config::SOCIAL_LOGIN_PREF . "/AOL-OpenID"));
|
||||||
$this->assertIsArray(e107::getConfig()->getPref(SocialLoginConfigManager::SOCIAL_LOGIN_PREF . "/Github"));
|
$this->assertIsArray(e107::getConfig()->getPref(social_login_config::SOCIAL_LOGIN_PREF . "/Github"));
|
||||||
$this->assertIsNotArray(e107::getConfig()->getPref(SocialLoginConfigManager::SOCIAL_LOGIN_PREF . "/GitHub-OAuth2"));
|
$this->assertIsNotArray(e107::getConfig()->getPref(social_login_config::SOCIAL_LOGIN_PREF . "/GitHub-OAuth2"));
|
||||||
$this->assertIsArray(e107::getConfig()->getPref(SocialLoginConfigManager::SOCIAL_LOGIN_PREF . "/Live"));
|
$this->assertIsArray(e107::getConfig()->getPref(social_login_config::SOCIAL_LOGIN_PREF . "/Live"));
|
||||||
$this->assertIsNotArray(e107::getConfig()->getPref(SocialLoginConfigManager::SOCIAL_LOGIN_PREF . "/WindowsLive"));
|
$this->assertIsNotArray(e107::getConfig()->getPref(social_login_config::SOCIAL_LOGIN_PREF . "/WindowsLive"));
|
||||||
|
|
||||||
$social_setup->upgrade_pre();
|
$social_setup->upgrade_pre();
|
||||||
$this->assertFalse($social_setup->upgrade_required());
|
$this->assertFalse($social_setup->upgrade_required());
|
||||||
$this->assertIsNotArray(e107::getConfig()->getPref(SocialLoginConfigManager::SOCIAL_LOGIN_PREF . "/AOL"));
|
$this->assertIsNotArray(e107::getConfig()->getPref(social_login_config::SOCIAL_LOGIN_PREF . "/AOL"));
|
||||||
$this->assertIsArray(e107::getConfig()->getPref(SocialLoginConfigManager::SOCIAL_LOGIN_PREF . "/AOL-OpenID"));
|
$this->assertIsArray(e107::getConfig()->getPref(social_login_config::SOCIAL_LOGIN_PREF . "/AOL-OpenID"));
|
||||||
$this->assertIsNotArray(e107::getConfig()->getPref(SocialLoginConfigManager::SOCIAL_LOGIN_PREF . "/Github"));
|
$this->assertIsNotArray(e107::getConfig()->getPref(social_login_config::SOCIAL_LOGIN_PREF . "/Github"));
|
||||||
$this->assertIsArray(e107::getConfig()->getPref(SocialLoginConfigManager::SOCIAL_LOGIN_PREF . "/GitHub-OAuth2"));
|
$this->assertIsArray(e107::getConfig()->getPref(social_login_config::SOCIAL_LOGIN_PREF . "/GitHub-OAuth2"));
|
||||||
$this->assertIsNotArray(e107::getConfig()->getPref(SocialLoginConfigManager::SOCIAL_LOGIN_PREF . "/Live"));
|
$this->assertIsNotArray(e107::getConfig()->getPref(social_login_config::SOCIAL_LOGIN_PREF . "/Live"));
|
||||||
$this->assertIsArray(e107::getConfig()->getPref(SocialLoginConfigManager::SOCIAL_LOGIN_PREF . "/WindowsLive-OAuth2"));
|
$this->assertIsArray(e107::getConfig()->getPref(social_login_config::SOCIAL_LOGIN_PREF . "/WindowsLive-OAuth2"));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testUpgradeFixRenamedProvidersXup()
|
public function testUpgradeFixRenamedProvidersXup()
|
||||||
|
Reference in New Issue
Block a user