Spade
Mini Shell
| Directory:~$ /home/lmsyaran/public_html/joomla4/ |
| [Home] [System Details] [Kill Me] |
home/lmsyaran/public_html/j3/libraries/cms/html/category.php000064400000013047151156637410020206
0ustar00<?php
/**
* @package Joomla.Libraries
* @subpackage HTML
*
* @copyright Copyright (C) 2005 - 2020 Open Source Matters, Inc. All
rights reserved.
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('JPATH_PLATFORM') or die;
use Joomla\Utilities\ArrayHelper;
/**
* Utility class for categories
*
* @since 1.5
*/
abstract class JHtmlCategory
{
/**
* Cached array of the category items.
*
* @var array
* @since 1.5
*/
protected static $items = array();
/**
* Returns an array of categories for the given extension.
*
* @param string $extension The extension option e.g. com_something.
* @param array $config An array of configuration options. By
default, only
* published and unpublished categories are
returned.
*
* @return array
*
* @since 1.5
*/
public static function options($extension, $config =
array('filter.published' => array(0, 1)))
{
$hash = md5($extension . '.' . serialize($config));
if (!isset(static::$items[$hash]))
{
$config = (array) $config;
$db = JFactory::getDbo();
$user = JFactory::getUser();
$groups = implode(',', $user->getAuthorisedViewLevels());
$query = $db->getQuery(true)
->select('a.id, a.title, a.level, a.language')
->from('#__categories AS a')
->where('a.parent_id > 0');
// Filter on extension.
$query->where('extension = ' . $db->quote($extension));
// Filter on user access level
$query->where('a.access IN (' . $groups . ')');
// Filter on the published state
if (isset($config['filter.published']))
{
if (is_numeric($config['filter.published']))
{
$query->where('a.published = ' . (int)
$config['filter.published']);
}
elseif (is_array($config['filter.published']))
{
$config['filter.published'] =
ArrayHelper::toInteger($config['filter.published']);
$query->where('a.published IN (' . implode(',',
$config['filter.published']) . ')');
}
}
// Filter on the language
if (isset($config['filter.language']))
{
if (is_string($config['filter.language']))
{
$query->where('a.language = ' .
$db->quote($config['filter.language']));
}
elseif (is_array($config['filter.language']))
{
foreach ($config['filter.language'] as &$language)
{
$language = $db->quote($language);
}
$query->where('a.language IN (' . implode(',',
$config['filter.language']) . ')');
}
}
// Filter on the access
if (isset($config['filter.access']))
{
if (is_string($config['filter.access']))
{
$query->where('a.access = ' .
$db->quote($config['filter.access']));
}
elseif (is_array($config['filter.access']))
{
foreach ($config['filter.access'] as &$access)
{
$access = $db->quote($access);
}
$query->where('a.access IN (' . implode(',',
$config['filter.access']) . ')');
}
}
$query->order('a.lft');
$db->setQuery($query);
$items = $db->loadObjectList();
// Assemble the list options.
static::$items[$hash] = array();
foreach ($items as &$item)
{
$repeat = ($item->level - 1 >= 0) ? $item->level - 1 : 0;
$item->title = str_repeat('- ', $repeat) .
$item->title;
if ($item->language !== '*')
{
$item->title .= ' (' . $item->language .
')';
}
static::$items[$hash][] = JHtml::_('select.option',
$item->id, $item->title);
}
}
return static::$items[$hash];
}
/**
* Returns an array of categories for the given extension.
*
* @param string $extension The extension option.
* @param array $config An array of configuration options. By
default, only published and unpublished categories are returned.
*
* @return array Categories for the extension
*
* @since 1.6
*/
public static function categories($extension, $config =
array('filter.published' => array(0, 1)))
{
$hash = md5($extension . '.' . serialize($config));
if (!isset(static::$items[$hash]))
{
$config = (array) $config;
$user = JFactory::getUser();
$db = JFactory::getDbo();
$query = $db->getQuery(true)
->select('a.id, a.title, a.level, a.parent_id,
a.language')
->from('#__categories AS a')
->where('a.parent_id > 0');
// Filter on extension.
$query->where('extension = ' . $db->quote($extension));
// Filter on user level.
$groups = implode(',', $user->getAuthorisedViewLevels());
$query->where('a.access IN (' . $groups . ')');
// Filter on the published state
if (isset($config['filter.published']))
{
if (is_numeric($config['filter.published']))
{
$query->where('a.published = ' . (int)
$config['filter.published']);
}
elseif (is_array($config['filter.published']))
{
$config['filter.published'] =
ArrayHelper::toInteger($config['filter.published']);
$query->where('a.published IN (' . implode(',',
$config['filter.published']) . ')');
}
}
$query->order('a.lft');
$db->setQuery($query);
$items = $db->loadObjectList();
// Assemble the list options.
static::$items[$hash] = array();
foreach ($items as &$item)
{
$repeat = ($item->level - 1 >= 0) ? $item->level - 1 : 0;
$item->title = str_repeat('- ', $repeat) .
$item->title;
if ($item->language !== '*')
{
$item->title .= ' (' . $item->language .
')';
}
static::$items[$hash][] = JHtml::_('select.option',
$item->id, $item->title);
}
// Special "Add to root" option:
static::$items[$hash][] = JHtml::_('select.option',
'1', JText::_('JLIB_HTML_ADD_TO_ROOT'));
}
return static::$items[$hash];
}
}
home/lmsyaran/public_html/libraries/legacy/form/field/category.php000064400000005510151160357210021422
0ustar00<?php
/**
* @package Joomla.Legacy
* @subpackage Form
*
* @copyright Copyright (C) 2005 - 2020 Open Source Matters, Inc. All
rights reserved.
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('JPATH_PLATFORM') or die;
JFormHelper::loadFieldClass('list');
/**
* Form Field class for the Joomla Platform.
* Supports an HTML select list of categories
*
* @since 1.6
*/
class JFormFieldCategory extends JFormFieldList
{
/**
* 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 = JHtml::_('category.options', $extension);
}
else
{
$options = JHtml::_('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 = JFactory::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, JHtml::_('select.option',
'0', JText::_('JGLOBAL_ROOT')));
}
}
else
{
JLog::add(JText::_('JLIB_FORM_ERROR_FIELDS_CATEGORY_ERROR_EXTENSION_EMPTY'),
JLog::WARNING, 'jerror');
}
// Merge any additional options in the XML definition.
$options = array_merge(parent::getOptions(), $options);
return $options;
}
}
home/lmsyaran/public_html/j3/htaccess.back/cms/html/category.php000064400000013047151160514240020714
0ustar00<?php
/**
* @package Joomla.Libraries
* @subpackage HTML
*
* @copyright Copyright (C) 2005 - 2020 Open Source Matters, Inc. All
rights reserved.
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('JPATH_PLATFORM') or die;
use Joomla\Utilities\ArrayHelper;
/**
* Utility class for categories
*
* @since 1.5
*/
abstract class JHtmlCategory
{
/**
* Cached array of the category items.
*
* @var array
* @since 1.5
*/
protected static $items = array();
/**
* Returns an array of categories for the given extension.
*
* @param string $extension The extension option e.g. com_something.
* @param array $config An array of configuration options. By
default, only
* published and unpublished categories are
returned.
*
* @return array
*
* @since 1.5
*/
public static function options($extension, $config =
array('filter.published' => array(0, 1)))
{
$hash = md5($extension . '.' . serialize($config));
if (!isset(static::$items[$hash]))
{
$config = (array) $config;
$db = JFactory::getDbo();
$user = JFactory::getUser();
$groups = implode(',', $user->getAuthorisedViewLevels());
$query = $db->getQuery(true)
->select('a.id, a.title, a.level, a.language')
->from('#__categories AS a')
->where('a.parent_id > 0');
// Filter on extension.
$query->where('extension = ' . $db->quote($extension));
// Filter on user access level
$query->where('a.access IN (' . $groups . ')');
// Filter on the published state
if (isset($config['filter.published']))
{
if (is_numeric($config['filter.published']))
{
$query->where('a.published = ' . (int)
$config['filter.published']);
}
elseif (is_array($config['filter.published']))
{
$config['filter.published'] =
ArrayHelper::toInteger($config['filter.published']);
$query->where('a.published IN (' . implode(',',
$config['filter.published']) . ')');
}
}
// Filter on the language
if (isset($config['filter.language']))
{
if (is_string($config['filter.language']))
{
$query->where('a.language = ' .
$db->quote($config['filter.language']));
}
elseif (is_array($config['filter.language']))
{
foreach ($config['filter.language'] as &$language)
{
$language = $db->quote($language);
}
$query->where('a.language IN (' . implode(',',
$config['filter.language']) . ')');
}
}
// Filter on the access
if (isset($config['filter.access']))
{
if (is_string($config['filter.access']))
{
$query->where('a.access = ' .
$db->quote($config['filter.access']));
}
elseif (is_array($config['filter.access']))
{
foreach ($config['filter.access'] as &$access)
{
$access = $db->quote($access);
}
$query->where('a.access IN (' . implode(',',
$config['filter.access']) . ')');
}
}
$query->order('a.lft');
$db->setQuery($query);
$items = $db->loadObjectList();
// Assemble the list options.
static::$items[$hash] = array();
foreach ($items as &$item)
{
$repeat = ($item->level - 1 >= 0) ? $item->level - 1 : 0;
$item->title = str_repeat('- ', $repeat) .
$item->title;
if ($item->language !== '*')
{
$item->title .= ' (' . $item->language .
')';
}
static::$items[$hash][] = JHtml::_('select.option',
$item->id, $item->title);
}
}
return static::$items[$hash];
}
/**
* Returns an array of categories for the given extension.
*
* @param string $extension The extension option.
* @param array $config An array of configuration options. By
default, only published and unpublished categories are returned.
*
* @return array Categories for the extension
*
* @since 1.6
*/
public static function categories($extension, $config =
array('filter.published' => array(0, 1)))
{
$hash = md5($extension . '.' . serialize($config));
if (!isset(static::$items[$hash]))
{
$config = (array) $config;
$user = JFactory::getUser();
$db = JFactory::getDbo();
$query = $db->getQuery(true)
->select('a.id, a.title, a.level, a.parent_id,
a.language')
->from('#__categories AS a')
->where('a.parent_id > 0');
// Filter on extension.
$query->where('extension = ' . $db->quote($extension));
// Filter on user level.
$groups = implode(',', $user->getAuthorisedViewLevels());
$query->where('a.access IN (' . $groups . ')');
// Filter on the published state
if (isset($config['filter.published']))
{
if (is_numeric($config['filter.published']))
{
$query->where('a.published = ' . (int)
$config['filter.published']);
}
elseif (is_array($config['filter.published']))
{
$config['filter.published'] =
ArrayHelper::toInteger($config['filter.published']);
$query->where('a.published IN (' . implode(',',
$config['filter.published']) . ')');
}
}
$query->order('a.lft');
$db->setQuery($query);
$items = $db->loadObjectList();
// Assemble the list options.
static::$items[$hash] = array();
foreach ($items as &$item)
{
$repeat = ($item->level - 1 >= 0) ? $item->level - 1 : 0;
$item->title = str_repeat('- ', $repeat) .
$item->title;
if ($item->language !== '*')
{
$item->title .= ' (' . $item->language .
')';
}
static::$items[$hash][] = JHtml::_('select.option',
$item->id, $item->title);
}
// Special "Add to root" option:
static::$items[$hash][] = JHtml::_('select.option',
'1', JText::_('JLIB_HTML_ADD_TO_ROOT'));
}
return static::$items[$hash];
}
}