61 lines
1.4 KiB
PHP
Executable File
61 lines
1.4 KiB
PHP
Executable File
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
/**
|
|
* @author Amasty Team
|
|
* @copyright Copyright (c) Amasty (https://www.amasty.com)
|
|
* @package Admin Actions Log for Magento 2
|
|
*/
|
|
|
|
namespace Amasty\AdminActionsLog\Model\LogEntry;
|
|
|
|
use Amasty\AdminActionsLog\Model\Admin\SessionUserDataProvider;
|
|
use Magento\Framework\Stdlib\DateTime\DateTime;
|
|
|
|
class AdminLogEntryFactory
|
|
{
|
|
/**
|
|
* @var DateTime
|
|
*/
|
|
private $dateTime;
|
|
|
|
/**
|
|
* @var LogEntryFactory
|
|
*/
|
|
private $logEntryFactory;
|
|
|
|
/**
|
|
* @var SessionUserDataProvider
|
|
*/
|
|
private $userDataProvider;
|
|
|
|
public function __construct(
|
|
DateTime $dateTime,
|
|
LogEntryFactory $logEntryFactory,
|
|
SessionUserDataProvider $userDataProvider
|
|
) {
|
|
$this->dateTime = $dateTime;
|
|
$this->logEntryFactory = $logEntryFactory;
|
|
$this->userDataProvider = $userDataProvider;
|
|
}
|
|
|
|
public function create(array $data = [])
|
|
{
|
|
$data = array_merge(
|
|
[
|
|
LogEntry::DATE => $this->dateTime->gmtDate(),
|
|
LogEntry::USERNAME => $this->userDataProvider->getUserName(),
|
|
LogEntry::PARAMETER_NAME => 'id',
|
|
LogEntry::STORE_ID => 0,
|
|
LogEntry::IP => $this->userDataProvider->getIpAddress(),
|
|
],
|
|
$data
|
|
);
|
|
$logEntry = $this->logEntryFactory->create(['data' => $data]);
|
|
$logEntry->setHasDataChanges(true);
|
|
|
|
return $logEntry;
|
|
}
|
|
}
|