__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ 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; defined('_JEXEC') or die; use Joomla\CMS\Component\ComponentHelper as JComponentHelper; use Joomla\CMS\Plugin\PluginHelper as JPluginHelper; use RegularLabs\Library\ObjectHelper as RL_Object; class Parameters { /** * Get a usable parameter object for the component */ public static function getComponent(string $name, object|array|string|null $params = null, bool $use_cache = \true): object { $name = 'com_' . \RegularLabs\Library\RegEx::replace('^com_', '', $name); $cache = new \RegularLabs\Library\Cache(); if ($use_cache && $cache->exists()) { return $cache->get(); } if (empty($params) && JComponentHelper::isInstalled($name)) { $params = JComponentHelper::getParams($name); } return $cache->set(self::getObjectFromRegistry($params, JPATH_ADMINISTRATOR . '/components/' . $name . '/config.xml')); } /** * Get a usable parameter object for the module */ public static function getModule(string $name, bool $admin = \true, object|array|string|null $params = null, bool $use_cache = \true): object { $name = 'mod_' . \RegularLabs\Library\RegEx::replace('^mod_', '', $name); $cache = new \RegularLabs\Library\Cache(); if ($use_cache && $cache->exists()) { return $cache->get(); } if (empty($params)) { $params = null; } return $cache->set(self::getObjectFromRegistry($params, ($admin ? JPATH_ADMINISTRATOR : JPATH_SITE) . '/modules/' . $name . '/' . $name . '.xml')); } /** * Get a usable parameter object based on the Joomla Registry object * The object will have all the available parameters with their value (default value if none is set) */ public static function getObjectFromRegistry(object|array|string|null $params, string $path = '', string $default = '', bool $use_cache = \true): object { $cache = new \RegularLabs\Library\Cache(); if ($use_cache && $cache->exists()) { return $cache->get(); } $xml = self::loadXML($path, $default); if (empty($params)) { return $cache->set((object) $xml); } if (is_array($params)) { $params = (object) $params; } if (is_string($params)) { $params = json_decode($params); } if (is_object($params) && method_exists($params, 'toObject')) { $params = $params->toObject(); } if (is_null($xml)) { $xml = (object) []; } if (!$params) { return $cache->set((object) $xml); } if (empty($xml)) { return $cache->set($params); } foreach ($xml as $key => $val) { if (isset($params->{$key}) && $params->{$key} != '') { continue; } $params->{$key} = $val; } return $cache->set($params); } /** * Get a usable parameter object for the plugin */ public static function getPlugin(string $name, string $type = 'system', object|array|string|null $params = null, bool $use_cache = \true): object { $cache = new \RegularLabs\Library\Cache(); if ($use_cache && $cache->exists()) { return $cache->get(); } if (empty($params)) { $plugin = JPluginHelper::getPlugin($type, $name); $params = is_object($plugin) && isset($plugin->params) ? $plugin->params : null; } return $cache->set(self::getObjectFromRegistry($params, JPATH_PLUGINS . '/' . $type . '/' . $name . '/' . $name . '.xml')); } /** * Returns an array based on the data in a given xml file */ public static function loadXML(string $path, ?string $default = '', bool $use_cache = \true, bool $full_info = \false): array { $cache = new \RegularLabs\Library\Cache(); if ($use_cache && $cache->exists()) { return $cache->get(); } if (!$path || !file_exists($path)) { return $cache->set([]); } $file = file_get_contents($path); if (!$file) { return $cache->set([]); } $xml = []; $xml_parser = xml_parser_create(); xml_parse_into_struct($xml_parser, $file, $fields); xml_parser_free($xml_parser); $default = $default ? strtoupper($default) : 'DEFAULT'; foreach ($fields as $field) { if ($field['tag'] != 'FIELD' || !isset($field['attributes']) || !isset($field['attributes']['NAME']) || $field['attributes']['NAME'] == '' || $field['attributes']['NAME'][0] == '@' || !isset($field['attributes']['TYPE']) || $field['attributes']['TYPE'] == 'spacer') { continue; } if ($full_info) { $full_object = $xml[$field['attributes']['NAME']] = RL_Object::changeKeyCase($field['attributes'], 'lower'); $full_object->multiple ??= 'false'; } if (isset($field['attributes'][$default])) { $field['attributes']['DEFAULT'] = $field['attributes'][$default]; } if (!isset($field['attributes']['DEFAULT'])) { $field['attributes']['DEFAULT'] = ''; } if ($field['attributes']['TYPE'] == 'textarea') { $field['attributes']['DEFAULT'] = str_replace('<br>', "\n", $field['attributes']['DEFAULT']); } if ($full_info) { $full_object->value = $field['attributes']['DEFAULT']; continue; } $xml[$field['attributes']['NAME']] = $field['attributes']['DEFAULT']; } return $cache->set($xml); } public static function overrideFromObject(object $params, ?object $object = null): object { if (empty($object)) { return $params; } foreach ($params as $key => $value) { if (!isset($object->{$key})) { continue; } $params->{$key} = $object->{$key}; } return $params; } }
| 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 |
|