1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Config\Model\Config\Source\Email;
- /**
- * @api
- * @since 100.0.2
- */
- class Identity implements \Magento\Framework\Option\ArrayInterface
- {
- /**
- * Email Identity options
- *
- * @var array
- */
- protected $_options = null;
- /**
- * Configuration structure
- *
- * @var \Magento\Config\Model\Config\Structure
- */
- protected $_configStructure;
- /**
- * @param \Magento\Config\Model\Config\Structure $configStructure
- */
- public function __construct(\Magento\Config\Model\Config\Structure $configStructure)
- {
- $this->_configStructure = $configStructure;
- }
- /**
- * Retrieve list of options
- *
- * @return array
- */
- public function toOptionArray()
- {
- if ($this->_options === null) {
- $this->_options = [];
- /** @var $section \Magento\Config\Model\Config\Structure\Element\Section */
- $section = $this->_configStructure->getElement('trans_email');
- /** @var $group \Magento\Config\Model\Config\Structure\Element\Group */
- foreach ($section->getChildren() as $group) {
- $this->_options[] = [
- 'value' => preg_replace('#^ident_(.*)$#', '$1', $group->getId()),
- 'label' => $group->getLabel(),
- ];
- }
- ksort($this->_options);
- }
- return $this->_options;
- }
- }
|