Spade
Mini Shell
| Directory:~$ /home/lmsyaran/www/administrator/components/com_helpdeskpro/fields/ |
| [Home] [System Details] [Kill Me] |
<?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
*/
defined('_JEXEC') or die;
use Joomla\CMS\Factory;
use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Language\Text;
JFormHelper::loadFieldClass('list');
class JFormFieldHdpCategory extends JFormFieldList
{
/**
* The form field type.
*
* @var string
*/
protected $type = 'hdpcategory';
protected function getOptions()
{
Factory::getLanguage()->load('com_helpdeskpro');
if ($this->element['category_type'])
{
$categoryType = (int) $this->element['category_type'];
}
else
{
$categoryType = 1;
}
$db = Factory::getDbo();
$query = $db->getQuery(true);
$query->select('id, parent_id, title')
->from('#__helpdeskpro_categories')
->where('published=1')
->where('category_type IN (0, ' . $categoryType .
')')
->order('ordering');
$db->setQuery($query);
$rows = $db->loadObjectList();
$children = [];
// first pass - collect children
foreach ($rows as $v)
{
$pt = $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', '0',
Text::_('HDP_SELECT_CATEGORY'));
foreach ($list as $item)
{
$options[] = HTMLHelper::_('select.option', $item->id,
' ' . $item->treename);
}
return $options;
}
}