![]() 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-tax/Model/Rate/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Tax\Model\Rate; use Magento\Framework\Api\SearchCriteriaBuilder; use Magento\Framework\App\ObjectManager; use Magento\Framework\Convert\DataObject as Converter; use Magento\Tax\Api\TaxRateRepositoryInterface; use Magento\Tax\Model\Rate\Provider as RateProvider; /** * Tax rate source model. */ class Source implements \Magento\Framework\Data\OptionSourceInterface { /** * @var array */ protected $options; /** * @var \Magento\Tax\Api\TaxRateRepositoryInterface */ protected $taxRateRepository; /** * @var \Magento\Framework\Api\SearchCriteriaBuilder */ protected $searchCriteriaBuilder; /** * @var \Magento\Framework\Convert\DataObject */ protected $converter; /** * @var \Magento\Tax\Model\Rate\Provider */ protected $rateProvider; /** * Initialize dependencies. * * @param TaxRateRepositoryInterface $taxRateRepository * @param SearchCriteriaBuilder $searchCriteriaBuilder * @param Converter $converter * @param RateProvider $rateProvider */ public function __construct( TaxRateRepositoryInterface $taxRateRepository, SearchCriteriaBuilder $searchCriteriaBuilder, Converter $converter, RateProvider $rateProvider = null ) { $this->taxRateRepository = $taxRateRepository; $this->searchCriteriaBuilder = $searchCriteriaBuilder; $this->converter = $converter; $this->rateProvider = $rateProvider ?: ObjectManager::getInstance()->get(RateProvider::class); } /** * Retrieve all tax rates as an options array. * * @return array */ public function toOptionArray() { if (!$this->options) { $searchCriteria = $this->searchCriteriaBuilder ->setPageSize($this->rateProvider->getPageSize()) ->setCurrentPage(1) ->create(); $this->options = $this->rateProvider->toOptionArray($searchCriteria); } return $this->options; } }