Skip to content
Snippets Groups Projects
Commit 56e634dd authored by echicken's avatar echicken :chicken:
Browse files

WIP; quite broken in places at the moment.

parent 956c84e6
No related branches found
No related tags found
1 merge request!463MRC mods by Codefenix (2024-10-20)
<!--HIDDEN:XJS Forum--> <!--HIDDEN:XJS Forum-->
<script type="text/javascript" src="./js/xjs-forum.js"></script>
<?xjs <?xjs
load(settings.web_lib + 'request.js'); var request = require({}, settings.web_lib + 'request.js', 'request');
load(settings.web_lib + 'forum.js'); var forum = require({}, settings.web_lib + 'forum.js', 'forum');
locale.section = 'page_forum'; locale.section = 'page_forum';
?> ?>
<script type="text/javascript" src="./js/xjs-forum.js"></script>
<script type="text/javascript" src="./js/cache.js"></script>
<!-- To do: Search (forum, group, sub, or thread), Sortation and data-attributes --> <!-- To do: Search (forum, group, sub, or thread), Sortation and data-attributes -->
<div data-loading-template hidden> <div data-loading-template hidden>
...@@ -18,15 +19,15 @@ ...@@ -18,15 +19,15 @@
</div> </div>
<!-- Viewing a thread (list of messages) --> <!-- Viewing a thread (list of messages) -->
<? if (Request.has_param('sub') && Request.has_param('thread')) { ?> <? if (request.has_param('sub') && request.has_param('thread')) { ?>
<? var thread = getMessageThreads(Request.get_param('sub'), settings.max_messages).thread[Request.get_param('thread')]; ?> <? var thread = getMessageThreads(request.get_param('sub'), settings.max_messages).thread[request.get_param('thread')]; ?>
<script type="text/javascript" src="./js/graphics-converter.js"></script> <script type="text/javascript" src="./js/graphics-converter.js"></script>
<script type="text/javascript" src="./js/avatars.js"></script> <script type="text/javascript" src="./js/avatars.js"></script>
<div hidden> <div hidden>
<li id="forum-message-template" class="list-group-item striped"> <li id="forum-message-template" class="list-group-item striped" data-message>
<a data-message-anchor></a> <a data-message-anchor></a>
<h4> <h4>
<strong data-message-subject></strong> <strong data-message-subject></strong>
...@@ -74,22 +75,22 @@ ...@@ -74,22 +75,22 @@
<ol class="breadcrumb"> <ol class="breadcrumb">
<li> <li>
<a href="./?page=<? Request.write_param('page'); ?>"> <a href="./?page=<? request.write_param('page'); ?>">
<? locale.write('title'); ?> <? locale.write('title'); ?>
</a> </a>
</li> </li>
<li> <li>
<a href="./?page=<? Request.write_param('page'); ?>&group=<? Request.write_param('group'); ?>"> <a href="./?page=<? request.write_param('page'); ?>&group=<? request.write_param('group'); ?>">
<? write(msg_area.grp_list[msg_area.sub[Request.get_param('sub')].grp_index].name); ?> <? write(msg_area.grp_list[msg_area.sub[request.get_param('sub')].grp_index].name); ?>
</a> </a>
</li> </li>
<li> <li>
<a href="./?page=<? Request.write_param('page'); ?>&sub=<? Request.write_param('sub'); ?>"> <a href="./?page=<? request.write_param('page'); ?>&sub=<? request.write_param('sub'); ?>">
<? write(msg_area.sub[Request.get_param('sub')].name); ?> <? write(msg_area.sub[request.get_param('sub')].name); ?>
</a> </a>
</li> </li>
<li> <li>
<a href="./?page=<? Request.write_param('page'); ?>&sub=<? Request.write_param('sub'); ?>&thread=<? Request.write_param('thread'); ?>"> <a href="./?page=<? request.write_param('page'); ?>&sub=<? request.write_param('sub'); ?>&thread=<? request.write_param('thread'); ?>">
<? write(thread.subject); ?> <? write(thread.subject); ?>
</a> </a>
</li> </li>
...@@ -103,24 +104,24 @@ ...@@ -103,24 +104,24 @@
<div id="forum-list-container" class="list-group"></div> <div id="forum-list-container" class="list-group"></div>
<div id="forum-load-more-messages" class="text-center" hidden> <div id="forum-load-more-messages" class="text-center" hidden>
<button id="load-more-messages" class="btn btn-primary" aria-label="<? locale.write('button_load_more', 'main'); ?>" title="<? locale.write('button_load_more', 'main'); ?>" onclick="listMessages('<? Request.write_param('sub'); ?>', '<? Request.write_param('thread'); ?>', <? write(settings.page_size); ?>, true)"> <button id="load-more-messages" class="btn btn-primary" aria-label="<? locale.write('button_load_more', 'main'); ?>" title="<? locale.write('button_load_more', 'main'); ?>" onclick="listMessages('<? request.write_param('sub'); ?>', '<? request.write_param('thread'); ?>', <? write(settings.page_size); ?>, true)">
<? locale.write('button_load_more', 'main'); ?> <? locale.write('button_load_more', 'main'); ?>
</button> </button>
</div> </div>
<script type="text/javascript"> <script type="text/javascript">
listMessages('<? Request.write_param('sub'); ?>', <? Request.write_param('thread'); ?>, <? write(settings.page_size); ?>); listMessages('<? request.write_param('sub'); ?>', <? request.write_param('thread'); ?>, <? write(settings.page_size); ?>);
// Should subscribe here for updates to the thread; need to add some functions to lib/forum.js, lib/events/forum.js, root/js/xjs-forum.js // Should subscribe here for updates to the thread; need to add some functions to lib/forum.js, lib/events/forum.js, root/js/xjs-forum.js
</script> </script>
<!-- get n messages of thread and append to forum-list-container --> <!-- get n messages of thread and append to forum-list-container -->
<!-- Viewing a sub (list of threads) --> <!-- Viewing a sub (list of threads) -->
<? } else if (Request.has_param('sub') && msg_area.sub[Request.get_param('sub')] !== undefined) { ?> <? } else if (request.has_param('sub') && msg_area.sub[request.get_param('sub')] !== undefined) { ?>
<!-- Template for a link to a thread --> <!-- Template for a link to a thread -->
<div hidden> <div hidden>
<a id="forum-thread-link-template" href="./?page=<? Request.write_param('page'); ?>&sub=<? Request.write_param('sub'); ?>" class="list-group-item striped"> <a id="forum-thread-link-template" href="./?page=<? request.write_param('page'); ?>&sub=<? request.write_param('sub'); ?>" class="list-group-item striped" data-thread>
<div class="row"> <div class="row">
<div class="col-sm-9"> <div class="col-sm-9">
<strong data-thread-subject></strong> <strong data-thread-subject></strong>
...@@ -275,23 +276,23 @@ ...@@ -275,23 +276,23 @@
<ol class="breadcrumb"> <ol class="breadcrumb">
<li> <li>
<a href="./?page=<? Request.write_param('page'); ?>"> <a href="./?page=<? request.write_param('page'); ?>">
<? locale.write('title'); ?> <? locale.write('title'); ?>
</a> </a>
</li> </li>
<li> <li>
<a href="./?page=<? Request.write_param('page'); ?>&group=<? write(msg_area.grp_list[msg_area.sub[Request.get_param('sub')].grp_index].number); ?>"> <a href="./?page=<? request.write_param('page'); ?>&group=<? write(msg_area.grp_list[msg_area.sub[request.get_param('sub')].grp_index].number); ?>">
<? write(msg_area.grp_list[msg_area.sub[Request.get_param('sub')].grp_index].name); ?> <? write(msg_area.grp_list[msg_area.sub[request.get_param('sub')].grp_index].name); ?>
</a> </a>
</li> </li>
<li> <li>
<a href="./?page=<? Request.write_param('page'); ?>&sub=<? Request.write_param('sub'); ?>"> <a href="./?page=<? request.write_param('page'); ?>&sub=<? request.write_param('sub'); ?>">
<? write(msg_area.sub[Request.get_param('sub')].name); ?> <? write(msg_area.sub[request.get_param('sub')].name); ?>
</a> </a>
</li> </li>
</ol> </ol>
<? var sub = msg_area.sub[Request.get_param('sub')]; ?> <? var sub = msg_area.sub[request.get_param('sub')]; ?>
<button class="btn btn-default icon" aria-label="<? locale.write('button_post_message'); ?>" title="<? locale.write('button_post_message'); ?>" onclick="addNew('<? write(sub.code); ?>')"> <button class="btn btn-default icon" aria-label="<? locale.write('button_post_message'); ?>" title="<? locale.write('button_post_message'); ?>" onclick="addNew('<? write(sub.code); ?>')">
<span class="glyphicon glyphicon-pencil"></span> <span class="glyphicon glyphicon-pencil"></span>
...@@ -326,7 +327,7 @@ ...@@ -326,7 +327,7 @@
if (data.type != 'threads') return; if (data.type != 'threads') return;
onThreadStats(data.data); onThreadStats(data.data);
}, { }, {
sub: '<? Request.write_param("sub"); ?>', sub: '<? request.write_param("sub"); ?>',
}); });
listThreads('<? write(sub.code); ?>', <? write(settings.page_size); ?>); listThreads('<? write(sub.code); ?>', <? write(settings.page_size); ?>);
...@@ -334,10 +335,10 @@ ...@@ -334,10 +335,10 @@
</script> </script>
<!-- Viewing a group (list of subs) --> <!-- Viewing a group (list of subs) -->
<? } else if (Request.has_param('group') && msg_area.grp_list[Request.get_param('group')] !== undefined) { ?> <? } else if (request.has_param('group') && msg_area.grp_list[request.get_param('group')] !== undefined) { ?>
<div hidden> <div hidden>
<a id="forum-sub-link-template" href="./?page=<? Request.write_param('page'); ?>" class="list-group-item striped"> <a id="forum-sub-link-template" href="./?page=<? request.write_param('page'); ?>" class="list-group-item striped">
<h4> <h4>
<strong data-sub-name></strong> <strong data-sub-name></strong>
</h4> </h4>
...@@ -357,13 +358,13 @@ ...@@ -357,13 +358,13 @@
<ol class="breadcrumb"> <ol class="breadcrumb">
<li> <li>
<a href="./?page=<? Request.write_param('page'); ?>"> <a href="./?page=<? request.write_param('page'); ?>">
<? locale.write('title'); ?> <? locale.write('title'); ?>
</a> </a>
</li> </li>
<li> <li>
<a href="./?page=<? Request.write_param('page'); ?>&group=<? Request.write_param('group'); ?>"> <a href="./?page=<? request.write_param('page'); ?>&group=<? request.write_param('group'); ?>">
<? write(msg_area.grp_list[Request.get_param('group')].name); ?> <? write(msg_area.grp_list[request.get_param('group')].name); ?>
</a> </a>
</li> </li>
</ol> </ol>
...@@ -371,14 +372,18 @@ ...@@ -371,14 +372,18 @@
<div id="forum-list-container" class="list-group"></div> <div id="forum-list-container" class="list-group"></div>
<script type="text/javascript"> <script type="text/javascript">
(async () => await listSubs('<? Request.write_param('group'); ?>'))(); (async () => {
getNewestMessagePerSub('<? Request.write_param('group'); ?>'); await listSubs('<? request.write_param('group'); ?>')
// getNewestMessagePerSub('<? request.write_param('group'); ?>');
})();
<? if (is_user()) { ?> <? if (is_user()) { ?>
registerEventListener('forum', e => { registerEventListener('forum', e => {
const data = JSON.parse(e.data); const data = JSON.parse(e.data);
if (data.type != 'subs_unread') return; if (data.type != 'subs_unread') return;
onSubUnreadCount(data.data); onSubUnreadCount(data.data);
}, { subs_unread: '<? Request.write_param("group"); ?>' }); }, {
subs_unread: '<? request.write_param("group"); ?>',
});
<? } ?> <? } ?>
</script> </script>
...@@ -386,7 +391,7 @@ ...@@ -386,7 +391,7 @@
<? } else { ?> <? } else { ?>
<div hidden> <div hidden>
<a id="forum-group-link-template" href="./?page=<? Request.write_param('page'); ?>" class="list-group-item striped"> <a id="forum-group-link-template" href="./?page=<? request.write_param('page'); ?>" class="list-group-item striped">
<h3> <h3>
<strong data-group-name></strong> <strong data-group-name></strong>
</h3> </h3>
...@@ -399,7 +404,7 @@ ...@@ -399,7 +404,7 @@
<ol class="breadcrumb"> <ol class="breadcrumb">
<li> <li>
<a href="./?page=<? Request.write_param('page'); ?>"> <a href="./?page=<? request.write_param('page'); ?>">
<? locale.write('title'); ?> <? locale.write('title'); ?>
</a> </a>
</li> </li>
...@@ -407,15 +412,17 @@ ...@@ -407,15 +412,17 @@
<div id="forum-list-container" class="list-group"></div> <div id="forum-list-container" class="list-group"></div>
<? if (is_user()) { ?>
<script type="text/javascript"> <script type="text/javascript">
(async () => await listGroups())(); (async () => await listGroups())();
<? if (is_user()) { ?>
registerEventListener('forum', e => { registerEventListener('forum', e => {
const data = JSON.parse(e.data); const data = JSON.parse(e.data);
if (data.type != 'groups_unread') return; if (data.type != 'groups_unread') return;
onGroupUnreadCount(data.data); onGroupUnreadCount(data.data);
}, { groups_unread: null }); }, {
</script> groups_unread: null,
});
<? } ?> <? } ?>
</script>
<? } ?> <? } ?>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment