From 1eaa800975c8ef629b75728c6fae3d71389ec58a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Valenta?= <git@imaniti.org> Date: Tue, 6 Jun 2023 04:42:47 +0900 Subject: [PATCH] provide forum info --- assets/javascript/nastenka_sync.js | 1 + .../restapi/controller/forums/Forums.php | 24 +++++++++++++++++-- nastenka_sync.php | 1 + styles/all/template/nastenka_sync.html | 1 + 4 files changed, 25 insertions(+), 2 deletions(-) diff --git a/assets/javascript/nastenka_sync.js b/assets/javascript/nastenka_sync.js index b0ef2ea..89295f0 100644 --- a/assets/javascript/nastenka_sync.js +++ b/assets/javascript/nastenka_sync.js @@ -22,6 +22,7 @@ window.addEventListener( } nextUrl.searchParams.append("token", window.TOKEN); + nextUrl.searchParams.append("allowed-forum-ids", window.ALLOWED_FORUM_IDS); window.location = nextUrl; } diff --git a/ext/eparsons/restapi/controller/forums/Forums.php b/ext/eparsons/restapi/controller/forums/Forums.php index 4ff83c5..1190e77 100755 --- a/ext/eparsons/restapi/controller/forums/Forums.php +++ b/ext/eparsons/restapi/controller/forums/Forums.php @@ -110,7 +110,8 @@ class Forums WHERE forum_id = ' . $forum_id . ' AND ' . $phpbb_content_visibility->get_visibility_sql('topic', $forum_id) . ' - ORDER BY topic_id DESC' + ORDER BY topic_id DESC + LIMIT 25' ); $topics = array(); @@ -139,6 +140,25 @@ class Forums array_push($topics, $topic); } - return new JsonResponse($topics, 200); + $forum_query = $db->sql_query( + 'SELECT forum_name, forum_desc + FROM ' . FORUMS_TABLE . ' + WHERE forum_id= ' . $forum_id + ); + + $forum = array(); + + while ($row => $db->sql_fetchrow($forum_query)) { + $forum["name"] = $row["forum_name"]; + $forum["desc"] = $row["forum_desc"]; + } + + return new JsonResponse( + array( + "forum" => $forum, + "topics" => $topics + ), + 200 + ); } } diff --git a/nastenka_sync.php b/nastenka_sync.php index f9c95f1..e468bea 100755 --- a/nastenka_sync.php +++ b/nastenka_sync.php @@ -111,6 +111,7 @@ $template->set_filenames(array( )); $template->assign_vars(array( 'TOKEN' => $token, + 'ALLOWED_FORUM_IDS' => implode(",", $allowed_forum_ids) )); $request->disable_super_globals(); diff --git a/styles/all/template/nastenka_sync.html b/styles/all/template/nastenka_sync.html index 1574f48..1085f1c 100644 --- a/styles/all/template/nastenka_sync.html +++ b/styles/all/template/nastenka_sync.html @@ -25,6 +25,7 @@ <script> window.TOKEN = "{TOKEN}"; + window.ALLOWED_FORUM_IDS = "{ALLOWED_FORUM_IDS}"; </script> <script src="./assets/javascript/nastenka_sync.js?v=1"></script> -- GitLab