🎉 initial commit

This commit is contained in:
hibobmaster 2022-04-04 18:51:59 +08:00
parent 196441d7da
commit 4db0af40ac
Signed by: bobmaster
GPG key ID: FC3F06DF7EA00106
90 changed files with 10579 additions and 0 deletions

32
style.cfg Executable file
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 = mdp
copyright = © mdp material style by BobMaster, 2022
style_version = 1.0.0
phpbb_version = 3.3.7
# Defining a different template bitfield
# template_bitfield = //mdp=
# Parent style
# Set value to empty or to this style's name if this style does not have a parent style
parent = prosilver

137
template/forumlist_body.html Executable file
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 forabg-index-left mdui-color-theme-100">
<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 class="mdui-text-color-theme" href="{forumrow.U_VIEWFORUM}">{forumrow.FORUM_NAME}</a><!-- ELSE -->{L_FORUM}<!-- ENDIF --></div></dt>
<dd class="topics mdui-text-color-theme">{L_TOPICS}</dd>
<dd class="posts mdui-text-color-theme">{L_POSTS}</dd>
<dd class="lastpost mdui-text-color-theme"><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 -->

82
template/index_body.html Executable file
View file

@ -0,0 +1,82 @@
<!-- INCLUDE overall_header.html -->
<div class="time-container mdui-hidden-xs mdui-color-green-100 mdui-p-x-1 mdui-shadow-0">
<p class="{S_CONTENT_FLOW_END} responsive-center time<!-- IF S_USER_LOGGED_IN --> rightside<!-- ENDIF -->"><!-- IF S_USER_LOGGED_IN -->{LAST_VISIT_DATE}<!-- ELSE --><i class="mdui-icon material-icons icon-m-b-4">&#xe192;</i>{CURRENT_TIME}<!-- ENDIF --></p>
<!-- IF S_USER_LOGGED_IN --><p class="responsive-center time">{CURRENT_TIME}</p><!-- ENDIF -->
</div>
<!-- EVENT index_body_markforums_before -->
<!-- IF U_MARK_FORUMS -->
<div class="action-bar compact mdui-hidden-xs">
<a href="{U_MARK_FORUMS}" class="mark-read rightside" accesskey="m" data-ajax="mark_forums_read">{L_MARK_FORUMS_READ}</a>
</div>
<!-- ENDIF -->
<!-- EVENT index_body_markforums_after -->
<!-- INCLUDE forumlist_body.html -->
<!-- EVENT index_body_forumlist_body_after -->
<!-- IF not S_USER_LOGGED_IN and not S_IS_BOT -->
<form method="post" action="{S_LOGIN_ACTION}" class="headerspace">
<h3><a href="{U_LOGIN_LOGOUT}">{L_LOGIN_LOGOUT}</a><!-- IF S_REGISTER_ENABLED -->&nbsp; &bull; &nbsp;<a href="{U_REGISTER}">{L_REGISTER}</a><!-- ENDIF --></h3>
<fieldset class="quick-login padding-left-0">
<label for="username"><span>{L_USERNAME}{L_COLON}</span> <input type="text" tabindex="1" name="username" id="username" size="10" class="inputbox" title="{L_USERNAME}" /></label>
<label for="password"><span>{L_PASSWORD}{L_COLON}</span> <input type="password" tabindex="2" name="password" id="password" size="10" class="inputbox" title="{L_PASSWORD}" autocomplete="off" /></label>
<!-- IF U_SEND_PASSWORD -->
<a href="{U_SEND_PASSWORD}">{L_FORGOT_PASS}</a>
<!-- ENDIF -->
<!-- IF S_AUTOLOGIN_ENABLED -->
<span class="responsive-hide">|</span> <label for="autologin">{L_LOG_ME_IN} <input class="margin-b-3" type="checkbox" tabindex="4" name="autologin" id="autologin" /></label>
<!-- ENDIF -->
<input type="submit" tabindex="5" name="login" value="{L_LOGIN}" class="button2" />
{S_LOGIN_REDIRECT}
{S_FORM_TOKEN_LOGIN}
</fieldset>
</form>
<!-- ENDIF -->
<!-- EVENT index_body_stat_blocks_before -->
<!-- IF S_DISPLAY_ONLINE_LIST -->
<div class="stat-block online-list">
<!-- IF U_VIEWONLINE --><h3><a href="{U_VIEWONLINE}">{L_WHO_IS_ONLINE}</a></h3><!-- ELSE --><h3>{L_WHO_IS_ONLINE}</h3><!-- ENDIF -->
<p>
<!-- EVENT index_body_block_online_prepend -->
{TOTAL_USERS_ONLINE} ({L_ONLINE_EXPLAIN})<br />{RECORD_USERS}<br />
<!-- IF U_VIEWONLINE -->
<br />{LOGGED_IN_USER_LIST}
<!-- IF LEGEND --><br /><em>{L_LEGEND}{L_COLON} {LEGEND}</em><!-- ENDIF -->
<!-- ENDIF -->
<!-- EVENT index_body_block_online_append -->
</p>
</div>
<!-- ENDIF -->
<!-- EVENT index_body_birthday_block_before -->
<!-- IF S_DISPLAY_BIRTHDAY_LIST -->
<div class="stat-block birthday-list">
<h3>{L_BIRTHDAYS}</h3>
<p>
<!-- EVENT index_body_block_birthday_prepend -->
<!-- IF .birthdays -->{L_CONGRATULATIONS}{L_COLON} <strong><!-- BEGIN birthdays -->{birthdays.USERNAME}<!-- IF birthdays.AGE !== '' --> ({birthdays.AGE})<!-- ENDIF --><!-- IF not birthdays.S_LAST_ROW -->, <!-- ENDIF --><!-- END birthdays --></strong><!-- ELSE -->{L_NO_BIRTHDAYS}<!-- ENDIF -->
<!-- EVENT index_body_block_birthday_append -->
</p>
</div>
<!-- ENDIF -->
<!-- IF NEWEST_USER -->
<div class="stat-block statistics">
<h3>{L_STATISTICS}</h3>
<p>
<!-- EVENT index_body_block_stats_prepend -->
{TOTAL_POSTS} &bull; {TOTAL_TOPICS} &bull; {TOTAL_USERS} &bull; {NEWEST_USER}
<!-- EVENT index_body_block_stats_append -->
</p>
</div>
<!-- ENDIF -->
<!-- EVENT index_body_stat_blocks_after -->
<!-- INCLUDE overall_footer.html -->

70
template/login_body.html Executable file
View file

@ -0,0 +1,70 @@
<!-- INCLUDE overall_header.html -->
<form action="{S_LOGIN_ACTION}" method="post" id="login" data-focus="<!-- IF S_ADMIN_AUTH -->{PASSWORD_CREDENTIAL}<!-- ELSE -->{USERNAME_CREDENTIAL}<!-- ENDIF -->">
<div class="panel">
<div class="inner">
<div class="content">
<h2 class="login-title"><!-- IF LOGIN_EXPLAIN -->{LOGIN_EXPLAIN}<!-- ELSE -->{L_LOGIN}<!-- ENDIF --></h2>
<fieldset <!-- IF not S_CONFIRM_CODE -->class="fields1 padding-0"<!-- ELSE -->class="fields2"<!-- ENDIF -->>
<!-- IF LOGIN_ERROR --><div class="error">{LOGIN_ERROR}</div><!-- ENDIF -->
<dl>
<dt><label for="{USERNAME_CREDENTIAL}">{L_USERNAME}{L_COLON}</label></dt>
<dd><input type="text" tabindex="1" name="{USERNAME_CREDENTIAL}" id="{USERNAME_CREDENTIAL}" size="25" value="{USERNAME}" class="inputbox autowidth" /></dd>
</dl>
<dl>
<dt><label for="{PASSWORD_CREDENTIAL}">{L_PASSWORD}{L_COLON}</label></dt>
<dd><input type="password" tabindex="2" id="{PASSWORD_CREDENTIAL}" name="{PASSWORD_CREDENTIAL}" size="25" class="inputbox autowidth" autocomplete="off" /></dd>
<!-- IF S_DISPLAY_FULL_LOGIN and (U_SEND_PASSWORD or U_RESEND_ACTIVATION) -->
<!-- IF U_SEND_PASSWORD --><dd><a href="{U_SEND_PASSWORD}">{L_FORGOT_PASS}</a></dd><!-- ENDIF -->
<!-- IF U_RESEND_ACTIVATION --><dd><a href="{U_RESEND_ACTIVATION}">{L_RESEND_ACTIVATION}</a></dd><!-- ENDIF -->
<!-- ENDIF -->
</dl>
<!-- IF CAPTCHA_TEMPLATE and S_CONFIRM_CODE -->
<!-- DEFINE $CAPTCHA_TAB_INDEX = 3 -->
<!-- INCLUDE {CAPTCHA_TEMPLATE} -->
<!-- ENDIF -->
<!-- IF S_DISPLAY_FULL_LOGIN -->
<dl>
<dt>&nbsp;</dt>
<!-- IF S_AUTOLOGIN_ENABLED --><dd><label for="autologin"><input type="checkbox" name="autologin" id="autologin" tabindex="4" /> {L_LOG_ME_IN}</label></dd><!-- ENDIF -->
<dd><label for="viewonline"><input type="checkbox" name="viewonline" id="viewonline" tabindex="5" /> {L_HIDE_ME}</label></dd>
</dl>
<!-- ENDIF -->
{S_LOGIN_REDIRECT}
{S_FORM_TOKEN_LOGIN}
<dl>
<dt>&nbsp;</dt>
<dd>{S_HIDDEN_FIELDS}<input type="submit" name="login" tabindex="6" value="{L_LOGIN}" class="button1" /></dd>
</dl>
</fieldset>
</div>
<!-- IF not S_ADMIN_AUTH and PROVIDER_TEMPLATE_FILE -->
<!-- INCLUDE {PROVIDER_TEMPLATE_FILE} -->
<!-- ENDIF -->
</div>
</div>
<!-- IF not S_ADMIN_AUTH and S_REGISTER_ENABLED -->
<div class="panel">
<div class="inner">
<div class="content">
<h3>{L_REGISTER}</h3>
<p>{L_LOGIN_INFO}</p>
<p><strong><a href="{U_TERMS_USE}">{L_TERMS_USE}</a> | <a href="{U_PRIVACY}">{L_PRIVACY}</a></strong></p>
<hr class="dashed" />
<p><a href="{U_REGISTER}" class="button2">{L_REGISTER}</a></p>
</div>
</div>
</div>
<!-- ENDIF -->
</form>
<!-- INCLUDE overall_footer.html -->

190
template/memberlist_body.html Executable file
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 mdui-color-grey-600">
<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 mdui-color-grey-600">
<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 -->

47
template/memberlist_team.html Executable file
View file

@ -0,0 +1,47 @@
<!-- INCLUDE overall_header.html -->
<h2 class="solo">{PAGE_TITLE}</h2>
<form method="post" action="{S_MODE_ACTION}">
<!-- BEGIN group -->
<div class="forumbg forumbg-table mdui-color-grey-600">
<div class="inner">
<table class="table1" id="team">
<thead>
<tr>
<th class="name" data-dfn="{L_RANK}{L_COMMA_SEPARATOR}{L_USERNAME}"><span class="rank-img">{L_RANK}&nbsp;</span><!-- IF group.U_GROUP --><a href="{group.U_GROUP}">{group.GROUP_NAME}</a><!-- ELSE -->{group.GROUP_NAME}<!-- ENDIF --></th>
<th class="info">{L_PRIMARY_GROUP}</th>
<!-- IF S_DISPLAY_MODERATOR_FORUMS --><th class="info">{L_MODERATOR}</th><!-- ENDIF -->
</tr>
</thead>
<tbody>
<!-- BEGIN user -->
<tr class="<!-- IF group.user.S_ROW_COUNT is even -->bg1<!-- ELSE -->bg2<!-- ENDIF --><!-- IF group.user.S_INACTIVE --> inactive<!-- ENDIF -->">
<td><!-- IF group.user.RANK_IMG --><span class="rank-img">{group.user.RANK_IMG}</span><!-- ELSE --><span class="rank-img">{group.user.RANK_TITLE}</span><!-- ENDIF --><!-- EVENT memberlist_team_username_prepend -->{group.user.USERNAME_FULL}<!-- IF group.user.S_INACTIVE --> ({L_INACTIVE})<!-- ENDIF --><!-- EVENT memberlist_team_username_append --></td>
<td class="info"><!-- IF group.user.U_GROUP -->
<a<!-- IF group.user.GROUP_COLOR --> style="font-weight: bold; color: #{group.user.GROUP_COLOR}"<!-- ENDIF --> href="{group.user.U_GROUP}">{group.user.GROUP_NAME}</a>
<!-- ELSE -->
{group.user.GROUP_NAME}
<!-- ENDIF --></td>
<!-- IF S_DISPLAY_MODERATOR_FORUMS -->
<td class="info"><!-- IF group.user.FORUM_OPTIONS --><select style="width: 100%;">{group.user.FORUMS}</select><!-- ELSEIF group.user.FORUMS -->{group.user.FORUMS}<!-- ELSE -->-<!-- ENDIF --></td>
<!-- ENDIF -->
</tr>
<!-- BEGINELSE -->
<tr class="bg1">
<td colspan="3"><strong>{L_NO_MEMBERS}</strong></td>
</tr>
<!-- END user -->
</tbody>
</table>
</div>
</div>
<!-- END group -->
</form>
<!-- INCLUDE jumpbox.html -->
<!-- INCLUDE overall_footer.html -->

142
template/memberlist_view.html Executable file
View file

@ -0,0 +1,142 @@
<!-- INCLUDE overall_header.html -->
<h2 class="memberlist-title">{PAGE_TITLE}</h2>
<!-- EVENT memberlist_view_content_prepend -->
<form method="post" action="{S_PROFILE_ACTION}" id="viewprofile">
<div class="panel bg1<!-- IF S_ONLINE --> online<!-- ENDIF -->">
<div class="inner">
<!-- IF AVATAR_IMG -->
<dl class="left-box">
<dt class="profile-avatar">{AVATAR_IMG}</dt>
<!-- EVENT memberlist_view_rank_avatar_before -->
<!-- IF RANK_TITLE --><dd style="text-align: center;">{RANK_TITLE}</dd><!-- ENDIF -->
<!-- IF RANK_IMG --><dd style="text-align: center;">{RANK_IMG}</dd><!-- ENDIF -->
<!-- EVENT memberlist_view_rank_avatar_after -->
</dl>
<!-- ENDIF -->
<dl class="left-box details profile-details">
<dt>{L_USERNAME}{L_COLON}</dt>
<dd>
<!-- EVENT memberlist_view_username_prepend --><!-- IF USER_COLOR --><span style="color: {USER_COLOR}; font-weight: bold;"><!-- ELSE --><span><!-- ENDIF -->{USERNAME}</span><!-- EVENT memberlist_view_username_append -->
<!-- IF U_EDIT_SELF --> [ <a href="{U_EDIT_SELF}">{L_EDIT_PROFILE}</a> ]<!-- ENDIF -->
<!-- IF U_USER_ADMIN --> [ <a href="{U_USER_ADMIN}">{L_USER_ADMIN}</a> ]<!-- ENDIF -->
<!-- IF U_USER_BAN --> [ <a href="{U_USER_BAN}">{L_USER_BAN}</a> ]<!-- ENDIF -->
<!-- IF U_SWITCH_PERMISSIONS --> [ <a href="{U_SWITCH_PERMISSIONS}">{L_USE_PERMISSIONS}</a> ]<!-- ENDIF -->
</dd>
<!-- IF not AVATAR_IMG -->
<!-- EVENT memberlist_view_rank_no_avatar_before -->
<!-- IF RANK_TITLE --><dt>{L_RANK}{L_COLON}</dt> <dd>{RANK_TITLE}</dd><!-- ENDIF -->
<!-- IF RANK_IMG --><dt><!-- IF RANK_TITLE -->&nbsp;<!-- ELSE -->{L_RANK}{L_COLON}<!-- ENDIF --></dt> <dd>{RANK_IMG}</dd><!-- ENDIF -->
<!-- EVENT memberlist_view_rank_no_avatar_after -->
<!-- ENDIF -->
<!-- IF S_USER_INACTIVE --><dt>{L_USER_IS_INACTIVE}{L_COLON}</dt> <dd>{USER_INACTIVE_REASON}</dd><!-- ENDIF -->
<!-- IF AGE !== '' --><dt>{L_AGE}{L_COLON}</dt> <dd>{AGE}</dd><!-- ENDIF -->
<!-- IF S_GROUP_OPTIONS --><dt>{L_USERGROUPS}{L_COLON}</dt> <dd><select name="g">{S_GROUP_OPTIONS}</select> <input type="submit" name="submit" value="{L_GO}" class="button2" /></dd><!-- ENDIF -->
<!-- EVENT memberlist_view_non_contact_custom_fields_before -->
<!-- BEGIN custom_fields -->
<!-- IF not custom_fields.S_PROFILE_CONTACT -->
<dt>{custom_fields.PROFILE_FIELD_NAME}{L_COLON}</dt> <dd>{custom_fields.PROFILE_FIELD_VALUE}</dd>
<!-- ENDIF -->
<!-- END custom_fields -->
<!-- EVENT memberlist_view_non_contact_custom_fields_after -->
<!-- EVENT memberlist_view_zebra_before -->
<!-- IF S_USER_LOGGED_IN and S_ZEBRA -->
<!-- IF U_REMOVE_FRIEND -->
<dt>&nbsp;</dt> <dd class="zebra"><a href="{U_REMOVE_FRIEND}" data-ajax="zebra"><strong>{L_REMOVE_FRIEND}</strong></a></dd>
<!-- ELSEIF U_REMOVE_FOE -->
<dt>&nbsp;</dt> <dd class="zebra"><a href="{U_REMOVE_FOE}" data-ajax="zebra"><strong>{L_REMOVE_FOE}</strong></a></dd>
<!-- ELSE -->
<!-- IF U_ADD_FRIEND -->
<dt>&nbsp;</dt> <dd class="zebra"><a href="{U_ADD_FRIEND}" data-ajax="zebra"><strong>{L_ADD_FRIEND}</strong></a></dd>
<!-- ENDIF -->
<!-- IF U_ADD_FOE -->
<dt>&nbsp;</dt> <dd class="zebra"><a href="{U_ADD_FOE}" data-ajax="zebra"><strong>{L_ADD_FOE}</strong></a></dd>
<!-- ENDIF -->
<!-- ENDIF -->
<!-- ENDIF -->
<!-- EVENT memberlist_view_zebra_after -->
</dl>
</div>
</div>
<!-- EVENT memberlist_view_contact_before -->
<div class="panel bg2">
<div class="inner">
<div class="column1">
<h3>{L_CONTACT_USER}</h3>
<dl class="details">
<!-- IF U_EMAIL --><dt>{L_EMAIL_ADDRESS}{L_COLON}</dt> <dd><a href="{U_EMAIL}">{L_SEND_EMAIL_USER}</a></dd><!-- ENDIF -->
<!-- IF U_PM --><dt>{L_PM}{L_COLON}</dt> <dd><a href="{U_PM}">{L_SEND_PRIVATE_MESSAGE}</a></dd><!-- ENDIF -->
<!-- IF U_JABBER and S_JABBER_ENABLED --><dt>{L_JABBER}{L_COLON}</dt> <dd><a href="{U_JABBER}" onclick="popup(this.href, 750, 320); return false;">{L_SEND_JABBER_MESSAGE}</a></dd><!-- ELSEIF USER_JABBER --><dt>{L_JABBER}{L_COLON}</dt> <dd>{USER_JABBER}</dd><!-- ENDIF -->
<!-- EVENT memberlist_view_contact_custom_fields_before -->
<!-- BEGIN custom_fields -->
<!-- IF custom_fields.S_PROFILE_CONTACT -->
<dt>{custom_fields.PROFILE_FIELD_NAME}{L_COLON}</dt>
<!-- IF custom_fields.PROFILE_FIELD_CONTACT -->
<dd><a href="{custom_fields.PROFILE_FIELD_CONTACT}">{custom_fields.PROFILE_FIELD_DESC}</a></dd>
<!-- ELSE -->
<dd>{custom_fields.PROFILE_FIELD_VALUE}</dd>
<!-- ENDIF -->
<!-- ENDIF -->
<!-- END custom_fields -->
<!-- EVENT memberlist_view_contact_custom_fields_after -->
<!-- IF S_PROFILE_FIELD1 -->
<!-- NOTE: Use a construct like this to include admin defined profile fields. Replace FIELD1 with the name of your field. -->
<dt>{PROFILE_FIELD1_NAME}{L_COLON}</dt> <dd>{PROFILE_FIELD1_VALUE}</dd>
<!-- ENDIF -->
</dl>
</div>
<div class="column2">
<h3>{L_USER_FORUM}</h3>
<dl class="details">
<!-- EVENT memberlist_view_user_statistics_before -->
<dt>{L_JOINED}{L_COLON}</dt> <dd>{JOINED}</dd>
<dt>{L_LAST_ACTIVE}{L_COLON}</dt> <dd>{LAST_ACTIVE}</dd>
<!-- IF S_WARNINGS -->
<dt>{L_WARNINGS}{L_COLON} </dt>
<dd><strong>{WARNINGS}</strong><!-- IF U_NOTES or U_WARN --> [ <!-- IF U_NOTES --><a href="{U_NOTES}">{L_VIEW_NOTES}</a><!-- ENDIF --> <!-- IF U_WARN --><!-- IF U_NOTES --> | <!-- ENDIF --><a href="{U_WARN}">{L_WARN_USER}</a><!-- ENDIF --> ]<!-- ENDIF --></dd>
<!-- ENDIF -->
<dt>{L_TOTAL_POSTS}{L_COLON}</dt>
<dd>{POSTS} <!-- IF S_DISPLAY_SEARCH -->| <strong><a href="{U_SEARCH_USER}">{L_SEARCH_USER_POSTS}</a></strong><!-- ENDIF -->
<!-- IF POSTS_PCT --><br />({POSTS_PCT} / {POSTS_DAY})<!-- ENDIF -->
<!-- IF POSTS_IN_QUEUE and U_MCP_QUEUE --><br />(<a href="{U_MCP_QUEUE}">{L_POSTS_IN_QUEUE}</a>)<!-- ELSEIF POSTS_IN_QUEUE --><br />({L_POSTS_IN_QUEUE})<!-- ENDIF -->
</dd>
<!-- IF S_SHOW_ACTIVITY and POSTS -->
<dt>{L_ACTIVE_IN_FORUM}{L_COLON}</dt> <dd><!-- IF ACTIVE_FORUM != '' --><strong><a href="{U_ACTIVE_FORUM}">{ACTIVE_FORUM}</a></strong><br />({ACTIVE_FORUM_POSTS} / {ACTIVE_FORUM_PCT})<!-- ELSE --> - <!-- ENDIF --></dd>
<dt>{L_ACTIVE_IN_TOPIC}{L_COLON}</dt> <dd><!-- IF ACTIVE_TOPIC != '' --><strong><a href="{U_ACTIVE_TOPIC}">{ACTIVE_TOPIC}</a></strong><br />({ACTIVE_TOPIC_POSTS} / {ACTIVE_TOPIC_PCT})<!-- ELSE --> - <!-- ENDIF --></dd>
<!-- ENDIF -->
<!-- EVENT memberlist_view_user_statistics_after -->
</dl>
</div>
</div>
</div>
<!-- EVENT memberlist_view_contact_after -->
<!-- IF SIGNATURE -->
<div class="panel bg1">
<div class="inner">
<h3>{L_SIGNATURE}</h3>
<div class="postbody"><div class="signature standalone">{SIGNATURE}</div></div>
</div>
</div>
<!-- ENDIF -->
</form>
<!-- EVENT memberlist_view_content_append -->
<!-- INCLUDE jumpbox.html -->
<!-- INCLUDE overall_footer.html -->

69
template/navbar_footer.html Executable file
View file

@ -0,0 +1,69 @@
<div class="navbar" role="navigation">
<div class="inner">
<ul id="nav-footer" class="nav-footer linklist" role="menubar">
<li class="breadcrumbs">
<!-- IF U_SITE_HOME -->
{% apply spaceless %}
<span class="crumb">
<a href="{U_SITE_HOME}" data-navbar-reference="home">
<i class="icon fa-home fa-fw" aria-hidden="true"></i><span>{L_SITE_HOME}</span>
</a>
</span>
{% endapply %}
<!-- ENDIF -->
<!-- EVENT overall_footer_breadcrumb_prepend -->
{% apply spaceless %}
<span class="crumb">
<a href="{U_INDEX}" data-navbar-reference="index">
<!-- IF not U_SITE_HOME --><i class="icon fa-home fa-fw" aria-hidden="true"></i><!-- ENDIF --><span>{L_INDEX}</span>
</a>
</span>
{% endapply %}
<!-- EVENT overall_footer_breadcrumb_append -->
</li>
<!-- IF U_WATCH_FORUM_LINK and not S_IS_BOT -->
<li data-last-responsive="true">
<a href="{U_WATCH_FORUM_LINK}" title="{S_WATCH_FORUM_TITLE}" data-ajax="toggle_link" data-toggle-class="icon <!-- IF S_WATCHING_FORUM -->fa-check-square-o<!-- ELSE -->fa-square-o<!-- ENDIF --> fa-fw" data-toggle-text="{S_WATCH_FORUM_TOGGLE}" data-toggle-url="{U_WATCH_FORUM_TOGGLE}">
<i class="icon <!-- IF S_WATCHING_FORUM -->fa-square-o<!-- ELSE -->fa-check-square-o<!-- ENDIF --> fa-fw" aria-hidden="true"></i><span>{S_WATCH_FORUM_TITLE}</span>
</a>
</li>
<!-- ENDIF -->
<!-- EVENT overall_footer_timezone_before -->
<li class="rightside">{S_TIMEZONE}</li>
<!-- EVENT overall_footer_timezone_after -->
<!-- IF not S_IS_BOT -->
<li class="rightside">
<a href="{U_DELETE_COOKIES}" data-ajax="true" data-refresh="true" role="menuitem">
<i class="icon fa-trash fa-fw" aria-hidden="true"></i><span>{L_DELETE_COOKIES}</span>
</a>
</li>
<!-- IF S_DISPLAY_MEMBERLIST -->
<li class="rightside" data-last-responsive="true">
<a href="{U_MEMBERLIST}" title="{L_MEMBERLIST_EXPLAIN}" role="menuitem">
<i class="icon fa-group fa-fw" aria-hidden="true"></i><span>{L_MEMBERLIST}</span>
</a>
</li>
<!-- ENDIF -->
<!-- ENDIF -->
<!-- EVENT overall_footer_teamlink_before -->
<!-- IF U_TEAM -->
<li class="rightside" data-last-responsive="true">
<a href="{U_TEAM}" role="menuitem">
<i class="icon fa-shield fa-fw" aria-hidden="true"></i><span>{L_THE_TEAM}</span>
</a>
</li>
<!-- ENDIF -->
<!-- EVENT overall_footer_teamlink_after -->
<!-- IF U_CONTACT_US -->
<li class="rightside" data-last-responsive="true">
<a href="{U_CONTACT_US}" role="menuitem">
<i class="icon fa-envelope fa-fw" aria-hidden="true"></i><span>{L_CONTACT_US}</span>
</a>
</li>
<!-- ENDIF -->
</ul>
</div>
</div>

220
template/navbar_header.html Executable file
View file

@ -0,0 +1,220 @@
<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" class="mdui-ripple">
<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" class="mdui-ripple">
<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" class="mdui-ripple">
<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" class="mdui-ripple">
<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" class="mdui-ripple">
<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" class="mdui-ripple">
<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" class="mdui-ripple">
<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" class="mdui-ripple">
<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>
<div class="mdui-divider-dark"></div>
<!-- <ul id="nav-breadcrumbs" class="nav-breadcrumbs linklist navlinks" role="menubar"> -->
<ul id="nav-breadcrumbs" class="nav-breadcrumbs linklist" role="menubar">
{% set MICRODATA = 'itemtype="https://schema.org/ListItem" itemprop="itemListElement" itemscope' %}
{% set navlink_position = 1 %}
{% EVENT overall_header_breadcrumbs_before %}
<li class="breadcrumbs" itemscope itemtype="https://schema.org/BreadcrumbList">
{% if U_SITE_HOME %}
<span class="crumb" {{ MICRODATA }}><a itemprop="item" href="{{ U_SITE_HOME }}" 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 itemprop="item" href="{{ U_INDEX }}" 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>
{% for navlink in navlinks %}
{% set NAVLINK_NAME = navlink.BREADCRUMB_NAME | default(navlink.FORUM_NAME) %}
{% set NAVLINK_LINK = navlink.U_BREADCRUMB | default(navlink.U_VIEW_FORUM) %}
{% EVENT overall_header_navlink_prepend %}
<span class="crumb" {{ MICRODATA }}{% if navlink.MICRODATA %} {{ navlink.MICRODATA }}{% endif %}><a itemprop="item" href="{{ NAVLINK_LINK }}"><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 %}
{% endfor %}
{% 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="{{ lang('SEARCH_ADV_EXPLAIN') }}" role="menuitem">
<i class="icon fa-search fa-fw" aria-hidden="true"></i><span class="sr-only">{{ lang('SEARCH') }}</span>
</a>
</li>
{% endif %}
</ul>
</div>
</div>

135
template/overall_footer.html Executable file
View file

@ -0,0 +1,135 @@
<!-- EVENT overall_footer_content_after -->
<!-- </div> --> <!-- 此div多余导致界面样式错乱 -->
<!-- EVENT overall_footer_page_body_after -->
<div id="page-footer" class="page-footer mdui-hidden-xs mdui-hidden-sm" role="contentinfo">
<!-- INCLUDE navbar_footer.html -->
<div class="copyright">
<!-- EVENT overall_footer_copyright_prepend -->
<p class="footer-row">
<span class="footer-copyright">{{ CREDIT_LINE }}
<br><span class="sofia mdui-typo-caption">mdp style by <a href="https://blog.hibobmaster.com" target="_blank">BobMaster</a></span>
</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.6.0.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 -->
<!-- MDUI JavaScript -->
<script
src="https://cdn.jsdelivr.net/npm/mdui@1.0.1/dist/js/mdui.min.js"
integrity="sha384-gCMZcshYKOGRX9r6wbDrvF+TcCCswSHFucUzUPwka+Gr+uHgjlYvkABr95TCOz3A"
crossorigin="anonymous"
></script>
</div>
<!-- mathjax -->
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
</body>
</html>

152
template/overall_header.html Executable file
View file

@ -0,0 +1,152 @@
<!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}
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Sofia&family=ZCOOL+KuaiLe&display=swap" rel="stylesheet">
<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: mdp
Based on style: prosilver (this is the default phpBB3 style)
Original author: Tom Beddard ( http://www.subBlue.com/ )
Modified by: BobMaster (https://quanquan.space/)
-->
<!-- 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://cdn.jsdelivr.net/npm/webfontloader@1.6.28/webfontloader.min.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">
<!-- MDUI CSS -->
<link
rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/mdui@1.0.1/dist/css/mdui.min.css"
integrity="sha384-cLRrMq39HOZdvE0j6yBojO4+1PrHfB7a9l5qLcmRm/fiWXYY+CndJPmyu5FV/9Tw"
crossorigin="anonymous"
/>
<!-- 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} mdui-theme-primary-indigo mdui-color-theme-accent-pink mdui-theme-layout-auto">
<!-- 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="mdui-container-fluid mdui-hidden-xs">
<div class="headerbar margin-b-0 mdui-row mdui-color-theme-100" role="banner" style="font-family:'ZCOOL KuaiLe'">
<!-- EVENT overall_header_headerbar_before -->
<div class="inner">
<div class="mdui-col-xs-8">
<div id="site-description" class="site-description mdui-typo">
<!-- <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> -->
<div class="mdui-typo-headline-opacity">{SITENAME}</div>
<!-- <small>{SITE_DESCRIPTION}</small> -->
<div class="mdui-typo-subheading">{SITE_DESCRIPTION}</div>
<!-- <p class="skiplink"><a href="#start_here">{L_SKIP}</a></p> -->
</div>
</div>
<!-- EVENT overall_header_searchbox_before -->
<div class="mdui-col-xs-4">
<!-- 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>
</div>
<!-- ENDIF -->
<!-- EVENT overall_header_searchbox_after -->
</div>
<!-- EVENT overall_header_headerbar_after -->
</div>
</div>
<!-- EVENT overall_header_navbar_before -->
</div>
<!-- INCLUDE navbar_header.html -->
<!-- </div> --> <!-- 此/div需放在include navbar_header.html前否则搜索界面navbar排版会有一点问题 -->
<!-- EVENT overall_header_page_body_before -->
<a id="start_here" class="anchor"></a>
<div id="page-body" class="page-body margin-t-0" role="main">
<!-- IF S_BOARD_DISABLED and S_USER_LOGGED_IN and (U_MCP or U_ACP) -->
<div id="information" class="rules mdui-typo">
<div class="inner">
<strong>{L_INFORMATION}{L_COLON}</strong> {L_BOARD_DISABLED}
</div>
</div>
<!-- ENDIF -->
<!-- EVENT overall_header_content_before -->

204
template/posting_editor.html Executable file
View file

@ -0,0 +1,204 @@
<fieldset class="fields1 padding-left-0">
<!-- IF ERROR --><p class="error">{ERROR}</p><!-- ENDIF -->
{% EVENT posting_editor_topic_icons_before %}
<!-- IF S_SHOW_TOPIC_ICONS or S_SHOW_PM_ICONS -->
<dl>
<dt><label for="icon">{L_ICON}{L_COLON}</label></dt>
<dd class="margin-l-0">
{% EVENT posting_editor_topic_icons_prepend %}
<label for="icon"><input type="radio" name="icon" id="icon" value="0" checked="checked" tabindex="1" /> <!-- IF S_SHOW_TOPIC_ICONS -->{L_NO_TOPIC_ICON}<!-- ELSE -->{L_NO_PM_ICON}<!-- ENDIF --></label>
<!-- BEGIN topic_icon --><label for="icon-{topic_icon.ICON_ID}"><input type="radio" name="icon" id="icon-{topic_icon.ICON_ID}" value="{topic_icon.ICON_ID}" {topic_icon.S_ICON_CHECKED} tabindex="1" /><img src="{topic_icon.ICON_IMG}" width="{topic_icon.ICON_WIDTH}" height="{topic_icon.ICON_HEIGHT}" alt="{topic_icon.ICON_ALT}" title="{topic_icon.ICON_ALT}" /></label> <!-- END topic_icon -->
{% EVENT posting_editor_topic_icons_append %}
</dd>
</dl>
<!-- ENDIF -->
{% EVENT posting_editor_topic_icons_after %}
<!-- IF not S_PRIVMSGS and S_DISPLAY_USERNAME -->
<dl style="clear: left;">
<dt><label for="username">{L_USERNAME}{L_COLON}</label></dt>
<dd class="margin-l-0"><input type="text" tabindex="1" name="username" id="username" size="25" value="{USERNAME}" class="inputbox autowidth" /></dd>
</dl>
<!-- ENDIF -->
<!-- EVENT posting_editor_subject_before -->
<!-- IF S_POST_ACTION or S_PRIVMSGS or S_EDIT_DRAFT -->
<dl style="clear: left;">
<dt><label for="subject">{L_SUBJECT}{L_COLON}</label></dt>
<dd class="margin-l-0">
<!-- EVENT posting_editor_subject_prepend -->
<input type="text" name="subject" id="subject" size="45" maxlength="<!-- IF S_NEW_MESSAGE -->120<!-- ELSE -->124<!-- ENDIF -->" tabindex="2" value="{SUBJECT}{DRAFT_SUBJECT}" class="inputbox autowidth" />
<!-- EVENT posting_editor_subject_append -->
</dd>
</dl>
<!-- IF CAPTCHA_TEMPLATE and S_CONFIRM_CODE -->
<!-- DEFINE $CAPTCHA_TAB_INDEX = 3 -->
<!-- INCLUDE {CAPTCHA_TEMPLATE} -->
<!-- ENDIF -->
<!-- ENDIF -->
<!-- EVENT posting_editor_subject_after -->
<!-- INCLUDE posting_buttons.html -->
<div id="smiley-box" class="smiley-box mdui-color-grey-200">
<!-- EVENT posting_editor_smilies_before -->
<!-- IF S_SMILIES_ALLOWED and .smiley -->
<strong>{L_SMILIES}</strong><br />
<!-- BEGIN smiley -->
<a href="#" onclick="insert_text('{smiley.A_SMILEY_CODE}', true); return false;"><img src="{smiley.SMILEY_IMG}" width="{smiley.SMILEY_WIDTH}" height="{smiley.SMILEY_HEIGHT}" alt="{smiley.SMILEY_CODE}" title="{smiley.SMILEY_DESC}" /></a>
<!-- END smiley -->
<!-- ENDIF -->
<!-- IF S_SHOW_SMILEY_LINK and S_SMILIES_ALLOWED -->
<br /><a href="{U_MORE_SMILIES}" onclick="popup(this.href, 750, 350, '_phpbbsmilies'); return false;">{L_MORE_SMILIES}</a>
<!-- ENDIF -->
<!-- EVENT posting_editor_smilies_after -->
<!-- IF BBCODE_STATUS -->
<div class="bbcode-status">
<!-- IF .smiley --><hr /><!-- ENDIF -->
{BBCODE_STATUS}<br />
<!-- IF S_BBCODE_ALLOWED -->
{IMG_STATUS}<br />
{FLASH_STATUS}<br />
{URL_STATUS}<br />
<!-- ENDIF -->
{SMILIES_STATUS}
</div>
<!-- ENDIF -->
<!-- EVENT posting_editor_bbcode_status_after -->
<!-- IF S_EDIT_DRAFT || S_DISPLAY_REVIEW -->
<!-- IF S_DISPLAY_REVIEW --><hr /><!-- ENDIF -->
<!-- IF S_EDIT_DRAFT --><strong><a href="{S_UCP_ACTION}">{L_BACK_TO_DRAFTS}</a></strong><!-- ENDIF -->
<!-- IF S_DISPLAY_REVIEW --><strong><a href="#review">{L_TOPIC_REVIEW}</a></strong><!-- ENDIF -->
<!-- ENDIF -->
</div>
<!-- EVENT posting_editor_message_before -->
<div id="message-box" class="message-box mdui-typo">
<textarea <!-- IF S_UCP_ACTION and not S_PRIVMSGS and not S_EDIT_DRAFT -->name="signature" id="signature" style="height: 9em;"<!-- ELSE -->name="message" id="message"<!-- ENDIF --> rows="15" cols="76" tabindex="4" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);" onfocus="initInsertions();" class="inputbox">{MESSAGE}{DRAFT_MESSAGE}{SIGNATURE}</textarea>
</div>
<!-- EVENT posting_editor_message_after -->
</fieldset>
<!-- IF $EXTRA_POSTING_OPTIONS eq 1 -->
<!-- IF not S_SHOW_DRAFTS -->
</div>
</div>
<!-- ENDIF -->
<!-- IF not S_SHOW_DRAFTS and not $SIG_EDIT eq 1 -->
<div class="panel bg2">
<div class="inner">
<fieldset class="submit-buttons">
{S_HIDDEN_ADDRESS_FIELD}
{S_HIDDEN_FIELDS}
<!-- EVENT posting_editor_submit_buttons -->
<!-- IF S_HAS_DRAFTS --><input type="submit" accesskey="d" tabindex="8" name="load" value="{L_LOAD_DRAFT}" class="button2" onclick="load_draft = true;" />&nbsp; <!-- ENDIF -->
<!-- IF S_SAVE_ALLOWED --><input type="submit" accesskey="k" tabindex="7" name="save" value="{L_SAVE_DRAFT}" class="button2" />&nbsp; <!-- ENDIF -->
<input type="submit" tabindex="5" name="preview" value="{L_PREVIEW}" class="button1"<!-- IF not S_PRIVMSGS --> onclick="document.getElementById('postform').action += '#preview';"<!-- ENDIF --> />&nbsp;
<input type="submit" accesskey="s" tabindex="6" name="post" value="{L_SUBMIT}" class="button1 default-submit-action" />&nbsp;
</fieldset>
</div>
</div>
<!-- ENDIF -->
<!-- IF not S_PRIVMSGS and not S_SHOW_DRAFTS and not $SIG_EDIT eq 1 -->
<div id="tabs" class="tabs sub-panels margin-t-0" data-show-panel="<!-- IF SHOW_PANEL -->{SHOW_PANEL}<!-- ELSE -->options-panel<!-- ENDIF -->" role="tablist">
<ul>
<li id="options-panel-tab" class="tab activetab"><a href="#tabs" data-subpanel="options-panel" role="tab" aria-controls="options-panel"><span>{L_OPTIONS}</span></a></li>
<!-- IF S_SHOW_ATTACH_BOX and FILTERS -->
<li id="attach-panel-tab" class="tab">
<a href="#tabs" data-subpanel="attach-panel" role="tab" aria-controls="attach-panel">
{L_ATTACHMENTS} <strong id="file-total-progress" class="file-total-progress"><strong id="file-total-progress-bar" class="file-total-progress-bar"></strong></strong>
</a>
</li>
<!-- ENDIF -->
<!-- IF S_SHOW_POLL_BOX || S_POLL_DELETE -->
<li id="poll-panel-tab" class="tab">
<a href="#tabs" data-subpanel="poll-panel" role="tab" aria-controls="poll-panel">{L_ADD_POLL}</a>
</li>
<!-- ENDIF -->
<!-- EVENT posting_editor_add_panel_tab -->
</ul>
</div>
<!-- ENDIF -->
<!-- IF not S_SHOW_DRAFTS and not $SIG_EDIT eq 1 -->
<div class="panel bg3" id="options-panel">
<div class="inner">
<fieldset class="fields1">
<!-- EVENT posting_editor_options_prepend -->
<!-- IF S_BBCODE_ALLOWED -->
<div><label for="disable_bbcode"><input type="checkbox" name="disable_bbcode" id="disable_bbcode"{S_BBCODE_CHECKED} /> {L_DISABLE_BBCODE}</label></div>
<!-- ENDIF -->
<!-- IF S_SMILIES_ALLOWED -->
<div><label for="disable_smilies"><input type="checkbox" name="disable_smilies" id="disable_smilies"{S_SMILIES_CHECKED} /> {L_DISABLE_SMILIES}</label></div>
<!-- ENDIF -->
<!-- IF S_LINKS_ALLOWED -->
<div><label for="disable_magic_url"><input type="checkbox" name="disable_magic_url" id="disable_magic_url"{S_MAGIC_URL_CHECKED} /> {L_DISABLE_MAGIC_URL}</label></div>
<!-- ENDIF -->
<!-- IF S_SIG_ALLOWED -->
<div><label for="attach_sig"><input type="checkbox" name="attach_sig" id="attach_sig"{S_SIGNATURE_CHECKED} /> {L_ATTACH_SIG}</label></div>
<!-- ENDIF -->
<!-- IF S_NOTIFY_ALLOWED -->
<div><label for="notify"><input type="checkbox" name="notify" id="notify"{S_NOTIFY_CHECKED} /> {L_NOTIFY_REPLY}</label></div>
<!-- ENDIF -->
<!-- IF S_LOCK_TOPIC_ALLOWED -->
<div><label for="lock_topic"><input type="checkbox" name="lock_topic" id="lock_topic"{S_LOCK_TOPIC_CHECKED} /> {L_LOCK_TOPIC}</label></div>
<!-- ENDIF -->
<!-- IF S_LOCK_POST_ALLOWED -->
<div><label for="lock_post"><input type="checkbox" name="lock_post" id="lock_post"{S_LOCK_POST_CHECKED} /> {L_LOCK_POST} [{L_LOCK_POST_EXPLAIN}]</label></div>
<!-- ENDIF -->
<!-- IF S_TYPE_TOGGLE or S_TOPIC_TYPE_ANNOUNCE or S_TOPIC_TYPE_STICKY -->
<hr class="dashed" />
<!-- ENDIF -->
<!-- IF S_TYPE_TOGGLE -->
<dl>
<dt><label for="topic_type-0"><!-- IF S_EDIT_POST -->{L_CHANGE_TOPIC_TO}<!-- ELSE -->{L_POST_TOPIC_AS}<!-- ENDIF -->{L_COLON}</label></dt>
<dd><!-- BEGIN topic_type --><label for="topic_type-{topic_type.VALUE}"><input type="radio" name="topic_type" id="topic_type-{topic_type.VALUE}" value="{topic_type.VALUE}"{topic_type.S_CHECKED} />{topic_type.L_TOPIC_TYPE}</label> <!-- END topic_type --></dd>
</dl>
<!-- ENDIF -->
<!-- IF S_TOPIC_TYPE_ANNOUNCE or S_TOPIC_TYPE_STICKY -->
<dl>
<dt><label for="topic_time_limit">{L_STICK_TOPIC_FOR}{L_COLON}</label></dt>
<dd><label for="topic_time_limit"><input type="number" min="0" max="999" name="topic_time_limit" id="topic_time_limit" value="{TOPIC_TIME_LIMIT}" class="inputbox autowidth" /> {L_DAYS}</label></dd>
<dd>{L_STICK_TOPIC_FOR_EXPLAIN}</dd>
</dl>
<!-- ENDIF -->
<!-- IF S_SOFTDELETE_ALLOWED or S_DELETE_ALLOWED -->
<hr class="dashed" />
<dl>
<dt><label for="delete">{L_DELETE_POST}{L_COLON}</label></dt>
<dd><label for="delete"><input type="checkbox" name="delete" id="delete" {S_SOFTDELETE_CHECKED} /> {L_DELETE_POST_WARN}</label></dd>
<!-- IF S_DELETE_ALLOWED and S_SOFTDELETE_ALLOWED -->
<dd><label for="delete_permanent"><input type="checkbox" name="delete_permanent" id="delete_permanent" /> {L_DELETE_POST_PERMANENTLY}</label></dd>
<!-- ENDIF -->
</dl>
<!-- ENDIF -->
<!-- IF S_EDIT_REASON -->
<dl>
<dt><label for="edit_reason">{L_EDIT_REASON}{L_COLON}</label></dt>
<dd><input type="text" name="edit_reason" id="edit_reason" value="{EDIT_REASON}" class="inputbox" /></dd>
</dl>
<!-- ENDIF -->
</fieldset>
<!-- ENDIF -->
<!-- ENDIF -->

65
template/posting_layout.html Executable file
View file

@ -0,0 +1,65 @@
<!-- INCLUDE overall_header.html -->
<!-- IF TOPIC_TITLE -->
<h2 class="posting-title mdui-hidden-xs-up"><!-- EVENT posting_topic_title_before --><a href="{U_VIEW_TOPIC}">{TOPIC_TITLE}</a><!-- EVENT posting_topic_title_after --></h2>
<!-- ELSE -->
<h2 class="posting-title mdui-hidden-xs-up"><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 and FILTERS --><!-- 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 -->

51
template/posting_preview.html Executable file
View file

@ -0,0 +1,51 @@
<div class="post <!-- IF S_PRIVMSGS -->pm<!-- ELSE -->bg2<!-- ENDIF -->" id="preview">
<div class="inner">
<!-- IF S_HAS_POLL_OPTIONS -->
<div class="content">
<h2>{L_PREVIEW}{L_COLON} {POLL_QUESTION}</h2>
<p class="author"><!-- IF L_POLL_LENGTH -->{L_POLL_LENGTH}<br /><!-- ENDIF -->{L_MAX_VOTES}</p>
<fieldset class="polls">
<!-- BEGIN poll_option -->
<dl>
<dt><label for="vote_{poll_option.POLL_OPTION_ID}">{poll_option.POLL_OPTION_CAPTION}</label></dt>
<dd style="width: auto;"><!-- IF S_IS_MULTI_CHOICE --><input type="checkbox" name="vote_id[]" id="vote_{poll_option.POLL_OPTION_ID}" value="{poll_option.POLL_OPTION_ID}"<!-- IF poll_option.POLL_OPTION_VOTED --> checked="checked"<!-- ENDIF --> /><!-- ELSE --><input type="radio" name="vote_id[]" id="vote_{poll_option.POLL_OPTION_ID}" value="{poll_option.POLL_OPTION_ID}"<!-- IF poll_option.POLL_OPTION_VOTED --> checked="checked"<!-- ENDIF --> /><!-- ENDIF --></dd>
</dl>
<!-- END poll_option -->
</fieldset>
</div>
</div>
</div>
<div class="post bg2">
<div class="inner">
<!-- ENDIF -->
<!-- EVENT posting_preview_poll_after -->
<div class="postbody">
<h3>{L_PREVIEW}{L_COLON} {PREVIEW_SUBJECT}</h3>
<div class="content mdui-typo">{PREVIEW_MESSAGE}</div>
<!-- EVENT posting_preview_content_after -->
<!-- IF .attachment -->
<dl class="attachbox">
<dt>{L_ATTACHMENTS}</dt>
<!-- BEGIN attachment -->
<dd>{attachment.DISPLAY_ATTACHMENT}</dd>
<!-- END attachment -->
</dl>
<!-- ENDIF -->
<!-- IF PREVIEW_SIGNATURE --><div class="signature">{PREVIEW_SIGNATURE}</div><!-- ENDIF -->
</div>
</div>
</div>
<hr />

27
template/quickreply_editor.html Executable file
View file

@ -0,0 +1,27 @@
<form method="post" action="{U_QR_ACTION}" id="qr_postform">
<!-- EVENT quickreply_editor_panel_before -->
<div class="panel">
<div class="inner">
<h2 class="quickreply-title">{L_QUICKREPLY}</h2>
<fieldset class="fields1 padding-left-0 mdui-typo">
<!-- EVENT quickreply_editor_subject_before -->
<dl style="clear: left;">
<dt><label for="subject">{L_SUBJECT}{L_COLON}</label></dt>
<dd class="margin-l-0"><input type="text" name="subject" id="subject" size="45" maxlength="124" tabindex="2" value="{SUBJECT}" class="inputbox autowidth" /></dd>
</dl>
<!-- EVENT quickreply_editor_message_before -->
<div id="message-box" class="message-box">
<textarea style="height: 9em;" name="message" rows="7" cols="76" tabindex="3" class="inputbox"></textarea>
</div>
<!-- EVENT quickreply_editor_message_after -->
</fieldset>
<fieldset class="submit-buttons">
{S_FORM_TOKEN}
{QR_HIDDEN_FIELDS}
<input type="submit" accesskey="f" tabindex="6" name="preview" value="{L_FULL_EDITOR}" class="button2" id="qr_full_editor" />&nbsp;
<input type="submit" accesskey="s" tabindex="7" name="post" value="{L_SUBMIT}" class="button1" />&nbsp;
</fieldset>
</div>
</div>
<!-- EVENT quickreply_editor_panel_after -->
</form>

55
template/report_body.html Executable file
View file

@ -0,0 +1,55 @@
<!-- INCLUDE overall_header.html -->
<h2 class="titlespace"><!-- IF S_REPORT_POST -->{L_REPORT_POST}<!-- ELSE -->{L_REPORT_MESSAGE}<!-- ENDIF --></h2>
<form method="post" action="{S_REPORT_ACTION}" id="report">
<div class="panel">
<div class="inner">
<div class="content mdui-typo">
<p><!-- IF S_REPORT_POST -->{L_REPORT_POST_EXPLAIN}<!-- ELSE -->{L_REPORT_MESSAGE_EXPLAIN}<!-- ENDIF --></p>
<fieldset>
<!-- IF ERROR --><dl><dd class="error">{ERROR}</dd></dl><!-- ENDIF -->
<dl class="fields2">
<dt><label for="reason_id">{L_REASON}{L_COLON}</label></dt>
<dd><select name="reason_id" id="reason_id" class="full mdui-select"><!-- BEGIN reason --><option value="{reason.ID}"<!-- IF reason.S_SELECTED --> selected="selected"<!-- ENDIF -->>{reason.DESCRIPTION}</option><!-- END reason --></select></dd>
</dl>
<!-- IF S_CAN_NOTIFY -->
<dl class="fields2">
<dt><label for="notify1">{L_REPORT_NOTIFY}{L_COLON}</label><br /><span>{L_REPORT_NOTIFY_EXPLAIN}</span></dt>
<dd>
<label for="notify1"><input type="radio" name="notify" id="notify1" value="1" <!-- IF not S_NOTIFY -->checked="checked"<!-- ENDIF --> /> {L_YES}</label>
<label for="notify0"><input type="radio" name="notify" id="notify0" value="0" <!-- IF S_NOTIFY -->checked="checked"<!-- ENDIF --> /> {L_NO}</label>
</dd>
</dl>
<!-- ENDIF -->
<dl class="fields2">
<dt><label for="report_text">{L_MORE_INFO}{L_COLON}</label><br /><span>{L_CAN_LEAVE_BLANK}</span></dt>
<dd><textarea name="report_text" id="report_text" rows="10" cols="76" class="inputbox">{REPORT_TEXT}</textarea></dd>
</dl>
<!-- IF CAPTCHA_TEMPLATE -->
<!-- INCLUDE {CAPTCHA_TEMPLATE} -->
<!-- ENDIF -->
</fieldset>
</div>
</div>
</div>
<div class="panel">
<div class="inner">
<div class="content">
<fieldset class="submit-buttons">
<input type="submit" name="submit" class="button1" value="{L_SUBMIT}" />&nbsp;
<input type="submit" name="cancel" class="button2" value="{L_CANCEL}" />
{S_FORM_TOKEN}
</fieldset>
</div>
</div>
</div>
</form>
<!-- INCLUDE overall_footer.html -->

147
template/search_body.html Executable file
View file

@ -0,0 +1,147 @@
<!-- INCLUDE overall_header.html -->
<h2 class="solo">{L_SEARCH}</h2>
<!-- EVENT search_body_form_before -->
<form method="get" action="{S_SEARCH_ACTION}" data-focus="keywords">
<div class="panel">
<div class="inner">
<h3>{L_SEARCH_QUERY}</h3>
<!-- EVENT search_body_search_query_before -->
<fieldset>
<!-- EVENT search_body_search_query_prepend -->
<dl>
<dt><label for="keywords">{L_SEARCH_KEYWORDS}{L_COLON}</label><br /><span>{L_SEARCH_KEYWORDS_EXPLAIN}</span></dt>
<dd><input type="search" class="inputbox" name="keywords" id="keywords" size="40" title="{L_SEARCH_KEYWORDS}" /></dd>
<dd><label for="terms1"><input type="radio" name="terms" id="terms1" value="all" checked="checked" /> {L_SEARCH_ALL_TERMS}</label></dd>
<dd><label for="terms2"><input type="radio" name="terms" id="terms2" value="any" /> {L_SEARCH_ANY_TERMS}</label></dd>
</dl>
<dl>
<dt><label for="author">{L_SEARCH_AUTHOR}{L_COLON}</label><br /><span>{L_SEARCH_AUTHOR_EXPLAIN}</span></dt>
<dd><input type="search" class="inputbox" name="author" id="author" size="40" title="{L_SEARCH_AUTHOR}" /></dd>
</dl>
<!-- EVENT search_body_search_query_append -->
</fieldset>
<!-- EVENT search_body_search_query_after -->
</div>
</div>
<div class="panel bg2">
<div class="inner">
<h3>{L_SEARCH_OPTIONS}</h3>
<!-- EVENT search_body_search_options_before -->
<fieldset>
<!-- EVENT search_body_search_options_prepend -->
<dl>
<dt><label for="search_forum">{L_SEARCH_FORUMS}{L_COLON}</label><br /><span>{L_SEARCH_FORUMS_EXPLAIN}</span></dt>
<dd><select class="mdui-select" name="fid[]" id="search_forum" multiple="multiple" size="8" title="{L_SEARCH_FORUMS}">{S_FORUM_OPTIONS}</select></dd>
</dl>
<dl>
<dt><label for="search_child1">{L_SEARCH_SUBFORUMS}{L_COLON}</label></dt>
<dd>
<label for="search_child1"><input type="radio" name="sc" id="search_child1" value="1" checked="checked" /> {L_YES}</label>
<label for="search_child2"><input type="radio" name="sc" id="search_child2" value="0" /> {L_NO}</label>
</dd>
</dl>
<dl>
<dt><label for="sf1">{L_SEARCH_WITHIN}{L_COLON}</label></dt>
<dd><label for="sf1"><input type="radio" name="sf" id="sf1" value="all" checked="checked" /> {L_SEARCH_TITLE_MSG}</label></dd>
<dd><label for="sf2"><input type="radio" name="sf" id="sf2" value="msgonly" /> {L_SEARCH_MSG_ONLY}</label></dd>
<dd><label for="sf3"><input type="radio" name="sf" id="sf3" value="titleonly" /> {L_SEARCH_TITLE_ONLY}</label></dd>
<dd><label for="sf4"><input type="radio" name="sf" id="sf4" value="firstpost" /> {L_SEARCH_FIRST_POST}</label></dd>
</dl>
<!-- EVENT search_body_search_options_append -->
<hr class="dashed" />
<!-- EVENT search_body_search_display_options_prepend -->
<dl>
<dt><label for="show_results1">{L_DISPLAY_RESULTS}{L_COLON}</label></dt>
<dd>
<label for="show_results1"><input type="radio" name="sr" id="show_results1" value="posts" checked="checked" /> {L_POSTS}</label>
<label for="show_results2"><input type="radio" name="sr" id="show_results2" value="topics" /> {L_TOPICS}</label>
</dd>
</dl>
<dl>
<dt><label for="sd">{L_RESULT_SORT}{L_COLON}</label></dt>
<dd>{S_SELECT_SORT_KEY}&nbsp;
<label for="sa"><input type="radio" name="sd" id="sa" value="a" /> {L_SORT_ASCENDING}</label>
<label for="sd"><input type="radio" name="sd" id="sd" value="d" checked="checked" /> {L_SORT_DESCENDING}</label>
</dd>
</dl>
<dl>
<dt><label>{L_RESULT_DAYS}{L_COLON}</label></dt>
<dd>{S_SELECT_SORT_DAYS}</dd>
</dl>
<dl>
<dt>
<label for="ch">{{ lang('RETURN_FIRST') ~ lang('COLON') }}</label>
<br><span>{{ lang('RETURN_FIRST_EXPLAIN') }}</span>
</dt>
<dd><input id="ch" name="ch" type="number" value="{{ DEFAULT_RETURN_CHARS }}" min="0" max="9999" title="{{ lang('RETURN_FIRST') }}"> {{ lang('POST_CHARACTERS') }}</dd>
</dl>
<!-- EVENT search_body_search_display_options_append -->
</fieldset>
<!-- EVENT search_body_search_options_after -->
</div>
</div>
<div class="panel bg3">
<div class="inner">
<fieldset class="submit-buttons">
{S_HIDDEN_FIELDS}
<input type="submit" name="submit" value="{L_SEARCH}" class="button1" />
</fieldset>
</div>
</div>
</form>
<!-- EVENT search_body_form_after -->
<div class="mdui-hidden-sm-up">
<a href="https://quanquan.space">
<button class="mdui-fab mdui-fab-fixed mdui-ripple mdui-color-pink-accent" mdui-tooltip="{content: '主页'}">
<i class="mdui-icon material-icons">home</i>
</button>
</a>
</div>
<!-- EVENT search_body_recent_search_before -->
<!-- IF .recentsearch -->
<div class="forumbg forumbg-table">
<div class="inner">
<table class="table1">
<thead>
<tr>
<th colspan="2" class="name">{L_RECENT_SEARCHES}</th>
</tr>
</thead>
<tbody>
<!-- BEGIN recentsearch -->
<tr class="<!-- IF recentsearch.S_ROW_COUNT is even -->bg1<!-- ELSE -->bg2<!-- ENDIF -->">
<td><a href="{recentsearch.U_KEYWORDS}">{recentsearch.KEYWORDS}</a></td>
<td class="active">{recentsearch.TIME}</td>
</tr>
<!-- BEGINELSE -->
<tr class="bg1">
<td colspan="2">{L_NO_RECENT_SEARCHES}</td>
</tr>
<!-- END recentsearch -->
</tbody>
</table>
</div>
</div>
<!-- ENDIF -->
<!-- EVENT search_body_recent_search_after -->
<!-- INCLUDE overall_footer.html -->

247
template/search_results.html Executable file
View file

@ -0,0 +1,247 @@
<!-- 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 class="padding-left-0">
<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>
{% EVENT search_results_topic_header_lastpost_after %}
</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>
{% EVENT search_results_topic_row_lastpost_after %}
</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">
{% EVENT search_results_post_subject_before %}
<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>
{% EVENT search_results_jumpbox_before %}
<!-- INCLUDE jumpbox.html -->
<!-- INCLUDE overall_footer.html -->

72
template/ucp_agreement.html Executable file
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 mdui-hidden-xs-up">
<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 mdui-typo">
<h2 id="margin-agreement-h2-t" class="sitename-title">{{ SITENAME }} - {{ lang('REGISTRATION') }}</h2>
<!-- EVENT ucp_agreement_terms_before -->
<div class="agreement">{% if S_SHOW_COPPA %}<p class="agreement-text">{{ lang('COPPA_BIRTHDAY') }}</p>{% else %}{{ lang('TERMS_OF_USE') }}{% endif %}</div>
<!-- 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>
<div class="agreement">{{ AGREEMENT_TEXT }}</div>
</div>
</div>
</div>
<!-- ENDIF -->
<!-- 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 class="padding-left-0">
{% 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><br /><span>{{ lang('CHANGE_PASSWORD_EXPLAIN') }}</span></dt>
<dd><input class="inputbox autowidth" 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 class="inputbox autowidth" 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 autowidth" 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 autowidth" 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 mdui-btn" value="{{ lang('SUBMIT') }}" tabindex="2" /></dd>
</dl>
{{ S_FORM_TOKEN }}
</fieldset>
</div>
</div>
</div>
</form>
<!-- INCLUDE overall_footer.html -->

318
template/viewforum_body.html Executable file
View file

@ -0,0 +1,318 @@
<!-- INCLUDE overall_header.html -->
<!-- EVENT viewforum_forum_title_before -->
<h2 class="forum-title margin-t-0-4-em mdui-hidden-xs-up"><!-- 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 class="padding-0">
<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_FORUM }}" 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="forumbg{% if topicrow.S_TOPIC_TYPE_SWITCH and (topicrow.S_POST_ANNOUNCE or topicrow.S_POST_GLOBAL) %} announcement mdui-color-teal-200 {% else %} mdui-color-brown-200 {% 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> --> <!-- 此div多余导致页面样式错乱 -->
<!-- ENDIF -->
<!-- BEGINELSE -->
<!-- IF S_IS_POSTABLE -->
<div class="panel">
<div class="inner">
<strong>{{ lang(S_SORT_DAYS ? 'NO_TOPICS_TIME_FRAME' : '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 -->
{% EVENT viewforum_body_online_list_before %}
<!-- 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_IS_POSTABLE and rules|length -->
<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 -->

63
template/viewonline_body.html Executable file
View file

@ -0,0 +1,63 @@
<!-- INCLUDE overall_header.html -->
<h2 class="viewonline-title">{TOTAL_REGISTERED_USERS_ONLINE}</h2>
<p>{TOTAL_GUEST_USERS_ONLINE}<!-- IF S_SWITCH_GUEST_DISPLAY --> &bull; <a href="{U_SWITCH_GUEST_DISPLAY}">{L_SWITCH_GUEST_DISPLAY}</a><!-- ENDIF --></p>
<div class="action-bar bar-top">
<div class="pagination">
<!-- IF .pagination -->
<!-- INCLUDE pagination.html -->
<!-- ELSE -->
{PAGE_NUMBER}
<!-- ENDIF -->
</div>
</div>
<div class="forumbg forumbg-table mdui-color-blue-grey-300">
<div class="inner">
<table class="table1">
<!-- IF .user_row -->
<thead>
<tr>
<th class="name"><a href="{U_SORT_USERNAME}">{L_USERNAME}</a></th>
<th class="info"><a href="{U_SORT_LOCATION}">{L_FORUM_LOCATION}</a></th>
<th class="active"><a href="{U_SORT_UPDATED}">{L_LAST_UPDATED}</a></th>
</tr>
</thead>
<tbody>
<!-- BEGIN user_row -->
<tr class="<!-- IF user_row.S_ROW_COUNT is odd -->bg1<!-- ELSE -->bg2<!-- ENDIF -->">
<td><!-- EVENT viewonline_body_username_prepend -->{user_row.USERNAME_FULL}<!-- EVENT viewonline_body_username_append --><!-- IF user_row.USER_IP --> <span style="float: {S_CONTENT_FLOW_END};">{L_IP}{L_COLON} <a href="{user_row.U_USER_IP}">{user_row.USER_IP}</a> &#187; <a href="{user_row.U_WHOIS}" onclick="popup(this.href, 750, 500); return false;">{L_WHOIS}</a></span><!-- ENDIF -->
<!-- IF user_row.USER_BROWSER --><br />{user_row.USER_BROWSER}<!-- ENDIF --></td>
<td class="info"><a href="{user_row.U_FORUM_LOCATION}">{user_row.FORUM_LOCATION}</a></td>
<td class="active">{user_row.LASTUPDATE}</td>
</tr>
<!-- END user_row -->
<!-- ELSE -->
<tbody>
<tr class="bg1">
<td colspan="3">{L_NO_ONLINE_USERS}<!-- IF S_SWITCH_GUEST_DISPLAY --> &bull; <a href="{U_SWITCH_GUEST_DISPLAY}">{L_SWITCH_GUEST_DISPLAY}</a><!-- ENDIF --></td>
</tr>
<!-- ENDIF -->
</tbody>
</table>
</div>
</div>
<!-- IF LEGEND --><p><em>{L_LEGEND}{L_COLON} {LEGEND}</em></p><!-- ENDIF -->
<div class="action-bar bar-bottom">
<div class="pagination">
<!-- IF .pagination -->
<!-- INCLUDE pagination.html -->
<!-- ELSE -->
{PAGE_NUMBER}
<!-- ENDIF -->
</div>
</div>
<!-- INCLUDE jumpbox.html -->
<!-- INCLUDE overall_footer.html -->

468
template/viewtopic_body.html Executable file
View file

@ -0,0 +1,468 @@
<!-- INCLUDE overall_header.html -->
<!-- EVENT viewtopic_topic_title_before -->
<h2 class="topic-title mdui-hidden-xs-up"><!-- 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 margin-b-0">
<!-- 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 class="padding-top-0">
<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" data-refresh="true" 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 mdui-btn mdui-color-pink mdui-ripple" /></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}"><button class="mdui-btn mdui-color-pink mdui-text-color-white mdui-ripple">{L_VIEW_RESULTS}</button></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 -->>
{% EVENT viewtopic_body_contact_icon_prepend %}<span class="contact-icon {postrow.contact.ID}-icon">{postrow.contact.NAME}</span>{% EVENT viewtopic_body_contact_icon_append %}
</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 {% if postrow.S_FIRST_UNREAD %}class="first-unread" {% endif %}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 mdui-typo">{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 -->
{% EVENT viewtopic_body_postrow_signature_before %}
{% if postrow.SIGNATURE %}<div id="sig{{ postrow.POST_ID }}" class="signature">{{ postrow.SIGNATURE }}</div>{% endif %}
{% EVENT viewtopic_body_postrow_signature_after %}
<!-- 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>
<!-- 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 -->
{% EVENT viewtopic_body_online_list_before %}
<!-- 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 -->

114
theme/base.css Executable file
View file

@ -0,0 +1,114 @@
/* --------------------------------------------------------------
$Base
-------------------------------------------------------------- */
/** {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
*:before,
*:after {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}*/
/* Define your base font-size here; most elements will inherit this. _NO__DOTCOMMA__AFTER__*/
html {
font-size: 1em; /* Assuming 16px... */
line-height: 1.5; /* 24px (This is now our magic number; all subsequent margin-bottoms and line-heights want to be a multiple of this number in order to maintain vertical rhythm.) _NO__DOTCOMMA__AFTER__*/
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
body {
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
color: #333333;
background-color: #ffffff;
}
input,
button,
select,
textarea {
font-family: inherit;
font-size: inherit;
line-height: inherit;
}
figure { margin: 0; }
img { vertical-align: middle; }
hr {
margin-top: 20px;
margin-bottom: 20px;
border: 0;
border-top: 1px solid #e5e5e5;
}
a {
color: #428bca;
text-decoration: none;
}
a:hover,
a:focus,
a:active {
color: #2a6496;
text-decoration: underline;
}
blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
figure,
p,
pre { margin: 0; }
button {
background: transparent;
border: 0;
padding: 0;
}
/**
* Work around a Firefox/IE bug where the transparent `button` background
* results in a loss of the default `button` focus styles.
*/
button:focus {
outline: 1px dotted;
outline: 5px auto -webkit-focus-ring-color;
}
fieldset {
border: 0;
margin: 0;
padding: 0;
}
iframe { border: 0; }
ol,
ul {
list-style: none;
margin: 0;
padding: 0;
}
/**
* Suppress the focus outline on links that cannot be accessed via keyboard.
* This prevents an unwanted focus outline from appearing around elements that
* might still respond to pointer events.
*/
[tabindex="-1"]:focus { outline: none !important; }
/**
* Remove double underline from recent version of firefox
*/
abbr[title] {
text-decoration: none;
}

1096
theme/bidi.css Executable file

File diff suppressed because it is too large Load diff

193
theme/buttons.css Executable file
View file

@ -0,0 +1,193 @@
/* Button Styles
---------------------------------------- */
.button {
display: inline-block;
padding: 2px 8px;
font-size: 13px;
font-weight: 600;
font-family: "Open Sans", "Droid Sans", Verdana, Arial, Helvetica;
line-height: 1.4;
text-align: center;
white-space: nowrap;
vertical-align: middle;
-ms-touch-action: manipulation;
touch-action: manipulation;
cursor: pointer;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
border: 1px solid transparent;
border-radius: 4px;
}
.button:focus,
.button:hover {
text-decoration: none;
outline: none;
}
.caret {
border-left: 1px solid;
position: relative;
right: -6px;
}
.caret i {
vertical-align: top;
}
/* Posting page styles
----------------------------------------*/
.button-search,
.button-search-end {
float: left;
border-radius: 0;
margin: 0;
padding: 2px 5px;
}
.button-search-end {
border-left-width: 0;
border-radius: 0 4px 4px 0;
}
.search-header .button-search,
.search-header .button-search-end {
border-top-width: 0;
border-bottom-width: 0;
padding: 3px 5px;
}
.search-header .button-search-end {
border-right-width: 0;
}
.button-icon-only {
padding-left: 3px;
padding-right: 3px;
}
/* Poster contact icons
----------------------------------------*/
.contact-icons.dropdown-contents {
min-width: 0;
padding: 0;
font-size: 0;
}
.contact-icon {
background-repeat: no-repeat;
display: block;
height: 16px;
width: 16px;
}
.contact-icons a {
border-bottom: 1px dotted;
border-right: 1px dotted;
display: block;
float: left;
padding: 8px;
}
.contact-icons .last-cell {
border-right: none;
}
.contact-icons div:last-child a {
border-bottom: none;
}
.contact-icons div {
clear: left;
}
/* Post control buttons
--------------------------------------------- */
.post-buttons {
float: right;
list-style: none;
margin-top: 2px;
}
.has-profile .post-buttons {
float: none;
position: absolute;
margin: 0;
right: 0;
top: 5px;
}
.post-buttons > li {
float: left;
margin-right: 3px;
}
.post-buttons .button, .format-buttons .button {
padding-left: 3px;
padding-right: 3px;
}
.hastouch .post-buttons {
margin-right: 10px;
}
.post-buttons .button span {
font-size: 0;
}
/* Responsive buttons in post body */
.post-buttons .dropdown {
top: 18px;
}
.post-buttons .dropdown a {
display: block;
font-size: 1.2em;
text-align: right;
}
.hasjs .postbody .post-buttons {
max-width: 40%;
}
/* Browser-specific tweaks */
button::-moz-focus-inner {
padding: 0;
border: 0;
}
/* Deprecated as of version 3.2
-------------------------------------------------*/
.small-icon {
background-position: 0 50%;
background-repeat: no-repeat;
background-image: none;
}
.dropdown .small-icon {
background-position: 5px 50%;
padding: 5px;
}
.small-icon > a {
padding: 0 0 0 18px;
}
ul.linklist.bulletin > li.small-icon:before {
display: none;
}
.dropdown .small-icon > a {
display: block;
}
.rtl .small-icon {
background-position: 100% 50%;
}
.rtl .small-icon > a {
padding-left: 0;
padding-right: 19px;
}

1167
theme/colours.css Executable file

File diff suppressed because it is too large Load diff

1286
theme/common.css Executable file

File diff suppressed because it is too large Load diff

869
theme/content.css Executable file
View file

@ -0,0 +1,869 @@
/* Content Styles
---------------------------------------- */
ul.topiclist {
display: block;
list-style-type: none;
margin: 0;
}
ul.topiclist li {
display: block;
list-style-type: none;
margin: 0;
}
ul.topiclist dl {
position: relative;
}
ul.topiclist li.row dl {
margin: 2px 0;
}
ul.topiclist dt, ul.topiclist dd {
display: block;
float: left;
}
ul.topiclist dt {
width: 100%;
margin-right: -440px;
font-size: 1.1em;
}
ul.topiclist.missing-column dt {
margin-right: -345px;
}
ul.topiclist.two-long-columns dt {
margin-right: -250px;
}
ul.topiclist.two-columns dt {
margin-right: -80px;
}
ul.topiclist dt .list-inner {
margin-right: 440px;
padding-left: 5px;
padding-right: 5px;
}
ul.topiclist.missing-column dt .list-inner {
margin-right: 345px;
}
ul.topiclist.two-long-columns dt .list-inner {
margin-right: 250px;
}
ul.topiclist.two-columns dt .list-inner {
margin-right: 80px;
}
ul.topiclist dd {
border-left: 1px solid transparent;
padding: 4px 0;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
ul.topiclist li.row dd {
padding: 4px 0 999px 0;
margin-bottom: -995px;
}
ul.topiclist dfn {
/* Labels for post/view counts */
position: absolute;
left: -999px;
width: 990px;
}
.forum-image {
float: left;
padding-top: 5px;
margin-right: 5px;
}
li.row {
border-top: 1px solid transparent;
border-bottom: 1px solid transparent;
}
li.row strong {
font-weight: normal;
}
li.header dt, li.header dd {
line-height: 1em;
border-left-width: 0;
margin: 2px 0 4px 0;
padding-top: 2px;
padding-bottom: 2px;
font-size: 1em;
font-family: Arial, Helvetica, sans-serif;
text-transform: uppercase;
}
li.header dt {
font-weight: bold;
width: 100%;
margin-right: -440px;
}
li.header dt .list-inner {
margin-right: 440px;
}
li.header dd {
padding-left: 1px;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
li.header dl.row-item dt, li.header dl.row-item dd {
min-height: 0;
}
li.header dl.row-item dt .list-inner {
/* Tweak for headers alignment when folder icon used */
padding-left: 0;
padding-right: 50px;
}
/* Forum list column styles */
.row .list-inner { padding: 4px 0; }
dl.row-item {
background-position: 10px 24%; /* Position of folder icon */
background-repeat: no-repeat;
background-size: 32px;
}
dl.row-item dt {
background-repeat: no-repeat;
background-position: 5px 95%; /* Position of topic icon */
background-size: 17px;
}
dl.row-item dt .list-inner {
padding-left: 52px; /* Space for folder icon */
}
dl.row-item dt, dl.row-item dd {
min-height: 35px;
}
dl.row-item dt a {
display: inline;
}
dl a.row-item-link { /* topic row icon links */
display: block;
width: 30px;
height: 30px;
padding: 0;
position: absolute;
top: 50%;
left: 0;
margin-top: -15px;
margin-left: 9px;
}
dd.posts, dd.topics, dd.views, dd.extra, dd.mark {
width: 80px;
text-align: center;
line-height: 2.2em;
font-size: 1.2em;
}
dd.posts, dd.topics, dd.views {
width: 95px;
}
/* List in forum description */
dl.row-item dt ol,
dl.row-item dt ul {
list-style-position: inside;
margin-left: 1em;
}
dl.row-item dt li {
display: list-item;
list-style-type: inherit;
}
dd.lastpost, dd.redirect, dd.moderation, dd.time, dd.info {
width: 250px;
font-size: 1.1em;
}
dd.redirect {
line-height: 2.5em;
}
dd.time {
line-height: 200%;
}
dd.lastpost > span, ul.topiclist dd.info > span, ul.topiclist dd.time > span, dd.redirect > span, dd.moderation > span {
display: block;
padding-left: 5px;
}
dd.extra, dd.mark {
line-height: 200%;
}
dd.option {
width: 125px;
line-height: 200%;
text-align: center;
font-size: 1.1em;
}
/* Post body styles
----------------------------------------*/
.postbody {
padding: 0;
line-height: 1.48em;
width: 76%;
float: left;
position: relative;
}
.postbody .ignore {
font-size: 1.1em;
}
.postbody h3.first {
/* The first post on the page uses this */
font-size: 1.7em;
}
.postbody h3 {
/* Postbody requires a different h3 format - so change it here */
float: left;
font-size: 1.5em;
padding: 2px 0 0 0;
margin-top: 0 !important;
margin-bottom: 0.3em !important;
text-transform: none;
border: none;
font-family: "Trebuchet MS", Verdana, Helvetica, Arial, sans-serif;
line-height: 125%;
}
.postbody h3 img {
vertical-align: bottom;
}
.has-profile .postbody h3 {
/* If there is a post-profile, we position the post-buttons differently */
float: none !important;
margin-right: 180px;
}
.postbody .content {
font-size: 1.3em;
overflow-x: auto;
}
.postbody img.postimage {
max-width: 100%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.search .postbody {
width: 68%;
}
/* Topic review panel
----------------------------------------*/
.panel .review {
margin-top: 2em;
}
.topicreview {
padding-right: 5px;
overflow: auto;
height: 300px;
}
.topicreview .postbody {
width: auto;
float: none;
margin: 0;
height: auto;
}
.topicreview .post {
height: auto;
}
.topicreview h2 {
border-bottom-width: 0;
}
.post-ignore .postbody {
display: none;
}
/* MCP Post details
----------------------------------------*/
.post_details {
/* This will only work in IE7+, plus the others */
overflow: auto;
max-height: 300px;
}
/* Content container styles
----------------------------------------*/
.content {
clear: both;
min-height: 3em;
overflow: hidden;
line-height: 1.4em;
font-family: "Lucida Grande", "Trebuchet MS", Verdana, Helvetica, Arial, sans-serif;
font-size: 1em;
padding-bottom: 1px;
}
.content h2, .panel h2 {
font-weight: normal;
border-bottom: 1px solid transparent;
font-size: 1.6em;
margin-top: 0.5em;
margin-bottom: 0.5em;
padding-bottom: 0.5em;
}
.panel h3 {
margin: 0.5em 0;
}
.panel p {
font-size: 1.2em;
margin-bottom: 1em;
line-height: 1.4em;
}
.content p {
font-family: "Lucida Grande", "Trebuchet MS", Verdana, Helvetica, Arial, sans-serif;
font-size: 1.2em;
margin-bottom: 1em;
line-height: 1.4em;
}
.agreement {
font-size: 12px;
line-height: 17px;
margin-bottom: 10px;
}
.agreement-text {
line-height: 17px;
margin-bottom: 10px;
}
dl.faq {
font-family: "Lucida Grande", Verdana, Helvetica, Arial, sans-serif;
font-size: 1.1em;
margin-top: 1em;
margin-bottom: 2em;
line-height: 1.4em;
}
dl.faq dt {
font-weight: bold;
}
.content dl.faq {
font-size: 1.2em;
margin-bottom: 0.5em;
}
.content li {
list-style-type: inherit;
}
.content ul, .content ol {
margin: 0.8em 0 0.9em 3em;
}
.posthilit {
padding: 0 2px 1px 2px;
}
/* Post author */
p.author {
margin-bottom: 0.6em;
padding: 0 0 5px 0;
font-family: Verdana, Helvetica, Arial, sans-serif;
font-size: 1em;
line-height: 1.2em;
clear: both;
}
/* Post signature */
.signature {
margin-top: 1.5em;
padding-top: 0.2em;
font-size: 1.1em;
border-top: 1px solid transparent;
clear: left;
line-height: 140%;
overflow: hidden;
width: 100%;
}
.signature.standalone {
border-top-width: 0;
margin-top: 0;
}
dd .signature {
margin: 0;
padding: 0;
clear: none;
border: none;
}
.signature li {
list-style-type: inherit;
}
.signature ul, .signature ol {
margin: 0.8em 0 0.9em 3em;
}
/* Post noticies */
.notice {
font-family: "Lucida Grande", Verdana, Helvetica, Arial, sans-serif;
width: auto;
margin-top: 1.5em;
padding-top: 0.2em;
font-size: 1em;
border-top: 1px dashed transparent;
clear: left;
line-height: 130%;
}
/* Jump to post link for now */
ul.searchresults {
list-style: none;
text-align: right;
clear: both;
}
/* BB Code styles
----------------------------------------*/
/* Quote block */
blockquote {
border: 1px solid transparent;
font-size: 0.95em;
margin: 1em 1px 1em 25px;
overflow: hidden;
padding: 5px;
}
blockquote blockquote {
/* Nested quotes */
font-size: 1em;
margin: 1em 1px 1em 15px;
}
blockquote cite {
/* Username/source of quoter */
font-style: normal;
font-weight: bold;
display: block;
font-size: 0.9em;
}
blockquote cite cite {
font-size: 1em;
}
blockquote cite:before, .uncited:before {
padding-right: 5px;
}
blockquote cite > span {
float: right;
font-weight: normal;
}
.postbody .content li blockquote {
overflow: inherit;
margin-left: 0;
}
/* Code block */
.codebox {
border: 1px solid transparent;
font-size: 1em;
margin: 1em 0 1.2em 0;
word-wrap: normal;
}
.codebox p {
text-transform: uppercase;
border-bottom: 1px solid transparent;
margin-bottom: 0;
padding: 3px;
font-size: 0.8em !important;
font-weight: bold;
display: block;
}
blockquote .codebox {
margin-left: 0;
}
.codebox code {
overflow: auto;
display: block;
height: auto;
max-height: 200px;
padding: 5px 3px;
font: 0.9em Monaco, "Andale Mono","Courier New", Courier, monospace;
line-height: 1.3em;
}
/* Attachments
----------------------------------------*/
.attachbox {
font-size: 13px;
float: left;
width: auto;
max-width: 100%;
margin: 5px 5px 5px 0;
padding: 6px;
border: 1px dashed transparent;
clear: left;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.attachbox dt {
font-family: Arial, Helvetica, sans-serif;
text-transform: uppercase;
}
.attachbox dd {
margin-top: 4px;
padding-top: 4px;
clear: left;
border-top: 1px solid transparent;
overflow-x: auto;
overflow-y: hidden;
}
.attachbox dd dd {
border: none;
}
.attachbox p {
line-height: 110%;
font-weight: normal;
clear: left;
}
.attachbox p.stats {
line-height: 110%;
font-weight: normal;
clear: left;
}
.attach-image {
margin: 3px 0;
max-width: 100%;
}
.attach-image img {
border: 1px solid transparent;
cursor: default;
}
/* Inline image thumbnails */
div.inline-attachment dl.thumbnail, div.inline-attachment dl.file {
display: block;
margin-bottom: 4px;
}
div.inline-attachment p {
font-size: 100%;
}
dl.file {
font-family: Verdana, Arial, Helvetica, sans-serif;
display: block;
}
dl.file dt {
text-transform: none;
margin: 0;
padding: 0;
font-weight: bold;
font-family: Verdana, Arial, Helvetica, sans-serif;
}
dl.file dd {
margin: 0;
padding: 0;
}
dl.thumbnail img {
padding: 3px;
border: 1px solid transparent;
box-sizing: border-box;
}
dl.thumbnail dd {
font-style: italic;
font-family: Verdana, Arial, Helvetica, sans-serif;
}
.attachbox dl.thumbnail dd {
font-size: 100%;
}
dl.thumbnail dt a:hover img {
border: 1px solid transparent;
}
/* Post poll styles
----------------------------------------*/
fieldset.polls {
font-family: "Trebuchet MS", Verdana, Helvetica, Arial, sans-serif;
}
fieldset.polls dl {
margin-top: 5px;
border-top: 1px solid transparent;
padding: 5px 0 0 0;
line-height: 120%;
}
fieldset.polls dl.voted {
font-weight: bold;
}
fieldset.polls dt {
text-align: left;
float: left;
display: block;
width: 30%;
border-right: none;
padding: 0;
margin: 0;
font-size: 1.1em;
}
fieldset.polls dd {
float: left;
width: 10%;
border-left: none;
padding: 0 5px;
margin-left: 0;
font-size: 1.1em;
}
fieldset.polls dd.resultbar {
width: 50%;
}
fieldset.polls dd input {
margin: 2px 0;
}
fieldset.polls dd div {
text-align: right;
font-family: Arial, Helvetica, sans-serif;
font-weight: bold;
padding: 2px 2px 0 2px;
overflow: visible;
min-width: 8px;
}
.pollbar1, .pollbar2, .pollbar3, .pollbar4, .pollbar5 {
border-bottom: 1px solid transparent;
border-right: 1px solid transparent;
}
.vote-submitted {
font-size: 1.2em;
font-weight: bold;
text-align: center;
}
/* Poster profile block
----------------------------------------*/
.postprofile {
margin: 5px 0 10px 0;
min-height: 80px;
border: 1px solid transparent;
border-width: 0 0 0 1px;
width: 22%;
float: right;
display: inline;
}
.postprofile dd, .postprofile dt {
line-height: 1.2em;
margin-left: 8px;
}
.postprofile dd {
overflow: hidden;
text-overflow: ellipsis;
}
.postprofile strong {
font-weight: normal;
}
.postprofile dt.no-profile-rank, .postprofile dd.profile-rank, .postprofile .search-result-date {
margin-bottom: 10px;
}
.profile-rank img {
max-width: 160px;
}
/* Post-profile avatars */
.postprofile .has-avatar .avatar-container {
margin-bottom: 3px;
overflow: hidden;
}
.postprofile .avatar {
display: block;
float: left;
max-width: 100%;
}
.postprofile .avatar img {
display: block;
height: auto !important;
max-width: 100%;
}
.postprofile .profile-posts a {
font-weight: normal;
}
dd.profile-warnings {
font-weight: bold;
}
dd.profile-contact {
overflow: visible;
}
.profile-contact .dropdown-container {
display: inline-block;
}
.profile-contact .icon_contact {
vertical-align: middle;
}
.profile-contact .dropdown {
margin-right: -14px;
}
.online {
background-image: none;
background-position: 100% 0;
background-repeat: no-repeat;
}
/* Poster profile used by search*/
.search .postprofile {
width: 30%;
}
/* Profile used on view-profile */
.profile-avatar img {
max-width: 100%;
}
/* pm list in compose message if mass pm is enabled */
dl.pmlist dt {
width: 60% !important;
}
dl.pmlist dt textarea {
width: 95%;
}
dl.pmlist dd {
margin-left: 61% !important;
margin-bottom: 2px;
}
.action-bar div.dl_links {
padding: 10px 0 0 10px;
}
div.dl_links {
display: inline-block;
text-transform: none;
}
.dl_links strong {
font-weight: bold;
}
.dl_links ul {
list-style-type: none;
margin: 0;
display: inline-block;
}
.dl_links li {
display: inline-block;
}
.attachment-filename {
width: 100%;
}
.ellipsis-text {
display: inline-block;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
table.fixed-width-table {
table-layout: fixed;
}
/* Show scrollbars for items with overflow on iOS devices
----------------------------------------*/
.postbody .content::-webkit-scrollbar, .topicreview::-webkit-scrollbar, .post_details::-webkit-scrollbar, .codebox code::-webkit-scrollbar, .attachbox dd::-webkit-scrollbar, .attach-image::-webkit-scrollbar, .dropdown-extended ul::-webkit-scrollbar {
width: 8px;
height: 8px;
-webkit-appearance: none;
background: rgba(0, 0, 0, .1);
border-radius: 3px;
}
.postbody .content::-webkit-scrollbar-thumb, .topicreview::-webkit-scrollbar-thumb, .post_details::-webkit-scrollbar-thumb, .codebox code::-webkit-scrollbar-thumb, .attachbox dd::-webkit-scrollbar-thumb, .attach-image::-webkit-scrollbar-thumb, .dropdown-extended ul::-webkit-scrollbar-thumb {
background: rgba(0, 0, 0, .3);
border-radius: 3px;
}
#memberlist tr.inactive, #team tr.inactive {
font-style: italic;
}

368
theme/cp.css Executable file
View file

@ -0,0 +1,368 @@
/* Control Panel Styles
---------------------------------------- */
/* Main CP box
----------------------------------------*/
.cp-menu {
float: left;
width: 19%;
margin-top: 1em;
margin-bottom: 5px;
}
.cp-main {
float: left;
width: 81%;
}
.cp-main .content {
padding: 0;
}
.panel-container .panel p {
font-size: 1.1em;
}
.panel-container .panel ol {
margin-left: 2em;
font-size: 1.1em;
}
.panel-container .panel li.row {
border-bottom: 1px solid transparent;
border-top: 1px solid transparent;
}
ul.cplist {
margin-bottom: 5px;
border-top: 1px solid transparent;
}
.panel-container .panel li.header dd, .panel-container .panel li.header dt {
margin-bottom: 2px;
}
.panel-container table.table1 {
margin-bottom: 1em;
}
.panel-container table.table1 thead th {
font-weight: bold;
border-bottom: 1px solid transparent;
padding: 5px;
}
.panel-container table.table1 tbody th {
font-style: italic;
background-color: transparent !important;
border-bottom: none;
}
.cp-main .pm-message {
border: 1px solid transparent;
margin: 10px 0;
width: auto;
float: none;
}
.pm-message h2 {
padding-bottom: 5px;
}
.cp-main .postbody h3, .cp-main .box2 h3 {
margin-top: 0;
}
.panel-container .postbody p.author {
font-size: 1.1em;
}
.cp-main .buttons {
margin-left: 0;
}
.cp-main ul.linklist {
margin: 0;
}
/* MCP Specific tweaks */
.mcp-main .postbody {
width: 100%;
}
.tabs-container h2 {
float: left;
margin-bottom: 0px;
}
/* CP tabs shared
----------------------------------------*/
.tabs, .minitabs {
line-height: normal;
}
.tabs > ul, .minitabs > ul {
list-style: none;
margin: 0;
padding: 0;
position: relative;
}
.tabs .tab, .minitabs .tab {
display: block;
float: left;
font-size: 1em;
font-weight: bold;
line-height: 1.4em;
}
.tabs .tab > a, .minitabs .tab > a {
display: block;
padding: 5px 9px;
position: relative;
text-decoration: none;
white-space: nowrap;
cursor: pointer;
}
/* CP tabbed menu
----------------------------------------*/
.tabs {
margin: 20px 0 0 7px;
}
.tabs .tab > a {
border: 1px solid transparent;
border-radius: 4px 4px 0 0;
margin: 1px 1px 0 0;
}
.tabs .activetab > a {
margin-top: 0;
padding-bottom: 7px;
}
/* Mini tabbed menu used in MCP
----------------------------------------*/
.minitabs {
float: right;
margin: 15px 7px 0 0;
max-width: 50%;
}
.minitabs .tab {
float: right;
}
.minitabs .tab > a {
border-radius: 5px 5px 0 0;
margin-left: 2px;
}
.minitabs .tab > a:hover {
text-decoration: none;
}
/* Responsive tabs
----------------------------------------*/
.responsive-tab {
position: relative;
}
.responsive-tab > a.responsive-tab-link {
display: block;
font-size: 1.6em;
position: relative;
width: 16px;
line-height: 0.9em;
text-decoration: none;
}
.responsive-tab .responsive-tab-link:before {
content: '';
position: absolute;
left: 10px;
top: 7px;
height: .125em;
width: 14px;
border-bottom: 0.125em solid transparent;
border-top: 0.375em double transparent;
}
.tabs .dropdown, .minitabs .dropdown {
top: 20px;
margin-right: -2px;
font-size: 1.1em;
font-weight: normal;
}
.minitabs .dropdown {
margin-right: -4px;
}
.tabs .dropdown-up .dropdown, .minitabs .dropdown-up .dropdown {
bottom: 20px;
top: auto;
}
.tabs .dropdown li {
text-align: right;
}
.minitabs .dropdown li {
text-align: left;
}
/* UCP navigation menu
----------------------------------------*/
/* Container for sub-navigation list */
.navigation {
width: 100%;
padding-top: 36px;
}
.navigation ul {
list-style: none;
}
/* Default list state */
.navigation li {
display: inline;
font-weight: bold;
margin: 1px 0;
padding: 0;
}
/* Link styles for the sub-section links */
.navigation a {
display: block;
padding: 5px;
margin: 1px 0;
text-decoration: none;
}
.navigation a:hover {
text-decoration: none;
}
/* Preferences pane layout
----------------------------------------*/
.cp-main h2 {
border-bottom: none;
padding: 0;
margin-left: 10px;
}
/* Friends list */
.cp-mini {
margin: 10px 15px 10px 5px;
max-height: 200px;
overflow-y: auto;
padding: 5px 10px;
border-radius: 7px;
}
dl.mini dt {
font-weight: bold;
}
dl.mini dd {
padding-top: 4px;
}
.friend-online {
font-weight: bold;
}
.friend-offline {
font-style: italic;
}
/* PM Styles
----------------------------------------*/
/* Defined rules list for PM options */
ol.def-rules {
padding-left: 0;
}
ol.def-rules li {
line-height: 180%;
padding: 1px;
}
/* PM marking colours */
.pmlist li.bg1 {
padding: 0 3px;
}
.pmlist li.bg2 {
padding: 0 3px;
}
.pmlist li.pm_message_reported_colour, .pm_message_reported_colour,
.pmlist li.pm_marked_colour, .pm_marked_colour,
.pmlist li.pm_replied_colour, .pm_replied_colour,
.pmlist li.pm_friend_colour, .pm_friend_colour,
.pmlist li.pm_foe_colour, .pm_foe_colour {
padding: 0;
border: solid 3px transparent;
border-width: 0 3px;
}
.pm-legend {
border-left-width: 10px;
border-left-style: solid;
border-right-width: 0;
margin-bottom: 3px;
padding-left: 3px;
}
/* Avatar gallery */
.gallery label {
position: relative;
float: left;
margin: 10px;
padding: 5px;
width: auto;
border: 1px solid transparent;
text-align: center;
}
/* Responsive *CP navigation
----------------------------------------*/
@media only screen and (max-width: 900px), only screen and (max-device-width: 900px)
{
.nojs .tabs a span, .nojs .minitabs a span {
max-width: 40px;
overflow: hidden;
text-overflow: ellipsis;
letter-spacing: -.5px;
}
.cp-menu, .navigation, .cp-main {
float: none;
width: auto;
margin: 0;
}
.navigation {
padding: 0;
margin: 0 auto;
max-width: 320px;
}
.navigation a {
background-image: none;
}
.navigation li:first-child a {
border-top-left-radius: 5px;
border-top-right-radius: 5px;
}
.navigation li:last-child a {
border-bottom-left-radius: 5px;
border-bottom-right-radius: 5px;
}
}

350
theme/css/mdui-custom.css Normal file
View file

@ -0,0 +1,350 @@
.sofia {
font-family: "Sofia", cursive;
}
.kuale {
font-family: 'ZCOOL KuaiLe', cursive;
}
.sc_notice {
overflow: hidden;
margin: 10px 0;
padding: 15px 15px 15px 35px;
border: 1px solid #aac66d;
background: #ecf2d6 url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAMAAAHpk4xqAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAKVQTFRFqsZtvNaEvdaFvteHvteIv9iJv9iKwNmMwdmNwdmOwtmOwtqPw9qQw9qRx92YyN2ZyN2ayN6byd6byd6c0eOq1ua01+e22Oe33uvD4e3I4u3J4u3K4+7M5O7N5O/O6PHW7fTe7/Xi7/bj8Pbk8/jp8/jq9Pjq9Pjr9Pns9fns9fnt9vrv+Prx+Pvy+Pvz+fvz+vz1+/34/P36/f78/v79/v/+////1tsuPQAAAQJJREFUKM+lkN1SwjAQRveUAqVqFaVVKFB+RBFaEEj2/R/Ni1AmqJ1xxu8mc3I2uzsRERGRZYRIDCKAiLiT4MkxUJ+BQQTMw7lOLpYcFGHfVxAslAiM3sBvcIkIMNbK2vBMCnCT5o4sHxrQWTtqaUa3XPzS5So/BlxTaGylk5q0B8ynjobPwAB1dGBAWrB1tIpuDwUYR0lFF3rnSma7iEzb9bxkfRw1TPeXpiF/U8nw/XRaj+6/q9ZMd1kE3azURdtXia3iujou9dFTKxu5+1Rf6JiNpw57eP3sp1oEwPboqaFmcLcpAvcy99fIddlzLaO5Tq+XD8dWTVUZtZPwn7/RmC+jnBV6oPkZWgAAAABJRU5ErkJggg==) -1px -1px no-repeat;
color: #7da33c
}
.sc_warn {
overflow: hidden;
margin: 10px 0;
padding: 15px 15px 15px 35px;
border: 1px solid #eac946;
background: #fff4b9 url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAMAAAHpk4xqAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAG9QTFRF6slG/9gA/9kG/9kJ/9oP/9sS/9wX/94k/94l/94q/98r/98s/+6O/+6P/+6Q/++U/++V/++Y//Ov//Ow//W7//W8//XA//jU//nW//nX//nY//nb//rc//3z//30//74//75//76///8///9////6hgjbAAAANFJREFUKM+lUIsOgjAMpGOgvMEXzhc4+v/faGkHGSqJiU3G7XrlelkQcCGC+wAAdyCHADaZcOAiRI0982fm5oJZhRpHB0ABKwBlO2qTgVfMKpoaQsforukUMzvRaYWp0RaPX1wW9bFgydRAJs3E6J4jVsIKt11Yv2DGZRGW0W2LaJ3LgZOpaV96eZQr2/3QsFK/SUluuu6cJ++SkjDyVsqXUsvNKGKwqScZmdda0HhSL604Frx7UiGt602w9GPU3NrtGepleFUN8sfQhH++xmq9AFOvGu1uyrj9AAAAAElFTkSuQmCC) -1px -1px no-repeat;
color: #ad9948
}
.sc_error {
overflow: hidden;
margin: 10px 0;
padding: 15px 15px 15px 35px;
border: 1px solid #ebb1b1;
background: #ffecea url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAMAAAHpk4xqAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJZQTFRFzGZmzWpqzmtrzmxszm1tz3Bw0HFx0HJy0HNz1H9/1YCA1YGB1oOD1oSE4KGh4KKi4aSk4aam5K2t5K+v6Lu76by86b296b6+6r+/6sDA6sHB67Gx68LC8dbW89vb89zc9N3d9uXl9+bm9+fn+Onp+Ovr+e7u+u/v+vDw+vHx/Pb2/fj4/fn5/vv7/vz8/v39//7+////tYx/FQAAAPJJREFUKM+lkNt2gjAQRbcoAXqlLSg18UKpoLY2mf//uT5ESrT1oct5ydrZJzNJ0Fpr9FqBTgENoLXG1z30m341WNDwdetzQxRmIMCuMgAWWoCy/gkwZHuqpLMuOpIA8Dj15ACYNJ5GkhO3qz+6hPWr/xlF1nYy70kSYGk8FU8AiKc9ypgXNp5qxfFJGsg6gMQduyy2ilzG/bys+SgvTA/olP+tsuLtcGjKm3M1Wsg2VxDnrazGocpsl/bptHV3gaqdGoZM7Hug9juIX40x5hnYfAaqkHw49SDT8BozWSdeqKWY08tHlRPbdVbcPLryNy7WN8NDGl8qJ1gWAAAAAElFTkSuQmCC) -1px -1px no-repeat;
color: #c66
}
.sc_tips {
overflow: hidden;
margin: 10px 0;
padding: 15px 15px 15px 35px;
border: 1px solid #ccc;
background: #eaeaea url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAAAAAH7JiOEAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAMFJREFUKM+dj10LgkAQRef//6WrYg89VGNUCkX0ISREJRSUVIjcHlZak7UHB5bh7BnmQ1RVRbGGKDyIAhBVFQQQwDwFYHKxM3mCuk5VpbYAnncIwAcgAHPzCZvqRr/EZ4PIhaUd6X8pHMLdpRnSVG7aMG7QLSkt7UlbyWqeWQoqXi1N8/HB0vvvPDf93NBPrcqt36HCuCAvDuWdSaaB31ZpdYxysnQ0nL1IvpKBaw0vi44kRw51KsKO5ZdR75NbqjM+WLgD/4OcHm0AAAAASUVORK5CYII=) -1px -1px no-repeat;
color: #777
}
.sc_blue {
overflow: hidden;
margin: 10px 0;
padding: 15px 15px 15px 35px;
border: 1px solid #4d99d2;
background: #dbe7f8 url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaBAMAAAEsY2FrAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAJFBMVEVNmdLv7+/w8PDz8/P09PT19fX39/f4+Pj5+fn7+/v9/f3////bGPI1AAAATklEQVQY02NgwAsCMETYDBgYtgDpDVjVcydA6N0MqDSxgBtKK0xA0b8LKsy1EVV5AwOFYAIKjxXZudxIHC4G7p0IHvvu7aiO3o03xEgDAEXXDKrkFyZ+AAAAAElFTkSuQmCC) -1px -1px no-repeat;
color: #4d99d2
}
.alert {
margin-bottom: 20px;
padding: 10px 35px 10px 14px;
border: 1px solid #fbeed5;
border-radius: 2px;
background-color: #fcf8e3;
text-shadow: 0 1px 0 rgba(255, 255, 255, .5)
}
.alert {
color: #c09853
}
.alert .close {
position: relative;
top: 0;
right: -21px;
line-height: 1.25rem
}
.alert-success {
border-color: #d6e9c6;
background-color: #dff0d8;
color: #56af45
}
.alert-error {
border-color: #eed3d7;
background-color: #f2dede;
color: #d9534f
}
.alert-info {
border-color: #bce8f1;
background-color: #d9edf7;
color: #3a87ad
}
.ipage {
line-height:30px;
margin:0 auto;
padding:15px 32px 29px;
background-color:#f9f9f9;
box-shadow:0 2px 5px 0 rgba(0,0,0,.26);
-moz-border-radius-bottomleft:20px 500px;
-moz-border-radius-bottomright:500px 30px;
-moz-border-radius-topright:5px 100px;
-webkit-border-bottom-left-radius:20px 500px;
-webkit-border-bottom-right-radius:64px 10px;
-webkit-border-top-right-radius:5px 100px;
border-bottom-left-radius:20px 500px;
border-bottom-right-radius:64px 10px;
border-top-right-radius:5px 100px;
-webkit-background-size:100% 30px;
-moz-box-shadow:0 2px 10px 1px rgba(0,0,0,.2);
-webkit-box-shadow:0 2px 10px 1px rgba(0,0,0,.2);
text-shadow:0 1px 0 #f6ef97;
position:relative;
top:0;
left:0;
z-index:2;
height:auto;
background:repeating-linear-gradient(to bottom,#f9f9f9,#f9f9f9 31px,#6ba2d8 1px,#f9f9f9);
background-size:100% 32px
}
.ipage p {
position:relative;
line-height:2.2rem!important;
text-indent:2em;
font-family:'Architects Daughter',cursive!important;
font-size:1.45rem!important
}
.ipage::before {
content:" ";
display:inline-block;
position:absolute;
top:0;
bottom:0;
right:52px;
z-index:4;
width:4px;
height:100%;
border-left:1px solid #fca1a1
}
.ipage:after {
content:" ";
display:inline-block;
position:absolute;
top:0;
bottom:0;
left:52px;
z-index:3;
width:4px;
height:100%;
border-left:4px double #fca1a1
}
.ipage p {
padding:0 2em;
color:#333!important
}
body.dark .ipage {
opacity:.85
}
@media only screen and (max-width:600px) {
.ipage {
padding:15px 23px 29px
}
.ipage:after {
left:36px
}
.ipage::before {
right:36px
}
.ipage p {
padding:0 .9em
}
}
p.time {
margin-bottom: 0;
}
div.time-container {
border-radius: 7px;
}
.icon-m-b-4 {
margin-bottom: 4px;
}
.forabg-index-right {
border-top-left-radius: 0;
border-top-right-radius: 7px;
border-bottom-right-radius: 7px;
border-bottom-left-radius: 7px;
}
.forabg-index-left {
border-top-left-radius: 7px;
border-top-right-radius: 0;
border-bottom-right-radius: 7px;
border-bottom-left-radius: 7px;
}
.margin-t-3 {
margin-top: 3px;
}
#margin-t-0 {
margin-top: 0;
}
#margin-agreement-h2-t {
margin-top: 0.5em;
}
.pagination-text-align-center {
float: unset;
text-align: center;
}
.margin-t-1 {
margin-top: 1px;
}
.margin-t-0 {
margin-top: 0;
}
.margin-t-0-4-em {
margin-top: 0.4em;
}
.margin-b-0 {
margin-bottom: 0;
}
.margin-b-3 {
margin-bottom: 3px;
}
.margin-l-0 {
margin-left: 0;
}
.padding-top-0 {
padding-top: 0;
}
.padding-left-0 {
padding-left: 0;
}
.padding-0 {
padding: 0;
}
ul.linklist > li {
line-height: 1.5em;
}
div #phpbb_announcement {
margin: 0;
}
div.wrap {
max-width: 1200px;
}
dd.resultbar > input.button1 {
padding: 0;
font-size: 0.8em;
background-image: none;
}
dd.resultbar > a > button.mdui-btn {
padding: 0;
font-weight: bold;
}
fieldset.fields1 > dl > dt {
width: 6em;
}
fieldset.fields1 dd.margin-l-0 {
margin-left: 0;
}
div.mdui-typo a.postlink {
border-bottom-color: unset;
border-bottom: unset;
}
div.mdui-typo a.postlink:hover {
color: unset;
}
div#abbc3_buttons {
margin: 0 0 2px;
}
@media (max-width: 600px) {
div.index-left > div.forabg-index-left {
border-top-left-radius: 0;
}
fieldset.quick-login input.inputbox {
margin-left: 0;
}
}
@media (min-width: 600px) and (max-width: 1024px) {
div.index-right > div.forabg-index-right {
border-top-left-radius: 0;
border-top-right-radius: 0;
}
#page-header > div.mdui-container-fluid {
margin-right: -5px;
margin-left: -5px;
}
div.inner > div.mdui-col-xs-4 {
display: none;
}
#page-body > div.time-container {
/* margin-left: -5px;
margin-right: -5px; */
border-radius: 0;
}
#page-header > div > div.mdui-row {
margin-left: -4px;
margin-right: -4px;
}
div #phpbb_announcement {
margin: 0;
border-radius: 7px;
}
}
@media (min-width: 600px) and (max-width: 700px) {
#page-body > div.time-container {
margin-left: -5px;
margin-right: -5px;
border-radius: 0;
}
#page-header > div > div.mdui-row {
margin-left: -8px;
margin-right: -8px;
}
div #phpbb_announcement {
margin: 0 -5px;
border-radius: 0;
}
}

BIN
theme/en/icon_user_online.gif Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 423 B

2
theme/en/stylesheet.css Executable file
View file

@ -0,0 +1,2 @@
/* Online image */
.online { background-image: url("./icon_user_online.gif"); }

429
theme/forms.css Executable file
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: 14px;
}
.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%; }

96
theme/icons.css Executable file
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-family: FontAwesome;
font-weight: normal;
font-style: normal;
font-variant: normal;
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 */
}

BIN
theme/images/announce_read.gif Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

BIN
theme/images/announce_unread.gif Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

BIN
theme/images/forum_link.gif Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

BIN
theme/images/forum_read.gif Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

BIN
theme/images/forum_unread.gif Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

BIN
theme/images/icons_contact.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

0
theme/images/index.htm Executable file
View file

BIN
theme/images/loading.gif Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
theme/images/no_avatar.gif Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 930 B

BIN
theme/images/plupload/done.gif Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 KiB

BIN
theme/images/plupload/error.gif Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 994 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

6
theme/images/site_logo.svg Executable file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 33 KiB

BIN
theme/images/sticky_read.gif Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

BIN
theme/images/sticky_read_mine.gif Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

BIN
theme/images/sticky_unread.gif Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

BIN
theme/images/topic_moved.gif Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

BIN
theme/images/topic_read.gif Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

BIN
theme/images/topic_read_hot.gif Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

BIN
theme/images/topic_read_mine.gif Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

BIN
theme/images/topic_unread.gif Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

BIN
theme/images/topic_unread_hot.gif Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

0
theme/index.htm Executable file
View file

197
theme/links.css Executable file
View file

@ -0,0 +1,197 @@
/* Link Styles
---------------------------------------- */
/* Links adjustment to correctly display an order of rtl/ltr mixed content */
a {
direction: ltr;
unicode-bidi: embed;
text-decoration: none;
/* we use links inline more often then not so to address several bugs with
IE and some other browsers we render all links as inlineblock by default */
display: inline-block;
}
/* Coloured usernames */
.username-coloured {
font-weight: bold;
display: inline !important;
padding: 0 !important;
}
/* Links on gradient backgrounds */
.forumbg .header a, .forabg .header a, th a {
text-decoration: none;
}
.forumbg .header a:hover, .forabg .header a:hover, th a:hover {
text-decoration: underline;
}
/* Notification mark read link */
.dropdown-extended a.mark_read {
background-position: center center;
background-repeat: no-repeat;
border-radius: 3px 0 0 3px;
display: none;
margin-top: -20px;
position: absolute;
z-index: 2;
right: 0;
top: 50%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.dropdown-extended li:hover a.mark_read {
display: block;
}
.dropdown-extended a.mark_read:hover {
width: 50px;
}
.jumpbox-cat-link,
.jumpbox-forum-link { font-weight: bold; }
/* Links for forum/topic lists */
a.forumtitle {
font-family: "Trebuchet MS", Helvetica, Arial, Sans-serif;
font-size: 1.2em;
font-weight: bold;
text-decoration: none;
}
a.forumtitle:hover {
text-decoration: underline;
}
a.topictitle {
font-family: "Trebuchet MS", Helvetica, Arial, Sans-serif;
font-size: 1.2em;
font-weight: bold;
text-decoration: none;
display: inline;
}
a.topictitle:hover {
text-decoration: underline;
}
a.lastsubject {
font-weight: bold;
text-decoration: none;
}
a.lastsubject:hover {
text-decoration: underline;
}
.row-item a:hover {
text-decoration: none;
}
.row-item .forumtitle:hover,
.row-item .topictitle:hover,
.row-item .lastsubject:hover,
.row-item .subforum:hover,
.row-item a.username:hover,
.row-item a.username-coloured:hover {
text-decoration: underline;
}
/* Post body links */
.postlink {
text-decoration: none;
border-bottom: 1px solid transparent;
padding-bottom: 0;
}
.postlink:hover {
text-decoration: none;
}
.signature a, .signature a:hover {
border: none;
text-decoration: underline;
}
/* Profile links */
.postprofile a, .postprofile dt.author a {
font-weight: bold;
text-decoration: none;
}
.postprofile a:hover, .postprofile dt.author a:hover {
text-decoration: underline;
}
/* Profile searchresults */
.search .postprofile a {
text-decoration: none;
font-weight: normal;
}
.search .postprofile a:hover {
text-decoration: underline;
}
.top {
font-size: 12px;
text-decoration: none;
margin-top: 10px;
}
/* Back to top of page */
.back2top {
clear: both;
}
.back2top .top {
float: right;
margin-right: -10px;
margin-top: 0;
}
/* Arrow links */
.arrow-up {
padding-left: 10px;
text-decoration: none;
border-bottom-width: 0;
}
.arrow-up:hover { }
.arrow-down {
padding-right: 10px;
}
.arrow-down:hover { }
.arrow-left:hover {
text-decoration: none;
}
.arrow-right:hover {
text-decoration: none;
}
/* invisible skip link, used for accessibility */
.skiplink {
position: absolute;
left: -999px;
width: 990px;
}
/* Feed icon in forumlist_body.html */
a.feed-icon-forum {
float: right;
margin: 3px;
}
a.anchor {
display: block;
}

424
theme/normalize.css vendored Executable file
View file

@ -0,0 +1,424 @@
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
/**
* 1. Set default font family to sans-serif.
* 2. Prevent iOS and IE text size adjust after device orientation change,
* without disabling user zoom.
*/
html {
font-family: sans-serif; /* 1 */
-ms-text-size-adjust: 100%; /* 2 */
-webkit-text-size-adjust: 100%; /* 2 */
}
/**
* Remove default margin.
*/
body {
margin: 0;
}
/* HTML5 display definitions
========================================================================== */
/**
* Correct `block` display not defined for any HTML5 element in IE 8/9.
* Correct `block` display not defined for `details` or `summary` in IE 10/11
* and Firefox.
* Correct `block` display not defined for `main` in IE 11.
*/
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
display: block;
}
/**
* 1. Correct `inline-block` display not defined in IE 8/9.
* 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
*/
audio,
canvas,
progress,
video {
display: inline-block; /* 1 */
vertical-align: baseline; /* 2 */
}
/**
* Prevent modern browsers from displaying `audio` without controls.
* Remove excess height in iOS 5 devices.
*/
audio:not([controls]) {
display: none;
height: 0;
}
/**
* Address `[hidden]` styling not present in IE 8/9/10.
* Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
*/
[hidden],
template {
display: none;
}
/* Links
========================================================================== */
/**
* Remove the gray background color from active links in IE 10.
*/
a {
background-color: transparent;
}
/**
* Improve readability of focused elements when they are also in an
* active/hover state.
*/
a:active,
a:hover {
outline: 0;
}
/* Text-level semantics
========================================================================== */
/**
* Address styling not present in IE 8/9/10/11, Safari, and Chrome.
*/
abbr[title] {
border-bottom: 1px dotted;
}
/**
* Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
*/
b,
strong {
font-weight: bold;
}
/**
* Address styling not present in Safari and Chrome.
*/
dfn {
font-style: italic;
}
/**
* Address variable `h1` font-size and margin within `section` and `article`
* contexts in Firefox 4+, Safari, and Chrome.
*/
h1 {
font-size: 2em;
margin: 0.67em 0;
}
/**
* Address styling not present in IE 8/9.
*/
mark {
background: #ff0;
color: #000;
}
/**
* Address inconsistent and variable font size in all browsers.
*/
small {
font-size: 80%;
}
/**
* Prevent `sub` and `sup` affecting `line-height` in all browsers.
*/
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sup {
top: -0.5em;
}
sub {
bottom: -0.25em;
}
/* Embedded content
========================================================================== */
/**
* Remove border when inside `a` element in IE 8/9/10.
*/
img {
border: 0;
}
/**
* Correct overflow not hidden in IE 9/10/11.
*/
svg:not(:root) {
overflow: hidden;
}
/* Grouping content
========================================================================== */
/**
* Address margin not present in IE 8/9 and Safari.
*/
figure {
margin: 1em 40px;
}
/**
* Address differences between Firefox and other browsers.
*/
hr {
box-sizing: content-box;
height: 0;
}
/**
* Contain overflow in all browsers.
*/
pre {
overflow: auto;
}
/**
* Address odd `em`-unit font size rendering in all browsers.
*/
code,
kbd,
pre,
samp {
font-family: monospace, monospace;
font-size: 1em;
}
/* Forms
========================================================================== */
/**
* Known limitation: by default, Chrome and Safari on OS X allow very limited
* styling of `select`, unless a `border` property is set.
*/
/**
* 1. Correct color not being inherited.
* Known issue: affects color of disabled elements.
* 2. Correct font properties not being inherited.
* 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
*/
button,
input,
optgroup,
select,
textarea {
color: inherit; /* 1 */
font: inherit; /* 2 */
margin: 0; /* 3 */
}
/**
* Address `overflow` set to `hidden` in IE 8/9/10/11.
*/
button {
overflow: visible;
}
/**
* Address inconsistent `text-transform` inheritance for `button` and `select`.
* All other form control elements do not inherit `text-transform` values.
* Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
* Correct `select` style inheritance in Firefox.
*/
button,
select {
text-transform: none;
}
/**
* 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
* and `video` controls.
* 2. Correct inability to style clickable `input` types in iOS.
* 3. Improve usability and consistency of cursor style between image-type
* `input` and others.
*/
button,
html input[type="button"], /* 1 */
input[type="reset"],
input[type="submit"] {
-webkit-appearance: button; /* 2 */
cursor: pointer; /* 3 */
}
/**
* Re-set default cursor for disabled elements.
*/
button[disabled],
html input[disabled] {
cursor: default;
}
/**
* Remove inner padding and border in Firefox 4+.
*/
button::-moz-focus-inner,
input::-moz-focus-inner {
border: 0;
padding: 0;
}
/**
* Address Firefox 4+ setting `line-height` on `input` using `!important` in
* the UA stylesheet.
*/
input {
line-height: normal;
}
/**
* It's recommended that you don't attempt to style these elements.
* Firefox's implementation doesn't respect box-sizing, padding, or width.
*
* 1. Address box sizing set to `content-box` in IE 8/9/10.
* 2. Remove excess padding in IE 8/9/10.
*/
input[type="checkbox"],
input[type="radio"] {
box-sizing: border-box; /* 1 */
padding: 0; /* 2 */
}
/**
* Fix the cursor style for Chrome's increment/decrement buttons. For certain
* `font-size` values of the `input`, it causes the cursor style of the
* decrement button to change from `default` to `text`.
*/
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
height: auto;
}
/**
* 1. Address `appearance` set to `searchfield` in Safari and Chrome.
* 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
*/
input[type="search"] {
-webkit-appearance: textfield; /* 1 */
box-sizing: content-box; /* 2 */
}
/**
* Remove inner padding and search cancel button in Safari and Chrome on OS X.
* Safari (but not Chrome) clips the cancel button when the search input has
* padding (and `textfield` appearance).
*/
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
/**
* Define consistent border, margin, and padding.
*/
fieldset {
border: 1px solid #c0c0c0;
margin: 0 2px;
padding: 0.35em 0.625em 0.75em;
}
/**
* 1. Correct `color` not being inherited in IE 8/9/10/11.
* 2. Remove padding so people aren't caught out if they zero out fieldsets.
*/
legend {
border: 0; /* 1 */
padding: 0; /* 2 */
}
/**
* Remove default vertical scrollbar in IE 8/9/10/11.
*/
textarea {
overflow: auto;
}
/**
* Don't inherit the `font-weight` (applied by a rule above).
* NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
*/
optgroup {
font-weight: bold;
}
/* Tables
========================================================================== */
/**
* Remove most spacing between table cells.
*/
table {
border-collapse: collapse;
border-spacing: 0;
}
td,
th {
padding: 0;
}

90
theme/plupload.css Executable file
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;
}

150
theme/print.css Executable file
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 */

577
theme/responsive.css Executable file
View file

@ -0,0 +1,577 @@
/* Responsive Design
---------------------------------------- */
@media (max-width: 320px) {
select, .inputbox {
max-width: 240px;
}
}
/* Notifications list
----------------------------------------*/
@media (max-width: 350px) {
.dropdown-extended .dropdown-contents {
width: auto;
}
}
@media (max-width: 430px) {
.action-bar .search-box .inputbox {
width: 120px;
}
.section-viewtopic .search-box .inputbox {
width: 57px;
}
.action-bar .search-box .inputbox ::-moz-placeholder {
content: "Search...";
}
.action-bar .search-box .inputbox :-ms-input-placeholder {
content: "Search...";
}
.action-bar .search-box .inputbox ::-webkit-input-placeholder {
content: "Search...";
}
}
@media (max-width: 500px) {
dd label {
white-space: normal;
}
select, .inputbox {
max-width: 260px;
}
.captcha-panel dd.captcha {
margin-left: 0;
}
.captcha-panel dd.captcha-image img {
width: 100%;
}
dl.details dt, dl.details dd {
width: auto;
float: none;
text-align: left;
}
dl.details dd {
margin-left: 20px;
}
p.responsive-center {
float: none;
text-align: center;
margin-bottom: 5px;
}
.action-bar > div {
margin-bottom: 5px;
}
.action-bar > .pagination {
float: none;
clear: both;
padding-bottom: 1px;
text-align: center;
}
.action-bar > .pagination li.page-jump {
margin: 0 2px;
}
p.jumpbox-return {
display: none;
}
.display-options > label:nth-child(1) {
display: block;
margin-bottom: 5px;
}
.attach-controls {
margin-top: 5px;
width: 100%;
}
.quick-links .dropdown-trigger span {
display: none;
}
}
@media (max-width: 550px) {
ul.topiclist.forums dt {
margin-right: 0;
}
ul.topiclist.forums dt .list-inner {
margin-right: 0;
}
ul.topiclist.forums dd.lastpost {
display: none;
}
}
@media (max-width: 700px) {
.responsive-hide { display: none !important; }
.responsive-show { display: block !important; }
.responsive-show-inline { display: inline !important; }
.responsive-show-inline-block { display: inline-block !important; }
/* Content wrappers
----------------------------------------*/
html {
height: auto;
}
body {
padding: 0;
}
.wrap {
border: none;
border-radius: 0;
margin: 0;
min-width: 290px;
padding: 0 5px;
}
/* Common block wrappers
----------------------------------------*/
.headerbar, .navbar, .forabg, .forumbg, .post, .panel {
border-radius: 0;
margin-left: -5px;
margin-right: -5px;
}
.cp-main .forabg, .cp-main .forumbg, .cp-main .post, .cp-main .panel {
border-radius: 7px;
}
/* Logo block
----------------------------------------*/
.site-description {
float: none;
width: auto;
text-align: center;
}
.logo {
/* change display value to inline-block to show logo */
display: none;
float: none;
padding: 10px;
}
.site-description h1, .site-description p {
text-align: inherit;
float: none;
margin: 5px;
line-height: 1.2em;
overflow: hidden;
text-overflow: ellipsis;
}
.site-description p, .search-header {
display: none;
}
/* Navigation
----------------------------------------*/
.headerbar + .navbar {
margin-top: -5px;
}
/* Search
----------------------------------------*/
.responsive-search { display: block !important; }
/* .topiclist lists
----------------------------------------*/
li.header dt {
text-align: center;
text-transform: none;
line-height: 1em;
font-size: 1.2em;
padding-bottom: 4px;
}
ul.topiclist li.header dt, ul.topiclist li.header dt .list-inner {
margin-right: 0 !important;
padding-right: 0;
}
ul.topiclist li.header dd {
display: none !important;
}
ul.topiclist dt, ul.topiclist dt .list-inner,
ul.topiclist.missing-column dt, ul.topiclist.missing-column dt .list-inner,
ul.topiclist.two-long-columns dt, ul.topiclist.two-long-columns dt .list-inner,
ul.topiclist.two-columns dt, ul.topiclist.two-columns dt .list-inner {
margin-right: 0;
}
ul.topiclist dt .list-inner.with-mark {
padding-right: 34px;
}
ul.topiclist dt .list-inner {
min-height: 28px;
}
ul.topiclist li.header dt .list-inner {
min-height: 0;
}
ul.topiclist dd {
display: none;
}
ul.topiclist dd.mark {
display: block;
}
/* Forums and topics lists
----------------------------------------*/
ul.topiclist.forums dt {
margin-right: -250px;
}
ul.topiclist dd.mark {
display: block;
position: absolute;
right: 5px;
top: 0;
margin: 0;
width: auto;
min-width: 0;
text-align: left;
}
ul.topiclist.forums dd.topics dfn, ul.topiclist.topics dd.posts dfn {
position: relative;
left: 0;
width: auto;
display: inline;
font-weight: normal;
}
li.row .responsive-show strong {
font-weight: bold;
color: inherit;
}
ul.topiclist li.row dt a.subforum {
vertical-align: bottom;
overflow: hidden;
text-overflow: ellipsis;
max-width: 100px;
}
/* Pagination
----------------------------------------*/
.pagination > ul {
margin: 5px 0 0;
}
.row .pagination .ellipsis + li {
display: none !important;
}
/* Responsive tables
----------------------------------------*/
table.responsive, table.responsive tbody, table.responsive tr, table.responsive td {
display: block;
}
table.responsive thead, table.responsive th {
display: none;
}
table.responsive.show-header thead, table.responsive.show-header th:first-child {
display: block;
width: auto !important;
text-align: left !important;
}
table.responsive.show-header th:first-child span.rank-img {
display: none;
}
table.responsive tr {
margin: 2px 0;
}
table.responsive td {
width: auto !important;
text-align: left !important;
padding: 4px;
}
table.responsive td.empty {
display: none !important;
}
table.responsive td > dfn {
display: inline-block !important;
}
table.responsive td > dfn:after {
content: ':';
padding-right: 5px;
}
table.responsive span.rank-img {
float: none;
padding-right: 5px;
}
table.responsive.memberlist td:first-child input[type="checkbox"] {
float: right;
}
/* Forms
----------------------------------------*/
fieldset dt, fieldset.fields1 dt, fieldset.fields2 dt {
width: auto;
float: none;
}
fieldset dd, fieldset.fields1 dd, fieldset.fields2 dd {
margin-left: 0;
}
textarea, dd textarea, .message-box textarea {
width: 100%;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
dl.pmlist dt {
width: auto !important;
margin-bottom: 5px;
}
dl.pmlist dd {
display: inline-block;
margin-left: 0 !important;
}
dl.pmlist dd:first-of-type {
padding-left: 20px;
}
.smiley-box, .message-box {
float: none;
width: auto;
}
.smiley-box {
margin-top: 5px;
}
.bbcode-status {
display: none;
}
.colour-palette, .colour-palette tbody, .colour-palette tr {
display: block;
}
.colour-palette td {
display: inline-block;
margin-right: 2px;
}
.horizontal-palette td:nth-child(2n), .vertical-palette tr:nth-child(2n) {
display: none;
}
fieldset.quick-login label {
display: block;
margin-bottom: 5px;
white-space: normal;
}
fieldset.quick-login label > span {
display: inline-block;
min-width: 100px;
}
fieldset.quick-login input.inputbox {
width: 85%;
max-width: 300px;
margin-left: 20px;
}
fieldset.quick-login label[for="autologin"] {
display: inline-block;
text-align: right;
min-width: 50%;
}
/* User profile
----------------------------------------*/
.column1, .column2, .left-box.profile-details {
float: none;
width: auto;
clear: both;
}
/* Polls
----------------------------------------*/
fieldset.polls dt {
width: 90%;
}
fieldset.polls dd.resultbar {
padding-left: 20px;
}
fieldset.polls dd.poll_option_percent {
width: 20%;
}
fieldset.polls dd.resultbar, fieldset.polls dd.poll_option_percent {
margin-top: 5px;
}
/* Post
----------------------------------------*/
.postbody {
position: inherit;
}
.postprofile, .postbody, .search .postbody {
display: block;
width: auto;
float: none;
padding: 0;
min-height: 0;
}
.post .postprofile {
width: auto;
border-width: 0 0 1px 0;
padding-bottom: 5px;
margin: 0 0 5px 0;
min-height: 40px;
overflow: hidden;
}
.postprofile dd {
display: none;
}
.postprofile dt, .postprofile dd.profile-rank, .search .postprofile dd {
display: block;
margin: 0;
}
.postprofile .has-avatar .avatar-container {
margin: 0;
overflow: inherit;
}
.postprofile .avatar-container:after {
clear: none;
}
.postprofile .avatar {
margin-right: 5px;
}
.postprofile .avatar img {
width: auto !important;
height: auto !important;
max-height: 32px;
}
.has-profile .postbody h3 {
margin-left: 0 !important;
margin-right: 0 !important;
}
.has-profile .post-buttons {
right: 30px;
top: 15px;
}
.online {
background-size: 40px;
}
/* Misc stuff
----------------------------------------*/
h2 {
margin-top: .5em;
}
p {
margin-bottom: .5em;
overflow: hidden;
}
p.rightside {
margin-bottom: 0;
}
fieldset.display-options label {
display: block;
clear: both;
margin-bottom: 5px;
}
dl.mini dd.pm-legend {
float: left;
min-width: 200px;
}
.topicreview {
margin: 0 -5px;
padding: 0 5px;
}
fieldset.display-actions {
white-space: normal;
}
.phpbb_alert {
width: auto;
margin: 0 5px;
}
.attach-comment dfn {
width: 100%;
}
}
@media (min-width: 701px) {
.postbody {
width: calc(100% - 200px - 1px - 16px);
}
.postprofile {
width: 200px;
}
}
@media (min-width: 701px) and (max-width: 950px) {
ul.topiclist dt {
margin-right: -410px;
}
ul.topiclist dt .list-inner {
margin-right: 410px;
}
dd.posts, dd.topics, dd.views {
width: 80px;
}
}

22
theme/stylesheet.css Executable file
View file

@ -0,0 +1,22 @@
/* 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?hash=48eb3f89");
@import url("base.css?hash=7c5543be");
@import url("utilities.css?hash=d8f72c42");
@import url("common.css?hash=a9741ba1");
@import url("links.css?hash=18286e16");
@import url("content.css?hash=be57a41d");
@import url("buttons.css?hash=56f0d25f");
@import url("cp.css?hash=50d868ab");
@import url("forms.css?hash=b64464fb");
@import url("icons.css?hash=64da33ce");
@import url("colours.css?hash=fcb2f289");
@import url("responsive.css?hash=87b53e08");
@import url("css/mdui-custom.css");

33
theme/tweaks.css Executable file
View file

@ -0,0 +1,33 @@
/* Style Sheet Tweaks
These style definitions are IE 8 & 9 only.
They are required due to the poor CSS support in IE browsers.
------------------------------------------------------------------------------*/
/* IE 8 Tweaks (value)\9 equates to IE <= 8
------------------------------------------------------------------------------*/
/* Clear float fix */
.inner, ul.linklist { zoom: 1\9; }
/* Align checkboxes/radio buttons nicely */
dd label input { vertical-align: text-bottom\9; }
/* Fixes header-avatar aspect-ratio */
.header-avatar img { height: 20px\9; }
/* IE8 often can't handle max-width in %, so we use px instead */
.postprofile .avatar img { max-width: 150px\9; }
/* IE 9 Tweaks
------------------------------------------------------------------------------*/
/* Border-radius bleed fix in IE9 */
.search-header, .search-header .inputbox, .search-header a.button {
border-radius: 0;
}
.tabs .tab > a {
border-radius: 0;
}

66
theme/utilities.css Executable file
View file

@ -0,0 +1,66 @@
/* --------------------------------------------------------------
$Utilities
-------------------------------------------------------------- */
.sr-only {
position: absolute;
width: 1px;
height: 1px;
margin: -1px;
padding: 0;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0;
}
.sr-only-focusable:active,
.sr-only-focusable:focus {
position: static;
width: auto;
height: auto;
margin: 0;
overflow: visible;
clip: auto;
}
.clearfix:before,
.clearfix:after,
.container:before,
.container:after,
.container-fluid:before,
.container-fluid:after,
.row:before,
.row:after {
content: " ";
display: table;
}
.clearfix:after,
.container:after,
.container-fluid:after,
.row:after { clear: both; }
.center-block {
display: block;
margin-left: auto;
margin-right: auto;
}
.pull-right { float: right !important; }
.pull-left { float: left !important; }
.hide { display: none !important; }
.show { display: block !important; }
.invisible { visibility: hidden; }
.text-hide {
font: 0/0 a;
color: transparent;
text-shadow: none;
background-color: transparent;
border: 0;
}
.hidden {
display: none;
}
.affix { position: fixed; }

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

View file

@ -0,0 +1,2 @@
/* language specific styles go here */
.online { background-image: url("./icon_user_online.gif"); }