]> git.aero2k.de Git - dfde-theme.git/commitdiff
Template Dateien aus aktuellem prosilver eingefügt
authoreggy <eggy@localhost>
Wed, 5 Jul 2017 08:16:02 +0000 (10:16 +0200)
committereggy <eggy@localhost>
Wed, 5 Jul 2017 08:16:02 +0000 (10:16 +0200)
125 files changed:
template/ajax.js [new file with mode: 0644]
template/attachment.html [new file with mode: 0644]
template/bbcode.html [new file with mode: 0644]
template/captcha_default.html [new file with mode: 0644]
template/captcha_qa.html [new file with mode: 0644]
template/captcha_recaptcha.html [new file with mode: 0644]
template/confirm_body.html [new file with mode: 0644]
template/confirm_delete_body.html [new file with mode: 0644]
template/display_options.html [new file with mode: 0644]
template/drafts.html [new file with mode: 0644]
template/faq_body.html [new file with mode: 0644]
template/forum_fn.js [new file with mode: 0644]
template/forumlist_body.html [new file with mode: 0644]
template/index.htm [new file with mode: 0644]
template/index_body.html [new file with mode: 0644]
template/jumpbox.html [new file with mode: 0644]
template/login_body.html [new file with mode: 0644]
template/login_body_oauth.html [new file with mode: 0644]
template/login_forum.html [new file with mode: 0644]
template/mcp_approve.html [new file with mode: 0644]
template/mcp_ban.html [new file with mode: 0644]
template/mcp_footer.html [new file with mode: 0644]
template/mcp_forum.html [new file with mode: 0644]
template/mcp_front.html [new file with mode: 0644]
template/mcp_header.html [new file with mode: 0644]
template/mcp_logs.html [new file with mode: 0644]
template/mcp_message.html [new file with mode: 0644]
template/mcp_move.html [new file with mode: 0644]
template/mcp_notes_front.html [new file with mode: 0644]
template/mcp_notes_user.html [new file with mode: 0644]
template/mcp_post.html [new file with mode: 0644]
template/mcp_queue.html [new file with mode: 0644]
template/mcp_reports.html [new file with mode: 0644]
template/mcp_topic.html [new file with mode: 0644]
template/mcp_warn_front.html [new file with mode: 0644]
template/mcp_warn_list.html [new file with mode: 0644]
template/mcp_warn_post.html [new file with mode: 0644]
template/mcp_warn_user.html [new file with mode: 0644]
template/mcp_whois.html [new file with mode: 0644]
template/memberlist_body.html [new file with mode: 0644]
template/memberlist_email.html [new file with mode: 0644]
template/memberlist_im.html [new file with mode: 0644]
template/memberlist_search.html [new file with mode: 0644]
template/memberlist_team.html [new file with mode: 0644]
template/memberlist_view.html [new file with mode: 0644]
template/message_body.html [new file with mode: 0644]
template/navbar_footer.html [new file with mode: 0644]
template/navbar_header.html [new file with mode: 0644]
template/notification_dropdown.html [new file with mode: 0644]
template/overall_footer.html [new file with mode: 0644]
template/overall_header.html [new file with mode: 0644]
template/pagination.html [new file with mode: 0644]
template/plupload.html [new file with mode: 0644]
template/posting_attach_body.html [new file with mode: 0644]
template/posting_body.html [new file with mode: 0644]
template/posting_buttons.html [new file with mode: 0644]
template/posting_editor.html [new file with mode: 0644]
template/posting_layout.html [new file with mode: 0644]
template/posting_pm_header.html [new file with mode: 0644]
template/posting_pm_layout.html [new file with mode: 0644]
template/posting_poll_body.html [new file with mode: 0644]
template/posting_preview.html [new file with mode: 0644]
template/posting_review.html [new file with mode: 0644]
template/posting_smilies.html [new file with mode: 0644]
template/posting_topic_review.html [new file with mode: 0644]
template/profilefields/bool.html [new file with mode: 0644]
template/profilefields/date.html [new file with mode: 0644]
template/profilefields/dropdown.html [new file with mode: 0644]
template/profilefields/int.html [new file with mode: 0644]
template/profilefields/string.html [new file with mode: 0644]
template/profilefields/text.html [new file with mode: 0644]
template/profilefields/url.html [new file with mode: 0644]
template/quickreply_editor.html [new file with mode: 0644]
template/report_body.html [new file with mode: 0644]
template/search_body.html [new file with mode: 0644]
template/search_results.html [new file with mode: 0644]
template/simple_footer.html [new file with mode: 0644]
template/simple_header.html [new file with mode: 0644]
template/timezone.js [new file with mode: 0644]
template/timezone_option.html [new file with mode: 0644]
template/ucp_agreement.html [new file with mode: 0644]
template/ucp_attachments.html [new file with mode: 0644]
template/ucp_auth_link.html [new file with mode: 0644]
template/ucp_auth_link_oauth.html [new file with mode: 0644]
template/ucp_avatar_options.html [new file with mode: 0644]
template/ucp_avatar_options_gravatar.html [new file with mode: 0644]
template/ucp_avatar_options_local.html [new file with mode: 0644]
template/ucp_avatar_options_remote.html [new file with mode: 0644]
template/ucp_avatar_options_upload.html [new file with mode: 0644]
template/ucp_footer.html [new file with mode: 0644]
template/ucp_groups_manage.html [new file with mode: 0644]
template/ucp_groups_membership.html [new file with mode: 0644]
template/ucp_header.html [new file with mode: 0644]
template/ucp_login_link.html [new file with mode: 0644]
template/ucp_main_bookmarks.html [new file with mode: 0644]
template/ucp_main_drafts.html [new file with mode: 0644]
template/ucp_main_front.html [new file with mode: 0644]
template/ucp_main_subscribed.html [new file with mode: 0644]
template/ucp_notifications.html [new file with mode: 0644]
template/ucp_pm_history.html [new file with mode: 0644]
template/ucp_pm_message_footer.html [new file with mode: 0644]
template/ucp_pm_message_header.html [new file with mode: 0644]
template/ucp_pm_options.html [new file with mode: 0644]
template/ucp_pm_viewfolder.html [new file with mode: 0644]
template/ucp_pm_viewmessage.html [new file with mode: 0644]
template/ucp_pm_viewmessage_print.html [new file with mode: 0644]
template/ucp_prefs_personal.html [new file with mode: 0644]
template/ucp_prefs_post.html [new file with mode: 0644]
template/ucp_prefs_view.html [new file with mode: 0644]
template/ucp_profile_autologin_keys.html [new file with mode: 0644]
template/ucp_profile_avatar.html [new file with mode: 0644]
template/ucp_profile_profile_info.html [new file with mode: 0644]
template/ucp_profile_reg_details.html [new file with mode: 0644]
template/ucp_profile_signature.html [new file with mode: 0644]
template/ucp_register.html [new file with mode: 0644]
template/ucp_remind.html [new file with mode: 0644]
template/ucp_resend.html [new file with mode: 0644]
template/ucp_zebra_foes.html [new file with mode: 0644]
template/ucp_zebra_friends.html [new file with mode: 0644]
template/viewforum_body.html [new file with mode: 0644]
template/viewonline_body.html [new file with mode: 0644]
template/viewonline_whois.html [new file with mode: 0644]
template/viewtopic_body.html [new file with mode: 0644]
template/viewtopic_print.html [new file with mode: 0644]
template/viewtopic_topic_tools.html [new file with mode: 0644]

diff --git a/template/ajax.js b/template/ajax.js
new file mode 100644 (file)
index 0000000..1bb3aab
--- /dev/null
@@ -0,0 +1,394 @@
+/* global phpbb */
+
+(function($) {  // Avoid conflicts with other libraries
+
+'use strict';
+
+// This callback will mark all forum icons read
+phpbb.addAjaxCallback('mark_forums_read', function(res) {
+       var readTitle = res.NO_UNREAD_POSTS;
+       var unreadTitle = res.UNREAD_POSTS;
+       var iconsArray = {
+               forum_unread: 'forum_read',
+               forum_unread_subforum: 'forum_read_subforum',
+               forum_unread_locked: 'forum_read_locked'
+       };
+
+       $('li.row').find('dl[class*="forum_unread"]').each(function() {
+               var $this = $(this);
+
+               $.each(iconsArray, function(unreadClass, readClass) {
+                       if ($this.hasClass(unreadClass)) {
+                               $this.removeClass(unreadClass).addClass(readClass);
+                       }
+               });
+               $this.children('dt[title="' + unreadTitle + '"]').attr('title', readTitle);
+       });
+
+       // Mark subforums read
+       $('a.subforum[class*="unread"]').removeClass('unread').addClass('read');
+
+       // Mark topics read if we are watching a category and showing active topics
+       if ($('#active_topics').length) {
+               phpbb.ajaxCallbacks.mark_topics_read.call(this, res, false);
+       }
+
+       // Update mark forums read links
+       $('[data-ajax="mark_forums_read"]').attr('href', res.U_MARK_FORUMS);
+
+       phpbb.closeDarkenWrapper(3000);
+});
+
+/**
+* This callback will mark all topic icons read
+*
+* @param {bool} [update_topic_links=true] Whether "Mark topics read" links
+*      should be updated. Defaults to true.
+*/
+phpbb.addAjaxCallback('mark_topics_read', function(res, updateTopicLinks) {
+       var readTitle = res.NO_UNREAD_POSTS;
+       var unreadTitle = res.UNREAD_POSTS;
+       var iconsArray = {
+               global_unread: 'global_read',
+               announce_unread: 'announce_read',
+               sticky_unread: 'sticky_read',
+               topic_unread: 'topic_read'
+       };
+       var iconsState = ['', '_hot', '_hot_mine', '_locked', '_locked_mine', '_mine'];
+       var unreadClassSelectors;
+       var classMap = {};
+       var classNames = [];
+
+       if (typeof updateTopicLinks === 'undefined') {
+               updateTopicLinks = true;
+       }
+
+       $.each(iconsArray, function(unreadClass, readClass) {
+               $.each(iconsState, function(key, value) {
+                       // Only topics can be hot
+                       if ((value === '_hot' || value === '_hot_mine') && unreadClass !== 'topic_unread') {
+                               return true;
+                       }
+                       classMap[unreadClass + value] = readClass + value;
+                       classNames.push(unreadClass + value);
+               });
+       });
+
+       unreadClassSelectors = '.' + classNames.join(',.');
+
+       $('li.row').find(unreadClassSelectors).each(function() {
+               var $this = $(this);
+               $.each(classMap, function(unreadClass, readClass) {
+                       if ($this.hasClass(unreadClass)) {
+                               $this.removeClass(unreadClass).addClass(readClass);
+                       }
+               });
+               $this.children('dt[title="' + unreadTitle + '"]').attr('title', readTitle);
+       });
+
+       // Remove link to first unread post
+       $('a.unread').has('.icon-red').remove();
+
+       // Update mark topics read links
+       if (updateTopicLinks) {
+               $('[data-ajax="mark_topics_read"]').attr('href', res.U_MARK_TOPICS);
+       }
+
+       phpbb.closeDarkenWrapper(3000);
+});
+
+// This callback will mark all notifications read
+phpbb.addAjaxCallback('notification.mark_all_read', function(res) {
+       if (typeof res.success !== 'undefined') {
+               phpbb.markNotifications($('#notification_list li.bg2'), 0);
+               phpbb.closeDarkenWrapper(3000);
+       }
+});
+
+// This callback will mark a notification read
+phpbb.addAjaxCallback('notification.mark_read', function(res) {
+       if (typeof res.success !== 'undefined') {
+               var unreadCount = Number($('#notification_list_button strong').html()) - 1;
+               phpbb.markNotifications($(this).parent('li.bg2'), unreadCount);
+       }
+});
+
+/**
+ * Mark notification popup rows as read.
+ *
+ * @param {jQuery} $popup jQuery object(s) to mark read.
+ * @param {int} unreadCount The new unread notifications count.
+ */
+phpbb.markNotifications = function($popup, unreadCount) {
+       // Remove the unread status.
+       $popup.removeClass('bg2');
+       $popup.find('a.mark_read').remove();
+
+       // Update the notification link to the real URL.
+       $popup.each(function() {
+               var link = $(this).find('a');
+               link.attr('href', link.attr('data-real-url'));
+       });
+
+       // Update the unread count.
+       $('strong', '#notification_list_button').html(unreadCount);
+       // Remove the Mark all read link and hide notification count if there are no unread notifications.
+       if (!unreadCount) {
+               $('#mark_all_notifications').remove();
+               $('#notification_list_button > strong').addClass('hidden');
+       }
+
+       // Update page title
+       var $title = $('title');
+       var originalTitle = $title.text().replace(/(\((\d+)\))/, '');
+       $title.text((unreadCount ? '(' + unreadCount + ')' : '') + originalTitle);
+};
+
+// This callback finds the post from the delete link, and removes it.
+phpbb.addAjaxCallback('post_delete', function() {
+       var $this = $(this),
+               postId;
+
+       if ($this.attr('data-refresh') === undefined) {
+               postId = $this[0].href.split('&p=')[1];
+               var post = $this.parents('#p' + postId).css('pointer-events', 'none');
+               if (post.hasClass('bg1') || post.hasClass('bg2')) {
+                       var posts1 = post.nextAll('.bg1');
+                       post.nextAll('.bg2').removeClass('bg2').addClass('bg1');
+                       posts1.removeClass('bg1').addClass('bg2');
+               }
+               post.fadeOut(function() {
+                       $(this).remove();
+               });
+       }
+});
+
+// This callback removes the approve / disapprove div or link.
+phpbb.addAjaxCallback('post_visibility', function(res) {
+       var remove = (res.visible) ? $(this) : $(this).parents('.post');
+       $(remove).css('pointer-events', 'none').fadeOut(function() {
+               $(this).remove();
+       });
+
+       if (res.visible) {
+               // Remove the "Deleted by" message from the post on restoring.
+               remove.parents('.post').find('.post_deleted_msg').css('pointer-events', 'none').fadeOut(function() {
+                       $(this).remove();
+               });
+       }
+});
+
+// This removes the parent row of the link or form that fired the callback.
+phpbb.addAjaxCallback('row_delete', function() {
+       $(this).parents('tr').remove();
+});
+
+// This handles friend / foe additions removals.
+phpbb.addAjaxCallback('zebra', function(res) {
+       var zebra;
+
+       if (res.success) {
+               zebra = $('.zebra');
+               zebra.first().html(res.MESSAGE_TEXT);
+               zebra.not(':first').html('&nbsp;').prev().html('&nbsp;');
+       }
+});
+
+/**
+ * This callback updates the poll results after voting.
+ */
+phpbb.addAjaxCallback('vote_poll', function(res) {
+       if (typeof res.success !== 'undefined') {
+               var poll = $('.topic_poll');
+               var panel = poll.find('.panel');
+               var resultsVisible = poll.find('dl:first-child .resultbar').is(':visible');
+               var mostVotes = 0;
+
+               // Set min-height to prevent the page from jumping when the content changes
+               var updatePanelHeight = function (height) {
+                       height = (typeof height === 'undefined') ? panel.find('.inner').outerHeight() : height;
+                       panel.css('min-height', height);
+               };
+               updatePanelHeight();
+
+               // Remove the View results link
+               if (!resultsVisible) {
+                       poll.find('.poll_view_results').hide(500);
+               }
+
+               if (!res.can_vote) {
+                       poll.find('.polls, .poll_max_votes, .poll_vote, .poll_option_select').fadeOut(500, function () {
+                               poll.find('.resultbar, .poll_option_percent, .poll_total_votes').show();
+                       });
+               } else {
+                       // If the user can still vote, simply slide down the results
+                       poll.find('.resultbar, .poll_option_percent, .poll_total_votes').show(500);
+               }
+
+               // Get the votes count of the highest poll option
+               poll.find('[data-poll-option-id]').each(function() {
+                       var option = $(this);
+                       var optionId = option.attr('data-poll-option-id');
+                       mostVotes = (res.vote_counts[optionId] >= mostVotes) ? res.vote_counts[optionId] : mostVotes;
+               });
+
+               // Update the total votes count
+               poll.find('.poll_total_vote_cnt').html(res.total_votes);
+
+               // Update each option
+               poll.find('[data-poll-option-id]').each(function() {
+                       var $this = $(this);
+                       var optionId = $this.attr('data-poll-option-id');
+                       var voted = (typeof res.user_votes[optionId] !== 'undefined');
+                       var mostVoted = (res.vote_counts[optionId] === mostVotes);
+                       var percent = (!res.total_votes) ? 0 : Math.round((res.vote_counts[optionId] / res.total_votes) * 100);
+                       var percentRel = (mostVotes === 0) ? 0 : Math.round((res.vote_counts[optionId] / mostVotes) * 100);
+                       var altText;
+
+                       altText = $this.attr('data-alt-text');
+                       if (voted) {
+                               $this.attr('title', $.trim(altText));
+                       } else {
+                               $this.attr('title', '');
+                       };
+                       $this.toggleClass('voted', voted);
+                       $this.toggleClass('most-votes', mostVoted);
+
+                       // Update the bars
+                       var bar = $this.find('.resultbar div');
+                       var barTimeLapse = (res.can_vote) ? 500 : 1500;
+                       var newBarClass = (percent === 100) ? 'pollbar5' : 'pollbar' + (Math.floor(percent / 20) + 1);
+
+                       setTimeout(function () {
+                               bar.animate({ width: percentRel + '%' }, 500)
+                                       .removeClass('pollbar1 pollbar2 pollbar3 pollbar4 pollbar5')
+                                       .addClass(newBarClass)
+                                       .html(res.vote_counts[optionId]);
+
+                               var percentText = percent ? percent + '%' : res.NO_VOTES;
+                               $this.find('.poll_option_percent').html(percentText);
+                       }, barTimeLapse);
+               });
+
+               if (!res.can_vote) {
+                       poll.find('.polls').delay(400).fadeIn(500);
+               }
+
+               // Display "Your vote has been cast." message. Disappears after 5 seconds.
+               var confirmationDelay = (res.can_vote) ? 300 : 900;
+               poll.find('.vote-submitted').delay(confirmationDelay).slideDown(200, function() {
+                       if (resultsVisible) {
+                               updatePanelHeight();
+                       }
+
+                       $(this).delay(5000).fadeOut(500, function() {
+                               resizePanel(300);
+                       });
+               });
+
+               // Remove the gap resulting from removing options
+               setTimeout(function() {
+                       resizePanel(500);
+               }, 1500);
+
+               var resizePanel = function (time) {
+                       var panelHeight = panel.height();
+                       var innerHeight = panel.find('.inner').outerHeight();
+
+                       if (panelHeight !== innerHeight) {
+                               panel.css({ minHeight: '', height: panelHeight })
+                                       .animate({ height: innerHeight }, time, function () {
+                                               panel.css({ minHeight: innerHeight, height: '' });
+                                       });
+                       }
+               };
+       }
+});
+
+/**
+ * Show poll results when clicking View results link.
+ */
+$('.poll_view_results a').click(function(e) {
+       // Do not follow the link
+       e.preventDefault();
+
+       var $poll = $(this).parents('.topic_poll');
+
+       $poll.find('.resultbar, .poll_option_percent, .poll_total_votes').show(500);
+       $poll.find('.poll_view_results').hide(500);
+});
+
+$('[data-ajax]').each(function() {
+       var $this = $(this);
+       var ajax = $this.attr('data-ajax');
+       var filter = $this.attr('data-filter');
+
+       if (ajax !== 'false') {
+               var fn = (ajax !== 'true') ? ajax : null;
+               filter = (filter !== undefined) ? phpbb.getFunctionByName(filter) : null;
+
+               phpbb.ajaxify({
+                       selector: this,
+                       refresh: $this.attr('data-refresh') !== undefined,
+                       filter: filter,
+                       callback: fn
+               });
+       }
+});
+
+
+/**
+ * This simply appends #preview to the action of the
+ * QR action when you click the Full Editor & Preview button
+ */
+$('#qr_full_editor').click(function() {
+       $('#qr_postform').attr('action', function(i, val) {
+               return val + '#preview';
+       });
+});
+
+
+/**
+ * Make the display post links to use JS
+ */
+$('.display_post').click(function(e) {
+       // Do not follow the link
+       e.preventDefault();
+
+       var postId = $(this).attr('data-post-id');
+       $('#post_content' + postId).show();
+       $('#profile' + postId).show();
+       $('#post_hidden' + postId).hide();
+});
+
+/**
+* Toggle the member search panel in memberlist.php.
+*
+* If user returns to search page after viewing results the search panel is automatically displayed.
+* In any case the link will toggle the display status of the search panel and link text will be
+* appropriately changed based on the status of the search panel.
+*/
+$('#member_search').click(function () {
+       var $memberlistSearch = $('#memberlist_search');
+
+       $memberlistSearch.slideToggle('fast');
+       phpbb.ajaxCallbacks.alt_text.call(this);
+
+       // Focus on the username textbox if it's available and displayed
+       if ($memberlistSearch.is(':visible')) {
+               $('#username').focus();
+       }
+       return false;
+});
+
+/**
+* Automatically resize textarea
+*/
+$(function() {
+       var $textarea = $('textarea:not(#message-box textarea, .no-auto-resize)');
+       phpbb.resizeTextArea($textarea, { minHeight: 75, maxHeight: 250 });
+       phpbb.resizeTextArea($('textarea', '#message-box'));
+});
+
+
+})(jQuery); // Avoid conflicts with other libraries
diff --git a/template/attachment.html b/template/attachment.html
new file mode 100644 (file)
index 0000000..0978d91
--- /dev/null
@@ -0,0 +1,48 @@
+<!-- EVENT attachment_file_before -->
+
+<!-- BEGIN _file -->
+       <!-- IF _file.S_DENIED -->
+       <p>[{_file.DENIED_MESSAGE}]</p>
+       <!-- ELSE -->
+               <!-- EVENT attachment_file_prepend -->
+
+               <!-- IF _file.S_THUMBNAIL -->
+               <dl class="thumbnail">
+                       <dt><a href="{_file.U_DOWNLOAD_LINK}"><img src="{_file.THUMB_IMAGE}" class="postimage" alt="{_file.DOWNLOAD_NAME}" title="{_file.DOWNLOAD_NAME} ({_file.FILESIZE} {_file.SIZE_LANG}) {_file.L_DOWNLOAD_COUNT}" /></a></dt>
+                       <!-- IF _file.COMMENT --><dd> {_file.COMMENT}</dd><!-- ENDIF -->
+               </dl>
+               <!-- ENDIF -->
+
+               <!-- IF _file.S_IMAGE -->
+               <dl class="file">
+                       <dt class="attach-image"><img src="{_file.U_INLINE_LINK}" class="postimage" alt="{_file.DOWNLOAD_NAME}" onclick="viewableArea(this);" /></dt>
+                       <!-- IF _file.COMMENT --><dd><em>{_file.COMMENT}</em></dd><!-- ENDIF -->
+                       <dd>{_file.DOWNLOAD_NAME} ({_file.FILESIZE} {_file.SIZE_LANG}) {_file.L_DOWNLOAD_COUNT}</dd>
+               </dl>
+               <!-- ENDIF -->
+
+               <!-- IF _file.S_FILE -->
+               <dl class="file">
+                       <dt><!-- IF _file.UPLOAD_ICON -->{_file.UPLOAD_ICON} <!-- ENDIF --><a class="postlink" href="{_file.U_DOWNLOAD_LINK}">{_file.DOWNLOAD_NAME}</a></dt>
+                       <!-- IF _file.COMMENT --><dd><em>{_file.COMMENT}</em></dd><!-- ENDIF -->
+                       <dd>({_file.FILESIZE} {_file.SIZE_LANG}) {_file.L_DOWNLOAD_COUNT}</dd>
+               </dl>
+               <!-- ENDIF -->
+
+               <!-- IF _file.S_FLASH_FILE -->
+                       <object classid="clsid:D27CDB6E-AE6D-11CF-96B8-444553540000" codebase="http://active.macromedia.com/flash2/cabs/swflash.cab#version=5,0,0,0" width="{_file.WIDTH}" height="{_file.HEIGHT}">
+                               <param name="movie" value="{_file.U_VIEW_LINK}" />
+                               <param name="play" value="true" />
+                               <param name="loop" value="true" />
+                               <param name="quality" value="high" />
+                               <param name="allowScriptAccess" value="never" />
+                               <param name="allowNetworking" value="internal" />
+                               <embed src="{_file.U_VIEW_LINK}" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" width="{_file.WIDTH}" height="{_file.HEIGHT}" play="true" loop="true" quality="high" allowscriptaccess="never" allownetworking="internal"></embed>
+                       </object>
+                       <p><a href="{_file.U_DOWNLOAD_LINK}">{_file.DOWNLOAD_NAME}</a> [ {_file.FILESIZE} {_file.SIZE_LANG} | {_file.L_DOWNLOAD_COUNT} ]</p>
+               <!-- ENDIF -->
+
+               <!-- EVENT attachment_file_append -->
+       <!-- ENDIF -->
+<!-- END _file -->
+<!-- EVENT attachment_file_after -->
diff --git a/template/bbcode.html b/template/bbcode.html
new file mode 100644 (file)
index 0000000..8c4e941
--- /dev/null
@@ -0,0 +1,75 @@
+<!-- BEGIN ulist_open --><ul style="list-style-type: {LIST_TYPE}"><!-- END ulist_open -->
+<!-- BEGIN ulist_open_default --><ul><!-- END ulist_open_default -->
+<!-- BEGIN ulist_close --></ul><!-- END ulist_close -->
+
+<!-- BEGIN olist_open --><ol style="list-style-type: {LIST_TYPE}"><!-- END olist_open -->
+<!-- BEGIN olist_close --></ol><!-- END olist_close -->
+
+<!-- BEGIN listitem --><li><!-- END listitem -->
+<!-- BEGIN listitem_close --></li><!-- END listitem_close -->
+
+<!-- BEGIN quote_username_open --><blockquote><div><cite>{USERNAME} {L_WROTE}{L_COLON}</cite><!-- END quote_username_open -->
+<!-- BEGIN quote_open --><blockquote class="uncited"><div><!-- END quote_open -->
+<!-- BEGIN quote_close --></div></blockquote><!-- END quote_close -->
+<!-- BEGIN quote_extended -->
+<blockquote>
+       <xsl:if test="not(@author)">
+               <xsl:attribute name="class">uncited</xsl:attribute>
+       </xsl:if>
+       <div>
+               <xsl:if test="@author">
+                       <cite>
+                               <xsl:choose>
+                                       <xsl:when test="@url">
+                                               <a href="{@url}" class="postlink"><xsl:value-of select="@author"/></a>
+                                       </xsl:when>
+                                       <xsl:when test="@profile_url">
+                                               <a href="{@profile_url}"><xsl:value-of select="@author"/></a>
+                                       </xsl:when>
+                                       <xsl:otherwise>
+                                               <xsl:value-of select="@author"/>
+                                       </xsl:otherwise>
+                               </xsl:choose>
+                               <xsl:text> </xsl:text>
+                               <xsl:value-of select="$L_WROTE"/>
+                               <xsl:value-of select="$L_COLON"/>
+                               <xsl:if test="@post_url">
+                                       <xsl:text> </xsl:text>
+                                       <a href="{@post_url}" data-post-id="{@post_id}" onclick="if(document.getElementById(hash.substr(1)))href=hash">&#8593;</a>
+                               </xsl:if>
+                               <xsl:if test="@date">
+                                       <div class="responsive-hide"><xsl:value-of select="@date"/></div>
+                               </xsl:if>
+                       </cite>
+               </xsl:if>
+               <xsl:apply-templates/>
+       </div>
+</blockquote>
+<!-- END quote_extended -->
+
+<!-- BEGIN code_open --><div class="codebox"><p>{L_CODE}{L_COLON} <a href="#" onclick="selectCode(this); return false;">{L_SELECT_ALL_CODE}</a></p><pre><code><!-- END code_open -->
+<!-- BEGIN code_close --></code></pre></div><!-- END code_close -->
+
+<!-- BEGIN inline_attachment_open --><div class="inline-attachment"><!-- END inline_attachment_open -->
+<!-- BEGIN inline_attachment_close --></div><!-- END inline_attachment_close -->
+
+<!-- BEGIN b_open --><strong><!-- END b_open -->
+<!-- BEGIN b_close --></strong><!-- END b_close -->
+
+<!-- BEGIN u_open --><span style="text-decoration: underline"><!-- END u_open -->
+<!-- BEGIN u_close --></span><!-- END u_close -->
+
+<!-- BEGIN i_open --><em><!-- END i_open -->
+<!-- BEGIN i_close --></em><!-- END i_close -->
+
+<!-- BEGIN color --><span style="color: {COLOR}">{TEXT}</span><!-- END color -->
+
+<!-- BEGIN size --><span style="font-size: {SIZE}%; line-height: 116%;">{TEXT}</span><!-- END size -->
+
+<!-- BEGIN img --><img src="{URL}" class="postimage" alt="{L_IMAGE}" /><!-- END img -->
+
+<!-- BEGIN url --><a href="{URL}" class="postlink">{DESCRIPTION}</a><!-- END url -->
+
+<!-- BEGIN email --><a href="mailto:{EMAIL}">{DESCRIPTION}</a><!-- END email -->
+
+<!-- BEGIN flash --><object classid="clsid:D27CDB6E-AE6D-11CF-96B8-444553540000" codebase="http://active.macromedia.com/flash2/cabs/swflash.cab#version=5,0,0,0" width="{WIDTH}" height="{HEIGHT}"><param name="movie" value="{URL}" /><param name="play" value="false" /><param name="loop" value="false" /><param name="quality" value="high" /><param name="allowScriptAccess" value="never" /><param name="allowNetworking" value="internal" /><embed src="{URL}" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" width="{WIDTH}" height="{HEIGHT}" play="false" loop="false" quality="high" allowscriptaccess="never" allownetworking="internal"></embed></object><!-- END flash -->
diff --git a/template/captcha_default.html b/template/captcha_default.html
new file mode 100644 (file)
index 0000000..02899bc
--- /dev/null
@@ -0,0 +1,24 @@
+<!-- IF S_TYPE == 1 -->
+<div class="panel captcha-panel">
+       <div class="inner">
+
+       <h3 class="captcha-title">{L_CONFIRMATION}</h3>
+       <p>{L_CONFIRM_EXPLAIN}</p>
+
+       <fieldset class="fields2">
+<!-- ENDIF -->
+
+       <dl>
+               <dt><label for="confirm_code">{L_CONFIRM_CODE}{L_COLON}</label></dt>
+               <dd class="captcha captcha-image"><img src="{CONFIRM_IMAGE_LINK}" alt="{L_CONFIRM_CODE}" /></dd>
+               <dd><input type="text" name="confirm_code" id="confirm_code" size="8" maxlength="8" tabindex="{$CAPTCHA_TAB_INDEX}" class="inputbox narrow" title="{L_CONFIRM_CODE}" />
+               <!-- IF S_CONFIRM_REFRESH --><input type="submit" name="refresh_vc" id="refresh_vc" class="button2" value="{L_VC_REFRESH}" /><!-- ENDIF -->
+               <input type="hidden" name="confirm_id" id="confirm_id" value="{CONFIRM_ID}" /></dd>
+               <dd>{L_CONFIRM_CODE_EXPLAIN}</dd>
+       </dl>
+
+<!-- IF S_TYPE == 1 -->
+       </fieldset>
+       </div>
+</div>
+<!-- ENDIF -->
diff --git a/template/captcha_qa.html b/template/captcha_qa.html
new file mode 100644 (file)
index 0000000..b8c6678
--- /dev/null
@@ -0,0 +1,21 @@
+<!-- IF S_TYPE == 1 -->
+<div class="panel captcha-panel">
+       <div class="inner">
+
+       <h3 class="captcha-title">{L_CONFIRMATION}</h3>
+       <fieldset class="fields2">
+<!-- ENDIF -->
+
+       <dl>
+       <dt><label>{QA_CONFIRM_QUESTION}{L_COLON}</label><br /><span>{L_CONFIRM_QUESTION_EXPLAIN}</span></dt>
+       <dd class="captcha">
+               <input type="text" tabindex="{$CAPTCHA_TAB_INDEX}" name="qa_answer" id="answer" size="45"  class="inputbox autowidth" title="{L_ANSWER}" />
+               <input type="hidden" name="qa_confirm_id" id="qa_confirm_id" value="{QA_CONFIRM_ID}" />
+       </dd>
+       </dl>
+
+<!-- IF S_TYPE == 1 -->
+       </fieldset>
+       </div>
+</div>
+<!-- ENDIF -->
diff --git a/template/captcha_recaptcha.html b/template/captcha_recaptcha.html
new file mode 100644 (file)
index 0000000..a123f54
--- /dev/null
@@ -0,0 +1,30 @@
+<!-- IF S_TYPE == 1 -->
+<div class="panel captcha-panel">
+       <div class="inner">
+
+       <h3 class="captcha-title">{L_CONFIRMATION}</h3>
+       <p>{L_CONFIRM_EXPLAIN}</p>
+
+       <fieldset class="fields2">
+<!-- ENDIF -->
+
+<!-- IF S_RECAPTCHA_AVAILABLE -->
+       <dl>
+       <dt><label>{L_CONFIRM_CODE}{L_COLON}</label><br /><span>{L_RECAPTCHA_EXPLAIN}</span></dt>
+       <dd class="captcha">
+               <noscript>
+                       <div>{L_RECAPTCHA_NOSCRIPT}</div>
+               </noscript>
+               <script src="{RECAPTCHA_SERVER}.js?hl={LA_RECAPTCHA_LANG}" async defer></script>
+               <div class="g-recaptcha" data-sitekey="{RECAPTCHA_PUBKEY}" data-tabindex="<!-- IF $CAPTCHA_TAB_INDEX -->{$CAPTCHA_TAB_INDEX}<!-- ELSE -->10<!-- ENDIF -->"></div>
+       </dd>
+       </dl>
+<!-- ELSE -->
+{L_RECAPTCHA_NOT_AVAILABLE}
+<!-- ENDIF -->
+
+<!-- IF S_TYPE == 1 -->
+       </fieldset>
+       </div>
+</div>
+<!-- ENDIF -->
diff --git a/template/confirm_body.html b/template/confirm_body.html
new file mode 100644 (file)
index 0000000..aaea5cf
--- /dev/null
@@ -0,0 +1,35 @@
+<!-- IF S_AJAX_REQUEST -->
+       <form action="{S_CONFIRM_ACTION}" method="post">
+               <h3>{MESSAGE_TITLE}</h3>
+               <p>{MESSAGE_TEXT}</p>
+
+               <fieldset class="submit-buttons">
+                       <input type="button" name="confirm" value="{L_YES}" class="button2" />&nbsp;
+                       <input type="button" name="cancel" value="{L_NO}" class="button2" />
+               </fieldset>
+       </form>
+
+<!-- ELSE -->
+
+<!-- INCLUDE overall_header.html -->
+
+<form id="confirm" action="{S_CONFIRM_ACTION}" method="post">
+<div class="panel">
+       <div class="inner">
+
+       <h2 class="message-title">{MESSAGE_TITLE}</h2>
+       <p>{MESSAGE_TEXT}</p>
+
+       <fieldset class="submit-buttons">
+               {S_HIDDEN_FIELDS}
+               <input type="submit" name="confirm" value="{L_YES}" class="button2" />&nbsp;
+               <input type="submit" name="cancel" value="{L_NO}" class="button2" />
+       </fieldset>
+
+       </div>
+</div>
+</form>
+
+<!-- INCLUDE overall_footer.html -->
+
+<!-- ENDIF -->
diff --git a/template/confirm_delete_body.html b/template/confirm_delete_body.html
new file mode 100644 (file)
index 0000000..9897496
--- /dev/null
@@ -0,0 +1,70 @@
+<!-- IF S_AJAX_REQUEST -->
+       <form action="{S_CONFIRM_ACTION}" method="post">
+               <p>{MESSAGE_TEXT}</p>
+
+               <!-- IF not S_SHADOW_TOPICS -->
+               <!-- IF not S_SOFTDELETED and S_ALLOWED_DELETE and S_ALLOWED_SOFTDELETE -->
+                       <label>
+                               <strong>{L_DELETE_PERMANENTLY}{L_COLON}</strong>
+                               <input id="delete_permanent" name="delete_permanent" type="checkbox" value="1" {S_CHECKED_PERMANENT} />
+                               <!-- IF S_TOPIC_MODE -->{DELETE_TOPIC_PERMANENTLY_EXPLAIN}<!-- ELSE -->{DELETE_POST_PERMANENTLY_EXPLAIN}<!-- ENDIF -->
+                       </label>
+               <!-- ENDIF -->
+
+               <label for="delete_reason">
+                       <strong>{L_DELETE_REASON}{L_COLON}</strong><br /><span>{L_DELETE_REASON_EXPLAIN}</span><br />
+                       <input type="text" name="delete_reason" value="" class="inputbox autowidth" maxlength="120" size="45" />
+               </label>
+               <!-- ENDIF -->
+
+               <fieldset class="submit-buttons">
+                       <input type="button" name="confirm" value="{L_YES}" class="button1" />&nbsp;
+                       <input type="button" name="cancel" value="{L_NO}" class="button2" />
+               </fieldset>
+       </form>
+
+<!-- ELSE -->
+
+<!-- INCLUDE overall_header.html -->
+
+<form id="confirm" action="{S_CONFIRM_ACTION}" method="post">
+<div class="panel">
+       <div class="inner">
+
+       <h2 class="message-title">{MESSAGE_TITLE}</h2>
+
+       <p>{MESSAGE_TEXT}</p>
+
+       <!-- IF not S_SHADOW_TOPICS -->
+       <fieldset class="fields1">
+               <!-- IF not S_SOFTDELETED and S_ALLOWED_DELETE and S_ALLOWED_SOFTDELETE -->
+                       <dl>
+                               <dt><label for="delete_permanent">{L_DELETE_PERMANENTLY}{L_COLON}</label></dt>
+                               <dd>
+                                       <label for="delete_permanent">
+                                               <input id="delete_permanent" name="delete_permanent" type="checkbox" value="1" {S_CHECKED_PERMANENT} />
+                                               <!-- IF S_TOPIC_MODE -->{DELETE_TOPIC_PERMANENTLY_EXPLAIN}<!-- ELSE -->{DELETE_POST_PERMANENTLY_EXPLAIN}<!-- ENDIF -->
+                                       </label>
+                               </dd>
+                       </dl>
+               <!-- ENDIF -->
+
+               <dl>
+                       <dt><label for="delete_reason">{L_DELETE_REASON}{L_COLON}</label><br /><span>{L_DELETE_REASON_EXPLAIN}</span></dt>
+                       <dd><input type="text" name="delete_reason" id="delete_reason" value="" class="inputbox autowidth" maxlength="120" size="45" /></dd>
+               </dl>
+       </fieldset>
+       <!-- ENDIF -->
+
+       <fieldset class="submit-buttons">
+               {S_HIDDEN_FIELDS}
+               <input type="submit" name="confirm" value="{L_YES}" class="button1" />&nbsp;
+               <input type="submit" name="cancel" value="{L_NO}" class="button2" />
+       </fieldset>
+
+       </div>
+</div>
+</form>
+
+<!-- INCLUDE overall_footer.html -->
+<!-- ENDIF -->
diff --git a/template/display_options.html b/template/display_options.html
new file mode 100644 (file)
index 0000000..d1ec3dc
--- /dev/null
@@ -0,0 +1,27 @@
+<div class="dropdown-container dropdown-container-{S_CONTENT_FLOW_BEGIN} dropdown-button-control sort-tools">
+       <span title="{L_SORT_OPTIONS}" class="button button-secondary dropdown-trigger dropdown-select">
+               <i class="icon fa-sort-amount-asc fa-fw" aria-hidden="true"></i>
+               <span class="caret"><i class="icon fa-sort-down fa-fw" aria-hidden="true"></i></span>
+       </span>
+       <div class="dropdown hidden">
+               <div class="pointer"><div class="pointer-inner"></div></div>
+               <div class="dropdown-contents">
+                       <fieldset class="display-options">
+                       <!-- IF S_SORT_OPTIONS -->
+                               <label>{L_SORT_BY}{L_COLON} <select name="sk" id="sk">{S_SORT_OPTIONS}</select></label>
+                               <label>{L_SORT_DIRECTION}{L_COLON} <select name="sd" id="sd">{S_ORDER_SELECT}</select></label>
+                               <hr class="dashed" />
+                               <input type="submit" class="button2" name="sort" value="{L_SORT}" />
+                       <!-- ELSE -->
+                               <label>{L_DISPLAY}{L_COLON} {S_SELECT_SORT_DAYS}</label>
+                               <!-- IF S_SELECT_SORT_KEY -->
+                               <label>{L_SORT_BY}{L_COLON} {S_SELECT_SORT_KEY}</label>
+                               <label>{L_SORT_DIRECTION}{L_COLON} {S_SELECT_SORT_DIR}</label>
+                               <!-- ENDIF -->
+                               <hr class="dashed" />
+                               <input type="submit" class="button2" name="sort" value="{L_GO}" />
+                       <!-- ENDIF -->
+                       </fieldset>
+               </div>
+       </div>
+</div>
diff --git a/template/drafts.html b/template/drafts.html
new file mode 100644 (file)
index 0000000..ea2849a
--- /dev/null
@@ -0,0 +1,49 @@
+
+
+<!-- IF .draftrow -->
+<div class="panel">
+       <div class="inner">
+
+       <h3 class="draft-title">{L_LOAD_DRAFT}</h3>
+       <p>{L_LOAD_DRAFT_EXPLAIN}</p>
+
+       </div>
+</div>
+
+<div class="<!-- IF not S_PRIVMSGS -->forumbg<!-- ELSE -->panel<!-- ENDIF -->">
+       <div class="inner">
+
+       <ul class="topiclist two-long-columns">
+               <li class="header">
+                       <dl>
+                               <dt>{L_LOAD_DRAFT}</dt>
+                               <dd class="info">{L_SAVE_DATE}</dd>
+                       </dl>
+               </li>
+       </ul>
+       <ul class="topiclist two-long-columns<!-- IF not S_PRIVMSGS --> topics<!-- ELSE --> cplist<!-- ENDIF -->">
+
+       <!-- BEGIN draftrow -->
+       <li class="row<!-- IF draftrow.S_ROW_COUNT is even --> bg1<!-- ELSE --> bg2<!-- ENDIF -->">
+               <dl>
+                       <dt>
+                               <div class="list-inner">
+                                       <a href="{draftrow.U_INSERT}" title="{L_LOAD_DRAFT}" class="topictitle">{draftrow.DRAFT_SUBJECT}</a><br />
+                                       <!-- IF not S_PRIVMSGS --><!-- IF draftrow.S_LINK_TOPIC -->{L_TOPIC}{L_COLON} <a href="{draftrow.U_VIEW}">{draftrow.TITLE}</a>
+                                       <!-- ELSEIF draftrow.S_LINK_FORUM -->{L_FORUM}{L_COLON} <a href="{draftrow.U_VIEW}">{draftrow.TITLE}</a>
+                                       <!-- ELSE -->{L_NO_TOPIC_FORUM}<!-- ENDIF --><!-- ENDIF -->
+                                       <div class="responsive-show" style="display: none;">
+                                               {L_SAVE_DATE}{L_COLON} <strong>{draftrow.DATE}</strong>
+                                       </div>
+                               </div>
+                       </dt>
+                       <dd class="info"><span>{draftrow.DATE}</span></dd>
+               </dl>
+       </li>
+       <!-- END draftrow -->
+
+       </ul>
+
+       </div>
+</div>
+<!-- ENDIF -->
diff --git a/template/faq_body.html b/template/faq_body.html
new file mode 100644 (file)
index 0000000..e55c12a
--- /dev/null
@@ -0,0 +1,50 @@
+<!-- INCLUDE overall_header.html -->
+
+<h2 class="faq-title">{L_FAQ_TITLE}</h2>
+
+
+<div class="panel bg1" id="faqlinks">
+       <div class="inner">
+               <div class="column1">
+               <!-- BEGIN faq_block -->
+                       <!-- IF faq_block.SWITCH_COLUMN or (SWITCH_COLUMN_MANUALLY and faq_block.S_ROW_COUNT == 4) -->
+                               </div>
+
+                               <div class="column2">
+                       <!-- ENDIF -->
+
+                       <dl class="faq">
+                               <dt><strong>{faq_block.BLOCK_TITLE}</strong></dt>
+                               <!-- BEGIN faq_row -->
+                                       <dd><a href="#f{faq_block.S_ROW_COUNT}r{faq_block.faq_row.S_ROW_COUNT}">{faq_block.faq_row.FAQ_QUESTION}</a></dd>
+                               <!-- END faq_row -->
+                       </dl>
+               <!-- END faq_block -->
+               </div>
+       </div>
+</div>
+
+<!-- BEGIN faq_block -->
+       <div class="panel <!-- IF faq_block.S_ROW_COUNT is odd -->bg1<!-- ELSE -->bg2<!-- ENDIF -->">
+               <div class="inner">
+
+               <div class="content">
+                       <h2 class="faq-title">{faq_block.BLOCK_TITLE}</h2>
+                       <!-- BEGIN faq_row -->
+                               <dl class="faq">
+                                       <dt id="f{faq_block.S_ROW_COUNT}r{faq_block.faq_row.S_ROW_COUNT}"><strong>{faq_block.faq_row.FAQ_QUESTION}</strong></dt>
+                                       <dd>{faq_block.faq_row.FAQ_ANSWER}</dd>
+                               </dl>
+                               <a href="#faqlinks" class="top">
+                                       <i class="icon fa-chevron-circle-up fa-fw icon-gray" aria-hidden="true"></i><span>{L_BACK_TO_TOP}</span>
+                               </a>
+                               <!-- IF not faq_block.faq_row.S_LAST_ROW --><hr class="dashed" /><!-- ENDIF -->
+                       <!-- END faq_row -->
+               </div>
+
+               </div>
+       </div>
+<!-- END faq_block -->
+
+<!-- INCLUDE jumpbox.html -->
+<!-- INCLUDE overall_footer.html -->
diff --git a/template/forum_fn.js b/template/forum_fn.js
new file mode 100644 (file)
index 0000000..b803a6f
--- /dev/null
@@ -0,0 +1,970 @@
+/* global phpbb */
+
+/**
+* phpBB3 forum functions
+*/
+
+/**
+* Find a member
+*/
+function find_username(url) {
+       'use strict';
+
+       popup(url, 760, 570, '_usersearch');
+       return false;
+}
+
+/**
+* Window popup
+*/
+function popup(url, width, height, name) {
+       'use strict';
+
+       if (!name) {
+               name = '_popup';
+       }
+
+       window.open(url.replace(/&amp;/g, '&'), name, 'height=' + height + ',resizable=yes,scrollbars=yes, width=' + width);
+       return false;
+}
+
+/**
+* Jump to page
+*/
+function pageJump(item) {
+       'use strict';
+
+       var page = parseInt(item.val(), 10),
+               perPage = item.attr('data-per-page'),
+               baseUrl = item.attr('data-base-url'),
+               startName = item.attr('data-start-name');
+
+       if (page !== null && !isNaN(page) && page === Math.floor(page) && page > 0) {
+               if (baseUrl.indexOf('?') === -1) {
+                       document.location.href = baseUrl + '?' + startName + '=' + ((page - 1) * perPage);
+               } else {
+                       document.location.href = baseUrl.replace(/&amp;/g, '&') + '&' + startName + '=' + ((page - 1) * perPage);
+               }
+       }
+}
+
+/**
+* Mark/unmark checklist
+* id = ID of parent container, name = name prefix, state = state [true/false]
+*/
+function marklist(id, name, state) {
+       'use strict';
+
+       jQuery('#' + id + ' input[type=checkbox][name]').each(function() {
+               var $this = jQuery(this);
+               if ($this.attr('name').substr(0, name.length) === name) {
+                       $this.prop('checked', state);
+               }
+       });
+}
+
+/**
+* Resize viewable area for attached image or topic review panel (possibly others to come)
+* e = element
+*/
+function viewableArea(e, itself) {
+       'use strict';
+
+       if (!e) {
+               return;
+       }
+
+       if (!itself) {
+               e = e.parentNode;
+       }
+
+       if (!e.vaHeight) {
+               // Store viewable area height before changing style to auto
+               e.vaHeight = e.offsetHeight;
+               e.vaMaxHeight = e.style.maxHeight;
+               e.style.height = 'auto';
+               e.style.maxHeight = 'none';
+               e.style.overflow = 'visible';
+       } else {
+               // Restore viewable area height to the default
+               e.style.height = e.vaHeight + 'px';
+               e.style.overflow = 'auto';
+               e.style.maxHeight = e.vaMaxHeight;
+               e.vaHeight = false;
+       }
+}
+
+/**
+* Alternate display of subPanels
+*/
+jQuery(function($) {
+       'use strict';
+
+       $('.sub-panels').each(function() {
+
+               var $childNodes = $('a[data-subpanel]', this),
+                       panels = $childNodes.map(function () {
+                               return this.getAttribute('data-subpanel');
+                       }),
+                       showPanel = this.getAttribute('data-show-panel');
+
+               if (panels.length) {
+                       activateSubPanel(showPanel, panels);
+                       $childNodes.click(function () {
+                               activateSubPanel(this.getAttribute('data-subpanel'), panels);
+                               return false;
+                       });
+               }
+       });
+});
+
+/**
+* Activate specific subPanel
+*/
+function activateSubPanel(p, panels) {
+       'use strict';
+
+       var i, showPanel;
+
+       if (typeof p === 'string') {
+               showPanel = p;
+       }
+       $('input[name="show_panel"]').val(showPanel);
+
+       if (typeof panels === 'undefined') {
+               panels = jQuery('.sub-panels a[data-subpanel]').map(function() {
+                       return this.getAttribute('data-subpanel');
+               });
+       }
+
+       for (i = 0; i < panels.length; i++) {
+               jQuery('#' + panels[i]).css('display', panels[i] === showPanel ? 'block' : 'none');
+               jQuery('#' + panels[i] + '-tab').toggleClass('activetab', panels[i] === showPanel);
+       }
+}
+
+function selectCode(a) {
+       'use strict';
+
+       // Get ID of code block
+       var e = a.parentNode.parentNode.getElementsByTagName('CODE')[0];
+       var s, r;
+
+       // Not IE and IE9+
+       if (window.getSelection) {
+               s = window.getSelection();
+               // Safari and Chrome
+               if (s.setBaseAndExtent) {
+                       var l = (e.innerText.length > 1) ? e.innerText.length - 1 : 1;
+                       try {
+                               s.setBaseAndExtent(e, 0, e, l);
+                       } catch (error) {
+                               r = document.createRange();
+                               r.selectNodeContents(e);
+                               s.removeAllRanges();
+                               s.addRange(r);
+                       }
+               }
+               // Firefox and Opera
+               else {
+                       // workaround for bug # 42885
+                       if (window.opera && e.innerHTML.substring(e.innerHTML.length - 4) === '<BR>') {
+                               e.innerHTML = e.innerHTML + '&nbsp;';
+                       }
+
+                       r = document.createRange();
+                       r.selectNodeContents(e);
+                       s.removeAllRanges();
+                       s.addRange(r);
+               }
+       }
+       // Some older browsers
+       else if (document.getSelection) {
+               s = document.getSelection();
+               r = document.createRange();
+               r.selectNodeContents(e);
+               s.removeAllRanges();
+               s.addRange(r);
+       }
+       // IE
+       else if (document.selection) {
+               r = document.body.createTextRange();
+               r.moveToElementText(e);
+               r.select();
+       }
+}
+
+/**
+* Play quicktime file by determining it's width/height
+* from the displayed rectangle area
+*/
+function play_qt_file(obj) {
+       'use strict';
+
+       var rectangle = obj.GetRectangle();
+       var width, height;
+
+       if (rectangle) {
+               rectangle = rectangle.split(',');
+               var x1 = parseInt(rectangle[0], 10);
+               var x2 = parseInt(rectangle[2], 10);
+               var y1 = parseInt(rectangle[1], 10);
+               var y2 = parseInt(rectangle[3], 10);
+
+               width = (x1 < 0) ? (x1 * -1) + x2 : x2 - x1;
+               height = (y1 < 0) ? (y1 * -1) + y2 : y2 - y1;
+       } else {
+               width = 200;
+               height = 0;
+       }
+
+       obj.width = width;
+       obj.height = height + 16;
+
+       obj.SetControllerVisible(true);
+       obj.Play();
+}
+
+var inAutocomplete = false;
+var lastKeyEntered = '';
+
+/**
+* Check event key
+*/
+function phpbbCheckKey(event) {
+       'use strict';
+
+       // Keycode is array down or up?
+       if (event.keyCode && (event.keyCode === 40 || event.keyCode === 38)) {
+               inAutocomplete = true;
+       }
+
+       // Make sure we are not within an "autocompletion" field
+       if (inAutocomplete) {
+               // If return pressed and key changed we reset the autocompletion
+               if (!lastKeyEntered || lastKeyEntered === event.which) {
+                       inAutocomplete = false;
+                       return true;
+               }
+       }
+
+       // Keycode is not return, then return. ;)
+       if (event.which !== 13) {
+               lastKeyEntered = event.which;
+               return true;
+       }
+
+       return false;
+}
+
+/**
+* Apply onkeypress event for forcing default submit button on ENTER key press
+*/
+jQuery(function($) {
+       'use strict';
+
+       $('form input[type=text], form input[type=password]').on('keypress', function (e) {
+               var defaultButton = $(this).parents('form').find('input[type=submit].default-submit-action');
+
+               if (!defaultButton || defaultButton.length <= 0) {
+                       return true;
+               }
+
+               if (phpbbCheckKey(e)) {
+                       return true;
+               }
+
+               if ((e.which && e.which === 13) || (e.keyCode && e.keyCode === 13)) {
+                       defaultButton.click();
+                       return false;
+               }
+
+               return true;
+       });
+});
+
+/**
+* Functions for user search popup
+*/
+function insertUser(formId, value) {
+       'use strict';
+
+       var $form = jQuery(formId),
+               formName = $form.attr('data-form-name'),
+               fieldName = $form.attr('data-field-name'),
+               item = opener.document.forms[formName][fieldName];
+
+       if (item.value.length && item.type === 'textarea') {
+               value = item.value + '\n' + value;
+       }
+
+       item.value = value;
+}
+
+function insert_marked_users(formId, users) {
+       'use strict';
+
+       for (var i = 0; i < users.length; i++) {
+               if (users[i].checked) {
+                       insertUser(formId, users[i].value);
+               }
+       }
+
+       window.close();
+}
+
+function insert_single_user(formId, user) {
+       'use strict';
+
+       insertUser(formId, user);
+       window.close();
+}
+
+/**
+* Parse document block
+*/
+function parseDocument($container) {
+       'use strict';
+
+       var test = document.createElement('div'),
+               oldBrowser = (typeof test.style.borderRadius === 'undefined'),
+               $body = $('body');
+
+       /**
+       * Reset avatar dimensions when changing URL or EMAIL
+       */
+       $container.find('input[data-reset-on-edit]').on('keyup', function() {
+               $(this.getAttribute('data-reset-on-edit')).val('');
+       });
+
+       /**
+       * Pagination
+       */
+       $container.find('.pagination .page-jump-form :button').click(function() {
+               var $input = $(this).siblings('input.inputbox');
+               pageJump($input);
+       });
+
+       $container.find('.pagination .page-jump-form input.inputbox').on('keypress', function(event) {
+               if (event.which === 13 || event.keyCode === 13) {
+                       event.preventDefault();
+                       pageJump($(this));
+               }
+       });
+
+       $container.find('.pagination .dropdown-trigger').click(function() {
+               var $dropdownContainer = $(this).parent();
+               // Wait a little bit to make sure the dropdown has activated
+               setTimeout(function() {
+                       if ($dropdownContainer.hasClass('dropdown-visible')) {
+                               $dropdownContainer.find('input.inputbox').focus();
+                       }
+               }, 100);
+       });
+
+       /**
+       * Adjust HTML code for IE8 and older versions
+       */
+       // if (oldBrowser) {
+       //      // Fix .linklist.bulletin lists
+       //      $container
+       //              .find('ul.linklist.bulletin > li')
+       //              .filter(':first-child, .rightside:last-child')
+       //              .addClass('no-bulletin');
+       // }
+
+       /**
+       * Resize navigation (breadcrumbs) block to keep all links on same line
+       */
+       $container.find('.navlinks').each(function() {
+               var $this = $(this),
+                       $left = $this.children().not('.rightside'),
+                       $right = $this.children('.rightside');
+
+               if ($left.length !== 1 || !$right.length) {
+                       return;
+               }
+
+               function resize() {
+                       var width = 0,
+                               diff = $left.outerWidth(true) - $left.width(),
+                               minWidth = Math.max($this.width() / 3, 240),
+                               maxWidth;
+
+                       $right.each(function() {
+                               var $this = $(this);
+                               if ($this.is(':visible')) {
+                                       width += $this.outerWidth(true);
+                               }
+                       });
+
+                       maxWidth = $this.width() - width - diff;
+                       $left.css('max-width', Math.floor(Math.max(maxWidth, minWidth)) + 'px');
+               }
+
+               resize();
+               $(window).resize(resize);
+       });
+
+       /**
+       * Makes breadcrumbs responsive
+       */
+       $container.find('.breadcrumbs:not([data-skip-responsive])').each(function() {
+               var $this = $(this),
+                       $links = $this.find('.crumb'),
+                       length = $links.length,
+                       classes = ['wrapped-max', 'wrapped-wide', 'wrapped-medium', 'wrapped-small', 'wrapped-tiny'],
+                       classesLength = classes.length,
+                       maxHeight = 0,
+                       lastWidth = false,
+                       wrapped = false;
+
+               // Set tooltips
+               $this.find('a').each(function() {
+                       var $link = $(this);
+                       $link.attr('title', $link.text());
+               });
+
+               // Function that checks breadcrumbs
+               function check() {
+                       var height = $this.height(),
+                               width;
+
+                       // Test max-width set in code for .navlinks above
+                       width = parseInt($this.css('max-width'), 10);
+                       if (!width) {
+                               width = $body.width();
+                       }
+
+                       maxHeight = parseInt($this.css('line-height'), 10);
+                       $links.each(function() {
+                               if ($(this).height() > 0) {
+                                       maxHeight = Math.max(maxHeight, $(this).outerHeight(true));
+                               }
+                       });
+
+                       if (height <= maxHeight) {
+                               if (!wrapped || lastWidth === false || lastWidth >= width) {
+                                       return;
+                               }
+                       }
+                       lastWidth = width;
+
+                       if (wrapped) {
+                               $this.removeClass('wrapped').find('.crumb.wrapped').removeClass('wrapped ' + classes.join(' '));
+                               if ($this.height() <= maxHeight) {
+                                       return;
+                               }
+                       }
+
+                       wrapped = true;
+                       $this.addClass('wrapped');
+                       if ($this.height() <= maxHeight) {
+                               return;
+                       }
+
+                       for (var i = 0; i < classesLength; i++) {
+                               for (var j = length - 1; j >= 0; j--) {
+                                       $links.eq(j).addClass('wrapped ' + classes[i]);
+                                       if ($this.height() <= maxHeight) {
+                                               return;
+                                       }
+                               }
+                       }
+               }
+
+               // Run function and set event
+               check();
+               $(window).resize(check);
+       });
+
+       /**
+       * Responsive link lists
+       */
+       var selector = '.linklist:not(.navlinks, [data-skip-responsive]),' +
+               '.postbody .post-buttons:not([data-skip-responsive])';
+       $container.find(selector).each(function() {
+               var $this = $(this),
+                       filterSkip = '.breadcrumbs, [data-skip-responsive]',
+                       filterLast = '.edit-icon, .quote-icon, [data-last-responsive]',
+                       $linksAll = $this.children(),
+                       $linksNotSkip = $linksAll.not(filterSkip), // All items that can potentially be hidden
+                       $linksFirst = $linksNotSkip.not(filterLast), // The items that will be hidden first
+                       $linksLast = $linksNotSkip.filter(filterLast), // The items that will be hidden last
+                       persistent = $this.attr('id') === 'nav-main', // Does this list already have a menu (such as quick-links)?
+                       html = '<li class="responsive-menu hidden"><a href="javascript:void(0);" class="js-responsive-menu-link responsive-menu-link"><i class="icon fa-bars fa-fw" aria-hidden="true"></i></a><div class="dropdown"><div class="pointer"><div class="pointer-inner" /></div><ul class="dropdown-contents" /></div></li>',
+                       slack = 3; // Vertical slack space (in pixels). Determines how sensitive the script is in determining whether a line-break has occured.
+
+               // Add a hidden drop-down menu to each links list (except those that already have one)
+               if (!persistent) {
+                       if ($linksNotSkip.is('.rightside')) {
+                               $linksNotSkip.filter('.rightside:first').before(html);
+                               $this.children('.responsive-menu').addClass('rightside');
+                       } else {
+                               $this.append(html);
+                       }
+               }
+
+               // Set some object references and initial states
+               var $menu = $this.children('.responsive-menu'),
+                       $menuContents = $menu.find('.dropdown-contents'),
+                       persistentContent = $menuContents.find('li:not(.separator)').length,
+                       lastWidth = false,
+                       compact = false,
+                       responsive1 = false,
+                       responsive2 = false,
+                       copied1 = false,
+                       copied2 = false,
+                       maxHeight = 0;
+
+               // Find the tallest element in the list (we assume that all elements are roughly the same height)
+               $linksAll.each(function() {
+                       if (!$(this).height()) {
+                               return;
+                       }
+                       maxHeight = Math.max(maxHeight, $(this).outerHeight(true));
+               });
+               if (maxHeight < 1) {
+                       return; // Shouldn't be possible, but just in case, abort
+               } else {
+                       maxHeight = maxHeight + slack;
+               }
+
+               function check() {
+                       var width = $body.width();
+                       // We can't make it any smaller than this, so just skip
+                       if (responsive2 && compact && (width <= lastWidth)) {
+                               return;
+                       }
+                       lastWidth = width;
+
+                       // Reset responsive and compact layout
+                       if (responsive1 || responsive2) {
+                               $linksNotSkip.removeClass('hidden');
+                               $menuContents.children('.clone').addClass('hidden');
+                               responsive1 = responsive2 = false;
+                       }
+                       if (compact) {
+                               $this.removeClass('compact');
+                               compact = false;
+                       }
+
+                       // Unhide the quick-links menu if it has "persistent" content
+                       if (persistent && persistentContent) {
+                               $menu.removeClass('hidden');
+                       } else {
+                               $menu.addClass('hidden');
+                       }
+
+                       // Nothing to resize if block's height is not bigger than tallest element's height
+                       if ($this.height() <= maxHeight) {
+                               return;
+                       }
+
+                       // STEP 1: Compact
+                       if (!compact) {
+                               $this.addClass('compact');
+                               compact = true;
+                       }
+                       if ($this.height() <= maxHeight) {
+                               return;
+                       }
+
+                       // STEP 2: First responsive set - compact
+                       if (compact) {
+                               $this.removeClass('compact');
+                               compact = false;
+                       }
+                       // Copy the list items to the dropdown
+                       if (!copied1) {
+                               var $clones1 = $linksFirst.clone();
+                               $menuContents.prepend($clones1.addClass('clone clone-first').removeClass('leftside rightside'));
+
+                               if ($this.hasClass('post-buttons')) {
+                                       $('.button', $menuContents).removeClass('button');
+                                       $('.sr-only', $menuContents).removeClass('sr-only');
+                                       $('.js-responsive-menu-link').addClass('button').addClass('button-icon-only');
+                                       $('.js-responsive-menu-link .icon').removeClass('fa-bars').addClass('fa-ellipsis-h');
+                               }
+                               copied1 = true;
+                       }
+                       if (!responsive1) {
+                               $linksFirst.addClass('hidden');
+                               responsive1 = true;
+                               $menuContents.children('.clone-first').removeClass('hidden');
+                               $menu.removeClass('hidden');
+                       }
+                       if ($this.height() <= maxHeight) {
+                               return;
+                       }
+
+                       // STEP 3: First responsive set + compact
+                       if (!compact) {
+                               $this.addClass('compact');
+                               compact = true;
+                       }
+                       if ($this.height() <= maxHeight) {
+                               return;
+                       }
+
+                       // STEP 4: Last responsive set - compact
+                       if (!$linksLast.length) {
+                               return; // No other links to hide, can't do more
+                       }
+                       if (compact) {
+                               $this.removeClass('compact');
+                               compact = false;
+                       }
+                       // Copy the list items to the dropdown
+                       if (!copied2) {
+                               var $clones2 = $linksLast.clone();
+                               $menuContents.prepend($clones2.addClass('clone clone-last').removeClass('leftside rightside'));
+                               copied2 = true;
+                       }
+                       if (!responsive2) {
+                               $linksLast.addClass('hidden');
+                               responsive2 = true;
+                               $menuContents.children('.clone-last').removeClass('hidden');
+                       }
+                       if ($this.height() <= maxHeight) {
+                               return;
+                       }
+
+                       // STEP 5: Last responsive set + compact
+                       if (!compact) {
+                               $this.addClass('compact');
+                               compact = true;
+                       }
+               }
+
+               if (!persistent) {
+                       phpbb.registerDropdown($menu.find('a.js-responsive-menu-link'), $menu.find('.dropdown'), false);
+               }
+
+               // If there are any images in the links list, run the check again after they have loaded
+               $linksAll.find('img').each(function() {
+                       $(this).load(function() {
+                               check();
+                       });
+               });
+
+               check();
+               $(window).resize(check);
+       });
+
+       /**
+       * Do not run functions below for old browsers
+       */
+       if (oldBrowser) {
+               return;
+       }
+
+       /**
+       * Adjust topiclist lists with check boxes
+       */
+       $container.find('ul.topiclist dd.mark').siblings('dt').children('.list-inner').addClass('with-mark');
+
+       /**
+       * Appends contents of all extra columns to first column in
+       * .topiclist lists for mobile devices. Copies contents as is.
+       *
+       * To add that functionality to .topiclist list simply add
+       * responsive-show-all to list of classes
+       */
+       $container.find('.topiclist.responsive-show-all > li > dl').each(function() {
+               var $this = $(this),
+                       $block = $this.find('dt .responsive-show:last-child'),
+                       first = true;
+
+               // Create block that is visible only on mobile devices
+               if (!$block.length) {
+                       $this.find('dt > .list-inner').append('<div class="responsive-show" style="display:none;" />');
+                       $block = $this.find('dt .responsive-show:last-child');
+               } else {
+                       first = ($.trim($block.text()).length === 0);
+               }
+
+               // Copy contents of each column
+               $this.find('dd').not('.mark').each(function() {
+                       var column = $(this),
+                               $children = column.children(),
+                               html = column.html();
+
+                       if ($children.length === 1 && $children.text() === column.text()) {
+                               html = $children.html();
+                       }
+
+                       $block.append((first ? '' : '<br />') + html);
+
+                       first = false;
+               });
+       });
+
+       /**
+       * Same as above, but prepends text from header to each
+       * column before contents of that column.
+       *
+       * To add that functionality to .topiclist list simply add
+       * responsive-show-columns to list of classes
+       */
+       $container.find('.topiclist.responsive-show-columns').each(function() {
+               var $list = $(this),
+                       headers = [],
+                       headersLength = 0;
+
+               // Find all headers, get contents
+               $list.prev('.topiclist').find('li.header dd').not('.mark').each(function() {
+                       headers.push($(this).text());
+                       headersLength++;
+               });
+
+               if (!headersLength) {
+                       return;
+               }
+
+               // Parse each row
+               $list.find('dl').each(function() {
+                       var $this = $(this),
+                               $block = $this.find('dt .responsive-show:last-child'),
+                               first = true;
+
+                       // Create block that is visible only on mobile devices
+                       if (!$block.length) {
+                               $this.find('dt > .list-inner').append('<div class="responsive-show" style="display:none;" />');
+                               $block = $this.find('dt .responsive-show:last-child');
+                       } else {
+                               first = ($.trim($block.text()).length === 0);
+                       }
+
+                       // Copy contents of each column
+                       $this.find('dd').not('.mark').each(function(i) {
+                               var column = $(this),
+                                       children = column.children(),
+                                       html = column.html();
+
+                               if (children.length === 1 && children.text() === column.text()) {
+                                       html = children.html();
+                               }
+
+                               // Prepend contents of matching header before contents of column
+                               if (i < headersLength) {
+                                       html = headers[i] + ': <strong>' + html + '</strong>';
+                               }
+
+                               $block.append((first ? '' : '<br />') + html);
+
+                               first = false;
+                       });
+               });
+       });
+
+       /**
+       * Responsive tables
+       */
+       $container.find('table.table1').not('.not-responsive').each(function() {
+               var $this = $(this),
+                       $th = $this.find('thead > tr > th'),
+                       headers = [],
+                       totalHeaders = 0,
+                       i, headersLength;
+
+               // Find each header
+               $th.each(function(column) {
+                       var cell = $(this),
+                               colspan = parseInt(cell.attr('colspan'), 10),
+                               dfn = cell.attr('data-dfn'),
+                               text = dfn ? dfn : cell.text();
+
+                       colspan = isNaN(colspan) || colspan < 1 ? 1 : colspan;
+
+                       for (i = 0; i < colspan; i++) {
+                               headers.push(text);
+                       }
+                       totalHeaders++;
+
+                       if (dfn && !column) {
+                               $this.addClass('show-header');
+                       }
+               });
+
+               headersLength = headers.length;
+
+               // Add header text to each cell as <dfn>
+               $this.addClass('responsive');
+
+               if (totalHeaders < 2) {
+                       $this.addClass('show-header');
+                       return;
+               }
+
+               $this.find('tbody > tr').each(function() {
+                       var row = $(this),
+                               cells = row.children('td'),
+                               column = 0;
+
+                       if (cells.length === 1) {
+                               row.addClass('big-column');
+                               return;
+                       }
+
+                       cells.each(function() {
+                               var cell = $(this),
+                                       colspan = parseInt(cell.attr('colspan'), 10),
+                                       text = $.trim(cell.text());
+
+                               if (headersLength <= column) {
+                                       return;
+                               }
+
+                               if ((text.length && text !== '-') || cell.children().length) {
+                                       cell.prepend('<dfn style="display: none;">' + headers[column] + '</dfn>');
+                               } else {
+                                       cell.addClass('empty');
+                               }
+
+                               colspan = isNaN(colspan) || colspan < 1 ? 1 : colspan;
+                               column += colspan;
+                       });
+               });
+       });
+
+       /**
+       * Hide empty responsive tables
+       */
+       $container.find('table.responsive > tbody').not('.responsive-skip-empty').each(function() {
+               var $items = $(this).children('tr');
+               if (!$items.length) {
+                       $(this).parent('table:first').addClass('responsive-hide');
+               }
+       });
+
+       /**
+       * Responsive tabs
+       */
+       $container.find('#tabs, #minitabs').not('[data-skip-responsive]').each(function() {
+               var $this = $(this),
+                       $ul = $this.children(),
+                       $tabs = $ul.children().not('[data-skip-responsive]'),
+                       $links = $tabs.children('a'),
+                       $item = $ul.append('<li class="tab responsive-tab" style="display:none;"><a href="javascript:void(0);" class="responsive-tab-link">&nbsp;</a><div class="dropdown tab-dropdown" style="display: none;"><div class="pointer"><div class="pointer-inner" /></div><ul class="dropdown-contents" /></div></li>').find('li.responsive-tab'),
+                       $menu = $item.find('.dropdown-contents'),
+                       maxHeight = 0,
+                       lastWidth = false,
+                       responsive = false;
+
+               $links.each(function() {
+                       var $this = $(this);
+                       maxHeight = Math.max(maxHeight, Math.max($this.outerHeight(true), $this.parent().outerHeight(true)));
+               });
+
+               function check() {
+                       var width = $body.width(),
+                               height = $this.height();
+
+                       if (!arguments.length && (!responsive || width <= lastWidth) && height <= maxHeight) {
+                               return;
+                       }
+
+                       $tabs.show();
+                       $item.hide();
+
+                       lastWidth = width;
+                       height = $this.height();
+                       if (height <= maxHeight) {
+                               if ($item.hasClass('dropdown-visible')) {
+                                       phpbb.toggleDropdown.call($item.find('a.responsive-tab-link').get(0));
+                               }
+                               return;
+                       }
+
+                       responsive = true;
+                       $item.show();
+                       $menu.html('');
+
+                       var $availableTabs = $tabs.filter(':not(.activetab, .responsive-tab)'),
+                               total = $availableTabs.length,
+                               i, $tab;
+
+                       for (i = total - 1; i >= 0; i--) {
+                               $tab = $availableTabs.eq(i);
+                               $menu.prepend($tab.clone(true).removeClass('tab'));
+                               $tab.hide();
+                               if ($this.height() <= maxHeight) {
+                                       $menu.find('a').click(function() {
+                                               check(true);
+                                       });
+                                       return;
+                               }
+                       }
+                       $menu.find('a').click(function() {
+                               check(true);
+                       });
+               }
+
+               var $tabLink = $item.find('a.responsive-tab-link');
+               phpbb.registerDropdown($tabLink, $item.find('.dropdown'), {
+                       visibleClass: 'activetab'
+               });
+
+               check(true);
+               $(window).resize(check);
+       });
+
+       /**
+        * Hide UCP/MCP navigation if there is only 1 item
+        */
+       $container.find('#navigation').each(function() {
+               var $items = $(this).children('ol, ul').children('li');
+               if ($items.length === 1) {
+                       $(this).addClass('responsive-hide');
+               }
+       });
+
+       /**
+       * Replace responsive text
+       */
+       $container.find('[data-responsive-text]').each(function() {
+               var $this = $(this),
+                       fullText = $this.text(),
+                       responsiveText = $this.attr('data-responsive-text'),
+                       responsive = false;
+
+               function check() {
+                       if ($(window).width() > 700) {
+                               if (!responsive) {
+                                       return;
+                               }
+                               $this.text(fullText);
+                               responsive = false;
+                               return;
+                       }
+                       if (responsive) {
+                               return;
+                       }
+                       $this.text(responsiveText);
+                       responsive = true;
+               }
+
+               check();
+               $(window).resize(check);
+       });
+}
+
+/**
+* Run onload functions
+*/
+jQuery(function($) {
+       'use strict';
+
+       // Swap .nojs and .hasjs
+       $('#phpbb.nojs').toggleClass('nojs hasjs');
+       $('#phpbb').toggleClass('hastouch', phpbb.isTouch);
+       $('#phpbb.hastouch').removeClass('notouch');
+
+       // Focus forms
+       $('form[data-focus]:first').each(function() {
+               $('#' + this.getAttribute('data-focus')).focus();
+       });
+
+       parseDocument($('body'));
+});
diff --git a/template/forumlist_body.html b/template/forumlist_body.html
new file mode 100644 (file)
index 0000000..0d6e930
--- /dev/null
@@ -0,0 +1,131 @@
+
+<!-- BEGIN forumrow -->
+       <!-- IF (forumrow.S_IS_CAT and not forumrow.S_FIRST_ROW) or forumrow.S_NO_CAT  -->
+                       </ul>
+
+                       </div>
+               </div>
+       <!-- ENDIF -->
+
+       <!-- EVENT forumlist_body_category_header_before -->
+       <!-- IF forumrow.S_IS_CAT or forumrow.S_FIRST_ROW  or forumrow.S_NO_CAT  -->
+               <div class="forabg">
+                       <div class="inner">
+                       <ul class="topiclist">
+                               <li class="header">
+                                       <!-- EVENT forumlist_body_category_header_row_prepend -->
+                                       <dl class="row-item">
+                                               <dt><div class="list-inner"><!-- IF forumrow.S_IS_CAT --><a href="{forumrow.U_VIEWFORUM}">{forumrow.FORUM_NAME}</a><!-- ELSE -->{L_FORUM}<!-- ENDIF --></div></dt>
+                                               <dd class="topics">{L_TOPICS}</dd>
+                                               <dd class="posts">{L_POSTS}</dd>
+                                               <dd class="lastpost"><span>{L_LAST_POST}</span></dd>
+                                       </dl>
+                                       <!-- EVENT forumlist_body_category_header_row_append -->
+                               </li>
+                       </ul>
+                       <ul class="topiclist forums">
+       <!-- ENDIF -->
+       <!-- EVENT forumlist_body_category_header_after -->
+
+       <!-- IF not forumrow.S_IS_CAT -->
+               <!-- EVENT forumlist_body_forum_row_before -->
+               <li class="row">
+                       <!-- EVENT forumlist_body_forum_row_prepend -->
+                       <dl class="row-item {forumrow.FORUM_IMG_STYLE}">
+                               <dt title="{forumrow.FORUM_FOLDER_IMG_ALT}">
+                                       <!-- IF forumrow.S_UNREAD_FORUM --><a href="{forumrow.U_VIEWFORUM}" class="row-item-link"></a><!-- ENDIF -->
+                                       <div class="list-inner">
+                                               <!-- IF S_ENABLE_FEEDS and forumrow.S_FEED_ENABLED -->
+                                                       <!--
+                                                               <a class="feed-icon-forum" title="{L_FEED} - {forumrow.FORUM_NAME}" href="{U_FEED}?f={forumrow.FORUM_ID}">
+                                                                       <i class="icon fa-rss-square fa-fw icon-orange" aria-hidden="true"></i><span class="sr-only">{L_FEED} - {forumrow.FORUM_NAME}</span>
+                                                               </a>
+                                                       -->
+                                               <!-- ENDIF -->
+                                               <!-- IF forumrow.FORUM_IMAGE --><span class="forum-image">{forumrow.FORUM_IMAGE}</span><!-- ENDIF -->
+                                               <a href="{forumrow.U_VIEWFORUM}" class="forumtitle">{forumrow.FORUM_NAME}</a>
+                                               <!-- IF forumrow.FORUM_DESC --><br />{forumrow.FORUM_DESC}<!-- ENDIF -->
+                                               <!-- IF forumrow.MODERATORS -->
+                                                       <br /><strong>{forumrow.L_MODERATOR_STR}{L_COLON}</strong> {forumrow.MODERATORS}
+                                               <!-- ENDIF -->
+                                               <!-- IF .forumrow.subforum and forumrow.S_LIST_SUBFORUMS -->
+                                                       <!-- EVENT forumlist_body_subforums_before -->
+                                                       <br /><strong>{forumrow.L_SUBFORUM_STR}{L_COLON}</strong>
+                                                       <!-- BEGIN subforum -->
+                                                               <a href="{forumrow.subforum.U_SUBFORUM}" class="subforum<!-- IF forumrow.subforum.S_UNREAD --> unread<!-- ELSE --> read<!-- ENDIF -->" title="<!-- IF forumrow.subforum.S_UNREAD -->{L_UNREAD_POSTS}<!-- ELSE -->{L_NO_UNREAD_POSTS}<!-- ENDIF -->">
+                                                                       <i class="icon <!-- IF forumrow.subforum.IS_LINK -->fa-external-link<!-- ELSE -->fa-file-o<!-- ENDIF --> fa-fw <!-- IF forumrow.subforum.S_UNREAD --> icon-red<!-- ELSE --> icon-blue<!-- ENDIF --> icon-md" aria-hidden="true"></i>{forumrow.subforum.SUBFORUM_NAME}
+                                                               </a>
+                                                               <!-- IF not forumrow.subforum.S_LAST_ROW -->{L_COMMA_SEPARATOR}<!-- ENDIF -->
+                                                       <!-- END subforum -->
+                                                       <!-- EVENT forumlist_body_subforums_after -->
+                                               <!-- ENDIF -->
+
+                                               <!-- IF not S_IS_BOT -->
+                                               <div class="responsive-show" style="display: none;">
+                                                       <!-- IF forumrow.CLICKS -->
+                                                               {L_REDIRECTS}{L_COLON} <strong>{forumrow.CLICKS}</strong>
+                                                       <!-- ELSEIF not forumrow.S_IS_LINK and forumrow.TOPICS -->
+                                                               {L_TOPICS}{L_COLON} <strong>{forumrow.TOPICS}</strong>
+                                                       <!-- ENDIF -->
+                                               </div>
+                                               <!-- ENDIF -->
+                                       </div>
+                               </dt>
+                               <!-- IF forumrow.CLICKS -->
+                                       <dd class="redirect"><span>{L_REDIRECTS}{L_COLON} {forumrow.CLICKS}</span></dd>
+                               <!-- ELSEIF not forumrow.S_IS_LINK -->
+                                       <dd class="topics">{forumrow.TOPICS} <dfn>{L_TOPICS}</dfn></dd>
+                                       <dd class="posts">{forumrow.POSTS} <dfn>{L_POSTS}</dfn></dd>
+                                       <dd class="lastpost">
+                                               <span>
+                                                       <!-- IF forumrow.U_UNAPPROVED_TOPICS -->
+                                                               <a href="{forumrow.U_UNAPPROVED_TOPICS}" title="{L_TOPICS_UNAPPROVED}">
+                                                                       <i class="icon fa-question fa-fw icon-blue" aria-hidden="true"></i><span class="sr-only">{L_TOPICS_UNAPPROVED}</span>
+                                                               </a>
+                                                       <!-- ELSEIF forumrow.U_UNAPPROVED_POSTS -->
+                                                               <a href="{forumrow.U_UNAPPROVED_POSTS}" title="{L_POSTS_UNAPPROVED_FORUM}">
+                                                                       <i class="icon fa-question fa-fw icon-blue" aria-hidden="true"></i><span class="sr-only">{L_POSTS_UNAPPROVED_FORUM}</span>
+                                                               </a>
+                                                       <!-- ENDIF -->
+                                                       <!-- IF forumrow.LAST_POST_TIME -->
+                                                               <dfn>{L_LAST_POST}</dfn>
+                                                               <!-- IF forumrow.S_DISPLAY_SUBJECT -->
+                                                                       <!-- EVENT forumlist_body_last_post_title_prepend -->
+                                                                       <a href="{forumrow.U_LAST_POST}" title="{forumrow.LAST_POST_SUBJECT}" class="lastsubject">{forumrow.LAST_POST_SUBJECT_TRUNCATED}</a> <br />
+                                                               <!-- ENDIF -->
+                                                                       {L_POST_BY_AUTHOR} {forumrow.LAST_POSTER_FULL}
+                                                               <!-- IF not S_IS_BOT -->
+                                                                       <a href="{forumrow.U_LAST_POST}" title="{L_VIEW_LATEST_POST}">
+                                                                               <i class="icon fa-external-link-square fa-fw icon-lightgray icon-md" aria-hidden="true"></i><span class="sr-only">{L_VIEW_LATEST_POST}</span>
+                                                                       </a>
+                                                               <!-- ENDIF -->
+                                                               <br />{forumrow.LAST_POST_TIME}
+                                                       <!-- ELSE -->
+                                                               {L_NO_POSTS}<br />&nbsp;
+                                                       <!-- ENDIF -->
+                                               </span>
+                                       </dd>
+                               <!-- ELSE -->
+                                       <dd>&nbsp;</dd>
+                               <!-- ENDIF -->
+                       </dl>
+                       <!-- EVENT forumlist_body_forum_row_append -->
+               </li>
+               <!-- EVENT forumlist_body_forum_row_after -->
+       <!-- ENDIF -->
+
+       <!-- IF forumrow.S_LAST_ROW -->
+                       </ul>
+
+                       </div>
+               </div>
+       <!-- EVENT forumlist_body_last_row_after -->
+       <!-- ENDIF -->
+
+<!-- BEGINELSE -->
+       <div class="panel">
+               <div class="inner">
+               <strong>{L_NO_FORUMS}</strong>
+               </div>
+       </div>
+<!-- END forumrow -->
diff --git a/template/index.htm b/template/index.htm
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/template/index_body.html b/template/index_body.html
new file mode 100644 (file)
index 0000000..ec5bf35
--- /dev/null
@@ -0,0 +1,74 @@
+<!-- INCLUDE overall_header.html -->
+
+<p class="{S_CONTENT_FLOW_END} responsive-center time<!-- IF S_USER_LOGGED_IN --> rightside<!-- ENDIF -->"><!-- IF S_USER_LOGGED_IN -->{LAST_VISIT_DATE}<!-- ELSE -->{CURRENT_TIME}<!-- ENDIF --></p>
+<!-- IF S_USER_LOGGED_IN --><p class="responsive-center time">{CURRENT_TIME}</p><!-- ENDIF -->
+
+<!-- EVENT index_body_markforums_before -->
+<!-- IF U_MARK_FORUMS -->
+       <div class="action-bar compact">
+               <a href="{U_MARK_FORUMS}" class="mark-read rightside" accesskey="m" data-ajax="mark_forums_read">{L_MARK_FORUMS_READ}</a>
+       </div>
+<!-- ENDIF -->
+<!-- EVENT index_body_markforums_after -->
+
+<!-- INCLUDE forumlist_body.html -->
+
+<!-- EVENT index_body_forumlist_body_after -->
+
+<!-- IF not S_USER_LOGGED_IN and not S_IS_BOT -->
+       <form method="post" action="{S_LOGIN_ACTION}" class="headerspace">
+       <h3><a href="{U_LOGIN_LOGOUT}">{L_LOGIN_LOGOUT}</a><!-- IF S_REGISTER_ENABLED -->&nbsp; &bull; &nbsp;<a href="{U_REGISTER}">{L_REGISTER}</a><!-- ENDIF --></h3>
+               <fieldset class="quick-login">
+                       <label for="username"><span>{L_USERNAME}{L_COLON}</span> <input type="text" tabindex="1" name="username" id="username" size="10" class="inputbox" title="{L_USERNAME}" /></label>
+                       <label for="password"><span>{L_PASSWORD}{L_COLON}</span> <input type="password" tabindex="2" name="password" id="password" size="10" class="inputbox" title="{L_PASSWORD}" autocomplete="off" /></label>
+                       <!-- IF U_SEND_PASSWORD -->
+                               <a href="{U_SEND_PASSWORD}">{L_FORGOT_PASS}</a>
+                       <!-- ENDIF -->
+                       <!-- IF S_AUTOLOGIN_ENABLED -->
+                               <span class="responsive-hide">|</span> <label for="autologin">{L_LOG_ME_IN} <input type="checkbox" tabindex="4" name="autologin" id="autologin" /></label>
+                       <!-- ENDIF -->
+                       <input type="submit" tabindex="5" name="login" value="{L_LOGIN}" class="button2" />
+                       {S_LOGIN_REDIRECT}
+               </fieldset>
+       </form>
+<!-- ENDIF -->
+
+<!-- EVENT index_body_stat_blocks_before -->
+
+<!-- IF S_DISPLAY_ONLINE_LIST -->
+       <div class="stat-block online-list">
+               <!-- IF U_VIEWONLINE --><h3><a href="{U_VIEWONLINE}">{L_WHO_IS_ONLINE}</a></h3><!-- ELSE --><h3>{L_WHO_IS_ONLINE}</h3><!-- ENDIF -->
+               <p>
+                       <!-- EVENT index_body_block_online_prepend -->
+                       {TOTAL_USERS_ONLINE} ({L_ONLINE_EXPLAIN})<br />{RECORD_USERS}<br /> <br />{LOGGED_IN_USER_LIST}
+                       <!-- IF LEGEND --><br /><em>{L_LEGEND}{L_COLON} {LEGEND}</em><!-- ENDIF -->
+                       <!-- EVENT index_body_block_online_append -->
+               </p>
+       </div>
+<!-- ENDIF -->
+
+<!-- IF S_DISPLAY_BIRTHDAY_LIST -->
+       <div class="stat-block birthday-list">
+               <h3>{L_BIRTHDAYS}</h3>
+               <p>
+                       <!-- EVENT index_body_block_birthday_prepend -->
+                       <!-- IF .birthdays -->{L_CONGRATULATIONS}{L_COLON} <strong><!-- BEGIN birthdays -->{birthdays.USERNAME}<!-- IF birthdays.AGE !== '' --> ({birthdays.AGE})<!-- ENDIF --><!-- IF not birthdays.S_LAST_ROW -->, <!-- ENDIF --><!-- END birthdays --></strong><!-- ELSE -->{L_NO_BIRTHDAYS}<!-- ENDIF -->
+                       <!-- EVENT index_body_block_birthday_append -->
+               </p>
+       </div>
+<!-- ENDIF -->
+
+<!-- IF NEWEST_USER -->
+       <div class="stat-block statistics">
+               <h3>{L_STATISTICS}</h3>
+               <p>
+                       <!-- EVENT index_body_block_stats_prepend -->
+                       {TOTAL_POSTS} &bull; {TOTAL_TOPICS} &bull; {TOTAL_USERS} &bull; {NEWEST_USER}
+                       <!-- EVENT index_body_block_stats_append -->
+               </p>
+       </div>
+<!-- ENDIF -->
+
+<!-- EVENT index_body_stat_blocks_after -->
+
+<!-- INCLUDE overall_footer.html -->
diff --git a/template/jumpbox.html b/template/jumpbox.html
new file mode 100644 (file)
index 0000000..724a963
--- /dev/null
@@ -0,0 +1,50 @@
+
+<div class="action-bar actions-jump">
+       <!-- IF S_VIEWTOPIC -->
+       <p class="jumpbox-return">
+               <a href="{U_VIEW_FORUM}" class="left-box arrow-{S_CONTENT_FLOW_BEGIN}" accesskey="r">
+                       <i class="icon fa-angle-{S_CONTENT_FLOW_BEGIN} fa-fw icon-black" aria-hidden="true"></i><span>{L_RETURN_TO_FORUM}</span>
+               </a>
+       </p>
+       <!-- ELSEIF S_VIEWFORUM -->
+       <p class="jumpbox-return">
+               <a href="{U_INDEX}" class="left-box arrow-{S_CONTENT_FLOW_BEGIN}" accesskey="r">
+                       <i class="icon fa-angle-{S_CONTENT_FLOW_BEGIN} fa-fw icon-black" aria-hidden="true"></i><span>{L_RETURN_TO_INDEX}</span>
+               </a>
+       </p>
+       <!-- ELSEIF SEARCH_TOPIC -->
+       <p class="jumpbox-return">
+               <a class="left-box arrow-{S_CONTENT_FLOW_BEGIN}" href="{U_SEARCH_TOPIC}" accesskey="r">
+                       <i class="icon fa-angle-{S_CONTENT_FLOW_BEGIN} fa-fw icon-black" aria-hidden="true"></i><span>{L_RETURN_TO_TOPIC}</span>
+               </a>
+       </p>
+       <!-- ELSEIF S_SEARCH_ACTION -->
+       <p class="jumpbox-return">
+               <a class="left-box arrow-{S_CONTENT_FLOW_BEGIN}" href="{U_SEARCH}" title="{L_SEARCH_ADV}" accesskey="r">
+                       <i class="icon fa-angle-{S_CONTENT_FLOW_BEGIN} fa-fw icon-black" aria-hidden="true"></i><span>{L_GO_TO_SEARCH_ADV}</span>
+               </a>
+       </p>
+       <!-- ENDIF -->
+
+       <!-- IF S_DISPLAY_JUMPBOX -->
+       <div class="jumpbox dropdown-container dropdown-container-right<!-- IF not S_IN_MCP --> dropdown-up<!-- ENDIF --> dropdown-{S_CONTENT_FLOW_BEGIN} dropdown-button-control" id="jumpbox">
+                       <span title="<!-- IF S_IN_MCP and S_MERGE_SELECT -->{L_SELECT_TOPICS_FROM}<!-- ELSEIF S_IN_MCP -->{L_MODERATE_FORUM}<!-- ELSE -->{L_JUMP_TO}<!-- ENDIF -->" class="button button-secondary dropdown-trigger dropdown-select">
+                               <span><!-- IF S_IN_MCP and S_MERGE_SELECT -->{L_SELECT_TOPICS_FROM}<!-- ELSEIF S_IN_MCP -->{L_MODERATE_FORUM}<!-- ELSE -->{L_JUMP_TO}<!-- ENDIF --></span>
+                               <span class="caret"><i class="icon fa-sort-down fa-fw" aria-hidden="true"></i></span>
+                       </span>
+               <div class="dropdown">
+                       <div class="pointer"><div class="pointer-inner"></div></div>
+                       <ul class="dropdown-contents">
+                               <!-- BEGIN jumpbox_forums -->
+                               <!-- IF jumpbox_forums.FORUM_ID neq -1 -->
+                               <li><a href="{jumpbox_forums.LINK}" class="<!-- IF jumpbox_forums.level -->jumpbox-sub-link<!-- ELSEIF jumpbox_forums.S_IS_CAT -->jumpbox-cat-link<!-- ELSE -->jumpbox-forum-link<!-- ENDIF -->"><!-- BEGIN level --><span class="spacer"></span><!-- END level --> <span><!-- IF jumpbox_forums.level --> &#8627; &nbsp;<!-- ENDIF --> {jumpbox_forums.FORUM_NAME}</span></a></li>
+                               <!-- ENDIF -->
+                               <!-- END jumpbox_forums -->
+                       </ul>
+               </div>
+       </div>
+
+       <!-- ELSE -->
+       </br></br>
+       <!-- ENDIF -->
+</div>
diff --git a/template/login_body.html b/template/login_body.html
new file mode 100644 (file)
index 0000000..ef08035
--- /dev/null
@@ -0,0 +1,68 @@
+<!-- INCLUDE overall_header.html -->
+
+<form action="{S_LOGIN_ACTION}" method="post" id="login" data-focus="<!-- IF S_ADMIN_AUTH -->{PASSWORD_CREDENTIAL}<!-- ELSE -->{USERNAME_CREDENTIAL}<!-- ENDIF -->">
+<div class="panel">
+       <div class="inner">
+
+       <div class="content">
+               <h2 class="login-title"><!-- IF LOGIN_EXPLAIN -->{LOGIN_EXPLAIN}<!-- ELSE -->{L_LOGIN}<!-- ENDIF --></h2>
+
+               <fieldset <!-- IF not S_CONFIRM_CODE -->class="fields1"<!-- ELSE -->class="fields2"<!-- ENDIF -->>
+               <!-- IF LOGIN_ERROR --><div class="error">{LOGIN_ERROR}</div><!-- ENDIF -->
+               <dl>
+                       <dt><label for="{USERNAME_CREDENTIAL}">{L_USERNAME}{L_COLON}</label></dt>
+                       <dd><input type="text" tabindex="1" name="{USERNAME_CREDENTIAL}" id="{USERNAME_CREDENTIAL}" size="25" value="{USERNAME}" class="inputbox autowidth" /></dd>
+               </dl>
+               <dl>
+                       <dt><label for="{PASSWORD_CREDENTIAL}">{L_PASSWORD}{L_COLON}</label></dt>
+                       <dd><input type="password" tabindex="2" id="{PASSWORD_CREDENTIAL}" name="{PASSWORD_CREDENTIAL}" size="25" class="inputbox autowidth" autocomplete="off" /></dd>
+                       <!-- IF S_DISPLAY_FULL_LOGIN and (U_SEND_PASSWORD or U_RESEND_ACTIVATION) -->
+                               <!-- IF U_SEND_PASSWORD --><dd><a href="{U_SEND_PASSWORD}">{L_FORGOT_PASS}</a></dd><!-- ENDIF -->
+                               <!-- IF U_RESEND_ACTIVATION --><dd><a href="{U_RESEND_ACTIVATION}">{L_RESEND_ACTIVATION}</a></dd><!-- ENDIF -->
+                       <!-- ENDIF -->
+               </dl>
+               <!-- IF CAPTCHA_TEMPLATE and S_CONFIRM_CODE -->
+                       <!-- DEFINE $CAPTCHA_TAB_INDEX = 3 -->
+                       <!-- INCLUDE {CAPTCHA_TEMPLATE} -->
+               <!-- ENDIF -->
+               <!-- IF S_DISPLAY_FULL_LOGIN -->
+               <dl>
+                       <!-- IF S_AUTOLOGIN_ENABLED --><dd><label for="autologin"><input type="checkbox" name="autologin" id="autologin" tabindex="4" /> {L_LOG_ME_IN}</label></dd><!-- ENDIF -->
+                       <dd><label for="viewonline"><input type="checkbox" name="viewonline" id="viewonline" tabindex="5" /> {L_HIDE_ME}</label></dd>
+               </dl>
+               <!-- ENDIF -->
+
+               {S_LOGIN_REDIRECT}
+               <dl>
+                       <dt>&nbsp;</dt>
+                       <dd>{S_HIDDEN_FIELDS}<input type="submit" name="login" tabindex="6" value="{L_LOGIN}" class="button1" /></dd>
+               </dl>
+               </fieldset>
+       </div>
+
+       <!-- IF not S_ADMIN_AUTH and PROVIDER_TEMPLATE_FILE -->
+               <!-- INCLUDE {PROVIDER_TEMPLATE_FILE} -->
+       <!-- ENDIF -->
+       </div>
+</div>
+
+
+<!-- IF not S_ADMIN_AUTH and S_REGISTER_ENABLED -->
+       <div class="panel">
+               <div class="inner">
+
+               <div class="content">
+                       <h3>{L_REGISTER}</h3>
+                       <p>{L_LOGIN_INFO}</p>
+                       <p><strong><a href="{U_TERMS_USE}">{L_TERMS_USE}</a> | <a href="{U_PRIVACY}">{L_PRIVACY}</a></strong></p>
+                       <hr class="dashed" />
+                       <p><a href="{U_REGISTER}" class="button2">{L_REGISTER}</a></p>
+               </div>
+
+               </div>
+       </div>
+<!-- ENDIF -->
+
+</form>
+
+<!-- INCLUDE overall_footer.html -->
diff --git a/template/login_body_oauth.html b/template/login_body_oauth.html
new file mode 100644 (file)
index 0000000..156485d
--- /dev/null
@@ -0,0 +1,8 @@
+<div class="content">
+       <!-- BEGIN oauth -->
+       <dl>
+               <dt>&nbsp;</dt>
+               <dd><a href="{oauth.REDIRECT_URL}" class="button2">{oauth.SERVICE_NAME}</a></dd>
+       </dl>
+       <!-- END oauth -->
+</div>
diff --git a/template/login_forum.html b/template/login_forum.html
new file mode 100644 (file)
index 0000000..7fa9736
--- /dev/null
@@ -0,0 +1,41 @@
+<!-- INCLUDE overall_header.html -->
+
+<!-- IF FORUM_NAME --><h2 class="forum-title"><a href="{U_VIEW_FORUM}">{FORUM_NAME}</a></h2><!-- ENDIF -->
+
+<form id="login_forum" method="post" action="{S_LOGIN_ACTION}">
+{S_FORM_TOKEN}
+<div class="panel">
+       <div class="inner">
+
+       <div class="content">
+               <h2 class="login-title">{L_LOGIN}</h2>
+
+               <p>{L_LOGIN_FORUM}</p>
+
+               <fieldset class="fields1">
+                       <!-- IF LOGIN_ERROR -->
+                               <dl>
+                                       <dt>&nbsp;</dt>
+                                       <dd class="error">{LOGIN_ERROR}</dd>
+                               </dl>
+                       <!-- ENDIF -->
+
+                       <dl>
+                               <dt><label for="password">{L_PASSWORD}{L_COLON}</label></dt>
+                               <dd><input type="password" tabindex="1" id="password" name="password" size="25" class="inputbox narrow" autocomplete="off" /></dd>
+                       </dl>
+                       {S_LOGIN_REDIRECT}
+                       <dl>
+                               <dt>&nbsp;</dt>
+                               <dd>{S_HIDDEN_FIELDS}<input type="submit" name="login" id="login" class="button1" value="{L_LOGIN}" tabindex="2" /></dd>
+                       </dl>
+               </fieldset>
+       </div>
+
+       </div>
+</div>
+
+</form>
+
+<!-- INCLUDE jumpbox.html -->
+<!-- INCLUDE overall_footer.html -->
diff --git a/template/mcp_approve.html b/template/mcp_approve.html
new file mode 100644 (file)
index 0000000..f7874ab
--- /dev/null
@@ -0,0 +1,81 @@
+<!-- IF S_AJAX_REQUEST -->
+
+       <h3>{MESSAGE_TITLE}</h3>
+       <p>{MESSAGE_TEXT}</p>
+
+       <!-- IF S_NOTIFY_POSTER -->
+               <label><input type="checkbox" name="notify_poster" checked="checked" /> <!-- IF S_APPROVE -->{L_NOTIFY_POSTER_APPROVAL}<!-- ELSE -->{L_NOTIFY_POSTER_DISAPPROVAL}<!-- ENDIF --></label>
+       <!-- ENDIF -->
+
+       <!-- IF not S_APPROVE and not S_RESTORE and .reason -->
+               <label><strong>{L_DISAPPROVE_REASON}{L_COLON}</strong>
+               <select name="reason_id">
+                       <!-- BEGIN reason --><option value="{reason.ID}"<!-- IF reason.S_SELECTED --> selected="selected"<!-- ENDIF -->>{reason.DESCRIPTION}</option><!-- END reason -->
+               </select></label>
+
+               <label><strong>{L_MORE_INFO}{L_COLON}</strong><br /><span>{L_CAN_LEAVE_BLANK}</span>
+                       <textarea class="inputbox" name="reason" id="reason" rows="4" cols="40">{REASON}</textarea>
+               </label>
+       <!-- ENDIF -->
+
+       <fieldset class="submit-buttons">
+               <input type="button" name="confirm" value="{YES_VALUE}" class="button1" />&nbsp;
+               <input type="button" name="cancel" value="{L_NO}" class="button2" />
+       </fieldset>
+
+<!-- ELSE -->
+
+<!-- INCLUDE overall_header.html -->
+
+<form id="confirm" action="{S_CONFIRM_ACTION}" method="post">
+<div class="panel">
+       {S_FORM_TOKEN}
+       <div class="inner">
+
+       <div class="content">
+
+               <h2 class="message-title">{MESSAGE_TITLE}</h2>
+               <!-- IF ADDITIONAL_MSG --><p class="error">{ADDITIONAL_MSG}</p><!-- ENDIF -->
+
+               <fieldset>
+               <!-- IF S_NOTIFY_POSTER -->
+                       <dl class="fields2 nobg">
+                               <dt>&nbsp;</dt>
+                               <dd><label><input type="checkbox" name="notify_poster" checked="checked" /> <!-- IF S_APPROVE -->{L_NOTIFY_POSTER_APPROVAL}<!-- ELSE -->{L_NOTIFY_POSTER_DISAPPROVAL}<!-- ENDIF --></label></dd>
+                       </dl>
+               <!-- ENDIF -->
+
+               <!-- IF not S_APPROVE and not S_RESTORE and .reason -->
+                       <dl class="fields2 nobg">
+                               <dt><label>{L_DISAPPROVE_REASON}{L_COLON}</label></dt>
+                               <dd><select name="reason_id">
+                                       <!-- BEGIN reason --><option value="{reason.ID}"<!-- IF reason.S_SELECTED --> selected="selected"<!-- ENDIF -->>{reason.DESCRIPTION}</option><!-- END reason -->
+                                       </select>
+                               </dd>
+                       </dl>
+                       <dl class="fields2 nobg">
+                               <dt><label for="reason">{L_MORE_INFO}{L_COLON}</label><br /><span>{L_CAN_LEAVE_BLANK}</span></dt>
+                               <dd><textarea class="inputbox" name="reason" id="reason" rows="4" cols="40">{REASON}</textarea></dd>
+                       </dl>
+               <!-- ENDIF -->
+
+               <dl class="fields2 nobg">
+                       <dt>&nbsp;</dt>
+                       <dd><strong>{MESSAGE_TEXT}</strong></dd>
+               </dl>
+               </fieldset>
+
+               <fieldset class="submit-buttons">
+                       {S_HIDDEN_FIELDS}<input type="submit" name="confirm" value="{YES_VALUE}" class="button1" />&nbsp;
+                       <input type="submit" name="cancel" value="{L_NO}" class="button2" />
+               </fieldset>
+
+       </div>
+
+       </div>
+</div>
+
+</form>
+
+<!-- INCLUDE overall_footer.html -->
+<!-- ENDIF -->
diff --git a/template/mcp_ban.html b/template/mcp_ban.html
new file mode 100644 (file)
index 0000000..5b798d9
--- /dev/null
@@ -0,0 +1,139 @@
+<!-- INCLUDE mcp_header.html -->
+
+<script type="text/javascript">
+// <![CDATA[
+
+       var ban_length = new Array();
+               ban_length[-1] = '';
+       var ban_reason = new Array();
+               ban_reason[-1] = '';
+       var ban_give_reason = new Array();
+               ban_give_reason[-1] = '';
+
+       <!-- BEGIN bans -->
+               ban_length['{bans.BAN_ID}'] = '{bans.A_LENGTH}';
+               <!-- IF bans.A_REASON -->
+                       ban_reason['{bans.BAN_ID}'] = '{bans.A_REASON}';
+               <!-- ENDIF -->
+               <!-- IF bans.A_GIVE_REASON -->
+                       ban_give_reason['{bans.BAN_ID}'] = '{bans.A_GIVE_REASON}';
+               <!-- ENDIF -->
+       <!-- END bans -->
+
+       function display_details(option)
+       {
+               document.getElementById('unbanlength').innerHTML = ban_length[option];
+               if (option in ban_reason) {
+                       document.getElementById('unbanreason').innerHTML = ban_reason[option];
+               } else {
+                       document.getElementById('unbanreason').innerHTML = '';
+               }
+               if (option in ban_give_reason) {
+                       document.getElementById('unbangivereason').innerHTML = ban_give_reason[option];
+               } else {
+                       document.getElementById('unbangivereason').innerHTML = '';
+               }
+       }
+
+// ]]>
+</script>
+
+<form id="mcp_ban" method="post" action="{U_ACTION}">
+
+<h2>{L_TITLE}</h2>
+
+<div class="panel">
+       <div class="inner">
+
+       <h3>{L_TITLE}</h3>
+       <p>{L_EXPLAIN}</p>
+
+       <fieldset>
+       <!-- EVENT mcp_ban_fields_before -->
+       <dl>
+               <dt><label for="ban">{L_BAN_CELL}{L_COLON}</label></dt>
+               <dd><label for="ban"><textarea name="ban" id="ban" class="inputbox" cols="40" rows="3">{BAN_QUANTIFIER}</textarea></label></dd>
+               <!-- IF S_USERNAME_BAN --><dd><strong><a href="{U_FIND_USERNAME}" onclick="find_username(this.href); return false;">{L_FIND_USERNAME}</a></strong></dd><!-- ENDIF -->
+       </dl>
+       <dl>
+               <dt><label for="banlength">{L_BAN_LENGTH}{L_COLON}</label></dt>
+               <dd><label for="banlength"><select name="banlength" id="banlength" onchange="if(this.value==-1){document.getElementById('banlengthother').style.display = 'block';}else{document.getElementById('banlengthother').style.display='none';}">{S_BAN_END_OPTIONS}</select></label></dd>
+               <dd id="banlengthother" style="display: none;"><label><input type="text" name="banlengthother" class="inputbox" /><br /><span>{L_YEAR_MONTH_DAY}</span></label></dd>
+       </dl>
+       <dl>
+               <dt><label for="banreason">{L_BAN_REASON}{L_COLON}</label></dt>
+               <dd><input name="banreason" id="banreason" type="text" class="inputbox" maxlength="255" /></dd>
+       </dl>
+       <dl>
+               <dt><label for="bangivereason">{L_BAN_GIVE_REASON}{L_COLON}</label></dt>
+               <dd><input name="bangivereason" id="bangivereason" type="text" class="inputbox" maxlength="255" /></dd>
+       </dl>
+
+       <hr />
+
+       <dl>
+               <dt><label for="banexclude0">{L_BAN_EXCLUDE}{L_COLON}</label><br /><span>{L_BAN_EXCLUDE_EXPLAIN}</span></dt>
+               <dd>
+                       <label for="banexclude1"><input type="radio" name="banexclude" id="banexclude1" value="1" /> {L_YES}</label>
+                       <label for="banexclude0"><input type="radio" name="banexclude" id="banexclude0" value="0" checked="checked" /> {L_NO}</label>
+               </dd>
+       </dl>
+       <!-- EVENT mcp_ban_fields_after -->
+       </fieldset>
+
+       </div>
+</div>
+
+<fieldset class="submit-buttons">
+       {S_HIDDEN_FIELDS}<input type="reset" value="{L_RESET}" name="reset" class="button2" />&nbsp;
+       <input type="submit" name="bansubmit" value="{L_SUBMIT}" class="button1" />
+       {S_FORM_TOKEN}
+</fieldset>
+
+<div class="panel">
+       <div class="inner">
+
+       <h3>{L_UNBAN_TITLE}</h3>
+       <p>{L_UNBAN_EXPLAIN}</p>
+
+       <!-- IF S_BANNED_OPTIONS -->
+               <fieldset>
+               <!-- EVENT mcp_ban_unban_before -->
+               <dl>
+                       <dt><label for="unban">{L_BAN_CELL}{L_COLON}</label></dt>
+                       <dd><select name="unban[]" id="unban" multiple="multiple" size="5" onchange="if (this.selectedIndex != -1) {display_details(this.options[this.selectedIndex].value);}">{BANNED_OPTIONS}</select></dd>
+               </dl>
+               <dl>
+                       <dt>{L_BAN_LENGTH}{L_COLON}</dt>
+                       <dd><strong id="unbanlength"></strong></dd>
+               </dl>
+               <dl>
+                       <dt>{L_BAN_REASON}{L_COLON}</dt>
+                       <dd><strong id="unbanreason"></strong></dd>
+               </dl>
+               <dl>
+                       <dt>{L_BAN_GIVE_REASON}{L_COLON}</dt>
+                       <dd><strong id="unbangivereason"></strong></dd>
+               </dl>
+               <!-- EVENT mcp_ban_unban_after -->
+               </fieldset>
+
+               </div>
+       </div>
+
+       <fieldset class="submit-buttons">
+               {S_HIDDEN_FIELDS}<input type="reset" value="{L_RESET}" name="reset" class="button2" />&nbsp;
+               <input type="submit" name="unbansubmit" value="{L_SUBMIT}" class="button1" />
+       </fieldset>
+
+       <!-- ELSE -->
+
+               <p><strong>{L_NO_BAN_CELL}</strong></p>
+
+               </div>
+       </div>
+
+       <!-- ENDIF -->
+</form>
+
+<!-- INCLUDE mcp_footer.html -->
diff --git a/template/mcp_footer.html b/template/mcp_footer.html
new file mode 100644 (file)
index 0000000..89ce7c3
--- /dev/null
@@ -0,0 +1,8 @@
+
+               </div>
+
+       </div>
+       </div>
+</div>
+
+<!-- INCLUDE overall_footer.html -->
diff --git a/template/mcp_forum.html b/template/mcp_forum.html
new file mode 100644 (file)
index 0000000..f6c518e
--- /dev/null
@@ -0,0 +1,153 @@
+<!-- INCLUDE mcp_header.html -->
+
+<!-- DEFINE $CUSTOM_FIELDSET_CLASS = 'forum-selection2' -->
+<!-- INCLUDE jumpbox.html -->
+
+<h2><a href="{U_VIEW_FORUM}">{L_FORUM}{L_COLON} {FORUM_NAME}</a></h2>
+
+<form method="post" id="mcp" action="{S_MCP_ACTION}">
+
+<div class="panel">
+       <div class="inner">
+
+       <div class="action-bar bar-top">
+               <div class="pagination">
+                       {TOTAL_TOPICS}
+                       <!-- IF .pagination -->
+                               <!-- INCLUDE pagination.html -->
+                       <!-- ELSE -->
+                                &bull; {PAGE_NUMBER}
+                       <!-- ENDIF -->
+               </div>
+       </div>
+
+       <!-- IF .topicrow -->
+               <ul class="topiclist<!-- IF S_MERGE_SELECT --> missing-column<!-- ENDIF -->">
+                       <li class="header">
+                               <dl class="row-item">
+                                       <dt><div class="list-inner">{L_TOPICS}</div></dt>
+                                       <dd class="posts">{L_REPLIES}</dd>
+                                       <dd class="lastpost"><span>{L_LAST_POST}</span></dd>
+                                       <!-- IF not S_MERGE_SELECT --><dd class="mark">{L_MARK}</dd><!-- ENDIF -->
+                               </dl>
+                       </li>
+               </ul>
+               <ul class="topiclist cplist<!-- IF S_MERGE_SELECT --> missing-column<!-- ENDIF -->">
+
+               <!-- BEGIN topicrow -->
+               <li class="row<!-- IF topicrow.S_ROW_COUNT is odd --> bg1<!-- ELSE --> bg2<!-- ENDIF --><!-- IF topicrow.S_TOPIC_REPORTED --> reported<!-- ENDIF -->">
+                       <dl class="row-item {topicrow.TOPIC_IMG_STYLE}">
+                               <dt <!-- IF topicrow.TOPIC_ICON_IMG -->style="background-image: url({T_ICONS_PATH}{topicrow.TOPIC_ICON_IMG}); background-repeat: no-repeat;"<!-- ENDIF -->>
+                                       <!-- IF topicrow.S_UNREAD_TOPIC --><a href="{topicrow.U_NEWEST_POST}" class="row-item-link"></a><!-- ENDIF -->
+                                       <div class="list-inner">
+                                       <!-- EVENT topiclist_row_prepend -->
+                                       <!-- IF topicrow.S_SELECT_TOPIC --><a href="{topicrow.U_SELECT_TOPIC}" class="topictitle">[ {L_SELECT_MERGE} ]</a>&nbsp;&nbsp; <!-- ENDIF -->
+                                       <!-- EVENT mcp_forum_topic_title_before -->
+                                       <a href="{topicrow.U_VIEW_TOPIC}" class="topictitle">{topicrow.TOPIC_TITLE}</a>
+                                       <!-- EVENT mcp_forum_topic_title_after -->
+                                       <!-- IF topicrow.S_TOPIC_UNAPPROVED or topicrow.S_POSTS_UNAPPROVED -->
+                                               <a href="{topicrow.U_MCP_QUEUE}" title="{L_TOPIC_UNAPPROVED}">
+                                                       <i class="icon fa-question fa-fw icon-blue" aria-hidden="true"></i><span class="sr-only">{L_TOPIC_UNAPPROVED}</span>
+                                               </a>
+                                       <!-- ENDIF -->
+                                       <!-- IF topicrow.S_TOPIC_DELETED or topicrow.S_POSTS_DELETED -->
+                                               <a href="{topicrow.U_MCP_QUEUE}" title="{L_TOPIC_DELETED}">
+                                                       <i class="icon fa-recycle fa-fw icon-green" aria-hidden="true"></i><span class="sr-only">{L_TOPIC_DELETED}</span>
+                                               </a>
+                                       <!-- ENDIF -->
+                                       <!-- IF topicrow.S_TOPIC_REPORTED -->
+                                               <a href="{topicrow.U_MCP_REPORT}" title="{L_TOPIC_REPORTED}">
+                                                       <i class="icon fa-exclamation fa-fw icon-red" aria-hidden="true"></i><span class="sr-only">{L_TOPIC_REPORTED}</span>
+                                               </a>
+                                       <!-- ENDIF -->
+                                       <!-- IF topicrow.S_MOVED_TOPIC and S_CAN_DELETE -->&nbsp;<a href="{topicrow.U_DELETE_TOPIC}" class="topictitle">[ {L_DELETE_SHADOW_TOPIC} ]</a><!-- ENDIF -->
+                                       <br />
+                                       <!-- EVENT topiclist_row_topic_title_after -->
+                                       <div class="responsive-show" style="display: none;">
+                                               <!-- IF topicrow.ATTACH_ICON_IMG --><i class="icon fa-paperclip fa-fw" aria-hidden="true"></i> <!-- ENDIF -->
+                                               {L_LAST_POST} {L_POST_BY_AUTHOR} {topicrow.LAST_POST_AUTHOR_FULL} &laquo; {topicrow.LAST_POST_TIME}<br />
+                                       </div>
+                                       <span class="responsive-show left-box" style="display: none;">{L_REPLIES}{L_COLON} <strong>{topicrow.REPLIES}</strong></span>
+
+                                       <!-- IF .topicrow.pagination -->
+                                       <div class="pagination">
+                                               <ul>
+                                               <!-- BEGIN pagination -->
+                                                       <!-- IF topicrow.pagination.S_IS_PREV -->
+                                                       <!-- ELSEIF topicrow.pagination.S_IS_CURRENT --><li class="active"><span>{topicrow.pagination.PAGE_NUMBER}</span></li>
+                                                       <!-- ELSEIF topicrow.pagination.S_IS_ELLIPSIS --><li class="ellipsis"><span>{L_ELLIPSIS}</span></li>
+                                                       <!-- ELSEIF topicrow.pagination.S_IS_NEXT -->
+                                                       <!-- ELSE --><li><a href="{topicrow.pagination.PAGE_URL}">{topicrow.pagination.PAGE_NUMBER}</a></li>
+                                                       <!-- ENDIF -->
+                                               <!-- END pagination -->
+                                               </ul>
+                                       </div>
+                                       <!-- ENDIF -->
+
+                                       <div class="responsive-hide">
+                                               <!-- IF topicrow.ATTACH_ICON_IMG --><i class="icon fa-paperclip fa-fw" aria-hidden="true"></i> <!-- ENDIF -->
+                                               {L_POST_BY_AUTHOR} {topicrow.TOPIC_AUTHOR_FULL} &raquo; {topicrow.FIRST_POST_TIME}
+                                       </div>
+                                       <!-- EVENT topiclist_row_append -->
+                                       </div>
+                               </dt>
+                               <dd class="posts">{topicrow.REPLIES} <dfn>{L_REPLIES}</dfn></dd>
+                               <dd class="lastpost"><span><dfn>{L_LAST_POST} </dfn>{L_POST_BY_AUTHOR} {topicrow.LAST_POST_AUTHOR_FULL}<br />{topicrow.LAST_POST_TIME}</span></dd>
+                               <!-- IF not S_MERGE_SELECT -->
+                               <dd class="mark">
+                                       <!-- IF not topicrow.S_MOVED_TOPIC --><input type="checkbox" name="topic_id_list[]" value="{topicrow.TOPIC_ID}"<!-- IF topicrow.S_TOPIC_CHECKED --> checked="checked"<!-- ENDIF --> /><!-- ELSE -->&nbsp;<!-- ENDIF -->
+                               </dd>
+                               <!-- ENDIF -->
+                       </dl>
+               </li>
+               <!-- END topicrow -->
+               </ul>
+       <!-- ELSE -->
+               <ul class="topiclist">
+                       <li><p class="notopics">{L_NO_TOPICS}</p></li>
+               </ul>
+       <!-- ENDIF -->
+
+       <div class="action-bar bottom">
+               <!-- INCLUDE display_options.html -->
+
+               <div class="pagination">
+                       {TOTAL_TOPICS}
+                       <!-- IF .pagination -->
+                               <!-- INCLUDE pagination.html -->
+                       <!-- ELSE -->
+                                &bull; {PAGE_NUMBER}
+                       <!-- ENDIF -->
+               </div>
+       </div>
+
+       </div>
+</div>
+
+<!-- EVENT mcp_forum_actions_before -->
+<fieldset class="display-actions">
+       <!-- IF not S_MERGE_SELECT -->
+       <select name="action">
+               <option value="" selected="selected">{L_SELECT_ACTION}</option>
+               <!-- IF S_CAN_DELETE --><option value="delete_topic">{L_DELETE}</option><!-- ENDIF -->
+               <!-- IF S_CAN_RESTORE --><option value="restore_topic">{L_RESTORE}</option><!-- ENDIF -->
+               <!-- IF S_CAN_MERGE --><option value="merge_topics">{L_MERGE}</option><!-- ENDIF -->
+               <!-- IF S_CAN_MOVE --><option value="move">{L_MOVE}</option><!-- ENDIF -->
+               <!-- IF S_CAN_FORK --><option value="fork">{L_FORK}</option><!-- ENDIF -->
+               <!-- IF S_CAN_LOCK --><option value="lock">{L_LOCK}</option><option value="unlock">{L_UNLOCK}</option><!-- ENDIF -->
+               <!-- IF S_CAN_SYNC --><option value="resync">{L_RESYNC}</option><!-- ENDIF -->
+               <!-- IF S_CAN_MAKE_NORMAL --><option value="make_normal">{L_MAKE_NORMAL}</option><!-- ENDIF -->
+               <!-- IF S_CAN_MAKE_STICKY --><option value="make_sticky">{L_MAKE_STICKY}</option><!-- ENDIF -->
+               <!-- IF S_CAN_MAKE_ANNOUNCE --><option value="make_announce">{L_MAKE_ANNOUNCE}</option><!-- ENDIF -->
+               <!-- IF S_CAN_MAKE_ANNOUNCE_GLOBAL --><option value="make_global">{L_MAKE_GLOBAL}</option><!-- ENDIF -->
+               <!-- EVENT mcp_forum_actions_append -->
+       </select>
+       <input class="button2" type="submit" value="{L_SUBMIT}" />
+       <div><a href="#" onclick="marklist('mcp', 'topic_id_list', true); return false;">{L_MARK_ALL}</a> :: <a href="#" onclick="marklist('mcp', 'topic_id_list', false); return false;">{L_UNMARK_ALL}</a></div>
+       <!-- ENDIF -->
+       {S_FORM_TOKEN}
+</fieldset>
+<!-- EVENT mcp_forum_actions_after -->
+</form>
+
+<!-- INCLUDE mcp_footer.html -->
diff --git a/template/mcp_front.html b/template/mcp_front.html
new file mode 100644 (file)
index 0000000..9777581
--- /dev/null
@@ -0,0 +1,193 @@
+<!-- INCLUDE mcp_header.html -->
+
+<h2>{PAGE_TITLE}</h2>
+
+<!-- EVENT mcp_front_latest_unapproved_before -->
+
+<!-- IF S_SHOW_UNAPPROVED -->
+
+       <form id="mcp_queue" method="post" action="{S_MCP_QUEUE_ACTION}">
+
+       <div class="panel">
+               <div class="inner">
+
+               <h3>{L_LATEST_UNAPPROVED}</h3>
+               <p>{L_UNAPPROVED_TOTAL}</p>
+
+               <!-- IF .unapproved -->
+                       <ul class="topiclist missing-column">
+                               <li class="header">
+                                       <dl>
+                                               <dt><div class="list-inner">{L_VIEW_DETAILS}</div></dt>
+                                               <dd class="moderation"><span>{L_TOPIC} &amp; {L_FORUM}</span></dd>
+                                       </dl>
+                               </li>
+                       </ul>
+                       <ul class="topiclist cplist missing-column responsive-show-all">
+
+                       <!-- BEGIN unapproved -->
+                       <li class="row<!-- IF unapproved.S_ROW_COUNT is odd --> bg1<!-- ELSE --> bg2<!-- ENDIF -->">
+                               <dl>
+                                       <dt>
+                                               <div class="list-inner">
+                                                       <a href="{unapproved.U_POST_DETAILS}" class="topictitle">{unapproved.SUBJECT}</a> <i class="icon fa-paperclip fa-fw" aria-hidden="true"></i> <br />
+                                                       {L_POSTED} {L_POST_BY_AUTHOR} {unapproved.AUTHOR_FULL} &raquo; {unapproved.POST_TIME}
+                                               </div>
+                                       </dt>
+                                       <dd class="moderation"><span>
+                                               {L_TOPIC}{L_COLON} <a href="{unapproved.U_TOPIC}">{unapproved.TOPIC_TITLE}</a> [<a href="{unapproved.U_MCP_TOPIC}">{L_MODERATE}</a>]<br />
+                                               {L_FORUM}{L_COLON} <!-- IF unapproved.U_FORUM --><a href="{unapproved.U_FORUM}">{unapproved.FORUM_NAME}</a><!-- ELSE -->{unapproved.FORUM_NAME}<!-- ENDIF --><!-- IF unapproved.U_MCP_FORUM --> [<a href="{unapproved.U_MCP_FORUM}">{L_MODERATE}</a>]<!-- ENDIF --></span>
+                                       </dd>
+
+                                       <dd class="mark"><input type="checkbox" name="post_id_list[]" value="{unapproved.POST_ID}" /></dd>
+                               </dl>
+                       </li>
+                       <!-- END unapproved -->
+                       </ul>
+               <!-- ENDIF -->
+
+               </div>
+       {S_FORM_TOKEN}
+       </div>
+
+       <!-- IF .unapproved -->
+       <fieldset class="display-actions">
+               {S_HIDDEN_FIELDS}
+               <input class="button2" type="submit" name="action[disapprove]" value="{L_DISAPPROVE}" />&nbsp;
+               <input class="button1" type="submit" name="action[approve]" value="{L_APPROVE}" />
+               <div><a href="#" onclick="marklist('mcp_queue', 'post_id_list', true); return false;">{L_MARK_ALL}</a> :: <a href="#" onclick="marklist('mcp_queue', 'post_id_list', false); return false;">{L_UNMARK_ALL}</a></div>
+       </fieldset>
+       <!-- ENDIF -->
+               </form>
+<!-- ENDIF -->
+
+<!-- EVENT mcp_front_latest_reported_before -->
+
+<!-- IF S_SHOW_REPORTS -->
+       <div class="panel">
+               <div class="inner">
+
+               <h3>{L_LATEST_REPORTED}</h3>
+               <p>{L_REPORTS_TOTAL}</p>
+
+               <!-- IF .report -->
+                       <ul class="topiclist two-long-columns">
+                               <li class="header">
+                                       <dl>
+                                               <dt><div class="list-inner">{L_VIEW_DETAILS}</div></dt>
+                                               <dd class="moderation"><span>{L_REPORTER} &amp; {L_FORUM}</span></dd>
+                                       </dl>
+                               </li>
+                       </ul>
+                       <ul class="topiclist cplist two-long-columns responsive-show-all">
+
+                       <!-- BEGIN report -->
+                       <li class="row<!-- IF report.S_ROW_COUNT is odd --> bg1<!-- ELSE --> bg2<!-- ENDIF -->">
+                               <dl>
+                                       <dt>
+                                               <div class="list-inner">
+                                                       <a href="{report.U_POST_DETAILS}#reports" class="topictitle">{report.SUBJECT}</a> <i class="icon fa-paperclip fa-fw" aria-hidden="true"></i> <br />
+                                                       <span>{L_POSTED} {L_POST_BY_AUTHOR} {report.AUTHOR_FULL} &raquo; {report.POST_TIME}</span>
+                                               </div>
+                                       </dt>
+                                       <dd class="moderation">
+                                               <span>{L_REPORTED} {L_POST_BY_AUTHOR} {report.REPORTER_FULL} {L_REPORTED_ON_DATE} <i class="icon fa-paperclip fa-fw" aria-hidden="true"></i> <br />
+                                               {L_FORUM}{L_COLON} <a href="{report.U_FORUM}">{report.FORUM_NAME}</a></span>
+                                       </dd>
+                               </dl>
+                       </li>
+                       <!-- END report -->
+                       </ul>
+               <!-- ENDIF -->
+
+               </div>
+       </div>
+<!-- ENDIF -->
+
+<!-- EVENT mcp_front_latest_reported_pms_before -->
+
+<!-- IF S_SHOW_PM_REPORTS -->
+       <div class="panel">
+               <div class="inner">
+
+               <h3>{L_LATEST_REPORTED_PMS}</h3>
+               <p>{L_PM_REPORTS_TOTAL}</p>
+
+               <!-- IF .pm_report -->
+                       <ul class="topiclist two-long-columns">
+                               <li class="header">
+                                       <dl>
+                                               <dt><div class="list-inner">{L_VIEW_DETAILS}</div></dt>
+                                               <dd class="moderation"><span>{L_REPORTER}</span></dd>
+                                       </dl>
+                               </li>
+                       </ul>
+                       <ul class="topiclist cplist two-long-columns responsive-show-all">
+
+                       <!-- BEGIN pm_report -->
+                       <li class="row<!-- IF pm_report.S_ROW_COUNT is odd --> bg1<!-- ELSE --> bg2<!-- ENDIF -->">
+                               <dl>
+                                       <dt>
+                                               <div class="list-inner">
+                                                       <a href="{pm_report.U_PM_DETAILS}" class="topictitle">{pm_report.PM_SUBJECT}</a> <i class="icon fa-paperclip fa-fw" aria-hidden="true"></i> <br />
+                                                       <span>{L_MESSAGE_BY_AUTHOR} {pm_report.PM_AUTHOR_FULL} &raquo; {pm_report.PM_TIME}</span><br />
+                                                       <span>{L_MESSAGE_TO} {pm_report.RECIPIENTS}</span>
+                                               </div>
+                                       </dt>
+                                       <dd class="moderation">
+                                               <span>{L_REPORTED} {L_POST_BY_AUTHOR} {pm_report.REPORTER_FULL} {L_REPORTED_ON_DATE} {pm_report.REPORT_TIME}</span>
+                                       </dd>
+                               </dl>
+                       </li>
+                       <!-- END pm_report -->
+                       </ul>
+               <!-- ENDIF -->
+
+               </div>
+       </div>
+<!-- ENDIF -->
+
+<!-- EVENT mcp_front_latest_logs_before -->
+
+<!-- IF S_SHOW_LOGS -->
+       <div class="panel">
+               <div class="inner">
+
+               <h3>{L_LATEST_LOGS}</h3>
+
+               <table class="table1">
+               <thead>
+               <tr>
+                       <th class="name">{L_ACTION}</th>
+                       <th class="name">{L_USERNAME}</th>
+                       <th class="name">{L_IP}</th>
+                       <th class="name">{L_VIEW_TOPIC}</th>
+                       <th class="name">{L_VIEW_TOPIC_LOGS}</th>
+                       <th class="name">{L_TIME}</th>
+               </tr>
+               </thead>
+               <tbody>
+       <!-- BEGIN log -->
+               <tr class="<!-- IF log.S_ROW_COUNT is even -->bg1<!-- ELSE -->bg2<!-- ENDIF -->">
+                       <td>{log.ACTION}</td>
+                       <td><span>{log.USERNAME}</span></td>
+                       <td><span>{log.IP}</span></td>
+                       <td><span><!-- IF log.U_VIEW_TOPIC --><a href="{log.U_VIEW_TOPIC}" title="{L_VIEW_TOPIC}">{L_VIEW_TOPIC}</a><!-- ENDIF -->&nbsp;</span></td>
+                       <td><span><!-- IF log.U_VIEWLOGS --><a href="{log.U_VIEWLOGS}">{L_VIEW_TOPIC_LOGS}</a><!-- ENDIF -->&nbsp;</span></td>
+                       <td><span>{log.TIME}</span></td>
+               </tr>
+       <!-- BEGINELSE -->
+               <tr>
+                       <td colspan="6">{L_NO_ENTRIES}</td>
+               </tr>
+       <!-- END log -->
+               </tbody>
+               </table>
+
+               </div>
+       </div>
+<!-- ENDIF -->
+
+<!-- EVENT mcp_front_latest_logs_after -->
+
+<!-- INCLUDE mcp_footer.html -->
diff --git a/template/mcp_header.html b/template/mcp_header.html
new file mode 100644 (file)
index 0000000..5841c1b
--- /dev/null
@@ -0,0 +1,49 @@
+<!-- INCLUDE overall_header.html -->
+
+<h2>{L_MCP}</h2>
+
+<!-- IF U_MCP -->
+       <p class="linkmcp responsive-center">
+               [<!-- IF U_ACP -->&nbsp;<a href="{U_ACP}" title="{L_ACP}" data-responsive-text="{L_ACP_SHORT}">{L_ACP}</a>&nbsp;|<!-- ENDIF -->&nbsp;<a href="{U_MCP}" title="{L_MCP}" data-responsive-text="{L_MCP_SHORT}">{L_MCP}</a><!-- IF U_MCP_FORUM -->&nbsp;|&nbsp;<a href="{U_MCP_FORUM}">{L_MODERATE_FORUM}</a><!-- ENDIF --><!-- IF U_MCP_TOPIC -->&nbsp;|&nbsp;<a href="{U_MCP_TOPIC}">{L_MODERATE_TOPIC}</a><!-- ENDIF --><!-- IF U_MCP_POST -->&nbsp;|&nbsp;<a href="{U_MCP_POST}">{L_MODERATE_POST}</a><!-- ENDIF -->&nbsp;]
+       </p>
+<!-- ENDIF -->
+
+<div id="tabs" class="tabs">
+       <ul>
+               <!-- BEGIN l_block1 -->
+               <li class="tab<!-- IF l_block1.S_SELECTED --> activetab<!-- ENDIF -->"><a href="{l_block1.U_TITLE}">{l_block1.L_TITLE}</a></li>
+               <!-- END l_block1 -->
+       </ul>
+</div>
+
+<div class="panel bg3">
+       <div class="inner">
+
+       <div style="width: 100%;">
+
+       <div id="cp-menu" class="cp-menu">
+               <div id="navigation" class="navigation" role="navigation">
+                       <ul>
+                       <!-- BEGIN l_block1 -->
+                       <!-- IF l_block1.S_SELECTED -->
+                               <!-- BEGIN l_block2 -->
+                               <!-- IF l_block1.l_block2.S_SELECTED -->
+                               <li id="active-subsection" class="active-subsection"><a href="{l_block1.l_block2.U_TITLE}"><span>{l_block1.l_block2.L_TITLE}<!-- IF l_block1.l_block2.ADD_ITEM --> ({l_block1.l_block2.ADD_ITEM})<!-- ENDIF --></span></a></li>
+                               <!-- ELSE -->
+                               <li><a href="{l_block1.l_block2.U_TITLE}"><span>{l_block1.l_block2.L_TITLE}<!-- IF l_block1.l_block2.ADD_ITEM --> ({l_block1.l_block2.ADD_ITEM})<!-- ENDIF --></span></a></li>
+                               <!-- ENDIF -->
+                               <!-- END l_block2 -->
+                       <!-- ENDIF -->
+                       <!-- END l_block1 -->
+                       </ul>
+               </div>
+       </div>
+
+       <div id="cp-main" class="cp-main mcp-main panel-container">
+               <!-- IF MESSAGE -->
+               <div class="content">
+                       <h2 class="message-title">{L_MESSAGE}</h2>
+                       <p class="error">{MESSAGE}</p>
+                       <p><!-- BEGIN return_links -->{return_links.MESSAGE_LINK}<br /><br /><!-- END return_links --></p>
+               </div>
+               <!-- ENDIF -->
diff --git a/template/mcp_logs.html b/template/mcp_logs.html
new file mode 100644 (file)
index 0000000..03216b4
--- /dev/null
@@ -0,0 +1,88 @@
+<!-- INCLUDE mcp_header.html -->
+
+<h2>{L_TITLE}</h2>
+
+<form method="post" id="mcp" action="{U_POST_ACTION}">
+
+<div class="panel">
+       <div class="inner">
+
+       <div class="action-bar bar-top">
+               {L_SEARCH_KEYWORDS}{L_COLON} <input type="search" class="inputbox autowidth" name="keywords" value="{S_KEYWORDS}" />&nbsp;<input type="submit" class="button2" name="filter" value="{L_SEARCH}" />
+               <div class="pagination">
+                       {TOTAL}
+                       <!-- IF .pagination -->
+                               <!-- INCLUDE pagination.html -->
+                       <!-- ELSE -->
+                                &bull; {PAGE_NUMBER}
+                       <!-- ENDIF -->
+               </div>
+       </div>
+
+       <table class="table1">
+       <thead>
+       <tr>
+               <th class="name">{L_USERNAME}</th>
+               <th class="center">{L_IP}</th>
+               <th class="center">{L_TIME}</th>
+               <th class="name">{L_ACTION}</th>
+               <!-- IF S_CLEAR_ALLOWED --><th>{L_MARK}</th><!-- ENDIF -->
+       </tr>
+       </thead>
+               <tbody>
+       <!-- IF S_LOGS -->
+               <!-- BEGIN log -->
+               <!-- IF log.S_ROW_COUNT is even --><tr class="bg1"><!-- ELSE --><tr class="bg2"><!-- ENDIF -->
+                       <td>{log.USERNAME}</td>
+                       <td class="center">{log.IP}</td>
+                       <td class="center">{log.DATE}</td>
+                       <td>{log.ACTION}<br />
+                       {log.DATA}
+               </td>
+                       <!-- IF S_CLEAR_ALLOWED --><td style="width: 5%" align="center"><input type="checkbox" name="mark[]" value="{log.ID}" /></td><!-- ENDIF -->
+               </tr>
+               <!-- END log -->
+       <!-- ELSE -->
+               <tr>
+                       <td class="bg1" colspan="<!-- IF S_CLEAR_ALLOWED -->5<!-- ELSE -->4<!-- ENDIF -->" align="center"><span class="gen">{L_NO_ENTRIES}</span></td>
+               </tr>
+       <!-- ENDIF -->
+       </tbody>
+       </table>
+
+       <!-- IF .log -->
+               <div class="action-bar bottom">
+                       <!-- INCLUDE display_options.html -->
+
+                       <div class="pagination">
+                               {TOTAL}
+                               <!-- IF .pagination -->
+                                       <!-- INCLUDE pagination.html -->
+                               <!-- ELSE -->
+                                        &bull; {PAGE_NUMBER}
+                               <!-- ENDIF -->
+                       </div>
+               </div>
+
+               {S_FORM_TOKEN}
+               </div>
+       </div>
+
+               <!-- IF S_CLEAR_ALLOWED -->
+                       <fieldset class="display-actions">
+                               <input class="button2" type="submit" name="action[del_all]" value="{L_DELETE_ALL}" />
+                               &nbsp;<input class="button1" type="submit" value="{L_DELETE_MARKED}" name="action[del_marked]" />
+
+                               <div><a href="#" onclick="marklist('mcp', 'mark', true); return false;">{L_MARK_ALL}</a> :: <a href="#" onclick="marklist('mcp', 'mark', false); return false;">{L_UNMARK_ALL}</a></div>
+                       </fieldset>
+               <!-- ENDIF -->
+       <!-- ELSE -->
+                       {S_FORM_TOKEN}
+                       </div>
+               </div>
+       <!-- ENDIF -->
+</form>
+
+<br />
+
+<!-- INCLUDE mcp_footer.html -->
diff --git a/template/mcp_message.html b/template/mcp_message.html
new file mode 100644 (file)
index 0000000..062103b
--- /dev/null
@@ -0,0 +1,8 @@
+<!-- INCLUDE mcp_header.html -->
+
+<div class="content">
+       <h2 class="message-title">{MESSAGE_TITLE}</h2>
+       <p>{MESSAGE_TEXT}</p>
+</div>
+
+<!-- INCLUDE mcp_footer.html -->
diff --git a/template/mcp_move.html b/template/mcp_move.html
new file mode 100644 (file)
index 0000000..45a9ae8
--- /dev/null
@@ -0,0 +1,71 @@
+<!-- IF S_AJAX_REQUEST -->
+
+       <h3>{MESSAGE_TITLE}</h3>
+       <p>{MESSAGE_TEXT}</p>
+
+       <!-- IF ADDITIONAL_MSG --><p>{ADDITIONAL_MSG}</p><!-- ENDIF -->
+
+       <label>
+               <strong>{L_SELECT_DESTINATION_FORUM}{L_COLON}</strong>
+               <select name="to_forum_id">{S_FORUM_SELECT}</select>
+       </label>
+
+       <!-- IF S_CAN_LEAVE_SHADOW -->
+               <label for="move_leave_shadow">
+                       <input type="checkbox" name="move_leave_shadow" id="move_leave_shadow" />{L_LEAVE_SHADOW}
+               </label>
+       <!-- ENDIF -->
+
+       <!-- IF S_CAN_LOCK_TOPIC -->
+               <label for="move_lock_topics">
+                       <input type="checkbox" name="move_lock_topics" id="move_lock_topics" />{L_LOCK_TOPIC}
+               </label>
+       <!-- ENDIF -->
+
+       <fieldset class="submit-buttons">
+               <input type="button" name="confirm" value="{YES_VALUE}" class="button1" />&nbsp;
+               <input type="button" name="cancel" value="{L_NO}" class="button2" />
+       </fieldset>
+
+<!-- ELSE -->
+
+<!-- INCLUDE overall_header.html -->
+
+<!-- EVENT mcp_move_before -->
+
+<form id="confirm" action="{S_CONFIRM_ACTION}" method="post">
+
+<div class="panel">
+       <div class="inner">
+
+       <div class="content">
+               <h2 class="message-title">{MESSAGE_TITLE}</h2>
+               <!-- IF ADDITIONAL_MSG --><p>{ADDITIONAL_MSG}</p><!-- ENDIF -->
+
+               <fieldset>
+               <dl class="fields2">
+                       <dt><label>{L_SELECT_DESTINATION_FORUM}{L_COLON}</label></dt>
+                       <dd><select name="to_forum_id">{S_FORUM_SELECT}</select></dd>
+                       <!-- IF S_CAN_LEAVE_SHADOW --><dd><label for="move_leave_shadow"><input type="checkbox" name="move_leave_shadow" id="move_leave_shadow" />{L_LEAVE_SHADOW}</label></dd><!-- ENDIF -->
+                       <!-- IF S_CAN_LOCK_TOPIC --><dd><label for="move_lock_topics"><input type="checkbox" name="move_lock_topics" id="move_lock_topics" />{L_LOCK_TOPIC}</label></dd><!-- ENDIF -->
+               </dl>
+               <dl class="fields2">
+                       <dt>&nbsp;</dt>
+                       <dd><strong>{MESSAGE_TEXT}</strong></dd>
+               </dl>
+               </fieldset>
+
+               <fieldset class="submit-buttons">
+                       {S_HIDDEN_FIELDS}<input type="submit" name="confirm" value="{YES_VALUE}" class="button1" />&nbsp;
+                       <input type="submit" name="cancel" value="{L_NO}" class="button2" />
+                       {S_FORM_TOKEN}
+               </fieldset>
+
+       </div>
+
+       </div>
+</div>
+</form>
+
+<!-- INCLUDE overall_footer.html -->
+<!-- ENDIF -->
diff --git a/template/mcp_notes_front.html b/template/mcp_notes_front.html
new file mode 100644 (file)
index 0000000..11f3623
--- /dev/null
@@ -0,0 +1,28 @@
+<!-- INCLUDE mcp_header.html -->
+
+<form method="post" id="mcp" action="{U_POST_ACTION}">
+
+<h2>{L_TITLE}</h2>
+
+<div class="panel">
+       <div class="inner">
+
+       <fieldset>
+       <dl>
+               <dt><label for="username">{L_SELECT_USER}{L_COLON}</label></dt>
+               <dd><input name="username" id="username" type="text" class="inputbox" /></dd>
+               <dd><strong><a href="{U_FIND_USERNAME}" onclick="find_username(this.href); return false;">{L_FIND_USERNAME}</a></strong></dd>
+       </dl>
+       </fieldset>
+
+       </div>
+</div>
+
+<fieldset class="submit-buttons">
+       <input type="reset" value="{L_RESET}" name="reset" class="button2" />&nbsp;
+       <input type="submit" name="submituser" value="{L_SUBMIT}" class="button1" />
+       {S_FORM_TOKEN}
+</fieldset>
+</form>
+
+<!-- INCLUDE mcp_footer.html -->
diff --git a/template/mcp_notes_user.html b/template/mcp_notes_user.html
new file mode 100644 (file)
index 0000000..62d0562
--- /dev/null
@@ -0,0 +1,121 @@
+<!-- INCLUDE mcp_header.html -->
+
+<form method="post" id="mcp" action="{U_POST_ACTION}">
+
+<h2>{L_TITLE}</h2>
+
+<div class="panel">
+       <div class="inner">
+
+       <h3>{USERNAME_FULL}</h3>
+
+       <div>
+               <div class="column1">
+                       <!-- IF AVATAR_IMG --><div>{AVATAR_IMG}</div><!-- ENDIF -->
+               </div>
+
+               <div class="column2">
+                       <dl class="details">
+                               <!-- IF RANK_TITLE --><dt>{L_RANK}{L_COLON}</dt><dd>{RANK_TITLE}</dd><!-- ENDIF -->
+                               <!-- IF RANK_IMG --><dt><!-- IF RANK_TITLE -->&nbsp;<!-- ELSE -->{L_RANK}{L_COLON}<!-- ENDIF --></dt><dd>{RANK_IMG}</dd><!-- ENDIF -->
+                               <dt>{L_JOINED}{L_COLON}</dt><dd>{JOINED}</dd>
+                               <dt>{L_TOTAL_POSTS}{L_COLON}</dt><dd>{POSTS}</dd>
+                               <dt>{L_WARNINGS}{L_COLON} </dt><dd>{WARNINGS}</dd>
+                       </dl>
+               </div>
+       </div>
+
+       </div>
+</div>
+
+<div class="panel">
+       <div class="inner">
+
+       <h3>{L_ADD_FEEDBACK}</h3>
+       <p>{L_ADD_FEEDBACK_EXPLAIN}</p>
+
+       <fieldset>
+               <textarea name="usernote" id="usernote" class="inputbox" cols="40" rows="3"></textarea>
+       </fieldset>
+
+       </div>
+</div>
+
+<fieldset class="submit-buttons">
+       {S_HIDDEN_FIELDS}<input type="reset" value="{L_RESET}" name="reset" class="button2" />&nbsp;
+       <input type="submit" name="action[add_feedback]" value="{L_SUBMIT}" class="button1" />
+       {S_FORM_TOKEN}
+</fieldset>
+
+<div class="panel">
+       <div class="inner">
+
+       <div class="action-bar bar-top">
+               {L_SEARCH_KEYWORDS}{L_COLON} <input type="search" class="inputbox autowidth" name="keywords" value="{S_KEYWORDS}" />&nbsp;<input type="submit" class="button2" name="filter" value="{L_SEARCH}" />
+               <div class="pagination">
+                       {TOTAL_REPORTS}
+                       <!-- IF .pagination -->
+                               <!-- INCLUDE pagination.html -->
+                       <!-- ELSE -->
+                                &bull; {PAGE_NUMBER}
+                       <!-- ENDIF -->
+               </div>
+       </div>
+
+       <table class="table1">
+       <thead>
+       <tr>
+               <th class="name reportby">{L_REPORT_BY}</th>
+               <th class="center">{L_IP}</th>
+               <th class="center">{L_TIME}</th>
+               <th>{L_ACTION_NOTE}</th>
+               <!-- IF S_CLEAR_ALLOWED --><th>{L_MARK}</th><!-- ENDIF -->
+       </tr>
+       </thead>
+       <tbody>
+       <!-- BEGIN usernotes -->
+       <!-- IF usernotes.S_ROW_COUNT is even --><tr class="bg1"><!-- ELSE --><tr class="bg2"><!-- ENDIF -->
+               <td>{usernotes.REPORT_BY}</td>
+               <td class="center">{usernotes.IP}</td>
+               <td class="center">{usernotes.REPORT_AT}</td>
+               <td>{usernotes.ACTION}</td>
+
+               <!-- IF S_CLEAR_ALLOWED --><td class="center" style="width: 5%;"><input type="checkbox" name="marknote[]" id="note-{usernotes.ID}" value="{usernotes.ID}" /></td><!-- ENDIF -->
+       </tr>
+       <!-- BEGINELSE -->
+       <tr>
+               <td class="bg1" colspan="<!-- IF S_CLEAR_ALLOWED -->5<!-- ELSE -->4<!-- ENDIF -->" align="center"><span class="gen">{L_NO_ENTRIES}</span></td>
+       </tr>
+       <!-- END usernotes -->
+       </tbody>
+       </table>
+
+       <div class="action-bar bottom">
+               <!-- INCLUDE display_options.html -->
+
+               <div class="pagination">
+                       {TOTAL_REPORTS}
+                       <!-- IF .pagination -->
+                               <!-- INCLUDE pagination.html -->
+                       <!-- ELSE -->
+                                &bull; {PAGE_NUMBER}
+                       <!-- ENDIF -->
+               </div>
+       </div>
+
+       </div>
+</div>
+
+<!-- IF S_CLEAR_ALLOWED -->
+<fieldset class="display-actions">
+       <input class="button2" type="submit" name="action[del_all]" value="{L_DELETE_ALL}" />
+       &nbsp;<input class="button1" type="submit" name="action[del_marked]" value="{L_DELETE_MARKED}" />
+</fieldset>
+
+<fieldset class="display-actions">
+       <div><a href="#" onclick="marklist('mcp', 'marknote', true); return false;">{L_MARK_ALL}</a> &bull; <a href="#" onclick="marklist('mcp', 'marknote', false); return false;">{L_UNMARK_ALL}</a></div>
+</fieldset>
+<!-- ENDIF -->
+</form>
+
+<!-- INCLUDE mcp_footer.html -->
diff --git a/template/mcp_post.html b/template/mcp_post.html
new file mode 100644 (file)
index 0000000..a0de554
--- /dev/null
@@ -0,0 +1,328 @@
+<!-- INCLUDE mcp_header.html -->
+
+<!-- IF S_MCP_REPORT -->
+       <!-- IF S_PM -->
+       <h2>{L_PM_REPORT_DETAILS}</h2>
+       <!-- ELSE -->
+       <h2>{L_REPORT_DETAILS}</h2>
+       <!-- ENDIF -->
+
+       <div id="report" class="panel">
+               <div class="inner">
+
+               <div class="postbody">
+                       <h3>{L_REPORT_REASON}{L_COLON} {REPORT_REASON_TITLE}</h3>
+                       <p class="author">{L_REPORTED} {L_POST_BY_AUTHOR} {REPORTER_FULL} &laquo; {REPORT_DATE}</p>
+               <!-- IF S_REPORT_CLOSED -->
+                       <p class="post-notice reported"><i class="icon fa-exclamation fa-fw icon-red" aria-hidden="true"></i>{L_REPORT_CLOSED}</p>
+               <!-- ENDIF -->
+                       <div class="content">
+                       <!-- IF REPORT_TEXT -->
+                               {REPORT_TEXT}
+                       <!-- ELSE -->
+                               {REPORT_REASON_DESCRIPTION}
+                       <!-- ENDIF -->
+                       </div>
+               </div>
+
+               </div>
+       </div>
+
+       <form method="post" id="mcp_report" action="{S_CLOSE_ACTION}">
+
+       <fieldset class="submit-buttons">
+               <!-- IF not S_REPORT_CLOSED -->
+                       <input class="button1" type="submit" value="{L_CLOSE_REPORT}" name="action[close]" /> &nbsp;
+               <!-- ENDIF -->
+               <input class="button2" type="submit" value="{L_DELETE_REPORT}" name="action[delete]" />
+               <input type="hidden" name="report_id_list[]" value="{REPORT_ID}" />
+               {S_FORM_TOKEN}
+       </fieldset>
+       </form>
+
+<!-- ELSE -->
+       <h2>{L_POST_DETAILS}</h2>
+<!-- ENDIF -->
+
+<div class="panel">
+       <div class="inner">
+
+       <div class="postbody">
+               <h3><a href="{U_VIEW_POST}">{POST_SUBJECT}</a></h3>
+
+               <ul class="post-buttons">
+                       <li id="expand">
+                               <a href="#post_details" onclick="viewableArea(getElementById('post_details'), true); var rev_text = getElementById('expand').getElementsByTagName('a').item(0).firstChild; if (rev_text.data.trim() == '{LA_EXPAND_VIEW}'){rev_text.data = '{LA_COLLAPSE_VIEW}'; } else if (rev_text.data.trim() == '{LA_COLLAPSE_VIEW}'){rev_text.data = '{LA_EXPAND_VIEW}';} return false;">
+                                       {L_EXPAND_VIEW}
+                               </a>
+                       </li>
+                       <!-- IF U_EDIT -->
+                               <li>
+                                       <a href="{U_EDIT}" title="{L_EDIT_POST}" class="button">
+                                               <i class="icon fa-pencil fa-fw" aria-hidden="true"></i><span class="sr-only">{L_EDIT_POST}</span>
+                                       </a>
+                               </li>
+                       <!-- ENDIF -->
+               </ul>
+
+               <!-- IF S_PM -->
+               <p class="author">
+                       <strong>{L_SENT_AT}{L_COLON}</strong> {POST_DATE}
+                       <br /><strong>{L_PM_FROM}{L_COLON}</strong> {POST_AUTHOR_FULL}
+                       <!-- IF S_TO_RECIPIENT --><br /><strong>{L_TO}{L_COLON}</strong> <!-- BEGIN to_recipient --><!-- IF to_recipient.NAME_FULL -->{to_recipient.NAME_FULL}<!-- ELSE --><a href="{to_recipient.U_VIEW}" style="color:<!-- IF to_recipient.COLOUR -->{to_recipient.COLOUR}<!-- ELSEIF to_recipient.IS_GROUP -->#0000FF<!-- ENDIF -->;">{to_recipient.NAME}</a><!-- ENDIF -->&nbsp;<!-- END to_recipient --><!-- ENDIF -->
+                       <!-- IF S_BCC_RECIPIENT --><br /><strong>{L_BCC}{L_COLON}</strong> <!-- BEGIN bcc_recipient --><!-- IF bcc_recipient.NAME_FULL -->{bcc_recipient.NAME_FULL}<!-- ELSE --><a href="{bcc_recipient.U_VIEW}" style="color:<!-- IF bcc_recipient.COLOUR -->{bcc_recipient.COLOUR}<!-- ELSEIF bcc_recipient.IS_GROUP -->#0000FF<!-- ENDIF -->;">{bcc_recipient.NAME}</a><!-- ENDIF -->&nbsp;<!-- END bcc_recipient --><!-- ENDIF -->
+               </p>
+               <!-- ELSE -->
+               <p class="author"><span><i class="icon fa-file fa-fw icon-lightgray icon-md" aria-hidden="true"></i><span class="sr-only">{MINI_POST_IMG}</span></span> {L_POSTED} {L_POST_BY_AUTHOR} {POST_AUTHOR_FULL} &raquo; {POST_DATE}</p>
+               <!-- ENDIF -->
+
+               <!-- IF S_POST_UNAPPROVED -->
+                       <form method="post" id="mcp_approve" action="{U_APPROVE_ACTION}">
+
+                       <p class="post-notice unapproved">
+                               <input class="button2" type="submit" value="{L_DISAPPROVE}" name="action[disapprove]" /> &nbsp;
+                               <input class="button1" type="submit" value="{L_APPROVE}" name="action[approve]" />
+                               <!-- IF not S_FIRST_POST --><input type="hidden" name="mode" value="unapproved_posts" /><!-- ENDIF -->
+                               <input type="hidden" name="post_id_list[]" value="{POST_ID}" />
+                               {S_FORM_TOKEN}
+                       </p>
+                       </form>
+               <!-- ELSEIF S_POST_DELETED -->
+                       <form method="post" id="mcp_approve" action="{U_APPROVE_ACTION}">
+
+                       <p class="post-notice deleted">
+                               <!-- IF S_CAN_DELETE_POST --><input class="button2" type="submit" value="{L_DELETE}" name="action[delete]" /> &nbsp;<!-- ENDIF -->
+                               <input class="button1" type="submit" value="{L_RESTORE}" name="action[restore]" />
+                               <!-- IF not S_FIRST_POST --><input type="hidden" name="mode" value="deleted_posts" /><!-- ENDIF -->
+                               <input type="hidden" name="post_id_list[]" value="{POST_ID}" />
+                               {S_FORM_TOKEN}
+                       </p>
+                       </form>
+               <!-- ENDIF -->
+
+               <!-- IF S_MESSAGE_REPORTED -->
+                       <p class="post-notice reported">
+                               <i class="icon fa-exclamation fa-fw icon-red" aria-hidden="true"></i><span class="sr-only">{L_TOPIC_REPORTED}</span> <a href="{U_MCP_REPORT}"><strong>{L_MESSAGE_REPORTED}</strong></a>
+                       </p>
+               <!-- ENDIF -->
+
+               <div id="post_details" class="content post_details">
+                       {POST_PREVIEW}
+               </div>
+
+               <!-- IF S_HAS_ATTACHMENTS -->
+                       <dl class="attachbox">
+                               <dt>{L_ATTACHMENTS}</dt>
+                               <!-- BEGIN attachment -->
+                                       <dd>{attachment.DISPLAY_ATTACHMENT}</dd>
+                               <!-- END attachment -->
+                       </dl>
+               <!-- ENDIF -->
+
+               <!-- IF DELETED_MESSAGE or DELETE_REASON -->
+                       <div class="notice">
+                               {DELETED_MESSAGE}
+                               <!-- IF DELETE_REASON --><br /><strong>{L_REASON}{L_COLON}</strong> <em>{DELETE_REASON}</em><!-- ENDIF -->
+                       </div>
+               <!-- ENDIF -->
+
+               <!-- IF SIGNATURE -->
+                       <div id="sig{POST_ID}" class="signature">{SIGNATURE}</div>
+               <!-- ENDIF -->
+
+               <!-- IF S_MCP_REPORT and S_CAN_VIEWIP -->
+                       <hr />
+                       <div><!-- IF S_PM -->{L_THIS_PM_IP}<!-- ELSE -->{L_THIS_POST_IP}<!-- ENDIF -->{L_COLON} <!-- IF U_WHOIS -->
+                               <a href="{U_WHOIS}"><!-- IF POST_IPADDR -->{POST_IPADDR}<!-- ELSE -->{POST_IP}<!-- ENDIF --></a> (<!-- IF POST_IPADDR -->{POST_IP}<!-- ELSE --><a href="{U_LOOKUP_IP}">{L_LOOKUP_IP}</a><!-- ENDIF -->)
+                       <!-- ELSE -->
+                               <!-- IF POST_IPADDR -->{POST_IPADDR} ({POST_IP})<!-- ELSE -->{POST_IP}<!-- IF U_LOOKUP_IP --> (<a href="{U_LOOKUP_IP}">{L_LOOKUP_IP}</a>)<!-- ENDIF --><!-- ENDIF -->
+                       <!-- ENDIF --></div>
+               <!-- ENDIF -->
+
+       </div>
+
+       </div>
+</div>
+
+<!-- IF S_CAN_LOCK_POST or S_CAN_DELETE_POST or S_CAN_CHGPOSTER or S_MCP_POST_ADDITIONAL_OPTS -->
+       <div class="panel">
+               <div class="inner">
+
+               <h3>{L_MOD_OPTIONS}</h3>
+               <!-- IF S_CAN_CHGPOSTER -->
+                       <form method="post" id="mcp_chgposter" action="{U_POST_ACTION}">
+
+                       <fieldset>
+                       <dl>
+                               <dt><label>{L_CHANGE_POSTER}{L_COLON}</label></dt>
+                               <!-- IF S_USER_SELECT --><dd><select name="u">{S_USER_SELECT}</select> <input type="submit" class="button2" name="action[chgposter_ip]" value="{L_CONFIRM}" /></dd><!-- ENDIF -->
+                               <dd style="margin-top:3px;">
+                                       <input class="inputbox autowidth" type="text" name="username" value="" />
+                                       <input type="submit" class="button2" name="action[chgposter]" value="{L_CONFIRM}" />
+                                       <br />
+                                       <span>[ <a href="{U_FIND_USERNAME}" onclick="find_username(this.href); return false;">{L_FIND_USERNAME}</a> ]</span>
+                               </dd>
+                       </dl>
+                       {S_FORM_TOKEN}
+                       </fieldset>
+                       </form>
+               <!-- ENDIF -->
+
+               <!-- EVENT mcp_post_additional_options -->
+
+               <!-- IF S_CAN_LOCK_POST or S_CAN_DELETE_POST -->
+                       <form method="post" id="mcp" action="{U_MCP_ACTION}">
+
+                       <fieldset>
+                       <dl>
+                               <dt><label>{L_MOD_OPTIONS}{L_COLON}</label></dt>
+                               <dd><select name="action">
+                                       <!-- IF S_CAN_LOCK_POST --><!-- IF S_POST_LOCKED --><option value="unlock_post">{L_UNLOCK_POST} [{L_UNLOCK_POST_EXPLAIN}]</option><!-- ELSE --><option value="lock_post">{L_LOCK_POST} [{L_LOCK_POST_EXPLAIN}]</option><!-- ENDIF --><!-- ENDIF -->
+                                       <!-- IF S_CAN_DELETE_POST --><option value="delete_post">{L_DELETE_POST}</option><!-- ENDIF -->
+                                       </select> <input class="button2" type="submit" value="{L_SUBMIT}" />
+                               </dd>
+                       </dl>
+                       {S_FORM_TOKEN}
+                       </fieldset>
+                       </form>
+               <!-- ENDIF -->
+
+               </div>
+       </div>
+<!-- ENDIF -->
+
+
+<!-- IF S_MCP_QUEUE or S_MCP_REPORT or RETURN_TOPIC -->
+       <div class="panel">
+               <div class="inner">
+
+               <p><!-- IF S_MCP_QUEUE -->{RETURN_QUEUE} | {RETURN_TOPIC_SIMPLE} | {RETURN_POST}<!-- ELSEIF S_MCP_REPORT -->{RETURN_REPORTS}<!-- IF not S_PM --> | <a href="{U_VIEW_POST}">{L_VIEW_POST}</a> | <a href="{U_VIEW_TOPIC}">{L_VIEW_TOPIC}</a> | <a href="{U_VIEW_FORUM}">{L_VIEW_FORUM}</a><!-- ENDIF --><!-- ELSE -->{RETURN_TOPIC}<!-- ENDIF --></p>
+
+               </div>
+       </div>
+<!-- ENDIF -->
+
+<!-- IF S_MCP_QUEUE -->
+<!-- ELSE -->
+
+       <!-- IF S_SHOW_USER_NOTES -->
+               <div class="panel" id="usernotes">
+                       <div class="inner">
+
+                       <form method="post" id="mcp_notes" action="{U_POST_ACTION}">
+
+                       <!-- IF S_USER_NOTES -->
+                               <h3>{L_FEEDBACK}</h3>
+
+                               <!-- BEGIN usernotes -->
+                                       <span class="small"><strong>{L_REPORTED_BY}{L_COLON} {usernotes.REPORT_BY} &laquo; {usernotes.REPORT_AT}</strong></span>
+                                       <!-- IF S_CLEAR_ALLOWED --><div class="right-box"><input type="checkbox" name="marknote[]" value="{usernotes.ID}" /></div><!-- ENDIF -->
+                                       <div class="postbody">{usernotes.ACTION}</div>
+
+                                       <hr class="dashed" />
+                               <!-- END usernotes -->
+
+                               <!-- IF S_CLEAR_ALLOWED -->
+                                       <fieldset class="submit-buttons">
+                                               <input class="button2" type="submit" name="action[del_all]" value="{L_DELETE_ALL}" />&nbsp;
+                                               <input class="button2" type="submit" name="action[del_marked]" value="{L_DELETE_MARKED}" />
+                                       </fieldset>
+                               <!-- ENDIF -->
+                       <!-- ENDIF -->
+
+                       <h3>{L_ADD_FEEDBACK}</h3>
+                       <p>{L_ADD_FEEDBACK_EXPLAIN}</p>
+
+                       <fieldset>
+                               <textarea name="usernote" rows="4" cols="76" class="inputbox"></textarea>
+                       </fieldset>
+
+                       <fieldset class="submit-buttons">
+                               <input class="button1" type="submit" name="action[add_feedback]" value="{L_SUBMIT}" />&nbsp;
+                               <input class="button2" type="reset" value="{L_RESET}" />
+                               {S_FORM_TOKEN}
+                       </fieldset>
+                       </form>
+
+                       </div>
+               </div>
+       <!-- ENDIF -->
+
+       <!-- IF S_SHOW_REPORTS -->
+               <div class="panel" id="reports">
+                       <div class="inner">
+
+                       <h3>{L_MCP_POST_REPORTS}</h3>
+
+                       <!-- BEGIN reports -->
+                               <span class="small"><strong>{L_REPORTED_BY}{L_COLON} <!-- IF reports.U_REPORTER --><a href="{reports.U_REPORTER}">{reports.REPORTER}</a><!-- ELSE -->{reports.REPORTER}<!-- ENDIF --> &laquo; {reports.REPORT_TIME}</strong></span>
+                               <p><em>{reports.REASON_TITLE}{L_COLON} {reports.REASON_DESC}</em><!-- IF reports.REPORT_TEXT --><br />{reports.REPORT_TEXT}<!-- ENDIF --></p>
+                       <!-- END reports -->
+
+                       </div>
+               </div>
+       <!-- ENDIF -->
+
+       <!-- IF S_CAN_VIEWIP and not S_MCP_REPORT -->
+               <div class="panel" id="ip">
+                       <div class="inner">
+
+                       <p>{L_THIS_POST_IP}{L_COLON} <!-- IF U_WHOIS -->
+                               <a href="{U_WHOIS}"><!-- IF POST_IPADDR -->{POST_IPADDR}<!-- ELSE -->{POST_IP}<!-- ENDIF --></a> (<!-- IF POST_IPADDR -->{POST_IP}<!-- ELSE --><a href="{U_LOOKUP_IP}">{L_LOOKUP_IP}</a><!-- ENDIF -->)
+                       <!-- ELSE -->
+                               <!-- IF POST_IPADDR -->{POST_IPADDR} ({POST_IP})<!-- ELSE -->{POST_IP}<!-- IF U_LOOKUP_IP --> (<a href="{U_LOOKUP_IP}">{L_LOOKUP_IP}</a>)<!-- ENDIF --><!-- ENDIF -->
+                       <!-- ENDIF --></p>
+
+                       <table class="table1">
+                       <thead>
+                       <tr>
+                               <th class="name">{L_OTHER_USERS}</th>
+                               <th class="posts">{L_POSTS}</th>
+                       </tr>
+                       </thead>
+                       <tbody>
+                       <!-- BEGIN userrow -->
+                       <tr class="<!-- IF userrow.S_ROW_COUNT is odd -->bg1<!-- ELSE -->bg2<!-- ENDIF -->">
+                               <td><!-- IF userrow.U_PROFILE --><a href="{userrow.U_PROFILE}">{userrow.USERNAME}</a><!-- ELSE -->{userrow.USERNAME}<!-- ENDIF --></td>
+                               <td class="posts"><a href="{userrow.U_SEARCHPOSTS}" title="{L_SEARCH_POSTS_BY} {userrow.USERNAME}">{userrow.NUM_POSTS}</a></td>
+                       </tr>
+                       <!-- BEGINELSE -->
+                               <tr>
+                                       <td colspan="2">{L_NO_MATCHES_FOUND}</td>
+                               </tr>
+                       <!-- END userrow -->
+                       </tbody>
+                       </table>
+
+                       <table class="table1">
+                       <thead>
+                       <tr>
+                               <th class="name">{L_IPS_POSTED_FROM}</th>
+                               <th class="posts">{L_POSTS}</th>
+                       </tr>
+                       </thead>
+                       <tbody>
+                       <!-- BEGIN iprow -->
+                       <tr class="<!-- IF iprow.S_ROW_COUNT is odd -->bg1<!-- ELSE -->bg2<!-- ENDIF -->">
+                               <td><!-- IF iprow.HOSTNAME --><a href="{iprow.U_WHOIS}">{iprow.HOSTNAME}</a> ({iprow.IP})<!-- ELSE --><a href="{iprow.U_WHOIS}">{iprow.IP}</a> (<a href="{iprow.U_LOOKUP_IP}">{L_LOOKUP_IP}</a>)<!-- ENDIF --></td>
+                               <td class="posts">{iprow.NUM_POSTS}</td>
+                       </tr>
+                       <!-- BEGINELSE -->
+                               <tr>
+                                       <td colspan="2">{L_NO_MATCHES_FOUND}</td>
+                               </tr>
+                       <!-- END iprow -->
+                       </tbody>
+                       </table>
+
+                       <p><a href="{U_LOOKUP_ALL}#ip">{L_LOOKUP_ALL}</a></p>
+
+                       </div>
+               </div>
+       <!-- ENDIF -->
+
+<!-- ENDIF -->
+
+<!-- IF S_TOPIC_REVIEW --><!-- INCLUDE posting_topic_review.html --><!-- ENDIF -->
+
+<!-- INCLUDE mcp_footer.html -->
diff --git a/template/mcp_queue.html b/template/mcp_queue.html
new file mode 100644 (file)
index 0000000..ee69bf4
--- /dev/null
@@ -0,0 +1,123 @@
+<!-- INCLUDE mcp_header.html -->
+
+<form id="mcp" method="post" action="{S_MCP_ACTION}">
+
+<fieldset class="forum-selection">
+       <label for="fo">{L_FORUM}{L_COLON} <select name="f" id="fo">{S_FORUM_OPTIONS}</select></label>
+       <input type="submit" name="sort" value="{L_GO}" class="button2" />
+       {S_FORM_TOKEN}
+</fieldset>
+
+<h2>{L_TITLE}</h2>
+
+<div class="panel">
+       <div class="inner">
+
+       <p>{L_EXPLAIN}</p>
+
+       <!-- IF .postrow -->
+               <div class="action-bar bar-top">
+                       <div class="pagination">
+                               {TOTAL}
+                               <!-- IF .pagination -->
+                                       <!-- INCLUDE pagination.html -->
+                               <!-- ELSE -->
+                                        &bull; {PAGE_NUMBER}
+                               <!-- ENDIF -->
+                       </div>
+               </div>
+
+               <ul class="topiclist missing-column">
+                       <li class="header">
+                               <dl>
+                                       <dt><div class="list-inner"><!-- IF S_TOPICS -->{L_TOPIC}<!-- ELSE -->{L_POST}<!-- ENDIF --></div></dt>
+                                       <dd class="moderation"><span><!-- IF not S_TOPICS -->{L_TOPIC} &amp; <!-- ENDIF -->{L_FORUM}</span></dd>
+                                       <dd class="mark">{L_MARK}</dd>
+                               </dl>
+                       </li>
+                       </ul>
+                       <ul class="topiclist cplist missing-column responsive-show-all">
+
+               <!-- BEGIN postrow -->
+
+               <!-- IF postrow.S_DELETED_TOPIC -->
+                       <li><p class="notopics">{L_DELETED_TOPIC}</p></li>
+               <!-- ELSE -->
+
+               <li class="row<!-- IF postrow.S_ROW_COUNT is odd --> bg1<!-- ELSE --> bg2<!-- ENDIF -->">
+                       <dl>
+                               <dt>
+                                       <div class="list-inner">
+                                               <a href="{postrow.U_VIEW_DETAILS}" class="topictitle">{postrow.POST_SUBJECT}</a><!-- IF postrow.S_HAS_ATTACHMENTS --> <i class="icon fa-paperclip fa-fw" aria-hidden="true"></i> <!-- ENDIF --><br />
+                                               <span>{L_POSTED} {L_POST_BY_AUTHOR} {postrow.POST_AUTHOR_FULL} &raquo; {postrow.POST_TIME}</span>
+                                       </div>
+                               </dt>
+                               <dd class="moderation">
+                                       <span>
+                                               <!-- IF S_TOPICS --><br /><!-- ELSE -->{L_TOPIC}{L_COLON} <a href="{postrow.U_TOPIC}">{postrow.TOPIC_TITLE}</a> <br /><!-- ENDIF -->
+                                               {L_FORUM}{L_COLON} <a href="{postrow.U_VIEWFORUM}">{postrow.FORUM_NAME}</a>
+                                       </span>
+                               </dd>
+
+
+                               <dd class="mark">
+                                       <!-- IF S_TOPICS -->
+                                               <input type="checkbox" name="topic_id_list[]" value="{postrow.TOPIC_ID}" />
+                                       <!-- ELSE -->
+                                               <input type="checkbox" name="post_id_list[]" value="{postrow.POST_ID}" />
+                                       <!-- ENDIF -->
+                               </dd>
+                       </dl>
+               </li>
+               <!-- ENDIF -->
+               <!-- END postrow -->
+               </ul>
+
+               <div class="action-bar bottom">
+                       <!-- INCLUDE display_options.html -->
+                       <!-- IF TOPIC_ID --><label><input type="checkbox" class="radio" name="t" value="{TOPIC_ID}" checked="checked" onClick="document.getElementById('mcp').submit()" /> <strong>{L_ONLY_TOPIC}</strong></label><!-- ENDIF -->
+
+                       <div class="pagination">
+                               {TOTAL}
+                               <!-- IF .pagination -->
+                                       <!-- INCLUDE pagination.html -->
+                               <!-- ELSE -->
+                                        &bull; {PAGE_NUMBER}
+                               <!-- ENDIF -->
+                       </div>
+               </div>
+
+       <!-- ELSE -->
+               <p class="notopics"><strong>
+                       <!-- IF S_RESTORE -->
+                               <!-- IF S_TOPICS -->{L_NO_TOPICS_DELETED}<!-- ELSE -->{L_NO_POSTS_DELETED}<!-- ENDIF -->
+                       <!-- ELSE -->
+                               <!-- IF S_TOPICS -->{L_NO_TOPICS_QUEUE}<!-- ELSE -->{L_NO_POSTS_QUEUE}<!-- ENDIF -->
+                       <!-- ENDIF -->
+               </strong></p>
+       <!-- ENDIF -->
+
+       </div>
+</div>
+
+<!-- IF .postrow -->
+       <fieldset class="display-actions">
+               <!-- IF S_RESTORE -->
+               <input class="button2" type="submit" name="action[delete]" value="{L_DELETE}" />&nbsp;
+               <input class="button1" type="submit" name="action[restore]" value="{L_RESTORE}" />
+               <!-- ELSE -->
+               <input class="button2" type="submit" name="action[disapprove]" value="{L_DISAPPROVE}" />&nbsp;
+               <input class="button1" type="submit" name="action[approve]" value="{L_APPROVE}" />
+               <!-- ENDIF -->
+               <div>
+                       <!-- IF S_TOPICS -->
+                               <a href="#" onclick="marklist('mcp', 'topic_id_list', true); return false;">{L_MARK_ALL}</a> :: <a href="#" onclick="marklist('mcp', 'topic_id_list', false); return false;">{L_UNMARK_ALL}</a>
+                       <!-- ELSE -->
+                               <a href="#" onclick="marklist('mcp', 'post_id_list', true); return false;">{L_MARK_ALL}</a> :: <a href="#" onclick="marklist('mcp', 'post_id_list', false); return false;">{L_UNMARK_ALL}</a>
+                       <!-- ENDIF -->
+               </div>
+       </fieldset>
+<!-- ENDIF -->
+</form>
+
+<!-- INCLUDE mcp_footer.html -->
diff --git a/template/mcp_reports.html b/template/mcp_reports.html
new file mode 100644 (file)
index 0000000..e7e0a5c
--- /dev/null
@@ -0,0 +1,112 @@
+<!-- INCLUDE mcp_header.html -->
+
+<form id="mcp" method="post" action="{S_MCP_ACTION}">
+
+<!-- IF not S_PM -->
+<fieldset class="forum-selection">
+       <label for="fo">{L_FORUM}{L_COLON} <select name="f" id="fo">{S_FORUM_OPTIONS}</select></label>
+       <input type="submit" name="sort" value="{L_GO}" class="button2" />
+       {S_FORM_TOKEN}
+</fieldset>
+<!-- ENDIF -->
+
+<h2>{L_TITLE}</h2>
+
+<div class="panel">
+       <div class="inner">
+
+       <p>{L_EXPLAIN}</p>
+
+       <!-- IF .postrow -->
+               <div class="action-bar bar-top">
+                       <div class="pagination">
+                               {TOTAL_REPORTS}
+                               <!-- IF .pagination -->
+                                       <!-- INCLUDE pagination.html -->
+                               <!-- ELSE -->
+                                        &bull; {PAGE_NUMBER}
+                               <!-- ENDIF -->
+                       </div>
+               </div>
+
+               <ul class="topiclist missing-column">
+                       <li class="header">
+                               <dl>
+                                       <dt><div class="list-inner">{L_VIEW_DETAILS}</div></dt>
+                                       <dd class="moderation"><span>{L_REPORTER}<!-- IF not S_PM --> &amp; {L_FORUM}<!-- ENDIF --></span></dd>
+                                       <dd class="mark">{L_MARK}</dd>
+                               </dl>
+                       </li>
+               </ul>
+               <ul class="topiclist cplist missing-column">
+
+               <!-- BEGIN postrow -->
+                       <li class="row<!-- IF postrow.S_ROW_COUNT is odd --> bg1<!-- ELSE --> bg2<!-- ENDIF -->">
+                               <dl>
+                                       <!-- IF S_PM -->
+                                       <dt>
+                                               <div class="list-inner">
+                                                       <a href="{postrow.U_VIEW_DETAILS}" class="topictitle">{postrow.PM_SUBJECT}</a> <i class="icon fa-paperclip fa-fw" aria-hidden="true"></i> <br />
+                                                       <span>{L_MESSAGE_BY_AUTHOR} {postrow.PM_AUTHOR_FULL} &raquo; {postrow.PM_TIME}</span><br />
+                                                       <span>{L_MESSAGE_TO} {postrow.RECIPIENTS}</span>
+                                                       <div class="responsive-show" style="display: none;">
+                                                               {L_REPORTER}{L_COLON} {postrow.REPORTER_FULL} &laquo; {postrow.REPORT_TIME}
+                                                       </div>
+                                               </div>
+                                       </dt>
+                                       <dd class="moderation">
+                                               <span>{postrow.REPORTER_FULL} &laquo; {postrow.REPORT_TIME}</span>
+                                       </dd>
+                                       <!-- ELSE -->
+                                       <dt>
+                                               <div class="list-inner">
+                                                       <a href="{postrow.U_VIEW_DETAILS}" class="topictitle">{postrow.POST_SUBJECT}</a><i class="icon fa-paperclip fa-fw" aria-hidden="true"></i> <br />
+                                                       <span>{L_POSTED} {L_POST_BY_AUTHOR} {postrow.POST_AUTHOR_FULL} &raquo; {postrow.POST_TIME}</span>
+                                                       <div class="responsive-show" style="display: none;">
+                                                               {L_REPORTER}{L_COLON} {postrow.REPORTER_FULL} &laquo; {postrow.REPORT_TIME}<br />
+                                                               <!-- IF postrow.U_VIEWFORUM -->{L_FORUM}{L_COLON} <a href="{postrow.U_VIEWFORUM}">{postrow.FORUM_NAME}</a><!-- ELSE -->{postrow.FORUM_NAME}<!-- ENDIF -->
+                                                       </div>
+                                               </div>
+                                       </dt>
+                                       <dd class="moderation">
+                                               <span>{postrow.REPORTER_FULL} &laquo; {postrow.REPORT_TIME}<br />
+                                               <!-- IF postrow.U_VIEWFORUM -->{L_FORUM}{L_COLON} <a href="{postrow.U_VIEWFORUM}">{postrow.FORUM_NAME}</a><!-- ELSE -->{postrow.FORUM_NAME}<!-- ENDIF --></span>
+                                       </dd>
+                                       <!-- ENDIF -->
+                                       <dd class="mark"><input type="checkbox" name="report_id_list[]" value="{postrow.REPORT_ID}" /></dd>
+                               </dl>
+                       </li>
+               <!-- END postrow -->
+               </ul>
+
+               <div class="action-bar bottom">
+                       <!-- INCLUDE display_options.html -->
+                       <!-- IF TOPIC_ID --><label><input type="checkbox" class="radio" name="t" value="{TOPIC_ID}" checked="checked" onClick="document.getElementById('mcp').submit()" /> <strong>{L_ONLY_TOPIC}</strong></label><!-- ENDIF -->
+
+                       <div class="pagination">
+                               {TOTAL_REPORTS}
+                               <!-- IF .pagination -->
+                                       <!-- INCLUDE pagination.html -->
+                               <!-- ELSE -->
+                                        &bull; {PAGE_NUMBER}
+                               <!-- ENDIF -->
+                       </div>
+               </div>
+
+       <!-- ELSE -->
+               <p><strong>{L_NO_REPORTS}</strong></p>
+       <!-- ENDIF -->
+
+       </div>
+</div>
+
+<!-- IF .postrow -->
+       <fieldset class="display-actions">
+               <input class="button2" type="submit" value="{L_DELETE_REPORTS}" name="action[delete]" />
+               <!-- IF not S_CLOSED -->&nbsp;<input class="button1" type="submit" name="action[close]" value="{L_CLOSE_REPORTS}" /><!-- ENDIF -->
+               <div><a href="#" onclick="marklist('mcp', 'report_id_list', true); return false;">{L_MARK_ALL}</a> :: <a href="#" onclick="marklist('mcp', 'report_id_list', false); return false;">{L_UNMARK_ALL}</a></div>
+       </fieldset>
+<!-- ENDIF -->
+</form>
+
+<!-- INCLUDE mcp_footer.html -->
diff --git a/template/mcp_topic.html b/template/mcp_topic.html
new file mode 100644 (file)
index 0000000..d64c9c9
--- /dev/null
@@ -0,0 +1,195 @@
+<!-- INCLUDE mcp_header.html -->
+
+<div class="tabs-container">
+<h2><a href="{U_VIEW_TOPIC}">{L_TOPIC}{L_COLON} {TOPIC_TITLE}</a></h2>
+
+<!-- IF S_MERGE_VIEW -->
+       <!-- DEFINE $SHOW_PANEL = 'merge-panel' -->
+<!-- ELSEIF S_SPLIT_VIEW -->
+       <!-- DEFINE $SHOW_PANEL = 'split-panel' -->
+<!-- ELSE -->
+       <!-- DEFINE $SHOW_PANEL = 'display-panel' -->
+<!-- ENDIF -->
+
+<div id="minitabs" class="minitabs sub-panels" data-show-panel="{$SHOW_PANEL}" role="tablist">
+       <ul>
+               <li id="display-panel-tab" class="tab<!-- IF not S_MERGE_VIEW --> activetab<!-- ENDIF -->">
+                       <a href="#minitabs" data-subpanel="display-panel" role="tab" aria-controls="display-panel">{L_DISPLAY_OPTIONS}</a>
+               </li>
+               <li id="split-panel-tab" class="tab">
+                       <a href="#minitabs" data-subpanel="split-panel" role="tab" aria-controls="split-panel">{L_SPLIT_TOPIC}</a>
+               </li>
+               <li id="merge-panel-tab" class="tab<!-- IF S_MERGE_VIEW --> activetab<!-- ENDIF -->">
+                       <a href="#minitabs" data-subpanel="merge-panel" role="tab" aria-controls="merge-panel">{L_MERGE_POSTS}</a>
+               </li>
+       </ul>
+</div>
+</div>
+
+<form id="mcp" method="post" action="{S_MCP_ACTION}">
+
+<div class="panel">
+       <div class="inner">
+
+       <fieldset id="display-panel" class="fields2" role="tabpanel">
+       <dl>
+               <dt><label for="posts_per_page">{L_POSTS_PER_PAGE}{L_COLON}</label><br /><span>{L_POSTS_PER_PAGE_EXPLAIN}</span></dt>
+               <dd><input class="inputbox autowidth" type="number" min="0" max="999999" name="posts_per_page" id="posts_per_page" value="{POSTS_PER_PAGE}" /></dd>
+       </dl>
+       <dl>
+               <dt><label>{L_DISPLAY_POSTS}{L_COLON}</label></dt>
+               <dd>{S_SELECT_SORT_DAYS}&nbsp;&nbsp;<label>{L_SORT_BY} {S_SELECT_SORT_KEY}</label><label>{S_SELECT_SORT_DIR}</label> <input type="submit" name="sort" value="{L_GO}" class="button2" /></dd>
+       </dl>
+       </fieldset>
+
+<!-- IF S_CAN_SPLIT -->
+       <fieldset id="split-panel" class="fields2" role="tabpanel">
+               <p>{L_SPLIT_TOPIC_EXPLAIN}</p>
+
+       <!-- IF S_SHOW_TOPIC_ICONS -->
+               <dl>
+                       <dt><label for="icon">{L_TOPIC_ICON}{L_COLON}</label></dt>
+                       <dd><label for="icon"><input type="radio" name="icon" id="icon" value="0" checked="checked" /> {L_NO_TOPIC_ICON}</label>
+                       <!-- BEGIN topic_icon --><label for="icon-{topic_icon.ICON_ID}"><input type="radio" name="icon" id="icon-{topic_icon.ICON_ID}" value="{topic_icon.ICON_ID}" {topic_icon.S_ICON_CHECKED} /><img src="{topic_icon.ICON_IMG}" width="{topic_icon.ICON_WIDTH}" height="{topic_icon.ICON_HEIGHT}" alt="" title="" /></label> <!-- END topic_icon --></dd>
+               </dl>
+       <!-- ENDIF -->
+
+       <!-- EVENT mcp_topic_options_before -->
+       <dl>
+               <dt><label for="subject">{L_SPLIT_SUBJECT}{L_COLON}</label></dt>
+               <dd><input type="text" name="subject" id="subject" size="45" maxlength="124" tabindex="2" value="{SPLIT_SUBJECT}" title="{L_SPLIT_SUBJECT}" class="inputbox" /></dd>
+       </dl>
+       <!-- EVENT mcp_topic_options_after -->
+       <dl>
+               <dt><label>{L_SPLIT_FORUM}{L_COLON}</label></dt>
+               <dd><select name="to_forum_id">{S_FORUM_SELECT}</select></dd>
+       </dl>
+       </fieldset>
+<!-- ENDIF -->
+
+<!-- IF S_CAN_MERGE -->
+       <fieldset id="merge-panel" class="fields2" role="tabpanel">
+               <p>{L_MERGE_TOPIC_EXPLAIN}</p>
+       <dl>
+               <dt><label for="to_topic_id">{L_MERGE_TOPIC_ID}{L_COLON}</label></dt>
+               <dd>
+                       <input class="inputbox autowidth" type="number" min="0" max="9999999999" name="to_topic_id" id="to_topic_id" value="{TO_TOPIC_ID}" />
+                       <a href="{U_SELECT_TOPIC}" >{L_SELECT_TOPIC}</a>
+               </dd>
+               <!-- IF TO_TOPIC_INFO --><dd>{TO_TOPIC_INFO}</dd><!-- ENDIF -->
+       </dl>
+       </fieldset>
+<!-- ENDIF -->
+
+       </div>
+</div>
+
+<div class="panel">
+       <div class="inner">
+
+       <h3 id="review" class="review">
+               <span class="right-box"><a href="#review" onclick="viewableArea(getElementById('topicreview'), true); var rev_text = getElementById('review').getElementsByTagName('a').item(0).firstChild; if (rev_text.data == '{LA_EXPAND_VIEW}'){rev_text.data = '{LA_COLLAPSE_VIEW}'; } else if (rev_text.data == '{LA_COLLAPSE_VIEW}'){rev_text.data = '{LA_EXPAND_VIEW}'};">{L_EXPAND_VIEW}</a></span>
+               {L_TOPIC_REVIEW}{L_COLON} <!-- EVENT mcp_topic_topic_title_before -->{TOPIC_TITLE}<!-- EVENT mcp_topic_topic_title_after -->
+       </h3>
+
+       <div id="topicreview" class="topicreview">
+               <!-- BEGIN postrow -->
+               <div class="post <!-- IF postrow.S_ROW_COUNT is odd -->bg1<!-- ELSE -->bg2<!-- ENDIF -->">
+                       <div class="inner">
+
+                       <div class="postbody" id="pr{postrow.POST_ID}">
+                               <ul class="post-buttons">
+                                       <li>
+                                               <a href="{postrow.U_POST_DETAILS}" title="{L_POST_DETAILS}" class="button button-icon-only">
+                                                       <i class="icon fa-info fa-fw" aria-hidden="true"></i><span class="sr-only">{L_POST_DETAILS}</span>
+                                               </a>
+                                       </li>
+                                       <li>
+                                               <label for="post_id_list_select_{postrow.POST_ID}">{L_SELECT}{L_COLON}
+                                                       <input type="checkbox" id="post_id_list_select_{postrow.POST_ID}" name="post_id_list[]" value="{postrow.POST_ID}"<!-- IF postrow.S_CHECKED --> checked="checked"<!-- ENDIF --> />
+                                               </label>
+                                       </li>
+                               </ul>
+
+                               <h3><a href="{postrow.U_POST_DETAILS}">{postrow.POST_SUBJECT}</a></h3>
+
+                               <!-- EVENT mcp_topic_postrow_post_details_before -->
+                               <p class="author">
+                                       <a href="#pr{postrow.POST_ID}" title="{postrow.MINI_POST}">
+                                               <i class="icon fa-file fa-fw icon-lightgray icon-tiny" aria-hidden="true"></i><span class="sr-only">{postrow.MINI_POST}</span>
+                                       </a> {L_POSTED} {postrow.POST_DATE} {L_POST_BY_AUTHOR} <strong>{postrow.POST_AUTHOR_FULL}</strong><!-- IF postrow.U_MCP_DETAILS --> [ <a href="{postrow.U_MCP_DETAILS}">{L_POST_DETAILS}</a> ]<!-- ENDIF -->
+                               </p>
+                               <!-- EVENT mcp_topic_postrow_post_details_after -->
+
+                               <!-- IF postrow.S_POST_UNAPPROVED -->
+                               <p class="post-notice unapproved">
+                                       <a href="{postrow.U_MCP_APPROVE}"><i class="icon fa-exclamation fa-fw icon-red" aria-hidden="true"></i><strong>{L_POST_UNAPPROVED}</strong></a>
+                               </p>
+                               <!-- ENDIF -->
+
+                               <!-- IF postrow.S_POST_DELETED -->
+                               <p class="post-notice deleted">
+                                       <a href="{postrow.U_MCP_APPROVE}"><strong>{L_POST_DELETED}</strong></a>
+                               </p>
+                               <!-- ENDIF -->
+
+                               <!-- IF postrow.S_POST_REPORTED -->
+                               <p class="post-notice reported">
+                                       <a href="{postrow.U_MCP_REPORT}"><i class="icon fa-exclamation fa-fw icon-red" aria-hidden="true"></i><strong>{L_POST_REPORTED}</strong></a>
+                               </p>
+                               <!-- ENDIF -->
+
+                               <div class="content" id="message_{postrow.POST_ID}">{postrow.MESSAGE}</div>
+
+                               <!-- IF postrow.S_HAS_ATTACHMENTS -->
+                                       <dl class="attachbox">
+                                               <dt>{L_ATTACHMENTS}</dt>
+                                               <!-- BEGIN attachment -->
+                                                       <dd>{postrow.attachment.DISPLAY_ATTACHMENT}</dd>
+                                               <!-- END attachment -->
+                                       </dl>
+                               <!-- ENDIF -->
+
+                       </div>
+
+                       </div>
+               </div>
+               <!-- END postrow -->
+       </div>
+
+       <hr />
+
+       <div class="action-bar bar-bottom">
+               <div class="pagination">
+                       {TOTAL_POSTS}
+                       <!-- IF .pagination -->
+                               <!-- INCLUDE pagination.html -->
+                       <!-- ELSE -->
+                                &bull; {PAGE_NUMBER}
+                       <!-- ENDIF -->
+               </div>
+       </div>
+
+       </div>
+</div>
+
+<fieldset class="display-actions">
+       <select name="action">
+               <option value="" selected="selected">{L_SELECT_ACTION}</option>
+               <!-- IF S_CAN_APPROVE --><option value="approve">{L_APPROVE_POSTS}</option><!-- ENDIF -->
+               <!-- IF S_CAN_LOCK --><option value="lock_post">{L_LOCK_POST_POSTS} [ {L_LOCK_POST_EXPLAIN} ]</option><option value="unlock_post">{L_UNLOCK_POST_POSTS}</option><!-- ENDIF -->
+               <!-- IF S_CAN_DELETE --><option value="delete_post">{L_DELETE_POSTS}</option><!-- ENDIF -->
+               <!-- IF S_CAN_RESTORE --><option value="restore">{L_RESTORE_POSTS}</option><!-- ENDIF -->
+               <!-- IF S_CAN_MERGE --><option value="merge_posts"<!-- IF S_MERGE_VIEW --> selected="selected"<!-- ENDIF -->>{L_MERGE_POSTS}</option><!-- ENDIF -->
+               <!-- IF S_CAN_SPLIT --><option value="split_all"<!-- IF S_SPLIT_VIEW --> selected="selected"<!-- ENDIF -->>{L_SPLIT_POSTS}</option><option value="split_beyond">{L_SPLIT_AFTER}</option><!-- ENDIF -->
+               <!-- IF S_CAN_SYNC --><option value="resync">{L_RESYNC}</option><!-- ENDIF -->
+       </select>&nbsp;
+       <input class="button1" type="submit" name="mcp_topic_submit" value="{L_SUBMIT}" />
+       <div><a href="#" onclick="marklist('mcp', 'post', true); return false;">{L_MARK_ALL}</a> :: <a href="#" onclick="marklist('mcp', 'post', false); return false;">{L_UNMARK_ALL}</a></div>
+{S_HIDDEN_FIELDS}
+{S_FORM_TOKEN}
+</fieldset>
+
+</form>
+
+<!-- INCLUDE mcp_footer.html -->
diff --git a/template/mcp_warn_front.html b/template/mcp_warn_front.html
new file mode 100644 (file)
index 0000000..9b188b5
--- /dev/null
@@ -0,0 +1,97 @@
+<!-- INCLUDE mcp_header.html -->
+
+<form method="post" id="mcp" action="{U_POST_ACTION}">
+
+<h2>{L_WARN_USER}</h2>
+
+<div class="panel">
+       <div class="inner">
+
+       <h3>{L_SELECT_USER}</h3>
+
+       <fieldset>
+       <dl>
+               <dt><label for="username">{L_SELECT_USER}{L_COLON}</label></dt>
+               <dd><input name="username" id="username" type="text" class="inputbox" /></dd>
+               <dd><strong><a href="{U_FIND_USERNAME}" onclick="find_username(this.href); return false;">{L_FIND_USERNAME}</a></strong></dd>
+       </dl>
+       </fieldset>
+
+       </div>
+</div>
+
+<fieldset class="submit-buttons">
+       <input type="reset" value="{L_RESET}" name="reset" class="button2" />&nbsp;
+       <input type="submit" name="submituser" value="{L_SUBMIT}" class="button1" />
+       {S_FORM_TOKEN}
+</fieldset>
+</form>
+
+<div class="panel">
+       <div class="inner">
+
+       <h3>{L_MOST_WARNINGS}</h3>
+
+       <!-- IF .highest -->
+               <table class="table1">
+               <thead>
+                       <tr>
+                               <th class="name">{L_USERNAME}</th>
+                               <th class="name">{L_WARNINGS}</th>
+                               <th class="name">{L_LATEST_WARNING_TIME}</th>
+                               <th></th>
+                       </tr>
+               </thead>
+               <tbody>
+
+               <!-- BEGIN highest -->
+                       <tr class="<!-- IF highest.S_ROW_COUNT is even -->bg1<!-- ELSE -->bg2<!-- ENDIF -->">
+                               <td>{highest.USERNAME_FULL}</td>
+                               <td>{highest.WARNINGS}</td>
+                               <td>{highest.WARNING_TIME}</td>
+                               <td><a href="{highest.U_NOTES}">{L_VIEW_NOTES}</a></td>
+                       </tr>
+               <!-- END highest -->
+               </tbody>
+               </table>
+       <!-- ELSE -->
+               <p><strong>{L_NO_WARNINGS}</strong></p>
+       <!-- ENDIF -->
+
+       </div>
+</div>
+
+<div class="panel">
+       <div class="inner">
+
+       <h3>{L_LATEST_WARNINGS}</h3>
+
+       <!-- IF .latest -->
+               <table class="table1">
+               <thead>
+                       <tr>
+                               <th class="name">{L_USERNAME}</th>
+                               <th class="name">{L_TIME}</th>
+                               <th class="name">{L_TOTAL_WARNINGS}</th>
+                               <th></th>
+                       </tr>
+               </thead>
+               <tbody>
+               <!-- BEGIN latest -->
+                       <tr class="<!-- IF latest.S_ROW_COUNT is even -->bg1<!-- ELSE -->bg2<!-- ENDIF -->">
+                               <td>{latest.USERNAME_FULL}</td>
+                               <td>{latest.WARNING_TIME}</td>
+                               <td>{latest.WARNINGS}</td>
+                               <td><a href="{latest.U_NOTES}">{L_VIEW_NOTES}</a></td>
+                       </tr>
+               <!-- END latest -->
+               </tbody>
+               </table>
+       <!-- ELSE -->
+               <p><strong>{L_NO_WARNINGS}</strong></p>
+       <!-- ENDIF -->
+
+       </div>
+</div>
+
+<!-- INCLUDE mcp_footer.html -->
diff --git a/template/mcp_warn_list.html b/template/mcp_warn_list.html
new file mode 100644 (file)
index 0000000..29a2d29
--- /dev/null
@@ -0,0 +1,70 @@
+<!-- INCLUDE mcp_header.html -->
+
+<form method="post" id="mcp" action="{U_POST_ACTION}">
+
+<h2>{L_WARNED_USERS}</h2>
+
+<div class="panel">
+       <div class="inner">
+
+       <p>{L_WARNED_USERS_EXPLAIN}</p>
+
+       <!-- IF .user -->
+               <div class="action-bar bar-top">
+                       <div class="pagination">
+                               {TOTAL_USERS}
+                               <!-- IF .pagination -->
+                                       <!-- INCLUDE pagination.html -->
+                               <!-- ELSE -->
+                                        &bull; {PAGE_NUMBER}
+                               <!-- ENDIF -->
+                       </div>
+               </div>
+
+               <table class="table1">
+               <thead>
+                       <tr>
+                               <th class="name">{L_USERNAME}</th>
+                               <th class="name">{L_WARNINGS}</th>
+                               <th class="name">{L_LATEST_WARNING_TIME}</th>
+                               <th></th>
+                       </tr>
+               </thead>
+               <tbody>
+
+               <!-- BEGIN user -->
+                       <tr class="<!-- IF user.S_ROW_COUNT is even -->bg1<!-- ELSE -->bg2<!-- ENDIF -->">
+                               <td>{user.USERNAME_FULL}</td>
+                               <td>{user.WARNINGS}</td>
+                               <td>{user.WARNING_TIME}</td>
+                               <td><a href="{user.U_NOTES}">{L_VIEW_NOTES}</a></td>
+                       </tr>
+               <!-- END user -->
+               </tbody>
+               </table>
+
+               <div class="action-bar bottom">
+                       <!-- INCLUDE display_options.html -->
+
+                       <div class="pagination">
+                               {TOTAL_USERS}
+                               <!-- IF .pagination -->
+                                       <!-- INCLUDE pagination.html -->
+                               <!-- ELSE -->
+                                        &bull; {PAGE_NUMBER}
+                               <!-- ENDIF -->
+                       </div>
+               </div>
+
+       <!-- ELSE -->
+               <p><strong>{L_NO_WARNINGS}</strong></p>
+       <!-- ENDIF -->
+
+       </div>
+
+{S_FORM_TOKEN}
+</div>
+
+</form>
+
+<!-- INCLUDE mcp_footer.html -->
diff --git a/template/mcp_warn_post.html b/template/mcp_warn_post.html
new file mode 100644 (file)
index 0000000..5e39480
--- /dev/null
@@ -0,0 +1,78 @@
+<!-- INCLUDE mcp_header.html -->
+
+<form method="post" id="mcp" action="{U_POST_ACTION}">
+
+<h2>{L_MCP_WARN_POST}</h2>
+
+<div class="panel">
+       <div class="inner">
+
+       <h3><!-- IF USER_COLOR --><span style="color: #{USER_COLOR}">{USERNAME}</span><!-- ELSE -->{USERNAME}<!-- ENDIF --></h3>
+
+       <div>
+               <div class="column1">
+                       <!-- IF AVATAR_IMG --><div>{AVATAR_IMG}</div><!-- ENDIF -->
+               </div>
+
+               <div class="column2">
+                       <dl class="details">
+                               <!-- IF RANK_TITLE --><dt>{L_RANK}{L_COLON}</dt><dd>{RANK_TITLE}</dd><!-- ENDIF -->
+                               <!-- IF RANK_IMG --><dt><!-- IF RANK_TITLE -->&nbsp;<!-- ELSE -->{L_RANK}{L_COLON}<!-- ENDIF --></dt><dd>{RANK_IMG}</dd><!-- ENDIF -->
+                               <dt>{L_JOINED}{L_COLON}</dt><dd>{JOINED}</dd>
+                               <dt>{L_TOTAL_POSTS}{L_COLON}</dt><dd>{POSTS}</dd>
+                               <dt>{L_WARNINGS}{L_COLON} </dt><dd>{WARNINGS}</dd>
+                       </dl>
+               </div>
+       </div>
+
+       </div>
+</div>
+
+<div class="panel">
+       <div class="inner">
+
+       <h3>{L_POST_DETAILS}</h3>
+
+       <div class="postbody">
+
+               <div class="content">
+                       {POST}
+               </div>
+
+       </div>
+
+       </div>
+</div>
+
+<!-- EVENT mcp_warn_post_add_warning_field_before -->
+
+<div class="panel">
+       <div class="inner">
+
+       <h3>{L_ADD_WARNING}</h3>
+       <p>{L_ADD_WARNING_EXPLAIN}</p>
+
+       <fieldset>
+               <textarea name="warning" id="warning" class="inputbox" cols="40" rows="3">{L_WARNING_POST_DEFAULT}</textarea>
+               <!-- IF S_CAN_NOTIFY -->
+               <br /><br />
+               <dl class="panel">
+                       <dt>&nbsp;</dt>
+                       <dd><label><input type="checkbox" name="notify_user" checked="checked" /> {L_NOTIFY_USER_WARN}</label></dd>
+               </dl>
+               <!-- ENDIF -->
+       </fieldset>
+
+       </div>
+</div>
+
+<!-- EVENT mcp_warn_post_add_warning_field_after -->
+
+<fieldset class="submit-buttons">
+       <input type="reset" value="{L_RESET}" name="reset" class="button2" />&nbsp;
+       <input type="submit" name="action[add_warning]" value="{L_SUBMIT}" class="button1" />
+       {S_FORM_TOKEN}
+</fieldset>
+</form>
+
+<!-- INCLUDE mcp_footer.html -->
diff --git a/template/mcp_warn_user.html b/template/mcp_warn_user.html
new file mode 100644 (file)
index 0000000..f4dbf28
--- /dev/null
@@ -0,0 +1,62 @@
+<!-- INCLUDE mcp_header.html -->
+
+<form method="post" id="mcp" action="{U_POST_ACTION}">
+
+<h2>{L_WARN_USER}</h2>
+
+<div class="panel">
+       <div class="inner">
+
+       <h3>{USERNAME_FULL}</h3>
+
+       <div>
+               <div class="column1">
+                       <!-- IF AVATAR_IMG --><div>{AVATAR_IMG}</div><!-- ENDIF -->
+               </div>
+
+               <div class="column2">
+                       <dl class="details">
+                               <!-- IF RANK_TITLE --><dt>{L_RANK}{L_COLON}</dt><dd>{RANK_TITLE}</dd><!-- ENDIF -->
+                               <!-- IF RANK_IMG --><dt><!-- IF RANK_TITLE -->&nbsp;<!-- ELSE -->{L_RANK}{L_COLON}<!-- ENDIF --></dt><dd>{RANK_IMG}</dd><!-- ENDIF -->
+                               <dt>{L_JOINED}{L_COLON}</dt><dd>{JOINED}</dd>
+                               <dt>{L_TOTAL_POSTS}{L_COLON}</dt><dd>{POSTS}</dd>
+                               <dt>{L_WARNINGS}{L_COLON} </dt><dd>{WARNINGS}</dd>
+                       </dl>
+               </div>
+       </div>
+
+       </div>
+</div>
+
+<!-- EVENT mcp_warn_user_add_warning_field_before -->
+
+<div class="panel">
+       <div class="inner">
+
+       <h3>{L_ADD_WARNING}</h3>
+       <p>{L_ADD_WARNING_EXPLAIN}</p>
+
+       <fieldset>
+               <textarea name="warning" id="warning" class="inputbox" cols="40" rows="3"></textarea>
+               <!-- IF S_CAN_NOTIFY -->
+               <br /><br />
+               <dl class="panel">
+                       <dt>&nbsp;</dt>
+                       <dd><label><input type="checkbox" name="notify_user" checked="checked" /> {L_NOTIFY_USER_WARN}</label></dd>
+               </dl>
+               <!-- ENDIF -->
+       </fieldset>
+
+       </div>
+</div>
+
+<!-- EVENT mcp_warn_user_add_warning_field_after -->
+
+<fieldset class="submit-buttons">
+       <input type="reset" value="{L_RESET}" name="reset" class="button2" />&nbsp;
+       <input type="submit" name="action[add_warning]" value="{L_SUBMIT}" class="button1" />
+       {S_FORM_TOKEN}
+</fieldset>
+</form>
+
+<!-- INCLUDE mcp_footer.html -->
diff --git a/template/mcp_whois.html b/template/mcp_whois.html
new file mode 100644 (file)
index 0000000..1d08a46
--- /dev/null
@@ -0,0 +1,22 @@
+<!-- INCLUDE mcp_header.html -->
+<h2>{L_WHOIS}</h2>
+
+<div class="panel">
+       <div class="inner">
+               <p>
+                       <a href="{U_RETURN_POST}" class="arrow-{S_CONTENT_FLOW_BEGIN}" accesskey="r">
+                               <i class="icon fa-angle-{S_CONTENT_FLOW_BEGIN} fa-fw icon-black" aria-hidden="true"></i><span>{L_RETURN_POST}</span>
+                       </a>
+               </p>
+               <div class="postbody"><div class="content">
+                       <pre>{WHOIS}</pre>
+               </div></div>
+               <p>
+                       <a href="{U_RETURN_POST}" class="arrow-{S_CONTENT_FLOW_BEGIN}" accesskey="r">
+                               <i class="icon fa-angle-{S_CONTENT_FLOW_BEGIN} fa-fw icon-black" aria-hidden="true"></i><span>{L_RETURN_POST}</span>
+                       </a>
+               </p>
+       </div>
+</div>
+
+<!-- INCLUDE mcp_footer.html -->
diff --git a/template/memberlist_body.html b/template/memberlist_body.html
new file mode 100644 (file)
index 0000000..255e674
--- /dev/null
@@ -0,0 +1,164 @@
+<!-- IF S_IN_SEARCH_POPUP -->
+       <!-- INCLUDE simple_header.html -->
+       <!-- INCLUDE memberlist_search.html -->
+       <form method="post" id="results" action="{S_MODE_ACTION}" onsubmit="insert_marked_users('#results', this.user); return false;" data-form-name="{S_FORM_NAME}" data-field-name="{S_FIELD_NAME}">
+
+<!-- ELSE -->
+       <!-- INCLUDE overall_header.html -->
+       <div class="panel" id="memberlist_search"<!-- IF not S_SEARCH_USER --> style="display: none;"<!-- ENDIF -->>
+       <!-- INCLUDE memberlist_search.html -->
+       </div>
+       <form method="post" action="{S_MODE_ACTION}">
+
+<!-- ENDIF -->
+
+       <!-- IF S_SHOW_GROUP -->
+               <h2 class="group-title"<!-- IF GROUP_COLOR --> style="color:#{GROUP_COLOR};"<!-- ENDIF -->>{GROUP_NAME}</h2>
+               <!-- IF U_MANAGE -->
+                       <p class="right responsive-center manage rightside"><a href="{U_MANAGE}">{L_MANAGE_GROUP}</a></p>
+               <!-- ENDIF -->
+               <p>{GROUP_DESC} {GROUP_TYPE}</p>
+
+               <p>
+                       <!-- IF AVATAR_IMG -->{AVATAR_IMG}<!-- ENDIF -->
+                       <!-- IF RANK_IMG -->{RANK_IMG}<!-- ENDIF -->
+                       <!-- IF GROUP_RANK -->{GROUP_RANK}<!-- ENDIF -->
+               </p>
+       <!-- ELSE -->
+               <h2 class="solo">{PAGE_TITLE}<!-- IF SEARCH_WORDS -->{L_COLON} <a href="{U_SEARCH_WORDS}">{SEARCH_WORDS}</a><!-- ENDIF --></h2>
+
+               <div class="action-bar bar-top">
+                       <div class="member-search panel">
+                               <!-- IF U_FIND_MEMBER and not S_SEARCH_USER --><a href="{U_FIND_MEMBER}" id="member_search" data-alt-text="{L_HIDE_MEMBER_SEARCH}">{L_FIND_USERNAME}</a> &bull; <!-- ELSEIF S_SEARCH_USER and U_HIDE_FIND_MEMBER and not S_IN_SEARCH_POPUP --><a href="{U_HIDE_FIND_MEMBER}" id="member_search" data-alt-text="{L_FIND_USERNAME}">{L_HIDE_MEMBER_SEARCH}</a> &bull; <!-- ENDIF -->
+                               <strong>
+                               <!-- BEGIN first_char -->
+                                       <a href="{first_char.U_SORT}">{first_char.DESC}</a>&nbsp;
+                               <!-- END first_char -->
+                               </strong>
+                       </div>
+
+                       <div class="pagination">
+                               {TOTAL_USERS}
+                               <!-- IF .pagination -->
+                                       <!-- INCLUDE pagination.html -->
+                               <!-- ELSE -->
+                                        &bull; {PAGE_NUMBER}
+                               <!-- ENDIF -->
+                       </div>
+               </div>
+       <!-- ENDIF -->
+
+       <!-- IF S_LEADERS_SET or not S_SHOW_GROUP or not .memberrow -->
+       <div class="forumbg forumbg-table">
+               <div class="inner">
+
+               <table class="table1 memberlist" id="memberlist">
+               <thead>
+               <tr>
+                       <th class="name" data-dfn="{L_RANK}{L_COMMA_SEPARATOR}<!-- IF S_SHOW_GROUP and .memberrow -->{L_GROUP_LEADER}<!-- ELSE -->{L_USERNAME}<!-- ENDIF -->"><span class="rank-img"><a href="{U_SORT_RANK}">{L_RANK}</a></span><a href="{U_SORT_USERNAME}"><!-- IF S_SHOW_GROUP and .memberrow -->{L_GROUP_LEADER}<!-- ELSE -->{L_USERNAME}<!-- ENDIF --></a></th>
+                       <th class="posts"><a href="{U_SORT_POSTS}#memberlist">{L_POSTS}</a></th>
+                       <th class="info"><!-- BEGIN custom_fields --><!-- IF not custom_fields.S_FIRST_ROW -->{L_COMMA_SEPARATOR} <!-- ENDIF -->{custom_fields.PROFILE_FIELD_NAME}<!-- END custom_fields --></th>
+                       <th class="joined"><a href="{U_SORT_JOINED}#memberlist">{L_JOINED}</a></th>
+                       <!-- IF U_SORT_ACTIVE --><th class="active"><a href="{U_SORT_ACTIVE}#memberlist">{L_LAST_ACTIVE}</a></th><!-- ENDIF -->
+               </tr>
+               </thead>
+               <tbody>
+       <!-- ENDIF -->
+               <!-- BEGIN memberrow -->
+                       <!-- IF S_SHOW_GROUP -->
+                               <!-- IF not memberrow.S_GROUP_LEADER and not $S_MEMBER_HEADER -->
+                               <!-- IF S_LEADERS_SET and memberrow.S_FIRST_ROW -->
+                               <tr class="bg1">
+                                       <td colspan="<!-- IF U_SORT_ACTIVE -->5<!-- ELSE -->4<!-- ENDIF -->">&nbsp;</td>
+                               </tr>
+                               <!-- ENDIF -->
+<!-- IF S_LEADERS_SET -->
+               </tbody>
+               </table>
+
+       </div>
+</div>
+<!-- ENDIF -->
+<div class="forumbg forumbg-table">
+       <div class="inner">
+
+       <table class="table1">
+       <thead>
+       <tr>
+       <!-- IF not S_LEADERS_SET -->
+               <th class="name" data-dfn="{L_RANK}{L_COMMA_SEPARATOR}{L_USERNAME}"><span class="rank-img"><a href="{U_SORT_RANK}">{L_RANK}</a></span><a href="{U_SORT_USERNAME}"><!-- IF S_SHOW_GROUP -->{L_GROUP_MEMBERS}<!-- ELSE -->{L_USERNAME}<!-- ENDIF --></a></th>
+                       <th class="posts"><a href="{U_SORT_POSTS}#memberlist">{L_POSTS}</a></th>
+                       <th class="info"><!-- BEGIN custom_fields --><!-- IF not custom_fields.S_FIRST_ROW -->{L_COMMA_SEPARATOR} <!-- ENDIF -->{custom_fields.PROFILE_FIELD_NAME}<!-- END custom_fields --></th>
+                       <th class="joined"><a href="{U_SORT_JOINED}#memberlist">{L_JOINED}</a></th>
+                       <!-- IF U_SORT_ACTIVE --><th class="active"><a href="{U_SORT_ACTIVE}#memberlist">{L_LAST_ACTIVE}</a></th><!-- ENDIF -->
+       <!-- ELSEIF S_SHOW_GROUP -->
+               <th class="name">{L_GROUP_MEMBERS}</th>
+               <th class="posts">{L_POSTS}</th>
+               <th class="info"><!-- BEGIN custom_fields --><!-- IF not custom_fields.S_FIRST_ROW -->{L_COMMA_SEPARATOR} <!-- ENDIF -->{custom_fields.PROFILE_FIELD_NAME}<!-- END custom_fields --></th>
+               <th class="joined">{L_JOINED}</th>
+               <!-- IF U_SORT_ACTIVE --><th class="active">{L_LAST_ACTIVE}</th><!-- ENDIF -->
+       <!-- ENDIF -->
+       </tr>
+       </thead>
+       <tbody>
+                                       <!-- DEFINE $S_MEMBER_HEADER = 1 -->
+                               <!-- ENDIF -->
+                       <!-- ENDIF -->
+
+       <tr class="<!-- IF memberrow.S_ROW_COUNT is even -->bg1<!-- ELSE -->bg2<!-- ENDIF --><!-- IF memberrow.S_INACTIVE --> inactive<!-- ENDIF -->">
+               <td><span class="rank-img"><!-- EVENT memberlist_body_rank_prepend --><!-- IF memberrow.RANK_IMG -->{memberrow.RANK_IMG}<!-- ELSE -->{memberrow.RANK_TITLE}<!-- ENDIF --><!-- EVENT memberlist_body_rank_append --></span><!-- IF S_IN_SEARCH_POPUP and not S_SELECT_SINGLE --><input type="checkbox" name="user" value="{memberrow.USERNAME}" /> <!-- ENDIF --><!-- EVENT memberlist_body_username_prepend -->{memberrow.USERNAME_FULL}<!-- IF memberrow.S_INACTIVE --> ({L_INACTIVE})<!-- ENDIF --><!-- EVENT memberlist_body_username_append --><!-- IF S_IN_SEARCH_POPUP --><br />[&nbsp;<a href="#" onclick="insert_single_user('#results', '{memberrow.A_USERNAME}'); return false;">{L_SELECT}</a>&nbsp;]<!-- ENDIF --></td>
+               <td class="posts"><!-- IF memberrow.POSTS and S_DISPLAY_SEARCH --><a href="{memberrow.U_SEARCH_USER}" title="{L_SEARCH_USER_POSTS}">{memberrow.POSTS}</a><!-- ELSE -->{memberrow.POSTS}<!-- ENDIF --></td>
+               <td class="info"><!-- BEGIN custom_fields --><div>{memberrow.custom_fields.PROFILE_FIELD_VALUE}</div><!-- BEGINELSE -->&nbsp;<!-- END custom_fields --></td>
+               <td>{memberrow.JOINED}</td>
+               <!-- IF S_VIEWONLINE --><td>{memberrow.LAST_ACTIVE}&nbsp;</td><!-- ENDIF -->
+       </tr>
+               <!-- BEGINELSE -->
+       <tr class="bg1">
+               <td colspan="<!-- IF S_VIEWONLINE -->5<!-- ELSE -->4<!-- ENDIF -->">{L_NO_MEMBERS}</td>
+       </tr>
+               <!-- END memberrow -->
+       </tbody>
+       </table>
+
+       </div>
+</div>
+
+<!-- IF S_IN_SEARCH_POPUP and not S_SELECT_SINGLE -->
+<fieldset class="display-actions">
+       <input type="submit" name="submit" value="{L_SELECT_MARKED}" class="button2" />
+       <div><a href="#" onclick="marklist('results', 'user', true); return false;">{L_MARK_ALL}</a> &bull; <a href="#" onclick="marklist('results', 'user', false); return false;">{L_UNMARK_ALL}</a></div>
+</fieldset>
+<!-- ENDIF -->
+
+<!-- IF S_IN_SEARCH_POPUP -->
+</form>
+<form method="post" id="sort-results" action="{S_MODE_ACTION}">
+<!-- ENDIF -->
+
+<!-- IF S_IN_SEARCH_POPUP and not S_SEARCH_USER -->
+<fieldset class="display-options">
+       <label for="sk">{L_SELECT_SORT_METHOD}{L_COLON} <select name="sk" id="sk">{S_MODE_SELECT}</select></label>
+       <label for="sd">{L_ORDER} <select name="sd" id="sd">{S_ORDER_SELECT}</select></label>
+       <input type="submit" name="sort" value="{L_SUBMIT}" class="button2" />
+</fieldset>
+<!-- ENDIF -->
+
+</form>
+
+<div class="action-bar bar-bottom">
+       <div class="pagination">
+               {TOTAL_USERS}
+               <!-- IF .pagination -->
+                       <!-- INCLUDE pagination.html -->
+               <!-- ELSE -->
+                        &bull; {PAGE_NUMBER}
+               <!-- ENDIF -->
+       </div>
+</div>
+
+<!-- IF S_IN_SEARCH_POPUP -->
+       <!-- INCLUDE simple_footer.html -->
+<!-- ELSE -->
+       <!-- INCLUDE jumpbox.html -->
+       <!-- INCLUDE overall_footer.html -->
+<!-- ENDIF -->
diff --git a/template/memberlist_email.html b/template/memberlist_email.html
new file mode 100644 (file)
index 0000000..eea699d
--- /dev/null
@@ -0,0 +1,107 @@
+<!-- INCLUDE overall_header.html -->
+
+<!-- EVENT memberlist_email_before -->
+
+<!-- IF S_CONTACT_ADMIN-->
+<h2 class="titlespace">{L_CONTACT_ADMIN}</h2>
+<!-- ELSEIF S_SEND_USER -->
+<h2 class="titlespace">{L_SEND_EMAIL_USER}</h2>
+<!-- ELSE -->
+<h2 class="titlespace">{L_EMAIL_TOPIC}</h2>
+<!-- ENDIF -->
+
+<form method="post" action="{S_POST_ACTION}" id="post">
+
+       <!-- IF CONTACT_INFO -->
+       <div class="panel">
+               <div class="inner">
+                       <div class="postbody">
+                               <div class="content">
+                                       {CONTACT_INFO}
+                               </div>
+                       </div>
+               </div>
+       </div>
+               <br class="clear" />
+       <!-- ENDIF -->
+
+       <div class="panel">
+               <div class="inner">
+       <div class="content">
+
+               <!-- IF ERROR_MESSAGE --><p class="error">{ERROR_MESSAGE}</p><!-- ENDIF -->
+               <fieldset class="fields2">
+               <!-- IF S_SEND_USER -->
+                       <dl>
+                               <dt><label>{L_RECIPIENT}{L_COLON}</label></dt>
+                               <dd><strong>{USERNAME_FULL}</strong></dd>
+                       </dl>
+                       <dl>
+                               <dt><label for="subject">{L_SUBJECT}{L_COLON}</label></dt>
+                               <dd><input class="inputbox autowidth" type="text" name="subject" id="subject" size="50" tabindex="1" value="{SUBJECT}" /></dd>
+                       </dl>
+               <!-- ELSEIF S_CONTACT_ADMIN-->
+                       <dl>
+                               <dt><label>{L_RECIPIENT}{L_COLON}</label></dt>
+                               <dd><strong>{L_ADMINISTRATOR}</strong></dd>
+                       </dl>
+                       <!-- IF not S_IS_REGISTERED -->
+                       <dl>
+                               <dt><label for="email">{L_SENDER_EMAIL_ADDRESS}{L_COLON}</label></dt>
+                               <dd><input class="inputbox autowidth" type="text" name="email" id="email" size="50" maxlength="100" tabindex="1" value="{EMAIL}" /></dd>
+                       </dl>
+                       <dl>
+                               <dt><label for="name">{L_SENDER_NAME}{L_COLON}</label></dt>
+                               <dd><input class="inputbox autowidth" type="text" name="name" id="name" size="50" tabindex="2" value="{NAME}" /></dd>
+                       </dl>
+                       <!-- ENDIF -->
+                       <dl>
+                               <dt><label for="subject">{L_SUBJECT}{L_COLON}</label></dt>
+                               <dd><input class="inputbox autowidth" type="text" name="subject" id="subject" size="50" tabindex="3" value="{SUBJECT}" /></dd>
+                       </dl>
+               <!-- ELSE -->
+                       <dl>
+                               <dt><label for="email">{L_EMAIL_ADDRESS}{L_COLON}</label></dt>
+                               <dd><input class="inputbox autowidth" type="email" name="email" id="email" size="50" maxlength="100" tabindex="2" value="{EMAIL}" /></dd>
+                       </dl>
+                       <dl>
+                               <dt><label for="name">{L_REAL_NAME}{L_COLON}</label></dt>
+                               <dd><input class="inputbox autowidth" type="text" name="name" id="name" size="50" tabindex="3" value="{NAME}" /></dd>
+                       </dl>
+                       <dl>
+                               <dt><label for="lang">{L_DEST_LANG}{L_COLON}</label><br />
+                                       <span>{L_DEST_LANG_EXPLAIN}</span></dt>
+                               <dd><select name="lang">{S_LANG_OPTIONS}</select></dd>
+                       </dl>
+               <!-- ENDIF -->
+               <dl>
+                       <dt><label for="message">{L_MESSAGE_BODY}{L_COLON}</label><br />
+                       <span>{L_EMAIL_BODY_EXPLAIN}</span></dt>
+                       <dd><textarea class="inputbox" name="message" id="message" rows="15" cols="76" tabindex="4">{MESSAGE}</textarea></dd>
+               </dl>
+               <!-- IF S_REGISTERED_USER -->
+               <dl>
+                       <dt>&nbsp;</dt>
+                       <dd><label for="cc_sender"><input type="checkbox" name="cc_sender" id="cc_sender" value="1" checked="checked" tabindex="5" /> {L_CC_SENDER}</label></dd>
+               </dl>
+               <!-- ENDIF -->
+               </fieldset>
+       </div>
+
+       </div>
+</div>
+
+<div class="panel">
+       <div class="inner">
+       <div class="content">
+               <fieldset class="submit-buttons">
+                       <input type="submit" tabindex="6" name="submit" class="button1" value="{L_SEND_EMAIL}" />
+               </fieldset>
+       </div>
+       </div>
+{S_FORM_TOKEN}
+</div>
+
+</form>
+
+<!-- INCLUDE overall_footer.html -->
diff --git a/template/memberlist_im.html b/template/memberlist_im.html
new file mode 100644 (file)
index 0000000..874607d
--- /dev/null
@@ -0,0 +1,46 @@
+<!-- INCLUDE simple_header.html -->
+
+<h2>{L_SEND_IM}</h2>
+
+<form method="post" action="{S_IM_ACTION}">
+
+<div class="panel bg2">
+       <div class="inner">
+
+       <p>{L_SEND_IM_EXPLAIN}</p>
+
+       <!-- IF S_SENT_JABBER -->
+               <p>{L_IM_SENT_JABBER}</p>
+       <!-- ENDIF -->
+
+       <fieldset>
+       <dl class="fields2">
+               <dt><label>{L_IM_RECIPIENT}{L_COLON}</label></dt>
+               <dd><strong>{USERNAME}</strong><!-- IF S_NO_SEND_JABBER --> [ {IM_CONTACT} ]<!-- ENDIF --><!-- IF PRESENCE_IMG --> {PRESENCE_IMG}<!-- ENDIF --></dd>
+       </dl>
+
+       <!-- IF S_SEND_JABBER -->
+               <dl class="fields2">
+                       <dt><label for="message">{L_IM_MESSAGE}{L_COLON}</label></dt>
+                       <dd><textarea class="inputbox autowidth" name="message" id="message" rows="5" cols="45"></textarea></dd>
+               </dl>
+               <dl class="fields2">
+                       <dt>&nbsp;</dt>
+                       <dd><input class="button1" name="submit" type="submit" value="{L_IM_SEND}" /></dd>
+               </dl>
+       <!-- ELSE IF S_NO_SEND_JABBER -->
+               <dl class="fields2">
+                       <dt>&nbsp;</dt>
+                       <dd>{L_IM_NO_JABBER}</dd>
+               </dl>
+       <!-- ENDIF -->
+       {S_FORM_TOKEN}
+       </fieldset>
+
+       </div>
+</div>
+</form>
+
+<a href="#" onclick="window.close(); return false;">{L_CLOSE_WINDOW}</a>
+
+<!-- INCLUDE simple_footer.html -->
diff --git a/template/memberlist_search.html b/template/memberlist_search.html
new file mode 100644 (file)
index 0000000..b1c7a81
--- /dev/null
@@ -0,0 +1,87 @@
+<h2 class="solo">{L_FIND_USERNAME}</h2>
+
+<form method="post" action="{S_MODE_ACTION}" id="search_memberlist">
+<div class="panel">
+       <div class="inner">
+
+       <p>{L_FIND_USERNAME_EXPLAIN}</p>
+
+       <!-- EVENT memberlist_search_fields_before -->
+       <fieldset class="fields1 column1">
+       <dl style="overflow: visible;">
+               <dt><label for="username">{L_USERNAME}{L_COLON}</label></dt>
+               <dd>
+                       <!-- IF U_LIVE_SEARCH --><div class="dropdown-container dropdown-{S_CONTENT_FLOW_END}"><!-- ENDIF -->
+                       <input type="text" name="username" id="username" value="{USERNAME}" class="inputbox"<!-- IF U_LIVE_SEARCH --> autocomplete="off" data-filter="phpbb.search.filter" data-ajax="member_search" data-min-length="3" data-url="{U_LIVE_SEARCH}" data-results="#user-search" data-overlay="false"<!-- ENDIF --> />
+                       <!-- IF U_LIVE_SEARCH -->
+                               <div class="dropdown live-search hidden" id="user-search">
+                                       <div class="pointer"><div class="pointer-inner"></div></div>
+                                       <ul class="dropdown-contents search-results">
+                                               <li class="search-result-tpl"><span class="search-result"></span></li>
+                                       </ul>
+                               </div>
+                       </div>
+                       <!-- ENDIF -->
+               </dd>
+       </dl>
+<!-- IF S_EMAIL_SEARCH_ALLOWED -->
+       <dl>
+               <dt><label for="email">{L_EMAIL}{L_COLON}</label></dt>
+               <dd><input type="text" name="email" id="email" value="{EMAIL}" class="inputbox" /></dd>
+       </dl>
+<!-- ENDIF -->
+<!-- IF S_JABBER_ENABLED -->
+       <dl>
+               <dt><label for="jabber">{L_JABBER}{L_COLON}</label></dt>
+               <dd><input type="text" name="jabber" id="jabber" value="{JABBER}" class="inputbox" /></dd>
+       </dl>
+<!-- ENDIF -->
+       <dl>
+               <dt><label for="search_group_id">{L_GROUP}{L_COLON}</label></dt>
+               <dd><select name="search_group_id" id="search_group_id">{S_GROUP_SELECT}</select></dd>
+       </dl>
+       <!-- EVENT memberlist_search_sorting_options_before -->
+       <dl>
+               <dt><label for="sk" class="label3">{L_SORT_BY}{L_COLON}</label></dt>
+               <dd><select name="sk" id="sk">{S_SORT_OPTIONS}</select> <select name="sd">{S_ORDER_SELECT}</select></dd>
+       </dl>
+       </fieldset>
+
+       <fieldset class="fields1 column2">
+       <dl>
+               <dt><label for="joined">{L_JOINED}{L_COLON}</label></dt>
+               <dd><select name="joined_select">{S_JOINED_TIME_OPTIONS}</select> <input class="inputbox medium" type="text" name="joined" id="joined" value="{JOINED}" /></dd>
+       </dl>
+<!-- IF S_VIEWONLINE -->
+       <dl>
+               <dt><label for="active">{L_LAST_ACTIVE}{L_COLON}</label></dt>
+               <dd><select name="active_select">{S_ACTIVE_TIME_OPTIONS}</select> <input class="inputbox medium" type="text" name="active" id="active" value="{ACTIVE}" /></dd>
+       </dl>
+<!-- ENDIF -->
+       <dl>
+               <dt><label for="count">{L_POSTS}{L_COLON}</label></dt>
+               <dd><select name="count_select">{S_COUNT_OPTIONS}</select> <input class="inputbox medium" type="number" min="0" name="count" id="count" value="{COUNT}" /></dd>
+       </dl>
+<!-- IF S_IP_SEARCH_ALLOWED -->
+       <dl>
+               <dt><label for="ip">{L_POST_IP}{L_COLON}</label></dt>
+               <dd><input class="inputbox medium" type="text" name="ip" id="ip" value="{IP}" /></dd>
+       </dl>
+<!-- ENDIF -->
+       <!-- EVENT memberlist_search_fields_after -->
+       </fieldset>
+
+       <div class="clear"></div>
+
+       <hr />
+
+       <fieldset class="submit-buttons">
+               <input type="reset" value="{L_RESET}" name="reset" class="button2" />&nbsp;
+               <input type="submit" name="submit" value="{L_SEARCH}" class="button1" />
+               {S_FORM_TOKEN}
+       </fieldset>
+
+       </div>
+</div>
+
+</form>
diff --git a/template/memberlist_team.html b/template/memberlist_team.html
new file mode 100644 (file)
index 0000000..59041fb
--- /dev/null
@@ -0,0 +1,47 @@
+<!-- INCLUDE overall_header.html -->
+
+<h2 class="solo">{PAGE_TITLE}</h2>
+
+<form method="post" action="{S_MODE_ACTION}">
+
+<!-- BEGIN group -->
+<div class="forumbg forumbg-table">
+       <div class="inner">
+
+       <table class="table1" id="team">
+       <thead>
+       <tr>
+               <th class="name" data-dfn="{L_RANK}{L_COMMA_SEPARATOR}{L_USERNAME}"><span class="rank-img">{L_RANK}&nbsp;</span><!-- IF group.U_GROUP --><a href="{group.U_GROUP}">{group.GROUP_NAME}</a><!-- ELSE -->{group.GROUP_NAME}<!-- ENDIF --></th>
+               <th class="info">{L_PRIMARY_GROUP}</th>
+               <!-- IF S_DISPLAY_MODERATOR_FORUMS --><th class="info">{L_MODERATOR}</th><!-- ENDIF -->
+       </tr>
+       </thead>
+       <tbody>
+<!-- BEGIN user -->
+       <tr class="<!-- IF group.user.S_ROW_COUNT is even -->bg1<!-- ELSE -->bg2<!-- ENDIF --><!-- IF group.user.S_INACTIVE --> inactive<!-- ENDIF -->">
+               <td><!-- IF group.user.RANK_IMG --><span class="rank-img">{group.user.RANK_IMG}</span><!-- ELSE --><span class="rank-img">{group.user.RANK_TITLE}</span><!-- ENDIF --><!-- EVENT memberlist_team_username_prepend -->{group.user.USERNAME_FULL}<!-- IF group.user.S_INACTIVE --> ({L_INACTIVE})<!-- ENDIF --><!-- EVENT memberlist_team_username_append --></td>
+               <td class="info"><!-- IF group.user.U_GROUP -->
+                       <a<!-- IF group.user.GROUP_COLOR --> style="font-weight: bold; color: #{group.user.GROUP_COLOR}"<!-- ENDIF --> href="{group.user.U_GROUP}">{group.user.GROUP_NAME}</a>
+                       <!-- ELSE -->
+                               {group.user.GROUP_NAME}
+                       <!-- ENDIF --></td>
+               <!-- IF S_DISPLAY_MODERATOR_FORUMS -->
+                       <td class="info"><!-- IF group.user.FORUM_OPTIONS --><select style="width: 100%;">{group.user.FORUMS}</select><!-- ELSEIF group.user.FORUMS -->{group.user.FORUMS}<!-- ELSE -->-<!-- ENDIF --></td>
+               <!-- ENDIF -->
+       </tr>
+<!-- BEGINELSE -->
+       <tr class="bg1">
+               <td colspan="3"><strong>{L_NO_MEMBERS}</strong></td>
+       </tr>
+<!-- END user -->
+       </tbody>
+       </table>
+
+       </div>
+</div>
+<!-- END group -->
+
+</form>
+
+<!-- INCLUDE jumpbox.html -->
+<!-- INCLUDE overall_footer.html -->
diff --git a/template/memberlist_view.html b/template/memberlist_view.html
new file mode 100644 (file)
index 0000000..a7439bc
--- /dev/null
@@ -0,0 +1,142 @@
+<!-- INCLUDE overall_header.html -->
+
+<h2 class="memberlist-title">{PAGE_TITLE}</h2>
+
+<!-- EVENT memberlist_view_content_prepend -->
+
+<form method="post" action="{S_PROFILE_ACTION}" id="viewprofile">
+<div class="panel bg1<!-- IF S_ONLINE --> online<!-- ENDIF -->">
+       <div class="inner">
+
+       <!-- IF AVATAR_IMG -->
+               <dl class="left-box">
+                       <dt class="profile-avatar">{AVATAR_IMG}</dt>
+                       <!-- EVENT memberlist_view_rank_avatar_before -->
+                       <!-- IF RANK_TITLE --><dd style="text-align: center;">{RANK_TITLE}</dd><!-- ENDIF -->
+                       <!-- IF RANK_IMG --><dd style="text-align: center;">{RANK_IMG}</dd><!-- ENDIF -->
+                       <!-- EVENT memberlist_view_rank_avatar_after -->
+               </dl>
+       <!-- ENDIF -->
+
+       <dl class="left-box details profile-details">
+               <dt>{L_USERNAME}{L_COLON}</dt>
+               <dd>
+                       <!-- IF USER_COLOR --><span style="color: {USER_COLOR}; font-weight: bold;"><!-- ELSE --><span><!-- ENDIF -->{USERNAME}</span>
+                       <!-- IF U_EDIT_SELF --> [ <a href="{U_EDIT_SELF}">{L_EDIT_PROFILE}</a> ]<!-- ENDIF -->
+                       <!-- IF U_USER_ADMIN --> [ <a href="{U_USER_ADMIN}">{L_USER_ADMIN}</a> ]<!-- ENDIF -->
+                       <!-- IF U_USER_BAN --> [ <a href="{U_USER_BAN}">{L_USER_BAN}</a> ]<!-- ENDIF -->
+                       <!-- IF U_SWITCH_PERMISSIONS --> [ <a href="{U_SWITCH_PERMISSIONS}">{L_USE_PERMISSIONS}</a> ]<!-- ENDIF -->
+               </dd>
+               <!-- IF not AVATAR_IMG -->
+                       <!-- EVENT memberlist_view_rank_no_avatar_before -->
+                       <!-- IF RANK_TITLE --><dt>{L_RANK}{L_COLON}</dt> <dd>{RANK_TITLE}</dd><!-- ENDIF -->
+                       <!-- IF RANK_IMG --><dt><!-- IF RANK_TITLE -->&nbsp;<!-- ELSE -->{L_RANK}{L_COLON}<!-- ENDIF --></dt> <dd>{RANK_IMG}</dd><!-- ENDIF -->
+                       <!-- EVENT memberlist_view_rank_no_avatar_after -->
+               <!-- ENDIF -->
+               <!-- IF S_USER_INACTIVE --><dt>{L_USER_IS_INACTIVE}{L_COLON}</dt> <dd>{USER_INACTIVE_REASON}</dd><!-- ENDIF -->
+               <!-- IF AGE !== '' --><dt>{L_AGE}{L_COLON}</dt> <dd>{AGE}</dd><!-- ENDIF -->
+               <!-- IF S_GROUP_OPTIONS --><dt>{L_USERGROUPS}{L_COLON}</dt> <dd><select name="g">{S_GROUP_OPTIONS}</select> <input type="submit" name="submit" value="{L_GO}" class="button2" /></dd><!-- ENDIF -->
+               <!-- EVENT memberlist_view_non_contact_custom_fields_before -->
+               <!-- BEGIN custom_fields -->
+                       <!-- IF not custom_fields.S_PROFILE_CONTACT -->
+                               <dt>{custom_fields.PROFILE_FIELD_NAME}{L_COLON}</dt> <dd>{custom_fields.PROFILE_FIELD_VALUE}</dd>
+                       <!-- ENDIF -->
+               <!-- END custom_fields -->
+               <!-- EVENT memberlist_view_non_contact_custom_fields_after -->
+               <!-- EVENT memberlist_view_zebra_before -->
+               <!-- IF S_USER_LOGGED_IN and S_ZEBRA -->
+                       <!-- IF U_REMOVE_FRIEND -->
+                               <dt>&nbsp;</dt> <dd class="zebra"><a href="{U_REMOVE_FRIEND}" data-ajax="zebra"><strong>{L_REMOVE_FRIEND}</strong></a></dd>
+                       <!-- ELSEIF U_REMOVE_FOE -->
+                               <dt>&nbsp;</dt> <dd class="zebra"><a href="{U_REMOVE_FOE}" data-ajax="zebra"><strong>{L_REMOVE_FOE}</strong></a></dd>
+                       <!-- ELSE -->
+                               <!-- IF U_ADD_FRIEND -->
+                                       <dt>&nbsp;</dt> <dd class="zebra"><a href="{U_ADD_FRIEND}" data-ajax="zebra"><strong>{L_ADD_FRIEND}</strong></a></dd>
+                               <!-- ENDIF -->
+                               <!-- IF U_ADD_FOE -->
+                                       <dt>&nbsp;</dt> <dd class="zebra"><a href="{U_ADD_FOE}" data-ajax="zebra"><strong>{L_ADD_FOE}</strong></a></dd>
+                               <!-- ENDIF -->
+                       <!-- ENDIF -->
+               <!-- ENDIF -->
+               <!-- EVENT memberlist_view_zebra_after -->
+       </dl>
+
+       </div>
+</div>
+
+<!-- EVENT memberlist_view_contact_before -->
+<div class="panel bg2">
+       <div class="inner">
+
+       <div class="column1">
+               <h3>{L_CONTACT_USER}</h3>
+
+               <dl class="details">
+               <!-- IF U_EMAIL --><dt>{L_EMAIL_ADDRESS}{L_COLON}</dt> <dd><a href="{U_EMAIL}">{L_SEND_EMAIL_USER}</a></dd><!-- ENDIF -->
+               <!-- IF U_PM --><dt>{L_PM}{L_COLON}</dt> <dd><a href="{U_PM}">{L_SEND_PRIVATE_MESSAGE}</a></dd><!-- ENDIF -->
+               <!-- IF U_JABBER and S_JABBER_ENABLED --><dt>{L_JABBER}{L_COLON}</dt> <dd><a href="{U_JABBER}" onclick="popup(this.href, 750, 320); return false;">{L_SEND_JABBER_MESSAGE}</a></dd><!-- ELSEIF USER_JABBER --><dt>{L_JABBER}{L_COLON}</dt> <dd>{USER_JABBER}</dd><!-- ENDIF -->
+               <!-- EVENT memberlist_view_contact_custom_fields_before -->
+               <!-- BEGIN custom_fields -->
+                       <!-- IF custom_fields.S_PROFILE_CONTACT -->
+                               <dt>{custom_fields.PROFILE_FIELD_NAME}{L_COLON}</dt>
+                               <!-- IF custom_fields.PROFILE_FIELD_CONTACT -->
+                                       <dd><a href="{custom_fields.PROFILE_FIELD_CONTACT}">{custom_fields.PROFILE_FIELD_DESC}</a></dd>
+                               <!-- ELSE -->
+                                       <dd>{custom_fields.PROFILE_FIELD_VALUE}</dd>
+                               <!-- ENDIF -->
+                       <!-- ENDIF -->
+               <!-- END custom_fields -->
+               <!-- EVENT memberlist_view_contact_custom_fields_after -->
+               <!-- IF S_PROFILE_FIELD1 -->
+                       <!-- NOTE: Use a construct like this to include admin defined profile fields. Replace FIELD1 with the name of your field. -->
+                       <dt>{PROFILE_FIELD1_NAME}{L_COLON}</dt> <dd>{PROFILE_FIELD1_VALUE}</dd>
+               <!-- ENDIF -->
+               </dl>
+       </div>
+
+       <div class="column2">
+               <h3>{L_USER_FORUM}</h3>
+               <dl class="details">
+                       <!-- EVENT memberlist_view_user_statistics_before -->
+                       <dt>{L_JOINED}{L_COLON}</dt> <dd>{JOINED}</dd>
+                       <dt>{L_LAST_ACTIVE}{L_COLON}</dt> <dd>{LAST_ACTIVE}</dd>
+                       <!-- IF S_WARNINGS -->
+                       <dt>{L_WARNINGS}{L_COLON} </dt>
+                       <dd><strong>{WARNINGS}</strong><!-- IF U_NOTES or U_WARN --> [ <!-- IF U_NOTES --><a href="{U_NOTES}">{L_VIEW_NOTES}</a><!-- ENDIF --> <!-- IF U_WARN --><!-- IF U_NOTES --> | <!-- ENDIF --><a href="{U_WARN}">{L_WARN_USER}</a><!-- ENDIF --> ]<!-- ENDIF --></dd>
+                       <!-- ENDIF -->
+                       <dt>{L_TOTAL_POSTS}{L_COLON}</dt>
+                               <dd>{POSTS} <!-- IF S_DISPLAY_SEARCH -->| <strong><a href="{U_SEARCH_USER}">{L_SEARCH_USER_POSTS}</a></strong><!-- ENDIF -->
+                                       <!-- IF POSTS_PCT --><br />({POSTS_PCT} / {POSTS_DAY})<!-- ENDIF -->
+                                       <!-- IF POSTS_IN_QUEUE and U_MCP_QUEUE --><br />(<a href="{U_MCP_QUEUE}">{L_POSTS_IN_QUEUE}</a>)<!-- ELSEIF POSTS_IN_QUEUE --><br />({L_POSTS_IN_QUEUE})<!-- ENDIF -->
+                               </dd>
+                       <!-- IF S_SHOW_ACTIVITY and POSTS -->
+                               <dt>{L_ACTIVE_IN_FORUM}{L_COLON}</dt> <dd><!-- IF ACTIVE_FORUM != '' --><strong><a href="{U_ACTIVE_FORUM}">{ACTIVE_FORUM}</a></strong><br />({ACTIVE_FORUM_POSTS} / {ACTIVE_FORUM_PCT})<!-- ELSE --> - <!-- ENDIF --></dd>
+                               <dt>{L_ACTIVE_IN_TOPIC}{L_COLON}</dt> <dd><!-- IF ACTIVE_TOPIC != '' --><strong><a href="{U_ACTIVE_TOPIC}">{ACTIVE_TOPIC}</a></strong><br />({ACTIVE_TOPIC_POSTS} / {ACTIVE_TOPIC_PCT})<!-- ELSE --> - <!-- ENDIF --></dd>
+                       <!-- ENDIF -->
+                       <!-- EVENT memberlist_view_user_statistics_after -->
+               </dl>
+       </div>
+
+       </div>
+</div>
+<!-- EVENT memberlist_view_contact_after -->
+
+<!-- IF SIGNATURE -->
+<div class="panel bg1">
+       <div class="inner">
+
+               <h3>{L_SIGNATURE}</h3>
+
+               <div class="postbody"><div class="signature standalone">{SIGNATURE}</div></div>
+
+       </div>
+</div>
+<!-- ENDIF -->
+
+</form>
+
+<!-- EVENT memberlist_view_content_append -->
+
+<!-- INCLUDE jumpbox.html -->
+
+<!-- INCLUDE overall_footer.html -->
diff --git a/template/message_body.html b/template/message_body.html
new file mode 100644 (file)
index 0000000..330203e
--- /dev/null
@@ -0,0 +1,25 @@
+<!-- IF S_SIMPLE_MESSAGE -->
+       <!-- INCLUDE simple_header.html -->
+<!-- ELSE -->
+       <!-- INCLUDE overall_header.html -->
+<!-- ENDIF -->
+
+<div class="panel" id="message">
+       <div class="inner">
+       <h2 class="message-title">{MESSAGE_TITLE}</h2>
+       <p>{MESSAGE_TEXT}</p>
+       <!-- IF SCRIPT_NAME == "search" and not S_BOARD_DISABLED and not S_NO_SEARCH and L_RETURN_TO_SEARCH_ADV -->
+               <p>
+                       <a href="{U_SEARCH}" class="arrow-{S_CONTENT_FLOW_BEGIN}" accesskey="r">
+                               <i class="icon fa-angle-{S_CONTENT_FLOW_BEGIN} fa-fw icon-black" aria-hidden="true"></i><span>{L_GO_TO_SEARCH_ADV}</span>
+                       </a>
+               </p>
+       <!-- ENDIF -->
+       </div>
+</div>
+
+<!-- IF S_SIMPLE_MESSAGE -->
+       <!-- INCLUDE simple_footer.html -->
+<!-- ELSE -->
+       <!-- INCLUDE overall_footer.html -->
+<!-- ENDIF -->
diff --git a/template/navbar_footer.html b/template/navbar_footer.html
new file mode 100644 (file)
index 0000000..4e3d1e2
--- /dev/null
@@ -0,0 +1,69 @@
+<div class="navbar" role="navigation">
+       <div class="inner">
+
+       <ul id="nav-footer" class="nav-footer linklist" role="menubar">
+               <li class="breadcrumbs">
+                       <!-- IF U_SITE_HOME -->
+                               {% spaceless %}
+                               <span class="crumb">
+                                       <a href="{U_SITE_HOME}" data-navbar-reference="home">
+                                               <i class="icon fa-home fa-fw" aria-hidden="true"></i><span>{L_SITE_HOME}</span>
+                                       </a>
+                               </span>
+                               {% endspaceless %}
+                       <!-- ENDIF -->
+                       <!-- EVENT overall_footer_breadcrumb_prepend -->
+                       {% spaceless %}
+                       <span class="crumb">
+                               <a href="{U_INDEX}" data-navbar-reference="index">
+                                       <!-- IF not U_SITE_HOME --><i class="icon fa-home fa-fw" aria-hidden="true"></i><!-- ENDIF --><span>{L_INDEX}</span>
+                               </a>
+                       </span>
+                       {% endspaceless %}
+                       <!-- EVENT overall_footer_breadcrumb_append -->
+               </li>
+               <!-- IF U_WATCH_FORUM_LINK and not S_IS_BOT -->
+                       <li data-last-responsive="true">
+                               <a href="{U_WATCH_FORUM_LINK}" title="{S_WATCH_FORUM_TITLE}" data-ajax="toggle_link" data-toggle-class="icon <!-- IF S_WATCHING_FORUM -->fa-check-square-o<!-- ELSE -->fa-square-o<!-- ENDIF --> fa-fw" data-toggle-text="{S_WATCH_FORUM_TOGGLE}" data-toggle-url="{U_WATCH_FORUM_TOGGLE}">
+                                       <i class="icon <!-- IF S_WATCHING_FORUM -->fa-square-o<!-- ELSE -->fa-check-square-o<!-- ENDIF --> fa-fw" aria-hidden="true"></i><span>{S_WATCH_FORUM_TITLE}</span>
+                               </a>
+                       </li>
+               <!-- ENDIF -->
+
+               <!-- EVENT overall_footer_timezone_before -->
+               <li class="rightside">{S_TIMEZONE}</li>
+               <!-- EVENT overall_footer_timezone_after -->
+               <!-- IF not S_IS_BOT -->
+                       <li class="rightside">
+                               <a href="{U_DELETE_COOKIES}" data-ajax="true" data-refresh="true" role="menuitem">
+                                       <i class="icon fa-trash fa-fw" aria-hidden="true"></i><span>{L_DELETE_COOKIES}</span>
+                               </a>
+                       </li>
+                       <!-- IF S_DISPLAY_MEMBERLIST -->
+                               <li class="rightside" data-last-responsive="true">
+                                       <a href="{U_MEMBERLIST}" title="{L_MEMBERLIST_EXPLAIN}" role="menuitem">
+                                               <i class="icon fa-group fa-fw" aria-hidden="true"></i><span>{L_MEMBERLIST}</span>
+                                       </a>
+                               </li>
+                       <!-- ENDIF -->
+               <!-- ENDIF -->
+               <!-- EVENT overall_footer_teamlink_before -->
+               <!-- IF U_TEAM -->
+                       <li class="rightside" data-last-responsive="true">
+                               <a href="{U_TEAM}" role="menuitem">
+                                       <i class="icon fa-shield fa-fw" aria-hidden="true"></i><span>{L_THE_TEAM}</span>
+                               </a>
+                       </li>
+               <!-- ENDIF -->
+               <!-- EVENT overall_footer_teamlink_after -->
+               <!-- IF U_CONTACT_US -->
+                       <li class="rightside" data-last-responsive="true">
+                               <a href="{U_CONTACT_US}" role="menuitem">
+                                       <i class="icon fa-envelope fa-fw" aria-hidden="true"></i><span>{L_CONTACT_US}</span>
+                               </a>
+                       </li>
+               <!-- ENDIF -->
+       </ul>
+
+       </div>
+</div>
diff --git a/template/navbar_header.html b/template/navbar_header.html
new file mode 100644 (file)
index 0000000..b8080a6
--- /dev/null
@@ -0,0 +1,207 @@
+<div class="navbar" role="navigation">
+       <div class="inner">
+
+       <ul id="nav-main" class="nav-main linklist" role="menubar">
+
+               <li id="quick-links" class="quick-links dropdown-container responsive-menu<!-- IF not S_DISPLAY_QUICK_LINKS and not S_DISPLAY_SEARCH --> hidden<!-- ENDIF -->" data-skip-responsive="true">
+                       <a href="#" class="dropdown-trigger">
+                               <i class="icon fa-bars fa-fw" aria-hidden="true"></i><span>{L_QUICK_LINKS}</span>
+                       </a>
+                       <div class="dropdown">
+                               <div class="pointer"><div class="pointer-inner"></div></div>
+                               <ul class="dropdown-contents" role="menu">
+                                       <!-- EVENT navbar_header_quick_links_before -->
+
+                                       <!-- IF S_DISPLAY_SEARCH -->
+                                               <li class="separator"></li>
+                                               <!-- IF S_REGISTERED_USER -->
+                                                       <li>
+                                                               <a href="{U_SEARCH_SELF}" role="menuitem">
+                                                                       <i class="icon fa-file-o fa-fw icon-gray" aria-hidden="true"></i><span>{L_SEARCH_SELF}</span>
+                                                               </a>
+                                                       </li>
+                                               <!-- ENDIF -->
+                                               <!-- IF S_USER_LOGGED_IN -->
+                                                       <li>
+                                                               <a href="{U_SEARCH_NEW}" role="menuitem">
+                                                                       <i class="icon fa-file-o fa-fw icon-red" aria-hidden="true"></i><span>{L_SEARCH_NEW}</span>
+                                                               </a>
+                                                       </li>
+                                               <!-- ENDIF -->
+                                               <!-- IF S_LOAD_UNREADS -->
+                                                       <li>
+                                                               <a href="{U_SEARCH_UNREAD}" role="menuitem">
+                                                                       <i class="icon fa-file-o fa-fw icon-red" aria-hidden="true"></i><span>{L_SEARCH_UNREAD}</span>
+                                                               </a>
+                                                       </li>
+                                               <!-- ENDIF -->
+                                                       <li>
+                                                               <a href="{U_SEARCH_UNANSWERED}" role="menuitem">
+                                                                       <i class="icon fa-file-o fa-fw icon-gray" aria-hidden="true"></i><span>{L_SEARCH_UNANSWERED}</span>
+                                                               </a>
+                                                       </li>
+                                                       <li>
+                                                               <a href="{U_SEARCH_ACTIVE_TOPICS}" role="menuitem">
+                                                                       <i class="icon fa-file-o fa-fw icon-blue" aria-hidden="true"></i><span>{L_SEARCH_ACTIVE_TOPICS}</span>
+                                                               </a>
+                                                       </li>
+                                                       <li class="separator"></li>
+                                                       <li>
+                                                               <a href="{U_SEARCH}" role="menuitem">
+                                                                       <i class="icon fa-search fa-fw" aria-hidden="true"></i><span>{L_SEARCH}</span>
+                                                               </a>
+                                                       </li>
+                                       <!-- ENDIF -->
+
+                                       <!-- IF not S_IS_BOT and (S_DISPLAY_MEMBERLIST or U_TEAM) -->
+                                               <li class="separator"></li>
+                                               <!-- IF S_DISPLAY_MEMBERLIST -->
+                                                       <li>
+                                                               <a href="{U_MEMBERLIST}" role="menuitem">
+                                                                       <i class="icon fa-group fa-fw" aria-hidden="true"></i><span>{L_MEMBERLIST}</span>
+                                                               </a>
+                                                       </li>
+                                               <!-- ENDIF -->
+                                               <!-- IF U_TEAM -->
+                                                       <li>
+                                                               <a href="{U_TEAM}" role="menuitem">
+                                                                       <i class="icon fa-shield fa-fw" aria-hidden="true"></i><span>{L_THE_TEAM}</span>
+                                                               </a>
+                                                       </li>
+                                               <!-- ENDIF -->
+                                       <!-- ENDIF -->
+                                       <li class="separator"></li>
+
+                                       <!-- EVENT navbar_header_quick_links_after -->
+                               </ul>
+                       </div>
+               </li>
+
+               <!-- EVENT overall_header_navigation_prepend -->
+               <li <!-- IF not S_USER_LOGGED_IN -->data-skip-responsive="true"<!-- ELSE -->data-last-responsive="true"<!-- ENDIF -->>
+                       <a href="{U_FAQ}" rel="help" title="{L_FAQ_EXPLAIN}" role="menuitem">
+                               <i class="icon fa-question-circle fa-fw" aria-hidden="true"></i><span>{L_FAQ}</span>
+                       </a>
+               </li>
+               <!-- EVENT overall_header_navigation_append -->
+               <!-- IF U_ACP -->
+                       <li data-last-responsive="true">
+                               <a href="{U_ACP}" title="{L_ACP}" role="menuitem">
+                                       <i class="icon fa-cogs fa-fw" aria-hidden="true"></i><span>{L_ACP_SHORT}</span>
+                               </a>
+                       </li>
+               <!-- ENDIF -->
+               <!-- IF U_MCP -->
+                       <li data-last-responsive="true">
+                               <a href="{U_MCP}" title="{L_MCP}" role="menuitem">
+                                       <i class="icon fa-gavel fa-fw" aria-hidden="true"></i><span>{L_MCP_SHORT}</span>
+                               </a>
+                       </li>
+               <!-- ENDIF -->
+
+       <!-- IF S_REGISTERED_USER -->
+               <!-- EVENT navbar_header_user_profile_prepend -->
+               <li id="username_logged_in" class="rightside <!-- IF CURRENT_USER_AVATAR --> no-bulletin<!-- ENDIF -->" data-skip-responsive="true">
+                       <!-- EVENT navbar_header_username_prepend -->
+                       <div class="header-profile dropdown-container">
+                               <a href="{U_PROFILE}" class="header-avatar dropdown-trigger"><!-- IF CURRENT_USER_AVATAR -->{CURRENT_USER_AVATAR} <!-- ENDIF --> {CURRENT_USERNAME_SIMPLE}</a>
+                               <div class="dropdown">
+                                       <div class="pointer"><div class="pointer-inner"></div></div>
+                                       <ul class="dropdown-contents" role="menu">
+                                               <!-- IF U_RESTORE_PERMISSIONS -->
+                                                       <li>
+                                                               <a href="{U_RESTORE_PERMISSIONS}">
+                                                                       <i class="icon fa-refresh fa-fw" aria-hidden="true"></i><span>{L_RESTORE_PERMISSIONS}</span>
+                                                               </a>
+                                                       </li>
+                                               <!-- ENDIF -->
+
+                                       <!-- EVENT navbar_header_profile_list_before -->
+
+                                               <li>
+                                                       <a href="{U_PROFILE}" title="{L_PROFILE}" role="menuitem">
+                                                               <i class="icon fa-sliders fa-fw" aria-hidden="true"></i><span>{L_PROFILE}</span>
+                                                       </a>
+                                               </li>
+                                               <li>
+                                                       <a href="{U_USER_PROFILE}" title="{L_READ_PROFILE}" role="menuitem">
+                                                               <i class="icon fa-user fa-fw" aria-hidden="true"></i><span>{L_READ_PROFILE}</span>
+                                                       </a>
+                                               </li>
+
+                                               <!-- EVENT navbar_header_profile_list_after -->
+
+                                               <li class="separator"></li>
+                                               <li>
+                                                       <a href="{U_LOGIN_LOGOUT}" title="{L_LOGIN_LOGOUT}" accesskey="x" role="menuitem">
+                                                               <i class="icon fa-power-off fa-fw" aria-hidden="true"></i><span>{L_LOGIN_LOGOUT}</span>
+                                                       </a>
+                                               </li>
+                                       </ul>
+                               </div>
+                       </div>
+                       <!-- EVENT navbar_header_username_append -->
+               </li>
+               <!-- IF S_DISPLAY_PM -->
+                       <li class="rightside" data-skip-responsive="true">
+                               <a href="{U_PRIVATEMSGS}" role="menuitem">
+                                       <i class="icon fa-inbox fa-fw" aria-hidden="true"></i><span>{L_PRIVATE_MESSAGES} </span><strong class="badge<!-- IF not PRIVATE_MESSAGE_COUNT --> hidden<!-- ENDIF -->">{PRIVATE_MESSAGE_COUNT}</strong>
+                               </a>
+                       </li>
+               <!-- ENDIF -->
+               <!-- IF S_NOTIFICATIONS_DISPLAY -->
+                       <li class="dropdown-container dropdown-{S_CONTENT_FLOW_END} rightside" data-skip-responsive="true">
+                               <a href="{U_VIEW_ALL_NOTIFICATIONS}" id="notification_list_button" class="dropdown-trigger">
+                                       <i class="icon fa-bell fa-fw" aria-hidden="true"></i><span>{L_NOTIFICATIONS} </span><strong class="badge<!-- IF not NOTIFICATIONS_COUNT --> hidden<!-- ENDIF -->">{NOTIFICATIONS_COUNT}</strong>
+                               </a>
+                               <!-- INCLUDE notification_dropdown.html -->
+                       </li>
+               <!-- ENDIF -->
+               <!-- EVENT navbar_header_user_profile_append -->
+       <!-- ELSE -->
+               <li class="rightside"  data-skip-responsive="true">
+                       <a href="{U_LOGIN_LOGOUT}" title="{L_LOGIN_LOGOUT}" accesskey="x" role="menuitem">
+                               <i class="icon fa-power-off fa-fw" aria-hidden="true"></i><span>{L_LOGIN_LOGOUT}</span>
+                       </a>
+               </li>
+               <!-- IF S_REGISTER_ENABLED and not (S_SHOW_COPPA or S_REGISTRATION) -->
+                       <li class="rightside" data-skip-responsive="true">
+                               <a href="{U_REGISTER}" role="menuitem">
+                                       <i class="icon fa-pencil-square-o  fa-fw" aria-hidden="true"></i><span>{L_REGISTER}</span>
+                               </a>
+                       </li>
+               <!-- ENDIF -->
+               <!-- EVENT navbar_header_logged_out_content -->
+       <!-- ENDIF -->
+       </ul>
+
+       <ul id="nav-breadcrumbs" class="nav-breadcrumbs linklist navlinks" role="menubar">
+               <!-- DEFINE $MICRODATA = ' itemtype="http://data-vocabulary.org/Breadcrumb" itemscope=""' -->
+               <!-- EVENT overall_header_breadcrumbs_before -->
+               <li class="breadcrumbs">
+                       <!-- IF U_SITE_HOME -->
+                               <span class="crumb" {$MICRODATA}><a href="{U_SITE_HOME}" itemprop="url" data-navbar-reference="home"><i class="icon fa-home fa-fw" aria-hidden="true"></i><span itemprop="title">{L_SITE_HOME}</span></a></span>
+                       <!-- ENDIF -->
+                       <!-- EVENT overall_header_breadcrumb_prepend -->
+                               <span class="crumb" {$MICRODATA}><a href="{U_INDEX}" itemprop="url" accesskey="h" data-navbar-reference="index"><!-- IF not U_SITE_HOME --><i class="icon fa-home fa-fw"></i><!-- ENDIF --><span itemprop="title">{L_INDEX}</span></a></span>
+
+                       <!-- BEGIN navlinks -->
+                               <!-- EVENT overall_header_navlink_prepend -->
+                               <span class="crumb" {$MICRODATA}<!-- IF navlinks.MICRODATA --> {navlinks.MICRODATA}<!-- ENDIF -->><a href="{navlinks.U_VIEW_FORUM}" itemprop="url"><span itemprop="title">{navlinks.FORUM_NAME}</span></a></span>
+                               <!-- EVENT overall_header_navlink_append -->
+                       <!-- END navlinks -->
+                       <!-- EVENT overall_header_breadcrumb_append -->
+               </li>
+               <!-- EVENT overall_header_breadcrumbs_after -->
+
+               <!-- IF S_DISPLAY_SEARCH and not S_IN_SEARCH -->
+                       <li class="rightside responsive-search">
+                               <a href="{U_SEARCH}" title="{L_SEARCH_ADV_EXPLAIN}" role="menuitem">
+                                       <i class="icon fa-search fa-fw" aria-hidden="true"></i><span class="sr-only">{L_SEARCH}</span>
+                               </a>
+                       </li>
+               <!-- ENDIF -->
+       </ul>
+
+       </div>
+</div>
diff --git a/template/notification_dropdown.html b/template/notification_dropdown.html
new file mode 100644 (file)
index 0000000..e444d8f
--- /dev/null
@@ -0,0 +1,47 @@
+<div id="notification_list" class="dropdown dropdown-extended notification_list">
+       <div class="pointer"><div class="pointer-inner"></div></div>
+       <div class="dropdown-contents">
+               <div class="header">
+                       {L_NOTIFICATIONS}
+                       <span class="header_settings">
+                               <a href="{U_NOTIFICATION_SETTINGS}">{L_SETTINGS}</a>
+                               <!-- IF NOTIFICATIONS_COUNT -->
+                                       <span id="mark_all_notifications"> &bull; <a href="{U_MARK_ALL_NOTIFICATIONS}" data-ajax="notification.mark_all_read">{L_MARK_ALL_READ}</a></span>
+                               <!-- ENDIF -->
+                       </span>
+               </div>
+
+               <ul>
+                       <!-- IF not .notifications -->
+                               <li class="no_notifications">
+                                       {L_NO_NOTIFICATIONS}
+                               </li>
+                       <!-- ENDIF -->
+                       <!-- BEGIN notifications -->
+                               <li class="<!-- IF notifications.UNREAD --> bg2<!-- ENDIF --><!-- IF notifications.STYLING --> {notifications.STYLING}<!-- ENDIF --><!-- IF not notifications.URL --> no-url<!-- ENDIF -->">
+                                       <!-- IF notifications.URL -->
+                                               <a class="notification-block" href="<!-- IF notifications.UNREAD -->{notifications.U_MARK_READ}" data-real-url="{notifications.URL}<!-- ELSE -->{notifications.URL}<!-- ENDIF -->">
+                                       <!-- ENDIF -->
+                                               <!-- IF notifications.AVATAR -->{notifications.AVATAR}<!-- ELSE --><img src="{T_THEME_PATH}/images/no_avatar.gif" alt="" /><!-- ENDIF -->
+                                               <div class="notification_text">
+                                                       <p class="notification-title">{notifications.FORMATTED_TITLE}</p>
+                                                       <!-- IF notifications.REFERENCE --><p class="notification-reference">{notifications.REFERENCE}</p><!-- ENDIF -->
+                                                       <!-- IF notifications.FORUM --><p class="notification-forum">{notifications.FORUM}</p><!-- ENDIF -->
+                                                       <!-- IF notifications.REASON --><p class="notification-reason">{notifications.REASON}</p><!-- ENDIF -->
+                                                       <p class="notification-time">{notifications.TIME}</p>
+                                               </div>
+                                       <!-- IF notifications.URL --></a><!-- ENDIF -->
+                                       <!-- IF notifications.UNREAD -->
+                                               <a href="{notifications.U_MARK_READ}" class="mark_read icon-mark" data-ajax="notification.mark_read" title="{L_MARK_READ}">
+                                                        <i class="icon fa-check-circle icon-xl fa-fw" aria-hidden="true"></i><span class="sr-only">{L_MARK_READ}</span>
+                                               </a>
+                                       <!-- ENDIF -->
+                               </li>
+                       <!-- END notifications -->
+               </ul>
+
+               <div class="footer">
+                       <a href="{U_VIEW_ALL_NOTIFICATIONS}"><span>{L_SEE_ALL}</span></a>
+               </div>
+       </div>
+</div>
diff --git a/template/overall_footer.html b/template/overall_footer.html
new file mode 100644 (file)
index 0000000..413c93f
--- /dev/null
@@ -0,0 +1,93 @@
+               <!-- EVENT overall_footer_content_after -->
+       </div>
+
+<!-- EVENT overall_footer_page_body_after -->
+
+<div id="page-footer" class="page-footer" role="contentinfo">
+       <!-- INCLUDE navbar_footer.html -->
+
+       <div class="copyright">
+               <!-- EVENT overall_footer_copyright_prepend -->
+               {CREDIT_LINE}
+               <!-- IF TRANSLATION_INFO --><br />{TRANSLATION_INFO}<!-- ENDIF -->
+               <!-- EVENT overall_footer_copyright_append -->
+               <!-- IF DEBUG_OUTPUT --><br />{DEBUG_OUTPUT}<!-- ENDIF -->
+               <!-- IF U_ACP --><br /><strong><a href="{U_ACP}">{L_ACP}</a></strong><!-- ENDIF -->
+       </div>
+
+       <div id="darkenwrapper" class="darkenwrapper" data-ajax-error-title="{L_AJAX_ERROR_TITLE}" data-ajax-error-text="{L_AJAX_ERROR_TEXT}" data-ajax-error-text-abort="{L_AJAX_ERROR_TEXT_ABORT}" data-ajax-error-text-timeout="{L_AJAX_ERROR_TEXT_TIMEOUT}" data-ajax-error-text-parsererror="{L_AJAX_ERROR_TEXT_PARSERERROR}">
+               <div id="darken" class="darken">&nbsp;</div>
+       </div>
+
+       <div id="phpbb_alert" class="phpbb_alert" data-l-err="{L_ERROR}" data-l-timeout-processing-req="{L_TIMEOUT_PROCESSING_REQ}">
+               <a href="#" class="alert_close">
+                       <i class="icon fa-times-circle fa-fw" aria-hidden="true"></i>
+               </a>
+               <h3 class="alert_title">&nbsp;</h3><p class="alert_text"></p>
+       </div>
+       <div id="phpbb_confirm" class="phpbb_alert">
+               <a href="#" class="alert_close">
+                       <i class="icon fa-times-circle fa-fw" aria-hidden="true"></i>
+               </a>
+               <div class="alert_text"></div>
+       </div>
+</div>
+
+</div>
+
+<div>
+       <a id="bottom" class="anchor" accesskey="z"></a>
+       <!-- IF not S_IS_BOT -->{RUN_CRON_TASK}<!-- ENDIF -->
+</div>
+
+<script type="text/javascript" src="{T_JQUERY_LINK}"></script>
+<!-- IF S_ALLOW_CDN --><script type="text/javascript">window.jQuery || document.write('\x3Cscript src="{T_ASSETS_PATH}/javascript/jquery.min.js?assets_version={T_ASSETS_VERSION}">\x3C/script>');</script><!-- ENDIF -->
+<script type="text/javascript" src="{T_ASSETS_PATH}/javascript/core.js?assets_version={T_ASSETS_VERSION}"></script>
+<!-- INCLUDEJS forum_fn.js -->
+<!-- INCLUDEJS ajax.js -->
+<!-- IF S_ALLOW_CDN -->
+       <script type="text/javascript">
+               (function($){
+                       var $fa_cdn = $('head').find('link[rel="stylesheet"]').first(),
+                               $span = $('<span class="fa" style="display:none"></span>').appendTo('body');
+                       if ($span.css('fontFamily') !== 'FontAwesome' ) {
+                               $fa_cdn.after('<link href="{T_ASSETS_PATH}/css/font-awesome.min.css" rel="stylesheet">');
+                               $fa_cdn.remove();
+                       }
+                       $span.remove();
+               })(jQuery);
+       </script>
+<!-- ENDIF -->
+
+<!-- IF S_COOKIE_NOTICE -->
+       <script src="{T_ASSETS_PATH}/cookieconsent/cookieconsent.min.js?assets_version={T_ASSETS_VERSION}"></script>
+       <script>
+               window.addEventListener("load", function(){
+                       window.cookieconsent.initialise({
+                               "palette": {
+                                       "popup": {
+                                               "background": "#0F538A"
+                                       },
+                                       "button": {
+                                               "background": "#E5E5E5"
+                                       }
+                               },
+                               "theme": "classic",
+                               "content": {
+                                       "message": "{LA_COOKIE_CONSENT_MSG}",
+                                       "dismiss": "{LA_COOKIE_CONSENT_OK}",
+                                       "link": "{LA_COOKIE_CONSENT_INFO}"
+                               }
+                       })});
+       </script>
+<!-- ENDIF -->
+
+<!-- EVENT overall_footer_after -->
+
+<!-- IF S_PLUPLOAD --><!-- INCLUDE plupload.html --><!-- ENDIF -->
+{$SCRIPTS}
+
+<!-- EVENT overall_footer_body_after -->
+
+</body>
+</html>
diff --git a/template/overall_header.html b/template/overall_header.html
new file mode 100644 (file)
index 0000000..4438137
--- /dev/null
@@ -0,0 +1,131 @@
+<!DOCTYPE html>
+<html dir="{S_CONTENT_DIRECTION}" lang="{S_USER_LANG}">
+<head>
+<meta charset="utf-8" />
+<meta http-equiv="X-UA-Compatible" content="IE=edge">
+<meta name="viewport" content="width=device-width, initial-scale=1" />
+{META}
+<title><!-- IF UNREAD_NOTIFICATIONS_COUNT -->({UNREAD_NOTIFICATIONS_COUNT}) <!-- ENDIF --><!-- IF not S_VIEWTOPIC and not S_VIEWFORUM -->{SITENAME} - <!-- ENDIF --><!-- IF S_IN_MCP -->{L_MCP} - <!-- ELSEIF S_IN_UCP -->{L_UCP} - <!-- ENDIF -->{PAGE_TITLE}<!-- IF S_VIEWTOPIC or S_VIEWFORUM --> - {SITENAME}<!-- ENDIF --></title>
+
+<!-- IF S_ENABLE_FEEDS -->
+       <!-- IF S_ENABLE_FEEDS_OVERALL --><link rel="alternate" type="application/atom+xml" title="{L_FEED} - {SITENAME}" href="{{ path('phpbb_feed_index') }}"><!-- ENDIF -->
+       <!-- IF S_ENABLE_FEEDS_NEWS --><link rel="alternate" type="application/atom+xml" title="{L_FEED} - {L_FEED_NEWS}" href="{{ path('phpbb_feed_news') }}"><!-- ENDIF -->
+       <!-- IF S_ENABLE_FEEDS_FORUMS --><link rel="alternate" type="application/atom+xml" title="{L_FEED} - {L_ALL_FORUMS}" href="{{ path('phpbb_feed_forums') }}"><!-- ENDIF -->
+       <!-- IF S_ENABLE_FEEDS_TOPICS --><link rel="alternate" type="application/atom+xml" title="{L_FEED} - {L_FEED_TOPICS_NEW}" href="{{ path('phpbb_feed_topics') }}"><!-- ENDIF -->
+       <!-- IF S_ENABLE_FEEDS_TOPICS_ACTIVE --><link rel="alternate" type="application/atom+xml" title="{L_FEED} - {L_FEED_TOPICS_ACTIVE}" href="{{ path('phpbb_feed_topics_active') }}"><!-- ENDIF -->
+       <!-- IF S_ENABLE_FEEDS_FORUM and S_FORUM_ID --><link rel="alternate" type="application/atom+xml" title="{L_FEED} - {L_FORUM} - {FORUM_NAME}" href="{{ path('phpbb_feed_forum', { forum_id : S_FORUM_ID } ) }}"><!-- ENDIF -->
+       <!-- IF S_ENABLE_FEEDS_TOPIC and S_TOPIC_ID --><link rel="alternate" type="application/atom+xml" title="{L_FEED} - {L_TOPIC} - {TOPIC_TITLE}" href="{{ path('phpbb_feed_topic', { topic_id : S_TOPIC_ID } ) }}"><!-- ENDIF -->
+       <!-- EVENT overall_header_feeds -->
+<!-- ENDIF -->
+
+<!-- IF U_CANONICAL -->
+       <link rel="canonical" href="{U_CANONICAL}">
+<!-- ENDIF -->
+
+<!--
+       phpBB style name: prosilver
+       Based on style:   prosilver (this is the default phpBB3 style)
+       Original author:  Tom Beddard ( http://www.subBlue.com/ )
+       Modified by:
+-->
+
+<!-- IF S_ALLOW_CDN -->
+<script>
+       WebFontConfig = {
+               google: {
+                       families: ['Open+Sans:600:cyrillic-ext,latin,greek-ext,greek,vietnamese,latin-ext,cyrillic']
+               }
+       };
+
+       (function(d) {
+               var wf = d.createElement('script'), s = d.scripts[0];
+               wf.src = 'https://ajax.googleapis.com/ajax/libs/webfont/1.5.18/webfont.js';
+               wf.async = true;
+               s.parentNode.insertBefore(wf, s);
+       })(document);
+</script>
+<!-- ENDIF -->
+<link href="{T_FONT_AWESOME_LINK}" rel="stylesheet">
+<link href="{T_STYLESHEET_LINK}" rel="stylesheet">
+<link href="{T_STYLESHEET_LANG_LINK}" rel="stylesheet">
+
+<!-- IF S_CONTENT_DIRECTION eq 'rtl' -->
+       <link href="{T_THEME_PATH}/bidi.css?assets_version={T_ASSETS_VERSION}" rel="stylesheet">
+<!-- ENDIF -->
+
+<!-- IF S_PLUPLOAD -->
+       <link href="{T_THEME_PATH}/plupload.css?assets_version={T_ASSETS_VERSION}" rel="stylesheet">
+<!-- ENDIF -->
+
+<!-- IF S_COOKIE_NOTICE -->
+       <link href="{T_ASSETS_PATH}/cookieconsent/cookieconsent.min.css?assets_version={T_ASSETS_VERSION}" rel="stylesheet">
+<!-- ENDIF -->
+
+<!--[if lte IE 9]>
+       <link href="{T_THEME_PATH}/tweaks.css?assets_version={T_ASSETS_VERSION}" rel="stylesheet">
+<![endif]-->
+
+<!-- EVENT overall_header_head_append -->
+
+{$STYLESHEETS}
+
+<!-- EVENT overall_header_stylesheets_after -->
+
+</head>
+<body id="phpbb" class="nojs notouch section-{SCRIPT_NAME} {S_CONTENT_DIRECTION} {BODY_CLASS}">
+
+<!-- EVENT overall_header_body_before -->
+
+<div id="wrap" class="wrap">
+       <a id="top" class="top-anchor" accesskey="t"></a>
+       <div id="page-header">
+               <div class="headerbar" role="banner">
+               <!-- EVENT overall_header_headerbar_before -->
+                       <div class="inner">
+
+                       <div id="site-description" class="site-description">
+                               <a id="logo" class="logo" href="<!-- IF U_SITE_HOME -->{U_SITE_HOME}<!-- ELSE -->{U_INDEX}<!-- ENDIF -->" title="<!-- IF U_SITE_HOME -->{L_SITE_HOME}<!-- ELSE -->{L_INDEX}<!-- ENDIF -->"><span class="site_logo"></span></a>
+                               <h1>{SITENAME}</h1>
+                               <p>{SITE_DESCRIPTION}</p>
+                               <p class="skiplink"><a href="#start_here">{L_SKIP}</a></p>
+                       </div>
+
+                       <!-- EVENT overall_header_searchbox_before -->
+                       <!-- IF S_DISPLAY_SEARCH and not S_IN_SEARCH -->
+                       <div id="search-box" class="search-box search-header" role="search">
+                               <form action="{U_SEARCH}" method="get" id="search">
+                               <fieldset>
+                                       <input name="keywords" id="keywords" type="search" maxlength="128" title="{L_SEARCH_KEYWORDS}" class="inputbox search tiny" size="20" value="{SEARCH_WORDS}" placeholder="{L_SEARCH_MINI}" />
+                                       <button class="button button-search" type="submit" title="{L_SEARCH}">
+                                               <i class="icon fa-search fa-fw" aria-hidden="true"></i><span class="sr-only">{L_SEARCH}</span>
+                                       </button>
+                                       <a href="{U_SEARCH}" class="button button-search-end" title="{L_SEARCH_ADV}">
+                                               <i class="icon fa-cog fa-fw" aria-hidden="true"></i><span class="sr-only">{L_SEARCH_ADV}</span>
+                                       </a>
+                                       {S_SEARCH_HIDDEN_FIELDS}
+                               </fieldset>
+                               </form>
+                       </div>
+                       <!-- ENDIF -->
+                       <!-- EVENT overall_header_searchbox_after -->
+
+                       </div>
+                       <!-- EVENT overall_header_headerbar_after -->
+               </div>
+               <!-- EVENT overall_header_navbar_before -->
+               <!-- INCLUDE navbar_header.html -->
+       </div>
+
+       <!-- EVENT overall_header_page_body_before -->
+
+       <a id="start_here" class="anchor"></a>
+       <div id="page-body" class="page-body" role="main">
+               <!-- IF S_BOARD_DISABLED and S_USER_LOGGED_IN and (U_MCP or U_ACP) -->
+               <div id="information" class="rules">
+                       <div class="inner">
+                               <strong>{L_INFORMATION}{L_COLON}</strong> {L_BOARD_DISABLED}
+                       </div>
+               </div>
+               <!-- ENDIF -->
+
+               <!-- EVENT overall_header_content_before -->
diff --git a/template/pagination.html b/template/pagination.html
new file mode 100644 (file)
index 0000000..78b0df8
--- /dev/null
@@ -0,0 +1,30 @@
+<ul>
+<!-- IF BASE_URL and TOTAL_PAGES > 6 -->
+       <li class="dropdown-container dropdown-button-control dropdown-page-jump page-jump">
+               <a class="button button-icon-only dropdown-trigger" href="#" title="{L_JUMP_TO_PAGE_CLICK}" role="button"><i class="icon fa-level-down fa-rotate-270" aria-hidden="true"></i><span class="sr-only">{PAGE_NUMBER}</span></a>
+               <div class="dropdown">
+                       <div class="pointer"><div class="pointer-inner"></div></div>
+                       <ul class="dropdown-contents">
+                               <li>{L_JUMP_TO_PAGE}{L_COLON}</li>
+                               <li class="page-jump-form">
+                                       <input type="number" name="page-number" min="1" max="999999" title="{L_JUMP_PAGE}" class="inputbox tiny" data-per-page="{PER_PAGE}" data-base-url="{BASE_URL|e('html_attr')}" data-start-name="{START_NAME}" />
+                                       <input class="button2" value="{L_GO}" type="button" />
+                               </li>
+                       </ul>
+               </div>
+       </li>
+<!-- ENDIF -->
+<!-- BEGIN pagination -->
+       <!-- IF pagination.S_IS_PREV -->
+               <li class="arrow previous"><a class="button button-icon-only" href="{pagination.PAGE_URL}" rel="prev" role="button"><i class="icon fa-chevron-left fa-fw" aria-hidden="true"></i><span class="sr-only">{L_PREVIOUS}</span></a></li>
+       <!-- ELSEIF pagination.S_IS_CURRENT -->
+       <li class="active"><span>{pagination.PAGE_NUMBER}</span></li>
+       <!-- ELSEIF pagination.S_IS_ELLIPSIS -->
+       <li class="ellipsis" role="separator"><span>{L_ELLIPSIS}</span></li>
+       <!-- ELSEIF pagination.S_IS_NEXT -->
+               <li class="arrow next"><a class="button button-icon-only" href="{pagination.PAGE_URL}" rel="next" role="button"><i class="icon fa-chevron-right fa-fw" aria-hidden="true"></i><span class="sr-only">{L_NEXT}</span></a></li>
+       <!-- ELSE -->
+               <li><a class="button" href="{pagination.PAGE_URL}" role="button">{pagination.PAGE_NUMBER}</a></li>
+       <!-- ENDIF -->
+<!-- END pagination -->
+</ul>
diff --git a/template/plupload.html b/template/plupload.html
new file mode 100644 (file)
index 0000000..fc66311
--- /dev/null
@@ -0,0 +1,69 @@
+<script type="text/javascript">
+//<![CDATA[
+phpbb.plupload = {
+       i18n: {
+               'b': '{LA_BYTES_SHORT}',
+               'kb': '{LA_KB}',
+               'mb': '{LA_MB}',
+               'gb': '{LA_GB}',
+               'tb': '{LA_TB}',
+               'Add Files': '{LA_PLUPLOAD_ADD_FILES}',
+               'Add files to the upload queue and click the start button.': '{LA_PLUPLOAD_ADD_FILES_TO_QUEUE}',
+               'Close': '{LA_PLUPLOAD_CLOSE}',
+               'Drag files here.': '{LA_PLUPLOAD_DRAG}',
+               'Duplicate file error.': '{LA_PLUPLOAD_DUPLICATE_ERROR}',
+               'File: %s': '{LA_PLUPLOAD_FILE}',
+               'File: %s, size: %d, max file size: %d': '{LA_PLUPLOAD_FILE_DETAILS}',
+               'File count error.': '{LA_PLUPLOAD_ERR_FILE_COUNT}',
+               'File extension error.': '{LA_PLUPLOAD_EXTENSION_ERROR}',
+               'File size error.': '{LA_PLUPLOAD_SIZE_ERROR}',
+               'File too large:': '{LA_PLUPLOAD_ERR_FILE_TOO_LARGE}',
+               'Filename': '{LA_PLUPLOAD_FILENAME}',
+               'Generic error.': '{LA_PLUPLOAD_GENERIC_ERROR}',
+               'HTTP Error.': '{LA_PLUPLOAD_HTTP_ERROR}',
+               'Image format either wrong or not supported.': '{LA_PLUPLOAD_IMAGE_FORMAT}',
+               'Init error.': '{LA_PLUPLOAD_INIT_ERROR}',
+               'IO error.': '{LA_PLUPLOAD_IO_ERROR}',
+               'Invalid file extension:': '{LA_PLUPLOAD_ERR_FILE_INVALID_EXT}',
+               'N/A': '{LA_PLUPLOAD_NOT_APPLICABLE}',
+               'Runtime ran out of available memory.': '{LA_PLUPLOAD_ERR_RUNTIME_MEMORY}',
+               'Security error.': '{LA_PLUPLOAD_SECURITY_ERROR}',
+               'Select files': '{LA_PLUPLOAD_SELECT_FILES}',
+               'Size': '{LA_PLUPLOAD_SIZE}',
+               'Start Upload': '{LA_PLUPLOAD_START_UPLOAD}',
+               'Start uploading queue': '{LA_PLUPLOAD_START_CURRENT_UPLOAD}',
+               'Status': '{LA_PLUPLOAD_STATUS}',
+               'Stop Upload': '{LA_PLUPLOAD_STOP_UPLOAD}',
+               'Stop current upload': '{LA_PLUPLOAD_STOP_CURRENT_UPLOAD}',
+               "Upload URL might be wrong or doesn't exist.": '{LA_PLUPLOAD_ERR_UPLOAD_URL}',
+               'Uploaded %d/%d files': '{LA_PLUPLOAD_UPLOADED}',
+               '%d files queued': '{LA_PLUPLOAD_FILES_QUEUED}',
+               '%s already present in the queue.': '{LA_PLUPLOAD_ALREADY_QUEUED}'
+       },
+       config: {
+               runtimes: 'html5',
+               url: '{S_PLUPLOAD_URL}',
+               max_file_size: '{FILESIZE}b',
+               chunk_size: '{CHUNK_SIZE}b',
+               unique_names: true,
+               filters: [{FILTERS}],
+               {S_RESIZE}
+               headers: {'X-PHPBB-USING-PLUPLOAD': '1', 'X-Requested-With': 'XMLHttpRequest'},
+               file_data_name: 'fileupload',
+               multipart_params: {'add_file': '{LA_ADD_FILE}'},
+               form_hook: '#postform',
+               browse_button: 'add_files',
+               drop_element : 'message',
+       },
+       lang: {
+               ERROR: '{LA_ERROR}',
+               TOO_MANY_ATTACHMENTS: '{LA_TOO_MANY_ATTACHMENTS}',
+       },
+       order: '{ATTACH_ORDER}',
+       maxFiles: {MAX_ATTACHMENTS},
+       data: {S_ATTACH_DATA},
+}
+//]]>
+</script>
+<!-- INCLUDEJS {T_ASSETS_PATH}/plupload/plupload.full.min.js -->
+<!-- INCLUDEJS {T_ASSETS_PATH}/javascript/plupload.js -->
diff --git a/template/posting_attach_body.html b/template/posting_attach_body.html
new file mode 100644 (file)
index 0000000..618ac95
--- /dev/null
@@ -0,0 +1,85 @@
+<div class="panel bg3 panel-container" id="attach-panel">
+       <div class="inner">
+
+       <p>{L_ADD_ATTACHMENT_EXPLAIN} <span class="hidden" id="drag-n-drop-message">{L_PLUPLOAD_DRAG_TEXTAREA}</span></p>
+
+       <fieldset class="fields2" id="attach-panel-basic">
+       <dl>
+               <dt><label for="fileupload">{L_FILENAME}{L_COLON}</label></dt>
+               <dd>
+                       <input type="file" name="fileupload" id="fileupload" class="inputbox autowidth" />
+                       <input type="submit" name="add_file" value="{L_ADD_FILE}" class="button2" onclick="upload = true;" />
+               </dd>
+       </dl>
+       <dl>
+               <dt><label for="filecomment">{L_FILE_COMMENT}{L_COLON}</label></dt>
+               <dd><textarea name="filecomment" id="filecomment" rows="1" cols="40" class="inputbox autowidth">{FILE_COMMENT}</textarea></dd>
+       </dl>
+       </fieldset>
+
+       <div id="attach-panel-multi" class="attach-panel-multi">
+               <input type="button" class="button2" value="{L_PLUPLOAD_ADD_FILES}" id="add_files" />
+       </div>
+
+       <div class="panel<!-- IF not .attach_row --> hidden<!-- ENDIF --> file-list-container" id="file-list-container">
+               <div class="inner">
+                       <table class="table1 zebra-list fixed-width-table">
+                               <thead>
+                                       <tr>
+                                               <th class="attach-name">{L_PLUPLOAD_FILENAME}</th>
+                                               <th class="attach-comment">{L_FILE_COMMENT}</th>
+                                               <th class="attach-filesize">{L_PLUPLOAD_SIZE}</th>
+                                               <th class="attach-status">{L_PLUPLOAD_STATUS}</th>
+                                       </tr>
+                               </thead>
+                               <tbody class="responsive-skip-empty file-list" id="file-list">
+                                       <tr class="attach-row" id="attach-row-tpl">
+                                                       <td class="attach-name">
+                                                               <span class="file-name ellipsis-text"></span>
+                                                               <span class="attach-controls">
+                                                                       <input type="button" value="{L_PLACE_INLINE}" class="button2 hidden file-inline-bbcode" />&nbsp;
+                                                                       <input type="button" value="{L_DELETE_FILE}" class="button2 file-delete" />
+                                                               </span>
+                                                               <span class="clear"></span>
+                                                       </td>
+                                                       <td class="attach-comment">
+                                                               <textarea rows="1" cols="30" class="inputbox"></textarea>
+                                                       </td>
+                                                       <td class="attach-filesize">
+                                                               <span class="file-size"></span>
+                                                       </td>
+                                                       <td class="attach-status">
+                                                               <span class="file-progress">
+                                                                       <span class="file-progress-bar"></span>
+                                                               </span>
+                                                               <span class="file-status"></span>
+                                                       </td>
+                                       </tr>
+                                       <!-- BEGIN attach_row -->
+                                               <tr class="attach-row" data-attach-id="{attach_row.ATTACH_ID}">
+                                                       <td class="attach-name">
+                                                               <span class="file-name ellipsis-text"><a href="{attach_row.U_VIEW_ATTACHMENT}">{attach_row.FILENAME}</a></span>
+                                                               <span class="attach-controls">
+                                                                       <!-- IF S_INLINE_ATTACHMENT_OPTIONS --><input type="button" value="{L_PLACE_INLINE}" class="button2 file-inline-bbcode" />&nbsp; <!-- ENDIF -->
+                                                                       <input type="submit" name="delete_file[{attach_row.ASSOC_INDEX}]" value="{L_DELETE_FILE}" class="button2 file-delete" />
+                                                               </span>
+                                                               <span class="clear"></span>
+                                                       </td>
+                                                       <td class="attach-comment">
+                                                               <textarea name="comment_list[{attach_row.ASSOC_INDEX}]" rows="1" cols="30" class="inputbox">{attach_row.FILE_COMMENT}</textarea>
+                                                               {attach_row.S_HIDDEN}
+                                                       </td>
+                                                       <td class="attach-filesize">
+                                                               <span class="file-size">{attach_row.FILESIZE}</span>
+                                                       </td>
+                                                       <td class="attach-status">
+                                                               <span class="file-status file-uploaded"></span>
+                                                       </td>
+                                               </tr>
+                                       <!-- END attach_row -->
+                               </tbody>
+                       </table>
+               </div>
+       </div>
+       </div>
+</div>
diff --git a/template/posting_body.html b/template/posting_body.html
new file mode 100644 (file)
index 0000000..73b8270
--- /dev/null
@@ -0,0 +1,6 @@
+
+<!-- IF S_PRIVMSGS -->
+       <!-- INCLUDE posting_pm_layout.html -->
+<!-- ELSE -->
+       <!-- INCLUDE posting_layout.html -->
+<!-- ENDIF -->
diff --git a/template/posting_buttons.html b/template/posting_buttons.html
new file mode 100644 (file)
index 0000000..14185ed
--- /dev/null
@@ -0,0 +1,129 @@
+
+<script type="text/javascript">
+// <![CDATA[
+       var form_name = 'postform';
+       var text_name = <!-- IF $SIG_EDIT -->'signature'<!-- ELSE -->'message'<!-- ENDIF -->;
+       var load_draft = false;
+       var upload = false;
+
+       // Define the bbCode tags
+       var bbcode = new Array();
+       var bbtags = new Array('[b]','[/b]','[i]','[/i]','[u]','[/u]','[quote]','[/quote]','[code]','[/code]','[list]','[/list]','[list=]','[/list]','[img]','[/img]','[url]','[/url]','[flash=]', '[/flash]','[size=]','[/size]'<!-- BEGIN custom_tags -->, {custom_tags.BBCODE_NAME}<!-- END custom_tags -->);
+       var imageTag = false;
+
+       // Helpline messages
+       var help_line = {
+               b: '{LA_BBCODE_B_HELP}',
+               i: '{LA_BBCODE_I_HELP}',
+               u: '{LA_BBCODE_U_HELP}',
+               q: '{LA_BBCODE_Q_HELP}',
+               c: '{LA_BBCODE_C_HELP}',
+               l: '{LA_BBCODE_L_HELP}',
+               o: '{LA_BBCODE_O_HELP}',
+               p: '{LA_BBCODE_P_HELP}',
+               w: '{LA_BBCODE_W_HELP}',
+               a: '{LA_BBCODE_A_HELP}',
+               s: '{LA_BBCODE_S_HELP}',
+               f: '{LA_BBCODE_F_HELP}',
+               y: '{LA_BBCODE_Y_HELP}',
+               d: '{LA_BBCODE_D_HELP}'
+               <!-- BEGIN custom_tags -->
+                       ,cb_{custom_tags.BBCODE_ID}: '{custom_tags.A_BBCODE_HELPLINE}'
+               <!-- END custom_tags -->
+       }
+
+       function change_palette()
+       {
+               phpbb.toggleDisplay('colour_palette');
+               e = document.getElementById('colour_palette');
+
+               if (e.style.display == 'block')
+               {
+                       document.getElementById('bbpalette').value = '{LA_FONT_COLOR_HIDE}';
+               }
+               else
+               {
+                       document.getElementById('bbpalette').value = '{LA_FONT_COLOR}';
+               }
+       }
+
+// ]]>
+</script>
+<!-- INCLUDEJS {T_ASSETS_PATH}/javascript/editor.js -->
+
+<!-- IF S_BBCODE_ALLOWED -->
+<div id="colour_palette" style="display: none;">
+       <dl style="clear: left;">
+               <dt><label>{L_FONT_COLOR}{L_COLON}</label></dt>
+               <dd id="color_palette_placeholder" class="color_palette_placeholder" data-orientation="h" data-height="12" data-width="15" data-bbcode="true"></dd>
+       </dl>
+</div>
+
+<!-- EVENT posting_editor_buttons_before -->
+<div id="format-buttons" class="format-buttons">
+       <button type="button" class="button button-icon-only bbcode-b" accesskey="b" name="addbbcode0" value=" B " onclick="bbstyle(0)" title="{L_BBCODE_B_HELP}">
+               <i class="icon fa-bold fa-fw" aria-hidden="true"></i>
+       </button>
+       <button type="button" class="button button-icon-only bbcode-i" accesskey="i" name="addbbcode2" value=" i " onclick="bbstyle(2)" title="{L_BBCODE_I_HELP}">
+               <i class="icon fa-italic fa-fw" aria-hidden="true"></i>
+       </button>
+       <button type="button" class="button button-icon-only bbcode-u" accesskey="u" name="addbbcode4" value=" u " onclick="bbstyle(4)" title="{L_BBCODE_U_HELP}">
+               <i class="icon fa-underline fa-fw" aria-hidden="true"></i>
+       </button>
+       <!-- IF S_BBCODE_QUOTE -->
+       <button type="button" class="button button-icon-only bbcode-quote" accesskey="q" name="addbbcode6" value="Quote" onclick="bbstyle(6)" title="{L_BBCODE_Q_HELP}">
+               <i class="icon fa-quote-left fa-fw" aria-hidden="true"></i>
+       </button>
+       <!-- ENDIF -->
+       <button type="button" class="button button-icon-only bbcode-code" accesskey="c" name="addbbcode8" value="Code" onclick="bbstyle(8)" title="{L_BBCODE_C_HELP}">
+               <i class="icon fa-code fa-fw" aria-hidden="true"></i>
+       </button>
+       <button type="button" class="button button-icon-only bbcode-list" accesskey="l" name="addbbcode10" value="List" onclick="bbstyle(10)" title="{L_BBCODE_L_HELP}">
+               <i class="icon fa-list fa-fw" aria-hidden="true"></i>
+       </button>
+       <button type="button" class="button button-icon-only bbcode-list-" accesskey="o" name="addbbcode12" value="List=" onclick="bbstyle(12)" title="{L_BBCODE_O_HELP}">
+               <i class="icon fa-list-ol fa-fw" aria-hidden="true"></i>
+       </button>
+       <button type="button" class="button button-icon-only bbcode-asterisk" accesskey="y" name="addlistitem" value="[*]" onclick="bbstyle(-1)" title="{L_BBCODE_LISTITEM_HELP}">
+               <i class="icon fa-asterisk fa-fw" aria-hidden="true"></i>
+       </button>
+       <!-- IF S_BBCODE_IMG -->
+       <button type="button" class="button button-icon-only bbcode-img" accesskey="p" name="addbbcode14" value="Img" onclick="bbstyle(14)" title="{L_BBCODE_P_HELP}">
+               <i class="icon fa-image fa-fw" aria-hidden="true"></i>
+       </button>
+       <!-- ENDIF -->
+       <!-- IF S_LINKS_ALLOWED -->
+       <button type="button" class="button button-icon-only bbcode-url" accesskey="w" name="addbbcode16" value="URL" onclick="bbstyle(16)" title="{L_BBCODE_W_HELP}">
+               <i class="icon fa-link fa-fw" aria-hidden="true"></i>
+       </button>
+       <!-- ENDIF -->
+       <!-- IF S_BBCODE_FLASH -->
+       <button type="button" class="button button-icon-only bbcode-flash" accesskey="d" name="addbbcode18" value="Flash" onclick="bbstyle(18)" title="{L_BBCODE_D_HELP}">
+               <i class="icon fa-flash fa-fw" aria-hidden="true"></i>
+       </button>
+       <!-- ENDIF -->
+       <button type="button" class="button button-icon-only bbcode-color" name="bbpalette" id="bbpalette" value="{L_FONT_COLOR}" onclick="change_palette();" title="{L_BBCODE_S_HELP}">
+               <i class="icon fa-tint fa-fw" aria-hidden="true"></i>
+       </button>
+       <select name="addbbcode20" class="bbcode-size" onchange="bbfontstyle('[size=' + this.form.addbbcode20.options[this.form.addbbcode20.selectedIndex].value + ']', '[/size]');this.form.addbbcode20.selectedIndex = 2;" title="{L_BBCODE_F_HELP}">
+               <option value="50">{L_FONT_TINY}</option>
+               <option value="85">{L_FONT_SMALL}</option>
+               <option value="100" selected="selected">{L_FONT_NORMAL}</option>
+               <!-- IF not MAX_FONT_SIZE or MAX_FONT_SIZE >= 150 -->
+                       <option value="150">{L_FONT_LARGE}</option>
+                       <!-- IF not MAX_FONT_SIZE or MAX_FONT_SIZE >= 200 -->
+                               <option value="200">{L_FONT_HUGE}</option>
+                       <!-- ENDIF -->
+               <!-- ENDIF -->
+       </select>
+
+       <!-- EVENT posting_editor_buttons_custom_tags_before -->
+
+       <!-- BEGIN custom_tags -->
+       <button type="button" class="button button-secondary bbcode-{custom_tags.BBCODE_TAG_CLEAN}" name="addbbcode{custom_tags.BBCODE_ID}" value="{custom_tags.BBCODE_TAG}" onclick="bbstyle({custom_tags.BBCODE_ID})" title="{custom_tags.BBCODE_HELPLINE}">
+               {custom_tags.BBCODE_TAG}
+       </button>
+       <!-- END custom_tags -->
+</div>
+<!-- EVENT posting_editor_buttons_after -->
+<!-- ENDIF -->
diff --git a/template/posting_editor.html b/template/posting_editor.html
new file mode 100644 (file)
index 0000000..d963c98
--- /dev/null
@@ -0,0 +1,196 @@
+<fieldset class="fields1">
+       <!-- IF ERROR --><p class="error">{ERROR}</p><!-- ENDIF -->
+
+       <!-- IF S_SHOW_TOPIC_ICONS or S_SHOW_PM_ICONS -->
+       <dl>
+               <dt><label for="icon">{L_ICON}{L_COLON}</label></dt>
+               <dd>
+                       <label for="icon"><input type="radio" name="icon" id="icon" value="0" checked="checked" tabindex="1" /> <!-- IF S_SHOW_TOPIC_ICONS -->{L_NO_TOPIC_ICON}<!-- ELSE -->{L_NO_PM_ICON}<!-- ENDIF --></label>
+                       <!-- BEGIN topic_icon --><label for="icon-{topic_icon.ICON_ID}"><input type="radio" name="icon" id="icon-{topic_icon.ICON_ID}" value="{topic_icon.ICON_ID}" {topic_icon.S_ICON_CHECKED} tabindex="1" /><img src="{topic_icon.ICON_IMG}" width="{topic_icon.ICON_WIDTH}" height="{topic_icon.ICON_HEIGHT}" alt="{topic_icon.ICON_ALT}" title="{topic_icon.ICON_ALT}" /></label> <!-- END topic_icon -->
+               </dd>
+       </dl>
+       <!-- ENDIF -->
+
+       <!-- IF not S_PRIVMSGS and S_DISPLAY_USERNAME -->
+       <dl style="clear: left;">
+               <dt><label for="username">{L_USERNAME}{L_COLON}</label></dt>
+               <dd><input type="text" tabindex="1" name="username" id="username" size="25" value="{USERNAME}" class="inputbox autowidth" /></dd>
+       </dl>
+       <!-- ENDIF -->
+
+       <!-- EVENT posting_editor_subject_before -->
+
+       <!-- IF S_POST_ACTION or S_PRIVMSGS or S_EDIT_DRAFT -->
+       <dl style="clear: left;">
+               <dt><label for="subject">{L_SUBJECT}{L_COLON}</label></dt>
+               <dd>
+                       <!-- EVENT posting_editor_subject_prepend -->
+                       <input type="text" name="subject" id="subject" size="45" maxlength="<!-- IF S_NEW_MESSAGE -->120<!-- ELSE -->124<!-- ENDIF -->" tabindex="2" value="{SUBJECT}{DRAFT_SUBJECT}" class="inputbox autowidth" />
+                       <!-- EVENT posting_editor_subject_append -->
+               </dd>
+       </dl>
+       <!-- IF CAPTCHA_TEMPLATE and S_CONFIRM_CODE -->
+               <!-- DEFINE $CAPTCHA_TAB_INDEX = 3 -->
+               <!-- INCLUDE {CAPTCHA_TEMPLATE} -->
+       <!-- ENDIF -->
+       <!-- ENDIF -->
+
+       <!-- EVENT posting_editor_subject_after -->
+
+       <!-- INCLUDE posting_buttons.html -->
+
+       <div id="smiley-box" class="smiley-box">
+               <!-- EVENT posting_editor_smilies_before -->
+               <!-- IF S_SMILIES_ALLOWED and .smiley -->
+                       <strong>{L_SMILIES}</strong><br />
+                       <!-- BEGIN smiley -->
+                               <a href="#" onclick="insert_text('{smiley.A_SMILEY_CODE}', true); return false;"><img src="{smiley.SMILEY_IMG}" width="{smiley.SMILEY_WIDTH}" height="{smiley.SMILEY_HEIGHT}" alt="{smiley.SMILEY_CODE}" title="{smiley.SMILEY_DESC}" /></a>
+                       <!-- END smiley -->
+               <!-- ENDIF -->
+               <!-- IF S_SHOW_SMILEY_LINK and S_SMILIES_ALLOWED -->
+                       <br /><a href="{U_MORE_SMILIES}" onclick="popup(this.href, 750, 350, '_phpbbsmilies'); return false;">{L_MORE_SMILIES}</a>
+               <!-- ENDIF -->
+               <!-- EVENT posting_editor_smilies_after -->
+               <!-- IF BBCODE_STATUS -->
+               <div class="bbcode-status">
+                       <!-- IF .smiley --><hr /><!-- ENDIF -->
+                       {BBCODE_STATUS}<br />
+                       <!-- IF S_BBCODE_ALLOWED -->
+                               {IMG_STATUS}<br />
+                               {FLASH_STATUS}<br />
+                               {URL_STATUS}<br />
+                       <!-- ENDIF -->
+                       {SMILIES_STATUS}
+               </div>
+               <!-- ENDIF -->
+               <!-- EVENT posting_editor_bbcode_status_after -->
+               <!-- IF S_EDIT_DRAFT || S_DISPLAY_REVIEW -->
+                       <!-- IF S_DISPLAY_REVIEW --><hr /><!-- ENDIF -->
+                       <!-- IF S_EDIT_DRAFT --><strong><a href="{S_UCP_ACTION}">{L_BACK_TO_DRAFTS}</a></strong><!-- ENDIF -->
+                       <!-- IF S_DISPLAY_REVIEW --><strong><a href="#review">{L_TOPIC_REVIEW}</a></strong><!-- ENDIF -->
+               <!-- ENDIF -->
+       </div>
+
+       <!-- EVENT posting_editor_message_before -->
+
+       <div id="message-box" class="message-box">
+               <textarea <!-- IF S_UCP_ACTION and not S_PRIVMSGS and not S_EDIT_DRAFT -->name="signature" id="signature" style="height: 9em;"<!-- ELSE -->name="message" id="message"<!-- ENDIF --> rows="15" cols="76" tabindex="4" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);" onfocus="initInsertions();" class="inputbox">{MESSAGE}{DRAFT_MESSAGE}{SIGNATURE}</textarea>
+       </div>
+
+       <!-- EVENT posting_editor_message_after -->
+       </fieldset>
+
+<!-- IF $EXTRA_POSTING_OPTIONS eq 1 -->
+
+       <!-- IF not S_SHOW_DRAFTS -->
+               </div>
+       </div>
+       <!-- ENDIF -->
+
+       <!-- IF not S_SHOW_DRAFTS and not $SIG_EDIT eq 1 -->
+       <div class="panel bg2">
+               <div class="inner">
+               <fieldset class="submit-buttons">
+                       {S_HIDDEN_ADDRESS_FIELD}
+                       {S_HIDDEN_FIELDS}
+                       <!-- EVENT posting_editor_submit_buttons -->
+                       <!-- IF S_HAS_DRAFTS --><input type="submit" accesskey="d" tabindex="8" name="load" value="{L_LOAD_DRAFT}" class="button2" onclick="load_draft = true;" />&nbsp; <!-- ENDIF -->
+                       <!-- IF S_SAVE_ALLOWED --><input type="submit" accesskey="k" tabindex="7" name="save" value="{L_SAVE_DRAFT}" class="button2" />&nbsp; <!-- ENDIF -->
+                       <input type="submit" tabindex="5" name="preview" value="{L_PREVIEW}" class="button1"<!-- IF not S_PRIVMSGS --> onclick="document.getElementById('postform').action += '#preview';"<!-- ENDIF --> />&nbsp;
+                       <input type="submit" accesskey="s" tabindex="6" name="post" value="{L_SUBMIT}" class="button1 default-submit-action" />&nbsp;
+
+               </fieldset>
+
+               </div>
+       </div>
+       <!-- ENDIF -->
+
+       <!-- IF not S_PRIVMSGS and not S_SHOW_DRAFTS and not $SIG_EDIT eq 1 -->
+               <div id="tabs" class="tabs sub-panels" data-show-panel="<!-- IF SHOW_PANEL -->{SHOW_PANEL}<!-- ELSE -->options-panel<!-- ENDIF -->" role="tablist">
+                       <ul>
+                               <li id="options-panel-tab" class="tab activetab"><a href="#tabs" data-subpanel="options-panel" role="tab" aria-controls="options-panel"><span>{L_OPTIONS}</span></a></li>
+                               <!-- IF S_SHOW_ATTACH_BOX -->
+                                       <li id="attach-panel-tab" class="tab">
+                                               <a href="#tabs" data-subpanel="attach-panel" role="tab" aria-controls="attach-panel">
+                                                       {L_ATTACHMENTS} <strong id="file-total-progress" class="file-total-progress"><strong id="file-total-progress-bar" class="file-total-progress-bar"></strong></strong>
+                                               </a>
+                                       </li>
+                               <!-- ENDIF -->
+                               <!-- IF S_SHOW_POLL_BOX || S_POLL_DELETE -->
+                                       <li id="poll-panel-tab" class="tab">
+                                               <a href="#tabs" data-subpanel="poll-panel" role="tab" aria-controls="poll-panel">{L_ADD_POLL}</a>
+                                       </li>
+                               <!-- ENDIF -->
+                               <!-- EVENT posting_editor_add_panel_tab -->
+                       </ul>
+               </div>
+       <!-- ENDIF -->
+
+       <!-- IF not S_SHOW_DRAFTS and not $SIG_EDIT eq 1 -->
+       <div class="panel bg3" id="options-panel">
+               <div class="inner">
+
+               <fieldset class="fields1">
+                       <!-- EVENT posting_editor_options_prepend -->
+                       <!-- IF S_BBCODE_ALLOWED -->
+                               <div><label for="disable_bbcode"><input type="checkbox" name="disable_bbcode" id="disable_bbcode"{S_BBCODE_CHECKED} /> {L_DISABLE_BBCODE}</label></div>
+                       <!-- ENDIF -->
+                       <!-- IF S_SMILIES_ALLOWED -->
+                               <div><label for="disable_smilies"><input type="checkbox" name="disable_smilies" id="disable_smilies"{S_SMILIES_CHECKED} /> {L_DISABLE_SMILIES}</label></div>
+                       <!-- ENDIF -->
+                       <!-- IF S_LINKS_ALLOWED -->
+                               <div><label for="disable_magic_url"><input type="checkbox" name="disable_magic_url" id="disable_magic_url"{S_MAGIC_URL_CHECKED} /> {L_DISABLE_MAGIC_URL}</label></div>
+                       <!-- ENDIF -->
+                       <!-- IF S_SIG_ALLOWED -->
+                               <div><label for="attach_sig"><input type="checkbox" name="attach_sig" id="attach_sig"{S_SIGNATURE_CHECKED} /> {L_ATTACH_SIG}</label></div>
+                       <!-- ENDIF -->
+                       <!-- IF S_NOTIFY_ALLOWED -->
+                               <div><label for="notify"><input type="checkbox" name="notify" id="notify"{S_NOTIFY_CHECKED} /> {L_NOTIFY_REPLY}</label></div>
+                       <!-- ENDIF -->
+                       <!-- IF S_LOCK_TOPIC_ALLOWED -->
+                               <div><label for="lock_topic"><input type="checkbox" name="lock_topic" id="lock_topic"{S_LOCK_TOPIC_CHECKED} /> {L_LOCK_TOPIC}</label></div>
+                       <!-- ENDIF -->
+                       <!-- IF S_LOCK_POST_ALLOWED -->
+                               <div><label for="lock_post"><input type="checkbox" name="lock_post" id="lock_post"{S_LOCK_POST_CHECKED} /> {L_LOCK_POST} [{L_LOCK_POST_EXPLAIN}]</label></div>
+                       <!-- ENDIF -->
+
+                       <!-- IF S_TYPE_TOGGLE or S_TOPIC_TYPE_ANNOUNCE or S_TOPIC_TYPE_STICKY -->
+                       <hr class="dashed" />
+                       <!-- ENDIF -->
+
+                       <!-- IF S_TYPE_TOGGLE -->
+                       <dl>
+                               <dt><label for="topic_type-0"><!-- IF S_EDIT_POST -->{L_CHANGE_TOPIC_TO}<!-- ELSE -->{L_POST_TOPIC_AS}<!-- ENDIF -->{L_COLON}</label></dt>
+                               <dd><!-- BEGIN topic_type --><label for="topic_type-{topic_type.VALUE}"><input type="radio" name="topic_type" id="topic_type-{topic_type.VALUE}" value="{topic_type.VALUE}"{topic_type.S_CHECKED} />{topic_type.L_TOPIC_TYPE}</label> <!-- END topic_type --></dd>
+                       </dl>
+                       <!-- ENDIF -->
+
+                       <!-- IF S_TOPIC_TYPE_ANNOUNCE or S_TOPIC_TYPE_STICKY -->
+                       <dl>
+                               <dt><label for="topic_time_limit">{L_STICK_TOPIC_FOR}{L_COLON}</label></dt>
+                               <dd><label for="topic_time_limit"><input type="number" min="0" max="999" name="topic_time_limit" id="topic_time_limit" value="{TOPIC_TIME_LIMIT}" class="inputbox autowidth" /> {L_DAYS}</label></dd>
+                               <dd>{L_STICK_TOPIC_FOR_EXPLAIN}</dd>
+                       </dl>
+                       <!-- ENDIF -->
+
+                       <!-- IF S_SOFTDELETE_ALLOWED or S_DELETE_ALLOWED -->
+                               <hr class="dashed" />
+                               <dl>
+                                       <dt><label for="delete">{L_DELETE_POST}{L_COLON}</label></dt>
+                                       <dd><label for="delete"><input type="checkbox" name="delete" id="delete" {S_SOFTDELETE_CHECKED} /> {L_DELETE_POST_WARN}</label></dd>
+                                       <!-- IF S_DELETE_ALLOWED and S_SOFTDELETE_ALLOWED -->
+                                               <dd><label for="delete_permanent"><input type="checkbox" name="delete_permanent" id="delete_permanent" /> {L_DELETE_POST_PERMANENTLY}</label></dd>
+                                       <!-- ENDIF -->
+                               </dl>
+                       <!-- ENDIF -->
+
+                       <!-- IF S_EDIT_REASON -->
+                       <dl>
+                               <dt><label for="edit_reason">{L_EDIT_REASON}{L_COLON}</label></dt>
+                               <dd><input type="text" name="edit_reason" id="edit_reason" value="{EDIT_REASON}" class="inputbox" /></dd>
+                       </dl>
+                       <!-- ENDIF -->
+               </fieldset>
+               <!-- ENDIF -->
+
+<!-- ENDIF -->
diff --git a/template/posting_layout.html b/template/posting_layout.html
new file mode 100644 (file)
index 0000000..bca9195
--- /dev/null
@@ -0,0 +1,86 @@
+<!-- INCLUDE overall_header.html -->
+
+<!-- IF TOPIC_TITLE -->
+       <h2 class="posting-title"><!-- EVENT posting_topic_title_before --><a href="{U_VIEW_TOPIC}">{TOPIC_TITLE}</a><!-- EVENT posting_topic_title_after --></h2>
+<!-- ELSE -->
+       <h2 class="posting-title"><a href="{U_VIEW_FORUM}">{FORUM_NAME}</a></h2>
+ <!-- ENDIF -->
+
+<!-- IF S_FORUM_RULES -->
+       <div class="rules<!-- IF U_FORUM_RULES --> rules-link<!-- ENDIF -->">
+               <div class="inner">
+
+               <!-- IF U_FORUM_RULES -->
+                       <a href="{U_FORUM_RULES}">{L_FORUM_RULES}</a>
+               <!-- ELSE -->
+                       <strong>{L_FORUM_RULES}</strong><br />
+                       {FORUM_RULES}
+               <!-- ENDIF -->
+
+               </div>
+       </div>
+<!-- ENDIF -->
+
+<form id="postform" method="post" action="{S_POST_ACTION}"{S_FORM_ENCTYPE}>
+
+<!-- IF S_DRAFT_LOADED -->
+       <div class="panel">
+               <div class="inner">
+
+               <h3>{L_INFORMATION}</h3>
+               <p>{L_DRAFT_LOADED}</p>
+
+               </div>
+       </div>
+<!-- ENDIF -->
+
+<!-- IF S_SHOW_DRAFTS --><!-- INCLUDE drafts.html --><!-- ENDIF -->
+
+<!-- IF S_POST_REVIEW --><!-- INCLUDE posting_review.html --><!-- ENDIF -->
+
+<!-- IF S_UNGLOBALISE -->
+       <div class="panel bg3">
+               <div class="inner">
+               <fieldset class="fields1">
+                       <h2>{L_SELECT_DESTINATION_FORUM}</h2>
+                       <p>{L_UNGLOBALISE_EXPLAIN}</p>
+                       <dl>
+                               <dt><label for="to_forum_id">{L_MOVE}{L_COLON}</label></dt>
+                               <dd><select id="to_forum_id" name="to_forum_id">{S_FORUM_SELECT}</select></dd>
+                       </dl>
+
+                       <dl>
+                               <dt>&nbsp;</dt>
+                               <dd><input class="button1" type="submit" name="post" value="{L_CONFIRM}" /> <input class="button2" type="submit" name="cancel_unglobalise" value="{L_CANCEL}" /></dd>
+                       </dl>
+               </fieldset>
+
+               </div>
+       </div>
+<!-- ENDIF -->
+
+<!-- IF S_DISPLAY_PREVIEW --><!-- INCLUDE posting_preview.html --><!-- ENDIF -->
+
+<div class="panel" id="postingbox">
+       <div class="inner">
+
+       <h3>{L_POST_A}</h3>
+
+       <!-- DEFINE $EXTRA_POSTING_OPTIONS = 1 -->
+       <!-- INCLUDE posting_editor.html -->
+       <input type="hidden" name="show_panel" value="options-panel" />
+       {S_FORM_TOKEN}
+       </div>
+</div>
+
+<!-- IF S_SHOW_ATTACH_BOX --><!-- INCLUDE posting_attach_body.html --><!-- ENDIF -->
+
+<!-- IF S_SHOW_POLL_BOX or S_POLL_DELETE --><!-- INCLUDE posting_poll_body.html --><!-- ENDIF -->
+
+<!-- EVENT posting_layout_include_panel_body -->
+
+<!-- IF S_DISPLAY_REVIEW --><!-- INCLUDE posting_topic_review.html --><!-- ENDIF -->
+
+</form>
+
+<!-- INCLUDE overall_footer.html -->
diff --git a/template/posting_pm_header.html b/template/posting_pm_header.html
new file mode 100644 (file)
index 0000000..032d8c6
--- /dev/null
@@ -0,0 +1,83 @@
+<fieldset class="fields1">
+       <!-- IF not S_SHOW_DRAFTS -->
+
+               <!-- IF S_GROUP_OPTIONS -->
+                       <div class="column2">
+                               <label for="group_list"><strong>{L_TO_ADD_GROUPS}{L_COLON}</strong></label><br />
+                               <select name="group_list[]" id="group_list" multiple="multiple" size="3" class="inputbox">{S_GROUP_OPTIONS}</select><br />
+                       </div>
+               <!-- ENDIF -->
+               <!-- IF S_ALLOW_MASS_PM -->
+               <div class="column1">
+                       <!-- IF not S_EDIT_POST -->
+                       <dl class="pmlist">
+                               <dt><label><strong>{L_TO_ADD_MASS}{L_COLON}</strong><textarea id="username_list" name="username_list" class="inputbox" cols="50" rows="2" tabindex="1"></textarea></label></dt>
+                               <dd class="recipients">
+                               <input type="submit" name="add_to" value="{L_ADD}" class="button2" tabindex="1" />
+                               <input type="submit" name="add_bcc" value="{L_ADD_BCC}" class="button2" tabindex="1" />
+                               <!-- EVENT posting_pm_header_find_username_before -->
+                               <span><a href="{U_FIND_USERNAME}" onclick="find_username(this.href); return false;">{L_FIND_USERNAME}</a></span>
+                               <!-- EVENT posting_pm_header_find_username_after -->
+                               </dd>
+                       </dl>
+                       <!-- ENDIF -->
+               </div>
+               <!-- IF .to_recipient or .bcc_recipient --><hr /><!-- ENDIF -->
+               <div class="column1">
+                       <!-- IF .to_recipient -->
+                               <dl>
+                                       <dt><label>{L_TO_MASS}{L_COLON}</label></dt>
+                                       <dd class="recipients">
+                                       <ul class="recipients">
+                                               <!-- BEGIN to_recipient -->
+                                               <li>
+                                                       <!-- IF not S_EDIT_POST --><input type="submit" name="remove_{to_recipient.TYPE}[{to_recipient.UG_ID}]" value="x" class="button2" /><!-- ENDIF -->
+                                                       <!-- IF to_recipient.IS_GROUP --><a href="{to_recipient.U_VIEW}"><strong>{to_recipient.NAME}</strong></a><!-- ELSE -->{to_recipient.NAME_FULL}<!-- ENDIF -->
+                                               </li>
+                                               <!-- END to_recipient -->
+                                       </ul>
+                                       </dd>
+                               </dl>
+                       <!-- ENDIF -->
+               </div>
+                       <!-- IF .bcc_recipient -->
+                       <div class="column2">
+                               <dl>
+                                       <dt><label>{L_BCC}{L_COLON}</label></dt>
+                                       <dd class="recipients">
+                                       <ul class="recipients">
+                                               <!-- BEGIN bcc_recipient -->
+                                               <li>
+                                                       <!-- IF not S_EDIT_POST --><input type="submit" name="remove_{bcc_recipient.TYPE}[{bcc_recipient.UG_ID}]" value="x" class="button2" /><!-- ENDIF -->
+                                                       <!-- IF bcc_recipient.IS_GROUP --><a href="{bcc_recipient.U_VIEW}"><strong>{bcc_recipient.NAME}</strong></a><!-- ELSE -->{bcc_recipient.NAME_FULL}<!-- ENDIF -->
+                                               </li>
+                                               <!-- END bcc_recipient -->
+                                       </ul>
+                                       </dd>
+                               </dl>
+                       </div>
+                       <!-- ENDIF -->
+               <!-- ELSE -->
+               <div class="column1">
+                       <dl>
+                               <dt><label for="username_list">{L_TO_ADD}{L_COLON}</label><!-- IF not S_EDIT_POST --><br /><span><a href="{U_FIND_USERNAME}" onclick="find_username(this.href); return false">{L_FIND_USERNAME}</a></span><!-- ENDIF --></dt>
+                               <!-- IF not S_EDIT_POST -->
+                               <dd><input class="inputbox" type="text" name="username_list" id="username_list" size="20" value="" /> <input type="submit" name="add_to" value="{L_ADD}" class="button2" /></dd>
+                               <!-- ENDIF -->
+                               <!-- IF .to_recipient -->
+                                       <dd class="recipients">
+                                       <ul class="recipients">
+                                               <!-- BEGIN to_recipient -->
+                                               <li>
+                                                       <!-- IF to_recipient.IS_GROUP --><a href="{to_recipient.U_VIEW}"><strong>{to_recipient.NAME}</strong></a><!-- ELSE -->{to_recipient.NAME_FULL}<!-- ENDIF -->&nbsp;
+                                                       <!-- IF not S_EDIT_POST --><input type="submit" name="remove_{to_recipient.TYPE}[{to_recipient.UG_ID}]" value="x" class="button2" /><!-- ENDIF -->
+                                               </li>
+                                               <!-- END to_recipient -->
+                                       </dd>
+                               <!-- ENDIF -->
+                       </dl>
+               </div>
+               <!-- ENDIF -->
+
+       <!-- ENDIF -->
+       </fieldset>
diff --git a/template/posting_pm_layout.html b/template/posting_pm_layout.html
new file mode 100644 (file)
index 0000000..316fa79
--- /dev/null
@@ -0,0 +1,43 @@
+<!-- INCLUDE ucp_header.html -->
+
+<!-- IF S_DRAFT_LOADED -->
+       <div class="panel">
+               <div class="inner">
+
+               <h3>{L_INFORMATION}</h3>
+               <p>{L_DRAFT_LOADED_PM}</p>
+
+               </div>
+       </div>
+<!-- ENDIF -->
+
+<!-- IF S_SHOW_DRAFTS --><!-- INCLUDE drafts.html --><!-- ENDIF -->
+
+<!-- IF S_DISPLAY_PREVIEW --><!-- INCLUDE posting_preview.html --><!-- ENDIF -->
+
+<h2 class="posting-title">{L_TITLE}</h2>
+
+<div class="panel" id="pmheader-postingbox">
+       <div class="inner">
+       <!-- EVENT posting_pm_layout_include_pm_header_before -->
+       <!-- INCLUDE posting_pm_header.html -->
+       <!-- EVENT posting_pm_layout_include_pm_header_after -->
+       </div>
+</div>
+
+<div class="panel" id="postingbox">
+       <div class="inner">
+
+       <!-- DEFINE $EXTRA_POSTING_OPTIONS = 1 -->
+       <!-- INCLUDE posting_editor.html -->
+
+       </div>
+</div>
+
+<!-- IF S_SHOW_ATTACH_BOX --><!-- INCLUDE posting_attach_body.html --><!-- ENDIF -->
+
+<!-- IF S_DISPLAY_REVIEW --><!-- INCLUDE posting_topic_review.html --><!-- ENDIF -->
+
+<!-- IF S_DISPLAY_HISTORY --><!-- INCLUDE ucp_pm_history.html --><!-- ENDIF -->
+
+<!-- INCLUDE ucp_footer.html -->
diff --git a/template/posting_poll_body.html b/template/posting_poll_body.html
new file mode 100644 (file)
index 0000000..ee7100a
--- /dev/null
@@ -0,0 +1,53 @@
+<div class="panel bg3" id="poll-panel">
+       <div class="inner">
+
+       <!-- IF S_SHOW_POLL_BOX -->
+       <p>{L_ADD_POLL_EXPLAIN}</p>
+       <!-- ENDIF -->
+
+       <fieldset class="fields2">
+       <!-- IF S_POLL_DELETE -->
+               <dl>
+                       <dt><label for="poll_delete">{L_POLL_DELETE}{L_COLON}</label></dt>
+                       <dd><label for="poll_delete"><input type="checkbox" name="poll_delete" id="poll_delete"<!-- IF S_POLL_DELETE_CHECKED --> checked="checked"<!-- ENDIF --> /> </label></dd>
+               </dl>
+       <!-- ENDIF -->
+
+       <!-- IF S_SHOW_POLL_BOX -->
+               <dl>
+                       <dt><label for="poll_title">{L_POLL_QUESTION}{L_COLON}</label></dt>
+                       <dd><input type="text" name="poll_title" id="poll_title" maxlength="255" value="{POLL_TITLE}" class="inputbox" /></dd>
+               </dl>
+               <dl>
+                       <dt><label for="poll_option_text">{L_POLL_OPTIONS}{L_COLON}</label><br /><span>{L_POLL_OPTIONS_EXPLAIN}</span></dt>
+                       <dd><textarea name="poll_option_text" id="poll_option_text" rows="5" cols="35" class="inputbox">{POLL_OPTIONS}</textarea></dd>
+               </dl>
+
+               <hr class="dashed" />
+
+               <dl>
+                       <dt><label for="poll_max_options">{L_POLL_MAX_OPTIONS}{L_COLON}</label></dt>
+                       <dd><input type="number" min="0" max="999" name="poll_max_options" id="poll_max_options" value="{POLL_MAX_OPTIONS}" class="inputbox autowidth" /></dd>
+                       <dd>{L_POLL_MAX_OPTIONS_EXPLAIN}</dd>
+               </dl>
+               <dl>
+                       <dt><label for="poll_length">{L_POLL_FOR}{L_COLON}</label></dt>
+                       <dd><label for="poll_length"><input type="number" min="0" max="999" name="poll_length" id="poll_length" value="{POLL_LENGTH}" class="inputbox autowidth" /> {L_DAYS}</label></dd>
+                       <dd>{L_POLL_FOR_EXPLAIN}</dd>
+               </dl>
+
+               <!-- IF S_POLL_VOTE_CHANGE -->
+                       <hr class="dashed" />
+
+                       <dl>
+                               <dt><label for="poll_vote_change">{L_POLL_VOTE_CHANGE}{L_COLON}</label></dt>
+                               <dd><label for="poll_vote_change"><input type="checkbox" id="poll_vote_change" name="poll_vote_change"{VOTE_CHANGE_CHECKED} /> {L_POLL_VOTE_CHANGE_EXPLAIN}</label></dd>
+                       </dl>
+               <!-- ENDIF -->
+       <!-- ENDIF -->
+
+       <!-- EVENT posting_poll_body_options_after -->
+       </fieldset>
+
+       </div>
+</div>
diff --git a/template/posting_preview.html b/template/posting_preview.html
new file mode 100644 (file)
index 0000000..aac117c
--- /dev/null
@@ -0,0 +1,49 @@
+<div class="post <!-- IF S_PRIVMSGS -->pm<!-- ELSE -->bg2<!-- ENDIF -->" id="preview">
+       <div class="inner">
+
+<!-- IF S_HAS_POLL_OPTIONS -->
+       <div class="content">
+               <h2>{L_PREVIEW}{L_COLON} {POLL_QUESTION}</h2>
+               <p class="author"><!-- IF L_POLL_LENGTH -->{L_POLL_LENGTH}<br /><!-- ENDIF -->{L_MAX_VOTES}</p>
+
+               <fieldset class="polls">
+               <!-- BEGIN poll_option -->
+                       <dl>
+                               <dt><label for="vote_{poll_option.POLL_OPTION_ID}">{poll_option.POLL_OPTION_CAPTION}</label></dt>
+                               <dd style="width: auto;"><!-- IF S_IS_MULTI_CHOICE --><input type="checkbox" name="vote_id[]" id="vote_{poll_option.POLL_OPTION_ID}" value="{poll_option.POLL_OPTION_ID}"<!-- IF poll_option.POLL_OPTION_VOTED --> checked="checked"<!-- ENDIF --> /><!-- ELSE --><input type="radio" name="vote_id[]" id="vote_{poll_option.POLL_OPTION_ID}" value="{poll_option.POLL_OPTION_ID}"<!-- IF poll_option.POLL_OPTION_VOTED --> checked="checked"<!-- ENDIF --> /><!-- ENDIF --></dd>
+                       </dl>
+               <!-- END poll_option -->
+               </fieldset>
+       </div>
+
+       </div>
+</div>
+
+<div class="post bg2">
+       <div class="inner">
+
+<!-- ENDIF -->
+
+<!-- EVENT posting_preview_poll_after -->
+
+       <div class="postbody">
+               <h3>{L_PREVIEW}{L_COLON} {PREVIEW_SUBJECT}</h3>
+
+               <div class="content">{PREVIEW_MESSAGE}</div>
+
+               <!-- IF .attachment -->
+               <dl class="attachbox">
+                       <dt>{L_ATTACHMENTS}</dt>
+                       <!-- BEGIN attachment -->
+                       <dd>{attachment.DISPLAY_ATTACHMENT}</dd>
+                       <!-- END attachment -->
+               </dl>
+               <!-- ENDIF -->
+
+               <!-- IF PREVIEW_SIGNATURE --><div class="signature">{PREVIEW_SIGNATURE}</div><!-- ENDIF -->
+       </div>
+
+       </div>
+</div>
+
+<hr />
diff --git a/template/posting_review.html b/template/posting_review.html
new file mode 100644 (file)
index 0000000..1304046
--- /dev/null
@@ -0,0 +1,44 @@
+<h3>{L_POST_REVIEW}</h3>
+
+<p>{L_POST_REVIEW_EXPLAIN}</p>
+
+<!-- BEGIN post_review_row -->
+<!-- IF post_review_row.S_IGNORE_POST -->
+<div class="post bg3 post-ignore">
+       <div class="inner">
+               {post_review_row.L_IGNORE_POST}
+<!-- ELSE -->
+<div class="post <!-- IF post_review_row.S_ROW_COUNT is odd -->bg1<!-- ELSE -->bg2<!-- ENDIF -->">
+       <div class="inner">
+<!-- ENDIF -->
+
+       <div class="postbody" id="ppr{post_review_row.POST_ID}">
+               <h3><a href="#ppr{post_review_row.POST_ID}">{post_review_row.POST_SUBJECT}</a></h3>
+               <p class="author">
+                       <!-- IF S_IS_BOT -->
+                               <span><i class="icon fa-file fa-fw icon-lightgray icon-md" aria-hidden="true"></i><span class="sr-only">{post_review_row.MINI_POST}</span></span>
+                       <!-- ELSE -->
+                               <a href="{post_review_row.U_MINI_POST}" title="{post_review_row.MINI_POST}">
+                                       <i class="icon fa-file fa-fw icon-lightgray icon-md" aria-hidden="true"></i><span class="sr-only">{post_review_row.MINI_POST}</span>
+                               </a>
+                       <!-- ENDIF -->
+                       {L_POST_BY_AUTHOR}<strong>  {post_review_row.POST_AUTHOR_FULL}</strong> &raquo; {post_review_row.POST_DATE}
+               </p>
+               <div class="content">{post_review_row.MESSAGE}</div>
+
+               <!-- IF post_review_row.S_HAS_ATTACHMENTS -->
+                       <dl class="attachbox">
+                               <dt>{L_ATTACHMENTS}</dt>
+                               <!-- BEGIN attachment -->
+                                       <dd>{post_review_row.attachment.DISPLAY_ATTACHMENT}</dd>
+                               <!-- END attachment -->
+                       </dl>
+               <!-- ENDIF -->
+
+       </div>
+
+       </div>
+</div>
+<!-- END post_review_row -->
+
+<hr />
diff --git a/template/posting_smilies.html b/template/posting_smilies.html
new file mode 100644 (file)
index 0000000..54e82a5
--- /dev/null
@@ -0,0 +1,27 @@
+<!-- INCLUDE simple_header.html -->
+
+<script type="text/javascript">
+// <![CDATA[
+       var form_name = opener.form_name;
+       var text_name = opener.text_name;
+// ]]>
+</script>
+<!-- INCLUDEJS {T_ASSETS_PATH}/javascript/editor.js -->
+
+<h2>{L_SMILIES}</h2>
+<div class="panel">
+       <div class="inner">
+               <!-- BEGIN smiley -->
+                       <a href="#" onclick="initInsertions(); insert_text('{smiley.A_SMILEY_CODE}', true, true); return false;"><img src="{smiley.SMILEY_IMG}" width="{smiley.SMILEY_WIDTH}" height="{smiley.SMILEY_HEIGHT}" alt="{smiley.SMILEY_CODE}" title="{smiley.SMILEY_DESC}" /></a>
+               <!-- END smiley -->
+
+       </div>
+</div>
+<!-- IF .pagination -->
+       <div class="pagination">
+               <!-- INCLUDE pagination.html -->
+       </div>
+<!-- ENDIF -->
+<a href="#" onclick="window.close(); return false;">{L_CLOSE_WINDOW}</a>
+
+<!-- INCLUDE simple_footer.html -->
diff --git a/template/posting_topic_review.html b/template/posting_topic_review.html
new file mode 100644 (file)
index 0000000..857c686
--- /dev/null
@@ -0,0 +1,89 @@
+
+<h3 id="review" class="review">
+       <span class="right-box"><a href="#review" onclick="viewableArea(getElementById('topicreview'), true); var rev_text = getElementById('review').getElementsByTagName('a').item(0).firstChild; if (rev_text.data == '{LA_EXPAND_VIEW}'){rev_text.data = '{LA_COLLAPSE_VIEW}'; } else if (rev_text.data == '{LA_COLLAPSE_VIEW}'){rev_text.data = '{LA_EXPAND_VIEW}'};">{L_EXPAND_VIEW}</a></span>
+       {L_TOPIC_REVIEW}{L_COLON} {TOPIC_TITLE}
+</h3>
+
+<div id="topicreview" class="topicreview">
+<script type="text/javascript">
+// <![CDATA[
+       bbcodeEnabled = {S_BBCODE_ALLOWED};
+// ]]>
+</script>
+       <!-- BEGIN topic_review_row -->
+
+       <!-- IF topic_review_row.S_IGNORE_POST -->
+       <div class="post bg3 post-ignore">
+               <div class="inner">
+                       {topic_review_row.L_IGNORE_POST}
+       <!-- ELSE IF topic_review_row.S_POST_DELETED -->
+       <div class="post bg3 post-ignore">
+               <div class="inner">
+                       {topic_review_row.L_DELETE_POST}
+       <!-- ELSE -->
+       <div class="post <!-- IF topic_review_row.S_ROW_COUNT is odd -->bg1<!-- ELSE -->bg2<!-- ENDIF --><!-- IF topic_review_row.POST_ID == REPORTED_POST_ID --> reported<!-- ENDIF -->">
+               <div class="inner">
+       <!-- ENDIF -->
+
+               <div class="postbody" id="pr{topic_review_row.POST_ID}">
+                       <h3><a href="#pr{topic_review_row.POST_ID}">{topic_review_row.POST_SUBJECT}</a></h3>
+
+                       <!-- IF (topic_review_row.POSTER_QUOTE and topic_review_row.DECODED_MESSAGE) or topic_review_row.U_MCP_DETAILS -->
+                       <ul class="post-buttons">
+                       <!-- IF topic_review_row.U_MCP_DETAILS -->
+                               <li>
+                                       <a href="{topic_review_row.U_MCP_DETAILS}" title="{L_POST_DETAILS}" class="button button-icon-only">
+                                               <i class="icon fa-info fa-fw" aria-hidden="true"></i><span class="sr-only">{L_POST_DETAILS}</span>
+                                       </a>
+                               <li>
+                       <!-- ENDIF -->
+                       <!-- IF topic_review_row.POSTER_QUOTE and topic_review_row.DECODED_MESSAGE -->
+                               <li>
+                                       <a href="#postingbox" onclick="addquote({topic_review_row.POST_ID}, '{topic_review_row.POSTER_QUOTE}', '{LA_WROTE}', {post_id:{topic_review_row.POST_ID},time:{topic_review_row.POST_TIME},user_id:{topic_review_row.USER_ID}});" title="{L_QUOTE} {topic_review_row.POST_AUTHOR}" class="button button-icon-only">
+                                               <i class="icon fa-quote-left fa-fw" aria-hidden="true"></i><span class="sr-only">{L_QUOTE} {topic_review_row.POST_AUTHOR}</span>
+                                       </a>
+                               </li>
+                       <!-- ENDIF -->
+                       </ul>
+                       <!-- ENDIF -->
+
+                       <!-- EVENT posting_topic_review_row_post_details_before -->
+                       <p class="author">
+                               <!-- IF S_IS_BOT -->
+                                       <span><i class="icon fa-file fa-fw icon-lightgray icon-md" aria-hidden="true"></i><span class="sr-only">{topic_review_row.MINI_POST}</span></span>
+                               <!-- ELSE -->
+                                       <a href="{topic_review_row.U_MINI_POST}" title="{topic_review_row.MINI_POST}">
+                                               <i class="icon fa-file fa-fw icon-lightgray icon-md" aria-hidden="true"></i><span class="sr-only">{topic_review_row.MINI_POST}</span>
+                                       </a>
+                               <!-- ENDIF -->
+                               {L_POST_BY_AUTHOR} <strong>{topic_review_row.POST_AUTHOR_FULL}</strong> &raquo; {topic_review_row.POST_DATE}
+                       </p>
+                       <!-- EVENT posting_topic_review_row_post_details_after -->
+
+                       <div class="content">{topic_review_row.MESSAGE}</div>
+
+                       <!-- IF topic_review_row.S_HAS_ATTACHMENTS -->
+                               <dl class="attachbox">
+                                       <dt>{L_ATTACHMENTS}</dt>
+                                       <!-- BEGIN attachment -->
+                                               <dd>{topic_review_row.attachment.DISPLAY_ATTACHMENT}</dd>
+                                       <!-- END attachment -->
+                               </dl>
+                       <!-- ENDIF -->
+
+                       <!-- IF topic_review_row.POSTER_QUOTE and topic_review_row.DECODED_MESSAGE -->
+                               <div id="message_{topic_review_row.POST_ID}" style="display: none;">{topic_review_row.DECODED_MESSAGE}</div>
+                       <!-- ENDIF -->
+               </div>
+               </div>
+       </div>
+       <!-- END topic_review_row -->
+</div>
+
+<hr />
+
+<p>
+       <a href="<!-- IF S_MCP_REPORT -->#report<!-- ELSE -->#postingbox<!-- ENDIF -->" class="top">
+               <i class="icon fa-chevron-circle-up fa-fw icon-gray" aria-hidden="true"></i><span>{L_BACK_TO_TOP}</span>
+       </a>
+</p>
diff --git a/template/profilefields/bool.html b/template/profilefields/bool.html
new file mode 100644 (file)
index 0000000..f1d7ba7
--- /dev/null
@@ -0,0 +1,7 @@
+<!-- BEGIN bool -->
+<!-- IF bool.FIELD_LENGTH eq 1 -->
+       <!-- BEGIN options --><label for="{bool.FIELD_IDENT}_{bool.options.OPTION_ID}"><input type="radio" class="radio" name="{bool.FIELD_IDENT}" id="{bool.FIELD_IDENT}_{bool.options.OPTION_ID}" value="{bool.options.OPTION_ID}"{bool.options.CHECKED} /> {bool.options.VALUE}</label> <!-- END options -->
+<!-- ELSE -->
+       <input type="checkbox" class="radio" name="{bool.FIELD_IDENT}" id="{bool.FIELD_IDENT}"<!-- IF bool.FIELD_VALUE --> checked="checked"<!-- ENDIF --> />
+<!-- ENDIF -->
+<!-- END bool -->
diff --git a/template/profilefields/date.html b/template/profilefields/date.html
new file mode 100644 (file)
index 0000000..5d5bc04
--- /dev/null
@@ -0,0 +1,5 @@
+<!-- BEGIN date -->
+<label for="{date.FIELD_IDENT}_day">{L_DAY}{L_COLON} <select name="{date.FIELD_IDENT}_day" id="{date.FIELD_IDENT}_day">{date.S_DAY_OPTIONS}</select></label>
+<label for="{date.FIELD_IDENT}_month">{L_MONTH}{L_COLON} <select name="{date.FIELD_IDENT}_month" id="{date.FIELD_IDENT}_month">{date.S_MONTH_OPTIONS}</select></label>
+<label for="{date.FIELD_IDENT}_year">{L_YEAR}{L_COLON} <select name="{date.FIELD_IDENT}_year" id="{date.FIELD_IDENT}_year">{date.S_YEAR_OPTIONS}</select></label>
+<!-- END date -->
diff --git a/template/profilefields/dropdown.html b/template/profilefields/dropdown.html
new file mode 100644 (file)
index 0000000..243b703
--- /dev/null
@@ -0,0 +1,5 @@
+<!-- BEGIN dropdown -->
+<select name="{dropdown.FIELD_IDENT}" id="{dropdown.FIELD_IDENT}">
+       <!-- BEGIN options --><option value="{dropdown.options.OPTION_ID}"{dropdown.options.SELECTED}>{dropdown.options.VALUE}</option><!-- END options -->
+</select>
+<!-- END dropdown -->
diff --git a/template/profilefields/int.html b/template/profilefields/int.html
new file mode 100644 (file)
index 0000000..a6f9a0a
--- /dev/null
@@ -0,0 +1,3 @@
+<!-- BEGIN int -->
+<input type="number" min="{int.FIELD_MINLEN}" max="{int.FIELD_MAXLEN}" class="inputbox autowidth" name="{int.FIELD_IDENT}" id="{int.FIELD_IDENT}" size="{int.FIELD_LENGTH}" value="{int.FIELD_VALUE}" />
+<!-- END int -->
diff --git a/template/profilefields/string.html b/template/profilefields/string.html
new file mode 100644 (file)
index 0000000..cf457d3
--- /dev/null
@@ -0,0 +1,3 @@
+<!-- BEGIN string -->
+<input type="text" class="inputbox autowidth" name="{string.FIELD_IDENT}" id="{string.FIELD_IDENT}" size="{string.FIELD_LENGTH}" maxlength="{string.FIELD_MAXLEN}" value="{string.FIELD_VALUE}" />
+<!-- END string -->
diff --git a/template/profilefields/text.html b/template/profilefields/text.html
new file mode 100644 (file)
index 0000000..f54c639
--- /dev/null
@@ -0,0 +1,3 @@
+<!-- BEGIN text -->
+<textarea name="{text.FIELD_IDENT}" id="{text.FIELD_IDENT}" rows="{text.FIELD_ROWS}" cols="{text.FIELD_COLS}" class="inputbox">{text.FIELD_VALUE}</textarea>
+<!-- END text -->
diff --git a/template/profilefields/url.html b/template/profilefields/url.html
new file mode 100644 (file)
index 0000000..8dd3a90
--- /dev/null
@@ -0,0 +1,3 @@
+<!-- BEGIN url -->
+<input type="url" class="inputbox autowidth" name="{url.FIELD_IDENT}" id="{url.FIELD_IDENT}" size="{url.FIELD_LENGTH}" maxlength="{url.FIELD_MAXLEN}" value="{url.FIELD_VALUE}" />
+<!-- END url -->
diff --git a/template/quickreply_editor.html b/template/quickreply_editor.html
new file mode 100644 (file)
index 0000000..9839494
--- /dev/null
@@ -0,0 +1,27 @@
+<form method="post" action="{U_QR_ACTION}" id="qr_postform">
+<!-- EVENT quickreply_editor_panel_before -->
+       <div class="panel">
+               <div class="inner">
+                               <h2 class="quickreply-title">{L_QUICKREPLY}</h2>
+                               <fieldset class="fields1">
+                               <!-- EVENT quickreply_editor_subject_before -->
+                                       <dl style="clear: left;">
+                                               <dt><label for="subject">{L_SUBJECT}{L_COLON}</label></dt>
+                                               <dd><input type="text" name="subject" id="subject" size="45" maxlength="124" tabindex="2" value="{SUBJECT}" class="inputbox autowidth" /></dd>
+                                       </dl>
+                               <!-- EVENT quickreply_editor_message_before -->
+                               <div id="message-box" class="message-box">
+                                       <textarea style="height: 9em;" name="message" rows="7" cols="76" tabindex="3" class="inputbox"></textarea>
+                               </div>
+                               <!-- EVENT quickreply_editor_message_after -->
+                               </fieldset>
+                               <fieldset class="submit-buttons">
+                                       {S_FORM_TOKEN}
+                                       {QR_HIDDEN_FIELDS}
+                                       <input type="submit" accesskey="f" tabindex="6" name="preview" value="{L_FULL_EDITOR}" class="button2" id="qr_full_editor" />&nbsp;
+                                       <input type="submit" accesskey="s" tabindex="7" name="post" value="{L_SUBMIT}" class="button1" />&nbsp;
+                               </fieldset>
+               </div>
+       </div>
+<!-- EVENT quickreply_editor_panel_after -->
+</form>
diff --git a/template/report_body.html b/template/report_body.html
new file mode 100644 (file)
index 0000000..285e8ec
--- /dev/null
@@ -0,0 +1,55 @@
+<!-- INCLUDE overall_header.html -->
+
+<h2 class="titlespace"><!-- IF S_REPORT_POST -->{L_REPORT_POST}<!-- ELSE -->{L_REPORT_MESSAGE}<!-- ENDIF --></h2>
+
+<form method="post" action="{S_REPORT_ACTION}" id="report">
+<div class="panel">
+       <div class="inner">
+
+       <div class="content">
+               <p><!-- IF S_REPORT_POST -->{L_REPORT_POST_EXPLAIN}<!-- ELSE -->{L_REPORT_MESSAGE_EXPLAIN}<!-- ENDIF --></p>
+
+               <fieldset>
+               <!-- IF ERROR --><dl><dd class="error">{ERROR}</dd></dl><!-- ENDIF -->
+               <dl class="fields2">
+                       <dt><label for="reason_id">{L_REASON}{L_COLON}</label></dt>
+                       <dd><select name="reason_id" id="reason_id" class="full"><!-- BEGIN reason --><option value="{reason.ID}"<!-- IF reason.S_SELECTED --> selected="selected"<!-- ENDIF -->>{reason.DESCRIPTION}</option><!-- END reason --></select></dd>
+               </dl>
+               <!-- IF S_CAN_NOTIFY -->
+                       <dl class="fields2">
+                               <dt><label for="notify1">{L_REPORT_NOTIFY}{L_COLON}</label><br /><span>{L_REPORT_NOTIFY_EXPLAIN}</span></dt>
+                               <dd>
+                                       <label for="notify1"><input type="radio" name="notify" id="notify1" value="1" <!-- IF not S_NOTIFY -->checked="checked"<!-- ENDIF --> /> {L_YES}</label>
+                                       <label for="notify0"><input type="radio" name="notify" id="notify0" value="0" <!-- IF S_NOTIFY -->checked="checked"<!-- ENDIF --> /> {L_NO}</label>
+                               </dd>
+                       </dl>
+               <!-- ENDIF -->
+               <dl class="fields2">
+                       <dt><label for="report_text">{L_MORE_INFO}{L_COLON}</label><br /><span>{L_CAN_LEAVE_BLANK}</span></dt>
+                       <dd><textarea name="report_text" id="report_text" rows="10" cols="76" class="inputbox">{REPORT_TEXT}</textarea></dd>
+               </dl>
+               <!-- IF CAPTCHA_TEMPLATE -->
+                       <!-- INCLUDE {CAPTCHA_TEMPLATE} -->
+               <!-- ENDIF -->
+               </fieldset>
+       </div>
+
+       </div>
+</div>
+
+<div class="panel">
+       <div class="inner">
+
+       <div class="content">
+               <fieldset class="submit-buttons">
+                       <input type="submit" name="submit" class="button1" value="{L_SUBMIT}" />&nbsp;
+                       <input type="submit" name="cancel" class="button2" value="{L_CANCEL}" />
+                       {S_FORM_TOKEN}
+               </fieldset>
+       </div>
+
+       </div>
+</div>
+</form>
+
+<!-- INCLUDE overall_footer.html -->
diff --git a/template/search_body.html b/template/search_body.html
new file mode 100644 (file)
index 0000000..618e268
--- /dev/null
@@ -0,0 +1,136 @@
+<!-- INCLUDE overall_header.html -->
+
+<h2 class="solo">{L_SEARCH}</h2>
+
+<!-- EVENT search_body_form_before -->
+<form method="get" action="{S_SEARCH_ACTION}" data-focus="keywords">
+
+<div class="panel">
+       <div class="inner">
+       <h3>{L_SEARCH_QUERY}</h3>
+
+       <!-- EVENT search_body_search_query_before -->
+       <fieldset>
+       <!-- EVENT search_body_search_query_prepend -->
+       <dl>
+               <dt><label for="keywords">{L_SEARCH_KEYWORDS}{L_COLON}</label><br /><span>{L_SEARCH_KEYWORDS_EXPLAIN}</span></dt>
+               <dd><input type="search" class="inputbox" name="keywords" id="keywords" size="40" title="{L_SEARCH_KEYWORDS}" /></dd>
+               <dd><label for="terms1"><input type="radio" name="terms" id="terms1" value="all" checked="checked" /> {L_SEARCH_ALL_TERMS}</label></dd>
+               <dd><label for="terms2"><input type="radio" name="terms" id="terms2" value="any" /> {L_SEARCH_ANY_TERMS}</label></dd>
+       </dl>
+       <dl>
+               <dt><label for="author">{L_SEARCH_AUTHOR}{L_COLON}</label><br /><span>{L_SEARCH_AUTHOR_EXPLAIN}</span></dt>
+               <dd><input type="search" class="inputbox" name="author" id="author" size="40" title="{L_SEARCH_AUTHOR}" /></dd>
+       </dl>
+       <!-- EVENT search_body_search_query_append -->
+       </fieldset>
+       <!-- EVENT search_body_search_query_after -->
+
+       </div>
+</div>
+
+<div class="panel bg2">
+       <div class="inner">
+
+       <h3>{L_SEARCH_OPTIONS}</h3>
+
+       <!-- EVENT search_body_search_options_before -->
+       <fieldset>
+       <!-- EVENT search_body_search_options_prepend -->
+       <dl>
+               <dt><label for="search_forum">{L_SEARCH_FORUMS}{L_COLON}</label><br /><span>{L_SEARCH_FORUMS_EXPLAIN}</span></dt>
+               <dd><select name="fid[]" id="search_forum" multiple="multiple" size="8" title="{L_SEARCH_FORUMS}">{S_FORUM_OPTIONS}</select></dd>
+       </dl>
+       <dl>
+               <dt><label for="search_child1">{L_SEARCH_SUBFORUMS}{L_COLON}</label></dt>
+               <dd>
+                       <label for="search_child1"><input type="radio" name="sc" id="search_child1" value="1" checked="checked" /> {L_YES}</label>
+                       <label for="search_child2"><input type="radio" name="sc" id="search_child2" value="0" /> {L_NO}</label>
+               </dd>
+       </dl>
+       <dl>
+               <dt><label for="sf1">{L_SEARCH_WITHIN}{L_COLON}</label></dt>
+               <dd><label for="sf1"><input type="radio" name="sf" id="sf1" value="all" checked="checked" /> {L_SEARCH_TITLE_MSG}</label></dd>
+               <dd><label for="sf2"><input type="radio" name="sf" id="sf2" value="msgonly" /> {L_SEARCH_MSG_ONLY}</label></dd>
+               <dd><label for="sf3"><input type="radio" name="sf" id="sf3" value="titleonly" /> {L_SEARCH_TITLE_ONLY}</label></dd>
+               <dd><label for="sf4"><input type="radio" name="sf" id="sf4" value="firstpost" /> {L_SEARCH_FIRST_POST}</label></dd>
+       </dl>
+       <!-- EVENT search_body_search_options_append -->
+
+       <hr class="dashed" />
+
+       <!-- EVENT search_body_search_display_options_prepend -->
+       <dl>
+               <dt><label for="show_results1">{L_DISPLAY_RESULTS}{L_COLON}</label></dt>
+               <dd>
+                       <label for="show_results1"><input type="radio" name="sr" id="show_results1" value="posts" checked="checked" /> {L_POSTS}</label>
+                       <label for="show_results2"><input type="radio" name="sr" id="show_results2" value="topics" /> {L_TOPICS}</label>
+               </dd>
+       </dl>
+       <dl>
+               <dt><label for="sd">{L_RESULT_SORT}{L_COLON}</label></dt>
+               <dd>{S_SELECT_SORT_KEY}&nbsp;
+                       <label for="sa"><input type="radio" name="sd" id="sa" value="a" /> {L_SORT_ASCENDING}</label>
+                       <label for="sd"><input type="radio" name="sd" id="sd" value="d" checked="checked" /> {L_SORT_DESCENDING}</label>
+               </dd>
+       </dl>
+       <dl>
+               <dt><label>{L_RESULT_DAYS}{L_COLON}</label></dt>
+               <dd>{S_SELECT_SORT_DAYS}</dd>
+       </dl>
+       <dl>
+               <dt><label>{L_RETURN_FIRST}{L_COLON}</label></dt>
+               <dd><select name="ch" title="{L_RETURN_FIRST}">{S_CHARACTER_OPTIONS}</select> {L_POST_CHARACTERS}</dd>
+       </dl>
+       <!-- EVENT search_body_search_display_options_append -->
+       </fieldset>
+       <!-- EVENT search_body_search_options_after -->
+
+       </div>
+</div>
+
+<div class="panel bg3">
+       <div class="inner">
+
+       <fieldset class="submit-buttons">
+               {S_HIDDEN_FIELDS}<input type="reset" value="{L_RESET}" name="reset" class="button2" />&nbsp;
+               <input type="submit" name="submit" value="{L_SEARCH}" class="button1" />
+       </fieldset>
+
+       </div>
+</div>
+
+</form>
+<!-- EVENT search_body_form_after -->
+
+<!-- EVENT search_body_recent_search_before -->
+<!-- IF .recentsearch -->
+<div class="forumbg forumbg-table">
+       <div class="inner">
+
+       <table class="table1">
+       <thead>
+       <tr>
+               <th colspan="2" class="name">{L_RECENT_SEARCHES}</th>
+       </tr>
+       </thead>
+       <tbody>
+       <!-- BEGIN recentsearch -->
+               <tr class="<!-- IF recentsearch.S_ROW_COUNT is even -->bg1<!-- ELSE -->bg2<!-- ENDIF -->">
+                       <td><a href="{recentsearch.U_KEYWORDS}">{recentsearch.KEYWORDS}</a></td>
+                       <td class="active">{recentsearch.TIME}</td>
+               </tr>
+       <!-- BEGINELSE -->
+               <tr class="bg1">
+                       <td colspan="2">{L_NO_RECENT_SEARCHES}</td>
+               </tr>
+       <!-- END recentsearch -->
+       </tbody>
+       </table>
+
+       </div>
+</div>
+<!-- ENDIF -->
+<!-- EVENT search_body_recent_search_after -->
+
+<!-- INCLUDE overall_footer.html -->
diff --git a/template/search_results.html b/template/search_results.html
new file mode 100644 (file)
index 0000000..f711456
--- /dev/null
@@ -0,0 +1,240 @@
+<!-- INCLUDE overall_header.html -->
+
+<!-- EVENT search_results_header_before -->
+
+<h2 class="searchresults-title"><!-- IF SEARCH_TITLE -->{SEARCH_TITLE}<!-- ELSE -->{SEARCH_MATCHES}<!-- ENDIF --><!-- IF SEARCH_WORDS -->{L_COLON} <a href="{U_SEARCH_WORDS}">{SEARCH_WORDS}</a><!-- ENDIF --></h2>
+<!-- IF SEARCHED_QUERY --> <p>{L_SEARCHED_QUERY}{L_COLON} <strong>{SEARCHED_QUERY}</strong></p><!-- ENDIF -->
+<!-- IF IGNORED_WORDS --> <p>{L_IGNORED_TERMS}{L_COLON} <strong>{IGNORED_WORDS}</strong></p><!-- ENDIF -->
+<!-- IF PHRASE_SEARCH_DISABLED --> <p><strong>{L_PHRASE_SEARCH_DISABLED}</strong></p><!-- ENDIF -->
+
+<!-- IF SEARCH_TOPIC -->
+       <p class="return-link">
+               <a class="arrow-{S_CONTENT_FLOW_BEGIN}" href="{U_SEARCH_TOPIC}">
+                       <i class="icon fa-angle-{S_CONTENT_FLOW_BEGIN} fa-fw icon-black" aria-hidden="true"></i><span>{L_RETURN_TO_TOPIC}</span>
+               </a>
+       </p>
+<!-- ELSE -->
+       <p class="advanced-search-link">
+               <a class="arrow-{S_CONTENT_FLOW_BEGIN}" href="{U_SEARCH}" title="{L_SEARCH_ADV}">
+                       <i class="icon fa-angle-{S_CONTENT_FLOW_BEGIN} fa-fw icon-black" aria-hidden="true"></i><span>{L_GO_TO_SEARCH_ADV}</span>
+               </a>
+       </p>
+<!-- ENDIF -->
+
+<!-- EVENT search_results_header_after -->
+
+<!-- IF .pagination or SEARCH_MATCHES or TOTAL_MATCHES or PAGE_NUMBER -->
+       <div class="action-bar bar-top">
+
+       <!-- IF TOTAL_MATCHES > 0 -->
+               <div class="search-box" role="search">
+                       <form method="post" action="{S_SEARCH_ACTION}">
+                       <fieldset>
+                               <input class="inputbox search tiny" type="search" name="add_keywords" id="add_keywords" value="" placeholder="{L_SEARCH_IN_RESULTS}" />
+                               <button class="button button-search" type="submit" title="{L_SEARCH}">
+                                       <i class="icon fa-search fa-fw" aria-hidden="true"></i><span class="sr-only">{L_SEARCH}</span>
+                               </button>
+                               <a href="{U_SEARCH}" class="button button-search-end" title="{L_SEARCH_ADV}">
+                                       <i class="icon fa-cog fa-fw" aria-hidden="true"></i><span class="sr-only">{L_SEARCH_ADV}</span>
+                               </a>
+                       </fieldset>
+                       </form>
+               </div>
+       <!-- ENDIF -->
+
+               <!-- EVENT search_results_searchbox_after -->
+
+               <div class="pagination">
+                       <!-- IF U_MARK_ALL_READ --><a href="{U_MARK_ALL_READ}" class="mark-read" accesskey="m">{L_MARK_ALL_READ}</a> &bull;<!-- ENDIF -->
+                       {SEARCH_MATCHES}
+                       <!-- IF .pagination -->
+                               <!-- INCLUDE pagination.html -->
+                       <!-- ELSE -->
+                                &bull; {PAGE_NUMBER}
+                       <!-- ENDIF -->
+               </div>
+       </div>
+<!-- ENDIF -->
+
+<!-- IF S_SHOW_TOPICS -->
+
+       <!-- IF .searchresults -->
+       <div class="forumbg">
+
+               <div class="inner">
+               <ul class="topiclist">
+                       <li class="header">
+                               <dl class="row-item">
+                                       <dt><div class="list-inner">{L_TOPICS}</div></dt>
+                                       <dd class="posts">{L_REPLIES}</dd>
+                                       <dd class="views">{L_VIEWS}</dd>
+                                       <dd class="lastpost"><span>{L_LAST_POST}</span></dd>
+                               </dl>
+                       </li>
+               </ul>
+               <ul class="topiclist topics">
+
+               <!-- BEGIN searchresults -->
+                       <!-- EVENT search_results_topic_before -->
+                       <li class="row<!-- IF searchresults.S_ROW_COUNT is even --> bg1<!-- ELSE --> bg2<!-- ENDIF -->">
+                               <dl class="row-item {searchresults.TOPIC_IMG_STYLE}">
+                                       <dt<!-- IF searchresults.TOPIC_ICON_IMG and S_TOPIC_ICONS --> style="background-image: url({T_ICONS_PATH}{searchresults.TOPIC_ICON_IMG}); background-repeat: no-repeat;"<!-- ENDIF --> title="{searchresults.TOPIC_FOLDER_IMG_ALT}">
+                                               <!-- IF searchresults.S_UNREAD_TOPIC and not S_IS_BOT --><a href="{searchresults.U_NEWEST_POST}" class="row-item-link"></a><!-- ENDIF -->
+                                               <div class="list-inner">
+                                                       <!-- EVENT topiclist_row_prepend -->
+                                                       <!-- IF searchresults.S_UNREAD_TOPIC and not S_IS_BOT -->
+                                                               <a class="unread" href="{searchresults.U_NEWEST_POST}">
+                                                                       <i class="icon fa-file fa-fw icon-red icon-md" aria-hidden="true"></i><span class="sr-only">{L_NEW_POST}</span>
+                                                               </a>
+                                                       <!-- ENDIF -->
+                                                       <a href="{searchresults.U_VIEW_TOPIC}" class="topictitle">{searchresults.TOPIC_TITLE}</a>
+                                                       <!-- IF searchresults.S_TOPIC_UNAPPROVED or searchresults.S_POSTS_UNAPPROVED -->
+                                                               <a href="{searchresults.U_MCP_QUEUE}" title="{L_TOPIC_UNAPPROVED}">
+                                                                       <i class="icon fa-question fa-fw icon-blue" aria-hidden="true"></i><span class="sr-only">{L_TOPIC_UNAPPROVED}</span>
+                                                               </a>
+                                                       <!-- ENDIF -->
+                                                       <!-- IF searchresults.S_TOPIC_DELETED -->
+                                                               <a href="{searchresults.U_MCP_QUEUE}" title="{L_TOPIC_DELETED}">
+                                                                       <i class="icon fa-recycle fa-fw icon-green" aria-hidden="true"></i><span class="sr-only">{L_TOPIC_DELETED}</span>
+                                                               </a>
+                                                       <!-- ENDIF -->
+                                                       <!-- IF searchresults.S_TOPIC_REPORTED -->
+                                                               <a href="{searchresults.U_MCP_REPORT}" title="{L_TOPIC_REPORTED}">
+                                                                       <i class="icon fa-exclamation fa-fw icon-red" aria-hidden="true"></i><span class="sr-only">{L_TOPIC_REPORTED}</span>
+                                                               </a>
+                                                       <!-- ENDIF -->
+                                                       <br />
+
+                                                       <!-- IF not S_IS_BOT -->
+                                                               <div class="responsive-show" style="display: none;">
+                                                                       {L_LAST_POST} {L_POST_BY_AUTHOR} {searchresults.LAST_POST_AUTHOR_FULL} &laquo; <a href="{searchresults.U_LAST_POST}" title="{L_GOTO_LAST_POST}">{searchresults.LAST_POST_TIME}</a>
+                                                                       <br />{L_POSTED} {L_IN} <a href="{searchresults.U_VIEW_FORUM}">{searchresults.FORUM_TITLE}</a>
+                                                               </div>
+                                                       <!-- IF searchresults.TOPIC_REPLIES --><span class="responsive-show left-box" style="display: none;">{L_REPLIES}{L_COLON} <strong>{searchresults.TOPIC_REPLIES}</strong></span><!-- ENDIF -->
+                                                       <!-- ENDIF -->
+
+                                                       <div class="responsive-hide">
+                                                               <!-- IF searchresults.S_HAS_POLL --><i class="icon fa-bar-chart fa-fw" aria-hidden="true"></i><!-- ENDIF -->
+                                                               <!-- IF searchresults.ATTACH_ICON_IMG --><i class="icon fa-paperclip fa-fw" aria-hidden="true"></i><!-- ENDIF -->
+                                                               {L_POST_BY_AUTHOR} {searchresults.TOPIC_AUTHOR_FULL} &raquo; {searchresults.FIRST_POST_TIME} &raquo; {L_IN} <a href="{searchresults.U_VIEW_FORUM}">{searchresults.FORUM_TITLE}</a>
+                                                       </div>
+
+                                                       <!-- IF .searchresults.pagination -->
+                                                       <div class="pagination">
+                                                               <span><i class="icon fa-clone fa-fw" aria-hidden="true"></i></span>
+                                                               <ul>
+                                                               <!-- BEGIN pagination -->
+                                                                       <!-- IF searchresults.pagination.S_IS_PREV -->
+                                                                       <!-- ELSEIF searchresults.pagination.S_IS_CURRENT --><li class="active"><span>{searchresults.pagination.PAGE_NUMBER}</span></li>
+                                                                       <!-- ELSEIF searchresults.pagination.S_IS_ELLIPSIS --><li class="ellipsis"><span>{L_ELLIPSIS}</span></li>
+                                                                       <!-- ELSEIF searchresults.pagination.S_IS_NEXT -->
+                                                                       <!-- ELSE --><li><a class="button" href="{searchresults.pagination.PAGE_URL}">{searchresults.pagination.PAGE_NUMBER}</a></li>
+                                                                       <!-- ENDIF -->
+                                                               <!-- END pagination -->
+                                                               </ul>
+                                                       </div>
+                                                       <!-- ENDIF -->
+                                                       <!-- EVENT topiclist_row_topic_title_after -->
+
+                                                       <!-- EVENT topiclist_row_append -->
+                                               </div>
+                                       </dt>
+                                       <dd class="posts">{searchresults.TOPIC_REPLIES} <dfn>{L_REPLIES}</dfn></dd>
+                                       <dd class="views">{searchresults.TOPIC_VIEWS} <dfn>{L_VIEWS}</dfn></dd>
+                                       <dd class="lastpost">
+                                               <span><dfn>{L_LAST_POST} </dfn>{L_POST_BY_AUTHOR} {searchresults.LAST_POST_AUTHOR_FULL}
+                                                       <!-- IF not S_IS_BOT -->
+                                                               <a href="{searchresults.U_LAST_POST}" title="{L_GOTO_LAST_POST}">
+                                                                       <i class="icon fa-external-link-square fa-fw icon-lightgray icon-md" aria-hidden="true"></i><span class="sr-only">{VIEW_LATEST_POST}</span>
+                                                               </a>
+                                                       <!-- ENDIF -->
+                                                       <br />{searchresults.LAST_POST_TIME}
+                                               </span>
+                                       </dd>
+                               </dl>
+                       </li>
+                       <!-- EVENT search_results_topic_after -->
+               <!-- END searchresults -->
+               </ul>
+
+               </div>
+       </div>
+       <!-- ELSE -->
+               <div class="panel">
+                       <div class="inner">
+                       <strong>{L_NO_SEARCH_RESULTS}</strong>
+                       </div>
+               </div>
+       <!-- ENDIF -->
+
+<!-- ELSE -->
+
+       <!-- BEGIN searchresults -->
+               <!-- EVENT search_results_post_before -->
+               <div class="search post <!-- IF searchresults.S_ROW_COUNT is odd -->bg1<!-- ELSE -->bg2<!-- ENDIF --><!-- IF searchresults.S_POST_REPORTED --> reported<!-- ENDIF -->">
+                       <div class="inner">
+
+       <!-- IF searchresults.S_IGNORE_POST -->
+               <div class="postbody">
+                       {searchresults.L_IGNORE_POST}
+               </div>
+       <!-- ELSE -->
+               <dl class="postprofile">
+                       <!-- EVENT search_results_postprofile_before -->
+                       <dt class="author">{L_POST_BY_AUTHOR} {searchresults.POST_AUTHOR_FULL}</dt>
+                       <dd class="search-result-date">{searchresults.POST_DATE}</dd>
+                       <dd>{L_FORUM}{L_COLON} <a href="{searchresults.U_VIEW_FORUM}">{searchresults.FORUM_TITLE}</a></dd>
+                       <dd>{L_TOPIC}{L_COLON} <a href="{searchresults.U_VIEW_TOPIC}">{searchresults.TOPIC_TITLE}</a></dd>
+                       <dd>{L_REPLIES}{L_COLON} <strong>{searchresults.TOPIC_REPLIES}</strong></dd>
+                       <dd>{L_VIEWS}{L_COLON} <strong>{searchresults.TOPIC_VIEWS}</strong></dd>
+                       <!-- EVENT search_results_postprofile_after -->
+               </dl>
+
+               <div class="postbody">
+                       <h3><a href="{searchresults.U_VIEW_POST}">{searchresults.POST_SUBJECT}</a></h3>
+                       <div class="content">{searchresults.MESSAGE}</div>
+               </div>
+       <!-- ENDIF -->
+
+       <!-- IF not searchresults.S_IGNORE_POST -->
+               <ul class="searchresults">
+                       <li>
+                               <a href="{searchresults.U_VIEW_POST}" class="arrow-{S_CONTENT_FLOW_END}">
+                                       <i class="icon fa-angle-{S_CONTENT_FLOW_END} fa-fw icon-black" aria-hidden="true"></i><span>{L_JUMP_TO_POST}</span>
+                               </a>
+                       </li>
+               </ul>
+       <!-- ENDIF -->
+
+                       </div>
+               </div>
+               <!-- EVENT search_results_post_after -->
+       <!-- BEGINELSE -->
+               <div class="panel">
+                       <div class="inner">
+                       <strong>{L_NO_SEARCH_RESULTS}</strong>
+                       </div>
+               </div>
+       <!-- END searchresults -->
+<!-- ENDIF -->
+
+<div class="action-bar bottom">
+       <!-- IF .searchresults and (S_SELECT_SORT_DAYS or S_SELECT_SORT_KEY) -->
+       <form method="post" action="{S_SEARCH_ACTION}">
+               <!-- INCLUDE display_options.html -->
+       </form>
+               <!-- ENDIF -->
+
+       <div class="pagination">
+               {SEARCH_MATCHES}
+               <!-- IF .pagination -->
+                       <!-- INCLUDE pagination.html -->
+               <!-- ELSE -->
+                        &bull; {PAGE_NUMBER}
+               <!-- ENDIF -->
+       </div>
+</div>
+
+<!-- INCLUDE jumpbox.html -->
+
+<!-- INCLUDE overall_footer.html -->
diff --git a/template/simple_footer.html b/template/simple_footer.html
new file mode 100644 (file)
index 0000000..614c137
--- /dev/null
@@ -0,0 +1,38 @@
+       </div>
+
+       <div class="copyright" role="contentinfo">{CREDIT_LINE}
+               <!-- IF TRANSLATION_INFO --><br />{TRANSLATION_INFO}<!-- ENDIF -->
+               <!-- IF DEBUG_OUTPUT --><br />{DEBUG_OUTPUT}<!-- ENDIF -->
+       </div>
+
+       <div id="darkenwrapper" class="darkenwrapper" data-ajax-error-title="{L_AJAX_ERROR_TITLE}" data-ajax-error-text="{L_AJAX_ERROR_TEXT}" data-ajax-error-text-abort="{L_AJAX_ERROR_TEXT_ABORT}" data-ajax-error-text-timeout="{L_AJAX_ERROR_TEXT_TIMEOUT}" data-ajax-error-text-parsererror="{L_AJAX_ERROR_TEXT_PARSERERROR}">
+               <div id="darken" class="darken">&nbsp;</div>
+       </div>
+       <div id="loading_indicator" class="loading_indicator"></div>
+
+       <div id="phpbb_alert" class="phpbb_alert" data-l-err="{L_ERROR}" data-l-timeout-processing-req="{L_TIMEOUT_PROCESSING_REQ}">
+               <a href="#" class="alert_close">
+                       <i class="icon fa-times-circle fa-fw" aria-hidden="true"></i>
+               </a>
+               <h3 class="alert_title"></h3><p class="alert_text"></p>
+       </div>
+       <div id="phpbb_confirm" class="phpbb_confirm phpbb_alert">
+               <a href="#" class="alert_close">
+                       <i class="icon fa-times-circle fa-fw" aria-hidden="true"></i>
+               </a>
+               <div class="alert_text"></div>
+       </div>
+</div>
+
+<script type="text/javascript" src="{T_JQUERY_LINK}"></script>
+<!-- IF S_ALLOW_CDN --><script type="text/javascript">window.jQuery || document.write('\x3Cscript src="{T_ASSETS_PATH}/javascript/jquery.min.js?assets_version={T_ASSETS_VERSION}">\x3C/script>');</script><!-- ENDIF -->
+<script type="text/javascript" src="{T_ASSETS_PATH}/javascript/core.js?assets_version={T_ASSETS_VERSION}"></script>
+<!-- INCLUDEJS forum_fn.js -->
+<!-- INCLUDEJS ajax.js -->
+
+<!-- EVENT simple_footer_after -->
+
+{$SCRIPTS}
+
+</body>
+</html>
diff --git a/template/simple_header.html b/template/simple_header.html
new file mode 100644 (file)
index 0000000..0e889b4
--- /dev/null
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html dir="{S_CONTENT_DIRECTION}" lang="{S_USER_LANG}">
+<head>
+<meta charset="utf-8" />
+<meta http-equiv="X-UA-Compatible" content="IE=edge">
+<meta name="viewport" content="width=device-width, initial-scale=1" />
+{META}
+<title>{SITENAME} &bull; <!-- IF S_IN_MCP -->{L_MCP} &bull; <!-- ELSEIF S_IN_UCP -->{L_UCP} &bull; <!-- ENDIF -->{PAGE_TITLE}</title>
+
+<!-- IF S_ALLOW_CDN -->
+<script>
+       WebFontConfig = {
+               google: {
+                       families: ['Open+Sans:600:cyrillic-ext,latin,greek-ext,greek,vietnamese,latin-ext,cyrillic']
+               }
+       };
+
+       (function(d) {
+               var wf = d.createElement('script'), s = d.scripts[0];
+               wf.src = 'https://ajax.googleapis.com/ajax/libs/webfont/1.5.18/webfont.js';
+               wf.async = true;
+               s.parentNode.insertBefore(wf, s);
+       })(document);
+</script>
+<!-- ENDIF -->
+<link href="{T_FONT_AWESOME_LINK}" rel="stylesheet">
+<link href="{T_STYLESHEET_LINK}" rel="stylesheet">
+<link href="{T_STYLESHEET_LANG_LINK}" rel="stylesheet">
+
+<!-- IF S_CONTENT_DIRECTION eq 'rtl' -->
+       <link href="{T_THEME_PATH}/bidi.css?assets_version={T_ASSETS_VERSION}" rel="stylesheet">
+<!-- ENDIF -->
+
+<!--[if lte IE 8]>
+       <link href="{T_THEME_PATH}/tweaks.css?assets_version={T_ASSETS_VERSION}" rel="stylesheet">
+<![endif]-->
+
+<!-- DEFINE $POPUP = 1 -->
+
+<!-- EVENT simple_header_head_append -->
+
+{$STYLESHEETS}
+
+<!-- EVENT simple_header_stylesheets_after -->
+
+</head>
+
+<body id="phpbb" class="nojs {S_CONTENT_DIRECTION} {BODY_CLASS}">
+
+<!-- EVENT simple_header_body_before -->
+
+<div id="wrap" class="wrap">
+       <a id="top" class="top-anchor" accesskey="t"></a>
+       <div id="page-body" class="page-body" role="main">
diff --git a/template/timezone.js b/template/timezone.js
new file mode 100644 (file)
index 0000000..44ec1b0
--- /dev/null
@@ -0,0 +1,20 @@
+/* global phpbb */
+
+(function($) { // Avoid conflicts with other libraries
+
+'use strict';
+
+$('#tz_date').change(function() {
+       phpbb.timezoneSwitchDate(false);
+});
+
+$('#tz_select_date_suggest').click(function(){
+       phpbb.timezonePreselectSelect(true);
+});
+
+$(function () {
+       phpbb.timezoneEnableDateSelection();
+       phpbb.timezonePreselectSelect($('#tz_select_date_suggest').attr('timezone-preselect') === 'true');
+});
+
+})(jQuery); // Avoid conflicts with other libraries
diff --git a/template/timezone_option.html b/template/timezone_option.html
new file mode 100644 (file)
index 0000000..728dc94
--- /dev/null
@@ -0,0 +1,28 @@
+<dl>
+       <dt><label for="timezone">{L_BOARD_TIMEZONE}{L_COLON}</label></dt>
+       <!-- IF .timezone_date -->
+       <dd id="tz_select_date" style="display: none;">
+               <select name="tz_date" id="tz_date" class="autowidth tz_select">
+                       <option value="">{L_SELECT_CURRENT_TIME}</option>
+                       <!-- BEGIN timezone_date -->
+                               <option value="{timezone_date.VALUE}"<!-- IF timezone_date.SELECTED --> selected="selected"<!-- ENDIF -->>{timezone_date.TITLE}</option>
+                       <!-- END timezone_date -->
+               </select>
+               <input type="button" id="tz_select_date_suggest" class="button2" style="display: none;" timezone-preselect="<!-- IF S_TZ_PRESELECT -->true<!-- ELSE -->false<!-- ENDIF -->" data-l-suggestion="{L_TIMEZONE_DATE_SUGGESTION}" value="{L_TIMEZONE_DATE_SUGGESTION}" />
+       </dd>
+       <!-- ENDIF -->
+       <dd>
+               <select name="tz" id="timezone" class="autowidth tz_select timezone">
+                       <option value="">{L_SELECT_TIMEZONE}</option>
+                       <!-- BEGIN timezone_select -->
+                       <optgroup label="{timezone_select.LABEL}" data-tz-value="{timezone_select.VALUE}">
+                               <!-- BEGIN timezone_options -->
+                               <option title="{timezone_select.timezone_options.TITLE}" value="{timezone_select.timezone_options.VALUE}"<!-- IF timezone_select.timezone_options.SELECTED --> selected="selected"<!-- ENDIF -->>{timezone_select.timezone_options.LABEL}</option>
+                               <!-- END timezone_options -->
+                       </optgroup>
+                       <!-- END timezone_select -->
+               </select>
+
+               <!-- INCLUDEJS timezone.js -->
+       </dd>
+</dl>
diff --git a/template/ucp_agreement.html b/template/ucp_agreement.html
new file mode 100644 (file)
index 0000000..943774c
--- /dev/null
@@ -0,0 +1,76 @@
+<!-- INCLUDE overall_header.html -->
+
+<!-- IF S_SHOW_COPPA or S_REGISTRATION -->
+
+<!-- IF S_LANG_OPTIONS -->
+<script type="text/javascript">
+// <![CDATA[
+       /**
+       * Change language
+       */
+       function change_language(lang_iso)
+       {
+               document.cookie = '{COOKIE_NAME}_lang=' + lang_iso + '; path={COOKIE_PATH}';
+               document.forms['register'].change_lang.value = lang_iso;
+               document.forms['register'].submit();
+       }
+
+// ]]>
+</script>
+
+       <form method="post" action="{S_UCP_ACTION}" id="register">
+               <p class="rightside">
+                       <label for="lang">{L_LANGUAGE}{L_COLON}</label><select name="lang" id="lang" onchange="change_language(this.value); return false;" title="{L_LANGUAGE}">{S_LANG_OPTIONS}</select>
+                       {S_HIDDEN_FIELDS}
+               </p>
+       </form>
+
+       <div class="clear"></div>
+
+<!-- ENDIF -->
+
+       <form method="post" action="{S_UCP_ACTION}" id="agreement">
+
+       <div class="panel">
+               <div class="inner">
+               <div class="content">
+                       <h2 class="sitename-title">{SITENAME} - {L_REGISTRATION}</h2>
+                       <!-- EVENT ucp_agreement_terms_before -->
+                       <p><!-- IF S_SHOW_COPPA -->{L_COPPA_BIRTHDAY}<!-- ELSE -->{L_TERMS_OF_USE}<!-- ENDIF --></p>
+                       <!-- EVENT ucp_agreement_terms_after -->
+               </div>
+               </div>
+       </div>
+
+       <div class="panel">
+               <div class="inner">
+               <fieldset class="submit-buttons">
+                       <!-- IF S_SHOW_COPPA -->
+                       <strong><a href="{U_COPPA_NO}" class="button1">{L_COPPA_NO}</a></strong>&nbsp; <a href="{U_COPPA_YES}" class="button2">{L_COPPA_YES}</a>
+                       <!-- ELSE -->
+                       <input type="submit" name="agreed" id="agreed" value="{L_AGREE}" class="button1" />&nbsp;
+                       <input type="submit" name="not_agreed" value="{L_NOT_AGREE}" class="button2" />
+                       <!-- ENDIF -->
+                       {S_HIDDEN_FIELDS}
+                       {S_FORM_TOKEN}
+               </fieldset>
+               </div>
+       </div>
+       </form>
+
+<!-- ELSEIF S_AGREEMENT -->
+
+       <div class="panel">
+               <div class="inner">
+               <div class="content">
+                       <h2 class="sitename-title">{SITENAME} - {AGREEMENT_TITLE}</h2>
+                       <p>{AGREEMENT_TEXT}</p>
+                       <hr class="dashed" />
+                       <p><a href="{U_BACK}" class="button2">{L_BACK}</a></p>
+               </div>
+               </div>
+       </div>
+
+<!-- ENDIF -->
+
+<!-- INCLUDE overall_footer.html -->
diff --git a/template/ucp_attachments.html b/template/ucp_attachments.html
new file mode 100644 (file)
index 0000000..696f621
--- /dev/null
@@ -0,0 +1,83 @@
+<!-- INCLUDE ucp_header.html -->
+
+<form id="ucp" method="post" action="{S_UCP_ACTION}"{S_FORM_ENCTYPE}>
+
+<h2>{L_TITLE}</h2>
+
+<div class="panel">
+       <div class="inner">
+
+       <p>{L_ATTACHMENTS_EXPLAIN}</p>
+
+       <!-- IF .attachrow -->
+               <div class="action-bar top">
+                       <div class="pagination">
+                               {NUM_ATTACHMENTS}
+                               <!-- IF .pagination -->
+                                       <!-- INCLUDE pagination.html -->
+                               <!-- ELSE -->
+                                        &bull; {PAGE_NUMBER}
+                               <!-- ENDIF -->
+                       </div>
+               </div>
+
+               <ul class="topiclist">
+                       <li class="header">
+                               <dl>
+                                       <dt><div class="list-inner"><a href="{U_SORT_FILENAME}">{L_FILENAME}</a></div></dt>
+                                       <dd class="extra"><a href="{U_SORT_DOWNLOADS}">{L_DOWNLOADS}</a></dd>
+                                       <dd class="time"><span><a href="{U_SORT_POST_TIME}">{L_POST_TIME}</a></span></dd>
+                                       <dd class="mark">{L_MARK}</dd>
+                               </dl>
+                       </li>
+               </ul>
+               <ul class="topiclist cplist responsive-show-columns">
+
+               <!-- BEGIN attachrow -->
+               <li class="row<!-- IF attachrow.S_ROW_COUNT is odd --> bg1<!-- ELSE --> bg2<!-- ENDIF -->">
+                       <dl>
+                               <dt>
+                                       <div class="list-inner">
+                                               <a href="{attachrow.U_VIEW_ATTACHMENT}" class="topictitle attachment-filename ellipsis-text" title="{attachrow.FILENAME}">{attachrow.FILENAME}</a> ({attachrow.SIZE})<br />
+                                               <!-- IF attachrow.S_IN_MESSAGE -->{L_PM}{L_COLON} <!-- ELSE -->{L_TOPIC}{L_COLON} <!-- ENDIF --><a href="{attachrow.U_VIEW_TOPIC}">{attachrow.TOPIC_TITLE}</a>
+                                       </div>
+                               </dt>
+                               <dd class="extra">{attachrow.DOWNLOAD_COUNT}</dd>
+                               <dd class="time"><span>{attachrow.POST_TIME}</span></dd>
+                               <dd class="mark"><input type="checkbox" name="attachment[{attachrow.ATTACH_ID}]" value="1" /></dd>
+                       </dl>
+               </li>
+               <!-- END attachrow -->
+               </ul>
+
+               <div class="action-bar bottom">
+                       <!-- INCLUDE display_options.html -->
+                       {S_FORM_TOKEN}
+
+                       <div class="pagination">
+                               {TOTAL_ATTACHMENTS} {L_TITLE}
+                               <!-- IF .pagination -->
+                                       <!-- INCLUDE pagination.html -->
+                               <!-- ELSE -->
+                                        &bull; {PAGE_NUMBER}
+                               <!-- ENDIF -->
+                       </div>
+               </div>
+
+       <!-- ELSE -->
+               <p><strong>{L_UCP_NO_ATTACHMENTS}</strong></p>
+       <!-- ENDIF -->
+
+       </div>
+</div>
+
+<!-- IF S_ATTACHMENT_ROWS -->
+       <fieldset class="display-actions">
+               <input class="button2" type="submit" name="delete" value="{L_DELETE_MARKED}" />
+               <div><a href="#" onclick="marklist('ucp', 'attachment', true); return false;">{L_MARK_ALL}</a> &bull; <a href="#" onclick="marklist('ucp', 'attachment', false); return false;">{L_UNMARK_ALL}</a></div>
+               {S_FORM_TOKEN}
+       </fieldset>
+<!-- ENDIF -->
+</form>
+
+<!-- INCLUDE ucp_footer.html -->
diff --git a/template/ucp_auth_link.html b/template/ucp_auth_link.html
new file mode 100644 (file)
index 0000000..078da58
--- /dev/null
@@ -0,0 +1,15 @@
+<!-- INCLUDE ucp_header.html -->
+
+<h2>{L_UCP_AUTH_LINK_TITLE}</h2>
+
+<div class="panel">
+       <div class="inner">
+               <!-- IF ERROR --><dl><dd class="error">{ERROR}</dd></dl><!-- ENDIF -->
+
+               <!-- IF PROVIDER_TEMPLATE_FILE -->
+                       <!-- INCLUDE {PROVIDER_TEMPLATE_FILE} -->
+               <!-- ENDIF -->
+       </div>
+</div>
+
+<!-- INCLUDE ucp_footer.html -->
diff --git a/template/ucp_auth_link_oauth.html b/template/ucp_auth_link_oauth.html
new file mode 100644 (file)
index 0000000..1831661
--- /dev/null
@@ -0,0 +1,29 @@
+<!-- BEGIN oauth -->
+       <form id="ucp" method="post" action="{S_UCP_ACTION}">
+               <h3>{oauth.SERVICE_NAME}</h3>
+
+               <fieldset class="fields2">
+                       <!-- IF oauth.UNIQUE_ID -->
+                               <dl>
+                                       <dt>{L_UCP_AUTH_LINK_ID}{L_COLON}</dt>
+                                       <dd>{oauth.UNIQUE_ID}</dd>
+                               </dl>
+                               <dl>
+                                       <dt>&nbsp;</dt>
+                                       <dd><input type="submit" name="submit" tabindex="6" value="{L_UCP_AUTH_LINK_UNLINK}" class="button1" /></dd>
+                               </dl>
+                       <!-- ELSE -->
+                               <dl>
+                                       <dd>{L_UCP_AUTH_LINK_ASK}</dd>
+                               </dl>
+                               <dl>
+                                       <dt>&nbsp;</dt>
+                                       <dd><input type="submit" name="submit" tabindex="6" value="{L_UCP_AUTH_LINK_LINK}" class="button1" /></dd>
+                               </dl>
+                       <!-- ENDIF -->
+               </fieldset>
+               {oauth.HIDDEN_FIELDS}
+               {S_HIDDEN_FIELDS}
+               {S_FORM_TOKEN}
+       </form>
+<!-- END oauth -->
diff --git a/template/ucp_avatar_options.html b/template/ucp_avatar_options.html
new file mode 100644 (file)
index 0000000..2cf9488
--- /dev/null
@@ -0,0 +1,47 @@
+<div class="panel">
+       <div class="inner">
+       <!-- IF not S_AVATARS_ENABLED -->
+               <p>{L_AVATAR_FEATURES_DISABLED}</p>
+       <!-- ENDIF -->
+
+       <fieldset>
+       <!-- IF ERROR --><p class="error">{ERROR}</p><!-- ENDIF -->
+               <dl>
+                       <dt><label>{L_CURRENT_IMAGE}{L_COLON}</label><br /><span>{L_AVATAR_EXPLAIN}</span></dt>
+                       <dd><!-- IF AVATAR -->{AVATAR}<!-- ELSE --><img src="{T_THEME_PATH}/images/no_avatar.gif" alt="" /><!-- ENDIF --></dd>
+                       <dd><label for="avatar_delete"><input type="checkbox" name="avatar_delete" id="avatar_delete" /> {L_DELETE_AVATAR}</label></dd>
+               </dl>
+       </fieldset>
+       <h3>{L_AVATAR_SELECT}</h3>
+       <fieldset>
+               <dl>
+                       <dt><label>{L_AVATAR_TYPE}{L_COLON}</label></dt>
+                       <dd><select name="avatar_driver" id="avatar_driver" data-togglable-settings="true">
+                               <!-- BEGIN avatar_drivers -->
+                               <option value="{avatar_drivers.DRIVER}"<!-- IF avatar_drivers.SELECTED --> selected="selected"<!-- ENDIF --> data-toggle-setting="#avatar_option_{avatar_drivers.DRIVER}">{avatar_drivers.L_TITLE}</option>
+                               <!-- END avatar_drivers -->
+                       </select></dd>
+               </dl>
+       </fieldset>
+       <div id="avatar_options">
+<!-- BEGIN avatar_drivers -->
+       <div id="avatar_option_{avatar_drivers.DRIVER}">
+       <noscript>
+       <h3 class="avatar_section_header">{avatar_drivers.L_TITLE}</h3>
+       </noscript>
+       <p>{avatar_drivers.L_EXPLAIN}</p>
+
+       <fieldset>
+       {avatar_drivers.OUTPUT}
+       </fieldset>
+       </div>
+<!-- END avatar_drivers -->
+       </div>
+<!-- IF not S_GROUP_MANAGE -->
+       <fieldset class="submit-buttons">
+               <input type="reset" value="{L_RESET}" name="reset" class="button2" /> &nbsp;
+               <input type="submit" name="submit" value="{L_SUBMIT}" class="button1" />
+       </fieldset>
+<!-- ENDIF -->
+       </div>
+</div>
diff --git a/template/ucp_avatar_options_gravatar.html b/template/ucp_avatar_options_gravatar.html
new file mode 100644 (file)
index 0000000..130a7c2
--- /dev/null
@@ -0,0 +1,11 @@
+<dl>
+       <dt><label for="avatar_gravatar_email">{L_GRAVATAR_AVATAR_EMAIL}{L_COLON}</label><br /><span>{L_GRAVATAR_AVATAR_EMAIL_EXPLAIN}</span></dt>
+       <dd><input type="email" name="avatar_gravatar_email" id="avatar_gravatar_email" value="{AVATAR_GRAVATAR_EMAIL}" class="inputbox" data-reset-on-edit="#avatar_gravatar_width, #avatar_gravatar_height" /></dd>
+</dl>
+<dl>
+       <dt><label for="avatar_gravatar_width">{L_GRAVATAR_AVATAR_SIZE}{L_COLON}</label><br /><span>{L_GRAVATAR_AVATAR_SIZE_EXPLAIN}</span></dt>
+       <dd>
+               <label for="avatar_gravatar_width"><input type="number" name="avatar_gravatar_width" id="avatar_gravatar_width" min="{AVATAR_MIN_WIDTH}" max="{AVATAR_MAX_WIDTH}" value="{AVATAR_GRAVATAR_WIDTH}" class="inputbox autowidth" /> {L_PIXEL}</label> &times;&nbsp;
+               <label for="avatar_gravatar_height"><input type="number" name="avatar_gravatar_height" id="avatar_gravatar_height" min="{AVATAR_MIN_HEIGHT}" max="{AVATAR_MAX_HEIGHT}" value="{AVATAR_GRAVATAR_HEIGHT}" class="inputbox autowidth" /> {L_PIXEL}</label>
+       </dd>
+</dl>
diff --git a/template/ucp_avatar_options_local.html b/template/ucp_avatar_options_local.html
new file mode 100644 (file)
index 0000000..e431b74
--- /dev/null
@@ -0,0 +1,20 @@
+<!-- IF .avatar_local_cats -->
+<label for="category">{L_AVATAR_CATEGORY}{L_COLON} <select name="avatar_local_cat" id="category">
+<!-- BEGIN avatar_local_cats -->
+<option value="{avatar_local_cats.NAME}"<!-- IF avatar_local_cats.SELECTED --> selected="selected"<!-- ENDIF -->>{avatar_local_cats.NAME}</option>
+<!-- END avatar_local_cats -->
+</select></label>
+<input type="submit" value="{L_GO}" name="avatar_local_go" class="button2" />
+
+<div id="gallery" class="gallery">
+<!-- BEGIN avatar_local_row -->
+<!-- BEGIN avatar_local_col -->
+       <label for="av-{avatar_local_row.S_ROW_COUNT}-{avatar_local_row.avatar_local_col.S_ROW_COUNT}"><img src="{avatar_local_row.avatar_local_col.AVATAR_IMAGE}" alt="" /><br />
+       <input type="radio" name="avatar_local_file" id="av-{avatar_local_row.S_ROW_COUNT}-{avatar_local_row.avatar_local_col.S_ROW_COUNT}"
+                  value="{avatar_local_row.avatar_local_col.AVATAR_FILE}"<!-- IF avatar_local_row.avatar_local_col.CHECKED --> checked="checked"<!-- ENDIF --> /></label>
+<!-- END avatar_local_col -->
+<!-- END avatar_local_row -->
+</div>
+<!-- ELSE -->
+<p><strong>{L_NO_AVATARS}</strong></p>
+<!-- ENDIF -->
diff --git a/template/ucp_avatar_options_remote.html b/template/ucp_avatar_options_remote.html
new file mode 100644 (file)
index 0000000..8e17562
--- /dev/null
@@ -0,0 +1,11 @@
+<dl>
+       <dt><label for="avatar_remote_url">{L_LINK_REMOTE_AVATAR}{L_COLON}</label><br /><span>{L_LINK_REMOTE_AVATAR_EXPLAIN}</span></dt>
+       <dd><input type="url" name="avatar_remote_url" id="avatar_remote_url" value="{AVATAR_REMOTE_URL}" class="inputbox" data-reset-on-edit="#avatar_remote_width, #avatar_remote_height" /></dd>
+</dl>
+<dl>
+       <dt><label for="avatar_remote_width">{L_LINK_REMOTE_SIZE}{L_COLON}</label><br /><span>{L_LINK_REMOTE_SIZE_EXPLAIN}</span></dt>
+       <dd>
+               <label for="avatar_remote_width"><input type="number" name="avatar_remote_width" id="avatar_remote_width" min="{AVATAR_MIN_WIDTH}" max="{AVATAR_MAX_WIDTH}" value="{AVATAR_REMOTE_WIDTH}" class="inputbox autowidth" /> {L_PIXEL}</label> &times;&nbsp;
+               <label for="avatar_remote_height"><input type="number" name="avatar_remote_height" id="avatar_remote_height" min="{AVATAR_MIN_HEIGHT}" max="{AVATAR_MAX_HEIGHT}" value="{AVATAR_REMOTE_HEIGHT}" class="inputbox autowidth" /> {L_PIXEL}</label>
+       </dd>
+</dl>
diff --git a/template/ucp_avatar_options_upload.html b/template/ucp_avatar_options_upload.html
new file mode 100644 (file)
index 0000000..63a734e
--- /dev/null
@@ -0,0 +1,11 @@
+<dl>
+       <dt><label for="avatar_upload_file">{L_UPLOAD_AVATAR_FILE}{L_COLON}</label></dt>
+       <dd><input type="hidden" name="MAX_FILE_SIZE" value="{AVATAR_UPLOAD_SIZE}" /><input type="file" name="avatar_upload_file" id="avatar_upload_file" class="inputbox autowidth" /></dd>
+</dl>
+
+<!-- IF S_UPLOAD_AVATAR_URL -->
+       <dl>
+               <dt><label for="avatar_upload_url">{L_UPLOAD_AVATAR_URL}{L_COLON}</label><br /><span>{L_UPLOAD_AVATAR_URL_EXPLAIN}</span></dt>
+               <dd><input type="url" name="avatar_upload_url" id="avatar_upload_url" value="" class="inputbox" /></dd>
+       </dl>
+<!-- ENDIF -->
diff --git a/template/ucp_footer.html b/template/ucp_footer.html
new file mode 100644 (file)
index 0000000..f2f1a68
--- /dev/null
@@ -0,0 +1,14 @@
+
+               </div>
+
+       </div>
+       </div>
+</div>
+<!-- IF S_COMPOSE_PM -->
+<div>{S_FORM_TOKEN}</div>
+</form>
+<!-- ENDIF -->
+
+<!-- INCLUDE jumpbox.html -->
+
+<!-- INCLUDE overall_footer.html -->
diff --git a/template/ucp_groups_manage.html b/template/ucp_groups_manage.html
new file mode 100644 (file)
index 0000000..f2b4f00
--- /dev/null
@@ -0,0 +1,247 @@
+<!-- INCLUDE ucp_header.html -->
+
+<h2<!-- IF GROUP_COLOR --> style="color:#{GROUP_COLOR};"<!-- ENDIF -->>{L_USERGROUPS}<!-- IF GROUP_NAME --> :: {GROUP_NAME}<!-- ENDIF --></h2>
+
+<form id="ucp" method="post" action="{S_UCP_ACTION}"{S_FORM_ENCTYPE}>
+
+<div class="panel">
+       <div class="inner">
+
+       <!-- IF S_ERROR -->
+       <fieldset>
+               <p class="error">{ERROR_MSG}</p>
+       </fieldset>
+       <!-- ENDIF -->
+
+       <p>{L_GROUPS_EXPLAIN}</p>
+
+       <!-- IF S_EDIT -->
+               <h3>{L_GROUP_DETAILS}</h3>
+
+               <fieldset>
+               <dl>
+                       <dt><label for="group_name">{L_GROUP_NAME}{L_COLON}</label></dt>
+                       <dd><!-- IF S_SPECIAL_GROUP --><strong<!-- IF GROUP_COLOUR --> style="color: #{GROUP_COLOUR};"<!-- ENDIF -->>{GROUP_NAME}</strong> <input name="group_name" type="hidden" value="{GROUP_INTERNAL_NAME}" />
+                               <!-- ELSE --><input name="group_name" type="text" id="group_name" value="{GROUP_INTERNAL_NAME}" class="inputbox" /><!-- ENDIF --></dd>
+               </dl>
+               <dl>
+                       <dt><label for="group_desc">{L_GROUP_DESC}{L_COLON}</label></dt>
+                       <dd><textarea id="group_desc" name="group_desc" rows="5" cols="45" class="inputbox">{GROUP_DESC}</textarea></dd>
+                       <dd><label for="desc_parse_bbcode"><input type="checkbox" class="radio" name="desc_parse_bbcode" id="desc_parse_bbcode"<!-- IF S_DESC_BBCODE_CHECKED --> checked="checked"<!-- ENDIF --> /> {L_PARSE_BBCODE}</label>&nbsp;<label for="desc_parse_smilies"><input type="checkbox" class="radio" name="desc_parse_smilies" id="desc_parse_smilies"<!-- IF S_DESC_SMILIES_CHECKED --> checked="checked"<!-- ENDIF --> /> {L_PARSE_SMILIES}</label>&nbsp;<label for="desc_parse_urls"><input type="checkbox" class="radio" name="desc_parse_urls" id="desc_parse_urls"<!-- IF S_DESC_URLS_CHECKED --> checked="checked"<!-- ENDIF --> /> {L_PARSE_URLS}</label></dd>
+               </dl>
+               <!-- IF not S_SPECIAL_GROUP -->
+               <dl>
+                       <dt><label for="group_type1">{L_GROUP_TYPE}{L_COLON}</label><br /><span>{L_GROUP_TYPE_EXPLAIN}</span></dt>
+                       <dd>
+                               <label for="group_type1"><input type="radio" class="radio" name="group_type" id="group_type1" value="{GROUP_TYPE_FREE}"{GROUP_FREE} /> {L_GROUP_OPEN}</label>
+                               <label for="group_type2"><input type="radio" class="radio" name="group_type" id="group_type2" value="{GROUP_TYPE_OPEN}"{GROUP_OPEN} /> {L_GROUP_REQUEST}</label>
+                               <label for="group_type3"><input type="radio" class="radio" name="group_type" id="group_type3" value="{GROUP_TYPE_CLOSED}"{GROUP_CLOSED} /> {L_GROUP_CLOSED}</label>
+                               <label for="group_type4"><input type="radio" class="radio" name="group_type" id="group_type4" value="{GROUP_TYPE_HIDDEN}"{GROUP_HIDDEN} /> {L_GROUP_HIDDEN}</label>
+                       </dd>
+               </dl>
+               <!-- ELSE -->
+                       <input name="group_type" type="hidden" value="{GROUP_TYPE_SPECIAL}" />
+               <!-- ENDIF -->
+               </fieldset>
+
+       </div>
+</div>
+
+<div class="panel">
+       <div class="inner">
+       <h3>{L_GROUP_SETTINGS_SAVE}</h3>
+
+       <fieldset>
+       <dl>
+               <dt><label for="group_colour">{L_GROUP_COLOR}{L_COLON}</label><br /><span>{L_GROUP_COLOR_EXPLAIN}</span></dt>
+               <dd>
+                       <input name="group_colour" type="text" id="group_colour" value="{GROUP_COLOUR}" size="6" maxlength="6" class="inputbox narrow" />
+                       <span style="background-color: #{GROUP_COLOUR};">&nbsp;&nbsp;&nbsp;</span>
+                       [ <a href="#" id="color_palette_toggle">{L_COLOUR_SWATCH}</a> ]
+                       <div id="color_palette_placeholder" class="color_palette_placeholder hidden" data-orientation="h" data-height="12" data-width="15" data-target="#group_colour"></div>
+               </dd>
+       </dl>
+       <dl>
+               <dt><label for="group_rank">{L_GROUP_RANK}{L_COLON}</label></dt>
+               <dd><select name="group_rank" id="group_rank">{S_RANK_OPTIONS}</select></dd>
+       </dl>
+       </fieldset>
+
+       </div>
+</div>
+
+<!-- INCLUDE ucp_avatar_options.html -->
+
+<fieldset class="submit-buttons">
+       {S_HIDDEN_FIELDS}
+       <input type="reset" value="{L_RESET}" name="reset" class="button2" />&nbsp;
+       <input type="submit" name="update" value="{L_SUBMIT}" class="button1" />
+       {S_FORM_TOKEN}
+</fieldset>
+
+<!-- ELSEIF S_LIST -->
+
+       <!-- IF .leader -->
+       <table class="table1">
+       <thead>
+       <tr>
+               <th class="name">{L_GROUP_LEAD}</th>
+               <th class="info">{L_GROUP_DEFAULT}</th>
+               <th class="posts">{L_POSTS}</th>
+               <th class="joined">{L_JOINED}</th>
+               <th class="mark">{L_MARK}</th>
+       </tr>
+       </thead>
+       <tbody>
+       <!-- BEGIN leader -->
+               <tr class="<!-- IF leader.S_ROW_COUNT is even -->bg1<!-- ELSE -->bg2<!-- ENDIF -->">
+                       <td class="name">{leader.USERNAME_FULL}</td>
+                       <td><!-- IF leader.S_GROUP_DEFAULT -->{L_YES}<!-- ELSE -->{L_NO}<!-- ENDIF --></td>
+                       <td class="posts">{leader.USER_POSTS}</td>
+                       <td class="joined">{leader.JOINED}</td>
+                       <td class="mark">&nbsp;</td>
+               </tr>
+       <!-- END leader -->
+       </tbody>
+       </table>
+       <!-- ENDIF -->
+
+       <!-- BEGIN member -->
+               <!-- IF member.S_PENDING -->
+                       <table class="table1">
+                       <thead>
+                       <tr>
+                               <th class="name">{L_GROUP_PENDING}</th>
+                               <th class="info">{L_GROUP_DEFAULT}</th>
+                               <th class="posts">{L_POSTS}</th>
+                               <th class="joined">{L_JOINED}</th>
+                               <th class="mark">{L_MARK}</th>
+                       </tr>
+                       </thead>
+                       <tbody>
+               <!-- ELSEIF member.S_APPROVED -->
+                       <!-- IF S_PENDING_SET -->
+                               </tbody>
+                               </table>
+                       <!-- ENDIF -->
+                       <table class="table1">
+                       <thead>
+                       <tr>
+                               <th class="name">{L_GROUP_APPROVED}</th>
+                               <th class="info">{L_GROUP_DEFAULT}</th>
+                               <th class="posts">{L_POSTS}</th>
+                               <th class="joined">{L_JOINED}</th>
+                               <th class="mark">{L_MARK}</th>
+                       </tr>
+                       </thead>
+                       <tbody>
+               <!-- ELSE -->
+                       <tr class="<!-- IF member.S_ROW_COUNT is even -->bg1<!-- ELSE -->bg2<!-- ENDIF -->">
+                               <td class="name">{member.USERNAME_FULL}</td>
+                               <td><!-- IF member.S_GROUP_DEFAULT -->{L_YES}<!-- ELSE -->{L_NO}<!-- ENDIF --></td>
+                               <td class="posts">{member.USER_POSTS}</td>
+                               <td class="joined">{member.JOINED}</td>
+                               <td class="mark"><input type="checkbox" name="mark[]" value="{member.USER_ID}" /></td>
+                       </tr>
+               <!-- ENDIF -->
+       <!-- BEGINELSE -->
+               <table class="table1">
+               <thead>
+               <tr>
+                       <th class="name">{L_MEMBERS}</th>
+               </tr>
+               </thead>
+               <tbody>
+               <tr>
+                       <td class="bg1">{L_GROUPS_NO_MEMBERS}</td>
+               </tr>
+       <!-- END member -->
+       </tbody>
+       </table>
+
+       <!-- IF .pagination -->
+       <div class="action-bar bar-bottom">
+               <div class="pagination">
+                       <!-- INCLUDE pagination.html -->
+               </div>
+       </div>
+       <!-- ENDIF -->
+
+       </div>
+</div>
+
+<fieldset class="display-actions">
+       <select name="action"><option value="">{L_SELECT_OPTION}</option>{S_ACTION_OPTIONS}</select>
+       <input class="button2" type="submit" name="update" value="{L_SUBMIT}" />
+       <div><a href="#" onclick="marklist('ucp', 'mark', true); return false;">{L_MARK_ALL}</a> &bull; <a href="#" onclick="marklist('ucp', 'mark', false); return false;">{L_UNMARK_ALL}</a></div>
+</fieldset>
+
+<div class="panel">
+       <div class="inner">
+
+       <h3>{L_ADD_USERS}</h3>
+
+       <p>{L_ADD_USERS_UCP_EXPLAIN}</p>
+
+       <fieldset>
+       <dl>
+               <dt><label for="default0">{L_USER_GROUP_DEFAULT}{L_COLON}</label><br /><span>{L_USER_GROUP_DEFAULT_EXPLAIN}</span></dt>
+               <dd>
+                       <label for="default1"><input type="radio" name="default" id="default1" value="1" /> {L_YES}</label>
+                       <label for="default0"><input type="radio" name="default" id="default0" value="0" checked="checked" /> {L_NO}</label>
+               </dd>
+       </dl>
+       <dl>
+               <dt><label for="usernames">{L_USERNAME}{L_COLON}</label><br /><span>{L_USERNAMES_EXPLAIN}</span></dt>
+               <dd><textarea name="usernames" id="usernames" rows="3" cols="30" class="inputbox"></textarea></dd>
+               <dd><strong><a href="{U_FIND_USERNAME}" onclick="find_username(this.href); return false;">{L_FIND_USERNAME}</a></strong></dd>
+       </dl>
+       </fieldset>
+
+       </div>
+</div>
+
+<fieldset class="submit-buttons">
+       <input class="button1" type="submit" name="addusers" value="{L_SUBMIT}" />
+       {S_FORM_TOKEN}
+</fieldset>
+
+<!-- ELSE -->
+
+       <!-- IF .leader -->
+               <ul class="topiclist two-long-columns">
+                       <li class="header">
+                               <dl>
+                                       <dt><div class="list-inner">{L_GROUP_LEADER}</div></dt>
+                                       <dd class="info"><span>{L_OPTIONS}</span></dd>
+                               </dl>
+                       </li>
+               </ul>
+               <ul class="topiclist cplist two-long-columns responsive-show-all">
+
+               <!-- BEGIN leader -->
+               <li class="row<!-- IF attachrow.S_ROW_COUNT is odd --> bg1<!-- ELSE --> bg2<!-- ENDIF -->">
+                       <dl>
+                               <dt>
+                                       <div class="list-inner">
+                                               <a href="{leader.U_EDIT}" class="topictitle"<!-- IF leader.GROUP_COLOUR --> style="color: #{leader.GROUP_COLOUR};"<!-- ENDIF -->>{leader.GROUP_NAME}</a>
+                                               <!-- IF leader.GROUP_DESC --><br />{leader.GROUP_DESC}<!-- ENDIF -->
+                                       </div>
+                               </dt>
+                               <dd class="option"><span><a href="{leader.U_EDIT}" >{L_EDIT}</a></span></dd>
+                               <dd class="option"><span><a href="{leader.U_LIST}">{L_GROUP_LIST}</a></span></dd>
+                       </dl>
+               </li>
+               <!-- END leader -->
+               </ul>
+       <!-- ELSE -->
+               <p><strong>{L_NO_LEADERS}</strong></p>
+       <!-- ENDIF -->
+
+       </div>
+</div>
+
+<!-- ENDIF -->
+</form>
+
+<!-- INCLUDE ucp_footer.html -->
diff --git a/template/ucp_groups_membership.html b/template/ucp_groups_membership.html
new file mode 100644 (file)
index 0000000..e824a7b
--- /dev/null
@@ -0,0 +1,174 @@
+<!-- INCLUDE ucp_header.html -->
+
+<h2>{L_USERGROUPS}</h2>
+
+<form id="ucp" method="post" action="{S_UCP_ACTION}"{S_FORM_ENCTYPE}>
+
+<div class="panel">
+       <div class="inner">
+
+       <p>{L_GROUPS_EXPLAIN}</p>
+       <!-- DEFINE $SHOW_BUTTONS = 0 -->
+       <!-- IF .leader -->
+               <ul class="topiclist two-columns">
+                       <li class="header">
+                               <dl>
+                                       <dt><div class="list-inner">{L_GROUP_LEADER}</div></dt>
+                                       <dd class="mark">{L_SELECT}</dd>
+                               </dl>
+                       </li>
+               </ul>
+               <ul class="topiclist cplist two-columns">
+
+               <!-- BEGIN leader -->
+               <!-- IF not leader.GROUP_SPECIAL -->
+                       <!-- DEFINE $SHOW_BUTTONS = 1 -->
+               <!-- ENDIF -->
+               <li class="row<!-- IF leader.S_ROW_COUNT is odd --> bg1<!-- ELSE --> bg2<!-- ENDIF -->">
+                       <dl>
+                               <dt>
+                                       <div class="list-inner">
+                                               <!-- IF S_CHANGE_DEFAULT --><input title="{L_CHANGE_DEFAULT_GROUP}" type="radio" name="default"<!-- IF leader.S_GROUP_DEFAULT --> checked="checked"<!-- ENDIF --> value="{leader.GROUP_ID}" /> <!-- ENDIF -->
+                                               <a href="{leader.U_VIEW_GROUP}" class="forumtitle"<!-- IF leader.GROUP_COLOUR --> style="color:#{leader.GROUP_COLOUR}"<!-- ENDIF -->>{leader.GROUP_NAME}</a>
+                                               <!-- IF leader.GROUP_DESC --><br />{leader.GROUP_DESC}<!-- ENDIF -->
+                                               <!-- IF not leader.GROUP_SPECIAL --><br /><i>{leader.GROUP_STATUS}</i><!-- ENDIF -->
+                                       </div>
+                               </dt>
+                               <dd class="mark"><input type="radio" name="selected" value="{leader.GROUP_ID}" <!-- IF leader.GROUP_SPECIAL -->disabled="disabled"<!-- ENDIF --> /></dd>
+                       </dl>
+               </li>
+               <!-- END leader -->
+               </ul>
+       <!-- ENDIF -->
+
+       <!-- IF .member -->
+               <ul class="topiclist two-columns">
+                       <li class="header">
+                               <dl>
+                                       <dt><div class="list-inner">{L_GROUP_MEMBER}</div></dt>
+                                       <dd class="mark">{L_SELECT}</dd>
+                               </dl>
+                       </li>
+               </ul>
+               <ul class="topiclist cplist two-columns">
+
+               <!-- BEGIN member -->
+               <!-- IF not member.GROUP_SPECIAL -->
+                       <!-- DEFINE $SHOW_BUTTONS = 1 -->
+               <!-- ENDIF -->
+               <li class="row<!-- IF member.S_ROW_COUNT is odd --> bg1<!-- ELSE --> bg2<!-- ENDIF -->">
+                       <dl>
+                               <dt>
+                                       <div class="list-inner">
+                                               <!-- IF S_CHANGE_DEFAULT --><input title="{L_CHANGE_DEFAULT_GROUP}" type="radio" name="default"<!-- IF member.S_GROUP_DEFAULT --> checked="checked"<!-- ENDIF --> value="{member.GROUP_ID}" /> <!-- ENDIF -->
+                                               <a href="{member.U_VIEW_GROUP}" class="forumtitle"<!-- IF member.GROUP_COLOUR --> style="color:#{member.GROUP_COLOUR}"<!-- ENDIF -->>{member.GROUP_NAME}</a>
+                                               <!-- IF member.GROUP_DESC --><br />{member.GROUP_DESC}<!-- ENDIF -->
+                                               <!-- IF not member.GROUP_SPECIAL --><br /><i>{member.GROUP_STATUS}</i><!-- ENDIF -->
+                                       </div>
+                               </dt>
+                               <dd class="mark"><input type="radio" name="selected" value="{member.GROUP_ID}" <!-- IF member.GROUP_SPECIAL -->disabled="disabled"<!-- ENDIF --> /></dd>
+                       </dl>
+               </li>
+               <!-- END member -->
+               </ul>
+       <!-- ENDIF -->
+       </div>
+</div>
+
+<!-- IF .pending -->
+<div class="panel">
+       <div class="inner">
+               <ul class="topiclist two-columns">
+                       <li class="header">
+                               <dl>
+                                       <dt><div class="list-inner">{L_GROUP_PENDING}</div></dt>
+                                       <dd class="mark">{L_SELECT}</dd>
+                               </dl>
+                       </li>
+               </ul>
+               <ul class="topiclist cplist two-columns">
+
+               <!-- BEGIN pending -->
+               <!-- IF not pending.GROUP_SPECIAL -->
+                       <!-- DEFINE $SHOW_BUTTONS = 1 -->
+               <!-- ENDIF -->
+               <li class="row<!-- IF pending.S_ROW_COUNT is odd --> bg1<!-- ELSE --> bg2<!-- ENDIF -->">
+                       <dl>
+                               <dt>
+                                       <div class="list-inner">
+                                               <a href="{pending.U_VIEW_GROUP}" class="forumtitle"<!-- IF pending.GROUP_COLOUR --> style="color:#{pending.GROUP_COLOUR}"<!-- ENDIF -->>{pending.GROUP_NAME}</a>
+                                               <!-- IF pending.GROUP_DESC --><br />{pending.GROUP_DESC}<!-- ENDIF -->
+                                               <!-- IF not pending.GROUP_SPECIAL --><br /><i>{pending.GROUP_STATUS}</i><!-- ENDIF -->
+                                       </div>
+                               </dt>
+                               <dd class="mark"><input type="radio" name="selected" value="{pending.GROUP_ID}" <!-- IF pending.GROUP_SPECIAL -->disabled="disabled"<!-- ENDIF --> /></dd>
+                       </dl>
+               </li>
+               <!-- END pending -->
+               </ul>
+       </div>
+</div>
+<!-- ENDIF -->
+<!-- IF .nonmember -->
+<div class="panel">
+       <div class="inner">
+               <ul class="topiclist two-columns">
+                       <li class="header">
+                               <dl>
+                                       <dt><div class="list-inner">{L_GROUP_NONMEMBER}</div></dt>
+                                       <dd class="mark">{L_SELECT}</dd>
+                               </dl>
+                       </li>
+               </ul>
+               <ul class="topiclist cplist two-columns">
+
+               <!-- BEGIN nonmember -->
+               <!-- IF nonmember.S_CAN_JOIN -->
+                       <!-- DEFINE $SHOW_BUTTONS = 1 -->
+               <!-- ENDIF -->
+               <li class="row<!-- IF nonmember.S_ROW_COUNT is odd --> bg1<!-- ELSE --> bg2<!-- ENDIF -->">
+                       <dl>
+                               <dt>
+                                       <div class="list-inner">
+                                               <a href="{nonmember.U_VIEW_GROUP}" class="forumtitle"<!-- IF nonmember.GROUP_COLOUR --> style="color:#{nonmember.GROUP_COLOUR}"<!-- ENDIF -->>{nonmember.GROUP_NAME}</a>
+                                               <!-- IF nonmember.GROUP_DESC --><br />{nonmember.GROUP_DESC}<!-- ENDIF -->
+                                               <!-- IF not nonmember.GROUP_SPECIAL --><br /><i>{nonmember.GROUP_STATUS}</i><!-- ENDIF -->
+                                       </div>
+                               </dt>
+                               <dd class="mark"><input type="radio" name="selected" value="{nonmember.GROUP_ID}" <!-- IF not nonmember.S_CAN_JOIN -->disabled="disabled"<!-- ENDIF --> /></dd>
+                       </dl>
+               </li>
+               <!-- END nonmember -->
+               </ul>
+               </div>
+       </div>
+<!-- ENDIF -->
+
+
+       <!-- IF S_CHANGE_DEFAULT or $SHOW_BUTTONS eq 1 -->
+       <fieldset>
+               <!-- IF S_CHANGE_DEFAULT -->
+               <div class="left-box">
+                       <input class="button2" type="submit" name="change_default" value="{L_CHANGE_DEFAULT_GROUP}" />
+                       {S_FORM_TOKEN}
+               </div>
+               <!-- ENDIF -->
+
+               <!-- IF $SHOW_BUTTONS eq 1 -->
+               <div class="right-box">
+                       <label for="action">{L_SELECT}{L_COLON}</label>
+                       <select name="action" id="action">
+                               <option value="join">{L_JOIN_SELECTED}</option>
+                               <option value="resign">{L_RESIGN_SELECTED}</option>
+                               <option value="demote">{L_DEMOTE_SELECTED}</option>
+                       </select>&nbsp;
+                       <input class="button2" type="submit" name="submit" value="{L_SUBMIT}" />
+                       {S_FORM_TOKEN}
+               </div>
+               <!-- ENDIF -->
+       </fieldset>
+       <!-- ENDIF -->
+
+</form>
+
+<!-- INCLUDE ucp_footer.html -->
diff --git a/template/ucp_header.html b/template/ucp_header.html
new file mode 100644 (file)
index 0000000..98d2eee
--- /dev/null
@@ -0,0 +1,101 @@
+<!-- INCLUDE overall_header.html -->
+
+<h2 class="ucp-title">{L_UCP}</h2>
+
+<div id="tabs" class="tabs">
+       <ul>
+               <!-- BEGIN t_block1 -->
+               <li class="tab<!-- IF t_block1.S_SELECTED --> activetab<!-- ENDIF -->"><a href="{t_block1.U_TITLE}">{t_block1.L_TITLE}</a></li>
+               <!-- END t_block1 -->
+       </ul>
+</div>
+
+<!-- IF S_COMPOSE_PM -->
+<form id="postform" method="post" action="{S_POST_ACTION}"{S_FORM_ENCTYPE}>
+<!-- ENDIF -->
+
+<div class="panel bg3">
+       <div class="inner">
+
+       <div style="width: 100%;">
+
+       <div id="cp-menu" class="cp-menu">
+               <div id="navigation" class="navigation" role="navigation">
+
+               <!-- IF S_PRIVMSGS -->
+                       <!-- BEGIN t_block2 -->
+                               <!-- IF S_PRIVMSGS and not t_block2.S_LAST_ROW -->
+                               <ul>
+                                       <!-- IF t_block2.S_SELECTED -->
+                                               <li id="active-subsection" class="active-subsection"><a href="{t_block2.U_TITLE}"><span>{t_block2.L_TITLE}</span></a></li>
+                                       <!-- ELSE -->
+                                               <li><a href="{t_block2.U_TITLE}"><span>{t_block2.L_TITLE}</span></a></li>
+                                       <!-- ENDIF -->
+                               </ul>
+                               <!-- ENDIF -->
+                       <!-- END t_block2 -->
+
+                       <hr />
+                       <!-- BEGIN folder -->
+                               <!-- IF folder.S_FIRST_ROW --><ul><!-- ENDIF -->
+                               <!-- IF folder.S_CUR_FOLDER -->
+                                       <li id="active-subsection" class="active-subsection"><a href="{folder.U_FOLDER}"><!-- IF folder.UNREAD_MESSAGES > 0 --><strong>{folder.FOLDER_NAME} ({folder.UNREAD_MESSAGES})</strong><!-- ELSE -->{folder.FOLDER_NAME}<!-- ENDIF --></a></li>
+                               <!-- ELSE -->
+                                       <li><a href="{folder.U_FOLDER}"><span><!-- IF folder.UNREAD_MESSAGES > 0 --><strong>{folder.FOLDER_NAME} ({folder.UNREAD_MESSAGES})</strong><!-- ELSE -->{folder.FOLDER_NAME}<!-- ENDIF --></span></a></li>
+                               <!-- ENDIF -->
+                               <!-- IF folder.S_LAST_ROW --></ul><!-- ENDIF -->
+                       <!-- END folder -->
+                       <hr />
+               <!-- ENDIF -->
+
+                       <ul>
+               <!-- BEGIN t_block2 -->
+                       <!-- IF (S_PRIVMSGS and t_block2.S_LAST_ROW) or not S_PRIVMSGS -->
+                               <!-- IF t_block2.S_SELECTED -->
+                                       <li id="active-subsection" class="active-subsection"><a href="{t_block2.U_TITLE}"><span>{t_block2.L_TITLE}</span></a></li>
+                               <!-- ELSE -->
+                                       <li><a href="{t_block2.U_TITLE}"><span>{t_block2.L_TITLE}</span></a></li>
+                               <!-- ENDIF -->
+                       <!-- ENDIF -->
+               <!-- END t_block2 -->
+                       </ul>
+               </div>
+
+               <!-- IF .friends_online or .friends_offline -->
+               <div class="cp-mini">
+                       <div class="inner">
+
+                       <dl class="mini">
+                               <dt>{L_FRIENDS}</dt>
+
+                               <!-- BEGIN friends_online -->
+                                       <dd class="friend-online" title="{L_FRIENDS_ONLINE}">{friends_online.USERNAME_FULL} <!-- IF S_SHOW_PM_BOX --> <input type="submit" name="add_to[{friends_online.USER_ID}]" value="{L_ADD}" class="button2" /><!-- ENDIF --><!-- IF friends_online.S_LAST_ROW and .friends_offline --><hr /><!-- ENDIF --></dd>
+                               <!-- END friends_online -->
+
+                               <!-- BEGIN friends_offline -->
+                                       <dd class="friend-offline" title="{L_FRIENDS_OFFLINE}">{friends_offline.USERNAME_FULL} <!-- IF S_SHOW_PM_BOX --><input type="submit" name="add_to[{friends_offline.USER_ID}]" value="{L_ADD}" class="button2" /><!-- ENDIF --></dd>
+                               <!-- END friends_offline -->
+                       </dl>
+
+                       </div>
+               </div>
+               <!-- ENDIF -->
+
+               <!-- IF S_SHOW_COLOUR_LEGEND -->
+               <div class="cp-mini">
+                       <div class="inner">
+
+                       <dl class="mini">
+                               <dt>{L_MESSAGE_COLOURS}</dt>
+                               <!-- BEGIN pm_colour_info -->
+                                       <dd class="pm-legend<!-- IF pm_colour_info.CLASS --> {pm_colour_info.CLASS}<!-- ENDIF -->"><!-- IF pm_colour_info.IMG -->{pm_colour_info.IMG} <!-- ENDIF -->{pm_colour_info.LANG}</dd>
+                               <!-- END pm_colour_info -->
+                       </dl>
+
+                       </div>
+               </div>
+               <!-- ENDIF -->
+
+       </div>
+
+       <div id="cp-main" class="cp-main ucp-main panel-container">
diff --git a/template/ucp_login_link.html b/template/ucp_login_link.html
new file mode 100644 (file)
index 0000000..be17331
--- /dev/null
@@ -0,0 +1,58 @@
+<!-- INCLUDE overall_header.html -->
+
+<div class="panel">
+       <div class="inner">
+
+       <h2>{SITENAME} - {L_LOGIN_LINK}</h2>
+
+       <p>{L_LOGIN_LINK_EXPLAIN}</p>
+
+       <!-- IF LOGIN_LINK_ERROR --><div class="content">
+               <div class="error">{LOGIN_LINK_ERROR}</div>
+       </div><!-- ENDIF -->
+
+       <div class="content">
+               <h2>{L_REGISTER}</h2>
+
+               <form action="{REGISTER_ACTION}" method="post" id="register">
+                       <fieldset class="fields1">
+                               <dl>
+                                       <dt>&nbsp;</dt>
+                                       <dd>{S_HIDDEN_FIELDS}<input type="submit" name="register" tabindex="1" value="{L_REGISTER}" class="button1" /></dd>
+                               </dl>
+                       </fieldset>
+               </form>
+       </div>
+
+       <div class="content">
+               <h2>{L_LOGIN}</h2>
+
+               <form action="{LOGIN_ACTION}" method="post" id="login">
+                       <fieldset class="fields1">
+                               <!-- IF LOGIN_ERROR --><div class="error">{LOGIN_ERROR}</div><!-- ENDIF -->
+                               <dl>
+                                       <dt><label for="{USERNAME_CREDENTIAL}">{L_USERNAME}{L_COLON}</label></dt>
+                                       <dd><input type="text" tabindex="2" name="{USERNAME_CREDENTIAL}" id="{USERNAME_CREDENTIAL}" size="25" value="{LOGIN_USERNAME}" class="inputbox autowidth" /></dd>
+                               </dl>
+                               <dl>
+                                       <dt><label for="{PASSWORD_CREDENTIAL}">{L_PASSWORD}{L_COLON}</label></dt>
+                                       <dd><input type="password" tabindex="3" id="{PASSWORD_CREDENTIAL}" name="{PASSWORD_CREDENTIAL}" size="25" class="inputbox autowidth" autocomplete="off" /></dd>
+                               </dl>
+                               <!-- IF CAPTCHA_TEMPLATE and S_CONFIRM_CODE -->
+                                       <!-- DEFINE $CAPTCHA_TAB_INDEX = 4 -->
+                                       <!-- INCLUDE {CAPTCHA_TEMPLATE} -->
+                               <!-- ENDIF -->
+
+                               {S_LOGIN_REDIRECT}
+                               <dl>
+                                       <dt>&nbsp;</dt>
+                                       <dd>{S_HIDDEN_FIELDS}<input type="submit" name="login" tabindex="5" value="{L_LOGIN}" class="button1" /></dd>
+                               </dl>
+                       </fieldset>
+               </form>
+       </div>
+
+       </div>
+</div>
+
+<!-- INCLUDE overall_footer.html -->
diff --git a/template/ucp_main_bookmarks.html b/template/ucp_main_bookmarks.html
new file mode 100644 (file)
index 0000000..25647af
--- /dev/null
@@ -0,0 +1,124 @@
+<!-- INCLUDE ucp_header.html -->
+
+<form id="ucp" method="post" action="{S_UCP_ACTION}"{S_FORM_ENCTYPE}>
+
+<h2>{L_TITLE}</h2>
+
+<div class="panel">
+       <div class="inner">
+
+       <p>{L_BOOKMARKS_EXPLAIN}</p>
+
+<!-- IF S_NO_DISPLAY_BOOKMARKS -->
+       <p class="error">{L_BOOKMARKS_DISABLED}</p>
+<!-- ELSE -->
+
+<!-- IF .topicrow -->
+       <ul class="topiclist missing-column">
+               <li class="header">
+                       <dl class="row-item">
+                               <dt><div class="list-inner">{L_BOOKMARKS}</div></dt>
+                               <dd class="lastpost"><span>{L_LAST_POST}</span></dd>
+                               <dd class="mark">{L_MARK}</dd>
+                       </dl>
+               </li>
+       </ul>
+       <ul class="topiclist cplist missing-column">
+
+       <!-- BEGIN topicrow -->
+               <li class="row<!-- IF topicrow.S_TOPIC_REPORTED --> reported<!-- ELSEIF topicrow.S_ROW_COUNT is odd --> bg1<!-- ELSE --> bg2<!-- ENDIF -->">
+                       <!-- IF topicrow.S_DELETED_TOPIC -->
+                               <dl>
+                                       <dt><div class="list-inner"><strong>{L_DELETED_TOPIC}</strong></div></dt>
+                                       <dd class="lastpost"><span>&nbsp;</span></dd>
+                                       <dd class="mark"><input type="checkbox" name="t[{topicrow.TOPIC_ID}]" id="t{topicrow.TOPIC_ID}" /></dd>
+                               </dl>
+                       <!-- ELSE -->
+                       <dl class="row-item {topicrow.TOPIC_IMG_STYLE}">
+                               <dt<!-- IF topicrow.TOPIC_ICON_IMG --> style="background-image: url({T_ICONS_PATH}{topicrow.TOPIC_ICON_IMG}); background-repeat: no-repeat;"<!-- ENDIF --> title="{topicrow.TOPIC_FOLDER_IMG_ALT}">
+                                       <!-- IF topicrow.S_UNREAD_TOPIC --><a href="{topicrow.U_NEWEST_POST}" class="row-item-link"></a><!-- ENDIF -->
+                                       <div class="list-inner">
+                                               <!-- IF topicrow.S_UNREAD_TOPIC -->
+                                                       <a class="unread" href="{topicrow.U_NEWEST_POST}">
+                                                               <i class="icon fa-file fa-fw icon-red icon-md" aria-hidden="true"></i><span class="sr-only">{NEW_POST}</span>
+                                                       </a>
+                                               <!-- ENDIF --><a href="{topicrow.U_VIEW_TOPIC}" class="topictitle">{topicrow.TOPIC_TITLE}</a>
+                                               <!-- IF topicrow.S_TOPIC_UNAPPROVED or topicrow.S_POSTS_UNAPPROVED -->
+                                                       <a href="{topicrow.U_MCP_QUEUE}" title="{L_TOPIC_UNAPPROVED}">
+                                                               <i class="icon fa-question fa-fw icon-blue" aria-hidden="true"></i><span class="sr-only">{L_TOPIC_UNAPPROVED}</span>
+                                                       </a>
+                                               <!-- ENDIF -->
+                                               <!-- IF topicrow.S_TOPIC_REPORTED -->
+                                                       <a href="{topicrow.U_MCP_REPORT}" title="{L_TOPIC_REPORTED}">
+                                                               <i class="icon fa-exclamation fa-fw icon-red" aria-hidden="true"></i><span class="sr-only">{L_TOPIC_REPORTED}</span>
+                                                       </a>
+                                               <!-- ENDIF -->
+                                               <br />
+                                               <!-- IF .topicrow.pagination -->
+                                               <div class="pagination">
+                                                       <ul>
+                                                       <!-- BEGIN pagination -->
+                                                               <!-- IF topicrow.pagination.S_IS_PREV -->
+                                                               <!-- ELSEIF topicrow.pagination.S_IS_CURRENT --><li class="active"><span>{topicrow.pagination.PAGE_NUMBER}</span></li>
+                                                               <!-- ELSEIF topicrow.pagination.S_IS_ELLIPSIS --><li class="ellipsis"><span>{L_ELLIPSIS}</span></li>
+                                                               <!-- ELSEIF topicrow.pagination.S_IS_NEXT -->
+                                                               <!-- ELSE --><li><a href="{topicrow.pagination.PAGE_URL}">{topicrow.pagination.PAGE_NUMBER}</a></li>
+                                                               <!-- ENDIF -->
+                                                       <!-- END pagination -->
+                                                       </ul>
+                                               </div>
+                                               <!-- ENDIF -->
+                                               <div class="responsive-hide">
+                                                       <!-- IF topicrow.ATTACH_ICON_IMG --><i class="icon fa-paperclip fa-fw" aria-hidden="true"></i> <!-- ENDIF -->
+                                                       {L_POST_BY_AUTHOR} {topicrow.TOPIC_AUTHOR_FULL} &raquo; {topicrow.FIRST_POST_TIME}
+                                               </div>
+                                               <div class="responsive-show" style="display: none;">
+                                                       <!-- IF topicrow.ATTACH_ICON_IMG --><i class="icon fa-paperclip fa-fw" aria-hidden="true"></i> <!-- ENDIF -->
+                                                       {L_LAST_POST} {L_POST_BY_AUTHOR} {topicrow.LAST_POST_AUTHOR_FULL} &laquo;
+                                                       <a href="{topicrow.U_LAST_POST}" title="{L_GOTO_LAST_POST}">{topicrow.LAST_POST_TIME}</a>
+                                               </div>
+                                       </div>
+                               </dt>
+                               <dd class="lastpost"><span><dfn>{L_LAST_POST} </dfn>{L_POST_BY_AUTHOR} {topicrow.LAST_POST_AUTHOR_FULL}
+                                       <a href="{topicrow.U_LAST_POST}" title="{L_GOTO_LAST_POST}">
+                                               <i class="icon fa-external-link-square fa-fw icon-lightgray icon-md" aria-hidden="true"></i><span class="sr-only">{VIEW_LATEST_POST}</span>
+                                       </a>
+                                       <br />{topicrow.LAST_POST_TIME}</span>
+                               </dd>
+                               <dd class="mark"><input type="checkbox" name="t[{topicrow.TOPIC_ID}]" id="t{topicrow.TOPIC_ID}" /></dd>
+                       </dl>
+                       <!-- ENDIF -->
+               </li>
+       <!-- END topicrow -->
+       </ul>
+
+       <div class="action-bar bar-bottom">
+               <div class="pagination">
+                       {TOTAL_TOPICS}
+                       <!-- IF .pagination -->
+                               <!-- INCLUDE pagination.html -->
+                       <!-- ELSE -->
+                                &bull; {PAGE_NUMBER}
+                       <!-- ENDIF -->
+               </div>
+       </div>
+
+<!-- ELSE -->
+       <p><strong>{L_NO_BOOKMARKS}</strong></p>
+<!-- ENDIF -->
+
+<!-- ENDIF -->
+
+       </div>
+</div>
+
+<!-- IF .topicrow and not S_NO_DISPLAY_BOOKMARKS -->
+       <fieldset class="display-actions">
+               <input type="submit" name="unbookmark" value="{L_REMOVE_BOOKMARK_MARKED}" class="button2" />
+               <div><a href="#" onclick="marklist('ucp', '', true); return false;">{L_MARK_ALL}</a> &bull; <a href="#" onclick="marklist('ucp', '', false); return false;">{L_UNMARK_ALL}</a></div>
+               {S_FORM_TOKEN}
+       </fieldset>
+<!-- ENDIF -->
+</form>
+
+<!-- INCLUDE ucp_footer.html -->
diff --git a/template/ucp_main_drafts.html b/template/ucp_main_drafts.html
new file mode 100644 (file)
index 0000000..52ad5b5
--- /dev/null
@@ -0,0 +1,79 @@
+<!-- INCLUDE ucp_header.html -->
+
+<form id="postform" method="post" action="{S_UCP_ACTION}"{S_FORM_ENCTYPE}>
+
+<h2>{L_TITLE}</h2>
+
+<div class="panel">
+       <div class="inner">
+
+       <p>{L_DRAFTS_EXPLAIN}</p>
+
+<!-- IF S_EDIT_DRAFT -->
+
+               <!-- INCLUDE posting_editor.html -->
+               </div>
+       </div>
+
+                       <fieldset class="submit-buttons">
+                               {S_HIDDEN_FIELDS}<input type="reset" value="{L_RESET}" name="reset" class="button2" />&nbsp;
+                               <input type="submit" name="submit" value="{L_SAVE}" class="button1" />
+                               {S_FORM_TOKEN}
+                       </fieldset>
+
+<!-- ELSE -->
+
+       <!-- IF .draftrow -->
+               <ul class="topiclist missing-column">
+                       <li class="header">
+                               <dl>
+                                       <dt><div class="list-inner">{L_DRAFT_TITLE}</div></dt>
+                                       <dd class="info"><span>{L_SAVE_DATE}</span></dd>
+                                       <dd class="mark">{L_MARK}</dd>
+                               </dl>
+                       </li>
+               </ul>
+               <ul class="topiclist cplist missing-column">
+
+               <!-- BEGIN draftrow -->
+                       <li class="row<!-- IF draftrow.S_ROW_COUNT is odd --> bg1<!-- ELSE --> bg2<!-- ENDIF -->">
+                               <dl>
+                                       <dt>
+                                               <div class="list-inner">
+                                                       <a class="topictitle" href="{draftrow.U_VIEW_EDIT}">{draftrow.DRAFT_SUBJECT}</a><br />
+                                                       <!-- IF draftrow.S_LINK_TOPIC -->{L_TOPIC}{L_COLON} <a href="{draftrow.U_VIEW}">{draftrow.TITLE}</a>
+                                                       <!-- ELSEIF draftrow.S_LINK_FORUM -->{L_FORUM}{L_COLON} <a href="{draftrow.U_VIEW}">{draftrow.TITLE}</a>
+                                                       <!-- ELSEIF S_PRIVMSGS -->
+                                                       <!-- ELSE -->{L_NO_TOPIC_FORUM}<!-- ENDIF -->
+                                                       <div class="responsive-show" style="display: none;">
+                                                               {L_SAVE_DATE}{L_COLON} <strong>{draftrow.DATE}</strong><br />
+                                                               <!-- IF draftrow.U_INSERT --><a href="{draftrow.U_INSERT}">{L_LOAD_DRAFT}</a> &bull; <!-- ENDIF --><a href="{draftrow.U_VIEW_EDIT}">{L_VIEW_EDIT}</a>
+                                                       </div>
+                                               </div>
+                                       </dt>
+                                       <dd class="info"><span>{draftrow.DATE}<br /><!-- IF draftrow.U_INSERT --><a href="{draftrow.U_INSERT}">{L_LOAD_DRAFT}</a> &bull; <!-- ENDIF --><a href="{draftrow.U_VIEW_EDIT}">{L_VIEW_EDIT}</a></span></dd>
+                                       <dd class="mark"><input type="checkbox" name="d[{draftrow.DRAFT_ID}]" id="d{draftrow.DRAFT_ID}" /></dd>
+                               </dl>
+                       </li>
+               <!-- END draftrow -->
+               </ul>
+       <!-- ELSE -->
+               <p><strong>{L_NO_SAVED_DRAFTS}</strong></p>
+       <!-- ENDIF -->
+
+               </div>
+       </div>
+
+       <!-- IF .draftrow -->
+               <fieldset class="display-actions">
+                       <input class="button2" type="submit" name="delete" value="{L_DELETE_MARKED}" />
+                       <div><a href="#" onclick="marklist('postform', '', true); return false;">{L_MARK_ALL}</a> &bull; <a href="#" onclick="marklist('postform', '', false); return false;">{L_UNMARK_ALL}</a></div>
+                       {S_FORM_TOKEN}
+               </fieldset>
+       <!-- ENDIF -->
+
+<!-- ENDIF -->
+
+</form>
+
+<!-- INCLUDE ucp_footer.html -->
diff --git a/template/ucp_main_front.html b/template/ucp_main_front.html
new file mode 100644 (file)
index 0000000..04b568f
--- /dev/null
@@ -0,0 +1,82 @@
+<!-- INCLUDE ucp_header.html -->
+
+<h2>{L_TITLE}</h2>
+
+<div class="panel">
+       <div class="inner">
+
+       <p>{L_UCP_WELCOME}</p>
+
+<!-- IF .topicrow -->
+       <h3>{L_IMPORTANT_NEWS}</h3>
+
+       <ul class="topiclist cplist two-long-columns">
+       <!-- BEGIN topicrow -->
+               <li class="row<!-- IF topicrow.S_ROW_COUNT is odd --> bg1<!-- ELSE --> bg2<!-- ENDIF -->">
+                       <dl class="row-item {topicrow.TOPIC_IMG_STYLE}">
+                               <dt <!-- IF topicrow.TOPIC_ICON_IMG -->style="background-image: url({T_ICONS_PATH}{topicrow.TOPIC_ICON_IMG}); background-repeat: no-repeat;"<!-- ENDIF -->>
+                                       <!-- IF topicrow.S_UNREAD_TOPIC --><a href="{topicrow.U_NEWEST_POST}" class="row-item-link"></a><!-- ENDIF -->
+                                       <div class="list-inner">
+                                               <!-- IF topicrow.S_UNREAD -->
+                                                       <a class="unread" href="{topicrow.U_NEWEST_POST}">
+                                                               <i class="icon fa-file fa-fw icon-red icon-md" aria-hidden="true"></i><span class="sr-only">{NEW_POST}</span>
+                                                       </a>
+                                               <!-- ENDIF -->
+                                               <a href="{topicrow.U_VIEW_TOPIC}" class="topictitle">{topicrow.TOPIC_TITLE}</a><br />
+                                               <!-- IF .topicrow.pagination -->
+                                               <div class="pagination">
+                                                       <ul>
+                                                       <!-- BEGIN pagination -->
+                                                               <!-- IF topicrow.pagination.S_IS_PREV -->
+                                                               <!-- ELSEIF topicrow.pagination.S_IS_CURRENT --><li class="active"><span>{topicrow.pagination.PAGE_NUMBER}</span></li>
+                                                               <!-- ELSEIF topicrow.pagination.S_IS_ELLIPSIS --><li class="ellipsis"><span>{L_ELLIPSIS}</span></li>
+                                                               <!-- ELSEIF topicrow.pagination.S_IS_NEXT -->
+                                                               <!-- ELSE --><li><a href="{topicrow.pagination.PAGE_URL}">{topicrow.pagination.PAGE_NUMBER}</a></li>
+                                                               <!-- ENDIF -->
+                                                       <!-- END pagination -->
+                                                       </ul>
+                                               </div>
+                                               <!-- ENDIF -->
+                                               <div class="responsive-hide">
+                                                       <!-- IF topicrow.ATTACH_ICON_IMG --><i class="icon fa-paperclip fa-fw" aria-hidden="true"></i> <!-- ENDIF -->
+                                                       {L_POST_BY_AUTHOR} {topicrow.TOPIC_AUTHOR_FULL} &raquo; {topicrow.FIRST_POST_TIME}
+                                               </div>
+                                               <div class="responsive-show" style="display: none;">
+                                                       <!-- IF topicrow.ATTACH_ICON_IMG --><i class="icon fa-paperclip fa-fw" aria-hidden="true"></i> <!-- ENDIF -->
+                                                       {L_LAST_POST} {L_POST_BY_AUTHOR} {topicrow.LAST_POST_AUTHOR_FULL} &laquo; <a href="{topicrow.U_LAST_POST}" title="{L_GOTO_LAST_POST}">{topicrow.LAST_POST_TIME}</a>
+                                               </div>
+                                       </div>
+                               </dt>
+                               <dd class="lastpost">
+                                       <span>{L_LAST_POST} {L_POST_BY_AUTHOR} {topicrow.LAST_POST_AUTHOR_FULL}
+                                               <a href="{topicrow.U_LAST_POST}" title="{L_GOTO_LAST_POST}">
+                                                       <i class="icon fa-external-link-square fa-fw icon-lightgray icon-md" aria-hidden="true"></i><span class="sr-only">{VIEW_LATEST_POST}</span>
+                                               </a>
+                                               <br />{topicrow.LAST_POST_TIME}
+                                       </span>
+                               </dd>
+                       </dl>
+               </li>
+       <!-- END topicrow -->
+       </ul>
+<!-- ENDIF -->
+
+       <h3>{L_YOUR_DETAILS}</h3>
+
+<!-- EVENT ucp_main_front_user_activity_before -->
+       <dl class="details">
+               <!-- EVENT ucp_main_front_user_activity_prepend -->
+               <dt>{L_JOINED}{L_COLON}</dt> <dd>{JOINED}</dd>
+               <dt>{L_LAST_ACTIVE}{L_COLON}</dt> <dd>{LAST_VISIT_YOU}</dd>
+               <dt>{L_TOTAL_POSTS}{L_COLON}</dt> <dd><!-- IF POSTS_PCT -->{POSTS}<!-- IF S_DISPLAY_SEARCH --> | <strong><a href="{U_SEARCH_USER}">{L_SEARCH_YOUR_POSTS}</a></strong><!-- ENDIF --><br />({POSTS_DAY} / {POSTS_PCT})<!-- ELSE -->{POSTS}<!-- ENDIF --></dd>
+               <!-- IF ACTIVE_FORUM != '' --><dt>{L_ACTIVE_IN_FORUM}{L_COLON}</dt> <dd><strong><a href="{U_ACTIVE_FORUM}">{ACTIVE_FORUM}</a></strong><br />({ACTIVE_FORUM_POSTS} / {ACTIVE_FORUM_PCT})</dd><!-- ENDIF -->
+               <!-- IF ACTIVE_TOPIC != '' --><dt>{L_ACTIVE_IN_TOPIC}{L_COLON}</dt> <dd><strong><a href="{U_ACTIVE_TOPIC}">{ACTIVE_TOPIC}</a></strong><br />({ACTIVE_TOPIC_POSTS} / {ACTIVE_TOPIC_PCT})</dd><!-- ENDIF -->
+               <!-- IF WARNINGS --><dt>{L_YOUR_WARNINGS}{L_COLON}</dt> <dd class="error"><i class="icon fa-exclamation-triangle fa-fw icon-red" aria-hidden="true"></i> [{WARNINGS}]</dd><!-- ENDIF -->
+               <!-- EVENT ucp_main_front_user_activity_append -->
+       </dl>
+<!-- EVENT ucp_main_front_user_activity_after -->
+
+       </div>
+</div>
+
+<!-- INCLUDE ucp_footer.html -->
diff --git a/template/ucp_main_subscribed.html b/template/ucp_main_subscribed.html
new file mode 100644 (file)
index 0000000..d8de7fd
--- /dev/null
@@ -0,0 +1,170 @@
+<!-- INCLUDE ucp_header.html -->
+
+<form id="ucp" method="post" action="{S_UCP_ACTION}"{S_FORM_ENCTYPE}>
+
+<h2>{L_TITLE}</h2>
+<div class="panel">
+       <div class="inner">
+
+       <p>{L_WATCHED_EXPLAIN}</p>
+
+<!-- IF .forumrow -->
+       <ul class="topiclist missing-column">
+               <li class="header">
+                       <dl class="row-item">
+                               <dt><div class="list-inner">{L_WATCHED_FORUMS}</div></dt>
+                               <dd class="lastpost"><span>{L_LAST_POST}</span></dd>
+                               <dd class="mark">{L_MARK}</dd>
+                       </dl>
+               </li>
+       </ul>
+       <ul class="topiclist cplist missing-column">
+
+       <!-- BEGIN forumrow -->
+               <li class="row<!-- IF forumrow.S_ROW_COUNT is odd --> bg1<!-- ELSE --> bg2<!-- ENDIF -->">
+                       <dl class="row-item {forumrow.FORUM_IMG_STYLE}">
+                               <dt>
+                                       <!-- IF forumrow.S_UNREAD_FORUM --><a href="{forumrow.U_VIEWFORUM}" class="row-item-link"></a><!-- ENDIF -->
+                                       <div class="list-inner">
+                                               <a href="{forumrow.U_VIEWFORUM}" class="forumtitle">{forumrow.FORUM_NAME}</a><br />
+                                               {forumrow.FORUM_DESC}
+                                               <!-- IF forumrow.LAST_POST_TIME -->
+                                               <div class="responsive-show" style="display: none;">
+                                                       {L_LAST_POST} {L_POST_BY_AUTHOR} {forumrow.LAST_POST_AUTHOR_FULL} &laquo; <a href="{forumrow.U_LAST_POST}">{forumrow.LAST_POST_TIME}</a>
+                                               </div>
+                                               <!-- ENDIF -->
+                                       </div>
+                               </dt>
+                               <dd class="lastpost">
+                                       <!-- IF forumrow.LAST_POST_TIME -->
+                                               <span><dfn>{L_LAST_POST} </dfn>{L_POST_BY_AUTHOR} {forumrow.LAST_POST_AUTHOR_FULL}
+                                                       <a href="{forumrow.U_LAST_POST}">
+                                                               <i class="icon fa-external-link-square fa-fw icon-lightgray icon-md" aria-hidden="true"></i><span class="sr-only">{VIEW_LATEST_POST}</span>
+                                                       </a>
+                                                       <br />{forumrow.LAST_POST_TIME}</span>
+                                       <!-- ELSE -->
+                                               {L_NO_POSTS}<br />&nbsp;
+                                       <!-- ENDIF -->
+                               </dd>
+                               <dd class="mark"><input type="checkbox" name="f[{forumrow.FORUM_ID}]" id="f{forumrow.FORUM_ID}" /></dd>
+                       </dl>
+               </li>
+       <!-- END forumrow -->
+       </ul>
+<!-- ELSEIF S_FORUM_NOTIFY -->
+    <ul class="topiclist">
+        <li class="header">
+            <dl class="row-item">
+                <dt>{L_WATCHED_FORUMS}</dt>
+            </dl>
+        </li>
+    </ul>
+       <p><strong>{L_NO_WATCHED_FORUMS}</strong></p>
+<!-- ENDIF -->
+    <br />
+
+<!-- IF .topicrow -->
+       <ul class="topiclist missing-column">
+               <li class="header">
+                       <dl class="row-item">
+                               <dt><div class="list-inner">{L_WATCHED_TOPICS}</div></dt>
+                               <dd class="lastpost"><span>{L_LAST_POST}</span></dd>
+                               <dd class="mark">{L_MARK}</dd>
+                       </dl>
+               </li>
+       </ul>
+       <ul class="topiclist cplist missing-column">
+
+       <!-- BEGIN topicrow -->
+               <li class="row<!-- IF topicrow.S_TOPIC_REPORTED --> reported<!-- ELSEIF topicrow.S_ROW_COUNT is odd --> bg1<!-- ELSE --> bg2<!-- ENDIF -->">
+                       <dl class="row-item {topicrow.TOPIC_IMG_STYLE}">
+                               <dt<!-- IF topicrow.TOPIC_ICON_IMG --> style="background-image: url({T_ICONS_PATH}{topicrow.TOPIC_ICON_IMG}); background-repeat: no-repeat;"<!-- ENDIF --> title="{topicrow.TOPIC_FOLDER_IMG_ALT}">
+                                       <!-- IF topicrow.S_UNREAD_TOPIC --><a href="{topicrow.U_NEWEST_POST}" class="row-item-link"></a><!-- ENDIF -->
+                                       <div class="list-inner">
+                                               <!-- IF topicrow.S_UNREAD_TOPIC -->
+                                                       <a class="unread" href="{topicrow.U_NEWEST_POST}">
+                                                               <i class="icon fa-file fa-fw icon-red icon-md" aria-hidden="true"></i><span class="sr-only">{NEW_POST}</span>
+                                                       </a>
+                                               <!-- ENDIF --><a href="{topicrow.U_VIEW_TOPIC}" class="topictitle">{topicrow.TOPIC_TITLE}</a>
+                                               <!-- IF topicrow.S_TOPIC_UNAPPROVED or topicrow.S_POSTS_UNAPPROVED -->
+                                                       <a href="{topicrow.U_MCP_QUEUE}" title="{L_TOPIC_UNAPPROVED}">
+                                                               <i class="icon fa-question fa-fw icon-blue" aria-hidden="true"></i><span class="sr-only">{L_TOPIC_UNAPPROVED}</span>
+                                                       </a>
+                                               <!-- ENDIF -->
+                                               <!-- IF topicrow.S_TOPIC_REPORTED -->
+                                                       <a href="{topicrow.U_MCP_REPORT}" title="{L_TOPIC_REPORTED}">
+                                                               <i class="icon fa-exclamation fa-fw icon-red" aria-hidden="true"></i><span class="sr-only">{L_TOPIC_REPORTED}</span>
+                                                       </a>
+                                               <!-- ENDIF -->
+                                               <br />
+                                               <!-- IF .topicrow.pagination -->
+                                               <div class="pagination">
+                                                       <ul>
+                                                       <!-- BEGIN pagination -->
+                                                               <!-- IF topicrow.pagination.S_IS_PREV -->
+                                                               <!-- ELSEIF topicrow.pagination.S_IS_CURRENT --><li class="active"><span>{topicrow.pagination.PAGE_NUMBER}</span></li>
+                                                               <!-- ELSEIF topicrow.pagination.S_IS_ELLIPSIS --><li class="ellipsis"><span>{L_ELLIPSIS}</span></li>
+                                                               <!-- ELSEIF topicrow.pagination.S_IS_NEXT -->
+                                                               <!-- ELSE --><li><a href="{topicrow.pagination.PAGE_URL}">{topicrow.pagination.PAGE_NUMBER}</a></li>
+                                                               <!-- ENDIF -->
+                                                       <!-- END pagination -->
+                                                       </ul>
+                                               </div>
+                                               <!-- ENDIF -->
+                                               <div class="responsive-hide">
+                                                       <!-- IF topicrow.ATTACH_ICON_IMG --><i class="icon fa-paperclip fa-fw" aria-hidden="true"></i> <!-- ENDIF -->
+                                                       {L_POST_BY_AUTHOR} {topicrow.TOPIC_AUTHOR_FULL} &raquo; {topicrow.FIRST_POST_TIME}
+                                               </div>
+                                               <div class="responsive-show" style="display: none;">
+                                                       <!-- IF topicrow.ATTACH_ICON_IMG --><i class="icon fa-paperclip fa-fw" aria-hidden="true"></i> <!-- ENDIF -->
+                                                       {L_LAST_POST} {L_POST_BY_AUTHOR} {topicrow.LAST_POST_AUTHOR_FULL} &laquo; <a href="{topicrow.U_LAST_POST}" title="{L_GOTO_LAST_POST}">{topicrow.LAST_POST_TIME}</a>
+                                               </div>
+                                       </div>
+                               </dt>
+                               <dd class="lastpost"><span><dfn>{L_LAST_POST} </dfn>{L_POST_BY_AUTHOR} {topicrow.LAST_POST_AUTHOR_FULL}
+                                       <a href="{topicrow.U_LAST_POST}" title="{L_GOTO_LAST_POST}">
+                                               <i class="icon fa-external-link-square fa-fw icon-lightgray icon-md" aria-hidden="true"></i><span class="sr-only">{VIEW_LATEST_POST}</span>
+                                       </a>
+                                       <br />{topicrow.LAST_POST_TIME}</span>
+                               </dd>
+                               <dd class="mark"><input type="checkbox" name="t[{topicrow.TOPIC_ID}]" id="t{topicrow.TOPIC_ID}" /></dd>
+                       </dl>
+               </li>
+       <!-- END topicrow -->
+       </ul>
+
+       <div class="action-bar bar-bottom">
+               <div class="pagination">
+                       {TOTAL_TOPICS}
+                       <!-- IF .pagination -->
+                               <!-- INCLUDE pagination.html -->
+                       <!-- ELSE -->
+                                &bull; {PAGE_NUMBER}
+                       <!-- ENDIF -->
+               </div>
+       </div>
+
+<!-- ELSEIF S_TOPIC_NOTIFY -->
+    <ul class="topiclist">
+        <li class="header">
+            <dl class="row-item">
+                <dt>{L_WATCHED_TOPICS}</dt>
+            </dl>
+        </li>
+    </ul>
+       <p><strong>{L_NO_WATCHED_TOPICS}</strong></p>
+<!-- ENDIF -->
+
+       </div>
+</div>
+
+<!-- IF .topicrow or .forumrow -->
+       <fieldset class="display-actions">
+               <input type="submit" name="unwatch" value="{L_UNWATCH_MARKED}" class="button2" />
+               <div><a href="#" onclick="marklist('ucp', 't', true); marklist('ucp', 'f', true); return false;">{L_MARK_ALL}</a> &bull; <a href="#" onclick="marklist('ucp', 't', false); marklist('ucp', 'f', false); return false;">{L_UNMARK_ALL}</a></div>
+               {S_FORM_TOKEN}
+       </fieldset>
+<!-- ENDIF -->
+</form>
+
+<!-- INCLUDE ucp_footer.html -->
diff --git a/template/ucp_notifications.html b/template/ucp_notifications.html
new file mode 100644 (file)
index 0000000..32efae1
--- /dev/null
@@ -0,0 +1,120 @@
+<!-- INCLUDE ucp_header.html -->
+
+<form id="ucp" method="post" action="{S_UCP_ACTION}"{S_FORM_ENCTYPE}>
+
+<h2>{TITLE}</h2>
+<div class="panel">
+       <div class="inner">
+
+               <p>{TITLE_EXPLAIN}</p>
+
+               <!-- IF MODE == 'notification_options' -->
+                       <table class="table1">
+                               <thead>
+                                       <tr>
+                                               <th>{L_NOTIFICATION_TYPE}</th>
+                                               <!-- BEGIN notification_methods -->
+                                                       <th class="mark">{notification_methods.NAME}</th>
+                                               <!-- END notification_methods -->
+                                       </tr>
+                               </thead>
+                               <tbody>
+                               <!-- BEGIN notification_types -->
+                                       <!-- IF notification_types.GROUP_NAME -->
+                                               <tr class="bg3">
+                                                       <td colspan="{NOTIFICATION_TYPES_COLS}">{notification_types.GROUP_NAME}</td>
+                                               </tr>
+                                       <!-- ELSE -->
+                                               <tr class="<!-- IF notification_types.S_ROW_COUNT is odd -->bg1<!-- ELSE -->bg2<!-- ENDIF -->">
+                                                       <td>
+                                                               {notification_types.NAME}
+                                                               <!-- IF notification_types.EXPLAIN --><br />&nbsp; &nbsp;{notification_types.EXPLAIN}<!-- ENDIF -->
+                                                       </td>
+                                                       <!-- BEGIN notification_methods -->
+                                                               <td class="mark"><input type="checkbox" name="{notification_types.TYPE}_{notification_methods.METHOD}"<!-- IF notification_methods.SUBSCRIBED --> checked="checked"<!-- ENDIF --> /></td>
+                                                       <!-- END notification_methods -->
+                                               </tr>
+                                       <!-- ENDIF -->
+                               <!-- END notification_types -->
+                               </tbody>
+                       </table>
+               <!-- ELSE -->
+                       <!-- IF .notification_list -->
+                               <div class="action-bar bar-top">
+                                       <div class="pagination">
+                                               <!-- IF U_MARK_ALL --><a href="{U_MARK_ALL}" class="mark">{L_NOTIFICATIONS_MARK_ALL_READ}</a> &bull; <!-- ENDIF -->
+                                               {L_NOTIFICATIONS} [<strong>{TOTAL_COUNT}</strong>]
+                                               <!-- IF .pagination -->
+                                                       <!-- INCLUDE pagination.html -->
+                                               <!-- ELSE -->
+                                                        &bull; {PAGE_NUMBER}
+                                               <!-- ENDIF -->
+                                       </div>
+                               </div>
+
+                       <div class="notification_list">
+                               <ul class="topiclist two-columns">
+                                       <li class="header">
+                                               <dl>
+                                                       <dt><div class="list-inner">{L_NOTIFICATIONS}</div></dt>
+                                                       <dd class="mark">{L_MARK_READ}</dd>
+                                               </dl>
+                                       </li>
+                               </ul>
+                               <ul class="topiclist cplist two-columns">
+                                       <!-- BEGIN notification_list -->
+                                               <li class="row<!-- IF notification_list.UNREAD --> bg3<!-- ELSE --><!-- IF notification_list.S_ROW_COUNT is odd --> bg1<!-- ELSE --> bg2<!-- ENDIF --><!-- ENDIF --><!-- IF notification_list.STYLING --> {notification_list.STYLING}<!-- ENDIF -->">
+                                                       <dl>
+                                                               <dt>
+                                                                       <div class="list-inner">
+                                                                               <!-- IF notification_list.AVATAR -->{notification_list.AVATAR}<!-- ELSE --><img src="{T_THEME_PATH}/images/no_avatar.gif" alt="" /><!-- ENDIF -->
+                                                                               <div class="notifications">
+                                                                                       <!-- IF notification_list.URL --><a href="<!-- IF notification_list.UNREAD -->{notification_list.U_MARK_READ}<!-- ELSE -->{notification_list.URL}<!-- ENDIF -->"><!-- ENDIF -->
+                                                                                       <p class="notifications_title">{notification_list.FORMATTED_TITLE}<!-- IF notification_list.REFERENCE --> {notification_list.REFERENCE}<!-- ENDIF --></p>
+                                                                                       <!-- IF notification_list.URL --></a><!-- ENDIF -->
+                                                                                       <!-- IF notification_list.FORUM --><p class="notifications_forum">{notification_list.FORUM}</p><!-- ENDIF -->
+                                                                                       <!-- IF notification_list.REASON --><p class="notifications_reason">{notification_list.REASON}</p><!-- ENDIF -->
+                                                                                       <p class="notifications_time">{notification_list.TIME}</p>
+                                                                               </div>
+                                                                       </div>
+                                                               </dt>
+
+                                                               <dd class="mark">&nbsp;<input type="checkbox" name="mark[]" value="{notification_list.NOTIFICATION_ID}"<!-- IF not notification_list.UNREAD --> disabled="disabled"<!-- ENDIF --> /> <dfn>{L_MARK_READ}</dfn>&nbsp;</dd>
+                                                       </dl>
+                                               </li>
+                                       <!-- END notification_list -->
+                               </ul>
+                       </div>
+
+                       <div class="action-bar bar-bottom">
+                               <div class="pagination">
+                                       {L_NOTIFICATIONS} [<strong>{TOTAL_COUNT}</strong>]
+                                       <!-- IF .pagination -->
+                                               <!-- INCLUDE pagination.html -->
+                                       <!-- ELSE -->
+                                                 &bull; {PAGE_NUMBER}
+                                       <!-- ENDIF -->
+                               </div>
+                       </div>
+
+                       <!-- ELSE -->
+                               <p><strong>{L_NO_NOTIFICATIONS}</strong></p>
+                       <!-- ENDIF -->
+
+               <!-- ENDIF -->
+       </div>
+</div>
+
+<!-- IF .notification_types or .notification_list -->
+<fieldset class="display-actions">
+       <input type="hidden" name="form_time" value="{FORM_TIME}" />
+       {S_HIDDEN_FIELDS}
+       <input type="submit" name="submit" value="<!-- IF MODE == 'notification_options' -->{L_SUBMIT}<!-- ELSE -->{L_MARK_READ}<!-- ENDIF -->" class="button1" />
+       <div><a href="#" onclick="$('#ucp input:checkbox').prop('checked', true); return false;">{L_MARK_ALL}</a> &bull; <a href="#" onclick="$('#ucp input:checkbox').prop('checked', false); return false;">{L_UNMARK_ALL}</a></div>
+       {S_FORM_TOKEN}
+</fieldset>
+<!-- ENDIF -->
+
+</form>
+
+<!-- INCLUDE ucp_footer.html -->
diff --git a/template/ucp_pm_history.html b/template/ucp_pm_history.html
new file mode 100644 (file)
index 0000000..e97befc
--- /dev/null
@@ -0,0 +1,59 @@
+
+<h3 id="review" class="review">
+       <span class="right-box"><a href="#review" onclick="viewableArea(getElementById('topicreview'), true); var rev_text = getElementById('review').getElementsByTagName('a').item(0).firstChild; if (rev_text.data == '{LA_EXPAND_VIEW}'){rev_text.data = '{LA_COLLAPSE_VIEW}'; } else if (rev_text.data == '{LA_COLLAPSE_VIEW}'){rev_text.data = '{LA_EXPAND_VIEW}'};">{L_EXPAND_VIEW}</a></span>
+       {L_MESSAGE_HISTORY}{L_COLON}
+</h3>
+
+<!-- EVENT ucp_pm_history_review_before -->
+<div id="topicreview" class="topicreview">
+       <script type="text/javascript">
+       // <![CDATA[
+               bbcodeEnabled = {S_BBCODE_ALLOWED};
+       // ]]>
+       </script>
+       <!-- BEGIN history_row -->
+       <div class="post <!-- IF history_row.S_ROW_COUNT is even -->bg1<!-- ELSE -->bg2<!-- ENDIF -->">
+               <div class="inner">
+
+               <div class="postbody" id="pr{history_row.MSG_ID}">
+                       <h3><a href="{history_row.U_VIEW_MESSAGE}" <!-- IF history_row.S_CURRENT_MSG -->class="current"<!-- ENDIF -->>{history_row.SUBJECT}</a></h3>
+
+                       <!-- DEFINE $SHOW_PM_HISTORY_POST_BUTTONS = (history_row.U_QUOTE or history_row.MESSAGE_AUTHOR_QUOTE) -->
+                       <!-- EVENT ucp_pm_history_post_buttons_list_before -->
+                       <!-- IF $SHOW_PM_HISTORY_POST_BUTTONS -->
+                       <ul class="post-buttons">
+                               <!-- EVENT ucp_pm_history_post_buttons_before -->
+                               <!-- IF history_row.U_QUOTE or history_row.MESSAGE_AUTHOR_QUOTE -->
+                               <li>
+                                       <a <!-- IF history_row.U_QUOTE -->href="{history_row.U_QUOTE}"<!-- ELSE -->href="#postingbox" onclick="addquote({history_row.MSG_ID}, '{history_row.MESSAGE_AUTHOR_QUOTE}', '{LA_WROTE}', {time:{history_row.MESSAGE_TIME},user_id:{history_row.USER_ID}});"<!-- ENDIF --> title="{L_QUOTE} {history_row.MESSAGE_AUTHOR}" class="button button-icon-only">
+                                               <i class="icon fa-quote-left fa-fw" aria-hidden="true"></i><span class="sr-only">{L_QUOTE} {history_row.MESSAGE_AUTHOR}</span>
+                                       </a>
+                               </li>
+                               <!-- ENDIF -->
+                               <!-- EVENT ucp_pm_history_post_buttons_after -->
+                       </ul>
+                       <!-- ENDIF -->
+                       <!-- EVENT ucp_pm_history_post_buttons_list_after -->
+
+                       <p class="author">
+                               <span><i class="icon fa-file fa-fw icon-lightgray icon-md" aria-hidden="true"></i><span class="sr-only">{history_row.MINI_POST}</span></span> {L_SENT_AT}{L_COLON} <strong>{history_row.SENT_DATE}</strong>
+                               <br />
+                               {L_MESSAGE_BY_AUTHOR} {history_row.MESSAGE_AUTHOR_FULL}
+                       </p>
+                       <div class="content"><!-- IF history_row.MESSAGE -->{history_row.MESSAGE}<!-- ELSE --><span class="error">{L_MESSAGE_REMOVED_FROM_OUTBOX}</span><!-- ENDIF --></div>
+                       <div id="message_{history_row.MSG_ID}" style="display: none;">{history_row.DECODED_MESSAGE}</div>
+               </div>
+
+               </div>
+       </div>
+       <!-- END history_row -->
+</div>
+<!-- EVENT ucp_pm_history_review_after -->
+
+<hr />
+<p>
+       <a href="#cp-main" class="top">
+               <i class="icon fa-chevron-circle-up fa-fw icon-gray" aria-hidden="true"></i><span>{L_BACK_TO_TOP}</span>
+       </a>
+</p>
+
diff --git a/template/ucp_pm_message_footer.html b/template/ucp_pm_message_footer.html
new file mode 100644 (file)
index 0000000..acf6f24
--- /dev/null
@@ -0,0 +1,2 @@
+<div>{S_FORM_TOKEN}</div>
+</form>
diff --git a/template/ucp_pm_message_header.html b/template/ucp_pm_message_header.html
new file mode 100644 (file)
index 0000000..6ad9e9c
--- /dev/null
@@ -0,0 +1,70 @@
+<h2>{L_TITLE}<!-- IF CUR_FOLDER_NAME -->{L_COLON} {CUR_FOLDER_NAME}<!-- ENDIF --></h2>
+
+<form id="viewfolder" method="post" action="{S_PM_ACTION}">
+
+<div class="panel">
+       <div class="inner">
+       <!-- IF FOLDER_STATUS and FOLDER_MAX_MESSAGES neq 0 --><p>{FOLDER_STATUS}</p><!-- ENDIF -->
+
+       <div class="action-bar bar-top">
+       <!-- IF U_POST_REPLY_PM or U_POST_NEW_TOPIC or U_FORWARD_PM -->
+               <!-- IF U_POST_REPLY_PM -->
+                       <a title="{L_POST_REPLY_PM}" href="{U_POST_REPLY_PM}" class="button">
+                               <span>{L_BUTTON_PM_REPLY}</span> <i class="icon fa-reply fa-fw" aria-hidden="true"></i>
+                       </a>
+               <!-- ELSEIF U_POST_NEW_TOPIC -->
+                       <a href="{U_POST_NEW_TOPIC}" accesskey="n" title="{L_UCP_PM_COMPOSE}" class="button">
+                               <span>{L_BUTTON_PM_NEW}</span> <i class="icon fa-pencil fa-fw" aria-hidden="true"></i>
+                       </a>
+               <!-- ENDIF -->
+               <!-- IF U_FORWARD_PM -->
+                       <a title="{L_POST_FORWARD_PM}" href="{U_FORWARD_PM}" class="button">
+                               <span>{L_BUTTON_PM_FORWARD}</span> <i class="icon fa-mail-forward fa-fw" aria-hidden="true"></i>
+                       </a>
+               <!-- ENDIF -->
+               <!-- IF U_POST_REPLY_PM and S_PM_RECIPIENTS gt 1 -->
+                       <a title="{L_REPLY_TO_ALL}" href="{U_POST_REPLY_ALL}" class="button">
+                               <span>{L_BUTTON_PM_REPLY_ALL}</span> <i class="icon fa-pencil fa-fw" aria-hidden="true"></i>
+                       </a>
+               <!-- ENDIF -->
+       <!-- ENDIF -->
+
+       <!-- IF not S_IS_BOT and U_PRINT_PM -->
+               <div class="dropdown-container dropdown-button-control topic-tools">
+                       <span title="{L_PM_TOOLS}" class="button button-secondary dropdown-trigger dropdown-select">
+                               <i class="icon fa-wrench fa-fw" aria-hidden="true"></i>
+                               <span class="caret"><i class="icon fa-sort-down fa-fw" aria-hidden="true"></i></span>
+                       </span>
+                       <div class="dropdown">
+                               <div class="pointer"><div class="pointer-inner"></div></div>
+                               <ul class="dropdown-contents">
+                                       <!-- IF U_PRINT_PM -->
+                                               <li>
+                                                       <a href="{U_PRINT_PM}" title="{L_PRINT_PM}" accesskey="p">
+                                                               <i class="icon fa-print fa-fw" aria-hidden="true"></i><span>{L_PRINT_PM}</span>
+                                                       </a>
+                                               </li>
+                                       <!-- ENDIF -->
+                               </ul>
+                       </div>
+               </div>
+       <!-- ENDIF -->
+
+       <!-- IF TOTAL_MESSAGES or S_VIEW_MESSAGE -->
+               <div class="pagination">
+                       <!-- IF S_VIEW_MESSAGE -->
+                               <a class="arrow-{S_CONTENT_FLOW_BEGIN}" href="{U_CURRENT_FOLDER}">
+                                       <i class="icon fa-angle-{S_CONTENT_FLOW_BEGIN} fa-fw icon-black" aria-hidden="true"></i><span>{L_RETURN_TO_FOLDER}</span>
+                               </a>
+                       <!-- ELSEIF FOLDER_CUR_MESSAGES neq 0 -->
+                               <!-- IF U_MARK_ALL --><a href="{U_MARK_ALL}" class="mark">{L_PM_MARK_ALL_READ}</a> &bull; <!-- ENDIF -->
+                               {TOTAL_MESSAGES}
+                               <!-- IF .pagination -->
+                                       <!-- INCLUDE pagination.html -->
+                               <!-- ELSE -->
+                                        &bull; {PAGE_NUMBER}
+                               <!-- ENDIF -->
+                       <!-- ENDIF -->
+               </div>
+       <!-- ENDIF -->
+       </div>
diff --git a/template/ucp_pm_options.html b/template/ucp_pm_options.html
new file mode 100644 (file)
index 0000000..247be8b
--- /dev/null
@@ -0,0 +1,131 @@
+<!-- INCLUDE ucp_header.html -->
+
+<h2>{L_TITLE}</h2>
+
+<form id="ucp" method="post" action="{S_UCP_ACTION}">
+
+<div class="panel">
+       <div class="inner">
+
+       <!-- IF ERROR_MESSAGE --><p class="error">{ERROR_MESSAGE}</p><!-- ENDIF -->
+       <!-- IF NOTIFICATION_MESSAGE --><p class="error">{NOTIFICATION_MESSAGE}</p><!-- ENDIF -->
+
+       <h3>{L_DEFINED_RULES}</h3>
+
+       <ol class="def-rules">
+       <!-- BEGIN rule -->
+               <li><div class="right-box"><input type="submit" name="delete_rule[{rule.RULE_ID}]" value="{L_DELETE_RULE}" class="button2" /></div><strong>{L_IF}</strong> {rule.CHECK} <em>{rule.RULE}</em> <!-- IF rule.STRING --><strong>{rule.STRING}</strong> | <!-- ENDIF -->{rule.ACTION}<!-- IF rule.FOLDER -->{L_COLON} {rule.FOLDER}<!-- ENDIF --><div style="clear: both;"></div></li>
+       <!-- BEGINELSE -->
+               <li><strong>{L_NO_RULES_DEFINED}</strong></li>
+       <!-- END rule -->
+       </ol>
+
+       <h3>{L_ADD_NEW_RULE}</h3>
+
+       <fieldset class="fields2">
+
+       <!-- IF S_CHECK_DEFINED -->
+               <dl>
+                       <dt><label<!-- IF S_CHECK_SELECT --> for="check_option"<!-- ENDIF -->>{L_IF}{L_COLON}</label></dt>
+                       <dd>
+                               <!-- IF S_CHECK_SELECT --><select name="check_option" id="check_option">{S_CHECK_OPTIONS}</select> <input type="submit" name="next" value="{L_NEXT_STEP}" class="button2" /><!-- ELSE -->{CHECK_CURRENT}<input type="hidden" name="check_option" value="{CHECK_OPTION}" /><!-- ENDIF -->
+                       </dd>
+               </dl>
+       <!-- ENDIF -->
+
+       <!-- IF S_RULE_DEFINED -->
+               <dl>
+                       <dt><!-- IF S_RULE_SELECT --><input type="submit" name="back[rule]" value="{L_PREVIOUS_STEP}" class="button2" /><!-- ELSE --><label>&nbsp;</label><!-- ENDIF --></dt>
+                       <dd><!-- IF S_RULE_SELECT --><select name="rule_option" id="rule_option">{S_RULE_OPTIONS}</select> <input type="submit" name="next" value="{L_NEXT_STEP}" class="button2" /><!-- ELSE --><em>{RULE_CURRENT}</em><input type="hidden" name="rule_option" value="{RULE_OPTION}" /><!-- ENDIF --></dd>
+               </dl>
+       <!-- ENDIF -->
+
+       <!-- IF S_COND_DEFINED -->
+               <!-- IF S_COND_SELECT or COND_CURRENT -->
+                       <dl>
+                               <dt><!-- IF S_COND_SELECT --><input type="submit" name="back[cond]" value="{L_PREVIOUS_STEP}" class="button2" /><!-- ELSE --><label>&nbsp;</label><!-- ENDIF --></dt>
+                               <dd>
+                                       <!-- IF S_COND_SELECT -->
+                                               <!-- IF S_TEXT_CONDITION -->
+                                                       <input type="text" name="rule_string" value="{CURRENT_STRING}" class="inputbox medium" maxlength="250" />
+                                               <!-- ELSEIF S_USER_CONDITION -->
+                                                       <input type="text" name="rule_string" value="{CURRENT_STRING}" class="inputbox tiny" />&nbsp;<span>[ <a href="{U_FIND_USERNAME}" onclick="find_username(this.href); return false;">{L_FIND_USERNAME}</a> ]</span>
+                                               <!-- ELSEIF S_GROUP_CONDITION -->
+                                                       <input type="hidden" name="rule_string" value="{CURRENT_STRING}" /><!-- IF S_GROUP_OPTIONS --><select name="rule_group_id">{S_GROUP_OPTIONS}</select><!-- ELSE -->{L_NO_GROUPS}<!-- ENDIF -->
+                                               <!-- ENDIF -->
+                                               <input type="submit" name="next" value="{L_NEXT_STEP}" class="button2" />
+                                       <!-- ELSE -->
+                                               <strong>{COND_CURRENT}</strong><input type="hidden" name="rule_string" value="{CURRENT_STRING}" /><input type="hidden" name="rule_user_id" value="{CURRENT_USER_ID}" /><input type="hidden" name="rule_group_id" value="{CURRENT_GROUP_ID}" />
+                                       <!-- ENDIF -->
+                               </dd>
+                       </dl>
+               <!-- ENDIF -->
+               <input type="hidden" name="cond_option" value="{COND_OPTION}" />
+       <!-- ENDIF -->
+
+
+       <!-- IF NONE_CONDITION --><input type="hidden" name="cond_option" value="none" /><!-- ENDIF -->
+
+       <!-- IF S_ACTION_DEFINED -->
+               <dl>
+                       <dt><!-- IF S_ACTION_SELECT --><input type="submit" name="back[action]" value="{L_PREVIOUS_STEP}" class="button2" /><!-- ELSE --><label>&nbsp;</label><!-- ENDIF --></dt>
+                       <dd><!-- IF S_ACTION_SELECT --> <select name="action_option">{S_ACTION_OPTIONS}</select> <input type="submit" name="add_rule" value="{L_ADD_RULE}" class="button1" /><!-- ELSE -->{ACTION_CURRENT}<input type="hidden" name="action_option" value="{ACTION_OPTION}" /><!-- ENDIF --></dd>
+               </dl>
+       <!-- ENDIF -->
+
+       </fieldset>
+
+       <h3>{L_FOLDER_OPTIONS}</h3>
+
+       <fieldset class="fields2">
+
+       <!-- IF not S_MAX_FOLDER_ZERO -->
+       <dl>
+               <dt><label for="foldername">{L_ADD_FOLDER}{L_COLON}</label></dt>
+               <dd><!-- IF S_MAX_FOLDER_REACHED -->{L_MAX_FOLDER_REACHED}<!-- ELSE --><input type="text" class="inputbox medium" name="foldername" id="foldername" size="30" maxlength="30" /> <input class="button2" type="submit" name="addfolder" value="{L_ADD}" /><!-- ENDIF --></dd>
+       </dl>
+       <!-- IF S_FOLDER_OPTIONS --><hr class="dashed" /><!-- ENDIF -->
+       <!-- ENDIF -->
+
+
+
+       <!-- IF S_FOLDER_OPTIONS -->
+               <dl>
+                       <dt><label for="rename_folder_id">{L_RENAME_FOLDER}{L_COLON}</label></dt>
+                       <dd><select name="rename_folder_id" id="rename_folder_id">{S_FOLDER_OPTIONS}</select></dd>
+                       <dt><label for="new_folder_name">{L_NEW_FOLDER_NAME}{L_COLON}</label></dt>
+                       <dd><input type="text" class="inputbox tiny" name="new_folder_name" id="new_folder_name" maxlength="30" /> <input class="button2" type="submit" name="rename_folder" value="{L_RENAME}" /></dd>
+               </dl>
+               <hr class="dashed" />
+               <dl>
+                       <dt><label for="remove_folder_id">{L_REMOVE_FOLDER}{L_COLON}</label></dt>
+                       <dd><select name="remove_folder_id" id="remove_folder_id">{S_FOLDER_OPTIONS}</select></dd>
+                       <dd style="margin-top: 3px;"><label for="remove_action1"><input type="radio" name="remove_action" id="remove_action1" value="1" checked="checked" /> {L_MOVE_DELETED_MESSAGES_TO}{L_COLON}</label> <select name="move_to">{S_TO_FOLDER_OPTIONS}</select></dd>
+                       <dd style="margin-top: 3px;"><label for="remove_action2"><input type="radio" name="remove_action" id="remove_action2" value="2" /> {L_DELETE_MESSAGES_IN_FOLDER}</label></dd>
+                       <dd style="margin-top: 3px;"><input class="button2" type="submit" name="remove_folder" value="{L_REMOVE}" /></dd>
+               </dl>
+       <!-- ENDIF -->
+
+       <hr class="dashed" />
+
+       <dl>
+               <dt><label for="full_action1">{L_IF_FOLDER_FULL}{L_COLON}</label></dt>
+               <dd style="margin-top: 3px;"><label for="full_action1"><input type="radio" name="full_action" id="full_action1" value="1"{S_DELETE_CHECKED} /> {L_DELETE_OLDEST_MESSAGES}</label></dd>
+               <dd style="margin-top: 3px;"><label for="full_action2"><input type="radio" name="full_action" id="full_action2" value="2"{S_MOVE_CHECKED} /> {L_MOVE_TO_FOLDER}{L_COLON}</label> <select name="full_move_to">{S_FULL_FOLDER_OPTIONS}</select></dd>
+               <dd style="margin-top: 3px;"><label for="full_action3" style="white-space:normal;"><input type="radio" name="full_action" id="full_action3" value="3"{S_HOLD_CHECKED} /> {L_HOLD_NEW_MESSAGES}</label></dd>
+       </dl>
+
+
+       <dl>
+               <dt><label>{L_DEFAULT_ACTION}{L_COLON}</label><br /><span>{L_DEFAULT_ACTION_EXPLAIN}</span></dt>
+               <dd>{DEFAULT_ACTION}</dd>
+               <dd><input class="button2" type="submit" name="fullfolder" value="{L_CHANGE}" /></dd>
+       </dl>
+       </fieldset>
+
+       </div>
+       {S_FORM_TOKEN}
+</div>
+</form>
+
+<!-- INCLUDE ucp_footer.html -->
diff --git a/template/ucp_pm_viewfolder.html b/template/ucp_pm_viewfolder.html
new file mode 100644 (file)
index 0000000..a290313
--- /dev/null
@@ -0,0 +1,130 @@
+<!-- INCLUDE ucp_header.html -->
+
+<!-- IF not PROMPT -->
+       <!-- INCLUDE ucp_pm_message_header.html -->
+<!-- ENDIF -->
+
+<!-- IF PROMPT -->
+       <h2>{L_EXPORT_AS_CSV}</h2>
+       <form id="viewfolder" method="post" action="{S_PM_ACTION}">
+       <div class="panel">
+               <div class="inner">
+               <h3>{L_OPTIONS}</h3>
+               <fieldset>
+                       <dl>
+                               <dt><label for="delimiter">{L_DELIMITER}{L_COLON}</label></dt>
+                               <dd><input class="inputbox" type="text" id="delimiter" name="delimiter" value="," /></dd>
+                       </dl>
+                       <dl>
+                               <dt><label for="enclosure">{L_ENCLOSURE}{L_COLON}</label></dt>
+                               <dd><input class="inputbox" type="text" id="enclosure" name="enclosure" value="&#034;" /></dd>
+                       </dl>
+               </fieldset>
+               </div>
+       </div>
+       <fieldset class="submit-buttons">
+               <input type="hidden" name="export_option" value="CSV" />
+               <input class="button1" type="submit" name="submit_export" value="{L_EXPORT_FOLDER}" />&nbsp;
+               <input class="button2" type="reset" value="{L_RESET}" name="reset" />&nbsp;
+               {S_FORM_TOKEN}
+       </fieldset>
+       </form>
+
+<!-- ELSE -->
+
+       <!-- IF NUM_REMOVED -->
+               <div class="notice">
+                       <p>{RULE_REMOVED_MESSAGES}</p>
+               </div>
+       <!-- ENDIF -->
+
+       <!-- IF NUM_NOT_MOVED -->
+               <div class="notice">
+                       <p>{NOT_MOVED_MESSAGES}<br />{RELEASE_MESSAGE_INFO}</p>
+               </div>
+       <!-- ENDIF -->
+
+       <!-- IF .messagerow -->
+               <ul class="topiclist two-columns">
+                       <li class="header">
+                               <dl>
+                                       <dt><div class="list-inner">{L_MESSAGE}</div></dt>
+                                       <dd class="mark">{L_MARK}</dd>
+                               </dl>
+                       </li>
+               </ul>
+               <ul class="topiclist cplist pmlist responsive-show-all <!-- IF S_SHOW_RECIPIENTS -->missing-column<!-- ELSE -->two-columns<!-- ENDIF -->">
+
+               <!-- BEGIN messagerow -->
+                       <li class="row<!-- IF messagerow.S_ROW_COUNT is odd --> bg1<!-- ELSE --> bg2<!-- ENDIF --><!-- IF messagerow.PM_CLASS --> {messagerow.PM_CLASS}<!-- ENDIF -->">
+                               <dl class="row-item {messagerow.FOLDER_IMG_STYLE}">
+                                       <dt<!-- IF messagerow.PM_ICON_URL and S_PM_ICONS --> style="background-image: url({messagerow.PM_ICON_URL}); background-repeat: no-repeat;"<!-- ENDIF -->>
+                                               <!-- IF messagerow.S_PM_UNREAD and not messagerow.S_PM_DELETED --><a href="{messagerow.U_VIEW_PM}" class="row-item-link"></a><!-- ENDIF -->
+                                               <div class="list-inner">
+
+                                               <!-- IF messagerow.S_PM_DELETED -->
+                                                       <a href="{messagerow.U_REMOVE_PM}" class="topictitle">{L_DELETE_MESSAGE}</a><br />
+                                                       <span class="error">{L_MESSAGE_REMOVED_FROM_OUTBOX}</span>
+                                               <!-- ELSE -->
+                                                       <a href="{messagerow.U_VIEW_PM}" class="topictitle">{messagerow.SUBJECT}</a>
+                                               <!-- ENDIF -->
+                                               <!-- IF messagerow.S_AUTHOR_DELETED -->
+                                                       <br /><em class="small">{L_PM_FROM_REMOVED_AUTHOR}</em>
+                                               <!-- ENDIF -->
+                                               <!-- IF messagerow.S_PM_REPORTED -->
+                                                       <a href="{messagerow.U_MCP_REPORT}">
+                                                               <i class="icon fa-exclamation fa-fw icon-red" aria-hidden="true"></i><span class="sr-only">{PM_REPORTED}</span>
+                                                       </a>
+                                               <!-- ENDIF --> <!-- IF messagerow.ATTACH_ICON_IMG --><i class="icon fa-paperclip fa-fw" aria-hidden="true"></i> <!-- ENDIF --><br />
+                                               <!-- IF S_SHOW_RECIPIENTS -->{L_MESSAGE_TO} {messagerow.RECIPIENTS}<!-- ELSE -->{L_MESSAGE_BY_AUTHOR} {messagerow.MESSAGE_AUTHOR_FULL} &raquo; {messagerow.SENT_TIME}<!-- ENDIF -->
+
+                                               </div>
+                                       </dt>
+                                       <!-- IF S_SHOW_RECIPIENTS --><dd class="info"><span>{L_SENT_AT}{L_COLON} {messagerow.SENT_TIME}</span></dd><!-- ENDIF -->
+                                       <!-- IF S_UNREAD --><dd class="info"><!-- IF messagerow.FOLDER --><a href="{messagerow.U_FOLDER}">{messagerow.FOLDER}</a><!-- ELSE -->{L_UNKNOWN_FOLDER}<!-- ENDIF --></dd><!-- ENDIF -->
+                                       <dd class="mark"><input type="checkbox" name="marked_msg_id[]" value="{messagerow.MESSAGE_ID}" /></dd>
+                               </dl>
+                       </li>
+               <!-- END messagerow -->
+
+               </ul>
+       <!-- ELSE -->
+               <p><strong>
+                       <!-- IF S_COMPOSE_PM_VIEW and S_NO_AUTH_SEND_MESSAGE -->
+                               <!-- IF S_USER_NEW -->{L_USER_NEW_PERMISSION_DISALLOWED}<!-- ELSE -->{L_NO_AUTH_SEND_MESSAGE}<!-- ENDIF -->
+                       <!-- ELSE -->
+                               {L_NO_MESSAGES}
+                       <!-- ENDIF -->
+               </strong></p>
+       <!-- ENDIF -->
+
+       <!-- IF FOLDER_CUR_MESSAGES neq 0 -->
+               <fieldset class="display-actions">
+                       <div class="left-box"><label for="export_option">{L_EXPORT_FOLDER}{L_COLON} <select name="export_option" id="export_option"><option value="CSV">{L_EXPORT_AS_CSV}</option><option value="CSV_EXCEL">{L_EXPORT_AS_CSV_EXCEL}</option><option value="XML">{L_EXPORT_AS_XML}</option></select></label> <input class="button2" type="submit" name="submit_export" value="{L_GO}" /><br /></div>
+                       <select name="mark_option">{S_MARK_OPTIONS}{S_MOVE_MARKED_OPTIONS}</select> <input class="button2" type="submit" name="submit_mark" value="{L_GO}" />
+                       <div><a href="#" onclick="marklist('viewfolder', 'marked_msg', true); return false;">{L_MARK_ALL}</a> &bull; <a href="#" onclick="marklist('viewfolder', 'marked_msg', false); return false;">{L_UNMARK_ALL}</a></div>
+               </fieldset>
+
+               <hr />
+
+               <div class="action-bar bottom">
+                       <!-- INCLUDE display_options.html -->
+                       <input type="hidden" name="cur_folder_id" value="{CUR_FOLDER_ID}" />
+
+                       <div class="pagination">
+                               {TOTAL_MESSAGES}
+                               <!-- IF .pagination -->
+                                       <!-- INCLUDE pagination.html -->
+                               <!-- ELSE -->
+                                        &bull; {PAGE_NUMBER}
+                               <!-- ENDIF -->
+                       </div>
+               </div>
+       <!-- ENDIF -->
+
+               </div>
+       </div>
+
+       <!-- INCLUDE ucp_pm_message_footer.html -->
+<!-- ENDIF -->
+<!-- INCLUDE ucp_footer.html -->
diff --git a/template/ucp_pm_viewmessage.html b/template/ucp_pm_viewmessage.html
new file mode 100644 (file)
index 0000000..e2a0860
--- /dev/null
@@ -0,0 +1,196 @@
+<!-- INCLUDE ucp_header.html -->
+
+<!-- INCLUDE ucp_pm_message_header.html -->
+
+       </div>
+</div>
+
+
+<!-- IF S_DISPLAY_HISTORY and (U_VIEW_PREVIOUS_HISTORY or U_VIEW_NEXT_HISTORY) -->
+       <fieldset class="display-options clearfix">
+               <!-- IF U_VIEW_PREVIOUS_HISTORY -->
+                       <a href="{U_VIEW_PREVIOUS_HISTORY}" class="left-box arrow-{S_CONTENT_FLOW_BEGIN}">
+                               <i class="icon fa-angle-{S_CONTENT_FLOW_BEGIN} fa-fw icon-black" aria-hidden="true"></i><span>{L_VIEW_PREVIOUS_HISTORY}</span>
+                       </a>
+               <!-- ENDIF -->
+               <!-- IF U_VIEW_NEXT_HISTORY -->
+                       <a href="{U_VIEW_NEXT_HISTORY}" class="right-box arrow-{S_CONTENT_FLOW_END}">
+                               <i class="icon fa-angle-{S_CONTENT_FLOW_BEGIN} fa-fw icon-black" aria-hidden="true"></i><span>{L_VIEW_NEXT_HISTORY}</span>
+                       </a>
+               <!-- ENDIF -->
+       </fieldset>
+<!-- ENDIF -->
+
+
+<div id="post-{MESSAGE_ID}" class="post pm has-profile<!-- IF S_POST_UNAPPROVED or S_POST_REPORTED --> reported<!-- ENDIF --><!-- IF S_ONLINE --> online<!-- ENDIF -->">
+<div class="inner">
+
+       <dl class="postprofile" id="profile{MESSAGE_ID}">
+               <dt class="<!-- IF RANK_TITLE or RANK_IMG -->has-profile-rank<!-- ELSE -->no-profile-rank<!-- ENDIF --> <!-- IF AUTHOR_AVATAR -->has-avatar<!-- ELSE -->no-avatar<!-- ENDIF -->">
+                       <div class="avatar-container">
+                               <!-- EVENT ucp_pm_viewmessage_avatar_before -->
+                               <!-- IF AUTHOR_AVATAR --><a href="{U_MESSAGE_AUTHOR}" class="avatar">{AUTHOR_AVATAR}</a><!-- ENDIF -->
+                               <!-- EVENT ucp_pm_viewmessage_avatar_after -->
+                       </div>
+                       {MESSAGE_AUTHOR_FULL}
+               </dt>
+
+               <!-- EVENT ucp_pm_viewmessage_rank_before -->
+               <!-- IF RANK_TITLE or RANK_IMG --><dd class="profile-rank">{RANK_TITLE}<!-- IF RANK_TITLE and RANK_IMG --><br /><!-- ENDIF -->{RANK_IMG}</dd><!-- ENDIF -->
+               <!-- EVENT ucp_pm_viewmessage_rank_after -->
+
+               <dd class="profile-posts"><strong>{L_POSTS}{L_COLON}</strong> <!-- IF U_AUTHOR_POSTS != '' --><a href="{U_AUTHOR_POSTS}">{AUTHOR_POSTS}</a><!-- ELSE -->{AUTHOR_POSTS}<!-- ENDIF --></dd>
+               <!-- IF AUTHOR_JOINED --><dd class="profile-joined"><strong>{L_JOINED}{L_COLON}</strong> {AUTHOR_JOINED}</dd><!-- ENDIF -->
+
+               <!-- EVENT ucp_pm_viewmessage_custom_fields_before -->
+               <!-- BEGIN custom_fields -->
+                       <!-- IF not custom_fields.S_PROFILE_CONTACT -->
+                               <dd class="profile-custom-field profile-{custom_fields.PROFILE_FIELD_IDENT}"><strong>{custom_fields.PROFILE_FIELD_NAME}{L_COLON}</strong> {custom_fields.PROFILE_FIELD_VALUE}</dd>
+                       <!-- ENDIF -->
+               <!-- END custom_fields -->
+               <!-- EVENT ucp_pm_viewmessage_custom_fields_after -->
+
+               <!-- EVENT ucp_pm_viewmessage_contact_fields_before -->
+               <!-- IF .contact -->
+                       <dd class="profile-contact">
+                               <strong>{L_CONTACT}{L_COLON}</strong>
+                               <div class="dropdown-container dropdown-left">
+                                       <a href="#" class="dropdown-trigger"  title="{CONTACT_USER}"><i class="icon fa-commenting-o fa-fw icon-lg" aria-hidden="true"></i><span class="sr-only">{CONTACT_USER}</span></a>
+                                       <div class="dropdown">
+                                               <div class="pointer"><div class="pointer-inner"></div></div>
+                                               <div class="dropdown-contents contact-icons">
+                                                       <!-- BEGIN contact -->
+                                                               {% set REMAINDER = contact.S_ROW_COUNT % 4 %}
+                                                               <!-- DEFINE $S_LAST_CELL = ((REMAINDER eq 3) or (contact.S_LAST_ROW and contact.S_NUM_ROWS < 4)) -->
+                                                               <!-- IF REMAINDER eq 0 -->
+                                                                       <div>
+                                                               <!-- ENDIF -->
+                                                                       <a href="<!-- IF contact.U_CONTACT -->{contact.U_CONTACT}<!-- ELSE -->{contact.U_PROFILE_AUTHOR}<!-- ENDIF -->" title="{contact.NAME}"<!-- IF $S_LAST_CELL --> class="last-cell"<!-- ENDIF --><!-- IF contact.ID eq 'jabber' --> onclick="popup(this.href, 750, 320); return false;"<!-- ENDIF -->>
+                                                                               <span class="contact-icon {contact.ID}-icon">{contact.NAME}</span>
+                                                                       </a>
+                                                               <!-- IF REMAINDER eq 3 or contact.S_LAST_ROW -->
+                                                                       </div>
+                                                               <!-- ENDIF -->
+                                                       <!-- END contact -->
+                                               </div>
+                                       </div>
+                               </div>
+                       </dd>
+               <!-- ENDIF -->
+               <!-- EVENT ucp_pm_viewmessage_contact_fields_after -->
+       </dl>
+
+       <div class="postbody">
+               <h3 class="first">{SUBJECT}</h3>
+
+               <!-- DEFINE $SHOW_PM_POST_BUTTONS = (U_EDIT or U_DELETE or U_REPORT or U_QUOTE) -->
+               <!-- EVENT ucp_pm_viewmessage_post_buttons_list_before -->
+               <!-- IF $SHOW_PM_POST_BUTTONS -->
+               <ul class="post-buttons">
+                       <!-- EVENT ucp_pm_viewmessage_post_buttons_before -->
+                       <!-- IF U_EDIT -->
+                               <li>
+                                       <a href="{U_EDIT}" title="{L_POST_EDIT_PM}" class="button button-icon-only">
+                                               <i class="icon fa-pencil fa-fw" aria-hidden="true"></i><span class="sr-only">{L_POST_EDIT_PM}</span>
+                                       </a>
+                               </li>
+                       <!-- ENDIF -->
+                       <!-- IF U_DELETE -->
+                               <li>
+                                       <a href="{U_DELETE}" title="{L_DELETE_MESSAGE}" class="button button-icon-only">
+                                               <i class="icon fa-times fa-fw" aria-hidden="true"></i><span class="sr-only">{L_DELETE_MESSAGE}</span>
+                                       </a>
+                               </li>
+                       <!-- ENDIF -->
+                       <!-- IF U_REPORT -->
+                               <li>
+                                       <a href="{U_REPORT}" title="{L_REPORT_PM}" class="button button-icon-only">
+                                               <i class="icon fa-exclamation fa-fw" aria-hidden="true"></i><span class="sr-only">{L_REPORT_PM}</span>
+                                       </a>
+                               </li>
+                       <!-- ENDIF -->
+                       <!-- IF U_QUOTE -->
+                               <li>
+                                       <a href="{U_QUOTE}" title="{L_POST_QUOTE_PM}" class="button button-icon-only">
+                                               <i class="icon fa-quote-left fa-fw" aria-hidden="true"></i><span class="sr-only">{L_POST_QUOTE_PM}</span>
+                                       </a>
+                               </li>
+                       <!-- ENDIF -->
+                       <!-- EVENT ucp_pm_viewmessage_post_buttons_after -->
+               </ul>
+               <!-- ENDIF -->
+               <!-- EVENT ucp_pm_viewmessage_post_buttons_list_after -->
+
+               <p class="author">
+                       <strong>{L_SENT_AT}{L_COLON}</strong> {SENT_DATE}
+                       <br /><strong>{L_PM_FROM}{L_COLON}</strong> {MESSAGE_AUTHOR_FULL}
+                       <!-- IF S_TO_RECIPIENT --><br /><strong>{L_TO}{L_COLON}</strong> <!-- BEGIN to_recipient --><!-- IF to_recipient.NAME_FULL -->{to_recipient.NAME_FULL}<!-- ELSE --><a href="{to_recipient.U_VIEW}" style="color:<!-- IF to_recipient.COLOUR -->{to_recipient.COLOUR}<!-- ELSEIF to_recipient.IS_GROUP -->#0000FF<!-- ENDIF -->;">{to_recipient.NAME}</a><!-- ENDIF -->&nbsp;<!-- END to_recipient --><!-- ENDIF -->
+                       <!-- IF S_BCC_RECIPIENT --><br /><strong>{L_BCC}{L_COLON}</strong> <!-- BEGIN bcc_recipient --><!-- IF bcc_recipient.NAME_FULL -->{bcc_recipient.NAME_FULL}<!-- ELSE --><a href="{bcc_recipient.U_VIEW}" style="color:<!-- IF bcc_recipient.COLOUR -->{bcc_recipient.COLOUR}<!-- ELSEIF bcc_recipient.IS_GROUP -->#0000FF<!-- ENDIF -->;">{bcc_recipient.NAME}</a><!-- ENDIF -->&nbsp;<!-- END bcc_recipient --><!-- ENDIF -->
+               </p>
+
+
+               <div class="content">{MESSAGE}</div>
+
+               <!-- IF S_HAS_ATTACHMENTS -->
+                       <dl class="attachbox">
+                               <dt>
+                                       {L_ATTACHMENTS}
+                               </dt>
+                               <!-- BEGIN attachment -->
+                                       <dd>{attachment.DISPLAY_ATTACHMENT}</dd>
+                               <!-- END attachment -->
+                       </dl>
+               <!-- ENDIF -->
+
+               <!-- IF S_DISPLAY_NOTICE -->
+                       <div class="post-notice error">{L_DOWNLOAD_NOTICE}</div>
+               <!-- ENDIF -->
+
+               <!-- IF EDITED_MESSAGE or EDIT_REASON -->
+               <div class="notice">{EDITED_MESSAGE}
+                       <!-- IF EDIT_REASON --><br /><strong>{L_REASON}{L_COLON}</strong> <em>{EDIT_REASON}</em><!-- ENDIF -->
+               </div>
+               <!-- ENDIF -->
+
+               <!-- IF SIGNATURE -->
+                       <div id="sig{MESSAGE_ID}" class="signature">{SIGNATURE}</div>
+               <!-- ENDIF -->
+       </div>
+
+       <div class="back2top">
+               <a href="#top" class="top" title="{L_BACK_TO_TOP}">
+                       <i class="icon fa-chevron-circle-up fa-fw icon-gray" aria-hidden="true"></i>
+                       <span class="sr-only">{L_BACK_TO_TOP}</span>
+               </a>
+       </div>
+
+       </div>
+</div>
+
+<!-- EVENT ucp_pm_viewmessage_options_before -->
+<!-- IF S_VIEW_MESSAGE -->
+<fieldset class="display-options">
+
+       <!-- IF S_MARK_OPTIONS --><label for="mark_option"><select name="mark_option" id="mark_option">{S_MARK_OPTIONS}</select></label>&nbsp;<input class="button2" type="submit" name="submit_mark" value="{L_GO}" /><!-- ENDIF -->
+       <!-- IF U_PREVIOUS_PM -->
+               <a href="{U_PREVIOUS_PM}" class="left-box arrow-{S_CONTENT_FLOW_BEGIN}">
+                       <i class="icon fa-angle-{S_CONTENT_FLOW_BEGIN} fa-fw icon-black" aria-hidden="true"></i><span>{L_VIEW_PREVIOUS_PM}</span>
+               </a>
+       <!-- ENDIF -->
+       <!-- IF U_NEXT_PM -->
+               <a href="{U_NEXT_PM}" class="right-box arrow-{S_CONTENT_FLOW_END}">
+                       <i class="icon fa-angle-{S_CONTENT_FLOW_BEGIN} fa-fw icon-black" aria-hidden="true"></i><span>{L_VIEW_NEXT_PM}</span>
+               </a>
+       <!-- ENDIF -->
+       <!-- IF not S_UNREAD and not S_SPECIAL_FOLDER --><label for="dest_folder"><!-- IF S_VIEW_MESSAGE -->{L_MOVE_TO_FOLDER}{L_COLON} <!-- ELSE -->{L_MOVE_MARKED_TO_FOLDER}<!-- ENDIF --> <select name="dest_folder" id="dest_folder">{S_TO_FOLDER_OPTIONS}</select></label> <input class="button2" type="submit" name="move_pm" value="{L_GO}" /><!-- ENDIF -->
+       <input type="hidden" name="marked_msg_id[]" value="{MSG_ID}" />
+       <input type="hidden" name="cur_folder_id" value="{CUR_FOLDER_ID}" />
+       <input type="hidden" name="p" value="{MSG_ID}" />
+</fieldset>
+<!-- ENDIF -->
+
+<!-- INCLUDE ucp_pm_message_footer.html -->
+
+<!-- IF S_DISPLAY_HISTORY --><!-- INCLUDE ucp_pm_history.html --><!-- ENDIF -->
+
+<!-- INCLUDE ucp_footer.html -->
diff --git a/template/ucp_pm_viewmessage_print.html b/template/ucp_pm_viewmessage_print.html
new file mode 100644 (file)
index 0000000..9377eeb
--- /dev/null
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html dir="{S_CONTENT_DIRECTION}" lang="{S_USER_LANG}">
+<head>
+<meta charset="utf-8" />
+<meta http-equiv="X-UA-Compatible" content="IE=edge">
+<meta name="robots" content="noindex" />
+{META}
+<title>{SITENAME} &bull; {PAGE_TITLE}</title>
+
+<link href="{T_THEME_PATH}/print.css" rel="stylesheet">
+<!-- EVENT ucp_pm_viewmessage_print_head_append -->
+</head>
+<body id="phpbb">
+<div id="wrap" class="wrap">
+       <a id="top" class="top-anchor" accesskey="t"></a>
+
+       <div id="page-header">
+               <h1>{SITENAME}</h1>
+               <p>{SITE_DESCRIPTION}</p>
+
+               <h2>{L_PRIVATE_MESSAGING}</h2>
+       </div>
+
+       <div id="page-body" class="page-body">
+               <div class="page-number">{PAGE_NUMBER}</div>
+                       <div class="post">
+                               <h3>{SUBJECT}</h3>
+                               <div class="date">{L_SENT_AT} <strong>{SENT_DATE}</strong></div>
+                               <div class="author">{L_PM_FROM} <strong>{MESSAGE_AUTHOR}</strong></div>
+                               <!-- IF S_TO_RECIPIENT -->
+                                       <div class="author">{L_TO} <strong><!-- BEGIN to_recipient -->{to_recipient.NAME}&nbsp;<!-- END to_recipient --></strong></div>
+                               <!-- ENDIF -->
+                               <!-- IF S_BCC_RECIPIENT -->
+                                       <div class="author">{L_BCC} <strong><!-- BEGIN bcc_recipient -->{bcc_recipient.NAME}&nbsp;<!-- END bcc_recipient --></strong></div>
+                               <!-- ENDIF -->
+                               <hr />
+                               <div class="content">{MESSAGE}</div>
+                       </div>
+                       <hr />
+       </div>
+
+       <div id="page-footer" class="page-footer">
+               <div class="page-number">{S_TIMEZONE}<br />{PAGE_NUMBER}</div>
+               <div class="copyright">Powered by phpBB&reg; Forum Software &copy; phpBB Limited<br />https://www.phpbb.com/</div>
+       </div>
+</div>
+
+</body>
+</html>
diff --git a/template/ucp_prefs_personal.html b/template/ucp_prefs_personal.html
new file mode 100644 (file)
index 0000000..4cd9f66
--- /dev/null
@@ -0,0 +1,124 @@
+<!-- INCLUDE ucp_header.html -->
+
+<form id="ucp" method="post" action="{S_UCP_ACTION}"{S_FORM_ENCTYPE}>
+
+<h2>{L_TITLE}</h2>
+
+<div class="panel">
+       <div class="inner">
+
+       <fieldset>
+       <!-- IF ERROR --><p class="error">{ERROR}</p><!-- ENDIF -->
+       <!-- EVENT ucp_prefs_personal_prepend -->
+       <dl>
+               <dt><label for="viewemail0">{L_SHOW_EMAIL}{L_COLON}</label></dt>
+               <dd>
+                       <label for="viewemail1"><input type="radio" name="viewemail" id="viewemail1" value="1"<!-- IF S_VIEW_EMAIL --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
+                       <label for="viewemail0"><input type="radio" name="viewemail" id="viewemail0" value="0"<!-- IF not S_VIEW_EMAIL --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
+               </dd>
+       </dl>
+       <dl>
+               <dt><label for="massemail1">{L_ADMIN_EMAIL}{L_COLON}</label></dt>
+               <dd>
+                       <label for="massemail1"><input type="radio" name="massemail" id="massemail1" value="1"<!-- IF S_MASS_EMAIL --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
+                       <label for="massemail0"><input type="radio" name="massemail" id="massemail0" value="0"<!-- IF not S_MASS_EMAIL --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
+               </dd>
+       </dl>
+       <dl>
+               <dt><label for="allowpm1">{L_ALLOW_PM}{L_COLON}</label><br /><span>{L_ALLOW_PM_EXPLAIN}</span></dt>
+               <dd>
+                       <label for="allowpm1"><input type="radio" name="allowpm" id="allowpm1" value="1"<!-- IF S_ALLOW_PM --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
+                       <label for="allowpm0"><input type="radio" name="allowpm" id="allowpm0" value="0"<!-- IF not S_ALLOW_PM --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
+               </dd>
+       </dl>
+       <!-- IF S_CAN_HIDE_ONLINE -->
+               <dl>
+                       <dt><label for="hideonline0">{L_HIDE_ONLINE}{L_COLON}</label><br /><span>{L_HIDE_ONLINE_EXPLAIN}</span></dt>
+                       <dd>
+                               <label for="hideonline1"><input type="radio" name="hideonline" id="hideonline1" value="1"<!-- IF S_HIDE_ONLINE --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
+                               <label for="hideonline0"><input type="radio" name="hideonline" id="hideonline0" value="0"<!-- IF not S_HIDE_ONLINE --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
+                       </dd>
+               </dl>
+       <!-- ENDIF -->
+       <!-- IF S_SELECT_NOTIFY -->
+               <dl>
+                       <dt><label for="notifymethod0">{L_NOTIFY_METHOD}{L_COLON}</label></dt>
+                       <dd>
+                               <label for="notifymethod0"><input type="radio" name="notifymethod" id="notifymethod0" value="0"<!-- IF S_NOTIFY_EMAIL --> checked="checked"<!-- ENDIF --> /> {L_NOTIFY_METHOD_EMAIL}</label>
+                               <label for="notifymethod1"><input type="radio" name="notifymethod" id="notifymethod1" value="1"<!-- IF S_NOTIFY_IM --> checked="checked"<!-- ENDIF --> /> {L_NOTIFY_METHOD_IM}</label>
+                               <label for="notifymethod2"><input type="radio" name="notifymethod" id="notifymethod2" value="2"<!-- IF S_NOTIFY_BOTH --> checked="checked"<!-- ENDIF --> /> {L_NOTIFY_METHOD_BOTH}</label>
+                       </dd>
+               </dl>
+       <!-- ENDIF -->
+       <!-- IF S_MORE_LANGUAGES -->
+               <dl>
+                       <dt><label for="lang">{L_BOARD_LANGUAGE}{L_COLON}</label></dt>
+                       <dd><select name="lang" id="lang">{S_LANG_OPTIONS}</select></dd>
+               </dl>
+       <!-- ENDIF -->
+       <!-- IF S_STYLE_OPTIONS and S_MORE_STYLES -->
+               <dl>
+                       <dt><label for="user_style">{L_BOARD_STYLE}{L_COLON}</label></dt>
+                       <dd><select name="user_style" id="user_style">{S_STYLE_OPTIONS}</select></dd>
+               </dl>
+       <!-- ENDIF -->
+       <!-- INCLUDE timezone_option.html -->
+       <dl>
+               <dt><label for="dateformat">{L_BOARD_DATE_FORMAT}{L_COLON}</label><br /><span>{L_BOARD_DATE_FORMAT_EXPLAIN}</span></dt>
+               <dd>
+                       <select name="dateoptions" id="dateoptions" onchange="if(this.value=='custom'){phpbb.toggleDisplay('custom_date',1);}else{phpbb.toggleDisplay('custom_date',-1);} if (this.value == 'custom') { document.getElementById('dateformat').value = default_dateformat; } else { document.getElementById('dateformat').value = this.value; }">
+                               {S_DATEFORMAT_OPTIONS}
+                       </select>
+               </dd>
+               <dd id="custom_date" style="display:none;"><input type="text" name="dateformat" id="dateformat" value="{DATE_FORMAT}" maxlength="64" class="inputbox narrow" style="margin-top: 3px;" /></dd>
+       </dl>
+       <!-- EVENT ucp_prefs_personal_append -->
+       </fieldset>
+
+       </div>
+</div>
+
+<fieldset class="submit-buttons">
+       {S_HIDDEN_FIELDS}<input type="reset" value="{L_RESET}" name="reset" class="button2" />&nbsp;
+       <input type="submit" name="submit" value="{L_SUBMIT}" class="button1" />
+       {S_FORM_TOKEN}
+</fieldset>
+</form>
+
+<script type="text/javascript">
+// <![CDATA[
+       var date_format = '{A_DATE_FORMAT}';
+       var default_dateformat = '{A_DEFAULT_DATEFORMAT}';
+
+       function customDates()
+       {
+               var e = document.getElementById('dateoptions');
+
+               e.selectedIndex = e.length - 1;
+
+               // Loop and match date_format in menu
+               for (var i = 0; i < e.length; i++)
+               {
+                       if (e.options[i].value == date_format)
+                       {
+                               e.selectedIndex = i;
+                               break;
+                       }
+               }
+
+               // Show/hide custom field
+               if (e.selectedIndex == e.length - 1)
+               {
+                       phpbb.toggleDisplay('custom_date',1);
+               }
+               else
+               {
+                       phpbb.toggleDisplay('custom_date',-1);
+               }
+       }
+
+       window.onload = customDates;
+// ]]>
+</script>
+
+<!-- INCLUDE ucp_footer.html -->
diff --git a/template/ucp_prefs_post.html b/template/ucp_prefs_post.html
new file mode 100644 (file)
index 0000000..169d41b
--- /dev/null
@@ -0,0 +1,53 @@
+<!-- INCLUDE ucp_header.html -->
+
+<form id="ucp" method="post" action="{S_UCP_ACTION}"{S_FORM_ENCTYPE}>
+
+<h2>{L_TITLE}</h2>
+<div class="panel">
+       <div class="inner">
+
+       <fieldset>
+       <!-- IF ERROR --><p class="error">{ERROR}</p><!-- ENDIF -->
+       <!-- EVENT ucp_prefs_post_prepend -->
+       <dl>
+               <dt><label for="bbcode1">{L_DEFAULT_BBCODE}{L_COLON}</label></dt>
+               <dd>
+                       <label for="bbcode1"><input type="radio" name="bbcode" id="bbcode1" value="1"<!-- IF S_BBCODE --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
+                       <label for="bbcode0"><input type="radio" name="bbcode" id="bbcode0" value="0"<!-- IF not S_BBCODE --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
+               </dd>
+       </dl>
+       <dl>
+               <dt><label for="smilies1">{L_DEFAULT_SMILIES}{L_COLON}</label></dt>
+               <dd>
+                       <label for="smilies1"><input type="radio" name="smilies" id="smilies1" value="1"<!-- IF S_SMILIES --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
+                       <label for="smilies0"><input type="radio" name="smilies" id="smilies0" value="0"<!-- IF not S_SMILIES --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
+               </dd>
+       </dl>
+       <dl>
+               <dt><label for="sig1">{L_DEFAULT_ADD_SIG}{L_COLON}</label></dt>
+               <dd>
+                       <label for="sig1"><input type="radio" name="sig" id="sig1" value="1"<!-- IF S_SIG --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
+                       <label for="sig0"><input type="radio" name="sig" id="sig0" value="0"<!-- IF not S_SIG --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
+               </dd>
+       </dl>
+       <dl>
+               <dt><label for="notify1">{L_DEFAULT_NOTIFY}{L_COLON}</label></dt>
+               <dd>
+                       <label for="notify1"><input type="radio" name="notify" id="notify1" value="1"<!-- IF S_NOTIFY --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
+                       <label for="notify0"><input type="radio" name="notify" id="notify0" value="0"<!-- IF not S_NOTIFY --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
+               </dd>
+       </dl>
+       <!-- EVENT ucp_prefs_post_append -->
+       </fieldset>
+
+       </div>
+</div>
+
+<fieldset class="submit-buttons">
+       {S_HIDDEN_FIELDS}<input type="reset" value="{L_RESET}" name="reset" class="button2" />&nbsp;
+       <input type="submit" name="submit" value="{L_SUBMIT}" class="button1" />
+       {S_FORM_TOKEN}
+</fieldset>
+</form>
+
+<!-- INCLUDE ucp_footer.html -->
diff --git a/template/ucp_prefs_view.html b/template/ucp_prefs_view.html
new file mode 100644 (file)
index 0000000..4b7142f
--- /dev/null
@@ -0,0 +1,98 @@
+<!-- INCLUDE ucp_header.html -->
+
+<form id="ucp" method="post" action="{S_UCP_ACTION}"{S_FORM_ENCTYPE}>
+
+<h2>{L_TITLE}</h2>
+
+<div class="panel">
+       <div class="inner">
+
+               <fieldset>
+               <!-- IF ERROR --><p class="error">{ERROR}</p><!-- ENDIF -->
+               <!-- EVENT ucp_prefs_view_radio_buttons_prepend -->
+               <dl>
+                       <dt><label for="images1">{L_VIEW_IMAGES}{L_COLON}</label></dt>
+                       <dd>
+                               <label for="images1"><input type="radio" name="images" id="images1" value="1"<!-- IF S_IMAGES --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
+                               <label for="images0"><input type="radio" name="images" id="images0" value="0"<!-- IF not S_IMAGES --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
+                       </dd>
+               </dl>
+               <dl>
+                       <dt><label for="flash0">{L_VIEW_FLASH}{L_COLON}</label></dt>
+                       <dd>
+                               <label for="flash1"><input type="radio" name="flash" id="flash1" value="1"<!-- IF S_FLASH --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
+                               <label for="flash0"><input type="radio" name="flash" id="flash0" value="0"<!-- IF not S_FLASH --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
+                       </dd>
+               </dl>
+               <dl>
+                       <dt><label for="smilies1">{L_VIEW_SMILIES}{L_COLON}</label></dt>
+                       <dd>
+                               <label for="smilies1"><input type="radio" name="smilies" id="smilies1" value="1"<!-- IF S_SMILIES --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
+                               <label for="smilies0"><input type="radio" name="smilies" id="smilies0" value="0"<!-- IF not S_SMILIES --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
+                       </dd>
+               </dl>
+               <dl>
+                       <dt><label for="sigs1">{L_VIEW_SIGS}{L_COLON}</label></dt>
+                       <dd>
+                               <label for="sigs1"><input type="radio" name="sigs" id="sigs1" value="1"<!-- IF S_SIGS --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
+                               <label for="sigs0"><input type="radio" name="sigs" id="sigs0" value="0"<!-- IF not S_SIGS --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
+                       </dd>
+               </dl>
+               <dl>
+                       <dt><label for="avatars1">{L_VIEW_AVATARS}{L_COLON}</label></dt>
+                       <dd>
+                               <label for="avatars1"><input type="radio" name="avatars" id="avatars1" value="1"<!-- IF S_AVATARS --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
+                               <label for="avatars0"><input type="radio" name="avatars" id="avatars0" value="0"<!-- IF not S_AVATARS --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
+                       </dd>
+               </dl>
+               <!-- IF S_CHANGE_CENSORS -->
+                       <dl>
+                               <dt><label for="wordcensor1">{L_DISABLE_CENSORS}{L_COLON}</label></dt>
+                               <dd>
+                                       <label for="wordcensor1"><input type="radio" name="wordcensor" id="wordcensor1" value="1"<!-- IF S_DISABLE_CENSORS --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
+                                       <label for="wordcensor0"><input type="radio" name="wordcensor" id="wordcensor0" value="0"<!-- IF not S_DISABLE_CENSORS --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
+                               </dd>
+                       </dl>
+               <!-- ENDIF -->
+               <!-- EVENT ucp_prefs_view_radio_buttons_append -->
+               <hr />
+               <!-- EVENT ucp_prefs_view_select_menu_prepend -->
+               <dl>
+                       <dt><label>{L_VIEW_TOPICS_DAYS}{L_COLON}</label></dt>
+                       <dd>{S_TOPIC_SORT_DAYS}</dd>
+               </dl>
+               <dl>
+                       <dt><label>{L_VIEW_TOPICS_KEY}{L_COLON}</label></dt>
+                       <dd>{S_TOPIC_SORT_KEY}</dd>
+               </dl>
+               <dl>
+                       <dt><label>{L_VIEW_TOPICS_DIR}{L_COLON}</label></dt>
+                       <dd>{S_TOPIC_SORT_DIR}</dd>
+               </dl>
+               <hr />
+               <dl>
+                       <dt><label>{L_VIEW_POSTS_DAYS}{L_COLON}</label></dt>
+                       <dd>{S_POST_SORT_DAYS}</dd>
+               </dl>
+               <dl>
+                       <dt><label>{L_VIEW_POSTS_KEY}{L_COLON}</label></dt>
+                       <dd>{S_POST_SORT_KEY}</dd>
+               </dl>
+               <dl>
+                       <dt><label>{L_VIEW_POSTS_DIR}{L_COLON}</label></dt>
+                       <dd>{S_POST_SORT_DIR}</dd>
+               </dl>
+               <!-- EVENT ucp_prefs_view_select_menu_append -->
+               </fieldset>
+
+       </div>
+</div>
+
+<fieldset class="submit-buttons">
+       {S_HIDDEN_FIELDS}<input type="reset" value="{L_RESET}" name="reset" class="button2" />&nbsp;
+       <input type="submit" name="submit" value="{L_SUBMIT}" class="button1" />
+       {S_FORM_TOKEN}
+</fieldset>
+</form>
+
+<!-- INCLUDE ucp_footer.html -->
diff --git a/template/ucp_profile_autologin_keys.html b/template/ucp_profile_autologin_keys.html
new file mode 100644 (file)
index 0000000..65909b7
--- /dev/null
@@ -0,0 +1,45 @@
+<!-- INCLUDE ucp_header.html -->
+
+<form id="ucp" method="post" action="{S_UCP_ACTION}"{S_FORM_ENCTYPE}>
+
+<h2>{L_TITLE}</h2>
+<div class="panel">
+       <div class="inner">
+               <p>{L_PROFILE_AUTOLOGIN_KEYS}</p>
+               <!-- IF ERROR --><p class="error">{ERROR}</p><!-- ENDIF -->
+               <table class="table1">
+                       <thead>
+                               <tr>
+                                       <th class="name">{L_LOGIN_KEY}</th>
+                                       <th class="center">{L_IP}</th>
+                                       <th class="center">{L_LOGIN_TIME}</th>
+                                       <th class="center mark">{L_MARK}</th>
+                               </tr>
+                       </thead>
+                       <tbody>
+                       <!-- BEGIN sessions -->
+                               <!-- IF sessions.S_ROW_COUNT is even --><tr class="bg1"><!-- ELSE --><tr class="bg2"><!-- ENDIF -->
+                                       <td><label for="{sessions.KEY}">{sessions.KEY}</label></td>
+                                       <td class="center">{sessions.IP}</td>
+                                       <td class="center">{sessions.LOGIN_TIME}</td>
+                                       <td class="center mark"><input type="checkbox" name="keys[]" value="{sessions.KEY}" id="{sessions.KEY}" /></td>
+                               </tr>
+                       <!-- BEGINELSE -->
+                               <tr><td colspan="4" class="bg1" style="text-align: center">{L_PROFILE_NO_AUTOLOGIN_KEYS}</td></tr>
+                       <!-- END sessions -->
+                       </tbody>
+               </table>
+       </div>
+</div>
+
+<!-- IF .sessions -->
+       <fieldset class="display-actions">
+               {S_HIDDEN_FIELDS}<input type="submit" name="submit" value="{L_DELETE_MARKED}" class="button2" />
+               <div><a href="#" onclick="$('#ucp input:checkbox').prop('checked', true); return false;">{L_MARK_ALL}</a> &bull; <a href="#" onclick="$('#ucp input:checkbox').prop('checked', false); return false;">{L_UNMARK_ALL}</a></div>
+               {S_FORM_TOKEN}
+       </fieldset>
+<!-- ENDIF -->
+
+</form>
+
+<!-- INCLUDE ucp_footer.html -->
diff --git a/template/ucp_profile_avatar.html b/template/ucp_profile_avatar.html
new file mode 100644 (file)
index 0000000..8157d8c
--- /dev/null
@@ -0,0 +1,13 @@
+<!-- INCLUDE ucp_header.html -->
+
+<form id="ucp" method="post" action="{S_UCP_ACTION}"{S_FORM_ENCTYPE}>
+
+<h2>{L_TITLE}</h2>
+
+<!-- INCLUDE ucp_avatar_options.html -->
+
+{S_HIDDEN_FIELDS}
+{S_FORM_TOKEN}
+</form>
+
+<!-- INCLUDE ucp_footer.html -->
diff --git a/template/ucp_profile_profile_info.html b/template/ucp_profile_profile_info.html
new file mode 100644 (file)
index 0000000..69eda8c
--- /dev/null
@@ -0,0 +1,51 @@
+<!-- INCLUDE ucp_header.html -->
+
+<form id="ucp" method="post" action="{S_UCP_ACTION}"{S_FORM_ENCTYPE}>
+
+<h2>{L_TITLE} <span class="small">[ <a href="{U_USER_PROFILE}" title="{L_VIEW_PROFILE}">{L_VIEW_PROFILE}</a> ]</span></h2>
+
+<div class="panel">
+       <div class="inner">
+       <p>{L_PROFILE_INFO_NOTICE}</p>
+
+       <fieldset>
+       <!-- IF ERROR --><p class="error">{ERROR}</p><!-- ENDIF -->
+       <!-- EVENT ucp_profile_profile_info_before -->
+       <!-- IF S_BIRTHDAYS_ENABLED -->
+               <dl>
+                       <dt><label for="bday_day">{L_BIRTHDAY}{L_COLON}</label><br /><span>{L_BIRTHDAY_EXPLAIN}</span></dt>
+                       <dd>
+                               <label for="bday_day">{L_DAY}{L_COLON} <select name="bday_day" id="bday_day">{S_BIRTHDAY_DAY_OPTIONS}</select></label>
+                               <label for="bday_month">{L_MONTH}{L_COLON} <select name="bday_month" id="bday_month">{S_BIRTHDAY_MONTH_OPTIONS}</select></label>
+                               <label for="bday_year">{L_YEAR}{L_COLON} <select name="bday_year" id="bday_year">{S_BIRTHDAY_YEAR_OPTIONS}</select></label>
+                       </dd>
+               </dl>
+       <!-- ENDIF -->
+       <!-- IF S_JABBER_ENABLED -->
+               <dl>
+                       <dt><label for="jabber">{L_UCP_JABBER}{L_COLON}</label></dt>
+                       <dd><input type="email" name="jabber" id="jabber" maxlength="255" value="{JABBER}" class="inputbox" /></dd>
+               </dl>
+       <!-- ENDIF -->
+       <!-- BEGIN profile_fields -->
+               <dl>
+                       <dt><label<!-- IF profile_fields.FIELD_ID --> for="{profile_fields.FIELD_ID}"<!-- ENDIF -->>{profile_fields.LANG_NAME}{L_COLON}<!-- IF profile_fields.S_REQUIRED --> *<!-- ENDIF --></label>
+                       <!-- IF profile_fields.LANG_EXPLAIN --><br /><span>{profile_fields.LANG_EXPLAIN}</span><!-- ENDIF --></dt>
+                       <!-- IF profile_fields.ERROR --><dd class="error">{profile_fields.ERROR}</dd><!-- ENDIF -->
+                       <dd>{profile_fields.FIELD}</dd>
+               </dl>
+       <!-- END profile_fields -->
+       <!-- EVENT ucp_profile_profile_info_after -->
+       </fieldset>
+
+       </div>
+</div>
+
+<fieldset class="submit-buttons">
+       {S_HIDDEN_FIELDS}<input type="reset" value="{L_RESET}" name="reset" class="button2" />&nbsp;
+       <input type="submit" name="submit" value="{L_SUBMIT}" class="button1" />
+       {S_FORM_TOKEN}
+</fieldset>
+</form>
+
+<!-- INCLUDE ucp_footer.html -->
diff --git a/template/ucp_profile_reg_details.html b/template/ucp_profile_reg_details.html
new file mode 100644 (file)
index 0000000..f62d3cf
--- /dev/null
@@ -0,0 +1,59 @@
+<!-- INCLUDE ucp_header.html -->
+
+<form id="ucp" method="post" action="{S_UCP_ACTION}"{S_FORM_ENCTYPE}>
+
+<h2>{L_TITLE}</h2>
+<div class="panel">
+       <div class="inner">
+
+       <!-- IF S_FORCE_PASSWORD -->
+               <p class="error">{L_FORCE_PASSWORD_EXPLAIN}</p>
+       <!-- ENDIF -->
+
+       <fieldset>
+       <!-- IF ERROR --><p class="error">{ERROR}</p><!-- ENDIF -->
+       <!-- EVENT ucp_profile_register_details_before -->
+       <dl>
+               <dt><label <!-- IF S_CHANGE_USERNAME -->for="username"<!-- ENDIF -->>{L_USERNAME}{L_COLON}</label><br /><span>{L_USERNAME_EXPLAIN}</span></dt>
+               <dd><!-- IF S_CHANGE_USERNAME --><input type="text" name="username" id="username" value="{USERNAME}" class="inputbox" title="{L_USERNAME}" /><!-- ELSE --><strong>{USERNAME}</strong><!-- ENDIF --></dd>
+       </dl>
+       <dl>
+               <dt><label for="email">{L_EMAIL_ADDRESS}{L_COLON}</label></dt>
+               <dd><!-- IF S_CHANGE_EMAIL --><input type="email" name="email" id="email" maxlength="100" value="{EMAIL}" class="inputbox" title="{L_EMAIL_ADDRESS}" autocomplete="off" /><!-- ELSE --><strong>{EMAIL}</strong><!-- ENDIF --></dd>
+       </dl>
+       <!-- IF S_CHANGE_PASSWORD -->
+               <dl>
+                       <dt><label for="new_password">{L_NEW_PASSWORD}{L_COLON}</label><br /><span>{L_CHANGE_PASSWORD_EXPLAIN}</span></dt>
+                       <dd><input type="password" name="new_password" id="new_password" maxlength="255" value="{NEW_PASSWORD}" class="inputbox" title="{L_CHANGE_PASSWORD}" autocomplete="off" /></dd>
+               </dl>
+               <dl>
+                       <dt><label for="password_confirm">{L_CONFIRM_PASSWORD}{L_COLON}</label><br /><span>{L_CONFIRM_PASSWORD_EXPLAIN}</span></dt>
+                       <dd><input type="password" name="password_confirm" id="password_confirm" maxlength="255" value="{PASSWORD_CONFIRM}" class="inputbox" title="{L_CONFIRM_PASSWORD}" autocomplete="off" /></dd>
+               </dl>
+       <!-- ENDIF -->
+       <!-- EVENT ucp_profile_register_details_after -->
+       </fieldset>
+       </div>
+</div>
+
+<div class="panel">
+       <div class="inner">
+
+       <fieldset>
+       <dl>
+               <dt><label for="cur_password">{L_CURRENT_PASSWORD}{L_COLON}</label><br /><span><!-- IF S_CHANGE_PASSWORD -->{L_CURRENT_CHANGE_PASSWORD_EXPLAIN}<!-- ELSE -->{L_CURRENT_PASSWORD_EXPLAIN}<!-- ENDIF --></span></dt>
+               <dd><input type="password" name="cur_password" id="cur_password" maxlength="255" value="{CUR_PASSWORD}" class="inputbox" title="{L_CURRENT_PASSWORD}" autocomplete="off" /></dd>
+       </dl>
+       </fieldset>
+
+       </div>
+</div>
+
+<fieldset class="submit-buttons">
+       {S_HIDDEN_FIELDS}<input type="reset" value="{L_RESET}" name="reset" class="button2" />&nbsp;
+       <input type="submit" name="submit" value="{L_SUBMIT}" class="button1" />
+       {S_FORM_TOKEN}
+</fieldset>
+</form>
+
+<!-- INCLUDE ucp_footer.html -->
diff --git a/template/ucp_profile_signature.html b/template/ucp_profile_signature.html
new file mode 100644 (file)
index 0000000..614f6f4
--- /dev/null
@@ -0,0 +1,51 @@
+<!-- INCLUDE ucp_header.html -->
+
+<form id="postform" method="post" action="{S_UCP_ACTION}"{S_FORM_ENCTYPE}>
+
+<h2>{L_TITLE}</h2>
+
+<!-- IF SIGNATURE_PREVIEW != '' -->
+       <div class="panel">
+               <div class="inner">
+               <h3>{L_SIGNATURE_PREVIEW}</h3>
+               <div class="postbody">
+                       <div class="signature standalone">{SIGNATURE_PREVIEW}</div>
+               </div>
+               </div>
+       </div>
+<!-- ENDIF -->
+
+<div class="panel">
+       <div class="inner">
+
+       <p>{L_SIGNATURE_EXPLAIN}</p>
+
+       <!-- DEFINE $SIG_EDIT = 1 -->
+       <!-- INCLUDE posting_editor.html -->
+       <h3>{L_OPTIONS}</h3>
+       <fieldset>
+               <!-- IF S_BBCODE_ALLOWED -->
+                       <div><label for="disable_bbcode"><input type="checkbox" name="disable_bbcode" id="disable_bbcode"{S_BBCODE_CHECKED} /> {L_DISABLE_BBCODE}</label></div>
+               <!-- ENDIF -->
+               <!-- IF S_SMILIES_ALLOWED -->
+                       <div><label for="disable_smilies"><input type="checkbox" name="disable_smilies" id="disable_smilies"{S_SMILIES_CHECKED} /> {L_DISABLE_SMILIES}</label></div>
+               <!-- ENDIF -->
+               <!-- IF S_LINKS_ALLOWED -->
+                       <div><label for="disable_magic_url"><input type="checkbox" name="disable_magic_url" id="disable_magic_url"{S_MAGIC_URL_CHECKED} /> {L_DISABLE_MAGIC_URL}</label></div>
+               <!-- ENDIF -->
+
+       </fieldset>
+
+       </div>
+</div>
+
+<fieldset class="submit-buttons">
+       {S_HIDDEN_FIELDS}
+       <input type="reset" name="reset" value="{L_RESET}" class="button2" />&nbsp;
+       <input type="submit" name="preview" value="{L_PREVIEW}" class="button2" />&nbsp;
+       <input type="submit" name="submit" value="{L_SUBMIT}" class="button1" />
+       {S_FORM_TOKEN}
+</fieldset>
+</form>
+
+<!-- INCLUDE ucp_footer.html -->
diff --git a/template/ucp_register.html b/template/ucp_register.html
new file mode 100644 (file)
index 0000000..38413ad
--- /dev/null
@@ -0,0 +1,108 @@
+<!-- INCLUDE overall_header.html -->
+
+<script type="text/javascript">
+// <![CDATA[
+       /**
+       * Change language
+       */
+       function change_language(lang_iso)
+       {
+               document.cookie = '{COOKIE_NAME}_lang=' + lang_iso + '; path={COOKIE_PATH}';
+               document.forms['register'].change_lang.value = lang_iso;
+               document.forms['register'].submit.click();
+       }
+// ]]>
+</script>
+
+<form id="register" method="post" action="{S_UCP_ACTION}"{S_FORM_ENCTYPE}>
+
+<div class="panel">
+       <div class="inner">
+
+       <h2>{SITENAME} - {L_REGISTRATION}</h2>
+
+       <fieldset class="fields2">
+       <!-- IF ERROR --><dl><dd class="error">{ERROR}</dd></dl><!-- ENDIF -->
+       <!-- IF L_REG_COND -->
+               <dl><dd><strong>{L_REG_COND}</strong></dd></dl>
+       <!-- ENDIF -->
+       <!-- EVENT ucp_register_credentials_before -->
+       <dl>
+               <dt><label for="username">{L_USERNAME}{L_COLON}</label><br /><span>{L_USERNAME_EXPLAIN}</span></dt>
+               <dd><input type="text" tabindex="1" name="username" id="username" size="25" value="{USERNAME}" class="inputbox autowidth" title="{L_USERNAME}" /></dd>
+       </dl>
+       <dl>
+               <dt><label for="email">{L_EMAIL_ADDRESS}{L_COLON}</label></dt>
+               <dd><input type="email" tabindex="2" name="email" id="email" size="25" maxlength="100" value="{EMAIL}" class="inputbox autowidth" title="{L_EMAIL_ADDRESS}" autocomplete="off" /></dd>
+       </dl>
+       <dl>
+               <dt><label for="new_password">{L_PASSWORD}{L_COLON}</label><br /><span>{L_PASSWORD_EXPLAIN}</span></dt>
+               <dd><input type="password" tabindex="4" name="new_password" id="new_password" size="25" value="{PASSWORD}" class="inputbox autowidth" title="{L_NEW_PASSWORD}" autocomplete="off" /></dd>
+       </dl>
+       <dl>
+               <dt><label for="password_confirm">{L_CONFIRM_PASSWORD}{L_COLON}</label></dt>
+               <dd><input type="password"  tabindex="5" name="password_confirm" id="password_confirm" size="25" value="{PASSWORD_CONFIRM}" class="inputbox autowidth" title="{L_CONFIRM_PASSWORD}" autocomplete="off" /></dd>
+       </dl>
+
+       <!-- EVENT ucp_register_credentials_after -->
+       <hr />
+
+       <!-- EVENT ucp_register_options_before -->
+       <dl>
+               <dt><label for="lang">{L_LANGUAGE}{L_COLON}</label></dt>
+               <dd><select name="lang" id="lang" onchange="change_language(this.value); return false;" tabindex="6" title="{L_LANGUAGE}">{S_LANG_OPTIONS}</select></dd>
+       </dl>
+
+       <!-- INCLUDE timezone_option.html -->
+
+       <!-- EVENT ucp_register_profile_fields_before -->
+       <!-- IF .profile_fields -->
+               <dl><dd><strong>{L_ITEMS_REQUIRED}</strong></dd></dl>
+
+       <!-- BEGIN profile_fields -->
+               <dl>
+                       <dt><label<!-- IF profile_fields.FIELD_ID --> for="{profile_fields.FIELD_ID}"<!-- ENDIF -->>{profile_fields.LANG_NAME}{L_COLON}<!-- IF profile_fields.S_REQUIRED --> *<!-- ENDIF --></label>
+                       <!-- IF profile_fields.LANG_EXPLAIN --><br /><span>{profile_fields.LANG_EXPLAIN}</span><!-- ENDIF -->
+                       <!-- IF profile_fields.ERROR --><br /><span class="error">{profile_fields.ERROR}</span><!-- ENDIF --></dt>
+                       <dd>{profile_fields.FIELD}</dd>
+               </dl>
+       <!-- END profile_fields -->
+       <!-- ENDIF -->
+
+       <!-- EVENT ucp_register_profile_fields_after -->
+       </fieldset>
+       </div>
+</div>
+<!-- IF CAPTCHA_TEMPLATE -->
+       <!-- DEFINE $CAPTCHA_TAB_INDEX = 8 -->
+       <!-- INCLUDE {CAPTCHA_TEMPLATE} -->
+<!-- ENDIF -->
+
+<!-- IF S_COPPA -->
+<div class="panel">
+       <div class="inner">
+
+       <h4>{L_COPPA_COMPLIANCE}</h4>
+
+       <p>{L_COPPA_EXPLAIN}</p>
+       </div>
+</div>
+<!-- ENDIF -->
+
+<!-- EVENT ucp_register_buttons_before -->
+
+<div class="panel">
+       <div class="inner">
+
+       <fieldset class="submit-buttons">
+               {S_HIDDEN_FIELDS}
+               <input type="reset" value="{L_RESET}" name="reset" class="button2" />&nbsp;
+               <input type="submit" tabindex="9" name="submit" id="submit" value="{L_SUBMIT}" class="button1 default-submit-action" />
+               {S_FORM_TOKEN}
+       </fieldset>
+
+       </div>
+</div>
+</form>
+
+<!-- INCLUDE overall_footer.html -->
diff --git a/template/ucp_remind.html b/template/ucp_remind.html
new file mode 100644 (file)
index 0000000..0ab1251
--- /dev/null
@@ -0,0 +1,32 @@
+<!-- INCLUDE overall_header.html -->
+
+<form action="{S_PROFILE_ACTION}" method="post" id="remind">
+
+<div class="panel">
+       <div class="inner">
+
+       <div class="content">
+               <h2>{L_SEND_PASSWORD}</h2>
+
+               <fieldset>
+               <dl>
+                       <dt><label for="username">{L_USERNAME}{L_COLON}</label></dt>
+                       <dd><input class="inputbox narrow" type="text" name="username" id="username" size="25" /></dd>
+               </dl>
+               <dl>
+                       <dt><label for="email">{L_EMAIL_ADDRESS}{L_COLON}</label><br /><span>{L_EMAIL_REMIND}</span></dt>
+                       <dd><input class="inputbox narrow" type="email" name="email" id="email" size="25" maxlength="100" /></dd>
+               </dl>
+               <dl>
+                       <dt>&nbsp;</dt>
+                       <dd>{S_HIDDEN_FIELDS}<input type="submit" name="submit" id="submit" class="button1" value="{L_SUBMIT}" tabindex="2" />&nbsp; <input type="reset" value="{L_RESET}" name="reset" class="button2" /></dd>
+               </dl>
+               {S_FORM_TOKEN}
+               </fieldset>
+       </div>
+
+       </div>
+</div>
+</form>
+
+<!-- INCLUDE overall_footer.html -->
diff --git a/template/ucp_resend.html b/template/ucp_resend.html
new file mode 100644 (file)
index 0000000..7713efe
--- /dev/null
@@ -0,0 +1,32 @@
+<!-- INCLUDE overall_header.html -->
+
+
+<form action="{S_PROFILE_ACTION}" method="post" id="resend">
+
+<div class="panel">
+       <div class="inner">
+
+       <div class="content">
+               <h2>{L_UCP_RESEND}</h2>
+
+               <fieldset>
+               <dl>
+                       <dt><label for="username">{L_USERNAME}{L_COLON}</label></dt>
+                       <dd><input class="inputbox narrow" type="text" name="username" id="username" size="25" /></dd>
+               </dl>
+               <dl>
+                       <dt><label for="email">{L_EMAIL_ADDRESS}{L_COLON}</label><br /><span>{L_EMAIL_REMIND}</span></dt>
+                       <dd><input class="inputbox narrow" type="email" name="email" id="email" size="25" maxlength="100" /></dd>
+               </dl>
+               <dl>
+                       <dt>&nbsp;</dt>
+                       <dd>{S_HIDDEN_FIELDS}{S_FORM_TOKEN}<input type="submit" name="submit" id="submit" class="button1" value="{L_SUBMIT}" tabindex="2" />&nbsp; <input type="reset" value="{L_RESET}" name="reset" class="button2" /></dd>
+               </dl>
+               </fieldset>
+       </div>
+
+       </div>
+</div>
+</form>
+
+<!-- INCLUDE overall_footer.html -->
diff --git a/template/ucp_zebra_foes.html b/template/ucp_zebra_foes.html
new file mode 100644 (file)
index 0000000..2a0f6e0
--- /dev/null
@@ -0,0 +1,41 @@
+<!-- INCLUDE ucp_header.html -->
+
+<form id="ucp" method="post" action="{S_UCP_ACTION}"{S_FORM_ENCTYPE}>
+
+<h2>{L_TITLE}</h2>
+
+<div class="panel">
+       <div class="inner">
+
+       <p>{L_FOES_EXPLAIN}</p>
+
+       <fieldset class="fields2">
+       <!-- IF ERROR --><p class="error">{ERROR}</p><!-- ENDIF -->
+       <dl>
+               <dt><label <!-- IF S_USERNAME_OPTIONS -->for="usernames"<!-- ENDIF -->>{L_YOUR_FOES}{L_COLON}</label><br /><span>{L_YOUR_FOES_EXPLAIN}</span></dt>
+               <dd>
+                       <!-- IF S_USERNAME_OPTIONS -->
+                               <select name="usernames[]" id="usernames" multiple="multiple" size="5">{S_USERNAME_OPTIONS}</select>
+                       <!-- ELSE -->
+                               <strong>{L_NO_FOES}</strong>
+                       <!-- ENDIF -->
+               </dd>
+       </dl>
+       <dl>
+               <dt><label for="add">{L_ADD_FOES}{L_COLON}</label><br /><span>{L_ADD_FOES_EXPLAIN}</span></dt>
+               <dd><textarea name="add" id="add" rows="3" cols="30" class="inputbox">{USERNAMES}</textarea></dd>
+               <dd><strong><a href="{U_FIND_USERNAME}" onclick="find_username(this.href); return false;">{L_FIND_USERNAME}</a></strong></dd>
+       </dl>
+       </fieldset>
+
+       </div>
+</div>
+
+<fieldset class="submit-buttons">
+       {S_HIDDEN_FIELDS}<input type="reset" value="{L_RESET}" name="reset" class="button2" />&nbsp;
+       <input type="submit" name="submit" value="{L_SUBMIT}" class="button1" />
+       {S_FORM_TOKEN}
+</fieldset>
+</form>
+
+<!-- INCLUDE ucp_footer.html -->
diff --git a/template/ucp_zebra_friends.html b/template/ucp_zebra_friends.html
new file mode 100644 (file)
index 0000000..e584d87
--- /dev/null
@@ -0,0 +1,43 @@
+<!-- INCLUDE ucp_header.html -->
+
+<form id="ucp" method="post" action="{S_UCP_ACTION}"{S_FORM_ENCTYPE}>
+
+<h2>{L_TITLE}</h2>
+
+<div class="panel">
+       <div class="inner">
+
+       <p>{L_FRIENDS_EXPLAIN}</p>
+
+       <fieldset class="fields2">
+       <!-- IF ERROR --><p class="error">{ERROR}</p><!-- ENDIF -->
+       <!-- EVENT ucp_friend_list_before -->
+       <dl>
+               <dt><label <!-- IF S_USERNAME_OPTIONS -->for="usernames"<!-- ENDIF -->>{L_YOUR_FRIENDS}{L_COLON}</label><br /><span>{L_YOUR_FRIENDS_EXPLAIN}</span></dt>
+               <dd>
+                       <!-- IF S_USERNAME_OPTIONS -->
+                               <select name="usernames[]" id="usernames" multiple="multiple" size="5">{S_USERNAME_OPTIONS}</select>
+                       <!-- ELSE -->
+                               <strong>{L_NO_FRIENDS}</strong>
+                       <!-- ENDIF -->
+               </dd>
+       </dl>
+       <!-- EVENT ucp_friend_list_after -->
+       <dl>
+               <dt><label for="add">{L_ADD_FRIENDS}{L_COLON}</label><br /><span>{L_ADD_FRIENDS_EXPLAIN}</span></dt>
+               <dd><textarea name="add" id="add" rows="3" cols="30" class="inputbox">{USERNAMES}</textarea></dd>
+               <dd><strong><a href="{U_FIND_USERNAME}" onclick="find_username(this.href); return false;">{L_FIND_USERNAME}</a></strong></dd>
+       </dl>
+       </fieldset>
+
+       </div>
+</div>
+
+<fieldset class="submit-buttons">
+       {S_HIDDEN_FIELDS}<input type="reset" value="{L_RESET}" name="reset" class="button2" />&nbsp;
+       <input type="submit" name="submit" value="{L_SUBMIT}" class="button1" />
+       {S_FORM_TOKEN}
+</fieldset>
+</form>
+
+<!-- INCLUDE ucp_footer.html -->
diff --git a/template/viewforum_body.html b/template/viewforum_body.html
new file mode 100644 (file)
index 0000000..7df5710
--- /dev/null
@@ -0,0 +1,304 @@
+<!-- INCLUDE overall_header.html -->
+<!-- EVENT viewforum_forum_title_before -->
+<h2 class="forum-title"><!-- EVENT viewforum_forum_name_prepend --><a href="{U_VIEW_FORUM}">{FORUM_NAME}</a><!-- EVENT viewforum_forum_name_append --></h2>
+<!-- EVENT viewforum_forum_title_after -->
+<!-- IF FORUM_DESC or MODERATORS or U_MCP -->
+<div>
+       <!-- NOTE: remove the style="display: none" when you want to have the forum description on the forum body -->
+       <!-- IF FORUM_DESC --><div style="display: none !important;">{FORUM_DESC}<br /></div><!-- ENDIF -->
+       <!-- IF MODERATORS --><p><strong><!-- IF S_SINGLE_MODERATOR -->{L_MODERATOR}<!-- ELSE -->{L_MODERATORS}<!-- ENDIF -->{L_COLON}</strong> {MODERATORS}</p><!-- ENDIF -->
+</div>
+<!-- ENDIF -->
+
+<!-- IF S_FORUM_RULES -->
+       <div class="rules<!-- IF U_FORUM_RULES --> rules-link<!-- ENDIF -->">
+               <div class="inner">
+
+               <!-- IF U_FORUM_RULES -->
+                       <a href="{U_FORUM_RULES}">{L_FORUM_RULES}</a>
+               <!-- ELSE -->
+                       <strong>{L_FORUM_RULES}</strong><br />
+                       {FORUM_RULES}
+               <!-- ENDIF -->
+
+               </div>
+       </div>
+<!-- ENDIF -->
+
+<!-- IF S_HAS_SUBFORUM -->
+<!-- IF not S_IS_BOT and U_MARK_FORUMS -->
+       <div class="action-bar compact">
+               <a href="{U_MARK_FORUMS}" class="mark-read rightside" data-ajax="mark_forums_read">{L_MARK_SUBFORUMS_READ}</a>
+       </div>
+<!-- ENDIF -->
+       <!-- INCLUDE forumlist_body.html -->
+<!-- ENDIF -->
+
+<!-- IF S_DISPLAY_POST_INFO or .pagination or TOTAL_POSTS or TOTAL_TOPICS -->
+       <div class="action-bar bar-top">
+
+       <!-- IF not S_IS_BOT and S_DISPLAY_POST_INFO -->
+                       <!-- EVENT viewforum_buttons_top_before -->
+
+               <a href="{U_POST_NEW_TOPIC}" class="button" title="<!-- IF S_IS_LOCKED -->{L_FORUM_LOCKED}<!-- ELSE -->{L_POST_TOPIC}<!-- ENDIF -->">
+                       <!-- IF S_IS_LOCKED -->
+                               <span>{L_BUTTON_FORUM_LOCKED}</span> <i class="icon fa-lock fa-fw" aria-hidden="true"></i>
+                       <!-- ELSE -->
+                               <span>{L_BUTTON_NEW_TOPIC}</span> <i class="icon fa-pencil fa-fw" aria-hidden="true"></i>
+                       <!-- ENDIF -->
+               </a>
+                       <!-- EVENT viewforum_buttons_top_after -->
+       <!-- ENDIF -->
+
+       <!-- IF S_DISPLAY_SEARCHBOX -->
+               <div class="search-box" role="search">
+                       <form method="get" id="forum-search" action="{S_SEARCHBOX_ACTION}">
+                       <fieldset>
+                               <input class="inputbox search tiny" type="search" name="keywords" id="search_keywords" size="20" placeholder="{L_SEARCH_FORUM}" />
+                               <button class="button button-search" type="submit" title="{L_SEARCH}">
+                                       <i class="icon fa-search fa-fw" aria-hidden="true"></i><span class="sr-only">{L_SEARCH}</span>
+                               </button>
+                               <a href="{U_SEARCH}" class="button button-search-end" title="{L_SEARCH_ADV}">
+                                       <i class="icon fa-cog fa-fw" aria-hidden="true"></i><span class="sr-only">{L_SEARCH_ADV}</span>
+                               </a>
+                               {S_SEARCH_LOCAL_HIDDEN_FIELDS}
+                       </fieldset>
+                       </form>
+               </div>
+       <!-- ENDIF -->
+
+       <div class="pagination">
+               <!-- IF not S_IS_BOT and U_MARK_TOPICS and .topicrow --><a href="{U_MARK_TOPICS}" class="mark" accesskey="m" data-ajax="mark_topics_read">{L_MARK_TOPICS_READ}</a> &bull; <!-- ENDIF -->
+               {TOTAL_TOPICS}
+               <!-- IF .pagination -->
+                       <!-- INCLUDE pagination.html -->
+               <!-- ELSE -->
+                       &bull; {PAGE_NUMBER}
+               <!-- ENDIF -->
+       </div>
+
+       </div>
+<!-- ENDIF -->
+
+<!-- IF S_NO_READ_ACCESS -->
+
+       <div class="panel">
+               <div class="inner">
+               <strong>{L_NO_READ_ACCESS}</strong>
+               </div>
+       </div>
+
+       <!-- IF not S_USER_LOGGED_IN and not S_IS_BOT -->
+
+               <form action="{S_LOGIN_ACTION}" method="post">
+
+               <div class="panel">
+                       <div class="inner">
+
+                       <div class="content">
+                               <h3><a href="{U_LOGIN_LOGOUT}">{L_LOGIN_LOGOUT}</a><!-- IF S_REGISTER_ENABLED -->&nbsp; &bull; &nbsp;<a href="{U_REGISTER}">{L_REGISTER}</a><!-- ENDIF --></h3>
+
+                               <fieldset class="fields1">
+                               <dl>
+                                       <dt><label for="username">{L_USERNAME}{L_COLON}</label></dt>
+                                       <dd><input type="text" tabindex="1" name="username" id="username" size="25" value="{USERNAME}" class="inputbox autowidth" /></dd>
+                               </dl>
+                               <dl>
+                                       <dt><label for="password">{L_PASSWORD}{L_COLON}</label></dt>
+                                       <dd><input type="password" tabindex="2" id="password" name="password" size="25" class="inputbox autowidth" autocomplete="off" /></dd>
+                                       <!-- IF S_AUTOLOGIN_ENABLED --><dd><label for="autologin"><input type="checkbox" name="autologin" id="autologin" tabindex="3" /> {L_LOG_ME_IN}</label></dd><!-- ENDIF -->
+                                       <dd><label for="viewonline"><input type="checkbox" name="viewonline" id="viewonline" tabindex="4" /> {L_HIDE_ME}</label></dd>
+                               </dl>
+                               <dl>
+                                       <dt>&nbsp;</dt>
+                                       <dd><input type="submit" name="login" tabindex="5" value="{L_LOGIN}" class="button1" /></dd>
+                               </dl>
+                               {S_LOGIN_REDIRECT}
+                               </fieldset>
+                       </div>
+
+                       </div>
+               </div>
+
+               </form>
+
+       <!-- ENDIF -->
+
+<!-- ENDIF -->
+
+<!-- EVENT viewforum_body_topic_row_before -->
+
+<!-- BEGIN topicrow -->
+
+       <!-- IF not topicrow.S_TOPIC_TYPE_SWITCH and not topicrow.S_FIRST_ROW -->
+               </ul>
+               </div>
+       </div>
+       <!-- ENDIF -->
+
+       <!-- IF topicrow.S_FIRST_ROW or not topicrow.S_TOPIC_TYPE_SWITCH -->
+               <div class="forumbg<!-- IF topicrow.S_TOPIC_TYPE_SWITCH and (topicrow.S_POST_ANNOUNCE or topicrow.S_POST_GLOBAL) --> announcement<!-- ENDIF -->">
+               <div class="inner">
+               <ul class="topiclist">
+                       <li class="header">
+                               <dl class="row-item">
+                                       <dt<!-- IF S_DISPLAY_ACTIVE --> id="active_topics"<!-- ENDIF -->><div class="list-inner"><!-- IF S_DISPLAY_ACTIVE -->{L_ACTIVE_TOPICS}<!-- ELSEIF topicrow.S_TOPIC_TYPE_SWITCH and (topicrow.S_POST_ANNOUNCE or topicrow.S_POST_GLOBAL) -->{L_ANNOUNCEMENTS}<!-- ELSE -->{L_TOPICS}<!-- ENDIF --></div></dt>
+                                       <dd class="posts">{L_REPLIES}</dd>
+                                       <dd class="views">{L_VIEWS}</dd>
+                                       <dd class="lastpost"><span>{L_LAST_POST}</span></dd>
+                               </dl>
+                       </li>
+               </ul>
+               <ul class="topiclist topics">
+       <!-- ENDIF -->
+
+               <!-- EVENT viewforum_body_topicrow_row_before -->
+               <li class="row<!-- IF topicrow.S_ROW_COUNT is even --> bg1<!-- ELSE --> bg2<!-- ENDIF --><!-- IF topicrow.S_POST_GLOBAL --> global-announce<!-- ENDIF --><!-- IF topicrow.S_POST_ANNOUNCE --> announce<!-- ENDIF --><!-- IF topicrow.S_POST_STICKY --> sticky<!-- ENDIF --><!-- IF topicrow.S_TOPIC_REPORTED --> reported<!-- ENDIF -->">
+                       <!-- EVENT viewforum_body_topic_row_prepend -->
+                       <dl class="row-item {topicrow.TOPIC_IMG_STYLE}">
+                               <dt<!-- IF topicrow.TOPIC_ICON_IMG and S_TOPIC_ICONS --> style="background-image: url({T_ICONS_PATH}{topicrow.TOPIC_ICON_IMG}); background-repeat: no-repeat;"<!-- ENDIF --> title="{topicrow.TOPIC_FOLDER_IMG_ALT}">
+                                       <!-- IF topicrow.S_UNREAD_TOPIC and not S_IS_BOT --><a href="{topicrow.U_NEWEST_POST}" class="row-item-link"></a><!-- ENDIF -->
+                                       <div class="list-inner">
+                                               <!-- EVENT topiclist_row_prepend -->
+                                               <!-- IF topicrow.S_UNREAD_TOPIC and not S_IS_BOT -->
+                                                       <a class="unread" href="{topicrow.U_NEWEST_POST}">
+                                                               <i class="icon fa-file fa-fw icon-red icon-md" aria-hidden="true"></i><span class="sr-only">{NEW_POST}</span>
+                                                       </a>
+                                               <!-- ENDIF -->
+                                               <a href="{topicrow.U_VIEW_TOPIC}" class="topictitle">{topicrow.TOPIC_TITLE}</a>
+                                               <!-- IF topicrow.S_TOPIC_UNAPPROVED or topicrow.S_POSTS_UNAPPROVED -->
+                                                       <a href="{topicrow.U_MCP_QUEUE}" title="{L_TOPIC_UNAPPROVED}">
+                                                               <i class="icon fa-question fa-fw icon-blue" aria-hidden="true"></i><span class="sr-only">{L_TOPIC_UNAPPROVED}</span>
+                                                       </a>
+                                               <!-- ENDIF -->
+                                               <!-- IF topicrow.S_TOPIC_DELETED -->
+                                                       <a href="{topicrow.U_MCP_QUEUE}" title="{L_TOPIC_DELETED}">
+                                                               <i class="icon fa-recycle fa-fw icon-green" aria-hidden="true"></i><span class="sr-only">{L_TOPIC_DELETED}</span>
+                                                       </a>
+                                               <!-- ENDIF -->
+                                               <!-- IF topicrow.S_TOPIC_REPORTED -->
+                                                       <a href="{topicrow.U_MCP_REPORT}" title="{L_TOPIC_REPORTED}">
+                                                               <i class="icon fa-exclamation fa-fw icon-red" aria-hidden="true"></i><span class="sr-only">{L_TOPIC_REPORTED}</span>
+                                                       </a>
+                                               <!-- ENDIF -->
+                                               <br />
+                                               <!-- EVENT topiclist_row_topic_title_after -->
+
+                                               <!-- IF not S_IS_BOT -->
+                                               <div class="responsive-show" style="display: none;">
+                                                       {L_LAST_POST} {L_POST_BY_AUTHOR} {topicrow.LAST_POST_AUTHOR_FULL} &laquo; <a href="{topicrow.U_LAST_POST}" title="{L_GOTO_LAST_POST}">{topicrow.LAST_POST_TIME}</a>
+                                                       <!-- IF topicrow.S_POST_GLOBAL and FORUM_ID != topicrow.FORUM_ID --><br />{L_POSTED} {L_IN} <a href="{topicrow.U_VIEW_FORUM}">{topicrow.FORUM_NAME}</a><!-- ENDIF -->
+                                               </div>
+                                               <!-- IF topicrow.REPLIES --><span class="responsive-show left-box" style="display: none;">{L_REPLIES}{L_COLON} <strong>{topicrow.REPLIES}</strong></span><!-- ENDIF -->
+                                               <!-- ENDIF -->
+
+                                               <div class="topic-poster responsive-hide">
+                                                       <!-- IF topicrow.S_HAS_POLL --><i class="icon fa-bar-chart fa-fw" aria-hidden="true"></i><!-- ENDIF -->
+                                                       <!-- IF topicrow.ATTACH_ICON_IMG --><i class="icon fa-paperclip fa-fw" aria-hidden="true"></i><!-- ENDIF -->
+                                                       {L_POST_BY_AUTHOR} {topicrow.TOPIC_AUTHOR_FULL} &raquo; {topicrow.FIRST_POST_TIME}
+                                                       <!-- IF topicrow.S_POST_GLOBAL and FORUM_ID != topicrow.FORUM_ID --> &raquo; {L_IN} <a href="{topicrow.U_VIEW_FORUM}">{topicrow.FORUM_NAME}</a><!-- ENDIF -->
+                                               </div>
+
+                                               <!-- IF .topicrow.pagination -->
+                                               <div class="pagination">
+                                                       <span><i class="icon fa-clone fa-fw" aria-hidden="true"></i></span>
+                                                       <ul>
+                                                       <!-- BEGIN pagination -->
+                                                               <!-- IF topicrow.pagination.S_IS_PREV -->
+                                                               <!-- ELSEIF topicrow.pagination.S_IS_CURRENT --><li class="active"><span>{topicrow.pagination.PAGE_NUMBER}</span></li>
+                                                               <!-- ELSEIF topicrow.pagination.S_IS_ELLIPSIS --><li class="ellipsis"><span>{L_ELLIPSIS}</span></li>
+                                                               <!-- ELSEIF topicrow.pagination.S_IS_NEXT -->
+                                                               <!-- ELSE --><li><a class="button" href="{topicrow.pagination.PAGE_URL}">{topicrow.pagination.PAGE_NUMBER}</a></li>
+                                                               <!-- ENDIF -->
+                                                       <!-- END pagination -->
+                                                       </ul>
+                                               </div>
+                                               <!-- ENDIF -->
+
+                                               <!-- EVENT topiclist_row_append -->
+                                       </div>
+                               </dt>
+                               <dd class="posts">{topicrow.REPLIES} <dfn>{L_REPLIES}</dfn></dd>
+                               <dd class="views">{topicrow.VIEWS} <dfn>{L_VIEWS}</dfn></dd>
+                               <dd class="lastpost">
+                                       <span><dfn>{L_LAST_POST} </dfn>{L_POST_BY_AUTHOR} {topicrow.LAST_POST_AUTHOR_FULL}
+                                               <!-- IF not S_IS_BOT -->
+                                                       <a href="{topicrow.U_LAST_POST}" title="{L_GOTO_LAST_POST}">
+                                                               <i class="icon fa-external-link-square fa-fw icon-lightgray icon-md" aria-hidden="true"></i><span class="sr-only">{VIEW_LATEST_POST}</span>
+                                                       </a>
+                                               <!-- ENDIF -->
+                                               <br />{topicrow.LAST_POST_TIME}
+                                       </span>
+                               </dd>
+                       </dl>
+                       <!-- EVENT viewforum_body_topic_row_append -->
+               </li>
+               <!-- EVENT viewforum_body_topic_row_after -->
+
+       <!-- IF topicrow.S_LAST_ROW -->
+                       </ul>
+               </div>
+       </div>
+       <!-- ENDIF -->
+
+<!-- BEGINELSE -->
+       <!-- IF S_IS_POSTABLE -->
+       <div class="panel">
+               <div class="inner">
+               <strong>{L_NO_TOPICS}</strong>
+               </div>
+       </div>
+       <!-- ENDIF -->
+<!-- END topicrow -->
+
+<!-- IF .topicrow and not S_DISPLAY_ACTIVE -->
+       <div class="action-bar bar-bottom">
+               <!-- IF not S_IS_BOT and S_DISPLAY_POST_INFO -->
+                       <!-- EVENT viewforum_buttons_bottom_before -->
+
+                       <a href="{U_POST_NEW_TOPIC}" class="button" title="<!-- IF S_IS_LOCKED -->{L_FORUM_LOCKED}<!-- ELSE -->{L_POST_TOPIC}<!-- ENDIF -->">
+                       <!-- IF S_IS_LOCKED -->
+                               <span>{L_BUTTON_FORUM_LOCKED}</span> <i class="icon fa-lock fa-fw" aria-hidden="true"></i>
+                       <!-- ELSE -->
+                               <span>{L_BUTTON_NEW_TOPIC}</span> <i class="icon fa-pencil fa-fw" aria-hidden="true"></i>
+                       <!-- ENDIF -->
+                       </a>
+
+                       <!-- EVENT viewforum_buttons_bottom_after -->
+               <!-- ENDIF -->
+
+               <!-- IF S_SELECT_SORT_DAYS and not S_IS_BOT -->
+                       <form method="post" action="{S_FORUM_ACTION}">
+                       <!-- INCLUDE display_options.html -->
+                       </form>
+               <!-- ENDIF -->
+
+               <div class="pagination">
+                       <!-- IF not S_IS_BOT and U_MARK_TOPICS and .topicrow --><a href="{U_MARK_TOPICS}" data-ajax="mark_topics_read">{L_MARK_TOPICS_READ}</a> &bull; <!-- ENDIF -->
+                       {TOTAL_TOPICS}
+                       <!-- IF .pagination -->
+                               <!-- INCLUDE pagination.html -->
+                       <!-- ELSE -->
+                                &bull; {PAGE_NUMBER}
+                       <!-- ENDIF -->
+               </div>
+       </div>
+<!-- ENDIF -->
+
+<!-- INCLUDE jumpbox.html -->
+
+<!-- IF S_DISPLAY_ONLINE_LIST -->
+       <div class="stat-block online-list">
+               <h3><!-- IF U_VIEWONLINE --><a href="{U_VIEWONLINE}">{L_WHO_IS_ONLINE}</a><!-- ELSE -->{L_WHO_IS_ONLINE}<!-- ENDIF --></h3>
+               <p>{LOGGED_IN_USER_LIST}</p>
+       </div>
+<!-- ENDIF -->
+
+<!-- IF S_DISPLAY_POST_INFO -->
+       <div class="stat-block permissions">
+               <h3>{L_FORUM_PERMISSIONS}</h3>
+               <p><!-- BEGIN rules -->{rules.RULE}<br /><!-- END rules --></p>
+       </div>
+<!-- ENDIF -->
+
+<!-- INCLUDE overall_footer.html -->
diff --git a/template/viewonline_body.html b/template/viewonline_body.html
new file mode 100644 (file)
index 0000000..dd0ca72
--- /dev/null
@@ -0,0 +1,63 @@
+<!-- INCLUDE overall_header.html -->
+
+<h2 class="viewonline-title">{TOTAL_REGISTERED_USERS_ONLINE}</h2>
+<p>{TOTAL_GUEST_USERS_ONLINE}<!-- IF S_SWITCH_GUEST_DISPLAY --> &bull; <a href="{U_SWITCH_GUEST_DISPLAY}">{L_SWITCH_GUEST_DISPLAY}</a><!-- ENDIF --></p>
+
+<div class="action-bar bar-top">
+       <div class="pagination">
+               <!-- IF .pagination -->
+                       <!-- INCLUDE pagination.html -->
+               <!-- ELSE -->
+                       {PAGE_NUMBER}
+               <!-- ENDIF -->
+       </div>
+</div>
+
+<div class="forumbg forumbg-table">
+       <div class="inner">
+
+       <table class="table1">
+
+       <!-- IF .user_row -->
+               <thead>
+               <tr>
+                       <th class="name"><a href="{U_SORT_USERNAME}">{L_USERNAME}</a></th>
+                       <th class="info"><a href="{U_SORT_LOCATION}">{L_FORUM_LOCATION}</a></th>
+                       <th class="active"><a href="{U_SORT_UPDATED}">{L_LAST_UPDATED}</a></th>
+               </tr>
+               </thead>
+               <tbody>
+               <!-- BEGIN user_row -->
+               <tr class="<!-- IF user_row.S_ROW_COUNT is odd -->bg1<!-- ELSE -->bg2<!-- ENDIF -->">
+                       <td>{user_row.USERNAME_FULL}<!-- IF user_row.USER_IP --> <span style="float: {S_CONTENT_FLOW_END};">{L_IP}{L_COLON} <a href="{user_row.U_USER_IP}">{user_row.USER_IP}</a> &#187; <a href="{user_row.U_WHOIS}" onclick="popup(this.href, 750, 500); return false;">{L_WHOIS}</a></span><!-- ENDIF -->
+                               <!-- IF user_row.USER_BROWSER --><br />{user_row.USER_BROWSER}<!-- ENDIF --></td>
+                       <td class="info"><a href="{user_row.U_FORUM_LOCATION}">{user_row.FORUM_LOCATION}</a></td>
+                       <td class="active">{user_row.LASTUPDATE}</td>
+               </tr>
+               <!-- END user_row -->
+       <!-- ELSE -->
+               <tbody>
+               <tr class="bg1">
+                       <td colspan="3">{L_NO_ONLINE_USERS}<!-- IF S_SWITCH_GUEST_DISPLAY --> &bull; <a href="{U_SWITCH_GUEST_DISPLAY}">{L_SWITCH_GUEST_DISPLAY}</a><!-- ENDIF --></td>
+               </tr>
+       <!-- ENDIF -->
+       </tbody>
+       </table>
+
+       </div>
+</div>
+
+<!-- IF LEGEND --><p><em>{L_LEGEND}{L_COLON} {LEGEND}</em></p><!-- ENDIF -->
+
+<div class="action-bar bar-bottom">
+       <div class="pagination">
+               <!-- IF .pagination -->
+                       <!-- INCLUDE pagination.html -->
+               <!-- ELSE -->
+                       {PAGE_NUMBER}
+               <!-- ENDIF -->
+       </div>
+</div>
+
+<!-- INCLUDE jumpbox.html -->
+<!-- INCLUDE overall_footer.html -->
diff --git a/template/viewonline_whois.html b/template/viewonline_whois.html
new file mode 100644 (file)
index 0000000..5d78049
--- /dev/null
@@ -0,0 +1,12 @@
+<!-- INCLUDE simple_header.html -->
+
+<h2>{L_WHOIS}</h2>
+
+<div class="panel">
+       <div class="inner">
+          <pre>{WHOIS}</pre>
+       </div>
+</div>
+<a  href="#" onclick="window.close(); return false;">{L_CLOSE_WINDOW}</a>
+
+<!-- INCLUDE simple_footer.html -->
diff --git a/template/viewtopic_body.html b/template/viewtopic_body.html
new file mode 100644 (file)
index 0000000..522151c
--- /dev/null
@@ -0,0 +1,449 @@
+<!-- INCLUDE overall_header.html -->
+
+<h2 class="topic-title"><!-- EVENT viewtopic_topic_title_prepend --><a href="{U_VIEW_TOPIC}">{TOPIC_TITLE}</a><!-- EVENT viewtopic_topic_title_append --></h2>
+<!-- EVENT viewtopic_topic_title_after -->
+<!-- NOTE: remove the style="display: none" when you want to have the forum description on the topic body -->
+<!-- IF FORUM_DESC --><div style="display: none !important;">{FORUM_DESC}<br /></div><!-- ENDIF -->
+
+<!-- IF MODERATORS -->
+<p>
+       <strong><!-- IF S_SINGLE_MODERATOR -->{L_MODERATOR}<!-- ELSE -->{L_MODERATORS}<!-- ENDIF -->{L_COLON}</strong> {MODERATORS}
+</p>
+<!-- ENDIF -->
+
+<!-- IF S_FORUM_RULES -->
+       <div class="rules<!-- IF U_FORUM_RULES --> rules-link<!-- ENDIF -->">
+               <div class="inner">
+
+               <!-- IF U_FORUM_RULES -->
+                       <a href="{U_FORUM_RULES}">{L_FORUM_RULES}</a>
+               <!-- ELSE -->
+                       <strong>{L_FORUM_RULES}</strong><br />
+                       {FORUM_RULES}
+               <!-- ENDIF -->
+
+               </div>
+       </div>
+<!-- ENDIF -->
+
+<div class="action-bar bar-top">
+       <!-- EVENT viewtopic_buttons_top_before -->
+
+       <!-- IF not S_IS_BOT and S_DISPLAY_REPLY_INFO -->
+               <a href="{U_POST_REPLY_TOPIC}" class="button" title="<!-- IF S_IS_LOCKED -->{L_TOPIC_LOCKED}<!-- ELSE -->{L_POST_REPLY}<!-- ENDIF -->">
+                       <!-- IF S_IS_LOCKED -->
+                               <span>{L_BUTTON_TOPIC_LOCKED}</span> <i class="icon fa-lock fa-fw" aria-hidden="true"></i>
+                       <!-- ELSE -->
+                               <span>{L_BUTTON_POST_REPLY}</span> <i class="icon fa-reply fa-fw" aria-hidden="true"></i>
+                       <!-- ENDIF -->
+               </a>
+       <!-- ENDIF -->
+
+       <!-- EVENT viewtopic_buttons_top_after -->
+       <!-- INCLUDE viewtopic_topic_tools.html -->
+       <!-- EVENT viewtopic_dropdown_top_custom -->
+
+       <!-- IF S_DISPLAY_SEARCHBOX -->
+               <div class="search-box" role="search">
+                       <form method="get" id="topic-search" action="{S_SEARCHBOX_ACTION}">
+                       <fieldset>
+                               <input class="inputbox search tiny"  type="search" name="keywords" id="search_keywords" size="20" placeholder="{L_SEARCH_TOPIC}" />
+                               <button class="button button-search" type="submit" title="{L_SEARCH}">
+                                       <i class="icon fa-search fa-fw" aria-hidden="true"></i><span class="sr-only">{L_SEARCH}</span>
+                               </button>
+                               <a href="{U_SEARCH}" class="button button-search-end" title="{L_SEARCH_ADV}">
+                                       <i class="icon fa-cog fa-fw" aria-hidden="true"></i><span class="sr-only">{L_SEARCH_ADV}</span>
+                               </a>
+                               {S_SEARCH_LOCAL_HIDDEN_FIELDS}
+                       </fieldset>
+                       </form>
+               </div>
+       <!-- ENDIF -->
+
+       <!-- IF .pagination or TOTAL_POSTS -->
+               <div class="pagination">
+                       <!-- IF U_VIEW_UNREAD_POST and not S_IS_BOT --><a href="{U_VIEW_UNREAD_POST}" class="mark">{L_VIEW_UNREAD_POST}</a> &bull; <!-- ENDIF -->{TOTAL_POSTS}
+                       <!-- IF .pagination -->
+                               <!-- INCLUDE pagination.html -->
+                       <!-- ELSE -->
+                               &bull; {PAGE_NUMBER}
+                       <!-- ENDIF -->
+               </div>
+       <!-- ENDIF -->
+       <!-- EVENT viewtopic_body_pagination_top_after -->
+</div>
+
+<!-- EVENT viewtopic_body_poll_before -->
+
+<!-- IF S_HAS_POLL -->
+       <form method="post" action="{S_POLL_ACTION}" data-ajax="vote_poll" class="topic_poll">
+
+       <div class="panel">
+               <div class="inner">
+
+               <div class="content">
+                       <h2 class="poll-title"><!-- EVENT viewtopic_body_poll_question_prepend -->{POLL_QUESTION}<!-- EVENT viewtopic_body_poll_question_append --></h2>
+                       <p class="author">{L_POLL_LENGTH}<!-- IF S_CAN_VOTE and L_POLL_LENGTH --><br /><!-- ENDIF --><!-- IF S_CAN_VOTE --><span class="poll_max_votes">{L_MAX_VOTES}</span><!-- ENDIF --></p>
+
+                       <fieldset class="polls">
+                       <!-- BEGIN poll_option -->
+                               <!-- EVENT viewtopic_body_poll_option_before -->
+                               <dl class="<!-- IF poll_option.POLL_OPTION_VOTED -->voted<!-- ENDIF --><!-- IF poll_option.POLL_OPTION_MOST_VOTES --> most-votes<!-- ENDIF -->"<!-- IF poll_option.POLL_OPTION_VOTED --> title="{L_POLL_VOTED_OPTION}"<!-- ENDIF --> data-alt-text="{L_POLL_VOTED_OPTION}" data-poll-option-id="{poll_option.POLL_OPTION_ID}">
+                                       <dt><!-- IF S_CAN_VOTE --><label for="vote_{poll_option.POLL_OPTION_ID}">{poll_option.POLL_OPTION_CAPTION}</label><!-- ELSE -->{poll_option.POLL_OPTION_CAPTION}<!-- ENDIF --></dt>
+                                       <!-- IF S_CAN_VOTE --><dd style="width: auto;" class="poll_option_select"><!-- IF S_IS_MULTI_CHOICE --><input type="checkbox" name="vote_id[]" id="vote_{poll_option.POLL_OPTION_ID}" value="{poll_option.POLL_OPTION_ID}"<!-- IF poll_option.POLL_OPTION_VOTED --> checked="checked"<!-- ENDIF --> /><!-- ELSE --><input type="radio" name="vote_id[]" id="vote_{poll_option.POLL_OPTION_ID}" value="{poll_option.POLL_OPTION_ID}"<!-- IF poll_option.POLL_OPTION_VOTED --> checked="checked"<!-- ENDIF --> /><!-- ENDIF --></dd><!-- ENDIF -->
+                                       <dd class="resultbar<!-- IF not S_DISPLAY_RESULTS --> hidden<!-- ENDIF -->"><div class="<!-- IF poll_option.POLL_OPTION_PCT < 20 -->pollbar1<!-- ELSEIF poll_option.POLL_OPTION_PCT < 40 -->pollbar2<!-- ELSEIF poll_option.POLL_OPTION_PCT < 60 -->pollbar3<!-- ELSEIF poll_option.POLL_OPTION_PCT < 80 -->pollbar4<!-- ELSE -->pollbar5<!-- ENDIF -->" style="width:{poll_option.POLL_OPTION_PERCENT_REL};">{poll_option.POLL_OPTION_RESULT}</div></dd>
+                                       <dd class="poll_option_percent<!-- IF not S_DISPLAY_RESULTS --> hidden<!-- ENDIF -->"><!-- IF poll_option.POLL_OPTION_RESULT == 0 -->{L_NO_VOTES}<!-- ELSE -->{poll_option.POLL_OPTION_PERCENT}<!-- ENDIF --></dd>
+                               </dl>
+                               <!-- EVENT viewtopic_body_poll_option_after -->
+                       <!-- END poll_option -->
+
+                               <dl class="poll_total_votes<!-- IF not S_DISPLAY_RESULTS --> hidden<!-- ENDIF -->">
+                                       <dt>&nbsp;</dt>
+                                       <dd class="resultbar">{L_TOTAL_VOTES}{L_COLON} <span class="poll_total_vote_cnt">{TOTAL_VOTES}</span></dd>
+                               </dl>
+
+                       <!-- IF S_CAN_VOTE -->
+                               <dl style="border-top: none;" class="poll_vote">
+                                       <dt>&nbsp;</dt>
+                                       <dd class="resultbar"><input type="submit" name="update" value="{L_SUBMIT_VOTE}" class="button1" /></dd>
+                               </dl>
+                       <!-- ENDIF -->
+
+                       <!-- IF not S_DISPLAY_RESULTS -->
+                               <dl style="border-top: none;" class="poll_view_results">
+                                       <dt>&nbsp;</dt>
+                                       <dd class="resultbar"><a href="{U_VIEW_RESULTS}">{L_VIEW_RESULTS}</a></dd>
+                               </dl>
+                       <!-- ENDIF -->
+                       </fieldset>
+                       <div class="vote-submitted hidden">{L_VOTE_SUBMITTED}</div>
+               </div>
+
+               </div>
+               {S_FORM_TOKEN}
+               {S_HIDDEN_FIELDS}
+       </div>
+
+       </form>
+       <hr />
+<!-- ENDIF -->
+
+<!-- EVENT viewtopic_body_poll_after -->
+
+<!-- BEGIN postrow -->
+       <!-- EVENT viewtopic_body_postrow_post_before -->
+       <!-- IF postrow.S_FIRST_UNREAD -->
+               <a id="unread" class="anchor"<!-- IF S_UNREAD_VIEW --> data-url="{postrow.U_MINI_POST}"<!-- ENDIF -->></a>
+       <!-- ENDIF -->
+       <div id="p{postrow.POST_ID}" class="post has-profile <!-- IF postrow.S_ROW_COUNT is odd -->bg1<!-- ELSE -->bg2<!-- ENDIF --><!-- IF postrow.S_UNREAD_POST --> unreadpost<!-- ENDIF --><!-- IF postrow.S_POST_REPORTED --> reported<!-- ENDIF --><!-- IF postrow.S_POST_DELETED --> deleted<!-- ENDIF --><!-- IF postrow.S_ONLINE and not postrow.S_POST_HIDDEN --> online<!-- ENDIF --><!-- IF postrow.POSTER_WARNINGS --> warned<!-- ENDIF -->">
+               <div class="inner">
+
+               <dl class="postprofile" id="profile{postrow.POST_ID}"<!-- IF postrow.S_POST_HIDDEN --> style="display: none;"<!-- ENDIF -->>
+                       <dt class="<!-- IF postrow.RANK_TITLE or postrow.RANK_IMG -->has-profile-rank<!-- ELSE -->no-profile-rank<!-- ENDIF --> <!-- IF postrow.POSTER_AVATAR -->has-avatar<!-- ELSE -->no-avatar<!-- ENDIF -->">
+                               <div class="avatar-container">
+                                       <!-- EVENT viewtopic_body_avatar_before -->
+                                       <!-- IF postrow.POSTER_AVATAR -->
+                                               <!-- IF postrow.U_POST_AUTHOR --><a href="{postrow.U_POST_AUTHOR}" class="avatar">{postrow.POSTER_AVATAR}</a><!-- ELSE --><span class="avatar">{postrow.POSTER_AVATAR}</span><!-- ENDIF -->
+                                       <!-- ENDIF -->
+                                       <!-- EVENT viewtopic_body_avatar_after -->
+                               </div>
+                               <!-- EVENT viewtopic_body_post_author_before -->
+                               <!-- IF not postrow.U_POST_AUTHOR --><strong>{postrow.POST_AUTHOR_FULL}</strong><!-- ELSE -->{postrow.POST_AUTHOR_FULL}<!-- ENDIF -->
+                               <!-- EVENT viewtopic_body_post_author_after -->
+                       </dt>
+
+                       <!-- EVENT viewtopic_body_postrow_rank_before -->
+                       <!-- IF postrow.RANK_TITLE or postrow.RANK_IMG --><dd class="profile-rank">{postrow.RANK_TITLE}<!-- IF postrow.RANK_TITLE and postrow.RANK_IMG --><br /><!-- ENDIF -->{postrow.RANK_IMG}</dd><!-- ENDIF -->
+                       <!-- EVENT viewtopic_body_postrow_rank_after -->
+
+               <!-- IF postrow.POSTER_POSTS != '' --><dd class="profile-posts"><strong>{L_POSTS}{L_COLON}</strong> <!-- IF postrow.U_SEARCH !== '' --><a href="{postrow.U_SEARCH}"><!-- ENDIF -->{postrow.POSTER_POSTS}<!-- IF postrow.U_SEARCH !== '' --></a><!-- ENDIF --></dd><!-- ENDIF -->
+               <!-- IF postrow.POSTER_JOINED --><dd class="profile-joined"><strong>{L_JOINED}{L_COLON}</strong> {postrow.POSTER_JOINED}</dd><!-- ENDIF -->
+               <!-- IF postrow.POSTER_WARNINGS --><dd class="profile-warnings"><strong>{L_WARNINGS}{L_COLON}</strong> {postrow.POSTER_WARNINGS}</dd><!-- ENDIF -->
+
+               <!-- IF postrow.S_PROFILE_FIELD1 -->
+                       <!-- Use a construct like this to include admin defined profile fields. Replace FIELD1 with the name of your field. -->
+                       <dd><strong>{postrow.PROFILE_FIELD1_NAME}{L_COLON}</strong> {postrow.PROFILE_FIELD1_VALUE}</dd>
+               <!-- ENDIF -->
+
+               <!-- EVENT viewtopic_body_postrow_custom_fields_before -->
+               <!-- BEGIN custom_fields -->
+                       <!-- IF not postrow.custom_fields.S_PROFILE_CONTACT -->
+                               <dd class="profile-custom-field profile-{postrow.custom_fields.PROFILE_FIELD_IDENT}"><strong>{postrow.custom_fields.PROFILE_FIELD_NAME}{L_COLON}</strong> {postrow.custom_fields.PROFILE_FIELD_VALUE}</dd>
+                       <!-- ENDIF -->
+               <!-- END custom_fields -->
+               <!-- EVENT viewtopic_body_postrow_custom_fields_after -->
+
+               <!-- EVENT viewtopic_body_contact_fields_before -->
+               <!-- IF not S_IS_BOT and .postrow.contact -->
+                       <dd class="profile-contact">
+                               <strong>{L_CONTACT}{L_COLON}</strong>
+                               <div class="dropdown-container dropdown-left">
+                                       <a href="#" class="dropdown-trigger" title="{postrow.CONTACT_USER}">
+                                               <i class="icon fa-commenting-o fa-fw icon-lg" aria-hidden="true"></i><span class="sr-only">{postrow.CONTACT_USER}</span>
+                                       </a>
+                                       <div class="dropdown">
+                                               <div class="pointer"><div class="pointer-inner"></div></div>
+                                               <div class="dropdown-contents contact-icons">
+                                                       <!-- BEGIN contact -->
+                                                               {% set REMAINDER = postrow.contact.S_ROW_COUNT % 4 %}
+                                                               <!-- DEFINE $S_LAST_CELL = ((REMAINDER eq 3) or (postrow.contact.S_LAST_ROW and postrow.contact.S_NUM_ROWS < 4)) -->
+                                                               <!-- IF REMAINDER eq 0 -->
+                                                                       <div>
+                                                               <!-- ENDIF -->
+                                                                       <a href="<!-- IF postrow.contact.U_CONTACT -->{postrow.contact.U_CONTACT}<!-- ELSE -->{postrow.U_POST_AUTHOR}<!-- ENDIF -->" title="{postrow.contact.NAME}"<!-- IF $S_LAST_CELL --> class="last-cell"<!-- ENDIF --><!-- IF postrow.contact.ID eq 'jabber' --> onclick="popup(this.href, 750, 320); return false;"<!-- ENDIF -->>
+                                                                               <span class="contact-icon {postrow.contact.ID}-icon">{postrow.contact.NAME}</span>
+                                                                       </a>
+                                                               <!-- IF REMAINDER eq 3 or postrow.contact.S_LAST_ROW -->
+                                                                       </div>
+                                                               <!-- ENDIF -->
+                                                       <!-- END contact -->
+                                               </div>
+                                       </div>
+                               </div>
+                       </dd>
+               <!-- ENDIF -->
+               <!-- EVENT viewtopic_body_contact_fields_after -->
+
+               </dl>
+
+               <div class="postbody">
+                       <!-- IF postrow.S_POST_HIDDEN -->
+                               <!-- IF postrow.S_POST_DELETED -->
+                                       <div class="ignore" id="post_hidden{postrow.POST_ID}">
+                                               {postrow.L_POST_DELETED_MESSAGE}<br />
+                                               {postrow.L_POST_DISPLAY}
+                                       </div>
+                               <!-- ELSEIF postrow.S_IGNORE_POST -->
+                                       <div class="ignore" id="post_hidden{postrow.POST_ID}">
+                                               {postrow.L_IGNORE_POST}<br />
+                                               {postrow.L_POST_DISPLAY}
+                                       </div>
+                               <!-- ENDIF -->
+                       <!-- ENDIF -->
+                       <div id="post_content{postrow.POST_ID}"<!-- IF postrow.S_POST_HIDDEN --> style="display: none;"<!-- ENDIF -->>
+
+                       <!-- EVENT viewtopic_body_post_subject_before -->
+                       <h3 <!-- IF postrow.S_FIRST_ROW -->class="first"<!-- ENDIF -->><!-- IF postrow.POST_ICON_IMG --><img src="{T_ICONS_PATH}{postrow.POST_ICON_IMG}" width="{postrow.POST_ICON_IMG_WIDTH}" height="{postrow.POST_ICON_IMG_HEIGHT}" alt="{postrow.POST_ICON_IMG_ALT}" title="{postrow.POST_ICON_IMG_ALT}" /> <!-- ENDIF --><a href="#p{postrow.POST_ID}">{postrow.POST_SUBJECT}</a></h3>
+
+               <!-- DEFINE $SHOW_POST_BUTTONS = (postrow.U_EDIT or postrow.U_DELETE or postrow.U_REPORT or postrow.U_WARN or postrow.U_INFO or postrow.U_QUOTE) -->
+               <!-- EVENT viewtopic_body_post_buttons_list_before -->
+               <!-- IF not S_IS_BOT -->
+                       <!-- IF $SHOW_POST_BUTTONS -->
+                               <ul class="post-buttons">
+                                       <!-- EVENT viewtopic_body_post_buttons_before -->
+                                       <!-- IF postrow.U_EDIT -->
+                                               <li>
+                                                       <a href="{postrow.U_EDIT}" title="{L_EDIT_POST}" class="button button-icon-only">
+                                                               <i class="icon fa-pencil fa-fw" aria-hidden="true"></i><span class="sr-only">{L_BUTTON_EDIT}</span>
+                                                       </a>
+                                               </li>
+                                       <!-- ENDIF -->
+                                       <!-- IF postrow.U_DELETE -->
+                                               <li>
+                                                       <a href="{postrow.U_DELETE}" title="{L_DELETE_POST}" class="button button-icon-only">
+                                                               <i class="icon fa-times fa-fw" aria-hidden="true"></i><span class="sr-only">{L_DELETE_POST}</span>
+                                                       </a>
+                                               </li>
+                                       <!-- ENDIF -->
+                                       <!-- IF postrow.U_REPORT -->
+                                               <li>
+                                                       <a href="{postrow.U_REPORT}" title="{L_REPORT_POST}" class="button button-icon-only">
+                                                               <i class="icon fa-exclamation fa-fw" aria-hidden="true"></i><span class="sr-only">{L_REPORT_POST}</span>
+                                                       </a>
+                                               </li>
+                                       <!-- ENDIF -->
+                                       <!-- IF postrow.U_WARN -->
+                                               <li>
+                                                       <a href="{postrow.U_WARN}" title="{L_WARN_USER}" class="button button-icon-only">
+                                                               <i class="icon fa-exclamation-triangle fa-fw" aria-hidden="true"></i><span class="sr-only">{L_WARN_USER}</span>
+                                                       </a>
+                                               </li>
+                                       <!-- ENDIF -->
+                                       <!-- IF postrow.U_INFO -->
+                                               <li>
+                                                       <a href="{postrow.U_INFO}" title="{L_INFORMATION}" class="button button-icon-only">
+                                                               <i class="icon fa-info fa-fw" aria-hidden="true"></i><span class="sr-only">{L_INFORMATION}</span>
+                                                       </a>
+                                               </li>
+                                       <!-- ENDIF -->
+                                       <!-- IF postrow.U_QUOTE -->
+                                               <li>
+                                                       <a href="{postrow.U_QUOTE}" title="{L_REPLY_WITH_QUOTE}" class="button button-icon-only">
+                                                               <i class="icon fa-quote-left fa-fw" aria-hidden="true"></i><span class="sr-only">{L_QUOTE}</span>
+                                                       </a>
+                                               </li>
+                                       <!-- ENDIF -->
+                                       <!-- EVENT viewtopic_body_post_buttons_after -->
+                               </ul>
+                       <!-- ENDIF -->
+               <!-- ENDIF -->
+               <!-- EVENT viewtopic_body_post_buttons_list_after -->
+
+                       <!-- EVENT viewtopic_body_postrow_post_details_before -->
+                       <p class="author">
+                               <!-- IF S_IS_BOT -->
+                                       <span><i class="icon fa-file fa-fw <!-- IF postrow.S_UNREAD_POST -->icon-red<!-- ELSE -->icon-lightgray<!-- ENDIF --> icon-md" aria-hidden="true"></i><span class="sr-only">{postrow.MINI_POST}</span></span>
+                               <!-- ELSE -->
+                                       <a class="unread" href="{postrow.U_MINI_POST}" title="{postrow.MINI_POST}">
+                                               <i class="icon fa-file fa-fw <!-- IF postrow.S_UNREAD_POST -->icon-red<!-- ELSE -->icon-lightgray<!-- ENDIF --> icon-md" aria-hidden="true"></i><span class="sr-only">{postrow.MINI_POST}</span>
+                                       </a>
+                               <!-- ENDIF -->
+                               <span class="responsive-hide">{L_POST_BY_AUTHOR} <strong>{postrow.POST_AUTHOR_FULL}</strong> &raquo; </span>{postrow.POST_DATE}
+                       </p>
+                       <!-- EVENT viewtopic_body_postrow_post_details_after -->
+
+                       <!-- IF postrow.S_POST_UNAPPROVED -->
+                       <form method="post" class="mcp_approve" action="{postrow.U_APPROVE_ACTION}">
+                               <p class="post-notice unapproved">
+                                       <span><i class="icon fa-question icon-red fa-fw" aria-hidden="true"></i></span>
+                                       <strong>{L_POST_UNAPPROVED_ACTION}</strong>
+                                       <input class="button2" type="submit" value="{L_DISAPPROVE}" name="action[disapprove]" />
+                                       <input class="button1" type="submit" value="{L_APPROVE}" name="action[approve]" />
+                                       <input type="hidden" name="post_id_list[]" value="{postrow.POST_ID}" />
+                                       {S_FORM_TOKEN}
+                               </p>
+                       </form>
+                       <!-- ELSEIF postrow.S_POST_DELETED -->
+                       <form method="post" class="mcp_approve" action="{postrow.U_APPROVE_ACTION}">
+                               <p class="post-notice deleted">
+                                       <strong>{L_POST_DELETED_ACTION}</strong>
+                                       <!-- IF postrow.S_DELETE_PERMANENT -->
+                                               <input class="button2" type="submit" value="{L_DELETE}" name="action[delete]" />
+                                       <!-- ENDIF -->
+                                       <input class="button1" type="submit" value="{L_RESTORE}" name="action[restore]" />
+                                       <input type="hidden" name="post_id_list[]" value="{postrow.POST_ID}" />
+                                       {S_FORM_TOKEN}
+                               </p>
+                       </form>
+                       <!-- ENDIF -->
+
+                       <!-- IF postrow.S_POST_REPORTED -->
+                       <p class="post-notice reported">
+                               <a href="{postrow.U_MCP_REPORT}"><i class="icon fa-exclamation fa-fw icon-red" aria-hidden="true"></i><strong>{L_POST_REPORTED}</strong></a>
+                       </p>
+                       <!-- ENDIF -->
+
+                       <div class="content">{postrow.MESSAGE}</div>
+
+                       <!-- IF postrow.S_HAS_ATTACHMENTS -->
+                               <dl class="attachbox">
+                                       <dt>
+                                               {L_ATTACHMENTS}
+                                       </dt>
+                                       <!-- BEGIN attachment -->
+                                               <dd>{postrow.attachment.DISPLAY_ATTACHMENT}</dd>
+                                       <!-- END attachment -->
+                               </dl>
+                       <!-- ENDIF -->
+
+                       <!-- EVENT viewtopic_body_postrow_post_notices_before -->
+                       <!-- IF postrow.S_DISPLAY_NOTICE --><div class="rules">{L_DOWNLOAD_NOTICE}</div><!-- ENDIF -->
+                       <!-- IF postrow.DELETED_MESSAGE or postrow.DELETE_REASON -->
+                               <div class="notice post_deleted_msg">
+                                       {postrow.DELETED_MESSAGE}
+                                       <!-- IF postrow.DELETE_REASON --><br /><strong>{L_REASON}{L_COLON}</strong> <em>{postrow.DELETE_REASON}</em><!-- ENDIF -->
+                               </div>
+                       <!-- ELSEIF postrow.EDITED_MESSAGE or postrow.EDIT_REASON -->
+                               <div class="notice">
+                                       {postrow.EDITED_MESSAGE}
+                                       <!-- IF postrow.EDIT_REASON --><br /><strong>{L_REASON}{L_COLON}</strong> <em>{postrow.EDIT_REASON}</em><!-- ENDIF -->
+                               </div>
+                       <!-- ENDIF -->
+
+                       <!-- IF postrow.BUMPED_MESSAGE --><div class="notice"><br /><br />{postrow.BUMPED_MESSAGE}</div><!-- ENDIF -->
+                       <!-- EVENT viewtopic_body_postrow_post_notices_after -->
+                       <!-- IF postrow.SIGNATURE --><div id="sig{postrow.POST_ID}" class="signature">{postrow.SIGNATURE}</div><!-- ENDIF -->
+
+                       <!-- EVENT viewtopic_body_postrow_post_content_footer -->
+                       </div>
+
+               </div>
+
+               <!-- EVENT viewtopic_body_postrow_back2top_before -->
+               <div class="back2top">
+                       <!-- EVENT viewtopic_body_postrow_back2top_prepend -->
+                       <a href="#top" class="top" title="{L_BACK_TO_TOP}">
+                               <i class="icon fa-chevron-circle-up fa-fw icon-gray" aria-hidden="true"></i>
+                               <span class="sr-only">{L_BACK_TO_TOP}</span>
+                       </a>
+                       <!-- EVENT viewtopic_body_postrow_back2top_append -->
+               </div>
+               <!-- EVENT viewtopic_body_postrow_back2top_after -->
+
+               </div>
+       </div>
+
+       <hr class="divider" />
+       <!-- EVENT viewtopic_body_postrow_post_after -->
+<!-- END postrow -->
+
+<!-- IF S_QUICK_REPLY -->
+       <!-- INCLUDE quickreply_editor.html -->
+<!-- ENDIF -->
+
+<!-- EVENT viewtopic_body_topic_actions_before -->
+       <div class="action-bar bar-bottom">
+       <!-- EVENT viewtopic_buttons_bottom_before -->
+
+       <!-- IF not S_IS_BOT and S_DISPLAY_REPLY_INFO -->
+               <a href="{U_POST_REPLY_TOPIC}" class="button" title="<!-- IF S_IS_LOCKED -->{L_TOPIC_LOCKED}<!-- ELSE -->{L_POST_REPLY}<!-- ENDIF -->">
+                       <!-- IF S_IS_LOCKED -->
+                               <span>{L_BUTTON_TOPIC_LOCKED}</span> <i class="icon fa-lock fa-fw" aria-hidden="true"></i>
+                       <!-- ELSE -->
+                               <span>{L_BUTTON_POST_REPLY}</span> <i class="icon fa-reply fa-fw" aria-hidden="true"></i>
+                       <!-- ENDIF -->
+               </a>
+       <!-- ENDIF -->
+       <!-- EVENT viewtopic_buttons_bottom_after -->
+
+       <!-- INCLUDE viewtopic_topic_tools.html -->
+
+       <!-- IF (S_NUM_POSTS > 1 or .pagination) and not S_IS_BOT  -->
+               <form method="post" action="{S_TOPIC_ACTION}">
+               <!-- INCLUDE display_options.html -->
+               </form>
+       <!-- ENDIF -->
+
+       <!-- IF .quickmod -->
+       <div class="quickmod dropdown-container dropdown-container-left dropdown-up dropdown-{S_CONTENT_FLOW_END} dropdown-button-control" id="quickmod">
+               <span title="{L_QUICK_MOD}" class="button button-secondary dropdown-trigger dropdown-select">
+                       <i class="icon fa-gavel fa-fw" aria-hidden="true"></i><span class="sr-only">{L_QUICK_MOD}</span>
+                       <span class="caret"><i class="icon fa-sort-down fa-fw" aria-hidden="true"></i></span>
+               </span>
+               <div class="dropdown">
+                               <div class="pointer"><div class="pointer-inner"></div></div>
+                               <ul class="dropdown-contents">
+                               <!-- BEGIN quickmod -->
+                                       <!-- DEFINE $QUICKMOD_AJAX = (quickmod.VALUE in ['lock', 'unlock', 'delete_topic', 'restore_topic', 'make_normal', 'make_sticky', 'make_announce', 'make_global']) -->
+                                       <li><a href="{quickmod.LINK}"<!-- IF $QUICKMOD_AJAX --> data-ajax="true" data-refresh="true"<!-- ENDIF -->>{quickmod.TITLE}</a></li>
+                               <!-- END quickmod -->
+                               </ul>
+                       </div>
+               </div>
+       <!-- ENDIF -->
+
+       <!-- EVENT viewtopic_dropdown_bottom_custom -->
+
+       <!-- IF .pagination or TOTAL_POSTS -->
+               <div class="pagination">
+                       {TOTAL_POSTS}
+                       <!-- IF .pagination -->
+                               <!-- INCLUDE pagination.html -->
+                       <!-- ELSE -->
+                               &bull; {PAGE_NUMBER}
+                       <!-- ENDIF -->
+               </div>
+       <!-- ENDIF -->
+</div>
+
+<!-- EVENT viewtopic_body_footer_before -->
+<!-- INCLUDE jumpbox.html -->
+
+<!-- IF S_DISPLAY_ONLINE_LIST -->
+       <div class="stat-block online-list">
+               <h3><!-- IF U_VIEWONLINE --><a href="{U_VIEWONLINE}">{L_WHO_IS_ONLINE}</a><!-- ELSE -->{L_WHO_IS_ONLINE}<!-- ENDIF --></h3>
+               <p>{LOGGED_IN_USER_LIST}</p>
+       </div>
+<!-- ENDIF -->
+
+<!-- INCLUDE overall_footer.html -->
diff --git a/template/viewtopic_print.html b/template/viewtopic_print.html
new file mode 100644 (file)
index 0000000..3c1ed4c
--- /dev/null
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html dir="{S_CONTENT_DIRECTION}" lang="{S_USER_LANG}">
+<head>
+<meta charset="utf-8" />
+<meta http-equiv="X-UA-Compatible" content="IE=edge">
+<meta name="robots" content="noindex" />
+{META}
+<title>{SITENAME} &bull; {PAGE_TITLE}</title>
+
+<link href="{T_THEME_PATH}/print.css" rel="stylesheet">
+<!-- EVENT viewtopic_print_head_append -->
+</head>
+<body id="phpbb">
+<div id="wrap" class="wrap">
+       <a id="top" class="top-anchor" accesskey="t"></a>
+
+       <div id="page-header">
+               <h1>{SITENAME}</h1>
+               <p>{SITE_DESCRIPTION}<br /><a href="{U_FORUM}">{U_FORUM}</a></p>
+
+               <h2>{TOPIC_TITLE}</h2>
+               <p><a href="{U_TOPIC}">{U_TOPIC}</a></p>
+       </div>
+
+       <div id="page-body" class="page-body">
+               <div class="page-number">{PAGE_NUMBER}</div>
+               <!-- BEGIN postrow -->
+                       <div class="post">
+                               <h3>{postrow.POST_SUBJECT}</h3>
+                               <div class="date">{L_POSTED}{L_COLON} <strong>{postrow.POST_DATE}</strong></div>
+                               <div class="author">{L_POST_BY_AUTHOR} <strong>{postrow.POST_AUTHOR}</strong></div>
+                               <div class="content">{postrow.MESSAGE}</div>
+                       </div>
+                       <hr />
+               <!-- END postrow -->
+       </div>
+
+       <div id="page-footer" class="page-footer">
+               <div class="page-number">{S_TIMEZONE}<br />{PAGE_NUMBER}</div>
+               <div class="copyright">Powered by phpBB&reg; Forum Software &copy; phpBB Limited<br />https://www.phpbb.com/</div>
+       </div>
+</div>
+
+</body>
+</html>
diff --git a/template/viewtopic_topic_tools.html b/template/viewtopic_topic_tools.html
new file mode 100644 (file)
index 0000000..397c807
--- /dev/null
@@ -0,0 +1,50 @@
+<!-- IF not S_IS_BOT and (U_WATCH_TOPIC or U_BOOKMARK_TOPIC or U_BUMP_TOPIC or U_EMAIL_TOPIC or U_PRINT_TOPIC or S_DISPLAY_TOPIC_TOOLS) -->
+       <div class="dropdown-container dropdown-button-control topic-tools">
+               <span title="{L_TOPIC_TOOLS}" class="button button-secondary dropdown-trigger dropdown-select">
+                       <i class="icon fa-wrench fa-fw" aria-hidden="true"></i>
+                       <span class="caret"><i class="icon fa-sort-down fa-fw" aria-hidden="true"></i></span>
+               </span>
+               <div class="dropdown">
+                       <div class="pointer"><div class="pointer-inner"></div></div>
+                       <ul class="dropdown-contents">
+                               <!-- EVENT viewtopic_topic_tools_before -->
+                               <!-- IF U_WATCH_TOPIC -->
+                                       <li>
+                                               <a href="{U_WATCH_TOPIC}" class="watch-topic-link" title="{S_WATCH_TOPIC_TITLE}" data-ajax="toggle_link" data-toggle-class="icon <!-- IF S_WATCHING_TOPIC -->fa-check-square-o<!-- ELSE -->fa-square-o<!-- ENDIF --> fa-fw" data-toggle-text="{S_WATCH_TOPIC_TOGGLE}" data-toggle-url="{U_WATCH_TOPIC_TOGGLE}" data-update-all=".watch-topic-link">
+                                                       <i class="icon <!-- IF S_WATCHING_FORUM -->fa-square-o<!-- ELSE -->fa-check-square-o<!-- ENDIF --> fa-fw" aria-hidden="true"></i><span>{S_WATCH_TOPIC_TITLE}</span>
+                                               </a>
+                                       </li>
+                               <!-- ENDIF -->
+                               <!-- IF U_BOOKMARK_TOPIC -->
+                                       <li>
+                                               <a href="{U_BOOKMARK_TOPIC}" class="bookmark-link" title="{L_BOOKMARK_TOPIC}" data-ajax="alt_text" data-alt-text="{S_BOOKMARK_TOGGLE}" data-update-all=".bookmark-link">
+                                                       <i class="icon fa-bookmark-o fa-fw" aria-hidden="true"></i><span>{S_BOOKMARK_TOPIC}</span>
+                                               </a>
+                                       </li>
+                               <!-- ENDIF -->
+                               <!-- IF U_BUMP_TOPIC -->
+                               <li>
+                                       <a href="{U_BUMP_TOPIC}" title="{L_BUMP_TOPIC}" data-ajax="true">
+                                               <i class="icon fa-level-up fa-fw" aria-hidden="true"></i><span>{L_BUMP_TOPIC}</span>
+                                       </a>
+                               </li>
+                               <!-- ENDIF -->
+                               <!-- IF U_EMAIL_TOPIC -->
+                               <li>
+                                       <a href="{U_EMAIL_TOPIC}" title="{L_EMAIL_TOPIC}">
+                                               <i class="icon fa-envelope-o fa-fw" aria-hidden="true"></i><span>{L_EMAIL_TOPIC}</span>
+                                       </a>
+                               </li>
+                               <!-- ENDIF -->
+                               <!-- IF U_PRINT_TOPIC -->
+                               <li>
+                                       <a href="{U_PRINT_TOPIC}" title="{L_PRINT_TOPIC}" accesskey="p">
+                                               <i class="icon fa-print fa-fw" aria-hidden="true"></i><span>{L_PRINT_TOPIC}</span>
+                                       </a>
+                               </li>
+                               <!-- ENDIF -->
+                               <!-- EVENT viewtopic_topic_tools_after -->
+                       </ul>
+               </div>
+       </div>
+<!-- ENDIF -->