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\Form\FormField;
class JFormFieldLayout extends FormField
{
protected $type = 'Layout';
public function getInput()
{
$helix_layout_path = JPATH_SITE.'/plugins/system/helix3/layout/';
$json = json_decode($this->value);
if (!empty($json))
{
$value = $json;
}
else
{
$layout_file = file_get_contents(JPATH_SITE . '/templates/' . $this->getTemplate() . '/layout/default.json');
$value = json_decode($layout_file);
}
$htmls = $this->generateLayout($helix_layout_path, $value);
$htmls .= '<input type="hidden" id="'.$this->id.'" name="'.$this->name.'">';
return $htmls;
}
private function generateLayout($path,$layout_data = null)
{
ob_start();
include_once( $path.'generated.php' );
$items = ob_get_contents();
ob_end_clean();
return $items;
}
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();
}
}