![]() 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/ResourceModel/Db/VersionControl/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Framework\Model\ResourceModel\Db\VersionControl; /** * Class AbstractDb with snapshot saving and relation save processing */ abstract class AbstractDb extends \Magento\Framework\Model\ResourceModel\Db\AbstractDb { /** * @var Snapshot */ protected $entitySnapshot; /** * @var RelationComposite */ protected $entityRelationComposite; /** * @param Snapshot $entitySnapshot * @param RelationComposite $entityRelationComposite * @param \Magento\Framework\Model\ResourceModel\Db\Context $context * @param string $connectionName */ public function __construct( \Magento\Framework\Model\ResourceModel\Db\Context $context, Snapshot $entitySnapshot, RelationComposite $entityRelationComposite, $connectionName = null ) { $this->entitySnapshot = $entitySnapshot; $this->entityRelationComposite = $entityRelationComposite; parent::__construct($context, $connectionName); } /** * @inheritdoc */ protected function _afterLoad(\Magento\Framework\Model\AbstractModel $object) { $this->entitySnapshot->registerSnapshot($object); return parent::_afterLoad($object); } /** * @inheritdoc */ protected function processAfterSaves(\Magento\Framework\Model\AbstractModel $object) { $this->_afterSave($object); $this->entitySnapshot->registerSnapshot($object); $object->afterSave(); $this->entityRelationComposite->processRelations($object); } /** * @inheritdoc */ protected function isModified(\Magento\Framework\Model\AbstractModel $object) { return $this->entitySnapshot->isModified($object); } /** * @inheritdoc */ protected function processNotModifiedSave(\Magento\Framework\Model\AbstractModel $object) { $this->entityRelationComposite->processRelations($object); return $this; } }