Add Posts\UpdateUsername()

This commit is contained in:
Visman 2020-11-03 21:44:14 +07:00
parent 244321516c
commit d2cc0f187b
3 changed files with 45 additions and 0 deletions

View file

@ -1044,6 +1044,12 @@ class Update extends Admin
'ForumManagerMarkread'
);
$coreConfig->add(
'multiple=>PostManagerUpdateUsername',
'\\ForkBB\\Models\\Post\\UpdateUsername::class',
'PostManagerFeed'
);
$coreConfig->save();
return null;

View file

@ -0,0 +1,38 @@
<?php
declare(strict_types=1);
namespace ForkBB\Models\Post;
use ForkBB\Models\Action;
use ForkBB\Models\User\Model as User;
use RuntimeException;
class UpdateUsername extends Action
{
/**
* Обновляет имя пользователя в сообщениях
*/
public function updateUsername(User $user): void
{
if ($user->isGuest) {
throw new RuntimeException('User expected, not guest');
}
$vars = [
':id' => $user->id,
':name' => $user->username,
];
$query = 'UPDATE ::posts
SET poster=?s:name
WHERE poster_id=?i:id';
$this->c->DB->exec($query, $vars);
$query = 'UPDATE ::posts
SET editor=?s:name
WHERE editor_id=?i:id';
$this->c->DB->exec($query, $vars);
}
}

View file

@ -290,6 +290,7 @@ return [
'PostManagerUserStat' => \ForkBB\Models\Post\UserStat::class,
'PostManagerMove' => \ForkBB\Models\Post\Move::class,
'PostManagerFeed' => \ForkBB\Models\Post\Feed::class,
'PostManagerUpdateUsername' => \ForkBB\Models\Post\UpdateUsername::class,
'ReportModel' => \ForkBB\Models\Report\Model::class,
'ReportManagerSave' => \ForkBB\Models\Report\Save::class,