__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
<?php /** * @package Regular Labs Library * @version 25.6.10828 * * @author Peter van Westen <[email protected]> * @link https://regularlabs.com * @copyright Copyright © 2025 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ namespace RegularLabs\Library; use Joomla\CMS\Factory as JFactory; use Joomla\CMS\User\User as JUser; use Joomla\CMS\User\UserFactoryInterface; defined('_JEXEC') or die; class User { public static function get(?int $id = null): Juser { $cache = new \RegularLabs\Library\Cache(); if ($cache->exists()) { return $cache->get(); } $user = $id ? JFactory::getContainer()->get(UserFactoryInterface::class)->loadUserById($id) : JFactory::getApplication()->getIdentity(); if (!$user) { $user = JFactory::getContainer()->get(UserFactoryInterface::class)->loadUserById(0); } return $cache->set($user); } public static function getByEmail(string $email): ?JUser { return self::getByKey('email', $email); } public static function getById(?int $id = null): ?JUser { if (!$id) { return null; } $user = static::get($id); if ($user->guest) { return null; } return $user; } public static function getByKey(string $key, string $value): ?JUser { $id = self::getIdByKey($key, $value); if (!$id) { return null; } return self::getById($id); } public static function getByUsername(string $username): ?JUser { return self::getByKey('username', $username); } public static function getEmail(?int $id = null): string { return (string) self::getValue('email', $id, ''); } public static function getId(?int $id = null): int { return (int) self::getValue('id', $id, 0); } public static function getName(?int $id = null): string { return (string) self::getValue('name', $id, ''); } public static function getUsername(?int $id = null): string { return (string) self::getValue('username', $id, ''); } public static function getValue(string $key, ?int $id = null, $default = null): mixed { $user = self::get($id); return $user->{$key} ?? $default; } public static function hasId(int $id): bool { return self::getId() === $id; } public static function isAdministrator(?int $id = null): bool { return self::get($id)->authorise('core.admin') ?? \false; } public static function isCurrent(int $id): bool { return self::hasId($id); } public static function isGuest(?int $id = null): bool { return (bool) self::getValue('guest', $id, \true); } private static function getIdByKey(string $key, string $value): int { $cache = new \RegularLabs\Library\Cache(); if ($cache->exists()) { return $cache->get(); } $db = JFactory::getDbo(); $query = $db->getQuery(\true)->select($db->quoteName('id'))->from($db->quoteName('#__users'))->where($db->quoteName($key) . ' = :value')->bind(':value', $value)->setLimit(1); $db->setQuery($query); $id = (int) $db->loadResult(); return $cache->set($id); } }
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| Form | Folder | 0775 |
|
|
| ActionLogPlugin.php | File | 7.65 KB | 0664 |
|
| Alias.php | File | 3.38 KB | 0664 |
|
| ArrayHelper.php | File | 13.01 KB | 0664 |
|
| Article.php | File | 10.96 KB | 0664 |
|
| Cache.php | File | 4.74 KB | 0664 |
|
| Color.php | File | 1.9 KB | 0664 |
|
| DB.php | File | 16.24 KB | 0664 |
|
| Date.php | File | 5.18 KB | 0664 |
|
| Document.php | File | 13.34 KB | 0664 |
|
| DownloadKey.php | File | 3.93 KB | 0664 |
|
| EditorButtonPlugin.php | File | 5.61 KB | 0664 |
|
| EditorButtonPopup.php | File | 5.76 KB | 0664 |
|
| Extension.php | File | 14.38 KB | 0664 |
|
| FieldHelper.php | File | 1.92 KB | 0664 |
|
| FieldsPlugin.php | File | 979 B | 0664 |
|
| File.php | File | 12.96 KB | 0664 |
|
| Html.php | File | 24.53 KB | 0664 |
|
| HtmlTag.php | File | 4.53 KB | 0664 |
|
| Http.php | File | 4.33 KB | 0664 |
|
| Image.php | File | 28.24 KB | 0664 |
|
| Input.php | File | 5.28 KB | 0664 |
|
| Language.php | File | 999 B | 0664 |
|
| Layout.php | File | 1.08 KB | 0664 |
|
| License.php | File | 1.72 KB | 0664 |
|
| MobileDetect.php | File | 763 B | 0664 |
|
| ObjectHelper.php | File | 2.57 KB | 0664 |
|
| Parameters.php | File | 6.37 KB | 0664 |
|
| Php.php | File | 6.33 KB | 0664 |
|
| PluginTag.php | File | 15.52 KB | 0664 |
|
| Protect.php | File | 26.27 KB | 0664 |
|
| RegEx.php | File | 6.33 KB | 0664 |
|
| ShowOn.php | File | 1.32 KB | 0664 |
|
| SimpleCategory.php | File | 1.73 KB | 0664 |
|
| StringHelper.php | File | 22.05 KB | 0664 |
|
| StringReplacer.php | File | 13.25 KB | 0664 |
|
| SystemPlugin.php | File | 15.73 KB | 0664 |
|
| Text.php | File | 20.17 KB | 0664 |
|
| Title.php | File | 2.86 KB | 0664 |
|
| Uri.php | File | 5.76 KB | 0664 |
|
| User.php | File | 3.35 KB | 0664 |
|
| Variables.php | File | 11.06 KB | 0664 |
|
| Version.php | File | 7.88 KB | 0664 |
|
| Xml.php | File | 1.47 KB | 0664 |
|