PHP 8.1.33
Preview: CategoryField.php Size: 2.90 KB
/home/jambtst2015/public_html/ida.com.ng/libraries/src/Form/Field/CategoryField.php

<?php
/**
 * Joomla! Content Management System
 *
 * @copyright  (C) 2009 Open Source Matters, Inc. <https://www.joomla.org>
 * @license    GNU General Public License version 2 or later; see LICENSE.txt
 */

namespace Joomla\CMS\Form\Field;

\defined('JPATH_PLATFORM') or die;

use Joomla\CMS\Factory;
use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Log\Log;

/**
 * Form Field class for the Joomla Platform.
 * Supports an HTML select list of categories
 *
 * @since  1.6
 */
class CategoryField extends ListField
{
	/**
	 * The form field type.
	 *
	 * @var    string
	 * @since  1.6
	 */
	public $type = 'Category';

	/**
	 * Method to get the field options for category
	 * Use the extension attribute in a form to specify the.specific extension for
	 * which categories should be displayed.
	 * Use the show_root attribute to specify whether to show the global category root in the list.
	 *
	 * @return  array    The field option objects.
	 *
	 * @since   1.6
	 */
	protected function getOptions()
	{
		$options = array();
		$extension = $this->element['extension'] ? (string) $this->element['extension'] : (string) $this->element['scope'];
		$published = (string) $this->element['published'];
		$language  = (string) $this->element['language'];

		// Load the category options for a given extension.
		if (!empty($extension))
		{
			// Filter over published state or not depending upon if it is present.
			$filters = array();

			if ($published)
			{
				$filters['filter.published'] = explode(',', $published);
			}

			// Filter over language depending upon if it is present.
			if ($language)
			{
				$filters['filter.language'] = explode(',', $language);
			}

			if ($filters === array())
			{
				$options = HTMLHelper::_('category.options', $extension);
			}
			else
			{
				$options = HTMLHelper::_('category.options', $extension, $filters);
			}

			// Verify permissions.  If the action attribute is set, then we scan the options.
			if ((string) $this->element['action'])
			{
				// Get the current user object.
				$user = Factory::getUser();

				foreach ($options as $i => $option)
				{
					/*
					 * To take save or create in a category you need to have create rights for that category
					 * unless the item is already in that category.
					 * Unset the option if the user isn't authorised for it. In this field assets are always categories.
					 */
					if ($user->authorise('core.create', $extension . '.category.' . $option->value) === false)
					{
						unset($options[$i]);
					}
				}
			}

			if (isset($this->element['show_root']))
			{
				array_unshift($options, HTMLHelper::_('select.option', '0', Text::_('JGLOBAL_ROOT')));
			}
		}
		else
		{
			Log::add(Text::_('JLIB_FORM_ERROR_FIELDS_CATEGORY_ERROR_EXTENSION_EMPTY'), Log::WARNING, 'jerror');
		}

		// Merge any additional options in the XML definition.
		$options = array_merge(parent::getOptions(), $options);

		return $options;
	}
}

Directory Contents

Dirs: 0 × Files: 76

Name Size Perms Modified Actions
4.58 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
900 B lrw-r--r-- 2024-11-22 17:53:12
Edit Download
1.71 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
1.66 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
1.10 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
10.72 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
4.15 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
2.90 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
3.95 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
3.51 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
5.57 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
8.14 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
1.40 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
7.54 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
1.73 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
1.72 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
908 B lrw-r--r-- 2024-11-22 17:53:12
Edit Download
2.30 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
2.05 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
7.37 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
1.45 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
3.41 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
5.60 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
5.48 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
1.89 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
3.89 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
970 B lrw-r--r-- 2024-11-22 17:53:12
Edit Download
1.26 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
926 B lrw-r--r-- 2024-11-22 17:53:12
Edit Download
1.75 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
2.12 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
1.39 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
2.19 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
5.98 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
10.56 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
3.06 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
5.90 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
4.53 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
6.24 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
3.28 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
4.42 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
1011 B lrw-r--r-- 2024-11-22 17:53:12
Edit Download
2.19 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
5.08 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
4.89 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
6.12 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
4.40 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
649 B lrw-r--r-- 2024-11-22 17:53:12
Edit Download
3.00 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
1.29 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
1.10 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
1.38 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
724 B lrw-r--r-- 2024-11-22 17:53:12
Edit Download
1.39 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
7.30 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
1.20 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
3.39 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
7.28 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
714 B lrw-r--r-- 2024-11-22 17:53:12
Edit Download
10.79 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
8.24 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
1.61 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
4.84 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
4.57 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
7.17 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
3.80 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
3.83 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
4.50 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
1.78 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
1.08 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
3.87 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
2.53 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
672 B lrw-r--r-- 2024-11-22 17:53:12
Edit Download
1.47 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
3.23 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
4.08 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).