diff --git a/e107_handlers/user_handler.php b/e107_handlers/user_handler.php
index 443bc0186..c3400265b 100644
--- a/e107_handlers/user_handler.php
+++ b/e107_handlers/user_handler.php
@@ -1260,6 +1260,21 @@ class e_user_provider
return $type;
}
+ /**
+ * Get standard and supplementary fields of the specified provider
+ * @param $providerName string Name of the supported social login provider
+ * @return array Multidimensional associative array where the keys are the known field names and the values are a
+ * description of what their key is for. Keys can be nested in parent keys. Parent keys will not
+ * have a description of the key. All fields take a string value. Return will be empty if the
+ * specified provider does not have any known fields.
+ */
+ public static function getFieldsOf($providerName)
+ {
+ $standardFields = self::getStandardFieldsOf($providerName);
+ $supplementaryFields = self::getSupplementalFieldsOf($providerName);
+ return self::array_merge_recursive_distinct($standardFields, $supplementaryFields);
+ }
+
/**
* Get the standard/common/parent fields of the specified provider
* @param $providerName string Name of the supported social login provider
@@ -1362,7 +1377,7 @@ class e_user_provider
{
if (!isset($adapterTokens[$index][1]))
{
- if (in_array($adapterTokens[$index], [';', '.', ','])) return $carry;
+ if (in_array($adapterTokens[$index], [';', '.', ',', '?'])) return $carry;
++$index;
return self::adapterTokenParseConfig($adapterTokens, $index, $carry);
}
diff --git a/e107_plugins/social/SocialLoginConfigManager.php b/e107_plugins/social/SocialLoginConfigManager.php
index 2f5b76ab3..0b3ab3b75 100644
--- a/e107_plugins/social/SocialLoginConfigManager.php
+++ b/e107_plugins/social/SocialLoginConfigManager.php
@@ -203,6 +203,19 @@ class SocialLoginConfigManager
return e_user_provider::getTypeOf($providerName);
}
+ /**
+ * Get standard and supplementary fields of the specified provider
+ * @param $providerName string Name of the supported social login provider
+ * @return array Multidimensional associative array where the keys are the known field names and the values are a
+ * description of what their key is for. Keys can be nested in parent keys. Parent keys will not
+ * have a description of the key. All fields take a string value. Return will be empty if the
+ * specified provider does not have any known fields.
+ */
+ public function getFieldsOf($providerName)
+ {
+ return e_user_provider::getFieldsOf($providerName);
+ }
+
/**
* Get the providers that are currently configured in the core preferences
* @return array String list of configured provider names
diff --git a/e107_plugins/social/admin_config.php b/e107_plugins/social/admin_config.php
index fb121bacc..21ff2e4cf 100644
--- a/e107_plugins/social/admin_config.php
+++ b/e107_plugins/social/admin_config.php
@@ -370,17 +370,13 @@ class social_ui extends e_admin_ui
-
-
" . LAN_SOCIAL_ADMIN_04 . "
" . LAN_SOCIAL_ADMIN_AUTH_TYPE . "
-
" . LAN_SOCIAL_ADMIN_05 . "
-
" . LAN_SOCIAL_ADMIN_06 . "
-
" . LAN_SOCIAL_ADMIN_38 . "
+
" . LAN_SOCIAL_ADMIN_COLUMN_CONFIGURATION . "
" . LAN_SOCIAL_ADMIN_03 . "
@@ -422,41 +418,27 @@ class social_ui extends e_admin_ui