![]() 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/framework/Model/ActionValidator/ |
<?php /** * Action validator, remove action * * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Framework\Model\ActionValidator; use Magento\Framework\Model\AbstractModel; /** * @api * @since 100.0.2 */ class RemoveAction { /** * @var \Magento\Framework\Registry */ protected $registry; /** * @var array */ protected $protectedModels; /** * @param \Magento\Framework\Registry $registry * @param array $protectedModels */ public function __construct(\Magento\Framework\Registry $registry, array $protectedModels = []) { $this->registry = $registry; $this->protectedModels = $protectedModels; } /** * Safeguard function that checks if item can be removed * * @param \Magento\Framework\Model\AbstractModel $model * @return bool */ public function isAllowed(AbstractModel $model) { $isAllowed = true; if ($this->registry->registry('isSecureArea')) { $isAllowed = true; } elseif (in_array($this->getBaseClassName($model), $this->protectedModels)) { $isAllowed = false; } return $isAllowed; } /** * Get clean model name without Interceptor and Proxy part and slashes * @param object $object * @return mixed */ protected function getBaseClassName($object) { $className = ltrim(get_class($object), "\\"); $className = str_replace(['\Interceptor', '\Proxy'], [''], $className); return $className; } }