From 0a6ce0ffc0c7de2782815eb5bc28d49c44fc5293 Mon Sep 17 00:00:00 2001 From: Maxim Leshchenko Date: Sat, 25 Dec 2021 22:32:15 +0200 Subject: [PATCH] Users: Do not delete subscriptions when banned for flood requests It wasn't cool --- Web/Models/Entities/User.php | 20 +++++++++++--------- Web/Presenters/OpenVKPresenter.php | 2 +- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/Web/Models/Entities/User.php b/Web/Models/Entities/User.php index 81d6cc08..0e85d775 100644 --- a/Web/Models/Entities/User.php +++ b/Web/Models/Entities/User.php @@ -698,16 +698,18 @@ class User extends RowModel ]); } - function ban(string $reason): void + function ban(string $reason, bool $deleteSubscriptions = true): void { - $subs = DatabaseConnection::i()->getContext()->table("subscriptions"); - $subs = $subs->where( - "follower = ? OR (target = ? AND model = ?)", - $this->getId(), - $this->getId(), - get_class($this), - ); - $subs->delete(); + if($deleteSubscriptions) { + $subs = DatabaseConnection::i()->getContext()->table("subscriptions"); + $subs = $subs->where( + "follower = ? OR (target = ? AND model = ?)", + $this->getId(), + $this->getId(), + get_class($this), + ); + $subs->delete(); + } $this->setBlock_Reason($reason); $this->save(); diff --git a/Web/Presenters/OpenVKPresenter.php b/Web/Presenters/OpenVKPresenter.php index 9bb60313..48d6a9af 100755 --- a/Web/Presenters/OpenVKPresenter.php +++ b/Web/Presenters/OpenVKPresenter.php @@ -139,7 +139,7 @@ abstract class OpenVKPresenter extends SimplePresenter if(!($res === IP::RL_RESET || $res === IP::RL_CANEXEC)) { if($res === IP::RL_BANNED && OPENVK_ROOT_CONF["openvk"]["preferences"]["security"]["rateLimits"]["autoban"]) { - $this->user->identity->ban("Account has possibly been stolen"); + $this->user->identity->ban("Account has possibly been stolen", false); exit("Хакеры? Интересно..."); }