Augmentation vers version 3.3.0

This commit is contained in:
Gauvain Boiché
2020-03-31 15:31:03 +02:00
parent d926806907
commit a1864c0414
2618 changed files with 406015 additions and 31377 deletions

View File

@@ -0,0 +1,32 @@
#
# phpBB Style Configuration File
#
# This file is part of the phpBB Forum Software package.
#
# @copyright (c) phpBB Limited <https://www.phpbb.com>
# @license GNU General Public License, version 2 (GPL-2.0)
#
# For full copyright and license information, please see
# the docs/CREDITS.txt file.
#
# At the left is the name, please do not change this
# At the right the value is entered
#
# Values get trimmed, if you want to add a space in front or at the end of
# the value, then enclose the value with single or double quotes.
# Single and double quotes do not need to be escaped.
#
#
# General Information about this style
name = prosilver
copyright = © phpBB Limited, 2007
style_version = 3.3.0
phpbb_version = 3.3.0
# Defining a different template bitfield
# template_bitfield = //g=
# Parent style
# Set value to empty or to this style's name if this style does not have a parent style
parent = prosilver

View File

@@ -0,0 +1,35 @@
<!-- 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="{% if _file.COMMENT %}{{ _file.COMMENT|e('html') }}{% else %}{{ _file.DOWNLOAD_NAME }}{% endif %}" 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="{% if _file.COMMENT %}{{ _file.COMMENT|e('html') }}{% else %}{{ _file.DOWNLOAD_NAME }}{% endif %}" 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 -->
<!-- EVENT attachment_file_append -->
<!-- ENDIF -->
<!-- END _file -->
<!-- EVENT attachment_file_after -->

View File

@@ -0,0 +1,79 @@
<!-- 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="@msg_url">
<xsl:text> </xsl:text>
<a href="{@msg_url}" data-msg-id="{@msg_id}">&#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 class="text-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 class="text-italics"><!-- 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 -->

View File

@@ -0,0 +1,9 @@
<!-- IF S_RECAPTCHA_AVAILABLE -->
<noscript>
<div>{L_RECAPTCHA_NOSCRIPT}</div>
</noscript>
{% INCLUDEJS RECAPTCHA_SERVER ~ '.js?onload=phpbbRecaptchaOnLoad&hl=' ~ lang('RECAPTCHA_LANG') %}
<div class="g-recaptcha" data-sitekey="{RECAPTCHA_PUBKEY}" data-callback="phpbbRecaptchaOnSubmit" data-size="invisible" data-tabindex="<!-- IF $CAPTCHA_TAB_INDEX -->{$CAPTCHA_TAB_INDEX}<!-- ELSE -->10<!-- ENDIF -->"></div>
<!-- ELSE -->
{L_RECAPTCHA_NOT_AVAILABLE}
<!-- ENDIF -->

View File

@@ -0,0 +1,937 @@
/* 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('disabled')) {
$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();
}
}
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';
$(users).filter(':checked').each(function() {
insertUser(formId, this.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 occurred.
// 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).on('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'));
});

View File

@@ -0,0 +1,137 @@
<!-- 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 -->
<!-- EVENT forumlist_body_forum_image_before -->
<span class="forum-image"><!-- EVENT forumlist_body_forum_image_prepend -->{forumrow.FORUM_IMAGE}<!-- EVENT forumlist_body_forum_image_append --></span>
<!-- EVENT forumlist_body_forum_image_after -->
<!-- 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 -->
<!-- EVENT forumlist_body_subforum_link_prepend --><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 --><!-- EVENT forumlist_body_subforum_link_append -->
<!-- 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} <!-- EVENT forumlist_body_last_poster_username_prepend -->{forumrow.LAST_POSTER_FULL}<!-- EVENT forumlist_body_last_poster_username_append -->
<!-- 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 /><time datetime="{forumrow.LAST_POST_TIME_RFC3339}">{forumrow.LAST_POST_TIME}</time>
<!-- ELSE -->
{% if forumrow.U_UNAPPROVED_TOPICS %}
{{ lang('TOPIC_UNAPPROVED_FORUM', forumrow.TOPICS) }}
{% else %}
{{ lang('NO_POSTS') }}
{% endif %}
<!-- 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 -->

View File

@@ -0,0 +1,155 @@
<!-- 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 -->
{% EVENT topiclist_row_topic_by_author_before %}
{L_POST_BY_AUTHOR} {topicrow.TOPIC_AUTHOR_FULL} &raquo; {topicrow.FIRST_POST_TIME}
{% EVENT topiclist_row_topic_by_author_after %}
</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 -->

View File

@@ -0,0 +1,73 @@
<!-- 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>
{% EVENT mcp_move_destination_forum_before %}
<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>
{% EVENT mcp_move_destination_forum_after %}
<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 -->

View File

@@ -0,0 +1,202 @@
<!-- 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 -->
<!-- EVENT mcp_topic_postrow_post_before -->
<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>
<!-- EVENT mcp_topic_postrow_post_subject_before -->
<h3><a href="{postrow.U_POST_DETAILS}">{postrow.POST_SUBJECT}</a></h3>
<!-- EVENT mcp_topic_postrow_post_subject_after -->
<!-- EVENT mcp_topic_postrow_post_details_before -->
<p class="author">
<a href="{postrow.U_MINI_POST}" 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} {% EVENT mcp_topic_post_author_full_prepend %}<strong>{postrow.POST_AUTHOR_FULL}</strong>{% EVENT mcp_topic_post_author_full_append %}<!-- 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>
<!-- EVENT mcp_topic_postrow_attachments_before -->
<!-- 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 mcp_topic_postrow_attachments_after -->
</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 -->

View File

@@ -0,0 +1,190 @@
<!-- 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 -->
{% EVENT memberlist_body_page_header_after %}
<!-- IF S_SHOW_GROUP -->
{% EVENT memberlist_body_group_name_before %}
<h2 class="group-title"<!-- IF GROUP_COLOR --> style="color:#{GROUP_COLOR};"<!-- ENDIF -->>{GROUP_NAME}</h2>
{% EVENT memberlist_body_group_name_after %}
<!-- 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>
{% EVENT memberlist_body_group_desc_after %}
<p>
<!-- IF AVATAR_IMG -->{AVATAR_IMG}<!-- ENDIF -->
{% EVENT memberlist_body_group_rank_before %}
{% if RANK_IMG %}{{ RANK_IMG }}{% endif %}
{% if GROUP_RANK %}
{% if not RANK_IMG %}
{{ lang('GROUP_RANK') ~ lang('COLON') }}
{% endif %}
{{ GROUP_RANK }}
{% endif %}
{% EVENT memberlist_body_group_rank_after %}
</p>
<!-- ELSE -->
{% EVENT memberlist_body_page_title_before %}
<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 -->
{% EVENT memberlist_body_memberlist_after %}
</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">{% for field in custom_fields %}{% if not loop.first %}{L_COMMA_SEPARATOR} {% endif %}{{ field.PROFILE_FIELD_NAME }}{% endfor %}</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 -->
{% EVENT memberlist_body_leaders_set_after %}
<!-- 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 -->
{% EVENT memberlist_body_show_group_after %}
<!-- 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">
{%- for field in memberrow.custom_fields -%}
<div>{% if field.S_PROFILE_CONTACT %}<a href="{{ field.PROFILE_FIELD_CONTACT }}">{% endif %}{{ field.PROFILE_FIELD_VALUE }}{% if field.S_PROFILE_CONTACT %}</a>{% endif %}</div>
{%- else -%}
&nbsp;
{%- endfor -%}
</td>
<td>{memberrow.JOINED}</td>
<!-- IF S_VIEWONLINE --><td>{memberrow.LAST_ACTIVE}&nbsp;</td><!-- ENDIF -->
{% EVENT memberlist_body_memberrow_after %}
</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>
{% EVENT memberlist_body_page_footer_before %}
<!-- IF S_IN_SEARCH_POPUP -->
<!-- INCLUDE simple_footer.html -->
<!-- ELSE -->
<!-- INCLUDE jumpbox.html -->
<!-- INCLUDE overall_footer.html -->
<!-- ENDIF -->

View File

@@ -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"<!-- 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>

View File

@@ -0,0 +1,212 @@
<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>
<!-- IF U_USER_PROFILE -->
<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>
<!-- ENDIF -->
<!-- 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 IF not S_IS_BOT -->
<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://schema.org/ListItem" itemprop="itemListElement" itemscope' -->
{% set navlink_position = 1 %}
<!-- EVENT overall_header_breadcrumbs_before -->
<li class="breadcrumbs" itemscope itemtype="http://schema.org/BreadcrumbList">
<!-- IF U_SITE_HOME -->
<span class="crumb" {$MICRODATA}><a href="{U_SITE_HOME}" itemtype="https://schema.org/Thing" itemscope itemprop="item" data-navbar-reference="home"><i class="icon fa-home fa-fw" aria-hidden="true"></i><span itemprop="name">{L_SITE_HOME}</span></a><meta itemprop="position" content="{{ navlink_position }}{% set navlink_position = navlink_position + 1 %}" /></span>
<!-- ENDIF -->
<!-- EVENT overall_header_breadcrumb_prepend -->
<span class="crumb" {$MICRODATA}><a href="{U_INDEX}" itemtype="https://schema.org/Thing" itemscope itemprop="item" accesskey="h" data-navbar-reference="index"><!-- IF not U_SITE_HOME --><i class="icon fa-home fa-fw"></i><!-- ENDIF --><span itemprop="name">{L_INDEX}</span></a><meta itemprop="position" content="{{ navlink_position }}{% set navlink_position = navlink_position + 1 %}" /></span>
<!-- BEGIN navlinks -->
{% set NAVLINK_NAME = navlinks.BREADCRUMB_NAME | default(navlinks.FORUM_NAME) %}
{% set NAVLINK_LINK = navlinks.U_BREADCRUMB | default(navlinks.U_VIEW_FORUM) %}
<!-- EVENT overall_header_navlink_prepend -->
<span class="crumb" {$MICRODATA}<!-- IF navlinks.MICRODATA --> {navlinks.MICRODATA}<!-- ENDIF -->><a href="{{ NAVLINK_LINK }}" itemtype="https://schema.org/Thing" itemscope itemprop="item"><span itemprop="name">{{ NAVLINK_NAME }}</span></a><meta itemprop="position" content="{{ navlink_position }}{% set navlink_position = navlink_position + 1 %}" /></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>

View File

@@ -0,0 +1,120 @@
<!-- 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 -->
<p class="footer-row">
<span class="footer-copyright">{{ CREDIT_LINE }}</span>
</p>
<!-- IF TRANSLATION_INFO -->
<p class="footer-row">
<span class="footer-copyright">{{ TRANSLATION_INFO }}</span>
</p>
<!-- ENDIF -->
<!-- EVENT overall_footer_copyright_append -->
<p class="footer-row" role="menu">
<a class="footer-link" href="{{ U_PRIVACY }}" title="{{ lang('PRIVACY_LINK') }}" role="menuitem">
<span class="footer-link-text">{{ lang('PRIVACY_LINK') }}</span>
</a>
|
<a class="footer-link" href="{{ U_TERMS_USE }}" title="{{ lang('TERMS_LINK') }}" role="menuitem">
<span class="footer-link-text">{{ lang('TERMS_LINK') }}</span>
</a>
</p>
<!-- IF DEBUG_OUTPUT -->
<p class="footer-row">
<span class="footer-info">{{ DEBUG_OUTPUT }}</span>
</p>
<!-- ENDIF -->
<!-- IF U_ACP -->
<p class="footer-row">
<a class="footer-link text-strong" href="{{ U_ACP }}">{{ lang('ACP') }}</a>
</p>
<!-- 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 src="{T_JQUERY_LINK}"></script>
<!-- IF S_ALLOW_CDN --><script>window.jQuery || document.write('\x3Cscript src="{T_ASSETS_PATH}/javascript/jquery-3.4.1.min.js?assets_version={T_ASSETS_VERSION}">\x3C/script>');</script><!-- ENDIF -->
<script 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>
(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>
if (typeof window.cookieconsent === "object") {
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}",
"href": "{UA_PRIVACY}"
}
});
});
}
</script>
<!-- ENDIF -->
<!-- EVENT overall_footer_after -->
<!-- IF S_PLUPLOAD --><!-- INCLUDE plupload.html --><!-- ENDIF -->
{$SCRIPTS}
<!-- EVENT overall_footer_body_after -->
</body>
</html>

View File

@@ -0,0 +1,133 @@
<!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:300,300i,400,400i,600,600i,700,700i,800,800i&subset=cyrillic,cyrillic-ext,greek,greek-ext,latin-ext,vietnamese']
}
};
(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 -->

View File

@@ -0,0 +1,75 @@
<script>
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: {
mime_types: [
{FILTERS}
],
mime_types_max_file_size: [
{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}',
FORM_INVALID: '{LA_FORM_INVALID}',
},
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 -->

View File

@@ -0,0 +1,93 @@
<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>
{% EVENT posting_attach_body_file_list_before %}
<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 attach-row-tpl" id="attach-row-tpl">
<td class="attach-name">
<span class="file-name ellipsis-text"></span>
<span class="attach-controls">
{% if S_BBCODE_ALLOWED %}<input type="button" value="{{ lang('PLACE_INLINE') }}" class="button2 hidden file-inline-bbcode" />&nbsp;{% endif %}
<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>
{% EVENT posting_attach_body_attach_row_before %}
<!-- BEGIN attach_row -->
{% EVENT posting_attach_body_attach_row_prepend %}
<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>
{% EVENT posting_attach_body_attach_row_controls_prepend %}
<span class="attach-controls">
{% if S_BBCODE_ALLOWED and S_INLINE_ATTACHMENT_OPTIONS %}<input type="button" value="{{ lang('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>
{% EVENT posting_attach_body_attach_row_controls_append %}
<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>
{% EVENT posting_attach_body_attach_row_append %}
<!-- END attach_row -->
{% EVENT posting_attach_body_attach_row_after %}
</tbody>
</table>
</div>
</div>
{% EVENT posting_attach_body_file_list_after %}
</div>
</div>

View File

@@ -0,0 +1,105 @@
<script>
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;
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-color-palette="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|e('html_attr') }}">
{custom_tags.BBCODE_TAG}
</button>
<!-- END custom_tags -->
</div>
<!-- EVENT posting_editor_buttons_after -->
<!-- ENDIF -->

View File

@@ -0,0 +1,65 @@
<!-- 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_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 -->

View File

@@ -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">{{ lang('POLL_QUESTION') ~ lang('COLON') }}</label></dt>
<dd><input type="text" name="poll_title" id="poll_title" maxlength="100" 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>

View File

@@ -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="{post_review_row.U_MINI_POST}">{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} <!-- EVENT posting_review_row_post_author_username_prepend --><strong>{post_review_row.POST_AUTHOR_FULL}</strong><!-- EVENT posting_review_row_post_author_username_append --> &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 />

View File

@@ -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>
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="{topic_review_row.U_MINI_POST}">{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} <!-- EVENT posting_topic_review_row_post_author_username_prepend --><strong>{topic_review_row.POST_AUTHOR_FULL}</strong><!-- EVENT posting_topic_review_row_post_author_username_append --> &raquo; {topic_review_row.POST_DATE}
</p>
<!-- EVENT posting_topic_review_row_post_details_after -->
<div class="content">{topic_review_row.MESSAGE}</div>
<!-- EVENT posting_topic_review_row_content_after -->
<!-- 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>

View File

@@ -0,0 +1,244 @@
<!-- 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 --> 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 />
<!-- 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} <!-- EVENT search_results_last_post_author_username_prepend -->{searchresults.LAST_POST_AUTHOR_FULL}<!-- EVENT search_results_last_post_author_username_append --> &laquo; <a href="{searchresults.U_LAST_POST}" title="{L_GOTO_LAST_POST}"><time datetime="{searchresults.LAST_POST_TIME_RFC3339}">{searchresults.LAST_POST_TIME}</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 left-box">
<!-- 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 -->
{% EVENT topiclist_row_topic_by_author_before %}
{L_POST_BY_AUTHOR} <!-- EVENT search_results_topic_author_username_prepend -->{searchresults.TOPIC_AUTHOR_FULL}<!-- EVENT search_results_topic_author_username_append --> &raquo; <time datetime="{searchresults.FIRST_POST_TIME_RFC3339}">{searchresults.FIRST_POST_TIME}</time> &raquo; {L_IN} <a href="{searchresults.U_VIEW_FORUM}">{searchresults.FORUM_TITLE}</a>
{% EVENT topiclist_row_topic_by_author_after %}
</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_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} <!-- EVENT search_results_last_post_author_username_prepend -->{searchresults.LAST_POST_AUTHOR_FULL}<!-- EVENT search_results_last_post_author_username_append -->
<!-- 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 /><time datetime="{searchresults.LAST_POST_TIME_RFC3339}">{searchresults.LAST_POST_TIME}</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} <!-- EVENT search_results_post_author_username_prepend -->{searchresults.POST_AUTHOR_FULL}<!-- EVENT search_results_post_author_username_append --></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>
<!-- EVENT search_results_topic_title_after -->
<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>
<!-- EVENT search_results_content_after -->
</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 -->

View File

@@ -0,0 +1,40 @@
</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 src="{T_JQUERY_LINK}"></script>
<!-- IF S_ALLOW_CDN --><script>window.jQuery || document.write('\x3Cscript src="{T_ASSETS_PATH}/javascript/jquery-3.4.1.min.js?assets_version={T_ASSETS_VERSION}">\x3C/script>');</script><!-- ENDIF -->
<script 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}
{% EVENT simple_footer_body_after %}
</body>
</html>

View File

@@ -0,0 +1,72 @@
<!-- INCLUDE overall_header.html -->
<!-- IF S_SHOW_COPPA or S_REGISTRATION -->
<!-- IF S_LANG_OPTIONS -->
<script>
/**
* 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 -->
<input type="submit" name="coppa_no" id="coppa_no" value="{{ L_COPPA_NO }}" class="button1" />
<input type="submit" name="coppa_yes" id="coppa_yes" value="{{ L_COPPA_YES }}" class="button2" />
<!-- 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>
</div>
</div>
</div>
<!-- ENDIF -->
<!-- INCLUDE overall_footer.html -->

View File

@@ -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"{% if attachrow.S_LOCKED %} disabled title="{{ lang('ATTACHMENT_LOCKED') }}"{% endif %} /></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 -->

View File

@@ -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" accept="{{ AVATAR_ALLOWED_EXTENSIONS }}" /></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 -->

View File

@@ -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-color-palette="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 -->

View File

@@ -0,0 +1,56 @@
<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>
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} <!-- EVENT ucp_pm_history_row_message_author_username_prepend -->{history_row.MESSAGE_AUTHOR_FULL}<!-- EVENT ucp_pm_history_row_message_author_username_append -->
</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>

View File

@@ -0,0 +1,57 @@
<!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">
<link href="{T_THEME_PATH}/bidi.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">
<p>{{ CREDIT_LINE }}
</p>
{% if TRANSLATION_INFO %}
<p>{{ TRANSLATION_INFO }}
</p>
{% endif %}
</div>
</div>
</div>
</body>
</html>

View File

@@ -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}{% EVENT ucp_profile_profile_info_birthday_label_append %}</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 -->

View File

@@ -0,0 +1,117 @@
<!-- INCLUDE overall_header.html -->
<script>
/**
* 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>
{% if PROVIDER_TEMPLATE_FILE %}
<div class="panel">
<div class="inner">
<h2>{{ SITENAME }} - {{ lang('OAUTH_REGISTRATION') }}</h2>
{% include PROVIDER_TEMPLATE_FILE %}
</div>
</div>
{% endif %}
<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 -->

View File

@@ -0,0 +1,49 @@
<!-- INCLUDE overall_header.html -->
<form action="{{ U_RESET_PASSWORD_ACTION }}" method="post" id="reset_password">
<div class="panel">
<div class="inner">
<div class="content">
<h2>{{ lang('RESET_PASSWORD') }}</h2>
<fieldset>
{% if S_IS_PASSWORD_RESET %}
{% if PASSWORD_RESET_ERRORS %}<p class="error">{{ PASSWORD_RESET_ERRORS | join('<br>') }}</p>{% endif %}
<dl>
<dt><label for="new_password">{{ lang('NEW_PASSWORD') ~ lang('COLON') }}</label></dt>
<dd><input type="password" name="new_password" id="new_password" size="25" maxlength="255" title="{{ lang('CHANGE_PASSWORD') }}" autocomplete="off" /></dd>
</dl>
<dl>
<dt><label for="new_password_confirm">{{ lang('CONFIRM_PASSWORD') ~ lang('COLON') }}</label></dt>
<dd><input type="password" name="new_password_confirm" id="new_password_confirm" size="25" maxlength="255" title="{{ lang('CONFIRM_PASSWORD') }}" autocomplete="off" /></dd>
</dl>
{% else %}
{% if USERNAME_REQUIRED %}
<p class="error">{{ lang('EMAIL_NOT_UNIQUE') }}</p>
{% endif %}
<dl>
<dt><label for="email">{{ lang('EMAIL_ADDRESS') ~ lang('COLON') }}</label><br /><span>{{ lang('EMAIL_REMIND') }}</span></dt>
<dd><input class="inputbox narrow" type="email" name="email" id="email" size="25" maxlength="100" value="{{ EMAIL }}" autofocus /></dd>
</dl>
{% if USERNAME_REQUIRED %}
<dl>
<dt><label for="username">{{ lang('USERNAME') ~ lang('COLON') }}</label></dt>
<dd><input class="inputbox narrow" type="text" name="username" id="username" size="25" /></dd>
</dl>
{% endif %}
{% endif %}
<dl>
<dt>&nbsp;</dt>
<dd>{{ S_HIDDEN_FIELDS }}<input type="submit" name="submit" id="submit" class="button1" value="{{ lang('SUBMIT') }}" tabindex="2" />&nbsp; <input type="reset" value="{{ lang('RESET') }}" name="reset" class="button2" /></dd>
</dl>
{{ S_FORM_TOKEN }}
</fieldset>
</div>
</div>
</div>
</form>
<!-- INCLUDE overall_footer.html -->

View File

@@ -0,0 +1,315 @@
<!-- 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}
{S_FORM_TOKEN_LOGIN}
</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 -->
<!-- IF topicrow.U_VIEW_TOPIC --><a href="{topicrow.U_VIEW_TOPIC}" class="topictitle">{topicrow.TOPIC_TITLE}</a><!-- ELSE -->{topicrow.TOPIC_TITLE}<!-- ENDIF -->
<!-- IF topicrow.S_TOPIC_UNAPPROVED or topicrow.S_POSTS_UNAPPROVED -->
<a href="{topicrow.U_MCP_QUEUE}" title="<!-- IF topicrow.S_TOPIC_UNAPPROVED -->{L_TOPIC_UNAPPROVED}<!-- ELSE -->{L_POSTS_UNAPPROVED}<!-- ENDIF -->">
<i class="icon fa-question fa-fw icon-blue" aria-hidden="true"></i><span class="sr-only"><!-- IF topicrow.S_TOPIC_UNAPPROVED -->{L_TOPIC_UNAPPROVED}<!-- ELSE -->{L_POSTS_UNAPPROVED}<!-- ENDIF --></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} <!-- EVENT viewforum_body_last_post_author_username_prepend -->{topicrow.LAST_POST_AUTHOR_FULL}<!-- EVENT viewforum_body_last_post_author_username_append --> &laquo; <a href="{topicrow.U_LAST_POST}" title="{L_GOTO_LAST_POST}"><time datetime="{topicrow.LAST_POST_TIME_RFC3339}">{topicrow.LAST_POST_TIME}</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 left-box">
<!-- 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 -->
{% EVENT topiclist_row_topic_by_author_before %}
{L_POST_BY_AUTHOR} <!-- EVENT viewforum_body_topic_author_username_prepend -->{topicrow.TOPIC_AUTHOR_FULL}<!-- EVENT viewforum_body_topic_author_username_append --> &raquo; <time datetime="{topicrow.FIRST_POST_TIME_RFC3339}">{topicrow.FIRST_POST_TIME}</time>
{% EVENT topiclist_row_topic_by_author_after %}
<!-- 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} <!-- EVENT viewforum_body_last_post_author_username_prepend -->{topicrow.LAST_POST_AUTHOR_FULL}<!-- EVENT viewforum_body_last_post_author_username_append -->
<!-- IF not S_IS_BOT and topicrow.U_LAST_POST -->
<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 /><time datetime="{topicrow.LAST_POST_TIME_RFC3339}">{topicrow.LAST_POST_TIME}</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>
<!-- ELSE IF not S_HAS_SUBFORUM -->
<div class="panel">
<div class="inner">
<strong>{L_NO_FORUMS_IN_CATEGORY}</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 and U_VIEWONLINE -->
<div class="stat-block online-list">
<h3><a href="{U_VIEWONLINE}">{L_WHO_IS_ONLINE}</a></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 -->

View File

@@ -0,0 +1,459 @@
<!-- INCLUDE overall_header.html -->
<!-- EVENT viewtopic_topic_title_before -->
<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="{postrow.U_MINI_POST}">{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_BUTTON_DELETE}</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_BUTTON_REPORT}</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_BUTTON_WARN}</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_BUTTON_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_BUTTON_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><time datetime="{postrow.POST_DATE_RFC3339}">{postrow.POST_DATE}</time>
</p>
<!-- EVENT viewtopic_body_postrow_post_details_after -->
<!-- IF postrow.S_POST_UNAPPROVED -->
<!-- IF postrow.S_CAN_APPROVE -->
<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>
<!-- ELSE -->
<p class="post-notice unapproved">
<span><i class="icon fa-exclamation icon-red fa-fw" aria-hidden="true"></i></span>
<strong>{L_POST_UNAPPROVED_EXPLAIN}</strong>
</p>
<!-- ENDIF -->
<!-- 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>
<!-- EVENT viewtopic_body_postrow_content_after -->
<!-- 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 and U_VIEWONLINE -->
<div class="stat-block online-list">
<h3><a href="{U_VIEWONLINE}">{L_WHO_IS_ONLINE}</a></h3>
<p>{LOGGED_IN_USER_LIST}</p>
</div>
<!-- ENDIF -->
<!-- INCLUDE overall_footer.html -->

View File

@@ -0,0 +1,53 @@
<!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">
<link href="{T_THEME_PATH}/bidi.css" rel="stylesheet">
<!-- EVENT viewtopic_print_head_append -->
</head>
<body id="phpbb" class="{S_CONTENT_DIRECTION}">
<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">
<p>{{ CREDIT_LINE }}
</p>
{% if TRANSLATION_INFO %}
<p>{{ TRANSLATION_INFO }}
</p>
{% endif %}
</div>
</div>
</div>
</body>
</html>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,429 @@
/* Form Styles
---------------------------------------- */
/* General form styles
----------------------------------------*/
fieldset {
border-width: 0;
font-family: Verdana, Helvetica, Arial, sans-serif;
font-size: 1.1em;
}
input {
font-weight: normal;
vertical-align: middle;
padding: 0 3px;
font-size: 1em;
font-family: Verdana, Helvetica, Arial, sans-serif;
}
select {
font-family: Verdana, Helvetica, Arial, sans-serif;
font-weight: normal;
cursor: pointer;
vertical-align: middle;
border: 1px solid transparent;
padding: 1px;
font-size: 1em;
}
select:focus {
outline-style: none;
}
option {
padding-right: 1em;
}
select optgroup option {
padding-right: 1em;
font-family: Verdana, Helvetica, Arial, sans-serif;
}
textarea {
font-family: "Lucida Grande", Verdana, Helvetica, Arial, sans-serif;
width: 60%;
padding: 2px;
font-size: 1em;
line-height: 1.4em;
}
label {
cursor: default;
padding-right: 5px;
}
label input {
vertical-align: middle;
}
label img {
vertical-align: middle;
}
/* Definition list layout for forms
---------------------------------------- */
fieldset dl {
padding: 4px 0;
}
fieldset dt {
float: left;
width: 40%;
text-align: left;
display: block;
}
fieldset dd {
margin-left: 41%;
vertical-align: top;
margin-bottom: 3px;
}
/* Specific layout 1 */
fieldset.fields1 dt {
width: 15em;
border-right-width: 0;
}
fieldset.fields1 dd {
margin-left: 15em;
border-left-width: 0;
}
fieldset.fields1 div {
margin-bottom: 3px;
}
/* Set it back to 0px for the reCaptcha divs: PHPBB3-9587 */
fieldset.fields1 .live-search div {
margin-bottom: 0;
}
/* Specific layout 2 */
fieldset.fields2 dt {
width: 15em;
border-right-width: 0;
}
fieldset.fields2 dd {
margin-left: 16em;
border-left-width: 0;
}
/* Form elements */
dt label {
font-weight: bold;
text-align: left;
}
dd label {
white-space: nowrap;
}
dd input, dd textarea {
margin-right: 3px;
}
dd select {
width: auto;
}
dd select[multiple] {
width: 100%;
}
dd textarea {
width: 85%;
}
/* Hover effects */
.timezone {
width: 95%;
}
/* Browser-specific tweaks */
button::-moz-focus-inner {
padding: 0;
border: 0
}
/* Quick-login on index page */
fieldset.quick-login {
margin-top: 5px;
}
fieldset.quick-login input {
width: auto;
}
fieldset.quick-login input.inputbox {
width: 15%;
vertical-align: middle;
margin-right: 5px;
}
fieldset.quick-login label {
white-space: nowrap;
padding-right: 2px;
}
/* Display options on viewtopic/viewforum pages */
fieldset.display-options {
text-align: center;
margin: 3px 0 5px 0;
}
fieldset.display-options label {
white-space: nowrap;
padding-right: 2px;
}
fieldset.display-options a {
margin-top: 3px;
}
.dropdown fieldset.display-options {
font-size: 1em;
margin: 0;
padding: 0;
}
.dropdown fieldset.display-options label {
display: block;
margin: 4px;
padding: 0;
text-align: right;
white-space: nowrap;
}
.dropdown fieldset.display-options select {
min-width: 120px;
}
/* Display actions for ucp and mcp pages */
fieldset.display-actions {
text-align: right;
line-height: 2em;
white-space: nowrap;
padding-right: 1em;
}
fieldset.display-actions label {
white-space: nowrap;
padding-right: 2px;
}
fieldset.sort-options {
line-height: 2em;
}
/* MCP forum selection*/
fieldset.forum-selection {
margin: 5px 0 3px 0;
float: right;
}
fieldset.forum-selection2 {
margin: 13px 0 3px 0;
float: right;
}
/* Submit button fieldset */
fieldset.submit-buttons {
text-align: center;
vertical-align: middle;
margin: 5px 0;
}
fieldset.submit-buttons input {
vertical-align: middle;
}
/* Posting page styles
----------------------------------------*/
/* Buttons used in the editor */
.format-buttons {
margin: 15px 0 2px 0;
}
.format-buttons input, .format-buttons select {
vertical-align: middle;
}
/* Main message box */
.message-box {
width: 80%;
}
.message-box textarea {
font-family: "Trebuchet MS", Verdana, Helvetica, Arial, sans-serif;
width: 450px;
height: 270px;
min-width: 100%;
max-width: 100%;
font-size: 1.2em;
resize: vertical;
outline: 3px dashed transparent;
outline-offset: -4px;
-webkit-transition: all .5s ease, height 1ms linear;
-moz-transition: all .5s ease, height 1ms linear;
-ms-transition: all .5s ease, height 1ms linear;
-o-transition: all .5s ease, height 1ms linear;
transition: all .5s ease, height 1ms linear;
}
/* Emoticons panel */
.smiley-box {
width: 18%;
float: right;
}
.smiley-box img {
margin: 3px;
}
/* Input field styles
---------------------------------------- */
.inputbox {
border: 1px solid transparent;
padding: 2px;
}
.inputbox:hover, .inputbox:focus {
border: 1px solid transparent;
outline-style: none;
}
input.inputbox { width: 85%; }
input.medium { width: 50%; }
input.narrow { width: 25%; }
input.tiny { width: 150px; }
textarea.inputbox {
width: 85%;
}
.autowidth {
width: auto !important;
}
input[type="number"] {
-moz-padding-end: 0;
}
input[type="search"] {
-webkit-appearance: textfield;
-webkit-box-sizing: content-box;
}
input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-results-button, input[type="search"]::-webkit-search-results-decoration {
display: none;
}
input[type="search"]::-webkit-search-cancel-button {
cursor: pointer;
}
/* Form button styles
---------------------------------------- */
input.button1, input.button2 {
font-size: 1em;
}
a.button1, input.button1, input.button3, a.button2, input.button2 {
width: auto !important;
padding-top: 1px;
padding-bottom: 1px;
font-family: "Lucida Grande", Verdana, Helvetica, Arial, sans-serif;
background: transparent none repeat-x top left;
line-height: 1.5;
}
a.button1, input.button1 {
font-weight: bold;
border: 1px solid transparent;
}
input.button3 {
padding: 0;
margin: 0;
line-height: 5px;
height: 12px;
background-image: none;
font-variant: small-caps;
}
input[type="button"], input[type="submit"], input[type="reset"], input[type="checkbox"], input[type="radio"], .search-results li {
cursor: pointer;
}
/* Alternative button */
a.button2, input.button2, input.button3 {
border: 1px solid transparent;
}
/* <a> button in the style of the form buttons */
a.button1, a.button2 {
text-decoration: none;
padding: 0 3px;
vertical-align: text-bottom;
}
/* Hover states */
a.button1:hover, input.button1:hover, a.button2:hover, input.button2:hover, input.button3:hover {
border: 1px solid transparent;
}
input.disabled {
font-weight: normal;
}
/* Focus states */
input.button1:focus, input.button2:focus, input.button3:focus {
outline-style: none;
}
/* Topic and forum Search */
.search-box {
float: left;
}
.search-box .inputbox {
background-image: none;
border-right-width: 0;
border-radius: 4px 0 0 4px;
float: left;
height: 24px;
padding: 3px;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
/* Search box (header)
--------------------------------------------- */
.search-header {
border-radius: 4px;
display: block;
float: right;
margin-right: 5px;
margin-top: 30px;
}
.search-header .inputbox { border: 0; }
.navbar .linklist > li.responsive-search { display: none; }
input.search {
background-image: none;
background-repeat: no-repeat;
background-position: left 1px;
padding-left: 17px;
}
.full { width: 95%; }
.medium { width: 50%;}
.narrow { width: 25%;}
.tiny { width: 10%;}

View File

@@ -0,0 +1,96 @@
/* --------------------------------------------------------------
$Icons
-------------------------------------------------------------- */
/* Global module setup
--------------------------------*/
/* Renamed version of .fa class for agnostic usage of icon fonts.
* Just change the name of the font after the 14/1 to the name of
* the font you wish to use.
*/
.icon, .button .icon, blockquote cite:before, .uncited:before {
display: inline-block;
font-weight: normal;
font-style: normal;
font-variant: normal;
font-family: FontAwesome;
font-size: 14px;
line-height: 1;
text-rendering: auto; /* optimizelegibility throws things off #1094 */
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.icon:before { padding-right: 2px; }
.button .icon:before {
padding-right: 0;
}
/* Icon size classes - Default size is 14px, use these for small variations */
.icon.icon-xl {
font-size: 20px;
}
.icon.icon-lg {
font-size: 16px;
}
.icon.icon-md {
font-size: 10px;
}
.icon.icon-sm {
font-size: 8px;
}
/* icon modifiers */
.icon-tiny {
width: 12px;
transform: scale(0.65, 0.75);
vertical-align: text-bottom;
font-size: 16px;
}
.arrow-left .icon {
float: left;
}
.arrow-left:hover .icon {
margin-left: -5px;
margin-right: 5px;
}
.arrow-right .icon {
float: right;
}
.arrow-right:hover .icon {
margin-left: 5px;
margin-right: -5px;
}
.post-buttons .dropdown-contents .icon {
float: right;
margin-left: 5px;
}
.alert_close .icon:before {
padding: 0;
border-radius: 50%;
width: 11px;
display: block;
line-height: .9;
height: 12px;
}
blockquote cite:before, .uncited:before {
content: '\f10d'; /* Font Awesome quote-left */
}
.rtl blockquote cite:before, .rtl .uncited:before {
content: '\f10e'; /* Font Awesome quote-right */
}

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 33 KiB

View File

@@ -0,0 +1,90 @@
.attach-panel-multi {
display: none;
margin-bottom: 1em;
}
.attach-row-tpl {
display: none;
}
.file-list td {
vertical-align: middle;
}
.attach-name {
width: 50%;
}
.attach-comment {
width: 30%;
}
.attach-comment .inputbox {
resize: vertical;
width: 100%;
}
.attach-filesize {
width: 15%;
}
.attach-status {
width: 5%;
}
.attach-filesize, .attach-status {
text-align: center;
}
.attach-controls {
display: inline-block;
float: right;
}
.nojs .file-inline-bbcode {
display: none;
}
.file-total-progress {
height: 2px;
display: block;
position: relative;
margin: 4px -10px -6px -10px;
}
.file-progress {
background-color: #CCCCCC;
display:inline-block;
height: 8px;
width: 50px;
}
.file-progress-bar, .file-total-progress-bar {
background-color: green;
display: block;
height: 100%;
width: 0;
}
.file-status.file-working {
background: url('./images/plupload/throbber.gif');
}
.file-status.file-uploaded {
background: url('./images/plupload/done.gif');
}
.file-status.file-error {
background: url('./images/plupload/error.gif');
}
.file-status {
display: inline-block;
height: 16px;
width: 16px;
}
.file-name {
max-width: 65%;
vertical-align: bottom;
}

View File

@@ -0,0 +1,150 @@
/* Print Style Sheet
---------------------------------------- */
/* Lots still TODO here! */
/* General markup styles */
* {
padding: 0;
margin: 0;
}
body {
font: 11pt Verdana, Arial, Helvetica, sans-serif;
color:#000000;
}
a:link { color: #000000; text-decoration: none; }
a:visited { color: #000000; text-decoration: none; }
a:active { color: #000000; text-decoration: none; }
img, .noprint, .navbar, .box1, .divider, .signature { display: none; }
/* Display smilies (Bug #47265) */
.content img {
display: inline;
}
/* Container for the main body */
.wrap {
margin: 0 2em;
}
p { font-size: 85%; }
.copyright { font-size: 75%; }
.page-number { float:right; width: auto; text-align: right; font-size: 75%; }
h1, h2, h3, h1 a, h2 a, h3 a {
font-family: "Trebuchet MS",georgia,Verdana,Sans-serif;
color: #000000;
background: none;
text-decoration: none;
font-weight: bold;
}
h1 { font-size: 20pt; }
h2 { font-size: 16pt; margin-top: 1em; }
h3 { font-size: 14pt; margin-top: 1em; }
.content {
font-size: 11pt;
line-height: 14pt;
margin-bottom: 1em;
font-family: "Lucida Grande", "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
overflow: hidden;
}
/* CSS2 Print tip from: http://www.alistapart.com/articles/goingtoprint/ */
.postbody a:link, .postbody a:visited, .postbody a:hover, .postbody a:active {
text-decoration: underline;
padding: 0.1em 0.2em;
margin: -0.1em -0.2em;
color: #666;
background: none;
font-size: 100%;
}
html>body .postbody a:link:after, html>body .postbody a:visited:after {
content: " (" attr(href) ") ";
font-size: 90%;
text-decoration: none;
}
hr {
height: 1px;
background-color: #999999;
border-width: 0;
}
.author {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 75%;
margin-bottom: 0.6em;
}
.date {
font-family: Verdana, Arial, Helvetica, sans-serif;
float: right;
position: relative;
text-align: right;
font-size: 75%;
}
/* Don't want to print url for names or titles in content area */
.postbody .author a:link, .postbody .author a:visited,
html>body .postbody .author a:link:after,
html>body .postbody .author a:visited:after,
.postquote .quote-by a:link, .postquote .quote-by a:visited,
html>body .postquote .quote-by a:link:after,
html>body .postquote .quote-by a:visited:after,
html>body .postbody h1 a:link:after, html>body .postbody h2 a:link:after {
text-decoration: none;
content: "";
}
/* Poster profile */
.postprofile { display: none; }
.grip-show { display:none; }
/* Quote */
.postquote, blockquote {
font-size: 85%;
margin: 1em 18% 1em 4%;
padding: 0.5em;
position: relative;
line-height: 1.5em;
border: 1px #999999 solid;
}
.postquote img { display: none; }
.postquote span { display: block; }
.postquote span .postquote { font-size: 100%; }
.quote-by, blockquote cite {
color: black;
display : block;
font-weight: bold;
}
/* List */
ol, ul {
margin-left: 15pt
}
/* Misc page elements */
div.spacer { clear: both; }
code { display: block; }
/* Accessibility tweaks: Mozilla.org */
.skip_link { display: none; }
.codebox p { display: none; }
/* stylelint-disable declaration-property-unit-whitelist */
.emoji {
min-height: 18px;
min-width: 18px;
height: 1em;
width: 1em;
}
/* stylelint-enable declaration-property-unit-whitelist */

View File

@@ -0,0 +1,21 @@
/* phpBB3 Style Sheet
--------------------------------------------------------------
Style name: prosilver (the default phpBB 3.3.x style)
Based on style:
Original author: Tom Beddard ( http://www.subblue.com/ )
Modified by: phpBB Limited ( https://www.phpbb.com/ )
--------------------------------------------------------------
*/
@import url("normalize.css?v=3.3");
@import url("base.css?v=3.3");
@import url("utilities.css?v=3.3");
@import url("common.css?v=3.3");
@import url("links.css?v=3.3");
@import url("content.css?v=3.3");
@import url("buttons.css?v=3.3");
@import url("cp.css?v=3.3");
@import url("forms.css?v=3.3");
@import url("icons.css?v=3.3");
@import url("colours.css?v=3.3");
@import url("responsive.css?v=3.3");