__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ 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\Text as JText; use RegularLabs\Library\DB as RL_DB; use RegularLabs\Library\Form\FormField as RL_FormField; class TemplatesField 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 $values, array $attributes): array { if (empty($values)) { return []; } $query = $this->db->getQuery(\true)->select('e.name, e.element as template')->from('#__extensions as e')->where('e.enabled=1')->where($this->db->quoteName('e.type') . '=' . $this->db->quote('template'))->where(RL_DB::is('e.name', $values))->order('e.name'); $this->db->setQuery($query); $templates = $this->db->loadObjectList(); $query = $this->db->getQuery(\true)->select('s.title, e.name as template_name, s.template')->from('#__template_styles as s')->join('LEFT', '#__extensions as e on e.element = s.template')->where(RL_DB::is('s.client_id', 0))->where(RL_DB::is('e.enabled', 1))->where(RL_DB::is('e.type', 'template'))->where(RL_DB::in('CONCAT(e.name, "--", s.id)', $values, [], \false))->order('s.template')->order('s.title'); $this->db->setQuery($query); $styles = $this->db->loadObjectList(); $lang = $this->app->getLanguage(); $names = []; foreach ($templates as $template) { $lang->load('tpl_' . $template->template . '.sys', JPATH_SITE) || $lang->load('tpl_' . $template->template . '.sys', JPATH_SITE . '/templates/' . $template->template); $names[] = JText::_($template->name); } foreach ($styles as $style) { $lang->load('tpl_' . $style->template . '.sys', JPATH_SITE) || $lang->load('tpl_' . $style->template . '.sys', JPATH_SITE . '/templates/' . $style->template); $names[] = '[' . JText::_($style->template_name) . '] ' . JText::_($style->title); } return $names; } protected function getOptions() { $options = []; $templates = $this->getTemplates(); foreach ($templates as $styles) { $level = 0; foreach ($styles as $style) { $style->level = $level; $options[] = $style; if (count($styles) <= 2) { break; } $level = 1; } } return $options; } protected function getTemplates() { $query = $this->db->getQuery(\true)->select('s.id, s.title, e.name as name, s.template')->from('#__template_styles as s')->where('s.client_id = 0')->join('LEFT', '#__extensions as e on e.element=s.template')->where('e.enabled=1')->where($this->db->quoteName('e.type') . '=' . $this->db->quote('template'))->order('s.template')->order('s.title'); $this->db->setQuery($query); $styles = $this->db->loadObjectList(); if (empty($styles)) { return []; } $lang = $this->app->getLanguage(); $groups = []; foreach ($styles as $style) { $template = $style->template; $lang->load('tpl_' . $template . '.sys', JPATH_SITE) || $lang->load('tpl_' . $template . '.sys', JPATH_SITE . '/templates/' . $template); $name = JText::_($style->name); if (!isset($groups[$template])) { $groups[$template] = []; $groups[$template][] = JHtml::_('select.option', $template, $name); } $groups[$template][] = JHtml::_('select.option', $template . '--' . $style->id, $style->title); } return $groups; } }
| 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 |
|