قرینه از
https://github.com/matomo-org/matomo.git
synced 2025-08-22 06:57:53 +00:00

* Add new setting for enabling inactive user notifications (#23393) * Migrate 'last seen' from options table to users table (#23388) * Create scheduled task to send inactive users security notification (#23403) * Simplify enrich user and remove surplus methods * Create a language helper to run code using given user's preferred language * Update UI test screenshots --------- Co-authored-by: Nathan Gavin <nathangavin987@gmail.com>
42 خطوط
1.1 KiB
PHP
42 خطوط
1.1 KiB
PHP
<?php
|
|
|
|
/**
|
|
* Matomo - free/libre analytics platform
|
|
*
|
|
* @link https://matomo.org
|
|
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
|
*/
|
|
|
|
namespace Piwik\Plugins\UsersManager\UserNotifications;
|
|
|
|
use Piwik\Container\StaticContainer;
|
|
use Piwik\Date;
|
|
use Piwik\Piwik;
|
|
use Piwik\Plugins\UsersManager\SystemSettings;
|
|
|
|
final class InactiveUsersNotificationProvider extends UserNotificationProvider
|
|
{
|
|
protected function createNotification(array $users): UserNotificationInterface
|
|
{
|
|
return new InactiveUsersEmailNotification($users, Piwik::getAllSuperUserAccessEmailAddresses());
|
|
}
|
|
|
|
protected function getSetsOfUsersToNotify(): array
|
|
{
|
|
$settings = StaticContainer::get(SystemSettings::class);
|
|
if (!$settings->enableInactiveUsersNotifications->getValue()) {
|
|
return [];
|
|
}
|
|
|
|
return [$this->userModel->getUsersWithoutActivityForDays()];
|
|
}
|
|
|
|
public function setUserNotificationDispatched(array $users): void
|
|
{
|
|
$this->userModel->setInactiveUserNotificationWasSentForUsers(
|
|
$users,
|
|
Date::factory('now')->getDatetime()
|
|
);
|
|
}
|
|
}
|