Add quickwarn

This commit is contained in:
Alma Armas 2020-07-17 16:39:34 +00:00
parent af6eeb882c
commit 0b16ff3375
3 changed files with 39 additions and 2 deletions

View file

@ -94,4 +94,14 @@ final class AdminPresenter extends OpenVKPresenter
$user->ban($this->queryParam("reason")); $user->ban($this->queryParam("reason"));
exit(json_encode([ "reason" => $this->queryParam("reason") ])); exit(json_encode([ "reason" => $this->queryParam("reason") ]));
} }
function renderQuickWarn(int $id): void
{
$user = $this->users->get($id);
if(!$user)
exit(json_encode([ "error" => "User does not exist" ]));
$user->adminNotify("⚠️ " . $this->queryParam("message"));
exit(json_encode([ "message" => $this->queryParam("message") ]));
}
} }

View file

@ -76,6 +76,9 @@
<a href="javascript:banUser()" class="profile_link"> <a href="javascript:banUser()" class="profile_link">
Забанить пользователя Забанить пользователя
</a> </a>
<a href="javascript:warnUser()" class="profile_link">
Предупредить пользователя
</a>
{/if} {/if}
{var subStatus = $user->getSubscriptionStatus($thisUser)} {var subStatus = $user->getSubscriptionStatus($thisUser)}
@ -456,7 +459,7 @@
function banUser() { function banUser() {
uBanMsgTxt = "Вы собираетесь забанить пользователя " + {$user->getCanonicalName()} + "."; uBanMsgTxt = "Вы собираетесь забанить пользователя " + {$user->getCanonicalName()} + ".";
uBanMsgTxt += "<br/><b>Предупреждение</b>: Это действие удалит все подписки пользователя и отпишет всех от него."; uBanMsgTxt += "<br/><b>Предупреждение</b>: Это действие удалит все подписки пользователя и отпишет всех от него.";
uBanMsgTxt += "<br/><br/><b>Причина бана</b>: <input type='text' id='uBanMsgInput' placeholder='насрал в штаны' />" uBanMsgTxt += "<br/><br/><b>Причина бана</b>: <input type='text' id='uBanMsgInput' placeholder='придумайте что-нибудь крутое' />"
MessageBox("Забанить " + {$user->getFirstName()}, uBanMsgTxt, ["Подтвердить", "Отмена"], [ MessageBox("Забанить " + {$user->getFirstName()}, uBanMsgTxt, ["Подтвердить", "Отмена"], [
(function() { (function() {
@ -472,7 +475,29 @@
xhr.send(null); xhr.send(null);
}), }),
Function.noop Function.noop
]) ]);
}
function warnUser() {
uBanMsgTxt = "Вы собираетесь предупредить пользователя " + {$user->getCanonicalName()} + ".";
uBanMsgTxt += "<br/>Мы отправим уведомление пользователю в личные сообщения от имени аккаунта администратора.";
uBanMsgTxt += "<br/><br/><b>Текст предупреждения</b>: <input type='text' id='uWarnMsgInput' placeholder='придумайте что-нибудь крутое' />"
MessageBox("Выдать предупреждение " + {$user->getFirstName()}, uBanMsgTxt, ["Подтвердить", "Отмена"], [
(function() {
res = document.querySelector("#uWarnMsgInput").value;
xhr = new XMLHttpRequest();
xhr.open("GET", "/admin/warn.pl/" + {$user->getId()} + "?message=" + res, true);
xhr.onload = (function() {
if(xhr.responseText.indexOf("message") === -1)
MessageBox("Ошибка", "Не удалось отправить предупреждение...", ["OK"], [Function.noop]);
else
MessageBox("Операция успешна", "Предупреждение отправлено", ["OK"], [Function.noop]);
});
xhr.send(null);
}),
Function.noop
]);
} }
</script> </script>
</div> </div>

View file

@ -193,6 +193,8 @@ routes:
handler: "Admin->club" handler: "Admin->club"
- url: "/admin/ban.pl/{num}" - url: "/admin/ban.pl/{num}"
handler: "Admin->quickBan" handler: "Admin->quickBan"
- url: "/admin/warn.pl/{num}"
handler: "Admin->quickWarn"
- url: "/sandbox_cocksex" - url: "/sandbox_cocksex"
handler: "About->sandbox" handler: "About->sandbox"
- url: "/{?shortCode}" - url: "/{?shortCode}"