![]() 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/cartforge.co/vendor/magento/module-backend/Block/Widget/Grid/Column/Renderer/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Backend\Block\Widget\Grid\Column\Renderer; /** * Store grid column filter * @api * @deprecated 100.2.0 in favour of UI component implementation * @since 100.0.2 */ class Store extends \Magento\Backend\Block\Widget\Grid\Column\Renderer\AbstractRenderer { /** * @var bool */ protected $_skipAllStoresLabel = false; /** * @var bool */ protected $_skipEmptyStoresLabel = false; /** * @var \Magento\Store\Model\System\Store */ protected $_systemStore; /** * @param \Magento\Backend\Block\Context $context * @param \Magento\Store\Model\System\Store $systemStore * @param array $data */ public function __construct( \Magento\Backend\Block\Context $context, \Magento\Store\Model\System\Store $systemStore, array $data = [] ) { $this->_systemStore = $systemStore; parent::__construct($context, $data); } /** * Retrieve System Store model * * @return \Magento\Store\Model\System\Store */ protected function _getStoreModel() { return $this->_systemStore; } /** * Retrieve 'show all stores label' flag * * @return bool * @SuppressWarnings(PHPMD.BooleanGetMethodName) */ protected function _getShowAllStoresLabelFlag() { return $this->getColumn()->getData( 'skipAllStoresLabel' ) ? $this->getColumn()->getData( 'skipAllStoresLabel' ) : $this->_skipAllStoresLabel; } /** * Retrieve 'show empty stores label' flag * * @return bool * @SuppressWarnings(PHPMD.BooleanGetMethodName) */ protected function _getShowEmptyStoresLabelFlag() { return $this->getColumn()->getData( 'skipEmptyStoresLabel' ) ? $this->getColumn()->getData( 'skipEmptyStoresLabel' ) : $this->_skipEmptyStoresLabel; } /** * Render row store views * * @param \Magento\Framework\DataObject $row * @return \Magento\Framework\Phrase|string * @SuppressWarnings(PHPMD.CyclomaticComplexity) * @SuppressWarnings(PHPMD.NPathComplexity) */ public function render(\Magento\Framework\DataObject $row) { $out = ''; $skipAllStoresLabel = $this->_getShowAllStoresLabelFlag(); $skipEmptyStoresLabel = $this->_getShowEmptyStoresLabelFlag(); $origStores = $row->getData($this->getColumn()->getIndex()); if ($origStores === null && $row->getStoreName()) { $scopes = []; foreach (explode("\n", $row->getStoreName()) as $k => $label) { $scopes[] = str_repeat(' ', $k * 3) . $label; } $out .= implode('<br/>', $scopes) . __(' [deleted]'); return $out; } if (empty($origStores) && !$skipEmptyStoresLabel) { return ''; } if (!is_array($origStores)) { $origStores = [$origStores]; } if (empty($origStores)) { return ''; } elseif (in_array(0, $origStores) && count($origStores) == 1 && !$skipAllStoresLabel) { return __('All Store Views'); } $data = $this->_getStoreModel()->getStoresStructure(false, $origStores); foreach ($data as $website) { $out .= $website['label'] . '<br/>'; foreach ($website['children'] as $group) { $out .= str_repeat(' ', 3) . $group['label'] . '<br/>'; foreach ($group['children'] as $store) { $out .= str_repeat(' ', 6) . $store['label'] . '<br/>'; } } } return $out; } /** * Render row store views for export * * @param \Magento\Framework\DataObject $row * @return \Magento\Framework\Phrase|string * @SuppressWarnings(PHPMD.CyclomaticComplexity) */ public function renderExport(\Magento\Framework\DataObject $row) { $out = ''; $skipAllStoresLabel = $this->_getShowAllStoresLabelFlag(); $origStores = $row->getData($this->getColumn()->getIndex()); if ($origStores === null && $row->getStoreName()) { $scopes = []; foreach (explode("\n", $row->getStoreName()) as $k => $label) { $scopes[] = str_repeat(' ', $k * 3) . $label; } $out .= implode("\r\n", $scopes) . __(' [deleted]'); return $out; } if (!is_array($origStores)) { $origStores = [$origStores]; } if (in_array(0, $origStores) && !$skipAllStoresLabel) { return __('All Store Views'); } $data = $this->_getStoreModel()->getStoresStructure(false, $origStores); foreach ($data as $website) { $out .= $website['label'] . "\r\n"; foreach ($website['children'] as $group) { $out .= str_repeat(' ', 3) . $group['label'] . "\r\n"; foreach ($group['children'] as $store) { $out .= str_repeat(' ', 6) . $store['label'] . "\r\n"; } } } return $out; } }