* @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Joomla\Module\Login\Administrator\Helper; use Joomla\CMS\Factory; use Joomla\CMS\HTML\HTMLHelper; use Joomla\CMS\Language\LanguageHelper; use Joomla\CMS\Language\Text; use Joomla\CMS\Uri\Uri; // phpcs:disable PSR1.Files.SideEffects \defined('_JEXEC') or die; // phpcs:enable PSR1.Files.SideEffects /** * Helper for mod_login * * @since 1.6 */ abstract class LoginHelper { /** * Get an HTML select list of the available languages. * * @return string */ public static function getLanguageList() { $languages = LanguageHelper::createLanguageList(null, JPATH_ADMINISTRATOR, false, true); if (\count($languages) <= 1) { return ''; } usort( $languages, function ($a, $b) { return strcmp($a['value'], $b['value']); } ); // Fix wrongly set parentheses in RTL languages if (Factory::getApplication()->getLanguage()->isRtl()) { foreach ($languages as &$language) { $language['text'] = $language['text'] . '‎'; } } array_unshift($languages, HTMLHelper::_('select.option', '', Text::_('JDEFAULTLANGUAGE'))); return HTMLHelper::_('select.genericlist', $languages, 'lang', 'class="form-select"', 'value', 'text', null); } /** * Get the redirect URI after login. * * @return string */ public static function getReturnUri() { $uri = Uri::getInstance(); $return = 'index.php' . $uri->toString(array('query')); if ($return != 'index.php?option=com_login') { return base64_encode($return); } else { return base64_encode('index.php'); } } }