Server : LiteSpeed System : Linux server 3.10.0-1160.90.1.el7.x86_64 #1 SMP Thu May 4 15:21:22 UTC 2023 x86_64 User : alsaif ( 1057) PHP Version : 7.4.33 Disable Function : show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname Directory : /home/alsaif/domains/alsaif.group/public_html/plugins/system/helix3/fields/ |
<?php
/**
* @package Helix3 Framework
* @author JoomShaper https://www.joomshaper.com
* @copyright (c) 2010 - 2021 JoomShaper
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or Later
*/
//no direct accees
defined ('_JEXEC') or die ('resticted aceess');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Form\FormField;
use Joomla\CMS\Filesystem\Folder;
class JFormFieldLayoutlist extends FormField
{
protected $type = 'Layoutlist';
public function getInput()
{
$template = self::getTemplate();
$layoutPath = JPATH_SITE.'/templates/'.$template.'/layout/';
$laoutlist = Folder::files($layoutPath, '.json');
$htmls = '<div class="layoutlist"><select id="'.$this->id.'" class="form-select" name="'.$this->name.'">';
if ($laoutlist)
{
foreach ($laoutlist as $name)
{
$htmls .= '<option value="'.$name.'">'.str_replace('.json','',$name).'</option>';
}
}
$htmls .= '</select></div>';
$htmls .= '<div class="layout-button-wrap"><a href="#" class="btn btn-success layout-save-action" data-action="save">'. Text::_('HELIX_SAVE_COPY') .'</a>';
$htmls .= '<a href="#" class="btn btn-danger layout-del-action" data-action="remove">'. Text::_('HELIX_DELETE') .'</a></div>';
return $htmls;
}
public function getLabel()
{
return false;
}
//Get template name
private static function getTemplate()
{
$id = (int) Factory::getApplication()->input->get('id', 0);
$db = Factory::getDbo();
$query = $db->getQuery(true);
$query->select($db->quoteName(array('template')));
$query->from($db->quoteName('#__template_styles'));
$query->where($db->quoteName('id') . ' = '. $db->quote($id));
$db->setQuery($query);
return $db->loadResult();
}
}