refactor users module to domain/controller and release 0.253 update package

This commit is contained in:
2026-02-12 21:44:40 +01:00
parent f5054047fd
commit c1284ef06c
24 changed files with 1452 additions and 453 deletions

View File

@@ -34,9 +34,12 @@ class Site
public static function special_actions()
{
global $mdb;
$sa = \S::get('s-action');
$domain = preg_replace('/^www\./', '', $_SERVER['SERVER_NAME']);
$cookie_name = 'admin_remember_' . str_replace( '.', '-', $domain );
$users = new \Domain\User\UserRepository($mdb);
switch ($sa)
{
@@ -45,11 +48,11 @@ class Site
$login = \S::get('login');
$pass = \S::get('password');
$result = \admin\factory\Users::logon($login, $pass);
$result = $users->logon($login, $pass);
if ( $result == 1 )
{
$user = \admin\factory\Users::details($login);
$user = $users->details($login);
if ( $user['twofa_enabled'] == 1 )
{
@@ -60,7 +63,7 @@ class Site
'started' => time(),
] );
if ( !\admin\factory\Users::send_twofa_code( (int)$user['id'] ) )
if ( !$users->sendTwofaCode( (int)$user['id'] ) )
{
\S::alert('Nie udało się wysłać kodu 2FA. Spróbuj ponownie.');
\S::delete_session('twofa_pending');
@@ -73,7 +76,7 @@ class Site
}
else
{
$user = \admin\factory\Users::details($login);
$user = $users->details($login);
self::finalize_admin_login(
$user,
@@ -119,7 +122,7 @@ class Site
exit;
}
$ok = \admin\factory\Users::verify_twofa_code((int)$pending['uid'], $code);
$ok = $users->verifyTwofaCode((int)$pending['uid'], $code);
if (!$ok)
{
\S::alert('Błędny lub wygasły kod.');
@@ -128,7 +131,7 @@ class Site
}
// 2FA OK — finalna sesja
$user = \admin\factory\Users::details($pending['login']);
$user = $users->details($pending['login']);
self::finalize_admin_login(
$user,
@@ -152,7 +155,7 @@ class Site
exit;
}
if (!\admin\factory\Users::send_twofa_code((int)$pending['uid'], true))
if (!$users->sendTwofaCode((int)$pending['uid'], true))
{
\S::alert('Kod można wysłać ponownie po krótkiej przerwie.');
}
@@ -245,6 +248,13 @@ class Site
'Filemanager' => function() {
return new \admin\Controllers\FilemanagerController();
},
'Users' => function() {
global $mdb;
return new \admin\Controllers\UsersController(
new \Domain\User\UserRepository( $mdb )
);
},
];
return self::$newControllers;