__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ 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\Form\Field; defined('_JEXEC') or die; use Joomla\CMS\HTML\HTMLHelper as JHtml; use Joomla\CMS\Language\Multilanguage as JMultilanguage; use Joomla\CMS\Language\Text as JText; use Joomla\Component\Menus\Administrator\Helper\MenusHelper as JMenusHelper; use RegularLabs\Library\Form\FormField as RL_FormField; use RegularLabs\Library\Language as RL_Language; use RegularLabs\Library\RegEx as RL_RegEx; class MenuItemsField extends RL_FormField { public bool $collapse_children = \true; public bool $is_select_list = \true; public bool $use_ajax = \true; public bool $use_tree_select = \true; public function getNamesByIds(array $ids): array { if (empty($ids)) { return []; } RL_Language::load('com_modules', JPATH_ADMINISTRATOR); $menuTypes = JMenusHelper::getMenuLinks(); $items = array_fill_keys($ids, ''); foreach ($menuTypes as $type) { if (isset($items['type.' . $type->menutype])) { $items['type.' . $type->menutype] = $type->title . ' <span class="small">(' . JText::_('JALL') . ')</span>'; } foreach ($type->links as $link) { if (!isset($items[$link->value])) { continue; } $text = []; $text[] = $link->text; $items[$link->value] = implode(' ', $text); } } return $items; } protected function getOptions() { RL_Language::load('com_modules', JPATH_ADMINISTRATOR); $menuTypes = JMenusHelper::getMenuLinks(); $options = []; foreach ($menuTypes as &$type) { $option = (object) ['value' => 'type.' . $type->menutype, 'text' => $type->title, 'level' => 0, 'class' => 'hidechildren', 'labelclass' => 'nav-header']; $options[] = $option; foreach ($type->links as $link) { $check1 = RL_RegEx::replace('[^a-z0-9]', '', strtolower($link->text)); $check2 = RL_RegEx::replace('[^a-z0-9]', '', $link->alias); $text = []; $text[] = $link->text; if ($check1 !== $check2) { $text[] = '<small class="text-muted">[' . $link->alias . ']</small>'; } if (in_array($link->type, ['separator', 'heading', 'alias', 'url'], \true)) { $text[] = '<span class="badge bg-secondary">' . JText::_('COM_MODULES_MENU_ITEM_' . strtoupper($link->type)) . '</span>'; // Don't disable, as you need to be able to select the 'Also on Child Items' option // $link->disable = 1; } if (JMultilanguage::isEnabled() && $link->language != '' && $link->language != '*') { $text[] = $link->language_image ? JHtml::_('image', 'mod_languages/' . $link->language_image . '.gif', $link->language_title, ['title' => $link->language_title], \true) : '<span class="badge bg-secondary" title="' . $link->language_title . '">' . $link->language_sef . '</span>'; } $link->text = implode(' ', $text); $options[] = $link; } } return $options; } }
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| AccessLevelsField.php | File | 1.29 KB | 0664 |
|
| AgentsField.php | File | 3.43 KB | 0664 |
|
| AjaxField.php | File | 2.66 KB | 0664 |
|
| BlockField.php | File | 1.75 KB | 0664 |
|
| CheckboxesField.php | File | 4.72 KB | 0664 |
|
| ComponentsField.php | File | 4.86 KB | 0664 |
|
| ContentArticlesField.php | File | 2.6 KB | 0664 |
|
| ContentCategoriesField.php | File | 2.03 KB | 0664 |
|
| CustomOptionsField.php | File | 1.27 KB | 0664 |
|
| DependencyField.php | File | 824 B | 0664 |
|
| DependencyFieldHelper.php | File | 1.17 KB | 0664 |
|
| DownloadKeyField.php | File | 1010 B | 0664 |
|
| FieldField.php | File | 2.57 KB | 0664 |
|
| GeoField.php | File | 64.84 KB | 0664 |
|
| GeoInformationField.php | File | 1.53 KB | 0664 |
|
| HeaderField.php | File | 4.03 KB | 0664 |
|
| HeaderLibraryField.php | File | 1.75 KB | 0664 |
|
| IconToggleField.php | File | 1019 B | 0664 |
|
| IconsField.php | File | 3.7 KB | 0664 |
|
| ImageField.php | File | 1.25 KB | 0664 |
|
| IsInstalledField.php | File | 971 B | 0664 |
|
| JCompatibilityField.php | File | 1.27 KB | 0664 |
|
| LanguagesField.php | File | 1.63 KB | 0664 |
|
| LicenseField.php | File | 829 B | 0664 |
|
| LoadLanguageField.php | File | 1.04 KB | 0664 |
|
| LoadMediaField.php | File | 1.01 KB | 0664 |
|
| MenuItemsField.php | File | 3.54 KB | 0664 |
|
| MiniColorField.php | File | 1.66 KB | 0664 |
|
| NoteField.php | File | 1.54 KB | 0664 |
|
| OnlyProField.php | File | 2.22 KB | 0664 |
|
| RangeField.php | File | 1.58 KB | 0664 |
|
| ShowOnField.php | File | 1.41 KB | 0664 |
|
| SimpleCategoryField.php | File | 2.55 KB | 0664 |
|
| SubformField.php | File | 3.75 KB | 0664 |
|
| TagsField.php | File | 1.55 KB | 0664 |
|
| TemplatesField.php | File | 4.05 KB | 0664 |
|
| TextAreaField.php | File | 1.13 KB | 0664 |
|
| UserGroupsField.php | File | 1.5 KB | 0664 |
|
| UsersField.php | File | 2.69 KB | 0664 |
|
| VersionField.php | File | 1.63 KB | 0664 |
|