Gentoo Archives: gentoo-commits

From: Jimi Huotari <chiitoo@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/forums:styles/gentoo-light commit in: theme/, template/profilefields/, theme/en/, template/, theme/images/plupload/, ...
Date: Thu, 06 Feb 2020 08:41:03
Message-Id: 1580976893.cc385a49386a381479febfc01c9561bb1bc98615.chiitoo@gentoo
1 commit: cc385a49386a381479febfc01c9561bb1bc98615
2 Author: Jimi Huotari <chiitoo <AT> gentoo <DOT> org>
3 AuthorDate: Thu Feb 6 08:11:56 2020 +0000
4 Commit: Jimi Huotari <chiitoo <AT> gentoo <DOT> org>
5 CommitDate: Thu Feb 6 08:14:53 2020 +0000
6 URL: https://gitweb.gentoo.org/proj/forums.git/commit/?id=cc385a49
7
8 Add a stylish skeleton.
9
10 Use 'prosilver' as a base, copying everything over so as to keep the
11 style self-contained.
12
13 Signed-off-by: Jimi Huotari <chiitoo <AT> gentoo.org>
14
15 template/ajax.js | 394 ++++++++
16 template/attachment.html | 48 +
17 template/bbcode.html | 75 ++
18 template/captcha_default.html | 24 +
19 template/captcha_qa.html | 21 +
20 template/captcha_recaptcha.html | 30 +
21 template/confirm_body.html | 35 +
22 template/confirm_delete_body.html | 72 ++
23 template/display_options.html | 27 +
24 template/drafts.html | 49 +
25 template/faq_body.html | 50 +
26 template/forum_fn.js | 937 +++++++++++++++++++
27 template/forumlist_body.html | 137 +++
28 template/index.htm | 0
29 template/index_body.html | 80 ++
30 template/jumpbox.html | 50 +
31 template/login_body.html | 69 ++
32 template/login_body_oauth.html | 6 +
33 template/login_forum.html | 42 +
34 template/mcp_approve.html | 81 ++
35 template/mcp_ban.html | 135 +++
36 template/mcp_footer.html | 8 +
37 template/mcp_forum.html | 155 ++++
38 template/mcp_front.html | 193 ++++
39 template/mcp_header.html | 49 +
40 template/mcp_logs.html | 88 ++
41 template/mcp_message.html | 8 +
42 template/mcp_move.html | 73 ++
43 template/mcp_notes_front.html | 28 +
44 template/mcp_notes_user.html | 121 +++
45 template/mcp_post.html | 362 ++++++++
46 template/mcp_queue.html | 123 +++
47 template/mcp_reports.html | 112 +++
48 template/mcp_topic.html | 202 ++++
49 template/mcp_warn_front.html | 97 ++
50 template/mcp_warn_list.html | 70 ++
51 template/mcp_warn_post.html | 78 ++
52 template/mcp_warn_user.html | 62 ++
53 template/mcp_whois.html | 22 +
54 template/memberlist_body.html | 179 ++++
55 template/memberlist_email.html | 107 +++
56 template/memberlist_im.html | 46 +
57 template/memberlist_search.html | 87 ++
58 template/memberlist_team.html | 47 +
59 template/memberlist_view.html | 142 +++
60 template/message_body.html | 25 +
61 template/navbar_footer.html | 69 ++
62 template/navbar_header.html | 210 +++++
63 template/notification_dropdown.html | 47 +
64 template/overall_footer.html | 120 +++
65 template/overall_header.html | 131 +++
66 template/pagination.html | 30 +
67 template/plupload.html | 68 ++
68 template/posting_attach_body.html | 93 ++
69 template/posting_body.html | 6 +
70 template/posting_buttons.html | 126 +++
71 template/posting_editor.html | 196 ++++
72 template/posting_layout.html | 86 ++
73 template/posting_pm_header.html | 83 ++
74 template/posting_pm_layout.html | 43 +
75 template/posting_poll_body.html | 53 ++
76 template/posting_preview.html | 51 +
77 template/posting_review.html | 44 +
78 template/posting_smilies.html | 25 +
79 template/posting_topic_review.html | 89 ++
80 template/profilefields/bool.html | 7 +
81 template/profilefields/date.html | 5 +
82 template/profilefields/dropdown.html | 5 +
83 template/profilefields/int.html | 3 +
84 template/profilefields/string.html | 3 +
85 template/profilefields/text.html | 3 +
86 template/profilefields/url.html | 3 +
87 template/quickreply_editor.html | 27 +
88 template/report_body.html | 55 ++
89 template/search_body.html | 136 +++
90 template/search_results.html | 244 +++++
91 template/simple_footer.html | 40 +
92 template/simple_header.html | 54 ++
93 template/timezone.js | 20 +
94 template/timezone_option.html | 28 +
95 template/ucp_agreement.html | 71 ++
96 template/ucp_attachments.html | 83 ++
97 template/ucp_auth_link.html | 15 +
98 template/ucp_auth_link_oauth.html | 29 +
99 template/ucp_avatar_options.html | 47 +
100 template/ucp_avatar_options_gravatar.html | 11 +
101 template/ucp_avatar_options_local.html | 20 +
102 template/ucp_avatar_options_remote.html | 11 +
103 template/ucp_avatar_options_upload.html | 11 +
104 template/ucp_footer.html | 12 +
105 template/ucp_groups_manage.html | 247 +++++
106 template/ucp_groups_membership.html | 174 ++++
107 template/ucp_header.html | 101 ++
108 template/ucp_login_link.html | 58 ++
109 template/ucp_main_bookmarks.html | 124 +++
110 template/ucp_main_drafts.html | 79 ++
111 template/ucp_main_front.html | 82 ++
112 template/ucp_main_subscribed.html | 170 ++++
113 template/ucp_notifications.html | 120 +++
114 template/ucp_pm_history.html | 56 ++
115 template/ucp_pm_message_footer.html | 2 +
116 template/ucp_pm_message_header.html | 70 ++
117 template/ucp_pm_options.html | 131 +++
118 template/ucp_pm_viewfolder.html | 130 +++
119 template/ucp_pm_viewmessage.html | 196 ++++
120 template/ucp_pm_viewmessage_print.html | 57 ++
121 template/ucp_prefs_personal.html | 122 +++
122 template/ucp_prefs_post.html | 53 ++
123 template/ucp_prefs_view.html | 98 ++
124 template/ucp_profile_autologin_keys.html | 45 +
125 template/ucp_profile_avatar.html | 13 +
126 template/ucp_profile_profile_info.html | 51 +
127 template/ucp_profile_reg_details.html | 59 ++
128 template/ucp_profile_signature.html | 52 ++
129 template/ucp_register.html | 106 +++
130 template/ucp_remind.html | 37 +
131 template/ucp_resend.html | 32 +
132 template/ucp_zebra_foes.html | 41 +
133 template/ucp_zebra_friends.html | 43 +
134 template/viewforum_body.html | 315 +++++++
135 template/viewonline_body.html | 63 ++
136 template/viewonline_whois.html | 12 +
137 template/viewtopic_body.html | 452 +++++++++
138 template/viewtopic_print.html | 53 ++
139 template/viewtopic_topic_tools.html | 50 +
140 theme/base.css | 115 +++
141 theme/bidi.css | 1090 ++++++++++++++++++++++
142 theme/buttons.css | 193 ++++
143 theme/colours.css | 1163 +++++++++++++++++++++++
144 theme/common.css | 1287 ++++++++++++++++++++++++++
145 theme/content.css | 855 +++++++++++++++++
146 theme/cp.css | 375 ++++++++
147 theme/en/icon_user_online.gif | Bin 0 -> 423 bytes
148 theme/en/stylesheet.css | 2 +
149 theme/forms.css | 429 +++++++++
150 theme/icons.css | 96 ++
151 theme/images/announce_read.gif | Bin 0 -> 3549 bytes
152 theme/images/announce_read_locked.gif | Bin 0 -> 3558 bytes
153 theme/images/announce_read_locked_mine.gif | Bin 0 -> 3558 bytes
154 theme/images/announce_read_mine.gif | Bin 0 -> 3580 bytes
155 theme/images/announce_unread.gif | Bin 0 -> 3531 bytes
156 theme/images/announce_unread_locked.gif | Bin 0 -> 3534 bytes
157 theme/images/announce_unread_locked_mine.gif | Bin 0 -> 3564 bytes
158 theme/images/announce_unread_mine.gif | Bin 0 -> 3560 bytes
159 theme/images/bg_header.gif | Bin 0 -> 690 bytes
160 theme/images/bg_list.gif | Bin 0 -> 664 bytes
161 theme/images/forum_link.gif | Bin 0 -> 3500 bytes
162 theme/images/forum_read.gif | Bin 0 -> 3448 bytes
163 theme/images/forum_read_locked.gif | Bin 0 -> 3444 bytes
164 theme/images/forum_read_subforum.gif | Bin 0 -> 3641 bytes
165 theme/images/forum_unread.gif | Bin 0 -> 3440 bytes
166 theme/images/forum_unread_locked.gif | Bin 0 -> 3442 bytes
167 theme/images/forum_unread_subforum.gif | Bin 0 -> 3637 bytes
168 theme/images/icon_download.gif | Bin 0 -> 198 bytes
169 theme/images/icon_offline.gif | Bin 0 -> 322 bytes
170 theme/images/icon_online.gif | Bin 0 -> 331 bytes
171 theme/images/icon_rate_bad.gif | Bin 0 -> 465 bytes
172 theme/images/icon_rate_good.gif | Bin 0 -> 462 bytes
173 theme/images/icons_contact.png | Bin 0 -> 8507 bytes
174 theme/images/index.htm | 0
175 theme/images/loading.gif | Bin 0 -> 1320 bytes
176 theme/images/no_avatar.gif | Bin 0 -> 930 bytes
177 theme/images/plupload/done.gif | Bin 0 -> 1024 bytes
178 theme/images/plupload/error.gif | Bin 0 -> 994 bytes
179 theme/images/plupload/throbber.gif | Bin 0 -> 1922 bytes
180 theme/images/quote.gif | Bin 0 -> 153 bytes
181 theme/images/quote_rtl.gif | Bin 0 -> 154 bytes
182 theme/images/site_logo.gif | Bin 0 -> 5070 bytes
183 theme/images/sticky_read.gif | Bin 0 -> 3198 bytes
184 theme/images/sticky_read_locked.gif | Bin 0 -> 3248 bytes
185 theme/images/sticky_read_locked_mine.gif | Bin 0 -> 3295 bytes
186 theme/images/sticky_read_mine.gif | Bin 0 -> 3241 bytes
187 theme/images/sticky_unread.gif | Bin 0 -> 3191 bytes
188 theme/images/sticky_unread_locked.gif | Bin 0 -> 3246 bytes
189 theme/images/sticky_unread_locked_mine.gif | Bin 0 -> 3316 bytes
190 theme/images/sticky_unread_mine.gif | Bin 0 -> 3275 bytes
191 theme/images/topic_moved.gif | Bin 0 -> 3459 bytes
192 theme/images/topic_read.gif | Bin 0 -> 3482 bytes
193 theme/images/topic_read_hot.gif | Bin 0 -> 3548 bytes
194 theme/images/topic_read_hot_mine.gif | Bin 0 -> 3570 bytes
195 theme/images/topic_read_locked.gif | Bin 0 -> 3458 bytes
196 theme/images/topic_read_locked_mine.gif | Bin 0 -> 3416 bytes
197 theme/images/topic_read_mine.gif | Bin 0 -> 3492 bytes
198 theme/images/topic_unread.gif | Bin 0 -> 3327 bytes
199 theme/images/topic_unread_hot.gif | Bin 0 -> 3551 bytes
200 theme/images/topic_unread_hot_mine.gif | Bin 0 -> 3582 bytes
201 theme/images/topic_unread_locked.gif | Bin 0 -> 3349 bytes
202 theme/images/topic_unread_locked_mine.gif | Bin 0 -> 3375 bytes
203 theme/images/topic_unread_mine.gif | Bin 0 -> 3393 bytes
204 theme/index.htm | 0
205 theme/links.css | 199 ++++
206 theme/normalize.css | 424 +++++++++
207 theme/plupload.css | 90 ++
208 theme/print.css | 150 +++
209 theme/responsive.css | 583 ++++++++++++
210 theme/stylesheet.css | 22 +
211 theme/tweaks.css | 41 +
212 theme/utilities.css | 66 ++
213 198 files changed, 18033 insertions(+)
214
215 diff --git a/template/ajax.js b/template/ajax.js
216 new file mode 100644
217 index 000000000..5e66e5cda
218 --- /dev/null
219 +++ b/template/ajax.js
220 @@ -0,0 +1,394 @@
221 +/* global phpbb */
222 +
223 +(function($) { // Avoid conflicts with other libraries
224 +
225 +'use strict';
226 +
227 +// This callback will mark all forum icons read
228 +phpbb.addAjaxCallback('mark_forums_read', function(res) {
229 + var readTitle = res.NO_UNREAD_POSTS;
230 + var unreadTitle = res.UNREAD_POSTS;
231 + var iconsArray = {
232 + forum_unread: 'forum_read',
233 + forum_unread_subforum: 'forum_read_subforum',
234 + forum_unread_locked: 'forum_read_locked'
235 + };
236 +
237 + $('li.row').find('dl[class*="forum_unread"]').each(function() {
238 + var $this = $(this);
239 +
240 + $.each(iconsArray, function(unreadClass, readClass) {
241 + if ($this.hasClass(unreadClass)) {
242 + $this.removeClass(unreadClass).addClass(readClass);
243 + }
244 + });
245 + $this.children('dt[title="' + unreadTitle + '"]').attr('title', readTitle);
246 + });
247 +
248 + // Mark subforums read
249 + $('a.subforum[class*="unread"]').removeClass('unread').addClass('read').children('.icon.icon-red').removeClass('icon-red').addClass('icon-blue');
250 +
251 + // Mark topics read if we are watching a category and showing active topics
252 + if ($('#active_topics').length) {
253 + phpbb.ajaxCallbacks.mark_topics_read.call(this, res, false);
254 + }
255 +
256 + // Update mark forums read links
257 + $('[data-ajax="mark_forums_read"]').attr('href', res.U_MARK_FORUMS);
258 +
259 + phpbb.closeDarkenWrapper(3000);
260 +});
261 +
262 +/**
263 +* This callback will mark all topic icons read
264 +*
265 +* @param {bool} [update_topic_links=true] Whether "Mark topics read" links
266 +* should be updated. Defaults to true.
267 +*/
268 +phpbb.addAjaxCallback('mark_topics_read', function(res, updateTopicLinks) {
269 + var readTitle = res.NO_UNREAD_POSTS;
270 + var unreadTitle = res.UNREAD_POSTS;
271 + var iconsArray = {
272 + global_unread: 'global_read',
273 + announce_unread: 'announce_read',
274 + sticky_unread: 'sticky_read',
275 + topic_unread: 'topic_read'
276 + };
277 + var iconsState = ['', '_hot', '_hot_mine', '_locked', '_locked_mine', '_mine'];
278 + var unreadClassSelectors;
279 + var classMap = {};
280 + var classNames = [];
281 +
282 + if (typeof updateTopicLinks === 'undefined') {
283 + updateTopicLinks = true;
284 + }
285 +
286 + $.each(iconsArray, function(unreadClass, readClass) {
287 + $.each(iconsState, function(key, value) {
288 + // Only topics can be hot
289 + if ((value === '_hot' || value === '_hot_mine') && unreadClass !== 'topic_unread') {
290 + return true;
291 + }
292 + classMap[unreadClass + value] = readClass + value;
293 + classNames.push(unreadClass + value);
294 + });
295 + });
296 +
297 + unreadClassSelectors = '.' + classNames.join(',.');
298 +
299 + $('li.row').find(unreadClassSelectors).each(function() {
300 + var $this = $(this);
301 + $.each(classMap, function(unreadClass, readClass) {
302 + if ($this.hasClass(unreadClass)) {
303 + $this.removeClass(unreadClass).addClass(readClass);
304 + }
305 + });
306 + $this.children('dt[title="' + unreadTitle + '"]').attr('title', readTitle);
307 + });
308 +
309 + // Remove link to first unread post
310 + $('a.unread').has('.icon-red').remove();
311 +
312 + // Update mark topics read links
313 + if (updateTopicLinks) {
314 + $('[data-ajax="mark_topics_read"]').attr('href', res.U_MARK_TOPICS);
315 + }
316 +
317 + phpbb.closeDarkenWrapper(3000);
318 +});
319 +
320 +// This callback will mark all notifications read
321 +phpbb.addAjaxCallback('notification.mark_all_read', function(res) {
322 + if (typeof res.success !== 'undefined') {
323 + phpbb.markNotifications($('#notification_list li.bg2'), 0);
324 + phpbb.closeDarkenWrapper(3000);
325 + }
326 +});
327 +
328 +// This callback will mark a notification read
329 +phpbb.addAjaxCallback('notification.mark_read', function(res) {
330 + if (typeof res.success !== 'undefined') {
331 + var unreadCount = Number($('#notification_list_button strong').html()) - 1;
332 + phpbb.markNotifications($(this).parent('li.bg2'), unreadCount);
333 + }
334 +});
335 +
336 +/**
337 + * Mark notification popup rows as read.
338 + *
339 + * @param {jQuery} $popup jQuery object(s) to mark read.
340 + * @param {int} unreadCount The new unread notifications count.
341 + */
342 +phpbb.markNotifications = function($popup, unreadCount) {
343 + // Remove the unread status.
344 + $popup.removeClass('bg2');
345 + $popup.find('a.mark_read').remove();
346 +
347 + // Update the notification link to the real URL.
348 + $popup.each(function() {
349 + var link = $(this).find('a');
350 + link.attr('href', link.attr('data-real-url'));
351 + });
352 +
353 + // Update the unread count.
354 + $('strong', '#notification_list_button').html(unreadCount);
355 + // Remove the Mark all read link and hide notification count if there are no unread notifications.
356 + if (!unreadCount) {
357 + $('#mark_all_notifications').remove();
358 + $('#notification_list_button > strong').addClass('hidden');
359 + }
360 +
361 + // Update page title
362 + var $title = $('title');
363 + var originalTitle = $title.text().replace(/(\((\d+)\))/, '');
364 + $title.text((unreadCount ? '(' + unreadCount + ')' : '') + originalTitle);
365 +};
366 +
367 +// This callback finds the post from the delete link, and removes it.
368 +phpbb.addAjaxCallback('post_delete', function() {
369 + var $this = $(this),
370 + postId;
371 +
372 + if ($this.attr('data-refresh') === undefined) {
373 + postId = $this[0].href.split('&p=')[1];
374 + var post = $this.parents('#p' + postId).css('pointer-events', 'none');
375 + if (post.hasClass('bg1') || post.hasClass('bg2')) {
376 + var posts1 = post.nextAll('.bg1');
377 + post.nextAll('.bg2').removeClass('bg2').addClass('bg1');
378 + posts1.removeClass('bg1').addClass('bg2');
379 + }
380 + post.fadeOut(function() {
381 + $(this).remove();
382 + });
383 + }
384 +});
385 +
386 +// This callback removes the approve / disapprove div or link.
387 +phpbb.addAjaxCallback('post_visibility', function(res) {
388 + var remove = (res.visible) ? $(this) : $(this).parents('.post');
389 + $(remove).css('pointer-events', 'none').fadeOut(function() {
390 + $(this).remove();
391 + });
392 +
393 + if (res.visible) {
394 + // Remove the "Deleted by" message from the post on restoring.
395 + remove.parents('.post').find('.post_deleted_msg').css('pointer-events', 'none').fadeOut(function() {
396 + $(this).remove();
397 + });
398 + }
399 +});
400 +
401 +// This removes the parent row of the link or form that fired the callback.
402 +phpbb.addAjaxCallback('row_delete', function() {
403 + $(this).parents('tr').remove();
404 +});
405 +
406 +// This handles friend / foe additions removals.
407 +phpbb.addAjaxCallback('zebra', function(res) {
408 + var zebra;
409 +
410 + if (res.success) {
411 + zebra = $('.zebra');
412 + zebra.first().html(res.MESSAGE_TEXT);
413 + zebra.not(':first').html('&nbsp;').prev().html('&nbsp;');
414 + }
415 +});
416 +
417 +/**
418 + * This callback updates the poll results after voting.
419 + */
420 +phpbb.addAjaxCallback('vote_poll', function(res) {
421 + if (typeof res.success !== 'undefined') {
422 + var poll = $(this).closest('.topic_poll');
423 + var panel = poll.find('.panel');
424 + var resultsVisible = poll.find('dl:first-child .resultbar').is(':visible');
425 + var mostVotes = 0;
426 +
427 + // Set min-height to prevent the page from jumping when the content changes
428 + var updatePanelHeight = function (height) {
429 + height = (typeof height === 'undefined') ? panel.find('.inner').outerHeight() : height;
430 + panel.css('min-height', height);
431 + };
432 + updatePanelHeight();
433 +
434 + // Remove the View results link
435 + if (!resultsVisible) {
436 + poll.find('.poll_view_results').hide(500);
437 + }
438 +
439 + if (!res.can_vote) {
440 + poll.find('.polls, .poll_max_votes, .poll_vote, .poll_option_select').fadeOut(500, function () {
441 + poll.find('.resultbar, .poll_option_percent, .poll_total_votes').show();
442 + });
443 + } else {
444 + // If the user can still vote, simply slide down the results
445 + poll.find('.resultbar, .poll_option_percent, .poll_total_votes').show(500);
446 + }
447 +
448 + // Get the votes count of the highest poll option
449 + poll.find('[data-poll-option-id]').each(function() {
450 + var option = $(this);
451 + var optionId = option.attr('data-poll-option-id');
452 + mostVotes = (res.vote_counts[optionId] >= mostVotes) ? res.vote_counts[optionId] : mostVotes;
453 + });
454 +
455 + // Update the total votes count
456 + poll.find('.poll_total_vote_cnt').html(res.total_votes);
457 +
458 + // Update each option
459 + poll.find('[data-poll-option-id]').each(function() {
460 + var $this = $(this);
461 + var optionId = $this.attr('data-poll-option-id');
462 + var voted = (typeof res.user_votes[optionId] !== 'undefined');
463 + var mostVoted = (res.vote_counts[optionId] === mostVotes);
464 + var percent = (!res.total_votes) ? 0 : Math.round((res.vote_counts[optionId] / res.total_votes) * 100);
465 + var percentRel = (mostVotes === 0) ? 0 : Math.round((res.vote_counts[optionId] / mostVotes) * 100);
466 + var altText;
467 +
468 + altText = $this.attr('data-alt-text');
469 + if (voted) {
470 + $this.attr('title', $.trim(altText));
471 + } else {
472 + $this.attr('title', '');
473 + };
474 + $this.toggleClass('voted', voted);
475 + $this.toggleClass('most-votes', mostVoted);
476 +
477 + // Update the bars
478 + var bar = $this.find('.resultbar div');
479 + var barTimeLapse = (res.can_vote) ? 500 : 1500;
480 + var newBarClass = (percent === 100) ? 'pollbar5' : 'pollbar' + (Math.floor(percent / 20) + 1);
481 +
482 + setTimeout(function () {
483 + bar.animate({ width: percentRel + '%' }, 500)
484 + .removeClass('pollbar1 pollbar2 pollbar3 pollbar4 pollbar5')
485 + .addClass(newBarClass)
486 + .html(res.vote_counts[optionId]);
487 +
488 + var percentText = percent ? percent + '%' : res.NO_VOTES;
489 + $this.find('.poll_option_percent').html(percentText);
490 + }, barTimeLapse);
491 + });
492 +
493 + if (!res.can_vote) {
494 + poll.find('.polls').delay(400).fadeIn(500);
495 + }
496 +
497 + // Display "Your vote has been cast." message. Disappears after 5 seconds.
498 + var confirmationDelay = (res.can_vote) ? 300 : 900;
499 + poll.find('.vote-submitted').delay(confirmationDelay).slideDown(200, function() {
500 + if (resultsVisible) {
501 + updatePanelHeight();
502 + }
503 +
504 + $(this).delay(5000).fadeOut(500, function() {
505 + resizePanel(300);
506 + });
507 + });
508 +
509 + // Remove the gap resulting from removing options
510 + setTimeout(function() {
511 + resizePanel(500);
512 + }, 1500);
513 +
514 + var resizePanel = function (time) {
515 + var panelHeight = panel.height();
516 + var innerHeight = panel.find('.inner').outerHeight();
517 +
518 + if (panelHeight !== innerHeight) {
519 + panel.css({ minHeight: '', height: panelHeight })
520 + .animate({ height: innerHeight }, time, function () {
521 + panel.css({ minHeight: innerHeight, height: '' });
522 + });
523 + }
524 + };
525 + }
526 +});
527 +
528 +/**
529 + * Show poll results when clicking View results link.
530 + */
531 +$('.poll_view_results a').click(function(e) {
532 + // Do not follow the link
533 + e.preventDefault();
534 +
535 + var $poll = $(this).parents('.topic_poll');
536 +
537 + $poll.find('.resultbar, .poll_option_percent, .poll_total_votes').show(500);
538 + $poll.find('.poll_view_results').hide(500);
539 +});
540 +
541 +$('[data-ajax]').each(function() {
542 + var $this = $(this);
543 + var ajax = $this.attr('data-ajax');
544 + var filter = $this.attr('data-filter');
545 +
546 + if (ajax !== 'false') {
547 + var fn = (ajax !== 'true') ? ajax : null;
548 + filter = (filter !== undefined) ? phpbb.getFunctionByName(filter) : null;
549 +
550 + phpbb.ajaxify({
551 + selector: this,
552 + refresh: $this.attr('data-refresh') !== undefined,
553 + filter: filter,
554 + callback: fn
555 + });
556 + }
557 +});
558 +
559 +
560 +/**
561 + * This simply appends #preview to the action of the
562 + * QR action when you click the Full Editor & Preview button
563 + */
564 +$('#qr_full_editor').click(function() {
565 + $('#qr_postform').attr('action', function(i, val) {
566 + return val + '#preview';
567 + });
568 +});
569 +
570 +
571 +/**
572 + * Make the display post links to use JS
573 + */
574 +$('.display_post').click(function(e) {
575 + // Do not follow the link
576 + e.preventDefault();
577 +
578 + var postId = $(this).attr('data-post-id');
579 + $('#post_content' + postId).show();
580 + $('#profile' + postId).show();
581 + $('#post_hidden' + postId).hide();
582 +});
583 +
584 +/**
585 +* Toggle the member search panel in memberlist.php.
586 +*
587 +* If user returns to search page after viewing results the search panel is automatically displayed.
588 +* In any case the link will toggle the display status of the search panel and link text will be
589 +* appropriately changed based on the status of the search panel.
590 +*/
591 +$('#member_search').click(function () {
592 + var $memberlistSearch = $('#memberlist_search');
593 +
594 + $memberlistSearch.slideToggle('fast');
595 + phpbb.ajaxCallbacks.alt_text.call(this);
596 +
597 + // Focus on the username textbox if it's available and displayed
598 + if ($memberlistSearch.is(':visible')) {
599 + $('#username').focus();
600 + }
601 + return false;
602 +});
603 +
604 +/**
605 +* Automatically resize textarea
606 +*/
607 +$(function() {
608 + var $textarea = $('textarea:not(#message-box textarea, .no-auto-resize)');
609 + phpbb.resizeTextArea($textarea, { minHeight: 75, maxHeight: 250 });
610 + phpbb.resizeTextArea($('textarea', '#message-box'));
611 +});
612 +
613 +
614 +})(jQuery); // Avoid conflicts with other libraries
615
616 diff --git a/template/attachment.html b/template/attachment.html
617 new file mode 100644
618 index 000000000..615717e02
619 --- /dev/null
620 +++ b/template/attachment.html
621 @@ -0,0 +1,48 @@
622 +<!-- EVENT attachment_file_before -->
623 +
624 +<!-- BEGIN _file -->
625 + <!-- IF _file.S_DENIED -->
626 + <p>[{_file.DENIED_MESSAGE}]</p>
627 + <!-- ELSE -->
628 + <!-- EVENT attachment_file_prepend -->
629 +
630 + <!-- IF _file.S_THUMBNAIL -->
631 + <dl class="thumbnail">
632 + <dt><a href="{_file.U_DOWNLOAD_LINK}"><img src="{_file.THUMB_IMAGE}" class="postimage" alt="{% if _file.COMMENT %}{{ _file.COMMENT|e('html') }}{% else %}{{ _file.DOWNLOAD_NAME }}{% endif %}" title="{_file.DOWNLOAD_NAME} ({_file.FILESIZE} {_file.SIZE_LANG}) {_file.L_DOWNLOAD_COUNT}" /></a></dt>
633 + <!-- IF _file.COMMENT --><dd> {_file.COMMENT}</dd><!-- ENDIF -->
634 + </dl>
635 + <!-- ENDIF -->
636 +
637 + <!-- IF _file.S_IMAGE -->
638 + <dl class="file">
639 + <dt class="attach-image"><img src="{_file.U_INLINE_LINK}" class="postimage" alt="{% if _file.COMMENT %}{{ _file.COMMENT|e('html') }}{% else %}{{ _file.DOWNLOAD_NAME }}{% endif %}" onclick="viewableArea(this);" /></dt>
640 + <!-- IF _file.COMMENT --><dd><em>{_file.COMMENT}</em></dd><!-- ENDIF -->
641 + <dd>{_file.DOWNLOAD_NAME} ({_file.FILESIZE} {_file.SIZE_LANG}) {_file.L_DOWNLOAD_COUNT}</dd>
642 + </dl>
643 + <!-- ENDIF -->
644 +
645 + <!-- IF _file.S_FILE -->
646 + <dl class="file">
647 + <dt><!-- IF _file.UPLOAD_ICON -->{_file.UPLOAD_ICON} <!-- ENDIF --><a class="postlink" href="{_file.U_DOWNLOAD_LINK}">{_file.DOWNLOAD_NAME}</a></dt>
648 + <!-- IF _file.COMMENT --><dd><em>{_file.COMMENT}</em></dd><!-- ENDIF -->
649 + <dd>({_file.FILESIZE} {_file.SIZE_LANG}) {_file.L_DOWNLOAD_COUNT}</dd>
650 + </dl>
651 + <!-- ENDIF -->
652 +
653 + <!-- IF _file.S_FLASH_FILE -->
654 + <object classid="clsid:D27CDB6E-AE6D-11CF-96B8-444553540000" codebase="http://active.macromedia.com/flash2/cabs/swflash.cab#version=5,0,0,0" width="{_file.WIDTH}" height="{_file.HEIGHT}">
655 + <param name="movie" value="{_file.U_VIEW_LINK}" />
656 + <param name="play" value="true" />
657 + <param name="loop" value="true" />
658 + <param name="quality" value="high" />
659 + <param name="allowScriptAccess" value="never" />
660 + <param name="allowNetworking" value="internal" />
661 + <embed src="{_file.U_VIEW_LINK}" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" width="{_file.WIDTH}" height="{_file.HEIGHT}" play="true" loop="true" quality="high" allowscriptaccess="never" allownetworking="internal"></embed>
662 + </object>
663 + <p><a href="{_file.U_DOWNLOAD_LINK}">{_file.DOWNLOAD_NAME}</a> [ {_file.FILESIZE} {_file.SIZE_LANG} | {_file.L_DOWNLOAD_COUNT} ]</p>
664 + <!-- ENDIF -->
665 +
666 + <!-- EVENT attachment_file_append -->
667 + <!-- ENDIF -->
668 +<!-- END _file -->
669 +<!-- EVENT attachment_file_after -->
670
671 diff --git a/template/bbcode.html b/template/bbcode.html
672 new file mode 100644
673 index 000000000..940c0ace2
674 --- /dev/null
675 +++ b/template/bbcode.html
676 @@ -0,0 +1,75 @@
677 +<!-- BEGIN ulist_open --><ul style="list-style-type: {LIST_TYPE}"><!-- END ulist_open -->
678 +<!-- BEGIN ulist_open_default --><ul><!-- END ulist_open_default -->
679 +<!-- BEGIN ulist_close --></ul><!-- END ulist_close -->
680 +
681 +<!-- BEGIN olist_open --><ol style="list-style-type: {LIST_TYPE}"><!-- END olist_open -->
682 +<!-- BEGIN olist_close --></ol><!-- END olist_close -->
683 +
684 +<!-- BEGIN listitem --><li><!-- END listitem -->
685 +<!-- BEGIN listitem_close --></li><!-- END listitem_close -->
686 +
687 +<!-- BEGIN quote_username_open --><blockquote><div><cite>{USERNAME} {L_WROTE}{L_COLON}</cite><!-- END quote_username_open -->
688 +<!-- BEGIN quote_open --><blockquote class="uncited"><div><!-- END quote_open -->
689 +<!-- BEGIN quote_close --></div></blockquote><!-- END quote_close -->
690 +<!-- BEGIN quote_extended -->
691 +<blockquote>
692 + <xsl:if test="not(@author)">
693 + <xsl:attribute name="class">uncited</xsl:attribute>
694 + </xsl:if>
695 + <div>
696 + <xsl:if test="@author">
697 + <cite>
698 + <xsl:choose>
699 + <xsl:when test="@url">
700 + <a href="{@url}" class="postlink"><xsl:value-of select="@author"/></a>
701 + </xsl:when>
702 + <xsl:when test="@profile_url">
703 + <a href="{@profile_url}"><xsl:value-of select="@author"/></a>
704 + </xsl:when>
705 + <xsl:otherwise>
706 + <xsl:value-of select="@author"/>
707 + </xsl:otherwise>
708 + </xsl:choose>
709 + <xsl:text> </xsl:text>
710 + <xsl:value-of select="$L_WROTE"/>
711 + <xsl:value-of select="$L_COLON"/>
712 + <xsl:if test="@post_url">
713 + <xsl:text> </xsl:text>
714 + <a href="{@post_url}" data-post-id="{@post_id}" onclick="if(document.getElementById(hash.substr(1)))href=hash">&#8593;</a>
715 + </xsl:if>
716 + <xsl:if test="@date">
717 + <div class="responsive-hide"><xsl:value-of select="@date"/></div>
718 + </xsl:if>
719 + </cite>
720 + </xsl:if>
721 + <xsl:apply-templates/>
722 + </div>
723 +</blockquote>
724 +<!-- END quote_extended -->
725 +
726 +<!-- BEGIN code_open --><div class="codebox"><p>{L_CODE}{L_COLON} <a href="#" onclick="selectCode(this); return false;">{L_SELECT_ALL_CODE}</a></p><pre><code><!-- END code_open -->
727 +<!-- BEGIN code_close --></code></pre></div><!-- END code_close -->
728 +
729 +<!-- BEGIN inline_attachment_open --><div class="inline-attachment"><!-- END inline_attachment_open -->
730 +<!-- BEGIN inline_attachment_close --></div><!-- END inline_attachment_close -->
731 +
732 +<!-- BEGIN b_open --><strong class="text-strong"><!-- END b_open -->
733 +<!-- BEGIN b_close --></strong><!-- END b_close -->
734 +
735 +<!-- BEGIN u_open --><span style="text-decoration: underline"><!-- END u_open -->
736 +<!-- BEGIN u_close --></span><!-- END u_close -->
737 +
738 +<!-- BEGIN i_open --><em class="text-italics"><!-- END i_open -->
739 +<!-- BEGIN i_close --></em><!-- END i_close -->
740 +
741 +<!-- BEGIN color --><span style="color: {COLOR}">{TEXT}</span><!-- END color -->
742 +
743 +<!-- BEGIN size --><span style="font-size: {SIZE}%; line-height: 116%;">{TEXT}</span><!-- END size -->
744 +
745 +<!-- BEGIN img --><img src="{URL}" class="postimage" alt="{L_IMAGE}" /><!-- END img -->
746 +
747 +<!-- BEGIN url --><a href="{URL}" class="postlink">{DESCRIPTION}</a><!-- END url -->
748 +
749 +<!-- BEGIN email --><a href="mailto:{EMAIL}">{DESCRIPTION}</a><!-- END email -->
750 +
751 +<!-- BEGIN flash --><object classid="clsid:D27CDB6E-AE6D-11CF-96B8-444553540000" codebase="http://active.macromedia.com/flash2/cabs/swflash.cab#version=5,0,0,0" width="{WIDTH}" height="{HEIGHT}"><param name="movie" value="{URL}" /><param name="play" value="false" /><param name="loop" value="false" /><param name="quality" value="high" /><param name="allowScriptAccess" value="never" /><param name="allowNetworking" value="internal" /><embed src="{URL}" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" width="{WIDTH}" height="{HEIGHT}" play="false" loop="false" quality="high" allowscriptaccess="never" allownetworking="internal"></embed></object><!-- END flash -->
752
753 diff --git a/template/captcha_default.html b/template/captcha_default.html
754 new file mode 100644
755 index 000000000..02899bcaf
756 --- /dev/null
757 +++ b/template/captcha_default.html
758 @@ -0,0 +1,24 @@
759 +<!-- IF S_TYPE == 1 -->
760 +<div class="panel captcha-panel">
761 + <div class="inner">
762 +
763 + <h3 class="captcha-title">{L_CONFIRMATION}</h3>
764 + <p>{L_CONFIRM_EXPLAIN}</p>
765 +
766 + <fieldset class="fields2">
767 +<!-- ENDIF -->
768 +
769 + <dl>
770 + <dt><label for="confirm_code">{L_CONFIRM_CODE}{L_COLON}</label></dt>
771 + <dd class="captcha captcha-image"><img src="{CONFIRM_IMAGE_LINK}" alt="{L_CONFIRM_CODE}" /></dd>
772 + <dd><input type="text" name="confirm_code" id="confirm_code" size="8" maxlength="8" tabindex="{$CAPTCHA_TAB_INDEX}" class="inputbox narrow" title="{L_CONFIRM_CODE}" />
773 + <!-- IF S_CONFIRM_REFRESH --><input type="submit" name="refresh_vc" id="refresh_vc" class="button2" value="{L_VC_REFRESH}" /><!-- ENDIF -->
774 + <input type="hidden" name="confirm_id" id="confirm_id" value="{CONFIRM_ID}" /></dd>
775 + <dd>{L_CONFIRM_CODE_EXPLAIN}</dd>
776 + </dl>
777 +
778 +<!-- IF S_TYPE == 1 -->
779 + </fieldset>
780 + </div>
781 +</div>
782 +<!-- ENDIF -->
783
784 diff --git a/template/captcha_qa.html b/template/captcha_qa.html
785 new file mode 100644
786 index 000000000..b8c667806
787 --- /dev/null
788 +++ b/template/captcha_qa.html
789 @@ -0,0 +1,21 @@
790 +<!-- IF S_TYPE == 1 -->
791 +<div class="panel captcha-panel">
792 + <div class="inner">
793 +
794 + <h3 class="captcha-title">{L_CONFIRMATION}</h3>
795 + <fieldset class="fields2">
796 +<!-- ENDIF -->
797 +
798 + <dl>
799 + <dt><label>{QA_CONFIRM_QUESTION}{L_COLON}</label><br /><span>{L_CONFIRM_QUESTION_EXPLAIN}</span></dt>
800 + <dd class="captcha">
801 + <input type="text" tabindex="{$CAPTCHA_TAB_INDEX}" name="qa_answer" id="answer" size="45" class="inputbox autowidth" title="{L_ANSWER}" />
802 + <input type="hidden" name="qa_confirm_id" id="qa_confirm_id" value="{QA_CONFIRM_ID}" />
803 + </dd>
804 + </dl>
805 +
806 +<!-- IF S_TYPE == 1 -->
807 + </fieldset>
808 + </div>
809 +</div>
810 +<!-- ENDIF -->
811
812 diff --git a/template/captcha_recaptcha.html b/template/captcha_recaptcha.html
813 new file mode 100644
814 index 000000000..a123f543a
815 --- /dev/null
816 +++ b/template/captcha_recaptcha.html
817 @@ -0,0 +1,30 @@
818 +<!-- IF S_TYPE == 1 -->
819 +<div class="panel captcha-panel">
820 + <div class="inner">
821 +
822 + <h3 class="captcha-title">{L_CONFIRMATION}</h3>
823 + <p>{L_CONFIRM_EXPLAIN}</p>
824 +
825 + <fieldset class="fields2">
826 +<!-- ENDIF -->
827 +
828 +<!-- IF S_RECAPTCHA_AVAILABLE -->
829 + <dl>
830 + <dt><label>{L_CONFIRM_CODE}{L_COLON}</label><br /><span>{L_RECAPTCHA_EXPLAIN}</span></dt>
831 + <dd class="captcha">
832 + <noscript>
833 + <div>{L_RECAPTCHA_NOSCRIPT}</div>
834 + </noscript>
835 + <script src="{RECAPTCHA_SERVER}.js?hl={LA_RECAPTCHA_LANG}" async defer></script>
836 + <div class="g-recaptcha" data-sitekey="{RECAPTCHA_PUBKEY}" data-tabindex="<!-- IF $CAPTCHA_TAB_INDEX -->{$CAPTCHA_TAB_INDEX}<!-- ELSE -->10<!-- ENDIF -->"></div>
837 + </dd>
838 + </dl>
839 +<!-- ELSE -->
840 +{L_RECAPTCHA_NOT_AVAILABLE}
841 +<!-- ENDIF -->
842 +
843 +<!-- IF S_TYPE == 1 -->
844 + </fieldset>
845 + </div>
846 +</div>
847 +<!-- ENDIF -->
848
849 diff --git a/template/confirm_body.html b/template/confirm_body.html
850 new file mode 100644
851 index 000000000..aaea5cfd0
852 --- /dev/null
853 +++ b/template/confirm_body.html
854 @@ -0,0 +1,35 @@
855 +<!-- IF S_AJAX_REQUEST -->
856 + <form action="{S_CONFIRM_ACTION}" method="post">
857 + <h3>{MESSAGE_TITLE}</h3>
858 + <p>{MESSAGE_TEXT}</p>
859 +
860 + <fieldset class="submit-buttons">
861 + <input type="button" name="confirm" value="{L_YES}" class="button2" />&nbsp;
862 + <input type="button" name="cancel" value="{L_NO}" class="button2" />
863 + </fieldset>
864 + </form>
865 +
866 +<!-- ELSE -->
867 +
868 +<!-- INCLUDE overall_header.html -->
869 +
870 +<form id="confirm" action="{S_CONFIRM_ACTION}" method="post">
871 +<div class="panel">
872 + <div class="inner">
873 +
874 + <h2 class="message-title">{MESSAGE_TITLE}</h2>
875 + <p>{MESSAGE_TEXT}</p>
876 +
877 + <fieldset class="submit-buttons">
878 + {S_HIDDEN_FIELDS}
879 + <input type="submit" name="confirm" value="{L_YES}" class="button2" />&nbsp;
880 + <input type="submit" name="cancel" value="{L_NO}" class="button2" />
881 + </fieldset>
882 +
883 + </div>
884 +</div>
885 +</form>
886 +
887 +<!-- INCLUDE overall_footer.html -->
888 +
889 +<!-- ENDIF -->
890
891 diff --git a/template/confirm_delete_body.html b/template/confirm_delete_body.html
892 new file mode 100644
893 index 000000000..637830a5b
894 --- /dev/null
895 +++ b/template/confirm_delete_body.html
896 @@ -0,0 +1,72 @@
897 +<!-- IF S_AJAX_REQUEST -->
898 + <form action="{S_CONFIRM_ACTION}" method="post">
899 + <p>{MESSAGE_TEXT}</p>
900 +
901 + <!-- IF not S_SHADOW_TOPICS -->
902 + <!-- IF not S_SOFTDELETED and S_ALLOWED_DELETE and S_ALLOWED_SOFTDELETE -->
903 + <label>
904 + <strong>{L_DELETE_PERMANENTLY}{L_COLON}</strong>
905 + <input id="delete_permanent" name="delete_permanent" type="checkbox" value="1" {S_CHECKED_PERMANENT} />
906 + <!-- IF S_TOPIC_MODE -->{DELETE_TOPIC_PERMANENTLY_EXPLAIN}<!-- ELSE -->{DELETE_POST_PERMANENTLY_EXPLAIN}<!-- ENDIF -->
907 + </label>
908 + <!-- ENDIF -->
909 +
910 + <label for="delete_reason">
911 + <strong>{L_DELETE_REASON}{L_COLON}</strong><br /><span>{L_DELETE_REASON_EXPLAIN}</span><br />
912 + <input type="text" name="delete_reason" value="" class="inputbox autowidth" maxlength="120" size="45" />
913 + </label>
914 + <!-- ENDIF -->
915 +
916 + <fieldset class="submit-buttons">
917 + <input type="button" name="confirm" value="{L_YES}" class="button1" />&nbsp;
918 + <input type="button" name="cancel" value="{L_NO}" class="button2" />
919 + </fieldset>
920 + </form>
921 +
922 +<!-- ELSE -->
923 +
924 +<!-- INCLUDE overall_header.html -->
925 +
926 +<form id="confirm" action="{S_CONFIRM_ACTION}" method="post">
927 +<div class="panel">
928 + <div class="inner">
929 +
930 + <h2 class="message-title">{MESSAGE_TITLE}</h2>
931 +
932 + <p>{MESSAGE_TEXT}</p>
933 +
934 + <!-- IF not S_SHADOW_TOPICS -->
935 + <fieldset class="fields1">
936 + <!-- IF not S_SOFTDELETED and S_ALLOWED_DELETE and S_ALLOWED_SOFTDELETE -->
937 + <dl>
938 + <dt><label for="delete_permanent">{L_DELETE_PERMANENTLY}{L_COLON}</label></dt>
939 + <dd>
940 + <label for="delete_permanent">
941 + <input id="delete_permanent" name="delete_permanent" type="checkbox" value="1" {S_CHECKED_PERMANENT} />
942 + <!-- IF S_TOPIC_MODE -->{DELETE_TOPIC_PERMANENTLY_EXPLAIN}<!-- ELSE -->{DELETE_POST_PERMANENTLY_EXPLAIN}<!-- ENDIF -->
943 + </label>
944 + </dd>
945 + </dl>
946 + <!-- ENDIF -->
947 +
948 + {% EVENT confirm_delete_body_delete_reason_before %}
949 +
950 + <dl>
951 + <dt><label for="delete_reason">{L_DELETE_REASON}{L_COLON}</label><br /><span>{L_DELETE_REASON_EXPLAIN}</span></dt>
952 + <dd><input type="text" name="delete_reason" id="delete_reason" value="" class="inputbox autowidth" maxlength="120" size="45" /></dd>
953 + </dl>
954 + </fieldset>
955 + <!-- ENDIF -->
956 +
957 + <fieldset class="submit-buttons">
958 + {S_HIDDEN_FIELDS}
959 + <input type="submit" name="confirm" value="{L_YES}" class="button1" />&nbsp;
960 + <input type="submit" name="cancel" value="{L_NO}" class="button2" />
961 + </fieldset>
962 +
963 + </div>
964 +</div>
965 +</form>
966 +
967 +<!-- INCLUDE overall_footer.html -->
968 +<!-- ENDIF -->
969
970 diff --git a/template/display_options.html b/template/display_options.html
971 new file mode 100644
972 index 000000000..a426d0884
973 --- /dev/null
974 +++ b/template/display_options.html
975 @@ -0,0 +1,27 @@
976 +<div class="dropdown-container dropdown-container-left dropdown-button-control sort-tools">
977 + <span title="{L_SORT_OPTIONS}" class="button button-secondary dropdown-trigger dropdown-select">
978 + <i class="icon fa-sort-amount-asc fa-fw" aria-hidden="true"></i>
979 + <span class="caret"><i class="icon fa-sort-down fa-fw" aria-hidden="true"></i></span>
980 + </span>
981 + <div class="dropdown hidden">
982 + <div class="pointer"><div class="pointer-inner"></div></div>
983 + <div class="dropdown-contents">
984 + <fieldset class="display-options">
985 + <!-- IF S_SORT_OPTIONS -->
986 + <label>{L_SORT_BY}{L_COLON} <select name="sk" id="sk">{S_SORT_OPTIONS}</select></label>
987 + <label>{L_SORT_DIRECTION}{L_COLON} <select name="sd" id="sd">{S_ORDER_SELECT}</select></label>
988 + <hr class="dashed" />
989 + <input type="submit" class="button2" name="sort" value="{L_SORT}" />
990 + <!-- ELSE -->
991 + <label>{L_DISPLAY}{L_COLON} {S_SELECT_SORT_DAYS}</label>
992 + <!-- IF S_SELECT_SORT_KEY -->
993 + <label>{L_SORT_BY}{L_COLON} {S_SELECT_SORT_KEY}</label>
994 + <label>{L_SORT_DIRECTION}{L_COLON} {S_SELECT_SORT_DIR}</label>
995 + <!-- ENDIF -->
996 + <hr class="dashed" />
997 + <input type="submit" class="button2" name="sort" value="{L_GO}" />
998 + <!-- ENDIF -->
999 + </fieldset>
1000 + </div>
1001 + </div>
1002 +</div>
1003
1004 diff --git a/template/drafts.html b/template/drafts.html
1005 new file mode 100644
1006 index 000000000..ea2849a48
1007 --- /dev/null
1008 +++ b/template/drafts.html
1009 @@ -0,0 +1,49 @@
1010 +
1011 +
1012 +<!-- IF .draftrow -->
1013 +<div class="panel">
1014 + <div class="inner">
1015 +
1016 + <h3 class="draft-title">{L_LOAD_DRAFT}</h3>
1017 + <p>{L_LOAD_DRAFT_EXPLAIN}</p>
1018 +
1019 + </div>
1020 +</div>
1021 +
1022 +<div class="<!-- IF not S_PRIVMSGS -->forumbg<!-- ELSE -->panel<!-- ENDIF -->">
1023 + <div class="inner">
1024 +
1025 + <ul class="topiclist two-long-columns">
1026 + <li class="header">
1027 + <dl>
1028 + <dt>{L_LOAD_DRAFT}</dt>
1029 + <dd class="info">{L_SAVE_DATE}</dd>
1030 + </dl>
1031 + </li>
1032 + </ul>
1033 + <ul class="topiclist two-long-columns<!-- IF not S_PRIVMSGS --> topics<!-- ELSE --> cplist<!-- ENDIF -->">
1034 +
1035 + <!-- BEGIN draftrow -->
1036 + <li class="row<!-- IF draftrow.S_ROW_COUNT is even --> bg1<!-- ELSE --> bg2<!-- ENDIF -->">
1037 + <dl>
1038 + <dt>
1039 + <div class="list-inner">
1040 + <a href="{draftrow.U_INSERT}" title="{L_LOAD_DRAFT}" class="topictitle">{draftrow.DRAFT_SUBJECT}</a><br />
1041 + <!-- IF not S_PRIVMSGS --><!-- IF draftrow.S_LINK_TOPIC -->{L_TOPIC}{L_COLON} <a href="{draftrow.U_VIEW}">{draftrow.TITLE}</a>
1042 + <!-- ELSEIF draftrow.S_LINK_FORUM -->{L_FORUM}{L_COLON} <a href="{draftrow.U_VIEW}">{draftrow.TITLE}</a>
1043 + <!-- ELSE -->{L_NO_TOPIC_FORUM}<!-- ENDIF --><!-- ENDIF -->
1044 + <div class="responsive-show" style="display: none;">
1045 + {L_SAVE_DATE}{L_COLON} <strong>{draftrow.DATE}</strong>
1046 + </div>
1047 + </div>
1048 + </dt>
1049 + <dd class="info"><span>{draftrow.DATE}</span></dd>
1050 + </dl>
1051 + </li>
1052 + <!-- END draftrow -->
1053 +
1054 + </ul>
1055 +
1056 + </div>
1057 +</div>
1058 +<!-- ENDIF -->
1059
1060 diff --git a/template/faq_body.html b/template/faq_body.html
1061 new file mode 100644
1062 index 000000000..e55c12ac4
1063 --- /dev/null
1064 +++ b/template/faq_body.html
1065 @@ -0,0 +1,50 @@
1066 +<!-- INCLUDE overall_header.html -->
1067 +
1068 +<h2 class="faq-title">{L_FAQ_TITLE}</h2>
1069 +
1070 +
1071 +<div class="panel bg1" id="faqlinks">
1072 + <div class="inner">
1073 + <div class="column1">
1074 + <!-- BEGIN faq_block -->
1075 + <!-- IF faq_block.SWITCH_COLUMN or (SWITCH_COLUMN_MANUALLY and faq_block.S_ROW_COUNT == 4) -->
1076 + </div>
1077 +
1078 + <div class="column2">
1079 + <!-- ENDIF -->
1080 +
1081 + <dl class="faq">
1082 + <dt><strong>{faq_block.BLOCK_TITLE}</strong></dt>
1083 + <!-- BEGIN faq_row -->
1084 + <dd><a href="#f{faq_block.S_ROW_COUNT}r{faq_block.faq_row.S_ROW_COUNT}">{faq_block.faq_row.FAQ_QUESTION}</a></dd>
1085 + <!-- END faq_row -->
1086 + </dl>
1087 + <!-- END faq_block -->
1088 + </div>
1089 + </div>
1090 +</div>
1091 +
1092 +<!-- BEGIN faq_block -->
1093 + <div class="panel <!-- IF faq_block.S_ROW_COUNT is odd -->bg1<!-- ELSE -->bg2<!-- ENDIF -->">
1094 + <div class="inner">
1095 +
1096 + <div class="content">
1097 + <h2 class="faq-title">{faq_block.BLOCK_TITLE}</h2>
1098 + <!-- BEGIN faq_row -->
1099 + <dl class="faq">
1100 + <dt id="f{faq_block.S_ROW_COUNT}r{faq_block.faq_row.S_ROW_COUNT}"><strong>{faq_block.faq_row.FAQ_QUESTION}</strong></dt>
1101 + <dd>{faq_block.faq_row.FAQ_ANSWER}</dd>
1102 + </dl>
1103 + <a href="#faqlinks" class="top">
1104 + <i class="icon fa-chevron-circle-up fa-fw icon-gray" aria-hidden="true"></i><span>{L_BACK_TO_TOP}</span>
1105 + </a>
1106 + <!-- IF not faq_block.faq_row.S_LAST_ROW --><hr class="dashed" /><!-- ENDIF -->
1107 + <!-- END faq_row -->
1108 + </div>
1109 +
1110 + </div>
1111 + </div>
1112 +<!-- END faq_block -->
1113 +
1114 +<!-- INCLUDE jumpbox.html -->
1115 +<!-- INCLUDE overall_footer.html -->
1116
1117 diff --git a/template/forum_fn.js b/template/forum_fn.js
1118 new file mode 100644
1119 index 000000000..3f28f8a32
1120 --- /dev/null
1121 +++ b/template/forum_fn.js
1122 @@ -0,0 +1,937 @@
1123 +/* global phpbb */
1124 +
1125 +/**
1126 +* phpBB3 forum functions
1127 +*/
1128 +
1129 +/**
1130 +* Find a member
1131 +*/
1132 +function find_username(url) {
1133 + 'use strict';
1134 +
1135 + popup(url, 760, 570, '_usersearch');
1136 + return false;
1137 +}
1138 +
1139 +/**
1140 +* Window popup
1141 +*/
1142 +function popup(url, width, height, name) {
1143 + 'use strict';
1144 +
1145 + if (!name) {
1146 + name = '_popup';
1147 + }
1148 +
1149 + window.open(url.replace(/&amp;/g, '&'), name, 'height=' + height + ',resizable=yes,scrollbars=yes, width=' + width);
1150 + return false;
1151 +}
1152 +
1153 +/**
1154 +* Jump to page
1155 +*/
1156 +function pageJump(item) {
1157 + 'use strict';
1158 +
1159 + var page = parseInt(item.val(), 10),
1160 + perPage = item.attr('data-per-page'),
1161 + baseUrl = item.attr('data-base-url'),
1162 + startName = item.attr('data-start-name');
1163 +
1164 + if (page !== null && !isNaN(page) && page === Math.floor(page) && page > 0) {
1165 + if (baseUrl.indexOf('?') === -1) {
1166 + document.location.href = baseUrl + '?' + startName + '=' + ((page - 1) * perPage);
1167 + } else {
1168 + document.location.href = baseUrl.replace(/&amp;/g, '&') + '&' + startName + '=' + ((page - 1) * perPage);
1169 + }
1170 + }
1171 +}
1172 +
1173 +/**
1174 +* Mark/unmark checklist
1175 +* id = ID of parent container, name = name prefix, state = state [true/false]
1176 +*/
1177 +function marklist(id, name, state) {
1178 + 'use strict';
1179 +
1180 + jQuery('#' + id + ' input[type=checkbox][name]').each(function() {
1181 + var $this = jQuery(this);
1182 + if ($this.attr('name').substr(0, name.length) === name && !$this.prop('disabled')) {
1183 + $this.prop('checked', state);
1184 + }
1185 + });
1186 +}
1187 +
1188 +/**
1189 +* Resize viewable area for attached image or topic review panel (possibly others to come)
1190 +* e = element
1191 +*/
1192 +function viewableArea(e, itself) {
1193 + 'use strict';
1194 +
1195 + if (!e) {
1196 + return;
1197 + }
1198 +
1199 + if (!itself) {
1200 + e = e.parentNode;
1201 + }
1202 +
1203 + if (!e.vaHeight) {
1204 + // Store viewable area height before changing style to auto
1205 + e.vaHeight = e.offsetHeight;
1206 + e.vaMaxHeight = e.style.maxHeight;
1207 + e.style.height = 'auto';
1208 + e.style.maxHeight = 'none';
1209 + e.style.overflow = 'visible';
1210 + } else {
1211 + // Restore viewable area height to the default
1212 + e.style.height = e.vaHeight + 'px';
1213 + e.style.overflow = 'auto';
1214 + e.style.maxHeight = e.vaMaxHeight;
1215 + e.vaHeight = false;
1216 + }
1217 +}
1218 +
1219 +/**
1220 +* Alternate display of subPanels
1221 +*/
1222 +jQuery(function($) {
1223 + 'use strict';
1224 +
1225 + $('.sub-panels').each(function() {
1226 +
1227 + var $childNodes = $('a[data-subpanel]', this),
1228 + panels = $childNodes.map(function () {
1229 + return this.getAttribute('data-subpanel');
1230 + }),
1231 + showPanel = this.getAttribute('data-show-panel');
1232 +
1233 + if (panels.length) {
1234 + activateSubPanel(showPanel, panels);
1235 + $childNodes.click(function () {
1236 + activateSubPanel(this.getAttribute('data-subpanel'), panels);
1237 + return false;
1238 + });
1239 + }
1240 + });
1241 +});
1242 +
1243 +/**
1244 +* Activate specific subPanel
1245 +*/
1246 +function activateSubPanel(p, panels) {
1247 + 'use strict';
1248 +
1249 + var i, showPanel;
1250 +
1251 + if (typeof p === 'string') {
1252 + showPanel = p;
1253 + }
1254 + $('input[name="show_panel"]').val(showPanel);
1255 +
1256 + if (typeof panels === 'undefined') {
1257 + panels = jQuery('.sub-panels a[data-subpanel]').map(function() {
1258 + return this.getAttribute('data-subpanel');
1259 + });
1260 + }
1261 +
1262 + for (i = 0; i < panels.length; i++) {
1263 + jQuery('#' + panels[i]).css('display', panels[i] === showPanel ? 'block' : 'none');
1264 + jQuery('#' + panels[i] + '-tab').toggleClass('activetab', panels[i] === showPanel);
1265 + }
1266 +}
1267 +
1268 +function selectCode(a) {
1269 + 'use strict';
1270 +
1271 + // Get ID of code block
1272 + var e = a.parentNode.parentNode.getElementsByTagName('CODE')[0];
1273 + var s, r;
1274 +
1275 + // Not IE and IE9+
1276 + if (window.getSelection) {
1277 + s = window.getSelection();
1278 + // Safari and Chrome
1279 + if (s.setBaseAndExtent) {
1280 + var l = (e.innerText.length > 1) ? e.innerText.length - 1 : 1;
1281 + try {
1282 + s.setBaseAndExtent(e, 0, e, l);
1283 + } catch (error) {
1284 + r = document.createRange();
1285 + r.selectNodeContents(e);
1286 + s.removeAllRanges();
1287 + s.addRange(r);
1288 + }
1289 + }
1290 + // Firefox and Opera
1291 + else {
1292 + // workaround for bug # 42885
1293 + if (window.opera && e.innerHTML.substring(e.innerHTML.length - 4) === '<BR>') {
1294 + e.innerHTML = e.innerHTML + '&nbsp;';
1295 + }
1296 +
1297 + r = document.createRange();
1298 + r.selectNodeContents(e);
1299 + s.removeAllRanges();
1300 + s.addRange(r);
1301 + }
1302 + }
1303 + // Some older browsers
1304 + else if (document.getSelection) {
1305 + s = document.getSelection();
1306 + r = document.createRange();
1307 + r.selectNodeContents(e);
1308 + s.removeAllRanges();
1309 + s.addRange(r);
1310 + }
1311 + // IE
1312 + else if (document.selection) {
1313 + r = document.body.createTextRange();
1314 + r.moveToElementText(e);
1315 + r.select();
1316 + }
1317 +}
1318 +
1319 +var inAutocomplete = false;
1320 +var lastKeyEntered = '';
1321 +
1322 +/**
1323 +* Check event key
1324 +*/
1325 +function phpbbCheckKey(event) {
1326 + 'use strict';
1327 +
1328 + // Keycode is array down or up?
1329 + if (event.keyCode && (event.keyCode === 40 || event.keyCode === 38)) {
1330 + inAutocomplete = true;
1331 + }
1332 +
1333 + // Make sure we are not within an "autocompletion" field
1334 + if (inAutocomplete) {
1335 + // If return pressed and key changed we reset the autocompletion
1336 + if (!lastKeyEntered || lastKeyEntered === event.which) {
1337 + inAutocomplete = false;
1338 + return true;
1339 + }
1340 + }
1341 +
1342 + // Keycode is not return, then return. ;)
1343 + if (event.which !== 13) {
1344 + lastKeyEntered = event.which;
1345 + return true;
1346 + }
1347 +
1348 + return false;
1349 +}
1350 +
1351 +/**
1352 +* Apply onkeypress event for forcing default submit button on ENTER key press
1353 +*/
1354 +jQuery(function($) {
1355 + 'use strict';
1356 +
1357 + $('form input[type=text], form input[type=password]').on('keypress', function (e) {
1358 + var defaultButton = $(this).parents('form').find('input[type=submit].default-submit-action');
1359 +
1360 + if (!defaultButton || defaultButton.length <= 0) {
1361 + return true;
1362 + }
1363 +
1364 + if (phpbbCheckKey(e)) {
1365 + return true;
1366 + }
1367 +
1368 + if ((e.which && e.which === 13) || (e.keyCode && e.keyCode === 13)) {
1369 + defaultButton.click();
1370 + return false;
1371 + }
1372 +
1373 + return true;
1374 + });
1375 +});
1376 +
1377 +/**
1378 +* Functions for user search popup
1379 +*/
1380 +function insertUser(formId, value) {
1381 + 'use strict';
1382 +
1383 + var $form = jQuery(formId),
1384 + formName = $form.attr('data-form-name'),
1385 + fieldName = $form.attr('data-field-name'),
1386 + item = opener.document.forms[formName][fieldName];
1387 +
1388 + if (item.value.length && item.type === 'textarea') {
1389 + value = item.value + '\n' + value;
1390 + }
1391 +
1392 + item.value = value;
1393 +}
1394 +
1395 +function insert_marked_users(formId, users) {
1396 + 'use strict';
1397 +
1398 + $(users).filter(':checked').each(function() {
1399 + insertUser(formId, this.value);
1400 + });
1401 +
1402 + window.close();
1403 +}
1404 +
1405 +function insert_single_user(formId, user) {
1406 + 'use strict';
1407 +
1408 + insertUser(formId, user);
1409 + window.close();
1410 +}
1411 +
1412 +/**
1413 +* Parse document block
1414 +*/
1415 +function parseDocument($container) {
1416 + 'use strict';
1417 +
1418 + var test = document.createElement('div'),
1419 + oldBrowser = (typeof test.style.borderRadius === 'undefined'),
1420 + $body = $('body');
1421 +
1422 + /**
1423 + * Reset avatar dimensions when changing URL or EMAIL
1424 + */
1425 + $container.find('input[data-reset-on-edit]').on('keyup', function() {
1426 + $(this.getAttribute('data-reset-on-edit')).val('');
1427 + });
1428 +
1429 + /**
1430 + * Pagination
1431 + */
1432 + $container.find('.pagination .page-jump-form :button').click(function() {
1433 + var $input = $(this).siblings('input.inputbox');
1434 + pageJump($input);
1435 + });
1436 +
1437 + $container.find('.pagination .page-jump-form input.inputbox').on('keypress', function(event) {
1438 + if (event.which === 13 || event.keyCode === 13) {
1439 + event.preventDefault();
1440 + pageJump($(this));
1441 + }
1442 + });
1443 +
1444 + $container.find('.pagination .dropdown-trigger').click(function() {
1445 + var $dropdownContainer = $(this).parent();
1446 + // Wait a little bit to make sure the dropdown has activated
1447 + setTimeout(function() {
1448 + if ($dropdownContainer.hasClass('dropdown-visible')) {
1449 + $dropdownContainer.find('input.inputbox').focus();
1450 + }
1451 + }, 100);
1452 + });
1453 +
1454 + /**
1455 + * Adjust HTML code for IE8 and older versions
1456 + */
1457 + // if (oldBrowser) {
1458 + // // Fix .linklist.bulletin lists
1459 + // $container
1460 + // .find('ul.linklist.bulletin > li')
1461 + // .filter(':first-child, .rightside:last-child')
1462 + // .addClass('no-bulletin');
1463 + // }
1464 +
1465 + /**
1466 + * Resize navigation (breadcrumbs) block to keep all links on same line
1467 + */
1468 + $container.find('.navlinks').each(function() {
1469 + var $this = $(this),
1470 + $left = $this.children().not('.rightside'),
1471 + $right = $this.children('.rightside');
1472 +
1473 + if ($left.length !== 1 || !$right.length) {
1474 + return;
1475 + }
1476 +
1477 + function resize() {
1478 + var width = 0,
1479 + diff = $left.outerWidth(true) - $left.width(),
1480 + minWidth = Math.max($this.width() / 3, 240),
1481 + maxWidth;
1482 +
1483 + $right.each(function() {
1484 + var $this = $(this);
1485 + if ($this.is(':visible')) {
1486 + width += $this.outerWidth(true);
1487 + }
1488 + });
1489 +
1490 + maxWidth = $this.width() - width - diff;
1491 + $left.css('max-width', Math.floor(Math.max(maxWidth, minWidth)) + 'px');
1492 + }
1493 +
1494 + resize();
1495 + $(window).resize(resize);
1496 + });
1497 +
1498 + /**
1499 + * Makes breadcrumbs responsive
1500 + */
1501 + $container.find('.breadcrumbs:not([data-skip-responsive])').each(function() {
1502 + var $this = $(this),
1503 + $links = $this.find('.crumb'),
1504 + length = $links.length,
1505 + classes = ['wrapped-max', 'wrapped-wide', 'wrapped-medium', 'wrapped-small', 'wrapped-tiny'],
1506 + classesLength = classes.length,
1507 + maxHeight = 0,
1508 + lastWidth = false,
1509 + wrapped = false;
1510 +
1511 + // Set tooltips
1512 + $this.find('a').each(function() {
1513 + var $link = $(this);
1514 + $link.attr('title', $link.text());
1515 + });
1516 +
1517 + // Function that checks breadcrumbs
1518 + function check() {
1519 + var height = $this.height(),
1520 + width;
1521 +
1522 + // Test max-width set in code for .navlinks above
1523 + width = parseInt($this.css('max-width'), 10);
1524 + if (!width) {
1525 + width = $body.width();
1526 + }
1527 +
1528 + maxHeight = parseInt($this.css('line-height'), 10);
1529 + $links.each(function() {
1530 + if ($(this).height() > 0) {
1531 + maxHeight = Math.max(maxHeight, $(this).outerHeight(true));
1532 + }
1533 + });
1534 +
1535 + if (height <= maxHeight) {
1536 + if (!wrapped || lastWidth === false || lastWidth >= width) {
1537 + return;
1538 + }
1539 + }
1540 + lastWidth = width;
1541 +
1542 + if (wrapped) {
1543 + $this.removeClass('wrapped').find('.crumb.wrapped').removeClass('wrapped ' + classes.join(' '));
1544 + if ($this.height() <= maxHeight) {
1545 + return;
1546 + }
1547 + }
1548 +
1549 + wrapped = true;
1550 + $this.addClass('wrapped');
1551 + if ($this.height() <= maxHeight) {
1552 + return;
1553 + }
1554 +
1555 + for (var i = 0; i < classesLength; i++) {
1556 + for (var j = length - 1; j >= 0; j--) {
1557 + $links.eq(j).addClass('wrapped ' + classes[i]);
1558 + if ($this.height() <= maxHeight) {
1559 + return;
1560 + }
1561 + }
1562 + }
1563 + }
1564 +
1565 + // Run function and set event
1566 + check();
1567 + $(window).resize(check);
1568 + });
1569 +
1570 + /**
1571 + * Responsive link lists
1572 + */
1573 + var selector = '.linklist:not(.navlinks, [data-skip-responsive]),' +
1574 + '.postbody .post-buttons:not([data-skip-responsive])';
1575 + $container.find(selector).each(function() {
1576 + var $this = $(this),
1577 + filterSkip = '.breadcrumbs, [data-skip-responsive]',
1578 + filterLast = '.edit-icon, .quote-icon, [data-last-responsive]',
1579 + $linksAll = $this.children(),
1580 + $linksNotSkip = $linksAll.not(filterSkip), // All items that can potentially be hidden
1581 + $linksFirst = $linksNotSkip.not(filterLast), // The items that will be hidden first
1582 + $linksLast = $linksNotSkip.filter(filterLast), // The items that will be hidden last
1583 + persistent = $this.attr('id') === 'nav-main', // Does this list already have a menu (such as quick-links)?
1584 + html = '<li class="responsive-menu hidden"><a href="javascript:void(0);" class="js-responsive-menu-link responsive-menu-link"><i class="icon fa-bars fa-fw" aria-hidden="true"></i></a><div class="dropdown"><div class="pointer"><div class="pointer-inner" /></div><ul class="dropdown-contents" /></div></li>',
1585 + slack = 3; // Vertical slack space (in pixels). Determines how sensitive the script is in determining whether a line-break has occured.
1586 +
1587 + // Add a hidden drop-down menu to each links list (except those that already have one)
1588 + if (!persistent) {
1589 + if ($linksNotSkip.is('.rightside')) {
1590 + $linksNotSkip.filter('.rightside:first').before(html);
1591 + $this.children('.responsive-menu').addClass('rightside');
1592 + } else {
1593 + $this.append(html);
1594 + }
1595 + }
1596 +
1597 + // Set some object references and initial states
1598 + var $menu = $this.children('.responsive-menu'),
1599 + $menuContents = $menu.find('.dropdown-contents'),
1600 + persistentContent = $menuContents.find('li:not(.separator)').length,
1601 + lastWidth = false,
1602 + compact = false,
1603 + responsive1 = false,
1604 + responsive2 = false,
1605 + copied1 = false,
1606 + copied2 = false,
1607 + maxHeight = 0;
1608 +
1609 + // Find the tallest element in the list (we assume that all elements are roughly the same height)
1610 + $linksAll.each(function() {
1611 + if (!$(this).height()) {
1612 + return;
1613 + }
1614 + maxHeight = Math.max(maxHeight, $(this).outerHeight(true));
1615 + });
1616 + if (maxHeight < 1) {
1617 + return; // Shouldn't be possible, but just in case, abort
1618 + } else {
1619 + maxHeight = maxHeight + slack;
1620 + }
1621 +
1622 + function check() {
1623 + var width = $body.width();
1624 + // We can't make it any smaller than this, so just skip
1625 + if (responsive2 && compact && (width <= lastWidth)) {
1626 + return;
1627 + }
1628 + lastWidth = width;
1629 +
1630 + // Reset responsive and compact layout
1631 + if (responsive1 || responsive2) {
1632 + $linksNotSkip.removeClass('hidden');
1633 + $menuContents.children('.clone').addClass('hidden');
1634 + responsive1 = responsive2 = false;
1635 + }
1636 + if (compact) {
1637 + $this.removeClass('compact');
1638 + compact = false;
1639 + }
1640 +
1641 + // Unhide the quick-links menu if it has "persistent" content
1642 + if (persistent && persistentContent) {
1643 + $menu.removeClass('hidden');
1644 + } else {
1645 + $menu.addClass('hidden');
1646 + }
1647 +
1648 + // Nothing to resize if block's height is not bigger than tallest element's height
1649 + if ($this.height() <= maxHeight) {
1650 + return;
1651 + }
1652 +
1653 + // STEP 1: Compact
1654 + if (!compact) {
1655 + $this.addClass('compact');
1656 + compact = true;
1657 + }
1658 + if ($this.height() <= maxHeight) {
1659 + return;
1660 + }
1661 +
1662 + // STEP 2: First responsive set - compact
1663 + if (compact) {
1664 + $this.removeClass('compact');
1665 + compact = false;
1666 + }
1667 + // Copy the list items to the dropdown
1668 + if (!copied1) {
1669 + var $clones1 = $linksFirst.clone();
1670 + $menuContents.prepend($clones1.addClass('clone clone-first').removeClass('leftside rightside'));
1671 +
1672 + if ($this.hasClass('post-buttons')) {
1673 + $('.button', $menuContents).removeClass('button');
1674 + $('.sr-only', $menuContents).removeClass('sr-only');
1675 + $('.js-responsive-menu-link').addClass('button').addClass('button-icon-only');
1676 + $('.js-responsive-menu-link .icon').removeClass('fa-bars').addClass('fa-ellipsis-h');
1677 + }
1678 + copied1 = true;
1679 + }
1680 + if (!responsive1) {
1681 + $linksFirst.addClass('hidden');
1682 + responsive1 = true;
1683 + $menuContents.children('.clone-first').removeClass('hidden');
1684 + $menu.removeClass('hidden');
1685 + }
1686 + if ($this.height() <= maxHeight) {
1687 + return;
1688 + }
1689 +
1690 + // STEP 3: First responsive set + compact
1691 + if (!compact) {
1692 + $this.addClass('compact');
1693 + compact = true;
1694 + }
1695 + if ($this.height() <= maxHeight) {
1696 + return;
1697 + }
1698 +
1699 + // STEP 4: Last responsive set - compact
1700 + if (!$linksLast.length) {
1701 + return; // No other links to hide, can't do more
1702 + }
1703 + if (compact) {
1704 + $this.removeClass('compact');
1705 + compact = false;
1706 + }
1707 + // Copy the list items to the dropdown
1708 + if (!copied2) {
1709 + var $clones2 = $linksLast.clone();
1710 + $menuContents.prepend($clones2.addClass('clone clone-last').removeClass('leftside rightside'));
1711 + copied2 = true;
1712 + }
1713 + if (!responsive2) {
1714 + $linksLast.addClass('hidden');
1715 + responsive2 = true;
1716 + $menuContents.children('.clone-last').removeClass('hidden');
1717 + }
1718 + if ($this.height() <= maxHeight) {
1719 + return;
1720 + }
1721 +
1722 + // STEP 5: Last responsive set + compact
1723 + if (!compact) {
1724 + $this.addClass('compact');
1725 + compact = true;
1726 + }
1727 + }
1728 +
1729 + if (!persistent) {
1730 + phpbb.registerDropdown($menu.find('a.js-responsive-menu-link'), $menu.find('.dropdown'), false);
1731 + }
1732 +
1733 + // If there are any images in the links list, run the check again after they have loaded
1734 + $linksAll.find('img').each(function() {
1735 + $(this).on('load', function() {
1736 + check();
1737 + });
1738 + });
1739 +
1740 + check();
1741 + $(window).resize(check);
1742 + });
1743 +
1744 + /**
1745 + * Do not run functions below for old browsers
1746 + */
1747 + if (oldBrowser) {
1748 + return;
1749 + }
1750 +
1751 + /**
1752 + * Adjust topiclist lists with check boxes
1753 + */
1754 + $container.find('ul.topiclist dd.mark').siblings('dt').children('.list-inner').addClass('with-mark');
1755 +
1756 + /**
1757 + * Appends contents of all extra columns to first column in
1758 + * .topiclist lists for mobile devices. Copies contents as is.
1759 + *
1760 + * To add that functionality to .topiclist list simply add
1761 + * responsive-show-all to list of classes
1762 + */
1763 + $container.find('.topiclist.responsive-show-all > li > dl').each(function() {
1764 + var $this = $(this),
1765 + $block = $this.find('dt .responsive-show:last-child'),
1766 + first = true;
1767 +
1768 + // Create block that is visible only on mobile devices
1769 + if (!$block.length) {
1770 + $this.find('dt > .list-inner').append('<div class="responsive-show" style="display:none;" />');
1771 + $block = $this.find('dt .responsive-show:last-child');
1772 + } else {
1773 + first = ($.trim($block.text()).length === 0);
1774 + }
1775 +
1776 + // Copy contents of each column
1777 + $this.find('dd').not('.mark').each(function() {
1778 + var column = $(this),
1779 + $children = column.children(),
1780 + html = column.html();
1781 +
1782 + if ($children.length === 1 && $children.text() === column.text()) {
1783 + html = $children.html();
1784 + }
1785 +
1786 + $block.append((first ? '' : '<br />') + html);
1787 +
1788 + first = false;
1789 + });
1790 + });
1791 +
1792 + /**
1793 + * Same as above, but prepends text from header to each
1794 + * column before contents of that column.
1795 + *
1796 + * To add that functionality to .topiclist list simply add
1797 + * responsive-show-columns to list of classes
1798 + */
1799 + $container.find('.topiclist.responsive-show-columns').each(function() {
1800 + var $list = $(this),
1801 + headers = [],
1802 + headersLength = 0;
1803 +
1804 + // Find all headers, get contents
1805 + $list.prev('.topiclist').find('li.header dd').not('.mark').each(function() {
1806 + headers.push($(this).text());
1807 + headersLength++;
1808 + });
1809 +
1810 + if (!headersLength) {
1811 + return;
1812 + }
1813 +
1814 + // Parse each row
1815 + $list.find('dl').each(function() {
1816 + var $this = $(this),
1817 + $block = $this.find('dt .responsive-show:last-child'),
1818 + first = true;
1819 +
1820 + // Create block that is visible only on mobile devices
1821 + if (!$block.length) {
1822 + $this.find('dt > .list-inner').append('<div class="responsive-show" style="display:none;" />');
1823 + $block = $this.find('dt .responsive-show:last-child');
1824 + } else {
1825 + first = ($.trim($block.text()).length === 0);
1826 + }
1827 +
1828 + // Copy contents of each column
1829 + $this.find('dd').not('.mark').each(function(i) {
1830 + var column = $(this),
1831 + children = column.children(),
1832 + html = column.html();
1833 +
1834 + if (children.length === 1 && children.text() === column.text()) {
1835 + html = children.html();
1836 + }
1837 +
1838 + // Prepend contents of matching header before contents of column
1839 + if (i < headersLength) {
1840 + html = headers[i] + ': <strong>' + html + '</strong>';
1841 + }
1842 +
1843 + $block.append((first ? '' : '<br />') + html);
1844 +
1845 + first = false;
1846 + });
1847 + });
1848 + });
1849 +
1850 + /**
1851 + * Responsive tables
1852 + */
1853 + $container.find('table.table1').not('.not-responsive').each(function() {
1854 + var $this = $(this),
1855 + $th = $this.find('thead > tr > th'),
1856 + headers = [],
1857 + totalHeaders = 0,
1858 + i, headersLength;
1859 +
1860 + // Find each header
1861 + $th.each(function(column) {
1862 + var cell = $(this),
1863 + colspan = parseInt(cell.attr('colspan'), 10),
1864 + dfn = cell.attr('data-dfn'),
1865 + text = dfn ? dfn : cell.text();
1866 +
1867 + colspan = isNaN(colspan) || colspan < 1 ? 1 : colspan;
1868 +
1869 + for (i = 0; i < colspan; i++) {
1870 + headers.push(text);
1871 + }
1872 + totalHeaders++;
1873 +
1874 + if (dfn && !column) {
1875 + $this.addClass('show-header');
1876 + }
1877 + });
1878 +
1879 + headersLength = headers.length;
1880 +
1881 + // Add header text to each cell as <dfn>
1882 + $this.addClass('responsive');
1883 +
1884 + if (totalHeaders < 2) {
1885 + $this.addClass('show-header');
1886 + return;
1887 + }
1888 +
1889 + $this.find('tbody > tr').each(function() {
1890 + var row = $(this),
1891 + cells = row.children('td'),
1892 + column = 0;
1893 +
1894 + if (cells.length === 1) {
1895 + row.addClass('big-column');
1896 + return;
1897 + }
1898 +
1899 + cells.each(function() {
1900 + var cell = $(this),
1901 + colspan = parseInt(cell.attr('colspan'), 10),
1902 + text = $.trim(cell.text());
1903 +
1904 + if (headersLength <= column) {
1905 + return;
1906 + }
1907 +
1908 + if ((text.length && text !== '-') || cell.children().length) {
1909 + cell.prepend('<dfn style="display: none;">' + headers[column] + '</dfn>');
1910 + } else {
1911 + cell.addClass('empty');
1912 + }
1913 +
1914 + colspan = isNaN(colspan) || colspan < 1 ? 1 : colspan;
1915 + column += colspan;
1916 + });
1917 + });
1918 + });
1919 +
1920 + /**
1921 + * Hide empty responsive tables
1922 + */
1923 + $container.find('table.responsive > tbody').not('.responsive-skip-empty').each(function() {
1924 + var $items = $(this).children('tr');
1925 + if (!$items.length) {
1926 + $(this).parent('table:first').addClass('responsive-hide');
1927 + }
1928 + });
1929 +
1930 + /**
1931 + * Responsive tabs
1932 + */
1933 + $container.find('#tabs, #minitabs').not('[data-skip-responsive]').each(function() {
1934 + var $this = $(this),
1935 + $ul = $this.children(),
1936 + $tabs = $ul.children().not('[data-skip-responsive]'),
1937 + $links = $tabs.children('a'),
1938 + $item = $ul.append('<li class="tab responsive-tab" style="display:none;"><a href="javascript:void(0);" class="responsive-tab-link">&nbsp;</a><div class="dropdown tab-dropdown" style="display: none;"><div class="pointer"><div class="pointer-inner" /></div><ul class="dropdown-contents" /></div></li>').find('li.responsive-tab'),
1939 + $menu = $item.find('.dropdown-contents'),
1940 + maxHeight = 0,
1941 + lastWidth = false,
1942 + responsive = false;
1943 +
1944 + $links.each(function() {
1945 + var $this = $(this);
1946 + maxHeight = Math.max(maxHeight, Math.max($this.outerHeight(true), $this.parent().outerHeight(true)));
1947 + });
1948 +
1949 + function check() {
1950 + var width = $body.width(),
1951 + height = $this.height();
1952 +
1953 + if (!arguments.length && (!responsive || width <= lastWidth) && height <= maxHeight) {
1954 + return;
1955 + }
1956 +
1957 + $tabs.show();
1958 + $item.hide();
1959 +
1960 + lastWidth = width;
1961 + height = $this.height();
1962 + if (height <= maxHeight) {
1963 + if ($item.hasClass('dropdown-visible')) {
1964 + phpbb.toggleDropdown.call($item.find('a.responsive-tab-link').get(0));
1965 + }
1966 + return;
1967 + }
1968 +
1969 + responsive = true;
1970 + $item.show();
1971 + $menu.html('');
1972 +
1973 + var $availableTabs = $tabs.filter(':not(.activetab, .responsive-tab)'),
1974 + total = $availableTabs.length,
1975 + i, $tab;
1976 +
1977 + for (i = total - 1; i >= 0; i--) {
1978 + $tab = $availableTabs.eq(i);
1979 + $menu.prepend($tab.clone(true).removeClass('tab'));
1980 + $tab.hide();
1981 + if ($this.height() <= maxHeight) {
1982 + $menu.find('a').click(function() {
1983 + check(true);
1984 + });
1985 + return;
1986 + }
1987 + }
1988 + $menu.find('a').click(function() {
1989 + check(true);
1990 + });
1991 + }
1992 +
1993 + var $tabLink = $item.find('a.responsive-tab-link');
1994 + phpbb.registerDropdown($tabLink, $item.find('.dropdown'), {
1995 + visibleClass: 'activetab'
1996 + });
1997 +
1998 + check(true);
1999 + $(window).resize(check);
2000 + });
2001 +
2002 + /**
2003 + * Hide UCP/MCP navigation if there is only 1 item
2004 + */
2005 + $container.find('#navigation').each(function() {
2006 + var $items = $(this).children('ol, ul').children('li');
2007 + if ($items.length === 1) {
2008 + $(this).addClass('responsive-hide');
2009 + }
2010 + });
2011 +
2012 + /**
2013 + * Replace responsive text
2014 + */
2015 + $container.find('[data-responsive-text]').each(function() {
2016 + var $this = $(this),
2017 + fullText = $this.text(),
2018 + responsiveText = $this.attr('data-responsive-text'),
2019 + responsive = false;
2020 +
2021 + function check() {
2022 + if ($(window).width() > 700) {
2023 + if (!responsive) {
2024 + return;
2025 + }
2026 + $this.text(fullText);
2027 + responsive = false;
2028 + return;
2029 + }
2030 + if (responsive) {
2031 + return;
2032 + }
2033 + $this.text(responsiveText);
2034 + responsive = true;
2035 + }
2036 +
2037 + check();
2038 + $(window).resize(check);
2039 + });
2040 +}
2041 +
2042 +/**
2043 +* Run onload functions
2044 +*/
2045 +jQuery(function($) {
2046 + 'use strict';
2047 +
2048 + // Swap .nojs and .hasjs
2049 + $('#phpbb.nojs').toggleClass('nojs hasjs');
2050 + $('#phpbb').toggleClass('hastouch', phpbb.isTouch);
2051 + $('#phpbb.hastouch').removeClass('notouch');
2052 +
2053 + // Focus forms
2054 + $('form[data-focus]:first').each(function() {
2055 + $('#' + this.getAttribute('data-focus')).focus();
2056 + });
2057 +
2058 + parseDocument($('body'));
2059 +});
2060
2061 diff --git a/template/forumlist_body.html b/template/forumlist_body.html
2062 new file mode 100644
2063 index 000000000..8250a1fd0
2064 --- /dev/null
2065 +++ b/template/forumlist_body.html
2066 @@ -0,0 +1,137 @@
2067 +
2068 +<!-- BEGIN forumrow -->
2069 + <!-- IF (forumrow.S_IS_CAT and not forumrow.S_FIRST_ROW) or forumrow.S_NO_CAT -->
2070 + </ul>
2071 +
2072 + </div>
2073 + </div>
2074 + <!-- ENDIF -->
2075 +
2076 + <!-- EVENT forumlist_body_category_header_before -->
2077 + <!-- IF forumrow.S_IS_CAT or forumrow.S_FIRST_ROW or forumrow.S_NO_CAT -->
2078 + <div class="forabg">
2079 + <div class="inner">
2080 + <ul class="topiclist">
2081 + <li class="header">
2082 + <!-- EVENT forumlist_body_category_header_row_prepend -->
2083 + <dl class="row-item">
2084 + <dt><div class="list-inner"><!-- IF forumrow.S_IS_CAT --><a href="{forumrow.U_VIEWFORUM}">{forumrow.FORUM_NAME}</a><!-- ELSE -->{L_FORUM}<!-- ENDIF --></div></dt>
2085 + <dd class="topics">{L_TOPICS}</dd>
2086 + <dd class="posts">{L_POSTS}</dd>
2087 + <dd class="lastpost"><span>{L_LAST_POST}</span></dd>
2088 + </dl>
2089 + <!-- EVENT forumlist_body_category_header_row_append -->
2090 + </li>
2091 + </ul>
2092 + <ul class="topiclist forums">
2093 + <!-- ENDIF -->
2094 + <!-- EVENT forumlist_body_category_header_after -->
2095 +
2096 + <!-- IF not forumrow.S_IS_CAT -->
2097 + <!-- EVENT forumlist_body_forum_row_before -->
2098 + <li class="row">
2099 + <!-- EVENT forumlist_body_forum_row_prepend -->
2100 + <dl class="row-item {forumrow.FORUM_IMG_STYLE}">
2101 + <dt title="{forumrow.FORUM_FOLDER_IMG_ALT}">
2102 + <!-- IF forumrow.S_UNREAD_FORUM --><a href="{forumrow.U_VIEWFORUM}" class="row-item-link"></a><!-- ENDIF -->
2103 + <div class="list-inner">
2104 + <!-- IF S_ENABLE_FEEDS and forumrow.S_FEED_ENABLED -->
2105 + <!--
2106 + <a class="feed-icon-forum" title="{L_FEED} - {forumrow.FORUM_NAME}" href="{U_FEED}?f={forumrow.FORUM_ID}">
2107 + <i class="icon fa-rss-square fa-fw icon-orange" aria-hidden="true"></i><span class="sr-only">{L_FEED} - {forumrow.FORUM_NAME}</span>
2108 + </a>
2109 + -->
2110 + <!-- ENDIF -->
2111 + <!-- IF forumrow.FORUM_IMAGE -->
2112 + <!-- EVENT forumlist_body_forum_image_before -->
2113 + <span class="forum-image"><!-- EVENT forumlist_body_forum_image_prepend -->{forumrow.FORUM_IMAGE}<!-- EVENT forumlist_body_forum_image_append --></span>
2114 + <!-- EVENT forumlist_body_forum_image_after -->
2115 + <!-- ENDIF -->
2116 + <a href="{forumrow.U_VIEWFORUM}" class="forumtitle">{forumrow.FORUM_NAME}</a>
2117 + <!-- IF forumrow.FORUM_DESC --><br />{forumrow.FORUM_DESC}<!-- ENDIF -->
2118 + <!-- IF forumrow.MODERATORS -->
2119 + <br /><strong>{forumrow.L_MODERATOR_STR}{L_COLON}</strong> {forumrow.MODERATORS}
2120 + <!-- ENDIF -->
2121 + <!-- IF .forumrow.subforum and forumrow.S_LIST_SUBFORUMS -->
2122 + <!-- EVENT forumlist_body_subforums_before -->
2123 + <br /><strong>{forumrow.L_SUBFORUM_STR}{L_COLON}</strong>
2124 + <!-- BEGIN subforum -->
2125 + <!-- 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 -->">
2126 + <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 -->
2127 + <!-- END subforum -->
2128 + <!-- EVENT forumlist_body_subforums_after -->
2129 + <!-- ENDIF -->
2130 +
2131 + <!-- IF not S_IS_BOT -->
2132 + <div class="responsive-show" style="display: none;">
2133 + <!-- IF forumrow.CLICKS -->
2134 + {L_REDIRECTS}{L_COLON} <strong>{forumrow.CLICKS}</strong>
2135 + <!-- ELSEIF not forumrow.S_IS_LINK and forumrow.TOPICS -->
2136 + {L_TOPICS}{L_COLON} <strong>{forumrow.TOPICS}</strong>
2137 + <!-- ENDIF -->
2138 + </div>
2139 + <!-- ENDIF -->
2140 + </div>
2141 + </dt>
2142 + <!-- IF forumrow.CLICKS -->
2143 + <dd class="redirect"><span>{L_REDIRECTS}{L_COLON} {forumrow.CLICKS}</span></dd>
2144 + <!-- ELSEIF not forumrow.S_IS_LINK -->
2145 + <dd class="topics">{forumrow.TOPICS} <dfn>{L_TOPICS}</dfn></dd>
2146 + <dd class="posts">{forumrow.POSTS} <dfn>{L_POSTS}</dfn></dd>
2147 + <dd class="lastpost">
2148 + <span>
2149 + <!-- IF forumrow.U_UNAPPROVED_TOPICS -->
2150 + <a href="{forumrow.U_UNAPPROVED_TOPICS}" title="{L_TOPICS_UNAPPROVED}">
2151 + <i class="icon fa-question fa-fw icon-blue" aria-hidden="true"></i><span class="sr-only">{L_TOPICS_UNAPPROVED}</span>
2152 + </a>
2153 + <!-- ELSEIF forumrow.U_UNAPPROVED_POSTS -->
2154 + <a href="{forumrow.U_UNAPPROVED_POSTS}" title="{L_POSTS_UNAPPROVED_FORUM}">
2155 + <i class="icon fa-question fa-fw icon-blue" aria-hidden="true"></i><span class="sr-only">{L_POSTS_UNAPPROVED_FORUM}</span>
2156 + </a>
2157 + <!-- ENDIF -->
2158 + <!-- IF forumrow.LAST_POST_TIME -->
2159 + <dfn>{L_LAST_POST}</dfn>
2160 + <!-- IF forumrow.S_DISPLAY_SUBJECT -->
2161 + <!-- EVENT forumlist_body_last_post_title_prepend -->
2162 + <a href="{forumrow.U_LAST_POST}" title="{forumrow.LAST_POST_SUBJECT}" class="lastsubject">{forumrow.LAST_POST_SUBJECT_TRUNCATED}</a> <br />
2163 + <!-- ENDIF -->
2164 + {L_POST_BY_AUTHOR} <!-- EVENT forumlist_body_last_poster_username_prepend -->{forumrow.LAST_POSTER_FULL}<!-- EVENT forumlist_body_last_poster_username_append -->
2165 + <!-- IF not S_IS_BOT -->
2166 + <a href="{forumrow.U_LAST_POST}" title="{L_VIEW_LATEST_POST}">
2167 + <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>
2168 + </a>
2169 + <!-- ENDIF -->
2170 + <br />{forumrow.LAST_POST_TIME}
2171 + <!-- ELSE -->
2172 + {% if forumrow.U_UNAPPROVED_TOPICS %}
2173 + {{ lang('TOPIC_UNAPPROVED_FORUM', forumrow.TOPICS) }}
2174 + {% else %}
2175 + {{ lang('NO_POSTS') }}
2176 + {% endif %}
2177 + <!-- ENDIF -->
2178 + </span>
2179 + </dd>
2180 + <!-- ELSE -->
2181 + <dd>&nbsp;</dd>
2182 + <!-- ENDIF -->
2183 + </dl>
2184 + <!-- EVENT forumlist_body_forum_row_append -->
2185 + </li>
2186 + <!-- EVENT forumlist_body_forum_row_after -->
2187 + <!-- ENDIF -->
2188 +
2189 + <!-- IF forumrow.S_LAST_ROW -->
2190 + </ul>
2191 +
2192 + </div>
2193 + </div>
2194 + <!-- EVENT forumlist_body_last_row_after -->
2195 + <!-- ENDIF -->
2196 +
2197 +<!-- BEGINELSE -->
2198 + <div class="panel">
2199 + <div class="inner">
2200 + <strong>{L_NO_FORUMS}</strong>
2201 + </div>
2202 + </div>
2203 +<!-- END forumrow -->
2204
2205 diff --git a/template/index.htm b/template/index.htm
2206 new file mode 100644
2207 index 000000000..e69de29bb
2208
2209 diff --git a/template/index_body.html b/template/index_body.html
2210 new file mode 100644
2211 index 000000000..239a91c58
2212 --- /dev/null
2213 +++ b/template/index_body.html
2214 @@ -0,0 +1,80 @@
2215 +<!-- INCLUDE overall_header.html -->
2216 +
2217 +<p class="{S_CONTENT_FLOW_END} responsive-center time<!-- IF S_USER_LOGGED_IN --> rightside<!-- ENDIF -->"><!-- IF S_USER_LOGGED_IN -->{LAST_VISIT_DATE}<!-- ELSE -->{CURRENT_TIME}<!-- ENDIF --></p>
2218 +<!-- IF S_USER_LOGGED_IN --><p class="responsive-center time">{CURRENT_TIME}</p><!-- ENDIF -->
2219 +
2220 +<!-- EVENT index_body_markforums_before -->
2221 +<!-- IF U_MARK_FORUMS -->
2222 + <div class="action-bar compact">
2223 + <a href="{U_MARK_FORUMS}" class="mark-read rightside" accesskey="m" data-ajax="mark_forums_read">{L_MARK_FORUMS_READ}</a>
2224 + </div>
2225 +<!-- ENDIF -->
2226 +<!-- EVENT index_body_markforums_after -->
2227 +
2228 +<!-- INCLUDE forumlist_body.html -->
2229 +
2230 +<!-- EVENT index_body_forumlist_body_after -->
2231 +
2232 +<!-- IF not S_USER_LOGGED_IN and not S_IS_BOT -->
2233 + <form method="post" action="{S_LOGIN_ACTION}" class="headerspace">
2234 + <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>
2235 + <fieldset class="quick-login">
2236 + <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>
2237 + <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>
2238 + <!-- IF U_SEND_PASSWORD -->
2239 + <a href="{U_SEND_PASSWORD}">{L_FORGOT_PASS}</a>
2240 + <!-- ENDIF -->
2241 + <!-- IF S_AUTOLOGIN_ENABLED -->
2242 + <span class="responsive-hide">|</span> <label for="autologin">{L_LOG_ME_IN} <input type="checkbox" tabindex="4" name="autologin" id="autologin" /></label>
2243 + <!-- ENDIF -->
2244 + <input type="submit" tabindex="5" name="login" value="{L_LOGIN}" class="button2" />
2245 + {S_LOGIN_REDIRECT}
2246 + {S_FORM_TOKEN_LOGIN}
2247 + </fieldset>
2248 + </form>
2249 +<!-- ENDIF -->
2250 +
2251 +<!-- EVENT index_body_stat_blocks_before -->
2252 +
2253 +<!-- IF S_DISPLAY_ONLINE_LIST -->
2254 + <div class="stat-block online-list">
2255 + <!-- IF U_VIEWONLINE --><h3><a href="{U_VIEWONLINE}">{L_WHO_IS_ONLINE}</a></h3><!-- ELSE --><h3>{L_WHO_IS_ONLINE}</h3><!-- ENDIF -->
2256 + <p>
2257 + <!-- EVENT index_body_block_online_prepend -->
2258 + {TOTAL_USERS_ONLINE} ({L_ONLINE_EXPLAIN})<br />{RECORD_USERS}<br />
2259 + <!-- IF U_VIEWONLINE -->
2260 + <br />{LOGGED_IN_USER_LIST}
2261 + <!-- IF LEGEND --><br /><em>{L_LEGEND}{L_COLON} {LEGEND}</em><!-- ENDIF -->
2262 + <!-- ENDIF -->
2263 + <!-- EVENT index_body_block_online_append -->
2264 + </p>
2265 + </div>
2266 +<!-- ENDIF -->
2267 +
2268 +<!-- EVENT index_body_birthday_block_before -->
2269 +
2270 +<!-- IF S_DISPLAY_BIRTHDAY_LIST -->
2271 + <div class="stat-block birthday-list">
2272 + <h3>{L_BIRTHDAYS}</h3>
2273 + <p>
2274 + <!-- EVENT index_body_block_birthday_prepend -->
2275 + <!-- 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 -->
2276 + <!-- EVENT index_body_block_birthday_append -->
2277 + </p>
2278 + </div>
2279 +<!-- ENDIF -->
2280 +
2281 +<!-- IF NEWEST_USER -->
2282 + <div class="stat-block statistics">
2283 + <h3>{L_STATISTICS}</h3>
2284 + <p>
2285 + <!-- EVENT index_body_block_stats_prepend -->
2286 + {TOTAL_POSTS} &bull; {TOTAL_TOPICS} &bull; {TOTAL_USERS} &bull; {NEWEST_USER}
2287 + <!-- EVENT index_body_block_stats_append -->
2288 + </p>
2289 + </div>
2290 +<!-- ENDIF -->
2291 +
2292 +<!-- EVENT index_body_stat_blocks_after -->
2293 +
2294 +<!-- INCLUDE overall_footer.html -->
2295
2296 diff --git a/template/jumpbox.html b/template/jumpbox.html
2297 new file mode 100644
2298 index 000000000..070efc0cb
2299 --- /dev/null
2300 +++ b/template/jumpbox.html
2301 @@ -0,0 +1,50 @@
2302 +
2303 +<div class="action-bar actions-jump">
2304 + <!-- IF S_VIEWTOPIC -->
2305 + <p class="jumpbox-return">
2306 + <a href="{U_VIEW_FORUM}" class="left-box arrow-{S_CONTENT_FLOW_BEGIN}" accesskey="r">
2307 + <i class="icon fa-angle-{S_CONTENT_FLOW_BEGIN} fa-fw icon-black" aria-hidden="true"></i><span>{L_RETURN_TO_FORUM}</span>
2308 + </a>
2309 + </p>
2310 + <!-- ELSEIF S_VIEWFORUM -->
2311 + <p class="jumpbox-return">
2312 + <a href="{U_INDEX}" class="left-box arrow-{S_CONTENT_FLOW_BEGIN}" accesskey="r">
2313 + <i class="icon fa-angle-{S_CONTENT_FLOW_BEGIN} fa-fw icon-black" aria-hidden="true"></i><span>{L_RETURN_TO_INDEX}</span>
2314 + </a>
2315 + </p>
2316 + <!-- ELSEIF SEARCH_TOPIC -->
2317 + <p class="jumpbox-return">
2318 + <a class="left-box arrow-{S_CONTENT_FLOW_BEGIN}" href="{U_SEARCH_TOPIC}" accesskey="r">
2319 + <i class="icon fa-angle-{S_CONTENT_FLOW_BEGIN} fa-fw icon-black" aria-hidden="true"></i><span>{L_RETURN_TO_TOPIC}</span>
2320 + </a>
2321 + </p>
2322 + <!-- ELSEIF S_SEARCH_ACTION -->
2323 + <p class="jumpbox-return">
2324 + <a class="left-box arrow-{S_CONTENT_FLOW_BEGIN}" href="{U_SEARCH}" title="{L_SEARCH_ADV}" accesskey="r">
2325 + <i class="icon fa-angle-{S_CONTENT_FLOW_BEGIN} fa-fw icon-black" aria-hidden="true"></i><span>{L_GO_TO_SEARCH_ADV}</span>
2326 + </a>
2327 + </p>
2328 + <!-- ENDIF -->
2329 +
2330 + <!-- IF S_DISPLAY_JUMPBOX -->
2331 + <div class="jumpbox dropdown-container dropdown-container-right<!-- IF not S_IN_MCP --> dropdown-up<!-- ENDIF --> dropdown-{S_CONTENT_FLOW_BEGIN} dropdown-button-control" id="jumpbox">
2332 + <span title="<!-- IF S_IN_MCP and S_MERGE_SELECT -->{L_SELECT_TOPICS_FROM}<!-- ELSEIF S_IN_MCP -->{L_MODERATE_FORUM}<!-- ELSE -->{L_JUMP_TO}<!-- ENDIF -->" class="button button-secondary dropdown-trigger dropdown-select">
2333 + <span><!-- IF S_IN_MCP and S_MERGE_SELECT -->{L_SELECT_TOPICS_FROM}<!-- ELSEIF S_IN_MCP -->{L_MODERATE_FORUM}<!-- ELSE -->{L_JUMP_TO}<!-- ENDIF --></span>
2334 + <span class="caret"><i class="icon fa-sort-down fa-fw" aria-hidden="true"></i></span>
2335 + </span>
2336 + <div class="dropdown">
2337 + <div class="pointer"><div class="pointer-inner"></div></div>
2338 + <ul class="dropdown-contents">
2339 + <!-- BEGIN jumpbox_forums -->
2340 + <!-- IF jumpbox_forums.FORUM_ID neq -1 -->
2341 + <li><a href="{jumpbox_forums.LINK}" class="<!-- IF jumpbox_forums.level -->jumpbox-sub-link<!-- ELSEIF jumpbox_forums.S_IS_CAT -->jumpbox-cat-link<!-- ELSE -->jumpbox-forum-link<!-- ENDIF -->"><!-- BEGIN level --><span class="spacer"></span><!-- END level --> <span><!-- IF jumpbox_forums.level --><!-- IF S_CONTENT_DIRECTION eq 'rtl' -->&#8626;<!-- ELSE -->&#8627;<!-- ENDIF --> &nbsp;<!-- ENDIF --> {jumpbox_forums.FORUM_NAME}</span></a></li>
2342 + <!-- ENDIF -->
2343 + <!-- END jumpbox_forums -->
2344 + </ul>
2345 + </div>
2346 + </div>
2347 +
2348 + <!-- ELSE -->
2349 + <br /><br />
2350 + <!-- ENDIF -->
2351 +</div>
2352
2353 diff --git a/template/login_body.html b/template/login_body.html
2354 new file mode 100644
2355 index 000000000..dc597af51
2356 --- /dev/null
2357 +++ b/template/login_body.html
2358 @@ -0,0 +1,69 @@
2359 +<!-- INCLUDE overall_header.html -->
2360 +
2361 +<form action="{S_LOGIN_ACTION}" method="post" id="login" data-focus="<!-- IF S_ADMIN_AUTH -->{PASSWORD_CREDENTIAL}<!-- ELSE -->{USERNAME_CREDENTIAL}<!-- ENDIF -->">
2362 +<div class="panel">
2363 + <div class="inner">
2364 +
2365 + <div class="content">
2366 + <h2 class="login-title"><!-- IF LOGIN_EXPLAIN -->{LOGIN_EXPLAIN}<!-- ELSE -->{L_LOGIN}<!-- ENDIF --></h2>
2367 +
2368 + <fieldset <!-- IF not S_CONFIRM_CODE -->class="fields1"<!-- ELSE -->class="fields2"<!-- ENDIF -->>
2369 + <!-- IF LOGIN_ERROR --><div class="error">{LOGIN_ERROR}</div><!-- ENDIF -->
2370 + <dl>
2371 + <dt><label for="{USERNAME_CREDENTIAL}">{L_USERNAME}{L_COLON}</label></dt>
2372 + <dd><input type="text" tabindex="1" name="{USERNAME_CREDENTIAL}" id="{USERNAME_CREDENTIAL}" size="25" value="{USERNAME}" class="inputbox autowidth" /></dd>
2373 + </dl>
2374 + <dl>
2375 + <dt><label for="{PASSWORD_CREDENTIAL}">{L_PASSWORD}{L_COLON}</label></dt>
2376 + <dd><input type="password" tabindex="2" id="{PASSWORD_CREDENTIAL}" name="{PASSWORD_CREDENTIAL}" size="25" class="inputbox autowidth" autocomplete="off" /></dd>
2377 + <!-- IF S_DISPLAY_FULL_LOGIN and (U_SEND_PASSWORD or U_RESEND_ACTIVATION) -->
2378 + <!-- IF U_SEND_PASSWORD --><dd><a href="{U_SEND_PASSWORD}">{L_FORGOT_PASS}</a></dd><!-- ENDIF -->
2379 + <!-- IF U_RESEND_ACTIVATION --><dd><a href="{U_RESEND_ACTIVATION}">{L_RESEND_ACTIVATION}</a></dd><!-- ENDIF -->
2380 + <!-- ENDIF -->
2381 + </dl>
2382 + <!-- IF CAPTCHA_TEMPLATE and S_CONFIRM_CODE -->
2383 + <!-- DEFINE $CAPTCHA_TAB_INDEX = 3 -->
2384 + <!-- INCLUDE {CAPTCHA_TEMPLATE} -->
2385 + <!-- ENDIF -->
2386 + <!-- IF S_DISPLAY_FULL_LOGIN -->
2387 + <dl>
2388 + <!-- IF S_AUTOLOGIN_ENABLED --><dd><label for="autologin"><input type="checkbox" name="autologin" id="autologin" tabindex="4" /> {L_LOG_ME_IN}</label></dd><!-- ENDIF -->
2389 + <dd><label for="viewonline"><input type="checkbox" name="viewonline" id="viewonline" tabindex="5" /> {L_HIDE_ME}</label></dd>
2390 + </dl>
2391 + <!-- ENDIF -->
2392 +
2393 + {S_LOGIN_REDIRECT}
2394 + {S_FORM_TOKEN_LOGIN}
2395 + <dl>
2396 + <dt>&nbsp;</dt>
2397 + <dd>{S_HIDDEN_FIELDS}<input type="submit" name="login" tabindex="6" value="{L_LOGIN}" class="button1" /></dd>
2398 + </dl>
2399 + </fieldset>
2400 + </div>
2401 +
2402 + <!-- IF not S_ADMIN_AUTH and PROVIDER_TEMPLATE_FILE -->
2403 + <!-- INCLUDE {PROVIDER_TEMPLATE_FILE} -->
2404 + <!-- ENDIF -->
2405 + </div>
2406 +</div>
2407 +
2408 +
2409 +<!-- IF not S_ADMIN_AUTH and S_REGISTER_ENABLED -->
2410 + <div class="panel">
2411 + <div class="inner">
2412 +
2413 + <div class="content">
2414 + <h3>{L_REGISTER}</h3>
2415 + <p>{L_LOGIN_INFO}</p>
2416 + <p><strong><a href="{U_TERMS_USE}">{L_TERMS_USE}</a> | <a href="{U_PRIVACY}">{L_PRIVACY}</a></strong></p>
2417 + <hr class="dashed" />
2418 + <p><a href="{U_REGISTER}" class="button2">{L_REGISTER}</a></p>
2419 + </div>
2420 +
2421 + </div>
2422 + </div>
2423 +<!-- ENDIF -->
2424 +
2425 +</form>
2426 +
2427 +<!-- INCLUDE overall_footer.html -->
2428
2429 diff --git a/template/login_body_oauth.html b/template/login_body_oauth.html
2430 new file mode 100644
2431 index 000000000..1364d01cc
2432 --- /dev/null
2433 +++ b/template/login_body_oauth.html
2434 @@ -0,0 +1,6 @@
2435 +<br>
2436 +<div class="content">
2437 + {% for oauth in oauth %}
2438 + <a href="{{ oauth.REDIRECT_URL }}" class="button2">{{ oauth.SERVICE_NAME }}</a>
2439 + {% endfor %}
2440 +</div>
2441
2442 diff --git a/template/login_forum.html b/template/login_forum.html
2443 new file mode 100644
2444 index 000000000..c5c36d456
2445 --- /dev/null
2446 +++ b/template/login_forum.html
2447 @@ -0,0 +1,42 @@
2448 +<!-- INCLUDE overall_header.html -->
2449 +
2450 +<!-- IF FORUM_NAME --><h2 class="forum-title"><a href="{U_VIEW_FORUM}">{FORUM_NAME}</a></h2><!-- ENDIF -->
2451 +
2452 +<form id="login_forum" method="post" action="{S_LOGIN_ACTION}">
2453 +{S_FORM_TOKEN}
2454 +<div class="panel">
2455 + <div class="inner">
2456 +
2457 + <div class="content">
2458 + <h2 class="login-title">{L_LOGIN}</h2>
2459 +
2460 + <p>{L_LOGIN_FORUM}</p>
2461 +
2462 + <fieldset class="fields1">
2463 + <!-- IF LOGIN_ERROR -->
2464 + <dl>
2465 + <dt>&nbsp;</dt>
2466 + <dd class="error">{LOGIN_ERROR}</dd>
2467 + </dl>
2468 + <!-- ENDIF -->
2469 +
2470 + <dl>
2471 + <dt><label for="password">{L_PASSWORD}{L_COLON}</label></dt>
2472 + <dd><input type="password" tabindex="1" id="password" name="password" size="25" class="inputbox narrow" autocomplete="off" /></dd>
2473 + </dl>
2474 + {S_LOGIN_REDIRECT}
2475 + {S_FORM_TOKEN_LOGIN}
2476 + <dl>
2477 + <dt>&nbsp;</dt>
2478 + <dd>{S_HIDDEN_FIELDS}<input type="submit" name="login" id="login" class="button1" value="{L_LOGIN}" tabindex="2" /></dd>
2479 + </dl>
2480 + </fieldset>
2481 + </div>
2482 +
2483 + </div>
2484 +</div>
2485 +
2486 +</form>
2487 +
2488 +<!-- INCLUDE jumpbox.html -->
2489 +<!-- INCLUDE overall_footer.html -->
2490
2491 diff --git a/template/mcp_approve.html b/template/mcp_approve.html
2492 new file mode 100644
2493 index 000000000..f7874ab90
2494 --- /dev/null
2495 +++ b/template/mcp_approve.html
2496 @@ -0,0 +1,81 @@
2497 +<!-- IF S_AJAX_REQUEST -->
2498 +
2499 + <h3>{MESSAGE_TITLE}</h3>
2500 + <p>{MESSAGE_TEXT}</p>
2501 +
2502 + <!-- IF S_NOTIFY_POSTER -->
2503 + <label><input type="checkbox" name="notify_poster" checked="checked" /> <!-- IF S_APPROVE -->{L_NOTIFY_POSTER_APPROVAL}<!-- ELSE -->{L_NOTIFY_POSTER_DISAPPROVAL}<!-- ENDIF --></label>
2504 + <!-- ENDIF -->
2505 +
2506 + <!-- IF not S_APPROVE and not S_RESTORE and .reason -->
2507 + <label><strong>{L_DISAPPROVE_REASON}{L_COLON}</strong>
2508 + <select name="reason_id">
2509 + <!-- BEGIN reason --><option value="{reason.ID}"<!-- IF reason.S_SELECTED --> selected="selected"<!-- ENDIF -->>{reason.DESCRIPTION}</option><!-- END reason -->
2510 + </select></label>
2511 +
2512 + <label><strong>{L_MORE_INFO}{L_COLON}</strong><br /><span>{L_CAN_LEAVE_BLANK}</span>
2513 + <textarea class="inputbox" name="reason" id="reason" rows="4" cols="40">{REASON}</textarea>
2514 + </label>
2515 + <!-- ENDIF -->
2516 +
2517 + <fieldset class="submit-buttons">
2518 + <input type="button" name="confirm" value="{YES_VALUE}" class="button1" />&nbsp;
2519 + <input type="button" name="cancel" value="{L_NO}" class="button2" />
2520 + </fieldset>
2521 +
2522 +<!-- ELSE -->
2523 +
2524 +<!-- INCLUDE overall_header.html -->
2525 +
2526 +<form id="confirm" action="{S_CONFIRM_ACTION}" method="post">
2527 +<div class="panel">
2528 + {S_FORM_TOKEN}
2529 + <div class="inner">
2530 +
2531 + <div class="content">
2532 +
2533 + <h2 class="message-title">{MESSAGE_TITLE}</h2>
2534 + <!-- IF ADDITIONAL_MSG --><p class="error">{ADDITIONAL_MSG}</p><!-- ENDIF -->
2535 +
2536 + <fieldset>
2537 + <!-- IF S_NOTIFY_POSTER -->
2538 + <dl class="fields2 nobg">
2539 + <dt>&nbsp;</dt>
2540 + <dd><label><input type="checkbox" name="notify_poster" checked="checked" /> <!-- IF S_APPROVE -->{L_NOTIFY_POSTER_APPROVAL}<!-- ELSE -->{L_NOTIFY_POSTER_DISAPPROVAL}<!-- ENDIF --></label></dd>
2541 + </dl>
2542 + <!-- ENDIF -->
2543 +
2544 + <!-- IF not S_APPROVE and not S_RESTORE and .reason -->
2545 + <dl class="fields2 nobg">
2546 + <dt><label>{L_DISAPPROVE_REASON}{L_COLON}</label></dt>
2547 + <dd><select name="reason_id">
2548 + <!-- BEGIN reason --><option value="{reason.ID}"<!-- IF reason.S_SELECTED --> selected="selected"<!-- ENDIF -->>{reason.DESCRIPTION}</option><!-- END reason -->
2549 + </select>
2550 + </dd>
2551 + </dl>
2552 + <dl class="fields2 nobg">
2553 + <dt><label for="reason">{L_MORE_INFO}{L_COLON}</label><br /><span>{L_CAN_LEAVE_BLANK}</span></dt>
2554 + <dd><textarea class="inputbox" name="reason" id="reason" rows="4" cols="40">{REASON}</textarea></dd>
2555 + </dl>
2556 + <!-- ENDIF -->
2557 +
2558 + <dl class="fields2 nobg">
2559 + <dt>&nbsp;</dt>
2560 + <dd><strong>{MESSAGE_TEXT}</strong></dd>
2561 + </dl>
2562 + </fieldset>
2563 +
2564 + <fieldset class="submit-buttons">
2565 + {S_HIDDEN_FIELDS}<input type="submit" name="confirm" value="{YES_VALUE}" class="button1" />&nbsp;
2566 + <input type="submit" name="cancel" value="{L_NO}" class="button2" />
2567 + </fieldset>
2568 +
2569 + </div>
2570 +
2571 + </div>
2572 +</div>
2573 +
2574 +</form>
2575 +
2576 +<!-- INCLUDE overall_footer.html -->
2577 +<!-- ENDIF -->
2578
2579 diff --git a/template/mcp_ban.html b/template/mcp_ban.html
2580 new file mode 100644
2581 index 000000000..86a322435
2582 --- /dev/null
2583 +++ b/template/mcp_ban.html
2584 @@ -0,0 +1,135 @@
2585 +<!-- INCLUDE mcp_header.html -->
2586 +
2587 +<script>
2588 + var ban_length = new Array();
2589 + ban_length[-1] = '';
2590 + var ban_reason = new Array();
2591 + ban_reason[-1] = '';
2592 + var ban_give_reason = new Array();
2593 + ban_give_reason[-1] = '';
2594 +
2595 + <!-- BEGIN bans -->
2596 + ban_length['{bans.BAN_ID}'] = '{{ bans.A_LENGTH }}';
2597 + <!-- IF bans.A_REASON -->
2598 + ban_reason['{bans.BAN_ID}'] = '{{ bans.REASON | e('js') }}';
2599 + <!-- ENDIF -->
2600 + <!-- IF bans.A_GIVE_REASON -->
2601 + ban_give_reason['{bans.BAN_ID}'] = '{{ bans.GIVE_REASON | e('js') }}';
2602 + <!-- ENDIF -->
2603 + <!-- END bans -->
2604 +
2605 + function display_details(option)
2606 + {
2607 + document.getElementById('unbanlength').innerHTML = ban_length[option];
2608 + if (option in ban_reason) {
2609 + document.getElementById('unbanreason').innerHTML = ban_reason[option];
2610 + } else {
2611 + document.getElementById('unbanreason').innerHTML = '';
2612 + }
2613 + if (option in ban_give_reason) {
2614 + document.getElementById('unbangivereason').innerHTML = ban_give_reason[option];
2615 + } else {
2616 + document.getElementById('unbangivereason').innerHTML = '';
2617 + }
2618 + }
2619 +</script>
2620 +
2621 +<form id="mcp_ban" method="post" action="{U_ACTION}">
2622 +
2623 +<h2>{L_TITLE}</h2>
2624 +
2625 +<div class="panel">
2626 + <div class="inner">
2627 +
2628 + <h3>{L_TITLE}</h3>
2629 + <p>{L_EXPLAIN}</p>
2630 +
2631 + <fieldset>
2632 + <!-- EVENT mcp_ban_fields_before -->
2633 + <dl>
2634 + <dt><label for="ban">{L_BAN_CELL}{L_COLON}</label></dt>
2635 + <dd><label for="ban"><textarea name="ban" id="ban" class="inputbox" cols="40" rows="3">{BAN_QUANTIFIER}</textarea></label></dd>
2636 + <!-- IF S_USERNAME_BAN --><dd><strong><a href="{U_FIND_USERNAME}" onclick="find_username(this.href); return false;">{L_FIND_USERNAME}</a></strong></dd><!-- ENDIF -->
2637 + </dl>
2638 + <dl>
2639 + <dt><label for="banlength">{L_BAN_LENGTH}{L_COLON}</label></dt>
2640 + <dd><label for="banlength"><select name="banlength" id="banlength" onchange="if(this.value==-1){document.getElementById('banlengthother').style.display = 'block';}else{document.getElementById('banlengthother').style.display='none';}">{S_BAN_END_OPTIONS}</select></label></dd>
2641 + <dd id="banlengthother" style="display: none;"><label><input type="text" name="banlengthother" class="inputbox" /><br /><span>{L_YEAR_MONTH_DAY}</span></label></dd>
2642 + </dl>
2643 + <dl>
2644 + <dt><label for="banreason">{L_BAN_REASON}{L_COLON}</label></dt>
2645 + <dd><input name="banreason" id="banreason" type="text" class="inputbox" maxlength="255" /></dd>
2646 + </dl>
2647 + <dl>
2648 + <dt><label for="bangivereason">{L_BAN_GIVE_REASON}{L_COLON}</label></dt>
2649 + <dd><input name="bangivereason" id="bangivereason" type="text" class="inputbox" maxlength="255" /></dd>
2650 + </dl>
2651 +
2652 + <hr />
2653 +
2654 + <dl>
2655 + <dt><label for="banexclude0">{L_BAN_EXCLUDE}{L_COLON}</label><br /><span>{L_BAN_EXCLUDE_EXPLAIN}</span></dt>
2656 + <dd>
2657 + <label for="banexclude1"><input type="radio" name="banexclude" id="banexclude1" value="1" /> {L_YES}</label>
2658 + <label for="banexclude0"><input type="radio" name="banexclude" id="banexclude0" value="0" checked="checked" /> {L_NO}</label>
2659 + </dd>
2660 + </dl>
2661 + <!-- EVENT mcp_ban_fields_after -->
2662 + </fieldset>
2663 +
2664 + </div>
2665 +</div>
2666 +
2667 +<fieldset class="submit-buttons">
2668 + {S_HIDDEN_FIELDS}<input type="reset" value="{L_RESET}" name="reset" class="button2" />&nbsp;
2669 + <input type="submit" name="bansubmit" value="{L_SUBMIT}" class="button1" />
2670 + {S_FORM_TOKEN}
2671 +</fieldset>
2672 +
2673 +<div class="panel">
2674 + <div class="inner">
2675 +
2676 + <h3>{L_UNBAN_TITLE}</h3>
2677 + <p>{L_UNBAN_EXPLAIN}</p>
2678 +
2679 + <!-- IF S_BANNED_OPTIONS -->
2680 + <fieldset>
2681 + <!-- EVENT mcp_ban_unban_before -->
2682 + <dl>
2683 + <dt><label for="unban">{L_BAN_CELL}{L_COLON}</label></dt>
2684 + <dd><select name="unban[]" id="unban" multiple="multiple" size="5" onchange="if (this.selectedIndex != -1) {display_details(this.options[this.selectedIndex].value);}">{BANNED_OPTIONS}</select></dd>
2685 + </dl>
2686 + <dl>
2687 + <dt>{L_BAN_LENGTH}{L_COLON}</dt>
2688 + <dd><strong id="unbanlength"></strong></dd>
2689 + </dl>
2690 + <dl>
2691 + <dt>{L_BAN_REASON}{L_COLON}</dt>
2692 + <dd><strong id="unbanreason"></strong></dd>
2693 + </dl>
2694 + <dl>
2695 + <dt>{L_BAN_GIVE_REASON}{L_COLON}</dt>
2696 + <dd><strong id="unbangivereason"></strong></dd>
2697 + </dl>
2698 + <!-- EVENT mcp_ban_unban_after -->
2699 + </fieldset>
2700 +
2701 + </div>
2702 + </div>
2703 +
2704 + <fieldset class="submit-buttons">
2705 + {S_HIDDEN_FIELDS}<input type="reset" value="{L_RESET}" name="reset" class="button2" />&nbsp;
2706 + <input type="submit" name="unbansubmit" value="{L_SUBMIT}" class="button1" />
2707 + </fieldset>
2708 +
2709 + <!-- ELSE -->
2710 +
2711 + <p><strong>{L_NO_BAN_CELL}</strong></p>
2712 +
2713 + </div>
2714 + </div>
2715 +
2716 + <!-- ENDIF -->
2717 +</form>
2718 +
2719 +<!-- INCLUDE mcp_footer.html -->
2720
2721 diff --git a/template/mcp_footer.html b/template/mcp_footer.html
2722 new file mode 100644
2723 index 000000000..89ce7c34a
2724 --- /dev/null
2725 +++ b/template/mcp_footer.html
2726 @@ -0,0 +1,8 @@
2727 +
2728 + </div>
2729 +
2730 + </div>
2731 + </div>
2732 +</div>
2733 +
2734 +<!-- INCLUDE overall_footer.html -->
2735
2736 diff --git a/template/mcp_forum.html b/template/mcp_forum.html
2737 new file mode 100644
2738 index 000000000..82df5d5db
2739 --- /dev/null
2740 +++ b/template/mcp_forum.html
2741 @@ -0,0 +1,155 @@
2742 +<!-- INCLUDE mcp_header.html -->
2743 +
2744 +<!-- DEFINE $CUSTOM_FIELDSET_CLASS = 'forum-selection2' -->
2745 +<!-- INCLUDE jumpbox.html -->
2746 +
2747 +<h2><a href="{U_VIEW_FORUM}">{L_FORUM}{L_COLON} {FORUM_NAME}</a></h2>
2748 +
2749 +<form method="post" id="mcp" action="{S_MCP_ACTION}">
2750 +
2751 +<div class="panel">
2752 + <div class="inner">
2753 +
2754 + <div class="action-bar bar-top">
2755 + <div class="pagination">
2756 + {TOTAL_TOPICS}
2757 + <!-- IF .pagination -->
2758 + <!-- INCLUDE pagination.html -->
2759 + <!-- ELSE -->
2760 + &bull; {PAGE_NUMBER}
2761 + <!-- ENDIF -->
2762 + </div>
2763 + </div>
2764 +
2765 + <!-- IF .topicrow -->
2766 + <ul class="topiclist<!-- IF S_MERGE_SELECT --> missing-column<!-- ENDIF -->">
2767 + <li class="header">
2768 + <dl class="row-item">
2769 + <dt><div class="list-inner">{L_TOPICS}</div></dt>
2770 + <dd class="posts">{L_REPLIES}</dd>
2771 + <dd class="lastpost"><span>{L_LAST_POST}</span></dd>
2772 + <!-- IF not S_MERGE_SELECT --><dd class="mark">{L_MARK}</dd><!-- ENDIF -->
2773 + </dl>
2774 + </li>
2775 + </ul>
2776 + <ul class="topiclist cplist<!-- IF S_MERGE_SELECT --> missing-column<!-- ENDIF -->">
2777 +
2778 + <!-- BEGIN topicrow -->
2779 + <li class="row<!-- IF topicrow.S_ROW_COUNT is odd --> bg1<!-- ELSE --> bg2<!-- ENDIF --><!-- IF topicrow.S_TOPIC_REPORTED --> reported<!-- ENDIF -->">
2780 + <dl class="row-item {topicrow.TOPIC_IMG_STYLE}">
2781 + <dt <!-- IF topicrow.TOPIC_ICON_IMG -->style="background-image: url({T_ICONS_PATH}{topicrow.TOPIC_ICON_IMG}); background-repeat: no-repeat;"<!-- ENDIF -->>
2782 + <!-- IF topicrow.S_UNREAD_TOPIC --><a href="{topicrow.U_NEWEST_POST}" class="row-item-link"></a><!-- ENDIF -->
2783 + <div class="list-inner">
2784 + <!-- EVENT topiclist_row_prepend -->
2785 + <!-- IF topicrow.S_SELECT_TOPIC --><a href="{topicrow.U_SELECT_TOPIC}" class="topictitle">[ {L_SELECT_MERGE} ]</a>&nbsp;&nbsp; <!-- ENDIF -->
2786 + <!-- EVENT mcp_forum_topic_title_before -->
2787 + <a href="{topicrow.U_VIEW_TOPIC}" class="topictitle">{topicrow.TOPIC_TITLE}</a>
2788 + <!-- EVENT mcp_forum_topic_title_after -->
2789 + <!-- IF topicrow.S_TOPIC_UNAPPROVED or topicrow.S_POSTS_UNAPPROVED -->
2790 + <a href="{topicrow.U_MCP_QUEUE}" title="{L_TOPIC_UNAPPROVED}">
2791 + <i class="icon fa-question fa-fw icon-blue" aria-hidden="true"></i><span class="sr-only">{L_TOPIC_UNAPPROVED}</span>
2792 + </a>
2793 + <!-- ENDIF -->
2794 + <!-- IF topicrow.S_TOPIC_DELETED or topicrow.S_POSTS_DELETED -->
2795 + <a href="{topicrow.U_MCP_QUEUE}" title="{L_TOPIC_DELETED}">
2796 + <i class="icon fa-recycle fa-fw icon-green" aria-hidden="true"></i><span class="sr-only">{L_TOPIC_DELETED}</span>
2797 + </a>
2798 + <!-- ENDIF -->
2799 + <!-- IF topicrow.S_TOPIC_REPORTED -->
2800 + <a href="{topicrow.U_MCP_REPORT}" title="{L_TOPIC_REPORTED}">
2801 + <i class="icon fa-exclamation fa-fw icon-red" aria-hidden="true"></i><span class="sr-only">{L_TOPIC_REPORTED}</span>
2802 + </a>
2803 + <!-- ENDIF -->
2804 + <!-- IF topicrow.S_MOVED_TOPIC and S_CAN_DELETE -->&nbsp;<a href="{topicrow.U_DELETE_TOPIC}" class="topictitle">[ {L_DELETE_SHADOW_TOPIC} ]</a><!-- ENDIF -->
2805 + <br />
2806 + <!-- EVENT topiclist_row_topic_title_after -->
2807 + <div class="responsive-show" style="display: none;">
2808 + <!-- IF topicrow.ATTACH_ICON_IMG --><i class="icon fa-paperclip fa-fw" aria-hidden="true"></i> <!-- ENDIF -->
2809 + {L_LAST_POST} {L_POST_BY_AUTHOR} {topicrow.LAST_POST_AUTHOR_FULL} &laquo; {topicrow.LAST_POST_TIME}<br />
2810 + </div>
2811 + <span class="responsive-show left-box" style="display: none;">{L_REPLIES}{L_COLON} <strong>{topicrow.REPLIES}</strong></span>
2812 +
2813 + <!-- IF .topicrow.pagination -->
2814 + <div class="pagination">
2815 + <ul>
2816 + <!-- BEGIN pagination -->
2817 + <!-- IF topicrow.pagination.S_IS_PREV -->
2818 + <!-- ELSEIF topicrow.pagination.S_IS_CURRENT --><li class="active"><span>{topicrow.pagination.PAGE_NUMBER}</span></li>
2819 + <!-- ELSEIF topicrow.pagination.S_IS_ELLIPSIS --><li class="ellipsis"><span>{L_ELLIPSIS}</span></li>
2820 + <!-- ELSEIF topicrow.pagination.S_IS_NEXT -->
2821 + <!-- ELSE --><li><a href="{topicrow.pagination.PAGE_URL}">{topicrow.pagination.PAGE_NUMBER}</a></li>
2822 + <!-- ENDIF -->
2823 + <!-- END pagination -->
2824 + </ul>
2825 + </div>
2826 + <!-- ENDIF -->
2827 +
2828 + <div class="responsive-hide">
2829 + <!-- IF topicrow.ATTACH_ICON_IMG --><i class="icon fa-paperclip fa-fw" aria-hidden="true"></i> <!-- ENDIF -->
2830 + {% EVENT topiclist_row_topic_by_author_before %}
2831 + {L_POST_BY_AUTHOR} {topicrow.TOPIC_AUTHOR_FULL} &raquo; {topicrow.FIRST_POST_TIME}
2832 + {% EVENT topiclist_row_topic_by_author_after %}
2833 + </div>
2834 + <!-- EVENT topiclist_row_append -->
2835 + </div>
2836 + </dt>
2837 + <dd class="posts">{topicrow.REPLIES} <dfn>{L_REPLIES}</dfn></dd>
2838 + <dd class="lastpost"><span><dfn>{L_LAST_POST} </dfn>{L_POST_BY_AUTHOR} {topicrow.LAST_POST_AUTHOR_FULL}<br />{topicrow.LAST_POST_TIME}</span></dd>
2839 + <!-- IF not S_MERGE_SELECT -->
2840 + <dd class="mark">
2841 + <!-- IF not topicrow.S_MOVED_TOPIC --><input type="checkbox" name="topic_id_list[]" value="{topicrow.TOPIC_ID}"<!-- IF topicrow.S_TOPIC_CHECKED --> checked="checked"<!-- ENDIF --> /><!-- ELSE -->&nbsp;<!-- ENDIF -->
2842 + </dd>
2843 + <!-- ENDIF -->
2844 + </dl>
2845 + </li>
2846 + <!-- END topicrow -->
2847 + </ul>
2848 + <!-- ELSE -->
2849 + <ul class="topiclist">
2850 + <li><p class="notopics">{L_NO_TOPICS}</p></li>
2851 + </ul>
2852 + <!-- ENDIF -->
2853 +
2854 + <div class="action-bar bottom">
2855 + <!-- INCLUDE display_options.html -->
2856 +
2857 + <div class="pagination">
2858 + {TOTAL_TOPICS}
2859 + <!-- IF .pagination -->
2860 + <!-- INCLUDE pagination.html -->
2861 + <!-- ELSE -->
2862 + &bull; {PAGE_NUMBER}
2863 + <!-- ENDIF -->
2864 + </div>
2865 + </div>
2866 +
2867 + </div>
2868 +</div>
2869 +
2870 +<!-- EVENT mcp_forum_actions_before -->
2871 +<fieldset class="display-actions">
2872 + <!-- IF not S_MERGE_SELECT -->
2873 + <select name="action">
2874 + <option value="" selected="selected">{L_SELECT_ACTION}</option>
2875 + <!-- IF S_CAN_DELETE --><option value="delete_topic">{L_DELETE}</option><!-- ENDIF -->
2876 + <!-- IF S_CAN_RESTORE --><option value="restore_topic">{L_RESTORE}</option><!-- ENDIF -->
2877 + <!-- IF S_CAN_MERGE --><option value="merge_topics">{L_MERGE}</option><!-- ENDIF -->
2878 + <!-- IF S_CAN_MOVE --><option value="move">{L_MOVE}</option><!-- ENDIF -->
2879 + <!-- IF S_CAN_FORK --><option value="fork">{L_FORK}</option><!-- ENDIF -->
2880 + <!-- IF S_CAN_LOCK --><option value="lock">{L_LOCK}</option><option value="unlock">{L_UNLOCK}</option><!-- ENDIF -->
2881 + <!-- IF S_CAN_SYNC --><option value="resync">{L_RESYNC}</option><!-- ENDIF -->
2882 + <!-- IF S_CAN_MAKE_NORMAL --><option value="make_normal">{L_MAKE_NORMAL}</option><!-- ENDIF -->
2883 + <!-- IF S_CAN_MAKE_STICKY --><option value="make_sticky">{L_MAKE_STICKY}</option><!-- ENDIF -->
2884 + <!-- IF S_CAN_MAKE_ANNOUNCE --><option value="make_announce">{L_MAKE_ANNOUNCE}</option><!-- ENDIF -->
2885 + <!-- IF S_CAN_MAKE_ANNOUNCE_GLOBAL --><option value="make_global">{L_MAKE_GLOBAL}</option><!-- ENDIF -->
2886 + <!-- EVENT mcp_forum_actions_append -->
2887 + </select>
2888 + <input class="button2" type="submit" value="{L_SUBMIT}" />
2889 + <div><a href="#" onclick="marklist('mcp', 'topic_id_list', true); return false;">{L_MARK_ALL}</a> :: <a href="#" onclick="marklist('mcp', 'topic_id_list', false); return false;">{L_UNMARK_ALL}</a></div>
2890 + <!-- ENDIF -->
2891 + {S_FORM_TOKEN}
2892 +</fieldset>
2893 +<!-- EVENT mcp_forum_actions_after -->
2894 +</form>
2895 +
2896 +<!-- INCLUDE mcp_footer.html -->
2897
2898 diff --git a/template/mcp_front.html b/template/mcp_front.html
2899 new file mode 100644
2900 index 000000000..90793d072
2901 --- /dev/null
2902 +++ b/template/mcp_front.html
2903 @@ -0,0 +1,193 @@
2904 +<!-- INCLUDE mcp_header.html -->
2905 +
2906 +<h2>{PAGE_TITLE}</h2>
2907 +
2908 +<!-- EVENT mcp_front_latest_unapproved_before -->
2909 +
2910 +<!-- IF S_SHOW_UNAPPROVED -->
2911 +
2912 + <form id="mcp_queue" method="post" action="{S_MCP_QUEUE_ACTION}">
2913 +
2914 + <div class="panel">
2915 + <div class="inner">
2916 +
2917 + <h3>{L_LATEST_UNAPPROVED}</h3>
2918 + <p>{L_UNAPPROVED_TOTAL}</p>
2919 +
2920 + <!-- IF .unapproved -->
2921 + <ul class="topiclist missing-column">
2922 + <li class="header">
2923 + <dl>
2924 + <dt><div class="list-inner">{L_VIEW_DETAILS}</div></dt>
2925 + <dd class="moderation"><span>{L_TOPIC} &amp; {L_FORUM}</span></dd>
2926 + </dl>
2927 + </li>
2928 + </ul>
2929 + <ul class="topiclist cplist missing-column responsive-show-all">
2930 +
2931 + <!-- BEGIN unapproved -->
2932 + <li class="row<!-- IF unapproved.S_ROW_COUNT is odd --> bg1<!-- ELSE --> bg2<!-- ENDIF -->">
2933 + <dl>
2934 + <dt>
2935 + <div class="list-inner">
2936 + <a href="{unapproved.U_POST_DETAILS}" class="topictitle">{unapproved.SUBJECT}</a> <!-- IF unapproved.ATTACH_ICON_IMG --><i class="icon fa-paperclip fa-fw" aria-hidden="true"></i><!-- ENDIF --> <br />
2937 + {L_POSTED} {L_POST_BY_AUTHOR} {unapproved.AUTHOR_FULL} &raquo; {unapproved.POST_TIME}
2938 + </div>
2939 + </dt>
2940 + <dd class="moderation"><span>
2941 + {L_TOPIC}{L_COLON} <a href="{unapproved.U_TOPIC}">{unapproved.TOPIC_TITLE}</a> [<a href="{unapproved.U_MCP_TOPIC}">{L_MODERATE}</a>]<br />
2942 + {L_FORUM}{L_COLON} <!-- IF unapproved.U_FORUM --><a href="{unapproved.U_FORUM}">{unapproved.FORUM_NAME}</a><!-- ELSE -->{unapproved.FORUM_NAME}<!-- ENDIF --><!-- IF unapproved.U_MCP_FORUM --> [<a href="{unapproved.U_MCP_FORUM}">{L_MODERATE}</a>]<!-- ENDIF --></span>
2943 + </dd>
2944 +
2945 + <dd class="mark"><input type="checkbox" name="post_id_list[]" value="{unapproved.POST_ID}" /></dd>
2946 + </dl>
2947 + </li>
2948 + <!-- END unapproved -->
2949 + </ul>
2950 + <!-- ENDIF -->
2951 +
2952 + </div>
2953 + {S_FORM_TOKEN}
2954 + </div>
2955 +
2956 + <!-- IF .unapproved -->
2957 + <fieldset class="display-actions">
2958 + {S_HIDDEN_FIELDS}
2959 + <input class="button2" type="submit" name="action[disapprove]" value="{L_DISAPPROVE}" />&nbsp;
2960 + <input class="button1" type="submit" name="action[approve]" value="{L_APPROVE}" />
2961 + <div><a href="#" onclick="marklist('mcp_queue', 'post_id_list', true); return false;">{L_MARK_ALL}</a> :: <a href="#" onclick="marklist('mcp_queue', 'post_id_list', false); return false;">{L_UNMARK_ALL}</a></div>
2962 + </fieldset>
2963 + <!-- ENDIF -->
2964 + </form>
2965 +<!-- ENDIF -->
2966 +
2967 +<!-- EVENT mcp_front_latest_reported_before -->
2968 +
2969 +<!-- IF S_SHOW_REPORTS -->
2970 + <div class="panel">
2971 + <div class="inner">
2972 +
2973 + <h3>{L_LATEST_REPORTED}</h3>
2974 + <p>{L_REPORTS_TOTAL}</p>
2975 +
2976 + <!-- IF .report -->
2977 + <ul class="topiclist two-long-columns">
2978 + <li class="header">
2979 + <dl>
2980 + <dt><div class="list-inner">{L_VIEW_DETAILS}</div></dt>
2981 + <dd class="moderation"><span>{L_REPORTER} &amp; {L_FORUM}</span></dd>
2982 + </dl>
2983 + </li>
2984 + </ul>
2985 + <ul class="topiclist cplist two-long-columns responsive-show-all">
2986 +
2987 + <!-- BEGIN report -->
2988 + <li class="row<!-- IF report.S_ROW_COUNT is odd --> bg1<!-- ELSE --> bg2<!-- ENDIF -->">
2989 + <dl>
2990 + <dt>
2991 + <div class="list-inner">
2992 + <a href="{report.U_POST_DETAILS}#reports" class="topictitle">{report.SUBJECT}</a> <!-- IF report.ATTACH_ICON_IMG --><i class="icon fa-paperclip fa-fw" aria-hidden="true"></i><!-- ENDIF --> <br />
2993 + <span>{L_POSTED} {L_POST_BY_AUTHOR} {report.AUTHOR_FULL} &raquo; {report.POST_TIME}</span>
2994 + </div>
2995 + </dt>
2996 + <dd class="moderation">
2997 + <span>{L_REPORTED} {L_POST_BY_AUTHOR} {report.REPORTER_FULL} {L_REPORTED_ON_DATE} <br />
2998 + {L_FORUM}{L_COLON} <a href="{report.U_FORUM}">{report.FORUM_NAME}</a></span>
2999 + </dd>
3000 + </dl>
3001 + </li>
3002 + <!-- END report -->
3003 + </ul>
3004 + <!-- ENDIF -->
3005 +
3006 + </div>
3007 + </div>
3008 +<!-- ENDIF -->
3009 +
3010 +<!-- EVENT mcp_front_latest_reported_pms_before -->
3011 +
3012 +<!-- IF S_SHOW_PM_REPORTS -->
3013 + <div class="panel">
3014 + <div class="inner">
3015 +
3016 + <h3>{L_LATEST_REPORTED_PMS}</h3>
3017 + <p>{L_PM_REPORTS_TOTAL}</p>
3018 +
3019 + <!-- IF .pm_report -->
3020 + <ul class="topiclist two-long-columns">
3021 + <li class="header">
3022 + <dl>
3023 + <dt><div class="list-inner">{L_VIEW_DETAILS}</div></dt>
3024 + <dd class="moderation"><span>{L_REPORTER}</span></dd>
3025 + </dl>
3026 + </li>
3027 + </ul>
3028 + <ul class="topiclist cplist two-long-columns responsive-show-all">
3029 +
3030 + <!-- BEGIN pm_report -->
3031 + <li class="row<!-- IF pm_report.S_ROW_COUNT is odd --> bg1<!-- ELSE --> bg2<!-- ENDIF -->">
3032 + <dl>
3033 + <dt>
3034 + <div class="list-inner">
3035 + <a href="{pm_report.U_PM_DETAILS}" class="topictitle">{pm_report.PM_SUBJECT}</a> <!-- IF pm_report.ATTACH_ICON_IMG --><i class="icon fa-paperclip fa-fw" aria-hidden="true"></i><!-- ENDIF --> <br />
3036 + <span>{L_MESSAGE_BY_AUTHOR} {pm_report.PM_AUTHOR_FULL} &raquo; {pm_report.PM_TIME}</span><br />
3037 + <span>{L_MESSAGE_TO} {pm_report.RECIPIENTS}</span>
3038 + </div>
3039 + </dt>
3040 + <dd class="moderation">
3041 + <span>{L_REPORTED} {L_POST_BY_AUTHOR} {pm_report.REPORTER_FULL} {L_REPORTED_ON_DATE} {pm_report.REPORT_TIME}</span>
3042 + </dd>
3043 + </dl>
3044 + </li>
3045 + <!-- END pm_report -->
3046 + </ul>
3047 + <!-- ENDIF -->
3048 +
3049 + </div>
3050 + </div>
3051 +<!-- ENDIF -->
3052 +
3053 +<!-- EVENT mcp_front_latest_logs_before -->
3054 +
3055 +<!-- IF S_SHOW_LOGS -->
3056 + <div class="panel">
3057 + <div class="inner">
3058 +
3059 + <h3>{L_LATEST_LOGS}</h3>
3060 +
3061 + <table class="table1">
3062 + <thead>
3063 + <tr>
3064 + <th class="name">{L_ACTION}</th>
3065 + <th class="name">{L_USERNAME}</th>
3066 + <th class="name">{L_IP}</th>
3067 + <th class="name">{L_VIEW_TOPIC}</th>
3068 + <th class="name">{L_VIEW_TOPIC_LOGS}</th>
3069 + <th class="name">{L_TIME}</th>
3070 + </tr>
3071 + </thead>
3072 + <tbody>
3073 + <!-- BEGIN log -->
3074 + <tr class="<!-- IF log.S_ROW_COUNT is even -->bg1<!-- ELSE -->bg2<!-- ENDIF -->">
3075 + <td>{log.ACTION}</td>
3076 + <td><span>{log.USERNAME}</span></td>
3077 + <td><span>{log.IP}</span></td>
3078 + <td><span><!-- IF log.U_VIEW_TOPIC --><a href="{log.U_VIEW_TOPIC}" title="{L_VIEW_TOPIC}">{L_VIEW_TOPIC}</a><!-- ENDIF -->&nbsp;</span></td>
3079 + <td><span><!-- IF log.U_VIEWLOGS --><a href="{log.U_VIEWLOGS}">{L_VIEW_TOPIC_LOGS}</a><!-- ENDIF -->&nbsp;</span></td>
3080 + <td><span>{log.TIME}</span></td>
3081 + </tr>
3082 + <!-- BEGINELSE -->
3083 + <tr>
3084 + <td colspan="6">{L_NO_ENTRIES}</td>
3085 + </tr>
3086 + <!-- END log -->
3087 + </tbody>
3088 + </table>
3089 +
3090 + </div>
3091 + </div>
3092 +<!-- ENDIF -->
3093 +
3094 +<!-- EVENT mcp_front_latest_logs_after -->
3095 +
3096 +<!-- INCLUDE mcp_footer.html -->
3097
3098 diff --git a/template/mcp_header.html b/template/mcp_header.html
3099 new file mode 100644
3100 index 000000000..5841c1bbd
3101 --- /dev/null
3102 +++ b/template/mcp_header.html
3103 @@ -0,0 +1,49 @@
3104 +<!-- INCLUDE overall_header.html -->
3105 +
3106 +<h2>{L_MCP}</h2>
3107 +
3108 +<!-- IF U_MCP -->
3109 + <p class="linkmcp responsive-center">
3110 + [<!-- IF U_ACP -->&nbsp;<a href="{U_ACP}" title="{L_ACP}" data-responsive-text="{L_ACP_SHORT}">{L_ACP}</a>&nbsp;|<!-- ENDIF -->&nbsp;<a href="{U_MCP}" title="{L_MCP}" data-responsive-text="{L_MCP_SHORT}">{L_MCP}</a><!-- IF U_MCP_FORUM -->&nbsp;|&nbsp;<a href="{U_MCP_FORUM}">{L_MODERATE_FORUM}</a><!-- ENDIF --><!-- IF U_MCP_TOPIC -->&nbsp;|&nbsp;<a href="{U_MCP_TOPIC}">{L_MODERATE_TOPIC}</a><!-- ENDIF --><!-- IF U_MCP_POST -->&nbsp;|&nbsp;<a href="{U_MCP_POST}">{L_MODERATE_POST}</a><!-- ENDIF -->&nbsp;]
3111 + </p>
3112 +<!-- ENDIF -->
3113 +
3114 +<div id="tabs" class="tabs">
3115 + <ul>
3116 + <!-- BEGIN l_block1 -->
3117 + <li class="tab<!-- IF l_block1.S_SELECTED --> activetab<!-- ENDIF -->"><a href="{l_block1.U_TITLE}">{l_block1.L_TITLE}</a></li>
3118 + <!-- END l_block1 -->
3119 + </ul>
3120 +</div>
3121 +
3122 +<div class="panel bg3">
3123 + <div class="inner">
3124 +
3125 + <div style="width: 100%;">
3126 +
3127 + <div id="cp-menu" class="cp-menu">
3128 + <div id="navigation" class="navigation" role="navigation">
3129 + <ul>
3130 + <!-- BEGIN l_block1 -->
3131 + <!-- IF l_block1.S_SELECTED -->
3132 + <!-- BEGIN l_block2 -->
3133 + <!-- IF l_block1.l_block2.S_SELECTED -->
3134 + <li id="active-subsection" class="active-subsection"><a href="{l_block1.l_block2.U_TITLE}"><span>{l_block1.l_block2.L_TITLE}<!-- IF l_block1.l_block2.ADD_ITEM --> ({l_block1.l_block2.ADD_ITEM})<!-- ENDIF --></span></a></li>
3135 + <!-- ELSE -->
3136 + <li><a href="{l_block1.l_block2.U_TITLE}"><span>{l_block1.l_block2.L_TITLE}<!-- IF l_block1.l_block2.ADD_ITEM --> ({l_block1.l_block2.ADD_ITEM})<!-- ENDIF --></span></a></li>
3137 + <!-- ENDIF -->
3138 + <!-- END l_block2 -->
3139 + <!-- ENDIF -->
3140 + <!-- END l_block1 -->
3141 + </ul>
3142 + </div>
3143 + </div>
3144 +
3145 + <div id="cp-main" class="cp-main mcp-main panel-container">
3146 + <!-- IF MESSAGE -->
3147 + <div class="content">
3148 + <h2 class="message-title">{L_MESSAGE}</h2>
3149 + <p class="error">{MESSAGE}</p>
3150 + <p><!-- BEGIN return_links -->{return_links.MESSAGE_LINK}<br /><br /><!-- END return_links --></p>
3151 + </div>
3152 + <!-- ENDIF -->
3153
3154 diff --git a/template/mcp_logs.html b/template/mcp_logs.html
3155 new file mode 100644
3156 index 000000000..03216b4f3
3157 --- /dev/null
3158 +++ b/template/mcp_logs.html
3159 @@ -0,0 +1,88 @@
3160 +<!-- INCLUDE mcp_header.html -->
3161 +
3162 +<h2>{L_TITLE}</h2>
3163 +
3164 +<form method="post" id="mcp" action="{U_POST_ACTION}">
3165 +
3166 +<div class="panel">
3167 + <div class="inner">
3168 +
3169 + <div class="action-bar bar-top">
3170 + {L_SEARCH_KEYWORDS}{L_COLON} <input type="search" class="inputbox autowidth" name="keywords" value="{S_KEYWORDS}" />&nbsp;<input type="submit" class="button2" name="filter" value="{L_SEARCH}" />
3171 + <div class="pagination">
3172 + {TOTAL}
3173 + <!-- IF .pagination -->
3174 + <!-- INCLUDE pagination.html -->
3175 + <!-- ELSE -->
3176 + &bull; {PAGE_NUMBER}
3177 + <!-- ENDIF -->
3178 + </div>
3179 + </div>
3180 +
3181 + <table class="table1">
3182 + <thead>
3183 + <tr>
3184 + <th class="name">{L_USERNAME}</th>
3185 + <th class="center">{L_IP}</th>
3186 + <th class="center">{L_TIME}</th>
3187 + <th class="name">{L_ACTION}</th>
3188 + <!-- IF S_CLEAR_ALLOWED --><th>{L_MARK}</th><!-- ENDIF -->
3189 + </tr>
3190 + </thead>
3191 + <tbody>
3192 + <!-- IF S_LOGS -->
3193 + <!-- BEGIN log -->
3194 + <!-- IF log.S_ROW_COUNT is even --><tr class="bg1"><!-- ELSE --><tr class="bg2"><!-- ENDIF -->
3195 + <td>{log.USERNAME}</td>
3196 + <td class="center">{log.IP}</td>
3197 + <td class="center">{log.DATE}</td>
3198 + <td>{log.ACTION}<br />
3199 + {log.DATA}
3200 + </td>
3201 + <!-- IF S_CLEAR_ALLOWED --><td style="width: 5%" align="center"><input type="checkbox" name="mark[]" value="{log.ID}" /></td><!-- ENDIF -->
3202 + </tr>
3203 + <!-- END log -->
3204 + <!-- ELSE -->
3205 + <tr>
3206 + <td class="bg1" colspan="<!-- IF S_CLEAR_ALLOWED -->5<!-- ELSE -->4<!-- ENDIF -->" align="center"><span class="gen">{L_NO_ENTRIES}</span></td>
3207 + </tr>
3208 + <!-- ENDIF -->
3209 + </tbody>
3210 + </table>
3211 +
3212 + <!-- IF .log -->
3213 + <div class="action-bar bottom">
3214 + <!-- INCLUDE display_options.html -->
3215 +
3216 + <div class="pagination">
3217 + {TOTAL}
3218 + <!-- IF .pagination -->
3219 + <!-- INCLUDE pagination.html -->
3220 + <!-- ELSE -->
3221 + &bull; {PAGE_NUMBER}
3222 + <!-- ENDIF -->
3223 + </div>
3224 + </div>
3225 +
3226 + {S_FORM_TOKEN}
3227 + </div>
3228 + </div>
3229 +
3230 + <!-- IF S_CLEAR_ALLOWED -->
3231 + <fieldset class="display-actions">
3232 + <input class="button2" type="submit" name="action[del_all]" value="{L_DELETE_ALL}" />
3233 + &nbsp;<input class="button1" type="submit" value="{L_DELETE_MARKED}" name="action[del_marked]" />
3234 +
3235 + <div><a href="#" onclick="marklist('mcp', 'mark', true); return false;">{L_MARK_ALL}</a> :: <a href="#" onclick="marklist('mcp', 'mark', false); return false;">{L_UNMARK_ALL}</a></div>
3236 + </fieldset>
3237 + <!-- ENDIF -->
3238 + <!-- ELSE -->
3239 + {S_FORM_TOKEN}
3240 + </div>
3241 + </div>
3242 + <!-- ENDIF -->
3243 +</form>
3244 +
3245 +<br />
3246 +
3247 +<!-- INCLUDE mcp_footer.html -->
3248
3249 diff --git a/template/mcp_message.html b/template/mcp_message.html
3250 new file mode 100644
3251 index 000000000..062103b91
3252 --- /dev/null
3253 +++ b/template/mcp_message.html
3254 @@ -0,0 +1,8 @@
3255 +<!-- INCLUDE mcp_header.html -->
3256 +
3257 +<div class="content">
3258 + <h2 class="message-title">{MESSAGE_TITLE}</h2>
3259 + <p>{MESSAGE_TEXT}</p>
3260 +</div>
3261 +
3262 +<!-- INCLUDE mcp_footer.html -->
3263
3264 diff --git a/template/mcp_move.html b/template/mcp_move.html
3265 new file mode 100644
3266 index 000000000..63197ef27
3267 --- /dev/null
3268 +++ b/template/mcp_move.html
3269 @@ -0,0 +1,73 @@
3270 +<!-- IF S_AJAX_REQUEST -->
3271 +
3272 + <h3>{MESSAGE_TITLE}</h3>
3273 + <p>{MESSAGE_TEXT}</p>
3274 +
3275 + <!-- IF ADDITIONAL_MSG --><p>{ADDITIONAL_MSG}</p><!-- ENDIF -->
3276 +
3277 + <label>
3278 + <strong>{L_SELECT_DESTINATION_FORUM}{L_COLON}</strong>
3279 + <select name="to_forum_id">{S_FORUM_SELECT}</select>
3280 + </label>
3281 +
3282 + <!-- IF S_CAN_LEAVE_SHADOW -->
3283 + <label for="move_leave_shadow">
3284 + <input type="checkbox" name="move_leave_shadow" id="move_leave_shadow" />{L_LEAVE_SHADOW}
3285 + </label>
3286 + <!-- ENDIF -->
3287 +
3288 + <!-- IF S_CAN_LOCK_TOPIC -->
3289 + <label for="move_lock_topics">
3290 + <input type="checkbox" name="move_lock_topics" id="move_lock_topics" />{L_LOCK_TOPIC}
3291 + </label>
3292 + <!-- ENDIF -->
3293 +
3294 + <fieldset class="submit-buttons">
3295 + <input type="button" name="confirm" value="{YES_VALUE}" class="button1" />&nbsp;
3296 + <input type="button" name="cancel" value="{L_NO}" class="button2" />
3297 + </fieldset>
3298 +
3299 +<!-- ELSE -->
3300 +
3301 +<!-- INCLUDE overall_header.html -->
3302 +
3303 +<!-- EVENT mcp_move_before -->
3304 +
3305 +<form id="confirm" action="{S_CONFIRM_ACTION}" method="post">
3306 +
3307 +<div class="panel">
3308 + <div class="inner">
3309 +
3310 + <div class="content">
3311 + <h2 class="message-title">{MESSAGE_TITLE}</h2>
3312 + <!-- IF ADDITIONAL_MSG --><p>{ADDITIONAL_MSG}</p><!-- ENDIF -->
3313 +
3314 + <fieldset>
3315 + {% EVENT mcp_move_destination_forum_before %}
3316 + <dl class="fields2">
3317 + <dt><label>{L_SELECT_DESTINATION_FORUM}{L_COLON}</label></dt>
3318 + <dd><select name="to_forum_id">{S_FORUM_SELECT}</select></dd>
3319 + <!-- IF S_CAN_LEAVE_SHADOW --><dd><label for="move_leave_shadow"><input type="checkbox" name="move_leave_shadow" id="move_leave_shadow" />{L_LEAVE_SHADOW}</label></dd><!-- ENDIF -->
3320 + <!-- IF S_CAN_LOCK_TOPIC --><dd><label for="move_lock_topics"><input type="checkbox" name="move_lock_topics" id="move_lock_topics" />{L_LOCK_TOPIC}</label></dd><!-- ENDIF -->
3321 + </dl>
3322 + {% EVENT mcp_move_destination_forum_after %}
3323 + <dl class="fields2">
3324 + <dt>&nbsp;</dt>
3325 + <dd><strong>{MESSAGE_TEXT}</strong></dd>
3326 + </dl>
3327 + </fieldset>
3328 +
3329 + <fieldset class="submit-buttons">
3330 + {S_HIDDEN_FIELDS}<input type="submit" name="confirm" value="{YES_VALUE}" class="button1" />&nbsp;
3331 + <input type="submit" name="cancel" value="{L_NO}" class="button2" />
3332 + {S_FORM_TOKEN}
3333 + </fieldset>
3334 +
3335 + </div>
3336 +
3337 + </div>
3338 +</div>
3339 +</form>
3340 +
3341 +<!-- INCLUDE overall_footer.html -->
3342 +<!-- ENDIF -->
3343
3344 diff --git a/template/mcp_notes_front.html b/template/mcp_notes_front.html
3345 new file mode 100644
3346 index 000000000..11f362376
3347 --- /dev/null
3348 +++ b/template/mcp_notes_front.html
3349 @@ -0,0 +1,28 @@
3350 +<!-- INCLUDE mcp_header.html -->
3351 +
3352 +<form method="post" id="mcp" action="{U_POST_ACTION}">
3353 +
3354 +<h2>{L_TITLE}</h2>
3355 +
3356 +<div class="panel">
3357 + <div class="inner">
3358 +
3359 + <fieldset>
3360 + <dl>
3361 + <dt><label for="username">{L_SELECT_USER}{L_COLON}</label></dt>
3362 + <dd><input name="username" id="username" type="text" class="inputbox" /></dd>
3363 + <dd><strong><a href="{U_FIND_USERNAME}" onclick="find_username(this.href); return false;">{L_FIND_USERNAME}</a></strong></dd>
3364 + </dl>
3365 + </fieldset>
3366 +
3367 + </div>
3368 +</div>
3369 +
3370 +<fieldset class="submit-buttons">
3371 + <input type="reset" value="{L_RESET}" name="reset" class="button2" />&nbsp;
3372 + <input type="submit" name="submituser" value="{L_SUBMIT}" class="button1" />
3373 + {S_FORM_TOKEN}
3374 +</fieldset>
3375 +</form>
3376 +
3377 +<!-- INCLUDE mcp_footer.html -->
3378
3379 diff --git a/template/mcp_notes_user.html b/template/mcp_notes_user.html
3380 new file mode 100644
3381 index 000000000..62d0562a4
3382 --- /dev/null
3383 +++ b/template/mcp_notes_user.html
3384 @@ -0,0 +1,121 @@
3385 +<!-- INCLUDE mcp_header.html -->
3386 +
3387 +<form method="post" id="mcp" action="{U_POST_ACTION}">
3388 +
3389 +<h2>{L_TITLE}</h2>
3390 +
3391 +<div class="panel">
3392 + <div class="inner">
3393 +
3394 + <h3>{USERNAME_FULL}</h3>
3395 +
3396 + <div>
3397 + <div class="column1">
3398 + <!-- IF AVATAR_IMG --><div>{AVATAR_IMG}</div><!-- ENDIF -->
3399 + </div>
3400 +
3401 + <div class="column2">
3402 + <dl class="details">
3403 + <!-- IF RANK_TITLE --><dt>{L_RANK}{L_COLON}</dt><dd>{RANK_TITLE}</dd><!-- ENDIF -->
3404 + <!-- IF RANK_IMG --><dt><!-- IF RANK_TITLE -->&nbsp;<!-- ELSE -->{L_RANK}{L_COLON}<!-- ENDIF --></dt><dd>{RANK_IMG}</dd><!-- ENDIF -->
3405 + <dt>{L_JOINED}{L_COLON}</dt><dd>{JOINED}</dd>
3406 + <dt>{L_TOTAL_POSTS}{L_COLON}</dt><dd>{POSTS}</dd>
3407 + <dt>{L_WARNINGS}{L_COLON} </dt><dd>{WARNINGS}</dd>
3408 + </dl>
3409 + </div>
3410 + </div>
3411 +
3412 + </div>
3413 +</div>
3414 +
3415 +<div class="panel">
3416 + <div class="inner">
3417 +
3418 + <h3>{L_ADD_FEEDBACK}</h3>
3419 + <p>{L_ADD_FEEDBACK_EXPLAIN}</p>
3420 +
3421 + <fieldset>
3422 + <textarea name="usernote" id="usernote" class="inputbox" cols="40" rows="3"></textarea>
3423 + </fieldset>
3424 +
3425 + </div>
3426 +</div>
3427 +
3428 +<fieldset class="submit-buttons">
3429 + {S_HIDDEN_FIELDS}<input type="reset" value="{L_RESET}" name="reset" class="button2" />&nbsp;
3430 + <input type="submit" name="action[add_feedback]" value="{L_SUBMIT}" class="button1" />
3431 + {S_FORM_TOKEN}
3432 +</fieldset>
3433 +
3434 +<div class="panel">
3435 + <div class="inner">
3436 +
3437 + <div class="action-bar bar-top">
3438 + {L_SEARCH_KEYWORDS}{L_COLON} <input type="search" class="inputbox autowidth" name="keywords" value="{S_KEYWORDS}" />&nbsp;<input type="submit" class="button2" name="filter" value="{L_SEARCH}" />
3439 + <div class="pagination">
3440 + {TOTAL_REPORTS}
3441 + <!-- IF .pagination -->
3442 + <!-- INCLUDE pagination.html -->
3443 + <!-- ELSE -->
3444 + &bull; {PAGE_NUMBER}
3445 + <!-- ENDIF -->
3446 + </div>
3447 + </div>
3448 +
3449 + <table class="table1">
3450 + <thead>
3451 + <tr>
3452 + <th class="name reportby">{L_REPORT_BY}</th>
3453 + <th class="center">{L_IP}</th>
3454 + <th class="center">{L_TIME}</th>
3455 + <th>{L_ACTION_NOTE}</th>
3456 + <!-- IF S_CLEAR_ALLOWED --><th>{L_MARK}</th><!-- ENDIF -->
3457 + </tr>
3458 + </thead>
3459 + <tbody>
3460 + <!-- BEGIN usernotes -->
3461 + <!-- IF usernotes.S_ROW_COUNT is even --><tr class="bg1"><!-- ELSE --><tr class="bg2"><!-- ENDIF -->
3462 + <td>{usernotes.REPORT_BY}</td>
3463 + <td class="center">{usernotes.IP}</td>
3464 + <td class="center">{usernotes.REPORT_AT}</td>
3465 + <td>{usernotes.ACTION}</td>
3466 +
3467 + <!-- IF S_CLEAR_ALLOWED --><td class="center" style="width: 5%;"><input type="checkbox" name="marknote[]" id="note-{usernotes.ID}" value="{usernotes.ID}" /></td><!-- ENDIF -->
3468 + </tr>
3469 + <!-- BEGINELSE -->
3470 + <tr>
3471 + <td class="bg1" colspan="<!-- IF S_CLEAR_ALLOWED -->5<!-- ELSE -->4<!-- ENDIF -->" align="center"><span class="gen">{L_NO_ENTRIES}</span></td>
3472 + </tr>
3473 + <!-- END usernotes -->
3474 + </tbody>
3475 + </table>
3476 +
3477 + <div class="action-bar bottom">
3478 + <!-- INCLUDE display_options.html -->
3479 +
3480 + <div class="pagination">
3481 + {TOTAL_REPORTS}
3482 + <!-- IF .pagination -->
3483 + <!-- INCLUDE pagination.html -->
3484 + <!-- ELSE -->
3485 + &bull; {PAGE_NUMBER}
3486 + <!-- ENDIF -->
3487 + </div>
3488 + </div>
3489 +
3490 + </div>
3491 +</div>
3492 +
3493 +<!-- IF S_CLEAR_ALLOWED -->
3494 +<fieldset class="display-actions">
3495 + <input class="button2" type="submit" name="action[del_all]" value="{L_DELETE_ALL}" />
3496 + &nbsp;<input class="button1" type="submit" name="action[del_marked]" value="{L_DELETE_MARKED}" />
3497 +</fieldset>
3498 +
3499 +<fieldset class="display-actions">
3500 + <div><a href="#" onclick="marklist('mcp', 'marknote', true); return false;">{L_MARK_ALL}</a> &bull; <a href="#" onclick="marklist('mcp', 'marknote', false); return false;">{L_UNMARK_ALL}</a></div>
3501 +</fieldset>
3502 +<!-- ENDIF -->
3503 +</form>
3504 +
3505 +<!-- INCLUDE mcp_footer.html -->
3506
3507 diff --git a/template/mcp_post.html b/template/mcp_post.html
3508 new file mode 100644
3509 index 000000000..c2297a805
3510 --- /dev/null
3511 +++ b/template/mcp_post.html
3512 @@ -0,0 +1,362 @@
3513 +<!-- INCLUDE mcp_header.html -->
3514 +
3515 +<!-- IF S_MCP_REPORT -->
3516 + <!-- IF S_PM -->
3517 + <h2>{L_PM_REPORT_DETAILS}</h2>
3518 + <!-- ELSE -->
3519 + <h2>{L_REPORT_DETAILS}</h2>
3520 + <!-- ENDIF -->
3521 +
3522 + <div id="report" class="panel">
3523 + <div class="inner">
3524 +
3525 + <div class="postbody">
3526 + <h3>{L_REPORT_REASON}{L_COLON} {REPORT_REASON_TITLE}</h3>
3527 + <p class="author">{L_REPORTED} {L_POST_BY_AUTHOR} {REPORTER_FULL} &laquo; {REPORT_DATE}</p>
3528 + <!-- IF S_REPORT_CLOSED -->
3529 + <p class="post-notice reported"><i class="icon fa-exclamation fa-fw icon-red" aria-hidden="true"></i>{L_REPORT_CLOSED}</p>
3530 + <!-- ENDIF -->
3531 + <div class="content">
3532 + <!-- IF REPORT_TEXT -->
3533 + {REPORT_TEXT}
3534 + <!-- ELSE -->
3535 + {REPORT_REASON_DESCRIPTION}
3536 + <!-- ENDIF -->
3537 + </div>
3538 + </div>
3539 +
3540 + </div>
3541 + </div>
3542 +
3543 + <form method="post" id="mcp_report" action="{S_CLOSE_ACTION}">
3544 +
3545 + <fieldset class="submit-buttons">
3546 + {% EVENT mcp_post_report_buttons_top_before %}
3547 + <!-- IF not S_REPORT_CLOSED -->
3548 + <input class="button1" type="submit" value="{L_CLOSE_REPORT}" name="action[close]" /> &nbsp;
3549 + <!-- ENDIF -->
3550 + <input class="button2" type="submit" value="{L_DELETE_REPORT}" name="action[delete]" />
3551 + {% EVENT mcp_post_report_buttons_top_after %}
3552 + <input type="hidden" name="report_id_list[]" value="{REPORT_ID}" />
3553 + {S_FORM_TOKEN}
3554 + </fieldset>
3555 + </form>
3556 +
3557 +<!-- ELSE -->
3558 + <h2>{L_POST_DETAILS}</h2>
3559 +<!-- ENDIF -->
3560 +
3561 +<div class="panel">
3562 + <div class="inner">
3563 +
3564 + <div class="postbody">
3565 + <h3><a href="{U_VIEW_POST}">{POST_SUBJECT}</a></h3>
3566 +
3567 + <ul class="post-buttons">
3568 + <li id="expand">
3569 + <a href="#post_details" onclick="viewableArea(getElementById('post_details'), true); var rev_text = getElementById('expand').getElementsByTagName('a').item(0).firstChild; if (rev_text.data.trim() == '{LA_EXPAND_VIEW}'){rev_text.data = '{LA_COLLAPSE_VIEW}'; } else if (rev_text.data.trim() == '{LA_COLLAPSE_VIEW}'){rev_text.data = '{LA_EXPAND_VIEW}';} return false;">
3570 + {L_EXPAND_VIEW}
3571 + </a>
3572 + </li>
3573 + <!-- IF U_EDIT -->
3574 + <li>
3575 + <a href="{U_EDIT}" title="{L_EDIT_POST}" class="button">
3576 + <i class="icon fa-pencil fa-fw" aria-hidden="true"></i><span class="sr-only">{L_EDIT_POST}</span>
3577 + </a>
3578 + </li>
3579 + <!-- ENDIF -->
3580 + </ul>
3581 +
3582 + <!-- IF S_PM -->
3583 + <p class="author">
3584 + <strong>{L_SENT_AT}{L_COLON}</strong> {POST_DATE}
3585 + <br /><strong>{L_PM_FROM}{L_COLON}</strong> {POST_AUTHOR_FULL}
3586 + <!-- IF S_TO_RECIPIENT --><br /><strong>{L_TO}{L_COLON}</strong> <!-- BEGIN to_recipient --><!-- IF to_recipient.NAME_FULL -->{to_recipient.NAME_FULL}<!-- ELSE --><a href="{to_recipient.U_VIEW}"<!-- IF to_recipient.COLOUR --> style="color:{to_recipient.COLOUR};"<!-- ENDIF -->><strong>{to_recipient.NAME}</strong></a><!-- ENDIF -->&nbsp;<!-- END to_recipient --><!-- ENDIF -->
3587 + <!-- IF S_BCC_RECIPIENT --><br /><strong>{L_BCC}{L_COLON}</strong> <!-- BEGIN bcc_recipient --><!-- IF bcc_recipient.NAME_FULL -->{bcc_recipient.NAME_FULL}<!-- ELSE --><a href="{bcc_recipient.U_VIEW}"<!-- IF bcc_recipient.COLOUR --> style="color:{bcc_recipient.COLOUR};"<!-- ENDIF -->><strong>{bcc_recipient.NAME}</strong></a><!-- ENDIF -->&nbsp;<!-- END bcc_recipient --><!-- ENDIF -->
3588 + </p>
3589 + <!-- ELSE -->
3590 + <p class="author"><span><i class="icon fa-file fa-fw icon-lightgray icon-md" aria-hidden="true"></i><span class="sr-only">{MINI_POST_IMG}</span></span> {L_POSTED} {L_POST_BY_AUTHOR} {POST_AUTHOR_FULL} &raquo; {POST_DATE}</p>
3591 + <!-- ENDIF -->
3592 +
3593 + <!-- IF S_POST_UNAPPROVED -->
3594 + <form method="post" id="mcp_approve" action="{U_APPROVE_ACTION}">
3595 +
3596 + <p class="post-notice unapproved">
3597 + <input class="button2" type="submit" value="{L_DISAPPROVE}" name="action[disapprove]" /> &nbsp;
3598 + <input class="button1" type="submit" value="{L_APPROVE}" name="action[approve]" />
3599 + <!-- IF not S_FIRST_POST --><input type="hidden" name="mode" value="unapproved_posts" /><!-- ENDIF -->
3600 + <input type="hidden" name="post_id_list[]" value="{POST_ID}" />
3601 + {S_FORM_TOKEN}
3602 + </p>
3603 + </form>
3604 + <!-- ELSEIF S_POST_DELETED -->
3605 + <form method="post" id="mcp_approve" action="{U_APPROVE_ACTION}">
3606 +
3607 + <p class="post-notice deleted">
3608 + <!-- IF S_CAN_DELETE_POST --><input class="button2" type="submit" value="{L_DELETE}" name="action[delete]" /> &nbsp;<!-- ENDIF -->
3609 + <input class="button1" type="submit" value="{L_RESTORE}" name="action[restore]" />
3610 + <!-- IF not S_FIRST_POST --><input type="hidden" name="mode" value="deleted_posts" /><!-- ENDIF -->
3611 + <input type="hidden" name="post_id_list[]" value="{POST_ID}" />
3612 + {S_FORM_TOKEN}
3613 + </p>
3614 + </form>
3615 + <!-- ENDIF -->
3616 +
3617 + <!-- IF S_MESSAGE_REPORTED -->
3618 + <p class="post-notice reported">
3619 + <i class="icon fa-exclamation fa-fw icon-red" aria-hidden="true"></i><span class="sr-only">{L_TOPIC_REPORTED}</span> <a href="{U_MCP_REPORT}"><strong>{L_MESSAGE_REPORTED}</strong></a>
3620 + </p>
3621 + <!-- ENDIF -->
3622 +
3623 + {% EVENT mcp_post_text_before %}
3624 +
3625 + <div id="post_details" class="content post_details">
3626 + {POST_PREVIEW}
3627 + </div>
3628 +
3629 + {% EVENT mcp_post_text_after %}
3630 +
3631 + <!-- IF S_HAS_ATTACHMENTS -->
3632 + <dl class="attachbox">
3633 + <dt>{L_ATTACHMENTS}</dt>
3634 + <!-- BEGIN attachment -->
3635 + <dd>{attachment.DISPLAY_ATTACHMENT}</dd>
3636 + <!-- END attachment -->
3637 + </dl>
3638 + <!-- ENDIF -->
3639 +
3640 + <!-- IF DELETED_MESSAGE or DELETE_REASON -->
3641 + <div class="notice">
3642 + {DELETED_MESSAGE}
3643 + <!-- IF DELETE_REASON --><br /><strong>{L_REASON}{L_COLON}</strong> <em>{DELETE_REASON}</em><!-- ENDIF -->
3644 + </div>
3645 + <!-- ENDIF -->
3646 +
3647 + <!-- IF SIGNATURE -->
3648 + <div id="sig{POST_ID}" class="signature">{SIGNATURE}</div>
3649 + <!-- ENDIF -->
3650 +
3651 + <!-- IF S_MCP_REPORT and S_CAN_VIEWIP -->
3652 + <hr />
3653 + <div><!-- IF S_PM -->{L_THIS_PM_IP}<!-- ELSE -->{L_THIS_POST_IP}<!-- ENDIF -->{L_COLON} <!-- IF U_WHOIS -->
3654 + <a href="{U_WHOIS}"><!-- IF POST_IPADDR -->{POST_IPADDR}<!-- ELSE -->{POST_IP}<!-- ENDIF --></a> (<!-- IF POST_IPADDR -->{POST_IP}<!-- ELSE --><a href="{U_LOOKUP_IP}">{L_LOOKUP_IP}</a><!-- ENDIF -->)
3655 + <!-- ELSE -->
3656 + <!-- IF POST_IPADDR -->{POST_IPADDR} ({POST_IP})<!-- ELSE -->{POST_IP}<!-- IF U_LOOKUP_IP --> (<a href="{U_LOOKUP_IP}">{L_LOOKUP_IP}</a>)<!-- ENDIF --><!-- ENDIF -->
3657 + <!-- ENDIF --></div>
3658 + <!-- ENDIF -->
3659 +
3660 + </div>
3661 +
3662 + </div>
3663 +</div>
3664 +
3665 +<!-- IF S_CAN_LOCK_POST or S_CAN_DELETE_POST or S_CAN_CHGPOSTER or S_MCP_POST_ADDITIONAL_OPTS -->
3666 + <div class="panel">
3667 + <div class="inner">
3668 +
3669 + <h3>{L_MOD_OPTIONS}</h3>
3670 + <!-- IF S_CAN_CHGPOSTER -->
3671 + <form method="post" id="mcp_chgposter" action="{U_POST_ACTION}">
3672 +
3673 + <fieldset>
3674 + <dl>
3675 + <dt><label>{L_CHANGE_POSTER}{L_COLON}</label></dt>
3676 + <!-- IF S_USER_SELECT --><dd><select name="u">{S_USER_SELECT}</select> <input type="submit" class="button2" name="action[chgposter_ip]" value="{L_CONFIRM}" /></dd><!-- ENDIF -->
3677 + <dd style="margin-top:3px;">
3678 + <input class="inputbox autowidth" type="text" name="username" value="" />
3679 + <input type="submit" class="button2" name="action[chgposter]" value="{L_CONFIRM}" />
3680 + <br />
3681 + <span>[ <a href="{U_FIND_USERNAME}" onclick="find_username(this.href); return false;">{L_FIND_USERNAME}</a> ]</span>
3682 + </dd>
3683 + </dl>
3684 + {S_FORM_TOKEN}
3685 + </fieldset>
3686 + </form>
3687 + <!-- ENDIF -->
3688 +
3689 + <!-- EVENT mcp_post_additional_options -->
3690 +
3691 + <!-- IF S_CAN_LOCK_POST or S_CAN_DELETE_POST -->
3692 + <form method="post" id="mcp" action="{U_MCP_ACTION}">
3693 +
3694 + <fieldset>
3695 + <dl>
3696 + <dt><label>{L_MOD_OPTIONS}{L_COLON}</label></dt>
3697 + <dd><select name="action">
3698 + <!-- IF S_CAN_LOCK_POST --><!-- IF S_POST_LOCKED --><option value="unlock_post">{L_UNLOCK_POST} [{L_UNLOCK_POST_EXPLAIN}]</option><!-- ELSE --><option value="lock_post">{L_LOCK_POST} [{L_LOCK_POST_EXPLAIN}]</option><!-- ENDIF --><!-- ENDIF -->
3699 + <!-- IF S_CAN_DELETE_POST --><option value="delete_post">{L_DELETE_POST}</option><!-- ENDIF -->
3700 + </select> <input class="button2" type="submit" value="{L_SUBMIT}" />
3701 + </dd>
3702 + </dl>
3703 + {S_FORM_TOKEN}
3704 + </fieldset>
3705 + </form>
3706 + <!-- ENDIF -->
3707 +
3708 + </div>
3709 + </div>
3710 +<!-- ENDIF -->
3711 +
3712 +
3713 +<!-- IF S_MCP_QUEUE or S_MCP_REPORT or RETURN_TOPIC -->
3714 + <div class="panel">
3715 + <div class="inner">
3716 +
3717 + <p><!-- IF S_MCP_QUEUE -->{RETURN_QUEUE} | {RETURN_TOPIC_SIMPLE} | {RETURN_POST}<!-- ELSEIF S_MCP_REPORT -->{RETURN_REPORTS}<!-- IF not S_PM --> | <a href="{U_VIEW_POST}">{L_VIEW_POST}</a> | <a href="{U_VIEW_TOPIC}">{L_VIEW_TOPIC}</a> | <a href="{U_VIEW_FORUM}">{L_VIEW_FORUM}</a><!-- ENDIF --><!-- ELSE -->{RETURN_TOPIC}<!-- ENDIF --></p>
3718 +
3719 + </div>
3720 + </div>
3721 +<!-- ENDIF -->
3722 +
3723 +<!-- IF S_MCP_QUEUE -->
3724 +<!-- ELSE -->
3725 +
3726 + <!-- IF S_SHOW_USER_NOTES -->
3727 + <div class="panel" id="usernotes">
3728 + <div class="inner">
3729 +
3730 + <form method="post" id="mcp_notes" action="{U_POST_ACTION}">
3731 +
3732 + <!-- IF S_USER_NOTES -->
3733 + <h3>{L_FEEDBACK}</h3>
3734 +
3735 + <!-- BEGIN usernotes -->
3736 + <span class="small"><strong>{L_REPORTED_BY}{L_COLON} {usernotes.REPORT_BY} &laquo; {usernotes.REPORT_AT}</strong></span>
3737 + <!-- IF S_CLEAR_ALLOWED --><div class="right-box"><input type="checkbox" name="marknote[]" value="{usernotes.ID}" /></div><!-- ENDIF -->
3738 + <div class="postbody">{usernotes.ACTION}</div>
3739 +
3740 + <hr class="dashed" />
3741 + <!-- END usernotes -->
3742 +
3743 + <!-- IF S_CLEAR_ALLOWED -->
3744 + <fieldset class="submit-buttons">
3745 + <input class="button2" type="submit" name="action[del_all]" value="{L_DELETE_ALL}" />&nbsp;
3746 + <input class="button2" type="submit" name="action[del_marked]" value="{L_DELETE_MARKED}" />
3747 + </fieldset>
3748 + <!-- ENDIF -->
3749 + <!-- ENDIF -->
3750 +
3751 + <h3>{L_ADD_FEEDBACK}</h3>
3752 + <p>{L_ADD_FEEDBACK_EXPLAIN}</p>
3753 +
3754 + <fieldset>
3755 + <textarea name="usernote" rows="4" cols="76" class="inputbox"></textarea>
3756 + </fieldset>
3757 +
3758 + <fieldset class="submit-buttons">
3759 + <input class="button1" type="submit" name="action[add_feedback]" value="{L_SUBMIT}" />&nbsp;
3760 + <input class="button2" type="reset" value="{L_RESET}" />
3761 + {S_FORM_TOKEN}
3762 + </fieldset>
3763 + </form>
3764 +
3765 + </div>
3766 + </div>
3767 + <!-- ENDIF -->
3768 +
3769 + <!-- IF S_SHOW_REPORTS -->
3770 + <div class="panel" id="reports">
3771 + <div class="inner">
3772 +
3773 + <h3>{L_MCP_POST_REPORTS}</h3>
3774 +
3775 + <!-- BEGIN reports -->
3776 + <span class="small"><strong>{L_REPORTED_BY}{L_COLON} <!-- IF reports.U_REPORTER --><a href="{reports.U_REPORTER}">{reports.REPORTER}</a><!-- ELSE -->{reports.REPORTER}<!-- ENDIF --> &laquo; {reports.REPORT_TIME}</strong></span>
3777 + <p><em>{reports.REASON_TITLE}{L_COLON} {reports.REASON_DESC}</em><!-- IF reports.REPORT_TEXT --><br />{reports.REPORT_TEXT}<!-- ENDIF --></p>
3778 + <!-- END reports -->
3779 +
3780 + </div>
3781 + </div>
3782 + <!-- ENDIF -->
3783 +
3784 + <!-- IF S_CAN_VIEWIP and not S_MCP_REPORT -->
3785 + <div class="panel" id="ip">
3786 + <div class="inner">
3787 +
3788 + <p>{L_THIS_POST_IP}{L_COLON} <!-- IF U_WHOIS -->
3789 + <a href="{U_WHOIS}"><!-- IF POST_IPADDR -->{POST_IPADDR}<!-- ELSE -->{POST_IP}<!-- ENDIF --></a> (<!-- IF POST_IPADDR -->{POST_IP}<!-- ELSE --><a href="{U_LOOKUP_IP}">{L_LOOKUP_IP}</a><!-- ENDIF -->)
3790 + <!-- ELSE -->
3791 + <!-- IF POST_IPADDR -->{POST_IPADDR} ({POST_IP})<!-- ELSE -->{POST_IP}<!-- IF U_LOOKUP_IP --> (<a href="{U_LOOKUP_IP}">{L_LOOKUP_IP}</a>)<!-- ENDIF --><!-- ENDIF -->
3792 + <!-- ENDIF --></p>
3793 +
3794 + <table class="table1">
3795 + <thead>
3796 + <tr>
3797 + <th class="name">{L_OTHER_USERS}</th>
3798 + <th class="posts">{L_POSTS}</th>
3799 + </tr>
3800 + </thead>
3801 + <tbody>
3802 + <!-- BEGIN userrow -->
3803 + <tr class="<!-- IF userrow.S_ROW_COUNT is odd -->bg1<!-- ELSE -->bg2<!-- ENDIF -->">
3804 + <td><!-- IF userrow.U_PROFILE --><a href="{userrow.U_PROFILE}">{userrow.USERNAME}</a><!-- ELSE -->{userrow.USERNAME}<!-- ENDIF --></td>
3805 + <td class="posts"><a href="{userrow.U_SEARCHPOSTS}" title="{L_SEARCH_POSTS_BY} {userrow.USERNAME}">{userrow.NUM_POSTS}</a></td>
3806 + </tr>
3807 + <!-- BEGINELSE -->
3808 + <tr>
3809 + <td colspan="2">{L_NO_MATCHES_FOUND}</td>
3810 + </tr>
3811 + <!-- END userrow -->
3812 + </tbody>
3813 + </table>
3814 +
3815 + <div class="pagination">
3816 + <!-- INCLUDE pagination.html -->
3817 + </div>
3818 + </div>
3819 + </div>
3820 +
3821 + <div class="panel">
3822 + <div class="inner">
3823 + <table class="table1">
3824 + <thead>
3825 + <tr>
3826 + <th class="name">{L_IPS_POSTED_FROM}</th>
3827 + <th class="posts">{L_POSTS}</th>
3828 + </tr>
3829 + </thead>
3830 + <tbody>
3831 + <!-- BEGIN iprow -->
3832 + <tr class="<!-- IF iprow.S_ROW_COUNT is odd -->bg1<!-- ELSE -->bg2<!-- ENDIF -->">
3833 + <td><!-- IF iprow.HOSTNAME --><a href="{iprow.U_WHOIS}">{iprow.HOSTNAME}</a> ({iprow.IP})<!-- ELSE --><a href="{iprow.U_WHOIS}">{iprow.IP}</a> (<a href="{iprow.U_LOOKUP_IP}">{L_LOOKUP_IP}</a>)<!-- ENDIF --></td>
3834 + <td class="posts">{iprow.NUM_POSTS}</td>
3835 + </tr>
3836 + <!-- BEGINELSE -->
3837 + <tr>
3838 + <td colspan="2">{L_NO_MATCHES_FOUND}</td>
3839 + </tr>
3840 + <!-- END iprow -->
3841 + </tbody>
3842 + </table>
3843 +
3844 + <div class="buttons">
3845 + <p><a href="{U_LOOKUP_ALL}#ip">{L_LOOKUP_ALL}</a></p>
3846 + </div>
3847 +
3848 + <div class="pagination">
3849 + <ul>
3850 + <!-- BEGIN pagination_ips -->
3851 + <!-- IF pagination_ips.S_IS_PREV -->
3852 + <li class="arrow previous"><a class="button button-icon-only" href="{pagination_ips.PAGE_URL}" rel="prev" role="button"><i class="icon fa-chevron-{S_CONTENT_FLOW_BEGIN} fa-fw" aria-hidden="true"></i><span class="sr-only">{L_PREVIOUS}</span></a></li>
3853 + <!-- ELSEIF pagination_ips.S_IS_CURRENT -->
3854 + <li class="active"><span>{pagination_ips.PAGE_NUMBER}</span></li>
3855 + <!-- ELSEIF pagination_ips.S_IS_ELLIPSIS -->
3856 + <li class="ellipsis" role="separator"><span>{L_ELLIPSIS}</span></li>
3857 + <!-- ELSEIF pagination_ips.S_IS_NEXT -->
3858 + <li class="arrow next"><a class="button button-icon-only" href="{pagination_ips.PAGE_URL}" rel="next" role="button"><i class="icon fa-chevron-{S_CONTENT_FLOW_END} fa-fw" aria-hidden="true"></i><span class="sr-only">{L_NEXT}</span></a></li>
3859 + <!-- ELSE -->
3860 + <li><a class="button" href="{pagination_ips.PAGE_URL}" role="button">{pagination_ips.PAGE_NUMBER}</a></li>
3861 + <!-- ENDIF -->
3862 + <!-- END pagination_ips -->
3863 + </ul>
3864 + </div>
3865 +
3866 + </div>
3867 + </div>
3868 + <!-- ENDIF -->
3869 +
3870 +<!-- ENDIF -->
3871 +
3872 +<!-- IF S_TOPIC_REVIEW --><!-- INCLUDE posting_topic_review.html --><!-- ENDIF -->
3873 +
3874 +<!-- INCLUDE mcp_footer.html -->
3875
3876 diff --git a/template/mcp_queue.html b/template/mcp_queue.html
3877 new file mode 100644
3878 index 000000000..ee69bf448
3879 --- /dev/null
3880 +++ b/template/mcp_queue.html
3881 @@ -0,0 +1,123 @@
3882 +<!-- INCLUDE mcp_header.html -->
3883 +
3884 +<form id="mcp" method="post" action="{S_MCP_ACTION}">
3885 +
3886 +<fieldset class="forum-selection">
3887 + <label for="fo">{L_FORUM}{L_COLON} <select name="f" id="fo">{S_FORUM_OPTIONS}</select></label>
3888 + <input type="submit" name="sort" value="{L_GO}" class="button2" />
3889 + {S_FORM_TOKEN}
3890 +</fieldset>
3891 +
3892 +<h2>{L_TITLE}</h2>
3893 +
3894 +<div class="panel">
3895 + <div class="inner">
3896 +
3897 + <p>{L_EXPLAIN}</p>
3898 +
3899 + <!-- IF .postrow -->
3900 + <div class="action-bar bar-top">
3901 + <div class="pagination">
3902 + {TOTAL}
3903 + <!-- IF .pagination -->
3904 + <!-- INCLUDE pagination.html -->
3905 + <!-- ELSE -->
3906 + &bull; {PAGE_NUMBER}
3907 + <!-- ENDIF -->
3908 + </div>
3909 + </div>
3910 +
3911 + <ul class="topiclist missing-column">
3912 + <li class="header">
3913 + <dl>
3914 + <dt><div class="list-inner"><!-- IF S_TOPICS -->{L_TOPIC}<!-- ELSE -->{L_POST}<!-- ENDIF --></div></dt>
3915 + <dd class="moderation"><span><!-- IF not S_TOPICS -->{L_TOPIC} &amp; <!-- ENDIF -->{L_FORUM}</span></dd>
3916 + <dd class="mark">{L_MARK}</dd>
3917 + </dl>
3918 + </li>
3919 + </ul>
3920 + <ul class="topiclist cplist missing-column responsive-show-all">
3921 +
3922 + <!-- BEGIN postrow -->
3923 +
3924 + <!-- IF postrow.S_DELETED_TOPIC -->
3925 + <li><p class="notopics">{L_DELETED_TOPIC}</p></li>
3926 + <!-- ELSE -->
3927 +
3928 + <li class="row<!-- IF postrow.S_ROW_COUNT is odd --> bg1<!-- ELSE --> bg2<!-- ENDIF -->">
3929 + <dl>
3930 + <dt>
3931 + <div class="list-inner">
3932 + <a href="{postrow.U_VIEW_DETAILS}" class="topictitle">{postrow.POST_SUBJECT}</a><!-- IF postrow.S_HAS_ATTACHMENTS --> <i class="icon fa-paperclip fa-fw" aria-hidden="true"></i> <!-- ENDIF --><br />
3933 + <span>{L_POSTED} {L_POST_BY_AUTHOR} {postrow.POST_AUTHOR_FULL} &raquo; {postrow.POST_TIME}</span>
3934 + </div>
3935 + </dt>
3936 + <dd class="moderation">
3937 + <span>
3938 + <!-- IF S_TOPICS --><br /><!-- ELSE -->{L_TOPIC}{L_COLON} <a href="{postrow.U_TOPIC}">{postrow.TOPIC_TITLE}</a> <br /><!-- ENDIF -->
3939 + {L_FORUM}{L_COLON} <a href="{postrow.U_VIEWFORUM}">{postrow.FORUM_NAME}</a>
3940 + </span>
3941 + </dd>
3942 +
3943 +
3944 + <dd class="mark">
3945 + <!-- IF S_TOPICS -->
3946 + <input type="checkbox" name="topic_id_list[]" value="{postrow.TOPIC_ID}" />
3947 + <!-- ELSE -->
3948 + <input type="checkbox" name="post_id_list[]" value="{postrow.POST_ID}" />
3949 + <!-- ENDIF -->
3950 + </dd>
3951 + </dl>
3952 + </li>
3953 + <!-- ENDIF -->
3954 + <!-- END postrow -->
3955 + </ul>
3956 +
3957 + <div class="action-bar bottom">
3958 + <!-- INCLUDE display_options.html -->
3959 + <!-- IF TOPIC_ID --><label><input type="checkbox" class="radio" name="t" value="{TOPIC_ID}" checked="checked" onClick="document.getElementById('mcp').submit()" /> <strong>{L_ONLY_TOPIC}</strong></label><!-- ENDIF -->
3960 +
3961 + <div class="pagination">
3962 + {TOTAL}
3963 + <!-- IF .pagination -->
3964 + <!-- INCLUDE pagination.html -->
3965 + <!-- ELSE -->
3966 + &bull; {PAGE_NUMBER}
3967 + <!-- ENDIF -->
3968 + </div>
3969 + </div>
3970 +
3971 + <!-- ELSE -->
3972 + <p class="notopics"><strong>
3973 + <!-- IF S_RESTORE -->
3974 + <!-- IF S_TOPICS -->{L_NO_TOPICS_DELETED}<!-- ELSE -->{L_NO_POSTS_DELETED}<!-- ENDIF -->
3975 + <!-- ELSE -->
3976 + <!-- IF S_TOPICS -->{L_NO_TOPICS_QUEUE}<!-- ELSE -->{L_NO_POSTS_QUEUE}<!-- ENDIF -->
3977 + <!-- ENDIF -->
3978 + </strong></p>
3979 + <!-- ENDIF -->
3980 +
3981 + </div>
3982 +</div>
3983 +
3984 +<!-- IF .postrow -->
3985 + <fieldset class="display-actions">
3986 + <!-- IF S_RESTORE -->
3987 + <input class="button2" type="submit" name="action[delete]" value="{L_DELETE}" />&nbsp;
3988 + <input class="button1" type="submit" name="action[restore]" value="{L_RESTORE}" />
3989 + <!-- ELSE -->
3990 + <input class="button2" type="submit" name="action[disapprove]" value="{L_DISAPPROVE}" />&nbsp;
3991 + <input class="button1" type="submit" name="action[approve]" value="{L_APPROVE}" />
3992 + <!-- ENDIF -->
3993 + <div>
3994 + <!-- IF S_TOPICS -->
3995 + <a href="#" onclick="marklist('mcp', 'topic_id_list', true); return false;">{L_MARK_ALL}</a> :: <a href="#" onclick="marklist('mcp', 'topic_id_list', false); return false;">{L_UNMARK_ALL}</a>
3996 + <!-- ELSE -->
3997 + <a href="#" onclick="marklist('mcp', 'post_id_list', true); return false;">{L_MARK_ALL}</a> :: <a href="#" onclick="marklist('mcp', 'post_id_list', false); return false;">{L_UNMARK_ALL}</a>
3998 + <!-- ENDIF -->
3999 + </div>
4000 + </fieldset>
4001 +<!-- ENDIF -->
4002 +</form>
4003 +
4004 +<!-- INCLUDE mcp_footer.html -->
4005
4006 diff --git a/template/mcp_reports.html b/template/mcp_reports.html
4007 new file mode 100644
4008 index 000000000..e7e0a5c9b
4009 --- /dev/null
4010 +++ b/template/mcp_reports.html
4011 @@ -0,0 +1,112 @@
4012 +<!-- INCLUDE mcp_header.html -->
4013 +
4014 +<form id="mcp" method="post" action="{S_MCP_ACTION}">
4015 +
4016 +<!-- IF not S_PM -->
4017 +<fieldset class="forum-selection">
4018 + <label for="fo">{L_FORUM}{L_COLON} <select name="f" id="fo">{S_FORUM_OPTIONS}</select></label>
4019 + <input type="submit" name="sort" value="{L_GO}" class="button2" />
4020 + {S_FORM_TOKEN}
4021 +</fieldset>
4022 +<!-- ENDIF -->
4023 +
4024 +<h2>{L_TITLE}</h2>
4025 +
4026 +<div class="panel">
4027 + <div class="inner">
4028 +
4029 + <p>{L_EXPLAIN}</p>
4030 +
4031 + <!-- IF .postrow -->
4032 + <div class="action-bar bar-top">
4033 + <div class="pagination">
4034 + {TOTAL_REPORTS}
4035 + <!-- IF .pagination -->
4036 + <!-- INCLUDE pagination.html -->
4037 + <!-- ELSE -->
4038 + &bull; {PAGE_NUMBER}
4039 + <!-- ENDIF -->
4040 + </div>
4041 + </div>
4042 +
4043 + <ul class="topiclist missing-column">
4044 + <li class="header">
4045 + <dl>
4046 + <dt><div class="list-inner">{L_VIEW_DETAILS}</div></dt>
4047 + <dd class="moderation"><span>{L_REPORTER}<!-- IF not S_PM --> &amp; {L_FORUM}<!-- ENDIF --></span></dd>
4048 + <dd class="mark">{L_MARK}</dd>
4049 + </dl>
4050 + </li>
4051 + </ul>
4052 + <ul class="topiclist cplist missing-column">
4053 +
4054 + <!-- BEGIN postrow -->
4055 + <li class="row<!-- IF postrow.S_ROW_COUNT is odd --> bg1<!-- ELSE --> bg2<!-- ENDIF -->">
4056 + <dl>
4057 + <!-- IF S_PM -->
4058 + <dt>
4059 + <div class="list-inner">
4060 + <a href="{postrow.U_VIEW_DETAILS}" class="topictitle">{postrow.PM_SUBJECT}</a> <i class="icon fa-paperclip fa-fw" aria-hidden="true"></i> <br />
4061 + <span>{L_MESSAGE_BY_AUTHOR} {postrow.PM_AUTHOR_FULL} &raquo; {postrow.PM_TIME}</span><br />
4062 + <span>{L_MESSAGE_TO} {postrow.RECIPIENTS}</span>
4063 + <div class="responsive-show" style="display: none;">
4064 + {L_REPORTER}{L_COLON} {postrow.REPORTER_FULL} &laquo; {postrow.REPORT_TIME}
4065 + </div>
4066 + </div>
4067 + </dt>
4068 + <dd class="moderation">
4069 + <span>{postrow.REPORTER_FULL} &laquo; {postrow.REPORT_TIME}</span>
4070 + </dd>
4071 + <!-- ELSE -->
4072 + <dt>
4073 + <div class="list-inner">
4074 + <a href="{postrow.U_VIEW_DETAILS}" class="topictitle">{postrow.POST_SUBJECT}</a><i class="icon fa-paperclip fa-fw" aria-hidden="true"></i> <br />
4075 + <span>{L_POSTED} {L_POST_BY_AUTHOR} {postrow.POST_AUTHOR_FULL} &raquo; {postrow.POST_TIME}</span>
4076 + <div class="responsive-show" style="display: none;">
4077 + {L_REPORTER}{L_COLON} {postrow.REPORTER_FULL} &laquo; {postrow.REPORT_TIME}<br />
4078 + <!-- IF postrow.U_VIEWFORUM -->{L_FORUM}{L_COLON} <a href="{postrow.U_VIEWFORUM}">{postrow.FORUM_NAME}</a><!-- ELSE -->{postrow.FORUM_NAME}<!-- ENDIF -->
4079 + </div>
4080 + </div>
4081 + </dt>
4082 + <dd class="moderation">
4083 + <span>{postrow.REPORTER_FULL} &laquo; {postrow.REPORT_TIME}<br />
4084 + <!-- IF postrow.U_VIEWFORUM -->{L_FORUM}{L_COLON} <a href="{postrow.U_VIEWFORUM}">{postrow.FORUM_NAME}</a><!-- ELSE -->{postrow.FORUM_NAME}<!-- ENDIF --></span>
4085 + </dd>
4086 + <!-- ENDIF -->
4087 + <dd class="mark"><input type="checkbox" name="report_id_list[]" value="{postrow.REPORT_ID}" /></dd>
4088 + </dl>
4089 + </li>
4090 + <!-- END postrow -->
4091 + </ul>
4092 +
4093 + <div class="action-bar bottom">
4094 + <!-- INCLUDE display_options.html -->
4095 + <!-- IF TOPIC_ID --><label><input type="checkbox" class="radio" name="t" value="{TOPIC_ID}" checked="checked" onClick="document.getElementById('mcp').submit()" /> <strong>{L_ONLY_TOPIC}</strong></label><!-- ENDIF -->
4096 +
4097 + <div class="pagination">
4098 + {TOTAL_REPORTS}
4099 + <!-- IF .pagination -->
4100 + <!-- INCLUDE pagination.html -->
4101 + <!-- ELSE -->
4102 + &bull; {PAGE_NUMBER}
4103 + <!-- ENDIF -->
4104 + </div>
4105 + </div>
4106 +
4107 + <!-- ELSE -->
4108 + <p><strong>{L_NO_REPORTS}</strong></p>
4109 + <!-- ENDIF -->
4110 +
4111 + </div>
4112 +</div>
4113 +
4114 +<!-- IF .postrow -->
4115 + <fieldset class="display-actions">
4116 + <input class="button2" type="submit" value="{L_DELETE_REPORTS}" name="action[delete]" />
4117 + <!-- IF not S_CLOSED -->&nbsp;<input class="button1" type="submit" name="action[close]" value="{L_CLOSE_REPORTS}" /><!-- ENDIF -->
4118 + <div><a href="#" onclick="marklist('mcp', 'report_id_list', true); return false;">{L_MARK_ALL}</a> :: <a href="#" onclick="marklist('mcp', 'report_id_list', false); return false;">{L_UNMARK_ALL}</a></div>
4119 + </fieldset>
4120 +<!-- ENDIF -->
4121 +</form>
4122 +
4123 +<!-- INCLUDE mcp_footer.html -->
4124
4125 diff --git a/template/mcp_topic.html b/template/mcp_topic.html
4126 new file mode 100644
4127 index 000000000..090e24041
4128 --- /dev/null
4129 +++ b/template/mcp_topic.html
4130 @@ -0,0 +1,202 @@
4131 +<!-- INCLUDE mcp_header.html -->
4132 +
4133 +<div class="tabs-container">
4134 +<h2><a href="{U_VIEW_TOPIC}">{L_TOPIC}{L_COLON} {TOPIC_TITLE}</a></h2>
4135 +
4136 +<!-- IF S_MERGE_VIEW -->
4137 + <!-- DEFINE $SHOW_PANEL = 'merge-panel' -->
4138 +<!-- ELSEIF S_SPLIT_VIEW -->
4139 + <!-- DEFINE $SHOW_PANEL = 'split-panel' -->
4140 +<!-- ELSE -->
4141 + <!-- DEFINE $SHOW_PANEL = 'display-panel' -->
4142 +<!-- ENDIF -->
4143 +
4144 +<div id="minitabs" class="minitabs sub-panels" data-show-panel="{$SHOW_PANEL}" role="tablist">
4145 + <ul>
4146 + <li id="display-panel-tab" class="tab<!-- IF not S_MERGE_VIEW --> activetab<!-- ENDIF -->">
4147 + <a href="#minitabs" data-subpanel="display-panel" role="tab" aria-controls="display-panel">{L_DISPLAY_OPTIONS}</a>
4148 + </li>
4149 + <li id="split-panel-tab" class="tab">
4150 + <a href="#minitabs" data-subpanel="split-panel" role="tab" aria-controls="split-panel">{L_SPLIT_TOPIC}</a>
4151 + </li>
4152 + <li id="merge-panel-tab" class="tab<!-- IF S_MERGE_VIEW --> activetab<!-- ENDIF -->">
4153 + <a href="#minitabs" data-subpanel="merge-panel" role="tab" aria-controls="merge-panel">{L_MERGE_POSTS}</a>
4154 + </li>
4155 + </ul>
4156 +</div>
4157 +</div>
4158 +
4159 +<form id="mcp" method="post" action="{S_MCP_ACTION}">
4160 +
4161 +<div class="panel">
4162 + <div class="inner">
4163 +
4164 + <fieldset id="display-panel" class="fields2" role="tabpanel">
4165 + <dl>
4166 + <dt><label for="posts_per_page">{L_POSTS_PER_PAGE}{L_COLON}</label><br /><span>{L_POSTS_PER_PAGE_EXPLAIN}</span></dt>
4167 + <dd><input class="inputbox autowidth" type="number" min="0" max="999999" name="posts_per_page" id="posts_per_page" value="{POSTS_PER_PAGE}" /></dd>
4168 + </dl>
4169 + <dl>
4170 + <dt><label>{L_DISPLAY_POSTS}{L_COLON}</label></dt>
4171 + <dd>{S_SELECT_SORT_DAYS}&nbsp;&nbsp;<label>{L_SORT_BY} {S_SELECT_SORT_KEY}</label><label>{S_SELECT_SORT_DIR}</label> <input type="submit" name="sort" value="{L_GO}" class="button2" /></dd>
4172 + </dl>
4173 + </fieldset>
4174 +
4175 +<!-- IF S_CAN_SPLIT -->
4176 + <fieldset id="split-panel" class="fields2" role="tabpanel">
4177 + <p>{L_SPLIT_TOPIC_EXPLAIN}</p>
4178 +
4179 + <!-- IF S_SHOW_TOPIC_ICONS -->
4180 + <dl>
4181 + <dt><label for="icon">{L_TOPIC_ICON}{L_COLON}</label></dt>
4182 + <dd><label for="icon"><input type="radio" name="icon" id="icon" value="0" checked="checked" /> {L_NO_TOPIC_ICON}</label>
4183 + <!-- BEGIN topic_icon --><label for="icon-{topic_icon.ICON_ID}"><input type="radio" name="icon" id="icon-{topic_icon.ICON_ID}" value="{topic_icon.ICON_ID}" {topic_icon.S_ICON_CHECKED} /><img src="{topic_icon.ICON_IMG}" width="{topic_icon.ICON_WIDTH}" height="{topic_icon.ICON_HEIGHT}" alt="" title="" /></label> <!-- END topic_icon --></dd>
4184 + </dl>
4185 + <!-- ENDIF -->
4186 +
4187 + <!-- EVENT mcp_topic_options_before -->
4188 + <dl>
4189 + <dt><label for="subject">{L_SPLIT_SUBJECT}{L_COLON}</label></dt>
4190 + <dd><input type="text" name="subject" id="subject" size="45" maxlength="124" tabindex="2" value="{SPLIT_SUBJECT}" title="{L_SPLIT_SUBJECT}" class="inputbox" /></dd>
4191 + </dl>
4192 + <!-- EVENT mcp_topic_options_after -->
4193 + <dl>
4194 + <dt><label>{L_SPLIT_FORUM}{L_COLON}</label></dt>
4195 + <dd><select name="to_forum_id">{S_FORUM_SELECT}</select></dd>
4196 + </dl>
4197 + </fieldset>
4198 +<!-- ENDIF -->
4199 +
4200 +<!-- IF S_CAN_MERGE -->
4201 + <fieldset id="merge-panel" class="fields2" role="tabpanel">
4202 + <p>{L_MERGE_TOPIC_EXPLAIN}</p>
4203 + <dl>
4204 + <dt><label for="to_topic_id">{L_MERGE_TOPIC_ID}{L_COLON}</label></dt>
4205 + <dd>
4206 + <input class="inputbox autowidth" type="number" min="0" max="9999999999" name="to_topic_id" id="to_topic_id" value="{TO_TOPIC_ID}" />
4207 + <a href="{U_SELECT_TOPIC}" >{L_SELECT_TOPIC}</a>
4208 + </dd>
4209 + <!-- IF TO_TOPIC_INFO --><dd>{TO_TOPIC_INFO}</dd><!-- ENDIF -->
4210 + </dl>
4211 + </fieldset>
4212 +<!-- ENDIF -->
4213 +
4214 + </div>
4215 +</div>
4216 +
4217 +<div class="panel">
4218 + <div class="inner">
4219 +
4220 + <h3 id="review" class="review">
4221 + <span class="right-box"><a href="#review" onclick="viewableArea(getElementById('topicreview'), true); var rev_text = getElementById('review').getElementsByTagName('a').item(0).firstChild; if (rev_text.data == '{LA_EXPAND_VIEW}'){rev_text.data = '{LA_COLLAPSE_VIEW}'; } else if (rev_text.data == '{LA_COLLAPSE_VIEW}'){rev_text.data = '{LA_EXPAND_VIEW}'};">{L_EXPAND_VIEW}</a></span>
4222 + {L_TOPIC_REVIEW}{L_COLON} <!-- EVENT mcp_topic_topic_title_before -->{TOPIC_TITLE}<!-- EVENT mcp_topic_topic_title_after -->
4223 + </h3>
4224 +
4225 + <div id="topicreview" class="topicreview">
4226 + <!-- BEGIN postrow -->
4227 + <!-- EVENT mcp_topic_postrow_post_before -->
4228 + <div class="post <!-- IF postrow.S_ROW_COUNT is odd -->bg1<!-- ELSE -->bg2<!-- ENDIF -->">
4229 + <div class="inner">
4230 +
4231 + <div class="postbody" id="pr{postrow.POST_ID}">
4232 + <ul class="post-buttons">
4233 + <li>
4234 + <a href="{postrow.U_POST_DETAILS}" title="{L_POST_DETAILS}" class="button button-icon-only">
4235 + <i class="icon fa-info fa-fw" aria-hidden="true"></i><span class="sr-only">{L_POST_DETAILS}</span>
4236 + </a>
4237 + </li>
4238 + <li>
4239 + <label for="post_id_list_select_{postrow.POST_ID}">{L_SELECT}{L_COLON}
4240 + <input type="checkbox" id="post_id_list_select_{postrow.POST_ID}" name="post_id_list[]" value="{postrow.POST_ID}"<!-- IF postrow.S_CHECKED --> checked="checked"<!-- ENDIF --> />
4241 + </label>
4242 + </li>
4243 + </ul>
4244 +
4245 + <!-- EVENT mcp_topic_postrow_post_subject_before -->
4246 + <h3><a href="{postrow.U_POST_DETAILS}">{postrow.POST_SUBJECT}</a></h3>
4247 + <!-- EVENT mcp_topic_postrow_post_subject_after -->
4248 +
4249 + <!-- EVENT mcp_topic_postrow_post_details_before -->
4250 + <p class="author">
4251 + <a href="#pr{postrow.POST_ID}" title="{postrow.MINI_POST}">
4252 + <i class="icon fa-file fa-fw icon-lightgray icon-tiny" aria-hidden="true"></i><span class="sr-only">{postrow.MINI_POST}</span>
4253 + </a> {L_POSTED} {postrow.POST_DATE} {L_POST_BY_AUTHOR} {% EVENT mcp_topic_post_author_full_prepend %}<strong>{postrow.POST_AUTHOR_FULL}</strong>{% EVENT mcp_topic_post_author_full_append %}<!-- IF postrow.U_MCP_DETAILS --> [ <a href="{postrow.U_MCP_DETAILS}">{L_POST_DETAILS}</a> ]<!-- ENDIF -->
4254 + </p>
4255 + <!-- EVENT mcp_topic_postrow_post_details_after -->
4256 +
4257 + <!-- IF postrow.S_POST_UNAPPROVED -->
4258 + <p class="post-notice unapproved">
4259 + <a href="{postrow.U_MCP_APPROVE}"><i class="icon fa-exclamation fa-fw icon-red" aria-hidden="true"></i><strong>{L_POST_UNAPPROVED}</strong></a>
4260 + </p>
4261 + <!-- ENDIF -->
4262 +
4263 + <!-- IF postrow.S_POST_DELETED -->
4264 + <p class="post-notice deleted">
4265 + <a href="{postrow.U_MCP_APPROVE}"><strong>{L_POST_DELETED}</strong></a>
4266 + </p>
4267 + <!-- ENDIF -->
4268 +
4269 + <!-- IF postrow.S_POST_REPORTED -->
4270 + <p class="post-notice reported">
4271 + <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>
4272 + </p>
4273 + <!-- ENDIF -->
4274 +
4275 + <div class="content" id="message_{postrow.POST_ID}">{postrow.MESSAGE}</div>
4276 +
4277 + <!-- EVENT mcp_topic_postrow_attachments_before -->
4278 +
4279 + <!-- IF postrow.S_HAS_ATTACHMENTS -->
4280 + <dl class="attachbox">
4281 + <dt>{L_ATTACHMENTS}</dt>
4282 + <!-- BEGIN attachment -->
4283 + <dd>{postrow.attachment.DISPLAY_ATTACHMENT}</dd>
4284 + <!-- END attachment -->
4285 + </dl>
4286 + <!-- ENDIF -->
4287 +
4288 + <!-- EVENT mcp_topic_postrow_attachments_after -->
4289 +
4290 + </div>
4291 +
4292 + </div>
4293 + </div>
4294 + <!-- END postrow -->
4295 + </div>
4296 +
4297 + <hr />
4298 +
4299 + <div class="action-bar bar-bottom">
4300 + <div class="pagination">
4301 + {TOTAL_POSTS}
4302 + <!-- IF .pagination -->
4303 + <!-- INCLUDE pagination.html -->
4304 + <!-- ELSE -->
4305 + &bull; {PAGE_NUMBER}
4306 + <!-- ENDIF -->
4307 + </div>
4308 + </div>
4309 +
4310 + </div>
4311 +</div>
4312 +
4313 +<fieldset class="display-actions">
4314 + <select name="action">
4315 + <option value="" selected="selected">{L_SELECT_ACTION}</option>
4316 + <!-- IF S_CAN_APPROVE --><option value="approve">{L_APPROVE_POSTS}</option><!-- ENDIF -->
4317 + <!-- IF S_CAN_LOCK --><option value="lock_post">{L_LOCK_POST_POSTS} [ {L_LOCK_POST_EXPLAIN} ]</option><option value="unlock_post">{L_UNLOCK_POST_POSTS}</option><!-- ENDIF -->
4318 + <!-- IF S_CAN_DELETE --><option value="delete_post">{L_DELETE_POSTS}</option><!-- ENDIF -->
4319 + <!-- IF S_CAN_RESTORE --><option value="restore">{L_RESTORE_POSTS}</option><!-- ENDIF -->
4320 + <!-- IF S_CAN_MERGE --><option value="merge_posts"<!-- IF S_MERGE_VIEW --> selected="selected"<!-- ENDIF -->>{L_MERGE_POSTS}</option><!-- ENDIF -->
4321 + <!-- IF S_CAN_SPLIT --><option value="split_all"<!-- IF S_SPLIT_VIEW --> selected="selected"<!-- ENDIF -->>{L_SPLIT_POSTS}</option><option value="split_beyond">{L_SPLIT_AFTER}</option><!-- ENDIF -->
4322 + <!-- IF S_CAN_SYNC --><option value="resync">{L_RESYNC}</option><!-- ENDIF -->
4323 + </select>&nbsp;
4324 + <input class="button1" type="submit" name="mcp_topic_submit" value="{L_SUBMIT}" />
4325 + <div><a href="#" onclick="marklist('mcp', 'post', true); return false;">{L_MARK_ALL}</a> :: <a href="#" onclick="marklist('mcp', 'post', false); return false;">{L_UNMARK_ALL}</a></div>
4326 +{S_HIDDEN_FIELDS}
4327 +{S_FORM_TOKEN}
4328 +</fieldset>
4329 +
4330 +</form>
4331 +
4332 +<!-- INCLUDE mcp_footer.html -->
4333
4334 diff --git a/template/mcp_warn_front.html b/template/mcp_warn_front.html
4335 new file mode 100644
4336 index 000000000..9b188b52a
4337 --- /dev/null
4338 +++ b/template/mcp_warn_front.html
4339 @@ -0,0 +1,97 @@
4340 +<!-- INCLUDE mcp_header.html -->
4341 +
4342 +<form method="post" id="mcp" action="{U_POST_ACTION}">
4343 +
4344 +<h2>{L_WARN_USER}</h2>
4345 +
4346 +<div class="panel">
4347 + <div class="inner">
4348 +
4349 + <h3>{L_SELECT_USER}</h3>
4350 +
4351 + <fieldset>
4352 + <dl>
4353 + <dt><label for="username">{L_SELECT_USER}{L_COLON}</label></dt>
4354 + <dd><input name="username" id="username" type="text" class="inputbox" /></dd>
4355 + <dd><strong><a href="{U_FIND_USERNAME}" onclick="find_username(this.href); return false;">{L_FIND_USERNAME}</a></strong></dd>
4356 + </dl>
4357 + </fieldset>
4358 +
4359 + </div>
4360 +</div>
4361 +
4362 +<fieldset class="submit-buttons">
4363 + <input type="reset" value="{L_RESET}" name="reset" class="button2" />&nbsp;
4364 + <input type="submit" name="submituser" value="{L_SUBMIT}" class="button1" />
4365 + {S_FORM_TOKEN}
4366 +</fieldset>
4367 +</form>
4368 +
4369 +<div class="panel">
4370 + <div class="inner">
4371 +
4372 + <h3>{L_MOST_WARNINGS}</h3>
4373 +
4374 + <!-- IF .highest -->
4375 + <table class="table1">
4376 + <thead>
4377 + <tr>
4378 + <th class="name">{L_USERNAME}</th>
4379 + <th class="name">{L_WARNINGS}</th>
4380 + <th class="name">{L_LATEST_WARNING_TIME}</th>
4381 + <th></th>
4382 + </tr>
4383 + </thead>
4384 + <tbody>
4385 +
4386 + <!-- BEGIN highest -->
4387 + <tr class="<!-- IF highest.S_ROW_COUNT is even -->bg1<!-- ELSE -->bg2<!-- ENDIF -->">
4388 + <td>{highest.USERNAME_FULL}</td>
4389 + <td>{highest.WARNINGS}</td>
4390 + <td>{highest.WARNING_TIME}</td>
4391 + <td><a href="{highest.U_NOTES}">{L_VIEW_NOTES}</a></td>
4392 + </tr>
4393 + <!-- END highest -->
4394 + </tbody>
4395 + </table>
4396 + <!-- ELSE -->
4397 + <p><strong>{L_NO_WARNINGS}</strong></p>
4398 + <!-- ENDIF -->
4399 +
4400 + </div>
4401 +</div>
4402 +
4403 +<div class="panel">
4404 + <div class="inner">
4405 +
4406 + <h3>{L_LATEST_WARNINGS}</h3>
4407 +
4408 + <!-- IF .latest -->
4409 + <table class="table1">
4410 + <thead>
4411 + <tr>
4412 + <th class="name">{L_USERNAME}</th>
4413 + <th class="name">{L_TIME}</th>
4414 + <th class="name">{L_TOTAL_WARNINGS}</th>
4415 + <th></th>
4416 + </tr>
4417 + </thead>
4418 + <tbody>
4419 + <!-- BEGIN latest -->
4420 + <tr class="<!-- IF latest.S_ROW_COUNT is even -->bg1<!-- ELSE -->bg2<!-- ENDIF -->">
4421 + <td>{latest.USERNAME_FULL}</td>
4422 + <td>{latest.WARNING_TIME}</td>
4423 + <td>{latest.WARNINGS}</td>
4424 + <td><a href="{latest.U_NOTES}">{L_VIEW_NOTES}</a></td>
4425 + </tr>
4426 + <!-- END latest -->
4427 + </tbody>
4428 + </table>
4429 + <!-- ELSE -->
4430 + <p><strong>{L_NO_WARNINGS}</strong></p>
4431 + <!-- ENDIF -->
4432 +
4433 + </div>
4434 +</div>
4435 +
4436 +<!-- INCLUDE mcp_footer.html -->
4437
4438 diff --git a/template/mcp_warn_list.html b/template/mcp_warn_list.html
4439 new file mode 100644
4440 index 000000000..29a2d29e8
4441 --- /dev/null
4442 +++ b/template/mcp_warn_list.html
4443 @@ -0,0 +1,70 @@
4444 +<!-- INCLUDE mcp_header.html -->
4445 +
4446 +<form method="post" id="mcp" action="{U_POST_ACTION}">
4447 +
4448 +<h2>{L_WARNED_USERS}</h2>
4449 +
4450 +<div class="panel">
4451 + <div class="inner">
4452 +
4453 + <p>{L_WARNED_USERS_EXPLAIN}</p>
4454 +
4455 + <!-- IF .user -->
4456 + <div class="action-bar bar-top">
4457 + <div class="pagination">
4458 + {TOTAL_USERS}
4459 + <!-- IF .pagination -->
4460 + <!-- INCLUDE pagination.html -->
4461 + <!-- ELSE -->
4462 + &bull; {PAGE_NUMBER}
4463 + <!-- ENDIF -->
4464 + </div>
4465 + </div>
4466 +
4467 + <table class="table1">
4468 + <thead>
4469 + <tr>
4470 + <th class="name">{L_USERNAME}</th>
4471 + <th class="name">{L_WARNINGS}</th>
4472 + <th class="name">{L_LATEST_WARNING_TIME}</th>
4473 + <th></th>
4474 + </tr>
4475 + </thead>
4476 + <tbody>
4477 +
4478 + <!-- BEGIN user -->
4479 + <tr class="<!-- IF user.S_ROW_COUNT is even -->bg1<!-- ELSE -->bg2<!-- ENDIF -->">
4480 + <td>{user.USERNAME_FULL}</td>
4481 + <td>{user.WARNINGS}</td>
4482 + <td>{user.WARNING_TIME}</td>
4483 + <td><a href="{user.U_NOTES}">{L_VIEW_NOTES}</a></td>
4484 + </tr>
4485 + <!-- END user -->
4486 + </tbody>
4487 + </table>
4488 +
4489 + <div class="action-bar bottom">
4490 + <!-- INCLUDE display_options.html -->
4491 +
4492 + <div class="pagination">
4493 + {TOTAL_USERS}
4494 + <!-- IF .pagination -->
4495 + <!-- INCLUDE pagination.html -->
4496 + <!-- ELSE -->
4497 + &bull; {PAGE_NUMBER}
4498 + <!-- ENDIF -->
4499 + </div>
4500 + </div>
4501 +
4502 + <!-- ELSE -->
4503 + <p><strong>{L_NO_WARNINGS}</strong></p>
4504 + <!-- ENDIF -->
4505 +
4506 + </div>
4507 +
4508 +{S_FORM_TOKEN}
4509 +</div>
4510 +
4511 +</form>
4512 +
4513 +<!-- INCLUDE mcp_footer.html -->
4514
4515 diff --git a/template/mcp_warn_post.html b/template/mcp_warn_post.html
4516 new file mode 100644
4517 index 000000000..5e3948065
4518 --- /dev/null
4519 +++ b/template/mcp_warn_post.html
4520 @@ -0,0 +1,78 @@
4521 +<!-- INCLUDE mcp_header.html -->
4522 +
4523 +<form method="post" id="mcp" action="{U_POST_ACTION}">
4524 +
4525 +<h2>{L_MCP_WARN_POST}</h2>
4526 +
4527 +<div class="panel">
4528 + <div class="inner">
4529 +
4530 + <h3><!-- IF USER_COLOR --><span style="color: #{USER_COLOR}">{USERNAME}</span><!-- ELSE -->{USERNAME}<!-- ENDIF --></h3>
4531 +
4532 + <div>
4533 + <div class="column1">
4534 + <!-- IF AVATAR_IMG --><div>{AVATAR_IMG}</div><!-- ENDIF -->
4535 + </div>
4536 +
4537 + <div class="column2">
4538 + <dl class="details">
4539 + <!-- IF RANK_TITLE --><dt>{L_RANK}{L_COLON}</dt><dd>{RANK_TITLE}</dd><!-- ENDIF -->
4540 + <!-- IF RANK_IMG --><dt><!-- IF RANK_TITLE -->&nbsp;<!-- ELSE -->{L_RANK}{L_COLON}<!-- ENDIF --></dt><dd>{RANK_IMG}</dd><!-- ENDIF -->
4541 + <dt>{L_JOINED}{L_COLON}</dt><dd>{JOINED}</dd>
4542 + <dt>{L_TOTAL_POSTS}{L_COLON}</dt><dd>{POSTS}</dd>
4543 + <dt>{L_WARNINGS}{L_COLON} </dt><dd>{WARNINGS}</dd>
4544 + </dl>
4545 + </div>
4546 + </div>
4547 +
4548 + </div>
4549 +</div>
4550 +
4551 +<div class="panel">
4552 + <div class="inner">
4553 +
4554 + <h3>{L_POST_DETAILS}</h3>
4555 +
4556 + <div class="postbody">
4557 +
4558 + <div class="content">
4559 + {POST}
4560 + </div>
4561 +
4562 + </div>
4563 +
4564 + </div>
4565 +</div>
4566 +
4567 +<!-- EVENT mcp_warn_post_add_warning_field_before -->
4568 +
4569 +<div class="panel">
4570 + <div class="inner">
4571 +
4572 + <h3>{L_ADD_WARNING}</h3>
4573 + <p>{L_ADD_WARNING_EXPLAIN}</p>
4574 +
4575 + <fieldset>
4576 + <textarea name="warning" id="warning" class="inputbox" cols="40" rows="3">{L_WARNING_POST_DEFAULT}</textarea>
4577 + <!-- IF S_CAN_NOTIFY -->
4578 + <br /><br />
4579 + <dl class="panel">
4580 + <dt>&nbsp;</dt>
4581 + <dd><label><input type="checkbox" name="notify_user" checked="checked" /> {L_NOTIFY_USER_WARN}</label></dd>
4582 + </dl>
4583 + <!-- ENDIF -->
4584 + </fieldset>
4585 +
4586 + </div>
4587 +</div>
4588 +
4589 +<!-- EVENT mcp_warn_post_add_warning_field_after -->
4590 +
4591 +<fieldset class="submit-buttons">
4592 + <input type="reset" value="{L_RESET}" name="reset" class="button2" />&nbsp;
4593 + <input type="submit" name="action[add_warning]" value="{L_SUBMIT}" class="button1" />
4594 + {S_FORM_TOKEN}
4595 +</fieldset>
4596 +</form>
4597 +
4598 +<!-- INCLUDE mcp_footer.html -->
4599
4600 diff --git a/template/mcp_warn_user.html b/template/mcp_warn_user.html
4601 new file mode 100644
4602 index 000000000..f4dbf2819
4603 --- /dev/null
4604 +++ b/template/mcp_warn_user.html
4605 @@ -0,0 +1,62 @@
4606 +<!-- INCLUDE mcp_header.html -->
4607 +
4608 +<form method="post" id="mcp" action="{U_POST_ACTION}">
4609 +
4610 +<h2>{L_WARN_USER}</h2>
4611 +
4612 +<div class="panel">
4613 + <div class="inner">
4614 +
4615 + <h3>{USERNAME_FULL}</h3>
4616 +
4617 + <div>
4618 + <div class="column1">
4619 + <!-- IF AVATAR_IMG --><div>{AVATAR_IMG}</div><!-- ENDIF -->
4620 + </div>
4621 +
4622 + <div class="column2">
4623 + <dl class="details">
4624 + <!-- IF RANK_TITLE --><dt>{L_RANK}{L_COLON}</dt><dd>{RANK_TITLE}</dd><!-- ENDIF -->
4625 + <!-- IF RANK_IMG --><dt><!-- IF RANK_TITLE -->&nbsp;<!-- ELSE -->{L_RANK}{L_COLON}<!-- ENDIF --></dt><dd>{RANK_IMG}</dd><!-- ENDIF -->
4626 + <dt>{L_JOINED}{L_COLON}</dt><dd>{JOINED}</dd>
4627 + <dt>{L_TOTAL_POSTS}{L_COLON}</dt><dd>{POSTS}</dd>
4628 + <dt>{L_WARNINGS}{L_COLON} </dt><dd>{WARNINGS}</dd>
4629 + </dl>
4630 + </div>
4631 + </div>
4632 +
4633 + </div>
4634 +</div>
4635 +
4636 +<!-- EVENT mcp_warn_user_add_warning_field_before -->
4637 +
4638 +<div class="panel">
4639 + <div class="inner">
4640 +
4641 + <h3>{L_ADD_WARNING}</h3>
4642 + <p>{L_ADD_WARNING_EXPLAIN}</p>
4643 +
4644 + <fieldset>
4645 + <textarea name="warning" id="warning" class="inputbox" cols="40" rows="3"></textarea>
4646 + <!-- IF S_CAN_NOTIFY -->
4647 + <br /><br />
4648 + <dl class="panel">
4649 + <dt>&nbsp;</dt>
4650 + <dd><label><input type="checkbox" name="notify_user" checked="checked" /> {L_NOTIFY_USER_WARN}</label></dd>
4651 + </dl>
4652 + <!-- ENDIF -->
4653 + </fieldset>
4654 +
4655 + </div>
4656 +</div>
4657 +
4658 +<!-- EVENT mcp_warn_user_add_warning_field_after -->
4659 +
4660 +<fieldset class="submit-buttons">
4661 + <input type="reset" value="{L_RESET}" name="reset" class="button2" />&nbsp;
4662 + <input type="submit" name="action[add_warning]" value="{L_SUBMIT}" class="button1" />
4663 + {S_FORM_TOKEN}
4664 +</fieldset>
4665 +</form>
4666 +
4667 +<!-- INCLUDE mcp_footer.html -->
4668
4669 diff --git a/template/mcp_whois.html b/template/mcp_whois.html
4670 new file mode 100644
4671 index 000000000..1d08a4627
4672 --- /dev/null
4673 +++ b/template/mcp_whois.html
4674 @@ -0,0 +1,22 @@
4675 +<!-- INCLUDE mcp_header.html -->
4676 +<h2>{L_WHOIS}</h2>
4677 +
4678 +<div class="panel">
4679 + <div class="inner">
4680 + <p>
4681 + <a href="{U_RETURN_POST}" class="arrow-{S_CONTENT_FLOW_BEGIN}" accesskey="r">
4682 + <i class="icon fa-angle-{S_CONTENT_FLOW_BEGIN} fa-fw icon-black" aria-hidden="true"></i><span>{L_RETURN_POST}</span>
4683 + </a>
4684 + </p>
4685 + <div class="postbody"><div class="content">
4686 + <pre>{WHOIS}</pre>
4687 + </div></div>
4688 + <p>
4689 + <a href="{U_RETURN_POST}" class="arrow-{S_CONTENT_FLOW_BEGIN}" accesskey="r">
4690 + <i class="icon fa-angle-{S_CONTENT_FLOW_BEGIN} fa-fw icon-black" aria-hidden="true"></i><span>{L_RETURN_POST}</span>
4691 + </a>
4692 + </p>
4693 + </div>
4694 +</div>
4695 +
4696 +<!-- INCLUDE mcp_footer.html -->
4697
4698 diff --git a/template/memberlist_body.html b/template/memberlist_body.html
4699 new file mode 100644
4700 index 000000000..5f03ad99c
4701 --- /dev/null
4702 +++ b/template/memberlist_body.html
4703 @@ -0,0 +1,179 @@
4704 +<!-- IF S_IN_SEARCH_POPUP -->
4705 + <!-- INCLUDE simple_header.html -->
4706 + <!-- INCLUDE memberlist_search.html -->
4707 + <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}">
4708 +
4709 +<!-- ELSE -->
4710 + <!-- INCLUDE overall_header.html -->
4711 + <div class="panel" id="memberlist_search"<!-- IF not S_SEARCH_USER --> style="display: none;"<!-- ENDIF -->>
4712 + <!-- INCLUDE memberlist_search.html -->
4713 + </div>
4714 + <form method="post" action="{S_MODE_ACTION}">
4715 +
4716 +<!-- ENDIF -->
4717 +
4718 +{% EVENT memberlist_body_page_header_after %}
4719 +
4720 + <!-- IF S_SHOW_GROUP -->
4721 + {% EVENT memberlist_body_group_name_before %}
4722 + <h2 class="group-title"<!-- IF GROUP_COLOR --> style="color:#{GROUP_COLOR};"<!-- ENDIF -->>{GROUP_NAME}</h2>
4723 + {% EVENT memberlist_body_group_name_after %}
4724 + <!-- IF U_MANAGE -->
4725 + <p class="right responsive-center manage rightside"><a href="{U_MANAGE}">{L_MANAGE_GROUP}</a></p>
4726 + <!-- ENDIF -->
4727 + <p>{GROUP_DESC} {GROUP_TYPE}</p>
4728 +
4729 + {% EVENT memberlist_body_group_desc_after %}
4730 +
4731 + <p>
4732 + <!-- IF AVATAR_IMG -->{AVATAR_IMG}<!-- ENDIF -->
4733 + {% EVENT memberlist_body_group_rank_before %}
4734 + <!-- IF RANK_IMG -->{RANK_IMG}<!-- ENDIF -->
4735 + <!-- IF GROUP_RANK -->{GROUP_RANK}<!-- ENDIF -->
4736 + {% EVENT memberlist_body_group_rank_after %}
4737 + </p>
4738 + <!-- ELSE -->
4739 + {% EVENT memberlist_body_page_title_before %}
4740 + <h2 class="solo">{PAGE_TITLE}<!-- IF SEARCH_WORDS -->{L_COLON} <a href="{U_SEARCH_WORDS}">{SEARCH_WORDS}</a><!-- ENDIF --></h2>
4741 +
4742 + <div class="action-bar bar-top">
4743 + <div class="member-search panel">
4744 + <!-- 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 -->
4745 + <strong>
4746 + <!-- BEGIN first_char -->
4747 + <a href="{first_char.U_SORT}">{first_char.DESC}</a>&nbsp;
4748 + <!-- END first_char -->
4749 + </strong>
4750 + </div>
4751 +
4752 + <div class="pagination">
4753 + {TOTAL_USERS}
4754 + <!-- IF .pagination -->
4755 + <!-- INCLUDE pagination.html -->
4756 + <!-- ELSE -->
4757 + &bull; {PAGE_NUMBER}
4758 + <!-- ENDIF -->
4759 + </div>
4760 + </div>
4761 + <!-- ENDIF -->
4762 +
4763 + <!-- IF S_LEADERS_SET or not S_SHOW_GROUP or not .memberrow -->
4764 + <div class="forumbg forumbg-table">
4765 + <div class="inner">
4766 +
4767 + <table class="table1 memberlist" id="memberlist">
4768 + <thead>
4769 + <tr>
4770 + <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>
4771 + <th class="posts"><a href="{U_SORT_POSTS}#memberlist">{L_POSTS}</a></th>
4772 + <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>
4773 + <th class="joined"><a href="{U_SORT_JOINED}#memberlist">{L_JOINED}</a></th>
4774 + <!-- IF U_SORT_ACTIVE --><th class="active"><a href="{U_SORT_ACTIVE}#memberlist">{L_LAST_ACTIVE}</a></th><!-- ENDIF -->
4775 + {% EVENT memberlist_body_memberlist_after %}
4776 + </tr>
4777 + </thead>
4778 + <tbody>
4779 + <!-- ENDIF -->
4780 + <!-- BEGIN memberrow -->
4781 + <!-- IF S_SHOW_GROUP -->
4782 + <!-- IF not memberrow.S_GROUP_LEADER and not $S_MEMBER_HEADER -->
4783 + <!-- IF S_LEADERS_SET and memberrow.S_FIRST_ROW -->
4784 + <tr class="bg1">
4785 + <td colspan="<!-- IF U_SORT_ACTIVE -->5<!-- ELSE -->4<!-- ENDIF -->">&nbsp;</td>
4786 + </tr>
4787 + <!-- ENDIF -->
4788 +<!-- IF S_LEADERS_SET -->
4789 + </tbody>
4790 + </table>
4791 +
4792 + </div>
4793 +</div>
4794 +<!-- ENDIF -->
4795 +<div class="forumbg forumbg-table">
4796 + <div class="inner">
4797 +
4798 + <table class="table1">
4799 + <thead>
4800 + <tr>
4801 + <!-- IF not S_LEADERS_SET -->
4802 + <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>
4803 + <th class="posts"><a href="{U_SORT_POSTS}#memberlist">{L_POSTS}</a></th>
4804 + <th class="info">{% for field in custom_fields %}{% if not loop.first %}{L_COMMA_SEPARATOR} {% endif %}{{ field.PROFILE_FIELD_NAME }}{% endfor %}</th>
4805 + <th class="joined"><a href="{U_SORT_JOINED}#memberlist">{L_JOINED}</a></th>
4806 + <!-- IF U_SORT_ACTIVE --><th class="active"><a href="{U_SORT_ACTIVE}#memberlist">{L_LAST_ACTIVE}</a></th><!-- ENDIF -->
4807 + {% EVENT memberlist_body_leaders_set_after %}
4808 + <!-- ELSEIF S_SHOW_GROUP -->
4809 + <th class="name">{L_GROUP_MEMBERS}</th>
4810 + <th class="posts">{L_POSTS}</th>
4811 + <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>
4812 + <th class="joined">{L_JOINED}</th>
4813 + <!-- IF U_SORT_ACTIVE --><th class="active">{L_LAST_ACTIVE}</th><!-- ENDIF -->
4814 + {% EVENT memberlist_body_show_group_after %}
4815 + <!-- ENDIF -->
4816 + </tr>
4817 + </thead>
4818 + <tbody>
4819 + <!-- DEFINE $S_MEMBER_HEADER = 1 -->
4820 + <!-- ENDIF -->
4821 + <!-- ENDIF -->
4822 +
4823 + <tr class="<!-- IF memberrow.S_ROW_COUNT is even -->bg1<!-- ELSE -->bg2<!-- ENDIF --><!-- IF memberrow.S_INACTIVE --> inactive<!-- ENDIF -->">
4824 + <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>
4825 + <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>
4826 + <td class="info"><!-- BEGIN custom_fields --><div>{memberrow.custom_fields.PROFILE_FIELD_VALUE}</div><!-- BEGINELSE -->&nbsp;<!-- END custom_fields --></td>
4827 + <td>{memberrow.JOINED}</td>
4828 + <!-- IF S_VIEWONLINE --><td>{memberrow.LAST_ACTIVE}&nbsp;</td><!-- ENDIF -->
4829 + {% EVENT memberlist_body_memberrow_after %}
4830 + </tr>
4831 + <!-- BEGINELSE -->
4832 + <tr class="bg1">
4833 + <td colspan="<!-- IF S_VIEWONLINE -->5<!-- ELSE -->4<!-- ENDIF -->">{L_NO_MEMBERS}</td>
4834 + </tr>
4835 + <!-- END memberrow -->
4836 + </tbody>
4837 + </table>
4838 +
4839 + </div>
4840 +</div>
4841 +
4842 +<!-- IF S_IN_SEARCH_POPUP and not S_SELECT_SINGLE -->
4843 +<fieldset class="display-actions">
4844 + <input type="submit" name="submit" value="{L_SELECT_MARKED}" class="button2" />
4845 + <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>
4846 +</fieldset>
4847 +<!-- ENDIF -->
4848 +
4849 +<!-- IF S_IN_SEARCH_POPUP -->
4850 +</form>
4851 +<form method="post" id="sort-results" action="{S_MODE_ACTION}">
4852 +<!-- ENDIF -->
4853 +
4854 +<!-- IF S_IN_SEARCH_POPUP and not S_SEARCH_USER -->
4855 +<fieldset class="display-options">
4856 + <label for="sk">{L_SELECT_SORT_METHOD}{L_COLON} <select name="sk" id="sk">{S_MODE_SELECT}</select></label>
4857 + <label for="sd">{L_ORDER} <select name="sd" id="sd">{S_ORDER_SELECT}</select></label>
4858 + <input type="submit" name="sort" value="{L_SUBMIT}" class="button2" />
4859 +</fieldset>
4860 +<!-- ENDIF -->
4861 +
4862 +</form>
4863 +
4864 +<div class="action-bar bar-bottom">
4865 + <div class="pagination">
4866 + {TOTAL_USERS}
4867 + <!-- IF .pagination -->
4868 + <!-- INCLUDE pagination.html -->
4869 + <!-- ELSE -->
4870 + &bull; {PAGE_NUMBER}
4871 + <!-- ENDIF -->
4872 + </div>
4873 +</div>
4874 +
4875 +{% EVENT memberlist_body_page_footer_before %}
4876 +
4877 +<!-- IF S_IN_SEARCH_POPUP -->
4878 + <!-- INCLUDE simple_footer.html -->
4879 +<!-- ELSE -->
4880 + <!-- INCLUDE jumpbox.html -->
4881 + <!-- INCLUDE overall_footer.html -->
4882 +<!-- ENDIF -->
4883
4884 diff --git a/template/memberlist_email.html b/template/memberlist_email.html
4885 new file mode 100644
4886 index 000000000..eea699da0
4887 --- /dev/null
4888 +++ b/template/memberlist_email.html
4889 @@ -0,0 +1,107 @@
4890 +<!-- INCLUDE overall_header.html -->
4891 +
4892 +<!-- EVENT memberlist_email_before -->
4893 +
4894 +<!-- IF S_CONTACT_ADMIN-->
4895 +<h2 class="titlespace">{L_CONTACT_ADMIN}</h2>
4896 +<!-- ELSEIF S_SEND_USER -->
4897 +<h2 class="titlespace">{L_SEND_EMAIL_USER}</h2>
4898 +<!-- ELSE -->
4899 +<h2 class="titlespace">{L_EMAIL_TOPIC}</h2>
4900 +<!-- ENDIF -->
4901 +
4902 +<form method="post" action="{S_POST_ACTION}" id="post">
4903 +
4904 + <!-- IF CONTACT_INFO -->
4905 + <div class="panel">
4906 + <div class="inner">
4907 + <div class="postbody">
4908 + <div class="content">
4909 + {CONTACT_INFO}
4910 + </div>
4911 + </div>
4912 + </div>
4913 + </div>
4914 + <br class="clear" />
4915 + <!-- ENDIF -->
4916 +
4917 + <div class="panel">
4918 + <div class="inner">
4919 + <div class="content">
4920 +
4921 + <!-- IF ERROR_MESSAGE --><p class="error">{ERROR_MESSAGE}</p><!-- ENDIF -->
4922 + <fieldset class="fields2">
4923 + <!-- IF S_SEND_USER -->
4924 + <dl>
4925 + <dt><label>{L_RECIPIENT}{L_COLON}</label></dt>
4926 + <dd><strong>{USERNAME_FULL}</strong></dd>
4927 + </dl>
4928 + <dl>
4929 + <dt><label for="subject">{L_SUBJECT}{L_COLON}</label></dt>
4930 + <dd><input class="inputbox autowidth" type="text" name="subject" id="subject" size="50" tabindex="1" value="{SUBJECT}" /></dd>
4931 + </dl>
4932 + <!-- ELSEIF S_CONTACT_ADMIN-->
4933 + <dl>
4934 + <dt><label>{L_RECIPIENT}{L_COLON}</label></dt>
4935 + <dd><strong>{L_ADMINISTRATOR}</strong></dd>
4936 + </dl>
4937 + <!-- IF not S_IS_REGISTERED -->
4938 + <dl>
4939 + <dt><label for="email">{L_SENDER_EMAIL_ADDRESS}{L_COLON}</label></dt>
4940 + <dd><input class="inputbox autowidth" type="text" name="email" id="email" size="50" maxlength="100" tabindex="1" value="{EMAIL}" /></dd>
4941 + </dl>
4942 + <dl>
4943 + <dt><label for="name">{L_SENDER_NAME}{L_COLON}</label></dt>
4944 + <dd><input class="inputbox autowidth" type="text" name="name" id="name" size="50" tabindex="2" value="{NAME}" /></dd>
4945 + </dl>
4946 + <!-- ENDIF -->
4947 + <dl>
4948 + <dt><label for="subject">{L_SUBJECT}{L_COLON}</label></dt>
4949 + <dd><input class="inputbox autowidth" type="text" name="subject" id="subject" size="50" tabindex="3" value="{SUBJECT}" /></dd>
4950 + </dl>
4951 + <!-- ELSE -->
4952 + <dl>
4953 + <dt><label for="email">{L_EMAIL_ADDRESS}{L_COLON}</label></dt>
4954 + <dd><input class="inputbox autowidth" type="email" name="email" id="email" size="50" maxlength="100" tabindex="2" value="{EMAIL}" /></dd>
4955 + </dl>
4956 + <dl>
4957 + <dt><label for="name">{L_REAL_NAME}{L_COLON}</label></dt>
4958 + <dd><input class="inputbox autowidth" type="text" name="name" id="name" size="50" tabindex="3" value="{NAME}" /></dd>
4959 + </dl>
4960 + <dl>
4961 + <dt><label for="lang">{L_DEST_LANG}{L_COLON}</label><br />
4962 + <span>{L_DEST_LANG_EXPLAIN}</span></dt>
4963 + <dd><select name="lang">{S_LANG_OPTIONS}</select></dd>
4964 + </dl>
4965 + <!-- ENDIF -->
4966 + <dl>
4967 + <dt><label for="message">{L_MESSAGE_BODY}{L_COLON}</label><br />
4968 + <span>{L_EMAIL_BODY_EXPLAIN}</span></dt>
4969 + <dd><textarea class="inputbox" name="message" id="message" rows="15" cols="76" tabindex="4">{MESSAGE}</textarea></dd>
4970 + </dl>
4971 + <!-- IF S_REGISTERED_USER -->
4972 + <dl>
4973 + <dt>&nbsp;</dt>
4974 + <dd><label for="cc_sender"><input type="checkbox" name="cc_sender" id="cc_sender" value="1" checked="checked" tabindex="5" /> {L_CC_SENDER}</label></dd>
4975 + </dl>
4976 + <!-- ENDIF -->
4977 + </fieldset>
4978 + </div>
4979 +
4980 + </div>
4981 +</div>
4982 +
4983 +<div class="panel">
4984 + <div class="inner">
4985 + <div class="content">
4986 + <fieldset class="submit-buttons">
4987 + <input type="submit" tabindex="6" name="submit" class="button1" value="{L_SEND_EMAIL}" />
4988 + </fieldset>
4989 + </div>
4990 + </div>
4991 +{S_FORM_TOKEN}
4992 +</div>
4993 +
4994 +</form>
4995 +
4996 +<!-- INCLUDE overall_footer.html -->
4997
4998 diff --git a/template/memberlist_im.html b/template/memberlist_im.html
4999 new file mode 100644
5000 index 000000000..874607d91
5001 --- /dev/null
5002 +++ b/template/memberlist_im.html
5003 @@ -0,0 +1,46 @@
5004 +<!-- INCLUDE simple_header.html -->
5005 +
5006 +<h2>{L_SEND_IM}</h2>
5007 +
5008 +<form method="post" action="{S_IM_ACTION}">
5009 +
5010 +<div class="panel bg2">
5011 + <div class="inner">
5012 +
5013 + <p>{L_SEND_IM_EXPLAIN}</p>
5014 +
5015 + <!-- IF S_SENT_JABBER -->
5016 + <p>{L_IM_SENT_JABBER}</p>
5017 + <!-- ENDIF -->
5018 +
5019 + <fieldset>
5020 + <dl class="fields2">
5021 + <dt><label>{L_IM_RECIPIENT}{L_COLON}</label></dt>
5022 + <dd><strong>{USERNAME}</strong><!-- IF S_NO_SEND_JABBER --> [ {IM_CONTACT} ]<!-- ENDIF --><!-- IF PRESENCE_IMG --> {PRESENCE_IMG}<!-- ENDIF --></dd>
5023 + </dl>
5024 +
5025 + <!-- IF S_SEND_JABBER -->
5026 + <dl class="fields2">
5027 + <dt><label for="message">{L_IM_MESSAGE}{L_COLON}</label></dt>
5028 + <dd><textarea class="inputbox autowidth" name="message" id="message" rows="5" cols="45"></textarea></dd>
5029 + </dl>
5030 + <dl class="fields2">
5031 + <dt>&nbsp;</dt>
5032 + <dd><input class="button1" name="submit" type="submit" value="{L_IM_SEND}" /></dd>
5033 + </dl>
5034 + <!-- ELSE IF S_NO_SEND_JABBER -->
5035 + <dl class="fields2">
5036 + <dt>&nbsp;</dt>
5037 + <dd>{L_IM_NO_JABBER}</dd>
5038 + </dl>
5039 + <!-- ENDIF -->
5040 + {S_FORM_TOKEN}
5041 + </fieldset>
5042 +
5043 + </div>
5044 +</div>
5045 +</form>
5046 +
5047 +<a href="#" onclick="window.close(); return false;">{L_CLOSE_WINDOW}</a>
5048 +
5049 +<!-- INCLUDE simple_footer.html -->
5050
5051 diff --git a/template/memberlist_search.html b/template/memberlist_search.html
5052 new file mode 100644
5053 index 000000000..b1c7a8170
5054 --- /dev/null
5055 +++ b/template/memberlist_search.html
5056 @@ -0,0 +1,87 @@
5057 +<h2 class="solo">{L_FIND_USERNAME}</h2>
5058 +
5059 +<form method="post" action="{S_MODE_ACTION}" id="search_memberlist">
5060 +<div class="panel">
5061 + <div class="inner">
5062 +
5063 + <p>{L_FIND_USERNAME_EXPLAIN}</p>
5064 +
5065 + <!-- EVENT memberlist_search_fields_before -->
5066 + <fieldset class="fields1 column1">
5067 + <dl style="overflow: visible;">
5068 + <dt><label for="username">{L_USERNAME}{L_COLON}</label></dt>
5069 + <dd>
5070 + <!-- IF U_LIVE_SEARCH --><div class="dropdown-container dropdown-{S_CONTENT_FLOW_END}"><!-- ENDIF -->
5071 + <input type="text" name="username" id="username" value="{USERNAME}" class="inputbox"<!-- IF U_LIVE_SEARCH --> autocomplete="off" data-filter="phpbb.search.filter" data-ajax="member_search" data-min-length="3" data-url="{U_LIVE_SEARCH}" data-results="#user-search" data-overlay="false"<!-- ENDIF --> />
5072 + <!-- IF U_LIVE_SEARCH -->
5073 + <div class="dropdown live-search hidden" id="user-search">
5074 + <div class="pointer"><div class="pointer-inner"></div></div>
5075 + <ul class="dropdown-contents search-results">
5076 + <li class="search-result-tpl"><span class="search-result"></span></li>
5077 + </ul>
5078 + </div>
5079 + </div>
5080 + <!-- ENDIF -->
5081 + </dd>
5082 + </dl>
5083 +<!-- IF S_EMAIL_SEARCH_ALLOWED -->
5084 + <dl>
5085 + <dt><label for="email">{L_EMAIL}{L_COLON}</label></dt>
5086 + <dd><input type="text" name="email" id="email" value="{EMAIL}" class="inputbox" /></dd>
5087 + </dl>
5088 +<!-- ENDIF -->
5089 +<!-- IF S_JABBER_ENABLED -->
5090 + <dl>
5091 + <dt><label for="jabber">{L_JABBER}{L_COLON}</label></dt>
5092 + <dd><input type="text" name="jabber" id="jabber" value="{JABBER}" class="inputbox" /></dd>
5093 + </dl>
5094 +<!-- ENDIF -->
5095 + <dl>
5096 + <dt><label for="search_group_id">{L_GROUP}{L_COLON}</label></dt>
5097 + <dd><select name="search_group_id" id="search_group_id">{S_GROUP_SELECT}</select></dd>
5098 + </dl>
5099 + <!-- EVENT memberlist_search_sorting_options_before -->
5100 + <dl>
5101 + <dt><label for="sk" class="label3">{L_SORT_BY}{L_COLON}</label></dt>
5102 + <dd><select name="sk" id="sk">{S_SORT_OPTIONS}</select> <select name="sd">{S_ORDER_SELECT}</select></dd>
5103 + </dl>
5104 + </fieldset>
5105 +
5106 + <fieldset class="fields1 column2">
5107 + <dl>
5108 + <dt><label for="joined">{L_JOINED}{L_COLON}</label></dt>
5109 + <dd><select name="joined_select">{S_JOINED_TIME_OPTIONS}</select> <input class="inputbox medium" type="text" name="joined" id="joined" value="{JOINED}" /></dd>
5110 + </dl>
5111 +<!-- IF S_VIEWONLINE -->
5112 + <dl>
5113 + <dt><label for="active">{L_LAST_ACTIVE}{L_COLON}</label></dt>
5114 + <dd><select name="active_select">{S_ACTIVE_TIME_OPTIONS}</select> <input class="inputbox medium" type="text" name="active" id="active" value="{ACTIVE}" /></dd>
5115 + </dl>
5116 +<!-- ENDIF -->
5117 + <dl>
5118 + <dt><label for="count">{L_POSTS}{L_COLON}</label></dt>
5119 + <dd><select name="count_select">{S_COUNT_OPTIONS}</select> <input class="inputbox medium" type="number" min="0" name="count" id="count" value="{COUNT}" /></dd>
5120 + </dl>
5121 +<!-- IF S_IP_SEARCH_ALLOWED -->
5122 + <dl>
5123 + <dt><label for="ip">{L_POST_IP}{L_COLON}</label></dt>
5124 + <dd><input class="inputbox medium" type="text" name="ip" id="ip" value="{IP}" /></dd>
5125 + </dl>
5126 +<!-- ENDIF -->
5127 + <!-- EVENT memberlist_search_fields_after -->
5128 + </fieldset>
5129 +
5130 + <div class="clear"></div>
5131 +
5132 + <hr />
5133 +
5134 + <fieldset class="submit-buttons">
5135 + <input type="reset" value="{L_RESET}" name="reset" class="button2" />&nbsp;
5136 + <input type="submit" name="submit" value="{L_SEARCH}" class="button1" />
5137 + {S_FORM_TOKEN}
5138 + </fieldset>
5139 +
5140 + </div>
5141 +</div>
5142 +
5143 +</form>
5144
5145 diff --git a/template/memberlist_team.html b/template/memberlist_team.html
5146 new file mode 100644
5147 index 000000000..59041fbac
5148 --- /dev/null
5149 +++ b/template/memberlist_team.html
5150 @@ -0,0 +1,47 @@
5151 +<!-- INCLUDE overall_header.html -->
5152 +
5153 +<h2 class="solo">{PAGE_TITLE}</h2>
5154 +
5155 +<form method="post" action="{S_MODE_ACTION}">
5156 +
5157 +<!-- BEGIN group -->
5158 +<div class="forumbg forumbg-table">
5159 + <div class="inner">
5160 +
5161 + <table class="table1" id="team">
5162 + <thead>
5163 + <tr>
5164 + <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>
5165 + <th class="info">{L_PRIMARY_GROUP}</th>
5166 + <!-- IF S_DISPLAY_MODERATOR_FORUMS --><th class="info">{L_MODERATOR}</th><!-- ENDIF -->
5167 + </tr>
5168 + </thead>
5169 + <tbody>
5170 +<!-- BEGIN user -->
5171 + <tr class="<!-- IF group.user.S_ROW_COUNT is even -->bg1<!-- ELSE -->bg2<!-- ENDIF --><!-- IF group.user.S_INACTIVE --> inactive<!-- ENDIF -->">
5172 + <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>
5173 + <td class="info"><!-- IF group.user.U_GROUP -->
5174 + <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>
5175 + <!-- ELSE -->
5176 + {group.user.GROUP_NAME}
5177 + <!-- ENDIF --></td>
5178 + <!-- IF S_DISPLAY_MODERATOR_FORUMS -->
5179 + <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>
5180 + <!-- ENDIF -->
5181 + </tr>
5182 +<!-- BEGINELSE -->
5183 + <tr class="bg1">
5184 + <td colspan="3"><strong>{L_NO_MEMBERS}</strong></td>
5185 + </tr>
5186 +<!-- END user -->
5187 + </tbody>
5188 + </table>
5189 +
5190 + </div>
5191 +</div>
5192 +<!-- END group -->
5193 +
5194 +</form>
5195 +
5196 +<!-- INCLUDE jumpbox.html -->
5197 +<!-- INCLUDE overall_footer.html -->
5198
5199 diff --git a/template/memberlist_view.html b/template/memberlist_view.html
5200 new file mode 100644
5201 index 000000000..debf64cba
5202 --- /dev/null
5203 +++ b/template/memberlist_view.html
5204 @@ -0,0 +1,142 @@
5205 +<!-- INCLUDE overall_header.html -->
5206 +
5207 +<h2 class="memberlist-title">{PAGE_TITLE}</h2>
5208 +
5209 +<!-- EVENT memberlist_view_content_prepend -->
5210 +
5211 +<form method="post" action="{S_PROFILE_ACTION}" id="viewprofile">
5212 +<div class="panel bg1<!-- IF S_ONLINE --> online<!-- ENDIF -->">
5213 + <div class="inner">
5214 +
5215 + <!-- IF AVATAR_IMG -->
5216 + <dl class="left-box">
5217 + <dt class="profile-avatar">{AVATAR_IMG}</dt>
5218 + <!-- EVENT memberlist_view_rank_avatar_before -->
5219 + <!-- IF RANK_TITLE --><dd style="text-align: center;">{RANK_TITLE}</dd><!-- ENDIF -->
5220 + <!-- IF RANK_IMG --><dd style="text-align: center;">{RANK_IMG}</dd><!-- ENDIF -->
5221 + <!-- EVENT memberlist_view_rank_avatar_after -->
5222 + </dl>
5223 + <!-- ENDIF -->
5224 +
5225 + <dl class="left-box details profile-details">
5226 + <dt>{L_USERNAME}{L_COLON}</dt>
5227 + <dd>
5228 + <!-- 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 -->
5229 + <!-- IF U_EDIT_SELF --> [ <a href="{U_EDIT_SELF}">{L_EDIT_PROFILE}</a> ]<!-- ENDIF -->
5230 + <!-- IF U_USER_ADMIN --> [ <a href="{U_USER_ADMIN}">{L_USER_ADMIN}</a> ]<!-- ENDIF -->
5231 + <!-- IF U_USER_BAN --> [ <a href="{U_USER_BAN}">{L_USER_BAN}</a> ]<!-- ENDIF -->
5232 + <!-- IF U_SWITCH_PERMISSIONS --> [ <a href="{U_SWITCH_PERMISSIONS}">{L_USE_PERMISSIONS}</a> ]<!-- ENDIF -->
5233 + </dd>
5234 + <!-- IF not AVATAR_IMG -->
5235 + <!-- EVENT memberlist_view_rank_no_avatar_before -->
5236 + <!-- IF RANK_TITLE --><dt>{L_RANK}{L_COLON}</dt> <dd>{RANK_TITLE}</dd><!-- ENDIF -->
5237 + <!-- IF RANK_IMG --><dt><!-- IF RANK_TITLE -->&nbsp;<!-- ELSE -->{L_RANK}{L_COLON}<!-- ENDIF --></dt> <dd>{RANK_IMG}</dd><!-- ENDIF -->
5238 + <!-- EVENT memberlist_view_rank_no_avatar_after -->
5239 + <!-- ENDIF -->
5240 + <!-- IF S_USER_INACTIVE --><dt>{L_USER_IS_INACTIVE}{L_COLON}</dt> <dd>{USER_INACTIVE_REASON}</dd><!-- ENDIF -->
5241 + <!-- IF AGE !== '' --><dt>{L_AGE}{L_COLON}</dt> <dd>{AGE}</dd><!-- ENDIF -->
5242 + <!-- 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 -->
5243 + <!-- EVENT memberlist_view_non_contact_custom_fields_before -->
5244 + <!-- BEGIN custom_fields -->
5245 + <!-- IF not custom_fields.S_PROFILE_CONTACT -->
5246 + <dt>{custom_fields.PROFILE_FIELD_NAME}{L_COLON}</dt> <dd>{custom_fields.PROFILE_FIELD_VALUE}</dd>
5247 + <!-- ENDIF -->
5248 + <!-- END custom_fields -->
5249 + <!-- EVENT memberlist_view_non_contact_custom_fields_after -->
5250 + <!-- EVENT memberlist_view_zebra_before -->
5251 + <!-- IF S_USER_LOGGED_IN and S_ZEBRA -->
5252 + <!-- IF U_REMOVE_FRIEND -->
5253 + <dt>&nbsp;</dt> <dd class="zebra"><a href="{U_REMOVE_FRIEND}" data-ajax="zebra"><strong>{L_REMOVE_FRIEND}</strong></a></dd>
5254 + <!-- ELSEIF U_REMOVE_FOE -->
5255 + <dt>&nbsp;</dt> <dd class="zebra"><a href="{U_REMOVE_FOE}" data-ajax="zebra"><strong>{L_REMOVE_FOE}</strong></a></dd>
5256 + <!-- ELSE -->
5257 + <!-- IF U_ADD_FRIEND -->
5258 + <dt>&nbsp;</dt> <dd class="zebra"><a href="{U_ADD_FRIEND}" data-ajax="zebra"><strong>{L_ADD_FRIEND}</strong></a></dd>
5259 + <!-- ENDIF -->
5260 + <!-- IF U_ADD_FOE -->
5261 + <dt>&nbsp;</dt> <dd class="zebra"><a href="{U_ADD_FOE}" data-ajax="zebra"><strong>{L_ADD_FOE}</strong></a></dd>
5262 + <!-- ENDIF -->
5263 + <!-- ENDIF -->
5264 + <!-- ENDIF -->
5265 + <!-- EVENT memberlist_view_zebra_after -->
5266 + </dl>
5267 +
5268 + </div>
5269 +</div>
5270 +
5271 +<!-- EVENT memberlist_view_contact_before -->
5272 +<div class="panel bg2">
5273 + <div class="inner">
5274 +
5275 + <div class="column1">
5276 + <h3>{L_CONTACT_USER}</h3>
5277 +
5278 + <dl class="details">
5279 + <!-- IF U_EMAIL --><dt>{L_EMAIL_ADDRESS}{L_COLON}</dt> <dd><a href="{U_EMAIL}">{L_SEND_EMAIL_USER}</a></dd><!-- ENDIF -->
5280 + <!-- IF U_PM --><dt>{L_PM}{L_COLON}</dt> <dd><a href="{U_PM}">{L_SEND_PRIVATE_MESSAGE}</a></dd><!-- ENDIF -->
5281 + <!-- 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 -->
5282 + <!-- EVENT memberlist_view_contact_custom_fields_before -->
5283 + <!-- BEGIN custom_fields -->
5284 + <!-- IF custom_fields.S_PROFILE_CONTACT -->
5285 + <dt>{custom_fields.PROFILE_FIELD_NAME}{L_COLON}</dt>
5286 + <!-- IF custom_fields.PROFILE_FIELD_CONTACT -->
5287 + <dd><a href="{custom_fields.PROFILE_FIELD_CONTACT}">{custom_fields.PROFILE_FIELD_DESC}</a></dd>
5288 + <!-- ELSE -->
5289 + <dd>{custom_fields.PROFILE_FIELD_VALUE}</dd>
5290 + <!-- ENDIF -->
5291 + <!-- ENDIF -->
5292 + <!-- END custom_fields -->
5293 + <!-- EVENT memberlist_view_contact_custom_fields_after -->
5294 + <!-- IF S_PROFILE_FIELD1 -->
5295 + <!-- NOTE: Use a construct like this to include admin defined profile fields. Replace FIELD1 with the name of your field. -->
5296 + <dt>{PROFILE_FIELD1_NAME}{L_COLON}</dt> <dd>{PROFILE_FIELD1_VALUE}</dd>
5297 + <!-- ENDIF -->
5298 + </dl>
5299 + </div>
5300 +
5301 + <div class="column2">
5302 + <h3>{L_USER_FORUM}</h3>
5303 + <dl class="details">
5304 + <!-- EVENT memberlist_view_user_statistics_before -->
5305 + <dt>{L_JOINED}{L_COLON}</dt> <dd>{JOINED}</dd>
5306 + <dt>{L_LAST_ACTIVE}{L_COLON}</dt> <dd>{LAST_ACTIVE}</dd>
5307 + <!-- IF S_WARNINGS -->
5308 + <dt>{L_WARNINGS}{L_COLON} </dt>
5309 + <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>
5310 + <!-- ENDIF -->
5311 + <dt>{L_TOTAL_POSTS}{L_COLON}</dt>
5312 + <dd>{POSTS} <!-- IF S_DISPLAY_SEARCH -->| <strong><a href="{U_SEARCH_USER}">{L_SEARCH_USER_POSTS}</a></strong><!-- ENDIF -->
5313 + <!-- IF POSTS_PCT --><br />({POSTS_PCT} / {POSTS_DAY})<!-- ENDIF -->
5314 + <!-- 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 -->
5315 + </dd>
5316 + <!-- IF S_SHOW_ACTIVITY and POSTS -->
5317 + <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>
5318 + <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>
5319 + <!-- ENDIF -->
5320 + <!-- EVENT memberlist_view_user_statistics_after -->
5321 + </dl>
5322 + </div>
5323 +
5324 + </div>
5325 +</div>
5326 +<!-- EVENT memberlist_view_contact_after -->
5327 +
5328 +<!-- IF SIGNATURE -->
5329 +<div class="panel bg1">
5330 + <div class="inner">
5331 +
5332 + <h3>{L_SIGNATURE}</h3>
5333 +
5334 + <div class="postbody"><div class="signature standalone">{SIGNATURE}</div></div>
5335 +
5336 + </div>
5337 +</div>
5338 +<!-- ENDIF -->
5339 +
5340 +</form>
5341 +
5342 +<!-- EVENT memberlist_view_content_append -->
5343 +
5344 +<!-- INCLUDE jumpbox.html -->
5345 +
5346 +<!-- INCLUDE overall_footer.html -->
5347
5348 diff --git a/template/message_body.html b/template/message_body.html
5349 new file mode 100644
5350 index 000000000..330203e19
5351 --- /dev/null
5352 +++ b/template/message_body.html
5353 @@ -0,0 +1,25 @@
5354 +<!-- IF S_SIMPLE_MESSAGE -->
5355 + <!-- INCLUDE simple_header.html -->
5356 +<!-- ELSE -->
5357 + <!-- INCLUDE overall_header.html -->
5358 +<!-- ENDIF -->
5359 +
5360 +<div class="panel" id="message">
5361 + <div class="inner">
5362 + <h2 class="message-title">{MESSAGE_TITLE}</h2>
5363 + <p>{MESSAGE_TEXT}</p>
5364 + <!-- IF SCRIPT_NAME == "search" and not S_BOARD_DISABLED and not S_NO_SEARCH and L_RETURN_TO_SEARCH_ADV -->
5365 + <p>
5366 + <a href="{U_SEARCH}" class="arrow-{S_CONTENT_FLOW_BEGIN}" accesskey="r">
5367 + <i class="icon fa-angle-{S_CONTENT_FLOW_BEGIN} fa-fw icon-black" aria-hidden="true"></i><span>{L_GO_TO_SEARCH_ADV}</span>
5368 + </a>
5369 + </p>
5370 + <!-- ENDIF -->
5371 + </div>
5372 +</div>
5373 +
5374 +<!-- IF S_SIMPLE_MESSAGE -->
5375 + <!-- INCLUDE simple_footer.html -->
5376 +<!-- ELSE -->
5377 + <!-- INCLUDE overall_footer.html -->
5378 +<!-- ENDIF -->
5379
5380 diff --git a/template/navbar_footer.html b/template/navbar_footer.html
5381 new file mode 100644
5382 index 000000000..4e3d1e295
5383 --- /dev/null
5384 +++ b/template/navbar_footer.html
5385 @@ -0,0 +1,69 @@
5386 +<div class="navbar" role="navigation">
5387 + <div class="inner">
5388 +
5389 + <ul id="nav-footer" class="nav-footer linklist" role="menubar">
5390 + <li class="breadcrumbs">
5391 + <!-- IF U_SITE_HOME -->
5392 + {% spaceless %}
5393 + <span class="crumb">
5394 + <a href="{U_SITE_HOME}" data-navbar-reference="home">
5395 + <i class="icon fa-home fa-fw" aria-hidden="true"></i><span>{L_SITE_HOME}</span>
5396 + </a>
5397 + </span>
5398 + {% endspaceless %}
5399 + <!-- ENDIF -->
5400 + <!-- EVENT overall_footer_breadcrumb_prepend -->
5401 + {% spaceless %}
5402 + <span class="crumb">
5403 + <a href="{U_INDEX}" data-navbar-reference="index">
5404 + <!-- IF not U_SITE_HOME --><i class="icon fa-home fa-fw" aria-hidden="true"></i><!-- ENDIF --><span>{L_INDEX}</span>
5405 + </a>
5406 + </span>
5407 + {% endspaceless %}
5408 + <!-- EVENT overall_footer_breadcrumb_append -->
5409 + </li>
5410 + <!-- IF U_WATCH_FORUM_LINK and not S_IS_BOT -->
5411 + <li data-last-responsive="true">
5412 + <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}">
5413 + <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>
5414 + </a>
5415 + </li>
5416 + <!-- ENDIF -->
5417 +
5418 + <!-- EVENT overall_footer_timezone_before -->
5419 + <li class="rightside">{S_TIMEZONE}</li>
5420 + <!-- EVENT overall_footer_timezone_after -->
5421 + <!-- IF not S_IS_BOT -->
5422 + <li class="rightside">
5423 + <a href="{U_DELETE_COOKIES}" data-ajax="true" data-refresh="true" role="menuitem">
5424 + <i class="icon fa-trash fa-fw" aria-hidden="true"></i><span>{L_DELETE_COOKIES}</span>
5425 + </a>
5426 + </li>
5427 + <!-- IF S_DISPLAY_MEMBERLIST -->
5428 + <li class="rightside" data-last-responsive="true">
5429 + <a href="{U_MEMBERLIST}" title="{L_MEMBERLIST_EXPLAIN}" role="menuitem">
5430 + <i class="icon fa-group fa-fw" aria-hidden="true"></i><span>{L_MEMBERLIST}</span>
5431 + </a>
5432 + </li>
5433 + <!-- ENDIF -->
5434 + <!-- ENDIF -->
5435 + <!-- EVENT overall_footer_teamlink_before -->
5436 + <!-- IF U_TEAM -->
5437 + <li class="rightside" data-last-responsive="true">
5438 + <a href="{U_TEAM}" role="menuitem">
5439 + <i class="icon fa-shield fa-fw" aria-hidden="true"></i><span>{L_THE_TEAM}</span>
5440 + </a>
5441 + </li>
5442 + <!-- ENDIF -->
5443 + <!-- EVENT overall_footer_teamlink_after -->
5444 + <!-- IF U_CONTACT_US -->
5445 + <li class="rightside" data-last-responsive="true">
5446 + <a href="{U_CONTACT_US}" role="menuitem">
5447 + <i class="icon fa-envelope fa-fw" aria-hidden="true"></i><span>{L_CONTACT_US}</span>
5448 + </a>
5449 + </li>
5450 + <!-- ENDIF -->
5451 + </ul>
5452 +
5453 + </div>
5454 +</div>
5455
5456 diff --git a/template/navbar_header.html b/template/navbar_header.html
5457 new file mode 100644
5458 index 000000000..dc2928592
5459 --- /dev/null
5460 +++ b/template/navbar_header.html
5461 @@ -0,0 +1,210 @@
5462 +<div class="navbar" role="navigation">
5463 + <div class="inner">
5464 +
5465 + <ul id="nav-main" class="nav-main linklist" role="menubar">
5466 +
5467 + <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">
5468 + <a href="#" class="dropdown-trigger">
5469 + <i class="icon fa-bars fa-fw" aria-hidden="true"></i><span>{L_QUICK_LINKS}</span>
5470 + </a>
5471 + <div class="dropdown">
5472 + <div class="pointer"><div class="pointer-inner"></div></div>
5473 + <ul class="dropdown-contents" role="menu">
5474 + <!-- EVENT navbar_header_quick_links_before -->
5475 +
5476 + <!-- IF S_DISPLAY_SEARCH -->
5477 + <li class="separator"></li>
5478 + <!-- IF S_REGISTERED_USER -->
5479 + <li>
5480 + <a href="{U_SEARCH_SELF}" role="menuitem">
5481 + <i class="icon fa-file-o fa-fw icon-gray" aria-hidden="true"></i><span>{L_SEARCH_SELF}</span>
5482 + </a>
5483 + </li>
5484 + <!-- ENDIF -->
5485 + <!-- IF S_USER_LOGGED_IN -->
5486 + <li>
5487 + <a href="{U_SEARCH_NEW}" role="menuitem">
5488 + <i class="icon fa-file-o fa-fw icon-red" aria-hidden="true"></i><span>{L_SEARCH_NEW}</span>
5489 + </a>
5490 + </li>
5491 + <!-- ENDIF -->
5492 + <!-- IF S_LOAD_UNREADS -->
5493 + <li>
5494 + <a href="{U_SEARCH_UNREAD}" role="menuitem">
5495 + <i class="icon fa-file-o fa-fw icon-red" aria-hidden="true"></i><span>{L_SEARCH_UNREAD}</span>
5496 + </a>
5497 + </li>
5498 + <!-- ENDIF -->
5499 + <li>
5500 + <a href="{U_SEARCH_UNANSWERED}" role="menuitem">
5501 + <i class="icon fa-file-o fa-fw icon-gray" aria-hidden="true"></i><span>{L_SEARCH_UNANSWERED}</span>
5502 + </a>
5503 + </li>
5504 + <li>
5505 + <a href="{U_SEARCH_ACTIVE_TOPICS}" role="menuitem">
5506 + <i class="icon fa-file-o fa-fw icon-blue" aria-hidden="true"></i><span>{L_SEARCH_ACTIVE_TOPICS}</span>
5507 + </a>
5508 + </li>
5509 + <li class="separator"></li>
5510 + <li>
5511 + <a href="{U_SEARCH}" role="menuitem">
5512 + <i class="icon fa-search fa-fw" aria-hidden="true"></i><span>{L_SEARCH}</span>
5513 + </a>
5514 + </li>
5515 + <!-- ENDIF -->
5516 +
5517 + <!-- IF not S_IS_BOT and (S_DISPLAY_MEMBERLIST or U_TEAM) -->
5518 + <li class="separator"></li>
5519 + <!-- IF S_DISPLAY_MEMBERLIST -->
5520 + <li>
5521 + <a href="{U_MEMBERLIST}" role="menuitem">
5522 + <i class="icon fa-group fa-fw" aria-hidden="true"></i><span>{L_MEMBERLIST}</span>
5523 + </a>
5524 + </li>
5525 + <!-- ENDIF -->
5526 + <!-- IF U_TEAM -->
5527 + <li>
5528 + <a href="{U_TEAM}" role="menuitem">
5529 + <i class="icon fa-shield fa-fw" aria-hidden="true"></i><span>{L_THE_TEAM}</span>
5530 + </a>
5531 + </li>
5532 + <!-- ENDIF -->
5533 + <!-- ENDIF -->
5534 + <li class="separator"></li>
5535 +
5536 + <!-- EVENT navbar_header_quick_links_after -->
5537 + </ul>
5538 + </div>
5539 + </li>
5540 +
5541 + <!-- EVENT overall_header_navigation_prepend -->
5542 + <li <!-- IF not S_USER_LOGGED_IN -->data-skip-responsive="true"<!-- ELSE -->data-last-responsive="true"<!-- ENDIF -->>
5543 + <a href="{U_FAQ}" rel="help" title="{L_FAQ_EXPLAIN}" role="menuitem">
5544 + <i class="icon fa-question-circle fa-fw" aria-hidden="true"></i><span>{L_FAQ}</span>
5545 + </a>
5546 + </li>
5547 + <!-- EVENT overall_header_navigation_append -->
5548 + <!-- IF U_ACP -->
5549 + <li data-last-responsive="true">
5550 + <a href="{U_ACP}" title="{L_ACP}" role="menuitem">
5551 + <i class="icon fa-cogs fa-fw" aria-hidden="true"></i><span>{L_ACP_SHORT}</span>
5552 + </a>
5553 + </li>
5554 + <!-- ENDIF -->
5555 + <!-- IF U_MCP -->
5556 + <li data-last-responsive="true">
5557 + <a href="{U_MCP}" title="{L_MCP}" role="menuitem">
5558 + <i class="icon fa-gavel fa-fw" aria-hidden="true"></i><span>{L_MCP_SHORT}</span>
5559 + </a>
5560 + </li>
5561 + <!-- ENDIF -->
5562 +
5563 + <!-- IF S_REGISTERED_USER -->
5564 + <!-- EVENT navbar_header_user_profile_prepend -->
5565 + <li id="username_logged_in" class="rightside <!-- IF CURRENT_USER_AVATAR --> no-bulletin<!-- ENDIF -->" data-skip-responsive="true">
5566 + <!-- EVENT navbar_header_username_prepend -->
5567 + <div class="header-profile dropdown-container">
5568 + <a href="{U_PROFILE}" class="header-avatar dropdown-trigger"><!-- IF CURRENT_USER_AVATAR -->{CURRENT_USER_AVATAR} <!-- ENDIF --> {CURRENT_USERNAME_SIMPLE}</a>
5569 + <div class="dropdown">
5570 + <div class="pointer"><div class="pointer-inner"></div></div>
5571 + <ul class="dropdown-contents" role="menu">
5572 + <!-- IF U_RESTORE_PERMISSIONS -->
5573 + <li>
5574 + <a href="{U_RESTORE_PERMISSIONS}">
5575 + <i class="icon fa-refresh fa-fw" aria-hidden="true"></i><span>{L_RESTORE_PERMISSIONS}</span>
5576 + </a>
5577 + </li>
5578 + <!-- ENDIF -->
5579 +
5580 + <!-- EVENT navbar_header_profile_list_before -->
5581 +
5582 + <li>
5583 + <a href="{U_PROFILE}" title="{L_PROFILE}" role="menuitem">
5584 + <i class="icon fa-sliders fa-fw" aria-hidden="true"></i><span>{L_PROFILE}</span>
5585 + </a>
5586 + </li>
5587 + <!-- IF U_USER_PROFILE -->
5588 + <li>
5589 + <a href="{U_USER_PROFILE}" title="{L_READ_PROFILE}" role="menuitem">
5590 + <i class="icon fa-user fa-fw" aria-hidden="true"></i><span>{L_READ_PROFILE}</span>
5591 + </a>
5592 + </li>
5593 + <!-- ENDIF -->
5594 +
5595 + <!-- EVENT navbar_header_profile_list_after -->
5596 +
5597 + <li class="separator"></li>
5598 + <li>
5599 + <a href="{U_LOGIN_LOGOUT}" title="{L_LOGIN_LOGOUT}" accesskey="x" role="menuitem">
5600 + <i class="icon fa-power-off fa-fw" aria-hidden="true"></i><span>{L_LOGIN_LOGOUT}</span>
5601 + </a>
5602 + </li>
5603 + </ul>
5604 + </div>
5605 + </div>
5606 + <!-- EVENT navbar_header_username_append -->
5607 + </li>
5608 + <!-- IF S_DISPLAY_PM -->
5609 + <li class="rightside" data-skip-responsive="true">
5610 + <a href="{U_PRIVATEMSGS}" role="menuitem">
5611 + <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>
5612 + </a>
5613 + </li>
5614 + <!-- ENDIF -->
5615 + <!-- IF S_NOTIFICATIONS_DISPLAY -->
5616 + <li class="dropdown-container dropdown-{S_CONTENT_FLOW_END} rightside" data-skip-responsive="true">
5617 + <a href="{U_VIEW_ALL_NOTIFICATIONS}" id="notification_list_button" class="dropdown-trigger">
5618 + <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>
5619 + </a>
5620 + <!-- INCLUDE notification_dropdown.html -->
5621 + </li>
5622 + <!-- ENDIF -->
5623 + <!-- EVENT navbar_header_user_profile_append -->
5624 + <!-- ELSE -->
5625 + <li class="rightside" data-skip-responsive="true">
5626 + <a href="{U_LOGIN_LOGOUT}" title="{L_LOGIN_LOGOUT}" accesskey="x" role="menuitem">
5627 + <i class="icon fa-power-off fa-fw" aria-hidden="true"></i><span>{L_LOGIN_LOGOUT}</span>
5628 + </a>
5629 + </li>
5630 + <!-- IF S_REGISTER_ENABLED and not (S_SHOW_COPPA or S_REGISTRATION) -->
5631 + <li class="rightside" data-skip-responsive="true">
5632 + <a href="{U_REGISTER}" role="menuitem">
5633 + <i class="icon fa-pencil-square-o fa-fw" aria-hidden="true"></i><span>{L_REGISTER}</span>
5634 + </a>
5635 + </li>
5636 + <!-- ENDIF -->
5637 + <!-- EVENT navbar_header_logged_out_content -->
5638 + <!-- ENDIF -->
5639 + </ul>
5640 +
5641 + <ul id="nav-breadcrumbs" class="nav-breadcrumbs linklist navlinks" role="menubar">
5642 + <!-- DEFINE $MICRODATA = ' itemtype="http://schema.org/ListItem" itemprop="itemListElement" itemscope' -->
5643 + {% set navlink_position = 1 %}
5644 + <!-- EVENT overall_header_breadcrumbs_before -->
5645 + <li class="breadcrumbs" itemscope itemtype="http://schema.org/BreadcrumbList">
5646 + <!-- IF U_SITE_HOME -->
5647 + <span class="crumb" {$MICRODATA}><a href="{U_SITE_HOME}" itemtype="https://schema.org/Thing" itemprop="item" data-navbar-reference="home"><i class="icon fa-home fa-fw" aria-hidden="true"></i><span itemprop="name">{L_SITE_HOME}</span></a><meta itemprop="position" content="{{ navlink_position }}{% set navlink_position = navlink_position + 1 %}" /></span>
5648 + <!-- ENDIF -->
5649 + <!-- EVENT overall_header_breadcrumb_prepend -->
5650 + <span class="crumb" {$MICRODATA}><a href="{U_INDEX}" itemtype="https://schema.org/Thing" itemprop="item" accesskey="h" data-navbar-reference="index"><!-- IF not U_SITE_HOME --><i class="icon fa-home fa-fw"></i><!-- ENDIF --><span itemprop="name">{L_INDEX}</span></a><meta itemprop="position" content="{{ navlink_position }}{% set navlink_position = navlink_position + 1 %}" /></span>
5651 +
5652 + <!-- BEGIN navlinks -->
5653 + <!-- EVENT overall_header_navlink_prepend -->
5654 + <span class="crumb" {$MICRODATA}<!-- IF navlinks.MICRODATA --> {navlinks.MICRODATA}<!-- ENDIF -->><a href="{navlinks.U_VIEW_FORUM}" itemtype="https://schema.org/Thing" itemprop="item"><span itemprop="name">{navlinks.FORUM_NAME}</span></a><meta itemprop="position" content="{{ navlink_position }}{% set navlink_position = navlink_position + 1 %}" /></span>
5655 + <!-- EVENT overall_header_navlink_append -->
5656 + <!-- END navlinks -->
5657 + <!-- EVENT overall_header_breadcrumb_append -->
5658 + </li>
5659 + <!-- EVENT overall_header_breadcrumbs_after -->
5660 +
5661 + <!-- IF S_DISPLAY_SEARCH and not S_IN_SEARCH -->
5662 + <li class="rightside responsive-search">
5663 + <a href="{U_SEARCH}" title="{L_SEARCH_ADV_EXPLAIN}" role="menuitem">
5664 + <i class="icon fa-search fa-fw" aria-hidden="true"></i><span class="sr-only">{L_SEARCH}</span>
5665 + </a>
5666 + </li>
5667 + <!-- ENDIF -->
5668 + </ul>
5669 +
5670 + </div>
5671 +</div>
5672
5673 diff --git a/template/notification_dropdown.html b/template/notification_dropdown.html
5674 new file mode 100644
5675 index 000000000..e444d8fb9
5676 --- /dev/null
5677 +++ b/template/notification_dropdown.html
5678 @@ -0,0 +1,47 @@
5679 +<div id="notification_list" class="dropdown dropdown-extended notification_list">
5680 + <div class="pointer"><div class="pointer-inner"></div></div>
5681 + <div class="dropdown-contents">
5682 + <div class="header">
5683 + {L_NOTIFICATIONS}
5684 + <span class="header_settings">
5685 + <a href="{U_NOTIFICATION_SETTINGS}">{L_SETTINGS}</a>
5686 + <!-- IF NOTIFICATIONS_COUNT -->
5687 + <span id="mark_all_notifications"> &bull; <a href="{U_MARK_ALL_NOTIFICATIONS}" data-ajax="notification.mark_all_read">{L_MARK_ALL_READ}</a></span>
5688 + <!-- ENDIF -->
5689 + </span>
5690 + </div>
5691 +
5692 + <ul>
5693 + <!-- IF not .notifications -->
5694 + <li class="no_notifications">
5695 + {L_NO_NOTIFICATIONS}
5696 + </li>
5697 + <!-- ENDIF -->
5698 + <!-- BEGIN notifications -->
5699 + <li class="<!-- IF notifications.UNREAD --> bg2<!-- ENDIF --><!-- IF notifications.STYLING --> {notifications.STYLING}<!-- ENDIF --><!-- IF not notifications.URL --> no-url<!-- ENDIF -->">
5700 + <!-- IF notifications.URL -->
5701 + <a class="notification-block" href="<!-- IF notifications.UNREAD -->{notifications.U_MARK_READ}" data-real-url="{notifications.URL}<!-- ELSE -->{notifications.URL}<!-- ENDIF -->">
5702 + <!-- ENDIF -->
5703 + <!-- IF notifications.AVATAR -->{notifications.AVATAR}<!-- ELSE --><img src="{T_THEME_PATH}/images/no_avatar.gif" alt="" /><!-- ENDIF -->
5704 + <div class="notification_text">
5705 + <p class="notification-title">{notifications.FORMATTED_TITLE}</p>
5706 + <!-- IF notifications.REFERENCE --><p class="notification-reference">{notifications.REFERENCE}</p><!-- ENDIF -->
5707 + <!-- IF notifications.FORUM --><p class="notification-forum">{notifications.FORUM}</p><!-- ENDIF -->
5708 + <!-- IF notifications.REASON --><p class="notification-reason">{notifications.REASON}</p><!-- ENDIF -->
5709 + <p class="notification-time">{notifications.TIME}</p>
5710 + </div>
5711 + <!-- IF notifications.URL --></a><!-- ENDIF -->
5712 + <!-- IF notifications.UNREAD -->
5713 + <a href="{notifications.U_MARK_READ}" class="mark_read icon-mark" data-ajax="notification.mark_read" title="{L_MARK_READ}">
5714 + <i class="icon fa-check-circle icon-xl fa-fw" aria-hidden="true"></i><span class="sr-only">{L_MARK_READ}</span>
5715 + </a>
5716 + <!-- ENDIF -->
5717 + </li>
5718 + <!-- END notifications -->
5719 + </ul>
5720 +
5721 + <div class="footer">
5722 + <a href="{U_VIEW_ALL_NOTIFICATIONS}"><span>{L_SEE_ALL}</span></a>
5723 + </div>
5724 + </div>
5725 +</div>
5726
5727 diff --git a/template/overall_footer.html b/template/overall_footer.html
5728 new file mode 100644
5729 index 000000000..bdff1a0c0
5730 --- /dev/null
5731 +++ b/template/overall_footer.html
5732 @@ -0,0 +1,120 @@
5733 + <!-- EVENT overall_footer_content_after -->
5734 + </div>
5735 +
5736 +<!-- EVENT overall_footer_page_body_after -->
5737 +
5738 +<div id="page-footer" class="page-footer" role="contentinfo">
5739 + <!-- INCLUDE navbar_footer.html -->
5740 +
5741 + <div class="copyright">
5742 + <!-- EVENT overall_footer_copyright_prepend -->
5743 + <p class="footer-row">
5744 + <span class="footer-copyright">{{ CREDIT_LINE }}</span>
5745 + </p>
5746 + <!-- IF TRANSLATION_INFO -->
5747 + <p class="footer-row">
5748 + <span class="footer-copyright">{{ TRANSLATION_INFO }}</span>
5749 + </p>
5750 + <!-- ENDIF -->
5751 + <!-- EVENT overall_footer_copyright_append -->
5752 + <p class="footer-row">
5753 + <a class="footer-link" href="{{ U_PRIVACY }}" title="{{ lang('PRIVACY_LINK') }}" role="menuitem">
5754 + <span class="footer-link-text">{{ lang('PRIVACY_LINK') }}</span>
5755 + </a>
5756 + |
5757 + <a class="footer-link" href="{{ U_TERMS_USE }}" title="{{ lang('TERMS_LINK') }}" role="menuitem">
5758 + <span class="footer-link-text">{{ lang('TERMS_LINK') }}</span>
5759 + </a>
5760 + </p>
5761 + <!-- IF DEBUG_OUTPUT -->
5762 + <p class="footer-row">
5763 + <span class="footer-info">{{ DEBUG_OUTPUT }}</span>
5764 + </p>
5765 + <!-- ENDIF -->
5766 + <!-- IF U_ACP -->
5767 + <p class="footer-row">
5768 + <a class="footer-link text-strong" href="{{ U_ACP }}">{{ lang('ACP') }}</a>
5769 + </p>
5770 + <!-- ENDIF -->
5771 + </div>
5772 +
5773 + <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}">
5774 + <div id="darken" class="darken">&nbsp;</div>
5775 + </div>
5776 +
5777 + <div id="phpbb_alert" class="phpbb_alert" data-l-err="{L_ERROR}" data-l-timeout-processing-req="{L_TIMEOUT_PROCESSING_REQ}">
5778 + <a href="#" class="alert_close">
5779 + <i class="icon fa-times-circle fa-fw" aria-hidden="true"></i>
5780 + </a>
5781 + <h3 class="alert_title">&nbsp;</h3><p class="alert_text"></p>
5782 + </div>
5783 + <div id="phpbb_confirm" class="phpbb_alert">
5784 + <a href="#" class="alert_close">
5785 + <i class="icon fa-times-circle fa-fw" aria-hidden="true"></i>
5786 + </a>
5787 + <div class="alert_text"></div>
5788 + </div>
5789 +</div>
5790 +
5791 +</div>
5792 +
5793 +<div>
5794 + <a id="bottom" class="anchor" accesskey="z"></a>
5795 + <!-- IF not S_IS_BOT -->{RUN_CRON_TASK}<!-- ENDIF -->
5796 +</div>
5797 +
5798 +<script src="{T_JQUERY_LINK}"></script>
5799 +<!-- IF S_ALLOW_CDN --><script>window.jQuery || document.write('\x3Cscript src="{T_ASSETS_PATH}/javascript/jquery.min.js?assets_version={T_ASSETS_VERSION}">\x3C/script>');</script><!-- ENDIF -->
5800 +<script src="{T_ASSETS_PATH}/javascript/core.js?assets_version={T_ASSETS_VERSION}"></script>
5801 +<!-- INCLUDEJS forum_fn.js -->
5802 +<!-- INCLUDEJS ajax.js -->
5803 +<!-- IF S_ALLOW_CDN -->
5804 + <script>
5805 + (function($){
5806 + var $fa_cdn = $('head').find('link[rel="stylesheet"]').first(),
5807 + $span = $('<span class="fa" style="display:none"></span>').appendTo('body');
5808 + if ($span.css('fontFamily') !== 'FontAwesome' ) {
5809 + $fa_cdn.after('<link href="{T_ASSETS_PATH}/css/font-awesome.min.css" rel="stylesheet">');
5810 + $fa_cdn.remove();
5811 + }
5812 + $span.remove();
5813 + })(jQuery);
5814 + </script>
5815 +<!-- ENDIF -->
5816 +
5817 +<!-- IF S_COOKIE_NOTICE -->
5818 + <script src="{T_ASSETS_PATH}/cookieconsent/cookieconsent.min.js?assets_version={T_ASSETS_VERSION}"></script>
5819 + <script>
5820 + if (typeof window.cookieconsent === "object") {
5821 + window.addEventListener("load", function(){
5822 + window.cookieconsent.initialise({
5823 + "palette": {
5824 + "popup": {
5825 + "background": "#0F538A"
5826 + },
5827 + "button": {
5828 + "background": "#E5E5E5"
5829 + }
5830 + },
5831 + "theme": "classic",
5832 + "content": {
5833 + "message": "{LA_COOKIE_CONSENT_MSG}",
5834 + "dismiss": "{LA_COOKIE_CONSENT_OK}",
5835 + "link": "{LA_COOKIE_CONSENT_INFO}",
5836 + "href": "{UA_PRIVACY}"
5837 + }
5838 + });
5839 + });
5840 + }
5841 + </script>
5842 +<!-- ENDIF -->
5843 +
5844 +<!-- EVENT overall_footer_after -->
5845 +
5846 +<!-- IF S_PLUPLOAD --><!-- INCLUDE plupload.html --><!-- ENDIF -->
5847 +{$SCRIPTS}
5848 +
5849 +<!-- EVENT overall_footer_body_after -->
5850 +
5851 +</body>
5852 +</html>
5853
5854 diff --git a/template/overall_header.html b/template/overall_header.html
5855 new file mode 100644
5856 index 000000000..09824d0a1
5857 --- /dev/null
5858 +++ b/template/overall_header.html
5859 @@ -0,0 +1,131 @@
5860 +<!DOCTYPE html>
5861 +<html dir="{S_CONTENT_DIRECTION}" lang="{S_USER_LANG}">
5862 +<head>
5863 +<meta charset="utf-8" />
5864 +<meta http-equiv="X-UA-Compatible" content="IE=edge">
5865 +<meta name="viewport" content="width=device-width, initial-scale=1" />
5866 +{META}
5867 +<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>
5868 +
5869 +<!-- IF S_ENABLE_FEEDS -->
5870 + <!-- IF S_ENABLE_FEEDS_OVERALL --><link rel="alternate" type="application/atom+xml" title="{L_FEED} - {SITENAME}" href="{{ path('phpbb_feed_index') }}"><!-- ENDIF -->
5871 + <!-- IF S_ENABLE_FEEDS_NEWS --><link rel="alternate" type="application/atom+xml" title="{L_FEED} - {L_FEED_NEWS}" href="{{ path('phpbb_feed_news') }}"><!-- ENDIF -->
5872 + <!-- IF S_ENABLE_FEEDS_FORUMS --><link rel="alternate" type="application/atom+xml" title="{L_FEED} - {L_ALL_FORUMS}" href="{{ path('phpbb_feed_forums') }}"><!-- ENDIF -->
5873 + <!-- 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 -->
5874 + <!-- 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 -->
5875 + <!-- 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 -->
5876 + <!-- 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 -->
5877 + <!-- EVENT overall_header_feeds -->
5878 +<!-- ENDIF -->
5879 +
5880 +<!-- IF U_CANONICAL -->
5881 + <link rel="canonical" href="{U_CANONICAL}">
5882 +<!-- ENDIF -->
5883 +
5884 +<!--
5885 + phpBB style name: prosilver
5886 + Based on style: prosilver (this is the default phpBB3 style)
5887 + Original author: Tom Beddard ( http://www.subBlue.com/ )
5888 + Modified by:
5889 +-->
5890 +
5891 +<!-- IF S_ALLOW_CDN -->
5892 +<script>
5893 + WebFontConfig = {
5894 + google: {
5895 + families: ['Open+Sans:300,300i,400,400i,600,600i,700,700i,800,800i&subset=cyrillic,cyrillic-ext,greek,greek-ext,latin-ext,vietnamese']
5896 + }
5897 + };
5898 +
5899 + (function(d) {
5900 + var wf = d.createElement('script'), s = d.scripts[0];
5901 + wf.src = 'https://ajax.googleapis.com/ajax/libs/webfont/1.5.18/webfont.js';
5902 + wf.async = true;
5903 + s.parentNode.insertBefore(wf, s);
5904 + })(document);
5905 +</script>
5906 +<!-- ENDIF -->
5907 +<link href="{T_FONT_AWESOME_LINK}" rel="stylesheet">
5908 +<link href="{T_STYLESHEET_LINK}" rel="stylesheet">
5909 +<link href="{T_STYLESHEET_LANG_LINK}" rel="stylesheet">
5910 +
5911 +<!-- IF S_CONTENT_DIRECTION eq 'rtl' -->
5912 + <link href="{T_THEME_PATH}/bidi.css?assets_version={T_ASSETS_VERSION}" rel="stylesheet">
5913 +<!-- ENDIF -->
5914 +
5915 +<!-- IF S_PLUPLOAD -->
5916 + <link href="{T_THEME_PATH}/plupload.css?assets_version={T_ASSETS_VERSION}" rel="stylesheet">
5917 +<!-- ENDIF -->
5918 +
5919 +<!-- IF S_COOKIE_NOTICE -->
5920 + <link href="{T_ASSETS_PATH}/cookieconsent/cookieconsent.min.css?assets_version={T_ASSETS_VERSION}" rel="stylesheet">
5921 +<!-- ENDIF -->
5922 +
5923 +<!--[if lte IE 9]>
5924 + <link href="{T_THEME_PATH}/tweaks.css?assets_version={T_ASSETS_VERSION}" rel="stylesheet">
5925 +<![endif]-->
5926 +
5927 +<!-- EVENT overall_header_head_append -->
5928 +
5929 +{$STYLESHEETS}
5930 +
5931 +<!-- EVENT overall_header_stylesheets_after -->
5932 +
5933 +</head>
5934 +<body id="phpbb" class="nojs notouch section-{SCRIPT_NAME} {S_CONTENT_DIRECTION} {BODY_CLASS}">
5935 +
5936 +<!-- EVENT overall_header_body_before -->
5937 +
5938 +<div id="wrap" class="wrap">
5939 + <a id="top" class="top-anchor" accesskey="t"></a>
5940 + <div id="page-header">
5941 + <div class="headerbar" role="banner">
5942 + <!-- EVENT overall_header_headerbar_before -->
5943 + <div class="inner">
5944 +
5945 + <div id="site-description" class="site-description">
5946 + <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>
5947 + <h1>{SITENAME}</h1>
5948 + <p>{SITE_DESCRIPTION}</p>
5949 + <p class="skiplink"><a href="#start_here">{L_SKIP}</a></p>
5950 + </div>
5951 +
5952 + <!-- EVENT overall_header_searchbox_before -->
5953 + <!-- IF S_DISPLAY_SEARCH and not S_IN_SEARCH -->
5954 + <div id="search-box" class="search-box search-header" role="search">
5955 + <form action="{U_SEARCH}" method="get" id="search">
5956 + <fieldset>
5957 + <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}" />
5958 + <button class="button button-search" type="submit" title="{L_SEARCH}">
5959 + <i class="icon fa-search fa-fw" aria-hidden="true"></i><span class="sr-only">{L_SEARCH}</span>
5960 + </button>
5961 + <a href="{U_SEARCH}" class="button button-search-end" title="{L_SEARCH_ADV}">
5962 + <i class="icon fa-cog fa-fw" aria-hidden="true"></i><span class="sr-only">{L_SEARCH_ADV}</span>
5963 + </a>
5964 + {S_SEARCH_HIDDEN_FIELDS}
5965 + </fieldset>
5966 + </form>
5967 + </div>
5968 + <!-- ENDIF -->
5969 + <!-- EVENT overall_header_searchbox_after -->
5970 +
5971 + </div>
5972 + <!-- EVENT overall_header_headerbar_after -->
5973 + </div>
5974 + <!-- EVENT overall_header_navbar_before -->
5975 + <!-- INCLUDE navbar_header.html -->
5976 + </div>
5977 +
5978 + <!-- EVENT overall_header_page_body_before -->
5979 +
5980 + <a id="start_here" class="anchor"></a>
5981 + <div id="page-body" class="page-body" role="main">
5982 + <!-- IF S_BOARD_DISABLED and S_USER_LOGGED_IN and (U_MCP or U_ACP) -->
5983 + <div id="information" class="rules">
5984 + <div class="inner">
5985 + <strong>{L_INFORMATION}{L_COLON}</strong> {L_BOARD_DISABLED}
5986 + </div>
5987 + </div>
5988 + <!-- ENDIF -->
5989 +
5990 + <!-- EVENT overall_header_content_before -->
5991
5992 diff --git a/template/pagination.html b/template/pagination.html
5993 new file mode 100644
5994 index 000000000..5d484517a
5995 --- /dev/null
5996 +++ b/template/pagination.html
5997 @@ -0,0 +1,30 @@
5998 +<ul>
5999 +<!-- IF BASE_URL and TOTAL_PAGES > 6 -->
6000 + <li class="dropdown-container dropdown-button-control dropdown-page-jump page-jump">
6001 + <a class="button button-icon-only dropdown-trigger" href="#" title="{L_JUMP_TO_PAGE_CLICK}" role="button"><i class="icon fa-level-down fa-rotate-270" aria-hidden="true"></i><span class="sr-only">{PAGE_NUMBER}</span></a>
6002 + <div class="dropdown">
6003 + <div class="pointer"><div class="pointer-inner"></div></div>
6004 + <ul class="dropdown-contents">
6005 + <li>{L_JUMP_TO_PAGE}{L_COLON}</li>
6006 + <li class="page-jump-form">
6007 + <input type="number" name="page-number" min="1" max="999999" title="{L_JUMP_PAGE}" class="inputbox tiny" data-per-page="{PER_PAGE}" data-base-url="{BASE_URL|e('html_attr')}" data-start-name="{START_NAME}" />
6008 + <input class="button2" value="{L_GO}" type="button" />
6009 + </li>
6010 + </ul>
6011 + </div>
6012 + </li>
6013 +<!-- ENDIF -->
6014 +<!-- BEGIN pagination -->
6015 + <!-- IF pagination.S_IS_PREV -->
6016 + <li class="arrow previous"><a class="button button-icon-only" href="{pagination.PAGE_URL}" rel="prev" role="button"><i class="icon fa-chevron-{S_CONTENT_FLOW_BEGIN} fa-fw" aria-hidden="true"></i><span class="sr-only">{L_PREVIOUS}</span></a></li>
6017 + <!-- ELSEIF pagination.S_IS_CURRENT -->
6018 + <li class="active"><span>{pagination.PAGE_NUMBER}</span></li>
6019 + <!-- ELSEIF pagination.S_IS_ELLIPSIS -->
6020 + <li class="ellipsis" role="separator"><span>{L_ELLIPSIS}</span></li>
6021 + <!-- ELSEIF pagination.S_IS_NEXT -->
6022 + <li class="arrow next"><a class="button button-icon-only" href="{pagination.PAGE_URL}" rel="next" role="button"><i class="icon fa-chevron-{S_CONTENT_FLOW_END} fa-fw" aria-hidden="true"></i><span class="sr-only">{L_NEXT}</span></a></li>
6023 + <!-- ELSE -->
6024 + <li><a class="button" href="{pagination.PAGE_URL}" role="button">{pagination.PAGE_NUMBER}</a></li>
6025 + <!-- ENDIF -->
6026 +<!-- END pagination -->
6027 +</ul>
6028
6029 diff --git a/template/plupload.html b/template/plupload.html
6030 new file mode 100644
6031 index 000000000..593070321
6032 --- /dev/null
6033 +++ b/template/plupload.html
6034 @@ -0,0 +1,68 @@
6035 +<script>
6036 +phpbb.plupload = {
6037 + i18n: {
6038 + 'b': '{LA_BYTES_SHORT}',
6039 + 'kb': '{LA_KB}',
6040 + 'mb': '{LA_MB}',
6041 + 'gb': '{LA_GB}',
6042 + 'tb': '{LA_TB}',
6043 + 'Add Files': '{LA_PLUPLOAD_ADD_FILES}',
6044 + 'Add files to the upload queue and click the start button.': '{LA_PLUPLOAD_ADD_FILES_TO_QUEUE}',
6045 + 'Close': '{LA_PLUPLOAD_CLOSE}',
6046 + 'Drag files here.': '{LA_PLUPLOAD_DRAG}',
6047 + 'Duplicate file error.': '{LA_PLUPLOAD_DUPLICATE_ERROR}',
6048 + 'File: %s': '{LA_PLUPLOAD_FILE}',
6049 + 'File: %s, size: %d, max file size: %d': '{LA_PLUPLOAD_FILE_DETAILS}',
6050 + 'File count error.': '{LA_PLUPLOAD_ERR_FILE_COUNT}',
6051 + 'File extension error.': '{LA_PLUPLOAD_EXTENSION_ERROR}',
6052 + 'File size error.': '{LA_PLUPLOAD_SIZE_ERROR}',
6053 + 'File too large:': '{LA_PLUPLOAD_ERR_FILE_TOO_LARGE}',
6054 + 'Filename': '{LA_PLUPLOAD_FILENAME}',
6055 + 'Generic error.': '{LA_PLUPLOAD_GENERIC_ERROR}',
6056 + 'HTTP Error.': '{LA_PLUPLOAD_HTTP_ERROR}',
6057 + 'Image format either wrong or not supported.': '{LA_PLUPLOAD_IMAGE_FORMAT}',
6058 + 'Init error.': '{LA_PLUPLOAD_INIT_ERROR}',
6059 + 'IO error.': '{LA_PLUPLOAD_IO_ERROR}',
6060 + 'Invalid file extension:': '{LA_PLUPLOAD_ERR_FILE_INVALID_EXT}',
6061 + 'N/A': '{LA_PLUPLOAD_NOT_APPLICABLE}',
6062 + 'Runtime ran out of available memory.': '{LA_PLUPLOAD_ERR_RUNTIME_MEMORY}',
6063 + 'Security error.': '{LA_PLUPLOAD_SECURITY_ERROR}',
6064 + 'Select files': '{LA_PLUPLOAD_SELECT_FILES}',
6065 + 'Size': '{LA_PLUPLOAD_SIZE}',
6066 + 'Start Upload': '{LA_PLUPLOAD_START_UPLOAD}',
6067 + 'Start uploading queue': '{LA_PLUPLOAD_START_CURRENT_UPLOAD}',
6068 + 'Status': '{LA_PLUPLOAD_STATUS}',
6069 + 'Stop Upload': '{LA_PLUPLOAD_STOP_UPLOAD}',
6070 + 'Stop current upload': '{LA_PLUPLOAD_STOP_CURRENT_UPLOAD}',
6071 + "Upload URL might be wrong or doesn't exist.": '{LA_PLUPLOAD_ERR_UPLOAD_URL}',
6072 + 'Uploaded %d/%d files': '{LA_PLUPLOAD_UPLOADED}',
6073 + '%d files queued': '{LA_PLUPLOAD_FILES_QUEUED}',
6074 + '%s already present in the queue.': '{LA_PLUPLOAD_ALREADY_QUEUED}'
6075 + },
6076 + config: {
6077 + runtimes: 'html5',
6078 + url: '{S_PLUPLOAD_URL}',
6079 + max_file_size: '{FILESIZE}b',
6080 + chunk_size: '{CHUNK_SIZE}b',
6081 + unique_names: true,
6082 + filters: [{FILTERS}],
6083 + {S_RESIZE}
6084 + headers: {'X-PHPBB-USING-PLUPLOAD': '1', 'X-Requested-With': 'XMLHttpRequest'},
6085 + file_data_name: 'fileupload',
6086 + multipart_params: {'add_file': '{LA_ADD_FILE}'},
6087 + form_hook: '#postform',
6088 + browse_button: 'add_files',
6089 + drop_element : 'message',
6090 + },
6091 + lang: {
6092 + ERROR: '{LA_ERROR}',
6093 + TOO_MANY_ATTACHMENTS: '{LA_TOO_MANY_ATTACHMENTS}',
6094 + FORM_INVALID: '{LA_FORM_INVALID}',
6095 + },
6096 + order: '{ATTACH_ORDER}',
6097 + maxFiles: {MAX_ATTACHMENTS},
6098 + data: {S_ATTACH_DATA},
6099 +}
6100 +</script>
6101 +<!-- INCLUDEJS {T_ASSETS_PATH}/plupload/plupload.full.min.js -->
6102 +<!-- INCLUDEJS {T_ASSETS_PATH}/javascript/plupload.js -->
6103
6104 diff --git a/template/posting_attach_body.html b/template/posting_attach_body.html
6105 new file mode 100644
6106 index 000000000..ff5bfe1b5
6107 --- /dev/null
6108 +++ b/template/posting_attach_body.html
6109 @@ -0,0 +1,93 @@
6110 +<div class="panel bg3 panel-container" id="attach-panel">
6111 + <div class="inner">
6112 +
6113 + <p>{L_ADD_ATTACHMENT_EXPLAIN} <span class="hidden" id="drag-n-drop-message">{L_PLUPLOAD_DRAG_TEXTAREA}</span></p>
6114 +
6115 + <fieldset class="fields2" id="attach-panel-basic">
6116 + <dl>
6117 + <dt><label for="fileupload">{L_FILENAME}{L_COLON}</label></dt>
6118 + <dd>
6119 + <input type="file" name="fileupload" id="fileupload" class="inputbox autowidth" />
6120 + <input type="submit" name="add_file" value="{L_ADD_FILE}" class="button2" onclick="upload = true;" />
6121 + </dd>
6122 + </dl>
6123 + <dl>
6124 + <dt><label for="filecomment">{L_FILE_COMMENT}{L_COLON}</label></dt>
6125 + <dd><textarea name="filecomment" id="filecomment" rows="1" cols="40" class="inputbox autowidth">{FILE_COMMENT}</textarea></dd>
6126 + </dl>
6127 + </fieldset>
6128 +
6129 + <div id="attach-panel-multi" class="attach-panel-multi">
6130 + <input type="button" class="button2" value="{L_PLUPLOAD_ADD_FILES}" id="add_files" />
6131 + </div>
6132 +
6133 + {% EVENT posting_attach_body_file_list_before %}
6134 + <div class="panel<!-- IF not .attach_row --> hidden<!-- ENDIF --> file-list-container" id="file-list-container">
6135 + <div class="inner">
6136 + <table class="table1 zebra-list fixed-width-table">
6137 + <thead>
6138 + <tr>
6139 + <th class="attach-name">{L_PLUPLOAD_FILENAME}</th>
6140 + <th class="attach-comment">{L_FILE_COMMENT}</th>
6141 + <th class="attach-filesize">{L_PLUPLOAD_SIZE}</th>
6142 + <th class="attach-status">{L_PLUPLOAD_STATUS}</th>
6143 + </tr>
6144 + </thead>
6145 + <tbody class="responsive-skip-empty file-list" id="file-list">
6146 + <tr class="attach-row attach-row-tpl" id="attach-row-tpl">
6147 + <td class="attach-name">
6148 + <span class="file-name ellipsis-text"></span>
6149 + <span class="attach-controls">
6150 + <input type="button" value="{L_PLACE_INLINE}" class="button2 hidden file-inline-bbcode" />&nbsp;
6151 + <input type="button" value="{L_DELETE_FILE}" class="button2 file-delete" />
6152 + </span>
6153 + <span class="clear"></span>
6154 + </td>
6155 + <td class="attach-comment">
6156 + <textarea rows="1" cols="30" class="inputbox"></textarea>
6157 + </td>
6158 + <td class="attach-filesize">
6159 + <span class="file-size"></span>
6160 + </td>
6161 + <td class="attach-status">
6162 + <span class="file-progress">
6163 + <span class="file-progress-bar"></span>
6164 + </span>
6165 + <span class="file-status"></span>
6166 + </td>
6167 + </tr>
6168 + {% EVENT posting_attach_body_attach_row_before %}
6169 + <!-- BEGIN attach_row -->
6170 + {% EVENT posting_attach_body_attach_row_prepend %}
6171 + <tr class="attach-row" data-attach-id="{attach_row.ATTACH_ID}">
6172 + <td class="attach-name">
6173 + <span class="file-name ellipsis-text"><a href="{attach_row.U_VIEW_ATTACHMENT}">{attach_row.FILENAME}</a></span>
6174 + {% EVENT posting_attach_body_attach_row_controls_prepend %}
6175 + <span class="attach-controls">
6176 + <!-- IF S_INLINE_ATTACHMENT_OPTIONS --><input type="button" value="{L_PLACE_INLINE}" class="button2 file-inline-bbcode" />&nbsp; <!-- ENDIF -->
6177 + <input type="submit" name="delete_file[{attach_row.ASSOC_INDEX}]" value="{L_DELETE_FILE}" class="button2 file-delete" />
6178 + </span>
6179 + {% EVENT posting_attach_body_attach_row_controls_append %}
6180 + <span class="clear"></span>
6181 + </td>
6182 + <td class="attach-comment">
6183 + <textarea name="comment_list[{attach_row.ASSOC_INDEX}]" rows="1" cols="30" class="inputbox">{attach_row.FILE_COMMENT}</textarea>
6184 + {attach_row.S_HIDDEN}
6185 + </td>
6186 + <td class="attach-filesize">
6187 + <span class="file-size">{attach_row.FILESIZE}</span>
6188 + </td>
6189 + <td class="attach-status">
6190 + <span class="file-status file-uploaded"></span>
6191 + </td>
6192 + </tr>
6193 + {% EVENT posting_attach_body_attach_row_append %}
6194 + <!-- END attach_row -->
6195 + {% EVENT posting_attach_body_attach_row_after %}
6196 + </tbody>
6197 + </table>
6198 + </div>
6199 + </div>
6200 + {% EVENT posting_attach_body_file_list_after %}
6201 + </div>
6202 +</div>
6203
6204 diff --git a/template/posting_body.html b/template/posting_body.html
6205 new file mode 100644
6206 index 000000000..73b82700c
6207 --- /dev/null
6208 +++ b/template/posting_body.html
6209 @@ -0,0 +1,6 @@
6210 +
6211 +<!-- IF S_PRIVMSGS -->
6212 + <!-- INCLUDE posting_pm_layout.html -->
6213 +<!-- ELSE -->
6214 + <!-- INCLUDE posting_layout.html -->
6215 +<!-- ENDIF -->
6216
6217 diff --git a/template/posting_buttons.html b/template/posting_buttons.html
6218 new file mode 100644
6219 index 000000000..122afdf97
6220 --- /dev/null
6221 +++ b/template/posting_buttons.html
6222 @@ -0,0 +1,126 @@
6223 +
6224 +<script>
6225 + var form_name = 'postform';
6226 + var text_name = <!-- IF $SIG_EDIT -->'signature'<!-- ELSE -->'message'<!-- ENDIF -->;
6227 + var load_draft = false;
6228 + var upload = false;
6229 +
6230 + // Define the bbCode tags
6231 + var bbcode = new Array();
6232 + var bbtags = new Array('[b]','[/b]','[i]','[/i]','[u]','[/u]','[quote]','[/quote]','[code]','[/code]','[list]','[/list]','[list=]','[/list]','[img]','[/img]','[url]','[/url]','[flash=]', '[/flash]','[size=]','[/size]'<!-- BEGIN custom_tags -->, {custom_tags.BBCODE_NAME}<!-- END custom_tags -->);
6233 + var imageTag = false;
6234 +
6235 + // Helpline messages
6236 + var help_line = {
6237 + b: '{LA_BBCODE_B_HELP}',
6238 + i: '{LA_BBCODE_I_HELP}',
6239 + u: '{LA_BBCODE_U_HELP}',
6240 + q: '{LA_BBCODE_Q_HELP}',
6241 + c: '{LA_BBCODE_C_HELP}',
6242 + l: '{LA_BBCODE_L_HELP}',
6243 + o: '{LA_BBCODE_O_HELP}',
6244 + p: '{LA_BBCODE_P_HELP}',
6245 + w: '{LA_BBCODE_W_HELP}',
6246 + a: '{LA_BBCODE_A_HELP}',
6247 + s: '{LA_BBCODE_S_HELP}',
6248 + f: '{LA_BBCODE_F_HELP}',
6249 + y: '{LA_BBCODE_Y_HELP}',
6250 + d: '{LA_BBCODE_D_HELP}'
6251 + <!-- BEGIN custom_tags -->
6252 + ,cb_{custom_tags.BBCODE_ID}: '{custom_tags.A_BBCODE_HELPLINE}'
6253 + <!-- END custom_tags -->
6254 + }
6255 +
6256 + function change_palette()
6257 + {
6258 + phpbb.toggleDisplay('colour_palette');
6259 + e = document.getElementById('colour_palette');
6260 +
6261 + if (e.style.display == 'block')
6262 + {
6263 + document.getElementById('bbpalette').value = '{LA_FONT_COLOR_HIDE}';
6264 + }
6265 + else
6266 + {
6267 + document.getElementById('bbpalette').value = '{LA_FONT_COLOR}';
6268 + }
6269 + }
6270 +</script>
6271 +<!-- INCLUDEJS {T_ASSETS_PATH}/javascript/editor.js -->
6272 +
6273 +<!-- IF S_BBCODE_ALLOWED -->
6274 +<div id="colour_palette" style="display: none;">
6275 + <dl style="clear: left;">
6276 + <dt><label>{L_FONT_COLOR}{L_COLON}</label></dt>
6277 + <dd id="color_palette_placeholder" class="color_palette_placeholder" data-orientation="h" data-height="12" data-width="15" data-bbcode="true"></dd>
6278 + </dl>
6279 +</div>
6280 +
6281 +<!-- EVENT posting_editor_buttons_before -->
6282 +<div id="format-buttons" class="format-buttons">
6283 + <button type="button" class="button button-icon-only bbcode-b" accesskey="b" name="addbbcode0" value=" B " onclick="bbstyle(0)" title="{L_BBCODE_B_HELP}">
6284 + <i class="icon fa-bold fa-fw" aria-hidden="true"></i>
6285 + </button>
6286 + <button type="button" class="button button-icon-only bbcode-i" accesskey="i" name="addbbcode2" value=" i " onclick="bbstyle(2)" title="{L_BBCODE_I_HELP}">
6287 + <i class="icon fa-italic fa-fw" aria-hidden="true"></i>
6288 + </button>
6289 + <button type="button" class="button button-icon-only bbcode-u" accesskey="u" name="addbbcode4" value=" u " onclick="bbstyle(4)" title="{L_BBCODE_U_HELP}">
6290 + <i class="icon fa-underline fa-fw" aria-hidden="true"></i>
6291 + </button>
6292 + <!-- IF S_BBCODE_QUOTE -->
6293 + <button type="button" class="button button-icon-only bbcode-quote" accesskey="q" name="addbbcode6" value="Quote" onclick="bbstyle(6)" title="{L_BBCODE_Q_HELP}">
6294 + <i class="icon fa-quote-left fa-fw" aria-hidden="true"></i>
6295 + </button>
6296 + <!-- ENDIF -->
6297 + <button type="button" class="button button-icon-only bbcode-code" accesskey="c" name="addbbcode8" value="Code" onclick="bbstyle(8)" title="{L_BBCODE_C_HELP}">
6298 + <i class="icon fa-code fa-fw" aria-hidden="true"></i>
6299 + </button>
6300 + <button type="button" class="button button-icon-only bbcode-list" accesskey="l" name="addbbcode10" value="List" onclick="bbstyle(10)" title="{L_BBCODE_L_HELP}">
6301 + <i class="icon fa-list fa-fw" aria-hidden="true"></i>
6302 + </button>
6303 + <button type="button" class="button button-icon-only bbcode-list-" accesskey="o" name="addbbcode12" value="List=" onclick="bbstyle(12)" title="{L_BBCODE_O_HELP}">
6304 + <i class="icon fa-list-ol fa-fw" aria-hidden="true"></i>
6305 + </button>
6306 + <button type="button" class="button button-icon-only bbcode-asterisk" accesskey="y" name="addlistitem" value="[*]" onclick="bbstyle(-1)" title="{L_BBCODE_LISTITEM_HELP}">
6307 + <i class="icon fa-asterisk fa-fw" aria-hidden="true"></i>
6308 + </button>
6309 + <!-- IF S_BBCODE_IMG -->
6310 + <button type="button" class="button button-icon-only bbcode-img" accesskey="p" name="addbbcode14" value="Img" onclick="bbstyle(14)" title="{L_BBCODE_P_HELP}">
6311 + <i class="icon fa-image fa-fw" aria-hidden="true"></i>
6312 + </button>
6313 + <!-- ENDIF -->
6314 + <!-- IF S_LINKS_ALLOWED -->
6315 + <button type="button" class="button button-icon-only bbcode-url" accesskey="w" name="addbbcode16" value="URL" onclick="bbstyle(16)" title="{L_BBCODE_W_HELP}">
6316 + <i class="icon fa-link fa-fw" aria-hidden="true"></i>
6317 + </button>
6318 + <!-- ENDIF -->
6319 + <!-- IF S_BBCODE_FLASH -->
6320 + <button type="button" class="button button-icon-only bbcode-flash" accesskey="d" name="addbbcode18" value="Flash" onclick="bbstyle(18)" title="{L_BBCODE_D_HELP}">
6321 + <i class="icon fa-flash fa-fw" aria-hidden="true"></i>
6322 + </button>
6323 + <!-- ENDIF -->
6324 + <button type="button" class="button button-icon-only bbcode-color" name="bbpalette" id="bbpalette" value="{L_FONT_COLOR}" onclick="change_palette();" title="{L_BBCODE_S_HELP}">
6325 + <i class="icon fa-tint fa-fw" aria-hidden="true"></i>
6326 + </button>
6327 + <select name="addbbcode20" class="bbcode-size" onchange="bbfontstyle('[size=' + this.form.addbbcode20.options[this.form.addbbcode20.selectedIndex].value + ']', '[/size]');this.form.addbbcode20.selectedIndex = 2;" title="{L_BBCODE_F_HELP}">
6328 + <option value="50">{L_FONT_TINY}</option>
6329 + <option value="85">{L_FONT_SMALL}</option>
6330 + <option value="100" selected="selected">{L_FONT_NORMAL}</option>
6331 + <!-- IF not MAX_FONT_SIZE or MAX_FONT_SIZE >= 150 -->
6332 + <option value="150">{L_FONT_LARGE}</option>
6333 + <!-- IF not MAX_FONT_SIZE or MAX_FONT_SIZE >= 200 -->
6334 + <option value="200">{L_FONT_HUGE}</option>
6335 + <!-- ENDIF -->
6336 + <!-- ENDIF -->
6337 + </select>
6338 +
6339 + <!-- EVENT posting_editor_buttons_custom_tags_before -->
6340 +
6341 + <!-- BEGIN custom_tags -->
6342 + <button type="button" class="button button-secondary bbcode-{custom_tags.BBCODE_TAG_CLEAN}" name="addbbcode{custom_tags.BBCODE_ID}" value="{custom_tags.BBCODE_TAG}" onclick="bbstyle({custom_tags.BBCODE_ID})" title="{custom_tags.BBCODE_HELPLINE}">
6343 + {custom_tags.BBCODE_TAG}
6344 + </button>
6345 + <!-- END custom_tags -->
6346 +</div>
6347 +<!-- EVENT posting_editor_buttons_after -->
6348 +<!-- ENDIF -->
6349
6350 diff --git a/template/posting_editor.html b/template/posting_editor.html
6351 new file mode 100644
6352 index 000000000..d963c98e0
6353 --- /dev/null
6354 +++ b/template/posting_editor.html
6355 @@ -0,0 +1,196 @@
6356 +<fieldset class="fields1">
6357 + <!-- IF ERROR --><p class="error">{ERROR}</p><!-- ENDIF -->
6358 +
6359 + <!-- IF S_SHOW_TOPIC_ICONS or S_SHOW_PM_ICONS -->
6360 + <dl>
6361 + <dt><label for="icon">{L_ICON}{L_COLON}</label></dt>
6362 + <dd>
6363 + <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>
6364 + <!-- 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 -->
6365 + </dd>
6366 + </dl>
6367 + <!-- ENDIF -->
6368 +
6369 + <!-- IF not S_PRIVMSGS and S_DISPLAY_USERNAME -->
6370 + <dl style="clear: left;">
6371 + <dt><label for="username">{L_USERNAME}{L_COLON}</label></dt>
6372 + <dd><input type="text" tabindex="1" name="username" id="username" size="25" value="{USERNAME}" class="inputbox autowidth" /></dd>
6373 + </dl>
6374 + <!-- ENDIF -->
6375 +
6376 + <!-- EVENT posting_editor_subject_before -->
6377 +
6378 + <!-- IF S_POST_ACTION or S_PRIVMSGS or S_EDIT_DRAFT -->
6379 + <dl style="clear: left;">
6380 + <dt><label for="subject">{L_SUBJECT}{L_COLON}</label></dt>
6381 + <dd>
6382 + <!-- EVENT posting_editor_subject_prepend -->
6383 + <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" />
6384 + <!-- EVENT posting_editor_subject_append -->
6385 + </dd>
6386 + </dl>
6387 + <!-- IF CAPTCHA_TEMPLATE and S_CONFIRM_CODE -->
6388 + <!-- DEFINE $CAPTCHA_TAB_INDEX = 3 -->
6389 + <!-- INCLUDE {CAPTCHA_TEMPLATE} -->
6390 + <!-- ENDIF -->
6391 + <!-- ENDIF -->
6392 +
6393 + <!-- EVENT posting_editor_subject_after -->
6394 +
6395 + <!-- INCLUDE posting_buttons.html -->
6396 +
6397 + <div id="smiley-box" class="smiley-box">
6398 + <!-- EVENT posting_editor_smilies_before -->
6399 + <!-- IF S_SMILIES_ALLOWED and .smiley -->
6400 + <strong>{L_SMILIES}</strong><br />
6401 + <!-- BEGIN smiley -->
6402 + <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>
6403 + <!-- END smiley -->
6404 + <!-- ENDIF -->
6405 + <!-- IF S_SHOW_SMILEY_LINK and S_SMILIES_ALLOWED -->
6406 + <br /><a href="{U_MORE_SMILIES}" onclick="popup(this.href, 750, 350, '_phpbbsmilies'); return false;">{L_MORE_SMILIES}</a>
6407 + <!-- ENDIF -->
6408 + <!-- EVENT posting_editor_smilies_after -->
6409 + <!-- IF BBCODE_STATUS -->
6410 + <div class="bbcode-status">
6411 + <!-- IF .smiley --><hr /><!-- ENDIF -->
6412 + {BBCODE_STATUS}<br />
6413 + <!-- IF S_BBCODE_ALLOWED -->
6414 + {IMG_STATUS}<br />
6415 + {FLASH_STATUS}<br />
6416 + {URL_STATUS}<br />
6417 + <!-- ENDIF -->
6418 + {SMILIES_STATUS}
6419 + </div>
6420 + <!-- ENDIF -->
6421 + <!-- EVENT posting_editor_bbcode_status_after -->
6422 + <!-- IF S_EDIT_DRAFT || S_DISPLAY_REVIEW -->
6423 + <!-- IF S_DISPLAY_REVIEW --><hr /><!-- ENDIF -->
6424 + <!-- IF S_EDIT_DRAFT --><strong><a href="{S_UCP_ACTION}">{L_BACK_TO_DRAFTS}</a></strong><!-- ENDIF -->
6425 + <!-- IF S_DISPLAY_REVIEW --><strong><a href="#review">{L_TOPIC_REVIEW}</a></strong><!-- ENDIF -->
6426 + <!-- ENDIF -->
6427 + </div>
6428 +
6429 + <!-- EVENT posting_editor_message_before -->
6430 +
6431 + <div id="message-box" class="message-box">
6432 + <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>
6433 + </div>
6434 +
6435 + <!-- EVENT posting_editor_message_after -->
6436 + </fieldset>
6437 +
6438 +<!-- IF $EXTRA_POSTING_OPTIONS eq 1 -->
6439 +
6440 + <!-- IF not S_SHOW_DRAFTS -->
6441 + </div>
6442 + </div>
6443 + <!-- ENDIF -->
6444 +
6445 + <!-- IF not S_SHOW_DRAFTS and not $SIG_EDIT eq 1 -->
6446 + <div class="panel bg2">
6447 + <div class="inner">
6448 + <fieldset class="submit-buttons">
6449 + {S_HIDDEN_ADDRESS_FIELD}
6450 + {S_HIDDEN_FIELDS}
6451 + <!-- EVENT posting_editor_submit_buttons -->
6452 + <!-- 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 -->
6453 + <!-- IF S_SAVE_ALLOWED --><input type="submit" accesskey="k" tabindex="7" name="save" value="{L_SAVE_DRAFT}" class="button2" />&nbsp; <!-- ENDIF -->
6454 + <input type="submit" tabindex="5" name="preview" value="{L_PREVIEW}" class="button1"<!-- IF not S_PRIVMSGS --> onclick="document.getElementById('postform').action += '#preview';"<!-- ENDIF --> />&nbsp;
6455 + <input type="submit" accesskey="s" tabindex="6" name="post" value="{L_SUBMIT}" class="button1 default-submit-action" />&nbsp;
6456 +
6457 + </fieldset>
6458 +
6459 + </div>
6460 + </div>
6461 + <!-- ENDIF -->
6462 +
6463 + <!-- IF not S_PRIVMSGS and not S_SHOW_DRAFTS and not $SIG_EDIT eq 1 -->
6464 + <div id="tabs" class="tabs sub-panels" data-show-panel="<!-- IF SHOW_PANEL -->{SHOW_PANEL}<!-- ELSE -->options-panel<!-- ENDIF -->" role="tablist">
6465 + <ul>
6466 + <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>
6467 + <!-- IF S_SHOW_ATTACH_BOX -->
6468 + <li id="attach-panel-tab" class="tab">
6469 + <a href="#tabs" data-subpanel="attach-panel" role="tab" aria-controls="attach-panel">
6470 + {L_ATTACHMENTS} <strong id="file-total-progress" class="file-total-progress"><strong id="file-total-progress-bar" class="file-total-progress-bar"></strong></strong>
6471 + </a>
6472 + </li>
6473 + <!-- ENDIF -->
6474 + <!-- IF S_SHOW_POLL_BOX || S_POLL_DELETE -->
6475 + <li id="poll-panel-tab" class="tab">
6476 + <a href="#tabs" data-subpanel="poll-panel" role="tab" aria-controls="poll-panel">{L_ADD_POLL}</a>
6477 + </li>
6478 + <!-- ENDIF -->
6479 + <!-- EVENT posting_editor_add_panel_tab -->
6480 + </ul>
6481 + </div>
6482 + <!-- ENDIF -->
6483 +
6484 + <!-- IF not S_SHOW_DRAFTS and not $SIG_EDIT eq 1 -->
6485 + <div class="panel bg3" id="options-panel">
6486 + <div class="inner">
6487 +
6488 + <fieldset class="fields1">
6489 + <!-- EVENT posting_editor_options_prepend -->
6490 + <!-- IF S_BBCODE_ALLOWED -->
6491 + <div><label for="disable_bbcode"><input type="checkbox" name="disable_bbcode" id="disable_bbcode"{S_BBCODE_CHECKED} /> {L_DISABLE_BBCODE}</label></div>
6492 + <!-- ENDIF -->
6493 + <!-- IF S_SMILIES_ALLOWED -->
6494 + <div><label for="disable_smilies"><input type="checkbox" name="disable_smilies" id="disable_smilies"{S_SMILIES_CHECKED} /> {L_DISABLE_SMILIES}</label></div>
6495 + <!-- ENDIF -->
6496 + <!-- IF S_LINKS_ALLOWED -->
6497 + <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>
6498 + <!-- ENDIF -->
6499 + <!-- IF S_SIG_ALLOWED -->
6500 + <div><label for="attach_sig"><input type="checkbox" name="attach_sig" id="attach_sig"{S_SIGNATURE_CHECKED} /> {L_ATTACH_SIG}</label></div>
6501 + <!-- ENDIF -->
6502 + <!-- IF S_NOTIFY_ALLOWED -->
6503 + <div><label for="notify"><input type="checkbox" name="notify" id="notify"{S_NOTIFY_CHECKED} /> {L_NOTIFY_REPLY}</label></div>
6504 + <!-- ENDIF -->
6505 + <!-- IF S_LOCK_TOPIC_ALLOWED -->
6506 + <div><label for="lock_topic"><input type="checkbox" name="lock_topic" id="lock_topic"{S_LOCK_TOPIC_CHECKED} /> {L_LOCK_TOPIC}</label></div>
6507 + <!-- ENDIF -->
6508 + <!-- IF S_LOCK_POST_ALLOWED -->
6509 + <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>
6510 + <!-- ENDIF -->
6511 +
6512 + <!-- IF S_TYPE_TOGGLE or S_TOPIC_TYPE_ANNOUNCE or S_TOPIC_TYPE_STICKY -->
6513 + <hr class="dashed" />
6514 + <!-- ENDIF -->
6515 +
6516 + <!-- IF S_TYPE_TOGGLE -->
6517 + <dl>
6518 + <dt><label for="topic_type-0"><!-- IF S_EDIT_POST -->{L_CHANGE_TOPIC_TO}<!-- ELSE -->{L_POST_TOPIC_AS}<!-- ENDIF -->{L_COLON}</label></dt>
6519 + <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>
6520 + </dl>
6521 + <!-- ENDIF -->
6522 +
6523 + <!-- IF S_TOPIC_TYPE_ANNOUNCE or S_TOPIC_TYPE_STICKY -->
6524 + <dl>
6525 + <dt><label for="topic_time_limit">{L_STICK_TOPIC_FOR}{L_COLON}</label></dt>
6526 + <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>
6527 + <dd>{L_STICK_TOPIC_FOR_EXPLAIN}</dd>
6528 + </dl>
6529 + <!-- ENDIF -->
6530 +
6531 + <!-- IF S_SOFTDELETE_ALLOWED or S_DELETE_ALLOWED -->
6532 + <hr class="dashed" />
6533 + <dl>
6534 + <dt><label for="delete">{L_DELETE_POST}{L_COLON}</label></dt>
6535 + <dd><label for="delete"><input type="checkbox" name="delete" id="delete" {S_SOFTDELETE_CHECKED} /> {L_DELETE_POST_WARN}</label></dd>
6536 + <!-- IF S_DELETE_ALLOWED and S_SOFTDELETE_ALLOWED -->
6537 + <dd><label for="delete_permanent"><input type="checkbox" name="delete_permanent" id="delete_permanent" /> {L_DELETE_POST_PERMANENTLY}</label></dd>
6538 + <!-- ENDIF -->
6539 + </dl>
6540 + <!-- ENDIF -->
6541 +
6542 + <!-- IF S_EDIT_REASON -->
6543 + <dl>
6544 + <dt><label for="edit_reason">{L_EDIT_REASON}{L_COLON}</label></dt>
6545 + <dd><input type="text" name="edit_reason" id="edit_reason" value="{EDIT_REASON}" class="inputbox" /></dd>
6546 + </dl>
6547 + <!-- ENDIF -->
6548 + </fieldset>
6549 + <!-- ENDIF -->
6550 +
6551 +<!-- ENDIF -->
6552
6553 diff --git a/template/posting_layout.html b/template/posting_layout.html
6554 new file mode 100644
6555 index 000000000..bca9195f0
6556 --- /dev/null
6557 +++ b/template/posting_layout.html
6558 @@ -0,0 +1,86 @@
6559 +<!-- INCLUDE overall_header.html -->
6560 +
6561 +<!-- IF TOPIC_TITLE -->
6562 + <h2 class="posting-title"><!-- EVENT posting_topic_title_before --><a href="{U_VIEW_TOPIC}">{TOPIC_TITLE}</a><!-- EVENT posting_topic_title_after --></h2>
6563 +<!-- ELSE -->
6564 + <h2 class="posting-title"><a href="{U_VIEW_FORUM}">{FORUM_NAME}</a></h2>
6565 + <!-- ENDIF -->
6566 +
6567 +<!-- IF S_FORUM_RULES -->
6568 + <div class="rules<!-- IF U_FORUM_RULES --> rules-link<!-- ENDIF -->">
6569 + <div class="inner">
6570 +
6571 + <!-- IF U_FORUM_RULES -->
6572 + <a href="{U_FORUM_RULES}">{L_FORUM_RULES}</a>
6573 + <!-- ELSE -->
6574 + <strong>{L_FORUM_RULES}</strong><br />
6575 + {FORUM_RULES}
6576 + <!-- ENDIF -->
6577 +
6578 + </div>
6579 + </div>
6580 +<!-- ENDIF -->
6581 +
6582 +<form id="postform" method="post" action="{S_POST_ACTION}"{S_FORM_ENCTYPE}>
6583 +
6584 +<!-- IF S_DRAFT_LOADED -->
6585 + <div class="panel">
6586 + <div class="inner">
6587 +
6588 + <h3>{L_INFORMATION}</h3>
6589 + <p>{L_DRAFT_LOADED}</p>
6590 +
6591 + </div>
6592 + </div>
6593 +<!-- ENDIF -->
6594 +
6595 +<!-- IF S_SHOW_DRAFTS --><!-- INCLUDE drafts.html --><!-- ENDIF -->
6596 +
6597 +<!-- IF S_POST_REVIEW --><!-- INCLUDE posting_review.html --><!-- ENDIF -->
6598 +
6599 +<!-- IF S_UNGLOBALISE -->
6600 + <div class="panel bg3">
6601 + <div class="inner">
6602 + <fieldset class="fields1">
6603 + <h2>{L_SELECT_DESTINATION_FORUM}</h2>
6604 + <p>{L_UNGLOBALISE_EXPLAIN}</p>
6605 + <dl>
6606 + <dt><label for="to_forum_id">{L_MOVE}{L_COLON}</label></dt>
6607 + <dd><select id="to_forum_id" name="to_forum_id">{S_FORUM_SELECT}</select></dd>
6608 + </dl>
6609 +
6610 + <dl>
6611 + <dt>&nbsp;</dt>
6612 + <dd><input class="button1" type="submit" name="post" value="{L_CONFIRM}" /> <input class="button2" type="submit" name="cancel_unglobalise" value="{L_CANCEL}" /></dd>
6613 + </dl>
6614 + </fieldset>
6615 +
6616 + </div>
6617 + </div>
6618 +<!-- ENDIF -->
6619 +
6620 +<!-- IF S_DISPLAY_PREVIEW --><!-- INCLUDE posting_preview.html --><!-- ENDIF -->
6621 +
6622 +<div class="panel" id="postingbox">
6623 + <div class="inner">
6624 +
6625 + <h3>{L_POST_A}</h3>
6626 +
6627 + <!-- DEFINE $EXTRA_POSTING_OPTIONS = 1 -->
6628 + <!-- INCLUDE posting_editor.html -->
6629 + <input type="hidden" name="show_panel" value="options-panel" />
6630 + {S_FORM_TOKEN}
6631 + </div>
6632 +</div>
6633 +
6634 +<!-- IF S_SHOW_ATTACH_BOX --><!-- INCLUDE posting_attach_body.html --><!-- ENDIF -->
6635 +
6636 +<!-- IF S_SHOW_POLL_BOX or S_POLL_DELETE --><!-- INCLUDE posting_poll_body.html --><!-- ENDIF -->
6637 +
6638 +<!-- EVENT posting_layout_include_panel_body -->
6639 +
6640 +<!-- IF S_DISPLAY_REVIEW --><!-- INCLUDE posting_topic_review.html --><!-- ENDIF -->
6641 +
6642 +</form>
6643 +
6644 +<!-- INCLUDE overall_footer.html -->
6645
6646 diff --git a/template/posting_pm_header.html b/template/posting_pm_header.html
6647 new file mode 100644
6648 index 000000000..7fee91452
6649 --- /dev/null
6650 +++ b/template/posting_pm_header.html
6651 @@ -0,0 +1,83 @@
6652 +<fieldset class="fields1">
6653 + <!-- IF not S_SHOW_DRAFTS -->
6654 +
6655 + <!-- IF S_GROUP_OPTIONS -->
6656 + <div class="column2">
6657 + <label for="group_list"><strong>{L_TO_ADD_GROUPS}{L_COLON}</strong></label><br />
6658 + <select name="group_list[]" id="group_list" multiple="multiple" size="3" class="inputbox">{S_GROUP_OPTIONS}</select><br />
6659 + </div>
6660 + <!-- ENDIF -->
6661 + <!-- IF S_ALLOW_MASS_PM -->
6662 + <div class="column1">
6663 + <!-- IF not S_EDIT_POST -->
6664 + <dl class="pmlist">
6665 + <dt><label><strong>{L_TO_ADD_MASS}{L_COLON}</strong><textarea id="username_list" name="username_list" class="inputbox" cols="50" rows="2" tabindex="1"></textarea></label></dt>
6666 + <dd class="recipients">
6667 + <input type="submit" name="add_to" value="{L_ADD}" class="button2" tabindex="1" />
6668 + <input type="submit" name="add_bcc" value="{L_ADD_BCC}" class="button2" tabindex="1" />
6669 + <!-- EVENT posting_pm_header_find_username_before -->
6670 + <span><a href="{U_FIND_USERNAME}" onclick="find_username(this.href); return false;">{L_FIND_USERNAME}</a></span>
6671 + <!-- EVENT posting_pm_header_find_username_after -->
6672 + </dd>
6673 + </dl>
6674 + <!-- ENDIF -->
6675 + </div>
6676 + <!-- IF .to_recipient or .bcc_recipient --><hr /><!-- ENDIF -->
6677 + <div class="column1">
6678 + <!-- IF .to_recipient -->
6679 + <dl>
6680 + <dt><label>{L_TO_MASS}{L_COLON}</label></dt>
6681 + <dd class="recipients">
6682 + <ul class="recipients">
6683 + <!-- BEGIN to_recipient -->
6684 + <li>
6685 + <!-- IF not S_EDIT_POST --><input type="submit" name="remove_{to_recipient.TYPE}[{to_recipient.UG_ID}]" value="x" class="button2" /><!-- ENDIF -->
6686 + <!-- IF to_recipient.IS_GROUP --><a href="{to_recipient.U_VIEW}" style="color: {{ to_recipient.COLOUR }}"><strong>{to_recipient.NAME}</strong></a><!-- ELSE -->{to_recipient.NAME_FULL}<!-- ENDIF -->
6687 + </li>
6688 + <!-- END to_recipient -->
6689 + </ul>
6690 + </dd>
6691 + </dl>
6692 + <!-- ENDIF -->
6693 + </div>
6694 + <!-- IF .bcc_recipient -->
6695 + <div class="column2">
6696 + <dl>
6697 + <dt><label>{L_BCC}{L_COLON}</label></dt>
6698 + <dd class="recipients">
6699 + <ul class="recipients">
6700 + <!-- BEGIN bcc_recipient -->
6701 + <li>
6702 + <!-- IF not S_EDIT_POST --><input type="submit" name="remove_{bcc_recipient.TYPE}[{bcc_recipient.UG_ID}]" value="x" class="button2" /><!-- ENDIF -->
6703 + <!-- IF bcc_recipient.IS_GROUP --><a href="{bcc_recipient.U_VIEW}" style="color: {{ bcc_recipient.COLOUR }}"><strong>{bcc_recipient.NAME}</strong></a><!-- ELSE -->{bcc_recipient.NAME_FULL}<!-- ENDIF -->
6704 + </li>
6705 + <!-- END bcc_recipient -->
6706 + </ul>
6707 + </dd>
6708 + </dl>
6709 + </div>
6710 + <!-- ENDIF -->
6711 + <!-- ELSE -->
6712 + <div class="column1">
6713 + <dl>
6714 + <dt><label for="username_list">{L_TO_ADD}{L_COLON}</label><!-- IF not S_EDIT_POST --><br /><span><a href="{U_FIND_USERNAME}" onclick="find_username(this.href); return false">{L_FIND_USERNAME}</a></span><!-- ENDIF --></dt>
6715 + <!-- IF not S_EDIT_POST -->
6716 + <dd><input class="inputbox" type="text" name="username_list" id="username_list" size="20" value="" /> <input type="submit" name="add_to" value="{L_ADD}" class="button2" /></dd>
6717 + <!-- ENDIF -->
6718 + <!-- IF .to_recipient -->
6719 + <dd class="recipients">
6720 + <ul class="recipients">
6721 + <!-- BEGIN to_recipient -->
6722 + <li>
6723 + <!-- IF to_recipient.IS_GROUP --><a href="{to_recipient.U_VIEW}"><strong>{to_recipient.NAME}</strong></a><!-- ELSE -->{to_recipient.NAME_FULL}<!-- ENDIF -->&nbsp;
6724 + <!-- IF not S_EDIT_POST --><input type="submit" name="remove_{to_recipient.TYPE}[{to_recipient.UG_ID}]" value="x" class="button2" /><!-- ENDIF -->
6725 + </li>
6726 + <!-- END to_recipient -->
6727 + </dd>
6728 + <!-- ENDIF -->
6729 + </dl>
6730 + </div>
6731 + <!-- ENDIF -->
6732 +
6733 + <!-- ENDIF -->
6734 + </fieldset>
6735
6736 diff --git a/template/posting_pm_layout.html b/template/posting_pm_layout.html
6737 new file mode 100644
6738 index 000000000..316fa791e
6739 --- /dev/null
6740 +++ b/template/posting_pm_layout.html
6741 @@ -0,0 +1,43 @@
6742 +<!-- INCLUDE ucp_header.html -->
6743 +
6744 +<!-- IF S_DRAFT_LOADED -->
6745 + <div class="panel">
6746 + <div class="inner">
6747 +
6748 + <h3>{L_INFORMATION}</h3>
6749 + <p>{L_DRAFT_LOADED_PM}</p>
6750 +
6751 + </div>
6752 + </div>
6753 +<!-- ENDIF -->
6754 +
6755 +<!-- IF S_SHOW_DRAFTS --><!-- INCLUDE drafts.html --><!-- ENDIF -->
6756 +
6757 +<!-- IF S_DISPLAY_PREVIEW --><!-- INCLUDE posting_preview.html --><!-- ENDIF -->
6758 +
6759 +<h2 class="posting-title">{L_TITLE}</h2>
6760 +
6761 +<div class="panel" id="pmheader-postingbox">
6762 + <div class="inner">
6763 + <!-- EVENT posting_pm_layout_include_pm_header_before -->
6764 + <!-- INCLUDE posting_pm_header.html -->
6765 + <!-- EVENT posting_pm_layout_include_pm_header_after -->
6766 + </div>
6767 +</div>
6768 +
6769 +<div class="panel" id="postingbox">
6770 + <div class="inner">
6771 +
6772 + <!-- DEFINE $EXTRA_POSTING_OPTIONS = 1 -->
6773 + <!-- INCLUDE posting_editor.html -->
6774 +
6775 + </div>
6776 +</div>
6777 +
6778 +<!-- IF S_SHOW_ATTACH_BOX --><!-- INCLUDE posting_attach_body.html --><!-- ENDIF -->
6779 +
6780 +<!-- IF S_DISPLAY_REVIEW --><!-- INCLUDE posting_topic_review.html --><!-- ENDIF -->
6781 +
6782 +<!-- IF S_DISPLAY_HISTORY --><!-- INCLUDE ucp_pm_history.html --><!-- ENDIF -->
6783 +
6784 +<!-- INCLUDE ucp_footer.html -->
6785
6786 diff --git a/template/posting_poll_body.html b/template/posting_poll_body.html
6787 new file mode 100644
6788 index 000000000..795649650
6789 --- /dev/null
6790 +++ b/template/posting_poll_body.html
6791 @@ -0,0 +1,53 @@
6792 +<div class="panel bg3" id="poll-panel">
6793 + <div class="inner">
6794 +
6795 + <!-- IF S_SHOW_POLL_BOX -->
6796 + <p>{L_ADD_POLL_EXPLAIN}</p>
6797 + <!-- ENDIF -->
6798 +
6799 + <fieldset class="fields2">
6800 + <!-- IF S_POLL_DELETE -->
6801 + <dl>
6802 + <dt><label for="poll_delete">{L_POLL_DELETE}{L_COLON}</label></dt>
6803 + <dd><label for="poll_delete"><input type="checkbox" name="poll_delete" id="poll_delete"<!-- IF S_POLL_DELETE_CHECKED --> checked="checked"<!-- ENDIF --> /> </label></dd>
6804 + </dl>
6805 + <!-- ENDIF -->
6806 +
6807 + <!-- IF S_SHOW_POLL_BOX -->
6808 + <dl>
6809 + <dt><label for="poll_title">{{ lang('POLL_QUESTION') ~ lang('COLON') }}</label></dt>
6810 + <dd><input type="text" name="poll_title" id="poll_title" maxlength="100" value="{{ POLL_TITLE }}" class="inputbox" /></dd>
6811 + </dl>
6812 + <dl>
6813 + <dt><label for="poll_option_text">{L_POLL_OPTIONS}{L_COLON}</label><br /><span>{L_POLL_OPTIONS_EXPLAIN}</span></dt>
6814 + <dd><textarea name="poll_option_text" id="poll_option_text" rows="5" cols="35" class="inputbox">{POLL_OPTIONS}</textarea></dd>
6815 + </dl>
6816 +
6817 + <hr class="dashed" />
6818 +
6819 + <dl>
6820 + <dt><label for="poll_max_options">{L_POLL_MAX_OPTIONS}{L_COLON}</label></dt>
6821 + <dd><input type="number" min="0" max="999" name="poll_max_options" id="poll_max_options" value="{POLL_MAX_OPTIONS}" class="inputbox autowidth" /></dd>
6822 + <dd>{L_POLL_MAX_OPTIONS_EXPLAIN}</dd>
6823 + </dl>
6824 + <dl>
6825 + <dt><label for="poll_length">{L_POLL_FOR}{L_COLON}</label></dt>
6826 + <dd><label for="poll_length"><input type="number" min="0" max="999" name="poll_length" id="poll_length" value="{POLL_LENGTH}" class="inputbox autowidth" /> {L_DAYS}</label></dd>
6827 + <dd>{L_POLL_FOR_EXPLAIN}</dd>
6828 + </dl>
6829 +
6830 + <!-- IF S_POLL_VOTE_CHANGE -->
6831 + <hr class="dashed" />
6832 +
6833 + <dl>
6834 + <dt><label for="poll_vote_change">{L_POLL_VOTE_CHANGE}{L_COLON}</label></dt>
6835 + <dd><label for="poll_vote_change"><input type="checkbox" id="poll_vote_change" name="poll_vote_change"{VOTE_CHANGE_CHECKED} /> {L_POLL_VOTE_CHANGE_EXPLAIN}</label></dd>
6836 + </dl>
6837 + <!-- ENDIF -->
6838 + <!-- ENDIF -->
6839 +
6840 + <!-- EVENT posting_poll_body_options_after -->
6841 + </fieldset>
6842 +
6843 + </div>
6844 +</div>
6845
6846 diff --git a/template/posting_preview.html b/template/posting_preview.html
6847 new file mode 100644
6848 index 000000000..781d0de06
6849 --- /dev/null
6850 +++ b/template/posting_preview.html
6851 @@ -0,0 +1,51 @@
6852 +<div class="post <!-- IF S_PRIVMSGS -->pm<!-- ELSE -->bg2<!-- ENDIF -->" id="preview">
6853 + <div class="inner">
6854 +
6855 +<!-- IF S_HAS_POLL_OPTIONS -->
6856 + <div class="content">
6857 + <h2>{L_PREVIEW}{L_COLON} {POLL_QUESTION}</h2>
6858 + <p class="author"><!-- IF L_POLL_LENGTH -->{L_POLL_LENGTH}<br /><!-- ENDIF -->{L_MAX_VOTES}</p>
6859 +
6860 + <fieldset class="polls">
6861 + <!-- BEGIN poll_option -->
6862 + <dl>
6863 + <dt><label for="vote_{poll_option.POLL_OPTION_ID}">{poll_option.POLL_OPTION_CAPTION}</label></dt>
6864 + <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>
6865 + </dl>
6866 + <!-- END poll_option -->
6867 + </fieldset>
6868 + </div>
6869 +
6870 + </div>
6871 +</div>
6872 +
6873 +<div class="post bg2">
6874 + <div class="inner">
6875 +
6876 +<!-- ENDIF -->
6877 +
6878 +<!-- EVENT posting_preview_poll_after -->
6879 +
6880 + <div class="postbody">
6881 + <h3>{L_PREVIEW}{L_COLON} {PREVIEW_SUBJECT}</h3>
6882 +
6883 + <div class="content">{PREVIEW_MESSAGE}</div>
6884 +
6885 + <!-- EVENT posting_preview_content_after -->
6886 +
6887 + <!-- IF .attachment -->
6888 + <dl class="attachbox">
6889 + <dt>{L_ATTACHMENTS}</dt>
6890 + <!-- BEGIN attachment -->
6891 + <dd>{attachment.DISPLAY_ATTACHMENT}</dd>
6892 + <!-- END attachment -->
6893 + </dl>
6894 + <!-- ENDIF -->
6895 +
6896 + <!-- IF PREVIEW_SIGNATURE --><div class="signature">{PREVIEW_SIGNATURE}</div><!-- ENDIF -->
6897 + </div>
6898 +
6899 + </div>
6900 +</div>
6901 +
6902 +<hr />
6903
6904 diff --git a/template/posting_review.html b/template/posting_review.html
6905 new file mode 100644
6906 index 000000000..033a88485
6907 --- /dev/null
6908 +++ b/template/posting_review.html
6909 @@ -0,0 +1,44 @@
6910 +<h3>{L_POST_REVIEW}</h3>
6911 +
6912 +<p>{L_POST_REVIEW_EXPLAIN}</p>
6913 +
6914 +<!-- BEGIN post_review_row -->
6915 +<!-- IF post_review_row.S_IGNORE_POST -->
6916 +<div class="post bg3 post-ignore">
6917 + <div class="inner">
6918 + {post_review_row.L_IGNORE_POST}
6919 +<!-- ELSE -->
6920 +<div class="post <!-- IF post_review_row.S_ROW_COUNT is odd -->bg1<!-- ELSE -->bg2<!-- ENDIF -->">
6921 + <div class="inner">
6922 +<!-- ENDIF -->
6923 +
6924 + <div class="postbody" id="ppr{post_review_row.POST_ID}">
6925 + <h3><a href="#ppr{post_review_row.POST_ID}">{post_review_row.POST_SUBJECT}</a></h3>
6926 + <p class="author">
6927 + <!-- IF S_IS_BOT -->
6928 + <span><i class="icon fa-file fa-fw icon-lightgray icon-md" aria-hidden="true"></i><span class="sr-only">{post_review_row.MINI_POST}</span></span>
6929 + <!-- ELSE -->
6930 + <a href="{post_review_row.U_MINI_POST}" title="{post_review_row.MINI_POST}">
6931 + <i class="icon fa-file fa-fw icon-lightgray icon-md" aria-hidden="true"></i><span class="sr-only">{post_review_row.MINI_POST}</span>
6932 + </a>
6933 + <!-- ENDIF -->
6934 + {L_POST_BY_AUTHOR} <!-- EVENT posting_review_row_post_author_username_prepend --><strong>{post_review_row.POST_AUTHOR_FULL}</strong><!-- EVENT posting_review_row_post_author_username_append --> &raquo; {post_review_row.POST_DATE}
6935 + </p>
6936 + <div class="content">{post_review_row.MESSAGE}</div>
6937 +
6938 + <!-- IF post_review_row.S_HAS_ATTACHMENTS -->
6939 + <dl class="attachbox">
6940 + <dt>{L_ATTACHMENTS}</dt>
6941 + <!-- BEGIN attachment -->
6942 + <dd>{post_review_row.attachment.DISPLAY_ATTACHMENT}</dd>
6943 + <!-- END attachment -->
6944 + </dl>
6945 + <!-- ENDIF -->
6946 +
6947 + </div>
6948 +
6949 + </div>
6950 +</div>
6951 +<!-- END post_review_row -->
6952 +
6953 +<hr />
6954
6955 diff --git a/template/posting_smilies.html b/template/posting_smilies.html
6956 new file mode 100644
6957 index 000000000..b5794d5af
6958 --- /dev/null
6959 +++ b/template/posting_smilies.html
6960 @@ -0,0 +1,25 @@
6961 +<!-- INCLUDE simple_header.html -->
6962 +
6963 +<script>
6964 + var form_name = opener.form_name;
6965 + var text_name = opener.text_name;
6966 +</script>
6967 +<!-- INCLUDEJS {T_ASSETS_PATH}/javascript/editor.js -->
6968 +
6969 +<h2>{L_SMILIES}</h2>
6970 +<div class="panel">
6971 + <div class="inner">
6972 + <!-- BEGIN smiley -->
6973 + <a href="#" onclick="initInsertions(); insert_text('{smiley.A_SMILEY_CODE}', true, true); return false;"><img src="{smiley.SMILEY_IMG}" width="{smiley.SMILEY_WIDTH}" height="{smiley.SMILEY_HEIGHT}" alt="{smiley.SMILEY_CODE}" title="{smiley.SMILEY_DESC}" /></a>
6974 + <!-- END smiley -->
6975 +
6976 + </div>
6977 +</div>
6978 +<!-- IF .pagination -->
6979 + <div class="pagination">
6980 + <!-- INCLUDE pagination.html -->
6981 + </div>
6982 +<!-- ENDIF -->
6983 +<a href="#" onclick="window.close(); return false;">{L_CLOSE_WINDOW}</a>
6984 +
6985 +<!-- INCLUDE simple_footer.html -->
6986
6987 diff --git a/template/posting_topic_review.html b/template/posting_topic_review.html
6988 new file mode 100644
6989 index 000000000..8faece344
6990 --- /dev/null
6991 +++ b/template/posting_topic_review.html
6992 @@ -0,0 +1,89 @@
6993 +
6994 +<h3 id="review" class="review">
6995 + <span class="right-box"><a href="#review" onclick="viewableArea(getElementById('topicreview'), true); var rev_text = getElementById('review').getElementsByTagName('a').item(0).firstChild; if (rev_text.data == '{LA_EXPAND_VIEW}'){rev_text.data = '{LA_COLLAPSE_VIEW}'; } else if (rev_text.data == '{LA_COLLAPSE_VIEW}'){rev_text.data = '{LA_EXPAND_VIEW}'};">{L_EXPAND_VIEW}</a></span>
6996 + {L_TOPIC_REVIEW}{L_COLON} {TOPIC_TITLE}
6997 +</h3>
6998 +
6999 +<div id="topicreview" class="topicreview">
7000 +<script>
7001 + bbcodeEnabled = {S_BBCODE_ALLOWED};
7002 +</script>
7003 + <!-- BEGIN topic_review_row -->
7004 +
7005 + <!-- IF topic_review_row.S_IGNORE_POST -->
7006 + <div class="post bg3 post-ignore">
7007 + <div class="inner">
7008 + {topic_review_row.L_IGNORE_POST}
7009 + <!-- ELSE IF topic_review_row.S_POST_DELETED -->
7010 + <div class="post bg3 post-ignore">
7011 + <div class="inner">
7012 + {topic_review_row.L_DELETE_POST}
7013 + <!-- ELSE -->
7014 + <div class="post <!-- IF topic_review_row.S_ROW_COUNT is odd -->bg1<!-- ELSE -->bg2<!-- ENDIF --><!-- IF topic_review_row.POST_ID == REPORTED_POST_ID --> reported<!-- ENDIF -->">
7015 + <div class="inner">
7016 + <!-- ENDIF -->
7017 +
7018 + <div class="postbody" id="pr{topic_review_row.POST_ID}">
7019 + <h3><a href="#pr{topic_review_row.POST_ID}">{topic_review_row.POST_SUBJECT}</a></h3>
7020 +
7021 + <!-- IF (topic_review_row.POSTER_QUOTE and topic_review_row.DECODED_MESSAGE) or topic_review_row.U_MCP_DETAILS -->
7022 + <ul class="post-buttons">
7023 + <!-- IF topic_review_row.U_MCP_DETAILS -->
7024 + <li>
7025 + <a href="{topic_review_row.U_MCP_DETAILS}" title="{L_POST_DETAILS}" class="button button-icon-only">
7026 + <i class="icon fa-info fa-fw" aria-hidden="true"></i><span class="sr-only">{L_POST_DETAILS}</span>
7027 + </a>
7028 + <li>
7029 + <!-- ENDIF -->
7030 + <!-- IF topic_review_row.POSTER_QUOTE and topic_review_row.DECODED_MESSAGE -->
7031 + <li>
7032 + <a href="#postingbox" onclick="addquote({topic_review_row.POST_ID}, '{topic_review_row.POSTER_QUOTE}', '{LA_WROTE}', {post_id:{topic_review_row.POST_ID},time:{topic_review_row.POST_TIME},user_id:{topic_review_row.USER_ID}});" title="{L_QUOTE} {topic_review_row.POST_AUTHOR}" class="button button-icon-only">
7033 + <i class="icon fa-quote-left fa-fw" aria-hidden="true"></i><span class="sr-only">{L_QUOTE} {topic_review_row.POST_AUTHOR}</span>
7034 + </a>
7035 + </li>
7036 + <!-- ENDIF -->
7037 + </ul>
7038 + <!-- ENDIF -->
7039 +
7040 + <!-- EVENT posting_topic_review_row_post_details_before -->
7041 + <p class="author">
7042 + <!-- IF S_IS_BOT -->
7043 + <span><i class="icon fa-file fa-fw icon-lightgray icon-md" aria-hidden="true"></i><span class="sr-only">{topic_review_row.MINI_POST}</span></span>
7044 + <!-- ELSE -->
7045 + <a href="{topic_review_row.U_MINI_POST}" title="{topic_review_row.MINI_POST}">
7046 + <i class="icon fa-file fa-fw icon-lightgray icon-md" aria-hidden="true"></i><span class="sr-only">{topic_review_row.MINI_POST}</span>
7047 + </a>
7048 + <!-- ENDIF -->
7049 + {L_POST_BY_AUTHOR} <!-- EVENT posting_topic_review_row_post_author_username_prepend --><strong>{topic_review_row.POST_AUTHOR_FULL}</strong><!-- EVENT posting_topic_review_row_post_author_username_append --> &raquo; {topic_review_row.POST_DATE}
7050 + </p>
7051 + <!-- EVENT posting_topic_review_row_post_details_after -->
7052 +
7053 + <div class="content">{topic_review_row.MESSAGE}</div>
7054 +
7055 + <!-- EVENT posting_topic_review_row_content_after -->
7056 +
7057 + <!-- IF topic_review_row.S_HAS_ATTACHMENTS -->
7058 + <dl class="attachbox">
7059 + <dt>{L_ATTACHMENTS}</dt>
7060 + <!-- BEGIN attachment -->
7061 + <dd>{topic_review_row.attachment.DISPLAY_ATTACHMENT}</dd>
7062 + <!-- END attachment -->
7063 + </dl>
7064 + <!-- ENDIF -->
7065 +
7066 + <!-- IF topic_review_row.POSTER_QUOTE and topic_review_row.DECODED_MESSAGE -->
7067 + <div id="message_{topic_review_row.POST_ID}" style="display: none;">{topic_review_row.DECODED_MESSAGE}</div>
7068 + <!-- ENDIF -->
7069 + </div>
7070 + </div>
7071 + </div>
7072 + <!-- END topic_review_row -->
7073 +</div>
7074 +
7075 +<hr />
7076 +
7077 +<p>
7078 + <a href="<!-- IF S_MCP_REPORT -->#report<!-- ELSE -->#postingbox<!-- ENDIF -->" class="top">
7079 + <i class="icon fa-chevron-circle-up fa-fw icon-gray" aria-hidden="true"></i><span>{L_BACK_TO_TOP}</span>
7080 + </a>
7081 +</p>
7082
7083 diff --git a/template/profilefields/bool.html b/template/profilefields/bool.html
7084 new file mode 100644
7085 index 000000000..f1d7ba75f
7086 --- /dev/null
7087 +++ b/template/profilefields/bool.html
7088 @@ -0,0 +1,7 @@
7089 +<!-- BEGIN bool -->
7090 +<!-- IF bool.FIELD_LENGTH eq 1 -->
7091 + <!-- BEGIN options --><label for="{bool.FIELD_IDENT}_{bool.options.OPTION_ID}"><input type="radio" class="radio" name="{bool.FIELD_IDENT}" id="{bool.FIELD_IDENT}_{bool.options.OPTION_ID}" value="{bool.options.OPTION_ID}"{bool.options.CHECKED} /> {bool.options.VALUE}</label> <!-- END options -->
7092 +<!-- ELSE -->
7093 + <input type="checkbox" class="radio" name="{bool.FIELD_IDENT}" id="{bool.FIELD_IDENT}"<!-- IF bool.FIELD_VALUE --> checked="checked"<!-- ENDIF --> />
7094 +<!-- ENDIF -->
7095 +<!-- END bool -->
7096
7097 diff --git a/template/profilefields/date.html b/template/profilefields/date.html
7098 new file mode 100644
7099 index 000000000..5d5bc04ed
7100 --- /dev/null
7101 +++ b/template/profilefields/date.html
7102 @@ -0,0 +1,5 @@
7103 +<!-- BEGIN date -->
7104 +<label for="{date.FIELD_IDENT}_day">{L_DAY}{L_COLON} <select name="{date.FIELD_IDENT}_day" id="{date.FIELD_IDENT}_day">{date.S_DAY_OPTIONS}</select></label>
7105 +<label for="{date.FIELD_IDENT}_month">{L_MONTH}{L_COLON} <select name="{date.FIELD_IDENT}_month" id="{date.FIELD_IDENT}_month">{date.S_MONTH_OPTIONS}</select></label>
7106 +<label for="{date.FIELD_IDENT}_year">{L_YEAR}{L_COLON} <select name="{date.FIELD_IDENT}_year" id="{date.FIELD_IDENT}_year">{date.S_YEAR_OPTIONS}</select></label>
7107 +<!-- END date -->
7108
7109 diff --git a/template/profilefields/dropdown.html b/template/profilefields/dropdown.html
7110 new file mode 100644
7111 index 000000000..243b7039d
7112 --- /dev/null
7113 +++ b/template/profilefields/dropdown.html
7114 @@ -0,0 +1,5 @@
7115 +<!-- BEGIN dropdown -->
7116 +<select name="{dropdown.FIELD_IDENT}" id="{dropdown.FIELD_IDENT}">
7117 + <!-- BEGIN options --><option value="{dropdown.options.OPTION_ID}"{dropdown.options.SELECTED}>{dropdown.options.VALUE}</option><!-- END options -->
7118 +</select>
7119 +<!-- END dropdown -->
7120
7121 diff --git a/template/profilefields/int.html b/template/profilefields/int.html
7122 new file mode 100644
7123 index 000000000..a6f9a0a49
7124 --- /dev/null
7125 +++ b/template/profilefields/int.html
7126 @@ -0,0 +1,3 @@
7127 +<!-- BEGIN int -->
7128 +<input type="number" min="{int.FIELD_MINLEN}" max="{int.FIELD_MAXLEN}" class="inputbox autowidth" name="{int.FIELD_IDENT}" id="{int.FIELD_IDENT}" size="{int.FIELD_LENGTH}" value="{int.FIELD_VALUE}" />
7129 +<!-- END int -->
7130
7131 diff --git a/template/profilefields/string.html b/template/profilefields/string.html
7132 new file mode 100644
7133 index 000000000..cf457d39a
7134 --- /dev/null
7135 +++ b/template/profilefields/string.html
7136 @@ -0,0 +1,3 @@
7137 +<!-- BEGIN string -->
7138 +<input type="text" class="inputbox autowidth" name="{string.FIELD_IDENT}" id="{string.FIELD_IDENT}" size="{string.FIELD_LENGTH}" maxlength="{string.FIELD_MAXLEN}" value="{string.FIELD_VALUE}" />
7139 +<!-- END string -->
7140
7141 diff --git a/template/profilefields/text.html b/template/profilefields/text.html
7142 new file mode 100644
7143 index 000000000..f54c63925
7144 --- /dev/null
7145 +++ b/template/profilefields/text.html
7146 @@ -0,0 +1,3 @@
7147 +<!-- BEGIN text -->
7148 +<textarea name="{text.FIELD_IDENT}" id="{text.FIELD_IDENT}" rows="{text.FIELD_ROWS}" cols="{text.FIELD_COLS}" class="inputbox">{text.FIELD_VALUE}</textarea>
7149 +<!-- END text -->
7150
7151 diff --git a/template/profilefields/url.html b/template/profilefields/url.html
7152 new file mode 100644
7153 index 000000000..8dd3a90de
7154 --- /dev/null
7155 +++ b/template/profilefields/url.html
7156 @@ -0,0 +1,3 @@
7157 +<!-- BEGIN url -->
7158 +<input type="url" class="inputbox autowidth" name="{url.FIELD_IDENT}" id="{url.FIELD_IDENT}" size="{url.FIELD_LENGTH}" maxlength="{url.FIELD_MAXLEN}" value="{url.FIELD_VALUE}" />
7159 +<!-- END url -->
7160
7161 diff --git a/template/quickreply_editor.html b/template/quickreply_editor.html
7162 new file mode 100644
7163 index 000000000..983949449
7164 --- /dev/null
7165 +++ b/template/quickreply_editor.html
7166 @@ -0,0 +1,27 @@
7167 +<form method="post" action="{U_QR_ACTION}" id="qr_postform">
7168 +<!-- EVENT quickreply_editor_panel_before -->
7169 + <div class="panel">
7170 + <div class="inner">
7171 + <h2 class="quickreply-title">{L_QUICKREPLY}</h2>
7172 + <fieldset class="fields1">
7173 + <!-- EVENT quickreply_editor_subject_before -->
7174 + <dl style="clear: left;">
7175 + <dt><label for="subject">{L_SUBJECT}{L_COLON}</label></dt>
7176 + <dd><input type="text" name="subject" id="subject" size="45" maxlength="124" tabindex="2" value="{SUBJECT}" class="inputbox autowidth" /></dd>
7177 + </dl>
7178 + <!-- EVENT quickreply_editor_message_before -->
7179 + <div id="message-box" class="message-box">
7180 + <textarea style="height: 9em;" name="message" rows="7" cols="76" tabindex="3" class="inputbox"></textarea>
7181 + </div>
7182 + <!-- EVENT quickreply_editor_message_after -->
7183 + </fieldset>
7184 + <fieldset class="submit-buttons">
7185 + {S_FORM_TOKEN}
7186 + {QR_HIDDEN_FIELDS}
7187 + <input type="submit" accesskey="f" tabindex="6" name="preview" value="{L_FULL_EDITOR}" class="button2" id="qr_full_editor" />&nbsp;
7188 + <input type="submit" accesskey="s" tabindex="7" name="post" value="{L_SUBMIT}" class="button1" />&nbsp;
7189 + </fieldset>
7190 + </div>
7191 + </div>
7192 +<!-- EVENT quickreply_editor_panel_after -->
7193 +</form>
7194
7195 diff --git a/template/report_body.html b/template/report_body.html
7196 new file mode 100644
7197 index 000000000..285e8ec8d
7198 --- /dev/null
7199 +++ b/template/report_body.html
7200 @@ -0,0 +1,55 @@
7201 +<!-- INCLUDE overall_header.html -->
7202 +
7203 +<h2 class="titlespace"><!-- IF S_REPORT_POST -->{L_REPORT_POST}<!-- ELSE -->{L_REPORT_MESSAGE}<!-- ENDIF --></h2>
7204 +
7205 +<form method="post" action="{S_REPORT_ACTION}" id="report">
7206 +<div class="panel">
7207 + <div class="inner">
7208 +
7209 + <div class="content">
7210 + <p><!-- IF S_REPORT_POST -->{L_REPORT_POST_EXPLAIN}<!-- ELSE -->{L_REPORT_MESSAGE_EXPLAIN}<!-- ENDIF --></p>
7211 +
7212 + <fieldset>
7213 + <!-- IF ERROR --><dl><dd class="error">{ERROR}</dd></dl><!-- ENDIF -->
7214 + <dl class="fields2">
7215 + <dt><label for="reason_id">{L_REASON}{L_COLON}</label></dt>
7216 + <dd><select name="reason_id" id="reason_id" class="full"><!-- BEGIN reason --><option value="{reason.ID}"<!-- IF reason.S_SELECTED --> selected="selected"<!-- ENDIF -->>{reason.DESCRIPTION}</option><!-- END reason --></select></dd>
7217 + </dl>
7218 + <!-- IF S_CAN_NOTIFY -->
7219 + <dl class="fields2">
7220 + <dt><label for="notify1">{L_REPORT_NOTIFY}{L_COLON}</label><br /><span>{L_REPORT_NOTIFY_EXPLAIN}</span></dt>
7221 + <dd>
7222 + <label for="notify1"><input type="radio" name="notify" id="notify1" value="1" <!-- IF not S_NOTIFY -->checked="checked"<!-- ENDIF --> /> {L_YES}</label>
7223 + <label for="notify0"><input type="radio" name="notify" id="notify0" value="0" <!-- IF S_NOTIFY -->checked="checked"<!-- ENDIF --> /> {L_NO}</label>
7224 + </dd>
7225 + </dl>
7226 + <!-- ENDIF -->
7227 + <dl class="fields2">
7228 + <dt><label for="report_text">{L_MORE_INFO}{L_COLON}</label><br /><span>{L_CAN_LEAVE_BLANK}</span></dt>
7229 + <dd><textarea name="report_text" id="report_text" rows="10" cols="76" class="inputbox">{REPORT_TEXT}</textarea></dd>
7230 + </dl>
7231 + <!-- IF CAPTCHA_TEMPLATE -->
7232 + <!-- INCLUDE {CAPTCHA_TEMPLATE} -->
7233 + <!-- ENDIF -->
7234 + </fieldset>
7235 + </div>
7236 +
7237 + </div>
7238 +</div>
7239 +
7240 +<div class="panel">
7241 + <div class="inner">
7242 +
7243 + <div class="content">
7244 + <fieldset class="submit-buttons">
7245 + <input type="submit" name="submit" class="button1" value="{L_SUBMIT}" />&nbsp;
7246 + <input type="submit" name="cancel" class="button2" value="{L_CANCEL}" />
7247 + {S_FORM_TOKEN}
7248 + </fieldset>
7249 + </div>
7250 +
7251 + </div>
7252 +</div>
7253 +</form>
7254 +
7255 +<!-- INCLUDE overall_footer.html -->
7256
7257 diff --git a/template/search_body.html b/template/search_body.html
7258 new file mode 100644
7259 index 000000000..618e2680b
7260 --- /dev/null
7261 +++ b/template/search_body.html
7262 @@ -0,0 +1,136 @@
7263 +<!-- INCLUDE overall_header.html -->
7264 +
7265 +<h2 class="solo">{L_SEARCH}</h2>
7266 +
7267 +<!-- EVENT search_body_form_before -->
7268 +<form method="get" action="{S_SEARCH_ACTION}" data-focus="keywords">
7269 +
7270 +<div class="panel">
7271 + <div class="inner">
7272 + <h3>{L_SEARCH_QUERY}</h3>
7273 +
7274 + <!-- EVENT search_body_search_query_before -->
7275 + <fieldset>
7276 + <!-- EVENT search_body_search_query_prepend -->
7277 + <dl>
7278 + <dt><label for="keywords">{L_SEARCH_KEYWORDS}{L_COLON}</label><br /><span>{L_SEARCH_KEYWORDS_EXPLAIN}</span></dt>
7279 + <dd><input type="search" class="inputbox" name="keywords" id="keywords" size="40" title="{L_SEARCH_KEYWORDS}" /></dd>
7280 + <dd><label for="terms1"><input type="radio" name="terms" id="terms1" value="all" checked="checked" /> {L_SEARCH_ALL_TERMS}</label></dd>
7281 + <dd><label for="terms2"><input type="radio" name="terms" id="terms2" value="any" /> {L_SEARCH_ANY_TERMS}</label></dd>
7282 + </dl>
7283 + <dl>
7284 + <dt><label for="author">{L_SEARCH_AUTHOR}{L_COLON}</label><br /><span>{L_SEARCH_AUTHOR_EXPLAIN}</span></dt>
7285 + <dd><input type="search" class="inputbox" name="author" id="author" size="40" title="{L_SEARCH_AUTHOR}" /></dd>
7286 + </dl>
7287 + <!-- EVENT search_body_search_query_append -->
7288 + </fieldset>
7289 + <!-- EVENT search_body_search_query_after -->
7290 +
7291 + </div>
7292 +</div>
7293 +
7294 +<div class="panel bg2">
7295 + <div class="inner">
7296 +
7297 + <h3>{L_SEARCH_OPTIONS}</h3>
7298 +
7299 + <!-- EVENT search_body_search_options_before -->
7300 + <fieldset>
7301 + <!-- EVENT search_body_search_options_prepend -->
7302 + <dl>
7303 + <dt><label for="search_forum">{L_SEARCH_FORUMS}{L_COLON}</label><br /><span>{L_SEARCH_FORUMS_EXPLAIN}</span></dt>
7304 + <dd><select name="fid[]" id="search_forum" multiple="multiple" size="8" title="{L_SEARCH_FORUMS}">{S_FORUM_OPTIONS}</select></dd>
7305 + </dl>
7306 + <dl>
7307 + <dt><label for="search_child1">{L_SEARCH_SUBFORUMS}{L_COLON}</label></dt>
7308 + <dd>
7309 + <label for="search_child1"><input type="radio" name="sc" id="search_child1" value="1" checked="checked" /> {L_YES}</label>
7310 + <label for="search_child2"><input type="radio" name="sc" id="search_child2" value="0" /> {L_NO}</label>
7311 + </dd>
7312 + </dl>
7313 + <dl>
7314 + <dt><label for="sf1">{L_SEARCH_WITHIN}{L_COLON}</label></dt>
7315 + <dd><label for="sf1"><input type="radio" name="sf" id="sf1" value="all" checked="checked" /> {L_SEARCH_TITLE_MSG}</label></dd>
7316 + <dd><label for="sf2"><input type="radio" name="sf" id="sf2" value="msgonly" /> {L_SEARCH_MSG_ONLY}</label></dd>
7317 + <dd><label for="sf3"><input type="radio" name="sf" id="sf3" value="titleonly" /> {L_SEARCH_TITLE_ONLY}</label></dd>
7318 + <dd><label for="sf4"><input type="radio" name="sf" id="sf4" value="firstpost" /> {L_SEARCH_FIRST_POST}</label></dd>
7319 + </dl>
7320 + <!-- EVENT search_body_search_options_append -->
7321 +
7322 + <hr class="dashed" />
7323 +
7324 + <!-- EVENT search_body_search_display_options_prepend -->
7325 + <dl>
7326 + <dt><label for="show_results1">{L_DISPLAY_RESULTS}{L_COLON}</label></dt>
7327 + <dd>
7328 + <label for="show_results1"><input type="radio" name="sr" id="show_results1" value="posts" checked="checked" /> {L_POSTS}</label>
7329 + <label for="show_results2"><input type="radio" name="sr" id="show_results2" value="topics" /> {L_TOPICS}</label>
7330 + </dd>
7331 + </dl>
7332 + <dl>
7333 + <dt><label for="sd">{L_RESULT_SORT}{L_COLON}</label></dt>
7334 + <dd>{S_SELECT_SORT_KEY}&nbsp;
7335 + <label for="sa"><input type="radio" name="sd" id="sa" value="a" /> {L_SORT_ASCENDING}</label>
7336 + <label for="sd"><input type="radio" name="sd" id="sd" value="d" checked="checked" /> {L_SORT_DESCENDING}</label>
7337 + </dd>
7338 + </dl>
7339 + <dl>
7340 + <dt><label>{L_RESULT_DAYS}{L_COLON}</label></dt>
7341 + <dd>{S_SELECT_SORT_DAYS}</dd>
7342 + </dl>
7343 + <dl>
7344 + <dt><label>{L_RETURN_FIRST}{L_COLON}</label></dt>
7345 + <dd><select name="ch" title="{L_RETURN_FIRST}">{S_CHARACTER_OPTIONS}</select> {L_POST_CHARACTERS}</dd>
7346 + </dl>
7347 + <!-- EVENT search_body_search_display_options_append -->
7348 + </fieldset>
7349 + <!-- EVENT search_body_search_options_after -->
7350 +
7351 + </div>
7352 +</div>
7353 +
7354 +<div class="panel bg3">
7355 + <div class="inner">
7356 +
7357 + <fieldset class="submit-buttons">
7358 + {S_HIDDEN_FIELDS}<input type="reset" value="{L_RESET}" name="reset" class="button2" />&nbsp;
7359 + <input type="submit" name="submit" value="{L_SEARCH}" class="button1" />
7360 + </fieldset>
7361 +
7362 + </div>
7363 +</div>
7364 +
7365 +</form>
7366 +<!-- EVENT search_body_form_after -->
7367 +
7368 +<!-- EVENT search_body_recent_search_before -->
7369 +<!-- IF .recentsearch -->
7370 +<div class="forumbg forumbg-table">
7371 + <div class="inner">
7372 +
7373 + <table class="table1">
7374 + <thead>
7375 + <tr>
7376 + <th colspan="2" class="name">{L_RECENT_SEARCHES}</th>
7377 + </tr>
7378 + </thead>
7379 + <tbody>
7380 + <!-- BEGIN recentsearch -->
7381 + <tr class="<!-- IF recentsearch.S_ROW_COUNT is even -->bg1<!-- ELSE -->bg2<!-- ENDIF -->">
7382 + <td><a href="{recentsearch.U_KEYWORDS}">{recentsearch.KEYWORDS}</a></td>
7383 + <td class="active">{recentsearch.TIME}</td>
7384 + </tr>
7385 + <!-- BEGINELSE -->
7386 + <tr class="bg1">
7387 + <td colspan="2">{L_NO_RECENT_SEARCHES}</td>
7388 + </tr>
7389 + <!-- END recentsearch -->
7390 + </tbody>
7391 + </table>
7392 +
7393 + </div>
7394 +</div>
7395 +<!-- ENDIF -->
7396 +<!-- EVENT search_body_recent_search_after -->
7397 +
7398 +<!-- INCLUDE overall_footer.html -->
7399
7400 diff --git a/template/search_results.html b/template/search_results.html
7401 new file mode 100644
7402 index 000000000..391afa4d7
7403 --- /dev/null
7404 +++ b/template/search_results.html
7405 @@ -0,0 +1,244 @@
7406 +<!-- INCLUDE overall_header.html -->
7407 +
7408 +<!-- EVENT search_results_header_before -->
7409 +
7410 +<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>
7411 +<!-- IF SEARCHED_QUERY --> <p>{L_SEARCHED_QUERY}{L_COLON} <strong>{SEARCHED_QUERY}</strong></p><!-- ENDIF -->
7412 +<!-- IF IGNORED_WORDS --> <p>{L_IGNORED_TERMS}{L_COLON} <strong>{IGNORED_WORDS}</strong></p><!-- ENDIF -->
7413 +<!-- IF PHRASE_SEARCH_DISABLED --> <p><strong>{L_PHRASE_SEARCH_DISABLED}</strong></p><!-- ENDIF -->
7414 +
7415 +<!-- IF SEARCH_TOPIC -->
7416 + <p class="return-link">
7417 + <a class="arrow-{S_CONTENT_FLOW_BEGIN}" href="{U_SEARCH_TOPIC}">
7418 + <i class="icon fa-angle-{S_CONTENT_FLOW_BEGIN} fa-fw icon-black" aria-hidden="true"></i><span>{L_RETURN_TO_TOPIC}</span>
7419 + </a>
7420 + </p>
7421 +<!-- ELSE -->
7422 + <p class="advanced-search-link">
7423 + <a class="arrow-{S_CONTENT_FLOW_BEGIN}" href="{U_SEARCH}" title="{L_SEARCH_ADV}">
7424 + <i class="icon fa-angle-{S_CONTENT_FLOW_BEGIN} fa-fw icon-black" aria-hidden="true"></i><span>{L_GO_TO_SEARCH_ADV}</span>
7425 + </a>
7426 + </p>
7427 +<!-- ENDIF -->
7428 +
7429 +<!-- EVENT search_results_header_after -->
7430 +
7431 +<!-- IF .pagination or SEARCH_MATCHES or TOTAL_MATCHES or PAGE_NUMBER -->
7432 + <div class="action-bar bar-top">
7433 +
7434 + <!-- IF TOTAL_MATCHES > 0 -->
7435 + <div class="search-box" role="search">
7436 + <form method="post" action="{S_SEARCH_ACTION}">
7437 + <fieldset>
7438 + <input class="inputbox search tiny" type="search" name="add_keywords" id="add_keywords" value="" placeholder="{L_SEARCH_IN_RESULTS}" />
7439 + <button class="button button-search" type="submit" title="{L_SEARCH}">
7440 + <i class="icon fa-search fa-fw" aria-hidden="true"></i><span class="sr-only">{L_SEARCH}</span>
7441 + </button>
7442 + <a href="{U_SEARCH}" class="button button-search-end" title="{L_SEARCH_ADV}">
7443 + <i class="icon fa-cog fa-fw" aria-hidden="true"></i><span class="sr-only">{L_SEARCH_ADV}</span>
7444 + </a>
7445 + </fieldset>
7446 + </form>
7447 + </div>
7448 + <!-- ENDIF -->
7449 +
7450 + <!-- EVENT search_results_searchbox_after -->
7451 +
7452 + <div class="pagination">
7453 + <!-- IF U_MARK_ALL_READ --><a href="{U_MARK_ALL_READ}" class="mark-read" accesskey="m">{L_MARK_ALL_READ}</a> &bull;<!-- ENDIF -->
7454 + {SEARCH_MATCHES}
7455 + <!-- IF .pagination -->
7456 + <!-- INCLUDE pagination.html -->
7457 + <!-- ELSE -->
7458 + &bull; {PAGE_NUMBER}
7459 + <!-- ENDIF -->
7460 + </div>
7461 + </div>
7462 +<!-- ENDIF -->
7463 +
7464 +<!-- IF S_SHOW_TOPICS -->
7465 +
7466 + <!-- IF .searchresults -->
7467 + <div class="forumbg">
7468 +
7469 + <div class="inner">
7470 + <ul class="topiclist">
7471 + <li class="header">
7472 + <dl class="row-item">
7473 + <dt><div class="list-inner">{L_TOPICS}</div></dt>
7474 + <dd class="posts">{L_REPLIES}</dd>
7475 + <dd class="views">{L_VIEWS}</dd>
7476 + <dd class="lastpost"><span>{L_LAST_POST}</span></dd>
7477 + </dl>
7478 + </li>
7479 + </ul>
7480 + <ul class="topiclist topics">
7481 +
7482 + <!-- BEGIN searchresults -->
7483 + <!-- EVENT search_results_topic_before -->
7484 + <li class="row<!-- IF searchresults.S_ROW_COUNT is even --> bg1<!-- ELSE --> bg2<!-- ENDIF -->">
7485 + <dl class="row-item {searchresults.TOPIC_IMG_STYLE}">
7486 + <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}">
7487 + <!-- IF searchresults.S_UNREAD_TOPIC and not S_IS_BOT --><a href="{searchresults.U_NEWEST_POST}" class="row-item-link"></a><!-- ENDIF -->
7488 + <div class="list-inner">
7489 + <!-- EVENT topiclist_row_prepend -->
7490 + <!-- IF searchresults.S_UNREAD_TOPIC and not S_IS_BOT -->
7491 + <a class="unread" href="{searchresults.U_NEWEST_POST}">
7492 + <i class="icon fa-file fa-fw icon-red icon-md" aria-hidden="true"></i><span class="sr-only">{L_NEW_POST}</span>
7493 + </a>
7494 + <!-- ENDIF -->
7495 + <a href="{searchresults.U_VIEW_TOPIC}" class="topictitle">{searchresults.TOPIC_TITLE}</a>
7496 + <!-- IF searchresults.S_TOPIC_UNAPPROVED or searchresults.S_POSTS_UNAPPROVED -->
7497 + <a href="{searchresults.U_MCP_QUEUE}" title="{L_TOPIC_UNAPPROVED}">
7498 + <i class="icon fa-question fa-fw icon-blue" aria-hidden="true"></i><span class="sr-only">{L_TOPIC_UNAPPROVED}</span>
7499 + </a>
7500 + <!-- ENDIF -->
7501 + <!-- IF searchresults.S_TOPIC_DELETED -->
7502 + <a href="{searchresults.U_MCP_QUEUE}" title="{L_TOPIC_DELETED}">
7503 + <i class="icon fa-recycle fa-fw icon-green" aria-hidden="true"></i><span class="sr-only">{L_TOPIC_DELETED}</span>
7504 + </a>
7505 + <!-- ENDIF -->
7506 + <!-- IF searchresults.S_TOPIC_REPORTED -->
7507 + <a href="{searchresults.U_MCP_REPORT}" title="{L_TOPIC_REPORTED}">
7508 + <i class="icon fa-exclamation fa-fw icon-red" aria-hidden="true"></i><span class="sr-only">{L_TOPIC_REPORTED}</span>
7509 + </a>
7510 + <!-- ENDIF -->
7511 + <br />
7512 + <!-- EVENT topiclist_row_topic_title_after -->
7513 +
7514 + <!-- IF not S_IS_BOT -->
7515 + <div class="responsive-show" style="display: none;">
7516 + {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}">{searchresults.LAST_POST_TIME}</a>
7517 + <br />{L_POSTED} {L_IN} <a href="{searchresults.U_VIEW_FORUM}">{searchresults.FORUM_TITLE}</a>
7518 + </div>
7519 + <!-- IF searchresults.TOPIC_REPLIES --><span class="responsive-show left-box" style="display: none;">{L_REPLIES}{L_COLON} <strong>{searchresults.TOPIC_REPLIES}</strong></span><!-- ENDIF -->
7520 + <!-- ENDIF -->
7521 +
7522 + <div class="responsive-hide left-box">
7523 + <!-- IF searchresults.S_HAS_POLL --><i class="icon fa-bar-chart fa-fw" aria-hidden="true"></i><!-- ENDIF -->
7524 + <!-- IF searchresults.ATTACH_ICON_IMG --><i class="icon fa-paperclip fa-fw" aria-hidden="true"></i><!-- ENDIF -->
7525 + {% EVENT topiclist_row_topic_by_author_before %}
7526 + {L_POST_BY_AUTHOR} <!-- EVENT search_results_topic_author_username_prepend -->{searchresults.TOPIC_AUTHOR_FULL}<!-- EVENT search_results_topic_author_username_append --> &raquo; {searchresults.FIRST_POST_TIME} &raquo; {L_IN} <a href="{searchresults.U_VIEW_FORUM}">{searchresults.FORUM_TITLE}</a>
7527 + {% EVENT topiclist_row_topic_by_author_after %}
7528 + </div>
7529 +
7530 + <!-- IF .searchresults.pagination -->
7531 + <div class="pagination">
7532 + <span><i class="icon fa-clone fa-fw" aria-hidden="true"></i></span>
7533 + <ul>
7534 + <!-- BEGIN pagination -->
7535 + <!-- IF searchresults.pagination.S_IS_PREV -->
7536 + <!-- ELSEIF searchresults.pagination.S_IS_CURRENT --><li class="active"><span>{searchresults.pagination.PAGE_NUMBER}</span></li>
7537 + <!-- ELSEIF searchresults.pagination.S_IS_ELLIPSIS --><li class="ellipsis"><span>{L_ELLIPSIS}</span></li>
7538 + <!-- ELSEIF searchresults.pagination.S_IS_NEXT -->
7539 + <!-- ELSE --><li><a class="button" href="{searchresults.pagination.PAGE_URL}">{searchresults.pagination.PAGE_NUMBER}</a></li>
7540 + <!-- ENDIF -->
7541 + <!-- END pagination -->
7542 + </ul>
7543 + </div>
7544 + <!-- ENDIF -->
7545 +
7546 + <!-- EVENT topiclist_row_append -->
7547 + </div>
7548 + </dt>
7549 + <dd class="posts">{searchresults.TOPIC_REPLIES} <dfn>{L_REPLIES}</dfn></dd>
7550 + <dd class="views">{searchresults.TOPIC_VIEWS} <dfn>{L_VIEWS}</dfn></dd>
7551 + <dd class="lastpost">
7552 + <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 -->
7553 + <!-- IF not S_IS_BOT -->
7554 + <a href="{searchresults.U_LAST_POST}" title="{L_GOTO_LAST_POST}">
7555 + <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>
7556 + </a>
7557 + <!-- ENDIF -->
7558 + <br />{searchresults.LAST_POST_TIME}
7559 + </span>
7560 + </dd>
7561 + </dl>
7562 + </li>
7563 + <!-- EVENT search_results_topic_after -->
7564 + <!-- END searchresults -->
7565 + </ul>
7566 +
7567 + </div>
7568 + </div>
7569 + <!-- ELSE -->
7570 + <div class="panel">
7571 + <div class="inner">
7572 + <strong>{L_NO_SEARCH_RESULTS}</strong>
7573 + </div>
7574 + </div>
7575 + <!-- ENDIF -->
7576 +
7577 +<!-- ELSE -->
7578 +
7579 + <!-- BEGIN searchresults -->
7580 + <!-- EVENT search_results_post_before -->
7581 + <div class="search post <!-- IF searchresults.S_ROW_COUNT is odd -->bg1<!-- ELSE -->bg2<!-- ENDIF --><!-- IF searchresults.S_POST_REPORTED --> reported<!-- ENDIF -->">
7582 + <div class="inner">
7583 +
7584 + <!-- IF searchresults.S_IGNORE_POST -->
7585 + <div class="postbody">
7586 + {searchresults.L_IGNORE_POST}
7587 + </div>
7588 + <!-- ELSE -->
7589 + <dl class="postprofile">
7590 + <!-- EVENT search_results_postprofile_before -->
7591 + <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>
7592 + <dd class="search-result-date">{searchresults.POST_DATE}</dd>
7593 + <dd>{L_FORUM}{L_COLON} <a href="{searchresults.U_VIEW_FORUM}">{searchresults.FORUM_TITLE}</a></dd>
7594 + <dd>{L_TOPIC}{L_COLON} <a href="{searchresults.U_VIEW_TOPIC}">{searchresults.TOPIC_TITLE}</a></dd>
7595 + <!-- EVENT search_results_topic_title_after -->
7596 + <dd>{L_REPLIES}{L_COLON} <strong>{searchresults.TOPIC_REPLIES}</strong></dd>
7597 + <dd>{L_VIEWS}{L_COLON} <strong>{searchresults.TOPIC_VIEWS}</strong></dd>
7598 + <!-- EVENT search_results_postprofile_after -->
7599 + </dl>
7600 +
7601 + <div class="postbody">
7602 + <h3><a href="{searchresults.U_VIEW_POST}">{searchresults.POST_SUBJECT}</a></h3>
7603 + <div class="content">{searchresults.MESSAGE}</div>
7604 + <!-- EVENT search_results_content_after -->
7605 + </div>
7606 + <!-- ENDIF -->
7607 +
7608 + <!-- IF not searchresults.S_IGNORE_POST -->
7609 + <ul class="searchresults">
7610 + <li>
7611 + <a href="{searchresults.U_VIEW_POST}" class="arrow-{S_CONTENT_FLOW_END}">
7612 + <i class="icon fa-angle-{S_CONTENT_FLOW_END} fa-fw icon-black" aria-hidden="true"></i><span>{L_JUMP_TO_POST}</span>
7613 + </a>
7614 + </li>
7615 + </ul>
7616 + <!-- ENDIF -->
7617 +
7618 + </div>
7619 + </div>
7620 + <!-- EVENT search_results_post_after -->
7621 + <!-- BEGINELSE -->
7622 + <div class="panel">
7623 + <div class="inner">
7624 + <strong>{L_NO_SEARCH_RESULTS}</strong>
7625 + </div>
7626 + </div>
7627 + <!-- END searchresults -->
7628 +<!-- ENDIF -->
7629 +
7630 +<div class="action-bar bottom">
7631 + <!-- IF .searchresults and (S_SELECT_SORT_DAYS or S_SELECT_SORT_KEY) -->
7632 + <form method="post" action="{S_SEARCH_ACTION}">
7633 + <!-- INCLUDE display_options.html -->
7634 + </form>
7635 + <!-- ENDIF -->
7636 +
7637 + <div class="pagination">
7638 + {SEARCH_MATCHES}
7639 + <!-- IF .pagination -->
7640 + <!-- INCLUDE pagination.html -->
7641 + <!-- ELSE -->
7642 + &bull; {PAGE_NUMBER}
7643 + <!-- ENDIF -->
7644 + </div>
7645 +</div>
7646 +
7647 +<!-- INCLUDE jumpbox.html -->
7648 +
7649 +<!-- INCLUDE overall_footer.html -->
7650
7651 diff --git a/template/simple_footer.html b/template/simple_footer.html
7652 new file mode 100644
7653 index 000000000..1ef44d168
7654 --- /dev/null
7655 +++ b/template/simple_footer.html
7656 @@ -0,0 +1,40 @@
7657 + </div>
7658 +
7659 + <div class="copyright" role="contentinfo">{CREDIT_LINE}
7660 + <!-- IF TRANSLATION_INFO --><br />{TRANSLATION_INFO}<!-- ENDIF -->
7661 + <!-- IF DEBUG_OUTPUT --><br />{DEBUG_OUTPUT}<!-- ENDIF -->
7662 + </div>
7663 +
7664 + <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}">
7665 + <div id="darken" class="darken">&nbsp;</div>
7666 + </div>
7667 + <div id="loading_indicator" class="loading_indicator"></div>
7668 +
7669 + <div id="phpbb_alert" class="phpbb_alert" data-l-err="{L_ERROR}" data-l-timeout-processing-req="{L_TIMEOUT_PROCESSING_REQ}">
7670 + <a href="#" class="alert_close">
7671 + <i class="icon fa-times-circle fa-fw" aria-hidden="true"></i>
7672 + </a>
7673 + <h3 class="alert_title"></h3><p class="alert_text"></p>
7674 + </div>
7675 + <div id="phpbb_confirm" class="phpbb_confirm phpbb_alert">
7676 + <a href="#" class="alert_close">
7677 + <i class="icon fa-times-circle fa-fw" aria-hidden="true"></i>
7678 + </a>
7679 + <div class="alert_text"></div>
7680 + </div>
7681 +</div>
7682 +
7683 +<script src="{T_JQUERY_LINK}"></script>
7684 +<!-- IF S_ALLOW_CDN --><script>window.jQuery || document.write('\x3Cscript src="{T_ASSETS_PATH}/javascript/jquery.min.js?assets_version={T_ASSETS_VERSION}">\x3C/script>');</script><!-- ENDIF -->
7685 +<script src="{T_ASSETS_PATH}/javascript/core.js?assets_version={T_ASSETS_VERSION}"></script>
7686 +<!-- INCLUDEJS forum_fn.js -->
7687 +<!-- INCLUDEJS ajax.js -->
7688 +
7689 +<!-- EVENT simple_footer_after -->
7690 +
7691 +{$SCRIPTS}
7692 +
7693 +{% EVENT simple_footer_body_after %}
7694 +
7695 +</body>
7696 +</html>
7697
7698 diff --git a/template/simple_header.html b/template/simple_header.html
7699 new file mode 100644
7700 index 000000000..905d25096
7701 --- /dev/null
7702 +++ b/template/simple_header.html
7703 @@ -0,0 +1,54 @@
7704 +<!DOCTYPE html>
7705 +<html dir="{S_CONTENT_DIRECTION}" lang="{S_USER_LANG}">
7706 +<head>
7707 +<meta charset="utf-8" />
7708 +<meta http-equiv="X-UA-Compatible" content="IE=edge">
7709 +<meta name="viewport" content="width=device-width, initial-scale=1" />
7710 +{META}
7711 +<title>{SITENAME} &bull; <!-- IF S_IN_MCP -->{L_MCP} &bull; <!-- ELSEIF S_IN_UCP -->{L_UCP} &bull; <!-- ENDIF -->{PAGE_TITLE}</title>
7712 +
7713 +<!-- IF S_ALLOW_CDN -->
7714 +<script>
7715 + WebFontConfig = {
7716 + google: {
7717 + families: ['Open+Sans:300,300i,400,400i,600,600i,700,700i,800,800i&subset=cyrillic,cyrillic-ext,greek,greek-ext,latin-ext,vietnamese']
7718 + }
7719 + };
7720 +
7721 + (function(d) {
7722 + var wf = d.createElement('script'), s = d.scripts[0];
7723 + wf.src = 'https://ajax.googleapis.com/ajax/libs/webfont/1.5.18/webfont.js';
7724 + wf.async = true;
7725 + s.parentNode.insertBefore(wf, s);
7726 + })(document);
7727 +</script>
7728 +<!-- ENDIF -->
7729 +<link href="{T_FONT_AWESOME_LINK}" rel="stylesheet">
7730 +<link href="{T_STYLESHEET_LINK}" rel="stylesheet">
7731 +<link href="{T_STYLESHEET_LANG_LINK}" rel="stylesheet">
7732 +
7733 +<!-- IF S_CONTENT_DIRECTION eq 'rtl' -->
7734 + <link href="{T_THEME_PATH}/bidi.css?assets_version={T_ASSETS_VERSION}" rel="stylesheet">
7735 +<!-- ENDIF -->
7736 +
7737 +<!--[if lte IE 8]>
7738 + <link href="{T_THEME_PATH}/tweaks.css?assets_version={T_ASSETS_VERSION}" rel="stylesheet">
7739 +<![endif]-->
7740 +
7741 +<!-- DEFINE $POPUP = 1 -->
7742 +
7743 +<!-- EVENT simple_header_head_append -->
7744 +
7745 +{$STYLESHEETS}
7746 +
7747 +<!-- EVENT simple_header_stylesheets_after -->
7748 +
7749 +</head>
7750 +
7751 +<body id="phpbb" class="nojs {S_CONTENT_DIRECTION} {BODY_CLASS}">
7752 +
7753 +<!-- EVENT simple_header_body_before -->
7754 +
7755 +<div id="wrap" class="wrap">
7756 + <a id="top" class="top-anchor" accesskey="t"></a>
7757 + <div id="page-body" class="page-body" role="main">
7758
7759 diff --git a/template/timezone.js b/template/timezone.js
7760 new file mode 100644
7761 index 000000000..44ec1b097
7762 --- /dev/null
7763 +++ b/template/timezone.js
7764 @@ -0,0 +1,20 @@
7765 +/* global phpbb */
7766 +
7767 +(function($) { // Avoid conflicts with other libraries
7768 +
7769 +'use strict';
7770 +
7771 +$('#tz_date').change(function() {
7772 + phpbb.timezoneSwitchDate(false);
7773 +});
7774 +
7775 +$('#tz_select_date_suggest').click(function(){
7776 + phpbb.timezonePreselectSelect(true);
7777 +});
7778 +
7779 +$(function () {
7780 + phpbb.timezoneEnableDateSelection();
7781 + phpbb.timezonePreselectSelect($('#tz_select_date_suggest').attr('timezone-preselect') === 'true');
7782 +});
7783 +
7784 +})(jQuery); // Avoid conflicts with other libraries
7785
7786 diff --git a/template/timezone_option.html b/template/timezone_option.html
7787 new file mode 100644
7788 index 000000000..728dc9487
7789 --- /dev/null
7790 +++ b/template/timezone_option.html
7791 @@ -0,0 +1,28 @@
7792 +<dl>
7793 + <dt><label for="timezone">{L_BOARD_TIMEZONE}{L_COLON}</label></dt>
7794 + <!-- IF .timezone_date -->
7795 + <dd id="tz_select_date" style="display: none;">
7796 + <select name="tz_date" id="tz_date" class="autowidth tz_select">
7797 + <option value="">{L_SELECT_CURRENT_TIME}</option>
7798 + <!-- BEGIN timezone_date -->
7799 + <option value="{timezone_date.VALUE}"<!-- IF timezone_date.SELECTED --> selected="selected"<!-- ENDIF -->>{timezone_date.TITLE}</option>
7800 + <!-- END timezone_date -->
7801 + </select>
7802 + <input type="button" id="tz_select_date_suggest" class="button2" style="display: none;" timezone-preselect="<!-- IF S_TZ_PRESELECT -->true<!-- ELSE -->false<!-- ENDIF -->" data-l-suggestion="{L_TIMEZONE_DATE_SUGGESTION}" value="{L_TIMEZONE_DATE_SUGGESTION}" />
7803 + </dd>
7804 + <!-- ENDIF -->
7805 + <dd>
7806 + <select name="tz" id="timezone" class="autowidth tz_select timezone">
7807 + <option value="">{L_SELECT_TIMEZONE}</option>
7808 + <!-- BEGIN timezone_select -->
7809 + <optgroup label="{timezone_select.LABEL}" data-tz-value="{timezone_select.VALUE}">
7810 + <!-- BEGIN timezone_options -->
7811 + <option title="{timezone_select.timezone_options.TITLE}" value="{timezone_select.timezone_options.VALUE}"<!-- IF timezone_select.timezone_options.SELECTED --> selected="selected"<!-- ENDIF -->>{timezone_select.timezone_options.LABEL}</option>
7812 + <!-- END timezone_options -->
7813 + </optgroup>
7814 + <!-- END timezone_select -->
7815 + </select>
7816 +
7817 + <!-- INCLUDEJS timezone.js -->
7818 + </dd>
7819 +</dl>
7820
7821 diff --git a/template/ucp_agreement.html b/template/ucp_agreement.html
7822 new file mode 100644
7823 index 000000000..d4fef9f0a
7824 --- /dev/null
7825 +++ b/template/ucp_agreement.html
7826 @@ -0,0 +1,71 @@
7827 +<!-- INCLUDE overall_header.html -->
7828 +
7829 +<!-- IF S_SHOW_COPPA or S_REGISTRATION -->
7830 +
7831 +<!-- IF S_LANG_OPTIONS -->
7832 +<script>
7833 + /**
7834 + * Change language
7835 + */
7836 + function change_language(lang_iso)
7837 + {
7838 + document.cookie = '{COOKIE_NAME}_lang=' + lang_iso + '; path={COOKIE_PATH}';
7839 + document.forms['register'].change_lang.value = lang_iso;
7840 + document.forms['register'].submit();
7841 + }
7842 +</script>
7843 +
7844 + <form method="post" action="{S_UCP_ACTION}" id="register">
7845 + <p class="rightside">
7846 + <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>
7847 + {S_HIDDEN_FIELDS}
7848 + </p>
7849 + </form>
7850 +
7851 + <div class="clear"></div>
7852 +
7853 +<!-- ENDIF -->
7854 +
7855 + <form method="post" action="{S_UCP_ACTION}" id="agreement">
7856 +
7857 + <div class="panel">
7858 + <div class="inner">
7859 + <div class="content">
7860 + <h2 class="sitename-title">{SITENAME} - {L_REGISTRATION}</h2>
7861 + <!-- EVENT ucp_agreement_terms_before -->
7862 + <p><!-- IF S_SHOW_COPPA -->{L_COPPA_BIRTHDAY}<!-- ELSE -->{L_TERMS_OF_USE}<!-- ENDIF --></p>
7863 + <!-- EVENT ucp_agreement_terms_after -->
7864 + </div>
7865 + </div>
7866 + </div>
7867 +
7868 + <div class="panel">
7869 + <div class="inner">
7870 + <fieldset class="submit-buttons">
7871 + <!-- IF S_SHOW_COPPA -->
7872 + <strong><a href="{U_COPPA_NO}" class="button1">{L_COPPA_NO}</a></strong>&nbsp; <a href="{U_COPPA_YES}" class="button2">{L_COPPA_YES}</a>
7873 + <!-- ELSE -->
7874 + <input type="submit" name="agreed" id="agreed" value="{L_AGREE}" class="button1" />&nbsp;
7875 + <input type="submit" name="not_agreed" value="{L_NOT_AGREE}" class="button2" />
7876 + <!-- ENDIF -->
7877 + {S_HIDDEN_FIELDS}
7878 + {S_FORM_TOKEN}
7879 + </fieldset>
7880 + </div>
7881 + </div>
7882 + </form>
7883 +
7884 +<!-- ELSEIF S_AGREEMENT -->
7885 +
7886 + <div class="panel">
7887 + <div class="inner">
7888 + <div class="content">
7889 + <h2 class="sitename-title">{SITENAME} - {AGREEMENT_TITLE}</h2>
7890 + <p>{AGREEMENT_TEXT}</p>
7891 + </div>
7892 + </div>
7893 + </div>
7894 +
7895 +<!-- ENDIF -->
7896 +
7897 +<!-- INCLUDE overall_footer.html -->
7898
7899 diff --git a/template/ucp_attachments.html b/template/ucp_attachments.html
7900 new file mode 100644
7901 index 000000000..cfdbf9c7e
7902 --- /dev/null
7903 +++ b/template/ucp_attachments.html
7904 @@ -0,0 +1,83 @@
7905 +<!-- INCLUDE ucp_header.html -->
7906 +
7907 +<form id="ucp" method="post" action="{S_UCP_ACTION}"{S_FORM_ENCTYPE}>
7908 +
7909 +<h2>{L_TITLE}</h2>
7910 +
7911 +<div class="panel">
7912 + <div class="inner">
7913 +
7914 + <p>{L_ATTACHMENTS_EXPLAIN}</p>
7915 +
7916 + <!-- IF .attachrow -->
7917 + <div class="action-bar top">
7918 + <div class="pagination">
7919 + {NUM_ATTACHMENTS}
7920 + <!-- IF .pagination -->
7921 + <!-- INCLUDE pagination.html -->
7922 + <!-- ELSE -->
7923 + &bull; {PAGE_NUMBER}
7924 + <!-- ENDIF -->
7925 + </div>
7926 + </div>
7927 +
7928 + <ul class="topiclist">
7929 + <li class="header">
7930 + <dl>
7931 + <dt><div class="list-inner"><a href="{U_SORT_FILENAME}">{L_FILENAME}</a></div></dt>
7932 + <dd class="extra"><a href="{U_SORT_DOWNLOADS}">{L_DOWNLOADS}</a></dd>
7933 + <dd class="time"><span><a href="{U_SORT_POST_TIME}">{L_POST_TIME}</a></span></dd>
7934 + <dd class="mark">{L_MARK}</dd>
7935 + </dl>
7936 + </li>
7937 + </ul>
7938 + <ul class="topiclist cplist responsive-show-columns">
7939 +
7940 + <!-- BEGIN attachrow -->
7941 + <li class="row<!-- IF attachrow.S_ROW_COUNT is odd --> bg1<!-- ELSE --> bg2<!-- ENDIF -->">
7942 + <dl>
7943 + <dt>
7944 + <div class="list-inner">
7945 + <a href="{attachrow.U_VIEW_ATTACHMENT}" class="topictitle attachment-filename ellipsis-text" title="{attachrow.FILENAME}">{attachrow.FILENAME}</a> ({attachrow.SIZE})<br />
7946 + <!-- IF attachrow.S_IN_MESSAGE -->{L_PM}{L_COLON} <!-- ELSE -->{L_TOPIC}{L_COLON} <!-- ENDIF --><a href="{attachrow.U_VIEW_TOPIC}">{attachrow.TOPIC_TITLE}</a>
7947 + </div>
7948 + </dt>
7949 + <dd class="extra">{attachrow.DOWNLOAD_COUNT}</dd>
7950 + <dd class="time"><span>{attachrow.POST_TIME}</span></dd>
7951 + <dd class="mark"><input type="checkbox" name="attachment[{attachrow.ATTACH_ID}]" value="1"{% if attachrow.S_LOCKED %} disabled title="{{ lang('ATTACHMENT_LOCKED') }}"{% endif %} /></dd>
7952 + </dl>
7953 + </li>
7954 + <!-- END attachrow -->
7955 + </ul>
7956 +
7957 + <div class="action-bar bottom">
7958 + <!-- INCLUDE display_options.html -->
7959 + {S_FORM_TOKEN}
7960 +
7961 + <div class="pagination">
7962 + {TOTAL_ATTACHMENTS} {L_TITLE}
7963 + <!-- IF .pagination -->
7964 + <!-- INCLUDE pagination.html -->
7965 + <!-- ELSE -->
7966 + &bull; {PAGE_NUMBER}
7967 + <!-- ENDIF -->
7968 + </div>
7969 + </div>
7970 +
7971 + <!-- ELSE -->
7972 + <p><strong>{L_UCP_NO_ATTACHMENTS}</strong></p>
7973 + <!-- ENDIF -->
7974 +
7975 + </div>
7976 +</div>
7977 +
7978 +<!-- IF S_ATTACHMENT_ROWS -->
7979 + <fieldset class="display-actions">
7980 + <input class="button2" type="submit" name="delete" value="{L_DELETE_MARKED}" />
7981 + <div><a href="#" onclick="marklist('ucp', 'attachment', true); return false;">{L_MARK_ALL}</a> &bull; <a href="#" onclick="marklist('ucp', 'attachment', false); return false;">{L_UNMARK_ALL}</a></div>
7982 + {S_FORM_TOKEN}
7983 + </fieldset>
7984 +<!-- ENDIF -->
7985 +</form>
7986 +
7987 +<!-- INCLUDE ucp_footer.html -->
7988
7989 diff --git a/template/ucp_auth_link.html b/template/ucp_auth_link.html
7990 new file mode 100644
7991 index 000000000..078da58d1
7992 --- /dev/null
7993 +++ b/template/ucp_auth_link.html
7994 @@ -0,0 +1,15 @@
7995 +<!-- INCLUDE ucp_header.html -->
7996 +
7997 +<h2>{L_UCP_AUTH_LINK_TITLE}</h2>
7998 +
7999 +<div class="panel">
8000 + <div class="inner">
8001 + <!-- IF ERROR --><dl><dd class="error">{ERROR}</dd></dl><!-- ENDIF -->
8002 +
8003 + <!-- IF PROVIDER_TEMPLATE_FILE -->
8004 + <!-- INCLUDE {PROVIDER_TEMPLATE_FILE} -->
8005 + <!-- ENDIF -->
8006 + </div>
8007 +</div>
8008 +
8009 +<!-- INCLUDE ucp_footer.html -->
8010
8011 diff --git a/template/ucp_auth_link_oauth.html b/template/ucp_auth_link_oauth.html
8012 new file mode 100644
8013 index 000000000..60061a313
8014 --- /dev/null
8015 +++ b/template/ucp_auth_link_oauth.html
8016 @@ -0,0 +1,29 @@
8017 +<!-- BEGIN oauth -->
8018 + <form id="ucp_oauth_{oauth.SERVICE_ID}" method="post" action="{S_UCP_ACTION}">
8019 + <h3>{oauth.SERVICE_NAME}</h3>
8020 +
8021 + <fieldset class="fields2">
8022 + <!-- IF oauth.UNIQUE_ID -->
8023 + <dl>
8024 + <dt>{L_UCP_AUTH_LINK_ID}{L_COLON}</dt>
8025 + <dd>{oauth.UNIQUE_ID}</dd>
8026 + </dl>
8027 + <dl>
8028 + <dt>&nbsp;</dt>
8029 + <dd><input type="submit" name="submit" tabindex="6" value="{L_UCP_AUTH_LINK_UNLINK}" class="button1" /></dd>
8030 + </dl>
8031 + <!-- ELSE -->
8032 + <dl>
8033 + <dd>{L_UCP_AUTH_LINK_ASK}</dd>
8034 + </dl>
8035 + <dl>
8036 + <dt>&nbsp;</dt>
8037 + <dd><input type="submit" name="submit" tabindex="6" value="{L_UCP_AUTH_LINK_LINK}" class="button1" /></dd>
8038 + </dl>
8039 + <!-- ENDIF -->
8040 + </fieldset>
8041 + {oauth.HIDDEN_FIELDS}
8042 + {S_HIDDEN_FIELDS}
8043 + {S_FORM_TOKEN}
8044 + </form>
8045 +<!-- END oauth -->
8046
8047 diff --git a/template/ucp_avatar_options.html b/template/ucp_avatar_options.html
8048 new file mode 100644
8049 index 000000000..2cf9488ed
8050 --- /dev/null
8051 +++ b/template/ucp_avatar_options.html
8052 @@ -0,0 +1,47 @@
8053 +<div class="panel">
8054 + <div class="inner">
8055 + <!-- IF not S_AVATARS_ENABLED -->
8056 + <p>{L_AVATAR_FEATURES_DISABLED}</p>
8057 + <!-- ENDIF -->
8058 +
8059 + <fieldset>
8060 + <!-- IF ERROR --><p class="error">{ERROR}</p><!-- ENDIF -->
8061 + <dl>
8062 + <dt><label>{L_CURRENT_IMAGE}{L_COLON}</label><br /><span>{L_AVATAR_EXPLAIN}</span></dt>
8063 + <dd><!-- IF AVATAR -->{AVATAR}<!-- ELSE --><img src="{T_THEME_PATH}/images/no_avatar.gif" alt="" /><!-- ENDIF --></dd>
8064 + <dd><label for="avatar_delete"><input type="checkbox" name="avatar_delete" id="avatar_delete" /> {L_DELETE_AVATAR}</label></dd>
8065 + </dl>
8066 + </fieldset>
8067 + <h3>{L_AVATAR_SELECT}</h3>
8068 + <fieldset>
8069 + <dl>
8070 + <dt><label>{L_AVATAR_TYPE}{L_COLON}</label></dt>
8071 + <dd><select name="avatar_driver" id="avatar_driver" data-togglable-settings="true">
8072 + <!-- BEGIN avatar_drivers -->
8073 + <option value="{avatar_drivers.DRIVER}"<!-- IF avatar_drivers.SELECTED --> selected="selected"<!-- ENDIF --> data-toggle-setting="#avatar_option_{avatar_drivers.DRIVER}">{avatar_drivers.L_TITLE}</option>
8074 + <!-- END avatar_drivers -->
8075 + </select></dd>
8076 + </dl>
8077 + </fieldset>
8078 + <div id="avatar_options">
8079 +<!-- BEGIN avatar_drivers -->
8080 + <div id="avatar_option_{avatar_drivers.DRIVER}">
8081 + <noscript>
8082 + <h3 class="avatar_section_header">{avatar_drivers.L_TITLE}</h3>
8083 + </noscript>
8084 + <p>{avatar_drivers.L_EXPLAIN}</p>
8085 +
8086 + <fieldset>
8087 + {avatar_drivers.OUTPUT}
8088 + </fieldset>
8089 + </div>
8090 +<!-- END avatar_drivers -->
8091 + </div>
8092 +<!-- IF not S_GROUP_MANAGE -->
8093 + <fieldset class="submit-buttons">
8094 + <input type="reset" value="{L_RESET}" name="reset" class="button2" /> &nbsp;
8095 + <input type="submit" name="submit" value="{L_SUBMIT}" class="button1" />
8096 + </fieldset>
8097 +<!-- ENDIF -->
8098 + </div>
8099 +</div>
8100
8101 diff --git a/template/ucp_avatar_options_gravatar.html b/template/ucp_avatar_options_gravatar.html
8102 new file mode 100644
8103 index 000000000..130a7c2cc
8104 --- /dev/null
8105 +++ b/template/ucp_avatar_options_gravatar.html
8106 @@ -0,0 +1,11 @@
8107 +<dl>
8108 + <dt><label for="avatar_gravatar_email">{L_GRAVATAR_AVATAR_EMAIL}{L_COLON}</label><br /><span>{L_GRAVATAR_AVATAR_EMAIL_EXPLAIN}</span></dt>
8109 + <dd><input type="email" name="avatar_gravatar_email" id="avatar_gravatar_email" value="{AVATAR_GRAVATAR_EMAIL}" class="inputbox" data-reset-on-edit="#avatar_gravatar_width, #avatar_gravatar_height" /></dd>
8110 +</dl>
8111 +<dl>
8112 + <dt><label for="avatar_gravatar_width">{L_GRAVATAR_AVATAR_SIZE}{L_COLON}</label><br /><span>{L_GRAVATAR_AVATAR_SIZE_EXPLAIN}</span></dt>
8113 + <dd>
8114 + <label for="avatar_gravatar_width"><input type="number" name="avatar_gravatar_width" id="avatar_gravatar_width" min="{AVATAR_MIN_WIDTH}" max="{AVATAR_MAX_WIDTH}" value="{AVATAR_GRAVATAR_WIDTH}" class="inputbox autowidth" /> {L_PIXEL}</label> &times;&nbsp;
8115 + <label for="avatar_gravatar_height"><input type="number" name="avatar_gravatar_height" id="avatar_gravatar_height" min="{AVATAR_MIN_HEIGHT}" max="{AVATAR_MAX_HEIGHT}" value="{AVATAR_GRAVATAR_HEIGHT}" class="inputbox autowidth" /> {L_PIXEL}</label>
8116 + </dd>
8117 +</dl>
8118
8119 diff --git a/template/ucp_avatar_options_local.html b/template/ucp_avatar_options_local.html
8120 new file mode 100644
8121 index 000000000..e431b7425
8122 --- /dev/null
8123 +++ b/template/ucp_avatar_options_local.html
8124 @@ -0,0 +1,20 @@
8125 +<!-- IF .avatar_local_cats -->
8126 +<label for="category">{L_AVATAR_CATEGORY}{L_COLON} <select name="avatar_local_cat" id="category">
8127 +<!-- BEGIN avatar_local_cats -->
8128 +<option value="{avatar_local_cats.NAME}"<!-- IF avatar_local_cats.SELECTED --> selected="selected"<!-- ENDIF -->>{avatar_local_cats.NAME}</option>
8129 +<!-- END avatar_local_cats -->
8130 +</select></label>
8131 +<input type="submit" value="{L_GO}" name="avatar_local_go" class="button2" />
8132 +
8133 +<div id="gallery" class="gallery">
8134 +<!-- BEGIN avatar_local_row -->
8135 +<!-- BEGIN avatar_local_col -->
8136 + <label for="av-{avatar_local_row.S_ROW_COUNT}-{avatar_local_row.avatar_local_col.S_ROW_COUNT}"><img src="{avatar_local_row.avatar_local_col.AVATAR_IMAGE}" alt="" /><br />
8137 + <input type="radio" name="avatar_local_file" id="av-{avatar_local_row.S_ROW_COUNT}-{avatar_local_row.avatar_local_col.S_ROW_COUNT}"
8138 + value="{avatar_local_row.avatar_local_col.AVATAR_FILE}"<!-- IF avatar_local_row.avatar_local_col.CHECKED --> checked="checked"<!-- ENDIF --> /></label>
8139 +<!-- END avatar_local_col -->
8140 +<!-- END avatar_local_row -->
8141 +</div>
8142 +<!-- ELSE -->
8143 +<p><strong>{L_NO_AVATARS}</strong></p>
8144 +<!-- ENDIF -->
8145
8146 diff --git a/template/ucp_avatar_options_remote.html b/template/ucp_avatar_options_remote.html
8147 new file mode 100644
8148 index 000000000..8e175623a
8149 --- /dev/null
8150 +++ b/template/ucp_avatar_options_remote.html
8151 @@ -0,0 +1,11 @@
8152 +<dl>
8153 + <dt><label for="avatar_remote_url">{L_LINK_REMOTE_AVATAR}{L_COLON}</label><br /><span>{L_LINK_REMOTE_AVATAR_EXPLAIN}</span></dt>
8154 + <dd><input type="url" name="avatar_remote_url" id="avatar_remote_url" value="{AVATAR_REMOTE_URL}" class="inputbox" data-reset-on-edit="#avatar_remote_width, #avatar_remote_height" /></dd>
8155 +</dl>
8156 +<dl>
8157 + <dt><label for="avatar_remote_width">{L_LINK_REMOTE_SIZE}{L_COLON}</label><br /><span>{L_LINK_REMOTE_SIZE_EXPLAIN}</span></dt>
8158 + <dd>
8159 + <label for="avatar_remote_width"><input type="number" name="avatar_remote_width" id="avatar_remote_width" min="{AVATAR_MIN_WIDTH}" max="{AVATAR_MAX_WIDTH}" value="{AVATAR_REMOTE_WIDTH}" class="inputbox autowidth" /> {L_PIXEL}</label> &times;&nbsp;
8160 + <label for="avatar_remote_height"><input type="number" name="avatar_remote_height" id="avatar_remote_height" min="{AVATAR_MIN_HEIGHT}" max="{AVATAR_MAX_HEIGHT}" value="{AVATAR_REMOTE_HEIGHT}" class="inputbox autowidth" /> {L_PIXEL}</label>
8161 + </dd>
8162 +</dl>
8163
8164 diff --git a/template/ucp_avatar_options_upload.html b/template/ucp_avatar_options_upload.html
8165 new file mode 100644
8166 index 000000000..63a734ea7
8167 --- /dev/null
8168 +++ b/template/ucp_avatar_options_upload.html
8169 @@ -0,0 +1,11 @@
8170 +<dl>
8171 + <dt><label for="avatar_upload_file">{L_UPLOAD_AVATAR_FILE}{L_COLON}</label></dt>
8172 + <dd><input type="hidden" name="MAX_FILE_SIZE" value="{AVATAR_UPLOAD_SIZE}" /><input type="file" name="avatar_upload_file" id="avatar_upload_file" class="inputbox autowidth" /></dd>
8173 +</dl>
8174 +
8175 +<!-- IF S_UPLOAD_AVATAR_URL -->
8176 + <dl>
8177 + <dt><label for="avatar_upload_url">{L_UPLOAD_AVATAR_URL}{L_COLON}</label><br /><span>{L_UPLOAD_AVATAR_URL_EXPLAIN}</span></dt>
8178 + <dd><input type="url" name="avatar_upload_url" id="avatar_upload_url" value="" class="inputbox" /></dd>
8179 + </dl>
8180 +<!-- ENDIF -->
8181
8182 diff --git a/template/ucp_footer.html b/template/ucp_footer.html
8183 new file mode 100644
8184 index 000000000..eb07f52e0
8185 --- /dev/null
8186 +++ b/template/ucp_footer.html
8187 @@ -0,0 +1,12 @@
8188 +
8189 + </div>
8190 +
8191 + </div>
8192 + </div>
8193 +</div>
8194 +<!-- IF S_COMPOSE_PM -->
8195 +<div>{S_FORM_TOKEN}</div>
8196 +</form>
8197 +<!-- ENDIF -->
8198 +
8199 +<!-- INCLUDE overall_footer.html -->
8200
8201 diff --git a/template/ucp_groups_manage.html b/template/ucp_groups_manage.html
8202 new file mode 100644
8203 index 000000000..f2b4f003e
8204 --- /dev/null
8205 +++ b/template/ucp_groups_manage.html
8206 @@ -0,0 +1,247 @@
8207 +<!-- INCLUDE ucp_header.html -->
8208 +
8209 +<h2<!-- IF GROUP_COLOR --> style="color:#{GROUP_COLOR};"<!-- ENDIF -->>{L_USERGROUPS}<!-- IF GROUP_NAME --> :: {GROUP_NAME}<!-- ENDIF --></h2>
8210 +
8211 +<form id="ucp" method="post" action="{S_UCP_ACTION}"{S_FORM_ENCTYPE}>
8212 +
8213 +<div class="panel">
8214 + <div class="inner">
8215 +
8216 + <!-- IF S_ERROR -->
8217 + <fieldset>
8218 + <p class="error">{ERROR_MSG}</p>
8219 + </fieldset>
8220 + <!-- ENDIF -->
8221 +
8222 + <p>{L_GROUPS_EXPLAIN}</p>
8223 +
8224 + <!-- IF S_EDIT -->
8225 + <h3>{L_GROUP_DETAILS}</h3>
8226 +
8227 + <fieldset>
8228 + <dl>
8229 + <dt><label for="group_name">{L_GROUP_NAME}{L_COLON}</label></dt>
8230 + <dd><!-- IF S_SPECIAL_GROUP --><strong<!-- IF GROUP_COLOUR --> style="color: #{GROUP_COLOUR};"<!-- ENDIF -->>{GROUP_NAME}</strong> <input name="group_name" type="hidden" value="{GROUP_INTERNAL_NAME}" />
8231 + <!-- ELSE --><input name="group_name" type="text" id="group_name" value="{GROUP_INTERNAL_NAME}" class="inputbox" /><!-- ENDIF --></dd>
8232 + </dl>
8233 + <dl>
8234 + <dt><label for="group_desc">{L_GROUP_DESC}{L_COLON}</label></dt>
8235 + <dd><textarea id="group_desc" name="group_desc" rows="5" cols="45" class="inputbox">{GROUP_DESC}</textarea></dd>
8236 + <dd><label for="desc_parse_bbcode"><input type="checkbox" class="radio" name="desc_parse_bbcode" id="desc_parse_bbcode"<!-- IF S_DESC_BBCODE_CHECKED --> checked="checked"<!-- ENDIF --> /> {L_PARSE_BBCODE}</label>&nbsp;<label for="desc_parse_smilies"><input type="checkbox" class="radio" name="desc_parse_smilies" id="desc_parse_smilies"<!-- IF S_DESC_SMILIES_CHECKED --> checked="checked"<!-- ENDIF --> /> {L_PARSE_SMILIES}</label>&nbsp;<label for="desc_parse_urls"><input type="checkbox" class="radio" name="desc_parse_urls" id="desc_parse_urls"<!-- IF S_DESC_URLS_CHECKED --> checked="checked"<!-- ENDIF --> /> {L_PARSE_URLS}</label></dd>
8237 + </dl>
8238 + <!-- IF not S_SPECIAL_GROUP -->
8239 + <dl>
8240 + <dt><label for="group_type1">{L_GROUP_TYPE}{L_COLON}</label><br /><span>{L_GROUP_TYPE_EXPLAIN}</span></dt>
8241 + <dd>
8242 + <label for="group_type1"><input type="radio" class="radio" name="group_type" id="group_type1" value="{GROUP_TYPE_FREE}"{GROUP_FREE} /> {L_GROUP_OPEN}</label>
8243 + <label for="group_type2"><input type="radio" class="radio" name="group_type" id="group_type2" value="{GROUP_TYPE_OPEN}"{GROUP_OPEN} /> {L_GROUP_REQUEST}</label>
8244 + <label for="group_type3"><input type="radio" class="radio" name="group_type" id="group_type3" value="{GROUP_TYPE_CLOSED}"{GROUP_CLOSED} /> {L_GROUP_CLOSED}</label>
8245 + <label for="group_type4"><input type="radio" class="radio" name="group_type" id="group_type4" value="{GROUP_TYPE_HIDDEN}"{GROUP_HIDDEN} /> {L_GROUP_HIDDEN}</label>
8246 + </dd>
8247 + </dl>
8248 + <!-- ELSE -->
8249 + <input name="group_type" type="hidden" value="{GROUP_TYPE_SPECIAL}" />
8250 + <!-- ENDIF -->
8251 + </fieldset>
8252 +
8253 + </div>
8254 +</div>
8255 +
8256 +<div class="panel">
8257 + <div class="inner">
8258 + <h3>{L_GROUP_SETTINGS_SAVE}</h3>
8259 +
8260 + <fieldset>
8261 + <dl>
8262 + <dt><label for="group_colour">{L_GROUP_COLOR}{L_COLON}</label><br /><span>{L_GROUP_COLOR_EXPLAIN}</span></dt>
8263 + <dd>
8264 + <input name="group_colour" type="text" id="group_colour" value="{GROUP_COLOUR}" size="6" maxlength="6" class="inputbox narrow" />
8265 + <span style="background-color: #{GROUP_COLOUR};">&nbsp;&nbsp;&nbsp;</span>
8266 + [ <a href="#" id="color_palette_toggle">{L_COLOUR_SWATCH}</a> ]
8267 + <div id="color_palette_placeholder" class="color_palette_placeholder hidden" data-orientation="h" data-height="12" data-width="15" data-target="#group_colour"></div>
8268 + </dd>
8269 + </dl>
8270 + <dl>
8271 + <dt><label for="group_rank">{L_GROUP_RANK}{L_COLON}</label></dt>
8272 + <dd><select name="group_rank" id="group_rank">{S_RANK_OPTIONS}</select></dd>
8273 + </dl>
8274 + </fieldset>
8275 +
8276 + </div>
8277 +</div>
8278 +
8279 +<!-- INCLUDE ucp_avatar_options.html -->
8280 +
8281 +<fieldset class="submit-buttons">
8282 + {S_HIDDEN_FIELDS}
8283 + <input type="reset" value="{L_RESET}" name="reset" class="button2" />&nbsp;
8284 + <input type="submit" name="update" value="{L_SUBMIT}" class="button1" />
8285 + {S_FORM_TOKEN}
8286 +</fieldset>
8287 +
8288 +<!-- ELSEIF S_LIST -->
8289 +
8290 + <!-- IF .leader -->
8291 + <table class="table1">
8292 + <thead>
8293 + <tr>
8294 + <th class="name">{L_GROUP_LEAD}</th>
8295 + <th class="info">{L_GROUP_DEFAULT}</th>
8296 + <th class="posts">{L_POSTS}</th>
8297 + <th class="joined">{L_JOINED}</th>
8298 + <th class="mark">{L_MARK}</th>
8299 + </tr>
8300 + </thead>
8301 + <tbody>
8302 + <!-- BEGIN leader -->
8303 + <tr class="<!-- IF leader.S_ROW_COUNT is even -->bg1<!-- ELSE -->bg2<!-- ENDIF -->">
8304 + <td class="name">{leader.USERNAME_FULL}</td>
8305 + <td><!-- IF leader.S_GROUP_DEFAULT -->{L_YES}<!-- ELSE -->{L_NO}<!-- ENDIF --></td>
8306 + <td class="posts">{leader.USER_POSTS}</td>
8307 + <td class="joined">{leader.JOINED}</td>
8308 + <td class="mark">&nbsp;</td>
8309 + </tr>
8310 + <!-- END leader -->
8311 + </tbody>
8312 + </table>
8313 + <!-- ENDIF -->
8314 +
8315 + <!-- BEGIN member -->
8316 + <!-- IF member.S_PENDING -->
8317 + <table class="table1">
8318 + <thead>
8319 + <tr>
8320 + <th class="name">{L_GROUP_PENDING}</th>
8321 + <th class="info">{L_GROUP_DEFAULT}</th>
8322 + <th class="posts">{L_POSTS}</th>
8323 + <th class="joined">{L_JOINED}</th>
8324 + <th class="mark">{L_MARK}</th>
8325 + </tr>
8326 + </thead>
8327 + <tbody>
8328 + <!-- ELSEIF member.S_APPROVED -->
8329 + <!-- IF S_PENDING_SET -->
8330 + </tbody>
8331 + </table>
8332 + <!-- ENDIF -->
8333 + <table class="table1">
8334 + <thead>
8335 + <tr>
8336 + <th class="name">{L_GROUP_APPROVED}</th>
8337 + <th class="info">{L_GROUP_DEFAULT}</th>
8338 + <th class="posts">{L_POSTS}</th>
8339 + <th class="joined">{L_JOINED}</th>
8340 + <th class="mark">{L_MARK}</th>
8341 + </tr>
8342 + </thead>
8343 + <tbody>
8344 + <!-- ELSE -->
8345 + <tr class="<!-- IF member.S_ROW_COUNT is even -->bg1<!-- ELSE -->bg2<!-- ENDIF -->">
8346 + <td class="name">{member.USERNAME_FULL}</td>
8347 + <td><!-- IF member.S_GROUP_DEFAULT -->{L_YES}<!-- ELSE -->{L_NO}<!-- ENDIF --></td>
8348 + <td class="posts">{member.USER_POSTS}</td>
8349 + <td class="joined">{member.JOINED}</td>
8350 + <td class="mark"><input type="checkbox" name="mark[]" value="{member.USER_ID}" /></td>
8351 + </tr>
8352 + <!-- ENDIF -->
8353 + <!-- BEGINELSE -->
8354 + <table class="table1">
8355 + <thead>
8356 + <tr>
8357 + <th class="name">{L_MEMBERS}</th>
8358 + </tr>
8359 + </thead>
8360 + <tbody>
8361 + <tr>
8362 + <td class="bg1">{L_GROUPS_NO_MEMBERS}</td>
8363 + </tr>
8364 + <!-- END member -->
8365 + </tbody>
8366 + </table>
8367 +
8368 + <!-- IF .pagination -->
8369 + <div class="action-bar bar-bottom">
8370 + <div class="pagination">
8371 + <!-- INCLUDE pagination.html -->
8372 + </div>
8373 + </div>
8374 + <!-- ENDIF -->
8375 +
8376 + </div>
8377 +</div>
8378 +
8379 +<fieldset class="display-actions">
8380 + <select name="action"><option value="">{L_SELECT_OPTION}</option>{S_ACTION_OPTIONS}</select>
8381 + <input class="button2" type="submit" name="update" value="{L_SUBMIT}" />
8382 + <div><a href="#" onclick="marklist('ucp', 'mark', true); return false;">{L_MARK_ALL}</a> &bull; <a href="#" onclick="marklist('ucp', 'mark', false); return false;">{L_UNMARK_ALL}</a></div>
8383 +</fieldset>
8384 +
8385 +<div class="panel">
8386 + <div class="inner">
8387 +
8388 + <h3>{L_ADD_USERS}</h3>
8389 +
8390 + <p>{L_ADD_USERS_UCP_EXPLAIN}</p>
8391 +
8392 + <fieldset>
8393 + <dl>
8394 + <dt><label for="default0">{L_USER_GROUP_DEFAULT}{L_COLON}</label><br /><span>{L_USER_GROUP_DEFAULT_EXPLAIN}</span></dt>
8395 + <dd>
8396 + <label for="default1"><input type="radio" name="default" id="default1" value="1" /> {L_YES}</label>
8397 + <label for="default0"><input type="radio" name="default" id="default0" value="0" checked="checked" /> {L_NO}</label>
8398 + </dd>
8399 + </dl>
8400 + <dl>
8401 + <dt><label for="usernames">{L_USERNAME}{L_COLON}</label><br /><span>{L_USERNAMES_EXPLAIN}</span></dt>
8402 + <dd><textarea name="usernames" id="usernames" rows="3" cols="30" class="inputbox"></textarea></dd>
8403 + <dd><strong><a href="{U_FIND_USERNAME}" onclick="find_username(this.href); return false;">{L_FIND_USERNAME}</a></strong></dd>
8404 + </dl>
8405 + </fieldset>
8406 +
8407 + </div>
8408 +</div>
8409 +
8410 +<fieldset class="submit-buttons">
8411 + <input class="button1" type="submit" name="addusers" value="{L_SUBMIT}" />
8412 + {S_FORM_TOKEN}
8413 +</fieldset>
8414 +
8415 +<!-- ELSE -->
8416 +
8417 + <!-- IF .leader -->
8418 + <ul class="topiclist two-long-columns">
8419 + <li class="header">
8420 + <dl>
8421 + <dt><div class="list-inner">{L_GROUP_LEADER}</div></dt>
8422 + <dd class="info"><span>{L_OPTIONS}</span></dd>
8423 + </dl>
8424 + </li>
8425 + </ul>
8426 + <ul class="topiclist cplist two-long-columns responsive-show-all">
8427 +
8428 + <!-- BEGIN leader -->
8429 + <li class="row<!-- IF attachrow.S_ROW_COUNT is odd --> bg1<!-- ELSE --> bg2<!-- ENDIF -->">
8430 + <dl>
8431 + <dt>
8432 + <div class="list-inner">
8433 + <a href="{leader.U_EDIT}" class="topictitle"<!-- IF leader.GROUP_COLOUR --> style="color: #{leader.GROUP_COLOUR};"<!-- ENDIF -->>{leader.GROUP_NAME}</a>
8434 + <!-- IF leader.GROUP_DESC --><br />{leader.GROUP_DESC}<!-- ENDIF -->
8435 + </div>
8436 + </dt>
8437 + <dd class="option"><span><a href="{leader.U_EDIT}" >{L_EDIT}</a></span></dd>
8438 + <dd class="option"><span><a href="{leader.U_LIST}">{L_GROUP_LIST}</a></span></dd>
8439 + </dl>
8440 + </li>
8441 + <!-- END leader -->
8442 + </ul>
8443 + <!-- ELSE -->
8444 + <p><strong>{L_NO_LEADERS}</strong></p>
8445 + <!-- ENDIF -->
8446 +
8447 + </div>
8448 +</div>
8449 +
8450 +<!-- ENDIF -->
8451 +</form>
8452 +
8453 +<!-- INCLUDE ucp_footer.html -->
8454
8455 diff --git a/template/ucp_groups_membership.html b/template/ucp_groups_membership.html
8456 new file mode 100644
8457 index 000000000..e824a7b86
8458 --- /dev/null
8459 +++ b/template/ucp_groups_membership.html
8460 @@ -0,0 +1,174 @@
8461 +<!-- INCLUDE ucp_header.html -->
8462 +
8463 +<h2>{L_USERGROUPS}</h2>
8464 +
8465 +<form id="ucp" method="post" action="{S_UCP_ACTION}"{S_FORM_ENCTYPE}>
8466 +
8467 +<div class="panel">
8468 + <div class="inner">
8469 +
8470 + <p>{L_GROUPS_EXPLAIN}</p>
8471 + <!-- DEFINE $SHOW_BUTTONS = 0 -->
8472 + <!-- IF .leader -->
8473 + <ul class="topiclist two-columns">
8474 + <li class="header">
8475 + <dl>
8476 + <dt><div class="list-inner">{L_GROUP_LEADER}</div></dt>
8477 + <dd class="mark">{L_SELECT}</dd>
8478 + </dl>
8479 + </li>
8480 + </ul>
8481 + <ul class="topiclist cplist two-columns">
8482 +
8483 + <!-- BEGIN leader -->
8484 + <!-- IF not leader.GROUP_SPECIAL -->
8485 + <!-- DEFINE $SHOW_BUTTONS = 1 -->
8486 + <!-- ENDIF -->
8487 + <li class="row<!-- IF leader.S_ROW_COUNT is odd --> bg1<!-- ELSE --> bg2<!-- ENDIF -->">
8488 + <dl>
8489 + <dt>
8490 + <div class="list-inner">
8491 + <!-- IF S_CHANGE_DEFAULT --><input title="{L_CHANGE_DEFAULT_GROUP}" type="radio" name="default"<!-- IF leader.S_GROUP_DEFAULT --> checked="checked"<!-- ENDIF --> value="{leader.GROUP_ID}" /> <!-- ENDIF -->
8492 + <a href="{leader.U_VIEW_GROUP}" class="forumtitle"<!-- IF leader.GROUP_COLOUR --> style="color:#{leader.GROUP_COLOUR}"<!-- ENDIF -->>{leader.GROUP_NAME}</a>
8493 + <!-- IF leader.GROUP_DESC --><br />{leader.GROUP_DESC}<!-- ENDIF -->
8494 + <!-- IF not leader.GROUP_SPECIAL --><br /><i>{leader.GROUP_STATUS}</i><!-- ENDIF -->
8495 + </div>
8496 + </dt>
8497 + <dd class="mark"><input type="radio" name="selected" value="{leader.GROUP_ID}" <!-- IF leader.GROUP_SPECIAL -->disabled="disabled"<!-- ENDIF --> /></dd>
8498 + </dl>
8499 + </li>
8500 + <!-- END leader -->
8501 + </ul>
8502 + <!-- ENDIF -->
8503 +
8504 + <!-- IF .member -->
8505 + <ul class="topiclist two-columns">
8506 + <li class="header">
8507 + <dl>
8508 + <dt><div class="list-inner">{L_GROUP_MEMBER}</div></dt>
8509 + <dd class="mark">{L_SELECT}</dd>
8510 + </dl>
8511 + </li>
8512 + </ul>
8513 + <ul class="topiclist cplist two-columns">
8514 +
8515 + <!-- BEGIN member -->
8516 + <!-- IF not member.GROUP_SPECIAL -->
8517 + <!-- DEFINE $SHOW_BUTTONS = 1 -->
8518 + <!-- ENDIF -->
8519 + <li class="row<!-- IF member.S_ROW_COUNT is odd --> bg1<!-- ELSE --> bg2<!-- ENDIF -->">
8520 + <dl>
8521 + <dt>
8522 + <div class="list-inner">
8523 + <!-- IF S_CHANGE_DEFAULT --><input title="{L_CHANGE_DEFAULT_GROUP}" type="radio" name="default"<!-- IF member.S_GROUP_DEFAULT --> checked="checked"<!-- ENDIF --> value="{member.GROUP_ID}" /> <!-- ENDIF -->
8524 + <a href="{member.U_VIEW_GROUP}" class="forumtitle"<!-- IF member.GROUP_COLOUR --> style="color:#{member.GROUP_COLOUR}"<!-- ENDIF -->>{member.GROUP_NAME}</a>
8525 + <!-- IF member.GROUP_DESC --><br />{member.GROUP_DESC}<!-- ENDIF -->
8526 + <!-- IF not member.GROUP_SPECIAL --><br /><i>{member.GROUP_STATUS}</i><!-- ENDIF -->
8527 + </div>
8528 + </dt>
8529 + <dd class="mark"><input type="radio" name="selected" value="{member.GROUP_ID}" <!-- IF member.GROUP_SPECIAL -->disabled="disabled"<!-- ENDIF --> /></dd>
8530 + </dl>
8531 + </li>
8532 + <!-- END member -->
8533 + </ul>
8534 + <!-- ENDIF -->
8535 + </div>
8536 +</div>
8537 +
8538 +<!-- IF .pending -->
8539 +<div class="panel">
8540 + <div class="inner">
8541 + <ul class="topiclist two-columns">
8542 + <li class="header">
8543 + <dl>
8544 + <dt><div class="list-inner">{L_GROUP_PENDING}</div></dt>
8545 + <dd class="mark">{L_SELECT}</dd>
8546 + </dl>
8547 + </li>
8548 + </ul>
8549 + <ul class="topiclist cplist two-columns">
8550 +
8551 + <!-- BEGIN pending -->
8552 + <!-- IF not pending.GROUP_SPECIAL -->
8553 + <!-- DEFINE $SHOW_BUTTONS = 1 -->
8554 + <!-- ENDIF -->
8555 + <li class="row<!-- IF pending.S_ROW_COUNT is odd --> bg1<!-- ELSE --> bg2<!-- ENDIF -->">
8556 + <dl>
8557 + <dt>
8558 + <div class="list-inner">
8559 + <a href="{pending.U_VIEW_GROUP}" class="forumtitle"<!-- IF pending.GROUP_COLOUR --> style="color:#{pending.GROUP_COLOUR}"<!-- ENDIF -->>{pending.GROUP_NAME}</a>
8560 + <!-- IF pending.GROUP_DESC --><br />{pending.GROUP_DESC}<!-- ENDIF -->
8561 + <!-- IF not pending.GROUP_SPECIAL --><br /><i>{pending.GROUP_STATUS}</i><!-- ENDIF -->
8562 + </div>
8563 + </dt>
8564 + <dd class="mark"><input type="radio" name="selected" value="{pending.GROUP_ID}" <!-- IF pending.GROUP_SPECIAL -->disabled="disabled"<!-- ENDIF --> /></dd>
8565 + </dl>
8566 + </li>
8567 + <!-- END pending -->
8568 + </ul>
8569 + </div>
8570 +</div>
8571 +<!-- ENDIF -->
8572 +<!-- IF .nonmember -->
8573 +<div class="panel">
8574 + <div class="inner">
8575 + <ul class="topiclist two-columns">
8576 + <li class="header">
8577 + <dl>
8578 + <dt><div class="list-inner">{L_GROUP_NONMEMBER}</div></dt>
8579 + <dd class="mark">{L_SELECT}</dd>
8580 + </dl>
8581 + </li>
8582 + </ul>
8583 + <ul class="topiclist cplist two-columns">
8584 +
8585 + <!-- BEGIN nonmember -->
8586 + <!-- IF nonmember.S_CAN_JOIN -->
8587 + <!-- DEFINE $SHOW_BUTTONS = 1 -->
8588 + <!-- ENDIF -->
8589 + <li class="row<!-- IF nonmember.S_ROW_COUNT is odd --> bg1<!-- ELSE --> bg2<!-- ENDIF -->">
8590 + <dl>
8591 + <dt>
8592 + <div class="list-inner">
8593 + <a href="{nonmember.U_VIEW_GROUP}" class="forumtitle"<!-- IF nonmember.GROUP_COLOUR --> style="color:#{nonmember.GROUP_COLOUR}"<!-- ENDIF -->>{nonmember.GROUP_NAME}</a>
8594 + <!-- IF nonmember.GROUP_DESC --><br />{nonmember.GROUP_DESC}<!-- ENDIF -->
8595 + <!-- IF not nonmember.GROUP_SPECIAL --><br /><i>{nonmember.GROUP_STATUS}</i><!-- ENDIF -->
8596 + </div>
8597 + </dt>
8598 + <dd class="mark"><input type="radio" name="selected" value="{nonmember.GROUP_ID}" <!-- IF not nonmember.S_CAN_JOIN -->disabled="disabled"<!-- ENDIF --> /></dd>
8599 + </dl>
8600 + </li>
8601 + <!-- END nonmember -->
8602 + </ul>
8603 + </div>
8604 + </div>
8605 +<!-- ENDIF -->
8606 +
8607 +
8608 + <!-- IF S_CHANGE_DEFAULT or $SHOW_BUTTONS eq 1 -->
8609 + <fieldset>
8610 + <!-- IF S_CHANGE_DEFAULT -->
8611 + <div class="left-box">
8612 + <input class="button2" type="submit" name="change_default" value="{L_CHANGE_DEFAULT_GROUP}" />
8613 + {S_FORM_TOKEN}
8614 + </div>
8615 + <!-- ENDIF -->
8616 +
8617 + <!-- IF $SHOW_BUTTONS eq 1 -->
8618 + <div class="right-box">
8619 + <label for="action">{L_SELECT}{L_COLON}</label>
8620 + <select name="action" id="action">
8621 + <option value="join">{L_JOIN_SELECTED}</option>
8622 + <option value="resign">{L_RESIGN_SELECTED}</option>
8623 + <option value="demote">{L_DEMOTE_SELECTED}</option>
8624 + </select>&nbsp;
8625 + <input class="button2" type="submit" name="submit" value="{L_SUBMIT}" />
8626 + {S_FORM_TOKEN}
8627 + </div>
8628 + <!-- ENDIF -->
8629 + </fieldset>
8630 + <!-- ENDIF -->
8631 +
8632 +</form>
8633 +
8634 +<!-- INCLUDE ucp_footer.html -->
8635
8636 diff --git a/template/ucp_header.html b/template/ucp_header.html
8637 new file mode 100644
8638 index 000000000..98d2eee1a
8639 --- /dev/null
8640 +++ b/template/ucp_header.html
8641 @@ -0,0 +1,101 @@
8642 +<!-- INCLUDE overall_header.html -->
8643 +
8644 +<h2 class="ucp-title">{L_UCP}</h2>
8645 +
8646 +<div id="tabs" class="tabs">
8647 + <ul>
8648 + <!-- BEGIN t_block1 -->
8649 + <li class="tab<!-- IF t_block1.S_SELECTED --> activetab<!-- ENDIF -->"><a href="{t_block1.U_TITLE}">{t_block1.L_TITLE}</a></li>
8650 + <!-- END t_block1 -->
8651 + </ul>
8652 +</div>
8653 +
8654 +<!-- IF S_COMPOSE_PM -->
8655 +<form id="postform" method="post" action="{S_POST_ACTION}"{S_FORM_ENCTYPE}>
8656 +<!-- ENDIF -->
8657 +
8658 +<div class="panel bg3">
8659 + <div class="inner">
8660 +
8661 + <div style="width: 100%;">
8662 +
8663 + <div id="cp-menu" class="cp-menu">
8664 + <div id="navigation" class="navigation" role="navigation">
8665 +
8666 + <!-- IF S_PRIVMSGS -->
8667 + <!-- BEGIN t_block2 -->
8668 + <!-- IF S_PRIVMSGS and not t_block2.S_LAST_ROW -->
8669 + <ul>
8670 + <!-- IF t_block2.S_SELECTED -->
8671 + <li id="active-subsection" class="active-subsection"><a href="{t_block2.U_TITLE}"><span>{t_block2.L_TITLE}</span></a></li>
8672 + <!-- ELSE -->
8673 + <li><a href="{t_block2.U_TITLE}"><span>{t_block2.L_TITLE}</span></a></li>
8674 + <!-- ENDIF -->
8675 + </ul>
8676 + <!-- ENDIF -->
8677 + <!-- END t_block2 -->
8678 +
8679 + <hr />
8680 + <!-- BEGIN folder -->
8681 + <!-- IF folder.S_FIRST_ROW --><ul><!-- ENDIF -->
8682 + <!-- IF folder.S_CUR_FOLDER -->
8683 + <li id="active-subsection" class="active-subsection"><a href="{folder.U_FOLDER}"><!-- IF folder.UNREAD_MESSAGES > 0 --><strong>{folder.FOLDER_NAME} ({folder.UNREAD_MESSAGES})</strong><!-- ELSE -->{folder.FOLDER_NAME}<!-- ENDIF --></a></li>
8684 + <!-- ELSE -->
8685 + <li><a href="{folder.U_FOLDER}"><span><!-- IF folder.UNREAD_MESSAGES > 0 --><strong>{folder.FOLDER_NAME} ({folder.UNREAD_MESSAGES})</strong><!-- ELSE -->{folder.FOLDER_NAME}<!-- ENDIF --></span></a></li>
8686 + <!-- ENDIF -->
8687 + <!-- IF folder.S_LAST_ROW --></ul><!-- ENDIF -->
8688 + <!-- END folder -->
8689 + <hr />
8690 + <!-- ENDIF -->
8691 +
8692 + <ul>
8693 + <!-- BEGIN t_block2 -->
8694 + <!-- IF (S_PRIVMSGS and t_block2.S_LAST_ROW) or not S_PRIVMSGS -->
8695 + <!-- IF t_block2.S_SELECTED -->
8696 + <li id="active-subsection" class="active-subsection"><a href="{t_block2.U_TITLE}"><span>{t_block2.L_TITLE}</span></a></li>
8697 + <!-- ELSE -->
8698 + <li><a href="{t_block2.U_TITLE}"><span>{t_block2.L_TITLE}</span></a></li>
8699 + <!-- ENDIF -->
8700 + <!-- ENDIF -->
8701 + <!-- END t_block2 -->
8702 + </ul>
8703 + </div>
8704 +
8705 + <!-- IF .friends_online or .friends_offline -->
8706 + <div class="cp-mini">
8707 + <div class="inner">
8708 +
8709 + <dl class="mini">
8710 + <dt>{L_FRIENDS}</dt>
8711 +
8712 + <!-- BEGIN friends_online -->
8713 + <dd class="friend-online" title="{L_FRIENDS_ONLINE}">{friends_online.USERNAME_FULL} <!-- IF S_SHOW_PM_BOX --> <input type="submit" name="add_to[{friends_online.USER_ID}]" value="{L_ADD}" class="button2" /><!-- ENDIF --><!-- IF friends_online.S_LAST_ROW and .friends_offline --><hr /><!-- ENDIF --></dd>
8714 + <!-- END friends_online -->
8715 +
8716 + <!-- BEGIN friends_offline -->
8717 + <dd class="friend-offline" title="{L_FRIENDS_OFFLINE}">{friends_offline.USERNAME_FULL} <!-- IF S_SHOW_PM_BOX --><input type="submit" name="add_to[{friends_offline.USER_ID}]" value="{L_ADD}" class="button2" /><!-- ENDIF --></dd>
8718 + <!-- END friends_offline -->
8719 + </dl>
8720 +
8721 + </div>
8722 + </div>
8723 + <!-- ENDIF -->
8724 +
8725 + <!-- IF S_SHOW_COLOUR_LEGEND -->
8726 + <div class="cp-mini">
8727 + <div class="inner">
8728 +
8729 + <dl class="mini">
8730 + <dt>{L_MESSAGE_COLOURS}</dt>
8731 + <!-- BEGIN pm_colour_info -->
8732 + <dd class="pm-legend<!-- IF pm_colour_info.CLASS --> {pm_colour_info.CLASS}<!-- ENDIF -->"><!-- IF pm_colour_info.IMG -->{pm_colour_info.IMG} <!-- ENDIF -->{pm_colour_info.LANG}</dd>
8733 + <!-- END pm_colour_info -->
8734 + </dl>
8735 +
8736 + </div>
8737 + </div>
8738 + <!-- ENDIF -->
8739 +
8740 + </div>
8741 +
8742 + <div id="cp-main" class="cp-main ucp-main panel-container">
8743
8744 diff --git a/template/ucp_login_link.html b/template/ucp_login_link.html
8745 new file mode 100644
8746 index 000000000..be173318c
8747 --- /dev/null
8748 +++ b/template/ucp_login_link.html
8749 @@ -0,0 +1,58 @@
8750 +<!-- INCLUDE overall_header.html -->
8751 +
8752 +<div class="panel">
8753 + <div class="inner">
8754 +
8755 + <h2>{SITENAME} - {L_LOGIN_LINK}</h2>
8756 +
8757 + <p>{L_LOGIN_LINK_EXPLAIN}</p>
8758 +
8759 + <!-- IF LOGIN_LINK_ERROR --><div class="content">
8760 + <div class="error">{LOGIN_LINK_ERROR}</div>
8761 + </div><!-- ENDIF -->
8762 +
8763 + <div class="content">
8764 + <h2>{L_REGISTER}</h2>
8765 +
8766 + <form action="{REGISTER_ACTION}" method="post" id="register">
8767 + <fieldset class="fields1">
8768 + <dl>
8769 + <dt>&nbsp;</dt>
8770 + <dd>{S_HIDDEN_FIELDS}<input type="submit" name="register" tabindex="1" value="{L_REGISTER}" class="button1" /></dd>
8771 + </dl>
8772 + </fieldset>
8773 + </form>
8774 + </div>
8775 +
8776 + <div class="content">
8777 + <h2>{L_LOGIN}</h2>
8778 +
8779 + <form action="{LOGIN_ACTION}" method="post" id="login">
8780 + <fieldset class="fields1">
8781 + <!-- IF LOGIN_ERROR --><div class="error">{LOGIN_ERROR}</div><!-- ENDIF -->
8782 + <dl>
8783 + <dt><label for="{USERNAME_CREDENTIAL}">{L_USERNAME}{L_COLON}</label></dt>
8784 + <dd><input type="text" tabindex="2" name="{USERNAME_CREDENTIAL}" id="{USERNAME_CREDENTIAL}" size="25" value="{LOGIN_USERNAME}" class="inputbox autowidth" /></dd>
8785 + </dl>
8786 + <dl>
8787 + <dt><label for="{PASSWORD_CREDENTIAL}">{L_PASSWORD}{L_COLON}</label></dt>
8788 + <dd><input type="password" tabindex="3" id="{PASSWORD_CREDENTIAL}" name="{PASSWORD_CREDENTIAL}" size="25" class="inputbox autowidth" autocomplete="off" /></dd>
8789 + </dl>
8790 + <!-- IF CAPTCHA_TEMPLATE and S_CONFIRM_CODE -->
8791 + <!-- DEFINE $CAPTCHA_TAB_INDEX = 4 -->
8792 + <!-- INCLUDE {CAPTCHA_TEMPLATE} -->
8793 + <!-- ENDIF -->
8794 +
8795 + {S_LOGIN_REDIRECT}
8796 + <dl>
8797 + <dt>&nbsp;</dt>
8798 + <dd>{S_HIDDEN_FIELDS}<input type="submit" name="login" tabindex="5" value="{L_LOGIN}" class="button1" /></dd>
8799 + </dl>
8800 + </fieldset>
8801 + </form>
8802 + </div>
8803 +
8804 + </div>
8805 +</div>
8806 +
8807 +<!-- INCLUDE overall_footer.html -->
8808
8809 diff --git a/template/ucp_main_bookmarks.html b/template/ucp_main_bookmarks.html
8810 new file mode 100644
8811 index 000000000..25647afe1
8812 --- /dev/null
8813 +++ b/template/ucp_main_bookmarks.html
8814 @@ -0,0 +1,124 @@
8815 +<!-- INCLUDE ucp_header.html -->
8816 +
8817 +<form id="ucp" method="post" action="{S_UCP_ACTION}"{S_FORM_ENCTYPE}>
8818 +
8819 +<h2>{L_TITLE}</h2>
8820 +
8821 +<div class="panel">
8822 + <div class="inner">
8823 +
8824 + <p>{L_BOOKMARKS_EXPLAIN}</p>
8825 +
8826 +<!-- IF S_NO_DISPLAY_BOOKMARKS -->
8827 + <p class="error">{L_BOOKMARKS_DISABLED}</p>
8828 +<!-- ELSE -->
8829 +
8830 +<!-- IF .topicrow -->
8831 + <ul class="topiclist missing-column">
8832 + <li class="header">
8833 + <dl class="row-item">
8834 + <dt><div class="list-inner">{L_BOOKMARKS}</div></dt>
8835 + <dd class="lastpost"><span>{L_LAST_POST}</span></dd>
8836 + <dd class="mark">{L_MARK}</dd>
8837 + </dl>
8838 + </li>
8839 + </ul>
8840 + <ul class="topiclist cplist missing-column">
8841 +
8842 + <!-- BEGIN topicrow -->
8843 + <li class="row<!-- IF topicrow.S_TOPIC_REPORTED --> reported<!-- ELSEIF topicrow.S_ROW_COUNT is odd --> bg1<!-- ELSE --> bg2<!-- ENDIF -->">
8844 + <!-- IF topicrow.S_DELETED_TOPIC -->
8845 + <dl>
8846 + <dt><div class="list-inner"><strong>{L_DELETED_TOPIC}</strong></div></dt>
8847 + <dd class="lastpost"><span>&nbsp;</span></dd>
8848 + <dd class="mark"><input type="checkbox" name="t[{topicrow.TOPIC_ID}]" id="t{topicrow.TOPIC_ID}" /></dd>
8849 + </dl>
8850 + <!-- ELSE -->
8851 + <dl class="row-item {topicrow.TOPIC_IMG_STYLE}">
8852 + <dt<!-- IF topicrow.TOPIC_ICON_IMG --> style="background-image: url({T_ICONS_PATH}{topicrow.TOPIC_ICON_IMG}); background-repeat: no-repeat;"<!-- ENDIF --> title="{topicrow.TOPIC_FOLDER_IMG_ALT}">
8853 + <!-- IF topicrow.S_UNREAD_TOPIC --><a href="{topicrow.U_NEWEST_POST}" class="row-item-link"></a><!-- ENDIF -->
8854 + <div class="list-inner">
8855 + <!-- IF topicrow.S_UNREAD_TOPIC -->
8856 + <a class="unread" href="{topicrow.U_NEWEST_POST}">
8857 + <i class="icon fa-file fa-fw icon-red icon-md" aria-hidden="true"></i><span class="sr-only">{NEW_POST}</span>
8858 + </a>
8859 + <!-- ENDIF --><a href="{topicrow.U_VIEW_TOPIC}" class="topictitle">{topicrow.TOPIC_TITLE}</a>
8860 + <!-- IF topicrow.S_TOPIC_UNAPPROVED or topicrow.S_POSTS_UNAPPROVED -->
8861 + <a href="{topicrow.U_MCP_QUEUE}" title="{L_TOPIC_UNAPPROVED}">
8862 + <i class="icon fa-question fa-fw icon-blue" aria-hidden="true"></i><span class="sr-only">{L_TOPIC_UNAPPROVED}</span>
8863 + </a>
8864 + <!-- ENDIF -->
8865 + <!-- IF topicrow.S_TOPIC_REPORTED -->
8866 + <a href="{topicrow.U_MCP_REPORT}" title="{L_TOPIC_REPORTED}">
8867 + <i class="icon fa-exclamation fa-fw icon-red" aria-hidden="true"></i><span class="sr-only">{L_TOPIC_REPORTED}</span>
8868 + </a>
8869 + <!-- ENDIF -->
8870 + <br />
8871 + <!-- IF .topicrow.pagination -->
8872 + <div class="pagination">
8873 + <ul>
8874 + <!-- BEGIN pagination -->
8875 + <!-- IF topicrow.pagination.S_IS_PREV -->
8876 + <!-- ELSEIF topicrow.pagination.S_IS_CURRENT --><li class="active"><span>{topicrow.pagination.PAGE_NUMBER}</span></li>
8877 + <!-- ELSEIF topicrow.pagination.S_IS_ELLIPSIS --><li class="ellipsis"><span>{L_ELLIPSIS}</span></li>
8878 + <!-- ELSEIF topicrow.pagination.S_IS_NEXT -->
8879 + <!-- ELSE --><li><a href="{topicrow.pagination.PAGE_URL}">{topicrow.pagination.PAGE_NUMBER}</a></li>
8880 + <!-- ENDIF -->
8881 + <!-- END pagination -->
8882 + </ul>
8883 + </div>
8884 + <!-- ENDIF -->
8885 + <div class="responsive-hide">
8886 + <!-- IF topicrow.ATTACH_ICON_IMG --><i class="icon fa-paperclip fa-fw" aria-hidden="true"></i> <!-- ENDIF -->
8887 + {L_POST_BY_AUTHOR} {topicrow.TOPIC_AUTHOR_FULL} &raquo; {topicrow.FIRST_POST_TIME}
8888 + </div>
8889 + <div class="responsive-show" style="display: none;">
8890 + <!-- IF topicrow.ATTACH_ICON_IMG --><i class="icon fa-paperclip fa-fw" aria-hidden="true"></i> <!-- ENDIF -->
8891 + {L_LAST_POST} {L_POST_BY_AUTHOR} {topicrow.LAST_POST_AUTHOR_FULL} &laquo;
8892 + <a href="{topicrow.U_LAST_POST}" title="{L_GOTO_LAST_POST}">{topicrow.LAST_POST_TIME}</a>
8893 + </div>
8894 + </div>
8895 + </dt>
8896 + <dd class="lastpost"><span><dfn>{L_LAST_POST} </dfn>{L_POST_BY_AUTHOR} {topicrow.LAST_POST_AUTHOR_FULL}
8897 + <a href="{topicrow.U_LAST_POST}" title="{L_GOTO_LAST_POST}">
8898 + <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>
8899 + </a>
8900 + <br />{topicrow.LAST_POST_TIME}</span>
8901 + </dd>
8902 + <dd class="mark"><input type="checkbox" name="t[{topicrow.TOPIC_ID}]" id="t{topicrow.TOPIC_ID}" /></dd>
8903 + </dl>
8904 + <!-- ENDIF -->
8905 + </li>
8906 + <!-- END topicrow -->
8907 + </ul>
8908 +
8909 + <div class="action-bar bar-bottom">
8910 + <div class="pagination">
8911 + {TOTAL_TOPICS}
8912 + <!-- IF .pagination -->
8913 + <!-- INCLUDE pagination.html -->
8914 + <!-- ELSE -->
8915 + &bull; {PAGE_NUMBER}
8916 + <!-- ENDIF -->
8917 + </div>
8918 + </div>
8919 +
8920 +<!-- ELSE -->
8921 + <p><strong>{L_NO_BOOKMARKS}</strong></p>
8922 +<!-- ENDIF -->
8923 +
8924 +<!-- ENDIF -->
8925 +
8926 + </div>
8927 +</div>
8928 +
8929 +<!-- IF .topicrow and not S_NO_DISPLAY_BOOKMARKS -->
8930 + <fieldset class="display-actions">
8931 + <input type="submit" name="unbookmark" value="{L_REMOVE_BOOKMARK_MARKED}" class="button2" />
8932 + <div><a href="#" onclick="marklist('ucp', '', true); return false;">{L_MARK_ALL}</a> &bull; <a href="#" onclick="marklist('ucp', '', false); return false;">{L_UNMARK_ALL}</a></div>
8933 + {S_FORM_TOKEN}
8934 + </fieldset>
8935 +<!-- ENDIF -->
8936 +</form>
8937 +
8938 +<!-- INCLUDE ucp_footer.html -->
8939
8940 diff --git a/template/ucp_main_drafts.html b/template/ucp_main_drafts.html
8941 new file mode 100644
8942 index 000000000..52ad5b503
8943 --- /dev/null
8944 +++ b/template/ucp_main_drafts.html
8945 @@ -0,0 +1,79 @@
8946 +<!-- INCLUDE ucp_header.html -->
8947 +
8948 +<form id="postform" method="post" action="{S_UCP_ACTION}"{S_FORM_ENCTYPE}>
8949 +
8950 +<h2>{L_TITLE}</h2>
8951 +
8952 +<div class="panel">
8953 + <div class="inner">
8954 +
8955 + <p>{L_DRAFTS_EXPLAIN}</p>
8956 +
8957 +<!-- IF S_EDIT_DRAFT -->
8958 +
8959 + <!-- INCLUDE posting_editor.html -->
8960 + </div>
8961 + </div>
8962 +
8963 + <fieldset class="submit-buttons">
8964 + {S_HIDDEN_FIELDS}<input type="reset" value="{L_RESET}" name="reset" class="button2" />&nbsp;
8965 + <input type="submit" name="submit" value="{L_SAVE}" class="button1" />
8966 + {S_FORM_TOKEN}
8967 + </fieldset>
8968 +
8969 +<!-- ELSE -->
8970 +
8971 + <!-- IF .draftrow -->
8972 + <ul class="topiclist missing-column">
8973 + <li class="header">
8974 + <dl>
8975 + <dt><div class="list-inner">{L_DRAFT_TITLE}</div></dt>
8976 + <dd class="info"><span>{L_SAVE_DATE}</span></dd>
8977 + <dd class="mark">{L_MARK}</dd>
8978 + </dl>
8979 + </li>
8980 + </ul>
8981 + <ul class="topiclist cplist missing-column">
8982 +
8983 + <!-- BEGIN draftrow -->
8984 + <li class="row<!-- IF draftrow.S_ROW_COUNT is odd --> bg1<!-- ELSE --> bg2<!-- ENDIF -->">
8985 + <dl>
8986 + <dt>
8987 + <div class="list-inner">
8988 + <a class="topictitle" href="{draftrow.U_VIEW_EDIT}">{draftrow.DRAFT_SUBJECT}</a><br />
8989 + <!-- IF draftrow.S_LINK_TOPIC -->{L_TOPIC}{L_COLON} <a href="{draftrow.U_VIEW}">{draftrow.TITLE}</a>
8990 + <!-- ELSEIF draftrow.S_LINK_FORUM -->{L_FORUM}{L_COLON} <a href="{draftrow.U_VIEW}">{draftrow.TITLE}</a>
8991 + <!-- ELSEIF S_PRIVMSGS -->
8992 + <!-- ELSE -->{L_NO_TOPIC_FORUM}<!-- ENDIF -->
8993 + <div class="responsive-show" style="display: none;">
8994 + {L_SAVE_DATE}{L_COLON} <strong>{draftrow.DATE}</strong><br />
8995 + <!-- IF draftrow.U_INSERT --><a href="{draftrow.U_INSERT}">{L_LOAD_DRAFT}</a> &bull; <!-- ENDIF --><a href="{draftrow.U_VIEW_EDIT}">{L_VIEW_EDIT}</a>
8996 + </div>
8997 + </div>
8998 + </dt>
8999 + <dd class="info"><span>{draftrow.DATE}<br /><!-- IF draftrow.U_INSERT --><a href="{draftrow.U_INSERT}">{L_LOAD_DRAFT}</a> &bull; <!-- ENDIF --><a href="{draftrow.U_VIEW_EDIT}">{L_VIEW_EDIT}</a></span></dd>
9000 + <dd class="mark"><input type="checkbox" name="d[{draftrow.DRAFT_ID}]" id="d{draftrow.DRAFT_ID}" /></dd>
9001 + </dl>
9002 + </li>
9003 + <!-- END draftrow -->
9004 + </ul>
9005 + <!-- ELSE -->
9006 + <p><strong>{L_NO_SAVED_DRAFTS}</strong></p>
9007 + <!-- ENDIF -->
9008 +
9009 + </div>
9010 + </div>
9011 +
9012 + <!-- IF .draftrow -->
9013 + <fieldset class="display-actions">
9014 + <input class="button2" type="submit" name="delete" value="{L_DELETE_MARKED}" />
9015 + <div><a href="#" onclick="marklist('postform', '', true); return false;">{L_MARK_ALL}</a> &bull; <a href="#" onclick="marklist('postform', '', false); return false;">{L_UNMARK_ALL}</a></div>
9016 + {S_FORM_TOKEN}
9017 + </fieldset>
9018 + <!-- ENDIF -->
9019 +
9020 +<!-- ENDIF -->
9021 +
9022 +</form>
9023 +
9024 +<!-- INCLUDE ucp_footer.html -->
9025
9026 diff --git a/template/ucp_main_front.html b/template/ucp_main_front.html
9027 new file mode 100644
9028 index 000000000..04b568f62
9029 --- /dev/null
9030 +++ b/template/ucp_main_front.html
9031 @@ -0,0 +1,82 @@
9032 +<!-- INCLUDE ucp_header.html -->
9033 +
9034 +<h2>{L_TITLE}</h2>
9035 +
9036 +<div class="panel">
9037 + <div class="inner">
9038 +
9039 + <p>{L_UCP_WELCOME}</p>
9040 +
9041 +<!-- IF .topicrow -->
9042 + <h3>{L_IMPORTANT_NEWS}</h3>
9043 +
9044 + <ul class="topiclist cplist two-long-columns">
9045 + <!-- BEGIN topicrow -->
9046 + <li class="row<!-- IF topicrow.S_ROW_COUNT is odd --> bg1<!-- ELSE --> bg2<!-- ENDIF -->">
9047 + <dl class="row-item {topicrow.TOPIC_IMG_STYLE}">
9048 + <dt <!-- IF topicrow.TOPIC_ICON_IMG -->style="background-image: url({T_ICONS_PATH}{topicrow.TOPIC_ICON_IMG}); background-repeat: no-repeat;"<!-- ENDIF -->>
9049 + <!-- IF topicrow.S_UNREAD_TOPIC --><a href="{topicrow.U_NEWEST_POST}" class="row-item-link"></a><!-- ENDIF -->
9050 + <div class="list-inner">
9051 + <!-- IF topicrow.S_UNREAD -->
9052 + <a class="unread" href="{topicrow.U_NEWEST_POST}">
9053 + <i class="icon fa-file fa-fw icon-red icon-md" aria-hidden="true"></i><span class="sr-only">{NEW_POST}</span>
9054 + </a>
9055 + <!-- ENDIF -->
9056 + <a href="{topicrow.U_VIEW_TOPIC}" class="topictitle">{topicrow.TOPIC_TITLE}</a><br />
9057 + <!-- IF .topicrow.pagination -->
9058 + <div class="pagination">
9059 + <ul>
9060 + <!-- BEGIN pagination -->
9061 + <!-- IF topicrow.pagination.S_IS_PREV -->
9062 + <!-- ELSEIF topicrow.pagination.S_IS_CURRENT --><li class="active"><span>{topicrow.pagination.PAGE_NUMBER}</span></li>
9063 + <!-- ELSEIF topicrow.pagination.S_IS_ELLIPSIS --><li class="ellipsis"><span>{L_ELLIPSIS}</span></li>
9064 + <!-- ELSEIF topicrow.pagination.S_IS_NEXT -->
9065 + <!-- ELSE --><li><a href="{topicrow.pagination.PAGE_URL}">{topicrow.pagination.PAGE_NUMBER}</a></li>
9066 + <!-- ENDIF -->
9067 + <!-- END pagination -->
9068 + </ul>
9069 + </div>
9070 + <!-- ENDIF -->
9071 + <div class="responsive-hide">
9072 + <!-- IF topicrow.ATTACH_ICON_IMG --><i class="icon fa-paperclip fa-fw" aria-hidden="true"></i> <!-- ENDIF -->
9073 + {L_POST_BY_AUTHOR} {topicrow.TOPIC_AUTHOR_FULL} &raquo; {topicrow.FIRST_POST_TIME}
9074 + </div>
9075 + <div class="responsive-show" style="display: none;">
9076 + <!-- IF topicrow.ATTACH_ICON_IMG --><i class="icon fa-paperclip fa-fw" aria-hidden="true"></i> <!-- ENDIF -->
9077 + {L_LAST_POST} {L_POST_BY_AUTHOR} {topicrow.LAST_POST_AUTHOR_FULL} &laquo; <a href="{topicrow.U_LAST_POST}" title="{L_GOTO_LAST_POST}">{topicrow.LAST_POST_TIME}</a>
9078 + </div>
9079 + </div>
9080 + </dt>
9081 + <dd class="lastpost">
9082 + <span>{L_LAST_POST} {L_POST_BY_AUTHOR} {topicrow.LAST_POST_AUTHOR_FULL}
9083 + <a href="{topicrow.U_LAST_POST}" title="{L_GOTO_LAST_POST}">
9084 + <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>
9085 + </a>
9086 + <br />{topicrow.LAST_POST_TIME}
9087 + </span>
9088 + </dd>
9089 + </dl>
9090 + </li>
9091 + <!-- END topicrow -->
9092 + </ul>
9093 +<!-- ENDIF -->
9094 +
9095 + <h3>{L_YOUR_DETAILS}</h3>
9096 +
9097 +<!-- EVENT ucp_main_front_user_activity_before -->
9098 + <dl class="details">
9099 + <!-- EVENT ucp_main_front_user_activity_prepend -->
9100 + <dt>{L_JOINED}{L_COLON}</dt> <dd>{JOINED}</dd>
9101 + <dt>{L_LAST_ACTIVE}{L_COLON}</dt> <dd>{LAST_VISIT_YOU}</dd>
9102 + <dt>{L_TOTAL_POSTS}{L_COLON}</dt> <dd><!-- IF POSTS_PCT -->{POSTS}<!-- IF S_DISPLAY_SEARCH --> | <strong><a href="{U_SEARCH_USER}">{L_SEARCH_YOUR_POSTS}</a></strong><!-- ENDIF --><br />({POSTS_DAY} / {POSTS_PCT})<!-- ELSE -->{POSTS}<!-- ENDIF --></dd>
9103 + <!-- IF ACTIVE_FORUM != '' --><dt>{L_ACTIVE_IN_FORUM}{L_COLON}</dt> <dd><strong><a href="{U_ACTIVE_FORUM}">{ACTIVE_FORUM}</a></strong><br />({ACTIVE_FORUM_POSTS} / {ACTIVE_FORUM_PCT})</dd><!-- ENDIF -->
9104 + <!-- IF ACTIVE_TOPIC != '' --><dt>{L_ACTIVE_IN_TOPIC}{L_COLON}</dt> <dd><strong><a href="{U_ACTIVE_TOPIC}">{ACTIVE_TOPIC}</a></strong><br />({ACTIVE_TOPIC_POSTS} / {ACTIVE_TOPIC_PCT})</dd><!-- ENDIF -->
9105 + <!-- IF WARNINGS --><dt>{L_YOUR_WARNINGS}{L_COLON}</dt> <dd class="error"><i class="icon fa-exclamation-triangle fa-fw icon-red" aria-hidden="true"></i> [{WARNINGS}]</dd><!-- ENDIF -->
9106 + <!-- EVENT ucp_main_front_user_activity_append -->
9107 + </dl>
9108 +<!-- EVENT ucp_main_front_user_activity_after -->
9109 +
9110 + </div>
9111 +</div>
9112 +
9113 +<!-- INCLUDE ucp_footer.html -->
9114
9115 diff --git a/template/ucp_main_subscribed.html b/template/ucp_main_subscribed.html
9116 new file mode 100644
9117 index 000000000..d8de7fd09
9118 --- /dev/null
9119 +++ b/template/ucp_main_subscribed.html
9120 @@ -0,0 +1,170 @@
9121 +<!-- INCLUDE ucp_header.html -->
9122 +
9123 +<form id="ucp" method="post" action="{S_UCP_ACTION}"{S_FORM_ENCTYPE}>
9124 +
9125 +<h2>{L_TITLE}</h2>
9126 +<div class="panel">
9127 + <div class="inner">
9128 +
9129 + <p>{L_WATCHED_EXPLAIN}</p>
9130 +
9131 +<!-- IF .forumrow -->
9132 + <ul class="topiclist missing-column">
9133 + <li class="header">
9134 + <dl class="row-item">
9135 + <dt><div class="list-inner">{L_WATCHED_FORUMS}</div></dt>
9136 + <dd class="lastpost"><span>{L_LAST_POST}</span></dd>
9137 + <dd class="mark">{L_MARK}</dd>
9138 + </dl>
9139 + </li>
9140 + </ul>
9141 + <ul class="topiclist cplist missing-column">
9142 +
9143 + <!-- BEGIN forumrow -->
9144 + <li class="row<!-- IF forumrow.S_ROW_COUNT is odd --> bg1<!-- ELSE --> bg2<!-- ENDIF -->">
9145 + <dl class="row-item {forumrow.FORUM_IMG_STYLE}">
9146 + <dt>
9147 + <!-- IF forumrow.S_UNREAD_FORUM --><a href="{forumrow.U_VIEWFORUM}" class="row-item-link"></a><!-- ENDIF -->
9148 + <div class="list-inner">
9149 + <a href="{forumrow.U_VIEWFORUM}" class="forumtitle">{forumrow.FORUM_NAME}</a><br />
9150 + {forumrow.FORUM_DESC}
9151 + <!-- IF forumrow.LAST_POST_TIME -->
9152 + <div class="responsive-show" style="display: none;">
9153 + {L_LAST_POST} {L_POST_BY_AUTHOR} {forumrow.LAST_POST_AUTHOR_FULL} &laquo; <a href="{forumrow.U_LAST_POST}">{forumrow.LAST_POST_TIME}</a>
9154 + </div>
9155 + <!-- ENDIF -->
9156 + </div>
9157 + </dt>
9158 + <dd class="lastpost">
9159 + <!-- IF forumrow.LAST_POST_TIME -->
9160 + <span><dfn>{L_LAST_POST} </dfn>{L_POST_BY_AUTHOR} {forumrow.LAST_POST_AUTHOR_FULL}
9161 + <a href="{forumrow.U_LAST_POST}">
9162 + <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>
9163 + </a>
9164 + <br />{forumrow.LAST_POST_TIME}</span>
9165 + <!-- ELSE -->
9166 + {L_NO_POSTS}<br />&nbsp;
9167 + <!-- ENDIF -->
9168 + </dd>
9169 + <dd class="mark"><input type="checkbox" name="f[{forumrow.FORUM_ID}]" id="f{forumrow.FORUM_ID}" /></dd>
9170 + </dl>
9171 + </li>
9172 + <!-- END forumrow -->
9173 + </ul>
9174 +<!-- ELSEIF S_FORUM_NOTIFY -->
9175 + <ul class="topiclist">
9176 + <li class="header">
9177 + <dl class="row-item">
9178 + <dt>{L_WATCHED_FORUMS}</dt>
9179 + </dl>
9180 + </li>
9181 + </ul>
9182 + <p><strong>{L_NO_WATCHED_FORUMS}</strong></p>
9183 +<!-- ENDIF -->
9184 + <br />
9185 +
9186 +<!-- IF .topicrow -->
9187 + <ul class="topiclist missing-column">
9188 + <li class="header">
9189 + <dl class="row-item">
9190 + <dt><div class="list-inner">{L_WATCHED_TOPICS}</div></dt>
9191 + <dd class="lastpost"><span>{L_LAST_POST}</span></dd>
9192 + <dd class="mark">{L_MARK}</dd>
9193 + </dl>
9194 + </li>
9195 + </ul>
9196 + <ul class="topiclist cplist missing-column">
9197 +
9198 + <!-- BEGIN topicrow -->
9199 + <li class="row<!-- IF topicrow.S_TOPIC_REPORTED --> reported<!-- ELSEIF topicrow.S_ROW_COUNT is odd --> bg1<!-- ELSE --> bg2<!-- ENDIF -->">
9200 + <dl class="row-item {topicrow.TOPIC_IMG_STYLE}">
9201 + <dt<!-- IF topicrow.TOPIC_ICON_IMG --> style="background-image: url({T_ICONS_PATH}{topicrow.TOPIC_ICON_IMG}); background-repeat: no-repeat;"<!-- ENDIF --> title="{topicrow.TOPIC_FOLDER_IMG_ALT}">
9202 + <!-- IF topicrow.S_UNREAD_TOPIC --><a href="{topicrow.U_NEWEST_POST}" class="row-item-link"></a><!-- ENDIF -->
9203 + <div class="list-inner">
9204 + <!-- IF topicrow.S_UNREAD_TOPIC -->
9205 + <a class="unread" href="{topicrow.U_NEWEST_POST}">
9206 + <i class="icon fa-file fa-fw icon-red icon-md" aria-hidden="true"></i><span class="sr-only">{NEW_POST}</span>
9207 + </a>
9208 + <!-- ENDIF --><a href="{topicrow.U_VIEW_TOPIC}" class="topictitle">{topicrow.TOPIC_TITLE}</a>
9209 + <!-- IF topicrow.S_TOPIC_UNAPPROVED or topicrow.S_POSTS_UNAPPROVED -->
9210 + <a href="{topicrow.U_MCP_QUEUE}" title="{L_TOPIC_UNAPPROVED}">
9211 + <i class="icon fa-question fa-fw icon-blue" aria-hidden="true"></i><span class="sr-only">{L_TOPIC_UNAPPROVED}</span>
9212 + </a>
9213 + <!-- ENDIF -->
9214 + <!-- IF topicrow.S_TOPIC_REPORTED -->
9215 + <a href="{topicrow.U_MCP_REPORT}" title="{L_TOPIC_REPORTED}">
9216 + <i class="icon fa-exclamation fa-fw icon-red" aria-hidden="true"></i><span class="sr-only">{L_TOPIC_REPORTED}</span>
9217 + </a>
9218 + <!-- ENDIF -->
9219 + <br />
9220 + <!-- IF .topicrow.pagination -->
9221 + <div class="pagination">
9222 + <ul>
9223 + <!-- BEGIN pagination -->
9224 + <!-- IF topicrow.pagination.S_IS_PREV -->
9225 + <!-- ELSEIF topicrow.pagination.S_IS_CURRENT --><li class="active"><span>{topicrow.pagination.PAGE_NUMBER}</span></li>
9226 + <!-- ELSEIF topicrow.pagination.S_IS_ELLIPSIS --><li class="ellipsis"><span>{L_ELLIPSIS}</span></li>
9227 + <!-- ELSEIF topicrow.pagination.S_IS_NEXT -->
9228 + <!-- ELSE --><li><a href="{topicrow.pagination.PAGE_URL}">{topicrow.pagination.PAGE_NUMBER}</a></li>
9229 + <!-- ENDIF -->
9230 + <!-- END pagination -->
9231 + </ul>
9232 + </div>
9233 + <!-- ENDIF -->
9234 + <div class="responsive-hide">
9235 + <!-- IF topicrow.ATTACH_ICON_IMG --><i class="icon fa-paperclip fa-fw" aria-hidden="true"></i> <!-- ENDIF -->
9236 + {L_POST_BY_AUTHOR} {topicrow.TOPIC_AUTHOR_FULL} &raquo; {topicrow.FIRST_POST_TIME}
9237 + </div>
9238 + <div class="responsive-show" style="display: none;">
9239 + <!-- IF topicrow.ATTACH_ICON_IMG --><i class="icon fa-paperclip fa-fw" aria-hidden="true"></i> <!-- ENDIF -->
9240 + {L_LAST_POST} {L_POST_BY_AUTHOR} {topicrow.LAST_POST_AUTHOR_FULL} &laquo; <a href="{topicrow.U_LAST_POST}" title="{L_GOTO_LAST_POST}">{topicrow.LAST_POST_TIME}</a>
9241 + </div>
9242 + </div>
9243 + </dt>
9244 + <dd class="lastpost"><span><dfn>{L_LAST_POST} </dfn>{L_POST_BY_AUTHOR} {topicrow.LAST_POST_AUTHOR_FULL}
9245 + <a href="{topicrow.U_LAST_POST}" title="{L_GOTO_LAST_POST}">
9246 + <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>
9247 + </a>
9248 + <br />{topicrow.LAST_POST_TIME}</span>
9249 + </dd>
9250 + <dd class="mark"><input type="checkbox" name="t[{topicrow.TOPIC_ID}]" id="t{topicrow.TOPIC_ID}" /></dd>
9251 + </dl>
9252 + </li>
9253 + <!-- END topicrow -->
9254 + </ul>
9255 +
9256 + <div class="action-bar bar-bottom">
9257 + <div class="pagination">
9258 + {TOTAL_TOPICS}
9259 + <!-- IF .pagination -->
9260 + <!-- INCLUDE pagination.html -->
9261 + <!-- ELSE -->
9262 + &bull; {PAGE_NUMBER}
9263 + <!-- ENDIF -->
9264 + </div>
9265 + </div>
9266 +
9267 +<!-- ELSEIF S_TOPIC_NOTIFY -->
9268 + <ul class="topiclist">
9269 + <li class="header">
9270 + <dl class="row-item">
9271 + <dt>{L_WATCHED_TOPICS}</dt>
9272 + </dl>
9273 + </li>
9274 + </ul>
9275 + <p><strong>{L_NO_WATCHED_TOPICS}</strong></p>
9276 +<!-- ENDIF -->
9277 +
9278 + </div>
9279 +</div>
9280 +
9281 +<!-- IF .topicrow or .forumrow -->
9282 + <fieldset class="display-actions">
9283 + <input type="submit" name="unwatch" value="{L_UNWATCH_MARKED}" class="button2" />
9284 + <div><a href="#" onclick="marklist('ucp', 't', true); marklist('ucp', 'f', true); return false;">{L_MARK_ALL}</a> &bull; <a href="#" onclick="marklist('ucp', 't', false); marklist('ucp', 'f', false); return false;">{L_UNMARK_ALL}</a></div>
9285 + {S_FORM_TOKEN}
9286 + </fieldset>
9287 +<!-- ENDIF -->
9288 +</form>
9289 +
9290 +<!-- INCLUDE ucp_footer.html -->
9291
9292 diff --git a/template/ucp_notifications.html b/template/ucp_notifications.html
9293 new file mode 100644
9294 index 000000000..55e30477d
9295 --- /dev/null
9296 +++ b/template/ucp_notifications.html
9297 @@ -0,0 +1,120 @@
9298 +<!-- INCLUDE ucp_header.html -->
9299 +
9300 +<form id="ucp" method="post" action="{S_UCP_ACTION}"{S_FORM_ENCTYPE}>
9301 +
9302 +<h2>{TITLE}</h2>
9303 +<div class="panel">
9304 + <div class="inner">
9305 +
9306 + <p>{TITLE_EXPLAIN}</p>
9307 +
9308 + <!-- IF MODE == 'notification_options' -->
9309 + <table class="table1">
9310 + <thead>
9311 + <tr>
9312 + <th>{L_NOTIFICATION_TYPE}</th>
9313 + <!-- BEGIN notification_methods -->
9314 + <th class="mark">{notification_methods.NAME}</th>
9315 + <!-- END notification_methods -->
9316 + </tr>
9317 + </thead>
9318 + <tbody>
9319 + <!-- BEGIN notification_types -->
9320 + <!-- IF notification_types.GROUP_NAME -->
9321 + <tr class="bg3">
9322 + <td colspan="{NOTIFICATION_TYPES_COLS}">{notification_types.GROUP_NAME}</td>
9323 + </tr>
9324 + <!-- ELSE -->
9325 + <tr class="<!-- IF notification_types.S_ROW_COUNT is odd -->bg1<!-- ELSE -->bg2<!-- ENDIF -->">
9326 + <td>
9327 + {notification_types.NAME}
9328 + <!-- IF notification_types.EXPLAIN --><br />&nbsp; &nbsp;{notification_types.EXPLAIN}<!-- ENDIF -->
9329 + </td>
9330 + <!-- BEGIN notification_methods -->
9331 + <td class="mark"><input type="checkbox" name="{notification_types.TYPE}_{notification_types.notification_methods.METHOD}"<!-- IF notification_types.notification_methods.AVAILABLE and notification_types.notification_methods.SUBSCRIBED --> checked="checked"<!-- ENDIF --><!-- IF not notification_types.notification_methods.AVAILABLE --> disabled="disabled"<!-- ENDIF --> /></td>
9332 + <!-- END notification_methods -->
9333 + </tr>
9334 + <!-- ENDIF -->
9335 + <!-- END notification_types -->
9336 + </tbody>
9337 + </table>
9338 + <!-- ELSE -->
9339 + <!-- IF .notification_list -->
9340 + <div class="action-bar bar-top">
9341 + <div class="pagination">
9342 + <!-- IF U_MARK_ALL --><a href="{U_MARK_ALL}" class="mark">{L_NOTIFICATIONS_MARK_ALL_READ}</a> &bull; <!-- ENDIF -->
9343 + {L_NOTIFICATIONS} [<strong>{TOTAL_COUNT}</strong>]
9344 + <!-- IF .pagination -->
9345 + <!-- INCLUDE pagination.html -->
9346 + <!-- ELSE -->
9347 + &bull; {PAGE_NUMBER}
9348 + <!-- ENDIF -->
9349 + </div>
9350 + </div>
9351 +
9352 + <div class="notification_list">
9353 + <ul class="topiclist two-columns">
9354 + <li class="header">
9355 + <dl>
9356 + <dt><div class="list-inner">{L_NOTIFICATIONS}</div></dt>
9357 + <dd class="mark">{L_MARK_READ}</dd>
9358 + </dl>
9359 + </li>
9360 + </ul>
9361 + <ul class="topiclist cplist two-columns">
9362 + <!-- BEGIN notification_list -->
9363 + <li class="row<!-- IF notification_list.UNREAD --> bg3<!-- ELSE --><!-- IF notification_list.S_ROW_COUNT is odd --> bg1<!-- ELSE --> bg2<!-- ENDIF --><!-- ENDIF --><!-- IF notification_list.STYLING --> {notification_list.STYLING}<!-- ENDIF -->">
9364 + <dl>
9365 + <dt>
9366 + <div class="list-inner">
9367 + <!-- IF notification_list.AVATAR -->{notification_list.AVATAR}<!-- ELSE --><img src="{T_THEME_PATH}/images/no_avatar.gif" alt="" /><!-- ENDIF -->
9368 + <div class="notifications">
9369 + <!-- IF notification_list.URL --><a href="<!-- IF notification_list.UNREAD -->{notification_list.U_MARK_READ}<!-- ELSE -->{notification_list.URL}<!-- ENDIF -->"><!-- ENDIF -->
9370 + <p class="notifications_title">{notification_list.FORMATTED_TITLE}<!-- IF notification_list.REFERENCE --> {notification_list.REFERENCE}<!-- ENDIF --></p>
9371 + <!-- IF notification_list.URL --></a><!-- ENDIF -->
9372 + <!-- IF notification_list.FORUM --><p class="notifications_forum">{notification_list.FORUM}</p><!-- ENDIF -->
9373 + <!-- IF notification_list.REASON --><p class="notifications_reason">{notification_list.REASON}</p><!-- ENDIF -->
9374 + <p class="notifications_time">{notification_list.TIME}</p>
9375 + </div>
9376 + </div>
9377 + </dt>
9378 +
9379 + <dd class="mark">&nbsp;<input type="checkbox" name="mark[]" value="{notification_list.NOTIFICATION_ID}"<!-- IF not notification_list.UNREAD --> disabled="disabled"<!-- ENDIF --> /> <dfn>{L_MARK_READ}</dfn>&nbsp;</dd>
9380 + </dl>
9381 + </li>
9382 + <!-- END notification_list -->
9383 + </ul>
9384 + </div>
9385 +
9386 + <div class="action-bar bar-bottom">
9387 + <div class="pagination">
9388 + {L_NOTIFICATIONS} [<strong>{TOTAL_COUNT}</strong>]
9389 + <!-- IF .pagination -->
9390 + <!-- INCLUDE pagination.html -->
9391 + <!-- ELSE -->
9392 + &bull; {PAGE_NUMBER}
9393 + <!-- ENDIF -->
9394 + </div>
9395 + </div>
9396 +
9397 + <!-- ELSE -->
9398 + <p><strong>{L_NO_NOTIFICATIONS}</strong></p>
9399 + <!-- ENDIF -->
9400 +
9401 + <!-- ENDIF -->
9402 + </div>
9403 +</div>
9404 +
9405 +<!-- IF .notification_types or .notification_list -->
9406 +<fieldset class="display-actions">
9407 + <input type="hidden" name="form_time" value="{FORM_TIME}" />
9408 + {S_HIDDEN_FIELDS}
9409 + <input type="submit" name="submit" value="<!-- IF MODE == 'notification_options' -->{L_SUBMIT}<!-- ELSE -->{L_MARK_READ}<!-- ENDIF -->" class="button1" />
9410 + <div><a href="#" onclick="$('#ucp input:checkbox').prop('checked', true); return false;">{L_MARK_ALL}</a> &bull; <a href="#" onclick="$('#ucp input:checkbox').prop('checked', false); return false;">{L_UNMARK_ALL}</a></div>
9411 + {S_FORM_TOKEN}
9412 +</fieldset>
9413 +<!-- ENDIF -->
9414 +
9415 +</form>
9416 +
9417 +<!-- INCLUDE ucp_footer.html -->
9418
9419 diff --git a/template/ucp_pm_history.html b/template/ucp_pm_history.html
9420 new file mode 100644
9421 index 000000000..b53eb0c7e
9422 --- /dev/null
9423 +++ b/template/ucp_pm_history.html
9424 @@ -0,0 +1,56 @@
9425 +
9426 +<h3 id="review" class="review">
9427 + <span class="right-box"><a href="#review" onclick="viewableArea(getElementById('topicreview'), true); var rev_text = getElementById('review').getElementsByTagName('a').item(0).firstChild; if (rev_text.data == '{LA_EXPAND_VIEW}'){rev_text.data = '{LA_COLLAPSE_VIEW}'; } else if (rev_text.data == '{LA_COLLAPSE_VIEW}'){rev_text.data = '{LA_EXPAND_VIEW}'};">{L_EXPAND_VIEW}</a></span>
9428 + {L_MESSAGE_HISTORY}{L_COLON}
9429 +</h3>
9430 +
9431 +<!-- EVENT ucp_pm_history_review_before -->
9432 +<div id="topicreview" class="topicreview">
9433 + <script>
9434 + bbcodeEnabled = {S_BBCODE_ALLOWED};
9435 + </script>
9436 + <!-- BEGIN history_row -->
9437 + <div class="post <!-- IF history_row.S_ROW_COUNT is even -->bg1<!-- ELSE -->bg2<!-- ENDIF -->">
9438 + <div class="inner">
9439 +
9440 + <div class="postbody" id="pr{history_row.MSG_ID}">
9441 + <h3><a href="{history_row.U_VIEW_MESSAGE}" <!-- IF history_row.S_CURRENT_MSG -->class="current"<!-- ENDIF -->>{history_row.SUBJECT}</a></h3>
9442 +
9443 + <!-- DEFINE $SHOW_PM_HISTORY_POST_BUTTONS = (history_row.U_QUOTE or history_row.MESSAGE_AUTHOR_QUOTE) -->
9444 + <!-- EVENT ucp_pm_history_post_buttons_list_before -->
9445 + <!-- IF $SHOW_PM_HISTORY_POST_BUTTONS -->
9446 + <ul class="post-buttons">
9447 + <!-- EVENT ucp_pm_history_post_buttons_before -->
9448 + <!-- IF history_row.U_QUOTE or history_row.MESSAGE_AUTHOR_QUOTE -->
9449 + <li>
9450 + <a <!-- IF history_row.U_QUOTE -->href="{history_row.U_QUOTE}"<!-- ELSE -->href="#postingbox" onclick="addquote({history_row.MSG_ID}, '{history_row.MESSAGE_AUTHOR_QUOTE}', '{LA_WROTE}', {time:{history_row.MESSAGE_TIME},user_id:{history_row.USER_ID}});"<!-- ENDIF --> title="{L_QUOTE} {history_row.MESSAGE_AUTHOR}" class="button button-icon-only">
9451 + <i class="icon fa-quote-left fa-fw" aria-hidden="true"></i><span class="sr-only">{L_QUOTE} {history_row.MESSAGE_AUTHOR}</span>
9452 + </a>
9453 + </li>
9454 + <!-- ENDIF -->
9455 + <!-- EVENT ucp_pm_history_post_buttons_after -->
9456 + </ul>
9457 + <!-- ENDIF -->
9458 + <!-- EVENT ucp_pm_history_post_buttons_list_after -->
9459 +
9460 + <p class="author">
9461 + <span><i class="icon fa-file fa-fw icon-lightgray icon-md" aria-hidden="true"></i><span class="sr-only">{history_row.MINI_POST}</span></span> {L_SENT_AT}{L_COLON} <strong>{history_row.SENT_DATE}</strong>
9462 + <br />
9463 + {L_MESSAGE_BY_AUTHOR} <!-- EVENT ucp_pm_history_row_message_author_username_prepend -->{history_row.MESSAGE_AUTHOR_FULL}<!-- EVENT ucp_pm_history_row_message_author_username_append -->
9464 + </p>
9465 + <div class="content"><!-- IF history_row.MESSAGE -->{history_row.MESSAGE}<!-- ELSE --><span class="error">{L_MESSAGE_REMOVED_FROM_OUTBOX}</span><!-- ENDIF --></div>
9466 + <div id="message_{history_row.MSG_ID}" style="display: none;">{history_row.DECODED_MESSAGE}</div>
9467 + </div>
9468 +
9469 + </div>
9470 + </div>
9471 + <!-- END history_row -->
9472 +</div>
9473 +<!-- EVENT ucp_pm_history_review_after -->
9474 +
9475 +<hr />
9476 +<p>
9477 + <a href="#cp-main" class="top">
9478 + <i class="icon fa-chevron-circle-up fa-fw icon-gray" aria-hidden="true"></i><span>{L_BACK_TO_TOP}</span>
9479 + </a>
9480 +</p>
9481
9482 diff --git a/template/ucp_pm_message_footer.html b/template/ucp_pm_message_footer.html
9483 new file mode 100644
9484 index 000000000..acf6f24af
9485 --- /dev/null
9486 +++ b/template/ucp_pm_message_footer.html
9487 @@ -0,0 +1,2 @@
9488 +<div>{S_FORM_TOKEN}</div>
9489 +</form>
9490
9491 diff --git a/template/ucp_pm_message_header.html b/template/ucp_pm_message_header.html
9492 new file mode 100644
9493 index 000000000..6ad9e9cab
9494 --- /dev/null
9495 +++ b/template/ucp_pm_message_header.html
9496 @@ -0,0 +1,70 @@
9497 +<h2>{L_TITLE}<!-- IF CUR_FOLDER_NAME -->{L_COLON} {CUR_FOLDER_NAME}<!-- ENDIF --></h2>
9498 +
9499 +<form id="viewfolder" method="post" action="{S_PM_ACTION}">
9500 +
9501 +<div class="panel">
9502 + <div class="inner">
9503 + <!-- IF FOLDER_STATUS and FOLDER_MAX_MESSAGES neq 0 --><p>{FOLDER_STATUS}</p><!-- ENDIF -->
9504 +
9505 + <div class="action-bar bar-top">
9506 + <!-- IF U_POST_REPLY_PM or U_POST_NEW_TOPIC or U_FORWARD_PM -->
9507 + <!-- IF U_POST_REPLY_PM -->
9508 + <a title="{L_POST_REPLY_PM}" href="{U_POST_REPLY_PM}" class="button">
9509 + <span>{L_BUTTON_PM_REPLY}</span> <i class="icon fa-reply fa-fw" aria-hidden="true"></i>
9510 + </a>
9511 + <!-- ELSEIF U_POST_NEW_TOPIC -->
9512 + <a href="{U_POST_NEW_TOPIC}" accesskey="n" title="{L_UCP_PM_COMPOSE}" class="button">
9513 + <span>{L_BUTTON_PM_NEW}</span> <i class="icon fa-pencil fa-fw" aria-hidden="true"></i>
9514 + </a>
9515 + <!-- ENDIF -->
9516 + <!-- IF U_FORWARD_PM -->
9517 + <a title="{L_POST_FORWARD_PM}" href="{U_FORWARD_PM}" class="button">
9518 + <span>{L_BUTTON_PM_FORWARD}</span> <i class="icon fa-mail-forward fa-fw" aria-hidden="true"></i>
9519 + </a>
9520 + <!-- ENDIF -->
9521 + <!-- IF U_POST_REPLY_PM and S_PM_RECIPIENTS gt 1 -->
9522 + <a title="{L_REPLY_TO_ALL}" href="{U_POST_REPLY_ALL}" class="button">
9523 + <span>{L_BUTTON_PM_REPLY_ALL}</span> <i class="icon fa-pencil fa-fw" aria-hidden="true"></i>
9524 + </a>
9525 + <!-- ENDIF -->
9526 + <!-- ENDIF -->
9527 +
9528 + <!-- IF not S_IS_BOT and U_PRINT_PM -->
9529 + <div class="dropdown-container dropdown-button-control topic-tools">
9530 + <span title="{L_PM_TOOLS}" class="button button-secondary dropdown-trigger dropdown-select">
9531 + <i class="icon fa-wrench fa-fw" aria-hidden="true"></i>
9532 + <span class="caret"><i class="icon fa-sort-down fa-fw" aria-hidden="true"></i></span>
9533 + </span>
9534 + <div class="dropdown">
9535 + <div class="pointer"><div class="pointer-inner"></div></div>
9536 + <ul class="dropdown-contents">
9537 + <!-- IF U_PRINT_PM -->
9538 + <li>
9539 + <a href="{U_PRINT_PM}" title="{L_PRINT_PM}" accesskey="p">
9540 + <i class="icon fa-print fa-fw" aria-hidden="true"></i><span>{L_PRINT_PM}</span>
9541 + </a>
9542 + </li>
9543 + <!-- ENDIF -->
9544 + </ul>
9545 + </div>
9546 + </div>
9547 + <!-- ENDIF -->
9548 +
9549 + <!-- IF TOTAL_MESSAGES or S_VIEW_MESSAGE -->
9550 + <div class="pagination">
9551 + <!-- IF S_VIEW_MESSAGE -->
9552 + <a class="arrow-{S_CONTENT_FLOW_BEGIN}" href="{U_CURRENT_FOLDER}">
9553 + <i class="icon fa-angle-{S_CONTENT_FLOW_BEGIN} fa-fw icon-black" aria-hidden="true"></i><span>{L_RETURN_TO_FOLDER}</span>
9554 + </a>
9555 + <!-- ELSEIF FOLDER_CUR_MESSAGES neq 0 -->
9556 + <!-- IF U_MARK_ALL --><a href="{U_MARK_ALL}" class="mark">{L_PM_MARK_ALL_READ}</a> &bull; <!-- ENDIF -->
9557 + {TOTAL_MESSAGES}
9558 + <!-- IF .pagination -->
9559 + <!-- INCLUDE pagination.html -->
9560 + <!-- ELSE -->
9561 + &bull; {PAGE_NUMBER}
9562 + <!-- ENDIF -->
9563 + <!-- ENDIF -->
9564 + </div>
9565 + <!-- ENDIF -->
9566 + </div>
9567
9568 diff --git a/template/ucp_pm_options.html b/template/ucp_pm_options.html
9569 new file mode 100644
9570 index 000000000..247be8b6f
9571 --- /dev/null
9572 +++ b/template/ucp_pm_options.html
9573 @@ -0,0 +1,131 @@
9574 +<!-- INCLUDE ucp_header.html -->
9575 +
9576 +<h2>{L_TITLE}</h2>
9577 +
9578 +<form id="ucp" method="post" action="{S_UCP_ACTION}">
9579 +
9580 +<div class="panel">
9581 + <div class="inner">
9582 +
9583 + <!-- IF ERROR_MESSAGE --><p class="error">{ERROR_MESSAGE}</p><!-- ENDIF -->
9584 + <!-- IF NOTIFICATION_MESSAGE --><p class="error">{NOTIFICATION_MESSAGE}</p><!-- ENDIF -->
9585 +
9586 + <h3>{L_DEFINED_RULES}</h3>
9587 +
9588 + <ol class="def-rules">
9589 + <!-- BEGIN rule -->
9590 + <li><div class="right-box"><input type="submit" name="delete_rule[{rule.RULE_ID}]" value="{L_DELETE_RULE}" class="button2" /></div><strong>{L_IF}</strong> {rule.CHECK} <em>{rule.RULE}</em> <!-- IF rule.STRING --><strong>{rule.STRING}</strong> | <!-- ENDIF -->{rule.ACTION}<!-- IF rule.FOLDER -->{L_COLON} {rule.FOLDER}<!-- ENDIF --><div style="clear: both;"></div></li>
9591 + <!-- BEGINELSE -->
9592 + <li><strong>{L_NO_RULES_DEFINED}</strong></li>
9593 + <!-- END rule -->
9594 + </ol>
9595 +
9596 + <h3>{L_ADD_NEW_RULE}</h3>
9597 +
9598 + <fieldset class="fields2">
9599 +
9600 + <!-- IF S_CHECK_DEFINED -->
9601 + <dl>
9602 + <dt><label<!-- IF S_CHECK_SELECT --> for="check_option"<!-- ENDIF -->>{L_IF}{L_COLON}</label></dt>
9603 + <dd>
9604 + <!-- IF S_CHECK_SELECT --><select name="check_option" id="check_option">{S_CHECK_OPTIONS}</select> <input type="submit" name="next" value="{L_NEXT_STEP}" class="button2" /><!-- ELSE -->{CHECK_CURRENT}<input type="hidden" name="check_option" value="{CHECK_OPTION}" /><!-- ENDIF -->
9605 + </dd>
9606 + </dl>
9607 + <!-- ENDIF -->
9608 +
9609 + <!-- IF S_RULE_DEFINED -->
9610 + <dl>
9611 + <dt><!-- IF S_RULE_SELECT --><input type="submit" name="back[rule]" value="{L_PREVIOUS_STEP}" class="button2" /><!-- ELSE --><label>&nbsp;</label><!-- ENDIF --></dt>
9612 + <dd><!-- IF S_RULE_SELECT --><select name="rule_option" id="rule_option">{S_RULE_OPTIONS}</select> <input type="submit" name="next" value="{L_NEXT_STEP}" class="button2" /><!-- ELSE --><em>{RULE_CURRENT}</em><input type="hidden" name="rule_option" value="{RULE_OPTION}" /><!-- ENDIF --></dd>
9613 + </dl>
9614 + <!-- ENDIF -->
9615 +
9616 + <!-- IF S_COND_DEFINED -->
9617 + <!-- IF S_COND_SELECT or COND_CURRENT -->
9618 + <dl>
9619 + <dt><!-- IF S_COND_SELECT --><input type="submit" name="back[cond]" value="{L_PREVIOUS_STEP}" class="button2" /><!-- ELSE --><label>&nbsp;</label><!-- ENDIF --></dt>
9620 + <dd>
9621 + <!-- IF S_COND_SELECT -->
9622 + <!-- IF S_TEXT_CONDITION -->
9623 + <input type="text" name="rule_string" value="{CURRENT_STRING}" class="inputbox medium" maxlength="250" />
9624 + <!-- ELSEIF S_USER_CONDITION -->
9625 + <input type="text" name="rule_string" value="{CURRENT_STRING}" class="inputbox tiny" />&nbsp;<span>[ <a href="{U_FIND_USERNAME}" onclick="find_username(this.href); return false;">{L_FIND_USERNAME}</a> ]</span>
9626 + <!-- ELSEIF S_GROUP_CONDITION -->
9627 + <input type="hidden" name="rule_string" value="{CURRENT_STRING}" /><!-- IF S_GROUP_OPTIONS --><select name="rule_group_id">{S_GROUP_OPTIONS}</select><!-- ELSE -->{L_NO_GROUPS}<!-- ENDIF -->
9628 + <!-- ENDIF -->
9629 + <input type="submit" name="next" value="{L_NEXT_STEP}" class="button2" />
9630 + <!-- ELSE -->
9631 + <strong>{COND_CURRENT}</strong><input type="hidden" name="rule_string" value="{CURRENT_STRING}" /><input type="hidden" name="rule_user_id" value="{CURRENT_USER_ID}" /><input type="hidden" name="rule_group_id" value="{CURRENT_GROUP_ID}" />
9632 + <!-- ENDIF -->
9633 + </dd>
9634 + </dl>
9635 + <!-- ENDIF -->
9636 + <input type="hidden" name="cond_option" value="{COND_OPTION}" />
9637 + <!-- ENDIF -->
9638 +
9639 +
9640 + <!-- IF NONE_CONDITION --><input type="hidden" name="cond_option" value="none" /><!-- ENDIF -->
9641 +
9642 + <!-- IF S_ACTION_DEFINED -->
9643 + <dl>
9644 + <dt><!-- IF S_ACTION_SELECT --><input type="submit" name="back[action]" value="{L_PREVIOUS_STEP}" class="button2" /><!-- ELSE --><label>&nbsp;</label><!-- ENDIF --></dt>
9645 + <dd><!-- IF S_ACTION_SELECT --> <select name="action_option">{S_ACTION_OPTIONS}</select> <input type="submit" name="add_rule" value="{L_ADD_RULE}" class="button1" /><!-- ELSE -->{ACTION_CURRENT}<input type="hidden" name="action_option" value="{ACTION_OPTION}" /><!-- ENDIF --></dd>
9646 + </dl>
9647 + <!-- ENDIF -->
9648 +
9649 + </fieldset>
9650 +
9651 + <h3>{L_FOLDER_OPTIONS}</h3>
9652 +
9653 + <fieldset class="fields2">
9654 +
9655 + <!-- IF not S_MAX_FOLDER_ZERO -->
9656 + <dl>
9657 + <dt><label for="foldername">{L_ADD_FOLDER}{L_COLON}</label></dt>
9658 + <dd><!-- IF S_MAX_FOLDER_REACHED -->{L_MAX_FOLDER_REACHED}<!-- ELSE --><input type="text" class="inputbox medium" name="foldername" id="foldername" size="30" maxlength="30" /> <input class="button2" type="submit" name="addfolder" value="{L_ADD}" /><!-- ENDIF --></dd>
9659 + </dl>
9660 + <!-- IF S_FOLDER_OPTIONS --><hr class="dashed" /><!-- ENDIF -->
9661 + <!-- ENDIF -->
9662 +
9663 +
9664 +
9665 + <!-- IF S_FOLDER_OPTIONS -->
9666 + <dl>
9667 + <dt><label for="rename_folder_id">{L_RENAME_FOLDER}{L_COLON}</label></dt>
9668 + <dd><select name="rename_folder_id" id="rename_folder_id">{S_FOLDER_OPTIONS}</select></dd>
9669 + <dt><label for="new_folder_name">{L_NEW_FOLDER_NAME}{L_COLON}</label></dt>
9670 + <dd><input type="text" class="inputbox tiny" name="new_folder_name" id="new_folder_name" maxlength="30" /> <input class="button2" type="submit" name="rename_folder" value="{L_RENAME}" /></dd>
9671 + </dl>
9672 + <hr class="dashed" />
9673 + <dl>
9674 + <dt><label for="remove_folder_id">{L_REMOVE_FOLDER}{L_COLON}</label></dt>
9675 + <dd><select name="remove_folder_id" id="remove_folder_id">{S_FOLDER_OPTIONS}</select></dd>
9676 + <dd style="margin-top: 3px;"><label for="remove_action1"><input type="radio" name="remove_action" id="remove_action1" value="1" checked="checked" /> {L_MOVE_DELETED_MESSAGES_TO}{L_COLON}</label> <select name="move_to">{S_TO_FOLDER_OPTIONS}</select></dd>
9677 + <dd style="margin-top: 3px;"><label for="remove_action2"><input type="radio" name="remove_action" id="remove_action2" value="2" /> {L_DELETE_MESSAGES_IN_FOLDER}</label></dd>
9678 + <dd style="margin-top: 3px;"><input class="button2" type="submit" name="remove_folder" value="{L_REMOVE}" /></dd>
9679 + </dl>
9680 + <!-- ENDIF -->
9681 +
9682 + <hr class="dashed" />
9683 +
9684 + <dl>
9685 + <dt><label for="full_action1">{L_IF_FOLDER_FULL}{L_COLON}</label></dt>
9686 + <dd style="margin-top: 3px;"><label for="full_action1"><input type="radio" name="full_action" id="full_action1" value="1"{S_DELETE_CHECKED} /> {L_DELETE_OLDEST_MESSAGES}</label></dd>
9687 + <dd style="margin-top: 3px;"><label for="full_action2"><input type="radio" name="full_action" id="full_action2" value="2"{S_MOVE_CHECKED} /> {L_MOVE_TO_FOLDER}{L_COLON}</label> <select name="full_move_to">{S_FULL_FOLDER_OPTIONS}</select></dd>
9688 + <dd style="margin-top: 3px;"><label for="full_action3" style="white-space:normal;"><input type="radio" name="full_action" id="full_action3" value="3"{S_HOLD_CHECKED} /> {L_HOLD_NEW_MESSAGES}</label></dd>
9689 + </dl>
9690 +
9691 +
9692 + <dl>
9693 + <dt><label>{L_DEFAULT_ACTION}{L_COLON}</label><br /><span>{L_DEFAULT_ACTION_EXPLAIN}</span></dt>
9694 + <dd>{DEFAULT_ACTION}</dd>
9695 + <dd><input class="button2" type="submit" name="fullfolder" value="{L_CHANGE}" /></dd>
9696 + </dl>
9697 + </fieldset>
9698 +
9699 + </div>
9700 + {S_FORM_TOKEN}
9701 +</div>
9702 +</form>
9703 +
9704 +<!-- INCLUDE ucp_footer.html -->
9705
9706 diff --git a/template/ucp_pm_viewfolder.html b/template/ucp_pm_viewfolder.html
9707 new file mode 100644
9708 index 000000000..a290313df
9709 --- /dev/null
9710 +++ b/template/ucp_pm_viewfolder.html
9711 @@ -0,0 +1,130 @@
9712 +<!-- INCLUDE ucp_header.html -->
9713 +
9714 +<!-- IF not PROMPT -->
9715 + <!-- INCLUDE ucp_pm_message_header.html -->
9716 +<!-- ENDIF -->
9717 +
9718 +<!-- IF PROMPT -->
9719 + <h2>{L_EXPORT_AS_CSV}</h2>
9720 + <form id="viewfolder" method="post" action="{S_PM_ACTION}">
9721 + <div class="panel">
9722 + <div class="inner">
9723 + <h3>{L_OPTIONS}</h3>
9724 + <fieldset>
9725 + <dl>
9726 + <dt><label for="delimiter">{L_DELIMITER}{L_COLON}</label></dt>
9727 + <dd><input class="inputbox" type="text" id="delimiter" name="delimiter" value="," /></dd>
9728 + </dl>
9729 + <dl>
9730 + <dt><label for="enclosure">{L_ENCLOSURE}{L_COLON}</label></dt>
9731 + <dd><input class="inputbox" type="text" id="enclosure" name="enclosure" value="&#034;" /></dd>
9732 + </dl>
9733 + </fieldset>
9734 + </div>
9735 + </div>
9736 + <fieldset class="submit-buttons">
9737 + <input type="hidden" name="export_option" value="CSV" />
9738 + <input class="button1" type="submit" name="submit_export" value="{L_EXPORT_FOLDER}" />&nbsp;
9739 + <input class="button2" type="reset" value="{L_RESET}" name="reset" />&nbsp;
9740 + {S_FORM_TOKEN}
9741 + </fieldset>
9742 + </form>
9743 +
9744 +<!-- ELSE -->
9745 +
9746 + <!-- IF NUM_REMOVED -->
9747 + <div class="notice">
9748 + <p>{RULE_REMOVED_MESSAGES}</p>
9749 + </div>
9750 + <!-- ENDIF -->
9751 +
9752 + <!-- IF NUM_NOT_MOVED -->
9753 + <div class="notice">
9754 + <p>{NOT_MOVED_MESSAGES}<br />{RELEASE_MESSAGE_INFO}</p>
9755 + </div>
9756 + <!-- ENDIF -->
9757 +
9758 + <!-- IF .messagerow -->
9759 + <ul class="topiclist two-columns">
9760 + <li class="header">
9761 + <dl>
9762 + <dt><div class="list-inner">{L_MESSAGE}</div></dt>
9763 + <dd class="mark">{L_MARK}</dd>
9764 + </dl>
9765 + </li>
9766 + </ul>
9767 + <ul class="topiclist cplist pmlist responsive-show-all <!-- IF S_SHOW_RECIPIENTS -->missing-column<!-- ELSE -->two-columns<!-- ENDIF -->">
9768 +
9769 + <!-- BEGIN messagerow -->
9770 + <li class="row<!-- IF messagerow.S_ROW_COUNT is odd --> bg1<!-- ELSE --> bg2<!-- ENDIF --><!-- IF messagerow.PM_CLASS --> {messagerow.PM_CLASS}<!-- ENDIF -->">
9771 + <dl class="row-item {messagerow.FOLDER_IMG_STYLE}">
9772 + <dt<!-- IF messagerow.PM_ICON_URL and S_PM_ICONS --> style="background-image: url({messagerow.PM_ICON_URL}); background-repeat: no-repeat;"<!-- ENDIF -->>
9773 + <!-- IF messagerow.S_PM_UNREAD and not messagerow.S_PM_DELETED --><a href="{messagerow.U_VIEW_PM}" class="row-item-link"></a><!-- ENDIF -->
9774 + <div class="list-inner">
9775 +
9776 + <!-- IF messagerow.S_PM_DELETED -->
9777 + <a href="{messagerow.U_REMOVE_PM}" class="topictitle">{L_DELETE_MESSAGE}</a><br />
9778 + <span class="error">{L_MESSAGE_REMOVED_FROM_OUTBOX}</span>
9779 + <!-- ELSE -->
9780 + <a href="{messagerow.U_VIEW_PM}" class="topictitle">{messagerow.SUBJECT}</a>
9781 + <!-- ENDIF -->
9782 + <!-- IF messagerow.S_AUTHOR_DELETED -->
9783 + <br /><em class="small">{L_PM_FROM_REMOVED_AUTHOR}</em>
9784 + <!-- ENDIF -->
9785 + <!-- IF messagerow.S_PM_REPORTED -->
9786 + <a href="{messagerow.U_MCP_REPORT}">
9787 + <i class="icon fa-exclamation fa-fw icon-red" aria-hidden="true"></i><span class="sr-only">{PM_REPORTED}</span>
9788 + </a>
9789 + <!-- ENDIF --> <!-- IF messagerow.ATTACH_ICON_IMG --><i class="icon fa-paperclip fa-fw" aria-hidden="true"></i> <!-- ENDIF --><br />
9790 + <!-- IF S_SHOW_RECIPIENTS -->{L_MESSAGE_TO} {messagerow.RECIPIENTS}<!-- ELSE -->{L_MESSAGE_BY_AUTHOR} {messagerow.MESSAGE_AUTHOR_FULL} &raquo; {messagerow.SENT_TIME}<!-- ENDIF -->
9791 +
9792 + </div>
9793 + </dt>
9794 + <!-- IF S_SHOW_RECIPIENTS --><dd class="info"><span>{L_SENT_AT}{L_COLON} {messagerow.SENT_TIME}</span></dd><!-- ENDIF -->
9795 + <!-- IF S_UNREAD --><dd class="info"><!-- IF messagerow.FOLDER --><a href="{messagerow.U_FOLDER}">{messagerow.FOLDER}</a><!-- ELSE -->{L_UNKNOWN_FOLDER}<!-- ENDIF --></dd><!-- ENDIF -->
9796 + <dd class="mark"><input type="checkbox" name="marked_msg_id[]" value="{messagerow.MESSAGE_ID}" /></dd>
9797 + </dl>
9798 + </li>
9799 + <!-- END messagerow -->
9800 +
9801 + </ul>
9802 + <!-- ELSE -->
9803 + <p><strong>
9804 + <!-- IF S_COMPOSE_PM_VIEW and S_NO_AUTH_SEND_MESSAGE -->
9805 + <!-- IF S_USER_NEW -->{L_USER_NEW_PERMISSION_DISALLOWED}<!-- ELSE -->{L_NO_AUTH_SEND_MESSAGE}<!-- ENDIF -->
9806 + <!-- ELSE -->
9807 + {L_NO_MESSAGES}
9808 + <!-- ENDIF -->
9809 + </strong></p>
9810 + <!-- ENDIF -->
9811 +
9812 + <!-- IF FOLDER_CUR_MESSAGES neq 0 -->
9813 + <fieldset class="display-actions">
9814 + <div class="left-box"><label for="export_option">{L_EXPORT_FOLDER}{L_COLON} <select name="export_option" id="export_option"><option value="CSV">{L_EXPORT_AS_CSV}</option><option value="CSV_EXCEL">{L_EXPORT_AS_CSV_EXCEL}</option><option value="XML">{L_EXPORT_AS_XML}</option></select></label> <input class="button2" type="submit" name="submit_export" value="{L_GO}" /><br /></div>
9815 + <select name="mark_option">{S_MARK_OPTIONS}{S_MOVE_MARKED_OPTIONS}</select> <input class="button2" type="submit" name="submit_mark" value="{L_GO}" />
9816 + <div><a href="#" onclick="marklist('viewfolder', 'marked_msg', true); return false;">{L_MARK_ALL}</a> &bull; <a href="#" onclick="marklist('viewfolder', 'marked_msg', false); return false;">{L_UNMARK_ALL}</a></div>
9817 + </fieldset>
9818 +
9819 + <hr />
9820 +
9821 + <div class="action-bar bottom">
9822 + <!-- INCLUDE display_options.html -->
9823 + <input type="hidden" name="cur_folder_id" value="{CUR_FOLDER_ID}" />
9824 +
9825 + <div class="pagination">
9826 + {TOTAL_MESSAGES}
9827 + <!-- IF .pagination -->
9828 + <!-- INCLUDE pagination.html -->
9829 + <!-- ELSE -->
9830 + &bull; {PAGE_NUMBER}
9831 + <!-- ENDIF -->
9832 + </div>
9833 + </div>
9834 + <!-- ENDIF -->
9835 +
9836 + </div>
9837 + </div>
9838 +
9839 + <!-- INCLUDE ucp_pm_message_footer.html -->
9840 +<!-- ENDIF -->
9841 +<!-- INCLUDE ucp_footer.html -->
9842
9843 diff --git a/template/ucp_pm_viewmessage.html b/template/ucp_pm_viewmessage.html
9844 new file mode 100644
9845 index 000000000..7cb44a018
9846 --- /dev/null
9847 +++ b/template/ucp_pm_viewmessage.html
9848 @@ -0,0 +1,196 @@
9849 +<!-- INCLUDE ucp_header.html -->
9850 +
9851 +<!-- INCLUDE ucp_pm_message_header.html -->
9852 +
9853 + </div>
9854 +</div>
9855 +
9856 +
9857 +<!-- IF S_DISPLAY_HISTORY and (U_VIEW_PREVIOUS_HISTORY or U_VIEW_NEXT_HISTORY) -->
9858 + <fieldset class="display-options clearfix">
9859 + <!-- IF U_VIEW_PREVIOUS_HISTORY -->
9860 + <a href="{U_VIEW_PREVIOUS_HISTORY}" class="left-box arrow-{S_CONTENT_FLOW_BEGIN}">
9861 + <i class="icon fa-angle-{S_CONTENT_FLOW_BEGIN} fa-fw icon-black" aria-hidden="true"></i><span>{L_VIEW_PREVIOUS_HISTORY}</span>
9862 + </a>
9863 + <!-- ENDIF -->
9864 + <!-- IF U_VIEW_NEXT_HISTORY -->
9865 + <a href="{U_VIEW_NEXT_HISTORY}" class="right-box arrow-{S_CONTENT_FLOW_END}">
9866 + <i class="icon fa-angle-{S_CONTENT_FLOW_END} fa-fw icon-black" aria-hidden="true"></i><span>{L_VIEW_NEXT_HISTORY}</span>
9867 + </a>
9868 + <!-- ENDIF -->
9869 + </fieldset>
9870 +<!-- ENDIF -->
9871 +
9872 +
9873 +<div id="post-{MESSAGE_ID}" class="post pm has-profile<!-- IF S_POST_UNAPPROVED or S_POST_REPORTED --> reported<!-- ENDIF --><!-- IF S_ONLINE --> online<!-- ENDIF -->">
9874 +<div class="inner">
9875 +
9876 + <dl class="postprofile" id="profile{MESSAGE_ID}">
9877 + <dt class="<!-- IF RANK_TITLE or RANK_IMG -->has-profile-rank<!-- ELSE -->no-profile-rank<!-- ENDIF --> <!-- IF AUTHOR_AVATAR -->has-avatar<!-- ELSE -->no-avatar<!-- ENDIF -->">
9878 + <div class="avatar-container">
9879 + <!-- EVENT ucp_pm_viewmessage_avatar_before -->
9880 + <!-- IF AUTHOR_AVATAR --><a href="{U_MESSAGE_AUTHOR}" class="avatar">{AUTHOR_AVATAR}</a><!-- ENDIF -->
9881 + <!-- EVENT ucp_pm_viewmessage_avatar_after -->
9882 + </div>
9883 + {MESSAGE_AUTHOR_FULL}
9884 + </dt>
9885 +
9886 + <!-- EVENT ucp_pm_viewmessage_rank_before -->
9887 + <!-- IF RANK_TITLE or RANK_IMG --><dd class="profile-rank">{RANK_TITLE}<!-- IF RANK_TITLE and RANK_IMG --><br /><!-- ENDIF -->{RANK_IMG}</dd><!-- ENDIF -->
9888 + <!-- EVENT ucp_pm_viewmessage_rank_after -->
9889 +
9890 + <dd class="profile-posts"><strong>{L_POSTS}{L_COLON}</strong> <!-- IF U_AUTHOR_POSTS != '' --><a href="{U_AUTHOR_POSTS}">{AUTHOR_POSTS}</a><!-- ELSE -->{AUTHOR_POSTS}<!-- ENDIF --></dd>
9891 + <!-- IF AUTHOR_JOINED --><dd class="profile-joined"><strong>{L_JOINED}{L_COLON}</strong> {AUTHOR_JOINED}</dd><!-- ENDIF -->
9892 +
9893 + <!-- EVENT ucp_pm_viewmessage_custom_fields_before -->
9894 + <!-- BEGIN custom_fields -->
9895 + <!-- IF not custom_fields.S_PROFILE_CONTACT -->
9896 + <dd class="profile-custom-field profile-{custom_fields.PROFILE_FIELD_IDENT}"><strong>{custom_fields.PROFILE_FIELD_NAME}{L_COLON}</strong> {custom_fields.PROFILE_FIELD_VALUE}</dd>
9897 + <!-- ENDIF -->
9898 + <!-- END custom_fields -->
9899 + <!-- EVENT ucp_pm_viewmessage_custom_fields_after -->
9900 +
9901 + <!-- EVENT ucp_pm_viewmessage_contact_fields_before -->
9902 + <!-- IF .contact -->
9903 + <dd class="profile-contact">
9904 + <strong>{L_CONTACT}{L_COLON}</strong>
9905 + <div class="dropdown-container dropdown-left">
9906 + <a href="#" class="dropdown-trigger" title="{CONTACT_USER}"><i class="icon fa-commenting-o fa-fw icon-lg" aria-hidden="true"></i><span class="sr-only">{CONTACT_USER}</span></a>
9907 + <div class="dropdown">
9908 + <div class="pointer"><div class="pointer-inner"></div></div>
9909 + <div class="dropdown-contents contact-icons">
9910 + <!-- BEGIN contact -->
9911 + {% set REMAINDER = contact.S_ROW_COUNT % 4 %}
9912 + <!-- DEFINE $S_LAST_CELL = ((REMAINDER eq 3) or (contact.S_LAST_ROW and contact.S_NUM_ROWS < 4)) -->
9913 + <!-- IF REMAINDER eq 0 -->
9914 + <div>
9915 + <!-- ENDIF -->
9916 + <a href="<!-- IF contact.U_CONTACT -->{contact.U_CONTACT}<!-- ELSE -->{contact.U_PROFILE_AUTHOR}<!-- ENDIF -->" title="{contact.NAME}"<!-- IF $S_LAST_CELL --> class="last-cell"<!-- ENDIF --><!-- IF contact.ID eq 'jabber' --> onclick="popup(this.href, 750, 320); return false;"<!-- ENDIF -->>
9917 + <span class="contact-icon {contact.ID}-icon">{contact.NAME}</span>
9918 + </a>
9919 + <!-- IF REMAINDER eq 3 or contact.S_LAST_ROW -->
9920 + </div>
9921 + <!-- ENDIF -->
9922 + <!-- END contact -->
9923 + </div>
9924 + </div>
9925 + </div>
9926 + </dd>
9927 + <!-- ENDIF -->
9928 + <!-- EVENT ucp_pm_viewmessage_contact_fields_after -->
9929 + </dl>
9930 +
9931 + <div class="postbody">
9932 + <h3 class="first">{SUBJECT}</h3>
9933 +
9934 + <!-- DEFINE $SHOW_PM_POST_BUTTONS = (U_EDIT or U_DELETE or U_REPORT or U_QUOTE) -->
9935 + <!-- EVENT ucp_pm_viewmessage_post_buttons_list_before -->
9936 + <!-- IF $SHOW_PM_POST_BUTTONS -->
9937 + <ul class="post-buttons">
9938 + <!-- EVENT ucp_pm_viewmessage_post_buttons_before -->
9939 + <!-- IF U_EDIT -->
9940 + <li>
9941 + <a href="{U_EDIT}" title="{L_POST_EDIT_PM}" class="button button-icon-only">
9942 + <i class="icon fa-pencil fa-fw" aria-hidden="true"></i><span class="sr-only">{L_BUTTON_EDIT}</span>
9943 + </a>
9944 + </li>
9945 + <!-- ENDIF -->
9946 + <!-- IF U_DELETE -->
9947 + <li>
9948 + <a href="{U_DELETE}" title="{L_DELETE_MESSAGE}" class="button button-icon-only">
9949 + <i class="icon fa-times fa-fw" aria-hidden="true"></i><span class="sr-only">{L_BUTTON_DELETE}</span>
9950 + </a>
9951 + </li>
9952 + <!-- ENDIF -->
9953 + <!-- IF U_REPORT -->
9954 + <li>
9955 + <a href="{U_REPORT}" title="{L_REPORT_PM}" class="button button-icon-only">
9956 + <i class="icon fa-exclamation fa-fw" aria-hidden="true"></i><span class="sr-only">{L_BUTTON_REPORT}</span>
9957 + </a>
9958 + </li>
9959 + <!-- ENDIF -->
9960 + <!-- IF U_QUOTE -->
9961 + <li>
9962 + <a href="{U_QUOTE}" title="{L_POST_QUOTE_PM}" class="button button-icon-only">
9963 + <i class="icon fa-quote-left fa-fw" aria-hidden="true"></i><span class="sr-only">{L_BUTTON_QUOTE}</span>
9964 + </a>
9965 + </li>
9966 + <!-- ENDIF -->
9967 + <!-- EVENT ucp_pm_viewmessage_post_buttons_after -->
9968 + </ul>
9969 + <!-- ENDIF -->
9970 + <!-- EVENT ucp_pm_viewmessage_post_buttons_list_after -->
9971 +
9972 + <p class="author">
9973 + <strong>{L_SENT_AT}{L_COLON}</strong> {SENT_DATE}
9974 + <br /><strong>{L_PM_FROM}{L_COLON}</strong> {MESSAGE_AUTHOR_FULL}
9975 + <!-- IF S_TO_RECIPIENT --><br /><strong>{L_TO}{L_COLON}</strong> <!-- BEGIN to_recipient --><!-- IF to_recipient.NAME_FULL -->{to_recipient.NAME_FULL}<!-- ELSE --><a href="{to_recipient.U_VIEW}"<!-- IF to_recipient.COLOUR --> style="color:{to_recipient.COLOUR};"<!-- ENDIF -->><strong>{to_recipient.NAME}</strong></a><!-- ENDIF -->&nbsp;<!-- END to_recipient --><!-- ENDIF -->
9976 + <!-- IF S_BCC_RECIPIENT --><br /><strong>{L_BCC}{L_COLON}</strong> <!-- BEGIN bcc_recipient --><!-- IF bcc_recipient.NAME_FULL -->{bcc_recipient.NAME_FULL}<!-- ELSE --><a href="{bcc_recipient.U_VIEW}"<!-- IF bcc_recipient.COLOUR --> style="color:{bcc_recipient.COLOUR};"<!-- ENDIF -->><strong>{bcc_recipient.NAME}</strong></a><!-- ENDIF -->&nbsp;<!-- END bcc_recipient --><!-- ENDIF -->
9977 + </p>
9978 +
9979 +
9980 + <div class="content">{MESSAGE}</div>
9981 +
9982 + <!-- IF S_HAS_ATTACHMENTS -->
9983 + <dl class="attachbox">
9984 + <dt>
9985 + {L_ATTACHMENTS}
9986 + </dt>
9987 + <!-- BEGIN attachment -->
9988 + <dd>{attachment.DISPLAY_ATTACHMENT}</dd>
9989 + <!-- END attachment -->
9990 + </dl>
9991 + <!-- ENDIF -->
9992 +
9993 + <!-- IF S_DISPLAY_NOTICE -->
9994 + <div class="post-notice error">{L_DOWNLOAD_NOTICE}</div>
9995 + <!-- ENDIF -->
9996 +
9997 + <!-- IF EDITED_MESSAGE or EDIT_REASON -->
9998 + <div class="notice">{EDITED_MESSAGE}
9999 + <!-- IF EDIT_REASON --><br /><strong>{L_REASON}{L_COLON}</strong> <em>{EDIT_REASON}</em><!-- ENDIF -->
10000 + </div>
10001 + <!-- ENDIF -->
10002 +
10003 + <!-- IF SIGNATURE -->
10004 + <div id="sig{MESSAGE_ID}" class="signature">{SIGNATURE}</div>
10005 + <!-- ENDIF -->
10006 + </div>
10007 +
10008 + <div class="back2top">
10009 + <a href="#top" class="top" title="{L_BACK_TO_TOP}">
10010 + <i class="icon fa-chevron-circle-up fa-fw icon-gray" aria-hidden="true"></i>
10011 + <span class="sr-only">{L_BACK_TO_TOP}</span>
10012 + </a>
10013 + </div>
10014 +
10015 + </div>
10016 +</div>
10017 +
10018 +<!-- EVENT ucp_pm_viewmessage_options_before -->
10019 +<!-- IF S_VIEW_MESSAGE -->
10020 +<fieldset class="display-options">
10021 +
10022 + <!-- IF S_MARK_OPTIONS --><label for="mark_option"><select name="mark_option" id="mark_option">{S_MARK_OPTIONS}</select></label>&nbsp;<input class="button2" type="submit" name="submit_mark" value="{L_GO}" /><!-- ENDIF -->
10023 + <!-- IF U_PREVIOUS_PM -->
10024 + <a href="{U_PREVIOUS_PM}" class="left-box arrow-{S_CONTENT_FLOW_BEGIN}">
10025 + <i class="icon fa-angle-{S_CONTENT_FLOW_BEGIN} fa-fw icon-black" aria-hidden="true"></i><span>{L_VIEW_PREVIOUS_PM}</span>
10026 + </a>
10027 + <!-- ENDIF -->
10028 + <!-- IF U_NEXT_PM -->
10029 + <a href="{U_NEXT_PM}" class="right-box arrow-{S_CONTENT_FLOW_END}">
10030 + <i class="icon fa-angle-{S_CONTENT_FLOW_END} fa-fw icon-black" aria-hidden="true"></i><span>{L_VIEW_NEXT_PM}</span>
10031 + </a>
10032 + <!-- ENDIF -->
10033 + <!-- IF not S_UNREAD and not S_SPECIAL_FOLDER --><label for="dest_folder"><!-- IF S_VIEW_MESSAGE -->{L_MOVE_TO_FOLDER}{L_COLON} <!-- ELSE -->{L_MOVE_MARKED_TO_FOLDER}<!-- ENDIF --> <select name="dest_folder" id="dest_folder">{S_TO_FOLDER_OPTIONS}</select></label> <input class="button2" type="submit" name="move_pm" value="{L_GO}" /><!-- ENDIF -->
10034 + <input type="hidden" name="marked_msg_id[]" value="{MSG_ID}" />
10035 + <input type="hidden" name="cur_folder_id" value="{CUR_FOLDER_ID}" />
10036 + <input type="hidden" name="p" value="{MSG_ID}" />
10037 +</fieldset>
10038 +<!-- ENDIF -->
10039 +
10040 +<!-- INCLUDE ucp_pm_message_footer.html -->
10041 +
10042 +<!-- IF S_DISPLAY_HISTORY --><!-- INCLUDE ucp_pm_history.html --><!-- ENDIF -->
10043 +
10044 +<!-- INCLUDE ucp_footer.html -->
10045
10046 diff --git a/template/ucp_pm_viewmessage_print.html b/template/ucp_pm_viewmessage_print.html
10047 new file mode 100644
10048 index 000000000..41ff5b898
10049 --- /dev/null
10050 +++ b/template/ucp_pm_viewmessage_print.html
10051 @@ -0,0 +1,57 @@
10052 +<!DOCTYPE html>
10053 +<html dir="{S_CONTENT_DIRECTION}" lang="{S_USER_LANG}">
10054 +<head>
10055 +<meta charset="utf-8" />
10056 +<meta http-equiv="X-UA-Compatible" content="IE=edge">
10057 +<meta name="robots" content="noindex" />
10058 +{META}
10059 +<title>{SITENAME} &bull; {PAGE_TITLE}</title>
10060 +
10061 +<link href="{T_THEME_PATH}/print.css" rel="stylesheet">
10062 +<link href="{T_THEME_PATH}/bidi.css" rel="stylesheet">
10063 +<!-- EVENT ucp_pm_viewmessage_print_head_append -->
10064 +</head>
10065 +<body id="phpbb">
10066 +<div id="wrap" class="wrap">
10067 + <a id="top" class="top-anchor" accesskey="t"></a>
10068 +
10069 + <div id="page-header">
10070 + <h1>{SITENAME}</h1>
10071 + <p>{SITE_DESCRIPTION}</p>
10072 +
10073 + <h2>{L_PRIVATE_MESSAGING}</h2>
10074 + </div>
10075 +
10076 + <div id="page-body" class="page-body">
10077 + <div class="page-number">{PAGE_NUMBER}</div>
10078 + <div class="post">
10079 + <h3>{SUBJECT}</h3>
10080 + <div class="date">{L_SENT_AT} <strong>{SENT_DATE}</strong></div>
10081 + <div class="author">{L_PM_FROM} <strong>{MESSAGE_AUTHOR}</strong></div>
10082 + <!-- IF S_TO_RECIPIENT -->
10083 + <div class="author">{L_TO} <strong><!-- BEGIN to_recipient -->{to_recipient.NAME}&nbsp;<!-- END to_recipient --></strong></div>
10084 + <!-- ENDIF -->
10085 + <!-- IF S_BCC_RECIPIENT -->
10086 + <div class="author">{L_BCC} <strong><!-- BEGIN bcc_recipient -->{bcc_recipient.NAME}&nbsp;<!-- END bcc_recipient --></strong></div>
10087 + <!-- ENDIF -->
10088 + <hr />
10089 + <div class="content">{MESSAGE}</div>
10090 + </div>
10091 + <hr />
10092 + </div>
10093 +
10094 + <div id="page-footer" class="page-footer">
10095 + <div class="page-number">{S_TIMEZONE}<br />{PAGE_NUMBER}</div>
10096 + <div class="copyright">
10097 + <p>{{ CREDIT_LINE }}
10098 + </p>
10099 + {% if TRANSLATION_INFO %}
10100 + <p>{{ TRANSLATION_INFO }}
10101 + </p>
10102 + {% endif %}
10103 + </div>
10104 + </div>
10105 +</div>
10106 +
10107 +</body>
10108 +</html>
10109
10110 diff --git a/template/ucp_prefs_personal.html b/template/ucp_prefs_personal.html
10111 new file mode 100644
10112 index 000000000..1650705d4
10113 --- /dev/null
10114 +++ b/template/ucp_prefs_personal.html
10115 @@ -0,0 +1,122 @@
10116 +<!-- INCLUDE ucp_header.html -->
10117 +
10118 +<form id="ucp" method="post" action="{S_UCP_ACTION}"{S_FORM_ENCTYPE}>
10119 +
10120 +<h2>{L_TITLE}</h2>
10121 +
10122 +<div class="panel">
10123 + <div class="inner">
10124 +
10125 + <fieldset>
10126 + <!-- IF ERROR --><p class="error">{ERROR}</p><!-- ENDIF -->
10127 + <!-- EVENT ucp_prefs_personal_prepend -->
10128 + <dl>
10129 + <dt><label for="viewemail0">{L_SHOW_EMAIL}{L_COLON}</label></dt>
10130 + <dd>
10131 + <label for="viewemail1"><input type="radio" name="viewemail" id="viewemail1" value="1"<!-- IF S_VIEW_EMAIL --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
10132 + <label for="viewemail0"><input type="radio" name="viewemail" id="viewemail0" value="0"<!-- IF not S_VIEW_EMAIL --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
10133 + </dd>
10134 + </dl>
10135 + <dl>
10136 + <dt><label for="massemail1">{L_ADMIN_EMAIL}{L_COLON}</label></dt>
10137 + <dd>
10138 + <label for="massemail1"><input type="radio" name="massemail" id="massemail1" value="1"<!-- IF S_MASS_EMAIL --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
10139 + <label for="massemail0"><input type="radio" name="massemail" id="massemail0" value="0"<!-- IF not S_MASS_EMAIL --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
10140 + </dd>
10141 + </dl>
10142 + <dl>
10143 + <dt><label for="allowpm1">{L_ALLOW_PM}{L_COLON}</label><br /><span>{L_ALLOW_PM_EXPLAIN}</span></dt>
10144 + <dd>
10145 + <label for="allowpm1"><input type="radio" name="allowpm" id="allowpm1" value="1"<!-- IF S_ALLOW_PM --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
10146 + <label for="allowpm0"><input type="radio" name="allowpm" id="allowpm0" value="0"<!-- IF not S_ALLOW_PM --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
10147 + </dd>
10148 + </dl>
10149 + <!-- IF S_CAN_HIDE_ONLINE -->
10150 + <dl>
10151 + <dt><label for="hideonline0">{L_HIDE_ONLINE}{L_COLON}</label><br /><span>{L_HIDE_ONLINE_EXPLAIN}</span></dt>
10152 + <dd>
10153 + <label for="hideonline1"><input type="radio" name="hideonline" id="hideonline1" value="1"<!-- IF S_HIDE_ONLINE --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
10154 + <label for="hideonline0"><input type="radio" name="hideonline" id="hideonline0" value="0"<!-- IF not S_HIDE_ONLINE --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
10155 + </dd>
10156 + </dl>
10157 + <!-- ENDIF -->
10158 + <!-- IF S_SELECT_NOTIFY -->
10159 + <dl>
10160 + <dt><label for="notifymethod0">{L_NOTIFY_METHOD}{L_COLON}</label></dt>
10161 + <dd>
10162 + <label for="notifymethod0"><input type="radio" name="notifymethod" id="notifymethod0" value="0"<!-- IF S_NOTIFY_EMAIL --> checked="checked"<!-- ENDIF --> /> {L_NOTIFY_METHOD_EMAIL}</label>
10163 + <label for="notifymethod1"><input type="radio" name="notifymethod" id="notifymethod1" value="1"<!-- IF S_NOTIFY_IM --> checked="checked"<!-- ENDIF --> /> {L_NOTIFY_METHOD_IM}</label>
10164 + <label for="notifymethod2"><input type="radio" name="notifymethod" id="notifymethod2" value="2"<!-- IF S_NOTIFY_BOTH --> checked="checked"<!-- ENDIF --> /> {L_NOTIFY_METHOD_BOTH}</label>
10165 + </dd>
10166 + </dl>
10167 + <!-- ENDIF -->
10168 + <!-- IF S_MORE_LANGUAGES -->
10169 + <dl>
10170 + <dt><label for="lang">{L_BOARD_LANGUAGE}{L_COLON}</label></dt>
10171 + <dd><select name="lang" id="lang">{S_LANG_OPTIONS}</select></dd>
10172 + </dl>
10173 + <!-- ENDIF -->
10174 + <!-- IF S_STYLE_OPTIONS and S_MORE_STYLES -->
10175 + <dl>
10176 + <dt><label for="user_style">{L_BOARD_STYLE}{L_COLON}</label></dt>
10177 + <dd><select name="user_style" id="user_style">{S_STYLE_OPTIONS}</select></dd>
10178 + </dl>
10179 + <!-- ENDIF -->
10180 + <!-- INCLUDE timezone_option.html -->
10181 + <dl>
10182 + <dt><label for="dateformat">{L_BOARD_DATE_FORMAT}{L_COLON}</label><br /><span>{L_BOARD_DATE_FORMAT_EXPLAIN}</span></dt>
10183 + <dd>
10184 + <select name="dateoptions" id="dateoptions" onchange="if(this.value=='custom'){phpbb.toggleDisplay('custom_date',1);}else{phpbb.toggleDisplay('custom_date',-1);} if (this.value == 'custom') { document.getElementById('dateformat').value = default_dateformat; } else { document.getElementById('dateformat').value = this.value; }">
10185 + {S_DATEFORMAT_OPTIONS}
10186 + </select>
10187 + </dd>
10188 + <dd id="custom_date" style="display:none;"><input type="text" name="dateformat" id="dateformat" value="{DATE_FORMAT}" maxlength="64" class="inputbox narrow" style="margin-top: 3px;" /></dd>
10189 + </dl>
10190 + <!-- EVENT ucp_prefs_personal_append -->
10191 + </fieldset>
10192 +
10193 + </div>
10194 +</div>
10195 +
10196 +<fieldset class="submit-buttons">
10197 + {S_HIDDEN_FIELDS}<input type="reset" value="{L_RESET}" name="reset" class="button2" />&nbsp;
10198 + <input type="submit" name="submit" value="{L_SUBMIT}" class="button1" />
10199 + {S_FORM_TOKEN}
10200 +</fieldset>
10201 +</form>
10202 +
10203 +<script>
10204 + var date_format = '{A_DATE_FORMAT}';
10205 + var default_dateformat = '{A_DEFAULT_DATEFORMAT}';
10206 +
10207 + function customDates()
10208 + {
10209 + var e = document.getElementById('dateoptions');
10210 +
10211 + e.selectedIndex = e.length - 1;
10212 +
10213 + // Loop and match date_format in menu
10214 + for (var i = 0; i < e.length; i++)
10215 + {
10216 + if (e.options[i].value == date_format)
10217 + {
10218 + e.selectedIndex = i;
10219 + break;
10220 + }
10221 + }
10222 +
10223 + // Show/hide custom field
10224 + if (e.selectedIndex == e.length - 1)
10225 + {
10226 + phpbb.toggleDisplay('custom_date',1);
10227 + }
10228 + else
10229 + {
10230 + phpbb.toggleDisplay('custom_date',-1);
10231 + }
10232 + }
10233 +
10234 + window.onload = customDates;
10235 +</script>
10236 +
10237 +<!-- INCLUDE ucp_footer.html -->
10238
10239 diff --git a/template/ucp_prefs_post.html b/template/ucp_prefs_post.html
10240 new file mode 100644
10241 index 000000000..169d41bf7
10242 --- /dev/null
10243 +++ b/template/ucp_prefs_post.html
10244 @@ -0,0 +1,53 @@
10245 +<!-- INCLUDE ucp_header.html -->
10246 +
10247 +<form id="ucp" method="post" action="{S_UCP_ACTION}"{S_FORM_ENCTYPE}>
10248 +
10249 +<h2>{L_TITLE}</h2>
10250 +<div class="panel">
10251 + <div class="inner">
10252 +
10253 + <fieldset>
10254 + <!-- IF ERROR --><p class="error">{ERROR}</p><!-- ENDIF -->
10255 + <!-- EVENT ucp_prefs_post_prepend -->
10256 + <dl>
10257 + <dt><label for="bbcode1">{L_DEFAULT_BBCODE}{L_COLON}</label></dt>
10258 + <dd>
10259 + <label for="bbcode1"><input type="radio" name="bbcode" id="bbcode1" value="1"<!-- IF S_BBCODE --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
10260 + <label for="bbcode0"><input type="radio" name="bbcode" id="bbcode0" value="0"<!-- IF not S_BBCODE --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
10261 + </dd>
10262 + </dl>
10263 + <dl>
10264 + <dt><label for="smilies1">{L_DEFAULT_SMILIES}{L_COLON}</label></dt>
10265 + <dd>
10266 + <label for="smilies1"><input type="radio" name="smilies" id="smilies1" value="1"<!-- IF S_SMILIES --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
10267 + <label for="smilies0"><input type="radio" name="smilies" id="smilies0" value="0"<!-- IF not S_SMILIES --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
10268 + </dd>
10269 + </dl>
10270 + <dl>
10271 + <dt><label for="sig1">{L_DEFAULT_ADD_SIG}{L_COLON}</label></dt>
10272 + <dd>
10273 + <label for="sig1"><input type="radio" name="sig" id="sig1" value="1"<!-- IF S_SIG --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
10274 + <label for="sig0"><input type="radio" name="sig" id="sig0" value="0"<!-- IF not S_SIG --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
10275 + </dd>
10276 + </dl>
10277 + <dl>
10278 + <dt><label for="notify1">{L_DEFAULT_NOTIFY}{L_COLON}</label></dt>
10279 + <dd>
10280 + <label for="notify1"><input type="radio" name="notify" id="notify1" value="1"<!-- IF S_NOTIFY --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
10281 + <label for="notify0"><input type="radio" name="notify" id="notify0" value="0"<!-- IF not S_NOTIFY --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
10282 + </dd>
10283 + </dl>
10284 + <!-- EVENT ucp_prefs_post_append -->
10285 + </fieldset>
10286 +
10287 + </div>
10288 +</div>
10289 +
10290 +<fieldset class="submit-buttons">
10291 + {S_HIDDEN_FIELDS}<input type="reset" value="{L_RESET}" name="reset" class="button2" />&nbsp;
10292 + <input type="submit" name="submit" value="{L_SUBMIT}" class="button1" />
10293 + {S_FORM_TOKEN}
10294 +</fieldset>
10295 +</form>
10296 +
10297 +<!-- INCLUDE ucp_footer.html -->
10298
10299 diff --git a/template/ucp_prefs_view.html b/template/ucp_prefs_view.html
10300 new file mode 100644
10301 index 000000000..4b7142fbe
10302 --- /dev/null
10303 +++ b/template/ucp_prefs_view.html
10304 @@ -0,0 +1,98 @@
10305 +<!-- INCLUDE ucp_header.html -->
10306 +
10307 +<form id="ucp" method="post" action="{S_UCP_ACTION}"{S_FORM_ENCTYPE}>
10308 +
10309 +<h2>{L_TITLE}</h2>
10310 +
10311 +<div class="panel">
10312 + <div class="inner">
10313 +
10314 + <fieldset>
10315 + <!-- IF ERROR --><p class="error">{ERROR}</p><!-- ENDIF -->
10316 + <!-- EVENT ucp_prefs_view_radio_buttons_prepend -->
10317 + <dl>
10318 + <dt><label for="images1">{L_VIEW_IMAGES}{L_COLON}</label></dt>
10319 + <dd>
10320 + <label for="images1"><input type="radio" name="images" id="images1" value="1"<!-- IF S_IMAGES --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
10321 + <label for="images0"><input type="radio" name="images" id="images0" value="0"<!-- IF not S_IMAGES --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
10322 + </dd>
10323 + </dl>
10324 + <dl>
10325 + <dt><label for="flash0">{L_VIEW_FLASH}{L_COLON}</label></dt>
10326 + <dd>
10327 + <label for="flash1"><input type="radio" name="flash" id="flash1" value="1"<!-- IF S_FLASH --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
10328 + <label for="flash0"><input type="radio" name="flash" id="flash0" value="0"<!-- IF not S_FLASH --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
10329 + </dd>
10330 + </dl>
10331 + <dl>
10332 + <dt><label for="smilies1">{L_VIEW_SMILIES}{L_COLON}</label></dt>
10333 + <dd>
10334 + <label for="smilies1"><input type="radio" name="smilies" id="smilies1" value="1"<!-- IF S_SMILIES --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
10335 + <label for="smilies0"><input type="radio" name="smilies" id="smilies0" value="0"<!-- IF not S_SMILIES --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
10336 + </dd>
10337 + </dl>
10338 + <dl>
10339 + <dt><label for="sigs1">{L_VIEW_SIGS}{L_COLON}</label></dt>
10340 + <dd>
10341 + <label for="sigs1"><input type="radio" name="sigs" id="sigs1" value="1"<!-- IF S_SIGS --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
10342 + <label for="sigs0"><input type="radio" name="sigs" id="sigs0" value="0"<!-- IF not S_SIGS --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
10343 + </dd>
10344 + </dl>
10345 + <dl>
10346 + <dt><label for="avatars1">{L_VIEW_AVATARS}{L_COLON}</label></dt>
10347 + <dd>
10348 + <label for="avatars1"><input type="radio" name="avatars" id="avatars1" value="1"<!-- IF S_AVATARS --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
10349 + <label for="avatars0"><input type="radio" name="avatars" id="avatars0" value="0"<!-- IF not S_AVATARS --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
10350 + </dd>
10351 + </dl>
10352 + <!-- IF S_CHANGE_CENSORS -->
10353 + <dl>
10354 + <dt><label for="wordcensor1">{L_DISABLE_CENSORS}{L_COLON}</label></dt>
10355 + <dd>
10356 + <label for="wordcensor1"><input type="radio" name="wordcensor" id="wordcensor1" value="1"<!-- IF S_DISABLE_CENSORS --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
10357 + <label for="wordcensor0"><input type="radio" name="wordcensor" id="wordcensor0" value="0"<!-- IF not S_DISABLE_CENSORS --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
10358 + </dd>
10359 + </dl>
10360 + <!-- ENDIF -->
10361 + <!-- EVENT ucp_prefs_view_radio_buttons_append -->
10362 + <hr />
10363 + <!-- EVENT ucp_prefs_view_select_menu_prepend -->
10364 + <dl>
10365 + <dt><label>{L_VIEW_TOPICS_DAYS}{L_COLON}</label></dt>
10366 + <dd>{S_TOPIC_SORT_DAYS}</dd>
10367 + </dl>
10368 + <dl>
10369 + <dt><label>{L_VIEW_TOPICS_KEY}{L_COLON}</label></dt>
10370 + <dd>{S_TOPIC_SORT_KEY}</dd>
10371 + </dl>
10372 + <dl>
10373 + <dt><label>{L_VIEW_TOPICS_DIR}{L_COLON}</label></dt>
10374 + <dd>{S_TOPIC_SORT_DIR}</dd>
10375 + </dl>
10376 + <hr />
10377 + <dl>
10378 + <dt><label>{L_VIEW_POSTS_DAYS}{L_COLON}</label></dt>
10379 + <dd>{S_POST_SORT_DAYS}</dd>
10380 + </dl>
10381 + <dl>
10382 + <dt><label>{L_VIEW_POSTS_KEY}{L_COLON}</label></dt>
10383 + <dd>{S_POST_SORT_KEY}</dd>
10384 + </dl>
10385 + <dl>
10386 + <dt><label>{L_VIEW_POSTS_DIR}{L_COLON}</label></dt>
10387 + <dd>{S_POST_SORT_DIR}</dd>
10388 + </dl>
10389 + <!-- EVENT ucp_prefs_view_select_menu_append -->
10390 + </fieldset>
10391 +
10392 + </div>
10393 +</div>
10394 +
10395 +<fieldset class="submit-buttons">
10396 + {S_HIDDEN_FIELDS}<input type="reset" value="{L_RESET}" name="reset" class="button2" />&nbsp;
10397 + <input type="submit" name="submit" value="{L_SUBMIT}" class="button1" />
10398 + {S_FORM_TOKEN}
10399 +</fieldset>
10400 +</form>
10401 +
10402 +<!-- INCLUDE ucp_footer.html -->
10403
10404 diff --git a/template/ucp_profile_autologin_keys.html b/template/ucp_profile_autologin_keys.html
10405 new file mode 100644
10406 index 000000000..65909b706
10407 --- /dev/null
10408 +++ b/template/ucp_profile_autologin_keys.html
10409 @@ -0,0 +1,45 @@
10410 +<!-- INCLUDE ucp_header.html -->
10411 +
10412 +<form id="ucp" method="post" action="{S_UCP_ACTION}"{S_FORM_ENCTYPE}>
10413 +
10414 +<h2>{L_TITLE}</h2>
10415 +<div class="panel">
10416 + <div class="inner">
10417 + <p>{L_PROFILE_AUTOLOGIN_KEYS}</p>
10418 + <!-- IF ERROR --><p class="error">{ERROR}</p><!-- ENDIF -->
10419 + <table class="table1">
10420 + <thead>
10421 + <tr>
10422 + <th class="name">{L_LOGIN_KEY}</th>
10423 + <th class="center">{L_IP}</th>
10424 + <th class="center">{L_LOGIN_TIME}</th>
10425 + <th class="center mark">{L_MARK}</th>
10426 + </tr>
10427 + </thead>
10428 + <tbody>
10429 + <!-- BEGIN sessions -->
10430 + <!-- IF sessions.S_ROW_COUNT is even --><tr class="bg1"><!-- ELSE --><tr class="bg2"><!-- ENDIF -->
10431 + <td><label for="{sessions.KEY}">{sessions.KEY}</label></td>
10432 + <td class="center">{sessions.IP}</td>
10433 + <td class="center">{sessions.LOGIN_TIME}</td>
10434 + <td class="center mark"><input type="checkbox" name="keys[]" value="{sessions.KEY}" id="{sessions.KEY}" /></td>
10435 + </tr>
10436 + <!-- BEGINELSE -->
10437 + <tr><td colspan="4" class="bg1" style="text-align: center">{L_PROFILE_NO_AUTOLOGIN_KEYS}</td></tr>
10438 + <!-- END sessions -->
10439 + </tbody>
10440 + </table>
10441 + </div>
10442 +</div>
10443 +
10444 +<!-- IF .sessions -->
10445 + <fieldset class="display-actions">
10446 + {S_HIDDEN_FIELDS}<input type="submit" name="submit" value="{L_DELETE_MARKED}" class="button2" />
10447 + <div><a href="#" onclick="$('#ucp input:checkbox').prop('checked', true); return false;">{L_MARK_ALL}</a> &bull; <a href="#" onclick="$('#ucp input:checkbox').prop('checked', false); return false;">{L_UNMARK_ALL}</a></div>
10448 + {S_FORM_TOKEN}
10449 + </fieldset>
10450 +<!-- ENDIF -->
10451 +
10452 +</form>
10453 +
10454 +<!-- INCLUDE ucp_footer.html -->
10455
10456 diff --git a/template/ucp_profile_avatar.html b/template/ucp_profile_avatar.html
10457 new file mode 100644
10458 index 000000000..8157d8c15
10459 --- /dev/null
10460 +++ b/template/ucp_profile_avatar.html
10461 @@ -0,0 +1,13 @@
10462 +<!-- INCLUDE ucp_header.html -->
10463 +
10464 +<form id="ucp" method="post" action="{S_UCP_ACTION}"{S_FORM_ENCTYPE}>
10465 +
10466 +<h2>{L_TITLE}</h2>
10467 +
10468 +<!-- INCLUDE ucp_avatar_options.html -->
10469 +
10470 +{S_HIDDEN_FIELDS}
10471 +{S_FORM_TOKEN}
10472 +</form>
10473 +
10474 +<!-- INCLUDE ucp_footer.html -->
10475
10476 diff --git a/template/ucp_profile_profile_info.html b/template/ucp_profile_profile_info.html
10477 new file mode 100644
10478 index 000000000..69eda8c42
10479 --- /dev/null
10480 +++ b/template/ucp_profile_profile_info.html
10481 @@ -0,0 +1,51 @@
10482 +<!-- INCLUDE ucp_header.html -->
10483 +
10484 +<form id="ucp" method="post" action="{S_UCP_ACTION}"{S_FORM_ENCTYPE}>
10485 +
10486 +<h2>{L_TITLE} <span class="small">[ <a href="{U_USER_PROFILE}" title="{L_VIEW_PROFILE}">{L_VIEW_PROFILE}</a> ]</span></h2>
10487 +
10488 +<div class="panel">
10489 + <div class="inner">
10490 + <p>{L_PROFILE_INFO_NOTICE}</p>
10491 +
10492 + <fieldset>
10493 + <!-- IF ERROR --><p class="error">{ERROR}</p><!-- ENDIF -->
10494 + <!-- EVENT ucp_profile_profile_info_before -->
10495 + <!-- IF S_BIRTHDAYS_ENABLED -->
10496 + <dl>
10497 + <dt><label for="bday_day">{L_BIRTHDAY}{L_COLON}</label><br /><span>{L_BIRTHDAY_EXPLAIN}</span></dt>
10498 + <dd>
10499 + <label for="bday_day">{L_DAY}{L_COLON} <select name="bday_day" id="bday_day">{S_BIRTHDAY_DAY_OPTIONS}</select></label>
10500 + <label for="bday_month">{L_MONTH}{L_COLON} <select name="bday_month" id="bday_month">{S_BIRTHDAY_MONTH_OPTIONS}</select></label>
10501 + <label for="bday_year">{L_YEAR}{L_COLON} <select name="bday_year" id="bday_year">{S_BIRTHDAY_YEAR_OPTIONS}</select></label>
10502 + </dd>
10503 + </dl>
10504 + <!-- ENDIF -->
10505 + <!-- IF S_JABBER_ENABLED -->
10506 + <dl>
10507 + <dt><label for="jabber">{L_UCP_JABBER}{L_COLON}</label></dt>
10508 + <dd><input type="email" name="jabber" id="jabber" maxlength="255" value="{JABBER}" class="inputbox" /></dd>
10509 + </dl>
10510 + <!-- ENDIF -->
10511 + <!-- BEGIN profile_fields -->
10512 + <dl>
10513 + <dt><label<!-- IF profile_fields.FIELD_ID --> for="{profile_fields.FIELD_ID}"<!-- ENDIF -->>{profile_fields.LANG_NAME}{L_COLON}<!-- IF profile_fields.S_REQUIRED --> *<!-- ENDIF --></label>
10514 + <!-- IF profile_fields.LANG_EXPLAIN --><br /><span>{profile_fields.LANG_EXPLAIN}</span><!-- ENDIF --></dt>
10515 + <!-- IF profile_fields.ERROR --><dd class="error">{profile_fields.ERROR}</dd><!-- ENDIF -->
10516 + <dd>{profile_fields.FIELD}</dd>
10517 + </dl>
10518 + <!-- END profile_fields -->
10519 + <!-- EVENT ucp_profile_profile_info_after -->
10520 + </fieldset>
10521 +
10522 + </div>
10523 +</div>
10524 +
10525 +<fieldset class="submit-buttons">
10526 + {S_HIDDEN_FIELDS}<input type="reset" value="{L_RESET}" name="reset" class="button2" />&nbsp;
10527 + <input type="submit" name="submit" value="{L_SUBMIT}" class="button1" />
10528 + {S_FORM_TOKEN}
10529 +</fieldset>
10530 +</form>
10531 +
10532 +<!-- INCLUDE ucp_footer.html -->
10533
10534 diff --git a/template/ucp_profile_reg_details.html b/template/ucp_profile_reg_details.html
10535 new file mode 100644
10536 index 000000000..f62d3cf37
10537 --- /dev/null
10538 +++ b/template/ucp_profile_reg_details.html
10539 @@ -0,0 +1,59 @@
10540 +<!-- INCLUDE ucp_header.html -->
10541 +
10542 +<form id="ucp" method="post" action="{S_UCP_ACTION}"{S_FORM_ENCTYPE}>
10543 +
10544 +<h2>{L_TITLE}</h2>
10545 +<div class="panel">
10546 + <div class="inner">
10547 +
10548 + <!-- IF S_FORCE_PASSWORD -->
10549 + <p class="error">{L_FORCE_PASSWORD_EXPLAIN}</p>
10550 + <!-- ENDIF -->
10551 +
10552 + <fieldset>
10553 + <!-- IF ERROR --><p class="error">{ERROR}</p><!-- ENDIF -->
10554 + <!-- EVENT ucp_profile_register_details_before -->
10555 + <dl>
10556 + <dt><label <!-- IF S_CHANGE_USERNAME -->for="username"<!-- ENDIF -->>{L_USERNAME}{L_COLON}</label><br /><span>{L_USERNAME_EXPLAIN}</span></dt>
10557 + <dd><!-- IF S_CHANGE_USERNAME --><input type="text" name="username" id="username" value="{USERNAME}" class="inputbox" title="{L_USERNAME}" /><!-- ELSE --><strong>{USERNAME}</strong><!-- ENDIF --></dd>
10558 + </dl>
10559 + <dl>
10560 + <dt><label for="email">{L_EMAIL_ADDRESS}{L_COLON}</label></dt>
10561 + <dd><!-- IF S_CHANGE_EMAIL --><input type="email" name="email" id="email" maxlength="100" value="{EMAIL}" class="inputbox" title="{L_EMAIL_ADDRESS}" autocomplete="off" /><!-- ELSE --><strong>{EMAIL}</strong><!-- ENDIF --></dd>
10562 + </dl>
10563 + <!-- IF S_CHANGE_PASSWORD -->
10564 + <dl>
10565 + <dt><label for="new_password">{L_NEW_PASSWORD}{L_COLON}</label><br /><span>{L_CHANGE_PASSWORD_EXPLAIN}</span></dt>
10566 + <dd><input type="password" name="new_password" id="new_password" maxlength="255" value="{NEW_PASSWORD}" class="inputbox" title="{L_CHANGE_PASSWORD}" autocomplete="off" /></dd>
10567 + </dl>
10568 + <dl>
10569 + <dt><label for="password_confirm">{L_CONFIRM_PASSWORD}{L_COLON}</label><br /><span>{L_CONFIRM_PASSWORD_EXPLAIN}</span></dt>
10570 + <dd><input type="password" name="password_confirm" id="password_confirm" maxlength="255" value="{PASSWORD_CONFIRM}" class="inputbox" title="{L_CONFIRM_PASSWORD}" autocomplete="off" /></dd>
10571 + </dl>
10572 + <!-- ENDIF -->
10573 + <!-- EVENT ucp_profile_register_details_after -->
10574 + </fieldset>
10575 + </div>
10576 +</div>
10577 +
10578 +<div class="panel">
10579 + <div class="inner">
10580 +
10581 + <fieldset>
10582 + <dl>
10583 + <dt><label for="cur_password">{L_CURRENT_PASSWORD}{L_COLON}</label><br /><span><!-- IF S_CHANGE_PASSWORD -->{L_CURRENT_CHANGE_PASSWORD_EXPLAIN}<!-- ELSE -->{L_CURRENT_PASSWORD_EXPLAIN}<!-- ENDIF --></span></dt>
10584 + <dd><input type="password" name="cur_password" id="cur_password" maxlength="255" value="{CUR_PASSWORD}" class="inputbox" title="{L_CURRENT_PASSWORD}" autocomplete="off" /></dd>
10585 + </dl>
10586 + </fieldset>
10587 +
10588 + </div>
10589 +</div>
10590 +
10591 +<fieldset class="submit-buttons">
10592 + {S_HIDDEN_FIELDS}<input type="reset" value="{L_RESET}" name="reset" class="button2" />&nbsp;
10593 + <input type="submit" name="submit" value="{L_SUBMIT}" class="button1" />
10594 + {S_FORM_TOKEN}
10595 +</fieldset>
10596 +</form>
10597 +
10598 +<!-- INCLUDE ucp_footer.html -->
10599
10600 diff --git a/template/ucp_profile_signature.html b/template/ucp_profile_signature.html
10601 new file mode 100644
10602 index 000000000..ed28b7ab0
10603 --- /dev/null
10604 +++ b/template/ucp_profile_signature.html
10605 @@ -0,0 +1,52 @@
10606 +<!-- INCLUDE ucp_header.html -->
10607 +
10608 +<form id="postform" method="post" action="{S_UCP_ACTION}"{S_FORM_ENCTYPE}>
10609 +
10610 +<h2>{L_TITLE}</h2>
10611 +
10612 +<!-- IF SIGNATURE_PREVIEW != '' -->
10613 + <div class="panel">
10614 + <div class="inner">
10615 + <h3>{L_SIGNATURE_PREVIEW}</h3>
10616 + <div class="postbody">
10617 + <div class="signature standalone">{SIGNATURE_PREVIEW}</div>
10618 + </div>
10619 + </div>
10620 + </div>
10621 +<!-- ENDIF -->
10622 +
10623 +<div class="panel">
10624 + <div class="inner">
10625 +
10626 + <p>{L_SIGNATURE_EXPLAIN}</p>
10627 +
10628 + <!-- DEFINE $SIG_EDIT = 1 -->
10629 + <!-- INCLUDE posting_editor.html -->
10630 + <h3>{L_OPTIONS}</h3>
10631 + <fieldset>
10632 + {% EVENT ucp_profile_signature_posting_editor_options_prepend %}
10633 + <!-- IF S_BBCODE_ALLOWED -->
10634 + <div><label for="disable_bbcode"><input type="checkbox" name="disable_bbcode" id="disable_bbcode"{S_BBCODE_CHECKED} /> {L_DISABLE_BBCODE}</label></div>
10635 + <!-- ENDIF -->
10636 + <!-- IF S_SMILIES_ALLOWED -->
10637 + <div><label for="disable_smilies"><input type="checkbox" name="disable_smilies" id="disable_smilies"{S_SMILIES_CHECKED} /> {L_DISABLE_SMILIES}</label></div>
10638 + <!-- ENDIF -->
10639 + <!-- IF S_LINKS_ALLOWED -->
10640 + <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>
10641 + <!-- ENDIF -->
10642 +
10643 + </fieldset>
10644 +
10645 + </div>
10646 +</div>
10647 +
10648 +<fieldset class="submit-buttons">
10649 + {S_HIDDEN_FIELDS}
10650 + <input type="reset" name="reset" value="{L_RESET}" class="button2" />&nbsp;
10651 + <input type="submit" name="preview" value="{L_PREVIEW}" class="button2" />&nbsp;
10652 + <input type="submit" name="submit" value="{L_SUBMIT}" class="button1" />
10653 + {S_FORM_TOKEN}
10654 +</fieldset>
10655 +</form>
10656 +
10657 +<!-- INCLUDE ucp_footer.html -->
10658
10659 diff --git a/template/ucp_register.html b/template/ucp_register.html
10660 new file mode 100644
10661 index 000000000..bf39990c3
10662 --- /dev/null
10663 +++ b/template/ucp_register.html
10664 @@ -0,0 +1,106 @@
10665 +<!-- INCLUDE overall_header.html -->
10666 +
10667 +<script>
10668 + /**
10669 + * Change language
10670 + */
10671 + function change_language(lang_iso)
10672 + {
10673 + document.cookie = '{COOKIE_NAME}_lang=' + lang_iso + '; path={COOKIE_PATH}';
10674 + document.forms['register'].change_lang.value = lang_iso;
10675 + document.forms['register'].submit.click();
10676 + }
10677 +</script>
10678 +
10679 +<form id="register" method="post" action="{S_UCP_ACTION}"{S_FORM_ENCTYPE}>
10680 +
10681 +<div class="panel">
10682 + <div class="inner">
10683 +
10684 + <h2>{SITENAME} - {L_REGISTRATION}</h2>
10685 +
10686 + <fieldset class="fields2">
10687 + <!-- IF ERROR --><dl><dd class="error">{ERROR}</dd></dl><!-- ENDIF -->
10688 + <!-- IF L_REG_COND -->
10689 + <dl><dd><strong>{L_REG_COND}</strong></dd></dl>
10690 + <!-- ENDIF -->
10691 + <!-- EVENT ucp_register_credentials_before -->
10692 + <dl>
10693 + <dt><label for="username">{L_USERNAME}{L_COLON}</label><br /><span>{L_USERNAME_EXPLAIN}</span></dt>
10694 + <dd><input type="text" tabindex="1" name="username" id="username" size="25" value="{USERNAME}" class="inputbox autowidth" title="{L_USERNAME}" /></dd>
10695 + </dl>
10696 + <dl>
10697 + <dt><label for="email">{L_EMAIL_ADDRESS}{L_COLON}</label></dt>
10698 + <dd><input type="email" tabindex="2" name="email" id="email" size="25" maxlength="100" value="{EMAIL}" class="inputbox autowidth" title="{L_EMAIL_ADDRESS}" autocomplete="off" /></dd>
10699 + </dl>
10700 + <dl>
10701 + <dt><label for="new_password">{L_PASSWORD}{L_COLON}</label><br /><span>{L_PASSWORD_EXPLAIN}</span></dt>
10702 + <dd><input type="password" tabindex="4" name="new_password" id="new_password" size="25" value="{PASSWORD}" class="inputbox autowidth" title="{L_NEW_PASSWORD}" autocomplete="off" /></dd>
10703 + </dl>
10704 + <dl>
10705 + <dt><label for="password_confirm">{L_CONFIRM_PASSWORD}{L_COLON}</label></dt>
10706 + <dd><input type="password" tabindex="5" name="password_confirm" id="password_confirm" size="25" value="{PASSWORD_CONFIRM}" class="inputbox autowidth" title="{L_CONFIRM_PASSWORD}" autocomplete="off" /></dd>
10707 + </dl>
10708 +
10709 + <!-- EVENT ucp_register_credentials_after -->
10710 + <hr />
10711 +
10712 + <!-- EVENT ucp_register_options_before -->
10713 + <dl>
10714 + <dt><label for="lang">{L_LANGUAGE}{L_COLON}</label></dt>
10715 + <dd><select name="lang" id="lang" onchange="change_language(this.value); return false;" tabindex="6" title="{L_LANGUAGE}">{S_LANG_OPTIONS}</select></dd>
10716 + </dl>
10717 +
10718 + <!-- INCLUDE timezone_option.html -->
10719 +
10720 + <!-- EVENT ucp_register_profile_fields_before -->
10721 + <!-- IF .profile_fields -->
10722 + <dl><dd><strong>{L_ITEMS_REQUIRED}</strong></dd></dl>
10723 +
10724 + <!-- BEGIN profile_fields -->
10725 + <dl>
10726 + <dt><label<!-- IF profile_fields.FIELD_ID --> for="{profile_fields.FIELD_ID}"<!-- ENDIF -->>{profile_fields.LANG_NAME}{L_COLON}<!-- IF profile_fields.S_REQUIRED --> *<!-- ENDIF --></label>
10727 + <!-- IF profile_fields.LANG_EXPLAIN --><br /><span>{profile_fields.LANG_EXPLAIN}</span><!-- ENDIF -->
10728 + <!-- IF profile_fields.ERROR --><br /><span class="error">{profile_fields.ERROR}</span><!-- ENDIF --></dt>
10729 + <dd>{profile_fields.FIELD}</dd>
10730 + </dl>
10731 + <!-- END profile_fields -->
10732 + <!-- ENDIF -->
10733 +
10734 + <!-- EVENT ucp_register_profile_fields_after -->
10735 + </fieldset>
10736 + </div>
10737 +</div>
10738 +<!-- IF CAPTCHA_TEMPLATE -->
10739 + <!-- DEFINE $CAPTCHA_TAB_INDEX = 8 -->
10740 + <!-- INCLUDE {CAPTCHA_TEMPLATE} -->
10741 +<!-- ENDIF -->
10742 +
10743 +<!-- IF S_COPPA -->
10744 +<div class="panel">
10745 + <div class="inner">
10746 +
10747 + <h4>{L_COPPA_COMPLIANCE}</h4>
10748 +
10749 + <p>{L_COPPA_EXPLAIN}</p>
10750 + </div>
10751 +</div>
10752 +<!-- ENDIF -->
10753 +
10754 +<!-- EVENT ucp_register_buttons_before -->
10755 +
10756 +<div class="panel">
10757 + <div class="inner">
10758 +
10759 + <fieldset class="submit-buttons">
10760 + {S_HIDDEN_FIELDS}
10761 + <input type="reset" value="{L_RESET}" name="reset" class="button2" />&nbsp;
10762 + <input type="submit" tabindex="9" name="submit" id="submit" value="{L_SUBMIT}" class="button1 default-submit-action" />
10763 + {S_FORM_TOKEN}
10764 + </fieldset>
10765 +
10766 + </div>
10767 +</div>
10768 +</form>
10769 +
10770 +<!-- INCLUDE overall_footer.html -->
10771
10772 diff --git a/template/ucp_remind.html b/template/ucp_remind.html
10773 new file mode 100644
10774 index 000000000..8b700de43
10775 --- /dev/null
10776 +++ b/template/ucp_remind.html
10777 @@ -0,0 +1,37 @@
10778 +<!-- INCLUDE overall_header.html -->
10779 +
10780 +<form action="{S_PROFILE_ACTION}" method="post" id="remind">
10781 +
10782 +<div class="panel">
10783 + <div class="inner">
10784 +
10785 + <div class="content">
10786 + <h2>{L_SEND_PASSWORD}</h2>
10787 +
10788 + <fieldset>
10789 + {% if USERNAME_REQUIRED %}
10790 + <p class="error">{{ lang('EMAIL_NOT_UNIQUE') }}</p>
10791 + {% endif %}
10792 + <dl>
10793 + <dt><label for="email">{L_EMAIL_ADDRESS}{L_COLON}</label><br /><span>{L_EMAIL_REMIND}</span></dt>
10794 + <dd><input class="inputbox narrow" type="email" name="email" id="email" size="25" maxlength="100" value="{{ EMAIL }}" autofocus /></dd>
10795 + </dl>
10796 + {% if USERNAME_REQUIRED %}
10797 + <dl>
10798 + <dt><label for="username">{L_USERNAME}{L_COLON}</label></dt>
10799 + <dd><input class="inputbox narrow" type="text" name="username" id="username" size="25" /></dd>
10800 + </dl>
10801 + {% endif %}
10802 + <dl>
10803 + <dt>&nbsp;</dt>
10804 + <dd>{S_HIDDEN_FIELDS}<input type="submit" name="submit" id="submit" class="button1" value="{L_SUBMIT}" tabindex="2" />&nbsp; <input type="reset" value="{L_RESET}" name="reset" class="button2" /></dd>
10805 + </dl>
10806 + {S_FORM_TOKEN}
10807 + </fieldset>
10808 + </div>
10809 +
10810 + </div>
10811 +</div>
10812 +</form>
10813 +
10814 +<!-- INCLUDE overall_footer.html -->
10815
10816 diff --git a/template/ucp_resend.html b/template/ucp_resend.html
10817 new file mode 100644
10818 index 000000000..7713efe52
10819 --- /dev/null
10820 +++ b/template/ucp_resend.html
10821 @@ -0,0 +1,32 @@
10822 +<!-- INCLUDE overall_header.html -->
10823 +
10824 +
10825 +<form action="{S_PROFILE_ACTION}" method="post" id="resend">
10826 +
10827 +<div class="panel">
10828 + <div class="inner">
10829 +
10830 + <div class="content">
10831 + <h2>{L_UCP_RESEND}</h2>
10832 +
10833 + <fieldset>
10834 + <dl>
10835 + <dt><label for="username">{L_USERNAME}{L_COLON}</label></dt>
10836 + <dd><input class="inputbox narrow" type="text" name="username" id="username" size="25" /></dd>
10837 + </dl>
10838 + <dl>
10839 + <dt><label for="email">{L_EMAIL_ADDRESS}{L_COLON}</label><br /><span>{L_EMAIL_REMIND}</span></dt>
10840 + <dd><input class="inputbox narrow" type="email" name="email" id="email" size="25" maxlength="100" /></dd>
10841 + </dl>
10842 + <dl>
10843 + <dt>&nbsp;</dt>
10844 + <dd>{S_HIDDEN_FIELDS}{S_FORM_TOKEN}<input type="submit" name="submit" id="submit" class="button1" value="{L_SUBMIT}" tabindex="2" />&nbsp; <input type="reset" value="{L_RESET}" name="reset" class="button2" /></dd>
10845 + </dl>
10846 + </fieldset>
10847 + </div>
10848 +
10849 + </div>
10850 +</div>
10851 +</form>
10852 +
10853 +<!-- INCLUDE overall_footer.html -->
10854
10855 diff --git a/template/ucp_zebra_foes.html b/template/ucp_zebra_foes.html
10856 new file mode 100644
10857 index 000000000..2a0f6e0de
10858 --- /dev/null
10859 +++ b/template/ucp_zebra_foes.html
10860 @@ -0,0 +1,41 @@
10861 +<!-- INCLUDE ucp_header.html -->
10862 +
10863 +<form id="ucp" method="post" action="{S_UCP_ACTION}"{S_FORM_ENCTYPE}>
10864 +
10865 +<h2>{L_TITLE}</h2>
10866 +
10867 +<div class="panel">
10868 + <div class="inner">
10869 +
10870 + <p>{L_FOES_EXPLAIN}</p>
10871 +
10872 + <fieldset class="fields2">
10873 + <!-- IF ERROR --><p class="error">{ERROR}</p><!-- ENDIF -->
10874 + <dl>
10875 + <dt><label <!-- IF S_USERNAME_OPTIONS -->for="usernames"<!-- ENDIF -->>{L_YOUR_FOES}{L_COLON}</label><br /><span>{L_YOUR_FOES_EXPLAIN}</span></dt>
10876 + <dd>
10877 + <!-- IF S_USERNAME_OPTIONS -->
10878 + <select name="usernames[]" id="usernames" multiple="multiple" size="5">{S_USERNAME_OPTIONS}</select>
10879 + <!-- ELSE -->
10880 + <strong>{L_NO_FOES}</strong>
10881 + <!-- ENDIF -->
10882 + </dd>
10883 + </dl>
10884 + <dl>
10885 + <dt><label for="add">{L_ADD_FOES}{L_COLON}</label><br /><span>{L_ADD_FOES_EXPLAIN}</span></dt>
10886 + <dd><textarea name="add" id="add" rows="3" cols="30" class="inputbox">{USERNAMES}</textarea></dd>
10887 + <dd><strong><a href="{U_FIND_USERNAME}" onclick="find_username(this.href); return false;">{L_FIND_USERNAME}</a></strong></dd>
10888 + </dl>
10889 + </fieldset>
10890 +
10891 + </div>
10892 +</div>
10893 +
10894 +<fieldset class="submit-buttons">
10895 + {S_HIDDEN_FIELDS}<input type="reset" value="{L_RESET}" name="reset" class="button2" />&nbsp;
10896 + <input type="submit" name="submit" value="{L_SUBMIT}" class="button1" />
10897 + {S_FORM_TOKEN}
10898 +</fieldset>
10899 +</form>
10900 +
10901 +<!-- INCLUDE ucp_footer.html -->
10902
10903 diff --git a/template/ucp_zebra_friends.html b/template/ucp_zebra_friends.html
10904 new file mode 100644
10905 index 000000000..e584d876b
10906 --- /dev/null
10907 +++ b/template/ucp_zebra_friends.html
10908 @@ -0,0 +1,43 @@
10909 +<!-- INCLUDE ucp_header.html -->
10910 +
10911 +<form id="ucp" method="post" action="{S_UCP_ACTION}"{S_FORM_ENCTYPE}>
10912 +
10913 +<h2>{L_TITLE}</h2>
10914 +
10915 +<div class="panel">
10916 + <div class="inner">
10917 +
10918 + <p>{L_FRIENDS_EXPLAIN}</p>
10919 +
10920 + <fieldset class="fields2">
10921 + <!-- IF ERROR --><p class="error">{ERROR}</p><!-- ENDIF -->
10922 + <!-- EVENT ucp_friend_list_before -->
10923 + <dl>
10924 + <dt><label <!-- IF S_USERNAME_OPTIONS -->for="usernames"<!-- ENDIF -->>{L_YOUR_FRIENDS}{L_COLON}</label><br /><span>{L_YOUR_FRIENDS_EXPLAIN}</span></dt>
10925 + <dd>
10926 + <!-- IF S_USERNAME_OPTIONS -->
10927 + <select name="usernames[]" id="usernames" multiple="multiple" size="5">{S_USERNAME_OPTIONS}</select>
10928 + <!-- ELSE -->
10929 + <strong>{L_NO_FRIENDS}</strong>
10930 + <!-- ENDIF -->
10931 + </dd>
10932 + </dl>
10933 + <!-- EVENT ucp_friend_list_after -->
10934 + <dl>
10935 + <dt><label for="add">{L_ADD_FRIENDS}{L_COLON}</label><br /><span>{L_ADD_FRIENDS_EXPLAIN}</span></dt>
10936 + <dd><textarea name="add" id="add" rows="3" cols="30" class="inputbox">{USERNAMES}</textarea></dd>
10937 + <dd><strong><a href="{U_FIND_USERNAME}" onclick="find_username(this.href); return false;">{L_FIND_USERNAME}</a></strong></dd>
10938 + </dl>
10939 + </fieldset>
10940 +
10941 + </div>
10942 +</div>
10943 +
10944 +<fieldset class="submit-buttons">
10945 + {S_HIDDEN_FIELDS}<input type="reset" value="{L_RESET}" name="reset" class="button2" />&nbsp;
10946 + <input type="submit" name="submit" value="{L_SUBMIT}" class="button1" />
10947 + {S_FORM_TOKEN}
10948 +</fieldset>
10949 +</form>
10950 +
10951 +<!-- INCLUDE ucp_footer.html -->
10952
10953 diff --git a/template/viewforum_body.html b/template/viewforum_body.html
10954 new file mode 100644
10955 index 000000000..182773801
10956 --- /dev/null
10957 +++ b/template/viewforum_body.html
10958 @@ -0,0 +1,315 @@
10959 +<!-- INCLUDE overall_header.html -->
10960 +<!-- EVENT viewforum_forum_title_before -->
10961 +<h2 class="forum-title"><!-- EVENT viewforum_forum_name_prepend --><a href="{U_VIEW_FORUM}">{FORUM_NAME}</a><!-- EVENT viewforum_forum_name_append --></h2>
10962 +<!-- EVENT viewforum_forum_title_after -->
10963 +<!-- IF FORUM_DESC or MODERATORS or U_MCP -->
10964 +<div>
10965 + <!-- NOTE: remove the style="display: none" when you want to have the forum description on the forum body -->
10966 + <!-- IF FORUM_DESC --><div style="display: none !important;">{FORUM_DESC}<br /></div><!-- ENDIF -->
10967 + <!-- IF MODERATORS --><p><strong><!-- IF S_SINGLE_MODERATOR -->{L_MODERATOR}<!-- ELSE -->{L_MODERATORS}<!-- ENDIF -->{L_COLON}</strong> {MODERATORS}</p><!-- ENDIF -->
10968 +</div>
10969 +<!-- ENDIF -->
10970 +
10971 +<!-- IF S_FORUM_RULES -->
10972 + <div class="rules<!-- IF U_FORUM_RULES --> rules-link<!-- ENDIF -->">
10973 + <div class="inner">
10974 +
10975 + <!-- IF U_FORUM_RULES -->
10976 + <a href="{U_FORUM_RULES}">{L_FORUM_RULES}</a>
10977 + <!-- ELSE -->
10978 + <strong>{L_FORUM_RULES}</strong><br />
10979 + {FORUM_RULES}
10980 + <!-- ENDIF -->
10981 +
10982 + </div>
10983 + </div>
10984 +<!-- ENDIF -->
10985 +
10986 +<!-- IF S_HAS_SUBFORUM -->
10987 +<!-- IF not S_IS_BOT and U_MARK_FORUMS -->
10988 + <div class="action-bar compact">
10989 + <a href="{U_MARK_FORUMS}" class="mark-read rightside" data-ajax="mark_forums_read">{L_MARK_SUBFORUMS_READ}</a>
10990 + </div>
10991 +<!-- ENDIF -->
10992 + <!-- INCLUDE forumlist_body.html -->
10993 +<!-- ENDIF -->
10994 +
10995 +<!-- IF S_DISPLAY_POST_INFO or .pagination or TOTAL_POSTS or TOTAL_TOPICS -->
10996 + <div class="action-bar bar-top">
10997 +
10998 + <!-- IF not S_IS_BOT and S_DISPLAY_POST_INFO -->
10999 + <!-- EVENT viewforum_buttons_top_before -->
11000 +
11001 + <a href="{U_POST_NEW_TOPIC}" class="button" title="<!-- IF S_IS_LOCKED -->{L_FORUM_LOCKED}<!-- ELSE -->{L_POST_TOPIC}<!-- ENDIF -->">
11002 + <!-- IF S_IS_LOCKED -->
11003 + <span>{L_BUTTON_FORUM_LOCKED}</span> <i class="icon fa-lock fa-fw" aria-hidden="true"></i>
11004 + <!-- ELSE -->
11005 + <span>{L_BUTTON_NEW_TOPIC}</span> <i class="icon fa-pencil fa-fw" aria-hidden="true"></i>
11006 + <!-- ENDIF -->
11007 + </a>
11008 + <!-- EVENT viewforum_buttons_top_after -->
11009 + <!-- ENDIF -->
11010 +
11011 + <!-- IF S_DISPLAY_SEARCHBOX -->
11012 + <div class="search-box" role="search">
11013 + <form method="get" id="forum-search" action="{S_SEARCHBOX_ACTION}">
11014 + <fieldset>
11015 + <input class="inputbox search tiny" type="search" name="keywords" id="search_keywords" size="20" placeholder="{L_SEARCH_FORUM}" />
11016 + <button class="button button-search" type="submit" title="{L_SEARCH}">
11017 + <i class="icon fa-search fa-fw" aria-hidden="true"></i><span class="sr-only">{L_SEARCH}</span>
11018 + </button>
11019 + <a href="{U_SEARCH}" class="button button-search-end" title="{L_SEARCH_ADV}">
11020 + <i class="icon fa-cog fa-fw" aria-hidden="true"></i><span class="sr-only">{L_SEARCH_ADV}</span>
11021 + </a>
11022 + {S_SEARCH_LOCAL_HIDDEN_FIELDS}
11023 + </fieldset>
11024 + </form>
11025 + </div>
11026 + <!-- ENDIF -->
11027 +
11028 + <div class="pagination">
11029 + <!-- 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 -->
11030 + {TOTAL_TOPICS}
11031 + <!-- IF .pagination -->
11032 + <!-- INCLUDE pagination.html -->
11033 + <!-- ELSE -->
11034 + &bull; {PAGE_NUMBER}
11035 + <!-- ENDIF -->
11036 + </div>
11037 +
11038 + </div>
11039 +<!-- ENDIF -->
11040 +
11041 +<!-- IF S_NO_READ_ACCESS -->
11042 +
11043 + <div class="panel">
11044 + <div class="inner">
11045 + <strong>{L_NO_READ_ACCESS}</strong>
11046 + </div>
11047 + </div>
11048 +
11049 + <!-- IF not S_USER_LOGGED_IN and not S_IS_BOT -->
11050 +
11051 + <form action="{S_LOGIN_ACTION}" method="post">
11052 +
11053 + <div class="panel">
11054 + <div class="inner">
11055 +
11056 + <div class="content">
11057 + <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>
11058 +
11059 + <fieldset class="fields1">
11060 + <dl>
11061 + <dt><label for="username">{L_USERNAME}{L_COLON}</label></dt>
11062 + <dd><input type="text" tabindex="1" name="username" id="username" size="25" value="{USERNAME}" class="inputbox autowidth" /></dd>
11063 + </dl>
11064 + <dl>
11065 + <dt><label for="password">{L_PASSWORD}{L_COLON}</label></dt>
11066 + <dd><input type="password" tabindex="2" id="password" name="password" size="25" class="inputbox autowidth" autocomplete="off" /></dd>
11067 + <!-- IF S_AUTOLOGIN_ENABLED --><dd><label for="autologin"><input type="checkbox" name="autologin" id="autologin" tabindex="3" /> {L_LOG_ME_IN}</label></dd><!-- ENDIF -->
11068 + <dd><label for="viewonline"><input type="checkbox" name="viewonline" id="viewonline" tabindex="4" /> {L_HIDE_ME}</label></dd>
11069 + </dl>
11070 + <dl>
11071 + <dt>&nbsp;</dt>
11072 + <dd><input type="submit" name="login" tabindex="5" value="{L_LOGIN}" class="button1" /></dd>
11073 + </dl>
11074 + {S_LOGIN_REDIRECT}
11075 + {S_FORM_TOKEN_LOGIN}
11076 + </fieldset>
11077 + </div>
11078 +
11079 + </div>
11080 + </div>
11081 +
11082 + </form>
11083 +
11084 + <!-- ENDIF -->
11085 +
11086 +<!-- ENDIF -->
11087 +
11088 +<!-- EVENT viewforum_body_topic_row_before -->
11089 +
11090 +<!-- BEGIN topicrow -->
11091 +
11092 + <!-- IF not topicrow.S_TOPIC_TYPE_SWITCH and not topicrow.S_FIRST_ROW -->
11093 + </ul>
11094 + </div>
11095 + </div>
11096 + <!-- ENDIF -->
11097 +
11098 + <!-- IF topicrow.S_FIRST_ROW or not topicrow.S_TOPIC_TYPE_SWITCH -->
11099 + <div class="forumbg<!-- IF topicrow.S_TOPIC_TYPE_SWITCH and (topicrow.S_POST_ANNOUNCE or topicrow.S_POST_GLOBAL) --> announcement<!-- ENDIF -->">
11100 + <div class="inner">
11101 + <ul class="topiclist">
11102 + <li class="header">
11103 + <dl class="row-item">
11104 + <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>
11105 + <dd class="posts">{L_REPLIES}</dd>
11106 + <dd class="views">{L_VIEWS}</dd>
11107 + <dd class="lastpost"><span>{L_LAST_POST}</span></dd>
11108 + </dl>
11109 + </li>
11110 + </ul>
11111 + <ul class="topiclist topics">
11112 + <!-- ENDIF -->
11113 +
11114 + <!-- EVENT viewforum_body_topicrow_row_before -->
11115 + <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 -->">
11116 + <!-- EVENT viewforum_body_topic_row_prepend -->
11117 + <dl class="row-item {topicrow.TOPIC_IMG_STYLE}">
11118 + <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}">
11119 + <!-- IF topicrow.S_UNREAD_TOPIC and not S_IS_BOT --><a href="{topicrow.U_NEWEST_POST}" class="row-item-link"></a><!-- ENDIF -->
11120 + <div class="list-inner">
11121 + <!-- EVENT topiclist_row_prepend -->
11122 + <!-- IF topicrow.S_UNREAD_TOPIC and not S_IS_BOT -->
11123 + <a class="unread" href="{topicrow.U_NEWEST_POST}">
11124 + <i class="icon fa-file fa-fw icon-red icon-md" aria-hidden="true"></i><span class="sr-only">{NEW_POST}</span>
11125 + </a>
11126 + <!-- ENDIF -->
11127 + <!-- IF topicrow.U_VIEW_TOPIC --><a href="{topicrow.U_VIEW_TOPIC}" class="topictitle">{topicrow.TOPIC_TITLE}</a><!-- ELSE -->{topicrow.TOPIC_TITLE}<!-- ENDIF -->
11128 + <!-- IF topicrow.S_TOPIC_UNAPPROVED or topicrow.S_POSTS_UNAPPROVED -->
11129 + <a href="{topicrow.U_MCP_QUEUE}" title="<!-- IF topicrow.S_TOPIC_UNAPPROVED -->{L_TOPIC_UNAPPROVED}<!-- ELSE -->{L_POSTS_UNAPPROVED}<!-- ENDIF -->">
11130 + <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>
11131 + </a>
11132 + <!-- ENDIF -->
11133 + <!-- IF topicrow.S_TOPIC_DELETED -->
11134 + <a href="{topicrow.U_MCP_QUEUE}" title="{L_TOPIC_DELETED}">
11135 + <i class="icon fa-recycle fa-fw icon-green" aria-hidden="true"></i><span class="sr-only">{L_TOPIC_DELETED}</span>
11136 + </a>
11137 + <!-- ENDIF -->
11138 + <!-- IF topicrow.S_TOPIC_REPORTED -->
11139 + <a href="{topicrow.U_MCP_REPORT}" title="{L_TOPIC_REPORTED}">
11140 + <i class="icon fa-exclamation fa-fw icon-red" aria-hidden="true"></i><span class="sr-only">{L_TOPIC_REPORTED}</span>
11141 + </a>
11142 + <!-- ENDIF -->
11143 + <br />
11144 + <!-- EVENT topiclist_row_topic_title_after -->
11145 +
11146 + <!-- IF not S_IS_BOT -->
11147 + <div class="responsive-show" style="display: none;">
11148 + {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}">{topicrow.LAST_POST_TIME}</a>
11149 + <!-- 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 -->
11150 + </div>
11151 + <!-- IF topicrow.REPLIES -->
11152 + <span class="responsive-show left-box" style="display: none;">{L_REPLIES}{L_COLON} <strong>{topicrow.REPLIES}</strong></span>
11153 + <!-- ENDIF -->
11154 + <!-- ENDIF -->
11155 +
11156 + <div class="topic-poster responsive-hide left-box">
11157 + <!-- IF topicrow.S_HAS_POLL --><i class="icon fa-bar-chart fa-fw" aria-hidden="true"></i><!-- ENDIF -->
11158 + <!-- IF topicrow.ATTACH_ICON_IMG --><i class="icon fa-paperclip fa-fw" aria-hidden="true"></i><!-- ENDIF -->
11159 + {% EVENT topiclist_row_topic_by_author_before %}
11160 + {L_POST_BY_AUTHOR} <!-- EVENT viewforum_body_topic_author_username_prepend -->{topicrow.TOPIC_AUTHOR_FULL}<!-- EVENT viewforum_body_topic_author_username_append --> &raquo; {topicrow.FIRST_POST_TIME}
11161 + {% EVENT topiclist_row_topic_by_author_after %}
11162 + <!-- 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 -->
11163 + </div>
11164 +
11165 + <!-- IF .topicrow.pagination -->
11166 + <div class="pagination">
11167 + <span><i class="icon fa-clone fa-fw" aria-hidden="true"></i></span>
11168 + <ul>
11169 + <!-- BEGIN pagination -->
11170 + <!-- IF topicrow.pagination.S_IS_PREV -->
11171 + <!-- ELSEIF topicrow.pagination.S_IS_CURRENT --><li class="active"><span>{topicrow.pagination.PAGE_NUMBER}</span></li>
11172 + <!-- ELSEIF topicrow.pagination.S_IS_ELLIPSIS --><li class="ellipsis"><span>{L_ELLIPSIS}</span></li>
11173 + <!-- ELSEIF topicrow.pagination.S_IS_NEXT -->
11174 + <!-- ELSE --><li><a class="button" href="{topicrow.pagination.PAGE_URL}">{topicrow.pagination.PAGE_NUMBER}</a></li>
11175 + <!-- ENDIF -->
11176 + <!-- END pagination -->
11177 + </ul>
11178 + </div>
11179 + <!-- ENDIF -->
11180 +
11181 + <!-- EVENT topiclist_row_append -->
11182 + </div>
11183 + </dt>
11184 + <dd class="posts">{topicrow.REPLIES} <dfn>{L_REPLIES}</dfn></dd>
11185 + <dd class="views">{topicrow.VIEWS} <dfn>{L_VIEWS}</dfn></dd>
11186 + <dd class="lastpost">
11187 + <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 -->
11188 + <!-- IF not S_IS_BOT and topicrow.U_LAST_POST -->
11189 + <a href="{topicrow.U_LAST_POST}" title="{L_GOTO_LAST_POST}">
11190 + <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>
11191 + </a>
11192 + <!-- ENDIF -->
11193 + <br />{topicrow.LAST_POST_TIME}
11194 + </span>
11195 + </dd>
11196 + </dl>
11197 + <!-- EVENT viewforum_body_topic_row_append -->
11198 + </li>
11199 + <!-- EVENT viewforum_body_topic_row_after -->
11200 +
11201 + <!-- IF topicrow.S_LAST_ROW -->
11202 + </ul>
11203 + </div>
11204 + </div>
11205 + <!-- ENDIF -->
11206 +
11207 +<!-- BEGINELSE -->
11208 + <!-- IF S_IS_POSTABLE -->
11209 + <div class="panel">
11210 + <div class="inner">
11211 + <strong>{L_NO_TOPICS}</strong>
11212 + </div>
11213 + </div>
11214 + <!-- ELSE IF not S_HAS_SUBFORUM -->
11215 + <div class="panel">
11216 + <div class="inner">
11217 + <strong>{L_NO_FORUMS_IN_CATEGORY}</strong>
11218 + </div>
11219 + </div>
11220 + <!-- ENDIF -->
11221 +<!-- END topicrow -->
11222 +
11223 +<!-- IF .topicrow and not S_DISPLAY_ACTIVE -->
11224 + <div class="action-bar bar-bottom">
11225 + <!-- IF not S_IS_BOT and S_DISPLAY_POST_INFO -->
11226 + <!-- EVENT viewforum_buttons_bottom_before -->
11227 +
11228 + <a href="{U_POST_NEW_TOPIC}" class="button" title="<!-- IF S_IS_LOCKED -->{L_FORUM_LOCKED}<!-- ELSE -->{L_POST_TOPIC}<!-- ENDIF -->">
11229 + <!-- IF S_IS_LOCKED -->
11230 + <span>{L_BUTTON_FORUM_LOCKED}</span> <i class="icon fa-lock fa-fw" aria-hidden="true"></i>
11231 + <!-- ELSE -->
11232 + <span>{L_BUTTON_NEW_TOPIC}</span> <i class="icon fa-pencil fa-fw" aria-hidden="true"></i>
11233 + <!-- ENDIF -->
11234 + </a>
11235 +
11236 + <!-- EVENT viewforum_buttons_bottom_after -->
11237 + <!-- ENDIF -->
11238 +
11239 + <!-- IF S_SELECT_SORT_DAYS and not S_IS_BOT -->
11240 + <form method="post" action="{S_FORUM_ACTION}">
11241 + <!-- INCLUDE display_options.html -->
11242 + </form>
11243 + <!-- ENDIF -->
11244 +
11245 + <div class="pagination">
11246 + <!-- 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 -->
11247 + {TOTAL_TOPICS}
11248 + <!-- IF .pagination -->
11249 + <!-- INCLUDE pagination.html -->
11250 + <!-- ELSE -->
11251 + &bull; {PAGE_NUMBER}
11252 + <!-- ENDIF -->
11253 + </div>
11254 + </div>
11255 +<!-- ENDIF -->
11256 +
11257 +<!-- INCLUDE jumpbox.html -->
11258 +
11259 +<!-- IF S_DISPLAY_ONLINE_LIST and U_VIEWONLINE -->
11260 + <div class="stat-block online-list">
11261 + <h3><a href="{U_VIEWONLINE}">{L_WHO_IS_ONLINE}</a></h3>
11262 + <p>{LOGGED_IN_USER_LIST}</p>
11263 + </div>
11264 +<!-- ENDIF -->
11265 +
11266 +<!-- IF S_DISPLAY_POST_INFO -->
11267 + <div class="stat-block permissions">
11268 + <h3>{L_FORUM_PERMISSIONS}</h3>
11269 + <p><!-- BEGIN rules -->{rules.RULE}<br /><!-- END rules --></p>
11270 + </div>
11271 +<!-- ENDIF -->
11272 +
11273 +<!-- INCLUDE overall_footer.html -->
11274
11275 diff --git a/template/viewonline_body.html b/template/viewonline_body.html
11276 new file mode 100644
11277 index 000000000..c01997717
11278 --- /dev/null
11279 +++ b/template/viewonline_body.html
11280 @@ -0,0 +1,63 @@
11281 +<!-- INCLUDE overall_header.html -->
11282 +
11283 +<h2 class="viewonline-title">{TOTAL_REGISTERED_USERS_ONLINE}</h2>
11284 +<p>{TOTAL_GUEST_USERS_ONLINE}<!-- IF S_SWITCH_GUEST_DISPLAY --> &bull; <a href="{U_SWITCH_GUEST_DISPLAY}">{L_SWITCH_GUEST_DISPLAY}</a><!-- ENDIF --></p>
11285 +
11286 +<div class="action-bar bar-top">
11287 + <div class="pagination">
11288 + <!-- IF .pagination -->
11289 + <!-- INCLUDE pagination.html -->
11290 + <!-- ELSE -->
11291 + {PAGE_NUMBER}
11292 + <!-- ENDIF -->
11293 + </div>
11294 +</div>
11295 +
11296 +<div class="forumbg forumbg-table">
11297 + <div class="inner">
11298 +
11299 + <table class="table1">
11300 +
11301 + <!-- IF .user_row -->
11302 + <thead>
11303 + <tr>
11304 + <th class="name"><a href="{U_SORT_USERNAME}">{L_USERNAME}</a></th>
11305 + <th class="info"><a href="{U_SORT_LOCATION}">{L_FORUM_LOCATION}</a></th>
11306 + <th class="active"><a href="{U_SORT_UPDATED}">{L_LAST_UPDATED}</a></th>
11307 + </tr>
11308 + </thead>
11309 + <tbody>
11310 + <!-- BEGIN user_row -->
11311 + <tr class="<!-- IF user_row.S_ROW_COUNT is odd -->bg1<!-- ELSE -->bg2<!-- ENDIF -->">
11312 + <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 -->
11313 + <!-- IF user_row.USER_BROWSER --><br />{user_row.USER_BROWSER}<!-- ENDIF --></td>
11314 + <td class="info"><a href="{user_row.U_FORUM_LOCATION}">{user_row.FORUM_LOCATION}</a></td>
11315 + <td class="active">{user_row.LASTUPDATE}</td>
11316 + </tr>
11317 + <!-- END user_row -->
11318 + <!-- ELSE -->
11319 + <tbody>
11320 + <tr class="bg1">
11321 + <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>
11322 + </tr>
11323 + <!-- ENDIF -->
11324 + </tbody>
11325 + </table>
11326 +
11327 + </div>
11328 +</div>
11329 +
11330 +<!-- IF LEGEND --><p><em>{L_LEGEND}{L_COLON} {LEGEND}</em></p><!-- ENDIF -->
11331 +
11332 +<div class="action-bar bar-bottom">
11333 + <div class="pagination">
11334 + <!-- IF .pagination -->
11335 + <!-- INCLUDE pagination.html -->
11336 + <!-- ELSE -->
11337 + {PAGE_NUMBER}
11338 + <!-- ENDIF -->
11339 + </div>
11340 +</div>
11341 +
11342 +<!-- INCLUDE jumpbox.html -->
11343 +<!-- INCLUDE overall_footer.html -->
11344
11345 diff --git a/template/viewonline_whois.html b/template/viewonline_whois.html
11346 new file mode 100644
11347 index 000000000..5d780490d
11348 --- /dev/null
11349 +++ b/template/viewonline_whois.html
11350 @@ -0,0 +1,12 @@
11351 +<!-- INCLUDE simple_header.html -->
11352 +
11353 +<h2>{L_WHOIS}</h2>
11354 +
11355 +<div class="panel">
11356 + <div class="inner">
11357 + <pre>{WHOIS}</pre>
11358 + </div>
11359 +</div>
11360 +<a href="#" onclick="window.close(); return false;">{L_CLOSE_WINDOW}</a>
11361 +
11362 +<!-- INCLUDE simple_footer.html -->
11363
11364 diff --git a/template/viewtopic_body.html b/template/viewtopic_body.html
11365 new file mode 100644
11366 index 000000000..8d7e26f09
11367 --- /dev/null
11368 +++ b/template/viewtopic_body.html
11369 @@ -0,0 +1,452 @@
11370 +<!-- INCLUDE overall_header.html -->
11371 +
11372 +<!-- EVENT viewtopic_topic_title_before -->
11373 +<h2 class="topic-title"><!-- EVENT viewtopic_topic_title_prepend --><a href="{U_VIEW_TOPIC}">{TOPIC_TITLE}</a><!-- EVENT viewtopic_topic_title_append --></h2>
11374 +<!-- EVENT viewtopic_topic_title_after -->
11375 +<!-- NOTE: remove the style="display: none" when you want to have the forum description on the topic body -->
11376 +<!-- IF FORUM_DESC --><div style="display: none !important;">{FORUM_DESC}<br /></div><!-- ENDIF -->
11377 +
11378 +<!-- IF MODERATORS -->
11379 +<p>
11380 + <strong><!-- IF S_SINGLE_MODERATOR -->{L_MODERATOR}<!-- ELSE -->{L_MODERATORS}<!-- ENDIF -->{L_COLON}</strong> {MODERATORS}
11381 +</p>
11382 +<!-- ENDIF -->
11383 +
11384 +<!-- IF S_FORUM_RULES -->
11385 + <div class="rules<!-- IF U_FORUM_RULES --> rules-link<!-- ENDIF -->">
11386 + <div class="inner">
11387 +
11388 + <!-- IF U_FORUM_RULES -->
11389 + <a href="{U_FORUM_RULES}">{L_FORUM_RULES}</a>
11390 + <!-- ELSE -->
11391 + <strong>{L_FORUM_RULES}</strong><br />
11392 + {FORUM_RULES}
11393 + <!-- ENDIF -->
11394 +
11395 + </div>
11396 + </div>
11397 +<!-- ENDIF -->
11398 +
11399 +<div class="action-bar bar-top">
11400 + <!-- EVENT viewtopic_buttons_top_before -->
11401 +
11402 + <!-- IF not S_IS_BOT and S_DISPLAY_REPLY_INFO -->
11403 + <a href="{U_POST_REPLY_TOPIC}" class="button" title="<!-- IF S_IS_LOCKED -->{L_TOPIC_LOCKED}<!-- ELSE -->{L_POST_REPLY}<!-- ENDIF -->">
11404 + <!-- IF S_IS_LOCKED -->
11405 + <span>{L_BUTTON_TOPIC_LOCKED}</span> <i class="icon fa-lock fa-fw" aria-hidden="true"></i>
11406 + <!-- ELSE -->
11407 + <span>{L_BUTTON_POST_REPLY}</span> <i class="icon fa-reply fa-fw" aria-hidden="true"></i>
11408 + <!-- ENDIF -->
11409 + </a>
11410 + <!-- ENDIF -->
11411 +
11412 + <!-- EVENT viewtopic_buttons_top_after -->
11413 + <!-- INCLUDE viewtopic_topic_tools.html -->
11414 + <!-- EVENT viewtopic_dropdown_top_custom -->
11415 +
11416 + <!-- IF S_DISPLAY_SEARCHBOX -->
11417 + <div class="search-box" role="search">
11418 + <form method="get" id="topic-search" action="{S_SEARCHBOX_ACTION}">
11419 + <fieldset>
11420 + <input class="inputbox search tiny" type="search" name="keywords" id="search_keywords" size="20" placeholder="{L_SEARCH_TOPIC}" />
11421 + <button class="button button-search" type="submit" title="{L_SEARCH}">
11422 + <i class="icon fa-search fa-fw" aria-hidden="true"></i><span class="sr-only">{L_SEARCH}</span>
11423 + </button>
11424 + <a href="{U_SEARCH}" class="button button-search-end" title="{L_SEARCH_ADV}">
11425 + <i class="icon fa-cog fa-fw" aria-hidden="true"></i><span class="sr-only">{L_SEARCH_ADV}</span>
11426 + </a>
11427 + {S_SEARCH_LOCAL_HIDDEN_FIELDS}
11428 + </fieldset>
11429 + </form>
11430 + </div>
11431 + <!-- ENDIF -->
11432 +
11433 + <!-- IF .pagination or TOTAL_POSTS -->
11434 + <div class="pagination">
11435 + <!-- 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}
11436 + <!-- IF .pagination -->
11437 + <!-- INCLUDE pagination.html -->
11438 + <!-- ELSE -->
11439 + &bull; {PAGE_NUMBER}
11440 + <!-- ENDIF -->
11441 + </div>
11442 + <!-- ENDIF -->
11443 + <!-- EVENT viewtopic_body_pagination_top_after -->
11444 +</div>
11445 +
11446 +<!-- EVENT viewtopic_body_poll_before -->
11447 +
11448 +<!-- IF S_HAS_POLL -->
11449 + <form method="post" action="{S_POLL_ACTION}" data-ajax="vote_poll" class="topic_poll">
11450 +
11451 + <div class="panel">
11452 + <div class="inner">
11453 +
11454 + <div class="content">
11455 + <h2 class="poll-title"><!-- EVENT viewtopic_body_poll_question_prepend -->{POLL_QUESTION}<!-- EVENT viewtopic_body_poll_question_append --></h2>
11456 + <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>
11457 +
11458 + <fieldset class="polls">
11459 + <!-- BEGIN poll_option -->
11460 + <!-- EVENT viewtopic_body_poll_option_before -->
11461 + <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}">
11462 + <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>
11463 + <!-- 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 -->
11464 + <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>
11465 + <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>
11466 + </dl>
11467 + <!-- EVENT viewtopic_body_poll_option_after -->
11468 + <!-- END poll_option -->
11469 +
11470 + <dl class="poll_total_votes<!-- IF not S_DISPLAY_RESULTS --> hidden<!-- ENDIF -->">
11471 + <dt>&nbsp;</dt>
11472 + <dd class="resultbar">{L_TOTAL_VOTES}{L_COLON} <span class="poll_total_vote_cnt">{TOTAL_VOTES}</span></dd>
11473 + </dl>
11474 +
11475 + <!-- IF S_CAN_VOTE -->
11476 + <dl style="border-top: none;" class="poll_vote">
11477 + <dt>&nbsp;</dt>
11478 + <dd class="resultbar"><input type="submit" name="update" value="{L_SUBMIT_VOTE}" class="button1" /></dd>
11479 + </dl>
11480 + <!-- ENDIF -->
11481 +
11482 + <!-- IF not S_DISPLAY_RESULTS -->
11483 + <dl style="border-top: none;" class="poll_view_results">
11484 + <dt>&nbsp;</dt>
11485 + <dd class="resultbar"><a href="{U_VIEW_RESULTS}">{L_VIEW_RESULTS}</a></dd>
11486 + </dl>
11487 + <!-- ENDIF -->
11488 + </fieldset>
11489 + <div class="vote-submitted hidden">{L_VOTE_SUBMITTED}</div>
11490 + </div>
11491 +
11492 + </div>
11493 + {S_FORM_TOKEN}
11494 + {S_HIDDEN_FIELDS}
11495 + </div>
11496 +
11497 + </form>
11498 + <hr />
11499 +<!-- ENDIF -->
11500 +
11501 +<!-- EVENT viewtopic_body_poll_after -->
11502 +
11503 +<!-- BEGIN postrow -->
11504 + <!-- EVENT viewtopic_body_postrow_post_before -->
11505 + <!-- IF postrow.S_FIRST_UNREAD -->
11506 + <a id="unread" class="anchor"<!-- IF S_UNREAD_VIEW --> data-url="{postrow.U_MINI_POST}"<!-- ENDIF -->></a>
11507 + <!-- ENDIF -->
11508 + <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 -->">
11509 + <div class="inner">
11510 +
11511 + <dl class="postprofile" id="profile{postrow.POST_ID}"<!-- IF postrow.S_POST_HIDDEN --> style="display: none;"<!-- ENDIF -->>
11512 + <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 -->">
11513 + <div class="avatar-container">
11514 + <!-- EVENT viewtopic_body_avatar_before -->
11515 + <!-- IF postrow.POSTER_AVATAR -->
11516 + <!-- 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 -->
11517 + <!-- ENDIF -->
11518 + <!-- EVENT viewtopic_body_avatar_after -->
11519 + </div>
11520 + <!-- EVENT viewtopic_body_post_author_before -->
11521 + <!-- IF not postrow.U_POST_AUTHOR --><strong>{postrow.POST_AUTHOR_FULL}</strong><!-- ELSE -->{postrow.POST_AUTHOR_FULL}<!-- ENDIF -->
11522 + <!-- EVENT viewtopic_body_post_author_after -->
11523 + </dt>
11524 +
11525 + <!-- EVENT viewtopic_body_postrow_rank_before -->
11526 + <!-- 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 -->
11527 + <!-- EVENT viewtopic_body_postrow_rank_after -->
11528 +
11529 + <!-- 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 -->
11530 + <!-- IF postrow.POSTER_JOINED --><dd class="profile-joined"><strong>{L_JOINED}{L_COLON}</strong> {postrow.POSTER_JOINED}</dd><!-- ENDIF -->
11531 + <!-- IF postrow.POSTER_WARNINGS --><dd class="profile-warnings"><strong>{L_WARNINGS}{L_COLON}</strong> {postrow.POSTER_WARNINGS}</dd><!-- ENDIF -->
11532 +
11533 + <!-- IF postrow.S_PROFILE_FIELD1 -->
11534 + <!-- Use a construct like this to include admin defined profile fields. Replace FIELD1 with the name of your field. -->
11535 + <dd><strong>{postrow.PROFILE_FIELD1_NAME}{L_COLON}</strong> {postrow.PROFILE_FIELD1_VALUE}</dd>
11536 + <!-- ENDIF -->
11537 +
11538 + <!-- EVENT viewtopic_body_postrow_custom_fields_before -->
11539 + <!-- BEGIN custom_fields -->
11540 + <!-- IF not postrow.custom_fields.S_PROFILE_CONTACT -->
11541 + <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>
11542 + <!-- ENDIF -->
11543 + <!-- END custom_fields -->
11544 + <!-- EVENT viewtopic_body_postrow_custom_fields_after -->
11545 +
11546 + <!-- EVENT viewtopic_body_contact_fields_before -->
11547 + <!-- IF not S_IS_BOT and .postrow.contact -->
11548 + <dd class="profile-contact">
11549 + <strong>{L_CONTACT}{L_COLON}</strong>
11550 + <div class="dropdown-container dropdown-left">
11551 + <a href="#" class="dropdown-trigger" title="{postrow.CONTACT_USER}">
11552 + <i class="icon fa-commenting-o fa-fw icon-lg" aria-hidden="true"></i><span class="sr-only">{postrow.CONTACT_USER}</span>
11553 + </a>
11554 + <div class="dropdown">
11555 + <div class="pointer"><div class="pointer-inner"></div></div>
11556 + <div class="dropdown-contents contact-icons">
11557 + <!-- BEGIN contact -->
11558 + {% set REMAINDER = postrow.contact.S_ROW_COUNT % 4 %}
11559 + <!-- DEFINE $S_LAST_CELL = ((REMAINDER eq 3) or (postrow.contact.S_LAST_ROW and postrow.contact.S_NUM_ROWS < 4)) -->
11560 + <!-- IF REMAINDER eq 0 -->
11561 + <div>
11562 + <!-- ENDIF -->
11563 + <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 -->>
11564 + <span class="contact-icon {postrow.contact.ID}-icon">{postrow.contact.NAME}</span>
11565 + </a>
11566 + <!-- IF REMAINDER eq 3 or postrow.contact.S_LAST_ROW -->
11567 + </div>
11568 + <!-- ENDIF -->
11569 + <!-- END contact -->
11570 + </div>
11571 + </div>
11572 + </div>
11573 + </dd>
11574 + <!-- ENDIF -->
11575 + <!-- EVENT viewtopic_body_contact_fields_after -->
11576 +
11577 + </dl>
11578 +
11579 + <div class="postbody">
11580 + <!-- IF postrow.S_POST_HIDDEN -->
11581 + <!-- IF postrow.S_POST_DELETED -->
11582 + <div class="ignore" id="post_hidden{postrow.POST_ID}">
11583 + {postrow.L_POST_DELETED_MESSAGE}<br />
11584 + {postrow.L_POST_DISPLAY}
11585 + </div>
11586 + <!-- ELSEIF postrow.S_IGNORE_POST -->
11587 + <div class="ignore" id="post_hidden{postrow.POST_ID}">
11588 + {postrow.L_IGNORE_POST}<br />
11589 + {postrow.L_POST_DISPLAY}
11590 + </div>
11591 + <!-- ENDIF -->
11592 + <!-- ENDIF -->
11593 + <div id="post_content{postrow.POST_ID}"<!-- IF postrow.S_POST_HIDDEN --> style="display: none;"<!-- ENDIF -->>
11594 +
11595 + <!-- EVENT viewtopic_body_post_subject_before -->
11596 + <h3 <!-- IF postrow.S_FIRST_ROW -->class="first"<!-- ENDIF -->><!-- IF postrow.POST_ICON_IMG --><img src="{T_ICONS_PATH}{postrow.POST_ICON_IMG}" width="{postrow.POST_ICON_IMG_WIDTH}" height="{postrow.POST_ICON_IMG_HEIGHT}" alt="{postrow.POST_ICON_IMG_ALT}" title="{postrow.POST_ICON_IMG_ALT}" /> <!-- ENDIF --><a href="#p{postrow.POST_ID}">{postrow.POST_SUBJECT}</a></h3>
11597 +
11598 + <!-- 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) -->
11599 + <!-- EVENT viewtopic_body_post_buttons_list_before -->
11600 + <!-- IF not S_IS_BOT -->
11601 + <!-- IF $SHOW_POST_BUTTONS -->
11602 + <ul class="post-buttons">
11603 + <!-- EVENT viewtopic_body_post_buttons_before -->
11604 + <!-- IF postrow.U_EDIT -->
11605 + <li>
11606 + <a href="{postrow.U_EDIT}" title="{L_EDIT_POST}" class="button button-icon-only">
11607 + <i class="icon fa-pencil fa-fw" aria-hidden="true"></i><span class="sr-only">{L_BUTTON_EDIT}</span>
11608 + </a>
11609 + </li>
11610 + <!-- ENDIF -->
11611 + <!-- IF postrow.U_DELETE -->
11612 + <li>
11613 + <a href="{postrow.U_DELETE}" title="{L_DELETE_POST}" class="button button-icon-only">
11614 + <i class="icon fa-times fa-fw" aria-hidden="true"></i><span class="sr-only">{L_BUTTON_DELETE}</span>
11615 + </a>
11616 + </li>
11617 + <!-- ENDIF -->
11618 + <!-- IF postrow.U_REPORT -->
11619 + <li>
11620 + <a href="{postrow.U_REPORT}" title="{L_REPORT_POST}" class="button button-icon-only">
11621 + <i class="icon fa-exclamation fa-fw" aria-hidden="true"></i><span class="sr-only">{L_BUTTON_REPORT}</span>
11622 + </a>
11623 + </li>
11624 + <!-- ENDIF -->
11625 + <!-- IF postrow.U_WARN -->
11626 + <li>
11627 + <a href="{postrow.U_WARN}" title="{L_WARN_USER}" class="button button-icon-only">
11628 + <i class="icon fa-exclamation-triangle fa-fw" aria-hidden="true"></i><span class="sr-only">{L_BUTTON_WARN}</span>
11629 + </a>
11630 + </li>
11631 + <!-- ENDIF -->
11632 + <!-- IF postrow.U_INFO -->
11633 + <li>
11634 + <a href="{postrow.U_INFO}" title="{L_INFORMATION}" class="button button-icon-only">
11635 + <i class="icon fa-info fa-fw" aria-hidden="true"></i><span class="sr-only">{L_BUTTON_INFORMATION}</span>
11636 + </a>
11637 + </li>
11638 + <!-- ENDIF -->
11639 + <!-- IF postrow.U_QUOTE -->
11640 + <li>
11641 + <a href="{postrow.U_QUOTE}" title="{L_REPLY_WITH_QUOTE}" class="button button-icon-only">
11642 + <i class="icon fa-quote-left fa-fw" aria-hidden="true"></i><span class="sr-only">{L_BUTTON_QUOTE}</span>
11643 + </a>
11644 + </li>
11645 + <!-- ENDIF -->
11646 + <!-- EVENT viewtopic_body_post_buttons_after -->
11647 + </ul>
11648 + <!-- ENDIF -->
11649 + <!-- ENDIF -->
11650 + <!-- EVENT viewtopic_body_post_buttons_list_after -->
11651 +
11652 + <!-- EVENT viewtopic_body_postrow_post_details_before -->
11653 + <p class="author">
11654 + <!-- IF S_IS_BOT -->
11655 + <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>
11656 + <!-- ELSE -->
11657 + <a class="unread" href="{postrow.U_MINI_POST}" title="{postrow.MINI_POST}">
11658 + <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>
11659 + </a>
11660 + <!-- ENDIF -->
11661 + <span class="responsive-hide">{L_POST_BY_AUTHOR} <strong>{postrow.POST_AUTHOR_FULL}</strong> &raquo; </span>{postrow.POST_DATE}
11662 + </p>
11663 + <!-- EVENT viewtopic_body_postrow_post_details_after -->
11664 +
11665 + <!-- IF postrow.S_POST_UNAPPROVED -->
11666 + <form method="post" class="mcp_approve" action="{postrow.U_APPROVE_ACTION}">
11667 + <p class="post-notice unapproved">
11668 + <span><i class="icon fa-question icon-red fa-fw" aria-hidden="true"></i></span>
11669 + <strong>{L_POST_UNAPPROVED_ACTION}</strong>
11670 + <input class="button2" type="submit" value="{L_DISAPPROVE}" name="action[disapprove]" />
11671 + <input class="button1" type="submit" value="{L_APPROVE}" name="action[approve]" />
11672 + <input type="hidden" name="post_id_list[]" value="{postrow.POST_ID}" />
11673 + {S_FORM_TOKEN}
11674 + </p>
11675 + </form>
11676 + <!-- ELSEIF postrow.S_POST_DELETED -->
11677 + <form method="post" class="mcp_approve" action="{postrow.U_APPROVE_ACTION}">
11678 + <p class="post-notice deleted">
11679 + <strong>{L_POST_DELETED_ACTION}</strong>
11680 + <!-- IF postrow.S_DELETE_PERMANENT -->
11681 + <input class="button2" type="submit" value="{L_DELETE}" name="action[delete]" />
11682 + <!-- ENDIF -->
11683 + <input class="button1" type="submit" value="{L_RESTORE}" name="action[restore]" />
11684 + <input type="hidden" name="post_id_list[]" value="{postrow.POST_ID}" />
11685 + {S_FORM_TOKEN}
11686 + </p>
11687 + </form>
11688 + <!-- ENDIF -->
11689 +
11690 + <!-- IF postrow.S_POST_REPORTED -->
11691 + <p class="post-notice reported">
11692 + <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>
11693 + </p>
11694 + <!-- ENDIF -->
11695 +
11696 + <div class="content">{postrow.MESSAGE}</div>
11697 +
11698 + <!-- EVENT viewtopic_body_postrow_content_after -->
11699 +
11700 + <!-- IF postrow.S_HAS_ATTACHMENTS -->
11701 + <dl class="attachbox">
11702 + <dt>
11703 + {L_ATTACHMENTS}
11704 + </dt>
11705 + <!-- BEGIN attachment -->
11706 + <dd>{postrow.attachment.DISPLAY_ATTACHMENT}</dd>
11707 + <!-- END attachment -->
11708 + </dl>
11709 + <!-- ENDIF -->
11710 +
11711 + <!-- EVENT viewtopic_body_postrow_post_notices_before -->
11712 + <!-- IF postrow.S_DISPLAY_NOTICE --><div class="rules">{L_DOWNLOAD_NOTICE}</div><!-- ENDIF -->
11713 + <!-- IF postrow.DELETED_MESSAGE or postrow.DELETE_REASON -->
11714 + <div class="notice post_deleted_msg">
11715 + {postrow.DELETED_MESSAGE}
11716 + <!-- IF postrow.DELETE_REASON --><br /><strong>{L_REASON}{L_COLON}</strong> <em>{postrow.DELETE_REASON}</em><!-- ENDIF -->
11717 + </div>
11718 + <!-- ELSEIF postrow.EDITED_MESSAGE or postrow.EDIT_REASON -->
11719 + <div class="notice">
11720 + {postrow.EDITED_MESSAGE}
11721 + <!-- IF postrow.EDIT_REASON --><br /><strong>{L_REASON}{L_COLON}</strong> <em>{postrow.EDIT_REASON}</em><!-- ENDIF -->
11722 + </div>
11723 + <!-- ENDIF -->
11724 +
11725 + <!-- IF postrow.BUMPED_MESSAGE --><div class="notice"><br /><br />{postrow.BUMPED_MESSAGE}</div><!-- ENDIF -->
11726 + <!-- EVENT viewtopic_body_postrow_post_notices_after -->
11727 + <!-- IF postrow.SIGNATURE --><div id="sig{postrow.POST_ID}" class="signature">{postrow.SIGNATURE}</div><!-- ENDIF -->
11728 +
11729 + <!-- EVENT viewtopic_body_postrow_post_content_footer -->
11730 + </div>
11731 +
11732 + </div>
11733 +
11734 + <!-- EVENT viewtopic_body_postrow_back2top_before -->
11735 + <div class="back2top">
11736 + <!-- EVENT viewtopic_body_postrow_back2top_prepend -->
11737 + <a href="#top" class="top" title="{L_BACK_TO_TOP}">
11738 + <i class="icon fa-chevron-circle-up fa-fw icon-gray" aria-hidden="true"></i>
11739 + <span class="sr-only">{L_BACK_TO_TOP}</span>
11740 + </a>
11741 + <!-- EVENT viewtopic_body_postrow_back2top_append -->
11742 + </div>
11743 + <!-- EVENT viewtopic_body_postrow_back2top_after -->
11744 +
11745 + </div>
11746 + </div>
11747 +
11748 + <hr class="divider" />
11749 + <!-- EVENT viewtopic_body_postrow_post_after -->
11750 +<!-- END postrow -->
11751 +
11752 +<!-- IF S_QUICK_REPLY -->
11753 + <!-- INCLUDE quickreply_editor.html -->
11754 +<!-- ENDIF -->
11755 +
11756 +<!-- EVENT viewtopic_body_topic_actions_before -->
11757 + <div class="action-bar bar-bottom">
11758 + <!-- EVENT viewtopic_buttons_bottom_before -->
11759 +
11760 + <!-- IF not S_IS_BOT and S_DISPLAY_REPLY_INFO -->
11761 + <a href="{U_POST_REPLY_TOPIC}" class="button" title="<!-- IF S_IS_LOCKED -->{L_TOPIC_LOCKED}<!-- ELSE -->{L_POST_REPLY}<!-- ENDIF -->">
11762 + <!-- IF S_IS_LOCKED -->
11763 + <span>{L_BUTTON_TOPIC_LOCKED}</span> <i class="icon fa-lock fa-fw" aria-hidden="true"></i>
11764 + <!-- ELSE -->
11765 + <span>{L_BUTTON_POST_REPLY}</span> <i class="icon fa-reply fa-fw" aria-hidden="true"></i>
11766 + <!-- ENDIF -->
11767 + </a>
11768 + <!-- ENDIF -->
11769 + <!-- EVENT viewtopic_buttons_bottom_after -->
11770 +
11771 + <!-- INCLUDE viewtopic_topic_tools.html -->
11772 +
11773 + <!-- IF (S_NUM_POSTS > 1 or .pagination) and not S_IS_BOT -->
11774 + <form method="post" action="{S_TOPIC_ACTION}">
11775 + <!-- INCLUDE display_options.html -->
11776 + </form>
11777 + <!-- ENDIF -->
11778 +
11779 + <!-- IF .quickmod -->
11780 + <div class="quickmod dropdown-container dropdown-container-left dropdown-up dropdown-{S_CONTENT_FLOW_END} dropdown-button-control" id="quickmod">
11781 + <span title="{L_QUICK_MOD}" class="button button-secondary dropdown-trigger dropdown-select">
11782 + <i class="icon fa-gavel fa-fw" aria-hidden="true"></i><span class="sr-only">{L_QUICK_MOD}</span>
11783 + <span class="caret"><i class="icon fa-sort-down fa-fw" aria-hidden="true"></i></span>
11784 + </span>
11785 + <div class="dropdown">
11786 + <div class="pointer"><div class="pointer-inner"></div></div>
11787 + <ul class="dropdown-contents">
11788 + <!-- BEGIN quickmod -->
11789 + <!-- DEFINE $QUICKMOD_AJAX = (quickmod.VALUE in ['lock', 'unlock', 'delete_topic', 'restore_topic', 'make_normal', 'make_sticky', 'make_announce', 'make_global']) -->
11790 + <li><a href="{quickmod.LINK}"<!-- IF $QUICKMOD_AJAX --> data-ajax="true" data-refresh="true"<!-- ENDIF -->>{quickmod.TITLE}</a></li>
11791 + <!-- END quickmod -->
11792 + </ul>
11793 + </div>
11794 + </div>
11795 + <!-- ENDIF -->
11796 +
11797 + <!-- EVENT viewtopic_dropdown_bottom_custom -->
11798 +
11799 + <!-- IF .pagination or TOTAL_POSTS -->
11800 + <div class="pagination">
11801 + {TOTAL_POSTS}
11802 + <!-- IF .pagination -->
11803 + <!-- INCLUDE pagination.html -->
11804 + <!-- ELSE -->
11805 + &bull; {PAGE_NUMBER}
11806 + <!-- ENDIF -->
11807 + </div>
11808 + <!-- ENDIF -->
11809 +</div>
11810 +
11811 +<!-- EVENT viewtopic_body_footer_before -->
11812 +<!-- INCLUDE jumpbox.html -->
11813 +
11814 +<!-- IF S_DISPLAY_ONLINE_LIST and U_VIEWONLINE -->
11815 + <div class="stat-block online-list">
11816 + <h3><a href="{U_VIEWONLINE}">{L_WHO_IS_ONLINE}</a></h3>
11817 + <p>{LOGGED_IN_USER_LIST}</p>
11818 + </div>
11819 +<!-- ENDIF -->
11820 +
11821 +<!-- INCLUDE overall_footer.html -->
11822
11823 diff --git a/template/viewtopic_print.html b/template/viewtopic_print.html
11824 new file mode 100644
11825 index 000000000..658062f9f
11826 --- /dev/null
11827 +++ b/template/viewtopic_print.html
11828 @@ -0,0 +1,53 @@
11829 +<!DOCTYPE html>
11830 +<html dir="{S_CONTENT_DIRECTION}" lang="{S_USER_LANG}">
11831 +<head>
11832 +<meta charset="utf-8" />
11833 +<meta http-equiv="X-UA-Compatible" content="IE=edge">
11834 +<meta name="robots" content="noindex" />
11835 +{META}
11836 +<title>{SITENAME} &bull; {PAGE_TITLE}</title>
11837 +
11838 +<link href="{T_THEME_PATH}/print.css" rel="stylesheet">
11839 +<link href="{T_THEME_PATH}/bidi.css" rel="stylesheet">
11840 +<!-- EVENT viewtopic_print_head_append -->
11841 +</head>
11842 +<body id="phpbb" class="{S_CONTENT_DIRECTION}">
11843 +<div id="wrap" class="wrap">
11844 + <a id="top" class="top-anchor" accesskey="t"></a>
11845 +
11846 + <div id="page-header">
11847 + <h1>{SITENAME}</h1>
11848 + <p>{SITE_DESCRIPTION}<br /><a href="{U_FORUM}">{U_FORUM}</a></p>
11849 +
11850 + <h2>{TOPIC_TITLE}</h2>
11851 + <p><a href="{U_TOPIC}">{U_TOPIC}</a></p>
11852 + </div>
11853 +
11854 + <div id="page-body" class="page-body">
11855 + <div class="page-number">{PAGE_NUMBER}</div>
11856 + <!-- BEGIN postrow -->
11857 + <div class="post">
11858 + <h3>{postrow.POST_SUBJECT}</h3>
11859 + <div class="date">{L_POSTED}{L_COLON} <strong>{postrow.POST_DATE}</strong></div>
11860 + <div class="author">{L_POST_BY_AUTHOR} <strong>{postrow.POST_AUTHOR}</strong></div>
11861 + <div class="content">{postrow.MESSAGE}</div>
11862 + </div>
11863 + <hr />
11864 + <!-- END postrow -->
11865 + </div>
11866 +
11867 + <div id="page-footer" class="page-footer">
11868 + <div class="page-number">{S_TIMEZONE}<br />{PAGE_NUMBER}</div>
11869 + <div class="copyright">
11870 + <p>{{ CREDIT_LINE }}
11871 + </p>
11872 + {% if TRANSLATION_INFO %}
11873 + <p>{{ TRANSLATION_INFO }}
11874 + </p>
11875 + {% endif %}
11876 + </div>
11877 + </div>
11878 +</div>
11879 +
11880 +</body>
11881 +</html>
11882
11883 diff --git a/template/viewtopic_topic_tools.html b/template/viewtopic_topic_tools.html
11884 new file mode 100644
11885 index 000000000..272a434f6
11886 --- /dev/null
11887 +++ b/template/viewtopic_topic_tools.html
11888 @@ -0,0 +1,50 @@
11889 +<!-- IF not S_IS_BOT and (U_WATCH_TOPIC or U_BOOKMARK_TOPIC or U_BUMP_TOPIC or U_EMAIL_TOPIC or U_PRINT_TOPIC or S_DISPLAY_TOPIC_TOOLS) -->
11890 + <div class="dropdown-container dropdown-button-control topic-tools">
11891 + <span title="{L_TOPIC_TOOLS}" class="button button-secondary dropdown-trigger dropdown-select">
11892 + <i class="icon fa-wrench fa-fw" aria-hidden="true"></i>
11893 + <span class="caret"><i class="icon fa-sort-down fa-fw" aria-hidden="true"></i></span>
11894 + </span>
11895 + <div class="dropdown">
11896 + <div class="pointer"><div class="pointer-inner"></div></div>
11897 + <ul class="dropdown-contents">
11898 + <!-- EVENT viewtopic_topic_tools_before -->
11899 + <!-- IF U_WATCH_TOPIC -->
11900 + <li>
11901 + <a href="{U_WATCH_TOPIC}" class="watch-topic-link" title="{S_WATCH_TOPIC_TITLE}" data-ajax="toggle_link" data-toggle-class="icon <!-- IF S_WATCHING_TOPIC -->fa-check-square-o<!-- ELSE -->fa-square-o<!-- ENDIF --> fa-fw" data-toggle-text="{S_WATCH_TOPIC_TOGGLE}" data-toggle-url="{U_WATCH_TOPIC_TOGGLE}" data-update-all=".watch-topic-link">
11902 + <i class="icon <!-- IF S_WATCHING_TOPIC -->fa-square-o<!-- ELSE -->fa-check-square-o<!-- ENDIF --> fa-fw" aria-hidden="true"></i><span>{S_WATCH_TOPIC_TITLE}</span>
11903 + </a>
11904 + </li>
11905 + <!-- ENDIF -->
11906 + <!-- IF U_BOOKMARK_TOPIC -->
11907 + <li>
11908 + <a href="{U_BOOKMARK_TOPIC}" class="bookmark-link" title="{L_BOOKMARK_TOPIC}" data-ajax="alt_text" data-alt-text="{S_BOOKMARK_TOGGLE}" data-update-all=".bookmark-link">
11909 + <i class="icon fa-bookmark-o fa-fw" aria-hidden="true"></i><span>{S_BOOKMARK_TOPIC}</span>
11910 + </a>
11911 + </li>
11912 + <!-- ENDIF -->
11913 + <!-- IF U_BUMP_TOPIC -->
11914 + <li>
11915 + <a href="{U_BUMP_TOPIC}" title="{L_BUMP_TOPIC}" data-ajax="true">
11916 + <i class="icon fa-level-up fa-fw" aria-hidden="true"></i><span>{L_BUMP_TOPIC}</span>
11917 + </a>
11918 + </li>
11919 + <!-- ENDIF -->
11920 + <!-- IF U_EMAIL_TOPIC -->
11921 + <li>
11922 + <a href="{U_EMAIL_TOPIC}" title="{L_EMAIL_TOPIC}">
11923 + <i class="icon fa-envelope-o fa-fw" aria-hidden="true"></i><span>{L_EMAIL_TOPIC}</span>
11924 + </a>
11925 + </li>
11926 + <!-- ENDIF -->
11927 + <!-- IF U_PRINT_TOPIC -->
11928 + <li>
11929 + <a href="{U_PRINT_TOPIC}" title="{L_PRINT_TOPIC}" accesskey="p">
11930 + <i class="icon fa-print fa-fw" aria-hidden="true"></i><span>{L_PRINT_TOPIC}</span>
11931 + </a>
11932 + </li>
11933 + <!-- ENDIF -->
11934 + <!-- EVENT viewtopic_topic_tools_after -->
11935 + </ul>
11936 + </div>
11937 + </div>
11938 +<!-- ENDIF -->
11939
11940 diff --git a/theme/base.css b/theme/base.css
11941 new file mode 100644
11942 index 000000000..98c57d926
11943 --- /dev/null
11944 +++ b/theme/base.css
11945 @@ -0,0 +1,115 @@
11946 +/* --------------------------------------------------------------
11947 + $Base
11948 +-------------------------------------------------------------- */
11949 +
11950 +/** {
11951 + -webkit-box-sizing: border-box;
11952 + -moz-box-sizing: border-box;
11953 + box-sizing: border-box;
11954 +}
11955 +*:before,
11956 +*:after {
11957 + -webkit-box-sizing: border-box;
11958 + -moz-box-sizing: border-box;
11959 + box-sizing: border-box;
11960 +}*/
11961 +
11962 +/* Define your base font-size here; most elements will inherit this. _NO__DOTCOMMA__AFTER__*/
11963 +html {
11964 + font-size: 1em; /* Assuming 16px... */
11965 + 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__*/
11966 + -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
11967 +}
11968 +
11969 +body {
11970 + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
11971 + color: #333333;
11972 + background-color: #ffffff;
11973 +}
11974 +
11975 +input,
11976 +button,
11977 +select,
11978 +textarea {
11979 + font-family: inherit;
11980 + font-size: inherit;
11981 + line-height: inherit;
11982 +}
11983 +
11984 +figure { margin: 0 }
11985 +img { vertical-align: middle }
11986 +
11987 +hr {
11988 + margin-top: 20px;
11989 + margin-bottom: 20px;
11990 + border: 0;
11991 + border-top: 1px solid #e5e5e5;
11992 +}
11993 +
11994 +a {
11995 + color: #428bca;
11996 + text-decoration: none;
11997 +}
11998 +
11999 +a:hover,
12000 +a:focus,
12001 +a:active {
12002 + color: #2a6496;
12003 + text-decoration: underline;
12004 +}
12005 +
12006 +blockquote,
12007 +dl,
12008 +dd,
12009 +h1,
12010 +h2,
12011 +h3,
12012 +h4,
12013 +h5,
12014 +h6,
12015 +figure,
12016 +p,
12017 +pre { margin: 0 }
12018 +button {
12019 + background: transparent;
12020 + border: 0;
12021 + padding: 0;
12022 +}
12023 +
12024 +/**
12025 + * Work around a Firefox/IE bug where the transparent `button` background
12026 + * results in a loss of the default `button` focus styles.
12027 + */
12028 +button:focus {
12029 + outline: 1px dotted;
12030 + outline: 5px auto -webkit-focus-ring-color;
12031 +}
12032 +
12033 +fieldset {
12034 + border: 0;
12035 + margin: 0;
12036 + padding: 0;
12037 +}
12038 +
12039 +iframe { border: 0 }
12040 +ol,
12041 +ul {
12042 + list-style: none;
12043 + margin: 0;
12044 + padding: 0;
12045 +}
12046 +
12047 +/**
12048 + * Suppress the focus outline on links that cannot be accessed via keyboard.
12049 + * This prevents an unwanted focus outline from appearing around elements that
12050 + * might still respond to pointer events.
12051 + */
12052 +[tabindex="-1"]:focus { outline: none !important }
12053 +
12054 +/**
12055 + * Remove double underline from recent version of firefox
12056 + */
12057 +abbr[title] {
12058 + text-decoration: none;
12059 +}
12060 +
12061
12062 diff --git a/theme/bidi.css b/theme/bidi.css
12063 new file mode 100644
12064 index 000000000..79b769b1e
12065 --- /dev/null
12066 +++ b/theme/bidi.css
12067 @@ -0,0 +1,1090 @@
12068 +/* RTL definitions
12069 +---------------------------------------- */
12070 +
12071 +/**
12072 +* common.css
12073 +*/
12074 +.rtl h1 {
12075 + margin-right: 0;
12076 + margin-left: 200px;
12077 +}
12078 +
12079 +.rtl p.right {
12080 + text-align: left;
12081 +}
12082 +
12083 +.rtl p.jumpbox-return {
12084 + float: right;
12085 +}
12086 +
12087 +.rtl div.rules ul {
12088 + margin-left: 0;
12089 + margin-right: 20px;
12090 +}
12091 +
12092 +/* Main blocks
12093 +---------------------------------------- */
12094 +.rtl .icon {
12095 + padding-right: 0;
12096 + padding-left: 2px;
12097 +}
12098 +
12099 +.rtl .logo {
12100 + float: right;
12101 + padding: 10px 10px 0 13px;
12102 +}
12103 +
12104 +/* Site Description
12105 +--------------------------------------------- */
12106 +.rtl .site-description {
12107 + float: right;
12108 +}
12109 +
12110 +.rtl .site-description h1 {
12111 + margin-left: 0;
12112 +}
12113 +
12114 +/* Round cornered boxes and backgrounds
12115 +---------------------------------------- */
12116 +.rtl .post {
12117 + background-position: 0 0;
12118 +}
12119 +
12120 +/* Horizontal lists
12121 +----------------------------------------*/
12122 +.rtl ul.linklist > li {
12123 + float: right;
12124 + margin-right: 0;
12125 + margin-left: 7px;
12126 +}
12127 +
12128 +.rtl ul.linklist > li.rightside, .rtl p.rightside, .rtl a.rightside {
12129 + float: left;
12130 + margin-right: 7px;
12131 + margin-left: 0;
12132 + text-align: left;
12133 +}
12134 +
12135 +.rtl ul.leftside > li, .rtl ul.rightside > li {
12136 + float: left;
12137 +}
12138 +
12139 +.rtl ul.leftside {
12140 + float: right;
12141 + margin-left: 5px;
12142 + margin-right: 0;
12143 + text-align: right;
12144 +}
12145 +
12146 +.rtl ul.rightside {
12147 + float: left;
12148 + margin-left: -5px;
12149 + margin-right: 5px;
12150 + text-align: left;
12151 +}
12152 +
12153 +/* Bulletin icons for list items
12154 +----------------------------------------*/
12155 +.rtl ul.linklist.bulletin > li:before {
12156 + padding-left: 4px;
12157 + padding-right: 0;
12158 +}
12159 +
12160 +/* Dropdown menu
12161 +---------------------------------------- */
12162 +.rtl .dropdown-container.topic-tools, .rtl .dropdown-container-left {
12163 + float: right;
12164 +}
12165 +
12166 +.rtl .dropdown li {
12167 + text-align: right;
12168 +}
12169 +
12170 +.rtl .dropdown-contents > li {
12171 + padding-left: 15px;
12172 + padding-right: 0;
12173 +}
12174 +
12175 +.rtl .dropdown-nonscroll > li {
12176 + padding-left: 0;
12177 +}
12178 +
12179 +.rtl .dropdown li li {
12180 + padding-left: 0;
12181 + padding-right: 18px;
12182 +}
12183 +
12184 +.rtl .dropdown-extended .header {
12185 + text-align: right;
12186 +}
12187 +
12188 +.rtl .dropdown-extended .header .header_settings, .rtl .dropdown-container-right {
12189 + float: left;
12190 +}
12191 +
12192 +.rtl .jumpbox .dropdown-contents a {
12193 + margin-right: 0;
12194 + margin-left: 20px;
12195 +}
12196 +
12197 +/* Notifications
12198 +-----------------------------------------*/
12199 +.rtl .notification_list ul li img {
12200 + float: right;
12201 + margin-left: 5px;
12202 + margin-right: 0;
12203 +}
12204 +
12205 +.rtl .notification_list div.notifications {
12206 + margin-left: 0;
12207 + margin-right: 50px;
12208 +}
12209 +
12210 +.rtl .notification_text {
12211 + margin-left: 0;
12212 + margin-right: 58px;
12213 +}
12214 +
12215 +.rtl .notification_list p.notification-time {
12216 + text-align: left;
12217 +}
12218 +
12219 +/* Responsive breadcrumbs
12220 +----------------------------------------*/
12221 +.rtl .breadcrumbs .crumb {
12222 + float: right;
12223 +}
12224 +
12225 +/* Table styles
12226 +----------------------------------------*/
12227 +.rtl table.table1 thead th {
12228 + padding: 0 3px 4px 0;
12229 +}
12230 +
12231 +.rtl table.table1 thead th span {
12232 + padding-left: 0;
12233 + padding-right: 7px;
12234 +}
12235 +
12236 +.rtl table.table1 tbody th {
12237 + text-align: right;
12238 +}
12239 +
12240 +/* Specific column styles */
12241 +.rtl table.table1 .name { text-align: right; }
12242 +.rtl table.table1 .joined { text-align: right; }
12243 +.rtl table.table1 .active { text-align: right; }
12244 +.rtl table.table1 .info { text-align: right; }
12245 +.rtl table.table1 thead .autocol { padding-left: 0; padding-right: 1em; }
12246 +
12247 +.rtl table.table1 span.rank-img {
12248 + float: left;
12249 +}
12250 +
12251 +.rtl table.info tbody th {
12252 + text-align: left;
12253 +}
12254 +
12255 +.rtl .forumbg table.table1 {
12256 + margin: 0 -1px -1px -2px;
12257 +}
12258 +
12259 +/* Misc layout styles
12260 +---------------------------------------- */
12261 +/* column[1-2] styles are containers for two column layouts */
12262 +.rtl .column1 {
12263 + float: right;
12264 + clear: right;
12265 +}
12266 +
12267 +.rtl .column2 {
12268 + float: left;
12269 + clear: left;
12270 +}
12271 +
12272 +/* General classes for placing floating blocks */
12273 +.rtl .left-box {
12274 + float: right;
12275 + text-align: right;
12276 +}
12277 +
12278 +.rtl .right-box {
12279 + float: left;
12280 + text-align: left;
12281 +}
12282 +
12283 +.rtl dl.details dt {
12284 + float: right;
12285 + clear: right;
12286 + text-align: left;
12287 +}
12288 +
12289 +.rtl dl.details dd {
12290 + margin-right: 0;
12291 + margin-left: 0;
12292 + padding-right: 5px;
12293 + padding-left: 0;
12294 + float: right;
12295 +}
12296 +
12297 +*:first-child+html dl.details dd {
12298 + margin-right: 30%;
12299 + float: none;
12300 +}
12301 +
12302 +* html dl.details dd {
12303 + margin-right: 30%;
12304 + float: none;
12305 +}
12306 +
12307 +/* Pagination
12308 +---------------------------------------- */
12309 +.rtl .page-number {
12310 + float: left;
12311 +}
12312 +
12313 +.rtl .pagination {
12314 + text-align: left;
12315 + float: left;
12316 +}
12317 +
12318 +.rtl .pagination > ul {
12319 + margin-left: 0;
12320 + margin-right: 5px;
12321 +}
12322 +
12323 +/* Pagination in viewforum for multipage topics */
12324 +.rtl .row .pagination {
12325 + background-position: 100% 50%;
12326 + float: left;
12327 + padding-left: 0;
12328 + padding-right: 15px;
12329 +}
12330 +
12331 +.rtl .row .pagination > ul {
12332 + margin: 0;
12333 +}
12334 +
12335 +.rtl .pagination span {
12336 + direction: ltr;
12337 +}
12338 +
12339 +.pagination li.page-jump {
12340 + margin-left: 5px;
12341 + margin-right: 0;
12342 +}
12343 +
12344 +/* Action Bar styles
12345 +---------------------------------------- */
12346 +.rtl .action-bar .button {
12347 + margin-right: 0;
12348 + float: right;
12349 +}
12350 +
12351 +.rtl .action-bar > .button {
12352 + margin-left: 5px;
12353 + float: right;
12354 +}
12355 +
12356 +.rtl .action-bar .dropdown-button-control .button {
12357 + margin-left: 5px;
12358 +}
12359 +
12360 +
12361 +/* Miscellaneous styles
12362 +---------------------------------------- */
12363 +.rtl .quick-links {
12364 + margin-left: 7px;
12365 + margin-right: 0;
12366 +}
12367 +
12368 +.rtl .header-avatar span:after {
12369 + float: left;
12370 + padding-left: 0;
12371 + padding-right: 2px;
12372 +}
12373 +
12374 +.rtl .member-search {
12375 + float: right;
12376 +}
12377 +
12378 +/**
12379 +* links.css
12380 +*/
12381 +
12382 +/* Links adjustment to correctly display an order of rtl/ltr mixed content */
12383 +.rtl a {
12384 + direction: rtl;
12385 + unicode-bidi: embed;
12386 +}
12387 +
12388 +li.breadcrumbs span:first-child > a {
12389 + padding-left: 0;
12390 +}
12391 +
12392 +/* Notification mark read link */
12393 +.rtl .dropdown-extended a.mark_read {
12394 + border-radius: 0 3px 3px 0;
12395 + left: 0;
12396 + right: auto;
12397 +}
12398 +
12399 +.rtl .back2top .top {
12400 + float: left;
12401 + margin-left: -10px;
12402 +}
12403 +
12404 +.rtl .skiplink {
12405 + /* invisible skip link, used for accessibility */
12406 + left: 0;
12407 + right: -999px;
12408 +}
12409 +
12410 +.rtl a.feed-icon-forum {
12411 + float: left;
12412 +}
12413 +
12414 +/**
12415 +* content.css
12416 +*/
12417 +.rtl ul.topiclist dt, .rtl li.header dt {
12418 + float: right;
12419 + margin-right: 0;
12420 + margin-left: -440px;
12421 +}
12422 +
12423 +.rtl ul.topiclist.missing-column dt {
12424 + margin-right: 0;
12425 + margin-left: -345px;
12426 +}
12427 +
12428 +.rtl ul.topiclist.two-long-columns dt {
12429 + margin-right: 0;
12430 + margin-left: -250px;
12431 +}
12432 +
12433 +.rtl ul.topiclist.two-columns dt {
12434 + margin-right: 0;
12435 + margin-left: -80px;
12436 +}
12437 +
12438 +.rtl ul.topiclist dt .list-inner {
12439 + margin-right: 0;
12440 + margin-left: 440px;
12441 +}
12442 +
12443 +.rtl ul.topiclist.missing-column dt .list-inner {
12444 + margin-right: 0;
12445 + margin-left: 330px;
12446 +}
12447 +
12448 +.rtl ul.topiclist.two-long-columns dt .list-inner {
12449 + margin-right: 0;
12450 + margin-left: 250px;
12451 +}
12452 +
12453 +.rtl ul.topiclist.two-columns dt .list-inner {
12454 + margin-right: 0;
12455 + margin-left: 80px;
12456 +}
12457 +
12458 +.rtl ul.topiclist dd {
12459 + float: right;
12460 + border-right-width: 1px;
12461 + border-right-style: solid;
12462 + border-left: none;
12463 +}
12464 +
12465 +.rtl ul.topiclist dfn {
12466 + left: auto;
12467 + right: -999px;
12468 +}
12469 +
12470 +.rtl ul.topiclist li.row dt a.subforum {
12471 + padding-right: 12px;
12472 + background-position: right;
12473 + position: static;
12474 +}
12475 +
12476 +.rtl .forum-image {
12477 + float: right;
12478 + margin-right: 0;
12479 + margin-left: 5px;
12480 +}
12481 +
12482 +.rtl li.header dt, .rtl li.header dd {
12483 + border-right-width: 0;
12484 +}
12485 +
12486 +.rtl li.header dd {
12487 + padding-left: 0;
12488 + padding-right: 1px;
12489 +}
12490 +
12491 +.rtl dl.row-item{
12492 + background-position: 99.5% 50%;
12493 +}
12494 +
12495 +.rtl li.header dl.row-item dt .list-inner {
12496 + /* Tweak for headers alignment when folder icon used */
12497 + padding-right: 0;
12498 + padding-left: 50px;
12499 +}
12500 +
12501 +.rtl dl.row-item dt {
12502 + background-position: 99.5% 95%; /* Position of topic icon */
12503 +}
12504 +
12505 +.rtl dl.row-item dt .list-inner {
12506 + padding-left: 5px;
12507 + padding-right: 45px; /* Space for folder icon */
12508 +}
12509 +
12510 +.rtl dl a.row-item-link { /* topic row icon links */
12511 + display: inline-block;
12512 + left: auto;
12513 + right: 0;
12514 + margin-left: 0;
12515 + margin-right: 2px;
12516 +}
12517 +
12518 +.rtl dd.lastpost > span, .rtl ul.topiclist dd.info > span, .rtl ul.topiclist dd.time > span, .rtl dd.redirect > span, .rtl dd.moderation > span {
12519 + padding-left: 0;
12520 + padding-right: 5px;
12521 +}
12522 +
12523 +/* Post body styles
12524 +----------------------------------------*/
12525 +.rtl .date {
12526 + float: left;
12527 +}
12528 +
12529 +.rtl .postbody, .rtl .postbody h3 {
12530 + float: right;
12531 +}
12532 +
12533 +.rtl .has-profile .postbody h3 {
12534 + margin-right: 0;
12535 + margin-left: 180px;
12536 +}
12537 +
12538 +.rtl p.post-notice {
12539 + padding-left: 5px;
12540 +}
12541 +
12542 +.rtl p.post-notice:before {
12543 + left: auto;
12544 + right: 0;
12545 +}
12546 +
12547 +/* Topic review panel
12548 +----------------------------------------*/
12549 +.rtl .topicreview {
12550 + padding-right: 0;
12551 + padding-left: 5px;
12552 +}
12553 +
12554 +/* Content container styles
12555 +----------------------------------------*/
12556 +.rtl .content ul, .rtl .content ol {
12557 + margin-right: 3em;
12558 + margin-left: 0;
12559 +}
12560 +
12561 +.rtl .signature {
12562 + clear: right;
12563 +}
12564 +
12565 +.rtl .notice {
12566 + clear: right;
12567 +}
12568 +
12569 +/* Jump to post link for now */
12570 +.rtl ul.searchresults {
12571 + text-align: left;
12572 +}
12573 +
12574 +/* BB Code styles
12575 +----------------------------------------*/
12576 +/* Quote block */
12577 +.rtl blockquote {
12578 + margin: 0.5em 25px 0 1px;
12579 +}
12580 +
12581 +.rtl blockquote blockquote {
12582 + /* Nested quotes */
12583 + margin: 0.5em 15px 0 1px;
12584 +}
12585 +
12586 +.rtl blockquote cite {
12587 + /* Username/source of quoter */
12588 + margin-left: 0;
12589 +}
12590 +
12591 +.rtl blockquote cite:before, .rtl .uncited:before {
12592 + padding-left: 5px;
12593 +}
12594 +
12595 +.rtl blockquote .codebox {
12596 + margin-right: 0;
12597 +}
12598 +
12599 +.rtl code {
12600 + direction: ltr;
12601 +}
12602 +
12603 +/* Attachments
12604 +----------------------------------------*/
12605 +.rtl .attachbox {
12606 + float: right;
12607 + margin: 5px 0 5px 5px;
12608 + clear: right;
12609 +}
12610 +
12611 +.rtl .attachbox dd {
12612 + clear: right;
12613 +}
12614 +
12615 +.rtl .attachbox p {
12616 + clear: right;
12617 +}
12618 +
12619 +.rtl .attachbox p.stats {
12620 + clear: right;
12621 +}
12622 +
12623 +/* Post poll styles
12624 +----------------------------------------*/
12625 +.rtl fieldset.polls dt {
12626 + text-align: right;
12627 + float: right;
12628 + border-left: none;
12629 +}
12630 +
12631 +.rtl fieldset.polls dd {
12632 + float: right;
12633 + border-right: none;
12634 + margin-right: 0;
12635 +}
12636 +
12637 +.rtl fieldset.polls dd div {
12638 + text-align: left;
12639 +}
12640 +
12641 +.rtl .pollbar1, .rtl .pollbar2, .rtl .pollbar3, .rtl .pollbar4, .rtl .pollbar5 {
12642 + border-left-width: 1px;
12643 + border-left-style: solid;
12644 + border-right: none;
12645 +}
12646 +
12647 +/* Poster profile block
12648 +----------------------------------------*/
12649 +.rtl .postprofile {
12650 + border-width: 0 1px 0 0;
12651 + float: left;
12652 +/* text-align: right; */
12653 +}
12654 +
12655 +.rtl .pm .postprofile {
12656 + border-right-width: 1px;
12657 + border-right-style: solid;
12658 + border-left: none;
12659 +}
12660 +
12661 +.rtl .postprofile dd, .rtl .postprofile dt {
12662 + margin-left: 0;
12663 + margin-right: 8px;
12664 +}
12665 +
12666 +.rtl .postprofile .avatar {
12667 + float: right;
12668 +}
12669 +
12670 +.rtl .online {
12671 + background-position: 0 0;
12672 +}
12673 +
12674 +.rtl dl.pmlist dd {
12675 + margin-right: 61% !important;
12676 + margin-left: 0 !important;
12677 +}
12678 +
12679 +/**
12680 +* buttons.css
12681 +*/
12682 +
12683 +.rtl .caret {
12684 + border-right: 1px solid;
12685 + border-right-color: inherit;
12686 + border-left: none;
12687 + right: 6px;
12688 +}
12689 +
12690 +/* Post control buttons
12691 +--------------------------------------------- */
12692 +.rtl .post-buttons {
12693 + float: left;
12694 +}
12695 +
12696 +.rtl .has-profile .post-buttons {
12697 + left: 0;
12698 + right: auto;
12699 +}
12700 +
12701 +.rtl .post-buttons li {
12702 + float: right;
12703 +}
12704 +
12705 +/* Poster contact icons
12706 + ----------------------------------------*/
12707 +.rtl .contact-icons a {
12708 + border-left-width: 1px;
12709 + border-left-style: dotted;
12710 + border-right: none;
12711 + float: right;
12712 +}
12713 +
12714 +.rtl .contact-icons .last-cell {
12715 + border-left: none;
12716 +}
12717 +
12718 +/**
12719 +* cp.css
12720 +*/
12721 +/* Control Panel Styles
12722 +---------------------------------------- */
12723 +
12724 +
12725 +/* Main CP box
12726 +----------------------------------------*/
12727 +.rtl .cp-menu {
12728 + float: right;
12729 +}
12730 +
12731 +.rtl .cp-main {
12732 + float: right;
12733 +}
12734 +
12735 +.rtl .cp-main .panel ol {
12736 + margin-right: 2em;
12737 + margin-left: 0;
12738 +}
12739 +
12740 +.rtl .cp-main .buttons {
12741 + margin-right: 0;
12742 + margin-left: 0;
12743 +}
12744 +
12745 +.tabs-container h2 {
12746 + float: right;
12747 +}
12748 +
12749 +/* CP tabbed menu
12750 +----------------------------------------*/
12751 +.rtl .tabs {
12752 + margin-left: 0;
12753 + margin-right: 7px;
12754 +}
12755 +
12756 +.rtl .tabs .tab {
12757 + float: right;
12758 +}
12759 +
12760 +.rtl .tabs .tab > a {
12761 + margin-left: 1px;
12762 + margin-right: 0;
12763 +}
12764 +
12765 +/* Mini tabbed menu used in MCP
12766 +----------------------------------------*/
12767 +.rtl .minitabs {
12768 + float: left;
12769 + margin-right: 0;
12770 + margin-left: 7px;
12771 +}
12772 +
12773 +.rtl .minitabs .tab {
12774 + float: left;
12775 +}
12776 +
12777 +.rtl .minitabs .tab > a {
12778 + margin-right: 2px;
12779 + margin-left: 0;
12780 +}
12781 +
12782 +/* Responsive tabs
12783 +----------------------------------------*/
12784 +.rtl .tabs .dropdown {
12785 + margin-left: -2px;
12786 +}
12787 +
12788 +.rtl .tabs .dropdown li {
12789 + text-align: left;
12790 +}
12791 +
12792 +.rtl .minitabs .dropdown {
12793 + margin-left: -4px;
12794 +}
12795 +
12796 +.rtl .minitabs .dropdown li {
12797 + text-align: right;
12798 +}
12799 +
12800 +/* Responsive *CP navigation
12801 +----------------------------------------*/
12802 +@media only screen and (max-width: 900px), only screen and (max-device-width: 900px)
12803 +{
12804 + .rtl .cp-menu, .rtl .navigation, .rtl .cp-main {
12805 + float: none;
12806 + }
12807 +}
12808 +
12809 +/* UCP navigation menu
12810 +----------------------------------------*/
12811 +
12812 +/* Preferences pane layout
12813 +----------------------------------------*/
12814 +.rtl .cp-main h2 {
12815 + margin-left: 0;
12816 + margin-right: 10px;
12817 +}
12818 +
12819 +/* Friends list */
12820 +.rtl .cp-mini {
12821 + margin: 10px 5px 10px 15px;
12822 +}
12823 +
12824 +/* PM Styles
12825 +----------------------------------------*/
12826 +
12827 +/* PM panel adjustments */
12828 +.rtl .reply-all a.right {
12829 + background-position: 5% 60%;
12830 +}
12831 +
12832 +.rtl .reply-all a.right:hover {
12833 + background-position: 3% 60%;
12834 +}
12835 +
12836 +.rtl .reply-all {
12837 + padding-left: 5px;
12838 +}
12839 +
12840 +/* Defined rules list for PM options */
12841 +.rtl ol.def-rules {
12842 + padding-right: 0;
12843 +}
12844 +
12845 +/* PM marking colours */
12846 +.rtl .pm-legend {
12847 + border-right-width: 10px;
12848 + border-right-style: solid;
12849 + border-left-width: 0;
12850 + padding-left: 0;
12851 + padding-right: 3px;
12852 +}
12853 +
12854 +/* Avatar gallery */
12855 +.rtl .gallery label {
12856 + float: right;
12857 +}
12858 +
12859 +/* Responsive *CP navigation
12860 +----------------------------------------*/
12861 +@media only screen and (max-width: 900px), only screen and (max-device-width: 900px)
12862 +{
12863 + .rtl .cp-menu, .rtl .navigation, .rtl .cp-main {
12864 + float: none;
12865 + }
12866 +}
12867 +
12868 +/**
12869 +* forms.css
12870 +*/
12871 +
12872 +/* General form styles
12873 +----------------------------------------*/
12874 +
12875 +.rtl option {
12876 + padding-right: 0;
12877 + padding-left: 1em;
12878 +}
12879 +
12880 +.rtl label {
12881 + padding-right: 0;
12882 + padding-left: 5px;
12883 +}
12884 +
12885 +/* Definition list layout for forms
12886 +---------------------------------------- */
12887 +.rtl fieldset dt {
12888 + float: right;
12889 + text-align: right;
12890 +}
12891 +
12892 +.rtl fieldset dd {
12893 + margin-left: 0;
12894 + margin-right: 41%;
12895 +}
12896 +
12897 +/* Specific layout 1 */
12898 +.rtl fieldset.fields1 dt {
12899 + border-left-width: 0;
12900 + border-right-width: 1px;
12901 +}
12902 +
12903 +.rtl fieldset.fields1 dd {
12904 + margin-right: 15em;
12905 + margin-left: 0;
12906 + border-right-width: 0;
12907 + border-left-width: 1px;
12908 +}
12909 +
12910 +/* Specific layout 2 */
12911 +.rtl fieldset.fields2 dt {
12912 + border-right-width: 1px;
12913 + border-left-width: 0;
12914 +}
12915 +
12916 +.rtl fieldset.fields2 dd {
12917 + margin-right: 16em;
12918 + margin-left: 0;
12919 + border-left-width: 1px;
12920 + border-right-width: 0;
12921 +}
12922 +
12923 +/* Form elements */
12924 +.rtl dt label {
12925 + text-align: right;
12926 +}
12927 +
12928 +.rtl dd input, .rtl dd textarea {
12929 + margin-left: 3px;
12930 + margin-right: 0;
12931 +}
12932 +
12933 +/* Quick-login on index page */
12934 +.rtl fieldset.quick-login input.inputbox {
12935 + margin-left: 5px;
12936 + margin-right: 0;
12937 +}
12938 +
12939 +.rtl fieldset.quick-login label {
12940 + padding-left: 2px;
12941 + padding-right: 0;
12942 +}
12943 +
12944 +/* Display options on viewtopic/viewforum pages */
12945 +.rtl fieldset.display-options label {
12946 + padding-left: 2px;
12947 + padding-right: 0;
12948 +}
12949 +
12950 +.rtl .dropdown fieldset.display-options label {
12951 + text-align: left;
12952 +}
12953 +
12954 +/* Display actions for ucp and mcp pages */
12955 +.rtl fieldset.display-actions {
12956 + text-align: left;
12957 + padding-left: 1em;
12958 + padding-right: 0;
12959 +}
12960 +
12961 +.rtl fieldset.display-actions label {
12962 + padding-left: 2px;
12963 + padding-right: 0;
12964 +}
12965 +
12966 +/* MCP forum selection*/
12967 +.rtl fieldset.forum-selection {
12968 + float: left;
12969 +}
12970 +
12971 +.rtl fieldset.forum-selection2 {
12972 + float: left;
12973 +}
12974 +
12975 +/* Posting page styles
12976 +----------------------------------------*/
12977 +
12978 +/* Emoticons panel */
12979 +.rtl .smiley-box {
12980 + float: left;
12981 +}
12982 +
12983 +/* Search box
12984 +---------------------------------------- */
12985 +
12986 +/* Topic and forum Search */
12987 +.rtl .search-box {
12988 + float: right;
12989 +}
12990 +
12991 +.rtl .search-box .inputbox {
12992 + border-left-width: 0;
12993 + border-right-width: 1px;
12994 + border-radius: 0 4px 4px 0;
12995 + float: right;
12996 + padding: 3px;
12997 +}
12998 +
12999 +.rtl .button-search,
13000 +.button-search-end {
13001 + float: right;
13002 +}
13003 +
13004 +.rtl .button-search-end {
13005 + border-radius: 4px 0 0 4px;
13006 + border-left-width: 1px;
13007 + border-right-width: 0;
13008 +}
13009 +
13010 +.rtl .search-header .button-search-end {
13011 + border: 0;
13012 + border-radius: 4px 0 0 4px;
13013 +}
13014 +
13015 +.rtl .search-header {
13016 + float: left;
13017 + margin-right: 0;
13018 + margin-left: 5px;
13019 +}
13020 +
13021 +/* Form button styles
13022 +---------------------------------------- */
13023 +
13024 +/** Reference: Bug #27155 */
13025 +.rtl .wrap, .rtl .headerbar, .rtl .site-description, .rtl .navbar {
13026 + position: relative;
13027 +}
13028 +
13029 +/**
13030 +* plupload.css
13031 +*/
13032 +
13033 +.rtl .attach-controls {
13034 + float: left;
13035 +}
13036 +
13037 +/**
13038 +* responsive.css
13039 +*/
13040 +@media only screen and (max-width: 700px), only screen and (max-device-width: 700px)
13041 +{
13042 + /* .topiclist lists
13043 + ----------------------------------------*/
13044 + .rtl ul.topiclist li.header dt, .rtl ul.topiclist li.header dt .list-inner {
13045 + margin-left: 0 !important;
13046 + padding-left: 0;
13047 + }
13048 +
13049 + .rtl ul.topiclist dt, .rtl ul.topiclist dt .list-inner,
13050 + .rtl ul.topiclist.missing-column dt, .rtl ul.topiclist.missing-column dt .list-inner,
13051 + .rtl ul.topiclist.two-long-columns dt, .rtl ul.topiclist.two-long-columns dt .list-inner,
13052 + .rtl ul.topiclist.two-columns dt, .rtl ul.topiclist.two-columns dt .list-inner {
13053 + margin-left: 0;
13054 + }
13055 +
13056 + .rtl ul.topiclist dt .list-inner.with-mark {
13057 + padding-left: 34px;
13058 + }
13059 +
13060 + /* Forums and topics lists
13061 + ----------------------------------------*/
13062 + .rtl ul.topiclist.forums dt {
13063 + margin-left: -250px;
13064 + }
13065 + .rtl ul.topiclist.forums dt .list-inner {
13066 + margin-left: 250px;
13067 + }
13068 +
13069 + .rtl ul.topiclist dd.mark {
13070 + left: 5px;
13071 + right: auto;
13072 + text-align: right;
13073 + }
13074 +
13075 + .rtl table.responsive.show-header thead, .rtl table.responsive.show-header th:first-child {
13076 + text-align: right !important;
13077 + }
13078 +
13079 + .rtl table.responsive td {
13080 + text-align: right !important;
13081 + }
13082 +
13083 + /* User profile
13084 + ----------------------------------------*/
13085 + .rtl .column1, .rtl .column2, .rtl .left-box.profile-details {
13086 + float: none;
13087 + }
13088 +
13089 + /* Post
13090 + ----------------------------------------*/
13091 + .rtl .postprofile, .rtl .postbody, .rtl .search .postbody {
13092 + float: none;
13093 + }
13094 +
13095 + .rtl .post .postprofile {
13096 + border-width: 0 0 1px 0;
13097 + }
13098 +
13099 + .rtl .postprofile dt, .rtl .postprofile dd.profile-rank, .rtl .search .postprofile dd {
13100 + margin: 0;
13101 + }
13102 +
13103 + .rtl .postprofile .avatar {
13104 + margin-left: 5px;
13105 + margin-right: 0;
13106 + }
13107 +
13108 + .rtl .has-profile .post-buttons {
13109 + left: 20px;
13110 + }
13111 +
13112 + /* Forms
13113 + ----------------------------------------*/
13114 + .rtl fieldset dt, .rtl fieldset.fields1 dt, .rtl fieldset.fields2 dt {
13115 + float: none;
13116 + }
13117 +
13118 + .rtl fieldset dd, .rtl fieldset.fields1 dd, .rtl fieldset.fields2 dd {
13119 + margin-right: 20px;
13120 + }
13121 +}
13122 +
13123 +@media only screen and (max-width: 550px), only screen and (max-device-width: 550px)
13124 +{
13125 + /* .topiclist lists
13126 + ----------------------------------------*/
13127 + .rtl ul.topiclist.forums dt {
13128 + margin-left: 0;
13129 + }
13130 +
13131 + .rtl ul.topiclist.forums dt .list-inner {
13132 + margin-left: 0;
13133 + }
13134 +}
13135 +
13136 +@media only screen and (max-width: 500px), only screen and (max-device-width: 500px)
13137 +{
13138 + .rtl dl.details dt, .rtl dl.details dd {
13139 + float: none;
13140 + text-align: right;
13141 + }
13142 +
13143 + .rtl dl.details dd {
13144 + margin-left: 0;
13145 + margin-right: 20px;
13146 + }
13147 +
13148 + .captcha-panel dd.captcha {
13149 + margin-right: 0;
13150 + }
13151 +
13152 + .rtl p.responsive-center {
13153 + float: none;
13154 + text-align: center;
13155 + margin-bottom: 5px;
13156 + }
13157 +}
13158
13159 diff --git a/theme/buttons.css b/theme/buttons.css
13160 new file mode 100644
13161 index 000000000..575c41aae
13162 --- /dev/null
13163 +++ b/theme/buttons.css
13164 @@ -0,0 +1,193 @@
13165 +/* Button Styles
13166 +---------------------------------------- */
13167 +
13168 +.button {
13169 + display: inline-block;
13170 + padding: 2px 8px;
13171 + font-size: 13px;
13172 + font-weight: 600;
13173 + font-family: "Open Sans", "Droid Sans", Verdana, Arial, Helvetica;
13174 + line-height: 1.4;
13175 + text-align: center;
13176 + white-space: nowrap;
13177 + vertical-align: middle;
13178 + -ms-touch-action: manipulation;
13179 + touch-action: manipulation;
13180 + cursor: pointer;
13181 + -webkit-user-select: none;
13182 + -moz-user-select: none;
13183 + -ms-user-select: none;
13184 + user-select: none;
13185 + border: 1px solid transparent;
13186 + border-radius: 4px;
13187 +}
13188 +
13189 +.button:focus,
13190 +.button:hover {
13191 + text-decoration: none;
13192 + outline: none;
13193 +}
13194 +
13195 +.caret {
13196 + border-left: 1px solid;
13197 + position: relative;
13198 + right: -6px;
13199 +}
13200 +
13201 +.caret i {
13202 + vertical-align: top;
13203 +}
13204 +
13205 +/* Posting page styles
13206 +----------------------------------------*/
13207 +.button-search,
13208 +.button-search-end {
13209 + float: left;
13210 + border-radius: 0;
13211 + margin: 0;
13212 + padding: 2px 5px;
13213 +}
13214 +
13215 +.button-search-end {
13216 + border-left-width: 0;
13217 + border-radius: 0 4px 4px 0;
13218 +}
13219 +
13220 +.search-header .button-search,
13221 +.search-header .button-search-end {
13222 + border-top-width: 0;
13223 + border-bottom-width: 0;
13224 + padding: 3px 5px;
13225 +}
13226 +
13227 +.search-header .button-search-end {
13228 + border-right-width: 0;
13229 +}
13230 +
13231 +.button-icon-only {
13232 + padding-left: 3px;
13233 + padding-right: 3px;
13234 +}
13235 +
13236 +/* Poster contact icons
13237 +----------------------------------------*/
13238 +.contact-icons.dropdown-contents {
13239 + min-width: 0;
13240 + padding: 0;
13241 + font-size: 0;
13242 +}
13243 +
13244 +.contact-icon {
13245 + background-repeat: no-repeat;
13246 + display: block;
13247 + height: 16px;
13248 + width: 16px;
13249 +}
13250 +.contact-icons a {
13251 + border-bottom: 1px dotted;
13252 + border-right: 1px dotted;
13253 + display: block;
13254 + float: left;
13255 + padding: 8px;
13256 +}
13257 +
13258 +.contact-icons .last-cell {
13259 + border-right: none;
13260 +}
13261 +
13262 +.contact-icons div:last-child a {
13263 + border-bottom: none;
13264 +}
13265 +
13266 +.contact-icons div {
13267 + clear: left;
13268 +}
13269 +
13270 +/* Post control buttons
13271 +--------------------------------------------- */
13272 +.post-buttons {
13273 + float: right;
13274 + list-style: none;
13275 + margin-top: 2px;
13276 +}
13277 +
13278 +.has-profile .post-buttons {
13279 + float: none;
13280 + position: absolute;
13281 + margin: 0;
13282 + right: 0;
13283 + top: 5px;
13284 +}
13285 +
13286 +.post-buttons > li {
13287 + float: left;
13288 + margin-right: 3px;
13289 +}
13290 +
13291 +.post-buttons .button, .format-buttons .button {
13292 + padding-left: 3px;
13293 + padding-right: 3px;
13294 +}
13295 +
13296 +.hastouch .post-buttons {
13297 + margin-right: 10px;
13298 +}
13299 +
13300 +.post-buttons .button span {
13301 + font-size: 0;
13302 +}
13303 +
13304 +/* Responsive buttons in post body */
13305 +.post-buttons .dropdown {
13306 + top: 18px;
13307 +}
13308 +
13309 +.post-buttons .dropdown a {
13310 + display: block;
13311 + font-size: 1.2em;
13312 + text-align: right;
13313 +}
13314 +
13315 +.hasjs .postbody .post-buttons {
13316 + max-width: 40%;
13317 +}
13318 +
13319 +/* Browser-specific tweaks */
13320 +button::-moz-focus-inner {
13321 + padding: 0;
13322 + border: 0
13323 +}
13324 +
13325 +/* Deprecated as of version 3.2
13326 +-------------------------------------------------*/
13327 +.small-icon {
13328 + background-position: 0 50%;
13329 + background-repeat: no-repeat;
13330 + background-image: none;
13331 +}
13332 +
13333 +.dropdown .small-icon {
13334 + background-position: 5px 50%;
13335 + padding: 5px;
13336 +}
13337 +
13338 +.small-icon > a {
13339 + padding: 0 0 0 18px;
13340 +}
13341 +
13342 +ul.linklist.bulletin > li.small-icon:before {
13343 + display: none;
13344 +}
13345 +
13346 +.dropdown .small-icon > a {
13347 + display: block;
13348 +}
13349 +
13350 +.rtl .small-icon {
13351 + background-position: 100% 50%;
13352 +}
13353 +
13354 +.rtl .small-icon > a {
13355 + padding-left: 0;
13356 + padding-right: 19px;
13357 +}
13358
13359 diff --git a/theme/colours.css b/theme/colours.css
13360 new file mode 100644
13361 index 000000000..ffaa71034
13362 --- /dev/null
13363 +++ b/theme/colours.css
13364 @@ -0,0 +1,1163 @@
13365 +/*
13366 +--------------------------------------------------------------
13367 +Colours and backgrounds for common.css
13368 +-------------------------------------------------------------- */
13369 +
13370 +html, body {
13371 + color: #536482;
13372 + background-color: #F5F7FA;
13373 +}
13374 +
13375 +h1 {
13376 + color: #FFFFFF;
13377 +}
13378 +
13379 +h2 {
13380 + color: #28313F;
13381 +}
13382 +
13383 +h3 {
13384 + border-bottom-color: #CCCCCC;
13385 + color: #115098;
13386 +}
13387 +
13388 +hr {
13389 + border-color: #FFFFFF;
13390 + border-top-color: #CCCCCC;
13391 +}
13392 +
13393 +/*
13394 +--------------------------------------------------------------
13395 +Colours and backgrounds for links.css
13396 +-------------------------------------------------------------- */
13397 +
13398 +a { color: #105289; }
13399 +a:hover { color: #D31141; }
13400 +
13401 +/* Links on gradient backgrounds */
13402 +.forumbg .header a, .forabg .header a, th a {
13403 + color: #FFFFFF;
13404 +}
13405 +
13406 +.forumbg .header a:hover, .forabg .header a:hover, th a:hover {
13407 + color: #A8D8FF;
13408 +}
13409 +
13410 +/* Notification mark read link */
13411 +.dropdown-extended a.mark_read {
13412 + background-color: #FFFFFF;
13413 +}
13414 +
13415 +/* Post body links */
13416 +.postlink {
13417 + border-bottom-color: #368AD2;
13418 + color: #368AD2;
13419 +}
13420 +
13421 +.postlink:visited {
13422 + border-bottom-color: #5D8FBD;
13423 + color: #5D8FBD;
13424 +}
13425 +
13426 +.postlink:hover {
13427 + background-color: #D0E4F6;
13428 + color: #0D4473;
13429 +}
13430 +
13431 +.signature a, .signature a:hover {
13432 + background-color: transparent;
13433 +}
13434 +
13435 +/* Back to top of page */
13436 +.top i {
13437 + color: #999999;
13438 +}
13439 +
13440 +/* Arrow links */
13441 +.arrow-left:hover, .arrow-right:hover {
13442 + color: #368AD2;
13443 +}
13444 +
13445 +/* Round cornered boxes and backgrounds
13446 +---------------------------------------- */
13447 +.wrap {
13448 + background-color: #FFF;
13449 + border-color: #E6E9ED;
13450 +}
13451 +
13452 +.headerbar {
13453 + color: #FFFFFF;
13454 +}
13455 +
13456 +.headerbar, .forumbg {
13457 + background-color: #12A3EB;
13458 + background-image: -webkit-linear-gradient(top, #6ACEFF 0%, #0076B1 2px, #12A3EB 92px, #12A3EB 100%);
13459 + background-image: linear-gradient(to bottom, #6ACEFF 0%,#0076B1 2px,#12A3EB 92px,#12A3EB 100%);
13460 + background-repeat: repeat-x;
13461 +}
13462 +
13463 +.forabg {
13464 + background-color: #0076B1;
13465 + background-image: -webkit-linear-gradient(top, #6ACEFF 0%, #12A3EB 2px, #0076B1 92px, #0076B1 100%);
13466 + background-image: linear-gradient(to bottom, #6ACEFF 0%,#12A3EB 2px,#0076B1 92px,#0076B1 100%);
13467 + background-repeat: repeat-x;
13468 +}
13469 +
13470 +.navbar {
13471 + background-color: #CADCEB;
13472 +}
13473 +
13474 +.panel {
13475 + background-color: #ECF1F3;
13476 + color: #28313F;
13477 +}
13478 +
13479 +.post:target .content {
13480 + color: #000000;
13481 +}
13482 +
13483 +.post:target h3 a {
13484 + color: #000000;
13485 +}
13486 +
13487 +.bg1 {
13488 + background-color: #ECF3F7;
13489 +}
13490 +
13491 +table.zebra-list tr:nth-child(odd) td, ul.zebra-list li:nth-child(odd) {
13492 + background-color: #ECF3F7;
13493 +}
13494 +
13495 +.bg2 {
13496 + background-color: #E1EBF2;
13497 +}
13498 +
13499 +table.zebra-list tr:nth-child(even) td, ul.zebra-list li:nth-child(even) {
13500 + background-color: #E1EBF2;
13501 +}
13502 +
13503 +.bg3 {
13504 + background-color: #CADCEB;
13505 +}
13506 +
13507 +.ucprowbg {
13508 + background-color: #DCDEE2;
13509 +}
13510 +
13511 +.fieldsbg {
13512 + background-color: #E7E8EA;
13513 +}
13514 +
13515 +.site_logo {
13516 + background-image: url("./images/site_logo.gif");
13517 +}
13518 +
13519 +/* Horizontal lists
13520 +----------------------------------------*/
13521 +
13522 +ul.navlinks {
13523 + border-top-color: #FFFFFF;
13524 +}
13525 +
13526 +/* Table styles
13527 +----------------------------------------*/
13528 +table.table1 thead th {
13529 + color: #FFFFFF;
13530 +}
13531 +
13532 +table.table1 tbody tr {
13533 + border-color: #BFC1CF;
13534 +}
13535 +
13536 +table.table1 tbody tr:hover, table.table1 tbody tr.hover {
13537 + background-color: #CFE1F6;
13538 + color: #000;
13539 +}
13540 +
13541 +table.table1 td {
13542 + color: #536482;
13543 +}
13544 +
13545 +table.table1 tbody td {
13546 + border-top-color: #FAFAFA;
13547 +}
13548 +
13549 +table.table1 tbody th {
13550 + border-bottom-color: #000000;
13551 + color: #333333;
13552 + background-color: #FFFFFF;
13553 +}
13554 +
13555 +table.info tbody th {
13556 + color: #000000;
13557 +}
13558 +
13559 +/* Misc layout styles
13560 +---------------------------------------- */
13561 +dl.details dt {
13562 + color: #000000;
13563 +}
13564 +
13565 +dl.details dd {
13566 + color: #536482;
13567 +}
13568 +
13569 +.sep {
13570 + color: #1198D9;
13571 +}
13572 +
13573 +/* Icon styles
13574 +---------------------------------------- */
13575 +.icon.icon-blue, a:hover .icon.icon-blue {
13576 + color: #196db5;
13577 +}
13578 +
13579 +.icon.icon-green, a:hover .icon.icon-green{
13580 + color: #1b9A1B;
13581 +}
13582 +
13583 +.icon.icon-red, a:hover .icon.icon-red{
13584 + color: #BC2A4D;
13585 +}
13586 +
13587 +.icon.icon-orange, a:hover .icon.icon-orange{
13588 + color: #FF6600;
13589 +}
13590 +
13591 +.icon.icon-bluegray, a:hover .icon.icon-bluegray{
13592 + color: #536482;
13593 +}
13594 +
13595 +.icon.icon-gray, a:hover .icon.icon-gray{
13596 + color: #777777;
13597 +}
13598 +
13599 +.icon.icon-lightgray, a:hover .icon.icon-lightgray{
13600 + color: #999999;
13601 +}
13602 +
13603 +.icon.icon-black, a:hover .icon.icon-black{
13604 + color: #333333;
13605 +}
13606 +
13607 +.alert_close .icon:before {
13608 + background-color: #FFFFFF;
13609 +}
13610 +
13611 +/* Jumpbox */
13612 +.jumpbox .dropdown li {
13613 + border-top-color: #CCCCCC;
13614 +}
13615 +
13616 +.jumpbox-cat-link {
13617 + background-color: #0076b1;
13618 + border-top-color: #0076B1;
13619 + color: #FFFFFF;
13620 +}
13621 +
13622 +.jumpbox-cat-link:hover {
13623 + background-color: #12A3EB;
13624 + border-top-color: #12A3EB;
13625 + color: #FFFFFF;
13626 +}
13627 +
13628 +.jumpbox-forum-link {
13629 + background-color: #E1EBF2;
13630 +}
13631 +
13632 +.jumpbox-forum-link:hover {
13633 + background-color: #F6F4D0;
13634 +}
13635 +
13636 +.jumpbox .dropdown .pointer-inner {
13637 + border-color: #E1EBF2 transparent;
13638 +}
13639 +
13640 +.jumpbox-sub-link {
13641 + background-color: #E1EBF2;
13642 +}
13643 +
13644 +.jumpbox-sub-link:hover {
13645 + background-color: #F1F8FF;
13646 +}
13647 +
13648 +/* Miscellaneous styles
13649 +---------------------------------------- */
13650 +
13651 +.copyright {
13652 + color: #555555;
13653 +}
13654 +
13655 +.error {
13656 + color: #BC2A4D;
13657 +}
13658 +
13659 +.reported {
13660 + background-color: #F7ECEF;
13661 +}
13662 +
13663 +li.reported:hover {
13664 + background-color: #ECD5D8 !important;
13665 +}
13666 +.sticky, .announce {
13667 + /* you can add a background for stickies and announcements*/
13668 +}
13669 +
13670 +div.rules {
13671 + background-color: #ECD5D8;
13672 + color: #BC2A4D;
13673 +}
13674 +
13675 +p.post-notice {
13676 + background-color: #ECD5D8;
13677 + background-image: none;
13678 +}
13679 +
13680 +/*
13681 +--------------------------------------------------------------
13682 +Colours and backgrounds for content.css
13683 +-------------------------------------------------------------- */
13684 +
13685 +ul.forums {
13686 + background-color: #EEF5F9; /* Old browsers */ /* FF3.6+ */
13687 + background-image: -webkit-linear-gradient(top, #D2E0EB 0%, #EEF5F9 100%);
13688 + background-image: linear-gradient(to bottom, #D2E0EB 0%,#EEF5F9 100%); /* W3C */
13689 + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#D2E0EB', endColorstr='#EEF5F9',GradientType=0 ); /* IE6-9 */
13690 +}
13691 +
13692 +ul.topiclist li {
13693 + color: #4C5D77;
13694 +}
13695 +
13696 +ul.topiclist dd {
13697 + border-left-color: #FFFFFF;
13698 +}
13699 +
13700 +.rtl ul.topiclist dd {
13701 + border-right-color: #FFFFFF;
13702 + border-left-color: transparent;
13703 +}
13704 +
13705 +li.row {
13706 + border-top-color: #FFFFFF;
13707 + border-bottom-color: #00608F;
13708 +}
13709 +
13710 +li.row strong {
13711 + color: #000000;
13712 +}
13713 +
13714 +li.row:hover {
13715 + background-color: #F6F4D0;
13716 +}
13717 +
13718 +li.row:hover dd {
13719 + border-left-color: #CCCCCC;
13720 +}
13721 +
13722 +.rtl li.row:hover dd {
13723 + border-right-color: #CCCCCC;
13724 + border-left-color: transparent;
13725 +}
13726 +
13727 +li.header dt, li.header dd {
13728 + color: #FFFFFF;
13729 +}
13730 +
13731 +/* Post body styles
13732 +----------------------------------------*/
13733 +.postbody {
13734 + color: #333333;
13735 +}
13736 +
13737 +/* Content container styles
13738 +----------------------------------------*/
13739 +.content {
13740 + color: #333333;
13741 +}
13742 +
13743 +.content h2, .panel h2 {
13744 + color: #115098;
13745 + border-bottom-color: #CCCCCC;
13746 +}
13747 +
13748 +dl.faq dt {
13749 + color: #333333;
13750 +}
13751 +
13752 +.posthilit {
13753 + background-color: #F3BFCC;
13754 + color: #BC2A4D;
13755 +}
13756 +
13757 +.announce, .unreadpost {
13758 + /* Highlight the announcements & unread posts box */
13759 +}
13760 +
13761 +/* Post signature */
13762 +.signature {
13763 + border-top-color: #CCCCCC;
13764 +}
13765 +
13766 +/* Post noticies */
13767 +.notice {
13768 + border-top-color: #CCCCCC;
13769 +}
13770 +
13771 +/* BB Code styles
13772 +----------------------------------------*/
13773 +/* Quote block */
13774 +blockquote {
13775 + background-color: #EBEADD;
13776 + border-color:#DBDBCE;
13777 +}
13778 +
13779 +blockquote blockquote {
13780 + /* Nested quotes */
13781 + background-color:#EFEED9;
13782 +}
13783 +
13784 +blockquote blockquote blockquote {
13785 + /* Nested quotes */
13786 + background-color: #EBEADD;
13787 +}
13788 +
13789 +/* Code block */
13790 +.codebox {
13791 + background-color: #FFFFFF;
13792 + border-color: #C9D2D8;
13793 +}
13794 +
13795 +.codebox p {
13796 + border-bottom-color: #CCCCCC;
13797 +}
13798 +
13799 +.codebox code {
13800 + color: #2E8B57;
13801 +}
13802 +
13803 +/* Attachments
13804 +----------------------------------------*/
13805 +.attachbox {
13806 + background-color: #FFFFFF;
13807 + border-color: #C9D2D8;
13808 +}
13809 +
13810 +.pm-message .attachbox {
13811 + background-color: #F2F3F3;
13812 +}
13813 +
13814 +.attachbox dd {
13815 + border-top-color: #C9D2D8;
13816 +}
13817 +
13818 +.attachbox p {
13819 + color: #666666;
13820 +}
13821 +
13822 +.attachbox p.stats {
13823 + color: #666666;
13824 +}
13825 +
13826 +.attach-image img {
13827 + border-color: #999999;
13828 +}
13829 +
13830 +/* Inline image thumbnails */
13831 +
13832 +dl.file dd {
13833 + color: #666666;
13834 +}
13835 +
13836 +dl.thumbnail img {
13837 + border-color: #666666;
13838 + background-color: #FFFFFF;
13839 +}
13840 +
13841 +dl.thumbnail dd {
13842 + color: #666666;
13843 +}
13844 +
13845 +dl.thumbnail dt a:hover {
13846 + background-color: #EEEEEE;
13847 +}
13848 +
13849 +dl.thumbnail dt a:hover img {
13850 + border-color: #368AD2;
13851 +}
13852 +
13853 +/* Post poll styles
13854 +----------------------------------------*/
13855 +
13856 +fieldset.polls dl {
13857 + border-top-color: #DCDEE2;
13858 + color: #666666;
13859 +}
13860 +
13861 +fieldset.polls dl.voted {
13862 + color: #000000;
13863 +}
13864 +
13865 +fieldset.polls dd div {
13866 + color: #FFFFFF;
13867 +}
13868 +
13869 +.rtl .pollbar1, .rtl .pollbar2, .rtl .pollbar3, .rtl .pollbar4, .rtl .pollbar5 {
13870 + border-right-color: transparent;
13871 +}
13872 +
13873 +.pollbar1 {
13874 + background-color: #AA2346;
13875 + border-bottom-color: #74162C;
13876 + border-right-color: #74162C;
13877 +}
13878 +
13879 +.rtl .pollbar1 {
13880 + border-left-color: #74162C;
13881 +}
13882 +
13883 +.pollbar2 {
13884 + background-color: #BE1E4A;
13885 + border-bottom-color: #8C1C38;
13886 + border-right-color: #8C1C38;
13887 +}
13888 +
13889 +.rtl .pollbar2 {
13890 + border-left-color: #8C1C38;
13891 +}
13892 +
13893 +.pollbar3 {
13894 + background-color: #D11A4E;
13895 + border-bottom-color: #AA2346;
13896 + border-right-color: #AA2346;
13897 +}
13898 +
13899 +.rtl .pollbar3 {
13900 + border-left-color: #AA2346;
13901 +}
13902 +
13903 +.pollbar4 {
13904 + background-color: #E41653;
13905 + border-bottom-color: #BE1E4A;
13906 + border-right-color: #BE1E4A;
13907 +}
13908 +
13909 +.rtl .pollbar4 {
13910 + border-left-color: #BE1E4A;
13911 +}
13912 +
13913 +.pollbar5 {
13914 + background-color: #F81157;
13915 + border-bottom-color: #D11A4E;
13916 + border-right-color: #D11A4E;
13917 +}
13918 +
13919 +.rtl .pollbar5 {
13920 + border-left-color: #D11A4E;
13921 +}
13922 +
13923 +/* Poster profile block
13924 +----------------------------------------*/
13925 +.postprofile {
13926 + color: #666666;
13927 + border-color: #FFFFFF;
13928 +}
13929 +
13930 +.pm .postprofile {
13931 + border-color: #DDDDDD;
13932 +}
13933 +
13934 +.postprofile strong {
13935 + color: #000000;
13936 +}
13937 +
13938 +.online {
13939 + background-image: url("./en/icon_user_online.gif");
13940 +}
13941 +
13942 +dd.profile-warnings {
13943 + color: #BC2A4D;
13944 +}
13945 +
13946 +/*
13947 +--------------------------------------------------------------
13948 +Colours and backgrounds for buttons.css
13949 +-------------------------------------------------------------- */
13950 +.button {
13951 + border-color: #C7C3BF;
13952 + background-color: #E9E9E9; /* Old browsers */ /* FF3.6+ */
13953 + background-image: -webkit-linear-gradient(top, #FFFFFF 0%, #E9E9E9 100%);
13954 + background-image: linear-gradient(to bottom, #FFFFFF 0%,#E9E9E9 100%); /* W3C */
13955 + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#FFFFFF', endColorstr='#E9E9E9',GradientType=0 ); /* IE6-9 */
13956 + box-shadow: 0 0 0 1px #FFFFFF inset;
13957 + -webkit-box-shadow: 0 0 0 1px #FFFFFF inset;
13958 + color: #D31141;
13959 +}
13960 +
13961 +.button:hover,
13962 +.button:focus {
13963 + border-color: #0A8ED0;
13964 + background-color: #FFFFFF; /* Old browsers */ /* FF3.6+ */
13965 + background-image: -webkit-linear-gradient(top, #E9E9E9 0%, #FFFFFF 100%);
13966 + background-image: linear-gradient(to bottom, #E9E9E9 0%,#FFFFFF 100%); /* W3C */
13967 + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#E9E9E9', endColorstr='#FFFFFF',GradientType=0 ); /* IE6-9 */
13968 + text-shadow: 1px 1px 0 #FFFFFF, -1px -1px 0 #FFFFFF, -1px -1px 0 rgba(188, 42, 77, 0.2);
13969 +}
13970 +
13971 +
13972 +.button .icon,
13973 +.button-secondary {
13974 + color: #8f8f8f;
13975 +}
13976 +
13977 +.button-secondary:focus,
13978 +.button-secondary:hover,
13979 +.button:focus .icon,
13980 +.button:hover .icon {
13981 + color: #0A8ED0;
13982 +}
13983 +
13984 +.button-search:hover,
13985 +.button-search-end:hover {
13986 + border-color: #C7C3BF;
13987 +}
13988 +
13989 +.caret { border-color: #DADADA; }
13990 +.caret { border-color: #C7C3BF; }
13991 +
13992 +.contact-icons a { border-color: #DCDCDC; }
13993 +.contact-icons a:hover { background-color: #F2F6F9; }
13994 +
13995 +/* Pagination
13996 +---------------------------------------- */
13997 +
13998 +.pagination li a {
13999 + background: #ECEDEE;
14000 + filter: none;
14001 + border-color: #B4BAC0;
14002 + box-shadow: none;
14003 + -webkit-box-shadow: none;
14004 + color: #5C758C;
14005 +}
14006 +
14007 +.pagination li.ellipsis span {
14008 + background: transparent;
14009 + color: #000000;
14010 +}
14011 +
14012 +.pagination li.active span {
14013 + background: #4692BF;
14014 + border-color: #4692BF;
14015 + color: #FFFFFF;
14016 +}
14017 +
14018 +.pagination li a:hover, .pagination li a:hover .icon, .pagination .dropdown-visible a.dropdown-trigger, .nojs .pagination .dropdown-container:hover a.dropdown-trigger {
14019 + background: #368AD2;
14020 + border-color: #368AD2;
14021 + filter: none;
14022 + color: #FFFFFF;
14023 + text-shadow: none;
14024 +}
14025 +
14026 +/* Search box
14027 +--------------------------------------------- */
14028 +
14029 +.search-box .inputbox,
14030 +.search-box .inputbox:hover,
14031 +.search-box .inputbox:focus {
14032 + border-color: #C7C3BF;
14033 +}
14034 +
14035 +.search-header {
14036 + box-shadow: 0 0 10px #0075B0;
14037 +}
14038 +
14039 +/* Icon images
14040 +---------------------------------------- */
14041 +
14042 +.contact-icon { background-image: url("./images/icons_contact.png"); }
14043 +
14044 +/* Profile & navigation icons */
14045 +.pm-icon { background-position: 0 0; }
14046 +.email-icon { background-position: -21px 0; }
14047 +.jabber-icon { background-position: -80px 0; }
14048 +.phpbb_icq-icon { background-position: -61px 0 ; }
14049 +.phpbb_wlm-icon { background-position: -182px 0; }
14050 +.phpbb_aol-icon { background-position: -244px 0; }
14051 +.phpbb_website-icon { background-position: -40px 0; }
14052 +.phpbb_youtube-icon { background-position: -98px 0; }
14053 +.phpbb_facebook-icon { background-position: -119px 0; }
14054 +.phpbb_googleplus-icon { background-position: -140px 0; }
14055 +.phpbb_skype-icon { background-position: -161px 0; }
14056 +.phpbb_twitter-icon { background-position: -203px 0; }
14057 +.phpbb_yahoo-icon { background-position: -224px 0; }
14058 +
14059 +/* Forum icons & Topic icons */
14060 +.global_read { background-image: url("./images/announce_read.gif"); }
14061 +.global_read_mine { background-image: url("./images/announce_read_mine.gif"); }
14062 +.global_read_locked { background-image: url("./images/announce_read_locked.gif"); }
14063 +.global_read_locked_mine { background-image: url("./images/announce_read_locked_mine.gif"); }
14064 +.global_unread { background-image: url("./images/announce_unread.gif"); }
14065 +.global_unread_mine { background-image: url("./images/announce_unread_mine.gif"); }
14066 +.global_unread_locked { background-image: url("./images/announce_unread_locked.gif"); }
14067 +.global_unread_locked_mine { background-image: url("./images/announce_unread_locked_mine.gif"); }
14068 +
14069 +.announce_read { background-image: url("./images/announce_read.gif"); }
14070 +.announce_read_mine { background-image: url("./images/announce_read_mine.gif"); }
14071 +.announce_read_locked { background-image: url("./images/announce_read_locked.gif"); }
14072 +.announce_read_locked_mine { background-image: url("./images/announce_read_locked_mine.gif"); }
14073 +.announce_unread { background-image: url("./images/announce_unread.gif"); }
14074 +.announce_unread_mine { background-image: url("./images/announce_unread_mine.gif"); }
14075 +.announce_unread_locked { background-image: url("./images/announce_unread_locked.gif"); }
14076 +.announce_unread_locked_mine { background-image: url("./images/announce_unread_locked_mine.gif"); }
14077 +
14078 +.forum_link { background-image: url("./images/forum_link.gif"); }
14079 +.forum_read { background-image: url("./images/forum_read.gif"); }
14080 +.forum_read_locked { background-image: url("./images/forum_read_locked.gif"); }
14081 +.forum_read_subforum { background-image: url("./images/forum_read_subforum.gif"); }
14082 +.forum_unread { background-image: url("./images/forum_unread.gif"); }
14083 +.forum_unread_locked { background-image: url("./images/forum_unread_locked.gif"); }
14084 +.forum_unread_subforum { background-image: url("./images/forum_unread_subforum.gif"); }
14085 +
14086 +.sticky_read { background-image: url("./images/sticky_read.gif"); }
14087 +.sticky_read_mine { background-image: url("./images/sticky_read_mine.gif"); }
14088 +.sticky_read_locked { background-image: url("./images/sticky_read_locked.gif"); }
14089 +.sticky_read_locked_mine { background-image: url("./images/sticky_read_locked_mine.gif"); }
14090 +.sticky_unread { background-image: url("./images/sticky_unread.gif"); }
14091 +.sticky_unread_mine { background-image: url("./images/sticky_unread_mine.gif"); }
14092 +.sticky_unread_locked { background-image: url("./images/sticky_unread_locked.gif"); }
14093 +.sticky_unread_locked_mine { background-image: url("./images/sticky_unread_locked_mine.gif"); }
14094 +
14095 +.topic_moved { background-image: url("./images/topic_moved.gif"); }
14096 +.pm_read,
14097 +.topic_read { background-image: url("./images/topic_read.gif"); }
14098 +.topic_read_mine { background-image: url("./images/topic_read_mine.gif"); }
14099 +.topic_read_hot { background-image: url("./images/topic_read_hot.gif"); }
14100 +.topic_read_hot_mine { background-image: url("./images/topic_read_hot_mine.gif"); }
14101 +.topic_read_locked { background-image: url("./images/topic_read_locked.gif"); }
14102 +.topic_read_locked_mine { background-image: url("./images/topic_read_locked_mine.gif"); }
14103 +.pm_unread,
14104 +.topic_unread { background-image: url("./images/topic_unread.gif"); }
14105 +.topic_unread_mine { background-image: url("./images/topic_unread_mine.gif"); }
14106 +.topic_unread_hot { background-image: url("./images/topic_unread_hot.gif"); }
14107 +.topic_unread_hot_mine { background-image: url("./images/topic_unread_hot_mine.gif"); }
14108 +.topic_unread_locked { background-image: url("./images/topic_unread_locked.gif"); }
14109 +.topic_unread_locked_mine { background-image: url("./images/topic_unread_locked_mine.gif"); }
14110 +
14111 +
14112 +/*
14113 +--------------------------------------------------------------
14114 +Colours and backgrounds for cp.css
14115 +-------------------------------------------------------------- */
14116 +
14117 +/* Main CP box
14118 +----------------------------------------*/
14119 +
14120 +.panel-container h3, .panel-container hr, .cp-menu hr {
14121 + border-color: #A4B3BF;
14122 +}
14123 +
14124 +.panel-container .panel li.row {
14125 + border-bottom-color: #B5C1CB;
14126 + border-top-color: #F9F9F9;
14127 +}
14128 +
14129 +ul.cplist {
14130 + border-top-color: #B5C1CB;
14131 +}
14132 +
14133 +.panel-container .panel li.header dd, .panel-container .panel li.header dt {
14134 + color: #000000;
14135 +}
14136 +
14137 +.panel-container table.table1 thead th {
14138 + color: #333333;
14139 + border-bottom-color: #333333;
14140 +}
14141 +
14142 +.cp-main .pm-message {
14143 + border-color: #DBDEE2;
14144 + background-color: #FFFFFF;
14145 +}
14146 +
14147 +/* CP tabbed menu
14148 +----------------------------------------*/
14149 +.tabs .tab > a {
14150 + background: #BACCD9;
14151 + color: #536482;
14152 +}
14153 +
14154 +.tabs .tab > a:hover {
14155 + background: #DDEDFB;
14156 + color: #D31141;
14157 +}
14158 +
14159 +.tabs .activetab > a,
14160 +.tabs .activetab > a:hover {
14161 + background-color: #CADCEB; /* Old browsers */ /* FF3.6+ */
14162 + background-image: -webkit-linear-gradient(top, #E2F2FF 0%, #CADCEB 100%);
14163 + background-image: linear-gradient(to bottom, #E2F2FF 0%,#CADCEB 100%); /* W3C */
14164 + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#E2F2FF', endColorstr='#CADCEB',GradientType=0 ); /* IE6-9 */
14165 + border-color: #CADCEB;
14166 + box-shadow: 0 1px 1px #F2F9FF inset;
14167 + color: #333333;
14168 +}
14169 +
14170 +.tabs .activetab > a:hover {
14171 + color: #000000;
14172 +}
14173 +
14174 +/* Mini tabbed menu used in MCP
14175 +----------------------------------------*/
14176 +.minitabs .tab > a {
14177 + background-color: #E1EBF2;
14178 +}
14179 +
14180 +.minitabs .activetab > a,
14181 +.minitabs .activetab > a:hover {
14182 + background-color: #F9F9F9;
14183 + color: #333333;
14184 +}
14185 +
14186 +/* Responsive tabs
14187 +----------------------------------------*/
14188 +.responsive-tab .responsive-tab-link:before {
14189 + border-color: #536482;
14190 +}
14191 +
14192 +.responsive-tab .responsive-tab-link:hover:before {
14193 + border-color: #D31141;
14194 +}
14195 +
14196 +/* UCP navigation menu
14197 +----------------------------------------*/
14198 +
14199 +/* Link styles for the sub-section links */
14200 +.navigation a {
14201 + color: #333;
14202 + background: #CADCEB; /* Old browsers */ /* FF3.6+ */
14203 + background: -webkit-linear-gradient(left, #B4C4D1 50%, #CADCEB 100%);
14204 + background: linear-gradient(to right, #B4C4D1 50%,#CADCEB 100%); /* W3C */
14205 + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#B4C4D1', endColorstr='#CADCEB',GradientType=1 ); /* IE6-9 */
14206 +}
14207 +
14208 +.rtl .navigation a {
14209 + background: #B4C4D1; /* Old browsers */ /* FF3.6+ */
14210 + background: -webkit-linear-gradient(left, #CADCEB 50%, #B4C4D1 100%);
14211 + background: linear-gradient(to right, #CADCEB 50%,#B4C4D1 100%); /* W3C */
14212 + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#CADCEB', endColorstr='#B4C4D1',GradientType=1 ); /* IE6-9 */
14213 +}
14214 +
14215 +.navigation a:hover {
14216 + background: #AABAC6;
14217 + color: #BC2A4D;
14218 + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
14219 +}
14220 +
14221 +.navigation .active-subsection a {
14222 + background: #F9F9F9;
14223 + color: #D31141;
14224 + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
14225 +}
14226 +
14227 +.navigation .active-subsection a:hover {
14228 + color: #D31141;
14229 +}
14230 +
14231 +@media only screen and (max-width: 900px), only screen and (max-device-width: 900px)
14232 +{
14233 + #navigation a, .rtl #navigation a {
14234 + background: #B2C2CF;
14235 + }
14236 +}
14237 +
14238 +/* Preferences pane layout
14239 +----------------------------------------*/
14240 +.panel-container h2 {
14241 + color: #333333;
14242 +}
14243 +
14244 +.panel-container .panel {
14245 + background-color: #F9F9F9;
14246 +}
14247 +
14248 +.cp-main .pm {
14249 + background-color: #FFFFFF;
14250 +}
14251 +
14252 +/* Friends list */
14253 +.cp-mini {
14254 + background-color: #EEF5F9;
14255 +}
14256 +
14257 +dl.mini dt {
14258 + color: #425067;
14259 +}
14260 +
14261 +/* PM Styles
14262 +----------------------------------------*/
14263 +/* PM Message history */
14264 +.current {
14265 + color: #000000 !important;
14266 +}
14267 +
14268 +/* PM marking colours */
14269 +.pmlist li.pm_message_reported_colour, .pm_message_reported_colour {
14270 + border-left-color: #BC2A4D;
14271 + border-right-color: #BC2A4D;
14272 +}
14273 +
14274 +.pmlist li.pm_marked_colour, .pm_marked_colour {
14275 + border-color: #FF6600;
14276 +}
14277 +
14278 +.pmlist li.pm_replied_colour, .pm_replied_colour {
14279 + border-color: #A9B8C2;
14280 +}
14281 +
14282 +.pmlist li.pm_friend_colour, .pm_friend_colour {
14283 + border-color: #5D8FBD;
14284 +}
14285 +
14286 +.pmlist li.pm_foe_colour, .pm_foe_colour {
14287 + border-color: #000000;
14288 +}
14289 +
14290 +/* Avatar gallery */
14291 +.gallery label {
14292 + background: #FFFFFF;
14293 + border-color: #CCC;
14294 +}
14295 +
14296 +.gallery label:hover {
14297 + background-color: #EEE;
14298 +}
14299 +
14300 +/*
14301 +--------------------------------------------------------------
14302 +Colours and backgrounds for forms.css
14303 +-------------------------------------------------------------- */
14304 +
14305 +/* General form styles
14306 +----------------------------------------*/
14307 +select {
14308 + border-color: #666666;
14309 + background-color: #FAFAFA;
14310 + color: #000;
14311 +}
14312 +
14313 +label {
14314 + color: #425067;
14315 +}
14316 +
14317 +option.disabled-option {
14318 + color: graytext;
14319 +}
14320 +
14321 +/* Definition list layout for forms
14322 +---------------------------------------- */
14323 +dd label {
14324 + color: #333;
14325 +}
14326 +
14327 +fieldset.fields1 {
14328 + background-color: transparent;
14329 +}
14330 +
14331 +/* Hover effects */
14332 +fieldset dl:hover dt label {
14333 + color: #000000;
14334 +}
14335 +
14336 +fieldset.fields2 dl:hover dt label {
14337 + color: inherit;
14338 +}
14339 +
14340 +/* Quick-login on index page */
14341 +fieldset.quick-login input.inputbox {
14342 + background-color: #F2F3F3;
14343 +}
14344 +
14345 +/* Posting page styles
14346 +----------------------------------------*/
14347 +
14348 +.message-box textarea {
14349 + color: #333333;
14350 +}
14351 +
14352 +.message-box textarea.drag-n-drop {
14353 + outline-color: rgba(102, 102, 102, 0.5);
14354 +}
14355 +
14356 +.message-box textarea.drag-n-drop-highlight {
14357 + outline-color: rgba(17, 163, 234, 0.5);
14358 +}
14359 +
14360 +/* Input field styles
14361 +---------------------------------------- */
14362 +.inputbox {
14363 + background-color: #FFFFFF;
14364 + border-color: #B4BAC0;
14365 + color: #333333;
14366 +}
14367 +
14368 +.inputbox:-moz-placeholder {
14369 + color: #333333;
14370 +}
14371 +
14372 +.inputbox::-webkit-input-placeholder {
14373 + color: #333333;
14374 +}
14375 +
14376 +.inputbox:hover {
14377 + border-color: #11A3EA;
14378 +}
14379 +
14380 +.inputbox:focus {
14381 + border-color: #11A3EA;
14382 +}
14383 +
14384 +.inputbox:focus:-moz-placeholder {
14385 + color: transparent;
14386 +}
14387 +
14388 +.inputbox:focus::-webkit-input-placeholder {
14389 + color: transparent;
14390 +}
14391 +
14392 +
14393 +/* Form button styles
14394 +---------------------------------------- */
14395 +
14396 +a.button1, input.button1, input.button3, a.button2, input.button2 {
14397 + color: #000;
14398 + background-color: #EFEFEF; /* Old browsers */ /* FF3.6+ */
14399 + background-image: -webkit-linear-gradient(top, #D2D2D2 0%, #EFEFEF 100%);
14400 + background-image: linear-gradient(to bottom, #D2D2D2 0%,#EFEFEF 100%); /* W3C */
14401 + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#D2D2D2', endColorstr='#EFEFEF',GradientType=0 ); /* IE6-9 */
14402 +}
14403 +
14404 +a.button1, input.button1 {
14405 + border-color: #666666;
14406 +}
14407 +
14408 +input.button3 {
14409 + background-image: none;
14410 +}
14411 +
14412 +/* Alternative button */
14413 +a.button2, input.button2, input.button3 {
14414 + border-color: #666666;
14415 +}
14416 +
14417 +/* <a> button in the style of the form buttons */
14418 +a.button1, a.button2 {
14419 + color: #000000;
14420 +}
14421 +
14422 +/* Hover states */
14423 +a.button1:hover, input.button1:hover, a.button2:hover, input.button2:hover, input.button3:hover {
14424 + border-color: #D31141;
14425 + color: #D31141;
14426 + background-color: #D2D2D2; /* Old browsers */ /* FF3.6+ */
14427 + background-image: -webkit-linear-gradient(top, #EFEFEF 0%, #D2D2D2 100%);
14428 + background-image: linear-gradient(to bottom, #EFEFEF 0%,#D2D2D2 100%); /* W3C */
14429 + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#EFEFEF', endColorstr='#D2D2D2',GradientType=0 ); /* IE6-9 */
14430 +}
14431 +
14432 +/* Focus states */
14433 +input.button1:focus, input.button2:focus, input.button3:focus {
14434 + border-color: #11A3EA;
14435 + color: #0F4987;
14436 +}
14437 +
14438 +input.disabled {
14439 + color: #666666;
14440 +}
14441 +
14442 +/* jQuery popups
14443 +---------------------------------------- */
14444 +.phpbb_alert {
14445 + background-color: #FFFFFF;
14446 + border-color: #999999;
14447 +}
14448 +.darken {
14449 + background-color: #000000;
14450 +}
14451 +
14452 +.loading_indicator {
14453 + background-color: #000000;
14454 + background-image: url("./images/loading.gif");
14455 +}
14456 +
14457 +.dropdown-extended ul li {
14458 + border-top-color: #B9B9B9;
14459 +}
14460 +
14461 +.dropdown-extended ul li:hover {
14462 + background-color: #CFE1F6;
14463 + color: #000000;
14464 +}
14465 +
14466 +.dropdown-extended .header, .dropdown-extended .footer {
14467 + border-color: #B9B9B9;
14468 + color: #000000;
14469 +}
14470 +
14471 +.dropdown-extended .footer {
14472 + border-top-style: solid;
14473 + border-top-width: 1px;
14474 +}
14475 +
14476 +.dropdown-extended .header {
14477 + background-color: #F1F8FF; /* Old browsers */ /* FF3.6+ */
14478 + background-image: -webkit-linear-gradient(top, #F1F8FF 0%, #CADCEB 100%);
14479 + background-image: linear-gradient(to bottom, #F1F8FF 0%,#CADCEB 100%); /* W3C */
14480 + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#F1F8FF', endColorstr='#CADCEB',GradientType=0 ); /* IE6-9 */
14481 +}
14482 +
14483 +.dropdown .pointer {
14484 + border-color: #B9B9B9 transparent;
14485 +}
14486 +
14487 +.dropdown .pointer-inner {
14488 + border-color: #FFF transparent;
14489 +}
14490 +
14491 +.dropdown-extended .pointer-inner {
14492 + border-color: #F1F8FF transparent;
14493 +}
14494 +
14495 +.dropdown .dropdown-contents {
14496 + background: #fff;
14497 + border-color: #B9B9B9;
14498 + box-shadow: 1px 3px 5px rgba(0, 0, 0, 0.2);
14499 +}
14500 +
14501 +.dropdown-up .dropdown-contents {
14502 + box-shadow: 1px 0 5px rgba(0, 0, 0, 0.2);
14503 +}
14504 +
14505 +.dropdown li, .dropdown li li {
14506 + border-color: #DCDCDC;
14507 +}
14508 +
14509 +.dropdown li.separator {
14510 + border-color: #DCDCDC;
14511 +}
14512 +
14513 +/* Notifications
14514 +---------------------------------------- */
14515 +
14516 +.notification_list p.notification-time {
14517 + color: #4C5D77;
14518 +}
14519 +
14520 +li.notification-reported strong, li.notification-disapproved strong {
14521 + color: #D31141;
14522 +}
14523 +
14524 +.badge {
14525 + background-color: #D31141;
14526 + color: #ffffff;
14527 +}
14528
14529 diff --git a/theme/common.css b/theme/common.css
14530 new file mode 100644
14531 index 000000000..a0dc5e043
14532 --- /dev/null
14533 +++ b/theme/common.css
14534 @@ -0,0 +1,1287 @@
14535 +/* General Markup Styles
14536 +---------------------------------------- */
14537 +html {
14538 + font-size: 100%;
14539 + /* Always show a scrollbar for short pages - stops the jump when the scrollbar appears. non-IE browsers */
14540 + height: 101%;
14541 +}
14542 +
14543 +body {
14544 + font-family: Verdana, Helvetica, Arial, sans-serif;
14545 + font-size: 10px;
14546 + line-height: normal;
14547 + margin: 0;
14548 + padding: 12px 0;
14549 + word-wrap: break-word;
14550 + -webkit-print-color-adjust: exact;
14551 +}
14552 +
14553 +h1 {
14554 + /* Forum name */
14555 + font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
14556 + margin-right: 200px;
14557 + margin-top: 15px;
14558 + font-weight: bold;
14559 + font-size: 2em;
14560 +}
14561 +
14562 +h2 {
14563 + /* Forum header titles */
14564 + font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
14565 + font-weight: normal;
14566 + font-size: 2em;
14567 + margin: 0.8em 0 0.2em 0;
14568 +}
14569 +
14570 +h2.solo {
14571 + margin-bottom: 1em;
14572 +}
14573 +
14574 +h3 {
14575 + /* Sub-headers (also used as post headers, but defined later) */
14576 + font-family: Arial, Helvetica, sans-serif;
14577 + font-weight: bold;
14578 + text-transform: uppercase;
14579 + border-bottom: 1px solid transparent;
14580 + margin-bottom: 3px;
14581 + padding-bottom: 2px;
14582 + font-size: 1.05em;
14583 + margin-top: 20px;
14584 +}
14585 +
14586 +h4 {
14587 + /* Forum and topic list titles */
14588 + font-family: "Trebuchet MS", Verdana, Helvetica, Arial, Sans-serif;
14589 + font-size: 1.3em;
14590 +}
14591 +
14592 +p {
14593 + line-height: 1.3em;
14594 + font-size: 1.1em;
14595 + margin-bottom: 1.5em;
14596 +}
14597 +
14598 +img {
14599 + border-width: 0;
14600 +}
14601 +
14602 +hr {
14603 + border: 0 solid transparent;
14604 + border-top-width: 1px;
14605 + height: 1px;
14606 + margin: 5px 0;
14607 + display: block;
14608 + clear: both;
14609 +}
14610 +
14611 +hr.dashed {
14612 + border-top-style: dashed;
14613 + margin: 10px 0;
14614 +}
14615 +
14616 +hr.divider {
14617 + display: none;
14618 +}
14619 +
14620 +p.right {
14621 + text-align: right;
14622 +}
14623 +
14624 +p.jumpbox-return {
14625 + margin-top: 10px;
14626 + margin-bottom: 0;
14627 + float: left;
14628 +}
14629 +
14630 +b, strong {
14631 + font-weight: bold;
14632 +}
14633 +
14634 +.text-strong {
14635 + font-weight: bold;
14636 +}
14637 +
14638 +i, em {
14639 + font-style: italic;
14640 +}
14641 +
14642 +.text-italics {
14643 + font-style: italic;
14644 +}
14645 +
14646 +u {
14647 + text-decoration: underline;
14648 +}
14649 +
14650 +ul {
14651 + list-style-type: disc;
14652 +}
14653 +
14654 +ol {
14655 + list-style-type: decimal;
14656 +}
14657 +
14658 +li {
14659 + display: list-item;
14660 +}
14661 +
14662 +ul ul, ol ul {
14663 + list-style-type: circle;
14664 +}
14665 +
14666 +ol ol ul, ol ul ul, ul ol ul, ul ul ul {
14667 + list-style-type: square;
14668 +}
14669 +
14670 +a:hover { text-decoration: underline; }
14671 +
14672 +/* Main blocks
14673 +---------------------------------------- */
14674 +.wrap {
14675 + border: 1px solid transparent;
14676 + border-radius: 8px;
14677 + margin: 0 auto;
14678 + max-width: 1152px;
14679 + min-width: 625px;
14680 + padding: 15px;
14681 +}
14682 +
14683 +@media only screen and (max-width: 1220px), only screen and (max-device-width: 1220px) {
14684 + .wrap {
14685 + margin: 0 12px;
14686 + }
14687 +}
14688 +
14689 +.page-body {
14690 + margin: 4px 0;
14691 + clear: both;
14692 +}
14693 +
14694 +.page-footer {
14695 + clear: both;
14696 +}
14697 +
14698 +.page-footer h3 {
14699 + margin-top: 20px;
14700 +}
14701 +
14702 +.logo {
14703 + float: left;
14704 + width: auto;
14705 + padding: 10px 13px 0 10px;
14706 +}
14707 +
14708 +.logo:hover {
14709 + text-decoration: none;
14710 +}
14711 +
14712 +.site_logo {
14713 + display: inline-block;
14714 + width: 149px;
14715 + height: 52px;
14716 +}
14717 +
14718 +/* Site description and logo */
14719 +.site-description {
14720 + float: left;
14721 + width: 65%;
14722 +}
14723 +
14724 +.site-description h1 {
14725 + margin-right: 0;
14726 +}
14727 +
14728 +/* Round cornered boxes and backgrounds
14729 +---------------------------------------- */
14730 +.headerbar {
14731 + margin-bottom: 4px;
14732 + padding: 5px;
14733 + border-radius: 7px;
14734 +}
14735 +
14736 +.navbar {
14737 + padding: 3px 10px;
14738 + border-radius: 7px;
14739 +}
14740 +
14741 +.forabg {
14742 + margin-bottom: 4px;
14743 + padding: 5px;
14744 + clear: both;
14745 + border-radius: 7px;
14746 +}
14747 +
14748 +.forumbg {
14749 + margin-bottom: 4px;
14750 + padding: 5px;
14751 + clear: both;
14752 + border-radius: 7px;
14753 +}
14754 +
14755 +.panel {
14756 + margin-bottom: 4px;
14757 + padding: 5px 10px;
14758 + border-radius: 7px;
14759 +}
14760 +
14761 +.post {
14762 + padding: 5px 10px;
14763 + margin-bottom: 4px;
14764 + background-repeat: no-repeat;
14765 + background-position: 100% 0;
14766 + border-radius: 7px;
14767 + position: relative;
14768 +}
14769 +
14770 +.rowbg {
14771 + margin: 5px 5px 2px 5px;
14772 +}
14773 +
14774 +/* Horizontal lists
14775 +----------------------------------------*/
14776 +.navbar ul.linklist {
14777 + padding: 2px 0;
14778 + list-style-type: none;
14779 +}
14780 +
14781 +ul.linklist {
14782 + display: block;
14783 + margin: 0;
14784 +}
14785 +
14786 +.cp-main .panel {
14787 + padding: 5px 10px;
14788 +}
14789 +
14790 +ul.linklist > li {
14791 + float: left;
14792 + font-size: 1.1em;
14793 + line-height: 2.2em;
14794 + list-style-type: none;
14795 + margin-right: 7px;
14796 + padding-top: 1px;
14797 + width: auto;
14798 +}
14799 +
14800 +ul.linklist > li.rightside, p.rightside, a.rightside {
14801 + float: right;
14802 + margin-right: 0;
14803 + margin-left: 7px;
14804 + text-align: right;
14805 +}
14806 +
14807 +ul.navlinks {
14808 + border-top: 1px solid transparent;
14809 +}
14810 +
14811 +ul.leftside {
14812 + float: left;
14813 + margin-left: 0;
14814 + margin-right: 5px;
14815 + text-align: left;
14816 +}
14817 +
14818 +ul.rightside {
14819 + float: right;
14820 + margin-left: 5px;
14821 + margin-right: -5px;
14822 + text-align: right;
14823 +}
14824 +
14825 +ul.linklist li.responsive-menu {
14826 + position: relative;
14827 + margin: 0 5px 0 0;
14828 +}
14829 +
14830 +.hasjs ul.linklist.leftside, .hasjs ul.linklist.rightside {
14831 + max-width: 48%;
14832 +}
14833 +
14834 +.hasjs ul.linklist.fullwidth {
14835 + max-width: none;
14836 +}
14837 +
14838 +li.responsive-menu.dropdown-right .dropdown {
14839 + left: -9px;
14840 +}
14841 +
14842 +li.responsive-menu.dropdown-left .dropdown {
14843 + right: -6px;
14844 +}
14845 +
14846 +ul.linklist .dropdown {
14847 + top: 22px;
14848 +}
14849 +
14850 +ul.linklist .dropdown-up .dropdown {
14851 + bottom: 18px;
14852 + top: auto;
14853 +}
14854 +
14855 +/* Bulletin icons for list items
14856 +----------------------------------------*/
14857 +ul.linklist.bulletin > li:before {
14858 + display: inline-block;
14859 + content: "\2022";
14860 + font-size: inherit;
14861 + line-height: inherit;
14862 + padding-right: 4px;
14863 +}
14864 +
14865 +ul.linklist.bulletin > li:first-child:before,
14866 +ul.linklist.bulletin > li.rightside:last-child:before {
14867 + content: none;
14868 +}
14869 +
14870 +ul.linklist.bulletin > li.no-bulletin:before {
14871 + content: none;
14872 +}
14873 +
14874 +.responsive-menu:before {
14875 + display: none !important;
14876 +}
14877 +
14878 +/* Profile in overall_header.html */
14879 +.header-profile {
14880 + display: inline-block;
14881 + vertical-align: top;
14882 +}
14883 +
14884 +a.header-avatar,
14885 +a.header-avatar:hover {
14886 + text-decoration: none;
14887 +}
14888 +
14889 +a.header-avatar img {
14890 + margin-bottom: 2px;
14891 + max-height: 20px;
14892 + vertical-align: middle;
14893 + width: auto;
14894 +}
14895 +
14896 +a.header-avatar span:after {
14897 + content: '\f0dd';
14898 + display: inline-block;
14899 + font: normal normal normal 14px/1 FontAwesome;
14900 + padding-left: 6px;
14901 + padding-top: 2px;
14902 + vertical-align: top;
14903 +}
14904 +
14905 +/* Dropdown menu
14906 +----------------------------------------*/
14907 +.dropdown-container {
14908 + position: relative;
14909 +}
14910 +
14911 +.dropdown-container-right {
14912 + float: right;
14913 +}
14914 +
14915 +.dropdown-container-left {
14916 + float: left;
14917 +}
14918 +
14919 +.nojs .dropdown-container:hover .dropdown {
14920 + display: block !important;
14921 +}
14922 +
14923 +.dropdown {
14924 + display: none;
14925 + position: absolute;
14926 + left: 0;
14927 + top: 1.2em;
14928 + z-index: 2;
14929 + border: 1px solid transparent;
14930 + border-radius: 5px;
14931 + padding: 9px 0 0;
14932 + margin-right: -500px;
14933 +}
14934 +
14935 +.dropdown.live-search {
14936 + top: auto;
14937 +}
14938 +
14939 +.dropdown-container.topic-tools {
14940 + float: left;
14941 +}
14942 +
14943 +.dropdown-up .dropdown {
14944 + top: auto;
14945 + bottom: 1.2em;
14946 + padding: 0 0 9px;
14947 +}
14948 +
14949 +.dropdown-left .dropdown, .nojs .rightside .dropdown {
14950 + left: auto;
14951 + right: 0;
14952 + margin-left: -500px;
14953 + margin-right: 0;
14954 +}
14955 +
14956 +.dropdown-button-control .dropdown {
14957 + top: 24px;
14958 +}
14959 +
14960 +.dropdown-button-control.dropdown-up .dropdown {
14961 + top: auto;
14962 + bottom: 24px;
14963 +}
14964 +
14965 +.dropdown .pointer, .dropdown .pointer-inner {
14966 + position: absolute;
14967 + width: 0;
14968 + height: 0;
14969 + border-top-width: 0;
14970 + border-bottom: 10px solid transparent;
14971 + border-left: 10px dashed transparent;
14972 + border-right: 10px dashed transparent;
14973 + -webkit-transform: rotate(360deg); /* better anti-aliasing in webkit */
14974 + display: block;
14975 +}
14976 +
14977 +.dropdown-up .pointer, .dropdown-up .pointer-inner {
14978 + border-bottom-width: 0;
14979 + border-top: 10px solid transparent;
14980 +}
14981 +
14982 +.dropdown .pointer {
14983 + right: auto;
14984 + left: 10px;
14985 + top: -1px;
14986 + z-index: 3;
14987 +}
14988 +
14989 +.dropdown-up .pointer {
14990 + bottom: -1px;
14991 + top: auto;
14992 +}
14993 +
14994 +.dropdown-left .dropdown .pointer, .nojs .rightside .dropdown .pointer {
14995 + left: auto;
14996 + right: 10px;
14997 +}
14998 +
14999 +.dropdown .pointer-inner {
15000 + top: auto;
15001 + bottom: -11px;
15002 + left: -10px;
15003 +}
15004 +
15005 +.dropdown-up .pointer-inner {
15006 + bottom: auto;
15007 + top: -11px;
15008 +}
15009 +
15010 +.dropdown .dropdown-contents {
15011 + z-index: 2;
15012 + overflow: hidden;
15013 + overflow-y: auto;
15014 + border: 1px solid transparent;
15015 + border-radius: 5px;
15016 + padding: 5px;
15017 + position: relative;
15018 + max-height: 300px;
15019 +}
15020 +
15021 +.dropdown-contents a {
15022 + display: block;
15023 + padding: 5px;
15024 +}
15025 +
15026 +.jumpbox {
15027 + margin: 5px 0;
15028 +}
15029 +
15030 +.jumpbox .dropdown li {
15031 + border-top: 1px solid transparent;
15032 +}
15033 +
15034 +.jumpbox .dropdown-select {
15035 + margin: 0;
15036 +}
15037 +
15038 +.jumpbox .dropdown-contents {
15039 + padding: 0;
15040 + text-decoration: none;
15041 +}
15042 +
15043 +.jumpbox .dropdown-contents li {
15044 + padding: 0;
15045 +}
15046 +
15047 +.jumpbox .dropdown-contents a {
15048 + margin-right: 20px;
15049 + padding: 5px 10px;
15050 + text-decoration: none;
15051 + width: 100%;
15052 +}
15053 +
15054 +.jumpbox .spacer {
15055 + display: inline-block;
15056 + width: 0px;
15057 +}
15058 +
15059 +.jumpbox .spacer + .spacer {
15060 + width: 20px;
15061 +}
15062 +
15063 +.dropdown-contents a {
15064 + display: block;
15065 + padding: 5px;
15066 +}
15067 +
15068 +.jumpbox .dropdown-select {
15069 + margin: 0;
15070 +}
15071 +
15072 +.jumpbox .dropdown-contents a {
15073 + text-decoration: none;
15074 +}
15075 +
15076 +.dropdown li {
15077 + display: list-item;
15078 + border-top: 1px dotted transparent;
15079 + float: none !important;
15080 + line-height: normal !important;
15081 + font-size: 1em !important;
15082 + list-style: none;
15083 + margin: 0;
15084 + white-space: nowrap;
15085 + text-align: left;
15086 +}
15087 +
15088 +.dropdown-contents > li {
15089 + padding-right: 15px;
15090 +}
15091 +
15092 +.dropdown-nonscroll > li {
15093 + padding-right: 0;
15094 +}
15095 +
15096 +.dropdown li:first-child, .dropdown li.separator + li, .dropdown li li {
15097 + border-top: 0;
15098 +}
15099 +
15100 +.dropdown li li:first-child {
15101 + margin-top: 4px;
15102 +}
15103 +
15104 +.dropdown li li:last-child {
15105 + padding-bottom: 0;
15106 +}
15107 +
15108 +.dropdown li li {
15109 + border-top: 1px dotted transparent;
15110 + padding-left: 18px;
15111 +}
15112 +
15113 +.wrap .dropdown li, .dropdown.wrap li, .dropdown-extended li {
15114 + white-space: normal;
15115 +}
15116 +
15117 +.dropdown li.separator {
15118 + border-top: 1px solid transparent;
15119 + padding: 0;
15120 +}
15121 +
15122 +.dropdown li.separator:first-child, .dropdown li.separator:last-child {
15123 + display: none !important;
15124 +}
15125 +
15126 +/* Responsive breadcrumbs
15127 +----------------------------------------*/
15128 +.breadcrumbs .crumb {
15129 + float: left;
15130 + font-weight: bold;
15131 + word-wrap: normal;
15132 +}
15133 +
15134 +.breadcrumbs .crumb:before {
15135 + content: '\2039';
15136 + font-weight: bold;
15137 + padding: 0 0.5em;
15138 +}
15139 +
15140 +.breadcrumbs .crumb:first-child:before {
15141 + content: none;
15142 +}
15143 +
15144 +.breadcrumbs .crumb a {
15145 + white-space: nowrap;
15146 + text-overflow: ellipsis;
15147 + vertical-align: bottom;
15148 + overflow: hidden;
15149 +}
15150 +
15151 +.breadcrumbs.wrapped .crumb a { letter-spacing: -.3px; }
15152 +.breadcrumbs.wrapped .crumb.wrapped-medium a { letter-spacing: -.4px; }
15153 +.breadcrumbs.wrapped .crumb.wrapped-tiny a { letter-spacing: -.5px; }
15154 +
15155 +.breadcrumbs .crumb.wrapped-max a { max-width: 120px; }
15156 +.breadcrumbs .crumb.wrapped-wide a { max-width: 100px; }
15157 +.breadcrumbs .crumb.wrapped-medium a { max-width: 80px; }
15158 +.breadcrumbs .crumb.wrapped-small a { max-width: 60px; }
15159 +.breadcrumbs .crumb.wrapped-tiny a { max-width: 40px; }
15160 +
15161 +/* Table styles
15162 +----------------------------------------*/
15163 +table.table1 {
15164 + width: 100%;
15165 +}
15166 +
15167 +.ucp-main table.table1 {
15168 + padding: 2px;
15169 +}
15170 +
15171 +table.table1 thead th {
15172 + font-weight: normal;
15173 + text-transform: uppercase;
15174 + line-height: 1.3em;
15175 + font-size: 1em;
15176 + padding: 0 0 4px 3px;
15177 +}
15178 +
15179 +table.table1 thead th span {
15180 + padding-left: 7px;
15181 +}
15182 +
15183 +table.table1 tbody tr {
15184 + border: 1px solid transparent;
15185 +}
15186 +
15187 +table.table1 td {
15188 + font-size: 1.1em;
15189 +}
15190 +
15191 +table.table1 tbody td {
15192 + padding: 5px;
15193 + border-top: 1px solid transparent;
15194 +}
15195 +
15196 +table.table1 tbody th {
15197 + padding: 5px;
15198 + border-bottom: 1px solid transparent;
15199 + text-align: left;
15200 +}
15201 +
15202 +/* Specific column styles */
15203 +table.table1 .name { text-align: left; }
15204 +table.table1 .center { text-align: center; }
15205 +table.table1 .reportby { width: 15%; }
15206 +table.table1 .posts { text-align: center; width: 7%; }
15207 +table.table1 .joined { text-align: left; width: 15%; }
15208 +table.table1 .active { text-align: left; width: 15%; }
15209 +table.table1 .mark { text-align: center; width: 7%; }
15210 +table.table1 .info { text-align: left; width: 30%; }
15211 +table.table1 .info div { width: 100%; white-space: normal; overflow: hidden; }
15212 +table.table1 .autocol { line-height: 2em; white-space: nowrap; }
15213 +table.table1 thead .autocol { padding-left: 1em; }
15214 +
15215 +table.table1 span.rank-img {
15216 + float: right;
15217 + width: auto;
15218 +}
15219 +
15220 +table.info td {
15221 + padding: 3px;
15222 +}
15223 +
15224 +table.info tbody th {
15225 + padding: 3px;
15226 + text-align: right;
15227 + vertical-align: top;
15228 + font-weight: normal;
15229 +}
15230 +
15231 +.forumbg table.table1 {
15232 + margin: 0;
15233 +}
15234 +
15235 +.forumbg-table > .inner {
15236 + margin: 0 -1px;
15237 +}
15238 +
15239 +.color_palette_placeholder table {
15240 + border-collapse: separate;
15241 + border-spacing: 1px;
15242 +}
15243 +
15244 +/* Misc layout styles
15245 +---------------------------------------- */
15246 +/* column[1-2] styles are containers for two column layouts */
15247 +.column1 {
15248 + float: left;
15249 + clear: left;
15250 + width: 49%;
15251 +}
15252 +
15253 +.column2 {
15254 + float: right;
15255 + clear: right;
15256 + width: 49%;
15257 +}
15258 +
15259 +/* General classes for placing floating blocks */
15260 +.left-box {
15261 + float: left;
15262 + width: auto;
15263 + text-align: left;
15264 + max-width: 100%;
15265 +}
15266 +
15267 +.left-box.profile-details {
15268 + width: 80%;
15269 +}
15270 +
15271 +.right-box {
15272 + float: right;
15273 + width: auto;
15274 + text-align: right;
15275 + max-width: 100%;
15276 +}
15277 +
15278 +dl.details {
15279 + /*font-family: "Lucida Grande", Verdana, Helvetica, Arial, sans-serif;*/
15280 + font-size: 1.1em;
15281 +}
15282 +
15283 +dl.details dt {
15284 + float: left;
15285 + clear: left;
15286 + width: 30%;
15287 + text-align: right;
15288 + display: block;
15289 +}
15290 +
15291 +dl.details dd {
15292 + margin-left: 0;
15293 + padding-left: 5px;
15294 + margin-bottom: 5px;
15295 + float: left;
15296 + width: 65%;
15297 + overflow: hidden;
15298 + text-overflow: ellipsis;
15299 +}
15300 +
15301 +.clearfix, fieldset dl, ul.topiclist dl, dl.polls {
15302 + overflow: hidden;
15303 +}
15304 +
15305 +fieldset.fields1 ul.recipients {
15306 + list-style-type: none;
15307 + line-height: 1.8;
15308 + max-height: 150px;
15309 + overflow-y: auto;
15310 +}
15311 +
15312 +fieldset.fields1 dd.recipients {
15313 + clear: left;
15314 + margin-left: 1em;
15315 +}
15316 +
15317 +fieldset.fields1 ul.recipients input.button2{
15318 + font-size: 0.8em;
15319 + margin-right: 0;
15320 + padding: 0;
15321 +}
15322 +
15323 +fieldset.fields1 dl.pmlist > dt {
15324 + width: auto !important;
15325 +}
15326 +
15327 +fieldset.fields1 dl.pmlist dd.recipients {
15328 + margin-left: 0 !important;
15329 +}
15330 +
15331 +/* Action-bars (container for post/reply buttons, pagination, etc.)
15332 +---------------------------------------- */
15333 +.action-bar {
15334 + font-size: 11px;
15335 + margin: 4px 0;
15336 +}
15337 +
15338 +.forabg + .action-bar {
15339 + margin-top: 2em;
15340 +}
15341 +
15342 +.action-bar .button {
15343 + margin-right: 5px;
15344 + float: left;
15345 +}
15346 +
15347 +.action-bar .button-search {
15348 + margin-right: 0;
15349 +}
15350 +
15351 +/* Pagination
15352 +---------------------------------------- */
15353 +.pagination {
15354 + float: right;
15355 + text-align: right;
15356 + width: auto;
15357 +}
15358 +
15359 +.action-bar.bar-bottom .pagination {
15360 + margin-top: 0;
15361 +}
15362 +
15363 +.action-bar .pagination .button {
15364 + margin-right: 0;
15365 + float: none;
15366 +}
15367 +
15368 +.pagination > ul {
15369 + display: inline-block;
15370 + list-style: none !important;
15371 + margin-left: 5px;
15372 +}
15373 +
15374 +.pagination > ul > li {
15375 + display: inline-block !important;
15376 + padding: 0;
15377 + font-size: 100%;
15378 + line-height: normal;
15379 + vertical-align: middle;
15380 +}
15381 +
15382 +.pagination li a, .pagination li span {
15383 + border-radius: 2px;
15384 + padding: 2px 5px;
15385 +}
15386 +
15387 +.pagination li.active span {
15388 + display: inline-block;
15389 + font-size: 13px;
15390 + font-weight: normal;
15391 + font-family: "Open Sans", "Droid Sans", Verdana, Arial, Helvetica;
15392 + line-height: 1.4;
15393 + text-align: center;
15394 + white-space: nowrap;
15395 + vertical-align: middle;
15396 + border: 1px solid transparent;
15397 +}
15398 +
15399 +.pagination li.ellipsis span {
15400 + border: none;
15401 + padding: 0;
15402 +}
15403 +
15404 +.pagination li.page-jump {
15405 + margin-right: 5px;
15406 +}
15407 +
15408 +.pagination li.page-jump a {
15409 + padding: 0 8px;
15410 +}
15411 +
15412 +.pagination li.page-jump a i {
15413 + font-size: 21px;
15414 +}
15415 +
15416 +.pagination .arrow a {
15417 + padding: 2px 0;
15418 +}
15419 +
15420 +/* Pagination in viewforum for multipage topics */
15421 +.row .pagination {
15422 + display: block;
15423 + margin-top: 3px;
15424 + margin-bottom: 3px;
15425 +}
15426 +
15427 +.row .pagination > ul {
15428 + margin: 0;
15429 +}
15430 +
15431 +.row .pagination li a, .row .pagination li span {
15432 + border-radius: 2px;
15433 + padding: 1px 3px;
15434 + font-size: 9px;
15435 +}
15436 +
15437 +/* jQuery popups
15438 +---------------------------------------- */
15439 +.phpbb_alert {
15440 + border: 1px solid transparent;
15441 + display: none;
15442 + left: 0;
15443 + padding: 0 25px 20px 25px;
15444 + position: fixed;
15445 + right: 0;
15446 + top: 150px;
15447 + z-index: 50;
15448 + width: 620px;
15449 + margin: 0 auto;
15450 +}
15451 +
15452 +@media only screen and (max-height: 500px), only screen and (max-device-width: 500px)
15453 +{
15454 + .phpbb_alert {
15455 + top: 25px;
15456 + }
15457 +}
15458 +
15459 +.phpbb_alert .alert_close {
15460 + float: right;
15461 + margin-right: -36px;
15462 + margin-top: -8px;
15463 +}
15464 +
15465 +.phpbb_alert p {
15466 + margin: 8px 0;
15467 + padding-bottom: 8px;
15468 +}
15469 +
15470 +.phpbb_alert label {
15471 + display: block;
15472 + margin: 8px 0;
15473 + padding-bottom: 8px;
15474 +}
15475 +
15476 +.phpbb_alert div.alert_text > p,
15477 +.phpbb_alert div.alert_text > label,
15478 +.phpbb_alert div.alert_text > select,
15479 +.phpbb_alert div.alert_text > textarea,
15480 +.phpbb_alert div.alert_text > input {
15481 + font-size: 1.1em;
15482 +}
15483 +
15484 +.darkenwrapper {
15485 + display: none;
15486 + position: relative;
15487 + z-index: 44;
15488 +}
15489 +
15490 +.darken {
15491 + position: fixed;
15492 + left: 0;
15493 + top: 0;
15494 + width: 100%;
15495 + height: 100%;
15496 + opacity: 0.5;
15497 + z-index: 45;
15498 +}
15499 +
15500 +.loading_indicator {
15501 + background: center center no-repeat;
15502 + border-radius: 5px;
15503 + display: none;
15504 + opacity: 0.8;
15505 + margin-top: -50px;
15506 + margin-left: -50px;
15507 + height: 50px;
15508 + width: 50px;
15509 + position: fixed;
15510 + left: 50%;
15511 + top: 50%;
15512 + z-index: 51;
15513 +}
15514 +
15515 +/* Miscellaneous styles
15516 +---------------------------------------- */
15517 +.copyright {
15518 + font-size: 10px;
15519 + text-align: center;
15520 + padding: 10px;
15521 +}
15522 +
15523 +.footer-row {
15524 + font-size: 10px;
15525 + line-height: 1.8;
15526 + margin: 0;
15527 +}
15528 +
15529 +.small {
15530 + font-size: 0.9em !important;
15531 +}
15532 +
15533 +.titlespace {
15534 + margin-bottom: 15px;
15535 +}
15536 +
15537 +.headerspace {
15538 + margin-top: 20px;
15539 +}
15540 +
15541 +.error {
15542 + font-weight: bold;
15543 + font-size: 1em;
15544 +}
15545 +
15546 +div.rules {
15547 + margin: 10px 0;
15548 + font-size: 1.1em;
15549 + padding: 5px 10px;
15550 + border-radius: 7px;
15551 +}
15552 +
15553 +div.rules ul, div.rules ol {
15554 + margin-left: 20px;
15555 +}
15556 +
15557 +p.post-notice {
15558 + position: relative;
15559 + padding: 5px;
15560 + min-height: 14px;
15561 + margin-bottom: 1em;
15562 +}
15563 +
15564 +form > p.post-notice strong {
15565 + line-height: 20px;
15566 +}
15567 +
15568 +.stat-block {
15569 + clear: both;
15570 +}
15571 +
15572 +.top-anchor {
15573 + display: block;
15574 + position: absolute;
15575 + top: -20px;
15576 +}
15577 +
15578 +.clear {
15579 + display: block;
15580 + clear: both;
15581 + font-size: 1px;
15582 + line-height: 1px;
15583 + background: transparent;
15584 +}
15585 +
15586 +/* Inner box-model clearing */
15587 +.inner:after,
15588 +ul.linklist:after,
15589 +.action-bar:after,
15590 +.notification_text:after,
15591 +.tabs-container:after,
15592 +.tabs > ul:after,
15593 +.minitabs > ul:after,
15594 +.postprofile .avatar-container:after {
15595 + clear: both;
15596 + content: '';
15597 + display: block;
15598 +}
15599 +
15600 +.emoji {
15601 + min-height: 18px;
15602 + min-width: 18px;
15603 + height: 1em;
15604 + width: 1em;
15605 +}
15606 +
15607 +.smilies {
15608 + vertical-align: text-bottom;
15609 +}
15610 +
15611 +.icon-notification {
15612 + position: relative;
15613 +}
15614 +
15615 +.member-search {
15616 + float: left;
15617 + margin: 0;
15618 + padding: 6px 10px;
15619 +}
15620 +
15621 +.member-search strong {
15622 + font-size: 0.95em;
15623 +}
15624 +
15625 +.dropdown-extended {
15626 + display: none;
15627 + z-index: 1;
15628 +}
15629 +
15630 +.dropdown-extended ul {
15631 + max-height: 350px;
15632 + overflow-y: auto;
15633 + overflow-x: hidden;
15634 + clear: both;
15635 +}
15636 +
15637 +.dropdown-extended ul li {
15638 + padding: 0;
15639 + margin: 0 !important;
15640 + float: none;
15641 + border-top: 1px solid;
15642 + list-style-type: none;
15643 + font-size: 0.95em;
15644 + clear: both;
15645 + position: relative;
15646 +}
15647 +
15648 +.dropdown-extended ul li:first-child {
15649 + border-top: none;
15650 +}
15651 +
15652 +.dropdown-extended ul li.no_notifications {
15653 + padding: 10px;
15654 +}
15655 +
15656 +.dropdown-extended .dropdown-contents {
15657 + max-height: none;
15658 + padding: 0;
15659 + position: absolute;
15660 + width: 340px;
15661 +}
15662 +
15663 +.nojs .dropdown-extended .dropdown-contents {
15664 + position: relative;
15665 +}
15666 +
15667 +.dropdown-extended .header {
15668 + padding: 0 10px;
15669 + font-family: Arial, "Helvetica Neue", Helvetica, Arial, sans-serif;
15670 + font-weight: bold;
15671 + text-align: left;
15672 + text-shadow: 1px 1px 1px white;
15673 + text-transform: uppercase;
15674 + line-height: 3em;
15675 + border-bottom: 1px solid;
15676 + border-radius: 5px 5px 0 0;
15677 +}
15678 +
15679 +.dropdown-extended .header .header_settings {
15680 + float: right;
15681 + font-weight: normal;
15682 + text-transform: none;
15683 +}
15684 +
15685 +.dropdown-extended .header .header_settings a {
15686 + display: inline-block;
15687 + padding: 0 5px;
15688 +}
15689 +
15690 +.dropdown-extended .header:after {
15691 + content: '';
15692 + display: table;
15693 + clear: both;
15694 +}
15695 +
15696 +.dropdown-extended .footer {
15697 + text-align: center;
15698 + font-size: 1.1em;
15699 +}
15700 +
15701 +.dropdown-extended ul li a, .dropdown-extended ul li.no-url {
15702 + padding: 8px;
15703 +}
15704 +
15705 +.dropdown-extended .footer > a {
15706 + padding: 5px 0;
15707 +}
15708 +
15709 +.dropdown-extended ul li a, .notification_list dt > a, .dropdown-extended .footer > a {
15710 + display: block;
15711 + text-decoration: none;
15712 +}
15713 +
15714 +.notification_list ul li img {
15715 + float: left;
15716 + max-height: 50px;
15717 + max-width: 50px;
15718 + width: auto !important;
15719 + height: auto !important;
15720 + margin-right: 5px;
15721 +}
15722 +
15723 +.notification_list ul li p {
15724 + margin-bottom: 4px;
15725 + font-size: 1em;
15726 +}
15727 +
15728 +.notification_list p.notification-reference,
15729 +.notification_list p.notification-location,
15730 +.notification_list li a p.notification-reason {
15731 + overflow: hidden;
15732 + text-overflow: ellipsis;
15733 + white-space: nowrap;
15734 +}
15735 +
15736 +.notification_list p.notification-time {
15737 + font-size: 0.9em;
15738 + margin: 0;
15739 + text-align: right;
15740 +}
15741 +
15742 +.notification_list div.notifications {
15743 + margin-left: 50px;
15744 + padding: 5px;
15745 +}
15746 +
15747 +.notification_list div.notifications a {
15748 + display: block;
15749 +}
15750 +
15751 +.notification_list p.notifications_title {
15752 + font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
15753 + font-size: 1.2em !important;
15754 +}
15755 +
15756 +.notification_list p.notifications_title strong {
15757 + font-weight: bold;
15758 +}
15759 +
15760 +.notification_list p.notifications_time {
15761 + font-size: 0.9em !important;
15762 +}
15763 +
15764 +.notification_text {
15765 + margin-left: 58px;
15766 +}
15767 +
15768 +.badge {
15769 + border-radius: 10px;
15770 + opacity: 0.8;
15771 + text-align: center;
15772 + white-space: nowrap;
15773 + font-size: 10px;
15774 + line-height: 1;
15775 + float: right;
15776 + display: inline-block;
15777 + margin-left: 3px;
15778 + vertical-align: baseline;
15779 + position: relative;
15780 + top: 3px;
15781 + padding: 4px 6px;
15782 +}
15783 +
15784 +.badge.hidden {
15785 + display: none;
15786 +}
15787 +
15788 +/* Navbar specific list items
15789 +----------------------------------------*/
15790 +
15791 +.linklist .quick-links {
15792 + margin: 0 7px 0 0;
15793 +}
15794 +
15795 +.linklist.compact .rightside > a > span {
15796 + display: none;
15797 +}
15798 +
15799 +.dropdown-page-jump .dropdown {
15800 + top: 20px;
15801 +}
15802 +
15803 +.dropdown-page-jump.dropdown-up .dropdown {
15804 + bottom: 20px;
15805 +}
15806 +
15807 +.dropdown-page-jump input.tiny {
15808 + width: 50px;
15809 +}
15810 +
15811 +.dropdown .clone.hidden {
15812 + display: none;
15813 +}
15814 +
15815 +.dropdown .clone.hidden + li.separator {
15816 + display: none;
15817 +}
15818 +
15819 +.dropdown .clone.hidden + li {
15820 + border-top: none;
15821 +}
15822
15823 diff --git a/theme/content.css b/theme/content.css
15824 new file mode 100644
15825 index 000000000..807633864
15826 --- /dev/null
15827 +++ b/theme/content.css
15828 @@ -0,0 +1,855 @@
15829 +/* Content Styles
15830 +---------------------------------------- */
15831 +
15832 +ul.topiclist {
15833 + display: block;
15834 + list-style-type: none;
15835 + margin: 0;
15836 +}
15837 +
15838 +ul.topiclist li {
15839 + display: block;
15840 + list-style-type: none;
15841 + margin: 0;
15842 +}
15843 +
15844 +ul.topiclist dl {
15845 + position: relative;
15846 +}
15847 +
15848 +ul.topiclist li.row dl {
15849 + margin: 2px 0;
15850 +}
15851 +
15852 +ul.topiclist dt, ul.topiclist dd {
15853 + display: block;
15854 + float: left;
15855 +}
15856 +
15857 +ul.topiclist dt {
15858 + width: 100%;
15859 + margin-right: -440px;
15860 + font-size: 1.1em;
15861 +}
15862 +
15863 +ul.topiclist.missing-column dt {
15864 + margin-right: -345px;
15865 +}
15866 +
15867 +ul.topiclist.two-long-columns dt {
15868 + margin-right: -250px;
15869 +}
15870 +
15871 +ul.topiclist.two-columns dt {
15872 + margin-right: -80px;
15873 +}
15874 +
15875 +ul.topiclist dt .list-inner {
15876 + margin-right: 440px;
15877 + padding-left: 5px;
15878 + padding-right: 5px;
15879 +}
15880 +
15881 +ul.topiclist.missing-column dt .list-inner {
15882 + margin-right: 345px;
15883 +}
15884 +
15885 +ul.topiclist.two-long-columns dt .list-inner {
15886 + margin-right: 250px;
15887 +}
15888 +
15889 +ul.topiclist.two-columns dt .list-inner {
15890 + margin-right: 80px;
15891 +}
15892 +
15893 +ul.topiclist dd {
15894 + border-left: 1px solid transparent;
15895 + padding: 4px 0;
15896 + -webkit-box-sizing: border-box;
15897 + -moz-box-sizing: border-box;
15898 + box-sizing: border-box;
15899 +}
15900 +
15901 +ul.topiclist li.row dd {
15902 + padding: 4px 0 999px 0;
15903 + margin-bottom: -995px;
15904 +}
15905 +
15906 +ul.topiclist dfn {
15907 + /* Labels for post/view counts */
15908 + position: absolute;
15909 + left: -999px;
15910 + width: 990px;
15911 +}
15912 +
15913 +.forum-image {
15914 + float: left;
15915 + padding-top: 5px;
15916 + margin-right: 5px;
15917 +}
15918 +
15919 +li.row {
15920 + border-top: 1px solid transparent;
15921 + border-bottom: 1px solid transparent;
15922 +}
15923 +
15924 +li.row strong {
15925 + font-weight: normal;
15926 +}
15927 +
15928 +li.header dt, li.header dd {
15929 + line-height: 1em;
15930 + border-left-width: 0;
15931 + margin: 2px 0 4px 0;
15932 + padding-top: 2px;
15933 + padding-bottom: 2px;
15934 + font-size: 1em;
15935 + font-family: Arial, Helvetica, sans-serif;
15936 + text-transform: uppercase;
15937 +}
15938 +
15939 +li.header dt {
15940 + font-weight: bold;
15941 + width: 100%;
15942 + margin-right: -440px;
15943 +}
15944 +
15945 +li.header dt .list-inner {
15946 + margin-right: 440px;
15947 +}
15948 +
15949 +li.header dd {
15950 + padding-left: 1px;
15951 + -webkit-box-sizing: border-box;
15952 + -moz-box-sizing: border-box;
15953 + box-sizing: border-box;
15954 +}
15955 +
15956 +li.header dl.row-item dt, li.header dl.row-item dd {
15957 + min-height: 0;
15958 +}
15959 +
15960 +li.header dl.row-item dt .list-inner {
15961 + /* Tweak for headers alignment when folder icon used */
15962 + padding-left: 0;
15963 + padding-right: 50px;
15964 +}
15965 +
15966 +/* Forum list column styles */
15967 +.row .list-inner { padding: 4px 0; }
15968 +
15969 +dl.row-item {
15970 + background-position: 10px 50%; /* Position of folder icon */
15971 + background-repeat: no-repeat;
15972 + background-size: 32px;
15973 +}
15974 +
15975 +dl.row-item dt {
15976 + background-repeat: no-repeat;
15977 + background-position: 5px 95%; /* Position of topic icon */
15978 + background-size: 17px;
15979 +}
15980 +
15981 +dl.row-item dt .list-inner {
15982 + padding-left: 52px; /* Space for folder icon */
15983 +}
15984 +
15985 +dl.row-item dt, dl.row-item dd {
15986 + min-height: 35px;
15987 +}
15988 +
15989 +dl.row-item dt a {
15990 + display: inline;
15991 +}
15992 +
15993 +dl a.row-item-link { /* topic row icon links */
15994 + display: block;
15995 + width: 30px;
15996 + height: 30px;
15997 + padding: 0;
15998 + position: absolute;
15999 + top: 50%;
16000 + left: 0;
16001 + margin-top: -15px;
16002 + margin-left: 9px;
16003 +}
16004 +
16005 +dd.posts, dd.topics, dd.views, dd.extra, dd.mark {
16006 + width: 80px;
16007 + text-align: center;
16008 + line-height: 2.2em;
16009 + font-size: 1.2em;
16010 +}
16011 +
16012 +dd.posts, dd.topics, dd.views {
16013 + width: 95px;
16014 +}
16015 +
16016 +/* List in forum description */
16017 +dl.row-item dt ol,
16018 +dl.row-item dt ul {
16019 + list-style-position: inside;
16020 + margin-left: 1em;
16021 +}
16022 +
16023 +dl.row-item dt li {
16024 + display: list-item;
16025 + list-style-type: inherit;
16026 +}
16027 +
16028 +dd.lastpost, dd.redirect, dd.moderation, dd.time, dd.info {
16029 + width: 250px;
16030 + font-size: 1.1em;
16031 +}
16032 +
16033 +dd.redirect {
16034 + line-height: 2.5em;
16035 +}
16036 +
16037 +dd.time {
16038 + line-height: 200%;
16039 +}
16040 +
16041 +dd.lastpost > span, ul.topiclist dd.info > span, ul.topiclist dd.time > span, dd.redirect > span, dd.moderation > span {
16042 + display: block;
16043 + padding-left: 5px;
16044 +}
16045 +
16046 +dd.extra, dd.mark {
16047 + line-height: 200%;
16048 +}
16049 +
16050 +dd.option {
16051 + width: 125px;
16052 + line-height: 200%;
16053 + text-align: center;
16054 + font-size: 1.1em;
16055 +}
16056 +
16057 +/* Post body styles
16058 +----------------------------------------*/
16059 +.postbody {
16060 + padding: 0;
16061 + line-height: 1.48em;
16062 + width: 76%;
16063 + float: left;
16064 + position: relative;
16065 +}
16066 +
16067 +.postbody .ignore {
16068 + font-size: 1.1em;
16069 +}
16070 +
16071 +.postbody h3.first {
16072 + /* The first post on the page uses this */
16073 + font-size: 1.7em;
16074 +}
16075 +
16076 +.postbody h3 {
16077 + /* Postbody requires a different h3 format - so change it here */
16078 + float: left;
16079 + font-size: 1.5em;
16080 + padding: 2px 0 0 0;
16081 + margin-top: 0 !important;
16082 + margin-bottom: 0.3em !important;
16083 + text-transform: none;
16084 + border: none;
16085 + font-family: "Trebuchet MS", Verdana, Helvetica, Arial, sans-serif;
16086 + line-height: 125%;
16087 +}
16088 +
16089 +.postbody h3 img {
16090 + vertical-align: bottom;
16091 +}
16092 +
16093 +.has-profile .postbody h3 {
16094 + /* If there is a post-profile, we position the post-buttons differently */
16095 + float: none !important;
16096 + margin-right: 180px;
16097 +}
16098 +
16099 +.postbody .content {
16100 + font-size: 1.3em;
16101 + overflow-x: auto;
16102 +}
16103 +
16104 +.postbody img.postimage {
16105 + max-width: 100%;
16106 + -webkit-box-sizing: border-box;
16107 + -moz-box-sizing: border-box;
16108 + box-sizing: border-box;
16109 +}
16110 +
16111 +.search .postbody {
16112 + width: 68%
16113 +}
16114 +
16115 +/* Topic review panel
16116 +----------------------------------------*/
16117 +.panel .review {
16118 + margin-top: 2em;
16119 +}
16120 +
16121 +.topicreview {
16122 + padding-right: 5px;
16123 + overflow: auto;
16124 + height: 300px;
16125 +}
16126 +
16127 +.topicreview .postbody {
16128 + width: auto;
16129 + float: none;
16130 + margin: 0;
16131 + height: auto;
16132 +}
16133 +
16134 +.topicreview .post {
16135 + height: auto;
16136 +}
16137 +
16138 +.topicreview h2 {
16139 + border-bottom-width: 0;
16140 +}
16141 +
16142 +.post-ignore .postbody {
16143 + display: none;
16144 +}
16145 +
16146 +/* MCP Post details
16147 +----------------------------------------*/
16148 +.post_details {
16149 + /* This will only work in IE7+, plus the others */
16150 + overflow: auto;
16151 + max-height: 300px;
16152 +}
16153 +
16154 +/* Content container styles
16155 +----------------------------------------*/
16156 +.content {
16157 + clear: both;
16158 + min-height: 3em;
16159 + overflow: hidden;
16160 + line-height: 1.4em;
16161 + font-family: "Lucida Grande", "Trebuchet MS", Verdana, Helvetica, Arial, sans-serif;
16162 + font-size: 1em;
16163 + padding-bottom: 1px;
16164 +}
16165 +
16166 +.content h2, .panel h2 {
16167 + font-weight: normal;
16168 + border-bottom: 1px solid transparent;
16169 + font-size: 1.6em;
16170 + margin-top: 0.5em;
16171 + margin-bottom: 0.5em;
16172 + padding-bottom: 0.5em;
16173 +}
16174 +
16175 +.panel h3 {
16176 + margin: 0.5em 0;
16177 +}
16178 +
16179 +.panel p {
16180 + font-size: 1.2em;
16181 + margin-bottom: 1em;
16182 + line-height: 1.4em;
16183 +}
16184 +
16185 +.content p {
16186 + font-family: "Lucida Grande", "Trebuchet MS", Verdana, Helvetica, Arial, sans-serif;
16187 + font-size: 1.2em;
16188 + margin-bottom: 1em;
16189 + line-height: 1.4em;
16190 +}
16191 +
16192 +dl.faq {
16193 + font-family: "Lucida Grande", Verdana, Helvetica, Arial, sans-serif;
16194 + font-size: 1.1em;
16195 + margin-top: 1em;
16196 + margin-bottom: 2em;
16197 + line-height: 1.4em;
16198 +}
16199 +
16200 +dl.faq dt {
16201 + font-weight: bold;
16202 +}
16203 +
16204 +.content dl.faq {
16205 + font-size: 1.2em;
16206 + margin-bottom: 0.5em;
16207 +}
16208 +
16209 +.content li {
16210 + list-style-type: inherit;
16211 +}
16212 +
16213 +.content ul, .content ol {
16214 + margin: 0.8em 0 0.9em 3em;
16215 +}
16216 +
16217 +.posthilit {
16218 + padding: 0 2px 1px 2px;
16219 +}
16220 +
16221 +/* Post author */
16222 +p.author {
16223 + margin-bottom: 0.6em;
16224 + padding: 0 0 5px 0;
16225 + font-family: Verdana, Helvetica, Arial, sans-serif;
16226 + font-size: 1em;
16227 + line-height: 1.2em;
16228 + clear: both;
16229 +}
16230 +
16231 +/* Post signature */
16232 +.signature {
16233 + margin-top: 1.5em;
16234 + padding-top: 0.2em;
16235 + font-size: 1.1em;
16236 + border-top: 1px solid transparent;
16237 + clear: left;
16238 + line-height: 140%;
16239 + overflow: hidden;
16240 + width: 100%;
16241 +}
16242 +
16243 +.signature.standalone {
16244 + border-top-width: 0;
16245 + margin-top: 0;
16246 +}
16247 +
16248 +dd .signature {
16249 + margin: 0;
16250 + padding: 0;
16251 + clear: none;
16252 + border: none;
16253 +}
16254 +
16255 +.signature li {
16256 + list-style-type: inherit;
16257 +}
16258 +
16259 +.signature ul, .signature ol {
16260 + margin: 0.8em 0 0.9em 3em;
16261 +}
16262 +
16263 +/* Post noticies */
16264 +.notice {
16265 + font-family: "Lucida Grande", Verdana, Helvetica, Arial, sans-serif;
16266 + width: auto;
16267 + margin-top: 1.5em;
16268 + padding-top: 0.2em;
16269 + font-size: 1em;
16270 + border-top: 1px dashed transparent;
16271 + clear: left;
16272 + line-height: 130%;
16273 +}
16274 +
16275 +/* Jump to post link for now */
16276 +ul.searchresults {
16277 + list-style: none;
16278 + text-align: right;
16279 + clear: both;
16280 +}
16281 +
16282 +/* BB Code styles
16283 +----------------------------------------*/
16284 +/* Quote block */
16285 +blockquote {
16286 + border: 1px solid transparent;
16287 + font-size: 0.95em;
16288 + margin: 1em 1px 1em 25px;
16289 + overflow: hidden;
16290 + padding: 5px;
16291 +}
16292 +
16293 +blockquote blockquote {
16294 + /* Nested quotes */
16295 + font-size: 1em;
16296 + margin: 1em 1px 1em 15px;
16297 +}
16298 +
16299 +blockquote cite {
16300 + /* Username/source of quoter */
16301 + font-style: normal;
16302 + font-weight: bold;
16303 + display: block;
16304 + font-size: 0.9em;
16305 +}
16306 +
16307 +blockquote cite cite {
16308 + font-size: 1em;
16309 +}
16310 +
16311 +blockquote cite:before, .uncited:before {
16312 + padding-right: 5px;
16313 +}
16314 +
16315 +blockquote cite > div {
16316 + float: right;
16317 + font-weight: normal;
16318 +}
16319 +
16320 +.postbody .content li blockquote {
16321 + overflow: inherit;
16322 + margin-left: 0;
16323 +}
16324 +
16325 +/* Code block */
16326 +.codebox {
16327 + border: 1px solid transparent;
16328 + font-size: 1em;
16329 + margin: 1em 0 1.2em 0;
16330 + word-wrap: normal;
16331 +}
16332 +
16333 +.codebox p {
16334 + text-transform: uppercase;
16335 + border-bottom: 1px solid transparent;
16336 + margin-bottom: 0;
16337 + padding: 3px;
16338 + font-size: 0.8em !important;
16339 + font-weight: bold;
16340 + display: block;
16341 +}
16342 +
16343 +blockquote .codebox {
16344 + margin-left: 0;
16345 +}
16346 +
16347 +.codebox code {
16348 + overflow: auto;
16349 + display: block;
16350 + height: auto;
16351 + max-height: 200px;
16352 + padding: 5px 3px;
16353 + font: 0.9em Monaco, "Andale Mono","Courier New", Courier, monospace;
16354 + line-height: 1.3em;
16355 +}
16356 +
16357 +/* Attachments
16358 +----------------------------------------*/
16359 +.attachbox {
16360 + font-size: 13px;
16361 + float: left;
16362 + width: auto;
16363 + max-width: 100%;
16364 + margin: 5px 5px 5px 0;
16365 + padding: 6px;
16366 + border: 1px dashed transparent;
16367 + clear: left;
16368 + -webkit-box-sizing: border-box;
16369 + -moz-box-sizing: border-box;
16370 + box-sizing: border-box;
16371 +}
16372 +
16373 +.attachbox dt {
16374 + font-family: Arial, Helvetica, sans-serif;
16375 + text-transform: uppercase;
16376 +}
16377 +
16378 +.attachbox dd {
16379 + margin-top: 4px;
16380 + padding-top: 4px;
16381 + clear: left;
16382 + border-top: 1px solid transparent;
16383 + overflow-x: auto;
16384 +}
16385 +
16386 +.attachbox dd dd {
16387 + border: none;
16388 +}
16389 +
16390 +.attachbox p {
16391 + line-height: 110%;
16392 + font-weight: normal;
16393 + clear: left;
16394 +}
16395 +
16396 +.attachbox p.stats
16397 +{
16398 + line-height: 110%;
16399 + font-weight: normal;
16400 + clear: left;
16401 +}
16402 +
16403 +.attach-image {
16404 + margin: 3px 0;
16405 + max-width: 100%;
16406 +}
16407 +
16408 +.attach-image img {
16409 + border: 1px solid transparent;
16410 +/* cursor: move; */
16411 + cursor: default;
16412 +}
16413 +
16414 +/* Inline image thumbnails */
16415 +div.inline-attachment dl.thumbnail, div.inline-attachment dl.file {
16416 + display: block;
16417 + margin-bottom: 4px;
16418 +}
16419 +
16420 +div.inline-attachment p {
16421 + font-size: 100%;
16422 +}
16423 +
16424 +dl.file {
16425 + font-family: Verdana, Arial, Helvetica, sans-serif;
16426 + display: block;
16427 +}
16428 +
16429 +dl.file dt {
16430 + text-transform: none;
16431 + margin: 0;
16432 + padding: 0;
16433 + font-weight: bold;
16434 + font-family: Verdana, Arial, Helvetica, sans-serif;
16435 +}
16436 +
16437 +dl.file dd {
16438 + margin: 0;
16439 + padding: 0;
16440 +}
16441 +
16442 +dl.thumbnail img {
16443 + padding: 3px;
16444 + border: 1px solid transparent;
16445 + box-sizing: border-box;
16446 +}
16447 +
16448 +dl.thumbnail dd {
16449 + font-style: italic;
16450 + font-family: Verdana, Arial, Helvetica, sans-serif;
16451 +}
16452 +
16453 +.attachbox dl.thumbnail dd {
16454 + font-size: 100%;
16455 +}
16456 +
16457 +dl.thumbnail dt a:hover img {
16458 + border: 1px solid transparent;
16459 +}
16460 +
16461 +/* Post poll styles
16462 +----------------------------------------*/
16463 +fieldset.polls {
16464 + font-family: "Trebuchet MS", Verdana, Helvetica, Arial, sans-serif;
16465 +}
16466 +
16467 +fieldset.polls dl {
16468 + margin-top: 5px;
16469 + border-top: 1px solid transparent;
16470 + padding: 5px 0 0 0;
16471 + line-height: 120%;
16472 +}
16473 +
16474 +fieldset.polls dl.voted {
16475 + font-weight: bold;
16476 +}
16477 +
16478 +fieldset.polls dt {
16479 + text-align: left;
16480 + float: left;
16481 + display: block;
16482 + width: 30%;
16483 + border-right: none;
16484 + padding: 0;
16485 + margin: 0;
16486 + font-size: 1.1em;
16487 +}
16488 +
16489 +fieldset.polls dd {
16490 + float: left;
16491 + width: 10%;
16492 + border-left: none;
16493 + padding: 0 5px;
16494 + margin-left: 0;
16495 + font-size: 1.1em;
16496 +}
16497 +
16498 +fieldset.polls dd.resultbar {
16499 + width: 50%;
16500 +}
16501 +
16502 +fieldset.polls dd input {
16503 + margin: 2px 0;
16504 +}
16505 +
16506 +fieldset.polls dd div {
16507 + text-align: right;
16508 + font-family: Arial, Helvetica, sans-serif;
16509 + font-weight: bold;
16510 + padding: 2px 2px 0 2px;
16511 + overflow: visible;
16512 + min-width: 8px;
16513 +}
16514 +
16515 +.pollbar1, .pollbar2, .pollbar3, .pollbar4, .pollbar5 {
16516 + border-bottom: 1px solid transparent;
16517 + border-right: 1px solid transparent;
16518 +}
16519 +
16520 +.vote-submitted {
16521 + font-size: 1.2em;
16522 + font-weight: bold;
16523 + text-align: center;
16524 +}
16525 +
16526 +/* Poster profile block
16527 +----------------------------------------*/
16528 +.postprofile {
16529 + margin: 5px 0 10px 0;
16530 + min-height: 80px;
16531 + border: 1px solid transparent;
16532 + border-width: 0 0 0 1px;
16533 + width: 22%;
16534 + float: right;
16535 + display: inline;
16536 +}
16537 +
16538 +.postprofile dd, .postprofile dt {
16539 + line-height: 1.2em;
16540 + margin-left: 8px;
16541 +}
16542 +
16543 +.postprofile dd {
16544 + overflow: hidden;
16545 + text-overflow: ellipsis;
16546 +}
16547 +
16548 +.postprofile strong {
16549 + font-weight: normal;
16550 +}
16551 +
16552 +.postprofile dt.no-profile-rank, .postprofile dd.profile-rank, .postprofile .search-result-date {
16553 + margin-bottom: 10px;
16554 +}
16555 +
16556 +/* Post-profile avatars */
16557 +.postprofile .has-avatar .avatar-container {
16558 + margin-bottom: 3px;
16559 + overflow: hidden;
16560 +}
16561 +
16562 +.postprofile .avatar {
16563 + display: block;
16564 + float: left;
16565 + max-width: 100%;
16566 +}
16567 +
16568 +.postprofile .avatar img {
16569 + display: block;
16570 + height: auto !important;
16571 + max-width: 100%;
16572 +}
16573 +
16574 +.postprofile .profile-posts a {
16575 + font-weight: normal;
16576 +}
16577 +
16578 +dd.profile-warnings {
16579 + font-weight: bold;
16580 +}
16581 +
16582 +dd.profile-contact {
16583 + overflow: visible;
16584 +}
16585 +
16586 +.profile-contact .dropdown-container {
16587 + display: inline-block;
16588 +}
16589 +
16590 +.profile-contact .icon_contact {
16591 + vertical-align: middle;
16592 +}
16593 +
16594 +.profile-contact .dropdown {
16595 + margin-right: -14px;
16596 +}
16597 +
16598 +.online {
16599 + background-image: none;
16600 + background-position: 100% 0;
16601 + background-repeat: no-repeat;
16602 +}
16603 +
16604 +/* Poster profile used by search*/
16605 +.search .postprofile {
16606 + width: 30%;
16607 +}
16608 +
16609 +/* Profile used on view-profile */
16610 +.profile-avatar img {
16611 + max-width: 100%;
16612 +}
16613 +
16614 +/* pm list in compose message if mass pm is enabled */
16615 +dl.pmlist dt {
16616 + width: 60% !important;
16617 +}
16618 +
16619 +dl.pmlist dt textarea {
16620 + width: 95%;
16621 +}
16622 +
16623 +dl.pmlist dd {
16624 + margin-left: 61% !important;
16625 + margin-bottom: 2px;
16626 +}
16627 +
16628 +.action-bar div.dl_links {
16629 + padding: 10px 0 0 10px;
16630 +}
16631 +
16632 +div.dl_links {
16633 + display: inline-block;
16634 + text-transform: none;
16635 +}
16636 +
16637 +.dl_links strong {
16638 + font-weight: bold;
16639 +}
16640 +
16641 +.dl_links ul {
16642 + list-style-type: none;
16643 + margin: 0;
16644 + display: inline-block;
16645 +}
16646 +
16647 +.dl_links li {
16648 + display: inline-block;
16649 +}
16650 +
16651 +.attachment-filename {
16652 + width: 100%;
16653 +}
16654 +
16655 +.ellipsis-text {
16656 + display: inline-block;
16657 + overflow: hidden;
16658 + text-overflow: ellipsis;
16659 + white-space: nowrap;
16660 +}
16661 +
16662 +table.fixed-width-table {
16663 + table-layout: fixed;
16664 +}
16665 +
16666 +/* Show scrollbars for items with overflow on iOS devices
16667 +----------------------------------------*/
16668 +.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 {
16669 + width: 8px;
16670 + height: 8px;
16671 + -webkit-appearance: none;
16672 + background: rgba(0, 0, 0, .1);
16673 + border-radius: 3px;
16674 +}
16675 +
16676 +.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 {
16677 + background: rgba(0, 0, 0, .3);
16678 + border-radius: 3px;
16679 +}
16680 +
16681 +#memberlist tr.inactive, #team tr.inactive {
16682 + font-style: italic;
16683 +}
16684
16685 diff --git a/theme/cp.css b/theme/cp.css
16686 new file mode 100644
16687 index 000000000..004141702
16688 --- /dev/null
16689 +++ b/theme/cp.css
16690 @@ -0,0 +1,375 @@
16691 +/* Control Panel Styles
16692 +---------------------------------------- */
16693 +
16694 +
16695 +/* Main CP box
16696 +----------------------------------------*/
16697 +.cp-menu {
16698 + float:left;
16699 + width: 19%;
16700 + margin-top: 1em;
16701 + margin-bottom: 5px;
16702 +}
16703 +
16704 +.cp-main {
16705 + float: left;
16706 + width: 81%;
16707 +}
16708 +
16709 +.cp-main .content {
16710 + padding: 0;
16711 +}
16712 +
16713 +.panel-container .panel p {
16714 + font-size: 1.1em;
16715 +}
16716 +
16717 +.panel-container .panel ol {
16718 + margin-left: 2em;
16719 + font-size: 1.1em;
16720 +}
16721 +
16722 +.panel-container .panel li.row {
16723 + border-bottom: 1px solid transparent;
16724 + border-top: 1px solid transparent;
16725 +}
16726 +
16727 +ul.cplist {
16728 + margin-bottom: 5px;
16729 + border-top: 1px solid transparent;
16730 +}
16731 +
16732 +.panel-container .panel li.header dd, .panel-container .panel li.header dt {
16733 + margin-bottom: 2px;
16734 +}
16735 +
16736 +.panel-container table.table1 {
16737 + margin-bottom: 1em;
16738 +}
16739 +
16740 +.panel-container table.table1 thead th {
16741 + font-weight: bold;
16742 + border-bottom: 1px solid transparent;
16743 + padding: 5px;
16744 +}
16745 +
16746 +.panel-container table.table1 tbody th {
16747 + font-style: italic;
16748 + background-color: transparent !important;
16749 + border-bottom: none;
16750 +}
16751 +
16752 +.cp-main .pm-message {
16753 + border: 1px solid transparent;
16754 + margin: 10px 0;
16755 + width: auto;
16756 + float: none;
16757 +}
16758 +
16759 +.pm-message h2 {
16760 + padding-bottom: 5px;
16761 +}
16762 +
16763 +.cp-main .postbody h3, .cp-main .box2 h3 {
16764 + margin-top: 0;
16765 +}
16766 +
16767 +.panel-container .postbody p.author {
16768 + font-size: 1.1em;
16769 +}
16770 +
16771 +.cp-main .buttons {
16772 + margin-left: 0;
16773 +}
16774 +
16775 +.cp-main ul.linklist {
16776 + margin: 0;
16777 +}
16778 +
16779 +/* MCP Specific tweaks */
16780 +.mcp-main .postbody {
16781 + width: 100%;
16782 +}
16783 +
16784 +.tabs-container h2 {
16785 + float: left;
16786 + margin-bottom: 0px;
16787 +}
16788 +
16789 +/* CP tabs shared
16790 +----------------------------------------*/
16791 +.tabs, .minitabs {
16792 + line-height: normal;
16793 +}
16794 +
16795 +.tabs > ul, .minitabs > ul {
16796 + list-style: none;
16797 + margin: 0;
16798 + padding: 0;
16799 + position: relative;
16800 +}
16801 +
16802 +.tabs .tab, .minitabs .tab {
16803 + display: block;
16804 + float: left;
16805 + font-size: 1em;
16806 + font-weight: bold;
16807 + line-height: 1.4em;
16808 +}
16809 +
16810 +.tabs .tab > a, .minitabs .tab > a {
16811 + display: block;
16812 + padding: 5px 9px;
16813 + position: relative;
16814 + text-decoration: none;
16815 + white-space: nowrap;
16816 + cursor: pointer;
16817 +}
16818 +
16819 +/* CP tabbed menu
16820 +----------------------------------------*/
16821 +.tabs {
16822 + margin: 20px 0 0 7px;
16823 +}
16824 +
16825 +.tabs .tab > a {
16826 + border: 1px solid transparent;
16827 + border-radius: 4px 4px 0 0;
16828 + margin: 1px 1px 0 0;
16829 +}
16830 +
16831 +.tabs .activetab > a {
16832 + margin-top: 0;
16833 + padding-bottom: 7px;
16834 +}
16835 +
16836 +/* Mini tabbed menu used in MCP
16837 +----------------------------------------*/
16838 +.minitabs {
16839 + float: right;
16840 + margin: 15px 7px 0 0;
16841 + max-width: 50%;
16842 +}
16843 +
16844 +.minitabs .tab {
16845 + float: right;
16846 +}
16847 +
16848 +.minitabs .tab > a {
16849 + border-radius: 5px 5px 0 0;
16850 + margin-left: 2px;
16851 +}
16852 +
16853 +.minitabs .tab > a:hover {
16854 + text-decoration: none;
16855 +}
16856 +
16857 +/* Responsive tabs
16858 +----------------------------------------*/
16859 +.responsive-tab {
16860 + position: relative;
16861 +}
16862 +
16863 +.responsive-tab > a.responsive-tab-link {
16864 + display: block;
16865 + font-size: 1.6em;
16866 + position: relative;
16867 + width: 16px;
16868 + line-height: 0.9em;
16869 + text-decoration: none;
16870 +}
16871 +
16872 +.responsive-tab .responsive-tab-link:before {
16873 + content: '';
16874 + position: absolute;
16875 + left: 10px;
16876 + top: 7px;
16877 + height: .125em;
16878 + width: 14px;
16879 + border-bottom: 0.125em solid transparent;
16880 + border-top: 0.375em double transparent;
16881 +}
16882 +
16883 +.tabs .dropdown, .minitabs .dropdown {
16884 + top: 20px;
16885 + margin-right: -2px;
16886 + font-size: 1.1em;
16887 + font-weight: normal;
16888 +}
16889 +
16890 +.minitabs .dropdown {
16891 + margin-right: -4px;
16892 +}
16893 +
16894 +.tabs .dropdown-up .dropdown, .minitabs .dropdown-up .dropdown {
16895 + bottom: 20px;
16896 + top: auto;
16897 +}
16898 +
16899 +.tabs .dropdown li {
16900 + text-align: right;
16901 +}
16902 +
16903 +.minitabs .dropdown li {
16904 + text-align: left;
16905 +}
16906 +
16907 +/* UCP navigation menu
16908 +----------------------------------------*/
16909 +/* Container for sub-navigation list */
16910 +.navigation {
16911 + width: 100%;
16912 + padding-top: 36px;
16913 +}
16914 +
16915 +.navigation ul {
16916 + list-style: none;
16917 +}
16918 +
16919 +/* Default list state */
16920 +.navigation li {
16921 + display: inline;
16922 + font-weight: bold;
16923 + margin: 1px 0;
16924 + padding: 0;
16925 +}
16926 +
16927 +/* Link styles for the sub-section links */
16928 +.navigation a {
16929 + display: block;
16930 + padding: 5px;
16931 + margin: 1px 0;
16932 + text-decoration: none;
16933 +}
16934 +
16935 +.navigation a:hover {
16936 + text-decoration: none;
16937 +}
16938 +
16939 +/* Preferences pane layout
16940 +----------------------------------------*/
16941 +.cp-main h2 {
16942 + border-bottom: none;
16943 + padding: 0;
16944 + margin-left: 10px;
16945 +}
16946 +
16947 +/* Friends list */
16948 +.cp-mini {
16949 + margin: 10px 15px 10px 5px;
16950 + max-height: 200px;
16951 + overflow-y: auto;
16952 + padding: 5px 10px;
16953 + border-radius: 7px;
16954 +}
16955 +
16956 +dl.mini dt {
16957 + font-weight: bold;
16958 +}
16959 +
16960 +dl.mini dd {
16961 + padding-top: 4px;
16962 +}
16963 +
16964 +.friend-online {
16965 + font-weight: bold;
16966 +}
16967 +
16968 +.friend-offline {
16969 + font-style: italic;
16970 +}
16971 +
16972 +/* PM Styles
16973 +----------------------------------------*/
16974 +/* Defined rules list for PM options */
16975 +ol.def-rules {
16976 + padding-left: 0;
16977 +}
16978 +
16979 +ol.def-rules li {
16980 + line-height: 180%;
16981 + padding: 1px;
16982 +}
16983 +
16984 +/* PM marking colours */
16985 +.pmlist li.bg1 {
16986 + padding: 0 3px;
16987 +}
16988 +
16989 +.pmlist li.bg2 {
16990 + padding: 0 3px;
16991 +}
16992 +
16993 +/* DEPRECATED 3.2.6
16994 +.pmlist li.pm_message_reported_colour, .pm_message_reported_colour {
16995 + border-left-color: transparent;
16996 + border-right-color: transparent;
16997 +}
16998 +*/
16999 +
17000 +.pmlist li.pm_message_reported_colour, .pm_message_reported_colour,
17001 +.pmlist li.pm_marked_colour, .pm_marked_colour,
17002 +.pmlist li.pm_replied_colour, .pm_replied_colour,
17003 +.pmlist li.pm_friend_colour, .pm_friend_colour,
17004 +.pmlist li.pm_foe_colour, .pm_foe_colour {
17005 + padding: 0;
17006 + border: solid 3px transparent;
17007 + border-width: 0 3px;
17008 +}
17009 +
17010 +.pm-legend {
17011 + border-left-width: 10px;
17012 + border-left-style: solid;
17013 + border-right-width: 0;
17014 + margin-bottom: 3px;
17015 + padding-left: 3px;
17016 +}
17017 +
17018 +/* Avatar gallery */
17019 +.gallery label {
17020 + position: relative;
17021 + float: left;
17022 + margin: 10px;
17023 + padding: 5px;
17024 + width: auto;
17025 + border: 1px solid transparent;
17026 + text-align: center;
17027 +}
17028 +
17029 +/* Responsive *CP navigation
17030 +----------------------------------------*/
17031 +@media only screen and (max-width: 900px), only screen and (max-device-width: 900px)
17032 +{
17033 + .nojs .tabs a span, .nojs .minitabs a span {
17034 + max-width: 40px;
17035 + overflow: hidden;
17036 + text-overflow: ellipsis;
17037 + letter-spacing: -.5px;
17038 + }
17039 +
17040 + .cp-menu, .navigation, .cp-main {
17041 + float: none;
17042 + width: auto;
17043 + margin: 0;
17044 + }
17045 +
17046 + .navigation {
17047 + padding: 0;
17048 + margin: 0 auto;
17049 + max-width: 320px;
17050 + }
17051 +
17052 + .navigation a {
17053 + background-image: none;
17054 + }
17055 +
17056 + .navigation li:first-child a {
17057 + border-top-left-radius: 5px;
17058 + border-top-right-radius: 5px;
17059 + }
17060 +
17061 + .navigation li:last-child a {
17062 + border-bottom-left-radius: 5px;
17063 + border-bottom-right-radius: 5px;
17064 + }
17065 +}
17066
17067 diff --git a/theme/en/icon_user_online.gif b/theme/en/icon_user_online.gif
17068 new file mode 100644
17069 index 000000000..6b571ffce
17070 Binary files /dev/null and b/theme/en/icon_user_online.gif differ
17071
17072 diff --git a/theme/en/stylesheet.css b/theme/en/stylesheet.css
17073 new file mode 100644
17074 index 000000000..604b29948
17075 --- /dev/null
17076 +++ b/theme/en/stylesheet.css
17077 @@ -0,0 +1,2 @@
17078 +/* Online image */
17079 +.online { background-image: url("./icon_user_online.gif"); }
17080
17081 diff --git a/theme/forms.css b/theme/forms.css
17082 new file mode 100644
17083 index 000000000..5646a7d6c
17084 --- /dev/null
17085 +++ b/theme/forms.css
17086 @@ -0,0 +1,429 @@
17087 +/* Form Styles
17088 +---------------------------------------- */
17089 +
17090 +/* General form styles
17091 +----------------------------------------*/
17092 +fieldset {
17093 + border-width: 0;
17094 + font-family: Verdana, Helvetica, Arial, sans-serif;
17095 + font-size: 1.1em;
17096 +}
17097 +
17098 +input {
17099 + font-weight: normal;
17100 + vertical-align: middle;
17101 + padding: 0 3px;
17102 + font-size: 1em;
17103 + font-family: Verdana, Helvetica, Arial, sans-serif;
17104 +}
17105 +
17106 +select {
17107 + font-family: Verdana, Helvetica, Arial, sans-serif;
17108 + font-weight: normal;
17109 + cursor: pointer;
17110 + vertical-align: middle;
17111 + border: 1px solid transparent;
17112 + padding: 1px;
17113 + font-size: 1em;
17114 +}
17115 +
17116 +select:focus {
17117 + outline-style: none;
17118 +}
17119 +
17120 +option {
17121 + padding-right: 1em;
17122 +}
17123 +
17124 +select optgroup option {
17125 + padding-right: 1em;
17126 + font-family: Verdana, Helvetica, Arial, sans-serif;
17127 +}
17128 +
17129 +textarea {
17130 + font-family: "Lucida Grande", Verdana, Helvetica, Arial, sans-serif;
17131 + width: 60%;
17132 + padding: 2px;
17133 + font-size: 1em;
17134 + line-height: 1.4em;
17135 +}
17136 +
17137 +label {
17138 + cursor: default;
17139 + padding-right: 5px;
17140 +}
17141 +
17142 +label input {
17143 + vertical-align: middle;
17144 +}
17145 +
17146 +label img {
17147 + vertical-align: middle;
17148 +}
17149 +
17150 +/* Definition list layout for forms
17151 +---------------------------------------- */
17152 +fieldset dl {
17153 + padding: 4px 0;
17154 +}
17155 +
17156 +fieldset dt {
17157 + float: left;
17158 + width: 40%;
17159 + text-align: left;
17160 + display: block;
17161 +}
17162 +
17163 +fieldset dd {
17164 + margin-left: 41%;
17165 + vertical-align: top;
17166 + margin-bottom: 3px;
17167 +}
17168 +
17169 +/* Specific layout 1 */
17170 +fieldset.fields1 dt {
17171 + width: 15em;
17172 + border-right-width: 0;
17173 +}
17174 +
17175 +fieldset.fields1 dd {
17176 + margin-left: 15em;
17177 + border-left-width: 0;
17178 +}
17179 +
17180 +fieldset.fields1 div {
17181 + margin-bottom: 3px;
17182 +}
17183 +
17184 +/* Set it back to 0px for the reCaptcha divs: PHPBB3-9587 */
17185 +fieldset.fields1 .live-search div {
17186 + margin-bottom: 0;
17187 +}
17188 +
17189 +/* Specific layout 2 */
17190 +fieldset.fields2 dt {
17191 + width: 15em;
17192 + border-right-width: 0;
17193 +}
17194 +
17195 +fieldset.fields2 dd {
17196 + margin-left: 16em;
17197 + border-left-width: 0;
17198 +}
17199 +
17200 +/* Form elements */
17201 +dt label {
17202 + font-weight: bold;
17203 + text-align: left;
17204 +}
17205 +
17206 +dd label {
17207 + white-space: nowrap;
17208 +}
17209 +
17210 +dd input, dd textarea {
17211 + margin-right: 3px;
17212 +}
17213 +
17214 +dd select {
17215 + width: auto;
17216 +}
17217 +
17218 +dd select[multiple] {
17219 + width: 100%;
17220 +}
17221 +
17222 +dd textarea {
17223 + width: 85%;
17224 +}
17225 +
17226 +/* Hover effects */
17227 +.timezone {
17228 + width: 95%;
17229 +}
17230 +
17231 +/* Browser-specific tweaks */
17232 +button::-moz-focus-inner {
17233 + padding: 0;
17234 + border: 0
17235 +}
17236 +
17237 +/* Quick-login on index page */
17238 +fieldset.quick-login {
17239 + margin-top: 5px;
17240 +}
17241 +
17242 +fieldset.quick-login input {
17243 + width: auto;
17244 +}
17245 +
17246 +fieldset.quick-login input.inputbox {
17247 + width: 15%;
17248 + vertical-align: middle;
17249 + margin-right: 5px;
17250 +}
17251 +
17252 +fieldset.quick-login label {
17253 + white-space: nowrap;
17254 + padding-right: 2px;
17255 +}
17256 +
17257 +/* Display options on viewtopic/viewforum pages */
17258 +fieldset.display-options {
17259 + text-align: center;
17260 + margin: 3px 0 5px 0;
17261 +}
17262 +
17263 +fieldset.display-options label {
17264 + white-space: nowrap;
17265 + padding-right: 2px;
17266 +}
17267 +
17268 +fieldset.display-options a {
17269 + margin-top: 3px;
17270 +}
17271 +
17272 +.dropdown fieldset.display-options {
17273 + font-size: 1em;
17274 + margin: 0;
17275 + padding: 0;
17276 +}
17277 +
17278 +.dropdown fieldset.display-options label {
17279 + display: block;
17280 + margin: 4px;
17281 + padding: 0;
17282 + text-align: right;
17283 + white-space: nowrap;
17284 +}
17285 +
17286 +.dropdown fieldset.display-options select {
17287 + min-width: 120px;
17288 +}
17289 +
17290 +/* Display actions for ucp and mcp pages */
17291 +fieldset.display-actions {
17292 + text-align: right;
17293 + line-height: 2em;
17294 + white-space: nowrap;
17295 + padding-right: 1em;
17296 +}
17297 +
17298 +fieldset.display-actions label {
17299 + white-space: nowrap;
17300 + padding-right: 2px;
17301 +}
17302 +
17303 +fieldset.sort-options {
17304 + line-height: 2em;
17305 +}
17306 +
17307 +/* MCP forum selection*/
17308 +fieldset.forum-selection {
17309 + margin: 5px 0 3px 0;
17310 + float: right;
17311 +}
17312 +
17313 +fieldset.forum-selection2 {
17314 + margin: 13px 0 3px 0;
17315 + float: right;
17316 +}
17317 +
17318 +/* Submit button fieldset */
17319 +fieldset.submit-buttons {
17320 + text-align: center;
17321 + vertical-align: middle;
17322 + margin: 5px 0;
17323 +}
17324 +
17325 +fieldset.submit-buttons input {
17326 + vertical-align: middle;
17327 +}
17328 +
17329 +/* Posting page styles
17330 +----------------------------------------*/
17331 +
17332 +/* Buttons used in the editor */
17333 +.format-buttons {
17334 + margin: 15px 0 2px 0;
17335 +}
17336 +
17337 +.format-buttons input, .format-buttons select {
17338 + vertical-align: middle;
17339 +}
17340 +
17341 +/* Main message box */
17342 +.message-box {
17343 + width: 80%;
17344 +}
17345 +
17346 +.message-box textarea {
17347 + font-family: "Trebuchet MS", Verdana, Helvetica, Arial, sans-serif;
17348 + width: 450px;
17349 + height: 270px;
17350 + min-width: 100%;
17351 + max-width: 100%;
17352 + font-size: 1.2em;
17353 + resize: vertical;
17354 + outline: 3px dashed transparent;
17355 + outline-offset: -4px;
17356 + -webkit-transition: all .5s ease, height 1ms linear;
17357 + -moz-transition: all .5s ease, height 1ms linear;
17358 + -ms-transition: all .5s ease, height 1ms linear;
17359 + -o-transition: all .5s ease, height 1ms linear;
17360 + transition: all .5s ease, height 1ms linear;
17361 +}
17362 +
17363 +/* Emoticons panel */
17364 +.smiley-box {
17365 + width: 18%;
17366 + float: right;
17367 +}
17368 +
17369 +.smiley-box img {
17370 + margin: 3px;
17371 +}
17372 +
17373 +/* Input field styles
17374 +---------------------------------------- */
17375 +.inputbox {
17376 + border: 1px solid transparent;
17377 + padding: 2px;
17378 +}
17379 +
17380 +.inputbox:hover, .inputbox:focus {
17381 + border: 1px solid transparent;
17382 + outline-style: none;
17383 +}
17384 +
17385 +input.inputbox { width: 85%; }
17386 +input.medium { width: 50%; }
17387 +input.narrow { width: 25%; }
17388 +input.tiny { width: 150px; }
17389 +
17390 +textarea.inputbox {
17391 + width: 85%;
17392 +}
17393 +
17394 +.autowidth {
17395 + width: auto !important;
17396 +}
17397 +
17398 +input[type="number"] {
17399 + -moz-padding-end: 0;
17400 +}
17401 +
17402 +input[type="search"] {
17403 + -webkit-appearance: textfield;
17404 + -webkit-box-sizing: content-box;
17405 +}
17406 +
17407 +input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-results-button, input[type="search"]::-webkit-search-results-decoration {
17408 + display: none;
17409 +}
17410 +
17411 +input[type="search"]::-webkit-search-cancel-button {
17412 + cursor: pointer;
17413 +}
17414 +
17415 +/* Form button styles
17416 +---------------------------------------- */
17417 +input.button1, input.button2 {
17418 + font-size: 1em;
17419 +}
17420 +
17421 +a.button1, input.button1, input.button3, a.button2, input.button2 {
17422 + width: auto !important;
17423 + padding-top: 1px;
17424 + padding-bottom: 1px;
17425 + font-family: "Lucida Grande", Verdana, Helvetica, Arial, sans-serif;
17426 + background: transparent none repeat-x top left;
17427 + line-height: 1.5;
17428 +}
17429 +
17430 +a.button1, input.button1 {
17431 + font-weight: bold;
17432 + border: 1px solid transparent;
17433 +}
17434 +
17435 +input.button3 {
17436 + padding: 0;
17437 + margin: 0;
17438 + line-height: 5px;
17439 + height: 12px;
17440 + background-image: none;
17441 + font-variant: small-caps;
17442 +}
17443 +
17444 +input[type="button"], input[type="submit"], input[type="reset"], input[type="checkbox"], input[type="radio"] {
17445 + cursor: pointer;
17446 +}
17447 +
17448 +/* Alternative button */
17449 +a.button2, input.button2, input.button3 {
17450 + border: 1px solid transparent;
17451 +}
17452 +
17453 +/* <a> button in the style of the form buttons */
17454 +a.button1, a.button2 {
17455 + text-decoration: none;
17456 + padding: 0 3px;
17457 + vertical-align: text-bottom;
17458 +}
17459 +
17460 +/* Hover states */
17461 +a.button1:hover, input.button1:hover, a.button2:hover, input.button2:hover, input.button3:hover {
17462 + border: 1px solid transparent;
17463 +}
17464 +
17465 +input.disabled {
17466 + font-weight: normal;
17467 +}
17468 +
17469 +/* Focus states */
17470 +input.button1:focus, input.button2:focus, input.button3:focus {
17471 + outline-style: none;
17472 +}
17473 +
17474 +/* Topic and forum Search */
17475 +.search-box {
17476 + float: left;
17477 +}
17478 +
17479 +.search-box .inputbox {
17480 + background-image: none;
17481 + border-right-width: 0;
17482 + border-radius: 4px 0 0 4px;
17483 + float: left;
17484 + height: 24px;
17485 + padding: 3px;
17486 + -webkit-box-sizing: border-box;
17487 + -moz-box-sizing: border-box;
17488 + box-sizing: border-box;
17489 +}
17490 +
17491 +/* Search box (header)
17492 +--------------------------------------------- */
17493 +.search-header {
17494 + border-radius: 4px;
17495 + display: block;
17496 + float: right;
17497 + margin-right: 5px;
17498 + margin-top: 30px;
17499 +}
17500 +
17501 +.search-header .inputbox { border: 0; }
17502 +
17503 +.navbar .linklist > li.responsive-search { display: none; }
17504 +
17505 +input.search {
17506 + background-image: none;
17507 + background-repeat: no-repeat;
17508 + background-position: left 1px;
17509 + padding-left: 17px;
17510 +}
17511 +
17512 +.full { width: 95%; }
17513 +.medium { width: 50%;}
17514 +.narrow { width: 25%;}
17515 +.tiny { width: 10%;}
17516
17517 diff --git a/theme/icons.css b/theme/icons.css
17518 new file mode 100644
17519 index 000000000..6643f12d0
17520 --- /dev/null
17521 +++ b/theme/icons.css
17522 @@ -0,0 +1,96 @@
17523 +/* --------------------------------------------------------------
17524 + $Icons
17525 +-------------------------------------------------------------- */
17526 +
17527 +/* Global module setup
17528 +--------------------------------*/
17529 +
17530 +/* Renamed version of .fa class for agnostic useage of icon fonts.
17531 + * Just change the name of the font after the 14/1 to the name of
17532 + * the font you wish to use.
17533 + */
17534 +.icon, .button .icon, blockquote cite:before, .uncited:before {
17535 + display: inline-block;
17536 + font-weight: normal;
17537 + font-style: normal;
17538 + font-variant: normal;
17539 + font-family: FontAwesome;
17540 + font-size: 14px;
17541 + line-height: 1;
17542 + text-rendering: auto; /* optimizelegibility throws things off #1094 */
17543 + -webkit-font-smoothing: antialiased;
17544 + -moz-osx-font-smoothing: grayscale;
17545 +}
17546 +
17547 +.icon:before { padding-right: 2px; }
17548 +
17549 +.button .icon:before {
17550 + padding-right: 0;
17551 +}
17552 +
17553 +/* Icon size classes - Default size is 14px, use these for small variations */
17554 +
17555 +.icon.icon-xl {
17556 + font-size: 20px;
17557 +}
17558 +
17559 +.icon.icon-lg {
17560 + font-size: 16px;
17561 +}
17562 +
17563 +.icon.icon-md {
17564 + font-size: 10px;
17565 +}
17566 +
17567 +.icon.icon-sm {
17568 + font-size: 8px;
17569 +}
17570 +
17571 +/* icon modifiers */
17572 +.icon-tiny {
17573 + width: 12px;
17574 + transform: scale(0.65, 0.75);
17575 + vertical-align: text-bottom;
17576 + font-size: 16px;
17577 +}
17578 +
17579 +.arrow-left .icon {
17580 + float: left;
17581 +}
17582 +
17583 +.arrow-left:hover .icon {
17584 + margin-left: -5px;
17585 + margin-right: 5px;
17586 +}
17587 +
17588 +.arrow-right .icon {
17589 + float: right;
17590 +}
17591 +
17592 +.arrow-right:hover .icon {
17593 + margin-left: 5px;
17594 + margin-right: -5px;
17595 +}
17596 +
17597 +.post-buttons .dropdown-contents .icon {
17598 + float: right;
17599 + margin-left: 5px;
17600 +}
17601 +
17602 +.alert_close .icon:before {
17603 + padding: 0;
17604 + border-radius: 50%;
17605 + width: 11px;
17606 + display: block;
17607 + line-height: .9;
17608 + height: 12px;
17609 +}
17610 +
17611 +blockquote cite:before, .uncited:before {
17612 + content: '\f10d'; /* Font Awesome quote-left */
17613 +}
17614 +
17615 +.rtl blockquote cite:before, .rtl .uncited:before {
17616 + content: '\f10e'; /* Font Awesome quote-right */
17617 +}
17618 +
17619
17620 diff --git a/theme/images/announce_read.gif b/theme/images/announce_read.gif
17621 new file mode 100644
17622 index 000000000..a3b3d7b23
17623 Binary files /dev/null and b/theme/images/announce_read.gif differ
17624
17625 diff --git a/theme/images/announce_read_locked.gif b/theme/images/announce_read_locked.gif
17626 new file mode 100644
17627 index 000000000..0a6cf6434
17628 Binary files /dev/null and b/theme/images/announce_read_locked.gif differ
17629
17630 diff --git a/theme/images/announce_read_locked_mine.gif b/theme/images/announce_read_locked_mine.gif
17631 new file mode 100644
17632 index 000000000..56af0ab07
17633 Binary files /dev/null and b/theme/images/announce_read_locked_mine.gif differ
17634
17635 diff --git a/theme/images/announce_read_mine.gif b/theme/images/announce_read_mine.gif
17636 new file mode 100644
17637 index 000000000..c333e3b12
17638 Binary files /dev/null and b/theme/images/announce_read_mine.gif differ
17639
17640 diff --git a/theme/images/announce_unread.gif b/theme/images/announce_unread.gif
17641 new file mode 100644
17642 index 000000000..9f75cc3e5
17643 Binary files /dev/null and b/theme/images/announce_unread.gif differ
17644
17645 diff --git a/theme/images/announce_unread_locked.gif b/theme/images/announce_unread_locked.gif
17646 new file mode 100644
17647 index 000000000..4ad85bb68
17648 Binary files /dev/null and b/theme/images/announce_unread_locked.gif differ
17649
17650 diff --git a/theme/images/announce_unread_locked_mine.gif b/theme/images/announce_unread_locked_mine.gif
17651 new file mode 100644
17652 index 000000000..30db89439
17653 Binary files /dev/null and b/theme/images/announce_unread_locked_mine.gif differ
17654
17655 diff --git a/theme/images/announce_unread_mine.gif b/theme/images/announce_unread_mine.gif
17656 new file mode 100644
17657 index 000000000..3a2cbcac1
17658 Binary files /dev/null and b/theme/images/announce_unread_mine.gif differ
17659
17660 diff --git a/theme/images/bg_header.gif b/theme/images/bg_header.gif
17661 new file mode 100644
17662 index 000000000..351de9f46
17663 Binary files /dev/null and b/theme/images/bg_header.gif differ
17664
17665 diff --git a/theme/images/bg_list.gif b/theme/images/bg_list.gif
17666 new file mode 100644
17667 index 000000000..89f8963fd
17668 Binary files /dev/null and b/theme/images/bg_list.gif differ
17669
17670 diff --git a/theme/images/forum_link.gif b/theme/images/forum_link.gif
17671 new file mode 100644
17672 index 000000000..09f8dfa75
17673 Binary files /dev/null and b/theme/images/forum_link.gif differ
17674
17675 diff --git a/theme/images/forum_read.gif b/theme/images/forum_read.gif
17676 new file mode 100644
17677 index 000000000..891fa20c0
17678 Binary files /dev/null and b/theme/images/forum_read.gif differ
17679
17680 diff --git a/theme/images/forum_read_locked.gif b/theme/images/forum_read_locked.gif
17681 new file mode 100644
17682 index 000000000..234824063
17683 Binary files /dev/null and b/theme/images/forum_read_locked.gif differ
17684
17685 diff --git a/theme/images/forum_read_subforum.gif b/theme/images/forum_read_subforum.gif
17686 new file mode 100644
17687 index 000000000..5b4d30f7e
17688 Binary files /dev/null and b/theme/images/forum_read_subforum.gif differ
17689
17690 diff --git a/theme/images/forum_unread.gif b/theme/images/forum_unread.gif
17691 new file mode 100644
17692 index 000000000..e925da82b
17693 Binary files /dev/null and b/theme/images/forum_unread.gif differ
17694
17695 diff --git a/theme/images/forum_unread_locked.gif b/theme/images/forum_unread_locked.gif
17696 new file mode 100644
17697 index 000000000..5ff59b742
17698 Binary files /dev/null and b/theme/images/forum_unread_locked.gif differ
17699
17700 diff --git a/theme/images/forum_unread_subforum.gif b/theme/images/forum_unread_subforum.gif
17701 new file mode 100644
17702 index 000000000..7d6ddb93b
17703 Binary files /dev/null and b/theme/images/forum_unread_subforum.gif differ
17704
17705 diff --git a/theme/images/icon_download.gif b/theme/images/icon_download.gif
17706 new file mode 100644
17707 index 000000000..70cd61caf
17708 Binary files /dev/null and b/theme/images/icon_download.gif differ
17709
17710 diff --git a/theme/images/icon_offline.gif b/theme/images/icon_offline.gif
17711 new file mode 100644
17712 index 000000000..5dc4212e9
17713 Binary files /dev/null and b/theme/images/icon_offline.gif differ
17714
17715 diff --git a/theme/images/icon_online.gif b/theme/images/icon_online.gif
17716 new file mode 100644
17717 index 000000000..d0d202dde
17718 Binary files /dev/null and b/theme/images/icon_online.gif differ
17719
17720 diff --git a/theme/images/icon_rate_bad.gif b/theme/images/icon_rate_bad.gif
17721 new file mode 100644
17722 index 000000000..790188940
17723 Binary files /dev/null and b/theme/images/icon_rate_bad.gif differ
17724
17725 diff --git a/theme/images/icon_rate_good.gif b/theme/images/icon_rate_good.gif
17726 new file mode 100644
17727 index 000000000..6d23034d7
17728 Binary files /dev/null and b/theme/images/icon_rate_good.gif differ
17729
17730 diff --git a/theme/images/icons_contact.png b/theme/images/icons_contact.png
17731 new file mode 100644
17732 index 000000000..f84abd36a
17733 Binary files /dev/null and b/theme/images/icons_contact.png differ
17734
17735 diff --git a/theme/images/index.htm b/theme/images/index.htm
17736 new file mode 100644
17737 index 000000000..e69de29bb
17738
17739 diff --git a/theme/images/loading.gif b/theme/images/loading.gif
17740 new file mode 100644
17741 index 000000000..e1ed0883e
17742 Binary files /dev/null and b/theme/images/loading.gif differ
17743
17744 diff --git a/theme/images/no_avatar.gif b/theme/images/no_avatar.gif
17745 new file mode 100644
17746 index 000000000..ad73330e7
17747 Binary files /dev/null and b/theme/images/no_avatar.gif differ
17748
17749 diff --git a/theme/images/plupload/done.gif b/theme/images/plupload/done.gif
17750 new file mode 100644
17751 index 000000000..29f3ed7c9
17752 Binary files /dev/null and b/theme/images/plupload/done.gif differ
17753
17754 diff --git a/theme/images/plupload/error.gif b/theme/images/plupload/error.gif
17755 new file mode 100644
17756 index 000000000..4682b6300
17757 Binary files /dev/null and b/theme/images/plupload/error.gif differ
17758
17759 diff --git a/theme/images/plupload/throbber.gif b/theme/images/plupload/throbber.gif
17760 new file mode 100644
17761 index 000000000..4ae8b16a5
17762 Binary files /dev/null and b/theme/images/plupload/throbber.gif differ
17763
17764 diff --git a/theme/images/quote.gif b/theme/images/quote.gif
17765 new file mode 100644
17766 index 000000000..d1992273e
17767 Binary files /dev/null and b/theme/images/quote.gif differ
17768
17769 diff --git a/theme/images/quote_rtl.gif b/theme/images/quote_rtl.gif
17770 new file mode 100644
17771 index 000000000..ac719cf28
17772 Binary files /dev/null and b/theme/images/quote_rtl.gif differ
17773
17774 diff --git a/theme/images/site_logo.gif b/theme/images/site_logo.gif
17775 new file mode 100644
17776 index 000000000..2517fbedd
17777 Binary files /dev/null and b/theme/images/site_logo.gif differ
17778
17779 diff --git a/theme/images/sticky_read.gif b/theme/images/sticky_read.gif
17780 new file mode 100644
17781 index 000000000..e8142ddb2
17782 Binary files /dev/null and b/theme/images/sticky_read.gif differ
17783
17784 diff --git a/theme/images/sticky_read_locked.gif b/theme/images/sticky_read_locked.gif
17785 new file mode 100644
17786 index 000000000..fcd8b85e0
17787 Binary files /dev/null and b/theme/images/sticky_read_locked.gif differ
17788
17789 diff --git a/theme/images/sticky_read_locked_mine.gif b/theme/images/sticky_read_locked_mine.gif
17790 new file mode 100644
17791 index 000000000..0a8dc2a6c
17792 Binary files /dev/null and b/theme/images/sticky_read_locked_mine.gif differ
17793
17794 diff --git a/theme/images/sticky_read_mine.gif b/theme/images/sticky_read_mine.gif
17795 new file mode 100644
17796 index 000000000..37c4ed01f
17797 Binary files /dev/null and b/theme/images/sticky_read_mine.gif differ
17798
17799 diff --git a/theme/images/sticky_unread.gif b/theme/images/sticky_unread.gif
17800 new file mode 100644
17801 index 000000000..88a212d7c
17802 Binary files /dev/null and b/theme/images/sticky_unread.gif differ
17803
17804 diff --git a/theme/images/sticky_unread_locked.gif b/theme/images/sticky_unread_locked.gif
17805 new file mode 100644
17806 index 000000000..0241da2ab
17807 Binary files /dev/null and b/theme/images/sticky_unread_locked.gif differ
17808
17809 diff --git a/theme/images/sticky_unread_locked_mine.gif b/theme/images/sticky_unread_locked_mine.gif
17810 new file mode 100644
17811 index 000000000..8d69b447b
17812 Binary files /dev/null and b/theme/images/sticky_unread_locked_mine.gif differ
17813
17814 diff --git a/theme/images/sticky_unread_mine.gif b/theme/images/sticky_unread_mine.gif
17815 new file mode 100644
17816 index 000000000..652910205
17817 Binary files /dev/null and b/theme/images/sticky_unread_mine.gif differ
17818
17819 diff --git a/theme/images/topic_moved.gif b/theme/images/topic_moved.gif
17820 new file mode 100644
17821 index 000000000..8e9c1f41f
17822 Binary files /dev/null and b/theme/images/topic_moved.gif differ
17823
17824 diff --git a/theme/images/topic_read.gif b/theme/images/topic_read.gif
17825 new file mode 100644
17826 index 000000000..5ed739ee9
17827 Binary files /dev/null and b/theme/images/topic_read.gif differ
17828
17829 diff --git a/theme/images/topic_read_hot.gif b/theme/images/topic_read_hot.gif
17830 new file mode 100644
17831 index 000000000..81a42d0a6
17832 Binary files /dev/null and b/theme/images/topic_read_hot.gif differ
17833
17834 diff --git a/theme/images/topic_read_hot_mine.gif b/theme/images/topic_read_hot_mine.gif
17835 new file mode 100644
17836 index 000000000..b98808cad
17837 Binary files /dev/null and b/theme/images/topic_read_hot_mine.gif differ
17838
17839 diff --git a/theme/images/topic_read_locked.gif b/theme/images/topic_read_locked.gif
17840 new file mode 100644
17841 index 000000000..61bb1effa
17842 Binary files /dev/null and b/theme/images/topic_read_locked.gif differ
17843
17844 diff --git a/theme/images/topic_read_locked_mine.gif b/theme/images/topic_read_locked_mine.gif
17845 new file mode 100644
17846 index 000000000..dbe901919
17847 Binary files /dev/null and b/theme/images/topic_read_locked_mine.gif differ
17848
17849 diff --git a/theme/images/topic_read_mine.gif b/theme/images/topic_read_mine.gif
17850 new file mode 100644
17851 index 000000000..8fb165c46
17852 Binary files /dev/null and b/theme/images/topic_read_mine.gif differ
17853
17854 diff --git a/theme/images/topic_unread.gif b/theme/images/topic_unread.gif
17855 new file mode 100644
17856 index 000000000..43ea76b4d
17857 Binary files /dev/null and b/theme/images/topic_unread.gif differ
17858
17859 diff --git a/theme/images/topic_unread_hot.gif b/theme/images/topic_unread_hot.gif
17860 new file mode 100644
17861 index 000000000..a45bc4bc1
17862 Binary files /dev/null and b/theme/images/topic_unread_hot.gif differ
17863
17864 diff --git a/theme/images/topic_unread_hot_mine.gif b/theme/images/topic_unread_hot_mine.gif
17865 new file mode 100644
17866 index 000000000..dc673266b
17867 Binary files /dev/null and b/theme/images/topic_unread_hot_mine.gif differ
17868
17869 diff --git a/theme/images/topic_unread_locked.gif b/theme/images/topic_unread_locked.gif
17870 new file mode 100644
17871 index 000000000..68dd3422d
17872 Binary files /dev/null and b/theme/images/topic_unread_locked.gif differ
17873
17874 diff --git a/theme/images/topic_unread_locked_mine.gif b/theme/images/topic_unread_locked_mine.gif
17875 new file mode 100644
17876 index 000000000..4f5a36efe
17877 Binary files /dev/null and b/theme/images/topic_unread_locked_mine.gif differ
17878
17879 diff --git a/theme/images/topic_unread_mine.gif b/theme/images/topic_unread_mine.gif
17880 new file mode 100644
17881 index 000000000..24e9817ce
17882 Binary files /dev/null and b/theme/images/topic_unread_mine.gif differ
17883
17884 diff --git a/theme/index.htm b/theme/index.htm
17885 new file mode 100644
17886 index 000000000..e69de29bb
17887
17888 diff --git a/theme/links.css b/theme/links.css
17889 new file mode 100644
17890 index 000000000..6a61e9a26
17891 --- /dev/null
17892 +++ b/theme/links.css
17893 @@ -0,0 +1,199 @@
17894 +/* Link Styles
17895 +---------------------------------------- */
17896 +
17897 +/* Links adjustment to correctly display an order of rtl/ltr mixed content */
17898 +a {
17899 + direction: ltr;
17900 + unicode-bidi: embed;
17901 + text-decoration: none;
17902 + /* we use links inline more often then not so to address several bugs with
17903 + IE and some other browsers we render all links as inlineblock by default */
17904 + display: inline-block;
17905 +
17906 +}
17907 +
17908 +/* Coloured usernames */
17909 +.username-coloured {
17910 + font-weight: bold;
17911 + display: inline !important;
17912 + padding: 0 !important;
17913 +}
17914 +
17915 +/* Links on gradient backgrounds */
17916 +.forumbg .header a, .forabg .header a, th a {
17917 + text-decoration: none;
17918 +}
17919 +
17920 +.forumbg .header a:hover, .forabg .header a:hover, th a:hover {
17921 + text-decoration: underline;
17922 +}
17923 +
17924 +/* Notification mark read link */
17925 +.dropdown-extended a.mark_read {
17926 + background-position: center center;
17927 + background-repeat: no-repeat;
17928 + border-radius: 3px 0 0 3px;
17929 + display: none;
17930 + margin-top: -20px;
17931 + position: absolute;
17932 + z-index: 2;
17933 + right: 0;
17934 + top: 50%;
17935 + -webkit-box-sizing: border-box;
17936 + -moz-box-sizing: border-box;
17937 + box-sizing: border-box;
17938 +}
17939 +
17940 +.dropdown-extended li:hover a.mark_read {
17941 + display: block;
17942 +}
17943 +
17944 +.dropdown-extended a.mark_read:hover {
17945 + width: 50px;
17946 +}
17947 +
17948 +.jumpbox-cat-link,
17949 +.jumpbox-forum-link { font-weight: bold; }
17950 +
17951 +
17952 +/* Links for forum/topic lists */
17953 +a.forumtitle {
17954 + font-family: "Trebuchet MS", Helvetica, Arial, Sans-serif;
17955 + font-size: 1.2em;
17956 + font-weight: bold;
17957 + text-decoration: none;
17958 +}
17959 +
17960 +a.forumtitle:hover {
17961 + text-decoration: underline;
17962 +}
17963 +
17964 +a.topictitle {
17965 + font-family: "Trebuchet MS", Helvetica, Arial, Sans-serif;
17966 + font-size: 1.2em;
17967 + font-weight: bold;
17968 + text-decoration: none;
17969 + display: inline;
17970 +}
17971 +
17972 +a.topictitle:hover {
17973 + text-decoration: underline;
17974 +}
17975 +
17976 +a.lastsubject {
17977 + font-weight: bold;
17978 + text-decoration: none;
17979 +}
17980 +
17981 +a.lastsubject:hover {
17982 + text-decoration: underline;
17983 +}
17984 +
17985 +.row-item a:hover {
17986 + text-decoration: none
17987 +}
17988 +
17989 +.row-item .topictitle:hover,
17990 +.row-item .subforum:hover,
17991 +.row-item .username:hover,
17992 +.row-item .username-coloured:hover {
17993 + text-decoration: underline;
17994 +}
17995 +
17996 +/* Post body links */
17997 +.postlink {
17998 + text-decoration: none;
17999 + border-bottom: 1px solid transparent;
18000 + padding-bottom: 0;
18001 +}
18002 +
18003 +.postlink:hover {
18004 + text-decoration: none;
18005 +}
18006 +
18007 +.signature a, .signature a:hover {
18008 + border: none;
18009 + text-decoration: underline;
18010 +}
18011 +
18012 +/* Profile links */
18013 +.postprofile a, .postprofile dt.author a {
18014 + font-weight: bold;
18015 + text-decoration: none;
18016 +}
18017 +
18018 +.postprofile a:hover, .postprofile dt.author a:hover {
18019 + text-decoration: underline;
18020 +}
18021 +
18022 +/* Profile searchresults */
18023 +.search .postprofile a {
18024 + text-decoration: none;
18025 + font-weight: normal;
18026 +}
18027 +
18028 +.search .postprofile a:hover {
18029 + text-decoration: underline;
18030 +}
18031 +
18032 +.top {
18033 + font-size: 12px;
18034 + text-decoration: none;
18035 + margin-top: 10px;
18036 +}
18037 +
18038 +/* Back to top of page */
18039 +.back2top {
18040 + clear: both;
18041 +}
18042 +
18043 +.back2top .top {
18044 + float: right;
18045 + margin-right: -10px;
18046 + margin-top: 0;
18047 +}
18048 +
18049 +/* Arrow links */
18050 +
18051 +.arrow-up {
18052 + padding-left: 10px;
18053 + text-decoration: none;
18054 + border-bottom-width: 0;
18055 +}
18056 +
18057 +.arrow-up:hover {
18058 +
18059 +}
18060 +
18061 +.arrow-down {
18062 + padding-right: 10px;
18063 +}
18064 +
18065 +.arrow-down:hover {
18066 +
18067 +}
18068 +
18069 +.arrow-left:hover {
18070 + text-decoration: none;
18071 +}
18072 +
18073 +.arrow-right:hover {
18074 + text-decoration: none;
18075 +}
18076 +
18077 +/* invisible skip link, used for accessibility */
18078 +.skiplink {
18079 + position: absolute;
18080 + left: -999px;
18081 + width: 990px;
18082 +}
18083 +
18084 +/* Feed icon in forumlist_body.html */
18085 +a.feed-icon-forum {
18086 + float: right;
18087 + margin: 3px;
18088 +}
18089 +
18090 +a.anchor {
18091 + display: block;
18092 +}
18093
18094 diff --git a/theme/normalize.css b/theme/normalize.css
18095 new file mode 100644
18096 index 000000000..23d84492c
18097 --- /dev/null
18098 +++ b/theme/normalize.css
18099 @@ -0,0 +1,424 @@
18100 +/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
18101 +
18102 +/**
18103 + * 1. Set default font family to sans-serif.
18104 + * 2. Prevent iOS and IE text size adjust after device orientation change,
18105 + * without disabling user zoom.
18106 + */
18107 +
18108 +html {
18109 + font-family: sans-serif; /* 1 */
18110 + -ms-text-size-adjust: 100%; /* 2 */
18111 + -webkit-text-size-adjust: 100%; /* 2 */
18112 +}
18113 +
18114 +/**
18115 + * Remove default margin.
18116 + */
18117 +
18118 +body {
18119 + margin: 0;
18120 +}
18121 +
18122 +/* HTML5 display definitions
18123 + ========================================================================== */
18124 +
18125 +/**
18126 + * Correct `block` display not defined for any HTML5 element in IE 8/9.
18127 + * Correct `block` display not defined for `details` or `summary` in IE 10/11
18128 + * and Firefox.
18129 + * Correct `block` display not defined for `main` in IE 11.
18130 + */
18131 +
18132 +article,
18133 +aside,
18134 +details,
18135 +figcaption,
18136 +figure,
18137 +footer,
18138 +header,
18139 +hgroup,
18140 +main,
18141 +menu,
18142 +nav,
18143 +section,
18144 +summary {
18145 + display: block;
18146 +}
18147 +
18148 +/**
18149 + * 1. Correct `inline-block` display not defined in IE 8/9.
18150 + * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
18151 + */
18152 +
18153 +audio,
18154 +canvas,
18155 +progress,
18156 +video {
18157 + display: inline-block; /* 1 */
18158 + vertical-align: baseline; /* 2 */
18159 +}
18160 +
18161 +/**
18162 + * Prevent modern browsers from displaying `audio` without controls.
18163 + * Remove excess height in iOS 5 devices.
18164 + */
18165 +
18166 +audio:not([controls]) {
18167 + display: none;
18168 + height: 0;
18169 +}
18170 +
18171 +/**
18172 + * Address `[hidden]` styling not present in IE 8/9/10.
18173 + * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
18174 + */
18175 +
18176 +[hidden],
18177 +template {
18178 + display: none;
18179 +}
18180 +
18181 +/* Links
18182 + ========================================================================== */
18183 +
18184 +/**
18185 + * Remove the gray background color from active links in IE 10.
18186 + */
18187 +
18188 +a {
18189 + background-color: transparent;
18190 +}
18191 +
18192 +/**
18193 + * Improve readability of focused elements when they are also in an
18194 + * active/hover state.
18195 + */
18196 +
18197 +a:active,
18198 +a:hover {
18199 + outline: 0;
18200 +}
18201 +
18202 +/* Text-level semantics
18203 + ========================================================================== */
18204 +
18205 +/**
18206 + * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
18207 + */
18208 +
18209 +abbr[title] {
18210 + border-bottom: 1px dotted;
18211 +}
18212 +
18213 +/**
18214 + * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
18215 + */
18216 +
18217 +b,
18218 +strong {
18219 + font-weight: bold;
18220 +}
18221 +
18222 +/**
18223 + * Address styling not present in Safari and Chrome.
18224 + */
18225 +
18226 +dfn {
18227 + font-style: italic;
18228 +}
18229 +
18230 +/**
18231 + * Address variable `h1` font-size and margin within `section` and `article`
18232 + * contexts in Firefox 4+, Safari, and Chrome.
18233 + */
18234 +
18235 +h1 {
18236 + font-size: 2em;
18237 + margin: 0.67em 0;
18238 +}
18239 +
18240 +/**
18241 + * Address styling not present in IE 8/9.
18242 + */
18243 +
18244 +mark {
18245 + background: #ff0;
18246 + color: #000;
18247 +}
18248 +
18249 +/**
18250 + * Address inconsistent and variable font size in all browsers.
18251 + */
18252 +
18253 +small {
18254 + font-size: 80%;
18255 +}
18256 +
18257 +/**
18258 + * Prevent `sub` and `sup` affecting `line-height` in all browsers.
18259 + */
18260 +
18261 +sub,
18262 +sup {
18263 + font-size: 75%;
18264 + line-height: 0;
18265 + position: relative;
18266 + vertical-align: baseline;
18267 +}
18268 +
18269 +sup {
18270 + top: -0.5em;
18271 +}
18272 +
18273 +sub {
18274 + bottom: -0.25em;
18275 +}
18276 +
18277 +/* Embedded content
18278 + ========================================================================== */
18279 +
18280 +/**
18281 + * Remove border when inside `a` element in IE 8/9/10.
18282 + */
18283 +
18284 +img {
18285 + border: 0;
18286 +}
18287 +
18288 +/**
18289 + * Correct overflow not hidden in IE 9/10/11.
18290 + */
18291 +
18292 +svg:not(:root) {
18293 + overflow: hidden;
18294 +}
18295 +
18296 +/* Grouping content
18297 + ========================================================================== */
18298 +
18299 +/**
18300 + * Address margin not present in IE 8/9 and Safari.
18301 + */
18302 +
18303 +figure {
18304 + margin: 1em 40px;
18305 +}
18306 +
18307 +/**
18308 + * Address differences between Firefox and other browsers.
18309 + */
18310 +
18311 +hr {
18312 + box-sizing: content-box;
18313 + height: 0;
18314 +}
18315 +
18316 +/**
18317 + * Contain overflow in all browsers.
18318 + */
18319 +
18320 +pre {
18321 + overflow: auto;
18322 +}
18323 +
18324 +/**
18325 + * Address odd `em`-unit font size rendering in all browsers.
18326 + */
18327 +
18328 +code,
18329 +kbd,
18330 +pre,
18331 +samp {
18332 + font-family: monospace, monospace;
18333 + font-size: 1em;
18334 +}
18335 +
18336 +/* Forms
18337 + ========================================================================== */
18338 +
18339 +/**
18340 + * Known limitation: by default, Chrome and Safari on OS X allow very limited
18341 + * styling of `select`, unless a `border` property is set.
18342 + */
18343 +
18344 +/**
18345 + * 1. Correct color not being inherited.
18346 + * Known issue: affects color of disabled elements.
18347 + * 2. Correct font properties not being inherited.
18348 + * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
18349 + */
18350 +
18351 +button,
18352 +input,
18353 +optgroup,
18354 +select,
18355 +textarea {
18356 + color: inherit; /* 1 */
18357 + font: inherit; /* 2 */
18358 + margin: 0; /* 3 */
18359 +}
18360 +
18361 +/**
18362 + * Address `overflow` set to `hidden` in IE 8/9/10/11.
18363 + */
18364 +
18365 +button {
18366 + overflow: visible;
18367 +}
18368 +
18369 +/**
18370 + * Address inconsistent `text-transform` inheritance for `button` and `select`.
18371 + * All other form control elements do not inherit `text-transform` values.
18372 + * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
18373 + * Correct `select` style inheritance in Firefox.
18374 + */
18375 +
18376 +button,
18377 +select {
18378 + text-transform: none;
18379 +}
18380 +
18381 +/**
18382 + * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
18383 + * and `video` controls.
18384 + * 2. Correct inability to style clickable `input` types in iOS.
18385 + * 3. Improve usability and consistency of cursor style between image-type
18386 + * `input` and others.
18387 + */
18388 +
18389 +button,
18390 +html input[type="button"], /* 1 */
18391 +input[type="reset"],
18392 +input[type="submit"] {
18393 + -webkit-appearance: button; /* 2 */
18394 + cursor: pointer; /* 3 */
18395 +}
18396 +
18397 +/**
18398 + * Re-set default cursor for disabled elements.
18399 + */
18400 +
18401 +button[disabled],
18402 +html input[disabled] {
18403 + cursor: default;
18404 +}
18405 +
18406 +/**
18407 + * Remove inner padding and border in Firefox 4+.
18408 + */
18409 +
18410 +button::-moz-focus-inner,
18411 +input::-moz-focus-inner {
18412 + border: 0;
18413 + padding: 0;
18414 +}
18415 +
18416 +/**
18417 + * Address Firefox 4+ setting `line-height` on `input` using `!important` in
18418 + * the UA stylesheet.
18419 + */
18420 +
18421 +input {
18422 + line-height: normal;
18423 +}
18424 +
18425 +/**
18426 + * It's recommended that you don't attempt to style these elements.
18427 + * Firefox's implementation doesn't respect box-sizing, padding, or width.
18428 + *
18429 + * 1. Address box sizing set to `content-box` in IE 8/9/10.
18430 + * 2. Remove excess padding in IE 8/9/10.
18431 + */
18432 +
18433 +input[type="checkbox"],
18434 +input[type="radio"] {
18435 + box-sizing: border-box; /* 1 */
18436 + padding: 0; /* 2 */
18437 +}
18438 +
18439 +/**
18440 + * Fix the cursor style for Chrome's increment/decrement buttons. For certain
18441 + * `font-size` values of the `input`, it causes the cursor style of the
18442 + * decrement button to change from `default` to `text`.
18443 + */
18444 +
18445 +input[type="number"]::-webkit-inner-spin-button,
18446 +input[type="number"]::-webkit-outer-spin-button {
18447 + height: auto;
18448 +}
18449 +
18450 +/**
18451 + * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
18452 + * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
18453 + */
18454 +
18455 +input[type="search"] {
18456 + -webkit-appearance: textfield; /* 1 */
18457 + box-sizing: content-box; /* 2 */
18458 +}
18459 +
18460 +/**
18461 + * Remove inner padding and search cancel button in Safari and Chrome on OS X.
18462 + * Safari (but not Chrome) clips the cancel button when the search input has
18463 + * padding (and `textfield` appearance).
18464 + */
18465 +
18466 +input[type="search"]::-webkit-search-cancel-button,
18467 +input[type="search"]::-webkit-search-decoration {
18468 + -webkit-appearance: none;
18469 +}
18470 +
18471 +/**
18472 + * Define consistent border, margin, and padding.
18473 + */
18474 +
18475 +fieldset {
18476 + border: 1px solid #c0c0c0;
18477 + margin: 0 2px;
18478 + padding: 0.35em 0.625em 0.75em;
18479 +}
18480 +
18481 +/**
18482 + * 1. Correct `color` not being inherited in IE 8/9/10/11.
18483 + * 2. Remove padding so people aren't caught out if they zero out fieldsets.
18484 + */
18485 +
18486 +legend {
18487 + border: 0; /* 1 */
18488 + padding: 0; /* 2 */
18489 +}
18490 +
18491 +/**
18492 + * Remove default vertical scrollbar in IE 8/9/10/11.
18493 + */
18494 +
18495 +textarea {
18496 + overflow: auto;
18497 +}
18498 +
18499 +/**
18500 + * Don't inherit the `font-weight` (applied by a rule above).
18501 + * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
18502 + */
18503 +
18504 +optgroup {
18505 + font-weight: bold;
18506 +}
18507 +
18508 +/* Tables
18509 + ========================================================================== */
18510 +
18511 +/**
18512 + * Remove most spacing between table cells.
18513 + */
18514 +
18515 +table {
18516 + border-collapse: collapse;
18517 + border-spacing: 0;
18518 +}
18519 +
18520 +td,
18521 +th {
18522 + padding: 0;
18523 +}
18524
18525 diff --git a/theme/plupload.css b/theme/plupload.css
18526 new file mode 100644
18527 index 000000000..b1f3ae2da
18528 --- /dev/null
18529 +++ b/theme/plupload.css
18530 @@ -0,0 +1,90 @@
18531 +.attach-panel-multi {
18532 + display: none;
18533 + margin-bottom: 1em;
18534 +}
18535 +
18536 +.attach-row-tpl {
18537 + display: none;
18538 +}
18539 +
18540 +.file-list td {
18541 + vertical-align: middle;
18542 +}
18543 +
18544 +.attach-name {
18545 + width: 50%;
18546 +}
18547 +
18548 +.attach-comment {
18549 + width: 30%;
18550 +}
18551 +
18552 +.attach-comment .inputbox {
18553 + resize: vertical;
18554 + width: 100%;
18555 +}
18556 +
18557 +.attach-filesize {
18558 + width: 15%;
18559 +}
18560 +
18561 +.attach-status {
18562 + width: 5%;
18563 +}
18564 +
18565 +.attach-filesize, .attach-status {
18566 + text-align: center;
18567 +}
18568 +
18569 +.attach-controls {
18570 + display: inline-block;
18571 + float: right;
18572 +}
18573 +
18574 +.nojs .file-inline-bbcode {
18575 + display: none;
18576 +}
18577 +
18578 +.file-total-progress {
18579 + height: 2px;
18580 + display: block;
18581 + position: relative;
18582 + margin: 4px -10px -6px -10px;
18583 +}
18584 +
18585 +.file-progress {
18586 + background-color: #CCCCCC;
18587 + display:inline-block;
18588 + height: 8px;
18589 + width: 50px;
18590 +}
18591 +
18592 +.file-progress-bar, .file-total-progress-bar {
18593 + background-color: green;
18594 + display: block;
18595 + height: 100%;
18596 + width: 0;
18597 +}
18598 +
18599 +.file-status.file-working {
18600 + background: url('./images/plupload/throbber.gif');
18601 +}
18602 +
18603 +.file-status.file-uploaded {
18604 + background: url('./images/plupload/done.gif');
18605 +}
18606 +
18607 +.file-status.file-error {
18608 + background: url('./images/plupload/error.gif');
18609 +}
18610 +
18611 +.file-status {
18612 + display: inline-block;
18613 + height: 16px;
18614 + width: 16px;
18615 +}
18616 +
18617 +.file-name {
18618 + max-width: 65%;
18619 + vertical-align: bottom;
18620 +}
18621
18622 diff --git a/theme/print.css b/theme/print.css
18623 new file mode 100644
18624 index 000000000..944527977
18625 --- /dev/null
18626 +++ b/theme/print.css
18627 @@ -0,0 +1,150 @@
18628 +/* Print Style Sheet
18629 +---------------------------------------- */
18630 +
18631 +
18632 +/* Lots still TODO here! */
18633 +
18634 +/* General markup styles */
18635 +* {
18636 + padding: 0;
18637 + margin: 0;
18638 +}
18639 +
18640 +body {
18641 + font: 11pt Verdana, Arial, Helvetica, sans-serif;
18642 + color:#000000;
18643 +}
18644 +
18645 +a:link { color: #000000; text-decoration: none; }
18646 +a:visited { color: #000000; text-decoration: none; }
18647 +a:active { color: #000000; text-decoration: none; }
18648 +
18649 +img, .noprint, .navbar, .box1, .divider, .signature { display: none; }
18650 +/* Display smilies (Bug #47265) */
18651 +.content img {
18652 + display: inline;
18653 +}
18654 +
18655 +/* Container for the main body */
18656 +.wrap {
18657 + margin: 0 2em;
18658 +}
18659 +
18660 +p { font-size: 85%; }
18661 +.copyright { font-size: 75%; }
18662 +.page-number { float:right; width: auto; text-align: right; font-size: 75%; }
18663 +
18664 +h1, h2, h3, h1 a, h2 a, h3 a {
18665 + font-family: "Trebuchet MS",georgia,Verdana,Sans-serif;
18666 + color: #000000;
18667 + background: none;
18668 + text-decoration: none;
18669 + font-weight: bold;
18670 +}
18671 +
18672 +h1 { font-size: 20pt; }
18673 +h2 { font-size: 16pt; margin-top: 1em; }
18674 +h3 { font-size: 14pt; margin-top: 1em; }
18675 +
18676 +.content {
18677 + font-size: 11pt;
18678 + line-height: 14pt;
18679 + margin-bottom: 1em;
18680 + font-family: "Lucida Grande", "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
18681 + overflow: hidden;
18682 +}
18683 +
18684 +/* CSS2 Print tip from: http://www.alistapart.com/articles/goingtoprint/ */
18685 +.postbody a:link, .postbody a:visited, .postbody a:hover, .postbody a:active {
18686 + text-decoration: underline;
18687 + padding: 0.1em 0.2em;
18688 + margin: -0.1em -0.2em;
18689 + color: #666;
18690 + background: none;
18691 + font-size: 100%;
18692 +}
18693 +
18694 +html>body .postbody a:link:after, html>body .postbody a:visited:after {
18695 + content: " (" attr(href) ") ";
18696 + font-size: 90%;
18697 + text-decoration: none;
18698 +}
18699 +
18700 +hr {
18701 + height: 1px;
18702 + background-color: #999999;
18703 + border-width: 0;
18704 +}
18705 +
18706 +.author {
18707 + font-family: Verdana, Arial, Helvetica, sans-serif;
18708 + font-size: 75%;
18709 + margin-bottom: 0.6em;
18710 +}
18711 +
18712 +.date {
18713 + font-family: Verdana, Arial, Helvetica, sans-serif;
18714 + float: right;
18715 + position: relative;
18716 + text-align: right;
18717 + font-size: 75%;
18718 +}
18719 +
18720 +/* Dont want to print url for names or titles in content area */
18721 +.postbody .author a:link, .postbody .author a:visited,
18722 +html>body .postbody .author a:link:after,
18723 +html>body .postbody .author a:visited:after,
18724 +.postquote .quote-by a:link, .postquote .quote-by a:visited,
18725 +html>body .postquote .quote-by a:link:after,
18726 +html>body .postquote .quote-by a:visited:after,
18727 +html>body .postbody h1 a:link:after, html>body .postbody h2 a:link:after {
18728 + text-decoration: none;
18729 + content: "";
18730 +}
18731 +
18732 +/* Poster profile */
18733 +.postprofile { display: none; }
18734 +.grip-show { display:none; }
18735 +
18736 +/* Quote */
18737 +.postquote, blockquote {
18738 + font-size: 85%;
18739 + margin: 1em 18% 1em 4%;
18740 + padding: 0.5em;
18741 + position: relative;
18742 + line-height: 1.5em;
18743 + border: 1px #999999 solid;
18744 +}
18745 +
18746 +.postquote img { display: none; }
18747 +.postquote span { display: block; }
18748 +.postquote span .postquote { font-size: 100%; }
18749 +.quote-by, blockquote cite {
18750 + color: black;
18751 + display : block;
18752 + font-weight: bold;
18753 +}
18754 +
18755 +/* List */
18756 +ol, ul {
18757 + margin-left: 15pt
18758 +}
18759 +
18760 +/* Misc page elements */
18761 +div.spacer { clear: both; }
18762 +
18763 +code { display: block; }
18764 +
18765 +/* Accessibility tweaks: Mozilla.org */
18766 +.skip_link { display: none; }
18767 +
18768 +.codebox p { display: none; }
18769 +
18770 +/* stylelint-disable declaration-property-unit-whitelist */
18771 +.emoji {
18772 + min-height: 18px;
18773 + min-width: 18px;
18774 + height: 1em;
18775 + width: 1em;
18776 +}
18777 +/* stylelint-enable declaration-property-unit-whitelist */
18778
18779 diff --git a/theme/responsive.css b/theme/responsive.css
18780 new file mode 100644
18781 index 000000000..ca4054c27
18782 --- /dev/null
18783 +++ b/theme/responsive.css
18784 @@ -0,0 +1,583 @@
18785 +/* Responsive Design
18786 +---------------------------------------- */
18787 +
18788 +@media (max-width: 320px) {
18789 + select, .inputbox {
18790 + max-width: 240px;
18791 + }
18792 +}
18793 +
18794 +/* Notifications list
18795 +----------------------------------------*/
18796 +@media (max-width: 350px) {
18797 + .dropdown-extended .dropdown-contents {
18798 + width: auto;
18799 + }
18800 +}
18801 +
18802 +@media (max-width: 430px) {
18803 + .action-bar .search-box .inputbox {
18804 + width: 120px;
18805 + }
18806 +
18807 + .section-viewtopic .search-box .inputbox {
18808 + width: 57px;
18809 + }
18810 +
18811 + .action-bar .search-box .inputbox ::-moz-placeholder {
18812 + content: "Search...";
18813 + }
18814 +
18815 + .action-bar .search-box .inputbox :-ms-input-placeholder {
18816 + content: "Search...";
18817 + }
18818 +
18819 + .action-bar .search-box .inputbox ::-webkit-input-placeholder {
18820 + content: "Search...";
18821 + }
18822 +}
18823 +
18824 +@media (max-width: 500px) {
18825 + dd label {
18826 + white-space: normal;
18827 + }
18828 +
18829 + select, .inputbox {
18830 + max-width: 260px;
18831 + }
18832 +
18833 + .captcha-panel dd.captcha {
18834 + margin-left: 0;
18835 + }
18836 +
18837 + .captcha-panel dd.captcha-image img {
18838 + width: 100%;
18839 + }
18840 +
18841 + dl.details dt, dl.details dd {
18842 + width: auto;
18843 + float: none;
18844 + text-align: left;
18845 + }
18846 +
18847 + dl.details dd {
18848 + margin-left: 20px;
18849 + }
18850 +
18851 + p.responsive-center {
18852 + float: none;
18853 + text-align: center;
18854 + margin-bottom: 5px;
18855 + }
18856 +
18857 + .action-bar > div {
18858 + margin-bottom: 5px;
18859 + }
18860 +
18861 + .action-bar > .pagination {
18862 + float: none;
18863 + clear: both;
18864 + padding-bottom: 1px;
18865 + text-align: center;
18866 + }
18867 +
18868 + .action-bar > .pagination li.page-jump {
18869 + margin: 0 2px;
18870 + }
18871 +
18872 + p.jumpbox-return {
18873 + display: none;
18874 + }
18875 +
18876 + .display-options > label:nth-child(1) {
18877 + display: block;
18878 + margin-bottom: 5px;
18879 + }
18880 +
18881 + .attach-controls {
18882 + margin-top: 5px;
18883 + width: 100%;
18884 + }
18885 +
18886 + .quick-links .dropdown-trigger span {
18887 + display: none;
18888 + }
18889 +}
18890 +
18891 +@media (max-width: 550px) {
18892 + ul.topiclist.forums dt {
18893 + margin-right: 0;
18894 + }
18895 +
18896 + ul.topiclist.forums dt .list-inner {
18897 + margin-right: 0;
18898 + }
18899 +
18900 + ul.topiclist.forums dd.lastpost {
18901 + display: none;
18902 + }
18903 +}
18904 +
18905 +@media (max-width: 700px) {
18906 + .responsive-hide { display: none !important; }
18907 + .responsive-show { display: block !important; }
18908 + .responsive-show-inline { display: inline !important; }
18909 + .responsive-show-inline-block { display: inline-block !important; }
18910 +
18911 + /* Content wrappers
18912 + ----------------------------------------*/
18913 + html {
18914 + height: auto;
18915 + }
18916 +
18917 + body {
18918 + padding: 0;
18919 + }
18920 +
18921 + .wrap {
18922 + border: none;
18923 + border-radius: 0;
18924 + margin: 0;
18925 + min-width: 290px;
18926 + padding: 0 5px;
18927 + }
18928 +
18929 + /* Common block wrappers
18930 + ----------------------------------------*/
18931 + .headerbar, .navbar, .forabg, .forumbg, .post, .panel {
18932 + border-radius: 0;
18933 + margin-left: -5px;
18934 + margin-right: -5px;
18935 + }
18936 +
18937 + .cp-main .forabg, .cp-main .forumdb, .cp-main .post, .cp-main .panel {
18938 + border-radius: 7px;
18939 + }
18940 +
18941 + /* Logo block
18942 + ----------------------------------------*/
18943 + .site-description {
18944 + float: none;
18945 + width: auto;
18946 + text-align: center;
18947 + }
18948 +
18949 + .logo {
18950 + /* change display value to inline-block to show logo */
18951 + display: none;
18952 + float: none;
18953 + padding: 10px;
18954 + }
18955 +
18956 + .site-description h1, .site-description p {
18957 + text-align: inherit;
18958 + float: none;
18959 + margin: 5px;
18960 + line-height: 1.2em;
18961 + overflow: hidden;
18962 + text-overflow: ellipsis;
18963 + }
18964 +
18965 + .site-description p, .search-header {
18966 + display: none;
18967 + }
18968 +
18969 + /* Navigation
18970 + ----------------------------------------*/
18971 + .headerbar + .navbar {
18972 + margin-top: -5px;
18973 + }
18974 +
18975 + /* Search
18976 + ----------------------------------------*/
18977 + .responsive-search { display: block !important; }
18978 +
18979 + /* .topiclist lists
18980 + ----------------------------------------*/
18981 + li.header dt {
18982 + text-align: center;
18983 + text-transform: none;
18984 + line-height: 1em;
18985 + font-size: 1.2em;
18986 + padding-bottom: 4px;
18987 + }
18988 +
18989 + ul.topiclist li.header dt, ul.topiclist li.header dt .list-inner {
18990 + margin-right: 0 !important;
18991 + padding-right: 0;
18992 + }
18993 +
18994 + ul.topiclist li.header dd {
18995 + display: none !important;
18996 + }
18997 +
18998 + ul.topiclist dt, ul.topiclist dt .list-inner,
18999 + ul.topiclist.missing-column dt, ul.topiclist.missing-column dt .list-inner,
19000 + ul.topiclist.two-long-columns dt, ul.topiclist.two-long-columns dt .list-inner,
19001 + ul.topiclist.two-columns dt, ul.topiclist.two-columns dt .list-inner {
19002 + margin-right: 0;
19003 + }
19004 +
19005 + ul.topiclist dt .list-inner.with-mark {
19006 + padding-right: 34px;
19007 + }
19008 +
19009 + ul.topiclist dt .list-inner {
19010 + min-height: 28px;
19011 + }
19012 +
19013 + ul.topiclist li.header dt .list-inner {
19014 + min-height: 0;
19015 + }
19016 +
19017 + ul.topiclist dd {
19018 + display: none;
19019 + }
19020 + ul.topiclist dd.mark {
19021 + display: block;
19022 + }
19023 +
19024 + /* Forums and topics lists
19025 + ----------------------------------------*/
19026 + ul.topiclist.forums dt {
19027 + margin-right: -250px;
19028 + }
19029 +
19030 + ul.topiclist dd.mark {
19031 + display: block;
19032 + position: absolute;
19033 + right: 5px;
19034 + top: 0;
19035 + margin: 0;
19036 + width: auto;
19037 + min-width: 0;
19038 + text-align: left;
19039 + }
19040 +
19041 + ul.topiclist.forums dd.topics dfn, ul.topiclist.topics dd.posts dfn {
19042 + position: relative;
19043 + left: 0;
19044 + width: auto;
19045 + display: inline;
19046 + font-weight: normal;
19047 + }
19048 +
19049 + li.row .responsive-show strong {
19050 + font-weight: bold;
19051 + color: inherit;
19052 + }
19053 +
19054 + ul.topiclist li.row dt a.subforum {
19055 + vertical-align: bottom;
19056 + overflow: hidden;
19057 + text-overflow: ellipsis;
19058 + max-width: 100px;
19059 + }
19060 +
19061 + /* Pagination
19062 + ----------------------------------------*/
19063 + .pagination > ul {
19064 + margin: 5px 0 0;
19065 + }
19066 +
19067 + .row .pagination .ellipsis + li {
19068 + display: none !important;
19069 + }
19070 +
19071 + /* Responsive tables
19072 + ----------------------------------------*/
19073 + table.responsive, table.responsive tbody, table.responsive tr, table.responsive td {
19074 + display: block;
19075 + }
19076 +
19077 + table.responsive thead, table.responsive th {
19078 + display: none;
19079 + }
19080 +
19081 + table.responsive.show-header thead, table.responsive.show-header th:first-child {
19082 + display: block;
19083 + width: auto !important;
19084 + text-align: left !important;
19085 + }
19086 +
19087 + table.responsive.show-header th:first-child span.rank-img {
19088 + display: none;
19089 + }
19090 +
19091 + table.responsive tr {
19092 + margin: 2px 0;
19093 + }
19094 +
19095 + table.responsive td {
19096 + width: auto !important;
19097 + text-align: left !important;
19098 + padding: 4px;
19099 + }
19100 +
19101 + table.responsive td.empty {
19102 + display: none !important;
19103 + }
19104 +
19105 + table.responsive td > dfn {
19106 + display: inline-block !important;
19107 + }
19108 +
19109 + table.responsive td > dfn:after {
19110 + content: ':';
19111 + padding-right: 5px;
19112 + }
19113 +
19114 + table.responsive span.rank-img {
19115 + float: none;
19116 + padding-right: 5px;
19117 + }
19118 +
19119 + table.responsive.memberlist td:first-child input[type="checkbox"] {
19120 + float: right;
19121 + }
19122 +
19123 + /* Forms
19124 + ----------------------------------------*/
19125 + fieldset dt, fieldset.fields1 dt, fieldset.fields2 dt {
19126 + width: auto;
19127 + float: none;
19128 + }
19129 +
19130 + fieldset dd, fieldset.fields1 dd, fieldset.fields2 dd {
19131 + margin-left: 0px;
19132 + }
19133 +
19134 + textarea, dd textarea, .message-box textarea {
19135 + width: 100%;
19136 + -moz-box-sizing: border-box;
19137 + box-sizing: border-box;
19138 + }
19139 +
19140 + dl.pmlist dt {
19141 + width: auto !important;
19142 + margin-bottom: 5px;
19143 + }
19144 +
19145 + dl.pmlist dd {
19146 + display: inline-block;
19147 + margin-left: 0 !important;
19148 + }
19149 +
19150 + dl.pmlist dd:first-of-type {
19151 + padding-left: 20px;
19152 + }
19153 +
19154 + .smiley-box, .message-box {
19155 + float: none;
19156 + width: auto;
19157 + }
19158 +
19159 + .smiley-box {
19160 + margin-top: 5px;
19161 + }
19162 +
19163 + .bbcode-status {
19164 + display: none;
19165 + }
19166 +
19167 + .colour-palette, .colour-palette tbody, .colour-palette tr {
19168 + display: block;
19169 + }
19170 +
19171 + .colour-palette td {
19172 + display: inline-block;
19173 + margin-right: 2px;
19174 + }
19175 +
19176 + .horizontal-palette td:nth-child(2n), .vertical-palette tr:nth-child(2n) {
19177 + display: none;
19178 + }
19179 +
19180 + fieldset.quick-login label {
19181 + display: block;
19182 + margin-bottom: 5px;
19183 + white-space: normal;
19184 + }
19185 +
19186 + fieldset.quick-login label > span {
19187 + display: inline-block;
19188 + min-width: 100px;
19189 + }
19190 +
19191 + fieldset.quick-login input.inputbox {
19192 + width: 85%;
19193 + max-width: 300px;
19194 + margin-left: 20px;
19195 + }
19196 +
19197 + fieldset.quick-login label[for="autologin"] {
19198 + display: inline-block;
19199 + text-align: right;
19200 + min-width: 50%;
19201 + }
19202 +
19203 + /* User profile
19204 + ----------------------------------------*/
19205 + .column1, .column2, .left-box.profile-details {
19206 + float: none;
19207 + width: auto;
19208 + clear: both;
19209 + }
19210 +
19211 + /* Polls
19212 + ----------------------------------------*/
19213 + fieldset.polls dt {
19214 + width: 90%;
19215 + }
19216 +
19217 + fieldset.polls dd.resultbar {
19218 + padding-left: 20px;
19219 + }
19220 +
19221 + fieldset.polls dd.poll_option_percent {
19222 + width: 20%;
19223 + }
19224 +
19225 + fieldset.polls dd.resultbar, fieldset.polls dd.poll_option_percent {
19226 + margin-top: 5px;
19227 + }
19228 +
19229 + /* Post
19230 + ----------------------------------------*/
19231 + .postbody {
19232 + position: inherit;
19233 + }
19234 +
19235 + .postprofile, .postbody, .search .postbody {
19236 + display: block;
19237 + width: auto;
19238 + float: none;
19239 + padding: 0;
19240 + min-height: 0;
19241 + }
19242 +
19243 + .post .postprofile {
19244 + width: auto;
19245 + border-width: 0 0 1px 0;
19246 + padding-bottom: 5px;
19247 + margin: 0;
19248 + margin-bottom: 5px;
19249 + min-height: 40px;
19250 + overflow: hidden;
19251 + }
19252 +
19253 + .postprofile dd {
19254 + display: none;
19255 + }
19256 +
19257 + .postprofile dt, .postprofile dd.profile-rank, .search .postprofile dd {
19258 + display: block;
19259 + margin: 0;
19260 + }
19261 +
19262 + .postprofile .has-avatar .avatar-container {
19263 + margin: 0;
19264 + overflow: inherit;
19265 + }
19266 +
19267 + .postprofile .avatar-container:after {
19268 + clear: none;
19269 + }
19270 +
19271 + .postprofile .avatar {
19272 + margin-right: 5px;
19273 + }
19274 +
19275 + .postprofile .avatar img {
19276 + width: auto !important;
19277 + height: auto !important;
19278 + max-height: 32px;
19279 + }
19280 +
19281 + .has-profile .postbody h3 {
19282 + margin-left: 0 !important;
19283 + margin-right: 0 !important;
19284 + }
19285 +
19286 + .has-profile .post-buttons {
19287 + right: 30px;
19288 + top: 15px;
19289 + }
19290 +
19291 + .online {
19292 + background-size: 40px;
19293 + }
19294 +
19295 + /* Misc stuff
19296 + ----------------------------------------*/
19297 + h2 {
19298 + margin-top: .5em;
19299 + }
19300 +
19301 + p {
19302 + margin-bottom: .5em;
19303 + overflow: hidden;
19304 + }
19305 +
19306 + p.rightside {
19307 + margin-bottom: 0;
19308 + }
19309 +
19310 + fieldset.display-options label {
19311 + display: block;
19312 + clear: both;
19313 + margin-bottom: 5px;
19314 + }
19315 +
19316 + dl.mini dd.pm-legend {
19317 + float: left;
19318 + min-width: 200px;
19319 + }
19320 +
19321 + .topicreview {
19322 + margin: 0 -5px;
19323 + padding: 0 5px;
19324 + }
19325 +
19326 + fieldset.display-actions {
19327 + white-space: normal;
19328 + }
19329 +
19330 + .phpbb_alert {
19331 + width: auto;
19332 + margin: 0 5px;
19333 + }
19334 +
19335 + .attach-comment dfn {
19336 + width: 100%;
19337 + }
19338 +}
19339 +
19340 +@media (min-width: 700px) {
19341 + .postbody { width: 70%; }
19342 +}
19343 +
19344 +@media (min-width: 850px) {
19345 + .postbody { width: 76%; }
19346 +}
19347 +
19348 +@media (max-width: 850px) {
19349 + .postprofile { width: 28%; }
19350 +
19351 +
19352 +}
19353 +
19354 +@media (min-width: 701px) and (max-width: 950px) {
19355 +
19356 + ul.topiclist dt {
19357 + margin-right: -410px;
19358 + }
19359 +
19360 + ul.topiclist dt .list-inner {
19361 + margin-right: 410px;
19362 + }
19363 +
19364 + dd.posts, dd.topics, dd.views {
19365 + width: 80px;
19366 + }
19367 +}
19368
19369 diff --git a/theme/stylesheet.css b/theme/stylesheet.css
19370 new file mode 100644
19371 index 000000000..5c41d2ec6
19372 --- /dev/null
19373 +++ b/theme/stylesheet.css
19374 @@ -0,0 +1,22 @@
19375 +/* phpBB3 Style Sheet
19376 + --------------------------------------------------------------
19377 + Style name: Gentoo Light
19378 + Based on style: prosilver (the default phpBB 3.2.x style)
19379 + Based on style: Gentoo phpBB 2 (Derived from subSilver by Kyle Manna)
19380 + Original author: Tom Beddard ( http://www.subblue.com/ )
19381 + Modified by: Gentoo ( https://www.gentoo.org/ )
19382 + --------------------------------------------------------------
19383 +*/
19384 +
19385 +@import url("normalize.css?v=3.2");
19386 +@import url("base.css?v=3.2");
19387 +@import url("utilities.css?v=3.2");
19388 +@import url("common.css?v=3.2");
19389 +@import url("links.css?v=3.2");
19390 +@import url("content.css?v=3.2");
19391 +@import url("buttons.css?v=3.2");
19392 +@import url("cp.css?v=3.2");
19393 +@import url("forms.css?v=3.2");
19394 +@import url("icons.css?v=3.2");
19395 +@import url("colours.css?v=3.2");
19396 +@import url("responsive.css?v=3.2");
19397
19398 diff --git a/theme/tweaks.css b/theme/tweaks.css
19399 new file mode 100644
19400 index 000000000..ba82551f8
19401 --- /dev/null
19402 +++ b/theme/tweaks.css
19403 @@ -0,0 +1,41 @@
19404 +/* Style Sheet Tweaks
19405 +
19406 +These style definitions are IE 8 & 9 only.
19407 +They are required due to the poor CSS support in IE browsers.
19408 +------------------------------------------------------------------------------*/
19409 +
19410 +/* IE 8 Tweaks (value)\9 equates to IE <= 8
19411 +------------------------------------------------------------------------------*/
19412 +
19413 +/* Clear float fix */
19414 +.inner, ul.linklist { zoom: 1\9; }
19415 +
19416 +/* Align checkboxes/radio buttons nicely */
19417 +dd label input { vertical-align: text-bottom\9; }
19418 +
19419 +/* Fixes header-avatar aspect-ratio */
19420 +.header-avatar img { height: 20px\9; }
19421 +
19422 +/* IE8 often can't handle max-width in %, so we use px instead */
19423 +.postprofile .avatar img { max-width: 150px\9; }
19424 +
19425 +
19426 +/* IE 9 Tweaks
19427 +------------------------------------------------------------------------------*/
19428 +
19429 +/* Border-radius bleed fix in IE9 */
19430 +.search-header, .search-header .inputbox, .search-header a.button {
19431 + border-radius: 0;
19432 +}
19433 +
19434 +.headerbar, .forumbg {
19435 + background-image: url("./images/bg_header.gif");
19436 +}
19437 +
19438 +.forabg {
19439 + background-image: url("./images/bg_list.gif");
19440 +}
19441 +
19442 +.tabs .tab > a {
19443 + border-radius: 0;
19444 +}
19445
19446 diff --git a/theme/utilities.css b/theme/utilities.css
19447 new file mode 100644
19448 index 000000000..cbb8127d1
19449 --- /dev/null
19450 +++ b/theme/utilities.css
19451 @@ -0,0 +1,66 @@
19452 +/* --------------------------------------------------------------
19453 + $Utilities
19454 +-------------------------------------------------------------- */
19455 +
19456 +.sr-only {
19457 + position: absolute;
19458 + width: 1px;
19459 + height: 1px;
19460 + margin: -1px;
19461 + padding: 0;
19462 + overflow: hidden;
19463 + clip: rect(0, 0, 0, 0);
19464 + border: 0;
19465 +}
19466 +
19467 +.sr-only-focusable:active,
19468 +.sr-only-focusable:focus {
19469 + position: static;
19470 + width: auto;
19471 + height: auto;
19472 + margin: 0;
19473 + overflow: visible;
19474 + clip: auto;
19475 +}
19476 +
19477 +.clearfix:before,
19478 +.clearfix:after,
19479 +.container:before,
19480 +.container:after,
19481 +.container-fluid:before,
19482 +.container-fluid:after,
19483 +.row:before,
19484 +.row:after {
19485 + content: " ";
19486 + display: table;
19487 +}
19488 +.clearfix:after,
19489 +.container:after,
19490 +.container-fluid:after,
19491 +.row:after { clear: both }
19492 +
19493 +.center-block {
19494 + display: block;
19495 + margin-left: auto;
19496 + margin-right: auto;
19497 +}
19498 +
19499 +.pull-right { float: right !important }
19500 +.pull-left { float: left !important }
19501 +.hide { display: none !important }
19502 +.show { display: block !important }
19503 +.invisible { visibility: hidden }
19504 +
19505 +.text-hide {
19506 + font: 0/0 a;
19507 + color: transparent;
19508 + text-shadow: none;
19509 + background-color: transparent;
19510 + border: 0;
19511 +}
19512 +
19513 +.hidden {
19514 + display: none ;
19515 +}
19516 +
19517 +.affix { position: fixed }