b374k
m1n1 1.01
Apache/2.4.41 (Ubuntu)
Linux vmi616275.contaboserver.net 5.4.0-84-generic #94-Ubuntu SMP Thu Aug 26 20:27:37 UTC 2021 x86_64
uid=33(www-data) gid=33(www-data) groups=33(www-data)
server ip : 62.171.164.128 | your ip : 127.0.0.1
safemode OFF
 >  / home / dev2.destoffenstraat.com / setup / src / Magento / Setup / Module /
Filename/home/dev2.destoffenstraat.com/setup/src/Magento/Setup/Module/DataSetup.php
Size5.6 kb
Permissionrw-r--r--
Ownerroot : root
Create time17-Aug-2025 10:26
Last modified28-Jan-2025 06:45
Last accessed23-Aug-2025 03:55
Actionsedit | rename | delete | download (gzip)
Viewtext | code | image
<?php
/**
* Resource Setup Model
*
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\Setup\Module;

use Magento\Framework\App\Filesystem\DirectoryList;
use Magento\Framework\Setup\ModuleDataSetupInterface;
use Magento\Setup\Module\Setup\SetupCache;

/**
* @api
*/
class DataSetup extends \Magento\Framework\Module\Setup implements ModuleDataSetupInterface
{
/**
* Tables data cache
*
* @var SetupCache
*/
private $setupCache;

/**
* Event manager
*
* @var \Magento\Framework\Event\ManagerInterface
*/
private $_eventManager;

/**
* Logger
*
* @var \Psr\Log\LoggerInterface
*/
private $_logger;

/**
* Migration factory
*
* @var \Magento\Framework\Module\Setup\MigrationFactory
*/
private $_migrationFactory;

/**
* Filesystem instance
*
* @var \Magento\Framework\Filesystem
*/
private $filesystem;

/**
* Init
*
* @param \Magento\Framework\Module\Setup\Context $context
* @param string $connectionName
*/
public function __construct(
\Magento\Framework\Module\Setup\Context $context,
$connectionName = ModuleDataSetupInterface::DEFAULT_SETUP_CONNECTION
) {
parent::__construct($context->getResourceModel(), $connectionName);
$this->_eventManager = $context->getEventManager();
$this->_logger = $context->getLogger();
$this->_migrationFactory = $context->getMigrationFactory();
$this->filesystem = $context->getFilesystem();
$this->setupCache = new SetupCache();
}

/**
* {@inheritdoc}
*/
public function getSetupCache()
{
return $this->setupCache;
}

/**
* Retrieve row or field from table by id or string and parent id
*
* @param string $table
* @param string $idField
* @param string|integer $rowId
* @param string|null $field
* @param string|null $parentField
* @param string|integer $parentId
* @return mixed
*/
public function getTableRow($table, $idField, $rowId, $field = null, $parentField = null, $parentId = 0)
{
$table = $this->getTable($table);
if (!$this->setupCache->has($table, $parentId, $rowId)) {
$connection = $this->getConnection();
$bind = ['id_field' => $rowId];
$select = $connection->select()
->from($table)
->where($connection->quoteIdentifier($idField) . '= :id_field');
if (null !== $parentField) {
$select->where($connection->quoteIdentifier($parentField) . '= :parent_id');
$bind['parent_id'] = $parentId;
}
$this->setupCache->setRow($table, $parentId, $rowId, $connection->fetchRow($select, $bind));
}

return $this->setupCache->get($table, $parentId, $rowId, $field);
}

/**
* Delete table row
*
* @param string $table
* @param string $idField
* @param string|int $rowId
* @param null|string $parentField
* @param int|string $parentId
* @return $this
*/
public function deleteTableRow($table, $idField, $rowId, $parentField = null, $parentId = 0)
{
$table = $this->getTable($table);
$connection = $this->getConnection();
$where = [$connection->quoteIdentifier($idField) . '=?' => $rowId];
if (null !== $parentField) {
$where[$connection->quoteIdentifier($parentField) . '=?'] = $parentId;
}

$connection->delete($table, $where);

$this->setupCache->remove($table, $parentId, $rowId);

return $this;
}

/**
* Update one or more fields of table row
*
* @param string $table
* @param string $idField
* @param string|integer $rowId
* @param string|array $field
* @param mixed|null $value
* @param string $parentField
* @param string|integer $parentId
* @return $this
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
*/
public function updateTableRow($table, $idField, $rowId, $field, $value = null, $parentField = null, $parentId = 0)
{
$table = $this->getTable($table);
if (is_array($field)) {
$data = $field;
} else {
$data = [$field => $value];
}

$connection = $this->getConnection();
$where = [$connection->quoteIdentifier($idField) . '=?' => $rowId];
$connection->update($table, $data, $where);

if (is_array($field)) {
$oldRow = $this->setupCache->has($table, $parentId, $rowId) ?
$this->setupCache->get($table, $parentId, $rowId) :
[];
$newRowData = array_merge($oldRow, $field);
$this->setupCache->setRow($table, $parentId, $rowId, $newRowData);
} else {
$this->setupCache->setField($table, $parentId, $rowId, $field, $value);
}

return $this;
}

/**
* Gets event manager
*
* @return \Magento\Framework\Event\ManagerInterface
*/
public function getEventManager()
{
return $this->_eventManager;
}

/**
* Gets filesystem
*
* @return \Magento\Framework\Filesystem
*/
public function getFilesystem()
{
return $this->filesystem;
}

/**
* Create migration setup
*
* @param array $data
* @return \Magento\Framework\Module\Setup\Migration
*/
public function createMigrationSetup(array $data = [])
{
$data['setup'] = $this;
return $this->_migrationFactory->create($data);
}
}