1
0
قرینه از https://github.com/matomo-org/matomo.git synced 2025-08-22 23:17:46 +00:00
Files
matomo/plugins/CoreAdminHome/Emails/SecurityNotificationEmail.php
Michal Kleiner 78fea226f7 Add password strength rules with FE component and BE validation
* Add new System setting for enabling password strength check (#23362)

* Add new System setting for enabling password strength check

* Update broken UI tests

* Update default value to off, update some text

* Update broken UI test by description change

* Add PasswordStrength component (#23371)

* Add PasswordStrength component
* Wire up form submit button to strength check
* Allow the strength validator to work with external input
* Update UI test screenshots
* Add password strength field to UI demo page

* Add backend password strength checks to password set forms (#23378)

* Add backend password strength checks to password set forms
* Add UI test for user manager page
* Update UI fixture to enable strong passwords

* Update valid special characters

* Update text used in Login system settings notification email (#23404)

* Update special character checks to be more inclusive

* Remove readonly filter from event emit to keep the object further updatable (#23406)

* Remove readonly filter from event emit to keep the object further updatable

* Clone the parent user object when edit form is created to prevent silent nested prop manipulation

---------

Co-authored-by: Nathan Gavin <nathangavin987@gmail.com>
2025-07-04 09:20:31 +12:00

86 خطوط
1.8 KiB
PHP

<?php
/**
* Matomo - free/libre analytics platform
*
* @link https://matomo.org
* @license https://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
*/
namespace Piwik\Plugins\CoreAdminHome\Emails;
use Piwik\Mail;
use Piwik\View;
use Piwik\Piwik;
abstract class SecurityNotificationEmail extends Mail
{
public static $notifyPluginList = [
'Login' => 'CoreAdminHome_Login',
'TwoFactorAuth' => 'CoreAdminHome_TwoFactorAuth',
'CoreAdminHome' => 'CoreAdminHome_Cors'
];
/**
* @var string
*/
private $login;
/**
* @var string
*/
private $emailAddress;
public function __construct($login, $emailAddress)
{
parent::__construct();
$this->login = $login;
$this->emailAddress = $emailAddress;
$this->setUpEmail();
}
/**
* @return string
*/
public function getLogin()
{
return $this->login;
}
/**
* @return string
*/
public function getEmailAddress()
{
return $this->emailAddress;
}
private function setUpEmail()
{
$this->setDefaultFromPiwik();
$this->addTo($this->emailAddress);
$this->setSubject($this->getDefaultSubject());
$this->addReplyTo($this->getFrom(), $this->getFromName());
$this->setWrappedHtmlBody($this->getDefaultBodyView());
}
protected function getDefaultSubject()
{
return Piwik::translate('CoreAdminHome_SecurityNotificationEmailSubject');
}
protected function getDefaultBodyView()
{
$view = new View('@CoreAdminHome/_securityNotificationEmail.twig');
$view->login = $this->login;
$view->body = $this->getBody();
return $view;
}
abstract protected function getBody();
}