aboutsummaryrefslogtreecommitdiff
path: root/app/controllers/course/wiki.php
diff options
context:
space:
mode:
authorElmar Ludwig <elmar.ludwig@uni-osnabrueck.de>2024-08-29 14:15:42 +0000
committerElmar Ludwig <elmar.ludwig@uni-osnabrueck.de>2024-08-29 14:15:42 +0000
commitbb5c21dcd0cf9ebb25c3dbbaf7094f55cda08466 (patch)
tree3a375fc69dc1525f20fafdf0fafa5761e9274055 /app/controllers/course/wiki.php
parent195c8548460696cfe6e4c4ffe81e8d9f86ba907d (diff)
don't allow deletion of specific page versions, fixes #4486
Closes #4486 Merge request studip/studip!3339
Diffstat (limited to 'app/controllers/course/wiki.php')
-rw-r--r--app/controllers/course/wiki.php29
1 files changed, 12 insertions, 17 deletions
diff --git a/app/controllers/course/wiki.php b/app/controllers/course/wiki.php
index 6bfa0ce..cf87b08 100644
--- a/app/controllers/course/wiki.php
+++ b/app/controllers/course/wiki.php
@@ -308,29 +308,24 @@ class Course_WikiController extends AuthenticatedController
$this->redirect($this->allpagesURL());
}
- public function deleteversion_action(WikiPage $page, $version_id = null)
+ public function deleteversion_action(WikiPage $page)
{
if (!Request::isPost() || !$page->isEditable() || !CSRFProtection::verifyRequest()) {
throw new AccessDeniedException();
}
- if ($version_id === null) {
- $version = $page->versions[0];
- if ($version) {
- $page['name'] = $version['name'];
- $page['content'] = $version['content'];
- $page['user_id'] = $version['user_id'];
- $page['chdate'] = $version['mkdate'];
- $page->store();
- $version->delete();
- } else {
- $page->delete();
- }
+
+ $version = $page->versions[0];
+ if ($version) {
+ $page['name'] = $version['name'];
+ $page['content'] = $version['content'];
+ $page['user_id'] = $version['user_id'];
+ $page['chdate'] = $version['mkdate'];
+ $page->store();
+ $version->delete();
} else {
- $version = WikiVersion::find($version_id);
- if ($version['page_id'] === $page->id) {
- $version->delete();
- }
+ $page->delete();
}
+
PageLayout::postSuccess(_('Version wurde gelöscht.'));
if (Request::get('redirect_to') === 'page') {
$this->redirect($this->page($page));