Spade

Mini Shell

Directory:~$ /home/lmsyaran/www/administrator/components/com_helpdeskpro/View/Field/
Upload File

[Home] [System Details] [Kill Me]
Current File:~$ /home/lmsyaran/www/administrator/components/com_helpdeskpro/View/Field/Html.php

<?php
/**
 * @version        4.3.0
 * @package        Joomla
 * @subpackage     Helpdesk Pro
 * @author         Tuan Pham Ngoc
 * @copyright      Copyright (C) 2013 - 2021 Ossolution Team
 * @license        GNU/GPL, see LICENSE.php
 */

namespace OSSolution\HelpdeskPro\Admin\View\Field;

use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Language\Text;
use OSL\View\ItemView;
use OSSolution\HelpdeskPro\Site\Helper\Database as
HelpdeskproHelperDatabase;

defined('_JEXEC') or die;

class Html extends ItemView
{
	protected function beforeRender()
	{
		parent::beforeRender();

		$fieldTypes = [
			'Text',
			'Textarea',
			'List',
			'Checkboxes',
			'Radio',
			'Date',
			'Heading',
			'Message',
		];

		$options   = [];
		$options[] = HTMLHelper::_('select.option', -1,
Text::_('HDP_FIELD_TYPE'));

		foreach ($fieldTypes as $fieldType)
		{
			$options[] = HTMLHelper::_('select.option', $fieldType,
$fieldType);
		}

		$this->lists['fieldtype'] =
HTMLHelper::_('select.genericlist', $options,
'fieldtype', 'class="form-select"',
'value', 'text', $this->item->fieldtype);

		$rows     = HelpdeskproHelperDatabase::getAllCategories();
		$children = [];

		if ($rows)
		{
			// first pass - collect children
			foreach ($rows as $v)
			{
				$pt   = (int) $v->parent_id;
				$list = @$children[$pt] ? $children[$pt] : [];
				array_push($list, $v);
				$children[$pt] = $list;
			}
		}

		$list      = HTMLHelper::_('menu.treerecurse', 0, '',
[], $children, 9999, 0, 0);
		$options   = [];
		$options[] = HTMLHelper::_('select.option', -1,
Text::_('HDP_ALL_CATEGORIES'));

		foreach ($list as $listItem)
		{
			$options[] = HTMLHelper::_('select.option', $listItem->id,
$listItem->treename);
		}

		$selectedCategories = [-1];

		if ($this->item->id && $this->item->category_id !=
-1)
		{
			$db    = $this->container->db;
			$query = $db->getQuery(true);
			$query->select('category_id')
				->from('#__helpdeskpro_field_categories')
				->where('field_id = ' . $this->item->id);
			$db->setQuery($query);
			$selectedCategories = $db->loadColumn();
			$query->clear();
		}

		$this->lists['category_id'] =
HTMLHelper::_('select.genericlist', $options,
'category_id[]',
			[
				'option.text.toHtml' => false,
				'option.text'        => 'text',
				'option.value'       => 'value',
				'list.attr'          =>
'multiple="multiple" size="6"
class="form-select"',
				'list.select'        => $selectedCategories]);

		$options                          = [];
		$options[]                        =
HTMLHelper::_('select.option', 1, Text::_('Yes'));
		$options[]                        =
HTMLHelper::_('select.option', 2, Text::_('No'));
		$this->lists['required']          =
HTMLHelper::_('select.booleanlist', 'required', '
class="form-select" ', $this->item->required);
		$this->lists['show_in_list_view'] =
HTMLHelper::_('select.booleanlist',
'show_in_list_view', ' class="form-select" ',
$this->item->show_in_list_view);

		$options                            = [];
		$options[]                          =
HTMLHelper::_('select.option', 0, Text::_('None'));
		$options[]                          =
HTMLHelper::_('select.option', 1, Text::_('Integer
Number'));
		$options[]                          =
HTMLHelper::_('select.option', 2, Text::_('Number'));
		$options[]                          =
HTMLHelper::_('select.option', 3, Text::_('Email'));
		$options[]                          =
HTMLHelper::_('select.option', 4, Text::_('Url'));
		$options[]                          =
HTMLHelper::_('select.option', 5, Text::_('Phone'));
		$options[]                          =
HTMLHelper::_('select.option', 6, Text::_('Past
Date'));
		$options[]                          =
HTMLHelper::_('select.option', 7, Text::_('Ip'));
		$options[]                          =
HTMLHelper::_('select.option', 8, Text::_('Min
size'));
		$options[]                          =
HTMLHelper::_('select.option', 9, Text::_('Max
size'));
		$options[]                          =
HTMLHelper::_('select.option', 10, Text::_('Min
integer'));
		$options[]                          =
HTMLHelper::_('select.option', 11, Text::_('Max
integer'));
		$this->lists['datatype_validation'] =
HTMLHelper::_('select.genericlist', $options,
'datatype_validation', 'class="form-select"',
'value', 'text',
			$this->item->datatype_validation);

		$this->lists['multiple'] =
HTMLHelper::_('select.booleanlist', 'multiple', '
class="form-select" ', $this->item->multiple);
	}
}