Перенос разрозненных файлов в фабрику. Утилизация неиспользуемых функций. #49

This commit is contained in:
2023-12-05 03:01:04 +02:00
committed by Ivor Barhansky
parent c51dbaeae3
commit 8be1c6cd7e
79 changed files with 12178 additions and 12956 deletions

View File

@@ -15,7 +15,7 @@ class Moderation
private const CENTRAL_SQUARE_ROOM = 9;
private const JAIL_STORAGE = 1357908642; /* Ух, костыль! */
private const NOT_SET = 'Не указано.';
private const EXPIRATION_DATETIME_FORMAT = 'd M Y H:i';
public const EXPIRATION_DATETIME_FORMAT = 'd M Y H:i';
private int $target;
public function __construct(int $userid)
@@ -26,7 +26,7 @@ class Moderation
/**
* Молчание
* @param DateTime $expiration срок истечения.
* @param string $reason причина применения.
* @param string $reason причина применения.
*/
public function silence(DateTime $expiration, string $reason = self::NOT_SET): void
{
@@ -59,7 +59,7 @@ class Moderation
/**
* Обезличивание
* @param DateTime $expiration срок истечения.
* @param string $reason причина применения.
* @param string $reason причина применения.
*/
public function depersonalize(DateTime $expiration, string $reason = self::NOT_SET): void
{
@@ -77,7 +77,7 @@ class Moderation
*/
public function undepersonalize(): void
{
if (Db::getValue('select count(info_delete) from users where id = ? and info_delete != 0', [$this->target]) === 0) {
if (Db::getValue('select count(info_delete) from users where id = ? and info_delete <= unix_timestamp()', [$this->target]) === 0) {
return;
}
Db::sql('update users set info_delete = default where id = ?', [$this->target]);
@@ -92,13 +92,13 @@ class Moderation
/**
* Тюрьма
* @param DateTime $expiration срок истечения.
* @param string $reason причина применения.
* @param string $reason причина применения.
* @todo Корректно выбрасывать игрока из подземелья.
*/
public function prison(DateTime $expiration, string $reason = self::NOT_SET): void
{
Db::sql('update users set jail = ?, room = ? where id = ?', [$expiration->getTimestamp(), self::JAIL_ROOM, $this->target,]);
Db::sql('update items_users set `delete` = ? where `delete` = 0 and uid = ?', [self::JAIL_STORAGE, $this->target,]);
Db::sql('update items_users set is_arrested = 1 where uid = ?', [$this->target,]);
Delo::add(
10,
'moderation.prison',
@@ -113,7 +113,7 @@ class Moderation
public function unprison(): void
{
Db::sql('update users set jail = default, room = ? where id = ?', [self::CENTRAL_SQUARE_ROOM, $this->target,]);
Db::sql('update items_users set `delete` = default where `delete` = ? and uid = ?', [self::JAIL_STORAGE, $this->target,]);
Db::sql('update items_users set is_arrested = default where uid = ?', [$this->target,]);
Delo::add(
10,
'moderation.unprison',