aboutsummaryrefslogtreecommitdiff
path: root/app/controllers/course/forum/discussions.php
diff options
context:
space:
mode:
Diffstat (limited to 'app/controllers/course/forum/discussions.php')
-rw-r--r--app/controllers/course/forum/discussions.php40
1 files changed, 19 insertions, 21 deletions
diff --git a/app/controllers/course/forum/discussions.php b/app/controllers/course/forum/discussions.php
index 219666d..c2bae73 100644
--- a/app/controllers/course/forum/discussions.php
+++ b/app/controllers/course/forum/discussions.php
@@ -12,7 +12,7 @@ use Forum\Topic;
class Course_Forum_DiscussionsController extends Forum\BaseController
{
- public function before_filter(&$action, &$args)
+ public function before_filter(&$action, &$args): void
{
parent::before_filter($action, $args);
@@ -23,8 +23,8 @@ class Course_Forum_DiscussionsController extends Forum\BaseController
}
}
- public function index_action() {
-
+ public function index_action(): void
+ {
$metadata = DBManager::get()->fetchOne(
"SELECT
COUNT(posting_id) as 'postings_count',
@@ -48,12 +48,10 @@ class Course_Forum_DiscussionsController extends Forum\BaseController
);
}
- public function show_action($discussion_id)
+ public function show_action(Discussion $discussion): void
{
- $discussion = Discussion::find($discussion_id);
-
if (!$discussion) {
- throw new AccessDeniedException();
+ throw new NotFoundException();
}
PageLayout::setTitle($discussion->title);
@@ -98,7 +96,7 @@ class Course_Forum_DiscussionsController extends Forum\BaseController
$this->render_vue_app(
Studip\VueApp::create('forum/discussions/Show')
->withProps([
- 'auth_user' => $auth_user,
+ 'authUser' => $auth_user,
'discussion' => [
...$discussion->transformData(),
'topic' => $discussion->topic->toRawArray(),
@@ -107,14 +105,14 @@ class Course_Forum_DiscussionsController extends Forum\BaseController
'type' => !empty($discussion->discussion_type) ? $discussion->discussion_type->toRawArray() : []
],
'category' => $category ? $category->toRawArray() : [],
- 'read_index' => (int) ($posting_read ? $posting_read->read_index : 0),
+ 'readIndex' => (int) ($posting_read ? $posting_read->read_index : 0),
'redirect' => Request::option('redirect'),
- 'search_keyword' => Request::get('q', $_SESSION['forum'][$this->range_id]['search_filter']['keyword'] ?? '')
+ 'searchKeyword' => Request::get('q', $_SESSION['forum'][$this->range_id]['search_filter']['keyword'] ?? '')
])
);
}
- public function edit_action(Discussion $discussion = null)
+ public function edit_action(?Discussion $discussion = null): void
{
if ($discussion->isNew()) {
PageLayout::setTitle(_('Neue Diskussion starten'));
@@ -134,9 +132,9 @@ class Course_Forum_DiscussionsController extends Forum\BaseController
['range_id' => $this->range_id]
);
- $all_tags = array_map(fn(TagDTO $tag) => $tag->toRawArray(), TagDTO::getForumTags());
- $discussion_tags = array_map(fn(TagDTO $tag) => $tag->toRawArray(), $discussion->tags);
- $discussion_types = array_map(fn(DiscussionType $discussion_type) => $discussion_type->toRawArray(), DiscussionType::getForumDiscussionType());
+ $allTags = array_map(fn(TagDTO $tag) => $tag->toRawArray(), TagDTO::getForumTags());
+ $discussionTags = array_map(fn(TagDTO $tag) => $tag->toRawArray(), $discussion->tags);
+ $discussionTypes = array_map(fn(DiscussionType $discussion_type) => $discussion_type->toRawArray(), DiscussionType::getForumDiscussionType());
$this->render_vue_app(
Studip\VueApp::create('forum/discussions/Edit')
@@ -144,16 +142,16 @@ class Course_Forum_DiscussionsController extends Forum\BaseController
'discussion' => [
...$discussion->transformData(),
'topic_id' => !empty($discussion->topic_id) ? $discussion->topic_id : Request::option('topic_id'),
- 'tags' => $discussion_tags
+ 'tags' => $discussionTags
],
'topics' => $topics,
- 'tags' => $all_tags,
- 'discussion_types' => $discussion_types
+ 'tags' => $allTags,
+ 'discussionTypes' => $discussionTypes
])
);
}
- public function save_action($discussion_id = null)
+ public function save_action($discussion_id = null): void
{
CSRFProtection::verifyUnsafeRequest();
@@ -223,12 +221,12 @@ class Course_Forum_DiscussionsController extends Forum\BaseController
);
}
- public function delete_action($discussion_id)
+ public function delete_action(Discussion $discussion): void
{
- $discussion = Discussion::find($discussion_id);
+ CSRFProtection::verifyUnsafeRequest();
if (!$discussion) {
- throw new AccessDeniedException();
+ throw new NotFoundException();
}
if (!$this->is_moderator && $discussion->user_id !== $this->user_id) {