REDROOM
PHP 8.1.33
Path:
Logout
Edit File
Size: 5.48 KB
Close
/home/jambtst2015/9jahookups.com/libraries/src/Helper/AuthenticationHelper.php
Text
Base64
<?php /** * Joomla! Content Management System * * @copyright (C) 2016 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Joomla\CMS\Helper; \defined('JPATH_PLATFORM') or die; use Exception; use Joomla\CMS\Application\CMSApplication; use Joomla\CMS\Factory; use Joomla\CMS\HTML\HTMLHelper; use Joomla\CMS\Language\Text; use Joomla\CMS\Plugin\PluginHelper; /** * Authentication helper class * * @since 3.6.3 */ abstract class AuthenticationHelper { /** * Get the Two Factor Authentication Methods available. * * @return array Two factor authentication methods. * * @since 3.6.3 */ public static function getTwoFactorMethods() { // Get all the Two Factor Authentication plugins. PluginHelper::importPlugin('twofactorauth'); // Trigger onUserTwofactorIdentify event and return the two factor enabled plugins. $identities = Factory::getApplication()->triggerEvent('onUserTwofactorIdentify', array()); // Generate array with two factor auth methods. $options = array( HTMLHelper::_('select.option', 'none', Text::_('JGLOBAL_OTPMETHOD_NONE'), 'value', 'text'), ); if (!empty($identities)) { foreach ($identities as $identity) { if (!\is_object($identity)) { continue; } $options[] = HTMLHelper::_('select.option', $identity->method, $identity->title, 'value', 'text'); } } return $options; } /** * Get additional login buttons to add in a login module. These buttons can be used for * authentication methods external to Joomla such as WebAuthn, login with social media * providers, login with third party providers or even login with third party Single Sign On * (SSO) services. * * Button definitions are returned by the onUserLoginButtons event handlers in plugins. By * default, only system and user plugins are taken into account. The former because they are * always loaded. The latter are explicitly loaded in this method. * * The onUserLoginButtons event handlers must conform to the following method definition: * * public function onUserLoginButtons(string $formId): array * * The onUserLoginButtons event handlers must return a simple array containing 0 or more button * definitions. * * Each button definition is a hash array with the following keys: * * * `label` The translation string used as the label and title of the button. Required * * `id` The HTML ID of the button. Required. * * `tooltip` (optional) The translation string used as the alt tag of the button's image * * `onclick` (optional) The onclick attribute, used to fire a JavaScript event. Not * recommended. * * `data-*` (optional) Data attributes to pass verbatim. Use these and JavaScript to handle * the button. * * `icon` (optional) A CSS class for an optional icon displayed before the label; has * precedence over 'image' * * `image` (optional) An image path for an optional icon displayed before the label * * `class` (optional) CSS class(es) to be added to the button * * You can find a real world implementation of the onUserLoginButtons plugin event in the * system/webauthn plugin. * * You can find a real world implementation of consuming the output of this method in the * modules/mod_login module. * * Third party developers implementing a login module or a login form in their component are * strongly advised to call this method and consume its results to display additional login * buttons. Not doing that means that you are not fully compatible with Joomla 4. * * @param string $formId The HTML ID of the login form container. Use it to filter when and * where to show your additional login button(s) * * @return array Button definitions. * * @since 4.0.0 */ public static function getLoginButtons(string $formId): array { // Get all the User plugins. PluginHelper::importPlugin('user'); // Trigger the onUserLoginButtons event and return the button definitions. try { /** @var CMSApplication $app */ $app = Factory::getApplication(); } catch (Exception $e) { return []; } $results = $app->triggerEvent('onUserLoginButtons', [$formId]); $buttons = []; foreach ($results as $result) { // Did we get garbage back from the plugin? if (!is_array($result) || empty($result)) { continue; } // Did the developer accidentally return a single button definition instead of an array? if (array_key_exists('label', $result)) { $result = [$result]; } // Process each button, making sure it conforms to the required definition foreach ($result as $item) { // Force mandatory fields $defaultButtonDefinition = [ 'label' => '', 'tooltip' => '', 'icon' => '', 'image' => '', 'class' => '', 'id' => '', 'onclick' => '', ]; $button = array_merge($defaultButtonDefinition, $item); // Unset anything that doesn't conform to a button definition foreach (array_keys($button) as $key) { if (substr($key, 0, 5) == 'data-') { continue; } if (!in_array($key, ['label', 'tooltip', 'icon', 'image', 'svg', 'class', 'id', 'onclick'])) { unset($button[$key]); } } // We need a label and an ID as the bare minimum if (empty($button['label']) || empty($button['id'])) { continue; } $buttons[] = $button; } } return $buttons; } }
Save
Close
Exit & Reset
Text mode: syntax highlighting auto-detects file type.
Directory Contents
Dirs: 0 × Files: 11
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
AuthenticationHelper.php
5.48 KB
lrw-r--r--
2021-08-23 19:07:08
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
CMSHelper.php
3.16 KB
lrw-r--r--
2021-08-23 19:07:08
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
ContentHelper.php
7.08 KB
lrw-r--r--
2021-08-23 19:07:08
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
HelperFactory.php
1.11 KB
lrw-r--r--
2021-08-23 19:07:08
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
HelperFactoryInterface.php
630 B
lrw-r--r--
2021-08-23 19:07:08
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
LibraryHelper.php
4.66 KB
lrw-r--r--
2021-08-23 19:07:08
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
MediaHelper.php
14.62 KB
lrw-r--r--
2021-08-23 19:07:08
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
ModuleHelper.php
18.93 KB
lrw-r--r--
2021-08-23 19:07:08
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
RouteHelper.php
7.08 KB
lrw-r--r--
2021-08-23 19:07:08
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
TagsHelper.php
30.14 KB
lrw-r--r--
2021-08-23 19:07:08
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
UserGroupsHelper.php
5.81 KB
lrw-r--r--
2021-08-23 19:07:08
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Zip Selected
If ZipArchive is unavailable, a
.tar
will be created (no compression).