diff options
| author | Jan-Hendrik Willms <tleilax+studip@gmail.com> | 2024-08-29 14:38:15 +0000 |
|---|---|---|
| committer | Jan-Hendrik Willms <tleilax+studip@gmail.com> | 2024-08-29 14:38:15 +0000 |
| commit | c5bdbd16af8a4b1f2dec09a47c31cd5d2d240264 (patch) | |
| tree | 15179224d934fb19c48a7470dd209df7a7e601c6 /app/controllers/studiengaenge | |
| parent | bb5c21dcd0cf9ebb25c3dbbaf7094f55cda08466 (diff) | |
use csrf protection correctly, fixes #4545
Closes #4545
Merge request studip/studip!3341
Diffstat (limited to 'app/controllers/studiengaenge')
| -rw-r--r-- | app/controllers/studiengaenge/studiengaenge.php | 50 |
1 files changed, 22 insertions, 28 deletions
diff --git a/app/controllers/studiengaenge/studiengaenge.php b/app/controllers/studiengaenge/studiengaenge.php index 8465665..44f5d83 100644 --- a/app/controllers/studiengaenge/studiengaenge.php +++ b/app/controllers/studiengaenge/studiengaenge.php @@ -288,17 +288,13 @@ class Studiengaenge_StudiengaengeController extends MVVController $studiengang = Studiengang::find($studiengang_id); if (!$studiengang) { PageLayout::postError(_('Unbekannter Studiengang')); - } else { - if (Request::isPost()) { - if (Request::submitted('delete')) { - CSRFProtection::verifyRequest(); - PageLayout::postSuccess(sprintf( - _('Studiengang "%s" gelöscht!'), - htmlReady($studiengang->name) - )); - $studiengang->delete(); - } - } + } else if (Request::submitted('delete')) { + CSRFProtection::verifyUnsafeRequest(); + PageLayout::postSuccess(sprintf( + _('Studiengang "%s" gelöscht!'), + htmlReady($studiengang->name) + )); + $studiengang->delete(); } $this->redirect($this->action_url('index')); } @@ -538,23 +534,21 @@ class Studiengaenge_StudiengaengeController extends MVVController if ($this->stg_stgteil->isNew()) { PageLayout::postError(_('Unbekannter Studiengangteil')); } else { - if (Request::isPost()) { - CSRFProtection::verifyRequest(); - if (!MvvPerm::haveFieldPermStudiengangteile($studiengang, MvvPerm::PERM_CREATE)) { - throw new Trails\Exception(403); - } - $stgteil_name = $this->stg_stgteil->stgteil_name; - $stgbez_name = $this->stg_stgteil->stgbez_name; - if ($this->stg_stgteil->delete()) { - PageLayout::postSuccess(sprintf( - _('Die Zuordnung des Studiengangteils "%s" als "%s" zum Studiengang "%s" wurde gelöscht.'), - htmlReady($stgteil_name), - htmlReady($stgbez_name), - htmlReady($studiengang->name) - )); - } else { - PageLayout::postError(_('Der Studiengangteil konnte nicht gelöscht werden.')); - } + CSRFProtection::verifyUnsafeRequest(); + if (!MvvPerm::haveFieldPermStudiengangteile($studiengang, MvvPerm::PERM_CREATE)) { + throw new Trails\Exception(403); + } + $stgteil_name = $this->stg_stgteil->stgteil_name; + $stgbez_name = $this->stg_stgteil->stgbez_name; + if ($this->stg_stgteil->delete()) { + PageLayout::postSuccess(sprintf( + _('Die Zuordnung des Studiengangteils "%s" als "%s" zum Studiengang "%s" wurde gelöscht.'), + htmlReady($stgteil_name), + htmlReady($stgbez_name), + htmlReady($studiengang->name) + )); + } else { + PageLayout::postError(_('Der Studiengangteil konnte nicht gelöscht werden.')); } } $this->redirect( |
