![]() 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-google-optimizer/Helper/ |
<?php /** * Google Optimizer Scripts Helper * * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\GoogleOptimizer\Helper; /** * @api * @since 100.0.2 */ class Code { /** * @var \Magento\GoogleOptimizer\Model\Code */ protected $_codeModel; /** * @var \Magento\Framework\Model\AbstractModel */ protected $_entity; /** * @param \Magento\GoogleOptimizer\Model\Code $code */ public function __construct(\Magento\GoogleOptimizer\Model\Code $code) { $this->_codeModel = $code; } /** * Get loaded Code object by Entity * * @param \Magento\Framework\Model\AbstractModel $entity * @return \Magento\GoogleOptimizer\Model\Code */ public function getCodeObjectByEntity(\Magento\Framework\Model\AbstractModel $entity) { $this->_entity = $entity; $this->_checkEntityIsEmpty(); if ($entity instanceof \Magento\Cms\Model\Page) { $this->_codeModel->loadByEntityIdAndType($entity->getId(), $this->_getEntityType()); } else { $this->_codeModel->loadByEntityIdAndType($entity->getId(), $this->_getEntityType(), $entity->getStoreId()); } return $this->_codeModel; } /** * Get Entity Type by Entity object * * @return string * @throws \InvalidArgumentException */ protected function _getEntityType() { $type = $this->_getTypeString(); if (empty($type)) { throw new \InvalidArgumentException('The model class is not valid'); } return $type; } /** * Get Entity Type string * * @return string */ protected function _getTypeString() { $type = ''; if ($this->_entity instanceof \Magento\Catalog\Model\Category) { $type = \Magento\GoogleOptimizer\Model\Code::ENTITY_TYPE_CATEGORY; } if ($this->_entity instanceof \Magento\Catalog\Model\Product) { $type = \Magento\GoogleOptimizer\Model\Code::ENTITY_TYPE_PRODUCT; } if ($this->_entity instanceof \Magento\Cms\Model\Page) { $type = \Magento\GoogleOptimizer\Model\Code::ENTITY_TYPE_PAGE; } return $type; } /** * Check if Entity is Empty * * @return $this * @throws \InvalidArgumentException */ protected function _checkEntityIsEmpty() { if (!$this->_entity->getId()) { throw new \InvalidArgumentException('The model is empty'); } return $this; } }