X7ROOT File Manager
Current Path:
/home/notabjze/just4dastreets.com/libraries/src/Form/Field
home
/
notabjze
/
just4dastreets.com
/
libraries
/
src
/
Form
/
Field
/
ðŸ“
..
📄
AccessiblemediaField.php
(4.58 KB)
📄
AccesslevelField.php
(900 B)
📄
AliastagField.php
(1.71 KB)
📄
AuthorField.php
(1.66 KB)
📄
CachehandlerField.php
(1.1 KB)
📄
CalendarField.php
(10.72 KB)
📄
CaptchaField.php
(4.15 KB)
📄
CategoryField.php
(2.9 KB)
📄
CheckboxField.php
(3.51 KB)
📄
CheckboxesField.php
(3.95 KB)
📄
ChromestyleField.php
(5.57 KB)
📄
ColorField.php
(8.14 KB)
📄
ComboField.php
(1.4 KB)
📄
ComponentlayoutField.php
(7.54 KB)
📄
ComponentsField.php
(1.73 KB)
📄
ContenthistoryField.php
(1.72 KB)
📄
ContentlanguageField.php
(908 B)
📄
ContenttypeField.php
(2.3 KB)
📄
DatabaseconnectionField.php
(2.05 KB)
📄
EditorField.php
(7.37 KB)
📄
EmailField.php
(1.45 KB)
📄
FileField.php
(3.41 KB)
📄
FilelistField.php
(5.6 KB)
📄
FolderlistField.php
(5.48 KB)
📄
FrontendlanguageField.php
(1.89 KB)
📄
GroupedlistField.php
(3.89 KB)
📄
HeadertagField.php
(970 B)
📄
HiddenField.php
(1.26 KB)
📄
ImagelistField.php
(926 B)
📄
IntegerField.php
(1.75 KB)
📄
LanguageField.php
(2.12 KB)
📄
LastvisitdaterangeField.php
(1.39 KB)
📄
LimitboxField.php
(2.19 KB)
📄
ListField.php
(5.98 KB)
📄
MediaField.php
(10.56 KB)
📄
MenuField.php
(3.06 KB)
📄
MenuitemField.php
(5.9 KB)
📄
MeterField.php
(4.53 KB)
📄
ModulelayoutField.php
(6.24 KB)
📄
ModuleorderField.php
(3.28 KB)
📄
ModulepositionField.php
(4.42 KB)
📄
ModuletagField.php
(1011 B)
📄
NoteField.php
(2.19 KB)
📄
NumberField.php
(5.08 KB)
📄
OrderingField.php
(4.89 KB)
📄
PasswordField.php
(6.12 KB)
📄
PluginsField.php
(4.4 KB)
📄
PluginstatusField.php
(649 B)
📄
PredefinedlistField.php
(3 KB)
📄
RadioField.php
(1.1 KB)
📄
RadiobasicField.php
(1.29 KB)
📄
RangeField.php
(1.38 KB)
📄
RedirectStatusField.php
(724 B)
📄
RegistrationdaterangeField.php
(1.39 KB)
📄
RulesField.php
(7.3 KB)
📄
SessionhandlerField.php
(1.2 KB)
📄
SpacerField.php
(3.39 KB)
📄
SqlField.php
(7.28 KB)
📄
StatusField.php
(714 B)
📄
SubformField.php
(10.79 KB)
📄
TagField.php
(8.24 KB)
📄
TelephoneField.php
(1.61 KB)
📄
TemplatestyleField.php
(4.84 KB)
📄
TextField.php
(7.17 KB)
📄
TextareaField.php
(4.57 KB)
📄
TimeField.php
(3.8 KB)
📄
TimezoneField.php
(3.83 KB)
📄
TransitionField.php
(4.5 KB)
📄
UrlField.php
(1.78 KB)
📄
UserField.php
(3.87 KB)
📄
UseractiveField.php
(1.08 KB)
📄
UsergrouplistField.php
(2.53 KB)
📄
UserstateField.php
(672 B)
📄
WorkflowComponentSectionsField.php
(1.47 KB)
📄
WorkflowconditionField.php
(3.23 KB)
📄
WorkflowstageField.php
(4.08 KB)
Editing: RulesField.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\Access\Access; use Joomla\CMS\Factory; use Joomla\CMS\Form\FormField; use Joomla\CMS\Helper\UserGroupsHelper; use Joomla\Database\ParameterType; /** * Form Field class for the Joomla Platform. * Field for assigning permissions to groups for a given asset * * @see JAccess * @since 1.7.0 */ class RulesField extends FormField { /** * The form field type. * * @var string * @since 1.7.0 */ protected $type = 'Rules'; /** * Name of the layout being used to render the field * * @var string * @since 4.0.0 */ protected $layout = 'joomla.form.field.rules'; /** * The section. * * @var string * @since 3.2 */ protected $section; /** * The component. * * @var string * @since 3.2 */ protected $component; /** * The assetField. * * @var string * @since 3.2 */ protected $assetField; /** * The parent class of the field * * @var string * @since 4.0.0 */ protected $parentclass; /** * Method to get certain otherwise inaccessible properties from the form field object. * * @param string $name The property name for which to get the value. * * @return mixed The property value or null. * * @since 3.2 */ public function __get($name) { switch ($name) { case 'section': case 'component': case 'assetField': return $this->$name; } return parent::__get($name); } /** * Method to set certain otherwise inaccessible properties of the form field object. * * @param string $name The property name for which to set the value. * @param mixed $value The value of the property. * * @return void * * @since 3.2 */ public function __set($name, $value) { switch ($name) { case 'section': case 'component': case 'assetField': $this->$name = (string) $value; break; default: parent::__set($name, $value); } } /** * Method to attach a Form object to the field. * * @param \SimpleXMLElement $element The SimpleXMLElement object representing the `<field>` tag for the form field object. * @param mixed $value The form field value to validate. * @param string $group The field name group control value. This acts as an array container for the field. * For example if the field has name="foo" and the group value is set to "bar" then the * full field name would end up being "bar[foo]". * * @return boolean True on success. * * @see FormField::setup() * @since 3.2 */ public function setup(\SimpleXMLElement $element, $value, $group = null) { $return = parent::setup($element, $value, $group); if ($return) { $this->section = $this->element['section'] ? (string) $this->element['section'] : ''; $this->component = $this->element['component'] ? (string) $this->element['component'] : ''; $this->assetField = $this->element['asset_field'] ? (string) $this->element['asset_field'] : 'asset_id'; } return $return; } /** * Method to get the field input markup for Access Control Lists. * Optionally can be associated with a specific component and section. * * @return string The field input markup. * * @since 1.7.0 * @todo: Add access check. */ protected function getInput() { // Initialise some field attributes. $section = $this->section; $assetField = $this->assetField; $component = empty($this->component) ? 'root.1' : $this->component; // Current view is global config? $this->isGlobalConfig = $component === 'root.1'; // Get the actions for the asset. $this->actions = Access::getActionsFromFile( JPATH_ADMINISTRATOR . '/components/' . $component . '/access.xml', "/access/section[@name='" . $section . "']/" ); // Iterate over the children and add to the actions. foreach ($this->element->children() as $el) { if ($el->getName() === 'action') { $this->actions[] = (object) array( 'name' => (string) $el['name'], 'title' => (string) $el['title'], 'description' => (string) $el['description'], ); } } // Get the asset id. // Note that for global configuration, com_config injects asset_id = 1 into the form. $this->assetId = (int) $this->form->getValue($assetField); $this->newItem = empty($this->assetId) && $this->isGlobalConfig === false && $section !== 'component'; $parentAssetId = null; // If the asset id is empty (component or new item). if (empty($this->assetId)) { // Get the component asset id as fallback. $db = Factory::getDbo(); $query = $db->getQuery(true) ->select($db->quoteName('id')) ->from($db->quoteName('#__assets')) ->where($db->quoteName('name') . ' = :component') ->bind(':component', $component); $db->setQuery($query); $this->assetId = (int) $db->loadResult(); /** * @to do: incorrect info * When creating a new item (not saving) it uses the calculated permissions from the component (item <-> component <-> global config). * But if we have a section too (item <-> section(s) <-> component <-> global config) this is not correct. * Also, currently it uses the component permission, but should use the calculated permissions for achild of the component/section. */ } // If not in global config we need the parent_id asset to calculate permissions. if (!$this->isGlobalConfig) { // In this case we need to get the component rules too. $db = Factory::getDbo(); $query = $db->getQuery(true) ->select($db->quoteName('parent_id')) ->from($db->quoteName('#__assets')) ->where($db->quoteName('id') . ' = :assetId') ->bind(':assetId', $this->assetId, ParameterType::INTEGER); $db->setQuery($query); $this->parentAssetId = (int) $db->loadResult(); } // Get the rules for just this asset (non-recursive). $this->assetRules = Access::getAssetRules($this->assetId, false, false); // Get the available user groups. $this->groups = $this->getUserGroups(); // Trim the trailing line in the layout file return trim($this->getRenderer($this->layout)->render($this->getLayoutData())); } /** * Method to get the data to be passed to the layout for rendering. * * @return array * * @since 4.0.0 */ protected function getLayoutData() { $data = parent::getLayoutData(); $extraData = array( 'groups' => $this->groups, 'section' => $this->section, 'actions' => $this->actions, 'assetId' => $this->assetId, 'newItem' => $this->newItem, 'assetRules' => $this->assetRules, 'isGlobalConfig' => $this->isGlobalConfig, 'parentAssetId' => $this->parentAssetId, 'component' => $this->component, ); return array_merge($data, $extraData); } /** * Get a list of the user groups. * * @return array * * @since 1.7.0 */ protected function getUserGroups() { $options = UserGroupsHelper::getInstance()->getAll(); foreach ($options as &$option) { $option->value = $option->id; $option->text = $option->title; } return array_values($options); } }
Upload File
Create Folder