diff options
| author | Elmar Ludwig <elmar.ludwig@uni-osnabrueck.de> | 2023-07-11 12:27:24 +0000 |
|---|---|---|
| committer | Jan-Hendrik Willms <tleilax+studip@gmail.com> | 2023-07-11 12:27:24 +0000 |
| commit | be82642eeaa38d4cf18cea351f1ada1898fa844e (patch) | |
| tree | cbcc10d4949b241f5d9c233c4eaba5111447d195 /app/controllers/messages.php | |
| parent | 515521d633d385b7c46f00ca66222c55fd7910d4 (diff) | |
use asButton() instead of custom JS code, fixes #2830
Closes #2830
Merge request studip/studip!1916
Diffstat (limited to 'app/controllers/messages.php')
| -rw-r--r-- | app/controllers/messages.php | 46 |
1 files changed, 22 insertions, 24 deletions
diff --git a/app/controllers/messages.php b/app/controllers/messages.php index d633a72..417a721 100644 --- a/app/controllers/messages.php +++ b/app/controllers/messages.php @@ -718,28 +718,26 @@ class MessagesController extends AuthenticatedController { /* delete all sent or received messages */ public function purge_action($sndrec) { - if (Request::isPost()) { - CSRFProtection::verifyUnsafeRequest(); - - $query = "SELECT message_id - FROM message_user - WHERE snd_rec = :sndrec - AND user_id = :id - AND deleted != 1"; - $returnedMessages = DBManager::get()->fetchFirst($query, [ - 'sndrec' => $sndrec, - 'id' => $GLOBALS['user']->id, - ]); - foreach ($returnedMessages as $returnedMessage) { - $this->deleteMessage($returnedMessage, $sndrec); - } - if ($sndrec === 'rec') { - PageLayout::postSuccess(_('Alle empfangenen Nachrichten wurden gelöscht.')); - $this->redirect('messages/overview'); - } else if ($sndrec === 'snd') { - PageLayout::postSuccess(_('Alle gesendeten Nachrichten wurden gelöscht.')); - $this->redirect('messages/sent'); - } + CSRFProtection::verifyUnsafeRequest(); + + $query = "SELECT message_id + FROM message_user + WHERE snd_rec = :sndrec + AND user_id = :id + AND deleted != 1"; + $returnedMessages = DBManager::get()->fetchFirst($query, [ + 'sndrec' => $sndrec, + 'id' => $GLOBALS['user']->id, + ]); + foreach ($returnedMessages as $returnedMessage) { + $this->deleteMessage($returnedMessage, $sndrec); + } + if ($sndrec === 'rec') { + PageLayout::postSuccess(_('Alle empfangenen Nachrichten wurden gelöscht.')); + $this->redirect('messages/overview'); + } else if ($sndrec === 'snd') { + PageLayout::postSuccess(_('Alle gesendeten Nachrichten wurden gelöscht.')); + $this->redirect('messages/sent'); } } @@ -1009,8 +1007,8 @@ class MessagesController extends AuthenticatedController { _('Nachrichten im Posteingang löschen'), $this->url_for('messages/purge/rec'), Icon::create('trash'), - ['onclick' => 'return STUDIP.Dialog.confirmAsPost("' . $message . '", this.href);'] - ); + ['data-confirm' => $message] + )->asButton(); } } elseif ($action === 'sent') { if (MessageUser::countBySQL("snd_rec = 'snd' AND user_id = :id AND deleted != 1 LIMIT 1", ['id' => $GLOBALS['user']->id])) { |
