![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-eav/Helper/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Eav\Helper; /** * Eav data helper */ class Data extends \Magento\Framework\App\Helper\AbstractHelper { /** * XML path to input types validator data in config * * @var string */ const XML_PATH_VALIDATOR_DATA_INPUT_TYPES = 'general/validator_data/input_types'; /** * @var array */ protected $_attributesLockedFields = []; /** * @var array */ protected $_entityTypeFrontendClasses = []; /** * @var \Magento\Eav\Model\Entity\Attribute\Config */ protected $_attributeConfig; /** * @var \Magento\Eav\Model\Config */ protected $_eavConfig; /** * @param \Magento\Framework\App\Helper\Context $context * @param \Magento\Eav\Model\Entity\Attribute\Config $attributeConfig * @param \Magento\Eav\Model\Config $eavConfig * @codeCoverageIgnore */ public function __construct( \Magento\Framework\App\Helper\Context $context, \Magento\Eav\Model\Entity\Attribute\Config $attributeConfig, \Magento\Eav\Model\Config $eavConfig ) { $this->_attributeConfig = $attributeConfig; $this->_eavConfig = $eavConfig; parent::__construct($context); } /** * Return default frontend classes value label array * * @return array */ protected function _getDefaultFrontendClasses() { return [ ['value' => '', 'label' => __('None')], ['value' => 'validate-number', 'label' => __('Decimal Number')], ['value' => 'validate-digits', 'label' => __('Integer Number')], ['value' => 'validate-email', 'label' => __('Email')], ['value' => 'validate-url', 'label' => __('URL')], ['value' => 'validate-alpha', 'label' => __('Letters')], ['value' => 'validate-alphanum', 'label' => __('Letters (a-z, A-Z) or Numbers (0-9)')] ]; } /** * Return merged default and entity type frontend classes value label array * * @param string $entityTypeCode * @return array */ public function getFrontendClasses($entityTypeCode) { $_defaultClasses = $this->_getDefaultFrontendClasses(); if (isset($this->_entityTypeFrontendClasses[$entityTypeCode])) { return array_merge($_defaultClasses, $this->_entityTypeFrontendClasses[$entityTypeCode]); } return $_defaultClasses; } /** * Retrieve attributes locked fields to edit * * @param string $entityTypeCode * @return array */ public function getAttributeLockedFields($entityTypeCode) { if (!$entityTypeCode) { return []; } if (isset($this->_attributesLockedFields[$entityTypeCode])) { return $this->_attributesLockedFields[$entityTypeCode]; } $attributesLockedFields = $this->_attributeConfig->getEntityAttributesLockedFields($entityTypeCode); if (count($attributesLockedFields)) { $this->_attributesLockedFields[$entityTypeCode] = $attributesLockedFields; return $this->_attributesLockedFields[$entityTypeCode]; } return []; } /** * Get input types validator data * * @return array */ public function getInputTypesValidatorData() { return $this->scopeConfig->getValue( self::XML_PATH_VALIDATOR_DATA_INPUT_TYPES, \Magento\Store\Model\ScopeInterface::SCOPE_STORE ); } /** * Retrieve attribute metadata. * * @param string $entityTypeCode * @param string $attributeCode * @return array <pre>[ * 'entity_type_id' => $entityTypeId, * 'attribute_id' => $attributeId, * 'attribute_table' => $attributeTable * 'backend_type' => $backendType * ]</pre> */ public function getAttributeMetadata($entityTypeCode, $attributeCode) { $attribute = $this->_eavConfig->getAttribute($entityTypeCode, $attributeCode); return [ 'entity_type_id' => $attribute->getEntityTypeId(), 'attribute_id' => $attribute->getAttributeId(), 'attribute_table' => $attribute->getBackend()->getTable(), 'backend_type' => $attribute->getBackendType() ]; } }