aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/adm
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB/adm')
-rw-r--r--phpBB/adm/images/arrow_down.gifbin0 -> 113 bytes
-rw-r--r--phpBB/adm/images/arrow_left.gifbin0 -> 111 bytes
-rw-r--r--phpBB/adm/images/arrow_right.gifbin0 -> 111 bytes
-rw-r--r--phpBB/adm/images/arrow_up.gifbin0 -> 113 bytes
-rw-r--r--phpBB/adm/images/bg_button.gifbin0 -> 182 bytes
-rw-r--r--phpBB/adm/images/bg_hash1.gifbin0 -> 48 bytes
-rw-r--r--phpBB/adm/images/bg_hash2.gifbin0 -> 48 bytes
-rw-r--r--phpBB/adm/images/bg_hash3.gifbin0 -> 48 bytes
-rw-r--r--phpBB/adm/images/bg_hash4.gifbin0 -> 48 bytes
-rw-r--r--phpBB/adm/images/bg_header.gifbin0 -> 416 bytes
-rw-r--r--phpBB/adm/images/bg_header.jpgbin0 -> 385 bytes
-rw-r--r--phpBB/adm/images/bg_tabs1.gifbin0 -> 2325 bytes
-rw-r--r--phpBB/adm/images/bg_tabs2.gifbin0 -> 541 bytes
-rw-r--r--phpBB/adm/images/bg_tabs_alt1.gifbin0 -> 1520 bytes
-rw-r--r--phpBB/adm/images/bg_tabs_alt2.gifbin0 -> 420 bytes
-rw-r--r--phpBB/adm/images/cellpic3.gifbin0 -> 826 bytes
-rw-r--r--phpBB/adm/images/corners_left.gifbin0 -> 796 bytes
-rw-r--r--phpBB/adm/images/corners_left2.gifbin0 -> 55 bytes
-rw-r--r--phpBB/adm/images/corners_right.gifbin0 -> 175 bytes
-rw-r--r--phpBB/adm/images/corners_right2.gifbin0 -> 56 bytes
-rw-r--r--phpBB/adm/images/file_conflict.gifbin0 -> 344 bytes
-rw-r--r--phpBB/adm/images/file_modified.gifbin0 -> 358 bytes
-rw-r--r--phpBB/adm/images/file_new.gifbin0 -> 229 bytes
-rw-r--r--phpBB/adm/images/file_new_conflict.gifbin0 -> 357 bytes
-rw-r--r--phpBB/adm/images/file_not_modified.gifbin0 -> 570 bytes
-rw-r--r--phpBB/adm/images/file_up_to_date.gifbin0 -> 357 bytes
-rw-r--r--phpBB/adm/images/gradient2b.gifbin0 -> 192 bytes
-rw-r--r--phpBB/adm/images/icon_delete.gifbin0 -> 255 bytes
-rw-r--r--phpBB/adm/images/icon_delete_disabled.gifbin0 -> 249 bytes
-rw-r--r--phpBB/adm/images/icon_down.gifbin0 -> 239 bytes
-rw-r--r--phpBB/adm/images/icon_down_disabled.gifbin0 -> 166 bytes
-rw-r--r--phpBB/adm/images/icon_edit.gifbin0 -> 242 bytes
-rw-r--r--phpBB/adm/images/icon_edit_disabled.gifbin0 -> 239 bytes
-rw-r--r--phpBB/adm/images/icon_folder.gifbin0 -> 688 bytes
-rw-r--r--phpBB/adm/images/icon_folder_link.gifbin0 -> 734 bytes
-rw-r--r--phpBB/adm/images/icon_folder_lock.gifbin0 -> 707 bytes
-rw-r--r--phpBB/adm/images/icon_subfolder.gifbin0 -> 751 bytes
-rw-r--r--phpBB/adm/images/icon_sync.gifbin0 -> 251 bytes
-rw-r--r--phpBB/adm/images/icon_sync_disabled.gifbin0 -> 246 bytes
-rw-r--r--phpBB/adm/images/icon_trace.gifbin0 -> 307 bytes
-rw-r--r--phpBB/adm/images/icon_up.gifbin0 -> 240 bytes
-rw-r--r--phpBB/adm/images/icon_up_disabled.gifbin0 -> 168 bytes
-rw-r--r--phpBB/adm/images/innerbox_bg.gifbin0 -> 1980 bytes
-rw-r--r--phpBB/adm/images/no_avatar.gifbin0 -> 474 bytes
-rw-r--r--phpBB/adm/images/no_image.pngbin0 -> 401 bytes
-rw-r--r--phpBB/adm/images/phpbb_logo.gifbin0 -> 3883 bytes
-rw-r--r--phpBB/adm/images/progress_bar.gifbin0 -> 1353 bytes
-rw-r--r--phpBB/adm/images/spacer.gifbin0 -> 807 bytes
-rw-r--r--phpBB/adm/images/toggle.gifbin0 -> 788 bytes
-rw-r--r--phpBB/adm/index.php607
-rw-r--r--phpBB/adm/style/acp_attachments.html376
-rw-r--r--phpBB/adm/style/acp_ban.html124
-rw-r--r--phpBB/adm/style/acp_bbcodes.html124
-rw-r--r--phpBB/adm/style/acp_board.html49
-rw-r--r--phpBB/adm/style/acp_bots.html102
-rw-r--r--phpBB/adm/style/acp_captcha.html67
-rw-r--r--phpBB/adm/style/acp_database.html98
-rw-r--r--phpBB/adm/style/acp_disallow.html45
-rw-r--r--phpBB/adm/style/acp_email.html54
-rw-r--r--phpBB/adm/style/acp_forums.html505
-rw-r--r--phpBB/adm/style/acp_forums_copy_perm.html22
-rw-r--r--phpBB/adm/style/acp_groups.html358
-rw-r--r--phpBB/adm/style/acp_icons.html268
-rw-r--r--phpBB/adm/style/acp_inactive.html77
-rw-r--r--phpBB/adm/style/acp_jabber.html65
-rw-r--r--phpBB/adm/style/acp_language.html255
-rw-r--r--phpBB/adm/style/acp_logs.html93
-rw-r--r--phpBB/adm/style/acp_main.html249
-rw-r--r--phpBB/adm/style/acp_modules.html212
-rw-r--r--phpBB/adm/style/acp_permission_roles.html202
-rw-r--r--phpBB/adm/style/acp_permissions.html357
-rw-r--r--phpBB/adm/style/acp_php_info.html13
-rw-r--r--phpBB/adm/style/acp_profile.html236
-rw-r--r--phpBB/adm/style/acp_prune_forums.html108
-rw-r--r--phpBB/adm/style/acp_prune_users.html59
-rw-r--r--phpBB/adm/style/acp_ranks.html98
-rw-r--r--phpBB/adm/style/acp_reasons.html127
-rw-r--r--phpBB/adm/style/acp_search.html157
-rw-r--r--phpBB/adm/style/acp_send_statistics.html71
-rw-r--r--phpBB/adm/style/acp_styles.html521
-rw-r--r--phpBB/adm/style/acp_update.html46
-rw-r--r--phpBB/adm/style/acp_users.html234
-rw-r--r--phpBB/adm/style/acp_users_avatar.html78
-rw-r--r--phpBB/adm/style/acp_users_feedback.html76
-rw-r--r--phpBB/adm/style/acp_users_overview.html144
-rw-r--r--phpBB/adm/style/acp_users_prefs.html158
-rw-r--r--phpBB/adm/style/acp_users_profile.html66
-rw-r--r--phpBB/adm/style/acp_users_signature.html117
-rw-r--r--phpBB/adm/style/acp_users_warnings.html36
-rw-r--r--phpBB/adm/style/acp_words.html77
-rw-r--r--phpBB/adm/style/admin.css1655
-rw-r--r--phpBB/adm/style/captcha_default_acp_demo.html4
-rw-r--r--phpBB/adm/style/captcha_gd_acp.html74
-rw-r--r--phpBB/adm/style/captcha_qa_acp.html92
-rw-r--r--phpBB/adm/style/captcha_qa_acp_demo.html7
-rw-r--r--phpBB/adm/style/captcha_recaptcha.html33
-rw-r--r--phpBB/adm/style/captcha_recaptcha_acp.html50
-rw-r--r--phpBB/adm/style/colour_swatch.html78
-rw-r--r--phpBB/adm/style/confirm_body.html20
-rw-r--r--phpBB/adm/style/confirm_body_prune.html30
-rw-r--r--phpBB/adm/style/custom_profile_fields.html32
-rw-r--r--phpBB/adm/style/editor.js398
-rw-r--r--phpBB/adm/style/install_convert.html134
-rw-r--r--phpBB/adm/style/install_error.html8
-rw-r--r--phpBB/adm/style/install_footer.html27
-rw-r--r--phpBB/adm/style/install_header.html81
-rw-r--r--phpBB/adm/style/install_install.html77
-rw-r--r--phpBB/adm/style/install_main.html6
-rw-r--r--phpBB/adm/style/install_update.html475
-rw-r--r--phpBB/adm/style/install_update_diff.html262
-rw-r--r--phpBB/adm/style/message_body.html8
-rw-r--r--phpBB/adm/style/overall_footer.html35
-rw-r--r--phpBB/adm/style/overall_header.html221
-rw-r--r--phpBB/adm/style/permission_forum_copy.html40
-rw-r--r--phpBB/adm/style/permission_mask.html139
-rw-r--r--phpBB/adm/style/permission_roles_mask.html38
-rw-r--r--phpBB/adm/style/permission_trace.html58
-rw-r--r--phpBB/adm/style/permissions.js359
-rw-r--r--phpBB/adm/style/progress_bar.html40
-rw-r--r--phpBB/adm/style/simple_body.html8
-rw-r--r--phpBB/adm/style/simple_footer.html31
-rw-r--r--phpBB/adm/style/simple_header.html112
-rw-r--r--phpBB/adm/style/tooltip.js251
-rw-r--r--phpBB/adm/style/viewsource.html21
-rw-r--r--phpBB/adm/swatch.php53
125 files changed, 11688 insertions, 0 deletions
diff --git a/phpBB/adm/images/arrow_down.gif b/phpBB/adm/images/arrow_down.gif
new file mode 100644
index 0000000000..e45c365ecc
--- /dev/null
+++ b/phpBB/adm/images/arrow_down.gif
Binary files differ
diff --git a/phpBB/adm/images/arrow_left.gif b/phpBB/adm/images/arrow_left.gif
new file mode 100644
index 0000000000..076a5596f1
--- /dev/null
+++ b/phpBB/adm/images/arrow_left.gif
Binary files differ
diff --git a/phpBB/adm/images/arrow_right.gif b/phpBB/adm/images/arrow_right.gif
new file mode 100644
index 0000000000..c5827a401f
--- /dev/null
+++ b/phpBB/adm/images/arrow_right.gif
Binary files differ
diff --git a/phpBB/adm/images/arrow_up.gif b/phpBB/adm/images/arrow_up.gif
new file mode 100644
index 0000000000..38b5a62c17
--- /dev/null
+++ b/phpBB/adm/images/arrow_up.gif
Binary files differ
diff --git a/phpBB/adm/images/bg_button.gif b/phpBB/adm/images/bg_button.gif
new file mode 100644
index 0000000000..03172ff5c6
--- /dev/null
+++ b/phpBB/adm/images/bg_button.gif
Binary files differ
diff --git a/phpBB/adm/images/bg_hash1.gif b/phpBB/adm/images/bg_hash1.gif
new file mode 100644
index 0000000000..61163679a8
--- /dev/null
+++ b/phpBB/adm/images/bg_hash1.gif
Binary files differ
diff --git a/phpBB/adm/images/bg_hash2.gif b/phpBB/adm/images/bg_hash2.gif
new file mode 100644
index 0000000000..d31840361c
--- /dev/null
+++ b/phpBB/adm/images/bg_hash2.gif
Binary files differ
diff --git a/phpBB/adm/images/bg_hash3.gif b/phpBB/adm/images/bg_hash3.gif
new file mode 100644
index 0000000000..40bc7e1b5c
--- /dev/null
+++ b/phpBB/adm/images/bg_hash3.gif
Binary files differ
diff --git a/phpBB/adm/images/bg_hash4.gif b/phpBB/adm/images/bg_hash4.gif
new file mode 100644
index 0000000000..54e7f0019f
--- /dev/null
+++ b/phpBB/adm/images/bg_hash4.gif
Binary files differ
diff --git a/phpBB/adm/images/bg_header.gif b/phpBB/adm/images/bg_header.gif
new file mode 100644
index 0000000000..b95bf3ba95
--- /dev/null
+++ b/phpBB/adm/images/bg_header.gif
Binary files differ
diff --git a/phpBB/adm/images/bg_header.jpg b/phpBB/adm/images/bg_header.jpg
new file mode 100644
index 0000000000..5ecec5360b
--- /dev/null
+++ b/phpBB/adm/images/bg_header.jpg
Binary files differ
diff --git a/phpBB/adm/images/bg_tabs1.gif b/phpBB/adm/images/bg_tabs1.gif
new file mode 100644
index 0000000000..d129365661
--- /dev/null
+++ b/phpBB/adm/images/bg_tabs1.gif
Binary files differ
diff --git a/phpBB/adm/images/bg_tabs2.gif b/phpBB/adm/images/bg_tabs2.gif
new file mode 100644
index 0000000000..0aace9b6db
--- /dev/null
+++ b/phpBB/adm/images/bg_tabs2.gif
Binary files differ
diff --git a/phpBB/adm/images/bg_tabs_alt1.gif b/phpBB/adm/images/bg_tabs_alt1.gif
new file mode 100644
index 0000000000..335a72c711
--- /dev/null
+++ b/phpBB/adm/images/bg_tabs_alt1.gif
Binary files differ
diff --git a/phpBB/adm/images/bg_tabs_alt2.gif b/phpBB/adm/images/bg_tabs_alt2.gif
new file mode 100644
index 0000000000..a2142d5432
--- /dev/null
+++ b/phpBB/adm/images/bg_tabs_alt2.gif
Binary files differ
diff --git a/phpBB/adm/images/cellpic3.gif b/phpBB/adm/images/cellpic3.gif
new file mode 100644
index 0000000000..be46fc6fcc
--- /dev/null
+++ b/phpBB/adm/images/cellpic3.gif
Binary files differ
diff --git a/phpBB/adm/images/corners_left.gif b/phpBB/adm/images/corners_left.gif
new file mode 100644
index 0000000000..bacd276495
--- /dev/null
+++ b/phpBB/adm/images/corners_left.gif
Binary files differ
diff --git a/phpBB/adm/images/corners_left2.gif b/phpBB/adm/images/corners_left2.gif
new file mode 100644
index 0000000000..206e50368d
--- /dev/null
+++ b/phpBB/adm/images/corners_left2.gif
Binary files differ
diff --git a/phpBB/adm/images/corners_right.gif b/phpBB/adm/images/corners_right.gif
new file mode 100644
index 0000000000..bcb5bd7d14
--- /dev/null
+++ b/phpBB/adm/images/corners_right.gif
Binary files differ
diff --git a/phpBB/adm/images/corners_right2.gif b/phpBB/adm/images/corners_right2.gif
new file mode 100644
index 0000000000..0ba66d50b2
--- /dev/null
+++ b/phpBB/adm/images/corners_right2.gif
Binary files differ
diff --git a/phpBB/adm/images/file_conflict.gif b/phpBB/adm/images/file_conflict.gif
new file mode 100644
index 0000000000..4458c4ff23
--- /dev/null
+++ b/phpBB/adm/images/file_conflict.gif
Binary files differ
diff --git a/phpBB/adm/images/file_modified.gif b/phpBB/adm/images/file_modified.gif
new file mode 100644
index 0000000000..17e8f976c3
--- /dev/null
+++ b/phpBB/adm/images/file_modified.gif
Binary files differ
diff --git a/phpBB/adm/images/file_new.gif b/phpBB/adm/images/file_new.gif
new file mode 100644
index 0000000000..d0ec75876d
--- /dev/null
+++ b/phpBB/adm/images/file_new.gif
Binary files differ
diff --git a/phpBB/adm/images/file_new_conflict.gif b/phpBB/adm/images/file_new_conflict.gif
new file mode 100644
index 0000000000..84efde4faa
--- /dev/null
+++ b/phpBB/adm/images/file_new_conflict.gif
Binary files differ
diff --git a/phpBB/adm/images/file_not_modified.gif b/phpBB/adm/images/file_not_modified.gif
new file mode 100644
index 0000000000..8f9b3d3839
--- /dev/null
+++ b/phpBB/adm/images/file_not_modified.gif
Binary files differ
diff --git a/phpBB/adm/images/file_up_to_date.gif b/phpBB/adm/images/file_up_to_date.gif
new file mode 100644
index 0000000000..c372342646
--- /dev/null
+++ b/phpBB/adm/images/file_up_to_date.gif
Binary files differ
diff --git a/phpBB/adm/images/gradient2b.gif b/phpBB/adm/images/gradient2b.gif
new file mode 100644
index 0000000000..a8107659e2
--- /dev/null
+++ b/phpBB/adm/images/gradient2b.gif
Binary files differ
diff --git a/phpBB/adm/images/icon_delete.gif b/phpBB/adm/images/icon_delete.gif
new file mode 100644
index 0000000000..57962d5172
--- /dev/null
+++ b/phpBB/adm/images/icon_delete.gif
Binary files differ
diff --git a/phpBB/adm/images/icon_delete_disabled.gif b/phpBB/adm/images/icon_delete_disabled.gif
new file mode 100644
index 0000000000..da55bbbe44
--- /dev/null
+++ b/phpBB/adm/images/icon_delete_disabled.gif
Binary files differ
diff --git a/phpBB/adm/images/icon_down.gif b/phpBB/adm/images/icon_down.gif
new file mode 100644
index 0000000000..793db26cde
--- /dev/null
+++ b/phpBB/adm/images/icon_down.gif
Binary files differ
diff --git a/phpBB/adm/images/icon_down_disabled.gif b/phpBB/adm/images/icon_down_disabled.gif
new file mode 100644
index 0000000000..3ba36975b4
--- /dev/null
+++ b/phpBB/adm/images/icon_down_disabled.gif
Binary files differ
diff --git a/phpBB/adm/images/icon_edit.gif b/phpBB/adm/images/icon_edit.gif
new file mode 100644
index 0000000000..c95cf98eb9
--- /dev/null
+++ b/phpBB/adm/images/icon_edit.gif
Binary files differ
diff --git a/phpBB/adm/images/icon_edit_disabled.gif b/phpBB/adm/images/icon_edit_disabled.gif
new file mode 100644
index 0000000000..ac96b0e6dc
--- /dev/null
+++ b/phpBB/adm/images/icon_edit_disabled.gif
Binary files differ
diff --git a/phpBB/adm/images/icon_folder.gif b/phpBB/adm/images/icon_folder.gif
new file mode 100644
index 0000000000..82ceee0784
--- /dev/null
+++ b/phpBB/adm/images/icon_folder.gif
Binary files differ
diff --git a/phpBB/adm/images/icon_folder_link.gif b/phpBB/adm/images/icon_folder_link.gif
new file mode 100644
index 0000000000..01fb1c4e1e
--- /dev/null
+++ b/phpBB/adm/images/icon_folder_link.gif
Binary files differ
diff --git a/phpBB/adm/images/icon_folder_lock.gif b/phpBB/adm/images/icon_folder_lock.gif
new file mode 100644
index 0000000000..450bf28c3c
--- /dev/null
+++ b/phpBB/adm/images/icon_folder_lock.gif
Binary files differ
diff --git a/phpBB/adm/images/icon_subfolder.gif b/phpBB/adm/images/icon_subfolder.gif
new file mode 100644
index 0000000000..5e97bc94ce
--- /dev/null
+++ b/phpBB/adm/images/icon_subfolder.gif
Binary files differ
diff --git a/phpBB/adm/images/icon_sync.gif b/phpBB/adm/images/icon_sync.gif
new file mode 100644
index 0000000000..16223dfd9a
--- /dev/null
+++ b/phpBB/adm/images/icon_sync.gif
Binary files differ
diff --git a/phpBB/adm/images/icon_sync_disabled.gif b/phpBB/adm/images/icon_sync_disabled.gif
new file mode 100644
index 0000000000..39985045c8
--- /dev/null
+++ b/phpBB/adm/images/icon_sync_disabled.gif
Binary files differ
diff --git a/phpBB/adm/images/icon_trace.gif b/phpBB/adm/images/icon_trace.gif
new file mode 100644
index 0000000000..5c622e9a9d
--- /dev/null
+++ b/phpBB/adm/images/icon_trace.gif
Binary files differ
diff --git a/phpBB/adm/images/icon_up.gif b/phpBB/adm/images/icon_up.gif
new file mode 100644
index 0000000000..7daa95c07e
--- /dev/null
+++ b/phpBB/adm/images/icon_up.gif
Binary files differ
diff --git a/phpBB/adm/images/icon_up_disabled.gif b/phpBB/adm/images/icon_up_disabled.gif
new file mode 100644
index 0000000000..2797192574
--- /dev/null
+++ b/phpBB/adm/images/icon_up_disabled.gif
Binary files differ
diff --git a/phpBB/adm/images/innerbox_bg.gif b/phpBB/adm/images/innerbox_bg.gif
new file mode 100644
index 0000000000..460526f0ba
--- /dev/null
+++ b/phpBB/adm/images/innerbox_bg.gif
Binary files differ
diff --git a/phpBB/adm/images/no_avatar.gif b/phpBB/adm/images/no_avatar.gif
new file mode 100644
index 0000000000..80539c8c71
--- /dev/null
+++ b/phpBB/adm/images/no_avatar.gif
Binary files differ
diff --git a/phpBB/adm/images/no_image.png b/phpBB/adm/images/no_image.png
new file mode 100644
index 0000000000..1061ee3b8f
--- /dev/null
+++ b/phpBB/adm/images/no_image.png
Binary files differ
diff --git a/phpBB/adm/images/phpbb_logo.gif b/phpBB/adm/images/phpbb_logo.gif
new file mode 100644
index 0000000000..239993182b
--- /dev/null
+++ b/phpBB/adm/images/phpbb_logo.gif
Binary files differ
diff --git a/phpBB/adm/images/progress_bar.gif b/phpBB/adm/images/progress_bar.gif
new file mode 100644
index 0000000000..1ae265152c
--- /dev/null
+++ b/phpBB/adm/images/progress_bar.gif
Binary files differ
diff --git a/phpBB/adm/images/spacer.gif b/phpBB/adm/images/spacer.gif
new file mode 100644
index 0000000000..cd29009a65
--- /dev/null
+++ b/phpBB/adm/images/spacer.gif
Binary files differ
diff --git a/phpBB/adm/images/toggle.gif b/phpBB/adm/images/toggle.gif
new file mode 100644
index 0000000000..8af6861bd1
--- /dev/null
+++ b/phpBB/adm/images/toggle.gif
Binary files differ
diff --git a/phpBB/adm/index.php b/phpBB/adm/index.php
new file mode 100644
index 0000000000..26f934f6bf
--- /dev/null
+++ b/phpBB/adm/index.php
@@ -0,0 +1,607 @@
+<?php
+/**
+*
+* @package acp
+* @version $Id$
+* @copyright (c) 2005 phpBB Group
+* @license http://opensource.org/licenses/gpl-license.php GNU Public License
+*
+*/
+
+/**
+*/
+define('IN_PHPBB', true);
+define('ADMIN_START', true);
+define('NEED_SID', true);
+
+// Include files
+$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './../';
+$phpEx = substr(strrchr(__FILE__, '.'), 1);
+require($phpbb_root_path . 'common.' . $phpEx);
+require($phpbb_root_path . 'includes/functions_admin.' . $phpEx);
+require($phpbb_root_path . 'includes/functions_module.' . $phpEx);
+
+// Start session management
+$user->session_begin();
+$auth->acl($user->data);
+$user->setup('acp/common');
+// End session management
+
+// Have they authenticated (again) as an admin for this session?
+if (!isset($user->data['session_admin']) || !$user->data['session_admin'])
+{
+ login_box('', $user->lang['LOGIN_ADMIN_CONFIRM'], $user->lang['LOGIN_ADMIN_SUCCESS'], true, false);
+}
+
+// Is user any type of admin? No, then stop here, each script needs to
+// check specific permissions but this is a catchall
+if (!$auth->acl_get('a_'))
+{
+ trigger_error('NO_ADMIN');
+}
+
+// We define the admin variables now, because the user is now able to use the admin related features...
+define('IN_ADMIN', true);
+$phpbb_admin_path = (defined('PHPBB_ADMIN_PATH')) ? PHPBB_ADMIN_PATH : './';
+
+// Some oft used variables
+$safe_mode = (@ini_get('safe_mode') == '1' || strtolower(@ini_get('safe_mode')) === 'on') ? true : false;
+$file_uploads = (@ini_get('file_uploads') == '1' || strtolower(@ini_get('file_uploads')) === 'on') ? true : false;
+$module_id = request_var('i', '');
+$mode = request_var('mode', '');
+
+// Set custom template for admin area
+$template->set_custom_template($phpbb_admin_path . 'style', 'admin');
+$template->assign_var('T_TEMPLATE_PATH', $phpbb_admin_path . 'style');
+
+// the acp template is never stored in the database
+$user->theme['template_storedb'] = false;
+
+// Instantiate new module
+$module = new p_master();
+
+// Instantiate module system and generate list of available modules
+$module->list_modules('acp');
+
+// Select the active module
+$module->set_active($module_id, $mode);
+
+// Assign data to the template engine for the list of modules
+// We do this before loading the active module for correct menu display in trigger_error
+$module->assign_tpl_vars(append_sid("{$phpbb_admin_path}index.$phpEx"));
+
+// Load and execute the relevant module
+$module->load_active();
+
+// Generate the page
+adm_page_header($module->get_page_title());
+
+$template->set_filenames(array(
+ 'body' => $module->get_tpl_name(),
+));
+
+adm_page_footer();
+
+/**
+* Header for acp pages
+*/
+function adm_page_header($page_title)
+{
+ global $config, $db, $user, $template;
+ global $phpbb_root_path, $phpbb_admin_path, $phpEx, $SID, $_SID;
+
+ if (defined('HEADER_INC'))
+ {
+ return;
+ }
+
+ define('HEADER_INC', true);
+
+ // gzip_compression
+ if ($config['gzip_compress'])
+ {
+ if (@extension_loaded('zlib') && !headers_sent())
+ {
+ ob_start('ob_gzhandler');
+ }
+ }
+
+ $template->assign_vars(array(
+ 'PAGE_TITLE' => $page_title,
+ 'USERNAME' => $user->data['username'],
+
+ 'SID' => $SID,
+ '_SID' => $_SID,
+ 'SESSION_ID' => $user->session_id,
+ 'ROOT_PATH' => $phpbb_admin_path,
+
+ 'U_LOGOUT' => append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=logout'),
+ 'U_ADM_LOGOUT' => append_sid("{$phpbb_admin_path}index.$phpEx", 'action=admlogout'),
+ 'U_ADM_INDEX' => append_sid("{$phpbb_admin_path}index.$phpEx"),
+ 'U_INDEX' => append_sid("{$phpbb_root_path}index.$phpEx"),
+
+ 'T_IMAGES_PATH' => "{$phpbb_root_path}images/",
+ 'T_SMILIES_PATH' => "{$phpbb_root_path}{$config['smilies_path']}/",
+ 'T_AVATAR_PATH' => "{$phpbb_root_path}{$config['avatar_path']}/",
+ 'T_AVATAR_GALLERY_PATH' => "{$phpbb_root_path}{$config['avatar_gallery_path']}/",
+ 'T_ICONS_PATH' => "{$phpbb_root_path}{$config['icons_path']}/",
+ 'T_RANKS_PATH' => "{$phpbb_root_path}{$config['ranks_path']}/",
+ 'T_UPLOAD_PATH' => "{$phpbb_root_path}{$config['upload_path']}/",
+
+ 'ICON_MOVE_UP' => '<img src="' . $phpbb_admin_path . 'images/icon_up.gif" alt="' . $user->lang['MOVE_UP'] . '" title="' . $user->lang['MOVE_UP'] . '" />',
+ 'ICON_MOVE_UP_DISABLED' => '<img src="' . $phpbb_admin_path . 'images/icon_up_disabled.gif" alt="' . $user->lang['MOVE_UP'] . '" title="' . $user->lang['MOVE_UP'] . '" />',
+ 'ICON_MOVE_DOWN' => '<img src="' . $phpbb_admin_path . 'images/icon_down.gif" alt="' . $user->lang['MOVE_DOWN'] . '" title="' . $user->lang['MOVE_DOWN'] . '" />',
+ 'ICON_MOVE_DOWN_DISABLED' => '<img src="' . $phpbb_admin_path . 'images/icon_down_disabled.gif" alt="' . $user->lang['MOVE_DOWN'] . '" title="' . $user->lang['MOVE_DOWN'] . '" />',
+ 'ICON_EDIT' => '<img src="' . $phpbb_admin_path . 'images/icon_edit.gif" alt="' . $user->lang['EDIT'] . '" title="' . $user->lang['EDIT'] . '" />',
+ 'ICON_EDIT_DISABLED' => '<img src="' . $phpbb_admin_path . 'images/icon_edit_disabled.gif" alt="' . $user->lang['EDIT'] . '" title="' . $user->lang['EDIT'] . '" />',
+ 'ICON_DELETE' => '<img src="' . $phpbb_admin_path . 'images/icon_delete.gif" alt="' . $user->lang['DELETE'] . '" title="' . $user->lang['DELETE'] . '" />',
+ 'ICON_DELETE_DISABLED' => '<img src="' . $phpbb_admin_path . 'images/icon_delete_disabled.gif" alt="' . $user->lang['DELETE'] . '" title="' . $user->lang['DELETE'] . '" />',
+ 'ICON_SYNC' => '<img src="' . $phpbb_admin_path . 'images/icon_sync.gif" alt="' . $user->lang['RESYNC'] . '" title="' . $user->lang['RESYNC'] . '" />',
+ 'ICON_SYNC_DISABLED' => '<img src="' . $phpbb_admin_path . 'images/icon_sync_disabled.gif" alt="' . $user->lang['RESYNC'] . '" title="' . $user->lang['RESYNC'] . '" />',
+
+ 'S_USER_LANG' => $user->lang['USER_LANG'],
+ 'S_CONTENT_DIRECTION' => $user->lang['DIRECTION'],
+ 'S_CONTENT_ENCODING' => 'UTF-8',
+ 'S_CONTENT_FLOW_BEGIN' => ($user->lang['DIRECTION'] == 'ltr') ? 'left' : 'right',
+ 'S_CONTENT_FLOW_END' => ($user->lang['DIRECTION'] == 'ltr') ? 'right' : 'left',
+ ));
+
+ // application/xhtml+xml not used because of IE
+ header('Content-type: text/html; charset=UTF-8');
+
+ header('Cache-Control: private, no-cache="set-cookie"');
+ header('Expires: 0');
+ header('Pragma: no-cache');
+
+ return;
+}
+
+/**
+* Page footer for acp pages
+*/
+function adm_page_footer($copyright_html = true)
+{
+ global $db, $config, $template, $user, $auth, $cache;
+ global $starttime, $phpbb_root_path, $phpbb_admin_path, $phpEx;
+
+ // Output page creation time
+ if (defined('DEBUG'))
+ {
+ $mtime = explode(' ', microtime());
+ $totaltime = $mtime[0] + $mtime[1] - $starttime;
+
+ if (!empty($_REQUEST['explain']) && $auth->acl_get('a_') && defined('DEBUG_EXTRA') && method_exists($db, 'sql_report'))
+ {
+ $db->sql_report('display');
+ }
+
+ $debug_output = sprintf('Time : %.3fs | ' . $db->sql_num_queries() . ' Queries | GZIP : ' . (($config['gzip_compress']) ? 'On' : 'Off') . (($user->load) ? ' | Load : ' . $user->load : ''), $totaltime);
+
+ if ($auth->acl_get('a_') && defined('DEBUG_EXTRA'))
+ {
+ if (function_exists('memory_get_usage'))
+ {
+ if ($memory_usage = memory_get_usage())
+ {
+ global $base_memory_usage;
+ $memory_usage -= $base_memory_usage;
+ $memory_usage = get_formatted_filesize($memory_usage);
+
+ $debug_output .= ' | Memory Usage: ' . $memory_usage;
+ }
+ }
+
+ $debug_output .= ' | <a href="' . build_url() . '&amp;explain=1">Explain</a>';
+ }
+ }
+
+ $template->assign_vars(array(
+ 'DEBUG_OUTPUT' => (defined('DEBUG')) ? $debug_output : '',
+ 'TRANSLATION_INFO' => (!empty($user->lang['TRANSLATION_INFO'])) ? $user->lang['TRANSLATION_INFO'] : '',
+ 'S_COPYRIGHT_HTML' => $copyright_html,
+ 'VERSION' => $config['version'])
+ );
+
+ $template->display('body');
+
+ garbage_collection();
+ exit_handler();
+}
+
+/**
+* Generate back link for acp pages
+*/
+function adm_back_link($u_action)
+{
+ global $user;
+ return '<br /><br /><a href="' . $u_action . '">&laquo; ' . $user->lang['BACK_TO_PREV'] . '</a>';
+}
+
+/**
+* Build select field options in acp pages
+*/
+function build_select($option_ary, $option_default = false)
+{
+ global $user;
+
+ $html = '';
+ foreach ($option_ary as $value => $title)
+ {
+ $selected = ($option_default !== false && $value == $option_default) ? ' selected="selected"' : '';
+ $html .= '<option value="' . $value . '"' . $selected . '>' . $user->lang[$title] . '</option>';
+ }
+
+ return $html;
+}
+
+/**
+* Build radio fields in acp pages
+*/
+function h_radio($name, &$input_ary, $input_default = false, $id = false, $key = false)
+{
+ global $user;
+
+ $html = '';
+ $id_assigned = false;
+ foreach ($input_ary as $value => $title)
+ {
+ $selected = ($input_default !== false && $value == $input_default) ? ' checked="checked"' : '';
+ $html .= '<label><input type="radio" name="' . $name . '"' . (($id && !$id_assigned) ? ' id="' . $id . '"' : '') . ' value="' . $value . '"' . $selected . (($key) ? ' accesskey="' . $key . '"' : '') . ' class="radio" /> ' . $user->lang[$title] . '</label>';
+ $id_assigned = true;
+ }
+
+ return $html;
+}
+
+/**
+* Build configuration template for acp configuration pages
+*/
+function build_cfg_template($tpl_type, $key, &$new, $config_key, $vars)
+{
+ global $user, $module;
+
+ $tpl = '';
+ $name = 'config[' . $config_key . ']';
+
+ // Make sure there is no notice printed out for non-existent config options (we simply set them)
+ if (!isset($new[$config_key]))
+ {
+ $new[$config_key] = '';
+ }
+
+ switch ($tpl_type[0])
+ {
+ case 'text':
+ case 'password':
+ $size = (int) $tpl_type[1];
+ $maxlength = (int) $tpl_type[2];
+
+ $tpl = '<input id="' . $key . '" type="' . $tpl_type[0] . '"' . (($size) ? ' size="' . $size . '"' : '') . ' maxlength="' . (($maxlength) ? $maxlength : 255) . '" name="' . $name . '" value="' . $new[$config_key] . '" />';
+ break;
+
+ case 'dimension':
+ $size = (int) $tpl_type[1];
+ $maxlength = (int) $tpl_type[2];
+
+ $tpl = '<input id="' . $key . '" type="text"' . (($size) ? ' size="' . $size . '"' : '') . ' maxlength="' . (($maxlength) ? $maxlength : 255) . '" name="config[' . $config_key . '_width]" value="' . $new[$config_key . '_width'] . '" /> x <input type="text"' . (($size) ? ' size="' . $size . '"' : '') . ' maxlength="' . (($maxlength) ? $maxlength : 255) . '" name="config[' . $config_key . '_height]" value="' . $new[$config_key . '_height'] . '" />';
+ break;
+
+ case 'textarea':
+ $rows = (int) $tpl_type[1];
+ $cols = (int) $tpl_type[2];
+
+ $tpl = '<textarea id="' . $key . '" name="' . $name . '" rows="' . $rows . '" cols="' . $cols . '">' . $new[$config_key] . '</textarea>';
+ break;
+
+ case 'radio':
+ $key_yes = ($new[$config_key]) ? ' checked="checked"' : '';
+ $key_no = (!$new[$config_key]) ? ' checked="checked"' : '';
+
+ $tpl_type_cond = explode('_', $tpl_type[1]);
+ $type_no = ($tpl_type_cond[0] == 'disabled' || $tpl_type_cond[0] == 'enabled') ? false : true;
+
+ $tpl_no = '<label><input type="radio" name="' . $name . '" value="0"' . $key_no . ' class="radio" /> ' . (($type_no) ? $user->lang['NO'] : $user->lang['DISABLED']) . '</label>';
+ $tpl_yes = '<label><input type="radio" id="' . $key . '" name="' . $name . '" value="1"' . $key_yes . ' class="radio" /> ' . (($type_no) ? $user->lang['YES'] : $user->lang['ENABLED']) . '</label>';
+
+ $tpl = ($tpl_type_cond[0] == 'yes' || $tpl_type_cond[0] == 'enabled') ? $tpl_yes . $tpl_no : $tpl_no . $tpl_yes;
+ break;
+
+ case 'select':
+ case 'custom':
+
+ $return = '';
+
+ if (isset($vars['method']))
+ {
+ $call = array($module->module, $vars['method']);
+ }
+ else if (isset($vars['function']))
+ {
+ $call = $vars['function'];
+ }
+ else
+ {
+ break;
+ }
+
+ if (isset($vars['params']))
+ {
+ $args = array();
+ foreach ($vars['params'] as $value)
+ {
+ switch ($value)
+ {
+ case '{CONFIG_VALUE}':
+ $value = $new[$config_key];
+ break;
+
+ case '{KEY}':
+ $value = $key;
+ break;
+ }
+
+ $args[] = $value;
+ }
+ }
+ else
+ {
+ $args = array($new[$config_key], $key);
+ }
+
+ $return = call_user_func_array($call, $args);
+
+ if ($tpl_type[0] == 'select')
+ {
+ $tpl = '<select id="' . $key . '" name="' . $name . '">' . $return . '</select>';
+ }
+ else
+ {
+ $tpl = $return;
+ }
+
+ break;
+
+ default:
+ break;
+ }
+
+ if (isset($vars['append']))
+ {
+ $tpl .= $vars['append'];
+ }
+
+ return $tpl;
+}
+
+/**
+* Going through a config array and validate values, writing errors to $error. The validation method accepts parameters separated by ':' for string and int.
+* The first parameter defines the type to be used, the second the lower bound and the third the upper bound. Only the type is required.
+*/
+function validate_config_vars($config_vars, &$cfg_array, &$error)
+{
+ global $phpbb_root_path, $user;
+ $type = 0;
+ $min = 1;
+ $max = 2;
+
+ foreach ($config_vars as $config_name => $config_definition)
+ {
+ if (!isset($cfg_array[$config_name]) || strpos($config_name, 'legend') !== false)
+ {
+ continue;
+ }
+
+ if (!isset($config_definition['validate']))
+ {
+ continue;
+ }
+
+ $validator = explode(':', $config_definition['validate']);
+
+ // Validate a bit. ;) (0 = type, 1 = min, 2= max)
+ switch ($validator[$type])
+ {
+ case 'string':
+ $length = strlen($cfg_array[$config_name]);
+
+ // the column is a VARCHAR
+ $validator[$max] = (isset($validator[$max])) ? min(255, $validator[$max]) : 255;
+
+ if (isset($validator[$min]) && $length < $validator[$min])
+ {
+ $error[] = sprintf($user->lang['SETTING_TOO_SHORT'], $user->lang[$config_definition['lang']], $validator[$min]);
+ }
+ else if (isset($validator[$max]) && $length > $validator[2])
+ {
+ $error[] = sprintf($user->lang['SETTING_TOO_LONG'], $user->lang[$config_definition['lang']], $validator[$max]);
+ }
+ break;
+
+ case 'bool':
+ $cfg_array[$config_name] = ($cfg_array[$config_name]) ? 1 : 0;
+ break;
+
+ case 'int':
+ $cfg_array[$config_name] = (int) $cfg_array[$config_name];
+
+ if (isset($validator[$min]) && $cfg_array[$config_name] < $validator[$min])
+ {
+ $error[] = sprintf($user->lang['SETTING_TOO_LOW'], $user->lang[$config_definition['lang']], $validator[$min]);
+ }
+ else if (isset($validator[$max]) && $cfg_array[$config_name] > $validator[$max])
+ {
+ $error[] = sprintf($user->lang['SETTING_TOO_BIG'], $user->lang[$config_definition['lang']], $validator[$max]);
+ }
+ break;
+
+ // Absolute path
+ case 'script_path':
+ if (!$cfg_array[$config_name])
+ {
+ break;
+ }
+
+ $destination = str_replace('\\', '/', $cfg_array[$config_name]);
+
+ if ($destination !== '/')
+ {
+ // Adjust destination path (no trailing slash)
+ if (substr($destination, -1, 1) == '/')
+ {
+ $destination = substr($destination, 0, -1);
+ }
+
+ $destination = str_replace(array('../', './'), '', $destination);
+
+ if ($destination[0] != '/')
+ {
+ $destination = '/' . $destination;
+ }
+ }
+
+ $cfg_array[$config_name] = trim($destination);
+
+ break;
+
+ // Absolute path
+ case 'lang':
+ if (!$cfg_array[$config_name])
+ {
+ break;
+ }
+
+ $cfg_array[$config_name] = basename($cfg_array[$config_name]);
+
+ if (!file_exists($phpbb_root_path . 'language/' . $cfg_array[$config_name] . '/'))
+ {
+ $error[] = $user->lang['WRONG_DATA_LANG'];
+ }
+ break;
+
+ // Relative path (appended $phpbb_root_path)
+ case 'rpath':
+ case 'rwpath':
+ if (!$cfg_array[$config_name])
+ {
+ break;
+ }
+
+ $destination = $cfg_array[$config_name];
+
+ // Adjust destination path (no trailing slash)
+ if (substr($destination, -1, 1) == '/' || substr($destination, -1, 1) == '\\')
+ {
+ $destination = substr($destination, 0, -1);
+ }
+
+ $destination = str_replace(array('../', '..\\', './', '.\\'), '', $destination);
+ if ($destination && ($destination[0] == '/' || $destination[0] == "\\"))
+ {
+ $destination = '';
+ }
+
+ $cfg_array[$config_name] = trim($destination);
+
+ // Path being relative (still prefixed by phpbb_root_path), but with the ability to escape the root dir...
+ case 'path':
+ case 'wpath':
+
+ if (!$cfg_array[$config_name])
+ {
+ break;
+ }
+
+ $cfg_array[$config_name] = trim($cfg_array[$config_name]);
+
+ // Make sure no NUL byte is present...
+ if (strpos($cfg_array[$config_name], "\0") !== false || strpos($cfg_array[$config_name], '%00') !== false)
+ {
+ $cfg_array[$config_name] = '';
+ break;
+ }
+
+ if (!file_exists($phpbb_root_path . $cfg_array[$config_name]))
+ {
+ $error[] = sprintf($user->lang['DIRECTORY_DOES_NOT_EXIST'], $cfg_array[$config_name]);
+ }
+
+ if (file_exists($phpbb_root_path . $cfg_array[$config_name]) && !is_dir($phpbb_root_path . $cfg_array[$config_name]))
+ {
+ $error[] = sprintf($user->lang['DIRECTORY_NOT_DIR'], $cfg_array[$config_name]);
+ }
+
+ // Check if the path is writable
+ if ($config_definition['validate'] == 'wpath' || $config_definition['validate'] == 'rwpath')
+ {
+ if (file_exists($phpbb_root_path . $cfg_array[$config_name]) && !@is_writable($phpbb_root_path . $cfg_array[$config_name]))
+ {
+ $error[] = sprintf($user->lang['DIRECTORY_NOT_WRITABLE'], $cfg_array[$config_name]);
+ }
+ }
+
+ break;
+ }
+ }
+
+ return;
+}
+
+/**
+* Checks whatever or not a variable is OK for use in the Database
+* param mixed $value_ary An array of the form array(array('lang' => ..., 'value' => ..., 'column_type' =>))'
+* param mixed $error The error array
+*/
+function validate_range($value_ary, &$error)
+{
+ global $user;
+
+ $column_types = array(
+ 'BOOL' => array('php_type' => 'int', 'min' => 0, 'max' => 1),
+ 'USINT' => array('php_type' => 'int', 'min' => 0, 'max' => 65535),
+ 'UINT' => array('php_type' => 'int', 'min' => 0, 'max' => (int) 0x7fffffff),
+ 'INT' => array('php_type' => 'int', 'min' => (int) 0x80000000, 'max' => (int) 0x7fffffff),
+ 'TINT' => array('php_type' => 'int', 'min' => -128, 'max' => 127),
+
+ 'VCHAR' => array('php_type' => 'string', 'min' => 0, 'max' => 255),
+ );
+ foreach ($value_ary as $value)
+ {
+ $column = explode(':', $value['column_type']);
+ $max = $min = 0;
+ $type = 0;
+ if (!isset($column_types[$column[0]]))
+ {
+ continue;
+ }
+ else
+ {
+ $type = $column_types[$column[0]];
+ }
+
+ switch ($type['php_type'])
+ {
+ case 'string' :
+ $max = (isset($column[1])) ? min($column[1],$type['max']) : $type['max'];
+ if (strlen($value['value']) > $max)
+ {
+ $error[] = sprintf($user->lang['SETTING_TOO_LONG'], $user->lang[$value['lang']], $max);
+ }
+ break;
+
+ case 'int':
+ $min = (isset($column[1])) ? max($column[1],$type['min']) : $type['min'];
+ $max = (isset($column[2])) ? min($column[2],$type['max']) : $type['max'];
+ if ($value['value'] < $min)
+ {
+ $error[] = sprintf($user->lang['SETTING_TOO_LOW'], $user->lang[$value['lang']], $min);
+ }
+ else if ($value['value'] > $max)
+ {
+ $error[] = sprintf($user->lang['SETTING_TOO_BIG'], $user->lang[$value['lang']], $max);
+ }
+ break;
+ }
+ }
+}
+
+?> \ No newline at end of file
diff --git a/phpBB/adm/style/acp_attachments.html b/phpBB/adm/style/acp_attachments.html
new file mode 100644
index 0000000000..9573c34248
--- /dev/null
+++ b/phpBB/adm/style/acp_attachments.html
@@ -0,0 +1,376 @@
+<!-- INCLUDE overall_header.html -->
+
+<a name="maincontent"></a>
+
+<!-- IF U_BACK -->
+ <a href="{U_BACK}" style="float: {S_CONTENT_FLOW_END};">&laquo; {L_BACK}</a>
+<!-- ENDIF -->
+
+<h1>{L_TITLE}</h1>
+
+<p>{L_TITLE_EXPLAIN}</p>
+
+<!-- IF S_WARNING -->
+ <div class="errorbox">
+ <h3>{L_WARNING}</h3>
+ <p>{WARNING_MSG}</p>
+ </div>
+<!-- ENDIF -->
+
+<!-- IF S_NOTIFY -->
+ <div class="successbox">
+ <h3>{L_NOTIFY}</h3>
+ <p>{NOTIFY_MSG}</p>
+ </div>
+<!-- ENDIF -->
+
+<!-- IF S_UPLOADING_FILES -->
+ <h2>{L_UPLOADING_FILES}</h2>
+
+ <!-- BEGIN upload -->
+ :: {upload.FILE_INFO}<br />
+ <!-- IF upload.S_DENIED --><span class="error">{upload.DENIED}</span><!-- ELSEIF upload.ERROR_MSG --><span class="error">{upload.ERROR_MSG}</span><!-- ELSE --><span class="success">{L_SUCCESSFULLY_UPLOADED}</span><!-- ENDIF -->
+ <br /><br />
+ <!-- END upload -->
+
+<!-- ENDIF -->
+
+<!-- IF S_ATTACHMENT_SETTINGS -->
+
+ <!-- IF not S_THUMBNAIL_SUPPORT -->
+ <div class="errorbox">
+ <p>{L_NO_THUMBNAIL_SUPPORT}</p>
+ </div>
+ <!-- ENDIF -->
+
+ <form id="attachsettings" method="post" action="{U_ACTION}">
+ <!-- BEGIN options -->
+ <!-- IF options.S_LEGEND -->
+ <!-- IF not options.S_FIRST_ROW -->
+ </fieldset>
+ <!-- ENDIF -->
+ <fieldset>
+ <legend>{options.LEGEND}</legend>
+ <!-- ELSE -->
+
+ <dl>
+ <dt><label for="{options.KEY}">{options.TITLE}:</label><!-- IF options.S_EXPLAIN --><br /><span>{options.TITLE_EXPLAIN}</span><!-- ENDIF --></dt>
+ <dd>{options.CONTENT}</dd>
+ </dl>
+
+ <!-- ENDIF -->
+ <!-- END options -->
+ </fieldset>
+
+ <fieldset class="submit-buttons">
+ <legend>{L_SUBMIT}</legend>
+ <input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />&nbsp;
+ <input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
+ </fieldset>
+
+ <!-- IF not S_SECURE_DOWNLOADS -->
+ <div class="errorbox">
+ <p>{L_SECURE_DOWNLOAD_NOTICE}</p>
+ </div>
+ <!-- ENDIF -->
+
+ <fieldset>
+ <legend>{L_SECURE_TITLE}</legend>
+ <p>{L_DOWNLOAD_ADD_IPS_EXPLAIN}</p>
+ <dl>
+ <dt><label for="ip_hostname">{L_IP_HOSTNAME}:</label></dt>
+ <dd><textarea id="ip_hostname" cols="40" rows="3" name="ips"></textarea></dd>
+ </dl>
+ <dl>
+ <dt><label for="exclude">{L_IP_EXCLUDE}:</label><br /><span>{L_EXCLUDE_ENTERED_IP}</span></dt>
+ <dd><label><input type="radio" id="exclude" name="ipexclude" value="1" class="radio" /> {L_YES}</label>
+ <label><input type="radio" name="ipexclude" value="0" checked="checked" class="radio" /> {L_NO}</label></dd>
+ </dl>
+
+ <p class="quick">
+ <input class="button1" type="submit" id="securesubmit" name="securesubmit" value="{L_SUBMIT}" />
+ </p>
+ </fieldset>
+
+ <fieldset>
+ <legend>{L_REMOVE_IPS}</legend>
+ <!-- IF S_DEFINED_IPS -->
+ <p>{L_DOWNLOAD_REMOVE_IPS_EXPLAIN}</p>
+ <dl>
+ <dt><label for="remove_ip_hostname">{L_IP_HOSTNAME}:</label></dt>
+ <dd><select name="unip[]" id="remove_ip_hostname" multiple="multiple" size="10">{DEFINED_IPS}</select></dd>
+ </dl>
+
+ <p class="quick">
+ <input class="button1" type="submit" id="unsecuresubmit" name="unsecuresubmit" value="{L_SUBMIT}" />
+ </p>
+ </fieldset>
+
+ <!-- ELSE -->
+ <p>{L_NO_IPS_DEFINED}</p>
+ <!-- ENDIF -->
+ {S_FORM_TOKEN}
+ </fieldset>
+ </form>
+
+<!-- ELSEIF S_EXTENSION_GROUPS -->
+
+ <!-- IF S_EDIT_GROUP -->
+ <script type="text/javascript" defer="defer">
+ // <![CDATA[
+ function update_image(newimage)
+ {
+ if (newimage == 'no_image')
+ {
+ document.getElementById('image_upload_icon').src = "{PHPBB_ROOT_PATH}images/spacer.gif";
+ }
+ else
+ {
+ document.getElementById('image_upload_icon').src = "{PHPBB_ROOT_PATH}{IMG_PATH}/" + newimage;
+ }
+ }
+
+ function show_extensions(elem)
+ {
+ var str = '';
+
+ for (i = 0; i < elem.length; i++)
+ {
+ var element = elem.options[i];
+ if (element.selected)
+ {
+ if (str)
+ {
+ str = str + ', ';
+ }
+
+ str = str + element.innerHTML;
+ }
+ }
+
+ if (document.all)
+ {
+ document.all.ext.innerText = str;
+ }
+ else if (document.getElementById('ext').textContent)
+ {
+ document.getElementById('ext').textContent = str;
+ }
+ else if (document.getElementById('ext').firstChild.nodeValue)
+ {
+ document.getElementById('ext').firstChild.nodeValue = str;
+ }
+ }
+
+ // ]]>
+ </script>
+
+ <form id="extgroups" method="post" action="{U_ACTION}">
+ <fieldset>
+ <input type="hidden" name="action" value="{ACTION}" />
+ <input type="hidden" name="g" value="{GROUP_ID}" />
+
+ <legend>{L_LEGEND}</legend>
+ <dl>
+ <dt><label for="group_name">{L_GROUP_NAME}:</label></dt>
+ <dd><input type="text" id="group_name" size="20" maxlength="100" name="group_name" value="{GROUP_NAME}" /></dd>
+ </dl>
+ <dl>
+ <dt><label for="category">{L_SPECIAL_CATEGORY}:</label><br /><span>{L_SPECIAL_CATEGORY_EXPLAIN}</span></dt>
+ <dd>{S_CATEGORY_SELECT}</dd>
+ </dl>
+ <dl>
+ <dt><label for="allowed">{L_ALLOWED}:</label></dt>
+ <dd><input type="checkbox" class="radio" id="allowed" name="allow_group" value="1"<!-- IF ALLOW_GROUP --> checked="checked"<!-- ENDIF --> /></dd>
+ </dl>
+ <dl>
+ <dt><label for="allow_in_pm">{L_ALLOW_IN_PM}:</label></dt>
+ <dd><input type="checkbox" class="radio" id="allow_in_pm" name="allow_in_pm" value="1"<!-- IF ALLOW_IN_PM --> checked="checked"<!-- ENDIF --> /></dd>
+ </dl>
+ <dl>
+ <dt><label for="upload_icon">{L_UPLOAD_ICON}:</label></dt>
+ <dd><select name="upload_icon" id="upload_icon" onchange="update_image(this.options[selectedIndex].value);">
+ <option value="no_image"<!-- IF S_NO_IMAGE --> selected="selected"<!-- ENDIF -->>{L_NO_IMAGE}</option>{S_FILENAME_LIST}
+ </select></dd>
+ <dd>&nbsp;<img <!-- IF S_NO_IMAGE -->src="{PHPBB_ROOT_PATH}images/spacer.gif"<!-- ELSE -->src="{UPLOAD_ICON_SRC}"<!-- ENDIF --> id="image_upload_icon" alt="" title="" />&nbsp;</dd>
+ </dl>
+ <dl>
+ <dt><label for="extgroup_filesize">{L_MAX_EXTGROUP_FILESIZE}:</label></dt>
+ <dd><input type="text" id="extgroup_filesize" size="3" maxlength="15" name="max_filesize" value="{EXTGROUP_FILESIZE}" /> <select name="size_select">{S_EXT_GROUP_SIZE_OPTIONS}</select></dd>
+ </dl>
+ <dl>
+ <dt><label for="assigned_extensions">{L_ASSIGNED_EXTENSIONS}:</label></dt>
+ <dd><div id="ext">{ASSIGNED_EXTENSIONS}</div> <span>[<a href="{U_EXTENSIONS}">{L_GO_TO_EXTENSIONS}</a> ]</span></dd>
+ <dd><select name="extensions[]" id="assigned_extensions" class="narrow" onchange="show_extensions(this);" multiple="multiple" size="8">{S_EXTENSION_OPTIONS}</select></dd>
+ </dl>
+ <dl>
+ <dt><label for="allowed_forums">{L_ALLOWED_FORUMS}:</label><br /><span>{L_ALLOWED_FORUMS_EXPLAIN}</span></dt>
+ <dd><label><input type="radio" id="allowed_forums" class="radio" name="forum_select" value="0"<!-- IF not S_FORUM_IDS --> checked="checked"<!-- ENDIF --> /> {L_ALLOW_ALL_FORUMS}</label>
+ <label><input type="radio" class="radio" name="forum_select" value="1"<!-- IF S_FORUM_IDS --> checked="checked"<!-- ENDIF --> /> {L_ALLOW_SELECTED_FORUMS}</label></dd>
+ <dd><select name="allowed_forums[]" multiple="multiple" size="8">{S_FORUM_ID_OPTIONS}</select></dd>
+ </dl>
+
+ <p class="submit-buttons">
+ <input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />&nbsp;
+ <input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
+ </p>
+ {S_FORM_TOKEN}
+ </fieldset>
+
+ </form>
+ <!-- ELSE -->
+
+ <form id="extgroups" method="post" action="{U_ACTION}">
+ <fieldset class="tabulated">
+ <legend>{L_TITLE}</legend>
+
+ <table cellspacing="1">
+ <col class="row1" /><col class="row1" /><col class="row2" />
+ <thead>
+ <tr>
+ <th>{L_EXTENSION_GROUP}</th>
+ <th>{L_SPECIAL_CATEGORY}</th>
+ <th>{L_OPTIONS}</th>
+ </tr>
+ </thead>
+ <tbody>
+ <!-- BEGIN groups -->
+ <!-- IF groups.S_ADD_SPACER and not groups.S_FIRST_ROW -->
+ <tr>
+ <td class="spacer" colspan="3">&nbsp;</td>
+ </tr>
+ <!-- ENDIF -->
+ <tr>
+ <td><strong>{groups.GROUP_NAME}</strong>
+ <!-- IF groups.S_GROUP_ALLOWED and not groups.S_ALLOWED_IN_PM --><br /><span>&raquo; {L_NOT_ALLOWED_IN_PM}</span>
+ <!-- ELSEIF groups.S_ALLOWED_IN_PM and not groups.S_GROUP_ALLOWED --><br /><span>&raquo; {L_ONLY_ALLOWED_IN_PM}</span>
+ <!-- ELSEIF not groups.S_GROUP_ALLOWED and not groups.S_ALLOWED_IN_PM --><br /><span>&raquo; {L_NOT_ALLOWED_IN_PM_POST}</span>
+ <!-- ELSE --><br /><span>&raquo; {L_ALLOWED_IN_PM_POST}</span><!-- ENDIF -->
+ </td>
+ <td>{groups.CATEGORY}</td>
+ <td align="center" valign="middle" style="white-space: nowrap;">&nbsp;<a href="{groups.U_EDIT}">{ICON_EDIT}</a>&nbsp;&nbsp;<a href="{groups.U_DELETE}">{ICON_DELETE}</a>&nbsp;</td>
+ </tr>
+ <!-- END groups -->
+ </tbody>
+ </table>
+ <p class="quick">
+ {L_CREATE_GROUP}: <input type="text" name="group_name" maxlength="30" />
+ <input class="button2" name="add" type="submit" value="{L_SUBMIT}" />
+ </p>
+ {S_FORM_TOKEN}
+ </fieldset>
+ </form>
+
+ <!-- ENDIF -->
+
+<!-- ELSEIF S_EXTENSIONS -->
+
+ <form id="add_ext" method="post" action="{U_ACTION}">
+ <fieldset>
+ <legend>{L_ADD_EXTENSION}</legend>
+ <dl>
+ <dt><label for="add_extension">{L_EXTENSION}</label></dt>
+ <dd><input type="text" id="add_extension" size="20" maxlength="100" name="add_extension" value="{ADD_EXTENSION}" /></dd>
+ </dl>
+ <dl>
+ <dt><label for="extension_group">{L_EXTENSION_GROUP}</label></dt>
+ <dd>{GROUP_SELECT_OPTIONS}</dd>
+ </dl>
+
+ <p class="quick">
+ <input type="submit" id="add_extension_check" name="add_extension_check" class="button2" value="{L_SUBMIT}" />
+ </p>
+ {S_FORM_TOKEN}
+ </fieldset>
+ </form>
+
+ <br />
+
+ <form id="change_ext" method="post" action="{U_ACTION}">
+
+ <fieldset class="tabulated">
+ <legend>{L_TITLE}</legend>
+
+ <table cellspacing="1">
+ <col class="row1" /><col class="row1" /><col class="row2" />
+ <thead>
+ <tr>
+ <th>{L_EXTENSION}</th>
+ <th>{L_EXTENSION_GROUP}</th>
+ <th>{L_DELETE}</th>
+ </tr>
+ </thead>
+ <tbody>
+ <!-- BEGIN extensions -->
+ <!-- IF extensions.S_SPACER -->
+ <tr>
+ <td class="spacer" colspan="3">&nbsp;</td>
+ </tr>
+ <!-- ENDIF -->
+ <tr>
+ <td><strong>{extensions.EXTENSION}</strong></td>
+ <td>{extensions.GROUP_OPTIONS}</td>
+ <td><input type="checkbox" class="radio" name="extension_id_list[]" value="{extensions.EXTENSION_ID}" /><input type="hidden" name="extension_change_list[]" value="{extensions.EXTENSION_ID}" /></td>
+ </tr>
+ <!-- END extensions -->
+ </tbody>
+ </table>
+
+ <p class="submit-buttons">
+ <input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />&nbsp;
+ <input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
+ </p>
+ {S_FORM_TOKEN}
+ </fieldset>
+ </form>
+
+<!-- ELSEIF S_ORPHAN -->
+
+ <form id="orphan" method="post" action="{U_ACTION}">
+
+ <fieldset class="tabulated">
+ <legend>{L_TITLE}</legend>
+
+ <table cellspacing="1">
+ <thead>
+ <tr>
+ <th>{L_FILENAME}</th>
+ <th>{L_FILEDATE}</th>
+ <th>{L_FILESIZE}</th>
+ <th>{L_ATTACH_POST_ID}</th>
+ <th>{L_ATTACH_TO_POST}</th>
+ <th>{L_DELETE}</th>
+ </tr>
+ </thead>
+ <tbody>
+ <!-- BEGIN orphan -->
+ <!-- IF orphan.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
+ <td><a href="{orphan.U_FILE}">{orphan.REAL_FILENAME}</a></td>
+ <td>{orphan.FILETIME}</td>
+ <td>{orphan.FILESIZE}</td>
+ <td><strong>{L_ATTACH_ID}: </strong><input type="text" name="post_id[{orphan.ATTACH_ID}]" size="7" maxlength="10" value="{orphan.POST_ID}" /></td>
+ <td><input type="checkbox" class="radio" name="add[{orphan.ATTACH_ID}]" /></td>
+ <td><input type="checkbox" class="radio" name="delete[{orphan.ATTACH_ID}]" /></td>
+ </tr>
+ <!-- END orphan -->
+ <tr class="row4">
+ <td colspan="4">&nbsp;</td>
+ <td class="small"><a href="#" onclick="marklist('orphan', 'add', true); return false;">{L_MARK_ALL}</a> :: <a href="#" onclick="marklist('orphan', 'add', false); return false;">{L_UNMARK_ALL}</a></td>
+ <td class="small"><a href="#" onclick="marklist('orphan', 'delete', true); return false;">{L_MARK_ALL}</a> :: <a href="#" onclick="marklist('orphan', 'delete', false); return false;">{L_UNMARK_ALL}</a></td>
+ </tr>
+ </tbody>
+ </table>
+
+ <br />
+
+ <p class="submit-buttons">
+ <input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />&nbsp;
+ <input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
+ </p>
+ {S_FORM_TOKEN}
+ </fieldset>
+ </form>
+
+<!-- ENDIF -->
+
+<!-- INCLUDE overall_footer.html --> \ No newline at end of file
diff --git a/phpBB/adm/style/acp_ban.html b/phpBB/adm/style/acp_ban.html
new file mode 100644
index 0000000000..bc326345b0
--- /dev/null
+++ b/phpBB/adm/style/acp_ban.html
@@ -0,0 +1,124 @@
+<!-- INCLUDE overall_header.html -->
+
+<a name="maincontent"></a>
+
+<p>{L_ACP_BAN_EXPLAIN}</p>
+
+<h1>{L_TITLE}</h1>
+
+<p>{L_EXPLAIN}</p>
+
+<script type="text/javascript">
+// <![CDATA[
+
+ var ban_length = new Array();
+ ban_length[-1] = '';
+ <!-- BEGIN ban_length -->
+ ban_length['{ban_length.BAN_ID}'] = '{ban_length.A_LENGTH}';
+ <!-- END ban_length -->
+
+ var ban_reason = new Array();
+ ban_reason[-1] = '';
+ <!-- BEGIN ban_reason -->
+ ban_reason['{ban_reason.BAN_ID}'] = '{ban_reason.A_REASON}';
+ <!-- END ban_reason -->
+
+ var ban_give_reason = new Array();
+ ban_give_reason[-1] = '';
+ <!-- BEGIN ban_give_reason -->
+ ban_give_reason['{ban_give_reason.BAN_ID}'] = '{ban_give_reason.A_REASON}';
+ <!-- END ban_give_reason -->
+
+ function display_details(option)
+ {
+ document.getElementById('acp_unban').unbangivereason.value = ban_give_reason[option];
+ document.getElementById('acp_unban').unbanreason.value = ban_reason[option];
+ document.getElementById('acp_unban').unbanlength.value = ban_length[option];
+ }
+
+// ]]>
+</script>
+
+<form id="acp_ban" method="post" action="{U_ACTION}">
+
+<fieldset>
+ <legend>{L_TITLE}</legend>
+<dl>
+ <dt><label for="ban">{L_BAN_CELL}:</label></dt>
+ <dd><textarea name="ban" cols="40" rows="3" id="ban"></textarea></dd>
+ <!-- IF S_USERNAME_BAN --><dd>[ <a href="{U_FIND_USERNAME}" onclick="find_username(this.href); return false;">{L_FIND_USERNAME}</a> ]</dd><!-- ENDIF -->
+</dl>
+<dl>
+ <dt><label for="banlength">{L_BAN_LENGTH}:</label></dt>
+ <dd><label for="banlength"><select name="banlength" id="banlength" onchange="if(this.value==-1){document.getElementById('banlengthother').style.display = 'block';}else{document.getElementById('banlengthother').style.display='none';}">{S_BAN_END_OPTIONS}</select></label></dd>
+ <dd id="banlengthother" style="display: none;"><label><input type="text" name="banlengthother" class="inputbox" /><br /><span>{L_YEAR_MONTH_DAY}</span></label></dd>
+</dl>
+<dl>
+ <dt><label for="banexclude">{L_BAN_EXCLUDE}:</label><br /><span>{L_BAN_EXCLUDE_EXPLAIN}</span></dt>
+ <dd><label><input type="radio" name="banexclude" value="1" class="radio" /> {L_YES}</label>
+ <label><input type="radio" name="banexclude" id="banexclude" value="0" checked="checked" class="radio" /> {L_NO}</label></dd>
+</dl>
+<dl>
+ <dt><label for="banreason">{L_BAN_REASON}:</label></dt>
+ <dd><input name="banreason" type="text" class="text medium" maxlength="255" id="banreason" /></dd>
+</dl>
+<dl>
+ <dt><label for="bangivereason">{L_BAN_GIVE_REASON}:</label></dt>
+ <dd><input name="bangivereason" type="text" class="text medium" maxlength="255" id="bangivereason" /></dd>
+</dl>
+
+<p class="submit-buttons">
+ <input class="button1" type="submit" id="bansubmit" name="bansubmit" value="{L_SUBMIT}" />&nbsp;
+ <input class="button2" type="reset" id="banreset" name="banreset" value="{L_RESET}" />
+</p>
+{S_FORM_TOKEN}
+</fieldset>
+</form>
+
+<br /><br />
+
+<h1>{L_UNBAN_TITLE}</h1>
+
+<p>{L_UNBAN_EXPLAIN}</p>
+
+<form id="acp_unban" method="post" action="{U_ACTION}">
+
+<fieldset>
+ <legend>{L_UNBAN_TITLE}</legend>
+
+<!-- IF S_BANNED_OPTIONS -->
+ <dl>
+ <dt><label for="unban">{L_BAN_CELL}:</label></dt>
+ <dd><select id="unban" name="unban[]" multiple="multiple" size="10" style="width: 50%" onchange="if (this.selectedIndex > -1) display_details(this.options[this.selectedIndex].value); else display_details(-1);">{BANNED_OPTIONS}</select></dd>
+ </dl>
+ <dl>
+ <dt><label for="unbanlength">{L_BAN_LENGTH}:</label></dt>
+ <dd><input style="border: 0;" type="text" class="text full" disabled="disabled" name="unbanlength" id="unbanlength" /></dd>
+ </dl>
+ <dl>
+ <dt><label for="unbanreason">{L_BAN_REASON}:</label></dt>
+ <dd><textarea style="border: 0;" class="text full" disabled="disabled" name="unbanreason" id="unbanreason" rows="5" cols="80">&nbsp;</textarea></dd>
+ </dl>
+ <dl>
+ <dt><label for="unbangivereason">{L_BAN_GIVE_REASON}:</label></dt>
+ <dd><textarea style="border: 0;" class="text full" disabled="disabled" name="unbangivereason" id="unbangivereason" rows="5" cols="80">&nbsp;</textarea></dd>
+ </dl>
+
+ <p class="submit-buttons">
+ <input class="button1" type="submit" id="unbansubmit" name="unbansubmit" value="{L_SUBMIT}" />&nbsp;
+ <input class="button2" type="reset" id="unbanreset" name="unbanreset" value="{L_RESET}" />
+ </p>
+ {S_FORM_TOKEN}
+ </fieldset>
+
+<!-- ELSE -->
+
+ <p>{L_NO_BAN_CELL}</p>
+ {S_FORM_TOKEN}
+</fieldset>
+
+<!-- ENDIF -->
+
+</form>
+
+<!-- INCLUDE overall_footer.html --> \ No newline at end of file
diff --git a/phpBB/adm/style/acp_bbcodes.html b/phpBB/adm/style/acp_bbcodes.html
new file mode 100644
index 0000000000..c81c198fd5
--- /dev/null
+++ b/phpBB/adm/style/acp_bbcodes.html
@@ -0,0 +1,124 @@
+<!-- INCLUDE overall_header.html -->
+
+<a name="maincontent"></a>
+
+<!-- IF S_EDIT_BBCODE -->
+
+ <a href="{U_BACK}" style="float: {S_CONTENT_FLOW_END};">&laquo; {L_BACK}</a>
+
+ <h1>{L_ACP_BBCODES}</h1>
+
+ <p>{L_ACP_BBCODES_EXPLAIN}</p>
+
+ <form id="acp_bbcodes" method="post" action="{U_ACTION}">
+
+ <fieldset>
+ <legend>{L_BBCODE_USAGE}</legend>
+ <p>{L_BBCODE_USAGE_EXPLAIN}</p>
+ <dl>
+ <dt><label for="bbcode_match">{L_EXAMPLES}</label><br /><br /><span>{L_BBCODE_USAGE_EXAMPLE}</span></dt>
+ <dd><textarea id="bbcode_match" name="bbcode_match" cols="60" rows="5">{BBCODE_MATCH}</textarea></dd>
+ </dl>
+ </fieldset>
+
+ <fieldset>
+ <legend>{L_HTML_REPLACEMENT}</legend>
+ <p>{L_HTML_REPLACEMENT_EXPLAIN}</p>
+ <dl>
+ <dt><label for="bbcode_tpl">{L_EXAMPLES}</label><br /><br /><span>{L_HTML_REPLACEMENT_EXAMPLE}</span></dt>
+ <dd><textarea id="bbcode_tpl" name="bbcode_tpl" cols="60" rows="8">{BBCODE_TPL}</textarea></dd>
+ </dl>
+ </fieldset>
+
+ <fieldset>
+ <legend>{L_BBCODE_HELPLINE}</legend>
+ <p>{L_BBCODE_HELPLINE_EXPLAIN}</p>
+ <dl>
+ <dt><label for="bbcode_helpline">{L_BBCODE_HELPLINE_TEXT}</label></dt>
+ <dd><input type="text" id="bbcode_helpline" name="bbcode_helpline" size="60" maxlength="255" value="{BBCODE_HELPLINE}" /></dd>
+ </dl>
+ </fieldset>
+
+ <fieldset>
+ <legend>{L_SETTINGS}</legend>
+ <dl>
+ <dt><label for="display_on_posting">{L_DISPLAY_ON_POSTING}</label></dt>
+ <dd><input type="checkbox" class="radio" name="display_on_posting" id="display_on_posting" value="1"<!-- IF DISPLAY_ON_POSTING --> checked="checked"<!-- ENDIF --> /></dd>
+ </dl>
+ </fieldset>
+
+ <fieldset class="submit-buttons">
+ <legend>{L_SUBMIT}</legend>
+ <input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />&nbsp;
+ <input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
+ {S_FORM_TOKEN}
+ </fieldset>
+
+ <br />
+
+ <table cellspacing="1" id="down">
+ <thead>
+ <tr>
+ <th colspan="2">{L_TOKENS}</th>
+ </tr>
+ <tr>
+ <td class="row3" colspan="2">{L_TOKENS_EXPLAIN}</td>
+ </tr>
+ <tr>
+ <th>{L_TOKEN}</th>
+ <th>{L_TOKEN_DEFINITION}</th>
+ </tr>
+ </thead>
+ <tbody>
+ <!-- BEGIN token -->
+ <tr valign="top">
+ <td class="row1">{token.TOKEN}</td>
+ <td class="row2">{token.EXPLAIN}</td>
+ </tr>
+ <!-- END token -->
+ </tbody>
+ </table>
+ </form>
+
+<!-- ELSE -->
+
+ <h1>{L_ACP_BBCODES}</h1>
+
+ <p>{L_ACP_BBCODES_EXPLAIN}</p>
+
+ <form id="acp_bbcodes" method="post" action="{U_ACTION}">
+ <fieldset class="tabulated">
+ <legend>{L_ACP_BBCODES}</legend>
+
+ <table cellspacing="1" id="down">
+ <thead>
+ <tr>
+ <th>{L_BBCODE_TAG}</th>
+ <th>{L_ACTION}</th>
+ </tr>
+ </thead>
+ <tbody>
+ <!-- BEGIN bbcodes -->
+ <!-- IF bbcodes.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
+ <td style="text-align: center;">{bbcodes.BBCODE_TAG}</td>
+ <td style="text-align: right; width: 40px;"><a href="{bbcodes.U_EDIT}">{ICON_EDIT}</a> <a href="{bbcodes.U_DELETE}">{ICON_DELETE}</a></td>
+ </tr>
+ <!-- BEGINELSE -->
+ <tr class="row3">
+ <td colspan="2">{L_ACP_NO_ITEMS}</td>
+ </tr>
+ <!-- END bbcodes -->
+ </tbody>
+ </table>
+
+ <p class="quick">
+ <input class="button2" name="submit" type="submit" value="{L_ADD_BBCODE}" />
+ </p>
+ {S_FORM_TOKEN}
+ </fieldset>
+
+ </form>
+
+<!-- ENDIF -->
+
+<!-- INCLUDE overall_footer.html -->
diff --git a/phpBB/adm/style/acp_board.html b/phpBB/adm/style/acp_board.html
new file mode 100644
index 0000000000..bb16204801
--- /dev/null
+++ b/phpBB/adm/style/acp_board.html
@@ -0,0 +1,49 @@
+<!-- INCLUDE overall_header.html -->
+
+<a name="maincontent"></a>
+
+<h1>{L_TITLE}</h1>
+
+<p>{L_TITLE_EXPLAIN}</p>
+
+<!-- IF S_ERROR -->
+ <div class="errorbox">
+ <h3>{L_WARNING}</h3>
+ <p>{ERROR_MSG}</p>
+ </div>
+<!-- ENDIF -->
+
+<form id="acp_board" method="post" action="{U_ACTION}">
+
+<!-- BEGIN options -->
+ <!-- IF options.S_LEGEND -->
+ <!-- IF not options.S_FIRST_ROW -->
+ </fieldset>
+ <!-- ENDIF -->
+ <fieldset>
+ <legend>{options.LEGEND}</legend>
+ <!-- ELSE -->
+
+ <dl>
+ <dt><label for="{options.KEY}">{options.TITLE}:</label><!-- IF options.S_EXPLAIN --><br /><span>{options.TITLE_EXPLAIN}</span><!-- ENDIF --></dt>
+ <dd>{options.CONTENT}</dd>
+ </dl>
+
+ <!-- ENDIF -->
+<!-- END options -->
+
+<!-- IF S_AUTH -->
+ <!-- BEGIN auth_tpl -->
+ {auth_tpl.TPL}
+ <!-- END auth_tpl -->
+<!-- ENDIF -->
+
+ <p class="submit-buttons">
+ <input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />&nbsp;
+ <input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
+ </p>
+ {S_FORM_TOKEN}
+</fieldset>
+</form>
+
+<!-- INCLUDE overall_footer.html -->
diff --git a/phpBB/adm/style/acp_bots.html b/phpBB/adm/style/acp_bots.html
new file mode 100644
index 0000000000..7783356574
--- /dev/null
+++ b/phpBB/adm/style/acp_bots.html
@@ -0,0 +1,102 @@
+<!-- INCLUDE overall_header.html -->
+
+<a name="maincontent"></a>
+
+<!-- IF S_EDIT_BOT -->
+
+ <a href="{U_BACK}" style="float: {S_CONTENT_FLOW_END};">&laquo; {L_BACK}</a>
+
+ <h1>{L_TITLE}</h1>
+
+ <p>{L_BOT_EDIT_EXPLAIN}</p>
+
+ <!-- IF S_ERROR -->
+ <div class="errorbox">
+ <h3>{L_WARNING}</h3>
+ <p>{ERROR_MSG}</p>
+ </div>
+ <!-- ENDIF -->
+
+ <form id="acp_bots" method="post" action="{U_ACTION}">
+
+ <fieldset>
+ <legend>{L_TITLE}</legend>
+ <dl>
+ <dt><label for="bot_name">{L_BOT_NAME}:</label><br /><span>{L_BOT_NAME_EXPLAIN}</span></dt>
+ <dd><input name="bot_name" type="text" id="bot_name" value="{BOT_NAME}" maxlength="255" /></dd>
+ </dl>
+ <dl>
+ <dt><label for="bot_style">{L_BOT_STYLE}:</label><br /><span>{L_BOT_STYLE_EXPLAIN}</span></dt>
+ <dd><select id="bot_style" name="bot_style">{S_STYLE_OPTIONS}</select></dd>
+ </dl>
+ <dl>
+ <dt><label for="bot_lang">{L_BOT_LANG}:</label><br /><span>{L_BOT_LANG_EXPLAIN}</span></dt>
+ <dd><select id="bot_lang" name="bot_lang">{S_LANG_OPTIONS}</select></dd>
+ </dl>
+ <dl>
+ <dt><label for="bot_active">{L_BOT_ACTIVE}:</label></dt>
+ <dd><select id="bot_active" name="bot_active">{S_ACTIVE_OPTIONS}</select></dd>
+ </dl>
+ <dl>
+ <dt><label for="bot_agent">{L_BOT_AGENT}:</label><br /><span>{L_BOT_AGENT_EXPLAIN}</span></dt>
+ <dd><input name="bot_agent" type="text" id="bot_agent" value="{BOT_AGENT}" maxlength="255" /></dd>
+ </dl>
+ <dl>
+ <dt><label for="bot_ip">{L_BOT_IP}:</label><br /><span>{L_BOT_IP_EXPLAIN}</span></dt>
+ <dd><input name="bot_ip" type="text" id="bot_ip" value="{BOT_IP}" maxlength="255" /></dd>
+ </dl>
+
+ <p class="submit-buttons">
+ <input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />&nbsp;
+ <input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
+ {S_FORM_TOKEN}
+ </p>
+ </fieldset>
+ </form>
+
+<!-- ELSE -->
+
+ <h1>{L_BOTS}</h1>
+
+ <p>{L_BOTS_EXPLAIN}</p>
+
+ <form id="acp_bots" method="post" action="{U_ACTION}">
+
+ <table cellspacing="1">
+ <thead>
+ <tr>
+ <th>{L_BOT_NAME}</th>
+ <th>{L_BOT_LAST_VISIT}</th>
+ <th colspan="3">{L_OPTIONS}</th>
+ <th>{L_MARK}</th>
+ </tr>
+ </thead>
+ <tbody>
+ <!-- BEGIN bots -->
+ <!-- IF bots.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
+ <td style="width: 50%;">{bots.BOT_NAME}</td>
+ <td style="width: 15%; white-space: nowrap;" align="center">&nbsp;{bots.LAST_VISIT}&nbsp;</td>
+ <td style="text-align: center;">&nbsp;<a href="{bots.U_ACTIVATE_DEACTIVATE}">{bots.L_ACTIVATE_DEACTIVATE}</a>&nbsp;</td>
+ <td style="text-align: center;">&nbsp;<a href="{bots.U_EDIT}">{L_EDIT}</a>&nbsp;</td>
+ <td style="text-align: center;">&nbsp;<a href="{bots.U_DELETE}">{L_DELETE}</a>&nbsp;</td>
+ <td style="text-align: center;"><input type="checkbox" class="radio" name="mark[]" value="{bots.BOT_ID}" /></td>
+ </tr>
+ <!-- END bots -->
+ </tbody>
+ </table>
+
+ <fieldset class="quick" style="float: {S_CONTENT_FLOW_BEGIN};">
+ <input class="button2" name="add" type="submit" value="{L_BOT_ADD}" />
+ </fieldset>
+
+ <fieldset class="quick" style="float: {S_CONTENT_FLOW_END};">
+ <select name="action">{S_BOT_OPTIONS}</select>
+ <input class="button2" name="submit" type="submit" value="{L_SUBMIT}" />
+ <p class="small"><a href="#" onclick="marklist('acp_bots', 'mark', true);">{L_MARK_ALL}</a> &bull; <a href="#" onclick="marklist('acp_bots', 'mark', false);">{L_UNMARK_ALL}</a></p>
+ {S_FORM_TOKEN}
+ </fieldset>
+ </form>
+
+<!-- ENDIF -->
+
+<!-- INCLUDE overall_footer.html -->
diff --git a/phpBB/adm/style/acp_captcha.html b/phpBB/adm/style/acp_captcha.html
new file mode 100644
index 0000000000..d31527b64d
--- /dev/null
+++ b/phpBB/adm/style/acp_captcha.html
@@ -0,0 +1,67 @@
+<!-- INCLUDE overall_header.html -->
+
+<a name="maincontent"></a>
+
+<h1>{L_ACP_VC_SETTINGS}</h1>
+
+<p>{L_ACP_VC_SETTINGS_EXPLAIN}</p>
+
+
+<form id="acp_captcha" method="post" action="{U_ACTION}">
+
+<fieldset>
+<legend>{L_GENERAL_OPTIONS}</legend>
+
+<dl>
+ <dt><label for="enable_confirm">{L_VISUAL_CONFIRM_REG}:</label><br /><span>{L_VISUAL_CONFIRM_REG_EXPLAIN}</span></dt>
+ <dd><label><input type="radio" class="radio" id="enable_confirm" name="enable_confirm" value="1"<!-- IF REG_ENABLE --> checked="checked"<!-- ENDIF --> /> {L_ENABLED}</label>
+ <label><input type="radio" class="radio" name="enable_confirm" value="0"<!-- IF not REG_ENABLE --> checked="checked"<!-- ENDIF --> /> {L_DISABLED}</label></dd>
+</dl>
+<dl>
+ <dt><label for="max_reg_attempts">{L_REG_LIMIT}:</label><br /><span>{L_REG_LIMIT_EXPLAIN}</span></dt>
+ <dd><input id="max_reg_attempts" type="text" size="4" maxlength="4" name="max_reg_attempts" value="{REG_LIMIT}" /></dd>
+</dl>
+<dl>
+ <dt><label for="enable_post_confirm">{L_VISUAL_CONFIRM_POST}:</label><br /><span>{L_VISUAL_CONFIRM_POST_EXPLAIN}</span></dt>
+ <dd><label><input type="radio" class="radio" id="enable_post_confirm" name="enable_post_confirm" value="1"<!-- IF POST_ENABLE --> checked="checked"<!-- ENDIF --> /> {L_ENABLED}</label>
+ <label><input type="radio" class="radio" name="enable_post_confirm" value="0"<!-- IF not POST_ENABLE --> checked="checked"<!-- ENDIF --> /> {L_DISABLED}</label></dd>
+</dl>
+<dl>
+ <dt><label for="confirm_refresh">{L_VISUAL_CONFIRM_REFRESH}:</label><br /><span>{L_VISUAL_CONFIRM_REFRESH_EXPLAIN}</span></dt>
+ <dd><label><input type="radio" class="radio" id="confirm_refresh" name="confirm_refresh" value="1"<!-- IF CONFIRM_REFRESH --> checked="checked"<!-- ENDIF --> /> {L_ENABLED}</label>
+ <label><input type="radio" class="radio" name="confirm_refresh" value="0"<!-- IF not CONFIRM_REFRESH --> checked="checked"<!-- ENDIF --> /> {L_DISABLED}</label></dd>
+</dl>
+</fieldset>
+
+<fieldset>
+<legend>{L_AVAILABLE_CAPTCHAS}</legend>
+<dl>
+ <dt><label for="captcha_select">{L_CAPTCHA_SELECT}:</label><br /><span>{L_CAPTCHA_SELECT_EXPLAIN}</span></dt>
+ <dd><select id="captcha_select" name="select_captcha" onchange="(document.getElementById('acp_captcha')).submit()" >{CAPTCHA_SELECT}</select></dd>
+</dl>
+ <!-- IF S_CAPTCHA_HAS_CONFIG -->
+<dl>
+ <dt><label for="configure">{L_CAPTCHA_CONFIGURE}:</label><br /><span>{L_CAPTCHA_CONFIGURE_EXPLAIN}</span></dt>
+ <dd><input class="button2" type="submit" id="configure" name="configure" value="{L_CONFIGURE}" /></dd>
+</dl>
+<!-- ENDIF -->
+</fieldset>
+
+<!-- IF CAPTCHA_PREVIEW_TPL -->
+<fieldset>
+ <legend>{L_PREVIEW}</legend>
+<!-- INCLUDE {CAPTCHA_PREVIEW_TPL} -->
+</fieldset>
+<!-- ENDIF -->
+
+<fieldset>
+ <legend>{L_ACP_SUBMIT_CHANGES}</legend>
+ <p class="submit-buttons">
+ <input class="button1" type="submit" id="main_submit" name="main_submit" value="{L_SUBMIT}" />&nbsp;
+ <input class="button2" type="reset" id="form_reset" name="reset" value="{L_RESET}" />&nbsp;
+ </p>
+ {S_FORM_TOKEN}
+</fieldset>
+</form>
+
+<!-- INCLUDE overall_footer.html -->
diff --git a/phpBB/adm/style/acp_database.html b/phpBB/adm/style/acp_database.html
new file mode 100644
index 0000000000..de02ac6dbe
--- /dev/null
+++ b/phpBB/adm/style/acp_database.html
@@ -0,0 +1,98 @@
+<!-- INCLUDE overall_header.html -->
+
+<a name="maincontent"></a>
+
+<!-- IF MODE eq 'restore' -->
+ <h1>{L_ACP_RESTORE}</h1>
+
+ <p>{L_ACP_RESTORE_EXPLAIN}</p>
+
+ <!-- IF .files -->
+ <form id="acp_backup" method="post" action="{U_ACTION}">
+
+ <fieldset>
+ <legend>{L_RESTORE_OPTIONS}</legend>
+ <dl>
+ <dt><label for="file">{L_SELECT_FILE}:</label></dt>
+ <dd><select id="file" name="file" size="10"><!-- BEGIN files --><option value="{files.FILE}"<!-- IF files.S_LAST_ROW --> selected="selected"<!-- ENDIF -->>{files.NAME}</option><!-- END files --></select></dd>
+ </dl>
+
+ <p class="submit-buttons">
+ <input class="button1" type="submit" id="submit" name="submit" value="{L_START_RESTORE}" />&nbsp;
+ <input class="button2" type="submit" id="delete" name="delete" value="{L_DELETE_BACKUP}" />&nbsp;
+ <input class="button2" type="submit" id="download" name="download" value="{L_DOWNLOAD_BACKUP}" />
+ </p>
+ {S_FORM_TOKEN}
+ </fieldset>
+ </form>
+ <!-- ELSE -->
+ <div class="errorbox">
+ <p>{L_ACP_NO_ITEMS}</p>
+ </div>
+ <!-- ENDIF -->
+
+<!-- ELSE -->
+ <h1>{L_ACP_BACKUP}</h1>
+
+ <p>{L_ACP_BACKUP_EXPLAIN}</p>
+
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function selector(bool)
+ {
+ var table = document.getElementById('table');
+
+ for (var i = 0; i < table.options.length; i++)
+ {
+ table.options[i].selected = bool;
+ }
+ }
+
+ // ]]>
+ </script>
+
+ <form id="acp_backup" method="post" action="{U_ACTION}">
+
+ <fieldset>
+ <legend>{L_BACKUP_OPTIONS}</legend>
+ <dl>
+ <dt><label for="type">{L_BACKUP_TYPE}:</label></dt>
+ <dd><label><input type="radio" class="radio" name="type" value="full" id="type" checked="checked" /> {L_FULL_BACKUP}</label>
+ <label><input type="radio" name="type" class="radio" value="structure" /> {L_STRUCTURE_ONLY}</label>
+ <label><input type="radio" class="radio" name="type" value="data" /> {L_DATA_ONLY}</label></dd>
+ </dl>
+ <dl>
+ <dt><label for="method">{L_FILE_TYPE}:</label></dt>
+ <dd><!-- BEGIN methods -->
+ <label><input name="method"<!-- IF methods.S_FIRST_ROW --> id="method" checked="checked"<!-- ENDIF --> type="radio" class="radio" value="{methods.TYPE}" /> {methods.TYPE}</label>
+ <!-- END methods --></dd>
+ </dl>
+ <dl>
+ <dt><label for="where">{L_ACTION}:</label></dt>
+ <dd>
+ <label><input id="where" type="radio" class="radio" name="where" value="store" checked="checked" /> {L_STORE_LOCAL}</label>
+ <label><input type="radio" class="radio" name="where" value="download" /> {L_DOWNLOAD}</label>
+ </dd>
+ </dl>
+ <dl>
+ <dt><label for="table">{L_TABLE_SELECT}:</label></dt>
+ <dd><select id="table" name="table[]" size="10" multiple="multiple">
+ <!-- BEGIN tables -->
+ <option value="{tables.TABLE}">{tables.TABLE}</option>
+ <!-- END tables -->
+ </select></dd>
+ <dd><a href="#" onclick="selector(true); return false;">{L_SELECT_ALL}</a> :: <a href="#" onclick="selector(false); return false;">{L_DESELECT_ALL}</a></dd>
+ </dl>
+
+ <p class="submit-buttons">
+ <input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />&nbsp;
+ <input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
+ </p>
+ {S_FORM_TOKEN}
+ </fieldset>
+ </form>
+
+<!-- ENDIF -->
+
+<!-- INCLUDE overall_footer.html -->
diff --git a/phpBB/adm/style/acp_disallow.html b/phpBB/adm/style/acp_disallow.html
new file mode 100644
index 0000000000..b68d3ab3c0
--- /dev/null
+++ b/phpBB/adm/style/acp_disallow.html
@@ -0,0 +1,45 @@
+<!-- INCLUDE overall_header.html -->
+
+<a name="maincontent"></a>
+
+<h1>{L_ACP_DISALLOW_USERNAMES}</h1>
+
+<p>{L_ACP_DISALLOW_EXPLAIN}</p>
+
+<form id="acp_disallow" method="post" action="{U_ACTION}">
+
+<fieldset>
+ <legend>{L_ADD_DISALLOW_TITLE}</legend>
+<dl>
+ <dt><label for="user">{L_USERNAME}:</label><br /><span>{L_ADD_DISALLOW_EXPLAIN}</span></dt>
+ <dd><input id="user" type="text" class="text medium" maxlength="255" name="disallowed_user" /></dd>
+</dl>
+
+<p class="quick">
+ <input class="button1" type="submit" name="disallow" value="{L_SUBMIT}" />
+</p>
+</fieldset>
+
+<h1>{L_DELETE_DISALLOW_TITLE}</h1>
+
+<p>{L_DELETE_DISALLOW_EXPLAIN}</p>
+
+<fieldset>
+ <legend>{L_DELETE_DISALLOW_TITLE}</legend>
+<!-- IF S_DISALLOWED_NAMES -->
+ <dl>
+ <dt><label for="disallowed">{L_USERNAME}:</label></dt>
+ <dd><select name="disallowed_id" id="disallowed">{S_DISALLOWED_NAMES}</select></dd>
+ </dl>
+
+ <p class="quick">
+ <input class="button1" type="submit" name="allow" value="{L_SUBMIT}" />
+ </p>
+<!-- ELSE -->
+ <p>{L_NO_DISALLOWED}</p>
+<!-- ENDIF -->
+ {S_FORM_TOKEN}
+</fieldset>
+</form>
+
+<!-- INCLUDE overall_footer.html -->
diff --git a/phpBB/adm/style/acp_email.html b/phpBB/adm/style/acp_email.html
new file mode 100644
index 0000000000..885809ffe2
--- /dev/null
+++ b/phpBB/adm/style/acp_email.html
@@ -0,0 +1,54 @@
+<!-- INCLUDE overall_header.html -->
+
+<a name="maincontent"></a>
+
+<h1>{L_ACP_MASS_EMAIL}</h1>
+
+<p>{L_ACP_MASS_EMAIL_EXPLAIN}</p>
+
+<!-- IF S_WARNING -->
+ <div class="errorbox">
+ <h3>{L_WARNING}</h3>
+ <p>{WARNING_MSG}</p>
+ </div>
+<!-- ENDIF -->
+
+<form id="acp_email" method="post" action="{U_ACTION}">
+
+<fieldset>
+ <legend>{L_COMPOSE}</legend>
+<dl>
+ <dt><label for="group">{L_SEND_TO_GROUP}:</label></dt>
+ <dd><select id="group" name="g">{S_GROUP_OPTIONS}</select></dd>
+</dl>
+<dl>
+ <dt><label for="usernames">{L_SEND_TO_USERS}:</label><br /><span>{L_SEND_TO_USERS_EXPLAIN}</span></dt>
+ <dd><textarea name="usernames" id="usernames" rows="5" cols="40">{USERNAMES}</textarea></dd>
+ <dd>[ <a href="{U_FIND_USERNAME}" onclick="find_username(this.href); return false;">{L_FIND_USERNAME}</a> ]</dd>
+</dl>
+<dl>
+ <dt><label for="subject">{L_SUBJECT}:</label></dt>
+ <dd><input name="subject" type="text" id="subject" value="{SUBJECT}" /></dd>
+</dl>
+<dl>
+ <dt><label for="message">{L_MASS_MESSAGE}:</label><br /><span>{L_MASS_MESSAGE_EXPLAIN}</span></dt>
+ <dd><textarea id="message" name="message" rows="10" cols="60">{MESSAGE}</textarea></dd>
+</dl>
+<dl>
+ <dt><label for="priority">{L_MAIL_PRIORITY}:</label></dt>
+ <dd><select id="priority" name="mail_priority_flag">{S_PRIORITY_OPTIONS}</select></dd>
+</dl>
+<dl>
+ <dt><label for="send">{L_SEND_IMMEDIATELY}:</label></dt>
+ <dd><input id="send" type="checkbox" class="radio" name="send_immediately" checked="checked" /></dd>
+</dl>
+
+<p class="submit-buttons">
+ <input class="button1" type="submit" id="submit" name="submit" value="{L_SEND_EMAIL}" />&nbsp;
+ <input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
+</p>
+{S_FORM_TOKEN}
+</fieldset>
+</form>
+
+<!-- INCLUDE overall_footer.html -->
diff --git a/phpBB/adm/style/acp_forums.html b/phpBB/adm/style/acp_forums.html
new file mode 100644
index 0000000000..937a288cb2
--- /dev/null
+++ b/phpBB/adm/style/acp_forums.html
@@ -0,0 +1,505 @@
+<!-- INCLUDE overall_header.html -->
+
+<a name="maincontent"></a>
+
+<!-- IF S_EDIT_FORUM -->
+
+ <script type="text/javascript">
+ // <![CDATA[
+ /**
+ * Handle displaying/hiding several options based on the forum type
+ */
+ function display_options(value)
+ {
+ <!-- IF not S_ADD_ACTION and S_FORUM_ORIG_POST -->
+ if (value == {FORUM_POST})
+ {
+ dE('type_actions', -1);
+ }
+ else
+ {
+ dE('type_actions', 1);
+ }
+ <!-- ENDIF -->
+
+ <!-- IF not S_ADD_ACTION and S_FORUM_ORIG_CAT and S_HAS_SUBFORUMS -->
+ if (value == {FORUM_LINK})
+ {
+ dE('cat_to_link_actions', 1);
+ }
+ else
+ {
+ dE('cat_to_link_actions', -1);
+ }
+ <!-- ENDIF -->
+
+ if (value == {FORUM_POST})
+ {
+ dE('forum_post_options', 1);
+ dE('forum_link_options', -1);
+ dE('forum_rules_options', 1);
+ dE('forum_cat_options', -1);
+ }
+ else if (value == {FORUM_LINK})
+ {
+ dE('forum_post_options', -1);
+ dE('forum_link_options', 1);
+ dE('forum_rules_options', -1);
+ dE('forum_cat_options', -1);
+ }
+ else if (value == {FORUM_CAT})
+ {
+ dE('forum_post_options', -1);
+ dE('forum_link_options', -1);
+ dE('forum_rules_options', 1);
+ dE('forum_cat_options', 1);
+ }
+ }
+
+ /**
+ * Init the wanted display functionality if javascript is enabled.
+ * If javascript is not available, the user is still able to properly administrate.
+ */
+ onload = function()
+ {
+ <!-- IF not S_ADD_ACTION and S_FORUM_ORIG_POST -->
+ <!-- IF S_FORUM_POST -->
+ dE('type_actions', -1);
+ <!-- ENDIF -->
+ <!-- ENDIF -->
+
+ <!-- IF not S_ADD_ACTION and S_FORUM_ORIG_CAT and S_HAS_SUBFORUMS -->
+ <!-- IF S_FORUM_CAT -->
+ dE('cat_to_link_actions', -1);
+ <!-- ENDIF -->
+ <!-- ENDIF -->
+
+ <!-- IF not S_FORUM_POST -->
+ dE('forum_post_options', -1);
+ <!-- ENDIF -->
+
+ <!-- IF not S_FORUM_CAT -->
+ dE('forum_cat_options', -1);
+ <!-- ENDIF -->
+
+ <!-- IF not S_FORUM_LINK -->
+ dE('forum_link_options', -1);
+ <!-- ENDIF -->
+
+ <!-- IF S_FORUM_LINK -->
+ dE('forum_rules_options', -1);
+ <!-- ENDIF -->
+ }
+
+ // ]]>
+ </script>
+
+ <a href="{U_BACK}" style="float: {S_CONTENT_FLOW_END};">&laquo; {L_BACK}</a>
+
+ <h1>{L_TITLE} <!-- IF FORUM_NAME -->:: {FORUM_NAME}<!-- ENDIF --></h1>
+
+ <p>{L_FORUM_EDIT_EXPLAIN}</p>
+
+ <!-- IF S_ERROR -->
+ <div class="errorbox">
+ <h3>{L_WARNING}</h3>
+ <p>{ERROR_MSG}</p>
+ </div>
+ <!-- ENDIF -->
+
+ <form id="forumedit" method="post" action="{U_EDIT_ACTION}">
+
+ <fieldset>
+ <legend>{L_FORUM_SETTINGS}</legend>
+ <dl>
+ <dt><label for="forum_type">{L_FORUM_TYPE}:</label></dt>
+ <dd><select id="forum_type" name="forum_type" onchange="display_options(this.options[this.selectedIndex].value);">{S_FORUM_TYPE_OPTIONS}</select></dd>
+ </dl>
+ <!-- IF not S_ADD_ACTION and S_FORUM_ORIG_POST -->
+ <div id="type_actions">
+ <dl>
+ <dt><label for="type_action">{L_DECIDE_MOVE_DELETE_CONTENT}:</label></dt>
+ <dd><label><input type="radio" class="radio" name="type_action" value="delete"<!-- IF not S_MOVE_FORUM_OPTIONS --> checked="checked" id="type_action"<!-- ENDIF --> /> {L_DELETE_ALL_POSTS}</label></dd>
+ <!-- IF S_MOVE_FORUM_OPTIONS --><dd><label><input type="radio" class="radio" name="type_action" id="type_action" value="move" checked="checked" /> {L_MOVE_POSTS_TO}</label> <select name="to_forum_id">{S_MOVE_FORUM_OPTIONS}</select></dd><!-- ENDIF -->
+ </dl>
+ </div>
+ <!-- ENDIF -->
+ <!-- IF not S_ADD_ACTION and S_FORUM_ORIG_CAT and S_HAS_SUBFORUMS -->
+ <div id="cat_to_link_actions">
+ <dl>
+ <dt><label for="action_subforums">{L_DECIDE_MOVE_DELETE_SUBFORUMS}:</label></dt>
+ <!-- IF S_FORUMS_LIST -->
+ <dd><label><input type="radio" class="radio" id="action_subforums" name="action_subforums" value="move" checked="checked" /> {L_MOVE_SUBFORUMS_TO}</label> <select name="subforums_to_id">{S_FORUMS_LIST}</select></dd>
+ <!-- ELSE -->
+ <dd><label><input type="radio" class="radio" id="action_subforums" name="action_subforums" value="delete" checked="checked" /> {L_DELETE_SUBFORUMS}</label></dd>
+ <!-- ENDIF -->
+ </dl>
+ </div>
+ <!-- ENDIF -->
+ <dl>
+ <dt><label for="parent">{L_FORUM_PARENT}:</label></dt>
+ <dd><select id="parent" name="forum_parent_id"><option value="0"<!-- IF not S_FORUM_PARENT_ID --> selected="selected"<!-- ENDIF -->>{L_NO_PARENT}</option>{S_PARENT_OPTIONS}</select></dd>
+ </dl>
+ <dl>
+ <dt><label for="forum_name">{L_FORUM_NAME}:</label></dt>
+ <dd><input class="text medium" type="text" id="forum_name" name="forum_name" value="{FORUM_NAME}" maxlength="255" /></dd>
+ </dl>
+ <dl>
+ <dt><label for="forum_desc">{L_FORUM_DESC}:</label><br /><span>{L_FORUM_DESC_EXPLAIN}</span></dt>
+ <dd><textarea id="forum_desc" name="forum_desc" rows="5" cols="45">{FORUM_DESC}</textarea></dd>
+ <dd><label><input type="checkbox" class="radio" name="desc_parse_bbcode"<!-- IF S_DESC_BBCODE_CHECKED --> checked="checked"<!-- ENDIF --> /> {L_PARSE_BBCODE}</label>
+ <label><input type="checkbox" class="radio" name="desc_parse_smilies"<!-- IF S_DESC_SMILIES_CHECKED --> checked="checked"<!-- ENDIF --> /> {L_PARSE_SMILIES}</label>
+ <label><input type="checkbox" class="radio" name="desc_parse_urls"<!-- IF S_DESC_URLS_CHECKED --> checked="checked"<!-- ENDIF --> /> {L_PARSE_URLS}</label></dd>
+ </dl>
+ <dl>
+ <dt><label for="forum_image">{L_FORUM_IMAGE}:</label><br /><span>{L_FORUM_IMAGE_EXPLAIN}</span></dt>
+ <dd><input class="text medium" type="text" id="forum_image" name="forum_image" value="{FORUM_IMAGE}" maxlength="255" /></dd>
+ <!-- IF FORUM_IMAGE_SRC -->
+ <dd><img src="{FORUM_IMAGE_SRC}" alt="{L_FORUM_IMAGE}" /></dd>
+ <!-- ENDIF -->
+ </dl>
+ <dl>
+ <dt><label for="forum_password">{L_FORUM_PASSWORD}:</label><br /><span>{L_FORUM_PASSWORD_EXPLAIN}</span></dt>
+ <dd><input type="password" id="forum_password" name="forum_password" value="<!-- IF S_FORUM_PASSWORD_SET -->&#x20;&#x20;&#x20;&#x20;&#x20;&#x20;<!-- ENDIF -->" /></dd>
+ </dl>
+ <dl>
+ <dt><label for="forum_password_confirm">{L_FORUM_PASSWORD_CONFIRM}:</label><br /><span>{L_FORUM_PASSWORD_CONFIRM_EXPLAIN}</span></dt>
+ <dd><input type="password" id="forum_password_confirm" name="forum_password_confirm" value="<!-- IF S_FORUM_PASSWORD_SET -->&#x20;&#x20;&#x20;&#x20;&#x20;&#x20;<!-- ENDIF -->" /></dd>
+ </dl>
+ <!-- IF S_FORUM_PASSWORD_SET -->
+ <dl>
+ <dt><label for="forum_password_unset">{L_FORUM_PASSWORD_UNSET}:</label><br /><span>{L_FORUM_PASSWORD_UNSET_EXPLAIN}</span></dt>
+ <dd><input id="forum_password_unset" name="forum_password_unset" type="checkbox" /></dd>
+ </dl>
+ <!-- ENDIF -->
+ <dl>
+ <dt><label for="forum_style">{L_FORUM_STYLE}:</label></dt>
+ <dd><select id="forum_style" name="forum_style"><option value="0">{L_DEFAULT_STYLE}</option>{S_STYLES_OPTIONS}</select></dd>
+ </dl>
+ <!-- IF S_CAN_COPY_PERMISSIONS -->
+ <dl>
+ <dt><label for="forum_perm_from">{L_COPY_PERMISSIONS}:</label><br /><span>{L_COPY_PERMISSIONS_EXPLAIN}</span></dt>
+ <dd><select id="forum_perm_from" name="forum_perm_from"><option value="0">{L_NO_PERMISSIONS}</option>{S_FORUM_OPTIONS}</select></dd>
+ </dl>
+ <!-- ENDIF -->
+ </fieldset>
+
+ <div id="forum_cat_options">
+ <fieldset>
+ <legend>{L_GENERAL_FORUM_SETTINGS}</legend>
+ <dl>
+ <dt><label for="display_active">{L_DISPLAY_ACTIVE_TOPICS}:</label><br /><span>{L_DISPLAY_ACTIVE_TOPICS_EXPLAIN}</span></dt>
+ <dd><label><input type="radio" class="radio" name="display_active" value="1"<!-- IF S_DISPLAY_ACTIVE_TOPICS --> id="display_active" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
+ <label><input type="radio" class="radio" name="display_active" value="0"<!-- IF not S_DISPLAY_ACTIVE_TOPICS --> id="display_active" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
+ </dl>
+ </fieldset>
+ </div>
+
+ <div id="forum_post_options">
+ <fieldset>
+ <legend>{L_GENERAL_FORUM_SETTINGS}</legend>
+ <dl>
+ <dt><label for="forum_status">{L_FORUM_STATUS}:</label></dt>
+ <dd><select id="forum_status" name="forum_status">{S_STATUS_OPTIONS}</select></dd>
+ </dl>
+ <dl>
+ <dt><label for="display_subforum_list">{L_LIST_SUBFORUMS}:</label><br /><span>{L_LIST_SUBFORUMS_EXPLAIN}</span></dt>
+ <dd><label><input type="radio" class="radio" name="display_subforum_list" value="1"<!-- IF S_DISPLAY_SUBFORUM_LIST --> id="display_subforum_list" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
+ <label><input type="radio" class="radio" name="display_subforum_list" value="0"<!-- IF not S_DISPLAY_SUBFORUM_LIST --> id="display_subforum_list" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
+ </dl>
+ <dl>
+ <dt><label for="display_on_index">{L_LIST_INDEX}:</label><br /><span>{L_LIST_INDEX_EXPLAIN}</span></dt>
+ <dd><label><input type="radio" class="radio" name="display_on_index" value="1"<!-- IF S_DISPLAY_ON_INDEX --> id="display_on_index" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
+ <label><input type="radio" class="radio" name="display_on_index" value="0"<!-- IF not S_DISPLAY_ON_INDEX --> id="display_on_index" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
+ </dl>
+ <dl>
+ <dt><label for="enable_post_review">{L_ENABLE_POST_REVIEW}:</label><br /><span>{L_ENABLE_POST_REVIEW_EXPLAIN}</span></dt>
+ <dd><label><input type="radio" class="radio" name="enable_post_review" value="1"<!-- IF S_ENABLE_POST_REVIEW --> id="enable_post_review" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
+ <label><input type="radio" class="radio" name="enable_post_review" value="0"<!-- IF not S_ENABLE_POST_REVIEW --> id="enable_post_review" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
+ </dl>
+ <dl>
+ <dt><label for="enable_quick_reply">{L_ENABLE_QUICK_REPLY}:</label><br /><span>{L_ENABLE_QUICK_REPLY_EXPLAIN}</span></dt>
+ <dd><label><input type="radio" class="radio" name="enable_quick_reply" value="1"<!-- IF S_ENABLE_QUICK_REPLY --> id="enable_quick_reply" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
+ <label><input type="radio" class="radio" name="enable_quick_reply" value="0"<!-- IF not S_ENABLE_QUICK_REPLY --> id="enable_quick_reply" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
+ </dl>
+ <dl>
+ <dt><label for="enable_indexing">{L_ENABLE_INDEXING}:</label><br /><span>{L_ENABLE_INDEXING_EXPLAIN}</span></dt>
+ <dd><label><input type="radio" class="radio" name="enable_indexing" value="1"<!-- IF S_ENABLE_INDEXING --> id="enable_indexing" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
+ <label><input type="radio" class="radio" name="enable_indexing" value="0"<!-- IF not S_ENABLE_INDEXING --> id="enable_indexing" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
+ </dl>
+ <dl>
+ <dt><label for="enable_icons">{L_ENABLE_TOPIC_ICONS}:</label></dt>
+ <dd><label><input type="radio" class="radio" name="enable_icons" value="1"<!-- IF S_TOPIC_ICONS --> id="enable_icons" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
+ <label><input type="radio" class="radio" name="enable_icons" value="0"<!-- IF not S_TOPIC_ICONS --> id="enable_icons" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
+ </dl>
+ <dl>
+ <dt><label for="display_recent">{L_ENABLE_RECENT}:</label><br /><span>{L_ENABLE_RECENT_EXPLAIN}</span></dt>
+ <dd><label><input type="radio" class="radio" name="display_recent" value="1"<!-- IF S_DISPLAY_ACTIVE_TOPICS --> id="display_recent" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
+ <label><input type="radio" class="radio" name="display_recent" value="0"<!-- IF not S_DISPLAY_ACTIVE_TOPICS --> id="display_recent" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
+ </dl>
+ <dl>
+ <dt><label for="topics_per_page">{L_FORUM_TOPICS_PAGE}:</label><br /><span>{L_FORUM_TOPICS_PAGE_EXPLAIN}</span></dt>
+ <dd><input type="text" id="topics_per_page" name="topics_per_page" value="{TOPICS_PER_PAGE}" size="4" maxlength="4" /></dd>
+ </dl>
+ </fieldset>
+
+ <fieldset>
+ <legend>{L_FORUM_PRUNE_SETTINGS}</legend>
+ <dl>
+ <dt><label for="enable_prune">{L_FORUM_AUTO_PRUNE}:</label><br /><span>{L_FORUM_AUTO_PRUNE_EXPLAIN}</span></dt>
+ <dd><label><input type="radio" class="radio" name="enable_prune" value="1"<!-- IF S_PRUNE_ENABLE --> id="enable_prune" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
+ <label><input type="radio" class="radio" name="enable_prune" value="0"<!-- IF not S_PRUNE_ENABLE --> id="enable_prune" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
+ </dl>
+ <dl>
+ <dt><label for="prune_freq">{L_AUTO_PRUNE_FREQ}:</label><br /><span>{L_AUTO_PRUNE_FREQ_EXPLAIN}</span></dt>
+ <dd><input type="text" id="prune_freq" name="prune_freq" value="{PRUNE_FREQ}" maxlength="4" size="4" /> {L_DAYS}</dd>
+ </dl>
+ <dl>
+ <dt><label for="prune_days">{L_AUTO_PRUNE_DAYS}:</label><br /><span>{L_AUTO_PRUNE_DAYS_EXPLAIN}</span></dt>
+ <dd><input type="text" id="prune_days" name="prune_days" value="{PRUNE_DAYS}" maxlength="4" size="4" /> {L_DAYS}</dd>
+ </dl>
+ <dl>
+ <dt><label for="prune_viewed">{L_AUTO_PRUNE_VIEWED}:</label><br /><span>{L_AUTO_PRUNE_VIEWED_EXPLAIN}</span></dt>
+ <dd><input type="text" id="prune_viewed" name="prune_viewed" value="{PRUNE_VIEWED}" maxlength="4" size="4" /> {L_DAYS}</dd>
+ </dl>
+ <dl>
+ <dt><label for="prune_old_polls">{L_PRUNE_OLD_POLLS}:</label><br /><span>{L_PRUNE_OLD_POLLS_EXPLAIN}</span></dt>
+ <dd><label><input type="radio" class="radio" name="prune_old_polls" value="1"<!-- IF S_PRUNE_OLD_POLLS --> id="prune_old_polls" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
+ <label><input type="radio" class="radio" name="prune_old_polls" value="0"<!-- IF not S_PRUNE_OLD_POLLS --> id="prune_old_polls" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
+ </dl>
+ <dl>
+ <dt><label for="prune_announce">{L_PRUNE_ANNOUNCEMENTS}:</label></dt>
+ <dd><label><input type="radio" class="radio" name="prune_announce" value="1"<!-- IF S_PRUNE_ANNOUNCE --> id="prune_announce" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
+ <label><input type="radio" class="radio" name="prune_announce" value="0"<!-- IF not S_PRUNE_ANNOUNCE --> id="prune_announce" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
+ </dl>
+ <dl>
+ <dt><label for="prune_sticky">{L_PRUNE_STICKY}:</label></dt>
+ <dd><label><input type="radio" class="radio" name="prune_sticky" value="1"<!-- IF S_PRUNE_STICKY --> id="prune_sticky" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
+ <label><input type="radio" class="radio" name="prune_sticky" value="0"<!-- IF not S_PRUNE_STICKY --> id="prune_sticky" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
+ </dl>
+ </fieldset>
+ </div>
+
+ <div id="forum_link_options">
+ <fieldset>
+ <legend>{L_GENERAL_FORUM_SETTINGS}</legend>
+ <dl>
+ <dt><label for="link_display_on_index">{L_LIST_INDEX}:</label><br /><span>{L_LIST_INDEX_EXPLAIN}</span></dt>
+ <dd><label><input type="radio" class="radio" name="link_display_on_index" value="1"<!-- IF S_DISPLAY_ON_INDEX --> id="link_display_on_index" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
+ <label><input type="radio" class="radio" name="link_display_on_index" value="0"<!-- IF not S_DISPLAY_ON_INDEX --> id="link_display_on_index" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
+ </dl>
+ <dl>
+ <dt><label for="forum_link">{L_FORUM_LINK}:</label><br /><span>{L_FORUM_LINK_EXPLAIN}</span></dt>
+ <dd><input class="text medium" type="text" id="forum_link" name="forum_link" value="{FORUM_DATA_LINK}" maxlength="255" /></dd>
+ </dl>
+ <dl>
+ <dt><label for="forum_link_track">{L_FORUM_LINK_TRACK}:</label><br /><span>{L_FORUM_LINK_TRACK_EXPLAIN}</span></dt>
+ <dd><label><input type="radio" class="radio" name="forum_link_track" value="1"<!-- IF S_FORUM_LINK_TRACK --> id="forum_link_track" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
+ <label><input type="radio" class="radio" name="forum_link_track" value="0"<!-- IF not S_FORUM_LINK_TRACK --> id="forum_link_track" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
+ </dl>
+ </fieldset>
+ </div>
+
+ <div id="forum_rules_options">
+ <fieldset>
+ <legend>{L_FORUM_RULES}</legend>
+ <dl>
+ <dt><label for="forum_rules_link">{L_FORUM_RULES_LINK}:</label><br /><span>{L_FORUM_RULES_LINK_EXPLAIN}</span></dt>
+ <dd><input class="text medium" type="text" id="forum_rules_link" name="forum_rules_link" value="{FORUM_RULES_LINK}" maxlength="255" /></dd>
+ </dl>
+ <!-- IF FORUM_RULES_PREVIEW -->
+ <dl>
+ <dt><label>{L_FORUM_RULES_PREVIEW}:</label></dt>
+ <dd>{FORUM_RULES_PREVIEW}</dd>
+ </dl>
+ <!-- ENDIF -->
+ <dl>
+ <dt><label for="forum_rules">{L_FORUM_RULES}:</label><br /><span>{L_FORUM_RULES_EXPLAIN}</span></dt>
+ <dd><textarea id="forum_rules" name="forum_rules" rows="4" cols="70">{FORUM_RULES_PLAIN}</textarea></dd>
+ <dd><label><input type="checkbox" class="radio" name="rules_parse_bbcode"<!-- IF S_BBCODE_CHECKED --> checked="checked"<!-- ENDIF --> /> {L_PARSE_BBCODE}</label>
+ <label><input type="checkbox" class="radio" name="rules_parse_smilies"<!-- IF S_SMILIES_CHECKED --> checked="checked"<!-- ENDIF --> /> {L_PARSE_SMILIES}</label>
+ <label><input type="checkbox" class="radio" name="rules_parse_urls"<!-- IF S_URLS_CHECKED --> checked="checked"<!-- ENDIF --> /> {L_PARSE_URLS}</label></dd>
+ </dl>
+ </fieldset>
+ </div>
+
+ <fieldset class="submit-buttons">
+ <legend>{L_SUBMIT}</legend>
+ <input class="button1" type="submit" id="submit" name="update" value="{L_SUBMIT}" />&nbsp;
+ <input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
+ {S_FORM_TOKEN}
+ </fieldset>
+ </form>
+
+<!-- ELSEIF S_DELETE_FORUM -->
+
+ <a href="{U_BACK}" style="float: {S_CONTENT_FLOW_END};">&laquo; {L_BACK}</a>
+
+ <h1>{L_FORUM_DELETE}</h1>
+
+ <p>{L_FORUM_DELETE_EXPLAIN}</p>
+
+ <!-- IF S_ERROR -->
+ <div class="errorbox">
+ <h3>{L_WARNING}</h3>
+ <p>{ERROR_MSG}</p>
+ </div>
+ <!-- ENDIF -->
+
+ <form id="acp_forum" method="post" action="{U_ACTION}">
+
+ <fieldset>
+ <legend>{L_FORUM_DELETE}</legend>
+ <dl>
+ <dt><label>{L_FORUM_NAME}:</label></dt>
+ <dd><strong>{FORUM_NAME}</strong></dd>
+ </dl>
+ <!-- IF S_FORUM_POST -->
+ <dl>
+ <dt><label for="delete_action">{L_ACTION}:</label></dt>
+ <dd><label><input type="radio" class="radio" id="delete_action" name="action_posts" value="delete" checked="checked" /> {L_DELETE_ALL_POSTS}</label></dd>
+ <!-- IF S_MOVE_FORUM_OPTIONS -->
+ <dd><label><input type="radio" class="radio" name="action_posts" value="move" /> {L_MOVE_POSTS_TO}</label> <select name="posts_to_id">{S_MOVE_FORUM_OPTIONS}</select></dd>
+ <!-- ENDIF -->
+ </dl>
+ <!-- ENDIF -->
+ <!-- IF S_HAS_SUBFORUMS -->
+ <dl>
+ <dt><label for="sub_delete_action">{L_ACTION}:</label></dt>
+ <dd><label><input type="radio" class="radio" id="sub_delete_action" name="action_subforums" value="delete" checked="checked" /> {L_DELETE_SUBFORUMS}</label></dd>
+ <!-- IF S_FORUMS_LIST -->
+ <dd><label><input type="radio" class="radio" name="action_subforums" value="move" /> {L_MOVE_SUBFORUMS_TO}</label> <select name="subforums_to_id">{S_FORUMS_LIST}</select></dd>
+ <!-- ENDIF -->
+ </dl>
+ <!-- ENDIF -->
+
+ <p class="quick">
+ <input class="button1" type="submit" name="update" value="{L_SUBMIT}" />
+ </p>
+ {S_FORM_TOKEN}
+ </fieldset>
+ </form>
+
+<!-- ELSEIF S_CONTINUE_SYNC -->
+
+ <script type="text/javascript">
+ // <![CDATA[
+ var close_waitscreen = 0;
+ // no scrollbars...
+ popup('{UA_PROGRESS_BAR}', 400, 240, '_sync');
+ // ]]>
+ </script>
+
+ <h1>{L_FORUM_ADMIN}</h1>
+
+ <p>{L_FORUM_ADMIN_EXPLAIN}</p>
+
+ <p>{L_PROGRESS_EXPLAIN}</p>
+
+<!-- ELSE -->
+
+ <script type="text/javascript">
+ // <![CDATA[
+ /**
+ * Popup search progress bar
+ */
+ function popup_progress_bar()
+ {
+ var close_waitscreen = 0;
+ // no scrollbars...
+ popup('{UA_PROGRESS_BAR}', 400, 240, '_sync');
+ }
+ // ]]>
+ </script>
+
+ <h1>{L_FORUM_ADMIN}</h1>
+
+ <p>{L_FORUM_ADMIN_EXPLAIN}</p>
+
+ <!-- IF ERROR_MSG -->
+ <div class="errorbox">
+ <h3>{L_WARNING}</h3>
+ <p>{ERROR_MSG}</p>
+ </div>
+ <!-- ENDIF -->
+
+ <!-- IF S_RESYNCED -->
+ <script type="text/javascript">
+ // <![CDATA[
+ var close_waitscreen = 1;
+ // ]]>
+ </script>
+
+ <div class="successbox">
+ <h3>{L_NOTIFY}</h3>
+ <p>{L_FORUM_RESYNCED}</p>
+ </div>
+ <!-- ENDIF -->
+
+ <p><strong>{NAVIGATION}<!-- IF S_NO_FORUMS --> [<a href="{U_EDIT}">{L_EDIT}</a> | <a href="{U_DELETE}">{L_DELETE}</a><!-- IF not S_LINK --> | <a href="{U_SYNC}">{L_RESYNC}</a><!-- ENDIF --->]<!-- ENDIF --></strong></p>
+
+ <!-- IF .forums -->
+ <table cellspacing="1">
+ <col class="row1" /><col class="row1" /><col class="row2" />
+ <tbody>
+ <!-- BEGIN forums -->
+ <tr>
+ <td style="width: 5%; text-align: center;">{forums.FOLDER_IMAGE}</td>
+ <td>
+ <!-- IF forums.FORUM_IMAGE --><div style="float: {S_CONTENT_FLOW_BEGIN}; margin-right: 5px;">{forums.FORUM_IMAGE}</div><!-- ENDIF -->
+ <strong><!-- IF forums.S_FORUM_LINK -->{forums.FORUM_NAME}<!-- ELSE --><a href="{forums.U_FORUM}">{forums.FORUM_NAME}</a><!-- ENDIF --></strong>
+ <!-- IF forums.FORUM_DESCRIPTION --><br /><span>{forums.FORUM_DESCRIPTION}</span><!-- ENDIF -->
+ <!-- IF forums.S_FORUM_POST --><br /><br /><span>{L_TOPICS}: <strong>{forums.FORUM_TOPICS}</strong> / {L_POSTS}: <strong>{forums.FORUM_POSTS}</strong></span><!-- ENDIF -->
+ </td>
+ <td style="vertical-align: top; width: 100px; text-align: right; white-space: nowrap;">
+ <!-- IF forums.S_FIRST_ROW && not forums.S_LAST_ROW -->
+ {ICON_MOVE_UP_DISABLED}
+ <a href="{forums.U_MOVE_DOWN}">{ICON_MOVE_DOWN}</a>
+ <!-- ELSEIF not forums.S_FIRST_ROW && not forums.S_LAST_ROW -->
+ <a href="{forums.U_MOVE_UP}">{ICON_MOVE_UP}</a>
+ <a href="{forums.U_MOVE_DOWN}">{ICON_MOVE_DOWN}</a>
+ <!-- ELSEIF forums.S_LAST_ROW && not forums.S_FIRST_ROW -->
+ <a href="{forums.U_MOVE_UP}">{ICON_MOVE_UP}</a>
+ {ICON_MOVE_DOWN_DISABLED}
+ <!-- ELSE -->
+ {ICON_MOVE_UP_DISABLED}
+ {ICON_MOVE_DOWN_DISABLED}
+ <!-- ENDIF -->
+ <a href="{forums.U_EDIT}">{ICON_EDIT}</a>
+ <!-- IF not forums.S_FORUM_LINK -->
+ <a href="{forums.U_SYNC}" onclick="popup_progress_bar();">{ICON_SYNC}</a>
+ <!-- ELSE -->
+ {ICON_SYNC_DISABLED}
+ <!-- ENDIF -->
+ <a href="{forums.U_DELETE}">{ICON_DELETE}</a>
+ </td>
+ </tr>
+ <!-- END forums -->
+ </tbody>
+ </table>
+ <!-- ENDIF -->
+
+ <form id="fselect" method="post" action="{U_SEL_ACTION}">
+
+ <fieldset class="quick">
+ {L_SELECT_FORUM}: <select name="parent_id" onchange="if(this.options[this.selectedIndex].value != -1){ this.form.submit(); }">{FORUM_BOX}</select>
+
+ <input class="button2" type="submit" value="{L_GO}" />
+ {S_FORM_TOKEN}
+ </fieldset>
+ </form>
+
+ <form id="forums" method="post" action="{U_ACTION}">
+
+ <fieldset class="quick">
+ <input type="hidden" name="action" value="add" />
+
+ <input type="text" name="forum_name" value="" maxlength="255" />
+ <input class="button2" name="addforum" type="submit" value="{L_CREATE_FORUM}" />
+ {S_FORM_TOKEN}
+ </fieldset>
+ </form>
+
+<!-- ENDIF -->
+
+<!-- INCLUDE overall_footer.html -->
diff --git a/phpBB/adm/style/acp_forums_copy_perm.html b/phpBB/adm/style/acp_forums_copy_perm.html
new file mode 100644
index 0000000000..acec3c1967
--- /dev/null
+++ b/phpBB/adm/style/acp_forums_copy_perm.html
@@ -0,0 +1,22 @@
+<!-- INCLUDE overall_header.html -->
+
+<h1>{L_COPY_PERMISSIONS}</h1>
+
+<p>{L_COPY_PERMISSIONS_EXPLAIN}</p>
+<p>{L_ACL_LINK}</p>
+
+<form id="confirm" method="post" action="{S_COPY_ACTION}">
+
+<fieldset>
+ <dl>
+ <dt><label for="forum_perm_from">{L_COPY_PERMISSIONS}:</label><br /><span>{L_COPY_PERMISSIONS_EXPLAIN}</span></dt>
+ <dd><select id="forum_perm_from" name="forum_perm_from"><option value="0">{L_NO_PERMISSIONS}</option>{S_FORUM_OPTIONS}</select></dd>
+ </dl>
+ <div style="text-align: center;">{S_FORM_TOKEN}{S_HIDDEN_FIELDS}
+ <input type="submit" name="update" value="{L_CONTINUE}" class="button2" />&nbsp;
+ </div>
+</fieldset>
+
+</form>
+
+<!-- INCLUDE overall_footer.html -->
diff --git a/phpBB/adm/style/acp_groups.html b/phpBB/adm/style/acp_groups.html
new file mode 100644
index 0000000000..a513e69a8a
--- /dev/null
+++ b/phpBB/adm/style/acp_groups.html
@@ -0,0 +1,358 @@
+<!-- INCLUDE overall_header.html -->
+
+<a name="maincontent"></a>
+
+<!-- IF S_EDIT -->
+
+ <a href="{U_BACK}" style="float: {S_CONTENT_FLOW_END};">&laquo; {L_BACK}</a>
+
+ <h1>{L_ACP_GROUPS_MANAGE}</h1>
+
+ <p>{L_GROUP_EDIT_EXPLAIN}</p>
+
+ <!-- IF S_ERROR -->
+ <div class="errorbox">
+ <h3>{L_WARNING}</h3>
+ <p>{ERROR_MSG}</p>
+ </div>
+ <!-- ENDIF -->
+
+ <form id="settings" method="post" action="{U_ACTION}"<!-- IF S_CAN_UPLOAD --> enctype="multipart/form-data"<!-- ENDIF -->>
+
+ <fieldset>
+ <legend>{L_GROUP_DETAILS}</legend>
+ <dl>
+ <dt><label<!-- IF not S_SPECIAL_GROUP --> for="group_name"<!-- ENDIF -->>{L_GROUP_NAME}:</label></dt>
+ <dd><!-- IF S_SPECIAL_GROUP --><strong>{GROUP_NAME}</strong><!-- ENDIF --><input name="group_name" type="<!-- IF S_SPECIAL_GROUP -->hidden<!-- ELSE -->text<!-- ENDIF -->" id="group_name" value="{GROUP_INTERNAL_NAME}" /></dd>
+ </dl>
+ <dl>
+ <dt><label for="group_desc">{L_GROUP_DESC}:</label></dt>
+ <dd><textarea id="group_desc" name="group_desc" rows="5" cols="45">{GROUP_DESC}</textarea></dd>
+ <dd><label><input type="checkbox" class="radio" name="desc_parse_bbcode"<!-- IF S_DESC_BBCODE_CHECKED --> checked="checked"<!-- ENDIF --> /> {L_PARSE_BBCODE}</label>
+ <label><input type="checkbox" class="radio" name="desc_parse_smilies"<!-- IF S_DESC_SMILIES_CHECKED --> checked="checked"<!-- ENDIF --> /> {L_PARSE_SMILIES}</label>
+ <label><input type="checkbox" class="radio" name="desc_parse_urls"<!-- IF S_DESC_URLS_CHECKED --> checked="checked"<!-- ENDIF --> /> {L_PARSE_URLS}</label></dd>
+ </dl>
+ <!-- IF not S_SPECIAL_GROUP -->
+ <dl>
+ <dt><label for="group_type">{L_GROUP_TYPE}:</label><br /><span>{L_GROUP_TYPE_EXPLAIN}</span></dt>
+ <dd>
+ <label><input name="group_type" type="radio" class="radio" id="group_type" value="{GROUP_TYPE_FREE}"{GROUP_FREE} /> {L_GROUP_OPEN}</label>
+ <label><input name="group_type" type="radio" class="radio" value="{GROUP_TYPE_OPEN}"{GROUP_OPEN} /> {L_GROUP_REQUEST}</label>
+ <label><input name="group_type" type="radio" class="radio" value="{GROUP_TYPE_CLOSED}"{GROUP_CLOSED} /> {L_GROUP_CLOSED}</label>
+ <label><input name="group_type" type="radio" class="radio" value="{GROUP_TYPE_HIDDEN}"{GROUP_HIDDEN} /> {L_GROUP_HIDDEN}</label>
+ </dd>
+ </dl>
+ <!-- ELSE -->
+ <input name="group_type" type="hidden" value="{GROUP_TYPE_SPECIAL}" />
+ <!-- ENDIF -->
+
+ <!-- IF S_ADD_GROUP and S_GROUP_PERM -->
+ <dl>
+ <dt><label for="group_perm_from">{L_COPY_PERMISSIONS}:</label><br /><span>{L_COPY_PERMISSIONS_EXPLAIN}</span></dt>
+ <dd><select id="group_perm_from" name="group_perm_from"><option value="0">{L_NO_PERMISSIONS}</option>{S_GROUP_OPTIONS}</select></dd>
+ </dl>
+ <!-- ENDIF -->
+ </fieldset>
+
+ <fieldset>
+ <legend>{L_GROUP_OPTIONS_SAVE}</legend>
+ <!-- IF S_USER_FOUNDER -->
+ <dl>
+ <dt><label for="group_founder_manage">{L_GROUP_FOUNDER_MANAGE}:</label><br /><span>{L_GROUP_FOUNDER_MANAGE_EXPLAIN}</span></dt>
+ <dd><input name="group_founder_manage" type="checkbox" value="1" class="radio" id="group_founder_manage"{GROUP_FOUNDER_MANAGE} /></dd>
+ </dl>
+ <!-- ENDIF -->
+ <dl>
+ <dt><label for="group_skip_auth">{L_GROUP_SKIP_AUTH}:</label><br /><span>{L_GROUP_SKIP_AUTH_EXPLAIN}</span></dt>
+ <dd><input name="group_skip_auth" type="checkbox" value="1" class="radio" id="group_skip_auth"{GROUP_SKIP_AUTH} /></dd>
+ </dl>
+ <dl>
+ <dt><label for="group_legend">{L_GROUP_LEGEND}:</label></dt>
+ <dd><input name="group_legend" type="checkbox" value="1" class="radio" id="group_legend"{GROUP_LEGEND} /></dd>
+ </dl>
+ <dl>
+ <dt><label for="group_receive_pm">{L_GROUP_RECEIVE_PM}:</label><br /><span>{L_GROUP_RECEIVE_PM_EXPLAIN}</span></dt>
+ <dd><input name="group_receive_pm" type="checkbox" value="1" class="radio" id="group_receive_pm"{GROUP_RECEIVE_PM} /></dd>
+ </dl>
+ </fieldset>
+
+ <fieldset>
+ <legend>{L_GROUP_SETTINGS_SAVE}</legend>
+ <dl>
+ <dt><label for="group_message_limit">{L_GROUP_MESSAGE_LIMIT}:</label><br /><span>{L_GROUP_MESSAGE_LIMIT_EXPLAIN}</span></dt>
+ <dd><input name="group_message_limit" type="text" id="group_message_limit" maxlength="4" size="4" value="{GROUP_MESSAGE_LIMIT}" /></dd>
+ </dl>
+ <dl>
+ <dt><label for="group_max_recipients">{L_GROUP_MAX_RECIPIENTS}:</label><br /><span>{L_GROUP_MAX_RECIPIENTS_EXPLAIN}</span></dt>
+ <dd><input name="group_max_recipients" type="text" id="group_max_recipients" maxlength="10" size="4" value="{GROUP_MAX_RECIPIENTS}" /></dd>
+ </dl>
+ <dl>
+ <dt><label for="group_colour">{L_GROUP_COLOR}:</label><br /><span>{L_GROUP_COLOR_EXPLAIN}</span></dt>
+ <dd><input name="group_colour" type="text" id="group_colour" value="{GROUP_COLOUR}" size="6" maxlength="6" /><!-- IF GROUP_COLOUR -->&nbsp;<span style="background-color: #{GROUP_COLOUR}">&nbsp; &nbsp;</span><!-- ENDIF -->&nbsp;&nbsp;<span>[ <a href="{U_SWATCH}" onclick="popup(this.href, 636, 150, '_swatch'); return false">{L_COLOUR_SWATCH}</a> ]</span></dd>
+ </dl>
+ <dl>
+ <dt><label for="group_rank">{L_GROUP_RANK}:</label></dt>
+ <dd><select name="group_rank" id="group_rank">{S_RANK_OPTIONS}</select></dd>
+ </dl>
+ </fieldset>
+
+ <fieldset>
+ <legend>{L_GROUP_AVATAR}</legend>
+ <dl>
+ <dt><label>{L_CURRENT_IMAGE}:</label><br /><span>{L_AVATAR_EXPLAIN}</span></dt>
+ <dd>{AVATAR_IMAGE}</dd>
+ <dd><label><input type="checkbox" class="radio" name="delete" /> {L_DELETE_AVATAR}</label></dd>
+ </dl>
+ <!-- IF not S_IN_AVATAR_GALLERY -->
+ <!-- IF S_CAN_UPLOAD -->
+ <dl>
+ <dt><label for="uploadfile">{L_UPLOAD_AVATAR_FILE}:</label></dt>
+ <dd><input type="file" id="uploadfile" name="uploadfile" /></dd>
+ </dl>
+ <dl>
+ <dt><label for="uploadurl">{L_UPLOAD_AVATAR_URL}:</label><br /><span>{L_UPLOAD_AVATAR_URL_EXPLAIN}</span></dt>
+ <dd><input name="uploadurl" type="text" id="uploadurl" value="" /></dd>
+ </dl>
+ <!-- ENDIF -->
+ <dl>
+ <dt><label for="remotelink">{L_LINK_REMOTE_AVATAR}:</label><br /><span>{L_LINK_REMOTE_AVATAR_EXPLAIN}</span></dt>
+ <dd><input name="remotelink" type="text" id="remotelink" value="" /></dd>
+ </dl>
+ <dl>
+ <dt><label for="width">{L_LINK_REMOTE_SIZE}:</label><br /><span>{L_LINK_REMOTE_SIZE_EXPLAIN}</span></dt>
+ <dd><input name="width" type="text" id="width" size="3" value="{AVATAR_WIDTH}" /> <span>px X </span> <input type="text" name="height" size="3" value="{AVATAR_HEIGHT}" /> <span>px</span></dd>
+ </dl>
+ <!-- IF S_DISPLAY_GALLERY -->
+ <dl>
+ <dt><label>{L_AVATAR_GALLERY}:</label></dt>
+ <dd><input class="button2" type="submit" name="display_gallery" value="{L_DISPLAY_GALLERY}" /></dd>
+ </dl>
+ <!-- ENDIF -->
+ <!-- ELSE -->
+ </fieldset>
+
+ <fieldset>
+ <legend>{L_AVATAR_GALLERY}</legend>
+ <dl>
+ <dt><label for="category">{L_AVATAR_CATEGORY}:</label></dt>
+ <dd><select name="category" id="category">{S_CAT_OPTIONS}</select>&nbsp;<input class="button2" type="submit" value="{L_GO}" name="display_gallery" /></dd>
+ </dl>
+ <dl>
+ <table cellspacing="1">
+ <!-- BEGIN avatar_row -->
+ <tr>
+ <!-- BEGIN avatar_column -->
+ <td class="row1" style="text-align: center;"><img src="{avatar_row.avatar_column.AVATAR_IMAGE}" alt="{avatar_row.avatar_column.AVATAR_NAME}" title="{avatar_row.avatar_column.AVATAR_NAME}" /></td>
+ <!-- END avatar_column -->
+ </tr>
+ <tr>
+ <!-- BEGIN avatar_option_column -->
+ <td class="row2" style="text-align: center;"><input type="radio" class="radio" name="avatar_select" value="{avatar_row.avatar_option_column.S_OPTIONS_AVATAR}" /></td>
+ <!-- END avatar_option_column -->
+ </tr>
+ <!-- END avatar_row -->
+ </table>
+ </dl>
+ </fieldset>
+
+ <fieldset class="quick" style="margin-top: -15px;">
+ <input class="button2" type="submit" name="cancel" value="{L_CANCEL}" />
+ </fieldset>
+
+ <!-- ENDIF -->
+ </fieldset>
+
+ <fieldset class="submit-buttons">
+ <legend>{L_SUBMIT}</legend>
+ <input class="button1" type="submit" id="submit" name="update" value="{L_SUBMIT}" />&nbsp;
+ <input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
+ {S_FORM_TOKEN}
+ </fieldset>
+ </form>
+
+<!-- ELSEIF S_LIST -->
+
+ <a href="{U_BACK}" style="float: {S_CONTENT_FLOW_END};">&laquo; {L_BACK}</a>
+
+ <h1>{L_GROUP_MEMBERS} :: {GROUP_NAME}</h1>
+
+ <p>{L_GROUP_MEMBERS_EXPLAIN}</p>
+
+ <form id="list" method="post" action="{U_ACTION}">
+
+ <fieldset class="quick">
+ <a href="{U_DEFAULT_ALL}">&raquo; {L_MAKE_DEFAULT_FOR_ALL}</a>
+ </fieldset>
+
+ <table cellspacing="1">
+ <thead>
+ <tr>
+ <th>{L_USERNAME}</th>
+ <th>{L_GROUP_DEFAULT}</th>
+ <th>{L_JOINED}</th>
+ <th>{L_POSTS}</th>
+ <th>{L_MARK}</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td class="row3" colspan="5"><strong>{L_GROUP_LEAD}</strong></td>
+ </tr>
+ <!-- BEGIN leader -->
+ <!-- IF leader.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
+ <td><!-- IF leader.USERNAME_COLOUR --><a href="{leader.U_USER_EDIT}" style="color: #{leader.USERNAME_COLOUR};" class="username-coloured">{leader.USERNAME}</a><!-- ELSE --><a href="{leader.U_USER_EDIT}">{leader.USERNAME}</a><!-- ENDIF --></td>
+ <td style="text-align: center;"><!-- IF leader.S_GROUP_DEFAULT -->{L_YES}<!-- ELSE -->{L_NO}<!-- ENDIF --></td>
+ <td style="text-align: center;">{leader.JOINED}</td>
+ <td style="text-align: center;">{leader.USER_POSTS}</td>
+ <td style="text-align: center;"><input type="checkbox" class="radio" name="mark[]" value="{leader.USER_ID}" /></td>
+ </tr>
+ <!-- BEGINELSE -->
+ <tr>
+ <td class="row1" colspan="5" style="text-align: center;">{L_GROUPS_NO_MODS}</td>
+ </tr>
+ <!-- END leader -->
+ <tr>
+ <td class="row3" colspan="5"><strong>{L_GROUP_APPROVED}</strong></td>
+ </tr>
+ <!-- BEGIN member -->
+ <!-- IF member.S_PENDING -->
+ <tr>
+ <td class="row3" colspan="5"><strong>{L_GROUP_PENDING}</strong></td>
+ </tr>
+ <!-- ELSE -->
+ <!-- IF member.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
+ <td><!-- IF member.USERNAME_COLOUR --><a href="{member.U_USER_EDIT}" style="color: #{member.USERNAME_COLOUR};" class="username-coloured">{member.USERNAME}</a><!-- ELSE --><a href="{member.U_USER_EDIT}">{member.USERNAME}</a><!-- ENDIF --></td>
+ <td style="text-align: center;"><!-- IF member.S_GROUP_DEFAULT -->{L_YES}<!-- ELSE -->{L_NO}<!-- ENDIF --></td>
+ <td style="text-align: center;">{member.JOINED}</td>
+ <td style="text-align: center;">{member.USER_POSTS}</td>
+ <td style="text-align: center;"><input type="checkbox" class="radio" name="mark[]" value="{member.USER_ID}" /></td>
+ </tr>
+ <!-- ENDIF -->
+ <!-- BEGINELSE -->
+ <tr>
+ <td class="row1" colspan="5" style="text-align: center;">{L_GROUPS_NO_MEMBERS}</td>
+ </tr>
+ <!-- END member -->
+ </tbody>
+ </table>
+ <!-- IF PAGINATION -->
+ <div class="pagination">
+ <a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{S_ON_PAGE}</a> &bull; <span>{PAGINATION}</span>
+ </div>
+ <!-- ENDIF -->
+
+ <fieldset class="quick">
+ <select name="action"><option class="sep" value="">{L_SELECT_OPTION}</option>{S_ACTION_OPTIONS}</select>
+ <input class="button2" type="submit" name="update" value="{L_SUBMIT}" />
+ <p class="small"><a href="#" onclick="marklist('list', 'mark', true); return false;">{L_MARK_ALL}</a> &bull; <a href="#" onclick="marklist('list', 'mark', false); return false;">{L_UNMARK_ALL}</a></p>
+ </fieldset>
+
+ <h1>{L_ADD_USERS}</h1>
+
+ <p>{L_ADD_USERS_EXPLAIN}</p>
+
+ <fieldset>
+ <legend>{L_ADD_USERS}</legend>
+ <dl>
+ <dt><label for="leader">{L_USER_GROUP_LEADER}:</label></dt>
+ <dd><label><input name="leader" type="radio" class="radio" value="1" /> {L_YES}</label>
+ <label><input name="leader" type="radio" class="radio" id="leader" value="0" checked="checked" /> {L_NO}</label></dd>
+ </dl>
+ <dl>
+ <dt><label for="default">{L_USER_GROUP_DEFAULT}:</label><br /><span>{L_USER_GROUP_DEFAULT_EXPLAIN}</span></dt>
+ <dd><label><input name="default" type="radio" class="radio" value="1" /> {L_YES}</label>
+ <label><input name="default" type="radio" class="radio" id="default" value="0" checked="checked" /> {L_NO}</label></dd>
+ </dl>
+ <dl>
+ <dt><label for="usernames">{L_USERNAME}:</label><br /><span>{L_USERNAMES_EXPLAIN}</span></dt>
+ <dd><textarea id="usernames" name="usernames" cols="40" rows="5"></textarea></dd>
+ <dd>[ <a href="{U_FIND_USERNAME}" onclick="find_username(this.href); return false;">{L_FIND_USERNAME}</a> ]</dd>
+ </dl>
+
+ <p class="quick">
+ <input class="button2" type="submit" name="addusers" value="{L_SUBMIT}" />
+ </p>
+ {S_FORM_TOKEN}
+ </fieldset>
+ </form>
+
+<!-- ELSE -->
+
+ <h1>{L_ACP_GROUPS_MANAGE}</h1>
+
+ <p>{L_ACP_GROUPS_MANAGE_EXPLAIN}</p>
+
+ <!-- IF S_ERROR -->
+ <div class="errorbox">
+ <h3>{L_WARNING}</h3>
+ <p>{ERROR_MSG}</p>
+ </div>
+ <!-- ENDIF -->
+
+ <h1>{L_USER_DEF_GROUPS}</h1>
+
+ <p>{L_USER_DEF_GROUPS_EXPLAIN}</p>
+
+ <form id="acp_groups" method="post" action="{U_ACTION}">
+
+ <table cellspacing="1">
+ <col class="col1" /><col class="col1" /><col class="col2" /><col class="col2" /><col class="col2" />
+ <thead>
+ <tr>
+ <th style="width: 50%">{L_GROUP}</th>
+ <th>{L_TOTAL_MEMBERS}</th>
+ <th colspan="2">{L_OPTIONS}</th>
+ <th>{L_ACTION}</th>
+ </tr>
+ </thead>
+ <tbody>
+ <!-- BEGIN groups -->
+ <!-- IF groups.S_SPECIAL -->
+ <!-- IF groups.S_FIRST_ROW -->
+ <tr>
+ <td colspan="5" class="row3">{L_NO_GROUPS_CREATED}</td>
+ </tr>
+ <!-- ENDIF -->
+ </tbody>
+ </table>
+
+ <fieldset class="quick">
+ <!-- IF S_GROUP_ADD -->
+ {L_CREATE_GROUP}: <input type="text" name="group_name" value="" /> <input class="button2" type="submit" name="submit" value="{L_SUBMIT}" />
+ <input type="hidden" name="add" value="1" />
+ <!-- ENDIF -->
+ {S_FORM_TOKEN}
+ </fieldset>
+ </form>
+
+ <h1>{L_SPECIAL_GROUPS}</h1>
+
+ <p>{L_SPECIAL_GROUPS_EXPLAIN}</p>
+
+ <table cellspacing="1">
+ <col class="col1" /><col class="col1" /><col class="col2" /><col class="col2" /><col class="col2" />
+ <thead>
+ <tr>
+ <th style="width: 50%">{L_GROUP}</th>
+ <th>{L_TOTAL_MEMBERS}</th>
+ <th colspan="2">{L_OPTIONS}</th>
+ <th>{L_ACTION}</th>
+ </tr>
+ </thead>
+ <tbody>
+ <!-- ELSE -->
+ <tr>
+ <td><strong>{groups.GROUP_NAME}</strong></td>
+ <td style="text-align: center;">{groups.TOTAL_MEMBERS}</td>
+ <td style="text-align: center;"><a href="{groups.U_EDIT}">{L_SETTINGS}</a></td>
+ <td style="text-align: center;"><a href="{groups.U_LIST}">{L_MEMBERS}</a></td>
+ <td style="text-align: center;"><!-- IF not groups.S_GROUP_SPECIAL and groups.U_DELETE --><a href="{groups.U_DELETE}">{L_DELETE}</a><!-- ELSE -->{L_DELETE}<!-- ENDIF --></td>
+ </tr>
+ <!-- ENDIF -->
+ <!-- END groups -->
+ </tbody>
+ </table>
+
+<!-- ENDIF -->
+
+<!-- INCLUDE overall_footer.html -->
diff --git a/phpBB/adm/style/acp_icons.html b/phpBB/adm/style/acp_icons.html
new file mode 100644
index 0000000000..10166fec35
--- /dev/null
+++ b/phpBB/adm/style/acp_icons.html
@@ -0,0 +1,268 @@
+<!-- INCLUDE overall_header.html -->
+
+<a name="maincontent"></a>
+
+<!-- IF S_EDIT -->
+
+ <script type="text/javascript" defer="defer">
+ // <![CDATA[
+ <!-- IF S_ADD_CODE -->
+
+ var smiley = Array();
+ <!-- BEGIN smile -->
+ smiley['{smile.SMILEY_URL}'] = Array();
+ smiley['{smile.SMILEY_URL}']['code'] = '{smile.CODE}';
+ smiley['{smile.SMILEY_URL}']['emotion'] = '{smile.EMOTION}';
+ smiley['{smile.SMILEY_URL}']['width'] = {smile.WIDTH};
+ smiley['{smile.SMILEY_URL}']['height'] = {smile.HEIGHT};
+ smiley['{smile.SMILEY_URL}']['order'] = {smile.ORDER};
+ <!-- END smile -->
+
+ function update_image(newimage)
+ {
+ var use_element = smiley[newimage];
+
+ document.getElementById('add_image_src').src = '{PHPBB_ROOT_PATH}{IMG_PATH}/' + encodeURI(newimage);
+ document.getElementById('add_code').value = use_element['code'];
+ document.getElementById('add_emotion').value = use_element['emotion'];
+ document.getElementById('add_width').value = use_element['width'];
+ document.getElementById('add_height').value = use_element['height'];
+
+ element = document.getElementById('add_order');
+ for (var i = 0; i < element.length; i++)
+ {
+ if (element.options[i].value == use_element['order'])
+ {
+ document.getElementById('add_order').options.selectedIndex = i;
+ }
+ }
+ }
+
+ <!-- ENDIF -->
+
+
+ function toggle_select(icon, display, select)
+ {
+ var disp = document.getElementById('order_disp_' + select);
+ var nodisp = document.getElementById('order_no_disp_' + select);
+ disp.disabled = !display;
+ nodisp.disabled = display;
+ if (display)
+ {
+ document.getElementById('order_' + select).selectedIndex = 0;
+ nodisp.className = 'disabled-options';
+ disp.className = '';
+ }
+ else
+ {
+ document.getElementById('order_' + select).selectedIndex = {S_ORDER_LIST_DISPLAY_COUNT};
+ disp.className = 'disabled-options';
+ nodisp.className = '';
+ }
+ }
+ // ]]>
+ </script>
+
+ <a href="{U_BACK}" style="float: {S_CONTENT_FLOW_END};">&laquo; {L_BACK}</a>
+
+ <h1>{L_TITLE}</h1>
+
+ <p>{L_EXPLAIN}</p>
+
+ <form id="acp_icons" method="post" action="{U_ACTION}">
+
+ <fieldset class="tabulated">
+ <legend>{L_TITLE}</legend>
+
+ <table cellspacing="1">
+ <thead>
+ <tr>
+ <th colspan="{COLSPAN}">{L_CONFIG}</th>
+ </tr>
+ <!-- IF .items or S_ADD_CODE -->
+ <tr class="row3">
+ <td>{L_URL}</td>
+ <td>{L_LOCATION}</td>
+ <!-- IF S_SMILIES -->
+ <td>{L_SMILIES_CODE}</td>
+ <td>{L_SMILIES_EMOTION}</td>
+ <!-- ENDIF -->
+ <td>{L_WIDTH}</td>
+ <td>{L_HEIGHT}</td>
+ <td>{L_DISPLAY_ON_POSTING}</td>
+ <!-- IF ID or S_ADD -->
+ <td>{L_ORDER}</td>
+ <!-- ENDIF -->
+ <!-- IF S_ADD -->
+ <td>{L_ADD}</td>
+ <!-- ENDIF -->
+ </tr>
+ </thead>
+ <tbody>
+ <!-- BEGIN items -->
+ <!-- IF items.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
+
+ <td style="text-align: center;"><img src="{items.IMG_SRC}" alt="" title="" /><input type="hidden" name="image[{items.IMG}]" value="1" /></td>
+ <td style="vertical-align: top;">[{items.IMG}]</td>
+ <!-- IF S_SMILIES -->
+ <td><input class="text post" type="text" name="code[{items.IMG}]" value="{items.CODE}" size="10" maxlength="50" /></td>
+ <td><input class="text post" type="text" name="emotion[{items.IMG}]" value="{items.EMOTION}" size="10" maxlength="50" /></td>
+ <!-- ENDIF -->
+ <td><input class="text post" type="text" size="3" name="width[{items.IMG}]" value="{items.WIDTH}" /></td>
+ <td><input class="text post" type="text" size="3" name="height[{items.IMG}]" value="{items.HEIGHT}" /></td>
+ <td>
+ <input type="checkbox" class="radio" name="display_on_posting[{items.IMG}]"{items.POSTING_CHECKED} onclick="toggle_select('{items.A_IMG}', this.checked, '{items.S_ROW_COUNT}');"/>
+ <!-- IF items.S_ID -->
+ <input type="hidden" name="id[{items.IMG}]" value="{items.ID}" />
+ <!-- ENDIF -->
+ </td>
+ <!-- IF ID or S_ADD -->
+ <td><select id="order_{items.S_ROW_COUNT}" name="order[{items.IMG}]">
+ <optgroup id="order_disp_{items.S_ROW_COUNT}" label="{L_DISPLAY_POSTING}" <!-- IF not items.POSTING_CHECKED -->disabled="disabled" class="disabled-options" <!-- ENDIF -->>{S_ORDER_LIST_DISPLAY}</optgroup>
+ <optgroup id="order_no_disp_{items.S_ROW_COUNT}" label="{L_DISPLAY_POSTING_NO}" <!-- IF items.POSTING_CHECKED -->disabled="disabled" class="disabled-options" <!-- ENDIF -->>{S_ORDER_LIST_UNDISPLAY}</optgroup>
+ </select></td>
+ <!-- ENDIF -->
+ <!-- IF S_ADD -->
+ <td><input type="checkbox" class="radio" name="add_img[{items.IMG}]" value="1" /></td>
+ <!-- ENDIF -->
+ </tr>
+ <!-- END items -->
+ <!-- IF S_ADD_CODE -->
+ <tr>
+ <th colspan="{COLSPAN}">{L_ADD_SMILEY_CODE}</th>
+ </tr>
+ <tr class="row1">
+ <td style="text-align: center;"><select name="add_image" id="add_image" onchange="update_image(this.options[selectedIndex].value);">{S_IMG_OPTIONS}</select></td>
+ <td style="vertical-align: top;"><img src="{IMG_SRC}" id="add_image_src" alt="" title="" /></td>
+ <td><input class="text post" type="text" name="add_code" id="add_code" value="{CODE}" size="10" maxlength="50" /></td>
+ <td><input class="text post" type="text" name="add_emotion" id="add_emotion" value="{EMOTION}" size="10" maxlength="50" /></td>
+ <td><input class="text post" type="text" size="3" name="add_width" id="add_width" value="{WIDTH}" /></td>
+ <td><input class="text post" type="text" size="3" name="add_height" id="add_height" value="{HEIGHT}" /></td>
+ <td><input type="checkbox" class="radio" name="add_display_on_posting" checked="checked" onclick="toggle_select('add', this.checked, 'add_order');"/></td>
+ <td><select id="add_order" name="add_order">
+ <optgroup id="order_disp[add]" label="{L_DISPLAY_POSTING}">{S_ADD_ORDER_LIST_DISPLAY}</optgroup>
+ <optgroup id="order_no_disp[add]" label="{L_DISPLAY_POSTING_NO}" disabled="disabled" class="disabled-options" >{S_ADD_ORDER_LIST_UNDISPLAY}</optgroup>
+ </select></td>
+ <td><input type="checkbox" class="radio" name="add_additional_code" value="1" /></td>
+ </tr>
+ <!-- ENDIF -->
+ <!-- ELSE -->
+ <tr class="row3">
+ <td colspan="{COLSPAN}">{L_NO_ICONS}</td>
+ </tr>
+ <!-- ENDIF -->
+ </tbody>
+ </table>
+
+ <p class="submit-buttons">
+ <input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />&nbsp;
+ <input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
+ </p>
+ {S_FORM_TOKEN}
+ </fieldset>
+ </form>
+
+<!-- ELSEIF S_CHOOSE_PAK -->
+
+ <a href="{U_BACK}" style="float: {S_CONTENT_FLOW_END};">&laquo; {L_BACK}</a>
+
+ <h1>{L_TITLE}</h1>
+
+ <p>{L_EXPLAIN}</p>
+
+ <form id="acp_icons" method="post" action="{U_ACTION}">
+
+ <fieldset>
+ <legend>{L_IMPORT}</legend>
+
+ <!-- IF not S_PAK_OPTIONS -->
+ <p>{L_NO_PAK_OPTIONS}</p>
+
+ <!-- ELSE -->
+ <dl>
+ <dt><label for="pak">{L_SELECT_PACKAGE}</label></dt>
+ <dd><select id="pak" name="pak">{S_PAK_OPTIONS}</select></dd>
+ </dl>
+ <dt><label for="current">{L_CURRENT}</label><br /><span>{L_CURRENT_EXPLAIN}</span></dt>
+ <dd><label><input type="radio" class="radio" id="current" name="current" value="keep" checked="checked" /> {L_KEEP_ALL}</label>
+ <label><input type="radio" class="radio" name="current" value="replace" /> {L_REPLACE_MATCHES}</label>
+ <label><input type="radio" class="radio" name="current" value="delete" /> {L_DELETE_ALL}</label></dd>
+ </dl>
+
+ <p class="quick">
+ <input class="button1" type="submit" id="import" name="import" value="{L_IMPORT_SUBMIT}" />
+ </p>
+ <!-- ENDIF -->
+ {S_FORM_TOKEN}
+ </fieldset>
+ </form>
+
+<!-- ELSE -->
+
+ <h1>{L_TITLE}</h1>
+
+ <p>{L_EXPLAIN}</p>
+
+ <!-- IF NOTICE -->
+ <div class="successbox">
+ <h3>{L_NOTIFY}</h3>
+ <p>{NOTICE}</p>
+ </div>
+ <!-- ENDIF -->
+
+ <form id="acp_icons" method="post" action="{U_ACTION}">
+
+ <div style="text-align: right;"><a href="{U_IMPORT}">{L_IMPORT}</a> | <a href="{U_EXPORT}">{L_EXPORT}</a></div>
+
+ <fieldset class="tabulated">
+
+ <legend>{L_TITLE}</legend>
+
+ <table cellspacing="1">
+ <thead>
+ <tr>
+ <th>{L_TITLE}</th>
+ <!-- IF S_SMILIES -->
+ <th>{L_CODE}</th>
+ <th>{L_EMOTION}</th>
+ <!-- ENDIF -->
+ <th>{L_OPTIONS}</th>
+ </tr>
+ </thead>
+ <tbody>
+ <!-- BEGIN items -->
+ <!-- IF items.S_SPACER -->
+ <tr>
+ <td class="row3" colspan="{COLSPAN}" style="text-align: center;">{L_NOT_DISPLAYED}</td>
+ </tr>
+ <!-- ENDIF -->
+ <!-- IF items.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
+ <td style="width: 85%; text-align: center;"><img src="{items.IMG_SRC}" width="{items.WIDTH}" height="{items.HEIGHT}" alt="{items.ALT_TEXT}" title="{items.ALT_TEXT}" /></td>
+ <!-- IF S_SMILIES -->
+ <td style="text-align: center;">{items.CODE}</td>
+ <td style="text-align: center;">{items.EMOTION}</td>
+ <!-- ENDIF -->
+ <td style="text-align: right; white-space: nowrap;">
+ <!-- IF items.S_FIRST_ROW and not PREVIOUS_PAGE -->{ICON_MOVE_UP_DISABLED}<!-- ELSE --><a href="{items.U_MOVE_UP}">{ICON_MOVE_UP}</a><!-- ENDIF -->&nbsp;
+ <!-- IF items.S_LAST_ROW and not NEXT_PAGE -->{ICON_MOVE_DOWN_DISABLED}<!-- ELSE --><a href="{items.U_MOVE_DOWN}">{ICON_MOVE_DOWN}</a><!-- ENDIF -->
+ &nbsp;<a href="{items.U_EDIT}">{ICON_EDIT}</a> <a href="{items.U_DELETE}">{ICON_DELETE}</a>
+ </td>
+ </tr>
+ <!-- BEGINELSE -->
+ <tr class="row3">
+ <td colspan="{COLSPAN}">{L_ACP_NO_ITEMS}</td>
+ </tr>
+ <!-- END items -->
+ </tbody>
+ </table>
+ <div>{PAGINATION}</div>
+ <p class="quick">
+ <input class="button2" name="add" type="submit" value="{L_ICON_ADD}" />&nbsp; &nbsp;<input class="button2" type="submit" name="edit" value="{L_ICON_EDIT}" />
+ </p>
+ {S_FORM_TOKEN}
+ </fieldset>
+ </form>
+
+<!-- ENDIF -->
+
+<!-- INCLUDE overall_footer.html -->
diff --git a/phpBB/adm/style/acp_inactive.html b/phpBB/adm/style/acp_inactive.html
new file mode 100644
index 0000000000..3b20043dd9
--- /dev/null
+++ b/phpBB/adm/style/acp_inactive.html
@@ -0,0 +1,77 @@
+<!-- INCLUDE overall_header.html -->
+
+<a name="maincontent"></a>
+
+<h2>{L_INACTIVE_USERS}</h2>
+
+<p>{L_INACTIVE_USERS_EXPLAIN}</p>
+
+<form id="inactive" method="post" action="{U_ACTION}">
+
+<div class="clearfix"></div>
+
+<!-- IF PAGINATION -->
+<div class="pagination">
+ <a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{S_ON_PAGE}</a> &bull; <span>{PAGINATION}</span>
+</div>
+<!-- ENDIF -->
+
+<table cellspacing="1">
+<thead>
+<tr>
+ <th>{L_USERNAME}</th>
+ <th>{L_JOINED}</th>
+ <th>{L_INACTIVE_DATE}</th>
+ <th>{L_LAST_VISIT}</th>
+ <th>{L_INACTIVE_REASON}</th>
+ <th>{L_MARK}</th>
+</tr>
+</thead>
+<tbody>
+<!-- BEGIN inactive -->
+ <!-- IF inactive.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
+
+ <td style="vertical-align: top;">
+ {inactive.USERNAME_FULL}
+ <!-- IF inactive.POSTS --><br />{L_POSTS}: <strong>{inactive.POSTS}</strong> [<a href="{inactive.U_SEARCH_USER}">{L_SEARCH_USER_POSTS}</a>]<!-- ENDIF -->
+ </td>
+ <td style="vertical-align: top;">{inactive.JOINED}</td>
+ <td style="vertical-align: top;">{inactive.INACTIVE_DATE}</td>
+ <td style="vertical-align: top;">{inactive.LAST_VISIT}</td>
+ <td style="vertical-align: top;">
+ {inactive.REASON}
+ <!-- IF inactive.REMINDED --><br />{inactive.REMINDED_EXPLAIN}<!-- ENDIF -->
+ </td>
+ <td>&nbsp;<input type="checkbox" class="radio" name="mark[]" value="{inactive.USER_ID}" />&nbsp;</td>
+ </tr>
+<!-- BEGINELSE -->
+ <tr>
+ <td colspan="6" style="text-align: center;">{L_NO_INACTIVE_USERS}</td>
+ </tr>
+<!-- END inactive -->
+</tbody>
+</table>
+
+<fieldset class="display-options">
+ {L_DISPLAY_LOG}: &nbsp;{S_LIMIT_DAYS}&nbsp;{L_SORT_BY}: {S_SORT_KEY} {S_SORT_DIR}<!-- IF PAGINATION -->&nbsp;Users per page: <input class="inputbox autowidth" type="text" name="users_per_page" id="users_per_page" size="3" value="{USERS_PER_PAGE}" /><!-- ENDIF -->
+ <input class="button2" type="submit" value="{L_GO}" name="sort" />
+</fieldset>
+
+<hr />
+
+<!-- IF PAGINATION -->
+ <div class="pagination">
+ <a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{S_ON_PAGE}</a> &bull; <span>{PAGINATION}</span>
+ </div>
+<!-- ENDIF -->
+
+<fieldset class="quick">
+ <select name="action">{S_INACTIVE_OPTIONS}</select>
+ <input class="button2" type="submit" name="submit" value="{L_SUBMIT}" />
+ <p class="small"><a href="#" onclick="marklist('inactive', 'mark', true); return false;">{L_MARK_ALL}</a> &bull; <a href="#" onclick="marklist('inactive', 'mark', false); return false;">{L_UNMARK_ALL}</a></p>
+ {S_FORM_TOKEN}
+</fieldset>
+
+</form>
+
+<!-- INCLUDE overall_footer.html --> \ No newline at end of file
diff --git a/phpBB/adm/style/acp_jabber.html b/phpBB/adm/style/acp_jabber.html
new file mode 100644
index 0000000000..2cc715493a
--- /dev/null
+++ b/phpBB/adm/style/acp_jabber.html
@@ -0,0 +1,65 @@
+<!-- INCLUDE overall_header.html -->
+
+<a name="maincontent"></a>
+
+<h1>{L_ACP_JABBER_SETTINGS}</h1>
+
+<p>{L_ACP_JABBER_SETTINGS_EXPLAIN}</p>
+
+<!-- IF S_WARNING -->
+ <div class="errorbox">
+ <h3>{L_WARNING}</h3>
+ <p>{WARNING_MSG}</p>
+ </div>
+<!-- ENDIF -->
+
+<form id="acp_jabber" method="post" action="{U_ACTION}">
+
+<fieldset>
+ <legend>{L_ACP_JABBER_SETTINGS}</legend>
+<!-- IF S_GTALK_NOTE -->
+ <p>{L_JAB_GTALK_NOTE}</p>
+<!-- ENDIF -->
+<dl>
+ <dt><label for="jab_enable">{L_JAB_ENABLE}:</label><br /><span>{L_JAB_ENABLE_EXPLAIN}</span></dt>
+ <dd><label><input type="radio" class="radio" id="jab_enable" name="jab_enable" value="1"<!-- IF JAB_ENABLE --> checked="checked"<!-- ENDIF --> /> {L_ENABLED}</label>
+ <label><input type="radio" class="radio" name="jab_enable" value="0"<!-- IF not JAB_ENABLE --> checked="checked"<!-- ENDIF --> /> {L_DISABLED}</label></dd>
+</dl>
+<dl>
+ <dt><label for="jab_host">{L_JAB_SERVER}:</label><br /><span>{L_JAB_SERVER_EXPLAIN}</span></dt>
+ <dd><input type="text" id="jab_host" name="jab_host" value="{JAB_HOST}" /></dd>
+</dl>
+<dl>
+ <dt><label for="jab_port">{L_JAB_PORT}:</label><br /><span>{L_JAB_PORT_EXPLAIN}</span></dt>
+ <dd><input type="text" id="jab_port" name="jab_port" value="{JAB_PORT}" maxlength="5" size="5" /></dd>
+</dl>
+<dl>
+ <dt><label for="jab_username">{L_JAB_USERNAME}:</label><br /><span>{L_JAB_USERNAME_EXPLAIN}</span></dt>
+ <dd><input type="text" id="jab_username" name="jab_username" value="{JAB_USERNAME}" /></dd>
+</dl>
+<dl>
+ <dt><label for="jab_password">{L_JAB_PASSWORD}:</label></dt>
+ <dd><input type="password" id="jab_password" name="jab_password" value="{JAB_PASSWORD}" /></dd>
+</dl>
+<!-- IF S_CAN_USE_SSL -->
+<dl>
+ <dt><label for="jab_use_ssl">{L_JAB_USE_SSL}:</label><br /><span>{L_JAB_USE_SSL_EXPLAIN}</span></dt>
+ <dd><label><input type="radio" class="radio" id="jab_use_ssl" name="jab_use_ssl" value="1"<!-- IF JAB_USE_SSL --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
+ <label><input type="radio" class="radio" name="jab_use_ssl" value="0"<!-- IF not JAB_USE_SSL --> checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
+</dl>
+<!-- ENDIF -->
+<dl>
+ <dt><label for="jab_package_size">{L_JAB_PACKAGE_SIZE}:</label><br /><span>{L_JAB_PACKAGE_SIZE_EXPLAIN}</span></dt>
+ <dd><input type="text" id="jab_package_size" name="jab_package_size" value="{JAB_PACKAGE_SIZE}" maxlength="5" size="5" /></dd>
+</dl>
+
+</fieldset>
+
+<fieldset class="submit-buttons">
+ <input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />&nbsp;
+ <input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
+ {S_FORM_TOKEN}
+</fieldset>
+</form>
+
+<!-- INCLUDE overall_footer.html -->
diff --git a/phpBB/adm/style/acp_language.html b/phpBB/adm/style/acp_language.html
new file mode 100644
index 0000000000..95ac1d5852
--- /dev/null
+++ b/phpBB/adm/style/acp_language.html
@@ -0,0 +1,255 @@
+<!-- INCLUDE overall_header.html -->
+
+<a name="maincontent"></a>
+
+<!-- IF S_SELECT_METHOD -->
+
+ <a href="{U_BACK}" style="float: {S_CONTENT_FLOW_END};">&laquo; {L_BACK}</a>
+
+ <h1>{L_SELECT_DOWNLOAD_FORMAT}</h1>
+
+ <form id="selectmethod" method="post" action="{U_ACTION}">
+
+ <fieldset>
+ <legend>{L_DOWNLOAD_AS}</legend>
+ <dl>
+ <dt><label for="use_method">{L_DOWNLOAD_AS}:</label></dt>
+ <dd>{RADIO_BUTTONS}</dd>
+ </dl>
+
+ <p class="quick">
+ <input type="submit" class="button2" value="{L_DOWNLOAD}" name="download" />
+ </p>
+ </fieldset>
+
+ </form>
+
+<!-- ELSEIF S_DETAILS -->
+
+ <a href="{U_BACK}" style="float: {S_CONTENT_FLOW_END};">&laquo; {L_BACK}</a>
+
+ <h1>{L_LANGUAGE_PACK_DETAILS}</h1>
+
+ <form id="details" method="post" action="{U_ACTION}">
+
+ <fieldset>
+ <legend>{LANG_LOCAL_NAME}</legend>
+ <dl>
+ <dt><label for="lang_english_name">{L_LANG_ENGLISH_NAME}:</label></dt>
+ <dd><input type="text" id="lang_english_name" name="lang_english_name" value="{LANG_ENGLISH_NAME}" maxlength="100" /></dd>
+ </dl>
+ <dl>
+ <dt><label for="lang_local_name">{L_LANG_LOCAL_NAME}:</label></dt>
+ <dd><input type="text" id="lang_local_name" name="lang_local_name" value="{LANG_LOCAL_NAME}" maxlength="255" /></dd>
+ </dl>
+ <dl>
+ <dt><label>{L_LANG_ISO_CODE}:</label></dt>
+ <dd><strong>{LANG_ISO}</strong></dd>
+ </dl>
+ <dl>
+ <dt><label for="lang_author">{L_LANG_AUTHOR}:</label></dt>
+ <dd><input type="text" id="lang_author" name="lang_author" value="{LANG_AUTHOR}" maxlength="255" /></dd>
+ </dl>
+
+ <p class="quick" style="margin-top: -15px;">
+ <input type="submit" name="update_details" class="button2" value="{L_SUBMIT}" />
+ </p>
+ {S_FORM_TOKEN}
+ </fieldset>
+ </form>
+
+ <br /><br />
+
+ <!-- IF S_MISSING_FILES -->
+ <div class="errorbox">
+ <h3>{L_MISSING_FILES}</h3>
+ <p>{MISSING_FILES}</p>
+ </div>
+ <br /><br />
+ <!-- ENDIF -->
+
+ <!-- IF S_MISSING_VARS -->
+ <h1>{L_MISSING_LANG_VARIABLES}</h1>
+
+ <p>{L_MISSING_VARS_EXPLAIN}</p>
+
+ <form id="missing" method="post" action="{U_MISSING_ACTION}">
+
+ <table cellspacing="1">
+ <thead>
+ <tr>
+ <th>{L_LANGUAGE_KEY}</th>
+ <th>{L_LANGUAGE_VARIABLE}</th>
+ </tr>
+ </thead>
+ <tbody>
+ <!-- BEGIN missing -->
+ <tr class="row4">
+ <td><strong>{missing.FILE}</strong></td>
+ <td style="text-align: right;"><input type="submit" name="missing_file[{missing.KEY}]" value="{L_SELECT}" class="button2" /></td>
+ </tr>
+ {missing.TPL}
+ <!-- END missing -->
+ </tbody>
+ </table>
+ <div>{S_FORM_TOKEN}</div>
+ </form>
+
+ <br /><br />
+ <!-- ENDIF -->
+
+ <a name="entries"></a>
+
+ <h1>{L_LANGUAGE_ENTRIES}</h1>
+
+ <p>{L_LANGUAGE_ENTRIES_EXPLAIN}</p>
+
+ <form id="lang_entries" method="post" action="{U_ENTRY_ACTION}">
+
+ <!-- IF S_FROM_STORE -->
+ <fieldset class="quick" style="float: {S_CONTENT_FLOW_BEGIN};">
+ <input type="submit" name="remove_store" value="{L_REMOVE_FROM_STORAGE_FOLDER}" class="button2" />
+ </fieldset>
+ <!-- ENDIF -->
+
+ <fieldset class="quick" style="float: {S_CONTENT_FLOW_END};">
+ <select name="language_file">{S_LANG_OPTIONS}</select>&nbsp;<input type="submit" class="button2" name="change" value="{L_SELECT}" />
+ </fieldset>
+
+ <p>&nbsp;<br />&nbsp;</p>
+
+
+ <!--[if lt IE 8]>
+ <style type="text/css">
+ /* <![CDATA[ */
+ input.langvalue, textarea.langvalue {
+ width: 450px;
+ }
+ /* ]]> */
+ </style>
+ <![endif]-->
+
+ <table cellspacing="1">
+ <thead>
+ <!-- IF S_EMAIL_FILE -->
+ <tr>
+ <th colspan="2">{L_FILE_CONTENTS}</th>
+ </tr>
+ <!-- ELSE -->
+ <tr>
+ <th>{L_LANGUAGE_KEY}</th>
+ <th>{L_LANGUAGE_VARIABLE}</th>
+ </tr>
+ <!-- ENDIF -->
+ <tr>
+ <td rowspan="2" class="row3"><strong>{PRINT_MESSAGE}<!-- IF S_FROM_STORE --><br /><span style="color: red;">{L_FILE_FROM_STORAGE}</span><!-- ENDIF --></strong></td>
+ <td class="row3" style="text-align: right;"><input type="submit" name="download_file" class="button2" value="{L_SUBMIT_AND_DOWNLOAD}" />&nbsp;&nbsp;<input type="submit" name="submit_file" class="button2" value="{L_SUBMIT}" /></td>
+ </tr>
+ <tr>
+ <td class="row3" style="text-align: right;">
+ <!-- IF ALLOW_UPLOAD -->&nbsp;&nbsp;{L_UPLOAD_METHOD}:&nbsp;<!-- BEGIN buttons--><input type="radio" class="radio"<!-- IF buttons.S_FIRST_ROW --> id="method" checked="checked"<!-- ENDIF --> value="{buttons.VALUE}" name="method" />&nbsp;{buttons.VALUE}&nbsp;<!-- END buttons --><input type="submit" name="upload_file" class="button2" value="{L_SUBMIT_AND_UPLOAD}" /><!-- ENDIF --></td>
+ </tr>
+ </thead>
+ <tbody>
+ <!-- IF S_EMAIL_FILE -->
+ <tr>
+ <td class="row2" colspan="2" style="text-align: center;"><textarea name="entry" id="entry" cols="80" rows="20">{LANG}</textarea></td>
+ </tr>
+ <!-- ELSE -->
+ {TPL}
+ <!-- ENDIF -->
+ <tr>
+ <td class="row3" colspan="3" style="text-align: right;">{S_FORM_TOKEN}<input type="submit" name="download_file" class="button2" value="{L_SUBMIT_AND_DOWNLOAD}" />&nbsp;&nbsp;<input type="submit" name="submit_file" class="button2" value="{L_SUBMIT}" /></td>
+ </tr>
+ </tbody>
+ </table>
+ </form>
+
+<!-- ELSEIF S_UPLOAD -->
+
+ <a href="{U_BACK}" style="float: {S_CONTENT_FLOW_END};">&laquo; {L_BACK}</a>
+
+ <h1>{L_UPLOAD_SETTINGS}</h1>
+
+ <form id="upload" method="post" action="{U_ACTION}">
+
+ <!-- IF S_CONNECTION_SUCCESS -->
+ <div class="successbox">
+ <p>{L_CONNECTION_SUCCESS}</p>
+ </div>
+ <!-- ELSEIF S_CONNECTION_FAILED -->
+ <div class="errorbox">
+ <p>{L_CONNECTION_FAILED}</p>
+ </div>
+ <!-- ENDIF -->
+
+ <fieldset>
+ <legend>{L_UPLOAD_SETTINGS}</legend>
+ <dl>
+ <dt><label>{L_UPLOAD_METHOD}:</label></dt>
+ <dd><strong>{NAME}</strong></dd>
+ </dl>
+ <!-- BEGIN data -->
+ <dl>
+ <dt><label for="{data.DATA}">{data.NAME}:</label><br /><span>{data.EXPLAIN}</span></dt>
+ <dd><input type="<!-- IF data.DATA == 'password' -->password<!-- ELSE -->text<!-- ENDIF -->" id="{data.DATA}" name="{data.DATA}" value="{data.DEFAULT}" /></dd>
+ </dl>
+ <!-- END data -->
+ </fieldset>
+
+ <fieldset class="quick">
+ {HIDDEN}
+ {S_FORM_TOKEN}
+ <input class="button1" type="submit" name="update" value="{L_SUBMIT}" />
+ <input class="button1" type="submit" name="test_connection" value="{L_TEST_CONNECTION}" />
+ </fieldset>
+ </form>
+
+<!-- ELSE -->
+
+ <h1>{L_ACP_LANGUAGE_PACKS}</h1>
+
+ <p>{L_ACP_LANGUAGE_PACKS_EXPLAIN}</p>
+
+ <table cellspacing="1">
+ <thead>
+ <tr>
+ <th>{L_LANGUAGE_PACK_NAME}</th>
+ <th>{L_LANGUAGE_PACK_LOCALNAME}</th>
+ <th>{L_LANGUAGE_PACK_ISO}</th>
+ <th>{L_LANGUAGE_PACK_USED_BY}</th>
+ <th>{L_OPTIONS}</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td class="row3" colspan="5"><strong>{L_INSTALLED_LANGUAGE_PACKS}</strong></td>
+ </tr>
+ <!-- BEGIN lang -->
+ <!-- IF lang.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
+ <td><a href="{lang.U_DETAILS}">{lang.ENGLISH_NAME}</a> {lang.TAG}</td>
+ <td>{lang.LOCAL_NAME}</td>
+ <td style="text-align: center;"><strong>{lang.ISO}</strong></td>
+ <td style="text-align: center;">{lang.USED_BY}</td>
+ <td style="text-align: center;">&nbsp;<a href="{lang.U_DOWNLOAD}">{L_DOWNLOAD}</a>&nbsp;|&nbsp;<a href="{lang.U_DELETE}">{L_DELETE}</a></td>
+ </tr>
+ <!-- END lang -->
+ <!-- IF .notinst -->
+ <tr>
+ <td class="row3" colspan="5"><strong>{L_UNINSTALLED_LANGUAGE_PACKS}</strong></td>
+ </tr>
+ <!-- ENDIF -->
+ <!-- BEGIN notinst -->
+ <!-- IF notinst.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
+ <td>{notinst.NAME}</td>
+ <td>{notinst.LOCAL_NAME}</td>
+ <td style="text-align: center;"><strong>{notinst.ISO}</strong></td>
+ <td colspan="2" style="text-align: center;"><a href="{notinst.U_INSTALL}">{L_INSTALL}</a></td>
+ </tr>
+ <!-- END notinst -->
+ </tbody>
+ </table>
+
+<!-- ENDIF -->
+
+<!-- INCLUDE overall_footer.html -->
diff --git a/phpBB/adm/style/acp_logs.html b/phpBB/adm/style/acp_logs.html
new file mode 100644
index 0000000000..f2fa5dbc26
--- /dev/null
+++ b/phpBB/adm/style/acp_logs.html
@@ -0,0 +1,93 @@
+<!-- INCLUDE overall_header.html -->
+
+<a name="maincontent"></a>
+
+<h1>{L_TITLE}</h1>
+
+<p>{L_EXPLAIN}</p>
+
+<form id="list" method="post" action="{U_ACTION}">
+
+<fieldset class="display-options" style="float: left">
+ {L_SEARCH_KEYWORDS}: <input type="text" name="keywords" value="{S_KEYWORDS}" />&nbsp;<input type="submit" class="button2" name="filter" value="{L_SEARCH}" />
+</fieldset>
+
+<!-- IF PAGINATION -->
+<div class="pagination" style="float: right; margin: 15px 0 2px 0">
+ <a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{S_ON_PAGE}</a> &bull; <span>{PAGINATION}</span>
+</div>
+<!-- ENDIF -->
+
+<div class="clearfix">&nbsp;</div>
+<div><br style="clear: both;" /></div>
+
+<!-- IF .log -->
+ <table cellspacing="1">
+ <thead>
+ <tr>
+ <th>{L_USERNAME}</th>
+ <th>{L_IP}</th>
+ <th>{L_TIME}</th>
+ <th>{L_ACTION}</th>
+ <!-- IF S_CLEARLOGS -->
+ <th>{L_MARK}</th>
+ <!-- ENDIF -->
+ </tr>
+ </thead>
+ <tbody>
+ <!-- BEGIN log -->
+ <!-- IF log.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
+ <td>
+ {log.USERNAME}
+ <!-- IF log.REPORTEE_USERNAME -->
+ <br />&raquo; {log.REPORTEE_USERNAME}
+ <!-- ENDIF -->
+ </td>
+ <td style="text-align: center;">{log.IP}</td>
+ <td style="text-align: center;">{log.DATE}</td>
+ <td>{log.ACTION}<!-- IF log.DATA --><br /><span>{log.DATA}</span><!-- ENDIF --></td>
+ <!-- IF S_CLEARLOGS -->
+ <td style="text-align: center;"><input type="checkbox" class="radio" name="mark[]" value="{log.ID}" /></td>
+ <!-- ENDIF -->
+ </tr>
+ <!-- END log -->
+ </tbody>
+ </table>
+
+<!-- IF PAGINATION -->
+ <div class="pagination">
+ <a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{S_ON_PAGE}</a> &bull; <span>{PAGINATION}</span>
+ </div>
+<!-- ENDIF -->
+
+<!-- ELSE -->
+ <div class="errorbox">
+ <p>{L_NO_ENTRIES}</p>
+ </div>
+<!-- ENDIF -->
+
+<fieldset class="display-options">
+ {L_DISPLAY_LOG}: &nbsp;{S_LIMIT_DAYS}&nbsp;{L_SORT_BY}: {S_SORT_KEY} {S_SORT_DIR}
+ <input class="button2" type="submit" value="{L_GO}" name="sort" />
+ {S_FORM_TOKEN}
+</fieldset>
+<hr />
+
+<!-- IF S_SHOW_FORUMS -->
+ <fieldset class="quick">
+ {L_SELECT_FORUM}: <select name="f" onchange="if(this.options[this.selectedIndex].value != -1){ this.form.submit(); }">{S_FORUM_BOX}</select>
+ <input class="button2" type="submit" value="{L_GO}" />
+ </fieldset>
+<!-- ENDIF -->
+
+<!-- IF .log and S_CLEARLOGS -->
+ <fieldset class="quick">
+ <input class="button2" type="submit" name="delall" value="{L_DELETE_ALL}" />&nbsp;
+ <input class="button2" type="submit" name="delmarked" value="{L_DELETE_MARKED}" /><br />
+ <p class="small"><a href="#" onclick="marklist('list', 'mark', true); return false;">{L_MARK_ALL}</a> &bull; <a href="#" onclick="marklist('list', 'mark', false); return false;">{L_UNMARK_ALL}</a></p>
+ </fieldset>
+<!-- ENDIF -->
+
+</form>
+
+<!-- INCLUDE overall_footer.html -->
diff --git a/phpBB/adm/style/acp_main.html b/phpBB/adm/style/acp_main.html
new file mode 100644
index 0000000000..46d65df7a2
--- /dev/null
+++ b/phpBB/adm/style/acp_main.html
@@ -0,0 +1,249 @@
+<!-- INCLUDE overall_header.html -->
+
+<a name="maincontent"></a>
+
+<!-- IF S_RESTORE_PERMISSIONS -->
+
+ <h1>{L_PERMISSIONS_TRANSFERRED}</h1>
+
+ <p>{L_PERMISSIONS_TRANSFERRED_EXPLAIN}</p>
+
+<!-- ELSE -->
+
+ <h1>{L_WELCOME_PHPBB}</h1>
+
+ <p>{L_ADMIN_INTRO}</p>
+
+ <!-- IF S_VERSIONCHECK_FAIL -->
+ <div class="errorbox notice">
+ <p>{L_VERSIONCHECK_FAIL}</p>
+ <p><a href="{U_VERSIONCHECK_FORCE}">{L_VERSIONCHECK_FORCE_UPDATE}</a> &middot; <a href="{U_VERSIONCHECK}">{L_MORE_INFORMATION}</a></p>
+ </div>
+ <!-- ELSEIF not S_VERSION_UP_TO_DATE -->
+ <div class="errorbox">
+ <p>{L_VERSION_NOT_UP_TO_DATE_TITLE}</p>
+ <p><a href="{U_VERSIONCHECK_FORCE}">{L_VERSIONCHECK_FORCE_UPDATE}</a> &middot; <a href="{U_VERSIONCHECK}">{L_MORE_INFORMATION}</a></p>
+ </div>
+ <!-- ENDIF -->
+
+
+ <!-- IF S_REMOVE_INSTALL -->
+ <div class="errorbox">
+ <h3>{L_WARNING}</h3>
+ <p>{L_REMOVE_INSTALL}</p>
+ </div>
+ <!-- ENDIF -->
+
+ <!-- IF S_WRITABLE_CONFIG -->
+ <div class="errorbox notice">
+ <p>{L_WRITABLE_CONFIG}</p>
+ </div>
+ <!-- ENDIF -->
+
+ <table cellspacing="1">
+ <caption>{L_FORUM_STATS}</caption>
+ <col class="col1" /><col class="col2" /><col class="col1" /><col class="col2" />
+ <thead>
+ <tr>
+ <th>{L_STATISTIC}</th>
+ <th>{L_VALUE}</th>
+ <th>{L_STATISTIC}</th>
+ <th>{L_VALUE}</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>{L_NUMBER_POSTS}: </td>
+ <td><strong>{TOTAL_POSTS}</strong></td>
+ <td>{L_POSTS_PER_DAY}: </td>
+ <td><strong>{POSTS_PER_DAY}</strong></td>
+ </tr>
+ <tr>
+ <td>{L_NUMBER_TOPICS}: </td>
+ <td><strong>{TOTAL_TOPICS}</strong></td>
+ <td>{L_TOPICS_PER_DAY}: </td>
+ <td><strong>{TOPICS_PER_DAY}</strong></td>
+ </tr>
+ <tr>
+ <td>{L_NUMBER_USERS}: </td>
+ <td><strong>{TOTAL_USERS}</strong></td>
+ <td>{L_USERS_PER_DAY}: </td>
+ <td><strong>{USERS_PER_DAY}</strong></td>
+ </tr>
+ <tr>
+ <td>{L_NUMBER_FILES}: </td>
+ <td><strong>{TOTAL_FILES}</strong></td>
+ <td>{L_FILES_PER_DAY}: </td>
+ <td><strong>{FILES_PER_DAY}</strong></td>
+ </tr>
+
+
+ <tr>
+ <td>{L_BOARD_STARTED}: </td>
+ <td><strong>{START_DATE}</strong></td>
+ <td>{L_AVATAR_DIR_SIZE}: </td>
+ <td><strong>{AVATAR_DIR_SIZE}</strong></td>
+ </tr>
+ <tr>
+ <td>{L_DATABASE_SIZE}: </td>
+ <td><strong>{DBSIZE}</strong></td>
+ <td>{L_UPLOAD_DIR_SIZE}: </td>
+ <td><strong>{UPLOAD_DIR_SIZE}</strong></td>
+ </tr>
+ <tr>
+ <td>{L_DATABASE_SERVER_INFO}: </td>
+ <td><strong>{DATABASE_INFO}</strong></td>
+ <td>{L_GZIP_COMPRESSION}: </td>
+ <td><strong>{GZIP_COMPRESSION}</strong></td>
+ </tr>
+ <tr>
+ <td>{L_BOARD_VERSION}: </td>
+ <td>
+ <strong><a href="{U_VERSIONCHECK}" <!-- IF S_VERSION_UP_TO_DATE -->style="color: #228822;"<!-- ELSE -->style="color: #BC2A4D;"<!-- ENDIF --> title="{L_MORE_INFORMATION}">{BOARD_VERSION}</a></strong> [&nbsp;<a href="{U_VERSIONCHECK_FORCE}">{L_VERSIONCHECK_FORCE_UPDATE}</a>&nbsp;]
+ </td>
+ <!-- IF S_TOTAL_ORPHAN -->
+ <td>{L_NUMBER_ORPHAN}: </td>
+ <td><strong>{TOTAL_ORPHAN}</strong></td>
+ <!-- ELSE -->
+ <td>&nbsp;</td>
+ <td>&nbsp;</td>
+ <!-- ENDIF -->
+ </tr>
+ </tbody>
+ </table>
+
+ <!-- IF S_ACTION_OPTIONS -->
+ <fieldset>
+ <legend>{L_STATISTIC_RESYNC_OPTIONS}</legend>
+
+ <form id="action_online_form" method="post" action="{U_ACTION}">
+ <dl>
+ <dt><label for="action_online">{L_RESET_ONLINE}</label><br /><span>&nbsp;</span></dt>
+ <dd><input type="hidden" name="action" value="online" /><input class="button2" type="submit" id="action_online" name="action_online" value="{L_RUN}" /></dd>
+ </dl>
+ </form>
+
+ <form id="action_date_form" method="post" action="{U_ACTION}">
+ <dl>
+ <dt><label for="action_date">{L_RESET_DATE}</label><br /><span>&nbsp;</span></dt>
+ <dd><input type="hidden" name="action" value="date" /><input class="button2" type="submit" id="action_date" name="action_date" value="{L_RUN}" /></dd>
+ </dl>
+ </form>
+
+ <form id="action_stats_form" method="post" action="{U_ACTION}">
+ <dl>
+ <dt><label for="action_stats">{L_RESYNC_STATS}</label><br /><span>{L_RESYNC_STATS_EXPLAIN}</span></dt>
+ <dd><input type="hidden" name="action" value="stats" /><input class="button2" type="submit" id="action_stats" name="action_stats" value="{L_RUN}" /></dd>
+ </dl>
+ </form>
+
+ <form id="action_user_form" method="post" action="{U_ACTION}">
+ <dl>
+ <dt><label for="action_user">{L_RESYNC_POSTCOUNTS}</label><br /><span>{L_RESYNC_POSTCOUNTS_EXPLAIN}</span></dt>
+ <dd><input type="hidden" name="action" value="user" /><input class="button2" type="submit" id="action_user" name="action_user" value="{L_RUN}" /></dd>
+ </dl>
+ </form>
+
+ <form id="action_db_track_form" method="post" action="{U_ACTION}">
+ <dl>
+ <dt><label for="action_db_track">{L_RESYNC_POST_MARKING}</label><br /><span>{L_RESYNC_POST_MARKING_EXPLAIN}</span></dt>
+ <dd><input type="hidden" name="action" value="db_track" /><input class="button2" type="submit" id="action_db_track" name="action_db_track" value="{L_RUN}" /></dd>
+ </dl>
+ </form>
+
+ <!-- IF S_FOUNDER -->
+ <form id="action_purge_sessions_form" method="post" action="{U_ACTION}">
+ <dl>
+ <dt><label for="action_purge_sessions">{L_PURGE_SESSIONS}</label><br /><span>{L_PURGE_SESSIONS_EXPLAIN}</span></dt>
+ <dd><input type="hidden" name="action" value="purge_sessions" /><input class="button2" type="submit" id="action_purge_sessions" name="action_purge_sessions" value="{L_RUN}" /></dd>
+ </dl>
+ </form>
+ <form id="action_purge_cache_form" method="post" action="{U_ACTION}">
+ <dl>
+ <dt><label for="action_purge_cache">{L_PURGE_CACHE}</label><br /><span>{L_PURGE_CACHE_EXPLAIN}</span></dt>
+ <dd><input type="hidden" name="action" value="purge_cache" /><input class="button2" type="submit" id="action_purge_cache" name="action_purge_cache" value="{L_RUN}" /></dd>
+ </dl>
+ </form>
+ <!-- ENDIF -->
+ </fieldset>
+ <!-- ENDIF -->
+
+ <!-- IF .log -->
+ <h2>{L_ADMIN_LOG}</h2>
+
+ <p>{L_ADMIN_LOG_INDEX_EXPLAIN}</p>
+
+ <div style="text-align: right;"><a href="{U_ADMIN_LOG}">&raquo; {L_VIEW_ADMIN_LOG}</a></div>
+
+ <table cellspacing="1">
+ <thead>
+ <tr>
+ <th>{L_USERNAME}</th>
+ <th>{L_IP}</th>
+ <th>{L_TIME}</th>
+ <th>{L_ACTION}</th>
+ </tr>
+ </thead>
+ <tbody>
+ <!-- BEGIN log -->
+ <!-- IF log.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
+
+ <td>{log.USERNAME}</td>
+ <td style="text-align: center;">{log.IP}</td>
+ <td style="text-align: center;">{log.DATE}</td>
+ <td>{log.ACTION}</td>
+ </tr>
+ <!-- END log -->
+ </tbody>
+ </table>
+
+ <br />
+
+ <!-- ENDIF -->
+
+ <!-- IF S_INACTIVE_USERS -->
+ <h2>{L_INACTIVE_USERS}</h2>
+
+ <p>{L_INACTIVE_USERS_EXPLAIN_INDEX}</p>
+
+ <div style="text-align: right;"><a href="{U_INACTIVE_USERS}">&raquo; {L_VIEW_INACTIVE_USERS}</a></div>
+
+ <table cellspacing="1">
+ <thead>
+ <tr>
+ <th>{L_USERNAME}</th>
+ <th>{L_JOINED}</th>
+ <th>{L_INACTIVE_DATE}</th>
+ <th>{L_LAST_VISIT}</th>
+ <th>{L_INACTIVE_REASON}</th>
+ </tr>
+ </thead>
+ <tbody>
+ <!-- BEGIN inactive -->
+ <!-- IF inactive.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
+
+ <td style="vertical-align: top;">
+ {inactive.USERNAME_FULL}
+ <!-- IF inactive.POSTS --><br />{L_POSTS}: <strong>{inactive.POSTS}</strong> [<a href="{inactive.U_SEARCH_USER}">{L_SEARCH_USER_POSTS}</a>]<!-- ENDIF -->
+ </td>
+ <td style="vertical-align: top;">{inactive.JOINED}</td>
+ <td style="vertical-align: top;">{inactive.INACTIVE_DATE}</td>
+ <td style="vertical-align: top;">{inactive.LAST_VISIT}</td>
+ <td style="vertical-align: top;">
+ {inactive.REASON}
+ <!-- IF inactive.REMINDED --><br />{inactive.REMINDED_EXPLAIN}<!-- ENDIF -->
+ </td>
+ </tr>
+ <!-- BEGINELSE -->
+ <tr>
+ <td colspan="5" style="text-align: center;">{L_NO_INACTIVE_USERS}</td>
+ </tr>
+ <!-- END inactive -->
+ </tbody>
+ </table>
+
+ <!-- ENDIF -->
+
+<!-- ENDIF -->
+
+<!-- INCLUDE overall_footer.html --> \ No newline at end of file
diff --git a/phpBB/adm/style/acp_modules.html b/phpBB/adm/style/acp_modules.html
new file mode 100644
index 0000000000..5396e78557
--- /dev/null
+++ b/phpBB/adm/style/acp_modules.html
@@ -0,0 +1,212 @@
+<!-- INCLUDE overall_header.html -->
+
+<a name="maincontent"></a>
+
+<!-- IF S_EDIT_MODULE -->
+
+ <script type="text/javascript">
+ // <![CDATA[
+ function display_options(value)
+ {
+ if (value == 'category')
+ {
+ dE('modoptions', -1);
+ }
+ else
+ {
+ dE('modoptions', 1);
+ }
+ }
+
+ function display_modes(value)
+ {
+ // Find the old select tag
+ var item = document.getElementById('module_mode');
+
+ // Create the new select tag
+ var new_node = document.createElement('select');
+ new_node.setAttribute('id', 'module_mode');
+ new_node.setAttribute('name', 'module_mode');
+
+ // Substitute it for the old one
+ item.parentNode.replaceChild(new_node, item);
+
+ // Reset the variable
+ item = document.getElementById('module_mode');
+
+ var j = 0;
+<!-- BEGIN m_names -->
+
+ if (value == '{m_names.A_NAME}')
+ {
+ <!-- BEGIN modes -->
+ item.options[j] = new Option('{m_names.modes.A_VALUE}');
+ item.options[j].value = '{m_names.modes.A_OPTION}';
+ j++;
+ <!-- END modes -->
+ }
+<!-- END m_names -->
+
+ // select first item
+ item.options[0].selected = true;
+ }
+
+ // ]]>
+ </script>
+
+ <a href="{U_BACK}" style="float: {S_CONTENT_FLOW_END};">&laquo; {L_BACK}</a>
+
+ <h1>{L_TITLE} :: {MODULENAME}</h1>
+
+ <p>{L_EDIT_MODULE_EXPLAIN}</p>
+
+ <!-- IF S_ERROR -->
+ <div class="errorbox">
+ <h3>{L_WARNING}</h3>
+ <p>{ERROR_MSG}</p>
+ </div>
+ <!-- ENDIF -->
+
+ <form id="moduleedit" method="post" action="{U_EDIT_ACTION}">
+
+ <fieldset>
+ <legend>{L_GENERAL_OPTIONS}</legend>
+ <dl>
+ <dt><label for="module_langname">{L_MODULE_LANGNAME}:</label><br />
+ <span>{L_MODULE_LANGNAME_EXPLAIN}</span></dt>
+ <dd><input name="module_langname" type="text" class="text medium" id="module_langname" value="{MODULE_LANGNAME}" /></dd>
+ </dl>
+ <dl>
+ <dt><label for="module_type">{L_MODULE_TYPE}:</label></dt>
+ <dd><select name="module_type" id="module_type" onchange="display_options(this.value);"><option value="category"<!-- IF S_IS_CAT --> selected="selected"<!-- ENDIF -->>{L_CATEGORY}</option><option value="module"<!-- IF not S_IS_CAT --> selected="selected"<!-- ENDIF -->>{L_MODULE}</option></select></dd>
+ </dl>
+ <dl>
+ <dt><label for="parent_id">{L_PARENT}:</label></dt>
+ <dd><select name="module_parent_id" id="parent_id">{S_CAT_OPTIONS}</select></dd>
+ </dl>
+ <hr />
+ <dl>
+ <dt><label for="module_enabled">{L_MODULE_ENABLED}:</label></dt>
+ <dd><label><input type="radio" class="radio" name="module_enabled" id="module_enabled" value="1"<!-- IF MODULE_ENABLED --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
+ <label><input type="radio" class="radio" name="module_enabled" value="0"<!-- IF not MODULE_ENABLED --> checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
+ </dl>
+ <div id="modoptions"<!-- IF S_IS_CAT --> style="display: none;"<!-- ENDIF -->>
+ <dl>
+ <dt><label for="module_display">{L_MODULE_DISPLAYED}:</label><br /><span>{L_MODULE_DISPLAYED_EXPLAIN}</span></dt>
+ <dd><label><input type="radio" class="radio" name="module_display" id="module_display" value="1"<!-- IF MODULE_DISPLAY --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
+ <label><input type="radio" class="radio" name="module_display" value="0"<!-- IF not MODULE_DISPLAY --> checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
+ </dl>
+ <dl>
+ <dt><label for="module_basename">{L_CHOOSE_MODULE}:</label><br />
+ <span>{L_CHOOSE_MODULE_EXPLAIN}</span></dt>
+ <dd><select name="module_basename" id="module_basename" onchange="display_modes(this.value);">{S_MODULE_NAMES}</select></dd>
+ </dl>
+ <dl>
+ <dt><label for="module_mode">{L_CHOOSE_MODE}:</label><br />
+ <span>{L_CHOOSE_MODE_EXPLAIN}</span></dt>
+ <dd><select name="module_mode" id="module_mode">{S_MODULE_MODES}</select></dd>
+ </dl>
+ </div>
+
+ <p class="submit-buttons">
+ <input type="hidden" name="action" value="{ACTION}" />
+ <input type="hidden" name="m" value="{MODULE_ID}" />
+
+ <input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />&nbsp;
+ <input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
+ </p>
+ {S_FORM_TOKEN}
+ </fieldset>
+ </form>
+
+<!-- ELSE -->
+
+ <h1>{L_ACP_MODULE_MANAGEMENT}</h1>
+
+ <p>{L_ACP_MODULE_MANAGEMENT_EXPLAIN}</p>
+
+ <!-- IF S_ERROR -->
+ <div class="errorbox">
+ <h3>{L_WARNING}</h3>
+ <p>{ERROR_MSG}</p>
+ </div>
+ <!-- ENDIF -->
+
+ <table cellspacing="1">
+ <tbody>
+ <tr>
+ <td class="row3">{NAVIGATION}<!-- IF S_NO_MODULES --> [<a href="{U_EDIT}">{L_EDIT}</a> | <a href="{U_DELETE}">{L_DELETE}</a> | <!-- IF MODULE_ENABLED --><a href="{U_DISABLE}">{L_DISABLE}</a><!-- ELSE --><a href="{U_ENABLE}">{L_ENABLE}</a><!-- ENDIF -->]<!-- ENDIF --></td>
+ </tr>
+ </tbody>
+ </table>
+
+ <!-- IF .modules -->
+ <table cellspacing="1">
+ <col class="row1" /><col class="row1" /><col class="row2" /><col class="row2" />
+ <tbody>
+ <!-- BEGIN modules -->
+ <tr>
+ <td style="width: 5%; text-align: center;">{modules.MODULE_IMAGE}</td>
+ <td><a href="{modules.U_MODULE}">{modules.MODULE_TITLE}</a><!-- IF not modules.MODULE_DISPLAYED --> <span class="small">[{L_HIDDEN_MODULE}]</span><!-- ENDIF --></td>
+ <td style="width: 15%; white-space: nowrap; text-align: center; vertical-align: middle;">&nbsp;<!-- IF modules.MODULE_ENABLED --><a href="{modules.U_DISABLE}">{L_DISABLE}</a><!-- ELSE --><a href="{modules.U_ENABLE}">{L_ENABLE}</a><!-- ENDIF -->&nbsp;</td>
+ <td style="width:90px; white-space: nowrap; text-align: right; vertical-align: middle;">
+ <!-- IF modules.S_FIRST_ROW && not modules.S_LAST_ROW -->
+ {ICON_MOVE_UP_DISABLED}
+ <a href="{modules.U_MOVE_DOWN}">{ICON_MOVE_DOWN}</a>
+ <!-- ELSEIF not modules.S_FIRST_ROW && not modules.S_LAST_ROW-->
+ <a href="{modules.U_MOVE_UP}">{ICON_MOVE_UP}</a>
+ <a href="{modules.U_MOVE_DOWN}">{ICON_MOVE_DOWN}</a>
+ <!-- ELSEIF modules.S_LAST_ROW && not modules.S_FIRST_ROW -->
+ <a href="{modules.U_MOVE_UP}">{ICON_MOVE_UP}</a>
+ {ICON_MOVE_DOWN_DISABLED}
+ <!-- ELSE -->
+ {ICON_MOVE_UP_DISABLED}
+ {ICON_MOVE_DOWN_DISABLED}
+ <!-- ENDIF -->
+ <a href="{modules.U_EDIT}">{ICON_EDIT}</a>
+ <a href="{modules.U_DELETE}">{ICON_DELETE}</a>
+ </td>
+ </tr>
+ <!-- END modules -->
+ </tbody>
+ </table>
+ <!-- ENDIF -->
+
+ <div class="clearfix">&nbsp;</div>
+
+ <form id="quick" method="post" action="{U_ACTION}">
+
+ <fieldset class="quick" style="float: {S_CONTENT_FLOW_END};">
+ <input type="hidden" name="action" value="quickadd" />
+
+ <select name="quick_install">{S_INSTALL_OPTIONS}</select>
+ <input class="button2" name="quickadd" type="submit" value="{L_ADD_MODULE}" />
+ </fieldset>
+
+ </form>
+
+ <form id="module" method="post" action="{U_ACTION}">
+
+ <fieldset class="quick" style="float: {S_CONTENT_FLOW_BEGIN};">
+ <input type="hidden" name="action" value="add" />
+ <input type="hidden" name="module_parent_id" value="{PARENT_ID}" />
+
+ <input type="text" name="module_langname" maxlength="255" />
+ <input class="button2" name="addmodule" type="submit" value="{L_CREATE_MODULE}" />
+ </fieldset>
+
+ </form>
+
+ <div class="clearfix">&nbsp;</div><br style="clear: both;" />
+
+ <form id="mselect" method="post" action="{U_SEL_ACTION}">
+ <fieldset class="quick">
+ {L_SELECT_MODULE}: <select name="parent_id" onchange="if(this.options[this.selectedIndex].value != -1){ this.form.submit(); }">{MODULE_BOX}</select>
+
+ <input class="button2" type="submit" value="{L_GO}" />
+ </fieldset>
+ </form>
+
+<!-- ENDIF -->
+
+<!-- INCLUDE overall_footer.html -->
diff --git a/phpBB/adm/style/acp_permission_roles.html b/phpBB/adm/style/acp_permission_roles.html
new file mode 100644
index 0000000000..220e7dafbe
--- /dev/null
+++ b/phpBB/adm/style/acp_permission_roles.html
@@ -0,0 +1,202 @@
+<!-- INCLUDE overall_header.html -->
+
+<a name="maincontent"></a>
+
+<!-- IF S_EDIT -->
+
+ <script type="text/javascript">
+ // <![CDATA[
+ var active_pmask = '0';
+ var active_fmask = '0';
+ var active_cat = '0';
+
+ var id = '000';
+
+ var role_options = new Array();
+
+ <!-- IF S_ROLE_JS_ARRAY -->
+ {S_ROLE_JS_ARRAY}
+ <!-- ENDIF -->
+ // ]]>
+ </script>
+
+ <script type="text/javascript" src="style/permissions.js"></script>
+
+ <a href="{U_BACK}" style="float: {S_CONTENT_FLOW_END};">&laquo; {L_BACK}</a>
+
+ <h1>{L_TITLE}</h1>
+
+ <p>{L_EXPLAIN}</p>
+
+ <br />
+ <a href="#acl">&raquo; {L_SET_ROLE_PERMISSIONS}</a>
+
+ <form id="acp_roles" method="post" action="{U_ACTION}">
+
+ <fieldset>
+ <legend>{L_ROLE_DETAILS}</legend>
+ <dl>
+ <dt><label for="role_name">{L_ROLE_NAME}:</label></dt>
+ <dd><input name="role_name" type="text" id="role_name" value="{ROLE_NAME}" maxlength="255" /></dd>
+ </dl>
+ <dl>
+ <dt><label for="role_description">{L_ROLE_DESCRIPTION}:</label><br /><span>{L_ROLE_DESCRIPTION_EXPLAIN}</span></dt>
+ <dd><textarea id="role_description" name="role_description" rows="3" cols="45">{ROLE_DESCRIPTION}</textarea></dd>
+ </dl>
+
+ <p class="quick">
+ <input type="submit" class="button1" name="submit" value="{L_SUBMIT}" />
+ {S_FORM_TOKEN}
+ </p>
+ </fieldset>
+
+ <!-- IF S_DISPLAY_ROLE_MASK -->
+
+ <h1>{L_ROLE_ASSIGNED_TO}</h1>
+
+ <!-- INCLUDE permission_roles_mask.html -->
+
+ <!-- ENDIF -->
+
+ <p>
+
+ <a name="acl"></a>
+
+ <a href="#maincontent">&raquo; {L_BACK_TO_TOP}</a><br />
+ <br /><br />
+
+ </p>
+
+ <h1>{L_ACL_TYPE}</h1>
+
+ <fieldset class="perm nolegend">
+
+ <div id="advanced00">
+ <div class="permissions-category">
+ <ul>
+ <!-- BEGIN auth -->
+ <!-- IF auth.S_YES -->
+ <li class="permissions-preset-yes<!-- IF auth.S_FIRST_ROW --> activetab<!-- ENDIF -->" id="tab00{auth.S_ROW_COUNT}">
+ <!-- ELSEIF auth.S_NEVER -->
+ <li class="permissions-preset-never<!-- IF auth.S_FIRST_ROW --> activetab<!-- ENDIF -->" id="tab00{auth.S_ROW_COUNT}">
+ <!-- ELSEIF auth.S_NO -->
+ <li class="permissions-preset-no<!-- IF auth.S_FIRST_ROW --> activetab<!-- ENDIF -->" id="tab00{auth.S_ROW_COUNT}">
+ <!-- ELSE -->
+ <li class="permissions-preset-custom<!-- IF auth.S_FIRST_ROW --> activetab<!-- ENDIF -->" id="tab00{auth.S_ROW_COUNT}">
+ <!-- ENDIF -->
+ <a href="#" onclick="swap_options('0','0','{auth.S_ROW_COUNT}'); return false;"><span class="tabbg"><span class="colour"></span>{auth.CAT_NAME}</span></a></li>
+ <!-- END auth -->
+ </ul>
+ </div>
+ <!-- BEGIN auth -->
+ <div class="permissions-panel" id="options00{auth.S_ROW_COUNT}"<!-- IF auth.S_FIRST_ROW --><!-- ELSE --> style="display: none;"<!-- ENDIF -->>
+ <span class="corners-top"><span></span></span>
+ <div class="tablewrap">
+ <table id="table00{auth.S_ROW_COUNT}" cellspacing="1">
+ <colgroup>
+ <col class="permissions-name" />
+ <col class="permissions-yes" />
+ <col class="permissions-no" />
+ <col class="permissions-never" />
+ </colgroup>
+ <thead>
+ <tr>
+ <th class="name" scope="col"><strong>{L_ACL_SETTING}</strong></th>
+ <th class="value permissions-yes" scope="col"><a href="#" onclick="mark_options('options00{auth.S_ROW_COUNT}', 'y'); set_colours('00{auth.S_ROW_COUNT}', false, 'yes'); return false;">{L_ACL_YES}</a></th>
+ <th class="value permissions-no" scope="col"><a href="#" onclick="mark_options('options00{auth.S_ROW_COUNT}', 'u'); set_colours('00{auth.S_ROW_COUNT}', false, 'no'); return false;">{L_ACL_NO}</a></th>
+ <th class="value permissions-never" scope="col"><a href="#" onclick="mark_options('options00{auth.S_ROW_COUNT}', 'n'); set_colours('00{auth.S_ROW_COUNT}', false, 'never'); return false;">{L_ACL_NEVER}</a></th>
+ </tr>
+ </thead>
+ <tbody>
+ <!-- BEGIN mask -->
+ <!-- IF auth.mask.S_ROW_COUNT is even --><tr class="row4"><!-- ELSE --><tr class="row3"><!-- ENDIF -->
+ <th class="permissions-name<!-- IF auth.mask.S_ROW_COUNT is even --> row4<!-- ELSE --> row3<!-- ENDIF -->">{auth.mask.PERMISSION}</th>
+
+ <td class="permissions-yes"><label for="setting_{auth.mask.FIELD_NAME}_y"><input onchange="set_colours('00{auth.S_ROW_COUNT}', false)" id="setting_{auth.mask.FIELD_NAME}_y" name="setting[{auth.mask.FIELD_NAME}]" class="radio" type="radio"<!-- IF auth.mask.S_YES --> checked="checked"<!-- ENDIF --> value="1" /></label></td>
+ <td class="permissions-no"><label for="setting_{auth.mask.FIELD_NAME}_u"><input onchange="set_colours('00{auth.S_ROW_COUNT}', false)" id="setting_{auth.mask.FIELD_NAME}_u" name="setting[{auth.mask.FIELD_NAME}]" class="radio" type="radio"<!-- IF auth.mask.S_NO --> checked="checked"<!-- ENDIF --> value="-1" /></label></td>
+ <td class="permissions-never"><label for="setting_{auth.mask.FIELD_NAME}_n"><input onchange="set_colours('00{auth.S_ROW_COUNT}', false)" id="setting_{auth.mask.FIELD_NAME}_n" name="setting[{auth.mask.FIELD_NAME}]" class="radio" type="radio"<!-- IF auth.mask.S_NEVER --> checked="checked"<!-- ENDIF --> value="0" /></label></td>
+ </tr>
+ <!-- END mask -->
+ </tbody>
+ </table>
+ </div>
+ <span class="corners-bottom"><span></span></span>
+ </div>
+ <!-- END auth -->
+ </div>
+
+ </fieldset>
+
+ <fieldset class="quick">
+ <input type="submit" class="button1" name="submit" value="{L_SUBMIT}" />
+ {S_FORM_TOKEN}
+ </fieldset>
+ </form>
+
+ <a href="#maincontent">&raquo; {L_BACK_TO_TOP}</a><br />
+ <br />
+
+<!-- ELSE -->
+
+ <h1>{L_TITLE}</h1>
+
+ <p>{L_EXPLAIN}</p>
+
+ <form id="acp_roles" method="post" action="{U_ACTION}">
+
+ <table cellspacing="1">
+ <col class="col2" /><col class="col2" /><col class="col1" /><col class="col2" /><col class="col2" />
+ <thead>
+ <tr>
+ <th>{L_ROLE_NAME}</th>
+ <th colspan="2">{L_OPTIONS}</th>
+ </tr>
+ </thead>
+ <tbody>
+ <!-- BEGIN roles -->
+ <tr>
+ <td style="vertical-align: top;"><strong>{roles.ROLE_NAME}</strong>
+ <!-- IF roles.ROLE_DESCRIPTION --><br /><span>{roles.ROLE_DESCRIPTION}</span><!-- ENDIF -->
+ </td>
+ <td style="width: 30%; text-align: center; vertical-align: top; white-space: nowrap;"><!-- IF roles.U_DISPLAY_ITEMS --><a href="{roles.U_DISPLAY_ITEMS}">{L_VIEW_ASSIGNED_ITEMS}</a><!-- ELSE -->{L_VIEW_ASSIGNED_ITEMS}<!-- ENDIF --></td>
+ <td style="width: 80px; text-align: right; vertical-align: top; white-space: nowrap;">
+ <!-- IF roles.S_FIRST_ROW && not roles.S_LAST_ROW -->
+ {ICON_MOVE_UP_DISABLED}
+ <a href="{roles.U_MOVE_DOWN}">{ICON_MOVE_DOWN}</a>
+ <!-- ELSEIF not roles.S_FIRST_ROW && not roles.S_LAST_ROW-->
+ <a href="{roles.U_MOVE_UP}">{ICON_MOVE_UP}</a>
+ <a href="{roles.U_MOVE_DOWN}">{ICON_MOVE_DOWN}</a>
+ <!-- ELSEIF roles.S_LAST_ROW && not roles.S_FIRST_ROW -->
+ <a href="{roles.U_MOVE_UP}">{ICON_MOVE_UP}</a>
+ {ICON_MOVE_DOWN_DISABLED}
+ <!-- ELSE -->
+ {ICON_MOVE_UP_DISABLED}
+ {ICON_MOVE_DOWN_DISABLED}
+ <!-- ENDIF -->
+ <a href="{roles.U_EDIT}" title="{L_EDIT_ROLE}">{ICON_EDIT}</a>
+ <a href="{roles.U_REMOVE}" title="{L_REMOVE_ROLE}">{ICON_DELETE}</a>
+ </td>
+ </tr>
+ <!-- END roles -->
+ </tbody>
+ </table>
+
+ <fieldset class="quick">
+ {L_CREATE_ROLE}: <input type="text" name="role_name" value="" maxlength="255" /><!-- IF S_ROLE_OPTIONS --> <select name="options_from"><option value="0" selected="selected">{L_CREATE_ROLE_FROM}</option>{S_ROLE_OPTIONS}</select><!-- ENDIF --> <input class="button2" type="submit" name="add" value="{L_SUBMIT}" /><br />
+ {S_FORM_TOKEN}
+ </fieldset>
+ </form>
+
+ <!-- IF S_DISPLAY_ROLE_MASK -->
+
+ <a name="assigned_to"></a>
+
+ <h1>{L_ROLE_ASSIGNED_TO}</h1>
+
+ <!-- INCLUDE permission_roles_mask.html -->
+
+ <!-- ENDIF -->
+
+<!-- ENDIF -->
+
+<!-- INCLUDE overall_footer.html --> \ No newline at end of file
diff --git a/phpBB/adm/style/acp_permissions.html b/phpBB/adm/style/acp_permissions.html
new file mode 100644
index 0000000000..63583093b0
--- /dev/null
+++ b/phpBB/adm/style/acp_permissions.html
@@ -0,0 +1,357 @@
+<!-- INCLUDE overall_header.html -->
+
+<a name="maincontent"></a>
+
+<!-- IF S_INTRO -->
+
+ <h1>{L_ACP_PERMISSIONS}</h1>
+
+ {L_ACP_PERMISSIONS_EXPLAIN}
+
+<!-- ENDIF -->
+
+<!-- IF S_SELECT_VICTIM -->
+
+ <!-- IF U_BACK --><a href="{U_BACK}" style="float: {S_CONTENT_FLOW_END};">&laquo; {L_BACK}</a><!-- ENDIF -->
+
+ <h1>{L_TITLE}</h1>
+
+ <p>{L_EXPLAIN}</p>
+
+ <!-- IF S_FORUM_NAMES -->
+ <p><strong>{L_FORUMS}:</strong> {FORUM_NAMES}</p>
+ <!-- ENDIF -->
+
+ <!-- IF S_SELECT_FORUM -->
+
+ <form id="select_victim" method="post" action="{U_ACTION}">
+
+ <fieldset>
+ <legend>{L_LOOK_UP_FORUM}</legend>
+ <!-- IF S_FORUM_MULTIPLE --><p>{L_LOOK_UP_FORUMS_EXPLAIN}</p><!-- ENDIF -->
+ <dl>
+ <dt><label for="forum">{L_LOOK_UP_FORUM}:</label></dt>
+ <dd><select id="forum" name="forum_id[]"<!-- IF S_FORUM_MULTIPLE --> multiple="multiple"<!-- ENDIF --> size="10">{S_FORUM_OPTIONS}</select></dd>
+ <!-- IF S_FORUM_ALL --><dd><label><input type="checkbox" class="radio" name="all_forums" value="1" /> {L_ALL_FORUMS}</label></dd><!-- ENDIF -->
+ </dl>
+
+ <p class="quick">
+ {S_HIDDEN_FIELDS}
+ {S_FORM_TOKEN}
+ <input type="submit" name="submit" value="{L_SUBMIT}" class="button1" />
+ </p>
+
+ </fieldset>
+ </form>
+
+ <!-- IF S_FORUM_MULTIPLE -->
+
+ <form id="select_subforum" method="post" action="{U_ACTION}">
+
+ <fieldset>
+ <legend>{L_LOOK_UP_FORUM}</legend>
+ <p>{L_SELECT_FORUM_SUBFORUM_EXPLAIN}</p>
+ <dl>
+ <dt><label for="sforum">{L_LOOK_UP_FORUM}:</label></dt>
+ <dd><select id="sforum" name="subforum_id">{S_SUBFORUM_OPTIONS}</select></dd>
+ </dl>
+
+ <p class="quick">
+ {S_HIDDEN_FIELDS}
+ {S_FORM_TOKEN}
+ <input type="submit" name="submit" value="{L_SUBMIT}" class="button1" />
+ </p>
+
+ </fieldset>
+ </form>
+
+ <!-- ENDIF -->
+
+ <!-- ELSEIF S_SELECT_USER and S_CAN_SELECT_USER -->
+
+ <form id="select_victim" method="post" action="{U_ACTION}">
+
+ <fieldset>
+ <legend>{L_LOOK_UP_USER}</legend>
+ <dl>
+ <dt><label for="username">{L_FIND_USERNAME}:</label></dt>
+ <dd><input class="text medium" type="text" id="username" name="username[]" /></dd>
+ <dd>[ <a href="{U_FIND_USERNAME}" onclick="find_username(this.href); return false;">{L_FIND_USERNAME}</a> ]</dd>
+ <dd class="full" style="text-align: left;"><label><input type="checkbox" class="radio" id="anonymous" name="user_id[]" value="{ANONYMOUS_USER_ID}" /> {L_SELECT_ANONYMOUS}</label></dd>
+ </dl>
+
+ <p class="quick">
+ {S_HIDDEN_FIELDS}
+ {S_FORM_TOKEN}
+ <input type="submit" name="submit" value="{L_SUBMIT}" class="button1" />
+ </p>
+ </fieldset>
+ </form>
+
+ <!-- ELSEIF S_SELECT_GROUP and S_CAN_SELECT_GROUP -->
+
+ <form id="select_victim" method="post" action="{U_ACTION}">
+
+ <fieldset>
+ <legend>{L_LOOK_UP_GROUP}</legend>
+ <dl>
+ <dt><label for="group">{L_LOOK_UP_GROUP}:</label></dt>
+ <dd><select name="group_id[]" id="group">{S_GROUP_OPTIONS}</select></dd>
+ </dl>
+
+ <p class="quick">
+ {S_HIDDEN_FIELDS}
+ {S_FORM_TOKEN}
+ <input type="submit" name="submit" value="{L_SUBMIT}" class="button1" />
+ </p>
+
+ </fieldset>
+ </form>
+
+ <!-- ELSEIF S_SELECT_USERGROUP -->
+
+ <div style="float: {S_CONTENT_FLOW_BEGIN}; width: 48%;">
+
+ <!-- IF S_CAN_SELECT_USER -->
+
+ <h1>{L_USERS}</h1>
+
+ <form id="users" method="post" action="{U_ACTION}">
+
+ <fieldset>
+ <legend>{L_MANAGE_USERS}</legend>
+ <dl>
+ <dd class="full"><select style="width: 100%;" name="user_id[]" multiple="multiple" size="5">{S_DEFINED_USER_OPTIONS}</select></dd>
+ <!-- IF S_ALLOW_ALL_SELECT --><dd class="full" style="text-align: right;"><label><input type="checkbox" class="radio" name="all_users" value="1" /> {L_ALL_USERS}</label></dd><!-- ENDIF -->
+ </dl>
+ </fieldset>
+
+ <fieldset class="quick">
+ {S_HIDDEN_FIELDS}
+ {S_FORM_TOKEN}
+ <input type="submit" class="button2" name="action[delete]" value="{L_REMOVE_PERMISSIONS}" style="width: 46% !important;" /> &nbsp; <input class="button1" type="submit" name="submit_edit_options" value="{L_EDIT_PERMISSIONS}" style="width: 46% !important;" />
+ </fieldset>
+ </form>
+
+ <form id="add_user" method="post" action="{U_ACTION}">
+
+ <fieldset>
+ <legend>{L_ADD_USERS}</legend>
+ <p>{L_USERNAMES_EXPLAIN}</p>
+ <dl>
+ <dd class="full"><textarea id="username" name="usernames" rows="5" cols="5" style="width: 100%; height: 60px;"></textarea></dd>
+ <dd class="full" style="text-align: left;"><div style="float: {S_CONTENT_FLOW_END};">[ <a href="{U_FIND_USERNAME}" onclick="find_username(this.href); return false;">{L_FIND_USERNAME}</a> ]</div><label><input type="checkbox" class="radio" id="anonymous" name="user_id[]" value="{ANONYMOUS_USER_ID}" /> {L_SELECT_ANONYMOUS}</label></dd>
+ </dl>
+ </fieldset>
+
+ <fieldset class="quick">
+ {S_HIDDEN_FIELDS}
+ {S_FORM_TOKEN}
+ <input class="button1" type="submit" name="submit_add_options" value="{L_ADD_PERMISSIONS}" />
+ </fieldset>
+ </form>
+
+ <!-- ENDIF -->
+
+ </div>
+
+ <div style="float: {S_CONTENT_FLOW_END}; width: 48%">
+
+ <!-- IF S_CAN_SELECT_GROUP -->
+
+ <h1>{L_USERGROUPS}</h1>
+
+ <form id="groups" method="post" action="{U_ACTION}">
+
+ <fieldset>
+ <legend>{L_MANAGE_GROUPS}</legend>
+ <dl>
+ <dd class="full"><select style="width: 100%;" name="group_id[]" multiple="multiple" size="5">{S_DEFINED_GROUP_OPTIONS}</select></dd>
+ <!-- IF S_ALLOW_ALL_SELECT --><dd class="full" style="text-align: right;"><label><input type="checkbox" class="radio" name="all_groups" value="1" /> {L_ALL_GROUPS}</label></dd><!-- ENDIF -->
+ </dl>
+ </fieldset>
+
+ <fieldset class="quick">
+ {S_HIDDEN_FIELDS}
+ {S_FORM_TOKEN}
+ <input class="button2" type="submit" name="action[delete]" value="{L_REMOVE_PERMISSIONS}" style="width: 46% !important;" /> &nbsp; <input class="button1" type="submit" name="submit_edit_options" value="{L_EDIT_PERMISSIONS}" style="width: 46% !important;" />
+ </fieldset>
+ </form>
+
+ <form id="add_groups" method="post" action="{U_ACTION}">
+
+ <fieldset>
+ <legend>{L_ADD_GROUPS}</legend>
+ <dl>
+ <dd class="full"><select name="group_id[]" style="width: 100%; height: 107px;" multiple="multiple">{S_ADD_GROUP_OPTIONS}</select></dd>
+ </dl>
+ </fieldset>
+
+ <fieldset class="quick">
+ {S_HIDDEN_FIELDS}
+ {S_FORM_TOKEN}
+ <input type="submit" class="button1" name="submit_add_options" value="{L_ADD_PERMISSIONS}" />
+ </fieldset>
+ </form>
+
+ <!-- ENDIF -->
+
+ </div>
+
+ <!-- ELSEIF S_SELECT_USERGROUP_VIEW -->
+
+ <div style="float: {S_CONTENT_FLOW_BEGIN}; width: 48%;">
+
+ <h1>{L_USERS}</h1>
+
+ <form id="users" method="post" action="{U_ACTION}">
+
+ <fieldset>
+ <legend>{L_MANAGE_USERS}</legend>
+ <dl>
+ <dd class="full"><select style="width: 100%;" name="user_id[]" multiple="multiple" size="5">{S_DEFINED_USER_OPTIONS}</select></dd>
+ </dl>
+ </fieldset>
+
+ <fieldset class="quick">
+ {S_HIDDEN_FIELDS}
+ {S_FORM_TOKEN}
+ <input class="button1" type="submit" name="submit" value="{L_VIEW_PERMISSIONS}" />
+ </fieldset>
+ </form>
+
+ <form id="add_user" method="post" action="{U_ACTION}">
+
+ <fieldset>
+ <legend>{L_LOOK_UP_USER}</legend>
+ <dl>
+ <dt><label for="username">{L_FIND_USERNAME}:</label></dt>
+ <dd><input type="text" id="username" name="username[]" /></dd>
+ <dd>[ <a href="{U_FIND_USERNAME}" onclick="find_username(this.href); return false;">{L_FIND_USERNAME}</a> ]</dd>
+ <dd class="full" style="text-align: left;"><label><input type="checkbox" class="radio" id="anonymous" name="user_id[]" value="{ANONYMOUS_USER_ID}" /> {L_SELECT_ANONYMOUS}</label></dd>
+ </dl>
+ </fieldset>
+
+ <fieldset class="quick">
+ {S_HIDDEN_FIELDS}
+ {S_FORM_TOKEN}
+ <input type="submit" name="submit" value="{L_VIEW_PERMISSIONS}" class="button1" />
+ </fieldset>
+ </form>
+
+ </div>
+
+ <div style="float: {S_CONTENT_FLOW_END}; width: 48%">
+
+ <h1>{L_USERGROUPS}</h1>
+
+ <form id="groups" method="post" action="{U_ACTION}">
+
+ <fieldset>
+ <legend>{L_MANAGE_GROUPS}</legend>
+ <dl>
+ <dd class="full"><select style="width: 100%;" name="group_id[]" multiple="multiple" size="5">{S_DEFINED_GROUP_OPTIONS}</select></dd>
+ </dl>
+ </fieldset>
+
+ <fieldset class="quick">
+ {S_HIDDEN_FIELDS}
+ {S_FORM_TOKEN}
+ <input class="button1" type="submit" name="submit" value="{L_VIEW_PERMISSIONS}" />
+ </fieldset>
+ </form>
+
+ <form id="group" method="post" action="{U_ACTION}">
+
+ <fieldset>
+ <legend>{L_LOOK_UP_GROUP}</legend>
+ <dl>
+ <dt><label for="group_select">{L_LOOK_UP_GROUP}:</label></dt>
+ <dd><select name="group_id[]" id="group_select">{S_ADD_GROUP_OPTIONS}</select></dd>
+ <dd>&nbsp;</dd>
+ </dl>
+ </fieldset>
+
+ <fieldset class="quick">
+ {S_HIDDEN_FIELDS}
+ {S_FORM_TOKEN}
+ <input type="submit" name="submit" value="{L_VIEW_PERMISSIONS}" class="button1" />
+ </fieldset>
+ </form>
+
+ </div>
+
+ <!-- ENDIF -->
+
+<!-- ENDIF -->
+
+<!-- IF S_VIEWING_PERMISSIONS -->
+
+ <h1>{L_ACL_VIEW}</h1>
+
+ <p>{L_ACL_VIEW_EXPLAIN}</p>
+
+ <fieldset class="quick">
+ <strong>&raquo; {L_PERMISSION_TYPE}</strong>
+ </fieldset>
+
+ <!-- INCLUDE permission_mask.html -->
+
+<!-- ENDIF -->
+
+<!-- IF S_SETTING_PERMISSIONS -->
+
+ <h1>{L_ACL_SET}</h1>
+
+ <p>{L_ACL_SET_EXPLAIN}</p>
+
+ <br />
+
+ <fieldset class="quick" style="float: {S_CONTENT_FLOW_END};">
+ <strong>&raquo; {L_PERMISSION_TYPE}</strong>
+ </fieldset>
+
+ <!-- IF S_PERMISSION_DROPDOWN -->
+ <form id="pselect" method="post" action="{U_ACTION}">
+
+ <fieldset class="quick" style="float: {S_CONTENT_FLOW_BEGIN};">
+ {S_HIDDEN_FIELDS}
+ {S_FORM_TOKEN}
+ {L_SELECT_TYPE}: <select name="type">{S_PERMISSION_DROPDOWN}</select>
+
+ <input class="button2" type="submit" name="submit" value="{L_GO}" />
+ </fieldset>
+ </form>
+ <!-- ENDIF -->
+
+ <br /><br />
+
+ <!-- include tooltip file -->
+ <script type="text/javascript" src="style/tooltip.js"></script>
+ <script type="text/javascript">
+ // <![CDATA[
+ window.onload = function(){enable_tooltips_select('set-permissions', '{LA_ROLE_DESCRIPTION}', 'role')};
+ // ]]>
+ </script>
+
+ <form id="set-permissions" method="post" action="{U_ACTION}">
+
+ {S_HIDDEN_FIELDS}
+
+ <!-- INCLUDE permission_mask.html -->
+
+ <br /><br />
+
+ <fieldset class="quick" style="float: {S_CONTENT_FLOW_END};">
+ <input class="button1" type="submit" name="action[apply_all_permissions]" value="{L_APPLY_ALL_PERMISSIONS}" />
+ <input class="button2" type="button" name="cancel" value="{L_RESET}" onclick="document.forms['set-permissions'].reset(); init_colours(active_pmask + active_fmask);" />
+ {S_FORM_TOKEN}
+ </fieldset>
+
+ <br /><br />
+
+ </form>
+
+<!-- ENDIF -->
+
+<!-- INCLUDE overall_footer.html --> \ No newline at end of file
diff --git a/phpBB/adm/style/acp_php_info.html b/phpBB/adm/style/acp_php_info.html
new file mode 100644
index 0000000000..de065c4896
--- /dev/null
+++ b/phpBB/adm/style/acp_php_info.html
@@ -0,0 +1,13 @@
+<!-- INCLUDE overall_header.html -->
+
+<a name="maincontent"></a>
+
+<h1>{L_ACP_PHP_INFO}</h1>
+
+<p>{L_ACP_PHP_INFO_EXPLAIN}</p>
+
+<div class="phpinfo">
+ {PHPINFO}
+</div>
+
+<!-- INCLUDE overall_footer.html --> \ No newline at end of file
diff --git a/phpBB/adm/style/acp_profile.html b/phpBB/adm/style/acp_profile.html
new file mode 100644
index 0000000000..85d37568c2
--- /dev/null
+++ b/phpBB/adm/style/acp_profile.html
@@ -0,0 +1,236 @@
+<!-- INCLUDE overall_header.html -->
+
+<a name="maincontent"></a>
+
+<!-- IF S_EDIT -->
+
+ <a href="{U_BACK}" style="float: {S_CONTENT_FLOW_END};">&laquo; {L_BACK}</a>
+
+ <h1>{L_TITLE}</h1>
+
+ <p>{L_EXPLAIN}</p>
+
+ <!-- IF ERROR_MSG -->
+ <div class="errorbox">
+ <h3>{L_WARNING}</h3>
+ <p>{ERROR_MSG}</p>
+ </div>
+ <!-- ENDIF -->
+
+ <form id="add_profile_field" method="post" action="{U_ACTION}">
+
+ <!-- IF S_STEP_ONE -->
+
+ <fieldset>
+ <legend>{L_TITLE}</legend>
+ <dl>
+ <dt><label>{L_FIELD_TYPE}:</label><br /><span>{L_FIELD_TYPE_EXPLAIN}</span></dt>
+ <dd><strong>{FIELD_TYPE}</strong></dd>
+ </dl>
+ <!-- IF S_EDIT_MODE -->
+ <dl>
+ <dt><label>{L_FIELD_IDENT}:</label><br /><span>{L_FIELD_IDENT_EXPLAIN}</span></dt>
+ <dd><input type="hidden" name="field_ident" value="{FIELD_IDENT}" /><strong>{FIELD_IDENT}</strong></dd>
+ </dl>
+ <!-- ELSE -->
+ <dl>
+ <dt><label for="field_ident">{L_FIELD_IDENT}:</label><br /><span>{L_FIELD_IDENT_EXPLAIN}</span></dt>
+ <dd><input class="text medium" type="text" id="field_ident" name="field_ident" value="{FIELD_IDENT}" /></dd>
+ </dl>
+ <!-- ENDIF -->
+ <dl>
+ <dt><label for="field_no_view">{L_DISPLAY_PROFILE_FIELD}:</label><br /><span>{L_DISPLAY_PROFILE_FIELD_EXPLAIN}</span></dt>
+ <dd><label><input type="radio" class="radio" id="field_no_view" name="field_no_view" value="0"<!-- IF not S_FIELD_NO_VIEW --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
+ <label><input type="radio" class="radio" name="field_no_view" value="1"<!-- IF S_FIELD_NO_VIEW --> checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
+ </dl>
+ </fieldset>
+
+ <fieldset>
+ <legend>{L_VISIBILITY_OPTION}</legend>
+ <dl>
+ <dt><label for="field_show_profile">{L_DISPLAY_AT_PROFILE}:</label><br /><span>{L_DISPLAY_AT_PROFILE_EXPLAIN}</span></dt>
+ <dd><input type="checkbox" class="radio" id="field_show_profile" name="field_show_profile" value="1"<!-- IF S_SHOW_PROFILE --> checked="checked"<!-- ENDIF --> /></dd>
+ </dl>
+ <dl>
+ <dt><label for="field_show_on_reg">{L_DISPLAY_AT_REGISTER}:</label><br /><span>{L_DISPLAY_AT_REGISTER_EXPLAIN}</span></dt>
+ <dd><input type="checkbox" class="radio" id="field_show_on_reg" name="field_show_on_reg" value="1"<!-- IF S_SHOW_ON_REG --> checked="checked"<!-- ENDIF --> /></dd>
+ </dl>
+ <dl>
+ <dt><label for="field_show_on_vt">{L_DISPLAY_ON_VT}:</label><br /><span>{L_DISPLAY_ON_VT_EXPLAIN}</span></dt>
+ <dd><input type="checkbox" class="radio" id="field_show_on_vt" name="field_show_on_vt" value="1"<!-- IF S_SHOW_ON_VT --> checked="checked"<!-- ENDIF --> /></dd>
+ </dl>
+ <dl>
+ <dt><label for="field_required">{L_REQUIRED_FIELD}:</label><br /><span>{L_REQUIRED_FIELD_EXPLAIN}</span></dt>
+ <dd><input type="checkbox" class="radio" id="field_required" name="field_required" value="1"<!-- IF S_FIELD_REQUIRED --> checked="checked"<!-- ENDIF --> /></dd>
+ </dl>
+ <dl>
+ <dt><label for="field_hide">{L_HIDE_PROFILE_FIELD}:</label><br /><span>{L_HIDE_PROFILE_FIELD_EXPLAIN}</span></dt>
+ <dd><input type="checkbox" class="radio" id="field_hide" name="field_hide" value="1"<!-- IF S_FIELD_HIDE --> checked="checked"<!-- ENDIF --> /></dd>
+ </dl>
+ </fieldset>
+
+ <!-- IF S_EDIT_MODE -->
+ <fieldset class="quick">
+ <input class="button1" type="submit" name="save" value="{L_SAVE}" />
+ </fieldset>
+ <!-- ENDIF -->
+
+ <fieldset>
+ <legend>{L_LANG_SPECIFIC}</legend>
+ <dl>
+ <dt><label for="lang_name">{L_USER_FIELD_NAME}:</label></dt>
+ <dd><input class="text medium" type="text" id="lang_name" name="lang_name" value="{LANG_NAME}" /></dd>
+ </dl>
+ <dl>
+ <dt><label for="lang_explain">{L_FIELD_DESCRIPTION}:</label><br /><span>{L_FIELD_DESCRIPTION_EXPLAIN}</span></dt>
+ <dd><textarea id="lang_explain" name="lang_explain" rows="3" cols="80">{LANG_EXPLAIN}</textarea></dd>
+ </dl>
+ <!-- IF S_TEXT or S_STRING -->
+ <dl>
+ <dt><label for="lang_default_value">{L_DEFAULT_VALUE}:</label><br /><span>{L_DEFAULT_VALUE_EXPLAIN}</span></dt>
+ <dd><!-- IF S_STRING --><input class="text medium" type="text" id="lang_default_value" name="lang_default_value" value="{LANG_DEFAULT_VALUE}" /><!-- ELSE --><textarea id="lang_default_value" name="lang_default_value" rows="5" cols="80">{LANG_DEFAULT_VALUE}</textarea><!-- ENDIF --></dd>
+ </dl>
+ <!-- ENDIF -->
+ <!-- IF S_BOOL or S_DROPDOWN -->
+ <dl>
+ <dt><label for="lang_options">{L_ENTRIES}:</label>
+ <!-- IF S_EDIT_MODE and S_DROPDOWN -->
+ <br /><span>{L_EDIT_DROPDOWN_LANG_EXPLAIN}</span>
+ <!-- ELSE -->
+ <br /><span>{L_LANG_OPTIONS_EXPLAIN}</span>
+ <!-- ENDIF -->
+ </dt>
+ <!-- IF S_DROPDOWN -->
+ <dd><textarea id="lang_options" name="lang_options" rows="5" cols="80">{LANG_OPTIONS}</textarea></dd>
+ <!-- ELSE -->
+ <dd><input class="medium" id="lang_options" name="lang_options[0]" value="{FIRST_LANG_OPTION}" /> {L_FIRST_OPTION}</dd>
+ <dd><input class="medium" name="lang_options[1]" value="{SECOND_LANG_OPTION}" /> {L_SECOND_OPTION}</dd>
+ <!-- ENDIF -->
+ </dl>
+ <!-- ENDIF -->
+ </fieldset>
+
+ <fieldset class="quick">
+ {S_HIDDEN_FIELDS}
+ {S_FORM_TOKEN}
+ <input class="button1" type="submit" name="next" value="{L_PROFILE_TYPE_OPTIONS}" />
+ </fieldset>
+
+ <!-- ELSEIF S_STEP_TWO -->
+
+ <fieldset>
+ <legend>{L_TITLE}</legend>
+ <!-- BEGIN option -->
+ <dl>
+ <dt><label>{option.TITLE}:</label><!-- IF option.EXPLAIN --><br /><span>{option.EXPLAIN}</span><!-- ENDIF --></dt>
+ <dd>{option.FIELD}</dd>
+ </dl>
+ <!-- END option -->
+ </fieldset>
+
+ <fieldset class="quick" style="float: {S_CONTENT_FLOW_BEGIN};">
+ <input class="button1" type="submit" name="prev" value="{L_PROFILE_BASIC_OPTIONS}" />
+ </fieldset>
+
+ <fieldset class="quick" style="float: {S_CONTENT_FLOW_END};">
+ {S_HIDDEN_FIELDS}
+ {S_FORM_TOKEN}
+ <input class="button1" type="submit" name="next" value="{L_NEXT_STEP}" />
+ </fieldset>
+
+ <!-- ELSEIF S_STEP_THREE -->
+
+ <!-- BEGIN options -->
+ <fieldset>
+ <legend>{options.LANGUAGE}</legend>
+ <!-- BEGIN field -->
+ <dl>
+ <dt><label>{options.field.L_TITLE}:</label><!-- IF options.field.L_EXPLAIN --><br /><span>{options.field.L_EXPLAIN}</span><!-- ENDIF --></dt>
+ {options.field.FIELD}
+ </dl>
+ <!-- END field -->
+ </fieldset>
+ <!-- END options -->
+
+ <fieldset class="quick" style="float: {S_CONTENT_FLOW_BEGIN};">
+ <input class="button1" type="submit" name="prev" value="{L_PROFILE_TYPE_OPTIONS}" />
+ </fieldset>
+
+ <fieldset class="quick" style="float: {S_CONTENT_FLOW_END};">
+ {S_HIDDEN_FIELDS}
+ <input class="button1" type="submit" name="save" value="{L_SAVE}" />
+ {S_FORM_TOKEN}
+ </fieldset>
+
+ <!-- ENDIF -->
+
+ </form>
+
+<!-- ELSE -->
+
+ <h1>{L_ACP_CUSTOM_PROFILE_FIELDS}</h1>
+
+ <!-- IF S_NEED_EDIT -->
+ <div class="errorbox">
+ <h3>{L_WARNING}</h3>
+ <p>{L_CUSTOM_FIELDS_NOT_TRANSLATED}</p>
+ </div>
+ <!-- ENDIF -->
+
+ <table cellspacing="1">
+ <thead>
+ <tr>
+ <th>{L_FIELD_IDENT}</th>
+ <th>{L_FIELD_TYPE}</th>
+ <th colspan="2">{L_OPTIONS}</th>
+ </tr>
+ </thead>
+ <tbody>
+ <!-- BEGIN fields -->
+ <!-- IF fields.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
+
+ <td>{fields.FIELD_IDENT}</td>
+ <td>{fields.FIELD_TYPE}</td>
+ <td style="text-align: center;"><a href="{fields.U_ACTIVATE_DEACTIVATE}">{fields.L_ACTIVATE_DEACTIVATE}</a><!-- IF fields.S_NEED_EDIT --> | <a href="{fields.U_TRANSLATE}" style="color: red;">{L_TRANSLATE}</a><!-- ENDIF --></td>
+
+ <td style="width: 80px; text-align: right; white-space: nowrap;">
+ <!-- IF fields.S_FIRST_ROW && not fields.S_LAST_ROW -->
+ {ICON_MOVE_UP_DISABLED}
+ <a href="{fields.U_MOVE_DOWN}">{ICON_MOVE_DOWN}</a>
+ <!-- ELSEIF not fields.S_FIRST_ROW && not fields.S_LAST_ROW-->
+ <a href="{fields.U_MOVE_UP}">{ICON_MOVE_UP}</a>
+ <a href="{fields.U_MOVE_DOWN}">{ICON_MOVE_DOWN}</a>
+ <!-- ELSEIF fields.S_LAST_ROW && not fields.S_FIRST_ROW -->
+ <a href="{fields.U_MOVE_UP}">{ICON_MOVE_UP}</a>
+ {ICON_MOVE_DOWN_DISABLED}
+ <!-- ENDIF -->
+ <!-- IF not fields.S_NEED_EDIT -->
+ <a href="{fields.U_EDIT}">{ICON_EDIT}</a>
+ <!-- ELSE -->
+ {ICON_EDIT_DISABLED}
+ <!-- ENDIF -->
+ <a href="{fields.U_DELETE}">{ICON_DELETE}</a>
+ </td>
+
+ </tr>
+ <!-- BEGINELSE -->
+ <tr class="row3">
+ <td colspan="4">{L_ACP_NO_ITEMS}</td>
+ </tr>
+ <!-- END fields -->
+ </tbody>
+ </table>
+
+ <form id="profile_fields" method="post" action="{U_ACTION}">
+
+ <fieldset class="quick">
+ <input class="text small" type="text" name="field_ident" /> <select name="field_type">{S_TYPE_OPTIONS}</select>
+ <input class="button1" type="submit" name="submit" value="{L_CREATE_NEW_FIELD}" />
+ <input type="hidden" name="create" value="1" />
+ {S_FORM_TOKEN}
+ </fieldset>
+ </form>
+
+<!-- ENDIF -->
+
+<!-- INCLUDE overall_footer.html -->
diff --git a/phpBB/adm/style/acp_prune_forums.html b/phpBB/adm/style/acp_prune_forums.html
new file mode 100644
index 0000000000..069d2c91c3
--- /dev/null
+++ b/phpBB/adm/style/acp_prune_forums.html
@@ -0,0 +1,108 @@
+<!-- INCLUDE overall_header.html -->
+
+<a name="maincontent"></a>
+
+<!-- IF S_PRUNED -->
+
+ <h1>{L_FORUM_PRUNE}</h1>
+
+ <p>{L_PRUNE_SUCCESS}</p>
+
+ <table cellspacing="1">
+ <thead>
+ <tr>
+ <th>{L_FORUM}</th>
+ <th>{L_TOPICS_PRUNED}</th>
+ <th>{L_POSTS_PRUNED}</th>
+ </tr>
+ </thead>
+ <tbody>
+ <!-- BEGIN pruned -->
+ <!-- IF pruned.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
+ <td style="text-align: center;">{pruned.FORUM_NAME}</td>
+ <td style="text-align: center;">{pruned.NUM_TOPICS}</td>
+ <td style="text-align: center;">{pruned.NUM_POSTS}</td>
+ </tr>
+ <!-- BEGINELSE -->
+ <tr>
+ <td colspan="3" class="row3" style="text-align: center;">{L_NO_PRUNE}</td>
+ </tr>
+ <!-- END pruned -->
+ </tbody>
+ </table>
+
+<!-- ELSEIF S_SELECT_FORUM -->
+
+ <h1>{L_ACP_PRUNE_FORUMS}</h1>
+
+ <p>{L_ACP_PRUNE_FORUMS_EXPLAIN}</p>
+
+ <form id="acp_prune" method="post" action="{U_ACTION}">
+
+ <fieldset>
+ <legend>{L_SELECT_FORUM}</legend>
+ <p>{L_LOOK_UP_FORUMS_EXPLAIN}</p>
+ <dl>
+ <dt><label for="forum">{L_LOOK_UP_FORUM}:</label></dt>
+ <dd><select id="forum" name="f[]" multiple="multiple" size="10">{S_FORUM_OPTIONS}</select></dd>
+ <dd><label><input type="checkbox" class="radio" name="all_forums" value="1" /> {L_ALL_FORUMS}</label></dd>
+ </dl>
+
+ <p class="quick">
+ <input class="button1" type="submit" value="{L_LOOK_UP_FORUM}" />
+ </p>
+ </fieldset>
+
+ </form>
+
+<!-- ELSE -->
+
+ <a href="{U_BACK}" style="float: {S_CONTENT_FLOW_END};">&laquo; {L_BACK}</a>
+
+ <h1>{L_ACP_PRUNE_FORUMS}</h1>
+
+ <p>{L_ACP_PRUNE_FORUMS_EXPLAIN}</p>
+
+ <h2>{L_FORUM}</h2>
+
+ <p>{L_SELECTED_FORUMS}: {FORUM_LIST}</p>
+
+ <form id="acp_prune" method="post" action="{U_ACTION}">
+
+ <fieldset>
+ <legend>{L_FORUM_PRUNE}</legend>
+ <dl>
+ <dt><label for="prune_days">{L_PRUNE_NOT_POSTED}:</label></dt>
+ <dd><input type="text" id="prune_days" name="prune_days" /></dd>
+ </dl>
+ <dl>
+ <dt><label for="prune_vieweddays">{L_PRUNE_NOT_VIEWED}:</label></dt>
+ <dd><input type="text" id="prune_vieweddays" name="prune_vieweddays" /></dd>
+ </dl>
+ <dl>
+ <dt><label for="polls">{L_PRUNE_OLD_POLLS}:</label><br /><span>{L_PRUNE_OLD_POLLS_EXPLAIN}</span></dt>
+ <dd><label><input type="radio" class="radio" name="prune_old_polls" value="1" /> {L_YES}</label>
+ <label><input type="radio" class="radio" id="polls" name="prune_old_polls" value="0" checked="checked" /> {L_NO}</label></dd>
+ </dl>
+ <dl>
+ <dt><label for="announce">{L_PRUNE_ANNOUNCEMENTS}:</label></dt>
+ <dd><label><input type="radio" class="radio" name="prune_announce" value="1" /> {L_YES}</label>
+ <label><input type="radio" class="radio" id="announce" name="prune_announce" value="0" checked="checked" /> {L_NO}</label></dd>
+ </dl>
+ <dl>
+ <dt><label for="sticky">{L_PRUNE_STICKY}:</label></dt>
+ <dd><label><input type="radio" class="radio" name="prune_sticky" value="1" /> {L_YES}</label>
+ <label><input type="radio" class="radio" id="sticky" name="prune_sticky" value="0" checked="checked" /> {L_NO}</label></dd>
+ </dl>
+
+ <p class="quick">
+ {S_HIDDEN_FIELDS}
+ {S_FORM_TOKEN}
+ <input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />
+ </p>
+ </fieldset>
+ </form>
+
+<!-- ENDIF -->
+
+<!-- INCLUDE overall_footer.html -->
diff --git a/phpBB/adm/style/acp_prune_users.html b/phpBB/adm/style/acp_prune_users.html
new file mode 100644
index 0000000000..0f2b23dcef
--- /dev/null
+++ b/phpBB/adm/style/acp_prune_users.html
@@ -0,0 +1,59 @@
+<!-- INCLUDE overall_header.html -->
+
+<a name="maincontent"></a>
+
+<h1>{L_ACP_PRUNE_USERS}</h1>
+
+<p>{L_ACP_PRUNE_USERS_EXPLAIN}</p>
+
+<form id="acp_prune" method="post" action="{U_ACTION}">
+
+<fieldset>
+ <legend>{L_ACP_PRUNE_USERS}</legend>
+<dl>
+ <dt><label for="username">{L_USERNAME}:</label></dt>
+ <dd><input type="text" id="username" name="username" /></dd>
+</dl>
+<dl>
+ <dt><label for="email">{L_EMAIL}:</label></dt>
+ <dd><input type="text" id="email" name="email" /></dd>
+</dl>
+<dl>
+ <dt><label for="joined">{L_JOINED}:</label><br /><span>{L_JOINED_EXPLAIN}</span></dt>
+ <dd><select name="joined_select">{S_JOINED_OPTIONS}</select> <input type="text" id="joined" name="joined" /></dd>
+</dl>
+<dl>
+ <dt><label for="active">{L_LAST_ACTIVE}:</label><br /><span>{L_LAST_ACTIVE_EXPLAIN}</span></dt>
+ <dd><select name="active_select">{S_ACTIVE_OPTIONS}</select> <input type="text" id="active" name="active" /></dd>
+</dl>
+<dl>
+ <dt><label for="count">{L_POSTS}:</label></dt>
+ <dd><select name="count_select">{S_COUNT_OPTIONS}</select> <input type="text" id="count" name="count" /></dd>
+</dl>
+<dl>
+ <dt><label for="users">{L_ACP_PRUNE_USERS}:</label><br /><span>{L_SELECT_USERS_EXPLAIN}</span></dt>
+ <dd><textarea id="users" name="users" cols="40" rows="5"></textarea></dd>
+ <dd>[ <a href="{U_FIND_USERNAME}" onclick="find_username(this.href); return false;">{L_FIND_USERNAME}</a> ]</dd>
+</dl>
+<dl>
+ <dt><label for="deleteposts">{L_DELETE_USER_POSTS}:</label><br /><span>{L_DELETE_USER_POSTS_EXPLAIN}</span></dt>
+ <dd><label><input type="radio" class="radio" name="deleteposts" value="1" /> {L_YES}</label>
+ <label><input type="radio" class="radio" id="deleteposts" name="deleteposts" value="0" checked="checked" /> {L_NO}</label></dd>
+</dl>
+<dl>
+ <dt><label for="deactivate">{L_DEACTIVATE_DELETE}:</label><br /><span>{L_DEACTIVATE_DELETE_EXPLAIN}</span></dt>
+ <dd><label><input type="radio" class="radio" name="action" value="delete" /> {L_DELETE_USERS}</label>
+ <label><input type="radio" class="radio" id="deactivate" name="action" value="deactivate" checked="checked" /> {L_DEACTIVATE}</label></dd>
+</dl>
+
+<p class="submit-buttons">
+ <input type="hidden" name="prune" value="1" />
+
+ <input class="button1" type="submit" id="update" name="update" value="{L_SUBMIT}" />&nbsp;
+ <input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
+ {S_FORM_TOKEN}
+</p>
+</fieldset>
+</form>
+
+<!-- INCLUDE overall_footer.html -->
diff --git a/phpBB/adm/style/acp_ranks.html b/phpBB/adm/style/acp_ranks.html
new file mode 100644
index 0000000000..9306e30269
--- /dev/null
+++ b/phpBB/adm/style/acp_ranks.html
@@ -0,0 +1,98 @@
+<!-- INCLUDE overall_header.html -->
+
+<a name="maincontent"></a>
+
+<!-- IF S_EDIT -->
+
+ <a href="{U_BACK}" style="float: {S_CONTENT_FLOW_END};">&laquo; {L_BACK}</a>
+
+ <script type="text/javascript">
+ // <![CDATA[
+ function update_image(newimage)
+ {
+ document.getElementById('image').src = (newimage) ? "{RANKS_PATH}/" + encodeURI(newimage) : "./images/spacer.gif";
+ }
+
+ // ]]>
+ </script>
+
+ <h1>{L_ACP_MANAGE_RANKS}</h1>
+
+ <p>{L_ACP_RANKS_EXPLAIN}</p>
+
+ <form id="acp_ranks" method="post" action="{U_ACTION}">
+
+ <fieldset>
+ <legend>{L_ACP_RANKS}</legend>
+ <dl>
+ <dt><label for="title">{L_RANK_TITLE}:</label></dt>
+ <dd><input name="title" type="text" id="title" value="{RANK_TITLE}" maxlength="255" /></dd>
+ </dl>
+ <dl>
+ <dt><label for="rank_image">{L_RANK_IMAGE}:</label></dt>
+ <dd><select name="rank_image" id="rank_image" onchange="update_image(this.options[selectedIndex].value);">{S_FILENAME_LIST}</select></dd>
+ <dd><img src="{RANK_IMAGE}" id="image" alt="" /></dd>
+ </dl>
+ <dl>
+ <dt><label for="special_rank">{L_RANK_SPECIAL}:</label></dt>
+ <dd><label><input onchange="dE('posts', -1)" type="radio" class="radio" name="special_rank" value="1" id="special_rank"<!-- IF S_SPECIAL_RANK --> checked="checked"<!-- ENDIF --> />{L_YES}</label>
+ <label><input onchange="dE('posts', 1)" type="radio" class="radio" name="special_rank" value="0"<!-- IF not S_SPECIAL_RANK --> checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
+ </dl>
+ <!-- IF S_SPECIAL_RANK --><div id="posts" style="display: none;"><!-- ELSE --><div id="posts"><!-- ENDIF -->
+ <dl>
+ <dt><label for="min_posts">{L_RANK_MINIMUM}:</label></dt>
+ <dd><input name="min_posts" type="text" id="min_posts" maxlength="10" value="{MIN_POSTS}" /></dd>
+ </dl>
+ </div>
+
+ <p class="submit-buttons">
+ <input type="hidden" name="action" value="save" />
+
+ <input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />&nbsp;
+ <input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
+ {S_FORM_TOKEN}
+ </p>
+ </fieldset>
+ </form>
+
+<!-- ELSE -->
+
+ <h1>{L_ACP_MANAGE_RANKS}</h1>
+
+ <p>{L_ACP_RANKS_EXPLAIN}</p>
+
+ <form id="acp_ranks" method="post" action="{U_ACTION}">
+ <fieldset class="tabulated">
+ <legend>{L_ACP_MANAGE_RANKS}</legend>
+
+ <table cellspacing="1">
+ <thead>
+ <tr>
+ <th>{L_RANK_IMAGE}</th>
+ <th>{L_RANK_TITLE}</th>
+ <th>{L_RANK_MINIMUM}</th>
+ <th>{L_ACTION}</th>
+ </tr>
+ </thead>
+ <tbody>
+ <!-- BEGIN ranks -->
+ <!-- IF ranks.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
+ <td style="text-align: center;"><!-- IF ranks.S_RANK_IMAGE --><img src="{ranks.RANK_IMAGE}" alt="{ranks.RANK_TITLE}" title="{ranks.RANK_TITLE}" /><!-- ELSE -->&nbsp; - &nbsp;<!-- ENDIF --></td>
+ <td style="text-align: center;">{ranks.RANK_TITLE}</td>
+ <td style="text-align: center;"><!-- IF ranks.S_SPECIAL_RANK -->&nbsp; - &nbsp;<!-- ELSE -->{ranks.MIN_POSTS}<!-- ENDIF --></td>
+ <td style="text-align: center;"><a href="{ranks.U_EDIT}">{ICON_EDIT}</a> <a href="{ranks.U_DELETE}">{ICON_DELETE}</a></td>
+ </tr>
+ <!-- END ranks -->
+ </tbody>
+ </table>
+
+ <p class="quick">
+ <input class="button2" name="add" type="submit" value="{L_ADD_RANK}" />
+ {S_FORM_TOKEN}
+ </p>
+ </fieldset>
+ </form>
+
+<!-- ENDIF -->
+
+<!-- INCLUDE overall_footer.html -->
diff --git a/phpBB/adm/style/acp_reasons.html b/phpBB/adm/style/acp_reasons.html
new file mode 100644
index 0000000000..23fcfbdeb8
--- /dev/null
+++ b/phpBB/adm/style/acp_reasons.html
@@ -0,0 +1,127 @@
+<!-- INCLUDE overall_header.html -->
+
+<a name="maincontent"></a>
+
+<!-- IF S_EDIT_REASON -->
+
+ <a href="{U_BACK}" style="float: {S_CONTENT_FLOW_END};">&laquo; {L_BACK}</a>
+
+ <h1>{L_TITLE}</h1>
+
+ <p>{L_REASON_EDIT_EXPLAIN}</p>
+
+ <!-- IF S_ERROR -->
+ <div class="errorbox">
+ <h3>{L_WARNING}</h3>
+ <p>{ERROR_MSG}</p>
+ </div>
+ <!-- ENDIF -->
+
+ <!-- IF not S_TRANSLATED -->
+ <h3>{L_AVAILABLE_TITLES}</h3>
+
+ <p>{S_AVAILABLE_TITLES}</p>
+ <!-- ENDIF -->
+
+ <form id="acp_reasons" method="post" action="{U_ACTION}">
+
+ <fieldset>
+ <legend>{L_TITLE}</legend>
+ <p><!-- IF S_TRANSLATED -->{L_IS_TRANSLATED_EXPLAIN}<!-- ELSE -->{L_IS_NOT_TRANSLATED_EXPLAIN}<!-- ENDIF --></p>
+ <dl>
+ <dt><label for="reason_title">{L_REASON_TITLE}:</label></dt>
+ <dd><input name="reason_title" type="text" id="reason_title" value="{REASON_TITLE}" maxlength="255" /></dd>
+ </dl>
+ <!-- IF S_TRANSLATED -->
+ <dl>
+ <dt>{L_REASON_TITLE_TRANSLATED}</dt>
+ <dd>{TRANSLATED_TITLE}</dd>
+ </dl>
+ <!-- ENDIF -->
+ <dl>
+ <dt><label for="reason_description">{L_REASON_DESCRIPTION}:</label></dt>
+ <dd><textarea name="reason_description" id="reason_description" rows="8" cols="80">{REASON_DESCRIPTION}</textarea></dd>
+ </dl>
+ <!-- IF S_TRANSLATED -->
+ <dl>
+ <dt>{L_REASON_DESC_TRANSLATED}</dt>
+ <dd>{TRANSLATED_DESCRIPTION}</dd>
+ </dl>
+ <!-- ENDIF -->
+
+ <p class="submit-buttons">
+ <input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />&nbsp;
+ <input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
+ {S_FORM_TOKEN}
+ </p>
+ </fieldset>
+ </form>
+
+<!-- ELSE -->
+
+ <h1>{L_ACP_REASONS}</h1>
+
+ <p>{L_ACP_REASONS_EXPLAIN}</p>
+
+ <form id="reasons" method="post" action="{U_ACTION}">
+ <fieldset class="tabulated">
+ <legend>{L_ACP_REASONS}</legend>
+
+ <!-- IF .reasons -->
+ <table cellspacing="1">
+ <col class="row1" /><col class="row1" /><col class="row2" />
+ <thead>
+ <tr>
+ <th>{L_REASON}</th>
+ <th>{L_USED_IN_REPORTS}</th>
+ <th>{L_OPTIONS}</th>
+ </tr>
+ </thead>
+ <tbody>
+ <!-- BEGIN reasons -->
+ <tr>
+ <td>
+ <i style="float: {S_CONTENT_FLOW_END}; font-size: .9em;"><!-- IF reasons.S_TRANSLATED -->{L_IS_TRANSLATED}<!-- ELSE -->{L_IS_NOT_TRANSLATED}<!-- ENDIF --></i>
+ <strong>{reasons.REASON_TITLE}<!-- IF reasons.S_OTHER_REASON --> *<!-- ENDIF --></strong>
+ <br /><span>{reasons.REASON_DESCRIPTION}</span>
+ </td>
+ <td style="width: 100px;">{reasons.REASON_COUNT}</td>
+ <td style="width: 80px; text-align: right; white-space: nowrap;">
+ <!-- IF reasons.S_FIRST_ROW && not reasons.S_LAST_ROW -->
+ {ICON_MOVE_UP_DISABLED}
+ <a href="{reasons.U_MOVE_DOWN}">{ICON_MOVE_DOWN}</a>
+ <!-- ELSEIF not reasons.S_FIRST_ROW && not reasons.S_LAST_ROW-->
+ <a href="{reasons.U_MOVE_UP}">{ICON_MOVE_UP}</a>
+ <a href="{reasons.U_MOVE_DOWN}">{ICON_MOVE_DOWN}</a>
+ <!-- ELSEIF reasons.S_LAST_ROW && not reasons.S_FIRST_ROW -->
+ <a href="{reasons.U_MOVE_UP}">{ICON_MOVE_UP}</a>
+ {ICON_MOVE_DOWN_DISABLED}
+ <!-- ENDIF -->
+ <a href="{reasons.U_EDIT}">{ICON_EDIT}</a>
+ <!-- IF reasons.U_DELETE -->
+ <a href="{reasons.U_DELETE}">{ICON_DELETE}</a>
+ <!-- ELSE -->
+ {ICON_DELETE_DISABLED}
+ <!-- ENDIF -->
+ </td>
+ </tr>
+ <!-- END reasons -->
+ </tbody>
+ </table>
+
+ <!-- ENDIF -->
+
+ <p class="quick">
+ <input type="hidden" name="action" value="add" />
+
+ <input type="text" name="reason_title" />
+ <input class="button2" name="addreason" type="submit" value="{L_ADD_NEW_REASON}" />
+ {S_FORM_TOKEN}
+ </p>
+ </fieldset>
+
+ </form>
+
+<!-- ENDIF -->
+
+<!-- INCLUDE overall_footer.html -->
diff --git a/phpBB/adm/style/acp_search.html b/phpBB/adm/style/acp_search.html
new file mode 100644
index 0000000000..5fd7a23d97
--- /dev/null
+++ b/phpBB/adm/style/acp_search.html
@@ -0,0 +1,157 @@
+<!-- INCLUDE overall_header.html -->
+
+<a name="maincontent"></a>
+
+<!-- IF S_SETTINGS -->
+ <h1>{L_ACP_SEARCH_SETTINGS}</h1>
+
+ <p>{L_ACP_SEARCH_SETTINGS_EXPLAIN}</p>
+
+ <form id="acp_search" method="post" action="{U_ACTION}">
+
+ <fieldset>
+ <legend>{L_GENERAL_SEARCH_SETTINGS}</legend>
+ <dl>
+ <dt><label for="load_search">{L_YES_SEARCH}:</label><br /><span>{L_YES_SEARCH_EXPLAIN}</span></dt>
+ <dd><label><input type="radio" class="radio" id="load_search" name="config[load_search]" value="1"<!-- IF S_YES_SEARCH --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
+ <label><input type="radio" class="radio" name="config[load_search]" value="0"<!-- IF not S_YES_SEARCH --> checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
+ </dl>
+ <dl>
+ <dt><label for="search_interval">{L_SEARCH_INTERVAL}:</label><br /><span>{L_SEARCH_INTERVAL_EXPLAIN}</span></dt>
+ <dd><input id="search_interval" type="text" size="4" maxlength="4" name="config[search_interval]" value="{SEARCH_INTERVAL}" /> {L_SECONDS}</dd>
+ </dl>
+ <dl>
+ <dt><label for="search_anonymous_interval">{L_SEARCH_GUEST_INTERVAL}:</label><br /><span>{L_SEARCH_GUEST_INTERVAL_EXPLAIN}</span></dt>
+ <dd><input id="search_anonymous_interval" type="text" size="4" maxlength="4" name="config[search_anonymous_interval]" value="{SEARCH_GUEST_INTERVAL}" /> {L_SECONDS}</dd>
+ </dl>
+ <dl>
+ <dt><label for="limit_search_load">{L_LIMIT_SEARCH_LOAD}:</label><br /><span>{L_LIMIT_SEARCH_LOAD_EXPLAIN}</span></dt>
+ <dd><input id="limit_search_load" type="text" size="4" maxlength="4" name="config[limit_search_load]" value="{LIMIT_SEARCH_LOAD}" /></dd>
+ </dl>
+ <dl>
+ <dt><label for="min_search_author_chars">{L_MIN_SEARCH_AUTHOR_CHARS}:</label><br /><span>{L_MIN_SEARCH_AUTHOR_CHARS_EXPLAIN}</span></dt>
+ <dd><input id="min_search_author_chars" type="text" size="4" maxlength="4" name="config[min_search_author_chars]" value="{MIN_SEARCH_AUTHOR_CHARS}" /></dd>
+ </dl>
+ <dl>
+ <dt><label for="max_num_search_keywords">{L_MAX_NUM_SEARCH_KEYWORDS}:</label><br /><span>{L_MAX_NUM_SEARCH_KEYWORDS_EXPLAIN}</span></dt>
+ <dd><input id="max_num_search_keywords" type="text" size="4" maxlength="4" name="config[max_num_search_keywords]" value="{MAX_NUM_SEARCH_KEYWORDS}" /></dd>
+ </dl>
+ <dl>
+ <dt><label for="search_store_results">{L_SEARCH_STORE_RESULTS}:</label><br /><span>{L_SEARCH_STORE_RESULTS_EXPLAIN}</span></dt>
+ <dd><input id="search_store_results" type="text" size="4" maxlength="6" name="config[search_store_results]" value="{SEARCH_STORE_RESULTS}" /> {L_SECONDS}</dd>
+ </dl>
+ </fieldset>
+
+ <fieldset>
+ <legend>{L_SEARCH_TYPE}</legend>
+ <dl>
+ <dt><label for="search_type">{L_SEARCH_TYPE}:</label><br /><span>{L_SEARCH_TYPE_EXPLAIN}</span></dt>
+ <dd><select id="search_type" name="config[search_type]">{S_SEARCH_TYPES}</select></dd>
+ </dl>
+ </fieldset>
+
+ <!-- BEGIN backend -->
+
+ <fieldset>
+ <legend>{backend.NAME}</legend>
+ {backend.SETTINGS}
+ </fieldset>
+
+ <!-- END backend -->
+
+ <fieldset class="submit-buttons">
+ <legend>{L_SUBMIT}</legend>
+ <input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />&nbsp;
+ <input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
+ {S_FORM_TOKEN}
+ </fieldset>
+ </form>
+
+<!-- ELSEIF S_INDEX -->
+
+ <script type="text/javascript">
+ // <![CDATA[
+ /**
+ * Popup search progress bar
+ */
+ function popup_progress_bar(progress_type)
+ {
+ close_waitscreen = 0;
+ // no scrollbars
+ popup('{UA_PROGRESS_BAR}&amp;type=' + progress_type, 400, 240, '_index');
+ }
+ // ]]>
+ </script>
+
+ <h1>{L_ACP_SEARCH_INDEX}</h1>
+
+ <!-- IF S_CONTINUE_INDEXING -->
+ <p>{L_CONTINUE_EXPLAIN}</p>
+
+ <form id="acp_search_continue" method="post" action="{U_CONTINUE_INDEXING}">
+ <fieldset class="submit-buttons">
+ <legend>{L_SUBMIT}</legend>
+ <input class="button1" type="submit" id="continue" name="continue" value="{L_CONTINUE}" onclick="popup_progress_bar('{S_CONTINUE_INDEXING}');" />&nbsp;
+ <input class="button2" type="submit" id="cancel" name="cancel" value="{L_CANCEL}" />
+ {S_FORM_TOKEN}
+ </fieldset>
+ </form>
+ <!-- ELSE -->
+
+ <p>{L_ACP_SEARCH_INDEX_EXPLAIN}</p>
+
+ <!-- BEGIN backend -->
+
+ <!-- IF backend.S_STATS -->
+
+ <form id="acp_search_index_{backend.NAME}" method="post" action="{U_ACTION}">
+
+ <fieldset class="tabulated">
+
+ {backend.S_HIDDEN_FIELDS}
+
+ <legend>{L_INDEX_STATS}: {backend.L_NAME} <!-- IF backend.S_ACTIVE -->({L_ACTIVE}) <!-- ENDIF --></legend>
+
+ <table cellspacing="1">
+ <caption>{backend.L_NAME} <!-- IF backend.S_ACTIVE -->({L_ACTIVE}) <!-- ENDIF --></caption>
+ <col class="col1" /><col class="col2" /><col class="col1" /><col class="col2" />
+ <thead>
+ <tr>
+ <th>{L_STATISTIC}</th>
+ <th>{L_VALUE}</th>
+ <th>{L_STATISTIC}</th>
+ <th>{L_VALUE}</th>
+ </tr>
+ </thead>
+ <tbody>
+ <!-- BEGIN data -->
+ <tr>
+ <td>{backend.data.STATISTIC_1}:</td>
+ <td>{backend.data.VALUE_1}</td>
+ <td>{backend.data.STATISTIC_2}<!-- IF backend.data.STATISTIC_2 -->:<!-- ENDIF --></td>
+ <td>{backend.data.VALUE_2}</td>
+ </tr>
+ <!-- END data -->
+ </tbody>
+ </table>
+
+ <!-- ENDIF -->
+
+ <p class="quick">
+ <!-- IF backend.S_INDEXED -->
+ <input class="button2" type="submit" name="action[delete]" value="{L_DELETE_INDEX}" onclick="popup_progress_bar('delete');" />
+ <!-- ELSE -->
+ <input class="button2" type="submit" name="action[create]" value="{L_CREATE_INDEX}" onclick="popup_progress_bar('create');" />
+ <!-- ENDIF -->
+ </p>
+ {S_FORM_TOKEN}
+ </fieldset>
+
+ </form>
+ <!-- END backend -->
+
+ <!-- ENDIF -->
+
+<!-- ENDIF -->
+
+<!-- INCLUDE overall_footer.html -->
diff --git a/phpBB/adm/style/acp_send_statistics.html b/phpBB/adm/style/acp_send_statistics.html
new file mode 100644
index 0000000000..2a9b61f314
--- /dev/null
+++ b/phpBB/adm/style/acp_send_statistics.html
@@ -0,0 +1,71 @@
+<!-- INCLUDE overall_header.html -->
+
+<a name="maincontent"></a>
+
+<h1>{L_SEND_STATISTICS}</h1>
+
+<p>{L_EXPLAIN_SEND_STATISTICS}</p>
+
+<script type="text/javascript">
+//<![CDATA[
+var iframect = 0;
+
+function iframe_updated()
+{
+ if (iframect++ == 0)
+ {
+ return;
+ }
+
+ dE('questionnaire-form', -1);
+ dE('questionnaire-thanks', 1);
+}
+//]]>
+</script>
+
+<iframe onload="iframe_updated();" name="questionaire_result" style="display: none;"></iframe>
+
+<form action="{U_COLLECT_STATS}" method="post" target="questionaire_result" id="questionnaire-form">
+
+ <p><a href="{U_ACP_MAIN}">{L_DONT_SEND_STATISTICS}</a></p>
+
+ <p>{L_EXPLAIN_SHOW_STATISTICS}</p>
+
+ <p id="show-button"><input type="button" class="button2" onclick="dE('configlist', 1); dE('show-button', -1);" value="{L_SHOW_STATISTICS}" /></p>
+
+ <div id="configlist">
+ <input type="button" class="button2" onclick="dE('show-button', 1); dE('configlist', -1);" value="{L_HIDE_STATISTICS}" />
+ <p class="submit-buttons">
+ <input class="button1" type="submit" id="submit" name="submit" value="{L_SEND_STATISTICS}" />
+ </p>
+
+ <!-- BEGIN providers -->
+ <fieldset>
+ <legend>{providers.NAME}</legend>
+ <!-- BEGIN values -->
+ <dl>
+ <dt>{providers.values.KEY}</dt>
+ <dd>{providers.values.VALUE}</dd>
+ </dl>
+ <!-- END values -->
+ </fieldset>
+ <!-- END providers -->
+ </div>
+ <p class="submit-buttons">
+ <input type="hidden" name="systemdata" value="{RAW_DATA}" />
+ <input class="button1" type="submit" id="submit" name="submit" value="{L_SEND_STATISTICS}" />
+ </p>
+</form>
+
+<div id="questionnaire-thanks" class="successbox">
+ <p><strong>{L_THANKS_SEND_STATISTICS}</strong><br /><br /><a href="{U_ACP_MAIN}">&laquo; {L_GO_ACP_MAIN}</a></p>
+</div>
+
+<script type="text/javascript">
+//<![CDATA[
+ dE('configlist', -1);
+ dE('questionnaire-thanks', -1);
+//]]>
+</script>
+
+<!-- INCLUDE overall_footer.html --> \ No newline at end of file
diff --git a/phpBB/adm/style/acp_styles.html b/phpBB/adm/style/acp_styles.html
new file mode 100644
index 0000000000..5bde4008ad
--- /dev/null
+++ b/phpBB/adm/style/acp_styles.html
@@ -0,0 +1,521 @@
+<!-- INCLUDE overall_header.html -->
+
+<a name="maincontent"></a>
+
+<!-- IF S_DELETE -->
+
+ <a href="{U_BACK}" style="float: {S_CONTENT_FLOW_END};">&laquo; {L_BACK}</a>
+
+ <h1>{L_TITLE}</h1>
+
+ <p>{L_EXPLAIN}</p>
+
+ <form id="acp_styles" method="post" action="{U_ACTION}">
+
+ <fieldset>
+ <legend>{L_TITLE}</legend>
+ <dl>
+ <dt><label>{L_NAME}:</label></dt>
+ <dd><strong>{NAME}</strong></dd>
+ </dl>
+ <dl>
+ <dt><label for="new_id">{L_REPLACE}:</label><br /><span>{L_REPLACE_EXPLAIN}</span></dt>
+ <dd><select id="new_id" name="new_id">{S_REPLACE_OPTIONS}</select></dd>
+ </dl>
+
+ <p class="quick">
+ <input class="button1" type="submit" name="update" value="{L_DELETE}" />
+ {S_FORM_TOKEN}
+ </p>
+ </fieldset>
+ </form>
+
+<!-- ELSEIF S_EDIT_IMAGESET -->
+
+ <a href="{U_BACK}" style="float: {S_CONTENT_FLOW_END};">&laquo; {L_BACK}</a>
+
+ <h1>{L_TITLE}</h1>
+
+ <p>{L_EXPLAIN}</p>
+
+ <!-- IF SUCCESS -->
+ <div class="successbox">
+ <p>{L_IMAGESET_UPDATED}</p>
+ </div>
+ <!-- ENDIF -->
+
+ <!-- IF ERROR -->
+ <div class="errorbox">
+ <p>{L_NO_IMAGE}</p>
+ </div>
+ <!-- ENDIF -->
+
+ <script type="text/javascript" defer="defer">
+ // <![CDATA[
+ function update_image(newimage)
+ {
+ document.getElementById('newimg').src = (newimage) ? '../styles/{A_PATH}/imageset/' + encodeURI(newimage) : 'images/no_image.png';
+ }
+ // ]]>
+ </script>
+ <script type="text/javascript">
+ // <![CDATA[
+ /**
+ * Handle displaying/hiding the dimension fields
+ */
+ function display_options(value)
+ {
+ if (value == 0)
+ {
+ dE('img_dimensions', -1);
+ }
+ else
+ {
+ dE('img_dimensions', 1);
+ }
+ }
+
+ /**
+ * Init the wanted display functionality if javascript is enabled.
+ * If javascript is not available, the user is still able to properly administrate.
+ */
+ onload = function()
+ {
+ <!-- IF not IMAGE_SIZE -->
+ dE('img_dimensions', -1);
+ <!-- ENDIF -->
+ }
+ // ]]>
+ </script>
+
+ <form method="post" action="{U_ACTION}">
+
+ <fieldset class="quick" style="text-align: left;">
+ <legend>{L_SELECT_IMAGE}</legend>
+ {L_SELECT_IMAGE}: <select name="imgname" onchange="this.form.submit();">
+ <!-- BEGIN category -->
+ <option class="sep" value="" disabled="disabled">{category.NAME}</option>
+ <!-- BEGIN images --><option value="{category.images.VALUE}"<!-- IF category.images.SELECTED--> selected="selected"<!-- ENDIF -->>&nbsp;&nbsp;&nbsp;&nbsp;{category.images.TEXT}</option>
+ <!-- END images -->
+ <!-- END category -->
+ </select>&nbsp; <input class="button1" type="submit" value="{L_SELECT}" tabindex="100" />
+ </fieldset>
+
+ <fieldset>
+ <legend>{L_EDIT_IMAGESET}</legend>
+ <dl>
+ <dt><label>{L_CURRENT_IMAGE}:</label></dt>
+ <dd><img src="<!-- IF IMAGE_REQUEST -->{IMAGE_REQUEST}<!-- ELSE -->images/no_image.png<!-- ENDIF -->" alt="" /></dd>
+ </dl>
+ <dl>
+ <dt><label>{L_SELECTED_IMAGE}:</label></dt>
+ <dd><img src="{IMG_SRC}" id="newimg" alt="" /></dd>
+ </dl>
+ </fieldset>
+
+ <fieldset>
+ <legend>{L_IMAGE}</legend>
+ <dl>
+ <dt><label for="imgpath">{L_IMAGE}:</label></dt>
+ <dd><select id="imgpath" name="imgpath" onchange="update_image(this.options[selectedIndex].value);"><option value=""<!-- IF not IMAGE_SELECT--> selected="selected"<!-- ENDIF -->>{L_NO_IMAGE}</option>
+ <!-- BEGIN imagesetlist -->
+ <option class="sep" value=""><!-- IF imagesetlist.TYPE -->{L_LOCALISED_IMAGES}<!-- ELSE -->{L_GLOBAL_IMAGES}<!-- ENDIF --></option>
+ <!-- BEGIN images -->
+ <option value="{imagesetlist.images.VALUE}"<!-- IF imagesetlist.images.SELECTED--> selected="selected"<!-- ENDIF -->>{imagesetlist.images.TEXT}</option>
+ <!-- END images -->
+ <!-- END imagesetlist -->
+ </select>
+ </dd>
+ </dl>
+ <dl>
+ <dt><label for="imgsize">{L_INCLUDE_DIMENSIONS}:</label><br /><span>{L_DIMENSIONS_EXPLAIN}</span></dt>
+ <dd><label><input type="radio" class="radio" name="imgsize" id="imgsize" onclick="display_options(1);" value="1"<!-- IF IMAGE_SIZE --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
+ <label><input type="radio" class="radio" name="imgsize" onclick="display_options(0);" value="0"<!-- IF not IMAGE_SIZE --> checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
+ </dl>
+ <div id="img_dimensions">
+ <dl>
+ <dt><label for="imgwidth">{L_IMAGE_WIDTH}:</label><br /><span>{L_AUTOMATIC_EXPLAIN}</span></dt>
+ <dd><input id="imgwidth" type="text" name="imgwidth" value="{IMAGE_SIZE}" /></dd>
+ </dl>
+ <dl>
+ <dt><label for="imgheight">{L_IMAGE_HEIGHT}:</label><br /><span>{L_AUTOMATIC_EXPLAIN}</span></dt>
+ <dd><input id="imgheight" type="text" name="imgheight" value="{IMAGE_HEIGHT}" /></dd>
+ </dl>
+ </div>
+ </fieldset>
+
+ <fieldset class="submit-buttons">
+ <legend>{L_SUBMIT}</legend>
+ <input class="button1" type="submit" name="update" value="{L_SUBMIT}" />&nbsp;&nbsp;<input class="button2" type="reset" value="{L_RESET}" />
+ {S_FORM_TOKEN}
+ </fieldset>
+ </form>
+
+<!-- ELSEIF S_EDIT_TEMPLATE or S_EDIT_THEME -->
+
+ <a href="{U_BACK}" style="float: {S_CONTENT_FLOW_END};">&laquo; {L_BACK}</a>
+
+ <h1>{L_EDIT}</h1>
+
+ <p>{L_EDIT_EXPLAIN}</p>
+
+ <p>{L_SELECTED}: <strong>{SELECTED_TEMPLATE}</strong></p>
+
+ <form id="acp_styles" method="post" action="{U_ACTION}">
+
+ <!-- IF S_EDIT_TEMPLATE or (S_EDIT_THEME and not S_THEME_IN_DB) -->
+ <fieldset>
+ <legend>{L_SELECT}</legend>
+ <dl>
+ <dt><label for="template_file">{L_FILE}:</label></dt>
+ <dd><select id="template_file" name="template_file" onchange="if (this.options[this.selectedIndex].value != '') this.form.submit();">{S_TEMPLATES}</select> <input class="button2" type="submit" value="{L_SELECT}" /></dd>
+ </dl>
+ {S_FORM_TOKEN}
+ </fieldset>
+ <!-- ENDIF -->
+ </form>
+
+ <!-- IF TEMPLATE_FILE or (S_EDIT_THEME and S_THEME_IN_DB) -->
+ <script type="text/javascript" defer="defer">
+ // <![CDATA[
+
+ function change_editor_height(height)
+ {
+ height = Number(height);
+
+ if (isNaN(height))
+ {
+ return;
+ }
+
+ editor = document.getElementById('template_data');
+ editor.rows = Math.max(5, Math.min(height, 999));
+
+ append_text_rows('acp_styles', height);
+ append_text_rows('acp_template', height);
+ }
+
+ function append_text_rows(form_name, value)
+ {
+ value = Number(value);
+
+ if (isNaN(value))
+ {
+ return;
+ }
+
+ url = document.getElementById(form_name).action;
+
+ // Make sure &amp; is actually... &
+ url = url.replace(/&amp;/g, '&');
+
+ var_start = url.indexOf('&text_rows=');
+ if (var_start == -1)
+ {
+ document.getElementById(form_name).action = url + "&text_rows=" + value;
+ }
+ else
+ {
+ url_start = url.substring(0, var_start + 1);
+ var_end = url.substring(var_start + 1).indexOf('&');
+ if (var_end == -1)
+ {
+ document.getElementById(form_name).action = url_start + "text_rows=" + value;
+ }
+ else
+ {
+ document.getElementById(form_name).action = url_start + url.substring(var_end + var_start + 2) + "&text_rows=" + value;
+ }
+ }
+ }
+
+ // ]]>
+ </script>
+
+ <form id="acp_template" method="post" action="{U_ACTION}">
+
+ <fieldset>
+ <legend>{L_EDITOR}</legend>
+ <!-- IF S_EDIT_TEMPLATE or (S_EDIT_THEME and not S_THEME_IN_DB) -->
+ <dl>
+ <dt><label>{L_SELECTED_FILE}:</label></dt>
+ <dd>{TEMPLATE_FILE}</dd>
+ </dl>
+ <!-- ENDIF -->
+ <dl>
+ <dt><label for="text_rows">{L_EDITOR_HEIGHT}:</label></dt>
+ <dd><input id="text_rows" type="text" maxlength="3" value="{TEXT_ROWS}" /> <input class="button2" type="button" name="update" onclick="change_editor_height(this.form.text_rows.value);" value="{L_UPDATE}" /></dd>
+ </dl>
+ <textarea id="template_data" name="template_data" style="font-family:'Courier New', monospace;font-size:9pt;line-height:125%;width:100%;" cols="80" rows="{TEXT_ROWS}">{TEMPLATE_DATA}</textarea>
+ </fieldset>
+
+ <fieldset class="submit-buttons">
+ <legend>{L_SUBMIT}</legend>
+ {S_HIDDEN_FIELDS}
+ {S_FORM_TOKEN}
+ <input class="button1" id="save" type="submit" name="save" value="{L_SUBMIT}" />
+ </fieldset>
+ </form>
+ <!-- ENDIF -->
+
+<!-- ELSEIF S_CACHE -->
+
+ <a href="{U_BACK}" style="float: {S_CONTENT_FLOW_END};">&laquo; {L_BACK}</a>
+
+ <h1>{L_TEMPLATE_CACHE}</h1>
+
+ <p>{L_TEMPLATE_CACHE_EXPLAIN}</p>
+
+ <form id="acp_styles" method="post" action="{U_ACTION}">
+ <fieldset class="tabulated">
+ <legend>{L_TEMPLATE_CACHE}</legend>
+
+ <table cellspacing="1">
+ <thead>
+ <tr>
+ <th>{L_CACHE_FILENAME}</th>
+ <th>{L_CACHE_FILESIZE}</th>
+ <th>{L_CACHE_CACHED}</th>
+ <th>{L_CACHE_MODIFIED}</th>
+ <th>{L_MARK}</th>
+ </tr>
+ </thead>
+ <tbody>
+ <!-- BEGIN file -->
+ <!-- IF file.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
+ <td><a href="{file.U_VIEWSOURCE}" onclick="popup(this.href, 750, 550, '_source'); return false;">{file.FILENAME_PATH}</a></td>
+ <td>{file.FILESIZE}</td>
+ <td>{file.CACHED}</td>
+ <td>{file.MODIFIED}</td>
+ <td><input type="checkbox" class="radio" name="delete[]" value="{file.FILENAME}" /></td>
+ </tr>
+ <!-- BEGINELSE -->
+ <tr class="row1">
+ <td colspan="5">{L_TEMPLATE_CACHE_EMPTY}</td>
+ </tr>
+ <!-- END file -->
+ </tbody>
+ </table>
+
+ <p class="quick">
+ <span class="small"><a href="#" onclick="marklist('acp_styles', 'delete', true); return false;">{L_MARK_ALL}</a> :: <a href="#" onclick="marklist('acp_styles', 'delete', false); return false;">{L_UNMARK_ALL}</a></span><br />
+ {S_FORM_TOKEN}
+ <input class="button1" type="submit" id="submit" name="submit" value="{L_DELETE_MARKED}" />
+ </p>
+ </fieldset>
+ </form>
+
+<!-- ELSEIF S_EXPORT -->
+
+ <a href="{U_BACK}" style="float: {S_CONTENT_FLOW_END};">&laquo; {L_BACK}</a>
+
+ <h1>{L_TITLE}</h1>
+
+ <p>{L_EXPLAIN}</p>
+
+ <!-- IF S_ERROR_MSG -->
+ <div class="errorbox">
+ <h3>{L_WARNING}</h3>
+ <p>{ERROR_MSG}</p>
+ </div>
+ <!-- ENDIF -->
+
+ <form id="acp_styles" method="post" action="{U_ACTION}">
+
+ <fieldset>
+ <legend>{L_TITLE}</legend>
+ <dl>
+ <dt><label>{L_NAME}:</label></dt>
+ <dd><strong>{NAME}</strong></dd>
+ </dl>
+ <!-- IF S_STYLE -->
+ <dl>
+ <dt><label for="inc_template">{L_INCLUDE_TEMPLATE}:</label></dt>
+ <dd><label><input type="radio" class="radio" id="inc_template" name="inc_template" value="1" checked="checked" /> {L_YES}</label>
+ <label><input type="radio" class="radio" name="inc_template" value="0" /> {L_NO}</label></dd>
+ </dl>
+ <dl>
+ <dt><label for="inc_theme">{L_INCLUDE_THEME}:</label></dt>
+ <dd><label><input type="radio" class="radio" id="inc_theme" name="inc_theme" value="1" checked="checked" /> {L_YES}</label>
+ <label><input type="radio" class="radio" name="inc_theme" value="0" /> {L_NO}</label></dd>
+ </dl>
+ <dl>
+ <dt><label for="inc_imageset">{L_INCLUDE_IMAGESET}:</label></dt>
+ <dd><label><input type="radio" class="radio" id="inc_imageset" name="inc_imageset" value="1" checked="checked" /> {L_YES}</label>
+ <label><input type="radio" class="radio" name="inc_imageset" value="0" /> {L_NO}</label></dd>
+ </dl>
+ <!-- ENDIF -->
+ <dl>
+ <dt><label for="store">{L_DOWNLOAD_STORE}:</label><br /><span>{L_DOWNLOAD_STORE_EXPLAIN}</span></dt>
+ <dd><label><input type="radio" class="radio" id="store" name="store" value="1" checked="checked" /> {L_EXPORT_STORE}</label>
+ <label><input type="radio" class="radio" name="store" value="0" /> {L_EXPORT_DOWNLOAD}</label></dd>
+ </dl>
+ <dl>
+ <dt><label for="format">{L_ARCHIVE_FORMAT}:</label></dt>
+ <dd>{FORMAT_BUTTONS}</dd>
+ </dl>
+
+ <p class="quick">
+ {S_FORM_TOKEN}
+ <input class="button1" type="submit" name="update" value="{L_SUBMIT}" />
+ </p>
+ </fieldset>
+
+
+ </form>
+
+<!-- ELSEIF S_FRONTEND -->
+
+ <h1>{L_TITLE}</h1>
+
+ <p>{L_EXPLAIN}</p>
+
+ <!-- IF S_STYLE --> <!-- DEFINE $COLSPAN = 5 --> <!-- ELSE --> <!-- DEFINE $COLSPAN = 4 --> <!-- ENDIF -->
+
+ <table cellspacing="1">
+ <col class="row1" /><!-- IF S_STYLE --><col class="row1" /><!-- ENDIF --><col class="row2" /><col class="row2" />
+ <thead>
+ <tr>
+ <th>{L_NAME}</th>
+ <!-- IF S_STYLE --><th>{L_STYLE_USED_BY}</th><!-- ENDIF -->
+ <th>{L_OPTIONS}</th>
+ <th>{L_ACTIONS}</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td class="row3" colspan="{$COLSPAN}"><strong>{L_INSTALLED}</strong></td>
+ </tr>
+ <!-- BEGIN installed -->
+ <tr>
+ <td><strong>{installed.NAME}</strong><!-- IF installed.S_DEFAULT_STYLE --> *<!-- ENDIF --></td>
+ <!-- IF S_STYLE -->
+ <td style="text-align: center;">{installed.STYLE_COUNT}</td>
+ <!-- ENDIF -->
+ <td style="text-align: center;">
+ {installed.S_OPTIONS}
+ </td>
+ <td style="text-align: center;">
+ <!-- IF S_STYLE -->
+ <a href="{installed.U_STYLE_ACT_DEACT}">{installed.L_STYLE_ACT_DEACT}</a> |
+ <!-- ENDIF -->
+ {installed.S_ACTIONS}
+ <!-- IF S_STYLE -->
+ | <a href="{installed.U_PREVIEW}">{L_PREVIEW}</a>
+ <!-- ENDIF -->
+ </td>
+ </tr>
+ <!-- END installed -->
+ <tr>
+ <td class="row3" colspan="{$COLSPAN}"><strong>{L_UNINSTALLED}</strong></td>
+ </tr>
+ <!-- IF not .uninstalled -->
+ <tr>
+ <td class="row1" colspan="{$COLSPAN}" style="text-align: center;">{L_NO_UNINSTALLED}</td>
+ </tr>
+ <!-- ENDIF -->
+ <!-- BEGIN uninstalled -->
+ <tr>
+ <td<!-- IF S_STYLE --> colspan="2"<!-- ENDIF -->><strong>{uninstalled.NAME}</strong><br /><span>{L_COPYRIGHT}: {uninstalled.COPYRIGHT}</span></td>
+ <td style="text-align: center;" colspan="2"><a href="{uninstalled.U_INSTALL}">{L_INSTALL}</a></td>
+ </tr>
+ <!-- END uninstalled -->
+ </tbody>
+ </table>
+
+ <!-- IF S_STYLE -->
+ <form id="acp_styles" method="post" action="{U_ACTION}">
+
+ <fieldset class="quick">
+ <legend>{L_CREATE}</legend>
+ {L_CREATE}: <input type="text" name="name" value="" /> {L_FROM} <select name="basis">{S_BASIS_OPTIONS}</select> <input class="button2" type="submit" name="add" value="{L_SUBMIT}" />
+ </fieldset>
+
+ </form>
+ <!-- ENDIF -->
+
+<!-- ELSEIF S_DETAILS -->
+
+ <a href="{U_BACK}" style="float: {S_CONTENT_FLOW_END};">&laquo; {L_BACK}</a>
+
+ <h1>{L_TITLE}</h1>
+
+ <p>{L_EXPLAIN}</p>
+
+ <!-- IF S_ERROR_MSG -->
+ <div class="errorbox">
+ <h3>{L_WARNING}</h3>
+ <p>{ERROR_MSG}</p>
+ </div>
+ <!-- ENDIF -->
+
+ <form id="acp_styles" method="post" action="{U_ACTION}">
+
+ <fieldset>
+ <legend>{L_TITLE}</legend>
+ <dl>
+ <dt><label for="name">{L_NAME}:</label></dt>
+ <dd><!-- IF S_INSTALL --><strong id="name">{NAME}</strong><!-- ELSE --><input type="text" id="name" name="name" value="{NAME}" /><!-- ENDIF --></dd>
+ </dl>
+ <dl>
+ <dt><label for="copyright">{L_COPYRIGHT}:</label></dt>
+ <dd><!-- IF S_INSTALL --><strong id="copyright">{COPYRIGHT}</strong><!-- ELSE --><input type="text" id="copyright" name="copyright" value="{COPYRIGHT}" /><!-- ENDIF --></dd>
+ </dl>
+ <!-- IF S_SUPERTEMPLATE -->
+ <dl>
+ <dt><label for="inheriting">{L_INHERITING_FROM}:</label></dt>
+ <dd><strong id="inheriting">{S_SUPERTEMPLATE}</strong></dd>
+ </dl>
+ <!-- ENDIF -->
+ <!-- IF S_STYLE and not S_BASIS -->
+ <dl>
+ <dt><label for="template_id">{L_STYLE_TEMPLATE}:</label></dt>
+ <dd><!-- IF S_INSTALL --><strong id="template_id">{TEMPLATE_NAME}</strong><!-- ELSE --><select id="template_id" name="template_id">{S_TEMPLATE_OPTIONS}</select><!-- ENDIF --></dd>
+ </dl>
+ <dl>
+ <dt><label for="theme_id">{L_STYLE_THEME}:</label></dt>
+ <dd><!-- IF S_INSTALL --><strong id="theme_id">{THEME_NAME}</strong><!-- ELSE --><select id="theme_id" name="theme_id">{S_THEME_OPTIONS}</select><!-- ENDIF --></dd>
+ </dl>
+ <dl>
+ <dt><label for="imageset_id">{L_STYLE_IMAGESET}:</label></dt>
+ <dd><!-- IF S_INSTALL --><strong id="imageset_id">{IMAGESET_NAME}</strong><!-- ELSE --><select id="imageset_id" name="imageset_id">{S_IMAGESET_OPTIONS}</select><!-- ENDIF --></dd>
+ </dl>
+ <!-- ENDIF -->
+ <!-- IF (S_TEMPLATE or S_THEME) and (S_LOCATION or not S_INSTALL) -->
+ <dl>
+ <dt><label for="store_db">{L_LOCATION}:</label><br /><span><!-- IF S_STORE_DB_DISABLED -->{L_LOCATION_DISABLED_EXPLAIN}<!-- ELSE -->{L_LOCATION_EXPLAIN}<!-- ENDIF --></span></dt>
+ <dd><label><input type="radio" class="radio" name="store_db" value="0"<!-- IF not S_STORE_DB --> id="store_db" checked="checked"<!-- ENDIF --> <!-- IF S_STORE_DB_DISABLED -->disabled="disabled" <!-- ENDIF --> />{L_STORE_FILESYSTEM}</label>
+ <label><input type="radio" class="radio" name="store_db" value="1"<!-- IF S_STORE_DB --> id="store_db" checked="checked"<!-- ENDIF --> <!-- IF S_STORE_DB_DISABLED -->disabled="disabled" <!-- ENDIF -->/> {L_STORE_DATABASE}</label></dd>
+ </dl>
+ <!-- ENDIF -->
+ <!-- IF S_STYLE -->
+ </fieldset>
+
+ <fieldset>
+ <legend>{L_OPTIONS}</legend>
+ <dl>
+ <dt><label for="style_active">{L_STYLE_ACTIVE}:</label></dt>
+ <dd><label><input type="radio" class="radio" name="style_active" value="1"<!-- IF S_STYLE_ACTIVE --> id="style_active" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
+ <label><input type="radio" class="radio" name="style_active" value="0"<!-- IF not S_STYLE_ACTIVE --> id="style_active" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
+ </dl>
+ <!-- IF not S_STYLE_DEFAULT -->
+ <dl>
+ <dt><label for="style_default">{L_STYLE_DEFAULT}:</label></dt>
+ <dd><label><input type="radio" class="radio" name="style_default" value="1" /> {L_YES}</label>
+ <label><input type="radio" class="radio" id="style_default" name="style_default" value="0" checked="checked" /> {L_NO}</label></dd>
+ </dl>
+ <!-- ENDIF -->
+ <!-- ENDIF -->
+ </fieldset>
+
+ <fieldset class="submit-buttons">
+ <legend>{L_SUBMIT}</legend>
+ <input class="button1" type="submit" name="update" value="{L_SUBMIT}" />
+ {S_FORM_TOKEN}
+ </fieldset>
+
+ </form>
+
+<!-- ENDIF -->
+
+<!-- INCLUDE overall_footer.html -->
diff --git a/phpBB/adm/style/acp_update.html b/phpBB/adm/style/acp_update.html
new file mode 100644
index 0000000000..34d4f6934e
--- /dev/null
+++ b/phpBB/adm/style/acp_update.html
@@ -0,0 +1,46 @@
+<!-- INCLUDE overall_header.html -->
+
+<a name="maincontent"></a>
+
+<!-- IF S_VERSION_CHECK -->
+
+ <h1>{L_VERSION_CHECK}</h1>
+
+ <p>{L_VERSION_CHECK_EXPLAIN}</p>
+
+ <!-- IF S_UP_TO_DATE and S_UP_TO_DATE_AUTO -->
+ <div class="successbox">
+ <p>{L_VERSION_UP_TO_DATE_ACP} - <a href="{U_VERSIONCHECK_FORCE}">{L_VERSIONCHECK_FORCE_UPDATE}</a></p>
+ </div>
+ <!-- ELSE -->
+ <div class="errorbox">
+ <p>{L_VERSION_NOT_UP_TO_DATE_ACP} - <a href="{U_VERSIONCHECK_FORCE}">{L_VERSIONCHECK_FORCE_UPDATE}</a></p>
+ </div>
+ <!-- ENDIF -->
+
+ <fieldset>
+ <legend></legend>
+ <dl>
+ <dt><label>{L_CURRENT_VERSION}</label></dt>
+ <dd><strong><!-- IF S_UP_TO_DATE and not S_UP_TO_DATE_AUTO -->{AUTO_VERSION}<!-- ELSE -->{CURRENT_VERSION}<!-- ENDIF --></strong></dd>
+ </dl>
+ <dl>
+ <dt><label>{L_LATEST_VERSION}</label></dt>
+ <dd><strong>{LATEST_VERSION}</strong></dd>
+ </dl>
+ </fieldset>
+
+ <!-- IF S_UP_TO_DATE and not S_UP_TO_DATE_AUTO -->
+ {L_UPDATE_INSTRUCTIONS_INCOMPLETE}
+ <br /><br />
+ {UPDATE_INSTRUCTIONS}
+ <br /><br />
+ <!-- ENDIF -->
+ <!-- IF not S_UP_TO_DATE -->
+ {UPDATE_INSTRUCTIONS}
+ <br /><br />
+ <!-- ENDIF -->
+
+<!-- ENDIF -->
+
+<!-- INCLUDE overall_footer.html --> \ No newline at end of file
diff --git a/phpBB/adm/style/acp_users.html b/phpBB/adm/style/acp_users.html
new file mode 100644
index 0000000000..e266654649
--- /dev/null
+++ b/phpBB/adm/style/acp_users.html
@@ -0,0 +1,234 @@
+<!-- INCLUDE overall_header.html -->
+
+<a name="maincontent"></a>
+
+<!-- IF S_SELECT_USER -->
+
+ <h1>{L_USER_ADMIN}</h1>
+
+ <p>{L_USER_ADMIN_EXPLAIN}</p>
+
+ <form id="select_user" method="post" action="{U_ACTION}">
+
+ <fieldset>
+ <legend>{L_SELECT_USER}</legend>
+ <dl>
+ <dt><label for="username">{L_FIND_USERNAME}:</label></dt>
+ <dd><input class="text medium" type="text" id="username" name="username" /></dd>
+ <dd>[ <a href="{U_FIND_USERNAME}" onclick="find_username(this.href); return false;">{L_FIND_USERNAME}</a> ]</dd>
+ <dd class="full" style="text-align: left;"><label><input type="checkbox" class="radio" id="anonymous" name="u" value="{ANONYMOUS_USER_ID}" /> {L_SELECT_ANONYMOUS}</label></dd>
+ </dl>
+
+ <p class="quick">
+ <input type="submit" name="submituser" value="{L_SUBMIT}" class="button1" />
+ </p>
+ </fieldset>
+
+ </form>
+
+<!-- ELSEIF S_SELECT_FORUM -->
+
+ <a href="{U_BACK}" style="float: {S_CONTENT_FLOW_END};">&laquo; {L_BACK}</a>
+
+ <h1>{L_USER_ADMIN}</h1>
+
+ <p>{L_USER_ADMIN_EXPLAIN}</p>
+
+ <form id="select_forum" method="post" action="{U_ACTION}">
+
+ <fieldset>
+ <legend>{L_USER_ADMIN_MOVE_POSTS}</legend>
+ <dl>
+ <dt><label for="new_forum">{L_USER_ADMIN_MOVE_POSTS}</label><br /><span>{L_MOVE_POSTS_EXPLAIN}</span></dt>
+ <dd><select id="new_forum" name="new_f">{S_FORUM_OPTIONS}</select></dd>
+ </dl>
+ </fieldset>
+
+ <fieldset class="quick">
+ <input type="submit" name="update" value="{L_SUBMIT}" class="button1" />
+ {S_FORM_TOKEN}
+ </fieldset>
+ </form>
+
+<!-- ELSE -->
+
+ <a href="{U_BACK}" style="float: {S_CONTENT_FLOW_END};">&laquo; {L_BACK}</a>
+
+ <h1>{L_USER_ADMIN} :: {MANAGED_USERNAME}</h1>
+
+ <p>{L_USER_ADMIN_EXPLAIN}</p>
+
+ <!-- IF S_ERROR -->
+ <div class="errorbox">
+ <h3>{L_WARNING}</h3>
+ <p>{ERROR_MSG}</p>
+ </div>
+ <!-- ENDIF -->
+
+ <form id="mode_select" method="post" action="{U_MODE_SELECT}">
+
+ <fieldset class="quick">
+ {L_SELECT_FORM}: <select name="mode" onchange="if (this.options[this.selectedIndex].value != '') this.form.submit();">{S_FORM_OPTIONS}</select> <input class="button2" type="submit" value="{L_GO}" />
+ {S_FORM_TOKEN}
+ </fieldset>
+ </form>
+
+<!-- ENDIF -->
+
+<!-- IF S_OVERVIEW -->
+
+<!-- INCLUDE acp_users_overview.html -->
+
+<!-- ELSEIF S_FEEDBACK -->
+
+<!-- INCLUDE acp_users_feedback.html -->
+
+<!-- ELSEIF S_WARNINGS -->
+
+<!-- INCLUDE acp_users_warnings.html -->
+
+<!-- ELSEIF S_PROFILE -->
+
+<!-- INCLUDE acp_users_profile.html -->
+
+<!-- ELSEIF S_PREFS -->
+
+<!-- INCLUDE acp_users_prefs.html -->
+
+<!-- ELSEIF S_AVATAR -->
+
+<!-- INCLUDE acp_users_avatar.html -->
+
+<!-- ELSEIF S_RANK -->
+
+ <form id="user_prefs" method="post" action="{U_ACTION}">
+
+ <fieldset>
+ <legend>{L_ACP_USER_RANK}</legend>
+ <dl>
+ <dt><label for="user_rank">{L_USER_RANK}:</label></dt>
+ <dd><select name="user_rank" id="user_rank">{S_RANK_OPTIONS}</select></dd>
+ </dl>
+ </fieldset>
+
+ <fieldset class="quick">
+ <input class="button1" type="submit" name="update" value="{L_SUBMIT}" />
+ {S_FORM_TOKEN}
+ </fieldset>
+ </form>
+
+<!-- ELSEIF S_SIGNATURE -->
+
+<!-- INCLUDE acp_users_signature.html -->
+
+<!-- ELSEIF S_GROUPS -->
+
+ <form id="user_groups" method="post" action="{U_ACTION}">
+
+ <table cellspacing="1">
+ <tbody>
+ <!-- BEGIN group -->
+ <!-- IF group.S_NEW_GROUP_TYPE -->
+ <tr>
+ <td class="row3" colspan="4"><strong>{group.GROUP_TYPE}</strong></td>
+ </tr>
+ <!-- ELSE -->
+ <!-- IF group.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
+ <td><a href="{group.U_EDIT_GROUP}">{group.GROUP_NAME}</a></td>
+ <td><!-- IF group.S_IS_MEMBER --><!-- IF group.S_NO_DEFAULT --><a href="{group.U_DEFAULT}">{L_GROUP_DEFAULT}</a><!-- ELSE --><strong>{L_GROUP_DEFAULT}</strong><!-- ENDIF --><!-- ELSEIF not group.S_IS_MEMBER and group.U_APPROVE --><a href="{group.U_APPROVE}">{L_GROUP_APPROVE}</a><!-- ELSE -->&nbsp;<!-- ENDIF --></td>
+ <td><!-- IF group.S_IS_MEMBER and not group.S_SPECIAL_GROUP --><a href="{group.U_DEMOTE_PROMOTE}">{group.L_DEMOTE_PROMOTE}</a><!-- ELSE -->&nbsp;<!-- ENDIF --></td>
+ <td><a href="{group.U_DELETE}">{L_GROUP_DELETE}</a></td>
+ </tr>
+ <!-- ENDIF -->
+ <!-- END group -->
+ </tbody>
+ </table>
+
+ <!-- IF S_GROUP_OPTIONS -->
+ <fieldset class="quick">
+ {L_USER_GROUP_ADD}: <select name="g">{S_GROUP_OPTIONS}</select> <input class="button1" type="submit" name="update" value="{L_SUBMIT}" />
+ {S_FORM_TOKEN}
+ </fieldset>
+ <!-- ENDIF -->
+ </form>
+
+<!-- ELSEIF S_ATTACHMENTS -->
+
+ <form id="user_attachments" method="post" action="{U_ACTION}">
+
+
+ <!-- IF PAGINATION -->
+ <div class="pagination">
+ <a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{S_ON_PAGE}</a> &bull; <span>{PAGINATION}</span>
+ </div>
+ <!-- ENDIF -->
+
+ <!-- IF .attach -->
+ <table cellspacing="1">
+ <thead>
+ <tr>
+ <th>{L_FILENAME}</th>
+ <th>{L_POST_TIME}</th>
+ <th>{L_FILESIZE}</th>
+ <th>{L_DOWNLOADS}</th>
+ <th>{L_MARK}</th>
+ </tr>
+ </thead>
+ <tbody>
+ <!-- BEGIN attach -->
+ <!-- IF attach.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
+ <td><a href="{attach.U_DOWNLOAD}">{attach.REAL_FILENAME}</a><br /><span class="small"><!-- IF attach.S_IN_MESSAGE --><strong>{L_PM}: </strong><!-- ELSE --><strong>{L_POST}: </strong><!-- ENDIF --><a href="{attach.U_VIEW_TOPIC}">{attach.TOPIC_TITLE}</a></span></td>
+ <td style="text-align: center">{attach.POST_TIME}</td>
+ <td style="text-align: center">{attach.SIZE}</td>
+ <td style="text-align: center">{attach.DOWNLOAD_COUNT}</td>
+ <td style="text-align: center"><input type="checkbox" class="radio" name="mark[]" value="{attach.ATTACH_ID}" /></td>
+ </tr>
+ <!-- END attach -->
+ </tbody>
+ </table>
+ <!-- ELSE -->
+ <div class="errorbox">
+ <p>{L_USER_NO_ATTACHMENTS}</p>
+ </div>
+ <!-- ENDIF -->
+ <fieldset class="display-options">
+ {L_SORT_BY}: <select name="sk">{S_SORT_KEY}</select> <select name="sd">{S_SORT_DIR}</select>
+ <input class="button2" type="submit" value="{L_GO}" name="sort" />
+ </fieldset>
+ <hr />
+ <!-- IF PAGINATION -->
+ <div class="pagination">
+ <a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{S_ON_PAGE}</a> &bull; <span>{PAGINATION}</span>
+ </div>
+ <!-- ENDIF -->
+
+ <fieldset class="quick">
+ <input class="button2" type="submit" name="delmarked" value="{L_DELETE_MARKED}" />
+ <p class="small"><a href="#" onclick="marklist('user_attachments', 'mark', true);">{L_MARK_ALL}</a> &bull; <a href="#" onclick="marklist('user_attachments', 'mark', false);">{L_UNMARK_ALL}</a></p>
+ {S_FORM_TOKEN}
+ </fieldset>
+ </form>
+
+<!-- ELSEIF S_PERMISSIONS -->
+
+ <div style="float: {S_CONTENT_FLOW_END};">
+ <a href="{U_USER_PERMISSIONS}">&raquo; {L_SET_USERS_PERMISSIONS}</a><br />
+ <a href="{U_USER_FORUM_PERMISSIONS}">&raquo; {L_SET_USERS_FORUM_PERMISSIONS}</a>
+ </div>
+
+ <form id="select_forum" method="post" action="{U_ACTION}">
+
+ <fieldset class="quick" style="text-align: left;">
+ {L_SELECT_FORUM}: <select name="f">{S_FORUM_OPTIONS}</select>
+ <input class="button2" type="submit" value="{L_GO}" name="select" />
+ {S_FORM_TOKEN}
+ </fieldset>
+ </form>
+
+ <div class="clearfix">&nbsp;</div>
+
+ <!-- INCLUDE permission_mask.html -->
+
+<!-- ENDIF -->
+
+<!-- INCLUDE overall_footer.html -->
diff --git a/phpBB/adm/style/acp_users_avatar.html b/phpBB/adm/style/acp_users_avatar.html
new file mode 100644
index 0000000000..deed41e16e
--- /dev/null
+++ b/phpBB/adm/style/acp_users_avatar.html
@@ -0,0 +1,78 @@
+ <form id="avatar_settings" method="post" action="{U_ACTION}"<!-- IF S_CAN_UPLOAD --> enctype="multipart/form-data"<!-- ENDIF -->>
+
+ <fieldset>
+ <legend>{L_ACP_USER_AVATAR}</legend>
+ <dl>
+ <dt><label>{L_CURRENT_IMAGE}:</label><br /><span>{L_AVATAR_EXPLAIN}</span></dt>
+ <dd>{AVATAR_IMAGE}</dd>
+ <dd><label><input type="checkbox" class="radio" name="delete" /> {L_DELETE_AVATAR}</label></dd>
+ </dl>
+ <!-- IF not S_IN_AVATAR_GALLERY -->
+ <!-- IF S_UPLOAD_FILE -->
+ <dl>
+ <dt><label for="uploadfile">{L_UPLOAD_AVATAR_FILE}:</label></dt>
+ <dd><input type="hidden" name="MAX_FILE_SIZE" value="{AVATAR_MAX_FILESIZE}" /><input type="file" id="uploadfile" name="uploadfile" /></dd>
+ </dl>
+ <!-- ENDIF -->
+ <!-- IF S_REMOTE_UPLOAD -->
+ <dl>
+ <dt><label for="uploadurl">{L_UPLOAD_AVATAR_URL}:</label><br /><span>{L_UPLOAD_AVATAR_URL_EXPLAIN}</span></dt>
+ <dd><input name="uploadurl" type="text" id="uploadurl" value="" /></dd>
+ </dl>
+ <!-- ENDIF -->
+ <!-- IF S_ALLOW_REMOTE -->
+ <dl>
+ <dt><label for="remotelink">{L_LINK_REMOTE_AVATAR}:</label><br /><span>{L_LINK_REMOTE_AVATAR_EXPLAIN}</span></dt>
+ <dd><input name="remotelink" type="text" id="remotelink" value="" /></dd>
+ </dl>
+ <dl>
+ <dt><label for="width">{L_LINK_REMOTE_SIZE}:</label><br /><span>{L_LINK_REMOTE_SIZE_EXPLAIN}</span></dt>
+ <dd><input name="width" type="text" id="width" size="3" value="{USER_AVATAR_WIDTH}" /> <span>px X </span> <input type="text" name="height" size="3" value="{USER_AVATAR_HEIGHT}" /> <span>px</span></dd>
+ </dl>
+ <!-- ENDIF -->
+ <!-- IF S_DISPLAY_GALLERY -->
+ <dl>
+ <dt><label>{L_AVATAR_GALLERY}:</label></dt>
+ <dd><input class="button2" type="submit" name="display_gallery" value="{L_DISPLAY_GALLERY}" /></dd>
+ </dl>
+ <!-- ENDIF -->
+ <!-- ELSE -->
+ </fieldset>
+
+ <fieldset>
+ <legend>{L_AVATAR_GALLERY}</legend>
+ <dl>
+ <dt><label for="category">{L_AVATAR_CATEGORY}:</label></dt>
+ <dd><select name="category" id="category">{S_CAT_OPTIONS}</select>&nbsp;<input class="button2" type="submit" value="{L_GO}" name="display_gallery" /></dd>
+ </dl>
+ <dl>
+ <table cellspacing="1">
+ <!-- BEGIN avatar_row -->
+ <tr>
+ <!-- BEGIN avatar_column -->
+ <td class="row1" style="text-align: center;"><img src="{avatar_row.avatar_column.AVATAR_IMAGE}" alt="{avatar_row.avatar_column.AVATAR_NAME}" title="{avatar_row.avatar_column.AVATAR_NAME}" /></td>
+ <!-- END avatar_column -->
+ </tr>
+ <tr>
+ <!-- BEGIN avatar_option_column -->
+ <td class="row2" style="text-align: center;"><input type="radio" class="radio" name="avatar_select" value="{avatar_row.avatar_option_column.S_OPTIONS_AVATAR}" /></td>
+ <!-- END avatar_option_column -->
+ </tr>
+ <!-- END avatar_row -->
+ </table>
+ </dl>
+ </fieldset>
+
+ <fieldset class="quick" style="margin-top: -15px;">
+ <input class="button2" type="submit" name="cancel" value="{L_CANCEL}" />
+ </fieldset>
+
+ <!-- ENDIF -->
+ </fieldset>
+
+ <fieldset class="quick">
+ <input class="button1" type="submit" name="update" value="{L_SUBMIT}" />
+ {S_FORM_TOKEN}
+ </fieldset>
+
+ </form> \ No newline at end of file
diff --git a/phpBB/adm/style/acp_users_feedback.html b/phpBB/adm/style/acp_users_feedback.html
new file mode 100644
index 0000000000..e11a8e6ec1
--- /dev/null
+++ b/phpBB/adm/style/acp_users_feedback.html
@@ -0,0 +1,76 @@
+ <form id="list" method="post" action="{U_ACTION}">
+
+ <!-- IF PAGINATION -->
+ <div class="pagination">
+ <a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{S_ON_PAGE}</a> &bull; <span>{PAGINATION}</span>
+ </div>
+ <!-- ENDIF -->
+
+ <!-- IF .log -->
+ <table cellspacing="1">
+ <thead>
+ <tr>
+ <th>{L_REPORT_BY}</th>
+ <th>{L_IP}</th>
+ <th>{L_TIME}</th>
+ <th>{L_FEEDBACK}</th>
+ <th>{L_MARK}</th>
+ </tr>
+ </thead>
+ <tbody>
+ <!-- BEGIN log -->
+ <!-- IF log.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
+
+ <td>{log.USERNAME}</td>
+ <td style="text-align: center;">{log.IP}</td>
+ <td style="text-align: center;">{log.DATE}</td>
+ <td>
+ {log.ACTION}
+ <!-- IF log.DATA --><br />&#187; <span class="gensmall">[ {log.DATA} ]</span><!-- ENDIF -->
+ </td>
+ <td style="text-align: center;"><input type="checkbox" class="radio" name="mark[]" value="{log.ID}" /></td>
+ </tr>
+ <!-- END log -->
+ </tbody>
+ </table>
+ <!-- ELSE -->
+ <div class="errorbox">
+ <p>{L_NO_ENTRIES}</p>
+ </div>
+ <!-- ENDIF -->
+
+ <fieldset class="display-options">
+ {L_DISPLAY_LOG}: &nbsp;{S_LIMIT_DAYS}&nbsp;{L_SORT_BY}: {S_SORT_KEY} {S_SORT_DIR}
+ <input class="button2" type="submit" value="{L_GO}" name="sort" />
+ </fieldset>
+ <hr />
+ <!-- IF PAGINATION -->
+ <div class="pagination">
+ <a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{S_ON_PAGE}</a> &bull; <span>{PAGINATION}</span>
+ </div>
+ <!-- ENDIF -->
+
+ <!-- IF S_CLEARLOGS -->
+ <fieldset class="quick">
+ <input class="button2" type="submit" name="delall" value="{L_DELETE_ALL}" />&nbsp;
+ <input class="button2" type="submit" name="delmarked" value="{L_DELETE_MARKED}" />
+ <p class="small"><a href="#" onclick="marklist('list', 'mark', true);">{L_MARK_ALL}</a> &bull; <a href="#" onclick="marklist('list', 'mark', false);">{L_UNMARK_ALL}</a></p>
+ </fieldset>
+ <!-- ENDIF -->
+
+ <h1>{L_ADD_FEEDBACK}</h1>
+
+ <p>{L_ADD_FEEDBACK_EXPLAIN}</p>
+
+ <fieldset>
+ <legend>{L_ACP_USER_FEEDBACK}</legend>
+ <dl>
+ <dd class="full"><textarea name="message" id="message" rows="10" cols="76"></textarea></dd>
+ </dl>
+ </fieldset>
+
+ <fieldset class="quick">
+ <input class="button1" type="submit" name="update" value="{L_SUBMIT}" />
+ </fieldset>
+ {S_FORM_TOKEN}
+ </form> \ No newline at end of file
diff --git a/phpBB/adm/style/acp_users_overview.html b/phpBB/adm/style/acp_users_overview.html
new file mode 100644
index 0000000000..e3eff369cc
--- /dev/null
+++ b/phpBB/adm/style/acp_users_overview.html
@@ -0,0 +1,144 @@
+<form id="user_overview" method="post" action="{U_ACTION}">
+
+<fieldset>
+ <legend>{L_ACP_USER_OVERVIEW}</legend>
+<dl>
+ <dt><label for="user">{L_USERNAME}:</label><br /><span>{L_NAME_CHARS_EXPLAIN}</span></dt>
+ <dd><input type="text" id="user" name="user" value="{USER}" /></dd>
+ <!-- IF U_SWITCH_PERMISSIONS --><dd>[ <a href="{U_SWITCH_PERMISSIONS}">{L_USE_PERMISSIONS}</a> ]</dd><!-- ENDIF -->
+</dl>
+<!-- IF S_USER_INACTIVE -->
+<dl>
+ <dt><label>{L_USER_IS_INACTIVE}:</label></dt>
+ <dd><strong>{USER_INACTIVE_REASON}</strong></dd>
+</dl>
+<!-- ENDIF -->
+<dl>
+ <dt><label>{L_REGISTERED}:</label></dt>
+ <dd><strong>{USER_REGISTERED}</strong></dd>
+</dl>
+<!-- IF S_USER_IP -->
+<dl>
+ <dt><label>{L_REGISTERED_IP}:</label></dt>
+ <dd><a href="{U_SHOW_IP}">{REGISTERED_IP}</a></dd>
+ <dd>[ <a href="{U_WHOIS}" onclick="popup(this.href, 700, 500, '_whois'); return false;">{L_WHOIS}</a> ]</dd>
+</dl>
+<!-- ENDIF -->
+<dl>
+ <dt><label>{L_LAST_ACTIVE}:</label></dt>
+ <dd><strong>{USER_LASTACTIVE}</strong></dd>
+</dl>
+<dl>
+ <dt><label>{L_POSTS}:</label></dt>
+ <dd><strong>{USER_POSTS}</strong><!-- IF POSTS_IN_QUEUE and U_MCP_QUEUE --> (<a href="{U_MCP_QUEUE}">{L_POSTS_IN_QUEUE}</a>)<!-- ELSEIF POSTS_IN_QUEUE --> ({L_POSTS_IN_QUEUE})<!-- ENDIF --></dd>
+</dl>
+<dl>
+ <dt><label>{L_WARNINGS}:</label></dt>
+ <dd><strong>{USER_WARNINGS}</strong></dd>
+</dl>
+<dl>
+ <dt><label for="user_founder">{L_FOUNDER}:</label><br /><span>{L_FOUNDER_EXPLAIN}</span></dt>
+ <dd><label><input type="radio" class="radio" name="user_founder" value="1"<!-- IF S_USER_FOUNDER --> id="user_founder" checked="checked"<!-- ENDIF --><!-- IF not S_FOUNDER --> disabled="disabled"<!-- ENDIF --> /> {L_YES}</label>
+ <label><input type="radio" class="radio" name="user_founder" value="0"<!-- IF not S_USER_FOUNDER --> id="user_founder" checked="checked"<!-- ENDIF --><!-- IF not S_FOUNDER --> disabled="disabled"<!-- ENDIF --> /> {L_NO}</label></dd>
+</dl>
+<dl>
+ <dt><label for="user_email">{L_EMAIL}:</label></dt>
+ <dd><input class="text medium" type="text" id="user_email" name="user_email" value="{USER_EMAIL}" /></dd>
+</dl>
+<dl>
+ <dt><label for="email_confirm">{L_CONFIRM_EMAIL}:</label><br /><span>{L_CONFIRM_EMAIL_EXPLAIN}</span></dt>
+ <dd><input class="text medium" type="text" id="email_confirm" name="email_confirm" value="" /></dd>
+</dl>
+<dl>
+ <dt><label for="new_password">{L_NEW_PASSWORD}:</label><br /><span>{L_CHANGE_PASSWORD_EXPLAIN}</span></dt>
+ <dd><input type="password" id="new_password" name="new_password" value="" /></dd>
+</dl>
+<dl>
+ <dt><label for="password_confirm">{L_CONFIRM_PASSWORD}:</label><br /><span>{L_CONFIRM_PASSWORD_EXPLAIN}</span></dt>
+ <dd><input type="password" id="password_confirm" name="password_confirm" value="" /></dd>
+</dl>
+
+<p class="quick">
+ <input class="button1" type="submit" name="update" value="{L_SUBMIT}" />
+ <input type="hidden" name="action" value="" />
+ {S_FORM_TOKEN}
+</p>
+
+</fieldset>
+</form>
+
+<!-- IF not S_USER_FOUNDER or S_FOUNDER -->
+
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function display_reason(option)
+ {
+ if (option != 'banuser' && option != 'banemail' && option != 'banip')
+ {
+ dE('reasons', -1);
+ return;
+ }
+
+ dE('reasons', 1);
+
+ element = document.getElementById('user_quick_tools').ban_reason;
+
+ if (element.value && element.value != '{LA_USER_ADMIN_BAN_NAME_REASON}' && element.value != '{LA_USER_ADMIN_BAN_EMAIL_REASON}' && element.value != '{LA_USER_ADMIN_BAN_IP_REASON}')
+ {
+ return;
+ }
+
+ if (option == 'banuser')
+ {
+ element.value = '{LA_USER_ADMIN_BAN_NAME_REASON}';
+ }
+ else if (option == 'banemail')
+ {
+ element.value = '{LA_USER_ADMIN_BAN_EMAIL_REASON}';
+ }
+ else if (option == 'banip')
+ {
+ element.value = '{LA_USER_ADMIN_BAN_IP_REASON}';
+ }
+ }
+
+ // ]]>
+ </script>
+
+ <form id="user_quick_tools" method="post" action="{U_ACTION}">
+
+ <fieldset>
+ <legend>{L_USER_TOOLS}</legend>
+ <dl>
+ <dt><label for="quicktools">{L_QUICK_TOOLS}:</label></dt>
+ <dd><select id="quicktools" name="action" onchange="display_reason(this.options[this.selectedIndex].value);">{S_ACTION_OPTIONS}</select></dd>
+ </dl>
+ <div style="display: none;" id="reasons">
+ <dl>
+ <dt><label for="ban_reason">{L_BAN_REASON}:</label></dt>
+ <dd><input name="ban_reason" type="text" class="text medium" maxlength="3000" id="ban_reason" /></dd>
+ </dl>
+ <dl>
+ <dt><label for="ban_give_reason">{L_BAN_GIVE_REASON}:</label></dt>
+ <dd><input name="ban_give_reason" type="text" class="text medium" maxlength="3000" id="ban_give_reason" /></dd>
+ </dl>
+ </div>
+ <!-- IF not S_OWN_ACCOUNT -->
+ <dl>
+ <dt><label for="delete_user">{L_DELETE_USER}:</label><br /><span>{L_DELETE_USER_EXPLAIN}</span></dt>
+ <dd><input type="checkbox" class="radio" name="delete" value="1" /></dd>
+ <dd><select id="delete_user" name="delete_type"><option value="retain">{L_RETAIN_POSTS}</option><option value="remove">{L_DELETE_POSTS}</option></select></dd>
+ </dl>
+ <!-- ENDIF -->
+
+ <p class="quick">
+ <input class="button1" type="submit" name="update" value="{L_SUBMIT}" />
+ {S_FORM_TOKEN}
+ </p>
+
+ </fieldset>
+
+ </form>
+
+<!-- ENDIF -->
diff --git a/phpBB/adm/style/acp_users_prefs.html b/phpBB/adm/style/acp_users_prefs.html
new file mode 100644
index 0000000000..07a9bc5c78
--- /dev/null
+++ b/phpBB/adm/style/acp_users_prefs.html
@@ -0,0 +1,158 @@
+<script type="text/javascript">
+// <![CDATA[
+ var default_dateformat = '{A_DEFAULT_DATEFORMAT}';
+// ]]>
+</script>
+
+ <form id="user_prefs" method="post" action="{U_ACTION}">
+
+ <fieldset>
+ <legend>{L_UCP_PREFS_PERSONAL}</legend>
+ <dl>
+ <dt><label for="viewemail">{L_SHOW_EMAIL}:</label></dt>
+ <dd><label><input type="radio" class="radio" name="viewemail" value="1"<!-- IF VIEW_EMAIL --> id="viewemail" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
+ <label><input type="radio" class="radio" name="viewemail" value="0"<!-- IF not VIEW_EMAIL --> id="viewemail" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
+ </dl>
+ <dl>
+ <dt><label for="massemail">{L_ADMIN_EMAIL}:</label></dt>
+ <dd><label><input type="radio" class="radio" name="massemail" value="1"<!-- IF MASS_EMAIL --> id="massemail" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
+ <label><input type="radio" class="radio" name="massemail" value="0"<!-- IF not MASS_EMAIL --> id="massemail" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
+ </dl>
+ <dl>
+ <dt><label for="allowpm">{L_ALLOW_PM}:</label><br /><span>{L_ALLOW_PM_EXPLAIN}</span></dt>
+ <dd><label><input type="radio" class="radio" name="allowpm" value="1"<!-- IF ALLOW_PM --> id="allowpm" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
+ <label><input type="radio" class="radio" name="allowpm" value="0"<!-- IF not ALLOW_PM --> id="allowpm" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
+ </dl>
+ <dl>
+ <dt><label for="hideonline">{L_HIDE_ONLINE}:</label></dt>
+ <dd><label><input type="radio" class="radio" name="hideonline" value="1"<!-- IF HIDE_ONLINE --> id="hideonline" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
+ <label><input type="radio" class="radio" name="hideonline" value="0"<!-- IF not HIDE_ONLINE --> id="hideonline" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
+ </dl>
+ <dl>
+ <dt><label for="notifymethod">{L_NOTIFY_METHOD}:</label><br /><span>{L_NOTIFY_METHOD_EXPLAIN}</span></dt>
+ <dd><label><input type="radio" class="radio" name="notifymethod" value="0"<!-- IF NOTIFY_EMAIL --> id="notifymethod" checked="checked"<!-- ENDIF --> /> {L_NOTIFY_METHOD_EMAIL}</label>
+ <label><input type="radio" class="radio" name="notifymethod" value="1"<!-- IF NOTIFY_IM --> id="notifymethod" checked="checked"<!-- ENDIF --><!-- IF S_JABBER_DISABLED --> disabled="disabled"<!-- ENDIF --> /> {L_NOTIFY_METHOD_IM}</label>
+ <label><input type="radio" class="radio" name="notifymethod" value="2"<!-- IF NOTIFY_BOTH --> id="notifymethod" checked="checked"<!-- ENDIF --> /> {L_NOTIFY_METHOD_BOTH}</label></dd>
+ </dl>
+ <dl>
+ <dt><label for="notifypm">{L_NOTIFY_ON_PM}:</label></dt>
+ <dd><label><input type="radio" class="radio" name="notifypm" value="1"<!-- IF NOTIFY_PM --> id="notifypm" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
+ <label><input type="radio" class="radio" name="notifypm" value="0"<!-- IF not NOTIFY_PM --> id="notifypm" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
+ </dl>
+ <dl>
+ <dt><label for="popuppm">{L_POPUP_ON_PM}:</label></dt>
+ <dd><label><input type="radio" class="radio" name="popuppm" value="1"<!-- IF POPUP_PM --> id="popuppm" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
+ <label><input type="radio" class="radio" name="popuppm" value="0"<!-- IF not POPUP_PM --> id="popuppm" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
+ </dl>
+ <dl>
+ <dt><label for="lang">{L_BOARD_LANGUAGE}:</label></dt>
+ <dd><select id="lang" name="lang">{S_LANG_OPTIONS}</select></dd>
+ </dl>
+ <dl>
+ <dt><label for="style">{L_BOARD_STYLE}:</label></dt>
+ <dd><select id="style" name="style">{S_STYLE_OPTIONS}</select></dd>
+ </dl>
+ <dl>
+ <dt><label for="tz">{L_BOARD_TIMEZONE}:</label></dt>
+ <dd><select id="tz" name="tz" style="width: 100%;">{S_TZ_OPTIONS}</select></dd>
+ </dl>
+ <dl>
+ <dt><label for="dst">{L_BOARD_DST}:</label></dt>
+ <dd><label><input type="radio" class="radio" name="dst" value="1"<!-- IF DST --> id="dst" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
+ <label><input type="radio" class="radio" name="dst" value="0"<!-- IF not DST --> id="dst" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
+ </dl>
+ <dl>
+ <dt><label for="dateoptions">{L_BOARD_DATE_FORMAT}:</label><br /><span>{L_BOARD_DATE_FORMAT_EXPLAIN}</span></dt>
+ <dd><select name="dateoptions" id="dateoptions" onchange="if(this.value=='custom'){dE('custom_date',1);}else{dE('custom_date',-1);} if (this.value == 'custom') { document.getElementById('dateformat').value = default_dateformat; } else { document.getElementById('dateformat').value = this.value; }">{S_DATEFORMAT_OPTIONS}</select></dd>
+ <dd><div id="custom_date"<!-- IF not S_CUSTOM_DATEFORMAT --> style="display:none;"<!-- ENDIF -->><input type="text" name="dateformat" id="dateformat" value="{DATE_FORMAT}" maxlength="30" /></div></dd>
+ </dl>
+ </fieldset>
+
+ <fieldset>
+ <legend>{L_UCP_PREFS_POST}</legend>
+ <dl>
+ <dt><label for="bbcode">{L_DEFAULT_BBCODE}:</label></dt>
+ <dd><label><input type="radio" class="radio" name="bbcode" value="1"<!-- IF BBCODE --> id="bbcode" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
+ <label><input type="radio" class="radio" name="bbcode" value="0"<!-- IF not BBCODE --> id="bbcode" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
+ </dl>
+ <dl>
+ <dt><label for="smilies">{L_DEFAULT_SMILIES}:</label></dt>
+ <dd><label><input type="radio" class="radio" name="smilies" value="1"<!-- IF SMILIES --> id="smilies" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
+ <label><input type="radio" class="radio" name="smilies" value="0"<!-- IF not SMILIES --> id="smilies" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
+ </dl>
+ <dl>
+ <dt><label for="sig">{L_DEFAULT_ADD_SIG}:</label></dt>
+ <dd><label><input type="radio" class="radio" name="sig" value="1"<!-- IF ATTACH_SIG --> id="sig" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
+ <label><input type="radio" class="radio" name="sig" value="0"<!-- IF not ATTACH_SIG --> id="sig" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
+ </dl>
+ <dl>
+ <dt><label for="notify">{L_DEFAULT_NOTIFY}:</label></dt>
+ <dd><label><input type="radio" class="radio" name="notify" value="1"<!-- IF NOTIFY --> id="notify" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
+ <label><input type="radio" class="radio" name="notify" value="0"<!-- IF not NOTIFY --> id="notify" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
+ </dl>
+ </fieldset>
+
+ <fieldset>
+ <legend>{L_UCP_PREFS_VIEW}</legend>
+ <dl>
+ <dt><label for="view_images">{L_VIEW_IMAGES}:</label></dt>
+ <dd><label><input type="radio" class="radio" name="view_images" value="1"<!-- IF VIEW_IMAGES --> id="view_images" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
+ <label><input type="radio" class="radio" name="view_images" value="0"<!-- IF not VIEW_IMAGES --> id="view_images" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
+ </dl>
+ <dl>
+ <dt><label for="view_flash">{L_VIEW_FLASH}:</label></dt>
+ <dd><label><input type="radio" class="radio" name="view_flash" value="1"<!-- IF VIEW_FLASH --> id="view_flash" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
+ <label><input type="radio" class="radio" name="view_flash" value="0"<!-- IF not VIEW_FLASH --> id="view_flash" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
+ </dl>
+ <dl>
+ <dt><label for="view_smilies">{L_VIEW_SMILIES}:</label></dt>
+ <dd><label><input type="radio" class="radio" name="view_smilies" value="1"<!-- IF VIEW_SMILIES --> id="view_smilies" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
+ <label><input type="radio" class="radio" name="view_smilies" value="0"<!-- IF not VIEW_SMILIES --> id="view_smilies" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
+ </dl>
+ <dl>
+ <dt><label for="view_sigs">{L_VIEW_SIGS}:</label></dt>
+ <dd><label><input type="radio" class="radio" name="view_sigs" value="1"<!-- IF VIEW_SIGS --> id="view_sigs" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
+ <label><input type="radio" class="radio" name="view_sigs" value="0"<!-- IF not VIEW_SIGS --> id="view_sigss" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
+ </dl>
+ <dl>
+ <dt><label for="view_avatars">{L_VIEW_AVATARS}:</label></dt>
+ <dd><label><input type="radio" class="radio" name="view_avatars" value="1"<!-- IF VIEW_AVATARS --> id="view_avatars" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
+ <label><input type="radio" class="radio" name="view_avatars" value="0"<!-- IF not VIEW_AVATARS --> id="view_avatars" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
+ </dl>
+ <dl>
+ <dt><label for="view_wordcensor">{L_DISABLE_CENSORS}:</label></dt>
+ <dd><label><input type="radio" class="radio" name="view_wordcensor" value="1"<!-- IF VIEW_WORDCENSOR --> id="view_wordcensor" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
+ <label><input type="radio" class="radio" name="view_wordcensor" value="0"<!-- IF not VIEW_WORDCENSOR --> id="view_wordcensor" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
+ </dl>
+ <dl>
+ <dt><label>{L_VIEW_TOPICS_DAYS}:</label></dt>
+ <dd>{S_TOPIC_SORT_DAYS}</dd>
+ </dl>
+ <dl>
+ <dt><label>{L_VIEW_TOPICS_KEY}:</label></dt>
+ <dd>{S_TOPIC_SORT_KEY}</dd>
+ </dl>
+ <dl>
+ <dt><label>{L_VIEW_TOPICS_DIR}:</label></dt>
+ <dd>{S_TOPIC_SORT_DIR}</dd>
+ </dl>
+ <dl>
+ <dt><label>{L_VIEW_POSTS_DAYS}:</label></dt>
+ <dd>{S_POST_SORT_DAYS}</dd>
+ </dl>
+ <dl>
+ <dt><label>{L_VIEW_POSTS_KEY}:</label></dt>
+ <dd>{S_POST_SORT_KEY}</dd>
+ </dl>
+ <dl>
+ <dt><label>{L_VIEW_POSTS_DIR}:</label></dt>
+ <dd>{S_POST_SORT_DIR}</dd>
+ </dl>
+ </fieldset>
+
+ <fieldset class="quick">
+ <input class="button1" type="submit" name="update" value="{L_SUBMIT}" />
+ {S_FORM_TOKEN}
+ </fieldset>
+
+ </form> \ No newline at end of file
diff --git a/phpBB/adm/style/acp_users_profile.html b/phpBB/adm/style/acp_users_profile.html
new file mode 100644
index 0000000000..0d1c6f8e46
--- /dev/null
+++ b/phpBB/adm/style/acp_users_profile.html
@@ -0,0 +1,66 @@
+ <form id="user_profile" method="post" action="{U_ACTION}">
+
+ <fieldset>
+ <legend>{L_USER_PROFILE}</legend>
+ <dl>
+ <dt><label for="icq">{L_UCP_ICQ}:</label></dt>
+ <dd><input type="text" id="icq" name="icq" value="{ICQ}" /></dd>
+ </dl>
+ <dl>
+ <dt><label for="aim">{L_UCP_AIM}:</label></dt>
+ <dd><input type="text" id="aim" name="aim" value="{AIM}" /></dd>
+ </dl>
+ <dl>
+ <dt><label for="msn">{L_UCP_MSNM}:</label></dt>
+ <dd><input type="text" id="msn" name="msn" value="{MSN}" /></dd>
+ </dl>
+ <dl>
+ <dt><label for="yim">{L_UCP_YIM}:</label></dt>
+ <dd><input type="text" id="yim" name="yim" value="{YIM}" /></dd>
+ </dl>
+ <dl>
+ <dt><label for="jabber">{L_UCP_JABBER}:</label></dt>
+ <dd><input type="text" id="jabber" name="jabber" value="{JABBER}" /></dd>
+ </dl>
+ <dl>
+ <dt><label for="website">{L_WEBSITE}:</label></dt>
+ <dd><input type="text" id="website" name="website" value="{WEBSITE}" /></dd>
+ </dl>
+ <dl>
+ <dt><label for="location">{L_LOCATION}:</label></dt>
+ <dd><input type="text" id="location" name="location" value="{LOCATION}" /></dd>
+ </dl>
+ <dl>
+ <dt><label for="occupation">{L_OCCUPATION}:</label></dt>
+ <dd><textarea id="occupation" name="occupation" rows="3" cols="30">{OCCUPATION}</textarea></dd>
+ </dl>
+ <dl>
+ <dt><label for="interests">{L_INTERESTS}:</label></dt>
+ <dd><textarea id="interests" name="interests" rows="3" cols="30">{INTERESTS}</textarea></dd>
+ </dl>
+ <dl>
+ <dt><label for="birthday">{L_BIRTHDAY}:</label><br /><span>{L_BIRTHDAY_EXPLAIN}</span></dt>
+ <dd>{L_DAY}: <select id="birthday" name="bday_day">{S_BIRTHDAY_DAY_OPTIONS}</select> {L_MONTH}: <select name="bday_month">{S_BIRTHDAY_MONTH_OPTIONS}</select> {L_YEAR}: <select name="bday_year">{S_BIRTHDAY_YEAR_OPTIONS}</select></dd>
+ </dl>
+ </fieldset>
+
+ <!-- IF .profile_fields -->
+ <fieldset>
+ <legend>{L_USER_CUSTOM_PROFILE_FIELDS}</legend>
+ <!-- BEGIN profile_fields -->
+ <dl>
+ <dt><label<!-- IF profile_fields.FIELD_ID --> for="{profile_fields.FIELD_ID}"<!-- ENDIF -->>{profile_fields.LANG_NAME}:</label><!-- IF profile_fields.LANG_EXPLAIN --><br /><span>{profile_fields.LANG_EXPLAIN}</span><!-- ENDIF --></dt>
+ <dd>{profile_fields.FIELD}</dd>
+ <!-- IF profile_fields.ERROR -->
+ <dd><span class="small" style="color: red;">{profile_fields.ERROR}</span></dd>
+ <!-- ENDIF -->
+ </dl>
+ <!-- END profile_fields -->
+ </fieldset>
+ <!-- ENDIF -->
+
+ <fieldset class="quick">
+ <input class="button1" type="submit" name="update" value="{L_SUBMIT}" />
+ {S_FORM_TOKEN}
+ </fieldset>
+ </form> \ No newline at end of file
diff --git a/phpBB/adm/style/acp_users_signature.html b/phpBB/adm/style/acp_users_signature.html
new file mode 100644
index 0000000000..0ea5328c3c
--- /dev/null
+++ b/phpBB/adm/style/acp_users_signature.html
@@ -0,0 +1,117 @@
+<script type="text/javascript">
+// <![CDATA[
+
+ var form_name = 'user_signature';
+ var text_name = 'signature';
+
+ // Define the bbCode tags
+ var bbcode = new Array();
+ var bbtags = new Array('[b]','[/b]','[i]','[/i]','[u]','[/u]','[quote]','[/quote]','[code]','[/code]','[list]','[/list]','[list=]','[/list]','[img]','[/img]','[url]','[/url]','[flash=]', '[/flash]','[size=]','[/size]'<!-- BEGIN custom_tags -->, {custom_tags.BBCODE_NAME}<!-- END custom_tags -->);
+ var imageTag = false;
+
+ // Helpline messages
+ var help_line = {
+ b: '{LA_BBCODE_B_HELP}',
+ i: '{LA_BBCODE_I_HELP}',
+ u: '{LA_BBCODE_U_HELP}',
+ q: '{LA_BBCODE_Q_HELP}',
+ c: '{LA_BBCODE_C_HELP}',
+ l: '{LA_BBCODE_L_HELP}',
+ o: '{LA_BBCODE_O_HELP}',
+ p: '{LA_BBCODE_P_HELP}',
+ w: '{LA_BBCODE_W_HELP}',
+ s: '{LA_BBCODE_S_HELP}',
+ f: '{LA_BBCODE_F_HELP}',
+ e: '{LA_BBCODE_E_HELP}',
+ d: '{LA_BBCODE_D_HELP}',
+ t: '{LA_BBCODE_T_HELP}',
+ tip: '{L_STYLES_TIP}'
+ <!-- BEGIN custom_tags -->
+ ,cb_{custom_tags.BBCODE_ID}: '{custom_tags.A_BBCODE_HELPLINE}'
+ <!-- END custom_tags -->
+ }
+
+// ]]>
+</script>
+<script type="text/javascript" src="{T_TEMPLATE_PATH}/editor.js"></script>
+
+<form id="user_signature" method="post" action="{U_ACTION}">
+
+ <!-- IF SIGNATURE_PREVIEW -->
+ <fieldset>
+ <legend>{L_ADMIN_SIG_PREVIEW}</legend>
+ <p>{SIGNATURE_PREVIEW}</p>
+ </fieldset>
+ <!-- ENDIF -->
+
+ <fieldset>
+ <legend>{L_SIGNATURE}</legend>
+ <p>{L_SIGNATURE_EXPLAIN}</p>
+
+ <div id="format-buttons">
+ <input type="button" class="button2" accesskey="b" name="addbbcode0" value=" B " style="font-weight:bold; width: 30px;" onclick="bbstyle(0)" onmouseover="helpline('b')" onmouseout="helpline('tip')" />
+ <input type="button" class="button2" accesskey="i" name="addbbcode2" value=" i " style="font-style:italic; width: 30px;" onclick="bbstyle(2)" onmouseover="helpline('i')" onmouseout="helpline('tip')" />
+ <input type="button" class="button2" accesskey="u" name="addbbcode4" value=" u " style="text-decoration: underline; width: 30px;" onclick="bbstyle(4)" onmouseover="helpline('u')" onmouseout="helpline('tip')" />
+ <input type="button" class="button2" accesskey="q" name="addbbcode6" value="Quote" style="width: 50px" onclick="bbstyle(6)" onmouseover="helpline('q')" onmouseout="helpline('tip')" />
+ <input type="button" class="button2" accesskey="c" name="addbbcode8" value="Code" style="width: 40px" onclick="bbstyle(8)" onmouseover="helpline('c')" onmouseout="helpline('tip')" />
+ <input type="button" class="button2" accesskey="l" name="addbbcode10" value="List" style="width: 40px" onclick="bbstyle(10)" onmouseover="helpline('l')" onmouseout="helpline('tip')" />
+ <input type="button" class="button2" accesskey="o" name="addbbcode12" value="List=" style="width: 40px" onclick="bbstyle(12)" onmouseover="helpline('o')" onmouseout="helpline('tip')" />
+ <input type="button" class="button2" accesskey="t" name="addlitsitem" value="[*]" style="width: 40px" onclick="bbstyle(-1)" onmouseover="helpline('e')" onmouseout="helpline('tip')" />
+ <!-- IF S_BBCODE_IMG -->
+ <input type="button" class="button2" accesskey="p" name="addbbcode14" value="Img" style="width: 40px" onclick="bbstyle(14)" onmouseover="helpline('p')" onmouseout="helpline('tip')" />
+ <!-- ENDIF -->
+ <!-- IF S_LINKS_ALLOWED -->
+ <input type="button" class="button2" accesskey="w" name="addbbcode16" value="URL" style="text-decoration: underline; width: 40px" onclick="bbstyle(16)" onmouseover="helpline('w')" onmouseout="helpline('tip')" />
+ <!-- ENDIF -->
+ <!-- IF S_BBCODE_FLASH -->
+ <input type="button" class="button2" accesskey="d" name="addbbcode18" value="Flash" onclick="bbstyle(18)" onmouseover="helpline('d')" onmouseout="helpline('tip')" />
+ <!-- ENDIF -->
+
+ {L_FONT_SIZE}: <select name="addbbcode20" onchange="bbfontstyle('[size=' + this.form.addbbcode20.options[this.form.addbbcode20.selectedIndex].value + ']', '[/size]');this.form.addbbcode20.selectedIndex = 2;" title="{L_FONT_SIZE}" onmouseover="helpline('f')" onmouseout="helpline('tip')">
+ <option value="50">{L_FONT_TINY}</option>
+ <option value="85">{L_FONT_SMALL}</option>
+ <option value="100" selected="selected">{L_FONT_NORMAL}</option>
+ <option value="150">{L_FONT_LARGE}</option>
+ <option value="200">{L_FONT_HUGE}</option>
+ </select>
+ <!-- IF .custom_tags -->
+ <br /><br />
+ <!-- BEGIN custom_tags -->
+ <input type="button" class="button2" name="addbbcode{custom_tags.BBCODE_ID}" value="{custom_tags.BBCODE_TAG}" onclick="bbstyle({custom_tags.BBCODE_ID})"<!-- IF custom_tags.BBCODE_HELPLINE !== '' --> onmouseover="helpline('cb_{custom_tags.BBCODE_ID}')" onmouseout="helpline('tip')"<!-- ENDIF --> />
+ <!-- END custom_tags -->
+ <!-- ENDIF -->
+
+ </div>
+
+ <p><input type="text" class="text full" style="border: 0; background: none;" name="helpbox" value="{L_STYLES_TIP}" /></p>
+
+ <dl>
+ <dt style="width: 90px;">
+ <script type="text/javascript">
+ // <![CDATA[
+ colorPalette('v', 12, 10);
+ // ]]>
+ </script>
+ </dt>
+ <dd style="margin-left: 90px;"><textarea name="signature" rows="10" cols="60" style="width: 95%;" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);" onfocus="initInsertions();">{SIGNATURE}</textarea></dd>
+ <dd style="margin-left: 90px; margin-top: 5px;">
+ <!-- IF S_BBCODE_ALLOWED -->
+ <label><input type="checkbox" class="radio" name="disable_bbcode"{S_BBCODE_CHECKED} /> {L_DISABLE_BBCODE}</label>
+ <!-- ENDIF -->
+ <!-- IF S_SMILIES_ALLOWED -->
+ <label><input type="checkbox" class="radio" name="disable_smilies"{S_SMILIES_CHECKED} /> {L_DISABLE_SMILIES}</label>
+ <!-- ENDIF -->
+ <!-- IF S_LINKS_ALLOWED -->
+ <label><input type="checkbox" class="radio" name="disable_magic_url"{S_MAGIC_URL_CHECKED} /> {L_DISABLE_MAGIC_URL}</label>
+ <!-- ENDIF -->
+ </dd>
+ <dd style="margin-left: 90px; margin-top: 10px;"><strong>{L_OPTIONS}: </strong>{BBCODE_STATUS} :: {IMG_STATUS} :: {FLASH_STATUS} :: {URL_STATUS} :: {SMILIES_STATUS}</dd>
+ </dl>
+ </fieldset>
+
+ <fieldset class="submit-buttons">
+ <input class="button1" type="submit" name="update" value="{L_SUBMIT}" />&nbsp;
+ <input class="button2" type="submit" name="preview" value="{L_PREVIEW}" />
+ {S_FORM_TOKEN}
+ </fieldset>
+</form> \ No newline at end of file
diff --git a/phpBB/adm/style/acp_users_warnings.html b/phpBB/adm/style/acp_users_warnings.html
new file mode 100644
index 0000000000..d27f3800fc
--- /dev/null
+++ b/phpBB/adm/style/acp_users_warnings.html
@@ -0,0 +1,36 @@
+ <form id="list" method="post" action="{U_ACTION}">
+
+ <!-- IF .warn -->
+ <table cellspacing="1">
+ <thead>
+ <tr>
+ <th>{L_REPORT_BY}</th>
+ <th>{L_TIME}</th>
+ <th>{L_FEEDBACK}</th>
+ <th>{L_MARK}</th>
+ </tr>
+ </thead>
+ <tbody>
+ <!-- BEGIN warn -->
+ <!-- IF warn.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
+ <td>{warn.USERNAME}</td>
+ <td style="text-align: center; nowrap: nowrap;">{warn.DATE}</td>
+ <td>{warn.ACTION}</td>
+ <td style="text-align: center;"><input type="checkbox" class="radio" name="mark[]" value="{warn.ID}" /></td>
+ </tr>
+ <!-- END warn -->
+ </tbody>
+ </table>
+ <!-- ELSE -->
+ <div class="errorbox">
+ <p>{L_NO_WARNINGS}</p>
+ </div>
+ <!-- ENDIF -->
+
+ <fieldset class="quick">
+ <input class="button2" type="submit" name="delall" value="{L_DELETE_ALL}" />&nbsp;
+ <input class="button2" type="submit" name="delmarked" value="{L_DELETE_MARKED}" />
+ <p class="small"><a href="#" onclick="marklist('list', 'mark', true);">{L_MARK_ALL}</a> &bull; <a href="#" onclick="marklist('list', 'mark', false);">{L_UNMARK_ALL}</a></p>
+ </fieldset>
+ {S_FORM_TOKEN}
+ </form>
diff --git a/phpBB/adm/style/acp_words.html b/phpBB/adm/style/acp_words.html
new file mode 100644
index 0000000000..3fa4cfc91c
--- /dev/null
+++ b/phpBB/adm/style/acp_words.html
@@ -0,0 +1,77 @@
+<!-- INCLUDE overall_header.html -->
+
+<a name="maincontent"></a>
+
+<!-- IF S_EDIT_WORD -->
+
+ <a href="{U_BACK}" style="float: {S_CONTENT_FLOW_END};">&laquo; {L_BACK}</a>
+
+ <h1>{L_ACP_WORDS}</h1>
+
+ <p>{L_ACP_WORDS_EXPLAIN}</p>
+
+ <form id="acp_words" method="post" action="{U_ACTION}">
+
+ <fieldset>
+ <legend>{L_EDIT_WORD}</legend>
+ <dl>
+ <dt><label for="word">{L_WORD}</label></dt>
+ <dd><input id="word" type="text" name="word" value="{WORD}" maxlength="255" /></dd>
+ </dl>
+ <dl>
+ <dt><label for="replacement">{L_REPLACEMENT}</label></dt>
+ <dd><input id="replacement" type="text" name="replacement" value="{REPLACEMENT}" maxlength="255" /></dd>
+ </dl>
+ {S_HIDDEN_FIELDS}
+
+ <p class="submit-buttons">
+ <input class="button1" type="submit" id="submit" name="save" value="{L_SUBMIT}" />&nbsp;
+ <input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
+ {S_FORM_TOKEN}
+ </p>
+ </fieldset>
+ </form>
+
+<!-- ELSE -->
+
+ <h1>{L_ACP_WORDS}</h1>
+
+ <p>{L_ACP_WORDS_EXPLAIN}</p>
+
+ <form id="acp_words" method="post" action="{U_ACTION}">
+
+ <fieldset class="tabulated">
+ <legend>{L_ACP_WORDS}</legend>
+ <p class="quick">
+ {S_HIDDEN_FIELDS}
+ <input class="button2" name="add" type="submit" value="{L_ADD_WORD}" />
+ </p>
+
+ <table cellspacing="1">
+ <thead>
+ <tr>
+ <th>{L_WORD}</th>
+ <th>{L_REPLACEMENT}</th>
+ <th>{L_ACTION}</th>
+ </tr>
+ </thead>
+ <tbody>
+ <!-- BEGIN words -->
+ <!-- IF words.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
+ <td style="text-align: center;">{words.WORD}</td>
+ <td style="text-align: center;">{words.REPLACEMENT}</td>
+ <td>&nbsp;<a href="{words.U_EDIT}">{ICON_EDIT}</a>&nbsp;&nbsp;<a href="{words.U_DELETE}">{ICON_DELETE}</a>&nbsp;</td>
+ </tr>
+ <!-- BEGINELSE -->
+ <tr class="row3">
+ <td colspan="3">{L_ACP_NO_ITEMS}</td>
+ </tr>
+ <!-- END words -->
+ </tbody>
+ </table>
+ {S_FORM_TOKEN}
+ </fieldset>
+ </form>
+<!-- ENDIF -->
+
+<!-- INCLUDE overall_footer.html -->
diff --git a/phpBB/adm/style/admin.css b/phpBB/adm/style/admin.css
new file mode 100644
index 0000000000..5f1f01c0a9
--- /dev/null
+++ b/phpBB/adm/style/admin.css
@@ -0,0 +1,1655 @@
+/* phpBB 3.0 Admin Style Sheet
+ ------------------------------------------------------------------------
+ Original author: subBlue ( http://www.subblue.com/ )
+ Copyright 2007 phpBB Group ( http://www.phpbb.com/ )
+ ------------------------------------------------------------------------
+*/
+
+/* General markup styles
+---------------------------------------- */
+* {
+ /* Reset browsers default margin, padding and font sizes */
+ margin: 0;
+ padding: 0;
+ font-size: 100%;
+}
+
+body, div, p, th, td, li, dd {
+ font-size: x-small;
+ voice-family: "\"}\"";
+ voice-family: inherit;
+ font-size: small
+}
+
+html>body, html>div, html>p, html>th, html>td, html>li, html>dd {
+ font-size: small
+}
+
+html {
+ color: #536482;
+ background: #DBD7D1;
+ /* Always show a scrollbar for short pages - stops the jump when the scrollbar appears. non-ie browsers */
+ height: 100%;
+ margin-bottom: 1px;
+}
+
+body {
+ /* Text-Sizing with ems: http://www.clagnut.com/blog/348/ */
+ font-family: "Lucida Grande", Verdana, Helvetica, Arial, sans-serif;
+ color: #536482;
+ background: #DBD7D1;
+ font-size: 62.5%; /* This sets the default font size to be equivalent to 10px */
+ margin: 10px 15px;
+}
+
+img {
+ border: 0;
+}
+
+h1 {
+ font-family: "Trebuchet MS", Helvetica, sans-serif;
+ font-size: 1.70em;
+ font-weight: normal;
+ color: #333333;
+}
+
+h2, caption {
+ font-family: "Trebuchet MS", Helvetica, sans-serif;
+ font-size: 1.40em;
+ font-weight: normal;
+ color: #115098;
+ text-align: left;
+ margin-top: 25px;
+}
+
+.rtl h2, .rtl caption {
+ text-align: right;
+}
+
+h3, h4 {
+ font-family: "Trebuchet MS", Helvetica, sans-serif;
+ font-size: 1.20em;
+ text-decoration: none;
+ line-height: 1.20em;
+ margin-top: 25px;
+}
+
+p {
+ margin-bottom: 0.7em;
+ line-height: 1.40em;
+ font-size: 0.90em;
+}
+
+ul {
+ list-style: disc;
+ margin: 0 0 1em 2em;
+}
+
+.rtl ul {
+ margin: 0 2em 1em 0;
+}
+
+hr {
+ border: 0 none;
+ border-top: 1px dashed #999999;
+ margin-bottom: 5px;
+ padding-bottom: 5px;
+ height: 1px;
+}
+
+.small {
+ font-size: 0.85em;
+}
+
+/* General links */
+a:link, a:visited {
+ color: #105289;
+ text-decoration: none;
+}
+
+a:hover {
+ color: #BC2A4D;
+ text-decoration: underline;
+}
+
+a:active {
+ color: #368AD2;
+ text-decoration: none;
+}
+
+.install-body p a {
+ font-weight: bold;
+}
+
+/* List items */
+ul, ol {
+ list-style-position: inside;
+ margin-left: 1em;
+}
+
+li {
+ display: list-item;
+ list-style-type: inherit;
+}
+
+/* Main blocks
+---------------------------------------- */
+#wrap {
+ padding: 0 0 15px 0;
+ min-width: 615px;
+}
+
+#page-header {
+ clear: both;
+ text-align: right;
+ background: url("../images/phpbb_logo.gif") top left no-repeat;
+ height: 49px;
+ font-size: 0.85em;
+ margin-bottom: 10px;
+}
+
+.rtl #page-header {
+ text-align: left;
+ background: url("../images/phpbb_logo.gif") top right no-repeat;
+}
+
+#page-header h1 {
+ color: #767676;
+ font-family: "Trebuchet MS",Helvetica,sans-serif;
+ font-size: 1.70em;
+ padding-top: 10px;
+}
+
+#page-header p {
+ font-size: 1.00em;
+}
+
+#page-header p#skip {
+ display: none;
+}
+
+#page-body {
+ clear: both;
+ min-width: 700px;
+}
+
+#page-footer {
+ clear: both;
+ font-size: 0.75em;
+ text-align: center;
+}
+
+#content {
+ padding: 30px 10px 10px;
+ position: relative;
+}
+
+#content h1 {
+ color: #115098;
+ line-height: 1.2em;
+ margin-bottom: 0;
+}
+
+#main {
+ float: left;
+ width: 76%;
+ margin: 0 0 0 3%;
+ min-height: 350px;
+}
+
+.rtl #main {
+ float: right;
+ margin: 0 3% 0 0;
+}
+
+* html #main {
+ height: 350px;
+}
+
+#page-body.simple-page-body {
+ padding: 0;
+ padding-right: 10px;
+ min-width: 0;
+}
+
+/* Tabbed menu
+ Based on: http://www.alistapart.com/articles/slidingdoors2/
+----------------------------------------*/
+#tabs {
+ line-height: normal;
+ margin: 0 0 -6px 7px;
+ min-width: 600px;
+}
+
+.rtl #tabs {
+ margin: 0 7px -6px 0;
+}
+
+#tabs ul {
+ margin:0;
+ padding: 0;
+ list-style: none;
+}
+
+#tabs li {
+ display: inline;
+ margin: 0;
+ padding: 0;
+ font-size: 0.85em;
+ font-weight: bold;
+}
+
+#tabs a {
+ float: left;
+ background:url("../images/bg_tabs1.gif") no-repeat 0% -34px;
+ margin: 0 1px 0 0;
+ padding: 0 0 0 7px;
+ text-decoration: none;
+ position: relative;
+}
+
+.rtl #tabs a {
+ float: right;
+}
+
+#tabs a span {
+ float: left;
+ display: block;
+ background: url("../images/bg_tabs2.gif") no-repeat 100% -34px;
+ padding: 7px 10px 4px 4px;
+ color: #767676;
+ white-space: nowrap;
+ font-family: Arial, Helvetica, sans-serif;
+ text-transform: uppercase;
+ font-weight: bold;
+}
+
+.rtl #tabs a span {
+ float: right;
+}
+
+/* Commented Backslash Hack hides rule from IE5-Mac \*/
+#tabs a span, .rtl #tabs a span { float:none;}
+/* End hack */
+
+#tabs a:hover span {
+ color: #BC2A4D;
+}
+
+#tabs #activetab a {
+ background-position: 0 0;
+ border-bottom: 1px solid #DCDEE2;
+}
+
+#tabs #activetab a span {
+ background-position: 100% 0;
+ padding-bottom: 5px;
+ color: #23649F;
+}
+
+#tabs a:hover {
+ background-position: 0 -69px;
+}
+
+#tabs a:hover span {
+ background-position: 100% -69px;
+}
+
+#tabs #activetab a:hover span {
+ color: #115098;
+}
+
+
+/* Main Panel
+---------------------------------------- */
+#acp {
+ margin: 4px 0;
+ padding: 3px 1px;
+ min-width: 550px;
+ background-color: #FFFFFF;
+ border: 1px #999999 solid;
+}
+
+.panel {
+ background: #F3F3F3 url("../images/innerbox_bg.gif") repeat-x top;
+ padding: 0;
+}
+
+span.corners-top, span.corners-bottom,
+span.corners-top span, span.corners-bottom span {
+ font-size: 1px;
+ line-height: 1px;
+ display: block;
+ height: 5px;
+ background-repeat: no-repeat;
+}
+
+span.corners-top {
+ background-image: url("../images/corners_left.gif");
+ background-position: 0 0;
+ margin: -4px -2px 0;
+}
+
+span.corners-top span {
+ background-image: url("../images/corners_right.gif");
+ background-position: 100% 0;
+}
+
+span.corners-bottom {
+ background-image: url("../images/corners_left.gif");
+ background-position: 0 100%;
+ margin: 0 -2px -4px;
+ clear: both;
+}
+
+span.corners-bottom span {
+ background-image: url("../images/corners_right.gif");
+ background-position: 100% 100%;
+}
+
+/* WinIE tweaks \*/
+* html span.corners-top, * html span.corners-bottom { background-image: url("../images/corners_left.gif"); }
+* html span.corners-top span, * html span.corners-bottom span { background-image: url("../images/corners_right.gif"); }
+/* End tweaks */
+
+/* Sub-navigation Menu
+---------------------------------------- */
+
+/* Toggle */
+#toggle {
+ padding: 5px;
+ width: 5%;
+ height: 100px;
+ position: absolute;
+ left: 15%;
+ top: 28px;
+ margin-left: 2px;
+}
+
+.rtl #toggle {
+ left: 75%;
+ margin-right: 0;
+ margin-left: 6px;
+}
+
+#toggle-handle {
+ display: block;
+ width: 18px;
+ height: 19px;
+ float: right;
+ background-image: url(../images/toggle.gif);
+}
+
+.rtl #toggle-handle {
+ background-image: url(../images/toggle.gif);
+ background-position: 100% 50%;
+}
+
+/* Menu */
+#menu {
+ float: left;
+ width: 20%;
+ font-size: 1.00em;
+ padding: 0;
+ border-right: 1px solid #CCCFD3;
+}
+
+.rtl #menu {
+ float: right;
+ border: none;
+ border-left: 1px solid #CCCFD3;
+}
+
+#menu p {
+ font-size: 0.85em;
+}
+
+#menu ul {
+ list-style: none;
+ margin: 0;
+ padding: 0;
+}
+
+/* Default list state */
+#menu li {
+ padding: 0;
+ margin: 0;
+ font-size: 0.85em;
+ font-weight: bold;
+ display: inline;
+}
+
+/* Link styles for the sub-section links */
+#menu li span {
+ display: block;
+ padding: 3px 3px 3px 8px;
+ margin: 1px 0;
+ text-decoration: none;
+ font-weight: normal;
+ color: #138ECB;
+}
+
+.rtl #menu li span {
+ padding: 3px 8px 3px 3px;
+}
+
+#menu li a:hover, #menu li a:hover span {
+ text-decoration: none;
+ background-color: #FFFFFF;
+ color: #BC2A4D;
+}
+
+#menu li a:active, #menu li a:active span {
+ color: #F632A0;
+}
+
+#menu li#activemenu a span {
+ text-decoration: none;
+ font-weight: bold;
+ color: #1180B7;
+ background: transparent url("../images/arrow_right.gif") 0% 50% no-repeat;
+}
+
+.rtl #menu li#activemenu a span {
+ background: transparent url("../images/arrow_left.gif") 100% 50% no-repeat;
+}
+
+#menu li#activemenu a:hover span, #menu li#activemenu span {
+ text-decoration: none;
+ font-weight: bold;
+ color: #BC2A4D;
+ background: #FFFFFF url("../images/arrow_right.gif") 1% 50% no-repeat;
+}
+
+.rtl #menu li#activemenu a:hover span, .rtl #menu li#activemenu span {
+ background: #FFFFFF url("../images/arrow_left.gif") 99% 50% no-repeat;
+}
+
+#menu li a:active, #menu li a:active span, #menu li#activemenu a:active span {
+ color: #F632A0;
+}
+
+#menu li span.completed {
+ text-decoration: none;
+ padding: 3px 3px 3px 12px;
+ background: url("../images/arrow_down.gif") 1% 50% no-repeat;
+}
+
+.rtl #menu li span.completed {
+ text-decoration: none;
+ padding: 3px 12px 3px 3px;
+ background: url("../images/arrow_down.gif") 99% 50% no-repeat;
+}
+
+#menu li.header {
+ font-family: Tahoma, Helvetica, sans-serif;
+ display: block;
+ font-weight: bold;
+ color: #115098;
+ border-bottom: 1px solid #327AA5;
+ padding: 4px 0 2px;
+ margin-top: 15px;
+ text-transform: uppercase;
+ font-size: 0.75em;
+}
+
+/* Table styles
+---------------------------------------- */
+
+table {
+ width: 100%;
+ border: 1px solid #CCCFD3;
+ background-color: #FFFFFF;
+ padding: 1px;
+}
+
+th {
+ padding: 3px 4px;
+ color: #FFFFFF;
+ background: #70AED3 url("../images/gradient2b.gif") bottom left repeat-x;
+ border-top: 1px solid #6DACD2;
+ border-bottom: 1px solid #327AA5;
+ text-align: left;
+ font-size: 0.75em;
+ text-transform: uppercase;
+}
+
+td {
+ text-align: left;
+ font-size: 0.85em;
+ padding: 4px;
+ line-height: 1.20em;
+}
+
+.rtl th, .rtl td {
+ text-align: right;
+}
+
+table.type2 {
+ border: none;
+ background: none;
+ padding: 0;
+}
+
+table.type2 th {
+ background: none;
+ border-top: none;
+ text-align: center;
+ color: #115098;
+ padding: 2px 0;
+}
+
+table.type2 td {
+ padding: 0;
+ font-size: 1em;
+}
+
+table.type2 td.name {
+ padding: 2px;
+ vertical-align: middle;
+}
+
+table.type3 {
+ float: right;
+ width: 300px;
+ border: none;
+ background-color: transparent;
+ padding: 0;
+}
+
+.rtl table.type3 {
+ float: left;
+}
+
+table.type3 thead th {
+ background-color: transparent;
+ border-top: none;
+ text-align: center;
+ color: #115098;
+ padding: 0 3px;
+ font-size: 0.85em;
+ font-weight: normal;
+ text-transform: none;
+}
+
+table.type3 tbody th {
+ border-top: none;
+ text-align: left;
+ text-transform: none;
+ padding: 0;
+ border: none;
+ font-size: 0.90em;
+ font-weight: normal;
+ width: 100%;
+}
+
+.rtl table.type3 tbody th {
+ text-align: right;
+}
+
+table.type3 td {
+ text-align: center;
+ padding: 1px;
+}
+
+th.name {
+ text-align: left;
+ width: auto;
+}
+
+.rtl th.name {
+ text-align: right;
+}
+
+td.name {
+ text-align: left;
+ font-weight: bold;
+}
+
+.rtl td.name {
+ text-align: right;
+}
+
+.entry {
+ text-align: left;
+ font-weight: normal;
+}
+
+.rtl .entry {
+ text-align: right;
+}
+
+.row1 { background-color: #F9F9F9; }
+.row2 { background-color: #DCEBFE; }
+.row3 { background-color: #DBDFE2; }
+.row4 { background-color: #E4E8EB; }
+.col1 { background-color: #DCEBFE; }
+.col2 { background-color: #F9F9F9; }
+
+.spacer {
+ background-color: #DBDFE2;
+ height: 1px;
+ line-height: 1px;
+}
+
+/* General form styles
+----------------------------------------*/
+fieldset {
+ margin: 15px 0;
+ padding: 10px;
+ border-top: 1px solid #D7D7D7;
+ border-right: 1px solid #CCCCCC;
+ border-bottom: 1px solid #CCCCCC;
+ border-left: 1px solid #D7D7D7;
+ background-color: #FFFFFF;
+ position: relative;
+}
+
+.rtl fieldset {
+ border-top: 1px solid #D7D7D7;
+ border-right: 1px solid #D7D7D7;
+ border-bottom: 1px solid #CCCCCC;
+ border-left: 1px solid #CCCCCC;
+}
+
+* html fieldset {
+ padding: 0 10px 5px 10px;
+}
+
+fieldset p {
+ font-size: 0.85em;
+}
+
+legend {
+ padding: 1px 0;
+ font-family: Tahoma,arial,Verdana,Sans-serif;
+ font-size: .9em;
+ font-weight: bold;
+ color: #115098;
+ margin-top: -.4em;
+ position: relative;
+ text-transform: none;
+ line-height: 1.2em;
+ top: 0;
+ vertical-align: middle;
+}
+
+/* Hide from macIE \*/
+legend { top: -1.2em; }
+/* end */
+
+* html legend {
+ margin: 0 0 -10px -7px;
+ line-height: 1em;
+ font-size: .85em;
+}
+
+/* Holly hack, .rtl comes after html */
+* html .rtl legend {
+ margin: 0;
+ margin-right: -7px;
+}
+
+input, textarea {
+ font-family: Verdana, Helvetica, Arial, sans-serif;
+ font-size: 0.90em;
+ font-weight: normal;
+ cursor: text;
+ vertical-align: middle;
+ padding: 2px;
+ color: #111111;
+ border-left: 1px solid #AFAEAA;
+ border-top: 1px solid #AFAEAA;
+ border-right: 1px solid #D5D5C8;
+ border-bottom: 1px solid #D5D5C8;
+ background-color: #E3DFD8;
+}
+
+.rtl input, .rtl textarea {
+ border-left: 1px solid #D5D5C8;
+ border-top: 1px solid #AFAEAA;
+ border-right: 1px solid #AFAEAA;
+ border-bottom: 1px solid #D5D5C8;
+}
+
+input:hover, textarea:hover {
+ border-left: 1px solid #AFAEAA;
+ border-top: 1px solid #AFAEAA;
+ border-right: 1px solid #AFAEAA;
+ border-bottom: 1px solid #AFAEAA;
+ background-color: #E9E9E2;
+}
+
+input.langvalue, textarea.langvalue {
+ width: 90%;
+}
+
+optgroup, select {
+ font-family: Verdana, Helvetica, Arial, sans-serif;
+ font-size: 0.85em;
+ font-weight: normal;
+ font-style: normal;
+ cursor: pointer;
+ vertical-align: middle;
+ width: auto;
+ color: #000;
+}
+
+optgroup {
+ font-size: 1.00em;
+ font-weight: bold;
+}
+
+optgroup.disabled-options {
+ display: none;
+ background-color: gray;
+}
+
+option {
+ padding: 0 1em 0 0;
+ color: #000;
+}
+
+option.disabled-option {
+ color: graytext;
+}
+
+.rtl option {
+ padding: 0 0 0 1em;
+}
+
+.sep {
+ font-weight: bold;
+}
+
+.username-coloured {
+ font-weight: bold;
+}
+
+textarea {
+ font-family: Verdana, Helvetica, Arial, sans-serif;
+ font-size: 0.85em;
+ width: 60%;
+ padding: 2px;
+}
+
+label {
+ cursor: pointer;
+ font-size: 0.85em;
+ padding: 0 5px 0 0;
+}
+
+.rtl label {
+ padding: 0 0 0 5px;
+}
+
+label input {
+ font-size: 1.00em;
+ vertical-align: middle;
+}
+
+label img {
+ vertical-align: middle;
+}
+
+fieldset.quick, p.quick {
+ margin: 0 0 5px;
+ padding: 5px 0 0;
+ border: none;
+ background-color: transparent;
+ text-align: right;
+}
+
+.rtl fieldset.quick, .rtl p.quick {
+ text-align: left;
+}
+
+fieldset.quick legend {
+ display: none;
+}
+
+fieldset.tabulated {
+ background: none;
+ margin: 0;
+ padding: 0;
+ padding-top: 5px;
+ border: 0;
+}
+
+fieldset.tabulated legend {
+ display: none;
+}
+
+fieldset.nobg {
+ margin: 15px 0 0 0;
+ padding: 0;
+ border: none;
+ background-color: transparent;
+}
+
+fieldset.display-options {
+ margin: 15px 0 2px 0;
+ padding: 0 0 4px 0;
+ border: none;
+ background-color: transparent;
+ text-align: center;
+ font-size: 0.75em;
+}
+
+fieldset.display-options select, fieldset.display-options input, fieldset.display-options label {
+ font-size: 1.00em;
+ vertical-align: middle;
+}
+
+select option.disabled {
+ background-color: #bbb;
+ color: #fff;
+}
+
+/* Special case inputs */
+select#board_timezone,
+select#full_folder_action {
+ width: 95%;
+}
+
+/* Definition list layout for forms
+ Other general def. list properties defined in prosilver_main.css
+---------------------------------------- */
+dl {
+ font-family: Verdana, Helvetica, Arial, sans-serif;
+ font-size: 1.00em;
+}
+
+dt {
+ float: left;
+ width: auto;
+}
+
+.rtl dt {
+ float: right;
+}
+
+dd { color: #666666;}
+dd + dd { padding-top: 5px;}
+dt span { padding: 0 5px 0 0;}
+.rtl dt span { padding: 0 0 0 5px;}
+
+dt .explain { font-style: italic;}
+
+dt label {
+ font-size: 1.00em;
+ text-align: left;
+ font-weight: bold;
+ color: #4A5A73;
+}
+
+.rtl dt label {
+ text-align: right;
+}
+
+dd label {
+ font-size: 1.00em;
+ white-space: nowrap;
+ margin: 0 10px 0 0;
+ color: #4A5A73;
+}
+
+.rtl dd label {
+ margin: 0 0 0 10px;
+}
+
+html>body dd label input { vertical-align: text-bottom;} /* Tweak for Moz to align checkboxes/radio buttons nicely */
+
+dd input {
+ font-size: 1.00em;
+ max-width: 100%;
+}
+
+dd select {
+ font-size: 100%;
+ width: auto;
+ max-width: 100%;
+}
+
+dd textarea {
+ font-size: 0.90em;
+ width: 90%;
+}
+
+dd select {
+ width: auto;
+ font-size: 1.00em;
+}
+
+fieldset dl {
+ margin-bottom: 10px;
+ font-size: 0.85em;
+}
+
+fieldset dt {
+ width: 45%;
+ text-align: left;
+ border: none;
+ border-right: 1px solid #CCCCCC;
+ padding-top: 3px;
+}
+
+.rtl fieldset dt {
+ text-align: right;
+ border: none;
+ border-left: 1px solid #CCCCCC;
+}
+
+fieldset dd {
+ margin: 0 0 0 45%;
+ padding: 0 0 0 5px;
+ border: none;
+ border-left: 1px solid #CCCCCC;
+ vertical-align: top;
+ font-size: 1.00em;
+}
+
+.rtl fieldset dd {
+ margin: 0 45% 0 0;
+ padding: 0 5px 0 0;
+ border: none;
+ border-right: 1px solid #CCCCCC;
+}
+
+dd.full, .rtl dd.full {
+ margin: 0;
+ border: 0;
+ padding: 0;
+ padding-top: 3px;
+ text-align: center;
+ width: 95%;
+}
+
+/* Hover highlights for form rows */
+fieldset dl:hover dt, fieldset dl:hover dd {
+ border-color: #666666;
+}
+
+fieldset dl:hover dt label {
+ color: #000000;
+}
+
+fieldset dl dd label:hover {
+ color: #BC2A4D;
+}
+
+input:focus, textarea:focus {
+ border: 1px solid #BC2A4D;
+ background-color: #E9E9E2;
+ color: #BC2A4D;
+}
+
+/* Submit button fieldset or paragraph
+---------------------------------------- */
+fieldset.submit-buttons {
+ text-align: center;
+ border: none;
+ background-color: transparent;
+ margin: 0;
+ padding: 4px;
+ margin-top: -1px;
+}
+
+p.submit-buttons {
+ text-align: center;
+ margin: 0;
+ padding: 4px;
+ margin-top: 10px;
+}
+
+fieldset.submit-buttons input, p.submit-buttons input {
+ padding: 3px 2px;
+}
+
+fieldset.submit-buttons legend {
+ display: none;
+}
+
+/* Input field styles
+---------------------------------------- */
+
+input.radio, input.permissions-checkbox {
+ width: auto !important;
+ background-color: transparent;
+ border: none;
+ cursor: default;
+}
+
+input.full,
+textarea.full {
+ width: 99%;
+}
+
+* html input.full, * html textarea.full { width: 95%;}
+input.medium { width: 50%;}
+input.narrow { width: 25%;}
+input.tiny { width: 10%;}
+input.autowidth { width: auto !important;}
+.box2 .inputbox { background-color: #E9E9E9;}
+
+/* Form button styles
+---------------------------------------- */
+a.button1, input.button1, input.button3,
+a.button2, input.button2 {
+ width: auto !important;
+ padding: 1px 3px 0 3px;
+ font-family: "Lucida Grande", Verdana, Helvetica, Arial, sans-serif;
+ color: #000;
+ font-size: 0.85em;
+ background: #EFEFEF url("../images/bg_button.gif") repeat-x top;
+ cursor: pointer;
+}
+
+a.button1, input.button1 {
+ font-weight: bold;
+ border: 1px solid #666666;
+}
+
+/* Alternative button */
+a.button2, input.button2 {
+ border: 1px solid #666666;
+}
+
+/* <a> button in the style of the form buttons */
+a.button1, a.button1:link, a.button1:visited, a.button1:active,
+a.button2, a.button2:link, a.button2:visited, a.button2:active {
+ text-decoration: none;
+ color: #000000;
+ padding: 4px 8px;
+}
+
+/* Hover states */
+a.button1:hover, input.button1:hover,
+a.button2:hover, input.button2:hover {
+ border: 1px solid #BC2A4D;
+ background: #EFEFEF url("../images/bg_button.gif") repeat bottom;
+ color: #BC2A4D;
+}
+
+input.disabled {
+ font-weight: normal;
+ color: #666666;
+}
+
+/* Pagination
+---------------------------------------- */
+.pagination {
+ height: 1%; /* IE tweak (holly hack) */
+ width: auto;
+ text-align: right;
+ margin-top: 5px;
+ font-size: 0.85em;
+ padding-bottom: 2px;
+}
+
+.rtl .pagination {
+ text-align: left;
+}
+
+.pagination strong,
+.pagination b {
+ font-weight: normal;
+}
+
+.pagination span.page-sep {
+ display:none;
+}
+
+.pagination span strong {
+ padding: 0 2px;
+ margin: 0 2px;
+ font-weight: normal;
+ font-size: 0.85em;
+ color: #FFFFFF;
+ background: #4692BF;
+ border: 1px solid #4692BF;
+}
+
+.pagination span a, .pagination span a:link, .pagination span a:visited, .pagination span a:active {
+ font-weight: normal;
+ font-size: 0.85em;
+ text-decoration: none;
+ color: #5C758C;
+ margin: 0 2px;
+ padding: 0 2px;
+ background: #ECEDEE;
+ border: 1px solid #B4BAC0;
+}
+
+.pagination span a:hover {
+ border-color: #368AD2;
+ background: #368AD2;
+ color: #FFFFFF;
+ text-decoration: none;
+}
+
+.pagination img {
+ vertical-align: middle;
+}
+
+
+/* Action Highlighting
+---------------------------------------- */
+.successbox, .errorbox {
+ padding: 8px;
+ margin: 10px 0;
+ color: #FFFFFF;
+ text-align: center;
+}
+
+.success {
+ color: #228822;
+}
+
+.error {
+ color: #BC2A4D;
+}
+
+.successbox {
+ background-color: #228822;
+}
+
+.errorbox {
+ background-color: #BC2A4D;
+}
+
+* html .errorbox, * html .successbox { height: 1%; } /* Pixel shift fix for IE */
+
+.successbox h3, .errorbox h3 {
+ color: #FFFFFF;
+ margin: 0 0 0.5em;
+ font-size: 1.10em;
+ font-family: "Lucida Grande",Verdana,Helvetica,Arial,sans-serif;
+}
+
+.successbox p, .errorbox p {
+ color: #FFFFFF;
+ font-size: 0.85em;
+ margin-bottom: 0;
+}
+
+.errorbox a:link, .errorbox a:active, .errorbox a:visited,
+.successbox a:link, .successbox a:active, .successbox a:visited {
+ color: #DBD7D1;
+ text-decoration: underline;
+ font-weight: bold;
+}
+
+.errorbox a:hover, .successbox a:hover {
+ color: #FFFFFF;
+ text-decoration: none;
+ font-weight: bold;
+}
+
+.notice {
+ background-color: #62A5CC;
+}
+
+/* Special cases for the error page */
+#errorpage #page-header a {
+ font-weight: bold;
+ line-height: 6em;
+}
+
+#errorpage #content {
+ padding-top: 10px;
+}
+
+#errorpage #content h1 {
+ color: #DF075C;
+}
+
+#errorpage #content h2 {
+ margin-top: 20px;
+ margin-bottom: 5px;
+ border-bottom: 1px solid #CCCCCC;
+ padding-bottom: 5px;
+ color: #333333;
+}
+
+/* Tooltip for permission roles */
+.tooltip {
+ width: 200px;
+ color: #000;
+ text-align: center;
+ border: 1px solid #AAA;
+}
+
+.tooltip span.top {
+ background: #EFEFEF;
+ font-weight: bold;
+ padding: 2px;
+}
+
+.tooltip span.bottom {
+ padding: 5px;
+ color: #000000;
+ background: #FFFFFF;
+}
+
+/*
+ Format Buttons for signature editor
+*/
+#format-buttons {
+ margin: 15px 0 2px 0;
+}
+
+#format-buttons input, #format-buttons select {
+ vertical-align: middle;
+}
+
+/* Nice method for clearing floated blocks without having to insert any extra markup
+ From http://www.positioniseverything.net/easyclearing.html
+.clearfix:after, #tabs:after, .row:after, #content:after, fieldset dl:after, #page-body:after {
+ content: ".";
+ display: block;
+ height: 0;
+ clear: both;
+ visibility: hidden;
+}*/
+
+.clearfix, #tabs, .row, #content, fieldset dl, #page-body {
+ height: 1%;
+ overflow: hidden;
+}
+
+/* Syntax Highlighting
+---------------------------------------- */
+.sourcenum {
+ color: gray;
+ font-family: Monaco, 'Courier New', monospace;
+ font-size: 1.25em;
+ font-weight: bold;
+ line-height: 1.20em;
+ text-align: right;
+ padding: 0;
+}
+
+.rtl .sourcenum {
+ text-align: left;
+}
+
+.source {
+ font-family: Monaco, 'Courier New', monospace;
+ font-size: 1.25em;
+ line-height: 1.20em;
+ padding: 0;
+}
+
+.syntaxbg {
+ color: #FFFFFF;
+}
+
+.syntaxcomment {
+ color: #FF8000;
+}
+
+.syntaxdefault {
+ color: #0000BB;
+}
+
+.syntaxhtml {
+ color: #000000;
+}
+
+.syntaxkeyword {
+ color: #007700;
+}
+
+.syntaxstring {
+ color: #DD0000;
+}
+
+/* Permission interface
+---------------------------------------- */
+
+fieldset.permissions legend {
+ text-transform: none;
+}
+
+fieldset.permissions legend input{
+ height: 1.1em;
+}
+
+/* Permission sections */
+fieldset.permissions .permissions-simple {
+ text-align: left;
+ padding-top: 3px;
+}
+
+.rtl fieldset.permissions .permissions-simple {
+ text-align: right;
+}
+
+fieldset.permissions .permissions-advanced {
+ padding: 10px 0 0 5px;
+ vertical-align: top;
+ clear: right;
+}
+
+.rtl fieldset.permissions .permissions-advanced {
+ padding: 10px 5px 0 0;
+ clear: left;
+}
+
+fieldset.permissions .permissions-switch {
+ float: right;
+}
+
+.rtl fieldset.permissions .permissions-switch {
+ float: left;
+}
+
+fieldset.permissions .padding {
+}
+
+.permissions-switch {
+ margin-top: -6px;
+ font-size: .9em;
+}
+
+.permissions-switch a {
+ text-decoration: underline;
+}
+
+.permissions-reset {
+ padding-bottom: 10px;
+}
+
+.permissions-reset a {
+ font-size: .85em;
+}
+
+/* Tabbed menu */
+.permissions-category {
+ line-height: normal;
+ margin: 0 0 -1px 7px;
+ min-width: 570px;
+ font-size: 0.85em;
+}
+
+.rtl .permissions-category {
+ margin: 0 7px -1px 0;
+}
+
+.permissions-category ul {
+ margin: 0;
+ padding: 0;
+ list-style: none;
+}
+
+.permissions-category li {
+ display: inline;
+ margin: 0;
+ padding: 0;
+ font-size: 1em;
+ font-weight: bold;
+}
+
+.permissions-category a {
+ float: left;
+ background: url("../images/bg_tabs_alt1.gif") no-repeat 0% -35px;
+ margin: 0 1px 0 0;
+ padding: 0 0 0 6px;
+ text-decoration: none;
+ position: relative;
+}
+
+.rtl .permissions-category a {
+ float: right;
+}
+
+.permissions-category a span.tabbg {
+ float: left;
+ display: block;
+ background: url("../images/bg_tabs_alt2.gif") no-repeat 100% -35px;
+ padding: 7px 12px 6px 6px;
+ color: #536482;
+ white-space: nowrap;
+}
+
+.rtl .permissions-category a span.tabbg {
+ float: right;
+}
+
+/* Commented Backslash Hack hides rule from IE5-Mac \*/
+.permissions-category a span.tabbg, .rtl .permissions-category a span.tabbg { float: none;}
+/* End hack */
+
+.permissions-category a:hover span.tabbg {
+ color: #DD6900;
+}
+
+.permissions-category .activetab a {
+ background-position: 0 0;
+}
+
+.permissions-category .activetab a span.tabbg {
+ background-position: 100% 0;
+ padding-bottom: 7px;
+ color: #333333;
+}
+
+.permissions-category a:hover {
+ background-position: 0 -70px;
+}
+
+.permissions-category a:hover span.tabbg {
+ background-position: 100% -70px;
+}
+
+.permissions-category .activetab a:hover span.tabbg {
+ color: #333333;
+ background-position: 100% 0;
+}
+
+.permissions-category .activetab a:hover {
+ background-position: 0 0;
+}
+
+.permissions-category a span.colour {
+ border: 1px solid #536482;
+ display: block;
+ float: left;
+ width: 10px;
+ height: 10px;
+ margin: 0 5px 0 0;
+}
+
+/* Most browsers will have to live with a left aligned icon in RTL mode, as (currently) only Firefox 3.0 Alpha 3 renders it correctly without destroying it
+.rtl .permissions-category a span.colour {
+ float: right;
+ margin: 0 0 0 5px;
+}
+*/
+
+.permissions-category .activetab span.colour {
+ border-color: #333333;
+}
+
+.permissions-category a:hover span.colour {
+ border-color: #DD6900;
+}
+
+.permissions-category .activetab a:hover span.colour {
+ border-color: #333333;
+}
+
+/* Permission preset colours */
+.permissions-preset-yes span.colour,
+.yes {
+ background-color: #86F786;
+}
+
+.permissions-preset-custom span.colour {
+ background-color: #B2BBDD;
+}
+
+.permissions-preset-never span.colour {
+ background-color: #DD0000;
+}
+
+.permissions-preset-no span.colour,
+.never {
+ background-color: #EFB0B2;
+}
+
+/* Permission panel
+---------------------------------------- */
+.permissions-panel {
+ float: left;
+ background-color: #CADCEB;
+ width: 100%;
+}
+
+.rtl .permissions-panel {
+ float: right;
+}
+
+.permissions-panel span.corners-top {
+ background-image: url("../images/corners_left2.gif");
+}
+
+.permissions-panel span.corners-top span {
+ background-image: url("../images/corners_right2.gif");
+}
+
+.permissions-panel span.corners-bottom {
+ background-image: url("../images/corners_left2.gif");
+}
+
+.permissions-panel span.corners-bottom span {
+ background-image: url("../images/corners_right2.gif");
+}
+
+.permissions-panel span.corners-top, .permissions-panel span.corners-bottom,
+.permissions-panel span.corners-top span, .permissions-panel span.corners-bottom span {
+ font-size: 1px;
+ line-height: 1px;
+ display: block;
+ height: 5px;
+ background-repeat: no-repeat;
+}
+
+.permissions-panel span.corners-top {
+ background-image: url("../images/corners_left2.gif");
+ background-position: 0 0;
+ margin: 0 0;
+}
+
+.permissions-panel span.corners-top span {
+ background-image: url("../images/corners_right2.gif");
+ background-position: 100% 0;
+}
+
+.permissions-panel span.corners-bottom {
+ background-image: url("../images/corners_left2.gif");
+ background-position: 0 100%;
+ margin: 0 0;
+ clear: both;
+}
+
+.permissions-panel span.corners-bottom span {
+ background-image: url("../images/corners_right2.gif");
+ background-position: 100% 100%;
+}
+
+/* Permission table
+---------------------------------------- */
+.permissions-panel .tablewrap {
+ margin: 0 10px;
+}
+
+.permissions-panel table {
+ width: 100%;
+}
+
+.permissions-panel th {
+ text-transform: none;
+}
+
+.permissions-panel th.value {
+ text-align: center;
+}
+
+.permissions-panel th.name {
+ text-align: left;
+ width: auto;
+ text-transform: none;
+}
+
+.rtl .permissions-panel th.name {
+ text-align: right;
+}
+
+.permissions-panel th.permissions-name {
+ border: none;
+ color: #536482;
+ font-weight: normal;
+}
+
+.permissions-panel th.permissions-name a.trace {
+ display: inline;
+}
+
+.permissions-panel th.row3 {
+ background-image: none;
+ background-color: #D1D7DC;
+ color: #536482;
+ border: none;
+}
+
+.permissions-panel th.row4 {
+ background-image: none;
+ background-color: #E4E8EB;
+ color: #536482;
+ border: none;
+}
+
+.permissions-panel th a:link, .permissions-panel th a:hover, .permissions-panel th a:visited {
+ display: block;
+ color: #FFFFFF;
+ text-decoration: underline;
+}
+
+.permissions-panel td.permissions-yes label:hover {
+ background-color: #86F786;
+}
+
+.permissions-panel td.permissions-no label:hover {
+ background-color: #EFB0B2;
+}
+
+.permissions-panel td.permissions-never label:hover {
+ background-color: #DD0000;
+}
+
+.permissions-panel td {
+ padding: 0;
+ text-align: center;
+ width: 10%;
+}
+
+.permissions-panel td label {
+ display: block;
+ margin: 0;
+ padding: 0;
+}
+
+/* Classes for additional tasks
+---------------------------------------- */
+
+.phpinfo {
+ overflow: auto;
+ width: 99%;
+ direction: ltr;
+}
+
+.phpinfo td, .phpinfo th, .phpinfo h2, .phpinfo h1 {
+ text-align: left;
+}
diff --git a/phpBB/adm/style/captcha_default_acp_demo.html b/phpBB/adm/style/captcha_default_acp_demo.html
new file mode 100644
index 0000000000..0b1434f7e0
--- /dev/null
+++ b/phpBB/adm/style/captcha_default_acp_demo.html
@@ -0,0 +1,4 @@
+<dl>
+ <dt><label for="captcha_preview">{L_PREVIEW}:</label><br /><span>{L_CAPTCHA_PREVIEW_EXPLAIN}</span></dt>
+ <dd><img src="{CONFIRM_IMAGE}" alt="{L_PREVIEW}" width="360" height="96" id="captcha_preview" /></dd>
+</dl>
diff --git a/phpBB/adm/style/captcha_gd_acp.html b/phpBB/adm/style/captcha_gd_acp.html
new file mode 100644
index 0000000000..d0bb758cfe
--- /dev/null
+++ b/phpBB/adm/style/captcha_gd_acp.html
@@ -0,0 +1,74 @@
+<!-- INCLUDE overall_header.html -->
+
+<a name="maincontent"></a>
+ <a href="{U_ACTION}" style="float: {S_CONTENT_FLOW_END};">&laquo; {L_BACK}</a>
+
+<h1>{L_ACP_VC_SETTINGS}</h1>
+
+<p>{L_ACP_VC_SETTINGS_EXPLAIN}</p>
+
+
+<form id="acp_captcha" method="post" action="{U_ACTION}">
+
+<fieldset>
+<legend>{L_GENERAL_OPTIONS}</legend>
+
+<dl>
+ <dt><label for="captcha_gd_foreground_noise">{L_CAPTCHA_GD_FOREGROUND_NOISE}:</label><br /><span>{L_CAPTCHA_GD_FOREGROUND_NOISE_EXPLAIN}</span></dt>
+ <dd><label><input id="captcha_gd_foreground_noise" name="captcha_gd_foreground_noise" value="1" class="radio" type="radio"<!-- IF CAPTCHA_GD_FOREGROUND_NOISE --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
+ <label><input name="captcha_gd_foreground_noise" value="0" class="radio" type="radio"<!-- IF not CAPTCHA_GD_FOREGROUND_NOISE --> checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
+</dl>
+<dl>
+ <dt><label for="captcha_gd_x_grid">{L_CAPTCHA_GD_X_GRID}:</label><br /><span>{L_CAPTCHA_GD_X_GRID_EXPLAIN}</span></dt>
+ <dd><input id="captcha_gd_x_grid" name="captcha_gd_x_grid" value="{CAPTCHA_GD_X_GRID}" type="text" /></dd>
+</dl>
+<dl>
+ <dt><label for="captcha_gd_y_grid">{L_CAPTCHA_GD_Y_GRID}:</label><br /><span>{L_CAPTCHA_GD_Y_GRID_EXPLAIN}</span></dt>
+ <dd><input id="captcha_gd_y_grid" name="captcha_gd_y_grid" value="{CAPTCHA_GD_Y_GRID}" type="text" /></dd>
+</dl>
+<dl>
+ <dt><label for="captcha_gd_wave">{L_CAPTCHA_GD_WAVE}:</label><br /><span>{L_CAPTCHA_GD_WAVE_EXPLAIN}</span></dt>
+ <dd><label><input id="captcha_gd_wave" name="captcha_gd_wave" value="1" class="radio" type="radio"<!-- IF CAPTCHA_GD_WAVE --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
+ <label><input name="captcha_gd_wave" value="0" class="radio" type="radio"<!-- IF not CAPTCHA_GD_WAVE --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
+</dd>
+</dl>
+<dl>
+ <dt><label for="captcha_gd_3d_noise">{L_CAPTCHA_GD_3D_NOISE}:</label><br /><span>{L_CAPTCHA_GD_3D_NOISE_EXPLAIN}</span></dt>
+ <dd><label><input id="captcha_gd_3d_noise" name="captcha_gd_3d_noise" value="1" class="radio" type="radio"<!-- IF CAPTCHA_GD_3D_NOISE --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
+ <label><input name="captcha_gd_3d_noise" value="0" class="radio" type="radio"<!-- IF not CAPTCHA_GD_3D_NOISE --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
+</dd>
+</dl>
+<dl>
+ <dt><label for="captcha_gd_fonts">{L_CAPTCHA_GD_FONTS}:</label><br /><span>{L_CAPTCHA_GD_FONTS_EXPLAIN}</span></dt>
+ <dd><label><input id="captcha_gd_fonts" name="captcha_gd_fonts" value="1" class="radio" type="radio"<!-- IF CAPTCHA_GD_FONTS == 1 --> checked="checked"<!-- ENDIF --> /> {L_CAPTCHA_FONT_DEFAULT}</label>
+ <label><input name="captcha_gd_fonts" value="2" class="radio" type="radio"<!-- IF CAPTCHA_GD_FONTS == 2 --> checked="checked"<!-- ENDIF --> /> {L_CAPTCHA_FONT_NEW}</label>
+ <label><input name="captcha_gd_fonts" value="3" class="radio" type="radio"<!-- IF CAPTCHA_GD_FONTS == 3 --> checked="checked"<!-- ENDIF --> /> {L_CAPTCHA_FONT_LOWER}</label>
+
+</dd>
+</dl>
+
+</fieldset>
+<fieldset>
+ <legend>{L_PREVIEW}</legend>
+ <!-- IF CAPTCHA_PREVIEW -->
+ <!-- INCLUDE {CAPTCHA_PREVIEW} -->
+ <!-- ENDIF -->
+
+</fieldset>
+
+<fieldset>
+ <legend>{L_ACP_SUBMIT_CHANGES}</legend>
+ <p class="submit-buttons">
+ <input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />&nbsp;
+ <input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />&nbsp;
+ <input class="button2" type="submit" id="preview" name="preview" value="{L_PREVIEW}" />&nbsp;
+ </p>
+
+ <input type="hidden" name="select_captcha" value="{CAPTCHA_NAME}" />
+ <input type="hidden" name="configure" value="1" />
+
+ {S_FORM_TOKEN}
+</fieldset>
+</form>
+
+<!-- INCLUDE overall_footer.html -->
diff --git a/phpBB/adm/style/captcha_qa_acp.html b/phpBB/adm/style/captcha_qa_acp.html
new file mode 100644
index 0000000000..e0fc6fc67e
--- /dev/null
+++ b/phpBB/adm/style/captcha_qa_acp.html
@@ -0,0 +1,92 @@
+<!-- INCLUDE overall_header.html -->
+
+<a name="maincontent"></a>
+
+
+ <a href="<!-- IF U_LIST -->{U_LIST}<!-- ELSE -->{U_ACTION}<!-- ENDIF -->" style="float: {S_CONTENT_FLOW_END};">&laquo; {L_BACK}</a>
+
+ <h1>{L_QUESTIONS}</h1>
+
+ <p>{L_QUESTIONS_EXPLAIN}</p>
+<!-- IF S_LIST -->
+ <form id="captcha_qa" method="post" action="{U_ACTION}">
+
+ <fieldset class="tabulated">
+ <legend>{L_QUESTIONS}</legend>
+
+ <table cellspacing="1">
+ <thead>
+ <tr>
+ <th colspan="3">{L_QUESTIONS}</th>
+ </tr>
+ <tr class="row3">
+ <td style="text-align: center;">{L_QUESTION_TEXT}</td>
+ <td style="width: 5%; text-align: center;">{L_QUESTION_LANG}</td>
+ <td style="vertical-align: top; width: 50px; text-align: center; white-space: nowrap;">{L_ACTION}</td>
+ </tr>
+ </thead>
+ <tbody>
+ <!-- BEGIN questions -->
+
+ <!-- IF questions.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
+
+ <td style="text-align: left;">{questions.QUESTION_TEXT}</td>
+ <td style="text-align: center;">{questions.QUESTION_LANG}</td>
+ <td style="text-align: center;"><a href="{questions.U_EDIT}">{ICON_EDIT}</a>&nbsp;<a href="{questions.U_DELETE}">{ICON_DELETE}</a></td>
+ </tr>
+ <!-- END questions -->
+ </tbody>
+ </table>
+ <fieldset class="quick">
+ <input class="button1" type="submit" name="add" value="{L_ADD}" />
+ <input type="hidden" name="action" value="add" />
+ <input type="hidden" name="configure" value="1" />
+ <input type="hidden" name="select_captcha" value="{CLASS}" />
+
+ {S_FORM_TOKEN}
+ </fieldset>
+ {S_FORM_TOKEN}
+ </fieldset>
+ </form>
+<!-- ELSE -->
+ <!-- IF S_ERROR -->
+ <div class="errorbox">
+ <h3>{L_WARNING}</h3>
+ <p>{L_QA_ERROR_MSG}</p>
+ </div>
+ <!-- ENDIF -->
+ <form id="captcha_qa" method="post" action="{U_ACTION}">
+ <fieldset>
+ <legend>{L_EDIT_QUESTION}</legend>
+ <dl>
+ <dt><label for="strict">{L_QUESTION_STRICT}:</label><br /><span>{L_QUESTION_STRICT_EXPLAIN}</span></dt>
+ <dd><label><input type="radio" class="radio" name="strict" value="1"<!-- IF STRICT --> id="strict" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
+ <label><input type="radio" class="radio" name="strict" value="0"<!-- IF not STRICT --> id="strict" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
+ </dl>
+
+ <dl>
+ <dt><label for="lang_iso">{L_QUESTION_LANG}</label><br /><span>{L_QUESTION_LANG_EXPLAIN}</span></dt>
+ <dd><select id="lang_iso" name="lang_iso"><!-- BEGIN langs --><option value="{langs.ISO}" <!-- IF langs.ISO == LANG_ISO --> selected="selected" <!-- ENDIF -->>{langs.NAME}</option><!-- END langs --></select></dd>
+ </dl>
+ <dl>
+ <dt><label for="question_text">{L_QUESTION_TEXT}</label><br /><span>{L_QUESTION_TEXT_EXPLAIN}</span></dt>
+ <dd><input id="question_text" maxlength="255" size="60" name="question_text" type="text" value="{QUESTION_TEXT}" /></dd>
+ </dl>
+ <dl>
+ <dt><label for="answers">{L_QUESTION_ANSWERS}</label><br /><span>{L_ANSWERS_EXPLAIN}</span></dt>
+ <dd><textarea id="answers" style="word-wrap: normal; overflow-x: scroll;" name="answers" rows="15" cols="800" >{ANSWERS}</textarea></dd>
+ </dl>
+ </fieldset>
+ <fieldset class="quick">
+ <input class="button1" type="submit" name="submit" value="{L_SUBMIT}" />
+ <input type="hidden" name="question_id" value="{QUESTION_ID}" />
+ <input type="hidden" name="action" value="add" />
+ <input type="hidden" name="configure" value="1" />
+ <input type="hidden" name="select_captcha" value="{CLASS}" />
+
+ {S_FORM_TOKEN}
+ </fieldset>
+ </form>
+<!-- ENDIF -->
+
+<!-- INCLUDE overall_footer.html -->
diff --git a/phpBB/adm/style/captcha_qa_acp_demo.html b/phpBB/adm/style/captcha_qa_acp_demo.html
new file mode 100644
index 0000000000..57bed8af53
--- /dev/null
+++ b/phpBB/adm/style/captcha_qa_acp_demo.html
@@ -0,0 +1,7 @@
+<dl>
+ <dt><label for="answer">{L_CONFIRM_QUESTION}:</label><br /><span>{L_CONFIRM_QUESTION_EXPLAIN}</span></dt>
+
+ <dd>
+ <input type="text" tabindex="10" name="answer" id="answer" size="45" class="inputbox autowidth" title="{L_ANSWER}" />
+ </dd>
+</dl>
diff --git a/phpBB/adm/style/captcha_recaptcha.html b/phpBB/adm/style/captcha_recaptcha.html
new file mode 100644
index 0000000000..e4fa5dd426
--- /dev/null
+++ b/phpBB/adm/style/captcha_recaptcha.html
@@ -0,0 +1,33 @@
+<!-- IF S_RECAPTCHA_AVAILABLE -->
+ <dl>
+ <dd>
+ <script type="text/javascript">
+ // <![CDATA[
+ var RecaptchaOptions = {
+ lang : '{L_RECAPTCHA_LANG}',
+ };
+ // ]]>
+ </script>
+ <script type="text/javascript" src="{RECAPTCHA_SERVER}/challenge?k={RECAPTCHA_PUBKEY}{RECAPTCHA_ERRORGET}"></script>
+ <script type="text/javascript">
+ // <![CDATA[
+ <!-- IF S_CONTENT_DIRECTION eq 'rtl' -->
+ document.getElementById('recaptcha_table').style.direction = 'ltr';
+ <!-- ENDIF -->
+ // ]]>
+ </script>
+
+
+ <noscript>
+ <div>
+ <object data="{RECAPTCHA_SERVER}/noscript?k={RECAPTCHA_PUBKEY}{RECAPTCHA_ERRORGET}" type="text/html" height="300" width="500"></object><br />
+ <textarea name="recaptcha_challenge_field" rows="3" cols="40"></textarea>
+ <input type="hidden" name="recaptcha_response_field" value="manual_challenge" />
+ </div>
+ </noscript>
+
+ </dd>
+ </dl>
+<!-- ELSE -->
+{L_RECAPTCHA_NOT_AVAILABLE}
+<!-- ENDIF -->
diff --git a/phpBB/adm/style/captcha_recaptcha_acp.html b/phpBB/adm/style/captcha_recaptcha_acp.html
new file mode 100644
index 0000000000..5b97cff984
--- /dev/null
+++ b/phpBB/adm/style/captcha_recaptcha_acp.html
@@ -0,0 +1,50 @@
+<!-- INCLUDE overall_header.html -->
+
+<a name="maincontent"></a>
+
+<h1>{L_ACP_VC_SETTINGS}</h1>
+
+<p>{L_ACP_VC_SETTINGS_EXPLAIN}</p>
+
+
+<form id="acp_captcha" method="post" action="{U_ACTION}">
+
+<fieldset>
+<legend>{L_GENERAL_OPTIONS}</legend>
+
+<dl>
+ <dt><label for="recaptcha_pubkey">{L_RECAPTCHA_PUBLIC}:</label><br /><span>{L_RECAPTCHA_PUBLIC_EXPLAIN}</span></dt>
+ <dd><input id="recaptcha_pubkey" name="recaptcha_pubkey" value="{RECAPTCHA_PUBKEY}" size="50" type="text" /></dd>
+</dl>
+<dl>
+ <dt><label for="recaptcha_privkey">{L_RECAPTCHA_PRIVATE}:</label><br /><span>{L_RECAPTCHA_PRIVATE_EXPLAIN}</span></dt>
+ <dd><input id="recaptcha_privkey" name="recaptcha_privkey" value="{RECAPTCHA_PRIVKEY}" size="50" type="text" /></dd>
+</dl>
+
+
+</fieldset>
+<fieldset>
+ <legend>{L_PREVIEW}</legend>
+<!-- IF PREVIEW -->
+ <div class="successbox">
+ <h3>{L_WARNING}</h3>
+ <p>{L_CAPTCHA_PREVIEW_MSG}</p>
+ </div>
+<!-- ENDIF -->
+<!-- INCLUDE {CAPTCHA_PREVIEW} -->
+</fieldset>
+
+<fieldset>
+ <legend>{L_ACP_SUBMIT_CHANGES}</legend>
+ <p class="submit-buttons">
+ <input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />&nbsp;
+ <input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />&nbsp;
+ </p>
+ <input type="hidden" name="select_captcha" value="{CAPTCHA_NAME}" />
+ <input type="hidden" name="configure" value="1" />
+
+ {S_FORM_TOKEN}
+</fieldset>
+</form>
+
+<!-- INCLUDE overall_footer.html -->
diff --git a/phpBB/adm/style/colour_swatch.html b/phpBB/adm/style/colour_swatch.html
new file mode 100644
index 0000000000..c9e89980d8
--- /dev/null
+++ b/phpBB/adm/style/colour_swatch.html
@@ -0,0 +1,78 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" dir="{S_CONTENT_DIRECTION}" lang="{S_USER_LANG}" xml:lang="{S_USER_LANG}">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset={S_CONTENT_ENCODING}" />
+<meta http-equiv="Content-Style-Type" content="text/css" />
+<meta http-equiv="Content-Language" content="{S_USER_LANG}" />
+<meta http-equiv="imagetoolbar" content="no" />
+<title>{L_COLOUR_SWATCH}</title>
+
+<style type="text/css">
+/* <![CDATA[ */
+ body {
+ background-color: #404040;
+ color: #fff;
+ }
+
+ td {
+ border: solid 1px #333;
+ }
+
+ .over {
+ border-color: white;
+ }
+
+ .out {
+ border-color: #333333;
+ }
+
+ img {
+ border: 0;
+ }
+/* ]]> */
+</style>
+</head>
+
+<body>
+
+<script type="text/javascript">
+// <![CDATA[
+ var r = 0, g = 0, b = 0;
+
+ var numberList = new Array(6);
+ numberList[0] = '00';
+ numberList[1] = '33';
+ numberList[2] = '66';
+ numberList[3] = '99';
+ numberList[4] = 'CC';
+ numberList[5] = 'FF';
+
+ document.writeln('<table cellspacing="0" cellpadding="0" border="0">');
+
+ for (r = 0; r < 6; r++)
+ {
+ document.writeln('<tr>');
+
+ for (g = 0; g < 6; g++)
+ {
+ for (b = 0; b < 6; b++)
+ {
+ color = String(numberList[r]) + String(numberList[g]) + String(numberList[b]);
+ document.write('<td style="background-color: #' + color + ';" onmouseover="this.className=\'over\'" onmouseout="this.className=\'out\'">');
+ document.write('<a href="#" onclick="cell(\'' + color + '\'); return false;"><img src="{T_IMAGES_PATH}spacer.gif" width="15" height="12" alt="#' + color + '" title="#' + color + '" \/><\/a>');
+ document.writeln('<\/td>');
+ }
+ }
+ document.writeln('<\/tr>');
+ }
+ document.writeln('<\/table>');
+
+ function cell(color)
+ {
+ opener.document.forms["{OPENER}"].{NAME}.value = color;
+ }
+// ]]>
+</script>
+
+</body>
+</html> \ No newline at end of file
diff --git a/phpBB/adm/style/confirm_body.html b/phpBB/adm/style/confirm_body.html
new file mode 100644
index 0000000000..2fbb1a60d7
--- /dev/null
+++ b/phpBB/adm/style/confirm_body.html
@@ -0,0 +1,20 @@
+<!-- INCLUDE overall_header.html -->
+
+<form id="confirm" method="post" action="{S_CONFIRM_ACTION}">
+
+<fieldset>
+ <h1>{MESSAGE_TITLE}</h1>
+ <p>{MESSAGE_TEXT}</p>
+
+ {S_HIDDEN_FIELDS}
+
+ <div style="text-align: center;">
+ <input type="submit" name="confirm" value="{L_YES}" class="button2" />&nbsp;
+ <input type="submit" name="cancel" value="{L_NO}" class="button2" />
+ </div>
+
+</fieldset>
+
+</form>
+
+<!-- INCLUDE overall_footer.html -->
diff --git a/phpBB/adm/style/confirm_body_prune.html b/phpBB/adm/style/confirm_body_prune.html
new file mode 100644
index 0000000000..9481386231
--- /dev/null
+++ b/phpBB/adm/style/confirm_body_prune.html
@@ -0,0 +1,30 @@
+<!-- INCLUDE overall_header.html -->
+
+<form id="confirm" method="post" action="{S_CONFIRM_ACTION}">
+
+<fieldset>
+ <h1>{MESSAGE_TITLE}</h1>
+ <p>{MESSAGE_TEXT}</p>
+
+ {S_HIDDEN_FIELDS}
+
+ <div style="text-align: center;">
+ <input type="submit" name="confirm" value="{L_YES}" class="button2" />&nbsp;
+ <input type="submit" name="cancel" value="{L_NO}" class="button2" />
+ </div>
+
+ <h2>{L_PRUNE_USERS_LIST}</h2>
+ <!-- IF S_DEACTIVATE --><p>{L_PRUNE_USERS_LIST_DEACTIVATE}</p><!-- ELSE --><p>{L_PRUNE_USERS_LIST_DELETE}</p><!-- ENDIF -->
+
+ <br />
+ <!-- BEGIN users -->
+ &raquo; <a href="{users.U_PROFILE}">{users.USERNAME}</a><!-- IF users.U_USER_ADMIN --> [<a href="{users.U_USER_ADMIN}">{L_USER_ADMIN}</a>]<!-- ENDIF --><br />
+ <!-- END users -->
+
+ <br /><br />
+
+</fieldset>
+
+</form>
+
+<!-- INCLUDE overall_footer.html -->
diff --git a/phpBB/adm/style/custom_profile_fields.html b/phpBB/adm/style/custom_profile_fields.html
new file mode 100644
index 0000000000..351397d3c7
--- /dev/null
+++ b/phpBB/adm/style/custom_profile_fields.html
@@ -0,0 +1,32 @@
+
+<!-- BEGIN dropdown -->
+ <select name="{dropdown.FIELD_IDENT}" id="{dropdown.FIELD_IDENT}">
+ <!-- BEGIN options --><option value="{dropdown.options.OPTION_ID}"{dropdown.options.SELECTED}>{dropdown.options.VALUE}</option><!-- END options -->
+ </select>
+<!-- END dropdown -->
+
+<!-- BEGIN text -->
+ <textarea name="{text.FIELD_IDENT}" id="{text.FIELD_IDENT}" rows="{text.FIELD_ROWS}" cols="{text.FIELD_COLS}">{text.FIELD_VALUE}</textarea>
+<!-- END text -->
+
+<!-- BEGIN string -->
+ <input type="text" name="{string.FIELD_IDENT}" id="{string.FIELD_IDENT}" size="{string.FIELD_LENGTH}" maxlength="{string.FIELD_MAXLEN}" value="{string.FIELD_VALUE}" />
+<!-- END string -->
+
+<!-- BEGIN bool -->
+ <!-- IF bool.FIELD_LENGTH eq 1 -->
+ <!-- BEGIN options --><label for="{bool.FIELD_IDENT}_{bool.options.OPTION_ID}"><input type="radio" class="radio" name="{bool.FIELD_IDENT}" id="{bool.FIELD_IDENT}_{bool.options.OPTION_ID}" value="{bool.options.OPTION_ID}"{bool.options.CHECKED} /> {bool.options.VALUE}</label> <!-- END options -->
+ <!-- ELSE -->
+ <input type="checkbox" class="radio" name="{bool.FIELD_IDENT}" id="{bool.FIELD_IDENT}" value="1"<!-- IF bool.FIELD_VALUE --> checked="checked"<!-- ENDIF --> />
+ <!-- ENDIF -->
+<!-- END bool -->
+
+<!-- BEGIN int -->
+ <input type="text" name="{int.FIELD_IDENT}" id="{int.FIELD_IDENT}" size="{int.FIELD_LENGTH}" value="{int.FIELD_VALUE}" />
+<!-- END int -->
+
+<!-- BEGIN date -->
+ <span>{L_DAY}:</span> <select name="{date.FIELD_IDENT}_day" id="{date.FIELD_IDENT}_day">{date.S_DAY_OPTIONS}</select>
+ <span>{L_MONTH}:</span> <select name="{date.FIELD_IDENT}_month" id="{date.FIELD_IDENT}_month">{date.S_MONTH_OPTIONS}</select>
+ <span>{L_YEAR}:</span> <select name="{date.FIELD_IDENT}_year" id="{date.FIELD_IDENT}_year">{date.S_YEAR_OPTIONS}</select>
+<!-- END date -->
diff --git a/phpBB/adm/style/editor.js b/phpBB/adm/style/editor.js
new file mode 100644
index 0000000000..cd4e75f51f
--- /dev/null
+++ b/phpBB/adm/style/editor.js
@@ -0,0 +1,398 @@
+/**
+* bbCode control by subBlue design [ www.subBlue.com ]
+* Includes unixsafe colour palette selector by SHS`
+*/
+
+// Startup variables
+var imageTag = false;
+var theSelection = false;
+
+// Check for Browser & Platform for PC & IE specific bits
+// More details from: http://www.mozilla.org/docs/web-developer/sniffer/browser_type.html
+var clientPC = navigator.userAgent.toLowerCase(); // Get client info
+var clientVer = parseInt(navigator.appVersion); // Get browser version
+
+var is_ie = ((clientPC.indexOf('msie') != -1) && (clientPC.indexOf('opera') == -1));
+var is_win = ((clientPC.indexOf('win') != -1) || (clientPC.indexOf('16bit') != -1));
+
+var baseHeight;
+
+/**
+* Shows the help messages in the helpline window
+*/
+function helpline(help)
+{
+ document.forms[form_name].helpbox.value = help_line[help];
+}
+
+/**
+* Fix a bug involving the TextRange object. From
+* http://www.frostjedi.com/terra/scripts/demo/caretBug.html
+*/
+function initInsertions()
+{
+ var doc;
+ if(document.forms[form_name])
+ {
+ doc = document;
+ }
+ else
+ {
+ doc = opener.document;
+ }
+
+ var textarea = doc.forms[form_name].elements[text_name];
+ if (is_ie && typeof(baseHeight) != 'number')
+ {
+ textarea.focus();
+ baseHeight = doc.selection.createRange().duplicate().boundingHeight;
+ // document.body.focus();
+ }
+}
+
+/**
+* bbstyle
+*/
+function bbstyle(bbnumber)
+{
+ if (bbnumber != -1)
+ {
+ bbfontstyle(bbtags[bbnumber], bbtags[bbnumber+1]);
+ }
+ else
+ {
+ insert_text('[*]');
+ document.forms[form_name].elements[text_name].focus();
+ }
+}
+
+/**
+* Apply bbcodes
+*/
+function bbfontstyle(bbopen, bbclose)
+{
+ theSelection = false;
+
+ var textarea = document.forms[form_name].elements[text_name];
+
+ textarea.focus();
+
+ if ((clientVer >= 4) && is_ie && is_win)
+ {
+ // Get text selection
+ theSelection = document.selection.createRange().text;
+
+ if (theSelection)
+ {
+ // Add tags around selection
+ document.selection.createRange().text = bbopen + theSelection + bbclose;
+ document.forms[form_name].elements[text_name].focus();
+ theSelection = '';
+ return;
+ }
+ }
+ else if (document.forms[form_name].elements[text_name].selectionEnd && (document.forms[form_name].elements[text_name].selectionEnd - document.forms[form_name].elements[text_name].selectionStart > 0))
+ {
+ mozWrap(document.forms[form_name].elements[text_name], bbopen, bbclose);
+ document.forms[form_name].elements[text_name].focus();
+ theSelection = '';
+ return;
+ }
+
+ //The new position for the cursor after adding the bbcode
+ var caret_pos = getCaretPosition(textarea).start;
+ var new_pos = caret_pos + bbopen.length;
+
+ // Open tag
+ insert_text(bbopen + bbclose);
+
+ // Center the cursor when we don't have a selection
+ // Gecko and proper browsers
+ if (!isNaN(textarea.selectionStart))
+ {
+ textarea.selectionStart = new_pos;
+ textarea.selectionEnd = new_pos;
+ }
+ // IE
+ else if (document.selection)
+ {
+ var range = textarea.createTextRange();
+ range.move("character", new_pos);
+ range.select();
+ storeCaret(textarea);
+ }
+
+ textarea.focus();
+ return;
+}
+
+/**
+* Insert text at position
+*/
+function insert_text(text, spaces, popup)
+{
+ var textarea;
+
+ if (!popup)
+ {
+ textarea = document.forms[form_name].elements[text_name];
+ }
+ else
+ {
+ textarea = opener.document.forms[form_name].elements[text_name];
+ }
+
+ if (spaces)
+ {
+ text = ' ' + text + ' ';
+ }
+
+ if (!isNaN(textarea.selectionStart))
+ {
+ var sel_start = textarea.selectionStart;
+ var sel_end = textarea.selectionEnd;
+
+ mozWrap(textarea, text, '')
+ textarea.selectionStart = sel_start + text.length;
+ textarea.selectionEnd = sel_end + text.length;
+ }
+
+ else if (textarea.createTextRange && textarea.caretPos)
+ {
+ if (baseHeight != textarea.caretPos.boundingHeight)
+ {
+ textarea.focus();
+ storeCaret(textarea);
+ }
+ var caret_pos = textarea.caretPos;
+ caret_pos.text = caret_pos.text.charAt(caret_pos.text.length - 1) == ' ' ? caret_pos.text + text + ' ' : caret_pos.text + text;
+
+ }
+ else
+ {
+ textarea.value = textarea.value + text;
+ }
+
+ if (!popup)
+ {
+ textarea.focus();
+ }
+
+}
+
+/**
+* Add inline attachment at position
+*/
+function attach_inline(index, filename)
+{
+ insert_text('[attachment=' + index + ']' + filename + '[/attachment]');
+ document.forms[form_name].elements[text_name].focus();
+}
+
+/**
+* Add quote text to message
+*/
+function addquote(post_id, username)
+{
+ var message_name = 'message_' + post_id;
+ var theSelection = '';
+ var divarea = false;
+
+ if (document.all)
+ {
+ divarea = document.all[message_name];
+ }
+ else
+ {
+ divarea = document.getElementById(message_name);
+ }
+
+ // Get text selection - not only the post content :(
+ if (window.getSelection)
+ {
+ theSelection = window.getSelection().toString();
+ }
+ else if (document.getSelection)
+ {
+ theSelection = document.getSelection();
+ }
+ else if (document.selection)
+ {
+ theSelection = document.selection.createRange().text;
+ }
+
+ if (theSelection == '' || typeof theSelection == 'undefined' || theSelection == null)
+ {
+ if (divarea.innerHTML)
+ {
+ theSelection = divarea.innerHTML.replace(/<br>/ig, '\n');
+ theSelection = theSelection.replace(/<br\/>/ig, '\n');
+ theSelection = theSelection.replace(/&lt\;/ig, '<');
+ theSelection = theSelection.replace(/&gt\;/ig, '>');
+ theSelection = theSelection.replace(/&amp\;/ig, '&');
+ }
+ else if (document.all)
+ {
+ theSelection = divarea.innerText;
+ }
+ else if (divarea.textContent)
+ {
+ theSelection = divarea.textContent;
+ }
+ else if (divarea.firstChild.nodeValue)
+ {
+ theSelection = divarea.firstChild.nodeValue;
+ }
+ }
+
+ if (theSelection)
+ {
+ insert_text('[quote="' + username + '"]' + theSelection + '[/quote]');
+ }
+
+ return;
+}
+
+/**
+* From http://www.massless.org/mozedit/
+*/
+function mozWrap(txtarea, open, close)
+{
+ var selLength = (typeof(txtarea.textLength) == 'undefined') ? txtarea.value.length : txtarea.textLength;
+ var selStart = txtarea.selectionStart;
+ var selEnd = txtarea.selectionEnd;
+ var scrollTop = txtarea.scrollTop;
+
+ if (selEnd == 1 || selEnd == 2)
+ {
+ selEnd = selLength;
+ }
+
+ var s1 = (txtarea.value).substring(0,selStart);
+ var s2 = (txtarea.value).substring(selStart, selEnd)
+ var s3 = (txtarea.value).substring(selEnd, selLength);
+
+ txtarea.value = s1 + open + s2 + close + s3;
+ txtarea.selectionStart = selEnd + open.length + close.length;
+ txtarea.selectionEnd = txtarea.selectionStart;
+ txtarea.focus();
+ txtarea.scrollTop = scrollTop;
+
+ return;
+}
+
+/**
+* Insert at Caret position. Code from
+* http://www.faqts.com/knowledge_base/view.phtml/aid/1052/fid/130
+*/
+function storeCaret(textEl)
+{
+ if (textEl.createTextRange)
+ {
+ textEl.caretPos = document.selection.createRange().duplicate();
+ }
+}
+
+/**
+* Color pallette
+*/
+function colorPalette(dir, width, height)
+{
+ var r = 0, g = 0, b = 0;
+ var numberList = new Array(6);
+ var color = '';
+
+ numberList[0] = '00';
+ numberList[1] = '40';
+ numberList[2] = '80';
+ numberList[3] = 'BF';
+ numberList[4] = 'FF';
+
+ document.writeln('<table class="type2">');
+
+ for (r = 0; r < 5; r++)
+ {
+ if (dir == 'h')
+ {
+ document.writeln('<tr>');
+ }
+
+ for (g = 0; g < 5; g++)
+ {
+ if (dir == 'v')
+ {
+ document.writeln('<tr>');
+ }
+
+ for (b = 0; b < 5; b++)
+ {
+ color = String(numberList[r]) + String(numberList[g]) + String(numberList[b]);
+ document.write('<td bgcolor="#' + color + '">');
+ document.write('<a href="#" onclick="bbfontstyle(\'[color=#' + color + ']\', \'[/color]\'); return false;" onmouseover="helpline(\'s\');" onmouseout="helpline(\'tip\');"><img src="images/spacer.gif" width="' + width + '" height="' + height + '" alt="#' + color + '" title="#' + color + '" /></a>');
+ document.writeln('</td>');
+ }
+
+ if (dir == 'v')
+ {
+ document.writeln('</tr>');
+ }
+ }
+
+ if (dir == 'h')
+ {
+ document.writeln('</tr>');
+ }
+ }
+ document.writeln('</table>');
+}
+
+
+/**
+* Caret Position object
+*/
+function caretPosition()
+{
+ var start = null;
+ var end = null;
+}
+
+
+/**
+* Get the caret position in an textarea
+*/
+function getCaretPosition(txtarea)
+{
+ var caretPos = new caretPosition();
+
+ // simple Gecko/Opera way
+ if (txtarea.selectionStart || txtarea.selectionStart == 0)
+ {
+ caretPos.start = txtarea.selectionStart;
+ caretPos.end = txtarea.selectionEnd;
+ }
+ // dirty and slow IE way
+ else if (document.selection)
+ {
+ // get current selection
+ var range = document.selection.createRange();
+
+ // a new selection of the whole textarea
+ var range_all = document.body.createTextRange();
+ range_all.moveToElementText(txtarea);
+
+ // calculate selection start point by moving beginning of range_all to beginning of range
+ var sel_start;
+ for (sel_start = 0; range_all.compareEndPoints('StartToStart', range) < 0; sel_start++)
+ {
+ range_all.moveStart('character', 1);
+ }
+
+ txtarea.sel_start = sel_start;
+
+ // we ignore the end value for IE, this is already dirty enough and we don't need it
+ caretPos.start = txtarea.sel_start;
+ caretPos.end = txtarea.sel_start;
+ }
+
+ return caretPos;
+} \ No newline at end of file
diff --git a/phpBB/adm/style/install_convert.html b/phpBB/adm/style/install_convert.html
new file mode 100644
index 0000000000..783e89d6bf
--- /dev/null
+++ b/phpBB/adm/style/install_convert.html
@@ -0,0 +1,134 @@
+<!-- INCLUDE install_header.html -->
+
+<!-- IF S_NOT_INSTALLED -->
+
+ <h1>{TITLE}</h1>
+
+ <p>{BODY}</p>
+
+<!-- ELSE -->
+
+ <form id="install_convert" method="post" action="{U_ACTION}">
+
+ <h1>{TITLE}</h1>
+
+ <p>{BODY}</p>
+
+ <!-- IF S_ERROR_BOX -->
+ <div class="errorbox">
+ <h3>{ERROR_TITLE}</h3>
+ <p>{ERROR_MSG}</p>
+ </div>
+ <!-- ENDIF -->
+
+ <!-- IF S_LIST -->
+ <table cellspacing="1">
+ <caption>{L_AVAILABLE_CONVERTORS}</caption>
+ <col class="col1" /><col class="col2" /><col class="col1" /><col class="col2" />
+ <thead>
+ <tr>
+ <th>{L_SOFTWARE}</th>
+ <th>{L_VERSION}</th>
+ <th>{L_AUTHOR}</th>
+ <th>{L_OPTIONS}</th>
+ </tr>
+ </thead>
+ <tbody>
+ <!-- IF .convertors -->
+ <!-- BEGIN convertors -->
+ <tr>
+ <td>{convertors.SOFTWARE}</td>
+ <td>{convertors.VERSION}</td>
+ <td>{convertors.AUTHOR}</td>
+ <td><a href="{convertors.U_CONVERT}">{L_CONVERT}</a></td>
+ </tr>
+ <!-- END convertors -->
+ <!-- ELSE -->
+ <tr>
+ <td>{L_NO_CONVERTORS}</td>
+ <td>-</td>
+ <td>-</td>
+ <td>-</td>
+ </tr>
+ <!-- ENDIF -->
+ </tbody>
+ </table>
+ <!-- ENDIF -->
+
+ <!-- IF S_CONTINUE -->
+ </form>
+
+ <fieldset class="submit-buttons">
+ <form method="post" action="{U_NEW_ACTION}">
+ <input class="button1" type="submit" name="submit_new" value="{L_NEW}" />
+ </form>
+ <br />
+ <form method="post" action="{U_CONTINUE_ACTION}">
+ <input class="button1" type="submit" name="submit_cont" value="{L_CONTINUE}" />
+ </form>
+ </fieldset>
+
+ <form method="post" action="{U_ACTION}">
+ <!-- ENDIF -->
+
+ <!-- IF .checks -->
+ <fieldset>
+
+ <!-- BEGIN checks -->
+ <!-- IF checks.S_LEGEND -->
+ <!-- IF not checks.S_FIRST_ROW -->
+ </fieldset>
+
+ <fieldset>
+ <!-- ENDIF -->
+ <legend>{checks.LEGEND}</legend>
+ <!-- IF checks.LEGEND_EXPLAIN --><p>{checks.LEGEND_EXPLAIN}</p><!-- ENDIF -->
+ <!-- ELSE -->
+
+ <dl>
+ <dt><label>{checks.TITLE}:</label><!-- IF checks.S_EXPLAIN --><br /><span class="explain">{checks.TITLE_EXPLAIN}</span><!-- ENDIF --></dt>
+ <dd>{checks.RESULT}</dd>
+ </dl>
+ <!-- ENDIF -->
+ <!-- END checks -->
+
+ </fieldset>
+ <!-- ENDIF -->
+
+ <!-- IF .options -->
+ <fieldset>
+
+ <!-- BEGIN options -->
+ <!-- IF options.S_LEGEND -->
+ <!-- IF not options.S_FIRST_ROW -->
+ </fieldset>
+
+ <fieldset>
+ <!-- ENDIF -->
+ <legend>{options.LEGEND}</legend>
+ <!-- ELSE -->
+
+ <dl>
+ <dt><label for="{options.KEY}">{options.TITLE}:</label><!-- IF options.S_EXPLAIN --><br /><span class="explain">{options.TITLE_EXPLAIN}</span><!-- ENDIF --></dt>
+ <dd>{options.CONTENT}</dd>
+ </dl>
+
+ <!-- ENDIF -->
+ <!-- END options -->
+
+ </fieldset>
+ <!-- ENDIF -->
+
+ <!-- IF L_SUBMIT -->
+ <!-- IF L_MESSAGE --><p>{L_MESSAGE}</p><!-- ENDIF -->
+
+ <fieldset class="submit-buttons">
+ {S_HIDDEN}
+ <!-- IF L_SUBMIT --><input class="button1<!-- IF S_REFRESH --> disabled<!-- ENDIF -->" type="submit" id="submit" <!-- IF S_REFRESH -->disabled="disabled" <!-- ELSE --> onclick="this.className = 'button1 disabled';" onsubmit="this.disabled = 'disabled';" <!-- ENDIF -->name="submit" value="{L_SUBMIT}" /><!-- ENDIF -->
+ </fieldset>
+ <!-- ENDIF -->
+
+ </form>
+<!-- ENDIF -->
+
+<!-- INCLUDE install_footer.html --> \ No newline at end of file
diff --git a/phpBB/adm/style/install_error.html b/phpBB/adm/style/install_error.html
new file mode 100644
index 0000000000..ad53433207
--- /dev/null
+++ b/phpBB/adm/style/install_error.html
@@ -0,0 +1,8 @@
+<!-- INCLUDE install_header.html -->
+
+<div class="errorbox">
+ <h3>{MESSAGE_TITLE}</h3>
+ <p>{MESSAGE_TEXT}</p>
+</div>
+
+<!-- INCLUDE install_footer.html --> \ No newline at end of file
diff --git a/phpBB/adm/style/install_footer.html b/phpBB/adm/style/install_footer.html
new file mode 100644
index 0000000000..4df43eaaa0
--- /dev/null
+++ b/phpBB/adm/style/install_footer.html
@@ -0,0 +1,27 @@
+
+ </div>
+ </div>
+ <span class="corners-bottom"><span></span></span>
+ <div class="clear"></div>
+ </div>
+ </div>
+ </div>
+
+ <!--
+ We request you retain the full copyright notice below including the link to www.phpbb.com.
+ This not only gives respect to the large amount of time given freely by the developers
+ but also helps build interest, traffic and use of phpBB. If you (honestly) cannot retain
+ the full copyright we ask you at least leave in place the "Powered by phpBB" line, with
+ "phpBB" linked to www.phpbb.com. If you refuse to include even this then support on our
+ forums may be affected.
+
+ The phpBB Group : 2006
+ // -->
+
+ <div id="page-footer">
+ Powered by phpBB &copy; 2000, 2002, 2005, 2007 <a href="http://www.phpbb.com/">phpBB Group</a>
+ </div>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/phpBB/adm/style/install_header.html b/phpBB/adm/style/install_header.html
new file mode 100644
index 0000000000..fbb6a7b409
--- /dev/null
+++ b/phpBB/adm/style/install_header.html
@@ -0,0 +1,81 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" dir="{S_CONTENT_DIRECTION}" lang="{S_USER_LANG}" xml:lang="{S_USER_LANG}">
+<head>
+
+<meta http-equiv="Content-Type" content="text/html; charset={S_CONTENT_ENCODING}" />
+<meta http-equiv="Content-Style-Type" content="text/css" />
+<meta http-equiv="Content-Language" content="{S_USER_LANG}" />
+<meta http-equiv="imagetoolbar" content="no" />
+<!-- IF META -->{META}<!-- ENDIF -->
+<title>{PAGE_TITLE}</title>
+
+<link href="../adm/style/admin.css" rel="stylesheet" type="text/css" media="screen" />
+
+<script type="text/javascript">
+// <![CDATA[
+
+/**
+* Set display of page element
+* s[-1,0,1] = hide,toggle display,show
+*/
+function dE(n, s, type)
+{
+ if (!type)
+ {
+ type = 'block';
+ }
+
+ var e = document.getElementById(n);
+ if (!s)
+ {
+ s = (e.style.display == '' || e.style.display == 'block') ? -1 : 1;
+ }
+ e.style.display = (s == 1) ? type : 'none';
+}
+
+// ]]>
+</script>
+
+</head>
+
+<body class="{S_CONTENT_DIRECTION}">
+<div id="wrap">
+ <div id="page-header">
+ <h1>{L_INSTALL_PANEL}</h1>
+ <p id="skip"><a href="#acp">{L_SKIP}</a></p>
+ <!-- IF S_LANG_SELECT -->
+ <form method="post" action="">
+ <fieldset class="nobg">
+ <label for="language">{L_SELECT_LANG}:</label>
+ {S_LANG_SELECT}
+ <input class="button1" type="submit" id="change_lang" name="change_lang" value="{L_CHANGE}" />
+ </fieldset>
+ </form>
+ <!-- ENDIF -->
+ </div>
+
+ <div id="page-body">
+ <div id="tabs">
+ <ul>
+ <!-- BEGIN t_block1 -->
+ <li<!-- IF t_block1.S_SELECTED --> id="activetab"<!-- ENDIF -->><a href="{t_block1.U_TITLE}"><span>{t_block1.L_TITLE}</span></a></li>
+ <!-- END t_block1 -->
+ </ul>
+ </div>
+
+ <div id="acp">
+ <div class="panel">
+ <span class="corners-top"><span></span></span>
+ <div id="content">
+ <div id="menu">
+ <ul>
+ <!-- BEGIN l_block1 -->
+ <li<!-- IF l_block1.S_SELECTED --> id="activemenu"<!-- ENDIF -->><a href="{l_block1.U_TITLE}"><span>{l_block1.L_TITLE}</span></a></li>
+ <!-- END l_block1 -->
+ <!-- BEGIN l_block2 -->
+ <li<!-- IF l_block2.S_SELECTED --> id="activemenu"<!-- ENDIF -->><span<!-- IF l_block2.S_COMPLETE --> class="completed"<!-- ENDIF -->>{l_block2.L_TITLE}</span></li>
+ <!-- END l_block2 -->
+ </ul>
+ </div>
+
+ <div id="main" class="install-body">
diff --git a/phpBB/adm/style/install_install.html b/phpBB/adm/style/install_install.html
new file mode 100644
index 0000000000..79006fba69
--- /dev/null
+++ b/phpBB/adm/style/install_install.html
@@ -0,0 +1,77 @@
+<!-- INCLUDE install_header.html -->
+
+<form id="install_install" method="post" action="{U_ACTION}" onsubmit="submit.disabled = 'disabled';">
+
+<!-- IF TITLE --><h1>{TITLE}</h1><!-- ENDIF -->
+<!-- IF BODY --><p>{BODY}</p><!-- ENDIF -->
+
+<!-- IF .checks -->
+ <fieldset>
+
+ <!-- BEGIN checks -->
+ <!-- IF checks.S_LEGEND -->
+ <!-- IF not checks.S_FIRST_ROW -->
+ </fieldset>
+
+ <fieldset>
+ <!-- ENDIF -->
+ <legend>{checks.LEGEND}</legend>
+ <!-- IF checks.LEGEND_EXPLAIN --><p>{checks.LEGEND_EXPLAIN}</p><!-- ENDIF -->
+ <!-- ELSE -->
+
+ <dl>
+ <dt>{checks.TITLE}:<!-- IF checks.S_EXPLAIN --><br /><span class="explain">{checks.TITLE_EXPLAIN}</span><!-- ENDIF --></dt>
+ <dd>{checks.RESULT}</dd>
+ </dl>
+ <!-- ENDIF -->
+ <!-- END checks -->
+
+ </fieldset>
+<!-- ENDIF -->
+
+<!-- IF .options -->
+ <fieldset>
+
+ <!-- BEGIN options -->
+ <!-- IF options.S_LEGEND -->
+ <!-- IF not options.S_FIRST_ROW -->
+ </fieldset>
+
+ <fieldset>
+ <!-- ENDIF -->
+ <legend>{options.LEGEND}</legend>
+ <!-- ELSE -->
+
+ <dl>
+ <dt><label for="{options.KEY}">{options.TITLE}:</label><!-- IF options.S_EXPLAIN --><br /><span class="explain">{options.TITLE_EXPLAIN}</span><!-- ENDIF --></dt>
+ <dd>{options.CONTENT}</dd>
+ </dl>
+
+ <!-- ENDIF -->
+ <!-- END options -->
+
+ </fieldset>
+<!-- ENDIF -->
+
+<!-- IF S_SHOW_DOWNLOAD -->
+ <h1>{L_DL_CONFIG}</h1>
+ <p>{L_DL_CONFIG_EXPLAIN}</p>
+
+ <fieldset class="submit-buttons">
+ <legend>{L_DL_CONFIG}</legend>
+ {S_HIDDEN}
+ <input class="button1" type="submit" id="dlconfig" name="dlconfig" value="{L_DL_DOWNLOAD}" />&nbsp;<input class="button1" type="submit" id="dldone" name="dldone" value="{L_DL_DONE}" />
+ </fieldset>
+<!-- ENDIF -->
+
+<!-- IF L_SUBMIT -->
+ <fieldset class="submit-buttons">
+ <legend>{L_SUBMIT}</legend>
+ {S_HIDDEN}
+ <!-- IF L_SUBMIT --><input class="button1" type="submit" id="submit" onclick="this.className = 'button1 disabled';" name="submit" value="{L_SUBMIT}" /><!-- ENDIF -->
+ </fieldset>
+<!-- ENDIF -->
+
+</form>
+
+<!-- INCLUDE install_footer.html -->
diff --git a/phpBB/adm/style/install_main.html b/phpBB/adm/style/install_main.html
new file mode 100644
index 0000000000..2c318bfd65
--- /dev/null
+++ b/phpBB/adm/style/install_main.html
@@ -0,0 +1,6 @@
+<!-- INCLUDE install_header.html -->
+
+ <h1>{TITLE}</h1>
+ <p>{BODY}</p>
+
+<!-- INCLUDE install_footer.html --> \ No newline at end of file
diff --git a/phpBB/adm/style/install_update.html b/phpBB/adm/style/install_update.html
new file mode 100644
index 0000000000..4b89537acb
--- /dev/null
+++ b/phpBB/adm/style/install_update.html
@@ -0,0 +1,475 @@
+<!-- INCLUDE install_header.html -->
+
+<script type="text/javascript">
+// <![CDATA[
+ function popup(url, width, height, name)
+ {
+ if (!name)
+ {
+ name = '_popup';
+ }
+
+ window.open(url.replace(/&amp;/g, '&'), name, 'height=' + height + ',resizable=yes,scrollbars=yes, width=' + width);
+ return false;
+ }
+
+ function diff_popup(url)
+ {
+ popup(url, 950, 600, '_diff');
+ return false;
+ }
+// ]]>
+</script>
+
+<!-- IF S_ERROR -->
+ <div class="errorbox" style="margin-top: 0;">
+ <h3>{L_NOTICE}</h3>
+ <p>{ERROR_MSG}</p>
+ </div>
+<!-- ENDIF -->
+
+<!-- IF S_IN_PROGRESS -->
+
+ <div class="successbox" style="margin-top: 0;">
+ <h3>{L_IN_PROGRESS}</h3>
+ <p>{L_IN_PROGRESS_EXPLAIN}</p>
+ </div>
+
+<!-- ELSEIF S_INTRO -->
+
+ <!-- IF S_WARNING -->
+ <div class="successbox" style="margin-top: 0;">
+ <h3>{L_NOTICE}</h3>
+ <p>{WARNING_MSG}</p>
+ </div>
+ <!-- ENDIF -->
+
+ <form id="install_update" method="post" action="{U_ACTION}">
+
+ <h1>{L_UPDATE_INSTALLATION}</h1>
+ <p>{L_UPDATE_INSTALLATION_EXPLAIN}</p>
+
+ <fieldset class="submit-buttons">
+ <input class="button1" type="submit" name="submit" value="{L_NEXT_STEP}" />
+ </fieldset>
+
+ </form>
+
+<!-- ELSEIF S_UPLOAD_SUCCESS -->
+
+ <form id="install_update" method="post" action="{U_ACTION}">
+
+ <h1>{L_UPDATE_SUCCESS}</h1>
+ <p>{L_UPDATE_SUCCESS_EXPLAIN}</p>
+
+ <fieldset class="submit-buttons">
+ <input class="button1" type="submit" name="check_again" value="{L_CONTINUE_UPDATE}" />
+ </fieldset>
+
+ </form>
+
+<!-- ENDIF -->
+
+<!-- IF S_VERSION_CHECK -->
+
+ <h1>{L_VERSION_CHECK}</h1>
+
+ <p>{L_VERSION_CHECK_EXPLAIN}</p>
+
+ <!-- IF S_UP_TO_DATE -->
+ <div class="successbox">
+ <p>{L_VERSION_UP_TO_DATE}</p>
+ </div>
+ <!-- ELSE -->
+ <div class="errorbox">
+ <p>{L_VERSION_NOT_UP_TO_DATE}</p>
+ </div>
+ <!-- ENDIF -->
+
+ <fieldset>
+ <legend></legend>
+ <dl>
+ <dt><label>{L_CURRENT_VERSION}</label></dt>
+ <dd><strong>{CURRENT_VERSION}</strong></dd>
+ </dl>
+ <dl>
+ <dt><label>{L_LATEST_VERSION}</label></dt>
+ <dd><strong>{LATEST_VERSION}</strong></dd>
+ </dl>
+ <!-- IF PACKAGE_VERSION and not S_UP_TO_DATE -->
+ <dl>
+ <dt><label>{L_PACKAGE_UPDATES_TO}</label></dt>
+ <dd><strong>{PACKAGE_VERSION}</strong></dd>
+ </dl>
+ <!-- ENDIF -->
+ </fieldset>
+
+ <!-- IF not S_UP_TO_DATE -->
+
+ <form id="install_dbupdate" method="post" action="{U_DB_UPDATE_ACTION}">
+
+ <fieldset class="submit-buttons">
+ <p>{L_UPDATE_DATABASE_EXPLAIN}</p>
+ <input class="button1" type="submit" name="db_update" value="{L_UPDATE_DATABASE}" />
+ </fieldset>
+
+ </form>
+
+ <!-- ELSE -->
+ <form id="install_update" method="post" action="{U_ACTION}">
+
+ <fieldset class="submit-buttons">
+ <p>{L_CHECK_FILES_UP_TO_DATE}</p>
+ <input class="button1" type="submit" name="submit" value="{L_CHECK_FILES}" />
+ </fieldset>
+
+ </form>
+ <!-- ENDIF -->
+
+<!-- ELSEIF S_DB_UPDATE -->
+
+ <!-- IF not S_DB_UPDATE_FINISHED -->
+
+ <h1>{L_PERFORM_DATABASE_UPDATE}</h1>
+
+ <p>
+ {L_PERFORM_DATABASE_UPDATE_EXPLAIN}<br />
+ </p>
+
+ <br /><br />
+
+ <form id="install_dbupdate" method="post" action="{U_DB_UPDATE_ACTION}">
+
+ <fieldset class="submit-buttons">
+ <a href="{U_DB_UPDATE}" class="button1">{L_RUN_DATABASE_SCRIPT}</a>
+
+ <!-- input class="button1" type="submit" name="db_update" value="{L_CHECK_UPDATE_DATABASE}" / -->
+ </fieldset>
+
+ </form>
+
+ <!-- ELSE -->
+
+ <h1>{L_UPDATE_DB_SUCCESS}</h1>
+
+ <br /><br />
+
+ <form id="install_update" method="post" action="{U_ACTION}">
+
+ <fieldset class="submit-buttons">
+ <p>{L_CHECK_FILES_EXPLAIN}</p>
+ <input class="button1" type="submit" name="submit" value="{L_CHECK_FILES}" />
+ </fieldset>
+
+ </form>
+
+ <!-- ENDIF -->
+
+<!-- ELSEIF S_FILE_CHECK -->
+
+ <!-- IF S_ALL_UP_TO_DATE -->
+
+ <div class="successbox">
+ <h3>{L_UPDATE_SUCCESS}</h3>
+ <p>{L_ALL_FILES_UP_TO_DATE}</p>
+ </div>
+
+ <!-- ELSE -->
+ <h1>{L_COLLECTED_INFORMATION}</h1>
+
+ <p>{L_COLLECTED_INFORMATION_EXPLAIN}</p>
+
+ <!-- IF S_NO_UPDATE_FILES -->
+ <div class="errorbox">
+ <h3>{L_NO_UPDATE_FILES}</h3>
+
+ <p>{L_NO_UPDATE_FILES_EXPLAIN}</p><br />
+
+ <strong>{NO_UPDATE_FILES}</strong>
+
+ </div>
+ <!-- ENDIF -->
+
+ <form id="install_update" method="post" action="{U_UPDATE_ACTION}">
+
+ <!-- IF .up_to_date -->
+ <h2>{L_FILES_UP_TO_DATE}</h2>
+ <p>{L_FILES_UP_TO_DATE_EXPLAIN}</p>
+
+ <fieldset>
+ <legend><img src="{T_IMAGE_PATH}file_up_to_date.gif" alt="{L_STATUS_UP_TO_DATE}" /></legend>
+ <!-- BEGIN up_to_date -->
+ <dl>
+ <dd class="full" style="text-align: left;"><strong>{up_to_date.FILENAME}</strong></dd>
+ </dl>
+ <!-- END up_to_date -->
+ </fieldset>
+
+ <!-- ENDIF -->
+
+ <!-- IF .new -->
+ <h2>{L_FILES_NEW}</h2>
+ <p>{L_FILES_NEW_EXPLAIN}</p>
+
+ <fieldset>
+ <legend><img src="{T_IMAGE_PATH}file_new.gif" alt="{L_STATUS_NEW}" /></legend>
+ <!-- BEGIN new -->
+ <dl>
+ <dt style="width: 60%;"><strong><!-- IF new.DIR_PART -->{new.DIR_PART}<br /><!-- ENDIF -->{new.FILE_PART}</strong>
+ <!-- IF new.S_CUSTOM --><br /><span><em>{L_FILE_USED}: </em>{new.CUSTOM_ORIGINAL}</span><!-- ENDIF -->
+ </dt>
+ <dd style="margin-left: 60%;">
+ <!-- IF not new.S_BINARY -->[<a href="{new.U_SHOW_DIFF}" onclick="diff_popup(this.href); return false;">{new.L_SHOW_DIFF}</a>]<!-- ELSE -->{L_BINARY_FILE}<!-- ENDIF -->
+ </dd>
+ <!-- IF new.S_CUSTOM -->
+ <dd style="margin-left: 60%;"><label><input type="checkbox" name="no_update[]" value="{new.FILENAME}" class="radio" /> {L_DO_NOT_UPDATE}</label></dd>
+ <!-- ENDIF -->
+ </dl>
+ <!-- END new -->
+ </fieldset>
+
+ <!-- ENDIF -->
+
+ <!-- IF .not_modified -->
+ <h2>{L_FILES_NOT_MODIFIED}</h2>
+ <div style="float: {S_CONTENT_FLOW_END};">&raquo; <a href="#" onclick="dE('not_modified', 0); return false;">{L_TOGGLE_DISPLAY}</a></div>
+ <p>{L_FILES_NOT_MODIFIED_EXPLAIN}</p>
+
+ <fieldset id="not_modified" style="display: none;">
+ <legend><img src="{T_IMAGE_PATH}file_not_modified.gif" alt="{L_STATUS_NOT_MODIFIED}" /></legend>
+ <!-- BEGIN not_modified -->
+ <dl>
+ <dt style="width: 60%;"><strong><!-- IF not_modified.DIR_PART -->{not_modified.DIR_PART}<br /><!-- ENDIF -->{not_modified.FILE_PART}</strong>
+ <!-- IF not_modified.S_CUSTOM --><br /><span><em>{L_FILE_USED}: </em>{not_modified.CUSTOM_ORIGINAL}</span><!-- ENDIF -->
+ </dt>
+ <dd style="margin-left: 60%;"><!-- IF not not_modified.S_BINARY -->[<a href="{not_modified.U_SHOW_DIFF}" onclick="diff_popup(this.href); return false;">{not_modified.L_SHOW_DIFF}</a>]<!-- ELSE -->{L_BINARY_FILE}<!-- ENDIF --></dd>
+ <!-- IF not_modified.S_CUSTOM -->
+ <dd style="margin-left: 60%;"><label><input type="checkbox" name="no_update[]" value="{not_modified.FILENAME}" class="radio" /> {L_DO_NOT_UPDATE}</label></dd>
+ <!-- ENDIF -->
+ </dl>
+ <!-- END not_modified -->
+ </fieldset>
+
+ <!-- ENDIF -->
+
+ <!-- IF .modified -->
+ <h2>{L_FILES_MODIFIED}</h2>
+ <p>{L_FILES_MODIFIED_EXPLAIN}</p>
+
+ <!-- BEGIN modified -->
+ <fieldset>
+ <legend><img src="{T_IMAGE_PATH}file_modified.gif" alt="{L_STATUS_MODIFIED}" /></legend>
+ <dl>
+ <dt style="width: 60%;"><strong><!-- IF modified.DIR_PART -->{modified.DIR_PART}<br /><!-- ENDIF -->{modified.FILE_PART}</strong>
+ <!-- IF modified.S_CUSTOM --><br /><span><em>{L_FILE_USED}: </em>{modified.CUSTOM_ORIGINAL}</span><!-- ENDIF -->
+ </dt>
+ <dd style="margin-left: 60%;">&nbsp;</dd>
+ <!-- IF modified.S_CUSTOM -->
+ <dd style="margin-left: 60%;"><label><input type="checkbox" name="no_update[]" value="{modified.FILENAME}" class="radio" /> {L_DO_NOT_UPDATE}</label></dd>
+ <!-- ENDIF -->
+ </dl>
+ <dl>
+ <dt style="width: 60%"><label><input type="radio" class="radio" name="modified[{modified.FILENAME}]" value="0" checked="checked" /> {L_MERGE_MODIFICATIONS_OPTION}</label></dt>
+ <dd style="margin-left: 60%;"><!-- IF not modified.S_BINARY -->[<a href="{modified.U_SHOW_DIFF}" onclick="diff_popup(this.href); return false;">{modified.L_SHOW_DIFF}</a>]<!-- ELSE -->{L_BINARY_FILE}<!-- ENDIF --></dd>
+ </dl>
+ <dl>
+ <dt style="width: 60%"><label><input type="radio" class="radio" name="modified[{modified.FILENAME}]" value="1" /> {L_MERGE_NO_MERGE_NEW_OPTION}</label></dt>
+ <dd style="margin-left: 60%;"><!-- IF not modified.S_BINARY -->[<a href="{modified.U_VIEW_NO_MERGE_NEW}" onclick="diff_popup(this.href); return false;">{L_SHOW_DIFF_FINAL}</a>]<!-- ELSE -->&nbsp;<!-- ENDIF --></dd>
+ </dl>
+ <dl>
+ <dt style="width: 60%"><label><input type="radio" class="radio" name="modified[{modified.FILENAME}]" value="2" /> {L_MERGE_NO_MERGE_MOD_OPTION}</label></dt>
+ <dd style="margin-left: 60%;"><!-- IF not modified.S_BINARY -->[<a href="{modified.U_VIEW_NO_MERGE_MOD}" onclick="diff_popup(this.href); return false;">{L_SHOW_DIFF_FINAL}</a>]<!-- ELSE -->&nbsp;<!-- ENDIF --></dd>
+ </dl>
+ </fieldset>
+ <!-- END modified -->
+
+ <!-- ENDIF -->
+
+ <!-- IF .new_conflict -->
+ <h2>{L_FILES_NEW_CONFLICT}</h2>
+ <p>{L_FILES_NEW_CONFLICT_EXPLAIN}</p>
+
+ <fieldset>
+ <legend><img src="{T_IMAGE_PATH}file_new_conflict.gif" alt="{L_STATUS_NEW_CONFLICT}" /></legend>
+ <!-- BEGIN new_conflict -->
+ <dl>
+ <dt style="width: 60%;"><strong><!-- IF new_conflict.DIR_PART -->{new_conflict.DIR_PART}<br /><!-- ENDIF -->{new_conflict.FILE_PART}</strong>
+ <!-- IF new_conflict.S_CUSTOM --><br /><span><em>{L_FILE_USED}: </em>{new_conflict.CUSTOM_ORIGINAL}</span><!-- ENDIF -->
+ </dt>
+ <dd style="margin-left: 60%;">
+ <!-- IF not new_conflict.S_BINARY -->[<a href="{new_conflict.U_SHOW_DIFF}" onclick="diff_popup(this.href); return false;">{new_conflict.L_SHOW_DIFF}</a>]<!-- ELSE -->{L_BINARY_FILE}<!-- ENDIF -->
+ </dd>
+ <!-- IF new_conflict.S_CUSTOM -->
+ <dd style="margin-left: 60%;"><label><input type="checkbox" name="no_update[]" value="{new_conflict.FILENAME}" class="radio" /> {L_DO_NOT_UPDATE}</label></dd>
+ <!-- ENDIF -->
+ </dl>
+ <!-- END new_conflict -->
+ </fieldset>
+
+ <!-- ENDIF -->
+
+ <!-- IF .conflict -->
+ <h2>{L_FILES_CONFLICT}</h2>
+ <p>{L_FILES_CONFLICT_EXPLAIN}</p>
+
+ <!-- BEGIN conflict -->
+ <fieldset>
+ <legend><img src="{T_IMAGE_PATH}file_conflict.gif" alt="{L_STATUS_CONFLICT}" /></legend>
+ <dl>
+ <dt style="width: 60%;"><strong><!-- IF conflict.DIR_PART -->{conflict.DIR_PART}<br /><!-- ENDIF -->{conflict.FILE_PART}</strong>
+ <!-- IF conflict.S_CUSTOM --><br /><span><em>{L_FILE_USED}: </em>{conflict.CUSTOM_ORIGINAL}</span><!-- ENDIF -->
+ <!-- IF conflict.NUM_CONFLICTS --><br /><span>{L_NUM_CONFLICTS}: {conflict.NUM_CONFLICTS}</span><!-- ENDIF -->
+ </dt>
+ <dd style="margin-left: 60%;">
+ <!-- IF not conflict.S_BINARY -->[<a href="{conflict.U_SHOW_DIFF}">{L_DOWNLOAD_CONFLICTS}</a>]<br />{L_DOWNLOAD_CONFLICTS_EXPLAIN}
+ <!-- ELSE -->{L_BINARY_FILE}<!-- ENDIF -->
+ </dd>
+ <!-- IF conflict.S_CUSTOM -->
+ <dd style="margin-left: 60%;"><label><input type="checkbox" name="no_update[]" value="{conflict.FILENAME}" class="radio" /> {L_DO_NOT_UPDATE}</label></dd>
+ <!-- ENDIF -->
+ </dl>
+ <!-- IF conflict.S_BINARY -->
+ <dl>
+ <dt style="width: 60%"><label><input type="radio" class="radio" name="conflict[{conflict.FILENAME}]" value="1" checked="checked" /> {L_MERGE_NO_MERGE_NEW_OPTION}</label></dt>
+ <dd style="margin-left: 60%;">&nbsp;</dd>
+ </dl>
+ <!-- ELSE -->
+ <dl>
+ <dt style="width: 60%"><label><input type="radio" class="radio" name="conflict[{conflict.FILENAME}]" value="3" checked="checked" /> {L_MERGE_NEW_FILE_OPTION}</label></dt>
+ <dd style="margin-left: 60%;">[<a href="{conflict.U_VIEW_NEW_FILE}" onclick="diff_popup(this.href); return false;">{L_SHOW_DIFF_MODIFIED}</a>]</dd>
+ </dl>
+ <dl>
+ <dt style="width: 60%"><label><input type="radio" class="radio" name="conflict[{conflict.FILENAME}]" value="4" /> {L_MERGE_MOD_FILE_OPTION}</label></dt>
+ <dd style="margin-left: 60%;">[<a href="{conflict.U_VIEW_MOD_FILE}" onclick="diff_popup(this.href); return false;">{L_SHOW_DIFF_MODIFIED}</a>]</dd>
+ </dl>
+ <dl>
+ <dt style="width: 60%"><label><input type="radio" class="radio" name="conflict[{conflict.FILENAME}]" value="1" /> {L_MERGE_NO_MERGE_NEW_OPTION}</label></dt>
+ <dd style="margin-left: 60%;">[<a href="{conflict.U_VIEW_NO_MERGE_NEW}" onclick="diff_popup(this.href); return false;">{L_SHOW_DIFF_FINAL}</a>]</dd>
+ </dl>
+ <dl>
+ <dt style="width: 60%"><label><input type="radio" class="radio" name="conflict[{conflict.FILENAME}]" value="2" /> {L_MERGE_NO_MERGE_MOD_OPTION}</label></dt>
+ <dd style="margin-left: 60%;">[<a href="{conflict.U_VIEW_NO_MERGE_MOD}" onclick="diff_popup(this.href); return false;">{L_SHOW_DIFF_FINAL}</a>]</dd>
+ </dl>
+ <!-- ENDIF -->
+ </fieldset>
+ <!-- END conflict -->
+
+ <!-- ENDIF -->
+
+ <br />
+
+ <fieldset class="quick">
+ <input class="button1" type="submit" name="check_again" value="{L_CHECK_FILES_AGAIN}" />
+ </fieldset>
+
+ <br />
+
+ <h1>{L_UPDATE_METHOD}</h1>
+
+ <p>{L_UPDATE_METHOD_EXPLAIN}</p>
+
+ <fieldset class="submit-buttons">
+ <input class="button1" type="submit" name="ftp_upload" value="{L_FTP_UPDATE_METHOD}" />&nbsp; &nbsp;<input class="button1" type="submit" name="download" value="{L_DOWNLOAD_UPDATE_METHOD_BUTTON}" />
+ </fieldset>
+
+ </form>
+
+ <!-- ENDIF -->
+
+<!-- ELSEIF S_DOWNLOAD_FILES -->
+
+ <h1>{L_DOWNLOAD_UPDATE_METHOD}</h1>
+
+ <p>{L_DOWNLOAD_UPDATE_METHOD_EXPLAIN}</p>
+
+ <form id="install_update" method="post" action="{U_ACTION}">
+
+ <fieldset>
+ <legend>{L_SELECT_DOWNLOAD_FORMAT}</legend>
+ <dl>
+ <dt><label for="use_method">{L_DOWNLOAD_AS}:</label></dt>
+ <dd>{RADIO_BUTTONS}</dd>
+ </dl>
+ </fieldset>
+
+ <fieldset class="submit-buttons">
+ {S_HIDDEN_FIELDS}
+ <input type="submit" class="button2" value="{L_CONTINUE_UPDATE}" name="check_again" />&nbsp; &nbsp;<input type="submit" class="button1" value="{L_DOWNLOAD}" name="download" />
+ </fieldset>
+
+ </form>
+
+ <br /><br />
+
+ <p>{L_MAPPING_FILE_STRUCTURE}</p>
+
+ <table cellspacing="1">
+ <col class="row1" /><col class="row2" /><col class="row1" />
+ <thead>
+ <tr>
+ <th style="width: 49%">{L_ARCHIVE_FILE}</th>
+ <th style="width: 2%">&nbsp;</th>
+ <th style="width: 49%">{L_DESTINATION}</th>
+ </tr>
+ </thead>
+ <tbody>
+ <!-- BEGIN location -->
+ <tr>
+ <td>{location.SOURCE}</td>
+ <td><strong>&raquo;</strong></td>
+ <td>{location.DESTINATION}</td>
+ </tr>
+ <!-- END location -->
+ </tbody>
+ </table>
+
+<!-- ELSEIF S_FTP_UPLOAD -->
+
+ <h1>{L_SELECT_FTP_SETTINGS}</h1>
+
+ <form id="install_update" method="post" action="{U_ACTION}">
+
+ <!-- IF S_CONNECTION_SUCCESS -->
+ <div class="successbox">
+ <p>{L_CONNECTION_SUCCESS}</p>
+ </div>
+ <!-- ELSEIF S_CONNECTION_FAILED -->
+ <div class="successbox">
+ <p>{L_TRY_DOWNLOAD_METHOD}</p>
+
+ <fieldset class="quick">
+ <input class="button1" type="submit" name="download" value="{L_TRY_DOWNLOAD_METHOD_BUTTON}" />
+ </fieldset>
+ </div>
+
+ <div class="errorbox">
+ <p>{L_CONNECTION_FAILED}<br />{ERROR_MSG}</p>
+ </div>
+ <!-- ENDIF -->
+
+ <fieldset>
+ <legend>{L_FTP_SETTINGS}</legend>
+ <dl>
+ <dt><label>{L_UPLOAD_METHOD}:</label></dt>
+ <dd><strong>{UPLOAD_METHOD}</strong></dd>
+ </dl>
+ <!-- BEGIN data -->
+ <dl>
+ <dt><label for="{data.DATA}">{data.NAME}:</label><br /><span>{data.EXPLAIN}</span></dt>
+ <dd><input type="<!-- IF data.DATA == 'password' -->password<!-- ELSE -->text<!-- ENDIF -->" id="{data.DATA}" name="{data.DATA}" value="{data.DEFAULT}" /></dd>
+ </dl>
+ <!-- END data -->
+ </fieldset>
+
+ <fieldset class="submit-buttons">
+ {S_HIDDEN_FIELDS}
+ <input class="button2" type="submit" name="check_again" value="{L_BACK}" />
+ <input class="button1" type="submit" name="test_connection" value="{L_TEST_CONNECTION}" />
+ <input class="button1" type="submit" name="submit" value="{L_UPDATE_FILES}" />
+ </fieldset>
+
+ </form>
+
+<!-- ENDIF -->
+
+<!-- INCLUDE install_footer.html -->
diff --git a/phpBB/adm/style/install_update_diff.html b/phpBB/adm/style/install_update_diff.html
new file mode 100644
index 0000000000..b65a014312
--- /dev/null
+++ b/phpBB/adm/style/install_update_diff.html
@@ -0,0 +1,262 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" dir="{S_CONTENT_DIRECTION}" lang="{S_USER_LANG}" xml:lang="{S_USER_LANG}">
+<head>
+
+<meta http-equiv="Content-Type" content="text/html; charset={S_CONTENT_ENCODING}" />
+<meta http-equiv="Content-Style-Type" content="text/css" />
+<meta http-equiv="Content-Language" content="{S_USER_LANG}" />
+<meta http-equiv="imagetoolbar" content="no" />
+<!-- IF META -->{META}<!-- ENDIF -->
+<title>{PAGE_TITLE}</title>
+
+<link href="../adm/style/admin.css" rel="stylesheet" type="text/css" media="screen" />
+
+<script type="text/javascript">
+// <![CDATA[
+function resize_panel()
+{
+ var block = document.getElementById('codepanel');
+ var height;
+
+ if (window.innerHeight)
+ {
+ height = window.innerHeight - 150;
+ block.style.height = height + 'px';
+ }
+ else
+ {
+ //whatever IE needs to do this
+ }
+}
+
+window.onresize = resize_panel;
+
+// ]]>
+</script>
+
+<style type="text/css">
+/* <![CDATA[ */
+
+#main {
+ font-size: 1em;
+ line-height: 0.7em;
+ margin: 0;
+ padding: 0;
+ width: 99%;
+}
+
+#diff_content {
+ padding: 30px 10px 10px;
+}
+
+<!-- IF DIFF_MODE neq 'side_by_side' and DIFF_MODE neq 'raw' -->
+div#codepanel {
+ width: 100%;
+}
+<!-- ELSE -->
+div#codepanel {
+ background-color: #eee;
+}
+<!-- ENDIF -->
+
+<!-- IF DIFF_MODE neq 'unified' and DIFF_MODE neq 'side_by_side' -->
+div#diff_content pre {
+ overflow: auto;
+ height: 414px;
+ width: 100% !important;
+}
+<!-- ENDIF -->
+
+<!-- IF not S_DIFF_NEW_FILE -->
+/**
+* Unified Diff
+*/
+.file {
+ line-height: .7em;
+ overflow: auto;
+ height: 414px;
+}
+
+.diff {
+ margin: 0;
+}
+
+.added {
+ background-color: #dfd;
+}
+
+.removed {
+ background-color: #fdd;
+}
+
+.info {
+ color: #888;
+}
+
+.context {
+ background-color: #eee;
+}
+
+/**
+* Inline Diff
+*/
+.ins {
+ background-color: #dfd;
+ text-decoration: underline;
+}
+
+.del {
+ background-color: #fdd;
+ text-decoration: line-through;
+}
+
+/**
+* Column Diff
+*/
+table.hrdiff {
+ margin: 0 0 8px 5px;
+ width: 100%;
+ overflow: hidden;
+ border-bottom: 1px solid #999;
+ table-layout: fixed;
+}
+
+table.hrdiff th {
+ text-align: left;
+ width: 50%;
+ color: #333;
+ font-family: Verdana,Helvetica,sans-serif;
+ font-size: 11px;
+ border-bottom: 1px solid #999;
+ background: transparent;
+}
+
+table.hrdiff thead th {
+ font-weight: bold;
+ font-size: 110%;
+ padding: 2px;
+}
+
+table.hrdiff tr:first-child th {
+ border-top: none;
+}
+
+table.hrdiff tbody th {
+ padding: 2em 1px 1px 1px;
+ font-size: 80%;
+ border-top: 1px solid #999;
+}
+
+table.hrdiff tbody td.old {
+ border-left: 1px solid #999;
+ border-right: 1px solid #999;
+}
+table.hrdiff tbody td.new {
+ border-right: 1px solid #999;
+}
+
+table.hrdiff td pre {
+ overflow: auto;
+ display: block;
+ width: 100%;
+ overflow: auto;
+ display: block;
+}
+
+table.hrdiff .unmodified {
+ background: #fff;
+}
+
+table.hrdiff .added {
+ background: #9f9;
+}
+
+table.hrdiff .added_empty {
+ background: #cfc;
+}
+
+table.hrdiff .modified {
+ background: #fd9;
+}
+
+table.hrdiff .removed {
+ background: #f99;
+}
+
+table.hrdiff .removed_empty {
+ background: #fcc;
+}
+
+table.hrdiff caption {
+ caption-side: top;
+ text-align: left;
+ margin: 0 0 8px 5px;
+ font-size: 90%;
+ font-weight: bold;
+ padding: 5px;
+}
+
+table.hrdiff caption span {
+ height: 10px;
+ width: 10px;
+ line-height: 10px;
+ letter-spacing: 10px;
+ border: 1px solid #000;
+ margin-left: 0.5em;
+ vertical-align: baseline;
+}
+
+<!-- ENDIF -->
+
+/* ]]> */
+</style>
+
+</head>
+
+<!-- IF DIFF_MODE neq 'side_by_side' and DIFF_MODE neq 'raw' -->
+<body onload="resize_panel();">
+<!-- ELSE -->
+<body>
+<!-- ENDIF -->
+
+<div id="wrap">
+ <div id="page-header">
+<!-- IF S_DIFF_NEW_FILE -->
+
+ <h1>{L_VIEWING_FILE_CONTENTS}</h1>
+<!-- ELSE -->
+ <h1>{L_VIEWING_FILE_DIFF}</h1>
+<!-- ENDIF -->
+<!-- IF not S_DIFF_NEW_FILE -->
+ <p id="skip"><a href="#acp">{L_SKIP}</a></p>
+ <form method="post" action="">
+ <fieldset class="quick">
+ <label for="diff_mode">{L_SELECT_DIFF_MODE}:</label>
+ <select name="diff_mode" id="diff_mode">{S_DIFF_MODE_OPTIONS}</select>
+
+ <input class="button1" type="submit" id="submit" name="submit" value="{L_CHANGE}" />
+ </fieldset>
+ </form>
+<!-- ENDIF -->
+<!-- IF S_DIFF_CONFLICT_FILE -->
+ <div style="float: {S_CONTENT_FLOW_BEGIN};"><strong>{L_NUM_CONFLICTS}: {NUM_CONFLICTS}</strong></div>
+ <br style="clear: both;" />
+<!-- ENDIF -->
+ </div>
+
+ <div id="page-body">
+ <div id="acp">
+ <div class="panel" id="codepanel">
+ <span class="corners-top"><span></span></span>
+ <div id="diff_content">
+ <div id="main">
+ {DIFF_CONTENT}
+ </div>
+ </div>
+ <span class="corners-bottom"><span></span></span>
+ </div>
+ </div>
+ </div>
+
+
+<!-- INCLUDE simple_footer.html --> \ No newline at end of file
diff --git a/phpBB/adm/style/message_body.html b/phpBB/adm/style/message_body.html
new file mode 100644
index 0000000000..5d907e911c
--- /dev/null
+++ b/phpBB/adm/style/message_body.html
@@ -0,0 +1,8 @@
+<!-- INCLUDE overall_header.html -->
+
+<div <!-- IF S_USER_NOTICE -->class="successbox"<!-- ELSE -->class="errorbox"<!-- ENDIF -->>
+ <h3>{MESSAGE_TITLE}</h3>
+ <p>{MESSAGE_TEXT}</p>
+</div>
+
+<!-- INCLUDE overall_footer.html --> \ No newline at end of file
diff --git a/phpBB/adm/style/overall_footer.html b/phpBB/adm/style/overall_footer.html
new file mode 100644
index 0000000000..8af299ad57
--- /dev/null
+++ b/phpBB/adm/style/overall_footer.html
@@ -0,0 +1,35 @@
+
+ </div>
+ </div>
+ <span class="corners-bottom"><span></span></span>
+ <div class="clear"></div>
+ </div>
+ </div>
+ </div>
+
+ <!--
+ We request you retain the full copyright notice below including the link to www.phpbb.com.
+ This not only gives respect to the large amount of time given freely by the developers
+ but also helps build interest, traffic and use of phpBB. If you (honestly) cannot retain
+ the full copyright we ask you at least leave in place the "Powered by phpBB" line, with
+ "phpBB" linked to www.phpbb.com. If you refuse to include even this then support on our
+ forums may be affected.
+
+ The phpBB Group : 2006
+ // -->
+
+ <div id="page-footer">
+ <!-- IF S_COPYRIGHT_HTML -->
+ Powered by phpBB &copy; 2000, 2002, 2005, 2007 <a href="http://www.phpbb.com/">phpBB Group</a>
+ <!-- IF TRANSLATION_INFO --><br />{TRANSLATION_INFO}<!-- ENDIF -->
+ <!-- ENDIF -->
+
+ <!-- IF DEBUG_OUTPUT -->
+ <!-- IF S_COPYRIGHT_HTML --><br /><!-- ENDIF -->
+ {DEBUG_OUTPUT}
+ <!-- ENDIF -->
+ </div>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/phpBB/adm/style/overall_header.html b/phpBB/adm/style/overall_header.html
new file mode 100644
index 0000000000..a376884507
--- /dev/null
+++ b/phpBB/adm/style/overall_header.html
@@ -0,0 +1,221 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" dir="{S_CONTENT_DIRECTION}" lang="{S_USER_LANG}" xml:lang="{S_USER_LANG}">
+<head>
+
+<meta http-equiv="Content-Type" content="text/html; charset={S_CONTENT_ENCODING}" />
+<meta http-equiv="Content-Style-Type" content="text/css" />
+<meta http-equiv="Content-Language" content="{S_USER_LANG}" />
+<meta http-equiv="imagetoolbar" content="no" />
+<!-- IF META -->{META}<!-- ENDIF -->
+<title>{PAGE_TITLE}</title>
+
+<link href="style/admin.css" rel="stylesheet" type="text/css" media="screen" />
+
+<script type="text/javascript">
+// <![CDATA[
+var jump_page = '{LA_JUMP_PAGE}:';
+var on_page = '{ON_PAGE}';
+var per_page = '{PER_PAGE}';
+var base_url = '{A_BASE_URL}';
+
+var menu_state = 'shown';
+
+
+/**
+* Jump to page
+*/
+function jumpto()
+{
+ var page = prompt(jump_page, on_page);
+
+ if (page !== null && !isNaN(page) && page == Math.floor(page) && page > 0)
+ {
+ if (base_url.indexOf('?') == -1)
+ {
+ document.location.href = base_url + '?start=' + ((page - 1) * per_page);
+ }
+ else
+ {
+ document.location.href = base_url.replace(/&amp;/g, '&') + '&start=' + ((page - 1) * per_page);
+ }
+ }
+}
+
+/**
+* Set display of page element
+* s[-1,0,1] = hide,toggle display,show
+*/
+function dE(n, s, type)
+{
+ if (!type)
+ {
+ type = 'block';
+ }
+
+ var e = document.getElementById(n);
+ if (!s)
+ {
+ s = (e.style.display == '') ? -1 : 1;
+ }
+ e.style.display = (s == 1) ? type : 'none';
+}
+
+/**
+* Mark/unmark checkboxes
+* id = ID of parent container, name = name prefix, state = state [true/false]
+*/
+function marklist(id, name, state)
+{
+ var parent = document.getElementById(id);
+ if (!parent)
+ {
+ eval('parent = document.' + id);
+ }
+
+ if (!parent)
+ {
+ return;
+ }
+
+ var rb = parent.getElementsByTagName('input');
+
+ for (var r = 0; r < rb.length; r++)
+ {
+ if (rb[r].name.substr(0, name.length) == name)
+ {
+ rb[r].checked = state;
+ }
+ }
+}
+
+/**
+* Find a member
+*/
+function find_username(url)
+{
+ popup(url, 760, 570, '_usersearch');
+ return false;
+}
+
+/**
+* Window popup
+*/
+function popup(url, width, height, name)
+{
+ if (!name)
+ {
+ name = '_popup';
+ }
+
+ window.open(url.replace(/&amp;/g, '&'), name, 'height=' + height + ',resizable=yes,scrollbars=yes, width=' + width);
+ return false;
+}
+
+/**
+* Hiding/Showing the side menu
+*/
+function switch_menu()
+{
+ var menu = document.getElementById('menu');
+ var main = document.getElementById('main');
+ var toggle = document.getElementById('toggle');
+ var handle = document.getElementById('toggle-handle');
+
+ switch (menu_state)
+ {
+ // hide
+ case 'shown':
+ main.style.width = '93%';
+ menu_state = 'hidden';
+ menu.style.display = 'none';
+ toggle.style.width = '20px';
+ handle.style.backgroundImage = 'url(images/toggle.gif)';
+ handle.style.backgroundRepeat = 'no-repeat';
+
+ <!-- IF S_CONTENT_DIRECTION eq 'rtl' -->
+ handle.style.backgroundPosition = '0% 50%';
+ toggle.style.left = '96%';
+ <!-- ELSE -->
+ handle.style.backgroundPosition = '100% 50%';
+ toggle.style.left = '0';
+ <!-- ENDIF -->
+ break;
+
+ // show
+ case 'hidden':
+ main.style.width = '76%';
+ menu_state = 'shown';
+ menu.style.display = 'block';
+ toggle.style.width = '5%';
+ handle.style.backgroundImage = 'url(images/toggle.gif)';
+ handle.style.backgroundRepeat = 'no-repeat';
+
+ <!-- IF S_CONTENT_DIRECTION eq 'rtl' -->
+ handle.style.backgroundPosition = '100% 50%';
+ toggle.style.left = '75%';
+ <!-- ELSE -->
+ handle.style.backgroundPosition = '0% 50%';
+ toggle.style.left = '15%';
+ <!-- ENDIF -->
+ break;
+ }
+}
+
+// ]]>
+</script>
+</head>
+
+<body class="{S_CONTENT_DIRECTION}">
+
+<div id="wrap">
+ <div id="page-header">
+ <h1>{L_ADMIN_PANEL}</h1>
+ <p><a href="{U_ADM_INDEX}">{L_ADMIN_INDEX}</a> &bull; <a href="{U_INDEX}">{L_FORUM_INDEX}</a></p>
+ <p id="skip"><a href="#acp">{L_SKIP}</a></p>
+ </div>
+
+ <div id="page-body">
+ <div id="tabs">
+ <ul>
+ <!-- BEGIN t_block1 -->
+ <li<!-- IF t_block1.S_SELECTED --> id="activetab"<!-- ENDIF -->><a href="{t_block1.U_TITLE}"><span>{t_block1.L_TITLE}</span></a></li>
+ <!-- END t_block1 -->
+ </ul>
+ </div>
+
+ <div id="acp">
+ <div class="panel">
+ <span class="corners-top"><span></span></span>
+ <div id="content">
+ <!-- IF not S_USER_NOTICE -->
+ <div id="toggle">
+ <a id="toggle-handle" accesskey="m" title="{L_MENU_TOGGLE}" onclick="switch_menu(); return false;" href="#"></a></div>
+ <!-- ENDIF -->
+ <div id="menu">
+ <p>{L_LOGGED_IN_AS}<br /><strong>{USERNAME}</strong> [&nbsp;<a href="{U_LOGOUT}">{L_LOGOUT}</a>&nbsp;][&nbsp;<a href="{U_ADM_LOGOUT}">{L_ADM_LOGOUT}</a>&nbsp;]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
+ <ul>
+ <!-- DEFINE $LI_USED = 0 -->
+ <!-- BEGIN l_block1 -->
+ <!-- IF l_block1.S_SELECTED -->
+
+ <!-- BEGIN l_block2 -->
+ <!-- IF .l_block1.l_block2.l_block3 -->
+ <li class="header">{l_block1.l_block2.L_TITLE}</li>
+ <!-- DEFINE $LI_USED = 1 -->
+ <!-- ENDIF -->
+
+ <!-- BEGIN l_block3 -->
+ <li<!-- IF l_block1.l_block2.l_block3.S_SELECTED --> id="activemenu"<!-- ENDIF -->><a href="{l_block1.l_block2.l_block3.U_TITLE}"><span>{l_block1.l_block2.l_block3.L_TITLE}</span></a></li>
+ <!-- DEFINE $LI_USED = 1 -->
+ <!-- END l_block3 -->
+ <!-- END l_block2 -->
+
+ <!-- ENDIF -->
+ <!-- END l_block1 -->
+ <!-- IF not $LI_USED -->
+ <li></li>
+ <!-- ENDIF -->
+ </ul>
+ </div>
+
+ <div id="main">
diff --git a/phpBB/adm/style/permission_forum_copy.html b/phpBB/adm/style/permission_forum_copy.html
new file mode 100644
index 0000000000..c919310035
--- /dev/null
+++ b/phpBB/adm/style/permission_forum_copy.html
@@ -0,0 +1,40 @@
+<!-- INCLUDE overall_header.html -->
+
+<a name="maincontent"></a>
+
+ <h1>{L_ACP_FORUM_PERMISSIONS_COPY}</h1>
+
+ {L_ACP_FORUM_PERMISSIONS_COPY_EXPLAIN}
+
+ <form id="forum_perm_copy" method="post" action="{U_ACTION}">
+
+ <fieldset>
+ <legend>{L_LOOK_UP_FORUM}</legend>
+
+ <dl>
+ <dt><label for="src_forum">{L_COPY_PERMISSIONS_FROM}:</label><br /><span>{L_COPY_PERMISSIONS_FORUM_FROM_EXPLAIN}</span></dt>
+ <dd><select id="src_forum" name="src_forum_id"><option value="0">{L_SELECT_FORUM}</option><option value="-1">------------------</option>{S_FORUM_OPTIONS}</select></dd>
+ </dl>
+ </fieldset>
+
+ <fieldset>
+ <legend>{L_LOOK_UP_FORUM}</legend>
+ <p>{L_LOOK_UP_FORUMS_EXPLAIN}</p>
+
+ <dl>
+ <dt><label for="dest_forums">{L_COPY_PERMISSIONS_TO}:</label><br /><span>{L_COPY_PERMISSIONS_FORUM_TO_EXPLAIN}</span></dt>
+ <dd><select id="dest_forums" name="dest_forum_ids[]" multiple="multiple" size="10">{S_FORUM_OPTIONS}</select></dd>
+ </dl>
+ </fieldset>
+
+ <fieldset class="submit-buttons">
+ <legend>{L_SUBMIT}</legend>
+ <input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />&nbsp;
+ <input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
+ {S_HIDDEN_FIELDS}
+ {S_FORM_TOKEN}
+ </fieldset>
+
+ </form>
+
+<!-- INCLUDE overall_footer.html -->
diff --git a/phpBB/adm/style/permission_mask.html b/phpBB/adm/style/permission_mask.html
new file mode 100644
index 0000000000..fb4d3ef143
--- /dev/null
+++ b/phpBB/adm/style/permission_mask.html
@@ -0,0 +1,139 @@
+
+<script type="text/javascript">
+// <![CDATA[
+ var active_pmask = '0';
+ var active_fmask = '0';
+ var active_cat = '0';
+
+ var id = '000';
+
+ var role_options = new Array();
+
+ <!-- IF S_ROLE_JS_ARRAY -->
+ {S_ROLE_JS_ARRAY}
+ <!-- ENDIF -->
+// ]]>
+</script>
+<script type="text/javascript" src="style/permissions.js"></script>
+
+<!-- BEGIN p_mask -->
+<div class="clearfix"></div>
+<h3>{p_mask.NAME}<!-- IF p_mask.S_LOCAL --> <span class="small"> [{p_mask.L_ACL_TYPE}]</span><!-- ENDIF --></h3>
+
+<!-- BEGIN f_mask -->
+<div class="clearfix"></div>
+<fieldset class="permissions" id="perm{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}">
+ <legend id="legend{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}">
+ <!-- IF not p_mask.S_VIEW -->
+ <input type="checkbox" style="display: none;" class="permissions-checkbox" name="inherit[{p_mask.f_mask.UG_ID}][{p_mask.f_mask.FORUM_ID}]" id="checkbox{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}" value="1" onclick="toggle_opacity('{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}')" />
+ <!-- ELSE -->
+ <!-- ENDIF -->
+ <!-- IF p_mask.f_mask.PADDING --><span class="padding">{p_mask.f_mask.PADDING}{p_mask.f_mask.PADDING}</span><!-- ENDIF -->{p_mask.f_mask.NAME}
+ </legend>
+ <!-- IF not p_mask.S_VIEW -->
+ <div class="permissions-switch">
+ <div class="permissions-reset">
+ <a href="#" onclick="mark_options('perm{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}', 'y'); reset_role('role{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}'); init_colours('{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}'); return false;">{L_ALL_YES}</a> &middot; <a href="#" onclick="mark_options('perm{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}', 'u'); reset_role('role{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}'); init_colours('{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}'); return false;">{L_ALL_NO}</a> &middot; <a href="#" onclick="mark_options('perm{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}', 'n'); reset_role('role{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}'); init_colours('{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}'); return false;">{L_ALL_NEVER}</a>
+ </div>
+ <a href="#" onclick="swap_options('{p_mask.S_ROW_COUNT}', '{p_mask.f_mask.S_ROW_COUNT}', '0', true); return false;">{L_ADVANCED_PERMISSIONS}</a><!-- IF not p_mask.S_VIEW and p_mask.f_mask.S_CUSTOM --> *<!-- ENDIF -->
+ </div>
+ <dl class="permissions-simple">
+ <dt style="width: 20%"><label for="role{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}">{L_ROLE}:</label></dt>
+ <!-- IF p_mask.f_mask.S_ROLE_OPTIONS -->
+ <dd style="margin-left: 20%"><select id="role{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}" name="role[{p_mask.f_mask.UG_ID}][{p_mask.f_mask.FORUM_ID}]" onchange="set_role_settings(this.options[selectedIndex].value, 'advanced{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}'); init_colours('{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}')">{p_mask.f_mask.S_ROLE_OPTIONS}</select></dd>
+ <!-- ELSE -->
+ <dd>{L_NO_ROLE_AVAILABLE}</dd>
+ <!-- ENDIF -->
+ </dl>
+ <!-- ENDIF -->
+
+ <!-- BEGIN category -->
+ <!-- IF p_mask.f_mask.category.S_FIRST_ROW -->
+ <!-- IF not p_mask.S_VIEW -->
+ <div class="permissions-advanced" id="advanced{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}" style="display: none;">
+ <!-- ELSE -->
+ <div class="permissions-advanced" id="advanced{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}">
+ <!-- ENDIF -->
+
+ <div class="permissions-category">
+ <ul>
+ <!-- ENDIF -->
+
+ <!-- IF p_mask.f_mask.category.S_YES -->
+ <li class="permissions-preset-yes<!-- IF p_mask.S_FIRST_ROW and p_mask.f_mask.S_FIRST_ROW and p_mask.f_mask.category.S_FIRST_ROW --> activetab<!-- ENDIF -->" id="tab{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}{p_mask.f_mask.category.S_ROW_COUNT}">
+ <!-- ELSEIF p_mask.f_mask.category.S_NEVER -->
+ <li class="permissions-preset-never<!-- IF p_mask.S_FIRST_ROW and p_mask.f_mask.S_FIRST_ROW and p_mask.f_mask.category.S_FIRST_ROW --> activetab<!-- ENDIF -->" id="tab{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}{p_mask.f_mask.category.S_ROW_COUNT}">
+ <!-- ELSEIF p_mask.f_mask.category.S_NO -->
+ <li class="permissions-preset-no<!-- IF p_mask.S_FIRST_ROW and p_mask.f_mask.S_FIRST_ROW and p_mask.f_mask.category.S_FIRST_ROW --> activetab<!-- ENDIF -->" id="tab{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}{p_mask.f_mask.category.S_ROW_COUNT}">
+ <!-- ELSE -->
+ <li class="permissions-preset-custom<!-- IF p_mask.S_FIRST_ROW and p_mask.f_mask.S_FIRST_ROW and p_mask.f_mask.category.S_FIRST_ROW --> activetab<!-- ENDIF -->" id="tab{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}{p_mask.f_mask.category.S_ROW_COUNT}">
+ <!-- ENDIF -->
+ <a href="#" onclick="swap_options('{p_mask.S_ROW_COUNT}', '{p_mask.f_mask.S_ROW_COUNT}', '{p_mask.f_mask.category.S_ROW_COUNT}', false<!-- IF p_mask.S_VIEW -->, true<!-- ENDIF -->); return false;"><span class="tabbg"><span class="colour"></span>{p_mask.f_mask.category.CAT_NAME}</span></a></li>
+ <!-- END category -->
+ </ul>
+ </div>
+
+ <!-- BEGIN category -->
+ <div class="permissions-panel" id="options{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}{p_mask.f_mask.category.S_ROW_COUNT}" <!-- IF p_mask.S_FIRST_ROW and p_mask.f_mask.S_FIRST_ROW and p_mask.f_mask.category.S_FIRST_ROW --><!-- ELSE --> style="display: none;"<!-- ENDIF -->>
+ <span class="corners-top"><span></span></span>
+ <div class="tablewrap">
+ <table id="table{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}{p_mask.f_mask.category.S_ROW_COUNT}" cellspacing="1">
+ <colgroup>
+ <col class="permissions-name" />
+ <col class="permissions-yes" />
+ <col class="permissions-no" />
+ <!-- IF not p_mask.S_VIEW -->
+ <col class="permissions-never" />
+ <!-- ENDIF -->
+ </colgroup>
+ <thead>
+ <tr>
+ <th class="name" scope="col"><strong>{L_ACL_SETTING}</strong></th>
+ <!-- IF p_mask.S_VIEW -->
+ <th class="value" scope="col">{L_ACL_YES}</th>
+ <th class="value" scope="col">{L_ACL_NEVER}</th>
+ <!-- ELSE -->
+ <th class="value permissions-yes" scope="col"><a href="#" onclick="mark_options('options{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}{p_mask.f_mask.category.S_ROW_COUNT}', 'y'); reset_role('role{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}'); set_colours('{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}{p_mask.f_mask.category.S_ROW_COUNT}', false, 'yes'); return false;">{L_ACL_YES}</a></th>
+ <th class="value permissions-no" scope="col"><a href="#" onclick="mark_options('options{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}{p_mask.f_mask.category.S_ROW_COUNT}', 'u'); reset_role('role{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}'); set_colours('{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}{p_mask.f_mask.category.S_ROW_COUNT}', false, 'no'); return false;">{L_ACL_NO}</a></th>
+ <th class="value permissions-never" scope="col"><a href="#" onclick="mark_options('options{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}{p_mask.f_mask.category.S_ROW_COUNT}', 'n'); reset_role('role{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}'); set_colours('{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}{p_mask.f_mask.category.S_ROW_COUNT}', false, 'never'); return false;">{L_ACL_NEVER}</a></th>
+ <!-- ENDIF -->
+ </tr>
+ </thead>
+ <tbody>
+ <!-- BEGIN mask -->
+ <!-- IF p_mask.f_mask.category.mask.S_ROW_COUNT is even --><tr class="row4"><!-- ELSE --><tr class="row3"><!-- ENDIF -->
+ <th class="permissions-name<!-- IF p_mask.f_mask.category.mask.S_ROW_COUNT is even --> row4<!-- ELSE --> row3<!-- ENDIF -->"><!-- IF p_mask.f_mask.category.mask.U_TRACE --><a href="{p_mask.f_mask.category.mask.U_TRACE}" class="trace" onclick="popup(this.href, 750, 515, '_trace'); return false;" title="{L_TRACE_SETTING}"><img src="images/icon_trace.gif" alt="{L_TRACE_SETTING}" /></a> <!-- ENDIF -->{p_mask.f_mask.category.mask.PERMISSION}</th>
+ <!-- IF p_mask.S_VIEW -->
+ <td<!-- IF p_mask.f_mask.category.mask.S_YES --> class="yes"<!-- ENDIF -->>&nbsp;</td>
+ <td<!-- IF p_mask.f_mask.category.mask.S_NEVER --> class="never"<!-- ENDIF -->></td>
+ <!-- ELSE -->
+ <td class="permissions-yes"><label for="{p_mask.f_mask.category.mask.S_FIELD_NAME}_y"><input onclick="reset_role('role{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}'); set_colours('{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}{p_mask.f_mask.category.S_ROW_COUNT}', false)" id="{p_mask.f_mask.category.mask.S_FIELD_NAME}_y" name="{p_mask.f_mask.category.mask.S_FIELD_NAME}" class="radio" type="radio"<!-- IF p_mask.f_mask.category.mask.S_YES --> checked="checked"<!-- ENDIF --> value="1" /></label></td>
+ <td class="permissions-no"><label for="{p_mask.f_mask.category.mask.S_FIELD_NAME}_u"><input onclick="reset_role('role{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}'); set_colours('{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}{p_mask.f_mask.category.S_ROW_COUNT}', false)" id="{p_mask.f_mask.category.mask.S_FIELD_NAME}_u" name="{p_mask.f_mask.category.mask.S_FIELD_NAME}" class="radio" type="radio"<!-- IF p_mask.f_mask.category.mask.S_NO --> checked="checked"<!-- ENDIF --> value="-1" /></label></td>
+ <td class="permissions-never"><label for="{p_mask.f_mask.category.mask.S_FIELD_NAME}_n"><input onclick="reset_role('role{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}'); set_colours('{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}{p_mask.f_mask.category.S_ROW_COUNT}', false)" id="{p_mask.f_mask.category.mask.S_FIELD_NAME}_n" name="{p_mask.f_mask.category.mask.S_FIELD_NAME}" class="radio" type="radio"<!-- IF p_mask.f_mask.category.mask.S_NEVER --> checked="checked"<!-- ENDIF --> value="0" /></label></td>
+ <!-- ENDIF -->
+ </tr>
+ <!-- END mask -->
+ </tbody>
+ </table>
+ </div>
+
+ <!-- IF not p_mask.S_VIEW -->
+ <fieldset class="quick" style="margin-right: 11px;">
+ <p class="small">{L_APPLY_PERMISSIONS_EXPLAIN}</p>
+ <input class="button1" type="submit" name="psubmit[{p_mask.f_mask.UG_ID}][{p_mask.f_mask.FORUM_ID}]" value="{L_APPLY_PERMISSIONS}" />
+ <!-- IF .p_mask.f_mask gt 1 or .p_mask gt 1 -->
+ <p class="small"><a href="#" onclick="reset_opacity(0, '{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}'); return false;">{L_MARK_ALL}</a> &bull; <a href="#" onclick="reset_opacity(1, '{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}'); return false;">{L_UNMARK_ALL}</a></p>
+ <!-- ENDIF -->
+ </fieldset>
+
+ <!-- ENDIF -->
+
+ <span class="corners-bottom"><span></span></span>
+ </div>
+ <!-- END category -->
+ <div class="clearfix"></div>
+ </div>
+</fieldset>
+<!-- END f_mask -->
+
+<!-- END p_mask -->
diff --git a/phpBB/adm/style/permission_roles_mask.html b/phpBB/adm/style/permission_roles_mask.html
new file mode 100644
index 0000000000..e88c5fd2ba
--- /dev/null
+++ b/phpBB/adm/style/permission_roles_mask.html
@@ -0,0 +1,38 @@
+
+<!-- BEGIN role_mask -->
+
+ <table cellspacing="1">
+ <caption><!-- IF role_mask.FORUM_ID -->{L_FORUM}: <!-- ENDIF -->{role_mask.NAME}</caption>
+ <tbody>
+ <tr>
+ <th>{L_USERS}</th>
+ </tr>
+ <tr>
+ <td class="row1">
+ <!-- BEGIN users -->
+ <a href="{role_mask.users.U_PROFILE}">{role_mask.users.USERNAME}</a><!-- IF not role_mask.users.S_LAST_ROW --> :: <!-- ENDIF -->
+ <!-- BEGINELSE -->
+ {L_USERS_NOT_ASSIGNED}
+ <!-- END users -->
+ </td>
+ </tr>
+ <tr>
+ <th>{L_GROUPS}</th>
+ </tr>
+ <tr>
+ <td class="row2">
+ <!-- BEGIN groups -->
+ <a href="{role_mask.groups.U_PROFILE}">{role_mask.groups.GROUP_NAME}</a><!-- IF not role_mask.groups.S_LAST_ROW --> :: <!-- ENDIF -->
+ <!-- BEGINELSE -->
+ {L_GROUPS_NOT_ASSIGNED}
+ <!-- END users -->
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+<!-- BEGINELSE -->
+
+ <p>{L_ROLE_NOT_ASSIGNED}</p>
+
+<!-- END role_mask --> \ No newline at end of file
diff --git a/phpBB/adm/style/permission_trace.html b/phpBB/adm/style/permission_trace.html
new file mode 100644
index 0000000000..186bb28b67
--- /dev/null
+++ b/phpBB/adm/style/permission_trace.html
@@ -0,0 +1,58 @@
+<!-- INCLUDE simple_header.html -->
+
+<div style="background-color: #fff; padding: 10px; margin-top: 10px;" class="permissions">
+
+ <!-- IF U_BACK --><a href="{U_BACK}" style="float: {S_CONTENT_FLOW_END};">&laquo; {L_BACK}</a><!-- ENDIF -->
+
+ <h3>{L_TRACE_FOR}: {PERMISSION_USERNAME} / <!-- IF FORUM_NAME -->{FORUM_NAME} / <!-- ENDIF -->{PERMISSION} </h3>
+
+ <br />
+
+ <table cellspacing="1" class="type1">
+ <thead>
+ <tr>
+ <th>{L_TRACE_WHO}</th>
+ <th style="width: 50px;">{L_ACL_SETTING}</th>
+ <th style="width: 50px;">{L_TRACE_TOTAL}</th>
+ <th>{L_INFORMATION}</th>
+ </tr>
+ </thead>
+ <tbody>
+ <!-- BEGIN trace -->
+ <!-- IF trace.S_ROW_COUNT is even --><tr class="row4"><!-- ELSE --><tr class="row3"><!-- ENDIF -->
+ <td style="white-space: nowrap;"><strong>{trace.WHO}</strong></td>
+
+ <!-- IF trace.S_SETTING_NEVER -->
+ <td class="never">{L_ACL_NEVER}</td>
+ <!-- ELSEIF trace.S_SETTING_YES -->
+ <td class="yes">{L_ACL_YES}</td>
+ <!-- ELSE -->
+ <td class="no">{L_ACL_NO}</td>
+ <!-- ENDIF -->
+
+ <!-- IF trace.S_TOTAL_NEVER -->
+ <td class="never">{L_ACL_NEVER}</td>
+ <!-- ELSEIF trace.S_TOTAL_YES -->
+ <td class="yes">{L_ACL_YES}</td>
+ <!-- ELSE -->
+ <td class="no">{L_ACL_NO}</td>
+ <!-- ENDIF -->
+
+ <td>{trace.INFORMATION}</td>
+ </tr>
+ <!-- END trace -->
+ <tr class="row2">
+ <td style="white-space: nowrap;"><strong>{L_TRACE_RESULT}</strong></td>
+ <td colspan="2" style="text-align: center;" class="<!-- IF S_RESULT_NEVER -->never<!-- ELSEIF S_RESULT_YES -->yes<!-- ELSE -->no<!-- ENDIF -->">
+ <!-- IF S_RESULT_NEVER -->{L_ACL_NEVER}<!-- ELSEIF S_RESULT_YES -->{L_ACL_YES}<!-- ELSE -->{L_ACL_NO}<!-- ENDIF -->
+ </td>
+ <td>{L_RESULTING_PERMISSION}</td>
+ </tr>
+ </tbody>
+ </table>
+
+ <br />
+
+</div>
+
+<!-- INCLUDE simple_footer.html -->
diff --git a/phpBB/adm/style/permissions.js b/phpBB/adm/style/permissions.js
new file mode 100644
index 0000000000..adc8995c23
--- /dev/null
+++ b/phpBB/adm/style/permissions.js
@@ -0,0 +1,359 @@
+/**
+* Hide and show all checkboxes
+* status = true (show boxes), false (hide boxes)
+*/
+function display_checkboxes(status)
+{
+ var form = document.getElementById('set-permissions');
+ var cb = document.getElementsByTagName('input');
+ var display;
+
+ //show
+ if (status)
+ {
+ display = 'inline';
+ }
+ //hide
+ else
+ {
+ display = 'none';
+ }
+
+ for (var i = 0; i < cb.length; i++ )
+ {
+ if (cb[i].className == 'permissions-checkbox')
+ {
+ cb[i].style.display = display;
+ }
+
+ }
+
+}
+
+
+/**
+* Change opacity of element
+* e = element
+* value = 0 (hidden) till 10 (fully visible)
+*/
+function set_opacity(e, value) {
+ e.style.opacity = value/10;
+
+ //IE opacity currently turned off, because of its astronomical stupidity
+ //e.style.filter = 'alpha(opacity=' + value*10 + ')';
+}
+
+/**
+* Reset the opacity and checkboxes
+* block_id = id of the element that needs to be toggled
+*/
+function toggle_opacity(block_id) {
+ var cb = document.getElementById('checkbox' + block_id);
+ var fs = document.getElementById('perm' + block_id);
+
+ if (cb.checked)
+ {
+ set_opacity(fs, 5);
+ }
+ else
+ {
+ set_opacity(fs, 10);
+ }
+}
+
+/**
+* Reset the opacity and checkboxes
+* value = 0 (checked) and 1 (unchecked)
+* except_id = id of the element not to hide
+*/
+function reset_opacity(status, except_id) {
+ var perm = document.getElementById('set-permissions');
+ var fs = perm.getElementsByTagName('fieldset');
+ var opacity = 5;
+
+ if (status)
+ {
+ opacity = 10;
+ }
+
+ for (var i = 0; i < fs.length; i++ )
+ {
+ if (fs[i].className != 'quick')
+ {
+ set_opacity(fs[i], opacity);
+ }
+ }
+
+ if (typeof(except_id) != 'undefined')
+ {
+ set_opacity(document.getElementById('perm' + except_id), 10);
+ }
+
+ //reset checkboxes too
+ marklist('set-permissions', 'inherit', !status);
+}
+
+
+/**
+* Check whether we have a full radiobutton row of true
+* index = offset for the row of inputs (0 == first row, 1 == second, 2 == third),
+* rb = array of radiobuttons
+*/
+function get_radio_status(index, rb)
+{
+ for (var i = index; i < rb.length; i = i + 3 )
+ {
+ if (rb[i].checked != true)
+ {
+ if (i > index)
+ {
+ //at least one is true, but not all (custom)
+ return 2;
+ }
+ //first one is not true
+ return 0;
+ }
+ }
+
+ // all radiobuttons true
+ return 1;
+}
+
+/**
+* Set tab colours
+* id = panel the tab needs to be set for,
+* init = initialising on open,
+* quick = If no calculation needed, this contains the colour
+*/
+function set_colours(id, init, quick)
+{
+ var table = document.getElementById('table' + id);
+ var tab = document.getElementById('tab' + id);
+
+ if (typeof(quick) != 'undefined')
+ {
+ tab.className = 'permissions-preset-' + quick + ' activetab';
+ return;
+ }
+
+ var rb = table.getElementsByTagName('input');
+ var colour = 'custom';
+
+ var status = get_radio_status(0, rb);
+
+ if (status == 1)
+ {
+ colour = 'yes';
+ }
+ else if (status == 0)
+ {
+ // We move on to No
+ status = get_radio_status(1, rb);
+
+ if (status == 1)
+ {
+ colour = 'no';
+ }
+ else if (status == 0)
+ {
+ // We move on to Never
+ status = get_radio_status(2, rb);
+
+ if (status == 1)
+ {
+ colour = 'never';
+ }
+ }
+ }
+
+ if (init)
+ {
+ tab.className = 'permissions-preset-' + colour;
+ }
+ else
+ {
+ tab.className = 'permissions-preset-' + colour + ' activetab';
+ }
+}
+
+/**
+* Initialise advanced tab colours on first load
+* block_id = block that is opened
+*/
+function init_colours(block_id)
+{
+ var block = document.getElementById('advanced' + block_id);
+ var panels = block.getElementsByTagName('div');
+ var tab = document.getElementById('tab' + id);
+
+ for (var i = 0; i < panels.length; i++)
+ {
+ if(panels[i].className == 'permissions-panel')
+ {
+ set_colours(panels[i].id.replace(/options/, ''), true);
+ }
+ }
+
+ tab.className = tab.className + ' activetab';
+}
+
+/**
+* Show/hide option panels
+* value = suffix for ID to show
+* adv = we are opening advanced permissions
+* view = called from view permissions
+*/
+function swap_options(pmask, fmask, cat, adv, view)
+{
+ id = pmask + fmask + cat;
+ active_option = active_pmask + active_fmask + active_cat;
+
+ var old_tab = document.getElementById('tab' + active_option);
+ var new_tab = document.getElementById('tab' + id);
+ var adv_block = document.getElementById('advanced' + pmask + fmask);
+
+ if (adv_block.style.display == 'block' && adv == true)
+ {
+ dE('advanced' + pmask + fmask, -1);
+ reset_opacity(1);
+ display_checkboxes(false);
+ return;
+ }
+
+ // no need to set anything if we are clicking on the same tab again
+ if (new_tab == old_tab && !adv)
+ {
+ return;
+ }
+
+ // init colours
+ if (adv && (pmask + fmask) != (active_pmask + active_fmask))
+ {
+ init_colours(pmask + fmask);
+ display_checkboxes(true);
+ reset_opacity(1);
+ }
+ else if (adv)
+ {
+ //Checkbox might have been clicked, but we need full visibility
+ display_checkboxes(true);
+ reset_opacity(1);
+ }
+
+ // set active tab
+ old_tab.className = old_tab.className.replace(/\ activetab/g, '');
+ new_tab.className = new_tab.className + ' activetab';
+
+ if (id == active_option && adv != true)
+ {
+ return;
+ }
+
+ dE('options' + active_option, -1);
+
+ //hiding and showing the checkbox
+ if (document.getElementById('checkbox' + active_pmask + active_fmask))
+ {
+ dE('checkbox' + pmask + fmask, -1);
+
+ if ((pmask + fmask) != (active_pmask + active_fmask))
+ {
+ document.getElementById('checkbox' + active_pmask + active_fmask).style.display = 'inline';
+ }
+ }
+
+ if (!view)
+ {
+ dE('advanced' + active_pmask + active_fmask, -1);
+ }
+
+ if (!view)
+ {
+ dE('advanced' + pmask + fmask, 1);
+ }
+ dE('options' + id, 1);
+
+ active_pmask = pmask;
+ active_fmask = fmask;
+ active_cat = cat;
+}
+
+/**
+* Mark all radio buttons in one panel
+* id = table ID container, s = status ['y'/'u'/'n']
+*/
+function mark_options(id, s)
+{
+ var t = document.getElementById(id);
+
+ if (!t)
+ {
+ return;
+ }
+
+ var rb = t.getElementsByTagName('input');
+
+ for (var r = 0; r < rb.length; r++)
+ {
+ if (rb[r].id.substr(rb[r].id.length-1) == s)
+ {
+ rb[r].checked = true;
+ }
+ }
+}
+
+function mark_one_option(id, field_name, s)
+{
+ var t = document.getElementById(id);
+
+ if (!t)
+ {
+ return;
+ }
+
+ var rb = t.getElementsByTagName('input');
+
+ for (var r = 0; r < rb.length; r++)
+ {
+ if (rb[r].id.substr(rb[r].id.length-field_name.length-3, field_name.length) == field_name && rb[r].id.substr(rb[r].id.length-1) == s)
+ {
+ rb[r].checked = true;
+ }
+ }
+}
+
+/**
+* Reset role dropdown field to Select role... if an option gets changed
+*/
+function reset_role(id)
+{
+ var t = document.getElementById(id);
+
+ if (!t)
+ {
+ return;
+ }
+
+ t.options[0].selected = true;
+}
+
+/**
+* Load role and set options accordingly
+*/
+function set_role_settings(role_id, target_id)
+{
+ settings = role_options[role_id];
+
+ if (!settings)
+ {
+ return;
+ }
+
+ // Mark all options to no (unset) first...
+ mark_options(target_id, 'u');
+
+ for (var r in settings)
+ {
+ mark_one_option(target_id, r, (settings[r] == 1) ? 'y' : 'n');
+ }
+}
diff --git a/phpBB/adm/style/progress_bar.html b/phpBB/adm/style/progress_bar.html
new file mode 100644
index 0000000000..00e1e5e885
--- /dev/null
+++ b/phpBB/adm/style/progress_bar.html
@@ -0,0 +1,40 @@
+<!-- INCLUDE simple_header.html -->
+
+<script type="text/javascript">
+// <![CDATA[
+ /**
+ * Close previously opened popup
+ */
+ function close_popup()
+ {
+ if (opener != null)
+ {
+ if (opener.close_waitscreen != null)
+ {
+ if (opener.close_waitscreen == 1)
+ {
+ opener.close_waitscreen = 0;
+ self.close();
+ return 0;
+ }
+ }
+ }
+ setTimeout("close_popup()", 1000);
+ return 0;
+ }
+// ]]>
+</script>
+
+<div class="successbox">
+ <h3>{L_PROGRESS}</h3>
+ <img src="images/progress_bar.gif" alt="{L_PROGRESS}" />
+ <p>{L_PROGRESS_EXPLAIN}</p>
+</div>
+
+<script type="text/javascript">
+// <![CDATA[
+ close_popup();
+// ]]>
+</script>
+
+<!-- INCLUDE simple_footer.html --> \ No newline at end of file
diff --git a/phpBB/adm/style/simple_body.html b/phpBB/adm/style/simple_body.html
new file mode 100644
index 0000000000..0b1e11b9a2
--- /dev/null
+++ b/phpBB/adm/style/simple_body.html
@@ -0,0 +1,8 @@
+<!-- INCLUDE simple_header.html -->
+
+<div class="successbox">
+ <h3>{MESSAGE_TITLE}</h3>
+ <p>{MESSAGE_TEXT}</p>
+</div>
+
+<!-- INCLUDE simple_footer.html --> \ No newline at end of file
diff --git a/phpBB/adm/style/simple_footer.html b/phpBB/adm/style/simple_footer.html
new file mode 100644
index 0000000000..65cf724c2f
--- /dev/null
+++ b/phpBB/adm/style/simple_footer.html
@@ -0,0 +1,31 @@
+ <div style="text-align: {S_CONTENT_FLOW_END};"><a href="#" onclick="self.close(); return false;">{L_CLOSE_WINDOW}</a></div>
+ <br /><br />
+</div>
+
+<!--
+ We request you retain the full copyright notice below including the link to www.phpbb.com.
+ This not only gives respect to the large amount of time given freely by the developers
+ but also helps build interest, traffic and use of phpBB. If you (honestly) cannot retain
+ the full copyright we ask you at least leave in place the "Powered by phpBB" line, with
+ "phpBB" linked to www.phpbb.com. If you refuse to include even this then support on our
+ forums may be affected.
+
+ The phpBB Group : 2006
+// -->
+
+<div id="page-footer">
+
+ <!-- IF S_COPYRIGHT_HTML -->
+ <br />Powered by phpBB &copy; 2000, 2002, 2005, 2007 <a href="http://www.phpbb.com/">phpBB Group</a>
+ <!-- IF TRANSLATION_INFO --><br />{TRANSLATION_INFO}<!-- ENDIF -->
+ <!-- ENDIF -->
+
+ <!-- IF DEBUG_OUTPUT -->
+ <!-- IF S_COPYRIGHT_HTML --><br /><br /><!-- ENDIF -->
+ {DEBUG_OUTPUT}
+ <!-- ENDIF -->
+
+</div>
+
+</body>
+</html>
diff --git a/phpBB/adm/style/simple_header.html b/phpBB/adm/style/simple_header.html
new file mode 100644
index 0000000000..2339b70a93
--- /dev/null
+++ b/phpBB/adm/style/simple_header.html
@@ -0,0 +1,112 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" dir="{S_CONTENT_DIRECTION}" lang="{S_USER_LANG}" xml:lang="{S_USER_LANG}">
+<head>
+
+<meta http-equiv="Content-Type" content="text/html; charset={S_CONTENT_ENCODING}" />
+<meta http-equiv="Content-Style-Type" content="text/css" />
+<meta http-equiv="Content-Language" content="{S_USER_LANG}" />
+<meta http-equiv="imagetoolbar" content="no" />
+<!-- IF META -->{META}<!-- ENDIF -->
+<title>{PAGE_TITLE}</title>
+
+<link href="style/admin.css" rel="stylesheet" type="text/css" media="screen" />
+
+<script type="text/javascript">
+// <![CDATA[
+var jump_page = '{LA_JUMP_PAGE}:';
+var on_page = '{ON_PAGE}';
+var per_page = '{PER_PAGE}';
+var base_url = '{A_BASE_URL}';
+
+/**
+* Window popup
+*/
+function popup(url, width, height, name)
+{
+ if (!name)
+ {
+ name = '_popup';
+ }
+
+ window.open(url.replace(/&amp;/g, '&'), name, 'height=' + height + ',resizable=yes,scrollbars=yes, width=' + width);
+ return false;
+}
+
+/**
+* Jump to page
+*/
+function jumpto()
+{
+ var page = prompt(jump_page, on_page);
+
+ if (page !== null && !isNaN(page) && page == Math.floor(page) && page > 0)
+ {
+ if (base_url.indexOf('?') == -1)
+ {
+ document.location.href = base_url + '?start=' + ((page - 1) * per_page);
+ }
+ else
+ {
+ document.location.href = base_url.replace(/&amp;/g, '&') + '&start=' + ((page - 1) * per_page);
+ }
+ }
+}
+
+/**
+* Set display of page element
+* s[-1,0,1] = hide,toggle display,show
+*/
+function dE(n, s, type)
+{
+ if (!type)
+ {
+ type = 'block';
+ }
+
+ var e = document.getElementById(n);
+ if (!s)
+ {
+ s = (e.style.display == '') ? -1 : 1;
+ }
+ e.style.display = (s == 1) ? type : 'none';
+}
+
+/**
+* Mark/unmark checkboxes
+* id = ID of parent container, name = name prefix, state = state [true/false]
+*/
+function marklist(id, name, state)
+{
+ var parent = document.getElementById(id);
+ if (!parent)
+ {
+ return;
+ }
+
+ var rb = parent.getElementsByTagName('input');
+
+ for (var r = 0; r < rb.length; r++)
+ {
+ if (rb[r].name.substr(0, name.length) == name)
+ {
+ rb[r].checked = state;
+ }
+ }
+}
+
+/**
+* Find a member
+*/
+function find_username(url)
+{
+ popup(url, 760, 570, '_usersearch');
+ return false;
+}
+
+// ]]>
+</script>
+</head>
+
+<body class="{S_CONTENT_DIRECTION}">
+
+<div id="page-body" class="simple-page-body">
diff --git a/phpBB/adm/style/tooltip.js b/phpBB/adm/style/tooltip.js
new file mode 100644
index 0000000000..20610b52fe
--- /dev/null
+++ b/phpBB/adm/style/tooltip.js
@@ -0,0 +1,251 @@
+/*
+javascript for Bubble Tooltips by Alessandro Fulciniti
+- http://pro.html.it - http://web-graphics.com
+obtained from: http://web-graphics.com/mtarchive/001717.php
+
+phpBB Development Team:
+ - modified to adhere to our coding guidelines
+ - integration into our design
+ - added ability to perform tooltips on select elements
+ - further adjustements
+*/
+
+var head_text, tooltip_mode;
+
+/**
+* Enable tooltip replacements for links
+*/
+function enable_tooltips_link(id, headline, sub_id)
+{
+ var links, i, hold;
+
+ head_text = headline;
+
+ if (!document.getElementById || !document.getElementsByTagName)
+ {
+ return;
+ }
+
+ hold = document.createElement('span');
+ hold.id = '_tooltip_container';
+ hold.setAttribute('id', '_tooltip_container');
+ hold.style.position = 'absolute';
+
+ document.getElementsByTagName('body')[0].appendChild(hold);
+
+ if (id == null)
+ {
+ links = document.getElementsByTagName('a');
+ }
+ else
+ {
+ links = document.getElementById(id).getElementsByTagName('a');
+ }
+
+ for (i = 0; i < links.length; i++)
+ {
+ if (sub_id)
+ {
+ if (links[i].id.substr(0, sub_id.length) == sub_id)
+ {
+ prepare(links[i]);
+ }
+ }
+ else
+ {
+ prepare(links[i]);
+ }
+ }
+
+ tooltip_mode = 'link';
+}
+
+/**
+* Enable tooltip replacements for selects
+*/
+function enable_tooltips_select(id, headline, sub_id)
+{
+ var links, i, hold;
+
+ head_text = headline;
+
+ if (!document.getElementById || !document.getElementsByTagName)
+ {
+ return;
+ }
+
+ hold = document.createElement('span');
+ hold.id = '_tooltip_container';
+ hold.setAttribute('id', '_tooltip_container');
+ hold.style.position = 'absolute';
+
+ document.getElementsByTagName('body')[0].appendChild(hold);
+
+ if (id == null)
+ {
+ links = document.getElementsByTagName('option');
+ }
+ else
+ {
+ links = document.getElementById(id).getElementsByTagName('option');
+ }
+
+ for (i = 0; i < links.length; i++)
+ {
+ if (sub_id)
+ {
+ if (links[i].parentNode.id.substr(0, sub_id.length) == sub_id)
+ {
+ prepare(links[i]);
+ }
+ }
+ else
+ {
+ prepare(links[i]);
+ }
+ }
+
+ tooltip_mode = 'select';
+}
+
+/**
+* Prepare elements to replace
+*/
+function prepare(element)
+{
+ var tooltip, text, desc, title;
+
+ text = element.getAttribute('title');
+
+ if (text == null || text.length == 0)
+ {
+ return;
+ }
+
+ element.removeAttribute('title');
+ tooltip = create_element('span', 'tooltip');
+
+ title = create_element('span', 'top');
+ title.appendChild(document.createTextNode(head_text));
+ tooltip.appendChild(title);
+
+ desc = create_element('span', 'bottom');
+ desc.innerHTML = text;
+ tooltip.appendChild(desc);
+
+ set_opacity(tooltip);
+
+ element.tooltip = tooltip;
+ element.onmouseover = show_tooltip;
+ element.onmouseout = hide_tooltip;
+
+ if (tooltip_mode == 'link')
+ {
+ element.onmousemove = locate;
+ }
+}
+
+/**
+* Show tooltip
+*/
+function show_tooltip(e)
+{
+ document.getElementById('_tooltip_container').appendChild(this.tooltip);
+ locate(this);
+}
+
+/**
+* Hide tooltip
+*/
+function hide_tooltip(e)
+{
+ var d = document.getElementById('_tooltip_container');
+ if (d.childNodes.length > 0)
+ {
+ d.removeChild(d.firstChild);
+ }
+}
+
+/**
+* Set opacity on tooltip element
+*/
+function set_opacity(element)
+{
+ element.style.filter = 'alpha(opacity:95)';
+ element.style.KHTMLOpacity = '0.95';
+ element.style.MozOpacity = '0.95';
+ element.style.opacity = '0.95';
+}
+
+/**
+* Create new element
+*/
+function create_element(tag, c)
+{
+ var x = document.createElement(tag);
+ x.className = c;
+ x.style.display = 'block';
+ return x;
+}
+
+/**
+* Correct positioning of tooltip container
+*/
+function locate(e)
+{
+ var posx = 0;
+ var posy = 0;
+
+ e = e.parentNode;
+
+ if (e.offsetParent)
+ {
+ for (var posx = 0, posy = 0; e.offsetParent; e = e.offsetParent)
+ {
+ posx += e.offsetLeft;
+ posy += e.offsetTop;
+ }
+ }
+ else
+ {
+ posx = e.offsetLeft;
+ posy = e.offsetTop;
+ }
+
+ if (tooltip_mode == 'link')
+ {
+ document.getElementById('_tooltip_container').style.top=(posy+20) + 'px';
+ document.getElementById('_tooltip_container').style.left=(posx-20) + 'px';
+ }
+ else
+ {
+ document.getElementById('_tooltip_container').style.top=(posy+30) + 'px';
+ document.getElementById('_tooltip_container').style.left=(posx-205) + 'px';
+ }
+
+/*
+ if (e == null)
+ {
+ e = window.event;
+ }
+
+ if (e.pageX || e.pageY)
+ {
+ posx = e.pageX;
+ posy = e.pageY;
+ }
+ else if (e.clientX || e.clientY)
+ {
+ if (document.documentElement.scrollTop)
+ {
+ posx = e.clientX+document.documentElement.scrollLeft;
+ posy = e.clientY+document.documentElement.scrollTop;
+ }
+ else
+ {
+ posx = e.clientX+document.body.scrollLeft;
+ posy = e.clientY+document.body.scrollTop;
+ }
+ }
+*/
+}
diff --git a/phpBB/adm/style/viewsource.html b/phpBB/adm/style/viewsource.html
new file mode 100644
index 0000000000..f127c9626f
--- /dev/null
+++ b/phpBB/adm/style/viewsource.html
@@ -0,0 +1,21 @@
+<!-- INCLUDE simple_header.html -->
+<div id="acp" style="padding: 0;">
+<div class="panel" style="padding: 10px;">
+<div style="overflow: auto;">
+ <h1>{FILENAME}</h1>
+
+ <table class="type2">
+ <tbody>
+ <!-- BEGIN source -->
+ <tr valign="top">
+ <td class="sourcenum">{source.LINENUM}&nbsp;&nbsp;</td>
+ <td class="source">{source.LINE}</td>
+ </tr>
+ <!-- END source -->
+ </tbody>
+ </table>
+
+</div>
+</div>
+</div>
+<!-- INCLUDE simple_footer.html --> \ No newline at end of file
diff --git a/phpBB/adm/swatch.php b/phpBB/adm/swatch.php
new file mode 100644
index 0000000000..e372c16b9b
--- /dev/null
+++ b/phpBB/adm/swatch.php
@@ -0,0 +1,53 @@
+<?php
+/**
+*
+* @package phpBB3
+* @version $Id$
+* @copyright (c) 2005 phpBB Group
+* @license http://opensource.org/licenses/gpl-license.php GNU Public License
+*
+*/
+
+/**
+* @ignore
+*/
+define('IN_PHPBB', true);
+define('ADMIN_START', true);
+$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './../';
+$phpEx = substr(strrchr(__FILE__, '.'), 1);
+include($phpbb_root_path . 'common.' . $phpEx);
+
+// Start session management
+$user->session_begin(false);
+$auth->acl($user->data);
+$user->setup();
+
+// Set custom template for admin area
+$template->set_custom_template($phpbb_root_path . 'adm/style', 'admin');
+
+$template->set_filenames(array(
+ 'body' => 'colour_swatch.html')
+);
+
+$form = request_var('form', '');
+$name = request_var('name', '');
+
+// We validate form and name here, only id/class allowed
+$form = (!preg_match('/^[a-z0-9_-]+$/i', $form)) ? '' : $form;
+$name = (!preg_match('/^[a-z0-9_-]+$/i', $name)) ? '' : $name;
+
+$template->assign_vars(array(
+ 'OPENER' => $form,
+ 'NAME' => $name,
+ 'T_IMAGES_PATH' => "{$phpbb_root_path}images/",
+
+ 'S_USER_LANG' => $user->lang['USER_LANG'],
+ 'S_CONTENT_DIRECTION' => $user->lang['DIRECTION'],
+ 'S_CONTENT_ENCODING' => 'UTF-8',
+));
+
+$template->display('body');
+
+garbage_collection();
+
+?> \ No newline at end of file