قرینه از
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>
39 خطوط
957 B
PHP
39 خطوط
957 B
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\Plugins\UsersManager\Model as UserModel;
|
|
|
|
abstract class UserNotificationProvider implements UserNotificationProviderInterface
|
|
{
|
|
/** @var UserModel */
|
|
protected $userModel;
|
|
|
|
public function __construct()
|
|
{
|
|
$this->userModel = new UserModel();
|
|
}
|
|
|
|
abstract protected function createNotification(array $users): UserNotificationInterface;
|
|
|
|
abstract protected function getSetsOfUsersToNotify(): array;
|
|
|
|
public function getUserNotificationsForDispatch(): array
|
|
{
|
|
$notifications = [];
|
|
|
|
foreach (array_filter($this->getSetsOfUsersToNotify()) as $setOfUsers) {
|
|
$notifications[] = $this->createNotification($setOfUsers);
|
|
}
|
|
|
|
return $notifications;
|
|
}
|
|
}
|