adding app/listeners/ActivityLog.php
This commit is contained in:
parent
5890337179
commit
8666e3b707
1 changed files with 68 additions and 0 deletions
68
app/listeners/ActivityLog.php
Normal file
68
app/listeners/ActivityLog.php
Normal 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;
|
||||
}
|
||||
}
|
||||
Reference in a new issue