Archived
1
0
Fork 0

adding app/listeners/ActivityLog.php

This commit is contained in:
Henrik Hautakoski 2018-04-01 18:27:11 +02:00
parent 5890337179
commit 8666e3b707

View file

@ -0,0 +1,68 @@
<?php
namespace App\Listener;
use Phalcon\Mvc\User\Plugin,
Phalcon\Events\Event,
App\Model\Data\User,
App\Model\Data\ActivityLog as ActivityLogger,
Httpcb\Auth;
class ActivityLog extends Plugin
{
/**
* @var ActivityLogger
*/
protected $_table = null;
/**
* On login event.
*
* @param Event $event
* @param Auth $auth
* @param $type
*/
public function onLogin(Event $event, Auth $auth, $type)
{
$this->_log($auth->getUser(), "Logged in ({$type})");
}
/**
* @param Event $event
* @param User $auth
*/
public function onPasswordCreated(Event $event, User $user)
{
$this->_log($user, "Created password");
}
/**
* @param Event $event
* @param User $auth
*/
public function onPasswordChanged(Event $event, User $user)
{
$this->_log($user, "Changed password");
}
protected function _log(User $user, $message)
{
$ip = (new \Phalcon\Http\Request())->getClientAddress();
$data = [
'user_id' => $user->getId(),
'ip' => $ip,
'message' => $message
];
return $this->_getLogger()->create($data);
}
protected function _getLogger()
{
if ($this->_table === null) {
$this->_table = new ActivityLogger();
}
return $this->_table;
}
}