![]() 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-customer/Model/Attribute/Data/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Customer\Model\Attribute\Data; use Magento\Directory\Helper\Data as DirectoryHelper; use Magento\Eav\Model\AttributeDataFactory; use Magento\Framework\App\RequestInterface; use Magento\Framework\Locale\ResolverInterface; use Psr\Log\LoggerInterface as PsrLogger; use Magento\Framework\Stdlib\DateTime\TimezoneInterface as MagentoTimezone; /** * Customer Address Postal/Zip Code Attribute Data Model. * * This Data Model Has to Be Set Up in additional EAV attribute table */ class Postcode extends \Magento\Eav\Model\Attribute\Data\AbstractData { /** * @var \Magento\Directory\Helper\Data */ protected $directoryHelper; /** * @param MagentoTimezone $localeDate * @param PsrLogger $logger * @param ResolverInterface $localeResolver * @param DirectoryHelper $directoryHelper */ public function __construct( MagentoTimezone $localeDate, PsrLogger $logger, ResolverInterface $localeResolver, DirectoryHelper $directoryHelper ) { $this->directoryHelper = $directoryHelper; parent::__construct($localeDate, $logger, $localeResolver); } /** * Validate postal/zip code. * * Return true and skip validation if country zip code is optional * * @param array|string $value * @return array|bool */ public function validateValue($value) { $attribute = $this->getAttribute(); $countryId = $this->getExtractedData('country_id'); if ($this->directoryHelper->isZipCodeOptional($countryId)) { return true; } $errors = []; if (empty($value) && $value !== '0') { $label = __($attribute->getStoreLabel()); $errors[] = __('"%1" is a required value.', $label); } if (count($errors) == 0) { return true; } return $errors; } /** * Extract data from request and return value * * @param RequestInterface $request * @return array|string */ public function extractValue(RequestInterface $request) { $value = $this->_getRequestValue($request); return $this->_applyInputFilter($value); } /** * Export attribute value to entity model * * @param array|string $value * @return $this */ public function compactValue($value) { if ($value !== false) { $this->getEntity()->setDataUsingMethod($this->getAttribute()->getAttributeCode(), $value); } return $this; } /** * Restore attribute value from SESSION to entity model * * @param array|string $value * @return $this */ public function restoreValue($value) { return $this->compactValue($value); } /** * Return formatted attribute value from entity model * * @param string $format * @return string|array * @SuppressWarnings(PHPMD.UnusedFormalParameter) */ public function outputValue($format = AttributeDataFactory::OUTPUT_FORMAT_TEXT) { $value = $this->getEntity() ->getData($this->getAttribute()->getAttributeCode()); $value = $this->_applyOutputFilter($value); return $value; } }