![]() 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-sales/Block/Adminhtml/Reorder/Renderer/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Sales\Block\Adminhtml\Reorder\Renderer; /** * Adminhtml alert queue grid block action item renderer * * @author Magento Core Team <[email protected]> */ class Action extends \Magento\Backend\Block\Widget\Grid\Column\Renderer\AbstractRenderer { /** * Array to store all options data * * @var array */ protected $_actions = []; /** * Sales reorder * * @var \Magento\Sales\Helper\Reorder */ protected $_salesReorder = null; /** * @param \Magento\Backend\Block\Context $context * @param \Magento\Sales\Helper\Reorder $salesReorder * @param array $data */ public function __construct( \Magento\Backend\Block\Context $context, \Magento\Sales\Helper\Reorder $salesReorder, array $data = [] ) { $this->_salesReorder = $salesReorder; parent::__construct($context, $data); } /** * Render actions * * @param \Magento\Framework\DataObject $row * @return string */ public function render(\Magento\Framework\DataObject $row) { $this->_actions = []; if ($this->_salesReorder->canReorder($row->getId())) { $reorderAction = [ '@' => [ 'href' => $this->getUrl('sales/order_create/reorder', ['order_id' => $row->getId()]), ], '#' => __('Reorder'), ]; $this->addToActions($reorderAction); } $this->_eventManager->dispatch( 'adminhtml_customer_orders_add_action_renderer', ['renderer' => $this, 'row' => $row] ); return $this->_actionsToHtml(); } /** * Get escaped value * * @param string $value * @return string */ protected function _getEscapedValue($value) { // phpcs:ignore Magento2.Functions.DiscouragedFunction return addcslashes($this->escapeHtml($value), '\\\''); } /** * Render options array as a HTML string * * @param array $actions * @return string */ protected function _actionsToHtml(array $actions = []) { $html = []; $attributesObject = new \Magento\Framework\DataObject(); if (empty($actions)) { $actions = $this->_actions; } foreach ($actions as $action) { $attributesObject->setData($action['@']); $html[] = '<a ' . $attributesObject->serialize() . '>' . $action['#'] . '</a>'; } return implode('', $html); } /** * Add one action array to all options data storage * * @param array $actionArray * @return void */ public function addToActions($actionArray) { $this->_actions[] = $actionArray; } }