Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
ReportConcurrentAdmins.php
Go to the documentation of this file.
1 <?php
7 
11 
16 {
20  protected $config;
21 
26 
30  protected $usersFactory;
31 
35  protected $jsonEncoder;
36 
43  public function __construct(
45  \Magento\Backend\Model\Auth\Session $backendAuthSession,
46  \Magento\NewRelicReporting\Model\UsersFactory $usersFactory,
47  \Magento\Framework\Json\EncoderInterface $jsonEncoder
48  ) {
49  $this->config = $config;
50  $this->backendAuthSession = $backendAuthSession;
51  $this->usersFactory = $usersFactory;
52  $this->jsonEncoder = $jsonEncoder;
53  }
54 
62  public function execute(Observer $observer)
63  {
64  if ($this->config->isNewRelicEnabled()) {
65  if ($this->backendAuthSession->isLoggedIn()) {
66  $user = $this->backendAuthSession->getUser();
67  $jsonData = [
68  'id' => $user->getId(),
69  'username' => $user->getUserName(),
70  'name' => $user->getFirstName() . ' ' . $user->getLastName(),
71  ];
72 
73  $modelData = [
74  'type' => 'admin_activity',
75  'action' => $this->jsonEncoder->encode($jsonData),
76  ];
77 
79  $usersModel = $this->usersFactory->create();
80  $usersModel->setData($modelData);
81  $usersModel->save();
82  }
83  }
84  }
85 }
__construct(Config $config, \Magento\Backend\Model\Auth\Session $backendAuthSession, \Magento\NewRelicReporting\Model\UsersFactory $usersFactory, \Magento\Framework\Json\EncoderInterface $jsonEncoder)
$user
Definition: dummy_user.php:13