[Xfce4-commits] <forum:master> Update to fluxbb 1.5.1 and drop compatibility login.

Nick Schermer noreply at xfce.org
Tue Dec 4 19:32:01 CET 2012


Updating branch refs/heads/master
         to 00cdcd9647e7db97845a9bb01c78f2f32dac8019 (commit)
       from 7b516abdbe10cfe29fdd63113b9c686dfed31700 (commit)

commit 00cdcd9647e7db97845a9bb01c78f2f32dac8019
Author: Nick Schermer <nick at xfce.org>
Date:   Tue Dec 4 19:29:42 2012 +0100

    Update to fluxbb 1.5.1 and drop compatibility login.

 admin_bans.php                          |    2 +-
 admin_categories.php                    |    2 +-
 admin_forums.php                        |    2 +-
 admin_groups.php                        |   87 ++++---
 admin_index.php                         |   96 +------
 admin_loader.php                        |    2 +-
 admin_maintenance.php                   |    7 +-
 admin_options.php                       |  156 ++++++----
 admin_permissions.php                   |   54 ++--
 admin_index.php => admin_statistics.php |   46 +---
 admin_users.php                         |   40 ++-
 db_update.php                           |   20 +-
 delete.php                              |    2 +-
 edit.php                                |    4 +-
 header.php                              |   26 ++-
 help.php                                |    4 +-
 include/common.php                      |    2 +-
 include/dblayer/mysqli.php              |    2 +-
 include/dblayer/pgsql.php               |    2 +-
 include/dblayer/sqlite.php              |   20 +-
 include/email.php                       |   25 ++-
 include/functions.php                   |   32 ++-
 include/parser.php                      |   21 ++-
 include/search_idx.php                  |    2 +-
 include/template/admin.tpl              |    1 -
 include/template/help.tpl               |    1 -
 include/template/main.tpl               |    1 -
 include/template/maintenance.tpl        |    1 -
 include/template/redirect.tpl           |    1 -
 lang/English/admin_categories.php       |    2 +-
 lang/English/admin_common.php           |    3 +-
 lang/English/admin_forums.php           |    2 +-
 lang/English/admin_groups.php           |    4 +-
 lang/English/admin_index.php            |   13 +-
 lang/English/admin_options.php          |    2 +-
 lang/English/admin_permissions.php      |    2 +-
 lang/English/admin_users.php            |    2 +-
 lang/English/common.php                 |    6 +-
 lang/English/login.php                  |    2 +-
 lang/English/misc.php                   |    4 +-
 lang/English/post.php                   |    3 +-
 lang/English/search.php                 |    2 +-
 login.php                               |   60 ++---
 misc.php                                |   10 +-
 moderate.php                            |    2 +-
 post.php                                |    8 +-
 profile.php                             |   28 +-
 search.php                              |   17 +-
 style/Air.css                           |   25 +--
 style/Air/base_admin.css                |    2 +-
 style/Cobalt.css                        |   23 --
 style/Earth.css                         |   25 +--
 style/Earth/base_admin.css              |    2 +-
 style/Fire.css                          |   25 +--
 style/Fire/base_admin.css               |    2 +-
 style/Lithium.css                       |   23 --
 style/Mercury.css                       |   23 --
 style/Oxygen.css                        |   23 --
 style/Radium.css                        |   23 --
 style/Sulfur.css                        |   23 --
 style/Technetium.css                    |  500 ++++++++++++++-----------------
 style/imports/base_admin.css            |   84 +++---
 viewforum.php                           |    4 +-
 viewtopic.php                           |   10 +-
 64 files changed, 716 insertions(+), 934 deletions(-)

diff --git a/admin_bans.php b/admin_bans.php
index 8b70428..8a13d95 100644
--- a/admin_bans.php
+++ b/admin_bans.php
@@ -506,7 +506,7 @@ generate_admin_menu('bans');
 
 		<h2 class="block2"><span><?php echo $lang_admin_bans['Ban search head'] ?></span></h2>
 		<div class="box">
-			<form id="find_band" method="get" action="admin_bans.php">
+			<form id="find_bans" method="get" action="admin_bans.php">
 				<p class="submittop"><input type="submit" name="find_ban" value="<?php echo $lang_admin_bans['Submit search'] ?>" tabindex="3" /></p>
 				<div class="inform">
 					<fieldset>
diff --git a/admin_categories.php b/admin_categories.php
index ab4d430..e1ca62e 100644
--- a/admin_categories.php
+++ b/admin_categories.php
@@ -84,7 +84,7 @@ else if (isset($_POST['del_cat']) || isset($_POST['del_cat_comply']))
 
 		redirect('admin_categories.php', $lang_admin_categories['Category deleted redirect']);
 	}
-	else // If the user hasn't comfirmed the delete
+	else // If the user hasn't confirmed the delete
 	{
 		$result = $db->query('SELECT cat_name FROM '.$db->prefix.'categories WHERE id='.$cat_to_delete) or error('Unable to fetch category info', __FILE__, __LINE__, $db->error());
 		$cat_name = $db->result($result);
diff --git a/admin_forums.php b/admin_forums.php
index 1f1c13f..ad96234 100644
--- a/admin_forums.php
+++ b/admin_forums.php
@@ -185,7 +185,7 @@ else if (isset($_GET['edit_forum']))
 				// Check if the new settings differ from the old
 				if ($read_forum_new != $_POST['read_forum_old'][$cur_group['g_id']] || $post_replies_new != $_POST['post_replies_old'][$cur_group['g_id']] || $post_topics_new != $_POST['post_topics_old'][$cur_group['g_id']])
 				{
-					// If the new settings are identical to the default settings for this group, delete it's row in forum_perms
+					// If the new settings are identical to the default settings for this group, delete its row in forum_perms
 					if ($read_forum_new == '1' && $post_replies_new == $cur_group['g_post_replies'] && $post_topics_new == $cur_group['g_post_topics'])
 						$db->query('DELETE FROM '.$db->prefix.'forum_perms WHERE group_id='.$cur_group['g_id'].' AND forum_id='.$forum_id) or error('Unable to delete group forum permissions', __FILE__, __LINE__, $db->error());
 					else
diff --git a/admin_groups.php b/admin_groups.php
index f403efd..83f4637 100644
--- a/admin_groups.php
+++ b/admin_groups.php
@@ -82,7 +82,7 @@ if (isset($_POST['add_group']) || isset($_GET['edit_group']))
 									<th scope="row"><?php echo $lang_admin_groups['User title label'] ?></th>
 									<td>
 										<input type="text" name="user_title" size="25" maxlength="50" value="<?php echo pun_htmlspecialchars($group['g_user_title']) ?>" tabindex="2" />
-										<span><?php printf($lang_admin_groups['User title help'], $lang_common['Member']) ?></span>
+										<span><?php printf($lang_admin_groups['User title help'], ($group['g_id'] != PUN_GUEST ? $lang_common['Member'] : $lang_common['Guest'])) ?></span>
 									</td>
 								</tr>
 <?php if ($group['g_id'] != PUN_ADMIN): if ($group['g_id'] != PUN_GUEST): ?>								<tr>
@@ -112,120 +112,137 @@ foreach ($groups as $cur_group)
 <?php if ($mode != 'edit' || $pun_config['o_default_user_group'] != $group['g_id']): ?>								<tr>
 									<th scope="row"> <?php echo $lang_admin_groups['Mod privileges label'] ?></th>
 									<td>
-										<input type="radio" name="moderator" value="1"<?php if ($group['g_moderator'] == '1') echo ' checked="checked"' ?> tabindex="5" /> <strong><?php echo $lang_admin_common['Yes'] ?></strong>   <input type="radio" name="moderator" value="0"<?php if ($group['g_moderator'] == '0') echo ' checked="checked"' ?> tabindex="6" /> <strong><?php echo $lang_admin_common['No'] ?></strong>
-										<span><?php echo $lang_admin_groups['Mod privileges help'] ?></span>
+										<label class="conl"><input type="radio" name="moderator" value="1"<?php if ($group['g_moderator'] == '1') echo ' checked="checked"' ?> tabindex="5" /> <strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
+										<label class="conl"><input type="radio" name="moderator" value="0"<?php if ($group['g_moderator'] == '0') echo ' checked="checked"' ?> tabindex="6" /> <strong><?php echo $lang_admin_common['No'] ?></strong></label>
+										<span class="clearb"><?php echo $lang_admin_groups['Mod privileges help'] ?></span>
 									</td>
 								</tr>
 								<tr>
 									<th scope="row"><?php echo $lang_admin_groups['Edit profile label'] ?></th>
 									<td>
-										<input type="radio" name="mod_edit_users" value="1"<?php if ($group['g_mod_edit_users'] == '1') echo ' checked="checked"' ?> tabindex="7" /> <strong><?php echo $lang_admin_common['Yes'] ?></strong>   <input type="radio" name="mod_edit_users" value="0"<?php if ($group['g_mod_edit_users'] == '0') echo ' checked="checked"' ?> tabindex="8" /> <strong><?php echo $lang_admin_common['No'] ?></strong>
-										<span><?php echo $lang_admin_groups['Edit profile help'] ?></span>
+										<label class="conl"><input type="radio" name="mod_edit_users" value="1"<?php if ($group['g_mod_edit_users'] == '1') echo ' checked="checked"' ?> tabindex="7" /> <strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
+										<label class="conl"><input type="radio" name="mod_edit_users" value="0"<?php if ($group['g_mod_edit_users'] == '0') echo ' checked="checked"' ?> tabindex="8" /> <strong><?php echo $lang_admin_common['No'] ?></strong></label>
+										<span class="clearb"><?php echo $lang_admin_groups['Edit profile help'] ?></span>
 									</td>
 								</tr>
 								<tr>
 									<th scope="row"><?php echo $lang_admin_groups['Rename users label'] ?></th>
 									<td>
-										<input type="radio" name="mod_rename_users" value="1"<?php if ($group['g_mod_rename_users'] == '1') echo ' checked="checked"' ?> tabindex="9" /> <strong><?php echo $lang_admin_common['Yes'] ?></strong>   <input type="radio" name="mod_rename_users" value="0"<?php if ($group['g_mod_rename_users'] == '0') echo ' checked="checked"' ?> tabindex="10" /> <strong><?php echo $lang_admin_common['No'] ?></strong>
-										<span><?php echo $lang_admin_groups['Rename users help'] ?></span>
+										<label class="conl"><input type="radio" name="mod_rename_users" value="1"<?php if ($group['g_mod_rename_users'] == '1') echo ' checked="checked"' ?> tabindex="9" /> <strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
+										<label class="conl"><input type="radio" name="mod_rename_users" value="0"<?php if ($group['g_mod_rename_users'] == '0') echo ' checked="checked"' ?> tabindex="10" /> <strong><?php echo $lang_admin_common['No'] ?></strong></label>
+										<span class="clearb"><?php echo $lang_admin_groups['Rename users help'] ?></span>
 									</td>
 								</tr>
 								<tr>
 									<th scope="row"><?php echo $lang_admin_groups['Change passwords label'] ?></th>
 									<td>
-										<input type="radio" name="mod_change_passwords" value="1"<?php if ($group['g_mod_change_passwords'] == '1') echo ' checked="checked"' ?> tabindex="11" /> <strong><?php echo $lang_admin_common['Yes'] ?></strong>   <input type="radio" name="mod_change_passwords" value="0"<?php if ($group['g_mod_change_passwords'] == '0') echo ' checked="checked"' ?> tabindex="12" /> <strong><?php echo $lang_admin_common['No'] ?></strong>
-										<span><?php echo $lang_admin_groups['Change passwords help'] ?></span>
+										<label class="conl"><input type="radio" name="mod_change_passwords" value="1"<?php if ($group['g_mod_change_passwords'] == '1') echo ' checked="checked"' ?> tabindex="11" /> <strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
+										<label class="conl"><input type="radio" name="mod_change_passwords" value="0"<?php if ($group['g_mod_change_passwords'] == '0') echo ' checked="checked"' ?> tabindex="12" /> <strong><?php echo $lang_admin_common['No'] ?></strong></label>
+										<span class="clearb"><?php echo $lang_admin_groups['Change passwords help'] ?></span>
 									</td>
 								</tr>
 								<tr>
 									<th scope="row"><?php echo $lang_admin_groups['Ban users label'] ?></th>
 									<td>
-										<input type="radio" name="mod_ban_users" value="1"<?php if ($group['g_mod_ban_users'] == '1') echo ' checked="checked"' ?> tabindex="13" /> <strong><?php echo $lang_admin_common['Yes'] ?></strong>   <input type="radio" name="mod_ban_users" value="0"<?php if ($group['g_mod_ban_users'] == '0') echo ' checked="checked"' ?> tabindex="14" /> <strong><?php echo $lang_admin_common['No'] ?></strong>
-										<span><?php echo $lang_admin_groups['Ban users help'] ?></span>
+										<label class="conl"><input type="radio" name="mod_ban_users" value="1"<?php if ($group['g_mod_ban_users'] == '1') echo ' checked="checked"' ?> tabindex="13" /> <strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
+										<label class="conl"><input type="radio" name="mod_ban_users" value="0"<?php if ($group['g_mod_ban_users'] == '0') echo ' checked="checked"' ?> tabindex="14" /> <strong><?php echo $lang_admin_common['No'] ?></strong></label>
+										<span class="clearb"><?php echo $lang_admin_groups['Ban users help'] ?></span>
 									</td>
 								</tr>
 <?php endif; endif; ?>								<tr>
 									<th scope="row"><?php echo $lang_admin_groups['Read board label'] ?></th>
 									<td>
-										<input type="radio" name="read_board" value="1"<?php if ($group['g_read_board'] == '1') echo ' checked="checked"' ?> tabindex="15" /> <strong><?php echo $lang_admin_common['Yes'] ?></strong>   <input type="radio" name="read_board" value="0"<?php if ($group['g_read_board'] == '0') echo ' checked="checked"' ?> tabindex="16" /> <strong><?php echo $lang_admin_common['No'] ?></strong>
-										<span><?php echo $lang_admin_groups['Read board help'] ?></span>
+										<label class="conl"><input type="radio" name="read_board" value="1"<?php if ($group['g_read_board'] == '1') echo ' checked="checked"' ?> tabindex="15" /> <strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
+										<label class="conl"><input type="radio" name="read_board" value="0"<?php if ($group['g_read_board'] == '0') echo ' checked="checked"' ?> tabindex="16" /> <strong><?php echo $lang_admin_common['No'] ?></strong></label>
+										<span class="clearb"><?php echo $lang_admin_groups['Read board help'] ?></span>
 									</td>
 								</tr>
 								<tr>
 									<th scope="row"><?php echo $lang_admin_groups['View user info label'] ?></th>
 									<td>
-										<input type="radio" name="view_users" value="1"<?php if ($group['g_view_users'] == '1') echo ' checked="checked"' ?> tabindex="17" /> <strong><?php echo $lang_admin_common['Yes'] ?></strong>   <input type="radio" name="view_users" value="0"<?php if ($group['g_view_users'] == '0') echo ' checked="checked"' ?> tabindex="18" /> <strong><?php echo $lang_admin_common['No'] ?></strong>
-										<span><?php echo $lang_admin_groups['View user info help'] ?></span>
+										<label class="conl"><input type="radio" name="view_users" value="1"<?php if ($group['g_view_users'] == '1') echo ' checked="checked"' ?> tabindex="17" /> <strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
+										<label class="conl"><input type="radio" name="view_users" value="0"<?php if ($group['g_view_users'] == '0') echo ' checked="checked"' ?> tabindex="18" /> <strong><?php echo $lang_admin_common['No'] ?></strong></label>
+										<span class="clearb"><?php echo $lang_admin_groups['View user info help'] ?></span>
 									</td>
 								</tr>
 								<tr>
 									<th scope="row"><?php echo $lang_admin_groups['Post replies label'] ?></th>
 									<td>
-										<input type="radio" name="post_replies" value="1"<?php if ($group['g_post_replies'] == '1') echo ' checked="checked"' ?> tabindex="19" /> <strong><?php echo $lang_admin_common['Yes'] ?></strong>   <input type="radio" name="post_replies" value="0"<?php if ($group['g_post_replies'] == '0') echo ' checked="checked"' ?> tabindex="20" /> <strong><?php echo $lang_admin_common['No'] ?></strong>
-										<span><?php echo $lang_admin_groups['Post replies help'] ?></span>
+										<label class="conl"><input type="radio" name="post_replies" value="1"<?php if ($group['g_post_replies'] == '1') echo ' checked="checked"' ?> tabindex="19" /> <strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
+										<label class="conl"><input type="radio" name="post_replies" value="0"<?php if ($group['g_post_replies'] == '0') echo ' checked="checked"' ?> tabindex="20" /> <strong><?php echo $lang_admin_common['No'] ?></strong></label>
+										<span class="clearb"><?php echo $lang_admin_groups['Post replies help'] ?></span>
 									</td>
 								</tr>
 								<tr>
 									<th scope="row"><?php echo $lang_admin_groups['Post topics label'] ?></th>
 									<td>
-										<input type="radio" name="post_topics" value="1"<?php if ($group['g_post_topics'] == '1') echo ' checked="checked"' ?> tabindex="21" /> <strong><?php echo $lang_admin_common['Yes'] ?></strong>   <input type="radio" name="post_topics" value="0"<?php if ($group['g_post_topics'] == '0') echo ' checked="checked"' ?> tabindex="22" /> <strong><?php echo $lang_admin_common['No'] ?></strong>
-										<span><?php echo $lang_admin_groups['Post topics help'] ?></span>
+										<label class="conl"><input type="radio" name="post_topics" value="1"<?php if ($group['g_post_topics'] == '1') echo ' checked="checked"' ?> tabindex="21" /> <strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
+										<label class="conl"><input type="radio" name="post_topics" value="0"<?php if ($group['g_post_topics'] == '0') echo ' checked="checked"' ?> tabindex="22" /> <strong><?php echo $lang_admin_common['No'] ?></strong></label>
+										<span class="clearb"><?php echo $lang_admin_groups['Post topics help'] ?></span>
 									</td>
 								</tr>
 <?php if ($group['g_id'] != PUN_GUEST): ?>								<tr>
 									<th scope="row"><?php echo $lang_admin_groups['Edit posts label'] ?></th>
 									<td>
-										<input type="radio" name="edit_posts" value="1"<?php if ($group['g_edit_posts'] == '1') echo ' checked="checked"' ?> tabindex="23" /> <strong><?php echo $lang_admin_common['Yes'] ?></strong>   <input type="radio" name="edit_posts" value="0"<?php if ($group['g_edit_posts'] == '0') echo ' checked="checked"' ?> tabindex="24" /> <strong><?php echo $lang_admin_common['No'] ?></strong>
-										<span><?php echo $lang_admin_groups['Edit posts help'] ?></span>
+										<label class="conl"><input type="radio" name="edit_posts" value="1"<?php if ($group['g_edit_posts'] == '1') echo ' checked="checked"' ?> tabindex="23" /> <strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
+										<label class="conl"><input type="radio" name="edit_posts" value="0"<?php if ($group['g_edit_posts'] == '0') echo ' checked="checked"' ?> tabindex="24" /> <strong><?php echo $lang_admin_common['No'] ?></strong></label>
+										<span class="clearb"><?php echo $lang_admin_groups['Edit posts help'] ?></span>
 									</td>
 								</tr>
 								<tr>
 									<th scope="row"><?php echo $lang_admin_groups['Delete posts label'] ?></th>
 									<td>
-										<input type="radio" name="delete_posts" value="1"<?php if ($group['g_delete_posts'] == '1') echo ' checked="checked"' ?> tabindex="25" /> <strong><?php echo $lang_admin_common['Yes'] ?></strong>   <input type="radio" name="delete_posts" value="0"<?php if ($group['g_delete_posts'] == '0') echo ' checked="checked"' ?> tabindex="26" /> <strong><?php echo $lang_admin_common['No'] ?></strong>
-										<span><?php echo $lang_admin_groups['Delete posts help'] ?></span>
+										<label class="conl"><input type="radio" name="delete_posts" value="1"<?php if ($group['g_delete_posts'] == '1') echo ' checked="checked"' ?> tabindex="25" /> <strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
+										<label class="conl"><input type="radio" name="delete_posts" value="0"<?php if ($group['g_delete_posts'] == '0') echo ' checked="checked"' ?> tabindex="26" /> <strong><?php echo $lang_admin_common['No'] ?></strong></label>
+										<span class="clearb"><?php echo $lang_admin_groups['Delete posts help'] ?></span>
 									</td>
 								</tr>
 								<tr>
 									<th scope="row"><?php echo $lang_admin_groups['Delete topics label'] ?></th>
 									<td>
-										<input type="radio" name="delete_topics" value="1"<?php if ($group['g_delete_topics'] == '1') echo ' checked="checked"' ?> tabindex="27" /> <strong><?php echo $lang_admin_common['Yes'] ?></strong>   <input type="radio" name="delete_topics" value="0"<?php if ($group['g_delete_topics'] == '0') echo ' checked="checked"' ?> tabindex="28" /> <strong><?php echo $lang_admin_common['No'] ?></strong>
-										<span><?php echo $lang_admin_groups['Delete topics help'] ?></span>
+										<label class="conl"><input type="radio" name="delete_topics" value="1"<?php if ($group['g_delete_topics'] == '1') echo ' checked="checked"' ?> tabindex="27" /> <strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
+										<label class="conl"><input type="radio" name="delete_topics" value="0"<?php if ($group['g_delete_topics'] == '0') echo ' checked="checked"' ?> tabindex="28" /> <strong><?php echo $lang_admin_common['No'] ?></strong></label>
+										<span class="clearb"><?php echo $lang_admin_groups['Delete topics help'] ?></span>
 									</td>
 								</tr>
 <?php endif; ?>								<tr>
 									<th scope="row"><?php echo $lang_admin_groups['Post links label'] ?></th>
 									<td>
-										<input type="radio" name="post_links" value="1"<?php if ($group['g_post_links'] == '1') echo ' checked="checked"' ?> tabindex="29" /> <strong><?php echo $lang_admin_common['Yes'] ?></strong>   <input type="radio" name="post_links" value="0"<?php if ($group['g_post_links'] == '0') echo ' checked="checked"' ?> tabindex="30" /> <strong><?php echo $lang_admin_common['No'] ?></strong>
-										<span><?php echo $lang_admin_groups['Post links help'] ?></span>
+										<label class="conl"><input type="radio" name="post_links" value="1"<?php if ($group['g_post_links'] == '1') echo ' checked="checked"' ?> tabindex="29" /> <strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
+										<label class="conl"><input type="radio" name="post_links" value="0"<?php if ($group['g_post_links'] == '0') echo ' checked="checked"' ?> tabindex="30" /> <strong><?php echo $lang_admin_common['No'] ?></strong></label>
+										<span class="clearb"><?php echo $lang_admin_groups['Post links help'] ?></span>
 									</td>
 								</tr>
 <?php if ($group['g_id'] != PUN_GUEST): ?>								<tr>
 									<th scope="row"><?php echo $lang_admin_groups['Set own title label'] ?></th>
 									<td>
-										<input type="radio" name="set_title" value="1"<?php if ($group['g_set_title'] == '1') echo ' checked="checked"' ?> tabindex="31" /> <strong><?php echo $lang_admin_common['Yes'] ?></strong>   <input type="radio" name="set_title" value="0"<?php if ($group['g_set_title'] == '0') echo ' checked="checked"' ?> tabindex="32" /> <strong><?php echo $lang_admin_common['No'] ?></strong>
-										<span><?php echo $lang_admin_groups['Set own title help'] ?></span>
+										<label class="conl"><input type="radio" name="set_title" value="1"<?php if ($group['g_set_title'] == '1') echo ' checked="checked"' ?> tabindex="31" /> <strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
+										<label class="conl"><input type="radio" name="set_title" value="0"<?php if ($group['g_set_title'] == '0') echo ' checked="checked"' ?> tabindex="32" /> <strong><?php echo $lang_admin_common['No'] ?></strong></label>
+										<span class="clearb"><?php echo $lang_admin_groups['Set own title help'] ?></span>
 									</td>
 								</tr>
 <?php endif; ?>								<tr>
 									<th scope="row"><?php echo $lang_admin_groups['User search label'] ?></th>
 									<td>
-										<input type="radio" name="search" value="1"<?php if ($group['g_search'] == '1') echo ' checked="checked"' ?> tabindex="33" /> <strong><?php echo $lang_admin_common['Yes'] ?></strong>   <input type="radio" name="search" value="0"<?php if ($group['g_search'] == '0') echo ' checked="checked"' ?> tabindex="34" /> <strong><?php echo $lang_admin_common['No'] ?></strong>
-										<span><?php echo $lang_admin_groups['User search help'] ?></span>
+										<label class="conl"><input type="radio" name="search" value="1"<?php if ($group['g_search'] == '1') echo ' checked="checked"' ?> tabindex="33" /> <strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
+										<label class="conl"><input type="radio" name="search" value="0"<?php if ($group['g_search'] == '0') echo ' checked="checked"' ?> tabindex="34" /> <strong><?php echo $lang_admin_common['No'] ?></strong></label>
+										<span class="clearb"><?php echo $lang_admin_groups['User search help'] ?></span>
 									</td>
 								</tr>
 								<tr>
 									<th scope="row"><?php echo $lang_admin_groups['User list search label'] ?></th>
 									<td>
-										<input type="radio" name="search_users" value="1"<?php if ($group['g_search_users'] == '1') echo ' checked="checked"' ?> tabindex="35" /> <strong><?php echo $lang_admin_common['Yes'] ?></strong>   <input type="radio" name="search_users" value="0"<?php if ($group['g_search_users'] == '0') echo ' checked="checked"' ?> tabindex="36" /> <strong><?php echo $lang_admin_common['No'] ?></strong>
-										<span><?php echo $lang_admin_groups['User list search help'] ?></span>
+										<label class="conl"><input type="radio" name="search_users" value="1"<?php if ($group['g_search_users'] == '1') echo ' checked="checked"' ?> tabindex="35" /> <strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
+										<label class="conl"><input type="radio" name="search_users" value="0"<?php if ($group['g_search_users'] == '0') echo ' checked="checked"' ?> tabindex="36" /> <strong><?php echo $lang_admin_common['No'] ?></strong></label>
+										<span class="clearb"><?php echo $lang_admin_groups['User list search help'] ?></span>
 									</td>
 								</tr>
 <?php if ($group['g_id'] != PUN_GUEST): ?>								<tr>
 									<th scope="row"><?php echo $lang_admin_groups['Send e-mails label'] ?></th>
 									<td>
-										<input type="radio" name="send_email" value="1"<?php if ($group['g_send_email'] == '1') echo ' checked="checked"' ?> tabindex="37" /> <strong><?php echo $lang_admin_common['Yes'] ?></strong>   <input type="radio" name="send_email" value="0"<?php if ($group['g_send_email'] == '0') echo ' checked="checked"' ?> tabindex="38" /> <strong><?php echo $lang_admin_common['No'] ?></strong>
-										<span><?php echo $lang_admin_groups['Send e-mails help'] ?></span>
+										<label class="conl"><input type="radio" name="send_email" value="1"<?php if ($group['g_send_email'] == '1') echo ' checked="checked"' ?> tabindex="37" /> <strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
+										<label class="conl"><input type="radio" name="send_email" value="0"<?php if ($group['g_send_email'] == '0') echo ' checked="checked"' ?> tabindex="38" /> <strong><?php echo $lang_admin_common['No'] ?></strong></label>
+										<span class="clearb"><?php echo $lang_admin_groups['Send e-mails help'] ?></span>
 									</td>
 								</tr>
 <?php endif; ?>								<tr>
diff --git a/admin_index.php b/admin_index.php
index 5d82031..1cdb174 100644
--- a/admin_index.php
+++ b/admin_index.php
@@ -38,83 +38,6 @@ if ($action == 'check_upgrade')
 		message(sprintf($lang_admin_index['New version available message'], '<a href="http://fluxbb.org/">FluxBB.org</a>'));
 }
 
-
-// Show phpinfo() output
-else if ($action == 'phpinfo' && $pun_user['g_id'] == PUN_ADMIN)
-{
-	// Is phpinfo() a disabled function?
-	if (strpos(strtolower((string) ini_get('disable_functions')), 'phpinfo') !== false)
-		message($lang_admin_index['PHPinfo disabled message']);
-
-	phpinfo();
-	exit;
-}
-
-
-// Get the server load averages (if possible)
-if (@file_exists('/proc/loadavg') && is_readable('/proc/loadavg'))
-{
-	// We use @ just in case
-	$fh = @fopen('/proc/loadavg', 'r');
-	$load_averages = @fread($fh, 64);
-	@fclose($fh);
-
-	if (($fh = @fopen('/proc/loadavg', 'r')))
-	{
-		$load_averages = fread($fh, 64);
-		fclose($fh);
-	}
-	else
-		$load_averages = '';
-
-	$load_averages = @explode(' ', $load_averages);
-	$server_load = isset($load_averages[2]) ? $load_averages[0].' '.$load_averages[1].' '.$load_averages[2] : $lang_admin_index['Not available'];
-}
-else if (!in_array(PHP_OS, array('WINNT', 'WIN32')) && preg_match('%averages?: ([0-9\.]+),?\s+([0-9\.]+),?\s+([0-9\.]+)%i', @exec('uptime'), $load_averages))
-	$server_load = $load_averages[1].' '.$load_averages[2].' '.$load_averages[3];
-else
-	$server_load = $lang_admin_index['Not available'];
-
-
-// Get number of current visitors
-$result = $db->query('SELECT COUNT(user_id) FROM '.$db->prefix.'online WHERE idle=0') or error('Unable to fetch online count', __FILE__, __LINE__, $db->error());
-$num_online = $db->result($result);
-
-
-// Collect some additional info about MySQL
-if ($db_type == 'mysql' || $db_type == 'mysqli' || $db_type == 'mysql_innodb' || $db_type == 'mysqli_innodb')
-{
-	// Calculate total db size/row count
-	$result = $db->query('SHOW TABLE STATUS LIKE \''.$db->prefix.'%\'') or error('Unable to fetch table status', __FILE__, __LINE__, $db->error());
-
-	$total_records = $total_size = 0;
-	while ($status = $db->fetch_assoc($result))
-	{
-		$total_records += $status['Rows'];
-		$total_size += $status['Data_length'] + $status['Index_length'];
-	}
-
-	$total_size = file_size($total_size);
-}
-
-
-// Check for the existence of various PHP opcode caches/optimizers
-if (function_exists('mmcache'))
-	$php_accelerator = '<a href="http://'.$lang_admin_index['Turck MMCache link'].'">'.$lang_admin_index['Turck MMCache'].'</a>';
-else if (isset($_PHPA))
-	$php_accelerator = '<a href="http://'.$lang_admin_index['ionCube PHP Accelerator link'].'">'.$lang_admin_index['ionCube PHP Accelerator'].'</a>';
-else if (ini_get('apc.enabled'))
-	$php_accelerator ='<a href="http://'.$lang_admin_index['Alternative PHP Cache (APC) link'].'">'.$lang_admin_index['Alternative PHP Cache (APC)'].'</a>';
-else if (ini_get('zend_optimizer.optimization_level'))
-	$php_accelerator = '<a href="http://'.$lang_admin_index['Zend Optimizer link'].'">'.$lang_admin_index['Zend Optimizer'].'</a>';
-else if (ini_get('eaccelerator.enable'))
-	$php_accelerator = '<a href="http://'.$lang_admin_index['eAccelerator link'].'">'.$lang_admin_index['eAccelerator'].'</a>';
-else if (ini_get('xcache.cacher'))
-	$php_accelerator = '<a href="http://'.$lang_admin_index['XCache link'].'">'.$lang_admin_index['XCache'].'</a>';
-else
-	$php_accelerator = $lang_admin_index['NA'];
-
-
 $page_title = array(pun_htmlspecialchars($pun_config['o_board_title']), $lang_admin_common['Admin'], $lang_admin_common['Index']);
 define('PUN_ACTIVE_PAGE', 'admin');
 require PUN_ROOT.'header.php';
@@ -141,7 +64,7 @@ generate_admin_menu('index');
 			</div>
 		</div>
 
-		<h2 class="block2"><span><?php echo $lang_admin_index['Statistics head'] ?></span></h2>
+		<h2 class="block2"><span><?php echo $lang_admin_index['About head'] ?></span></h2>
 		<div id="adstats" class="box">
 			<div class="inbox">
 				<dl>
@@ -149,23 +72,14 @@ generate_admin_menu('index');
 					<dd>
 						<?php printf($lang_admin_index['FluxBB version data']."\n", $pun_config['o_cur_version'], '<a href="admin_index.php?action=check_upgrade">'.$lang_admin_index['Check for upgrade'].'</a>') ?>
 					</dd>
-					<dt><?php echo $lang_admin_index['Server load label'] ?></dt>
+					<dt><?php echo $lang_admin_index['Server statistics label'] ?></dt>
 					<dd>
-						<?php printf($lang_admin_index['Server load data']."\n", $server_load, $num_online) ?>
+						<a href="admin_statistics.php"><?php echo $lang_admin_index['View server statistics'] ?></a>
 					</dd>
-<?php if ($pun_user['g_id'] == PUN_ADMIN): ?>					<dt><?php echo $lang_admin_index['Environment label'] ?></dt>
+					<dt><?php echo $lang_admin_index['Support label'] ?></dt>
 					<dd>
-						<?php printf($lang_admin_index['Environment data OS'], PHP_OS) ?><br />
-						<?php printf($lang_admin_index['Environment data version'], phpversion(), '<a href="admin_index.php?action=phpinfo">'.$lang_admin_index['Show info'].'</a>') ?><br />
-						<?php printf($lang_admin_index['Environment data acc']."\n", $php_accelerator) ?>
+						<a href="http://fluxbb.org/forums/index.php"><?php echo $lang_admin_index['Forum label'] ?></a> - <a href="http://fluxbb.org/community/irc.html"><?php echo $lang_admin_index['IRC label'] ?></a>
 					</dd>
-					<dt><?php echo $lang_admin_index['Database label'] ?></dt>
-					<dd>
-						<?php echo implode(' ', $db->get_version())."\n" ?>
-<?php if (isset($total_records) && isset($total_size)): ?>						<br /><?php printf($lang_admin_index['Database data rows']."\n", forum_number_format($total_records)) ?>
-						<br /><?php printf($lang_admin_index['Database data size']."\n", $total_size) ?>
-<?php endif; ?>					</dd>
-<?php endif; ?>
 				</dl>
 			</div>
 		</div>
diff --git a/admin_loader.php b/admin_loader.php
index 0eedc47..36801dd 100644
--- a/admin_loader.php
+++ b/admin_loader.php
@@ -39,7 +39,7 @@ $page_title = array(pun_htmlspecialchars($pun_config['o_board_title']), $lang_co
 define('PUN_ACTIVE_PAGE', 'admin');
 require PUN_ROOT.'header.php';
 
-// Attempt to load the plugin. We don't use @ here to supress error messages,
+// Attempt to load the plugin. We don't use @ here to suppress error messages,
 // because if we did and a parse error occurred in the plugin, we would only
 // get the "blank page of death"
 include PUN_ROOT.'plugins/'.$plugin;
diff --git a/admin_maintenance.php b/admin_maintenance.php
index aff2958..df97a60 100644
--- a/admin_maintenance.php
+++ b/admin_maintenance.php
@@ -280,7 +280,7 @@ generate_admin_menu('maintenance');
 								<tr>
 									<th scope="row"><?php echo $lang_admin_maintenance['Empty index label'] ?></th>
 									<td class="inputadmin">
-										<span><input type="checkbox" name="i_empty_index" value="1" tabindex="3" checked="checked" />  <?php echo $lang_admin_maintenance['Empty index help'] ?></span>
+										<label><input type="checkbox" name="i_empty_index" value="1" tabindex="3" checked="checked" />  <?php echo $lang_admin_maintenance['Empty index help'] ?></label>
 									</td>
 								</tr>
 							</table>
@@ -308,8 +308,9 @@ generate_admin_menu('maintenance');
 								<tr>
 									<th scope="row"><?php echo $lang_admin_maintenance['Prune sticky label'] ?></th>
 									<td>
-										<input type="radio" name="prune_sticky" value="1" tabindex="6" checked="checked" /> <strong><?php echo $lang_admin_common['Yes'] ?></strong>   <input type="radio" name="prune_sticky" value="0" /> <strong><?php echo $lang_admin_common['No'] ?></strong>
-										<span><?php echo $lang_admin_maintenance['Prune sticky help'] ?></span>
+										<label class="conl"><input type="radio" name="prune_sticky" value="1" tabindex="6" checked="checked" /> <strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
+										<label class="conl"><input type="radio" name="prune_sticky" value="0" /> <strong><?php echo $lang_admin_common['No'] ?></strong></label>
+										<span class="clearb"><?php echo $lang_admin_maintenance['Prune sticky help'] ?></span>
 									</td>
 								</tr>
 								<tr>
diff --git a/admin_options.php b/admin_options.php
index deea52c..c4decaa 100644
--- a/admin_options.php
+++ b/admin_options.php
@@ -302,8 +302,9 @@ generate_admin_menu('options');
 								<tr>
 									<th scope="row"><?php echo $lang_admin_options['DST label'] ?></th>
 									<td>
-										<input type="radio" name="form[default_dst]" id="form_default_dst_1" value="1"<?php if ($pun_config['o_default_dst'] == '1') echo ' checked="checked"' ?> /> <label class="conl" for="form_default_dst_1"><strong><?php echo $lang_admin_common['Yes'] ?></strong></label>   <input type="radio" name="form[default_dst]" id="form_default_dst_0" value="0"<?php if ($pun_config['o_default_dst'] == '0') echo ' checked="checked"' ?> /> <label class="conl" for="form_default_dst_0"><strong><?php echo $lang_admin_common['No'] ?></strong></label>
-										<span><?php echo $lang_admin_options['DST help'] ?></span>
+										<label class="conl"><input type="radio" name="form[default_dst]" value="1"<?php if ($pun_config['o_default_dst'] == '1') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
+										<label class="conl"><input type="radio" name="form[default_dst]" value="0"<?php if ($pun_config['o_default_dst'] == '0') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['No'] ?></strong></label>
+										<span class="clearb"><?php echo $lang_admin_options['DST help'] ?></span>
 									</td>
 								</tr>
 								<tr>
@@ -410,43 +411,49 @@ generate_admin_menu('options');
 								<tr>
 									<th scope="row"><?php echo $lang_admin_options['Version number label'] ?></th>
 									<td>
-										<input type="radio" name="form[show_version]" id="form_show_version_1" value="1"<?php if ($pun_config['o_show_version'] == '1') echo ' checked="checked"' ?> /> <label class="conl" for="form_show_version_1"><strong><?php echo $lang_admin_common['Yes'] ?></strong></label>   <input type="radio" name="form[show_version]" id="form_show_version_0" value="0"<?php if ($pun_config['o_show_version'] == '0') echo ' checked="checked"' ?> /> <label class="conl" for="form_show_version_0"><strong><?php echo $lang_admin_common['No'] ?></strong></label>
-										<span><?php echo $lang_admin_options['Version number help'] ?></span>
+										<label class="conl"><input type="radio" name="form[show_version]" value="1"<?php if ($pun_config['o_show_version'] == '1') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
+										<label class="conl"><input type="radio" name="form[show_version]" value="0"<?php if ($pun_config['o_show_version'] == '0') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['No'] ?></strong></label>
+										<span class="clearb"><?php echo $lang_admin_options['Version number help'] ?></span>
 									</td>
 								</tr>
 								<tr>
 									<th scope="row"><?php echo $lang_admin_options['Info in posts label'] ?></th>
 									<td>
-										<input type="radio" name="form[show_user_info]" id="form_show_user_info_1" value="1"<?php if ($pun_config['o_show_user_info'] == '1') echo ' checked="checked"' ?> /> <label class="conl" for="form_show_user_info_1"><strong><?php echo $lang_admin_common['Yes'] ?></strong></label>   <input type="radio" name="form[show_user_info]" id="form_show_user_info_0" value="0"<?php if ($pun_config['o_show_user_info'] == '0') echo ' checked="checked"' ?> /> <label class="conl" for="form_show_user_info_0"><strong><?php echo $lang_admin_common['No'] ?></strong></label>
-										<span><?php echo $lang_admin_options['Info in posts help'] ?></span>
+										<label class="conl"><input type="radio" name="form[show_user_info]" value="1"<?php if ($pun_config['o_show_user_info'] == '1') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
+										<label class="conl"><input type="radio" name="form[show_user_info]" value="0"<?php if ($pun_config['o_show_user_info'] == '0') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['No'] ?></strong></label>
+										<span class="clearb"><?php echo $lang_admin_options['Info in posts help'] ?></span>
 									</td>
 								</tr>
 								<tr>
 									<th scope="row"><?php echo $lang_admin_options['Post count label'] ?></th>
 									<td>
-										<input type="radio" name="form[show_post_count]" id="form_show_post_count_1" value="1"<?php if ($pun_config['o_show_post_count'] == '1') echo ' checked="checked"' ?> /> <label class="conl" for="form_show_post_count_1"><strong><?php echo $lang_admin_common['Yes'] ?></strong></label>   <input type="radio" name="form[show_post_count]" id="form_show_post_count_0" value="0"<?php if ($pun_config['o_show_post_count'] == '0') echo ' checked="checked"' ?> /> <label class="conl" for="form_show_post_count_0"><strong><?php echo $lang_admin_common['No'] ?></strong></label>
-										<span><?php echo $lang_admin_options['Post count help'] ?></span>
+										<label class="conl"><input type="radio" name="form[show_post_count]" value="1"<?php if ($pun_config['o_show_post_count'] == '1') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
+										<label class="conl"><input type="radio" name="form[show_post_count]" value="0"<?php if ($pun_config['o_show_post_count'] == '0') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['No'] ?></strong></label>
+										<span class="clearb"><?php echo $lang_admin_options['Post count help'] ?></span>
 									</td>
 								</tr>
 								<tr>
 									<th scope="row"><?php echo $lang_admin_options['Smilies label'] ?></th>
 									<td>
-										<input type="radio" name="form[smilies]" id="form_smilies_1" value="1"<?php if ($pun_config['o_smilies'] == '1') echo ' checked="checked"' ?> /> <label class="conl" for="form_smilies_1"><strong><?php echo $lang_admin_common['Yes'] ?></strong></label>   <input type="radio" name="form[smilies]" id="form_smilies_0" value="0"<?php if ($pun_config['o_smilies'] == '0') echo ' checked="checked"' ?> /> <label class="conl" for="form_smilies_0"><strong><?php echo $lang_admin_common['No'] ?></strong></label>
-										<span><?php echo $lang_admin_options['Smilies help'] ?></span>
+										<label class="conl"><input type="radio" name="form[smilies]" value="1"<?php if ($pun_config['o_smilies'] == '1') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
+										<label class="conl"><input type="radio" name="form[smilies]" value="0"<?php if ($pun_config['o_smilies'] == '0') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['No'] ?></strong></label>
+										<span class="clearb"><?php echo $lang_admin_options['Smilies help'] ?></span>
 									</td>
 								</tr>
 								<tr>
 									<th scope="row"><?php echo $lang_admin_options['Smilies sigs label'] ?></th>
 									<td>
-										<input type="radio" name="form[smilies_sig]" id="form_smilies_sig_1" value="1"<?php if ($pun_config['o_smilies_sig'] == '1') echo ' checked="checked"' ?> /> <label class="conl" for="form_smilies_sig_1"><strong><?php echo $lang_admin_common['Yes'] ?></strong></label>   <input type="radio" name="form[smilies_sig]" id="form_smilies_sig_0" value="0"<?php if ($pun_config['o_smilies_sig'] == '0') echo ' checked="checked"' ?> /> <label class="conl" for="form_smilies_sig_0"><strong><?php echo $lang_admin_common['No'] ?></strong></label>
-										<span><?php echo $lang_admin_options['Smilies sigs help'] ?></span>
+										<label class="conl"><input type="radio" name="form[smilies_sig]" value="1"<?php if ($pun_config['o_smilies_sig'] == '1') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
+										<label class="conl"><input type="radio" name="form[smilies_sig]" value="0"<?php if ($pun_config['o_smilies_sig'] == '0') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['No'] ?></strong></label>
+										<span class="clearb"><?php echo $lang_admin_options['Smilies sigs help'] ?></span>
 									</td>
 								</tr>
 								<tr>
 									<th scope="row"><?php echo $lang_admin_options['Clickable links label'] ?></th>
 									<td>
-										<input type="radio" name="form[make_links]" id="form_make_links_1" value="1"<?php if ($pun_config['o_make_links'] == '1') echo ' checked="checked"' ?> /> <label class="conl" for="form_make_links_1"><strong><?php echo $lang_admin_common['Yes'] ?></strong></label>   <input type="radio" name="form[make_links]" id="form_make_links_0" value="0"<?php if ($pun_config['o_make_links'] == '0') echo ' checked="checked"' ?> /> <label class="conl" for="form_make_links_0"><strong><?php echo $lang_admin_common['No'] ?></strong></label>
-										<span><?php echo $lang_admin_options['Clickable links help'] ?></span>
+										<label class="conl"><input type="radio" name="form[make_links]" value="1"<?php if ($pun_config['o_make_links'] == '1') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
+										<label class="conl"><input type="radio" name="form[make_links]" value="0"<?php if ($pun_config['o_make_links'] == '0') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['No'] ?></strong></label>
+										<span class="clearb"><?php echo $lang_admin_options['Clickable links help'] ?></span>
 									</td>
 								</tr>
 								<tr>
@@ -459,14 +466,14 @@ generate_admin_menu('options');
 								<tr>
 									<th scope="row"><?php echo $lang_admin_options['Topics per page label'] ?></th>
 									<td>
-										<input type="text" name="form[disp_topics_default]" size="3" maxlength="3" value="<?php echo $pun_config['o_disp_topics_default'] ?>" />
+										<input type="text" name="form[disp_topics_default]" size="3" maxlength="2" value="<?php echo $pun_config['o_disp_topics_default'] ?>" />
 										<span><?php echo $lang_admin_options['Topics per page help'] ?></span>
 									</td>
 								</tr>
 								<tr>
 									<th scope="row"><?php echo $lang_admin_options['Posts per page label'] ?></th>
 									<td>
-										<input type="text" name="form[disp_posts_default]" size="3" maxlength="3" value="<?php echo $pun_config['o_disp_posts_default'] ?>" />
+										<input type="text" name="form[disp_posts_default]" size="3" maxlength="2" value="<?php echo $pun_config['o_disp_posts_default'] ?>" />
 										<span><?php echo $lang_admin_options['Posts per page help'] ?></span>
 									</td>
 								</tr>
@@ -496,64 +503,73 @@ generate_admin_menu('options');
 								<tr>
 									<th scope="row"><?php echo $lang_admin_options['Quick post label'] ?></th>
 									<td>
-										<input type="radio" name="form[quickpost]" id="form_quickpost_1" value="1"<?php if ($pun_config['o_quickpost'] == '1') echo ' checked="checked"' ?> /> <label class="conl" for="form_quickpost_1"><strong><?php echo $lang_admin_common['Yes'] ?></strong></label>   <input type="radio" name="form[quickpost]" id="form_quickpost_0" value="0"<?php if ($pun_config['o_quickpost'] == '0') echo ' checked="checked"' ?> /> <label class="conl" for="form_quickpost_0"><strong><?php echo $lang_admin_common['No'] ?></strong></label>
-										<span><?php echo $lang_admin_options['Quick post help'] ?></span>
+										<label class="conl"><input type="radio" name="form[quickpost]" value="1"<?php if ($pun_config['o_quickpost'] == '1') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
+										<label class="conl"><input type="radio" name="form[quickpost]" value="0"<?php if ($pun_config['o_quickpost'] == '0') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['No'] ?></strong></label>
+										<span class="clearb"><?php echo $lang_admin_options['Quick post help'] ?></span>
 									</td>
 								</tr>
 								<tr>
 									<th scope="row"><?php echo $lang_admin_options['Users online label'] ?></th>
 									<td>
-										<input type="radio" name="form[users_online]" id="form_users_online_1" value="1"<?php if ($pun_config['o_users_online'] == '1') echo ' checked="checked"' ?> /> <label class="conl" for="form_users_online_1"><strong><?php echo $lang_admin_common['Yes'] ?></strong></label>   <input type="radio" name="form[users_online]" id="form_users_online_0" value="0"<?php if ($pun_config['o_users_online'] == '0') echo ' checked="checked"' ?> /> <label class="conl" for="form_users_online_0"><strong><?php echo $lang_admin_common['No'] ?></strong></label>
-										<span><?php echo $lang_admin_options['Users online help'] ?></span>
+										<label class="conl"><input type="radio" name="form[users_online]" value="1"<?php if ($pun_config['o_users_online'] == '1') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
+										<label class="conl"><input type="radio" name="form[users_online]" value="0"<?php if ($pun_config['o_users_online'] == '0') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['No'] ?></strong></label>
+										<span class="clearb"><?php echo $lang_admin_options['Users online help'] ?></span>
 									</td>
 								</tr>
 								<tr>
 									<th scope="row"><a name="censoring"></a><?php echo $lang_admin_options['Censor words label'] ?></th>
 									<td>
-										<input type="radio" name="form[censoring]" id="form_censoring_1" value="1"<?php if ($pun_config['o_censoring'] == '1') echo ' checked="checked"' ?> /> <label class="conl" for="form_censoring_1"><strong><?php echo $lang_admin_common['Yes'] ?></strong></label>   <input type="radio" name="form[censoring]" id="form_censoring_0" value="0"<?php if ($pun_config['o_censoring'] == '0') echo ' checked="checked"' ?> /> <label class="conl" for="form_censoring_0"><strong><?php echo $lang_admin_common['No'] ?></strong></label>
-										<span><?php printf($lang_admin_options['Censor words help'], '<a href="admin_censoring.php">'.$lang_admin_common['Censoring'].'</a>') ?></span>
+										<label class="conl"><input type="radio" name="form[censoring]" value="1"<?php if ($pun_config['o_censoring'] == '1') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
+										<label class="conl"><input type="radio" name="form[censoring]" value="0"<?php if ($pun_config['o_censoring'] == '0') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['No'] ?></strong></label>
+										<span class="clearb"><?php printf($lang_admin_options['Censor words help'], '<a href="admin_censoring.php">'.$lang_admin_common['Censoring'].'</a>') ?></span>
 									</td>
 								</tr>
 								<tr>
 									<th scope="row"><a name="signatures"></a><?php echo $lang_admin_options['Signatures label'] ?></th>
 									<td>
-										<input type="radio" name="form[signatures]" id="form_signatures_1" value="1"<?php if ($pun_config['o_signatures'] == '1') echo ' checked="checked"' ?> /> <label class="conl" for="form_signatures_1"><strong><?php echo $lang_admin_common['Yes'] ?></strong></label>   <input type="radio" name="form[signatures]" id="form_signatures_0" value="0"<?php if ($pun_config['o_signatures'] == '0') echo ' checked="checked"' ?> /> <label class="conl" for="form_signatures_0"><strong><?php echo $lang_admin_common['No'] ?></strong></label>
-										<span><?php echo $lang_admin_options['Signatures help'] ?></span>
+										<label class="conl"><input type="radio" name="form[signatures]" value="1"<?php if ($pun_config['o_signatures'] == '1') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
+										<label class="conl"><input type="radio" name="form[signatures]" value="0"<?php if ($pun_config['o_signatures'] == '0') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['No'] ?></strong></label>
+										<span class="clearb"><?php echo $lang_admin_options['Signatures help'] ?></span>
 									</td>
 								</tr>
 								<tr>
 									<th scope="row"><?php echo $lang_admin_options['User has posted label'] ?></th>
 									<td>
-										<input type="radio" name="form[show_dot]" id="form_show_dot_1" value="1"<?php if ($pun_config['o_show_dot'] == '1') echo ' checked="checked"' ?> /> <label class="conl" for="form_show_dot_1"><strong><?php echo $lang_admin_common['Yes'] ?></strong></label>   <input type="radio" name="form[show_dot]" id="form_show_dot_0" value="0"<?php if ($pun_config['o_show_dot'] == '0') echo ' checked="checked"' ?> /> <label class="conl" for="form_show_dot_0"><strong><?php echo $lang_admin_common['No'] ?></strong></label>
-										<span><?php echo $lang_admin_options['User has posted help'] ?></span>
+										<label class="conl"><input type="radio" name="form[show_dot]" value="1"<?php if ($pun_config['o_show_dot'] == '1') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
+										<label class="conl"><input type="radio" name="form[show_dot]" value="0"<?php if ($pun_config['o_show_dot'] == '0') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['No'] ?></strong></label>
+										<span class="clearb"><?php echo $lang_admin_options['User has posted help'] ?></span>
 									</td>
 								</tr>
 								<tr>
 									<th scope="row"><?php echo $lang_admin_options['Topic views label'] ?></th>
 									<td>
-										<input type="radio" name="form[topic_views]" id="form_topic_views_1" value="1"<?php if ($pun_config['o_topic_views'] == '1') echo ' checked="checked"' ?> /> <label class="conl" for="form_topic_views_1"><strong><?php echo $lang_admin_common['Yes'] ?></strong></label>   <input type="radio" name="form[topic_views]" id="form_topic_views_0" value="0"<?php if ($pun_config['o_topic_views'] == '0') echo ' checked="checked"' ?> /> <label class="conl" for="form_topic_views_0"><strong><?php echo $lang_admin_common['No'] ?></strong></label>
-										<span><?php echo $lang_admin_options['Topic views help'] ?></span>
+										<label class="conl"><input type="radio" name="form[topic_views]" value="1"<?php if ($pun_config['o_topic_views'] == '1') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
+										<label class="conl"><input type="radio" name="form[topic_views]" value="0"<?php if ($pun_config['o_topic_views'] == '0') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['No'] ?></strong></label>
+										<span class="clearb"><?php echo $lang_admin_options['Topic views help'] ?></span>
 									</td>
 								</tr>
 								<tr>
 									<th scope="row"><?php echo $lang_admin_options['Quick jump label'] ?></th>
 									<td>
-										<input type="radio" name="form[quickjump]" id="form_quickjump_1" value="1"<?php if ($pun_config['o_quickjump'] == '1') echo ' checked="checked"' ?> /> <label class="conl" for="form_quickjump_1"><strong><?php echo $lang_admin_common['Yes'] ?></strong></label>   <input type="radio" name="form[quickjump]" id="form_quickjump_0" value="0"<?php if ($pun_config['o_quickjump'] == '0') echo ' checked="checked"' ?> /> <label class="conl" for="form_quickjump_0"><strong><?php echo $lang_admin_common['No'] ?></strong></label>
-										<span><?php echo $lang_admin_options['Quick jump help'] ?></span>
+										<label class="conl"><input type="radio" name="form[quickjump]" value="1"<?php if ($pun_config['o_quickjump'] == '1') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
+										<label class="conl"><input type="radio" name="form[quickjump]" value="0"<?php if ($pun_config['o_quickjump'] == '0') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['No'] ?></strong></label>
+										<span class="clearb"><?php echo $lang_admin_options['Quick jump help'] ?></span>
 									</td>
 								</tr>
 								<tr>
 									<th scope="row"><?php echo $lang_admin_options['GZip label'] ?></th>
 									<td>
-										<input type="radio" name="form[gzip]" id="form_gzip_1" value="1"<?php if ($pun_config['o_gzip'] == '1') echo ' checked="checked"' ?> /> <label class="conl" for="form_gzip_1"><strong><?php echo $lang_admin_common['Yes'] ?></strong></label>   <input type="radio" name="form[gzip]" id="form_gzip_0" value="0"<?php if ($pun_config['o_gzip'] == '0') echo ' checked="checked"' ?> /> <label class="conl" for="form_gzip_0"><strong><?php echo $lang_admin_common['No'] ?></strong></label>
-										<span><?php echo $lang_admin_options['GZip help'] ?></span>
+										<label class="conl"><input type="radio" name="form[gzip]" value="1"<?php if ($pun_config['o_gzip'] == '1') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
+										<label class="conl"><input type="radio" name="form[gzip]" value="0"<?php if ($pun_config['o_gzip'] == '0') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['No'] ?></strong></label>
+										<span class="clearb"><?php echo $lang_admin_options['GZip help'] ?></span>
 									</td>
 								</tr>
 								<tr>
 									<th scope="row"><?php echo $lang_admin_options['Search all label'] ?></th>
 									<td>
-										<input type="radio" name="form[search_all_forums]" id="form_search_all_forums_1" value="1"<?php if ($pun_config['o_search_all_forums'] == '1') echo ' checked="checked"' ?> /> <label class="conl" for="form_search_all_forums_1"><strong><?php echo $lang_admin_common['Yes'] ?></strong></label>   <input type="radio" name="form[search_all_forums]" id="form_search_all_forums_0" value="0"<?php if ($pun_config['o_search_all_forums'] == '0') echo ' checked="checked"' ?> /> <label class="conl" for="form_search_all_forums_0"><strong><?php echo $lang_admin_common['No'] ?></strong></label>
-										<span><?php echo $lang_admin_options['Search all help'] ?></span>
+										<label class="conl"><input type="radio" name="form[search_all_forums]" value="1"<?php if ($pun_config['o_search_all_forums'] == '1') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
+										<label class="conl"><input type="radio" name="form[search_all_forums]" value="0"<?php if ($pun_config['o_search_all_forums'] == '0') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['No'] ?></strong></label>
+										<span class="clearb"><?php echo $lang_admin_options['Search all help'] ?></span>
 									</td>
 								</tr>
 								<tr>
@@ -575,8 +591,10 @@ generate_admin_menu('options');
 								<tr>
 									<th scope="row"><?php echo $lang_admin_options['Default feed label'] ?></th>
 									<td>
-										<input type="radio" name="form[feed_type]" id="form_feed_type_0" value="0"<?php if ($pun_config['o_feed_type'] == '0') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_options['None'] ?></strong>   <input type="radio" name="form[feed_type]" id="form_feed_type_1" value="1"<?php if ($pun_config['o_feed_type'] == '1') echo ' checked="checked"' ?> /> <label class="conl" for="form_feed_type_0"><strong><?php echo $lang_admin_options['RSS'] ?></strong></label>   <input type="radio" name="form[feed_type]" id="form_feed_type_2" value="2"<?php if ($pun_config['o_feed_type'] == '2') echo ' checked="checked"' ?> /> <label class="conl" for="form_feed_type_1"><strong><?php echo $lang_admin_options['Atom'] ?></strong></label>
-										<span><?php echo $lang_admin_options['Default feed help'] ?></span>
+										<label class="conl"><input type="radio" name="form[feed_type]" value="0"<?php if ($pun_config['o_feed_type'] == '0') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_options['None'] ?></strong></label>
+										<label class="conl"><input type="radio" name="form[feed_type]" value="1"<?php if ($pun_config['o_feed_type'] == '1') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_options['RSS'] ?></strong></label>
+										<label class="conl"><input type="radio" name="form[feed_type]" value="2"<?php if ($pun_config['o_feed_type'] == '2') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_options['Atom'] ?></strong></label>
+										<span class="clearb"><?php echo $lang_admin_options['Default feed help'] ?></span>
 									</td>
 								</tr>
 								<tr>
@@ -608,8 +626,10 @@ generate_admin_menu('options');
 								<tr>
 									<th scope="row"><?php echo $lang_admin_options['Reporting method label'] ?></th>
 									<td>
-										<input type="radio" name="form[report_method]" id="form_report_method_0" value="0"<?php if ($pun_config['o_report_method'] == '0') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_options['Internal'] ?></strong>   <input type="radio" name="form[report_method]" id="form_report_method_1" value="1"<?php if ($pun_config['o_report_method'] == '1') echo ' checked="checked"' ?> /> <label class="conl" for="form_report_method_0"><strong><?php echo $lang_admin_options['By e-mail'] ?></strong></label>   <input type="radio" name="form[report_method]" id="form_report_method_2" value="2"<?php if ($pun_config['o_report_method'] == '2') echo ' checked="checked"' ?> /> <label class="conl" for="form_report_method_1"><strong><?php echo $lang_admin_options['Both'] ?></strong></label>
-										<span><?php echo $lang_admin_options['Reporting method help'] ?></span>
+										<label class="conl"><input type="radio" name="form[report_method]" value="0"<?php if ($pun_config['o_report_method'] == '0') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_options['Internal'] ?></strong></label>
+										<label class="conl"><input type="radio" name="form[report_method]" value="1"<?php if ($pun_config['o_report_method'] == '1') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_options['By e-mail'] ?></strong></label>
+										<label class="conl"><input type="radio" name="form[report_method]" value="2"<?php if ($pun_config['o_report_method'] == '2') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_options['Both'] ?></strong></label>
+										<span class="clearb"><?php echo $lang_admin_options['Reporting method help'] ?></span>
 									</td>
 								</tr>
 								<tr>
@@ -631,8 +651,9 @@ generate_admin_menu('options');
 								<tr>
 									<th scope="row"><?php echo $lang_admin_options['Use avatars label'] ?></th>
 									<td>
-										<input type="radio" name="form[avatars]" id="form_avatars_1" value="1"<?php if ($pun_config['o_avatars'] == '1') echo ' checked="checked"' ?> /> <label class="conl" for="form_avatars_1"><strong><?php echo $lang_admin_common['Yes'] ?></strong></label>   <input type="radio" name="form[avatars]" id="form_avatars_0" value="0"<?php if ($pun_config['o_avatars'] == '0') echo ' checked="checked"' ?> /> <label class="conl" for="form_avatars_0"><strong><?php echo $lang_admin_common['No'] ?></strong></label>
-										<span><?php echo $lang_admin_options['Use avatars help'] ?></span>
+										<label class="conl"><input type="radio" name="form[avatars]" value="1"<?php if ($pun_config['o_avatars'] == '1') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
+										<label class="conl"><input type="radio" name="form[avatars]" value="0"<?php if ($pun_config['o_avatars'] == '0') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['No'] ?></strong></label>
+										<span class="clearb"><?php echo $lang_admin_options['Use avatars help'] ?></span>
 									</td>
 								</tr>
 								<tr>
@@ -689,15 +710,17 @@ generate_admin_menu('options');
 								<tr>
 									<th scope="row"><?php echo $lang_admin_options['Forum subscriptions label'] ?></th>
 									<td>
-										<input type="radio" name="form[forum_subscriptions]" id="form_forum_subscriptions_1" value="1"<?php if ($pun_config['o_forum_subscriptions'] == '1') echo ' checked="checked"' ?> /> <label class="conl" for="form_forum_subscriptions_1"><strong><?php echo $lang_admin_common['Yes'] ?></strong></label>   <input type="radio" name="form[forum_subscriptions]" id="form_forum_subscriptions_0" value="0"<?php if ($pun_config['o_forum_subscriptions'] == '0') echo ' checked="checked"' ?> /> <label class="conl" for="form_forum_subscriptions_0"><strong><?php echo $lang_admin_common['No'] ?></strong></label>
-										<span><?php echo $lang_admin_options['Forum subscriptions help'] ?></span>
+										<label class="conl"><input type="radio" name="form[forum_subscriptions]" value="1"<?php if ($pun_config['o_forum_subscriptions'] == '1') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
+										<label class="conl"><input type="radio" name="form[forum_subscriptions]" value="0"<?php if ($pun_config['o_forum_subscriptions'] == '0') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['No'] ?></strong></label>
+										<span class="clearb"><?php echo $lang_admin_options['Forum subscriptions help'] ?></span>
 									</td>
 								</tr>
 								<tr>
 									<th scope="row"><?php echo $lang_admin_options['Topic subscriptions label'] ?></th>
 									<td>
-										<input type="radio" name="form[topic_subscriptions]" id="form_topic_subscriptions_1" value="1"<?php if ($pun_config['o_topic_subscriptions'] == '1') echo ' checked="checked"' ?> /> <label class="conl" for="form_topic_subscriptions_1"><strong><?php echo $lang_admin_common['Yes'] ?></strong></label>   <input type="radio" name="form[topic_subscriptions]" id="form_topic_subscriptions_0" value="0"<?php if ($pun_config['o_topic_subscriptions'] == '0') echo ' checked="checked"' ?> /> <label class="conl" for="form_topic_subscriptions_0"><strong><?php echo $lang_admin_common['No'] ?></strong></label>
-										<span><?php echo $lang_admin_options['Topic subscriptions help'] ?></span>
+										<label class="conl"><input type="radio" name="form[topic_subscriptions]" value="1"<?php if ($pun_config['o_topic_subscriptions'] == '1') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
+										<label class="conl"><input type="radio" name="form[topic_subscriptions]" value="0"<?php if ($pun_config['o_topic_subscriptions'] == '0') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['No'] ?></strong></label>
+										<span class="clearb"><?php echo $lang_admin_options['Topic subscriptions help'] ?></span>
 									</td>
 								</tr>
 								<tr>
@@ -717,7 +740,7 @@ generate_admin_menu('options');
 								<tr>
 									<th scope="row"><?php echo $lang_admin_options['SMTP password label'] ?></th>
 									<td>
-										<span><input type="checkbox" name="form[smtp_change_pass]" id="form_smtp_change_pass" value="1" />  <label class="conl" for="form_smtp_change_pass"><?php echo $lang_admin_options['SMTP change password help'] ?></label></span>
+										<label><input type="checkbox" name="form[smtp_change_pass]" value="1" /> <?php echo $lang_admin_options['SMTP change password help'] ?></label>
 <?php $smtp_pass = !empty($pun_config['o_smtp_pass']) ? random_key(pun_strlen($pun_config['o_smtp_pass']), true) : ''; ?>
 										<input type="password" name="form[smtp_pass1]" size="25" maxlength="50" value="<?php echo $smtp_pass ?>" />
 										<input type="password" name="form[smtp_pass2]" size="25" maxlength="50" value="<?php echo $smtp_pass ?>" />
@@ -727,8 +750,9 @@ generate_admin_menu('options');
 								<tr>
 									<th scope="row"><?php echo $lang_admin_options['SMTP SSL label'] ?></th>
 									<td>
-										<input type="radio" name="form[smtp_ssl]" id="form_smtp_ssl_1" value="1"<?php if ($pun_config['o_smtp_ssl'] == '1') echo ' checked="checked"' ?> /> <label class="conl" for="form_smtp_ssl_1"><strong><?php echo $lang_admin_common['Yes'] ?></strong></label>   <input type="radio" name="form[smtp_ssl]" id="form_smtp_ssl_0" value="0"<?php if ($pun_config['o_smtp_ssl'] == '0') echo ' checked="checked"' ?> /> <label class="conl" for="form_smtp_ssl_0"><strong><?php echo $lang_admin_common['No'] ?></strong></label>
-										<span><?php echo $lang_admin_options['SMTP SSL help'] ?></span>
+										<label class="conl"><input type="radio" name="form[smtp_ssl]" value="1"<?php if ($pun_config['o_smtp_ssl'] == '1') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
+										<label class="conl"><input type="radio" name="form[smtp_ssl]" value="0"<?php if ($pun_config['o_smtp_ssl'] == '0') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['No'] ?></strong></label>
+										<span class="clearb"><?php echo $lang_admin_options['SMTP SSL help'] ?></span>
 									</td>
 								</tr>
 							</table>
@@ -743,29 +767,33 @@ generate_admin_menu('options');
 								<tr>
 									<th scope="row"><?php echo $lang_admin_options['Allow new label'] ?></th>
 									<td>
-										<input type="radio" name="form[regs_allow]" id="form_regs_allow_1" value="1"<?php if ($pun_config['o_regs_allow'] == '1') echo ' checked="checked"' ?> /> <label class="conl" for="form_regs_allow_1"><strong><?php echo $lang_admin_common['Yes'] ?></strong></label>   <input type="radio" name="form[regs_allow]" id="form_regs_allow_0" value="0"<?php if ($pun_config['o_regs_allow'] == '0') echo ' checked="checked"' ?> /> <label class="conl" for="form_regs_allow_0"><strong><?php echo $lang_admin_common['No'] ?></strong></label>
-										<span><?php echo $lang_admin_options['Allow new help'] ?></span>
-									</td>
+										<label class="conl"><input type="radio" name="form[regs_allow]" value="1"<?php if ($pun_config['o_regs_allow'] == '1') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
+										<label class="conl"><input type="radio" name="form[regs_allow]" value="0"<?php if ($pun_config['o_regs_allow'] == '0') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['No'] ?></strong></label>
+										<span class="clearb"><?php echo $lang_admin_options['Allow new help'] ?></span>
+									</td> 
 								</tr>
 								<tr>
 									<th scope="row"><?php echo $lang_admin_options['Verify label'] ?></th>
 									<td>
-										<input type="radio" name="form[regs_verify]" id="form_regs_verify_1" value="1"<?php if ($pun_config['o_regs_verify'] == '1') echo ' checked="checked"' ?> /> <label class="conl" for="form_regs_verify_1"><strong><?php echo $lang_admin_common['Yes'] ?></strong></label>   <input type="radio" name="form[regs_verify]" id="form_regs_verify_0" value="0"<?php if ($pun_config['o_regs_verify'] == '0') echo ' checked="checked"' ?> /> <label class="conl" for="form_regs_verify_0"><strong><?php echo $lang_admin_common['No'] ?></strong></label>
-										<span><?php echo $lang_admin_options['Verify help'] ?></span>
+										<label class="conl"><input type="radio" name="form[regs_verify]" value="1"<?php if ($pun_config['o_regs_verify'] == '1') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
+										<label class="conl"><input type="radio" name="form[regs_verify]" value="0"<?php if ($pun_config['o_regs_verify'] == '0') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['No'] ?></strong></label>
+										<span class="clearb"><?php echo $lang_admin_options['Verify help'] ?></span>
 									</td>
 								</tr>
 								<tr>
 									<th scope="row"><?php echo $lang_admin_options['Report new label'] ?></th>
 									<td>
-										<input type="radio" name="form[regs_report]" id="form_regs_report_1" value="1"<?php if ($pun_config['o_regs_report'] == '1') echo ' checked="checked"' ?> /> <label class="conl" for="form_regs_report_1"><strong><?php echo $lang_admin_common['Yes'] ?></strong></label>   <input type="radio" name="form[regs_report]" id="form_regs_report_0" value="0"<?php if ($pun_config['o_regs_report'] == '0') echo ' checked="checked"' ?> /> <label class="conl" for="form_regs_report_0"><strong><?php echo $lang_admin_common['No'] ?></strong></label>
-										<span><?php echo $lang_admin_options['Report new help'] ?></span>
+										<label class="conl"><input type="radio" name="form[regs_report]" value="1"<?php if ($pun_config['o_regs_report'] == '1') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
+										<label class="conl"><input type="radio" name="form[regs_report]" value="0"<?php if ($pun_config['o_regs_report'] == '0') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['No'] ?></strong></label>
+										<span class="clearb"><?php echo $lang_admin_options['Report new help'] ?></span>
 									</td>
 								</tr>
 								<tr>
 									<th scope="row"><?php echo $lang_admin_options['Use rules label'] ?></th>
 									<td>
-										<input type="radio" name="form[rules]" id="form_rules_1" value="1"<?php if ($pun_config['o_rules'] == '1') echo ' checked="checked"' ?> /> <label class="conl" for="form_rules_1"><strong><?php echo $lang_admin_common['Yes'] ?></strong></label>   <input type="radio" name="form[rules]" id="form_rules_0" value="0"<?php if ($pun_config['o_rules'] == '0') echo ' checked="checked"' ?> /> <label class="conl" for="form_rules_0"><strong><?php echo $lang_admin_common['No'] ?></strong></label>
-										<span><?php echo $lang_admin_options['Use rules help'] ?></span>
+										<label class="conl"><input type="radio" name="form[rules]" value="1"<?php if ($pun_config['o_rules'] == '1') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
+										<label class="conl"><input type="radio" name="form[rules]" value="0"<?php if ($pun_config['o_rules'] == '0') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['No'] ?></strong></label>
+										<span class="clearb"><?php echo $lang_admin_options['Use rules help'] ?></span>
 									</td>
 								</tr>
 								<tr>
@@ -779,9 +807,9 @@ generate_admin_menu('options');
 									<th scope="row"><?php echo $lang_admin_options['E-mail default label'] ?></th>
 									<td>
 										<span><?php echo $lang_admin_options['E-mail default help'] ?></span>
-										<input type="radio" name="form[default_email_setting]" id="form_default_email_setting_0" value="0"<?php if ($pun_config['o_default_email_setting'] == '0') echo ' checked="checked"' ?> /> <?php echo $lang_admin_options['Display e-mail label'] ?><br />
-										<input type="radio" name="form[default_email_setting]" id="form_default_email_setting_1" value="1"<?php if ($pun_config['o_default_email_setting'] == '1') echo ' checked="checked"' ?> /> <?php echo $lang_admin_options['Hide allow form label'] ?><br />
-										<input type="radio" name="form[default_email_setting]" id="form_default_email_setting_2" value="2"<?php if ($pun_config['o_default_email_setting'] == '2') echo ' checked="checked"' ?> /> <?php echo $lang_admin_options['Hide both label'] ?><br />
+										<label><input type="radio" name="form[default_email_setting]" id="form_default_email_setting_0" value="0"<?php if ($pun_config['o_default_email_setting'] == '0') echo ' checked="checked"' ?> /> <?php echo $lang_admin_options['Display e-mail label'] ?></label>
+										<label><input type="radio" name="form[default_email_setting]" id="form_default_email_setting_1" value="1"<?php if ($pun_config['o_default_email_setting'] == '1') echo ' checked="checked"' ?> /> <?php echo $lang_admin_options['Hide allow form label'] ?></label>
+										<label><input type="radio" name="form[default_email_setting]" id="form_default_email_setting_2" value="2"<?php if ($pun_config['o_default_email_setting'] == '2') echo ' checked="checked"' ?> /> <?php echo $lang_admin_options['Hide both label'] ?></label>
 									</td>
 								</tr>
 							</table>
@@ -796,8 +824,9 @@ generate_admin_menu('options');
 								<tr>
 									<th scope="row"><?php echo $lang_admin_options['Display announcement label'] ?></th>
 									<td>
-										<input type="radio" name="form[announcement]" id="form_announcement_1" value="1"<?php if ($pun_config['o_announcement'] == '1') echo ' checked="checked"' ?> /> <label class="conl" for="form_announcement_1"><strong><?php echo $lang_admin_common['Yes'] ?></strong></label>   <input type="radio" name="form[announcement]" id="form_announcement_0" value="0"<?php if ($pun_config['o_announcement'] == '0') echo ' checked="checked"' ?> /> <label class="conl" for="form_announcement_0"><strong><?php echo $lang_admin_common['No'] ?></strong></label>
-										<span><?php echo $lang_admin_options['Display announcement help'] ?></span>
+										<label class="conl"><input type="radio" name="form[announcement]" value="1"<?php if ($pun_config['o_announcement'] == '1') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
+										<label class="conl"><input type="radio" name="form[announcement]" value="0"<?php if ($pun_config['o_announcement'] == '0') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['No'] ?></strong></label>
+										<span class="clearb"><?php echo $lang_admin_options['Display announcement help'] ?></span>
 									</td>
 								</tr>
 								<tr>
@@ -819,8 +848,9 @@ generate_admin_menu('options');
 								<tr>
 									<th scope="row"><a name="maintenance"></a><?php echo $lang_admin_options['Maintenance mode label'] ?></th>
 									<td>
-										<input type="radio" name="form[maintenance]" id="form_maintenance_1" value="1"<?php if ($pun_config['o_maintenance'] == '1') echo ' checked="checked"' ?> /> <label class="conl" for="form_maintenance_1"><strong><?php echo $lang_admin_common['Yes'] ?></strong></label>   <input type="radio" name="form[maintenance]" id="form_maintenance_0" value="0"<?php if ($pun_config['o_maintenance'] == '0') echo ' checked="checked"' ?> /> <label class="conl" for="form_maintenance_0"><strong><?php echo $lang_admin_common['No'] ?></strong></label>
-										<span><?php echo $lang_admin_options['Maintenance mode help'] ?></span>
+										<label class="conl"><input type="radio" name="form[maintenance]" value="1"<?php if ($pun_config['o_maintenance'] == '1') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
+										<label class="conl"><input type="radio" name="form[maintenance]" value="0"<?php if ($pun_config['o_maintenance'] == '0') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['No'] ?></strong></label>
+										<span class="clearb"><?php echo $lang_admin_options['Maintenance mode help'] ?></span>
 									</td>
 								</tr>
 								<tr>
diff --git a/admin_permissions.php b/admin_permissions.php
index a239979..23b236d 100644
--- a/admin_permissions.php
+++ b/admin_permissions.php
@@ -67,36 +67,41 @@ generate_admin_menu('permissions');
 								<tr>
 									<th scope="row"><?php echo $lang_admin_permissions['BBCode label'] ?></th>
 									<td>
-										<input type="radio" name="form[message_bbcode]" value="1"<?php if ($pun_config['p_message_bbcode'] == '1') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['Yes'] ?></strong>   <input type="radio" name="form[message_bbcode]" value="0"<?php if ($pun_config['p_message_bbcode'] == '0') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['No'] ?></strong>
-										<span><?php echo $lang_admin_permissions['BBCode help'] ?></span>
+										<label class="conl"><input type="radio" name="form[message_bbcode]" value="1"<?php if ($pun_config['p_message_bbcode'] == '1') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
+										<label class="conl"><input type="radio" name="form[message_bbcode]" value="0"<?php if ($pun_config['p_message_bbcode'] == '0') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['No'] ?></strong></label>
+										<span class="clearb"><?php echo $lang_admin_permissions['BBCode help'] ?></span>
 									</td>
 								</tr>
 								<tr>
 									<th scope="row"><?php echo $lang_admin_permissions['Image tag label'] ?></th>
 									<td>
-										<input type="radio" name="form[message_img_tag]" value="1"<?php if ($pun_config['p_message_img_tag'] == '1') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['Yes'] ?></strong>   <input type="radio" name="form[message_img_tag]" value="0"<?php if ($pun_config['p_message_img_tag'] == '0') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['No'] ?></strong>
-										<span><?php echo $lang_admin_permissions['Image tag help'] ?></span>
+										<label class="conl"><input type="radio" name="form[message_img_tag]" value="1"<?php if ($pun_config['p_message_img_tag'] == '1') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
+										<label class="conl"><input type="radio" name="form[message_img_tag]" value="0"<?php if ($pun_config['p_message_img_tag'] == '0') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['No'] ?></strong></label>
+										<span class="clearb"><?php echo $lang_admin_permissions['Image tag help'] ?></span>
 									</td>
 								</tr>
 								<tr>
 									<th scope="row"><?php echo $lang_admin_permissions['All caps message label'] ?></th>
 									<td>
-										<input type="radio" name="form[message_all_caps]" value="1"<?php if ($pun_config['p_message_all_caps'] == '1') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['Yes'] ?></strong>   <input type="radio" name="form[message_all_caps]" value="0"<?php if ($pun_config['p_message_all_caps'] == '0') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['No'] ?></strong>
-										<span><?php echo $lang_admin_permissions['All caps message help'] ?></span>
+										<label class="conl"><input type="radio" name="form[message_all_caps]" value="1"<?php if ($pun_config['p_message_all_caps'] == '1') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
+										<label class="conl"><input type="radio" name="form[message_all_caps]" value="0"<?php if ($pun_config['p_message_all_caps'] == '0') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['No'] ?></strong></label>
+										<span class="clearb"><?php echo $lang_admin_permissions['All caps message help'] ?></span>
 									</td>
 								</tr>
 								<tr>
 									<th scope="row"><?php echo $lang_admin_permissions['All caps subject label'] ?></th>
 									<td>
-										<input type="radio" name="form[subject_all_caps]" value="1"<?php if ($pun_config['p_subject_all_caps'] == '1') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['Yes'] ?></strong>   <input type="radio" name="form[subject_all_caps]" value="0"<?php if ($pun_config['p_subject_all_caps'] == '0') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['No'] ?></strong>
-										<span><?php echo $lang_admin_permissions['All caps subject help'] ?></span>
+										<label class="conl"><input type="radio" name="form[subject_all_caps]" value="1"<?php if ($pun_config['p_subject_all_caps'] == '1') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
+										<label class="conl"><input type="radio" name="form[subject_all_caps]" value="0"<?php if ($pun_config['p_subject_all_caps'] == '0') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['No'] ?></strong></label>
+										<span class="clearb"><?php echo $lang_admin_permissions['All caps subject help'] ?></span>
 									</td>
 								</tr>
 								<tr>
 									<th scope="row"><?php echo $lang_admin_permissions['Require e-mail label'] ?></th>
 									<td>
-										<input type="radio" name="form[force_guest_email]" value="1"<?php if ($pun_config['p_force_guest_email'] == '1') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['Yes'] ?></strong>   <input type="radio" name="form[force_guest_email]" value="0"<?php if ($pun_config['p_force_guest_email'] == '0') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['No'] ?></strong>
-										<span><?php echo $lang_admin_permissions['Require e-mail help'] ?></span>
+										<label class="conl"><input type="radio" name="form[force_guest_email]" value="1"<?php if ($pun_config['p_force_guest_email'] == '1') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
+										<label class="conl"><input type="radio" name="form[force_guest_email]" value="0"<?php if ($pun_config['p_force_guest_email'] == '0') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['No'] ?></strong></label>
+										<span class="clearb"><?php echo $lang_admin_permissions['Require e-mail help'] ?></span>
 									</td>
 								</tr>
 							</table>
@@ -111,36 +116,39 @@ generate_admin_menu('permissions');
 								<tr>
 									<th scope="row"><?php echo $lang_admin_permissions['BBCode sigs label'] ?></th>
 									<td>
-										<input type="radio" name="form[sig_bbcode]" value="1"<?php if ($pun_config['p_sig_bbcode'] == '1') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['Yes'] ?></strong>   <input type="radio" name="form[sig_bbcode]" value="0"<?php if ($pun_config['p_sig_bbcode'] == '0') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['No'] ?></strong>
-										<span><?php echo $lang_admin_permissions['BBCode sigs help'] ?></span>
+										<label class="conl"><input type="radio" name="form[sig_bbcode]" value="1"<?php if ($pun_config['p_sig_bbcode'] == '1') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
+										<label class="conl"><input type="radio" name="form[sig_bbcode]" value="0"<?php if ($pun_config['p_sig_bbcode'] == '0') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['No'] ?></strong></label>
+										<span class="clearb"><?php echo $lang_admin_permissions['BBCode sigs help'] ?></span>
 									</td>
 								</tr>
 								<tr>
 									<th scope="row"><?php echo $lang_admin_permissions['Image tag sigs label'] ?></th>
 									<td>
-										<input type="radio" name="form[sig_img_tag]" value="1"<?php if ($pun_config['p_sig_img_tag'] == '1') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['Yes'] ?></strong>   <input type="radio" name="form[sig_img_tag]" value="0"<?php if ($pun_config['p_sig_img_tag'] == '0') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['No'] ?></strong>
-										<span><?php echo $lang_admin_permissions['Image tag sigs help'] ?></span>
+										<label class="conl"><input type="radio" name="form[sig_img_tag]" value="1"<?php if ($pun_config['p_sig_img_tag'] == '1') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
+										<label class="conl"><input type="radio" name="form[sig_img_tag]" value="0"<?php if ($pun_config['p_sig_img_tag'] == '0') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['No'] ?></strong></label>
+										<span class="clearb"><?php echo $lang_admin_permissions['Image tag sigs help'] ?></span>
 									</td>
 								</tr>
 								<tr>
 									<th scope="row"><?php echo $lang_admin_permissions['All caps sigs label'] ?></th>
 									<td>
-										<input type="radio" name="form[sig_all_caps]" value="1"<?php if ($pun_config['p_sig_all_caps'] == '1') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['Yes'] ?></strong>   <input type="radio" name="form[sig_all_caps]" value="0"<?php if ($pun_config['p_sig_all_caps'] == '0') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['No'] ?></strong>
-										<span><?php echo $lang_admin_permissions['All caps sigs help'] ?></span>
+										<label class="conl"><input type="radio" name="form[sig_all_caps]" value="1"<?php if ($pun_config['p_sig_all_caps'] == '1') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
+										<label class="conl"><input type="radio" name="form[sig_all_caps]" value="0"<?php if ($pun_config['p_sig_all_caps'] == '0') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['No'] ?></strong></label>
+										<span class="clearb"><?php echo $lang_admin_permissions['All caps sigs help'] ?></span>
 									</td>
 								</tr>
 								<tr>
 									<th scope="row"><?php echo $lang_admin_permissions['Max sig length label'] ?></th>
 									<td>
 										<input type="text" name="form[sig_length]" size="5" maxlength="5" value="<?php echo $pun_config['p_sig_length'] ?>" />
-										<span><?php echo $lang_admin_permissions['Max sig length help'] ?></span>
+										<span class="clearb"><?php echo $lang_admin_permissions['Max sig length help'] ?></span>
 									</td>
 								</tr>
 								<tr>
 									<th scope="row"><?php echo $lang_admin_permissions['Max sig lines label'] ?></th>
 									<td>
 										<input type="text" name="form[sig_lines]" size="3" maxlength="3" value="<?php echo $pun_config['p_sig_lines'] ?>" />
-										<span><?php echo $lang_admin_permissions['Max sig lines help'] ?></span>
+										<span class="clearb"><?php echo $lang_admin_permissions['Max sig lines help'] ?></span>
 									</td>
 								</tr>
 							</table>
@@ -155,15 +163,17 @@ generate_admin_menu('permissions');
 								<tr>
 									<th scope="row"><?php echo $lang_admin_permissions['Banned e-mail label'] ?></th>
 									<td>
-										<input type="radio" name="form[allow_banned_email]" value="1"<?php if ($pun_config['p_allow_banned_email'] == '1') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['Yes'] ?></strong>   <input type="radio" name="form[allow_banned_email]" value="0"<?php if ($pun_config['p_allow_banned_email'] == '0') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['No'] ?></strong>
-										<span><?php echo $lang_admin_permissions['Banned e-mail help'] ?></span>
+										<label class="conl"><input type="radio" name="form[allow_banned_email]" value="1"<?php if ($pun_config['p_allow_banned_email'] == '1') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
+										<label class="conl"><input type="radio" name="form[allow_banned_email]" value="0"<?php if ($pun_config['p_allow_banned_email'] == '0') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['No'] ?></strong></label>
+										<span class="clearb"><?php echo $lang_admin_permissions['Banned e-mail help'] ?></span>
 									</td>
 								</tr>
 								<tr>
 									<th scope="row"><?php echo $lang_admin_permissions['Duplicate e-mail label'] ?></th>
 									<td>
-										<input type="radio" name="form[allow_dupe_email]" value="1"<?php if ($pun_config['p_allow_dupe_email'] == '1') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['Yes'] ?></strong>   <input type="radio" name="form[allow_dupe_email]" value="0"<?php if ($pun_config['p_allow_dupe_email'] == '0') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['No'] ?></strong>
-										<span><?php echo $lang_admin_permissions['Duplicate e-mail help'] ?></span>
+										<label class="conl"><input type="radio" name="form[allow_dupe_email]" value="1"<?php if ($pun_config['p_allow_dupe_email'] == '1') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
+										<label class="conl"><input type="radio" name="form[allow_dupe_email]" value="0"<?php if ($pun_config['p_allow_dupe_email'] == '0') echo ' checked="checked"' ?> /> <strong><?php echo $lang_admin_common['No'] ?></strong></label>
+										<span class="clearb"><?php echo $lang_admin_permissions['Duplicate e-mail help'] ?></span>
 									</td>
 								</tr>
 							</table>
diff --git a/admin_index.php b/admin_statistics.php
similarity index 70%
copy from admin_index.php
copy to admin_statistics.php
index 5d82031..901e14c 100644
--- a/admin_index.php
+++ b/admin_statistics.php
@@ -22,25 +22,9 @@ require PUN_ROOT.'lang/'.$admin_language.'/admin_index.php';
 
 $action = isset($_GET['action']) ? $_GET['action'] : null;
 
-// Check for upgrade
-if ($action == 'check_upgrade')
-{
-	if (!ini_get('allow_url_fopen'))
-		message($lang_admin_index['fopen disabled message']);
-
-	$latest_version = trim(@file_get_contents('http://fluxbb.org/latest_version'));
-	if (empty($latest_version))
-		message($lang_admin_index['Upgrade check failed message']);
-
-	if (version_compare($pun_config['o_cur_version'], $latest_version, '>='))
-		message($lang_admin_index['Running latest version message']);
-	else
-		message(sprintf($lang_admin_index['New version available message'], '<a href="http://fluxbb.org/">FluxBB.org</a>'));
-}
-
 
 // Show phpinfo() output
-else if ($action == 'phpinfo' && $pun_user['g_id'] == PUN_ADMIN)
+if ($action == 'phpinfo' && $pun_user['g_id'] == PUN_ADMIN)
 {
 	// Is phpinfo() a disabled function?
 	if (strpos(strtolower((string) ini_get('disable_functions')), 'phpinfo') !== false)
@@ -115,7 +99,7 @@ else
 	$php_accelerator = $lang_admin_index['NA'];
 
 
-$page_title = array(pun_htmlspecialchars($pun_config['o_board_title']), $lang_admin_common['Admin'], $lang_admin_common['Index']);
+$page_title = array(pun_htmlspecialchars($pun_config['o_board_title']), $lang_admin_common['Admin'], $lang_admin_common['Server statistics']);
 define('PUN_ACTIVE_PAGE', 'admin');
 require PUN_ROOT.'header.php';
 
@@ -123,32 +107,10 @@ generate_admin_menu('index');
 
 ?>
 	<div class="block">
-		<h2><span><?php echo $lang_admin_index['Forum admin head'] ?></span></h2>
-		<div id="adintro" class="box">
-			<div class="inbox">
-				<p><?php echo $lang_admin_index['Welcome to admin'] ?></p>
-				<ul>
-					<li><span><?php echo $lang_admin_index['Welcome 1'] ?></span></li>
-					<li><span><?php echo $lang_admin_index['Welcome 2'] ?></span></li>
-					<li><span><?php echo $lang_admin_index['Welcome 3'] ?></span></li>
-					<li><span><?php echo $lang_admin_index['Welcome 4'] ?></span></li>
-					<li><span><?php echo $lang_admin_index['Welcome 5'] ?></span></li>
-					<li><span><?php echo $lang_admin_index['Welcome 6'] ?></span></li>
-					<li><span><?php echo $lang_admin_index['Welcome 7'] ?></span></li>
-					<li><span><?php echo $lang_admin_index['Welcome 8'] ?></span></li>
-					<li><span><?php echo $lang_admin_index['Welcome 9'] ?></span></li>
-				</ul>
-			</div>
-		</div>
-
-		<h2 class="block2"><span><?php echo $lang_admin_index['Statistics head'] ?></span></h2>
+		<h2><span><?php echo $lang_admin_index['Server statistics head'] ?></span></h2>
 		<div id="adstats" class="box">
 			<div class="inbox">
 				<dl>
-					<dt><?php echo $lang_admin_index['FluxBB version label'] ?></dt>
-					<dd>
-						<?php printf($lang_admin_index['FluxBB version data']."\n", $pun_config['o_cur_version'], '<a href="admin_index.php?action=check_upgrade">'.$lang_admin_index['Check for upgrade'].'</a>') ?>
-					</dd>
 					<dt><?php echo $lang_admin_index['Server load label'] ?></dt>
 					<dd>
 						<?php printf($lang_admin_index['Server load data']."\n", $server_load, $num_online) ?>
@@ -156,7 +118,7 @@ generate_admin_menu('index');
 <?php if ($pun_user['g_id'] == PUN_ADMIN): ?>					<dt><?php echo $lang_admin_index['Environment label'] ?></dt>
 					<dd>
 						<?php printf($lang_admin_index['Environment data OS'], PHP_OS) ?><br />
-						<?php printf($lang_admin_index['Environment data version'], phpversion(), '<a href="admin_index.php?action=phpinfo">'.$lang_admin_index['Show info'].'</a>') ?><br />
+						<?php printf($lang_admin_index['Environment data version'], phpversion(), '<a href="admin_statistics.php?action=phpinfo">'.$lang_admin_index['Show info'].'</a>') ?><br />
 						<?php printf($lang_admin_index['Environment data acc']."\n", $php_accelerator) ?>
 					</dd>
 					<dt><?php echo $lang_admin_index['Database label'] ?></dt>
diff --git a/admin_users.php b/admin_users.php
index a016871..31a7bfa 100644
--- a/admin_users.php
+++ b/admin_users.php
@@ -178,31 +178,40 @@ if (isset($_GET['show_users']))
 			<tbody>
 <?php
 
-	$result = $db->query('SELECT DISTINCT poster_id, poster FROM '.$db->prefix.'posts WHERE poster_ip=\''.$db->escape($ip).'\' ORDER BY poster DESC') or error('Unable to fetch post info', __FILE__, __LINE__, $db->error());
+	$result = $db->query('SELECT DISTINCT poster_id, poster FROM '.$db->prefix.'posts WHERE poster_ip=\''.$db->escape($ip).'\' ORDER BY poster ASC LIMIT '.$start_from.', 50') or error('Unable to fetch post info', __FILE__, __LINE__, $db->error());
 	$num_posts = $db->num_rows($result);
 
 	if ($num_posts)
 	{
-		// Loop through users and print out some info
-		for ($i = 0; $i < $num_posts; ++$i)
+		$posters = $poster_ids = array();
+		while ($cur_poster = $db->fetch_assoc($result))
 		{
-			list($poster_id, $poster) = $db->fetch_row($result);
+			$posters[] = $cur_poster;
+			$poster_ids[] = $cur_poster['poster_id'];
+		}
 
-			$result2 = $db->query('SELECT u.id, u.username, u.email, u.title, u.num_posts, u.admin_note, g.g_id, g.g_user_title FROM '.$db->prefix.'users AS u INNER JOIN '.$db->prefix.'groups AS g ON g.g_id=u.group_id WHERE u.id>1 AND u.id='.$poster_id) or error('Unable to fetch user info', __FILE__, __LINE__, $db->error());
+		$result = $db->query('SELECT u.id, u.username, u.email, u.title, u.num_posts, u.admin_note, g.g_id, g.g_user_title FROM '.$db->prefix.'users AS u INNER JOIN '.$db->prefix.'groups AS g ON g.g_id=u.group_id WHERE u.id>1 AND u.id IN('.implode(',', $poster_ids).')') or error('Unable to fetch user info', __FILE__, __LINE__, $db->error());
 
-			if (($user_data = $db->fetch_assoc($result2)))
+		$user_data = array();
+		while ($cur_user = $db->fetch_assoc($result))
+			$user_data[$cur_user['id']] = $cur_user;
+
+		// Loop through users and print out some info
+		foreach ($posters as $cur_poster)
+		{
+			if (isset($user_data[$cur_poster['poster_id']]))
 			{
-				$user_title = get_title($user_data);
+				$user_title = get_title($user_data[$cur_poster['poster_id']]);
 
-				$actions = '<a href="admin_users.php?ip_stats='.$user_data['id'].'">'.$lang_admin_users['Results view IP link'].'</a> | <a href="search.php?action=show_user_posts&user_id='.$user_data['id'].'">'.$lang_admin_users['Results show posts link'].'</a>';
+				$actions = '<a href="admin_users.php?ip_stats='.$user_data[$cur_poster['poster_id']]['id'].'">'.$lang_admin_users['Results view IP link'].'</a> | <a href="search.php?action=show_user_posts&user_id='.$user_data[$cur_poster['poster_id']]['id'].'">'.$lang_admin_users['Results show posts link'].'</a>';
 
 ?>
 				<tr>
-					<td class="tcl"><?php echo '<a href="profile.php?id='.$user_data['id'].'">'.pun_htmlspecialchars($user_data['username']).'</a>' ?></td>
-					<td class="tc2"><a href="mailto:<?php echo $user_data['email'] ?>"><?php echo $user_data['email'] ?></a></td>
+					<td class="tcl"><?php echo '<a href="profile.php?id='.$user_data[$cur_poster['poster_id']]['id'].'">'.pun_htmlspecialchars($user_data[$cur_poster['poster_id']]['username']).'</a>' ?></td>
+					<td class="tc2"><a href="mailto:<?php echo $user_data[$cur_poster['poster_id']]['email'] ?>"><?php echo $user_data[$cur_poster['poster_id']]['email'] ?></a></td>
 					<td class="tc3"><?php echo $user_title ?></td>
-					<td class="tc4"><?php echo forum_number_format($user_data['num_posts']) ?></td>
-					<td class="tc5"><?php echo ($user_data['admin_note'] != '') ? pun_htmlspecialchars($user_data['admin_note']) : ' ' ?></td>
+					<td class="tc4"><?php echo forum_number_format($user_data[$cur_poster['poster_id']]['num_posts']) ?></td>
+					<td class="tc5"><?php echo ($user_data[$cur_poster['poster_id']]['admin_note'] != '') ? pun_htmlspecialchars($user_data[$cur_poster['poster_id']]['admin_note']) : ' ' ?></td>
 					<td class="tcr"><?php echo $actions ?></td>
 				</tr>
 <?php
@@ -213,7 +222,7 @@ if (isset($_GET['show_users']))
 
 ?>
 				<tr>
-					<td class="tcl"><?php echo pun_htmlspecialchars($poster) ?></td>
+					<td class="tcl"><?php echo pun_htmlspecialchars($cur_poster['poster']) ?></td>
 					<td class="tc2"> </td>
 					<td class="tc3"><?php echo $lang_admin_users['Results guest'] ?></td>
 					<td class="tc4"> </td>
@@ -652,8 +661,9 @@ else if (isset($_POST['ban_users']) || isset($_POST['ban_users_comply']))
 								<tr>
 									<th scope="row"><?php echo $lang_admin_users['Ban IP label'] ?></th>
 									<td>
-										<input type="radio" name="ban_the_ip" tabindex="3" value="1" checked="checked" /> <strong><?php echo $lang_admin_common['Yes'] ?></strong>   <input type="radio" name="ban_the_ip" tabindex="4" value="0" checked="checked" /> <strong><?php echo $lang_admin_common['No'] ?></strong>
-										<span><?php echo $lang_admin_users['Ban IP help'] ?></span>
+										<label class="conl"><input type="radio" name="ban_the_ip" tabindex="3" value="1" checked="checked" /> <strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
+										<label class="conl"><input type="radio" name="ban_the_ip" tabindex="4" value="0" checked="checked" /> <strong><?php echo $lang_admin_common['No'] ?></strong></label>
+										<span class="clearb"><?php echo $lang_admin_users['Ban IP help'] ?></span>
 									</td>
 								</tr>
 							</table>
diff --git a/db_update.php b/db_update.php
index 7ebc989..0dea9fb 100644
--- a/db_update.php
+++ b/db_update.php
@@ -7,7 +7,7 @@
  */
 
 // The FluxBB version this script updates to
-define('UPDATE_TO', '1.5.0');
+define('UPDATE_TO', '1.5.1');
 
 define('UPDATE_TO_DB_REVISION', 18);
 define('UPDATE_TO_SI_REVISION', 2);
@@ -358,7 +358,7 @@ function convert_table_utf8($table, $callback, $old_charset, $key = null, $start
 	$end_at = 0;
 	if ($mysql)
 	{
-		// Only set up the tables if we are doing this in 1 go, or its the first go
+		// Only set up the tables if we are doing this in 1 go, or it's the first go
 		if (is_null($start_at) || $start_at == 0)
 		{
 			// Drop any temp table that exists, in-case it's left over from a failed update
@@ -400,7 +400,7 @@ function convert_table_utf8($table, $callback, $old_charset, $key = null, $start
 			$finished = $db->num_rows($result) == 0;
 		}
 
-		// Only swap the tables if we are doing this in 1 go, or its the last go
+		// Only swap the tables if we are doing this in 1 go, or it's the last go
 		if ($finished)
 		{
 			// Delete old table
@@ -713,10 +713,10 @@ switch ($stage)
 		// Add the DST option to the users table
 		$db->add_field('users', 'dst', 'TINYINT(1)', false, 0, 'timezone') or error('Unable to add dst field', __FILE__, __LINE__, $db->error());
 
-		// Add the last_post field to the online table
+		// Add the last_post column to the online table
 		$db->add_field('online', 'last_post', 'INT(10) UNSIGNED', true, null, null) or error('Unable to add last_post field', __FILE__, __LINE__, $db->error());
 
-		// Add the last_search field to the online table
+		// Add the last_search column to the online table
 		$db->add_field('online', 'last_search', 'INT(10) UNSIGNED', true, null, null) or error('Unable to add last_search field', __FILE__, __LINE__, $db->error());
 
 		// Add the last_search column to the users table
@@ -975,7 +975,7 @@ switch ($stage)
 		if (!$db->add_index('users', 'username_idx', array($field), true))
 			$db->add_index('users', 'username_idx', array($field)) or error('Unable to add username_idx field', __FILE__, __LINE__, $db->error());
 
-		// Add g_view_users field to groups table
+		// Add g_view_users column to groups table
 		$db->add_field('groups', 'g_view_users', 'TINYINT(1)', false, 1, 'g_read_board') or error('Unable to add g_view_users field', __FILE__, __LINE__, $db->error());
 
 		// Add the last_email_sent column to the users table and the g_send_email and
@@ -1019,20 +1019,20 @@ switch ($stage)
 		$db->add_field('users', 'time_format', 'TINYINT(1)', false, 0, 'dst') or error('Unable to add time_format field', __FILE__, __LINE__, $db->error());
 		$db->add_field('users', 'date_format', 'TINYINT(1)', false, 0, 'dst') or error('Unable to add date_format field', __FILE__, __LINE__, $db->error());
 
-		// Change the search_data field to mediumtext
+		// Change the search_data column to mediumtext
 		$db->alter_field('search_cache', 'search_data', 'MEDIUMTEXT', true) or error('Unable to alter search_data field', __FILE__, __LINE__, $db->error());
 
-		// Add the group promotion fields to the groups table
+		// Add the group promotion columns to the groups table
 		$db->add_field('groups', 'g_promote_min_posts', 'INT(10) UNSIGNED', false, 0, 'g_user_title') or error('Unable to add g_promote_min_posts field', __FILE__, __LINE__, $db->error());
 		$db->add_field('groups', 'g_promote_next_group', 'INT(10) UNSIGNED', false, 0, 'g_promote_min_posts') or error('Unable to add g_promote_next_group field', __FILE__, __LINE__, $db->error());
 
 		// Add a field for the per-group permission to post links
 		$db->add_field('groups', 'g_post_links', 'TINYINT(1)', false, 1, 'g_delete_topics') or error('Unable to add per-group permission to post links', __FILE__, __LINE__, $db->error());
 
-		// Incase we had the fulltext search extension installed (1.3-legacy), remove it
+		// In case we had the fulltext search extension installed (1.3-legacy), remove it
 		$db->drop_index('topics', 'subject_idx') or error('Unable to drop subject_idx index', __FILE__, __LINE__, $db->error());
 		$db->drop_index('posts', 'message_idx') or error('Unable to drop message_idx index', __FILE__, __LINE__, $db->error());
-		// Incase we had the fulltext search mod installed (1.2), remove it
+		// In case we had the fulltext search mod installed (1.2), remove it
 		$db->drop_index('topics', 'subject_fulltext_search') or error('Unable to drop subject_fulltext_search index', __FILE__, __LINE__, $db->error());
 		$db->drop_index('posts', 'message_fulltext_search') or error('Unable to drop message_fulltext_search index', __FILE__, __LINE__, $db->error());
 
diff --git a/delete.php b/delete.php
index f022f53..88bab6d 100644
--- a/delete.php
+++ b/delete.php
@@ -55,7 +55,7 @@ if (isset($_POST['delete']))
 
 	if ($is_topic_post)
 	{
-		// Delete the topic and all of it's posts
+		// Delete the topic and all of its posts
 		delete_topic($cur_post['tid']);
 		update_forum($cur_post['fid']);
 
diff --git a/edit.php b/edit.php
index b2f3e50..f3346cf 100644
--- a/edit.php
+++ b/edit.php
@@ -44,7 +44,7 @@ if (($pun_user['g_edit_posts'] == '0' ||
 	!$is_admmod)
 	message($lang_common['No permission'], false, '403 Forbidden');
 
-// Load the post.php/edit.php language file
+// Load the post.php language file
 require PUN_ROOT.'lang/'.$pun_user['language'].'/post.php';
 
 // Start with a clean slate
@@ -226,7 +226,7 @@ else if (isset($_POST['preview']))
 						<textarea name="req_message" rows="20" cols="95" tabindex="<?php echo $cur_index++ ?>"><?php echo pun_htmlspecialchars(isset($_POST['req_message']) ? $message : $cur_post['message']) ?></textarea><br /></label>
 						<ul class="bblinks">
 							<li><span><a href="help.php#bbcode" onclick="window.open(this.href); return false;"><?php echo $lang_common['BBCode'] ?></a> <?php echo ($pun_config['p_message_bbcode'] == '1') ? $lang_common['on'] : $lang_common['off']; ?></span></li>
-							<li><span><a href="help.php#url" onclick="window.open(this.href); return false;"><?php echo $lang_common['url tag'] ?></a> <?php echo ($pun_config['p_message_bbcode'] == '1' && $pun_user['g_post_links'] == '1') ? $lang_common['on'] : $lang_common['off']; ?></span>
+							<li><span><a href="help.php#url" onclick="window.open(this.href); return false;"><?php echo $lang_common['url tag'] ?></a> <?php echo ($pun_config['p_message_bbcode'] == '1' && $pun_user['g_post_links'] == '1') ? $lang_common['on'] : $lang_common['off']; ?></span></li>
 							<li><span><a href="help.php#img" onclick="window.open(this.href); return false;"><?php echo $lang_common['img tag'] ?></a> <?php echo ($pun_config['p_message_bbcode'] == '1' && $pun_config['p_message_img_tag'] == '1') ? $lang_common['on'] : $lang_common['off']; ?></span></li>
 							<li><span><a href="help.php#smilies" onclick="window.open(this.href); return false;"><?php echo $lang_common['Smilies'] ?></a> <?php echo ($pun_config['o_smilies'] == '1') ? $lang_common['on'] : $lang_common['off']; ?></span></li>
 						</ul>
diff --git a/header.php b/header.php
index b4905aa..7c5b204 100644
--- a/header.php
+++ b/header.php
@@ -17,7 +17,7 @@ header('Cache-Control: post-check=0, pre-check=0', false);
 header('Pragma: no-cache'); // For HTTP/1.0 compatibility
 
 // Send the Content-type header in case the web server is setup to send something else
-header('Content-type: text/html; charset=utf-8');
+header('Content-type: '.get_mime().'; charset=utf-8');
 
 // Load the template
 if (defined('PUN_ADMIN_CONSOLE'))
@@ -41,19 +41,27 @@ else
 $tpl_main = file_get_contents($tpl_file);
 
 // START SUBST - <pun_include "*">
-preg_match_all('%<pun_include "([^/\\\\]*?)\.(php[45]?|inc|html?|txt)">%i', $tpl_main, $pun_includes, PREG_SET_ORDER);
+preg_match_all('%<pun_include "([^"]+)">%i', $tpl_main, $pun_includes, PREG_SET_ORDER);
 
 foreach ($pun_includes as $cur_include)
 {
 	ob_start();
 
+	$file_info = pathinfo($cur_include[1]);
+	
+	if (!in_array($file_info['extension'], array('php', 'php4', 'php5', 'inc', 'html', 'txt'))) // Allow some extensions
+		error(sprintf($lang_common['Pun include extension'], pun_htmlspecialchars($cur_include[0]), basename($tpl_file), pun_htmlspecialchars($file_info['extension'])));
+		
+	if (strpos($file_info['dirname'], '..') !== false) // Don't allow directory traversal
+		error(sprintf($lang_common['Pun include directory'], pun_htmlspecialchars($cur_include[0]), basename($tpl_file)));
+
 	// Allow for overriding user includes, too.
-	if (file_exists($tpl_inc_dir.$cur_include[1].'.'.$cur_include[2]))
-		require $tpl_inc_dir.$cur_include[1].'.'.$cur_include[2];
-	else if (file_exists(PUN_ROOT.'include/user/'.$cur_include[1].'.'.$cur_include[2]))
-		require PUN_ROOT.'include/user/'.$cur_include[1].'.'.$cur_include[2];
+	if (file_exists($tpl_inc_dir.$cur_include[1]))
+		require $tpl_inc_dir.$cur_include[1];
+	else if (file_exists(PUN_ROOT.'include/user/'.$cur_include[1]))
+		require PUN_ROOT.'include/user/'.$cur_include[1];
 	else
-		error(sprintf($lang_common['Pun include error'], htmlspecialchars($cur_include[0]), basename($tpl_file)));
+		error(sprintf($lang_common['Pun include error'], pun_htmlspecialchars($cur_include[0]), basename($tpl_file)));
 
 	$tpl_temp = ob_get_contents();
 	$tpl_main = str_replace($cur_include[0], $tpl_temp, $tpl_main);
@@ -75,9 +83,11 @@ $tpl_main = str_replace('<pun_content_direction>', $lang_common['lang_direction'
 // START SUBST - <pun_head>
 ob_start();
 
-// Define $p if its not set to avoid a PHP notice
+// Define $p if it's not set to avoid a PHP notice
 $p = isset($p) ? $p : null;
 
+echo '<meta http-equiv="Content-Type" content="'.get_mime().'; charset=utf-8" />'."\n";
+
 // Is this a page that we want search index spiders to index?
 if (!defined('PUN_ALLOW_INDEX'))
 	echo '<meta name="ROBOTS" content="NOINDEX, FOLLOW" />'."\n";
diff --git a/help.php b/help.php
index d6e367d..7ab702c 100644
--- a/help.php
+++ b/help.php
@@ -56,8 +56,8 @@ require PUN_ROOT.'header.php';
 		<p><a name="url"></a><code>[url=<?php echo pun_htmlspecialchars(get_base_url(true).'/') ?>]<?php echo pun_htmlspecialchars($pun_config['o_board_title']) ?>[/url]</code> <?php echo $lang_help['produces'] ?> <samp><a href="<?php echo pun_htmlspecialchars(get_base_url(true).'/') ?>"><?php echo pun_htmlspecialchars($pun_config['o_board_title']) ?></a></samp></p>
 		<p><code>[url]<?php echo pun_htmlspecialchars(get_base_url(true).'/') ?>[/url]</code> <?php echo $lang_help['produces'] ?> <samp><a href="<?php echo pun_htmlspecialchars(get_base_url(true).'/') ?>"><?php echo pun_htmlspecialchars(get_base_url(true).'/') ?></a></samp></p>
 		<p><code>[url=/help.php]<?php echo $lang_help['This help page'] ?>[/url]</code> <?php echo $lang_help['produces'] ?> <samp><a href="<?php echo pun_htmlspecialchars(get_base_url(true).'/help.php') ?>"><?php echo $lang_help['This help page'] ?></a></samp></p>
-		<p><code>[email]myname at mydomain.com[/email]</code> <?php echo $lang_help['produces'] ?> <samp><a href="mailto:myname at mydomain.com">myname at mydomain.com</a></samp></p>
-		<p><code>[email=myname at mydomain.com]<?php echo $lang_help['My email address'] ?>[/email]</code> <?php echo $lang_help['produces'] ?> <samp><a href="mailto:myname at mydomain.com"><?php echo $lang_help['My email address'] ?></a></samp></p>
+		<p><code>[email]myname at example.com[/email]</code> <?php echo $lang_help['produces'] ?> <samp><a href="mailto:myname at example.com">myname at example.com</a></samp></p>
+		<p><code>[email=myname at example.com]<?php echo $lang_help['My email address'] ?>[/email]</code> <?php echo $lang_help['produces'] ?> <samp><a href="mailto:myname at example.com"><?php echo $lang_help['My email address'] ?></a></samp></p>
 		<p><code>[topic=1]<?php echo $lang_help['Test topic'] ?>[/topic]</code> <?php echo $lang_help['produces'] ?> <samp><a href="<?php echo pun_htmlspecialchars(get_base_url(true).'/viewtopic.php?id=1') ?>"><?php echo $lang_help['Test topic'] ?></a></samp></p>
 		<p><code>[topic]1[/topic]</code> <?php echo $lang_help['produces'] ?> <samp><a href="<?php echo pun_htmlspecialchars(get_base_url(true).'/viewtopic.php?id=1') ?>"><?php echo pun_htmlspecialchars(get_base_url(true).'/viewtopic.php?id=1') ?></a></samp></p>
 		<p><code>[post=1]<?php echo $lang_help['Test post'] ?>[/post]</code> <?php echo $lang_help['produces'] ?> <samp><a href="<?php echo pun_htmlspecialchars(get_base_url(true).'/viewtopic.php?pid=1#p1') ?>"><?php echo $lang_help['Test post'] ?></a></samp></p>
diff --git a/include/common.php b/include/common.php
index fe7c817..0b314ea 100644
--- a/include/common.php
+++ b/include/common.php
@@ -10,7 +10,7 @@ if (!defined('PUN_ROOT'))
 	exit('The constant PUN_ROOT must be defined and point to a valid FluxBB installation root directory.');
 
 // Define the version and database revision that this code was written for
-define('FORUM_VERSION', '1.5.0');
+define('FORUM_VERSION', '1.5.1');
 
 define('FORUM_DB_REVISION', 18);
 define('FORUM_SI_REVISION', 2);
diff --git a/include/dblayer/mysqli.php b/include/dblayer/mysqli.php
index 8b2675b..906a7ac 100644
--- a/include/dblayer/mysqli.php
+++ b/include/dblayer/mysqli.php
@@ -310,7 +310,7 @@ class DBLayer
 
 	function rename_table($old_table, $new_table, $no_prefix = false)
 	{
-		// If there new table exists and the old one doesn't, then we're happy
+		// If the new table exists and the old one doesn't, then we're happy
 		if ($this->table_exists($new_table, $no_prefix) && !$this->table_exists($old_table, $no_prefix))
 			return true;
 
diff --git a/include/dblayer/pgsql.php b/include/dblayer/pgsql.php
index 3a73118..a3d7574 100644
--- a/include/dblayer/pgsql.php
+++ b/include/dblayer/pgsql.php
@@ -354,7 +354,7 @@ class DBLayer
 
 	function rename_table($old_table, $new_table, $no_prefix = false)
 	{
-		// If there new table exists and the old one doesn't, then we're happy
+		// If the new table exists and the old one doesn't, then we're happy
 		if ($this->table_exists($new_table, $no_prefix) && !$this->table_exists($old_table, $no_prefix))
 			return true;
 
diff --git a/include/dblayer/sqlite.php b/include/dblayer/sqlite.php
index e83ec70..6661840 100644
--- a/include/dblayer/sqlite.php
+++ b/include/dblayer/sqlite.php
@@ -351,7 +351,7 @@ class DBLayer
 
 	function rename_table($old_name, $new_name, $no_prefix = false)
 	{
-		// If there new table exists and the old one doesn't, then we're happy
+		// If the new table exists and the old one doesn't, then we're happy
 		if ($this->table_exists($new_table, $no_prefix) && !$this->table_exists($old_table, $no_prefix))
 			return true;
 
@@ -420,7 +420,7 @@ class DBLayer
 	}
 
 
-	function add_field($table_name, $field_name, $field_type, $allow_null, $default_value = null, $after_field = 0, $no_prefix = false)
+	function add_field($table_name, $field_name, $field_type, $allow_null, $default_value = null, $after_field = null, $no_prefix = false)
 	{
 		if ($this->field_exists($table_name, $field_name, $no_prefix))
 			return true;
@@ -444,7 +444,21 @@ class DBLayer
 		$query .= ' DEFAULT '.$default_value;
 
 		$old_columns = array_keys($table['columns']);
-		array_insert($table['columns'], $after_field, $query, $field_name);
+
+		// Determine the proper offset
+		if (!is_null($after_field))
+			$offset = array_search($after_field, array_keys($table['columns']), true) + 1;
+		else
+			$offset = count($table['columns']);
+
+		// Out of bounds checks
+		if ($offset > count($table['columns']))
+			$offset = count($table['columns']);
+		else if ($offset < 0)
+			$offset = 0;
+
+		if (!is_null($field_name) && $field_name !== '')
+			$table['columns'] = array_merge(array_slice($table['columns'], 0, $offset), array($field_name => $query), array_slice($table['columns'], $offset));
 
 		$new_table = 'CREATE TABLE '.($no_prefix ? '' : $this->prefix).$this->escape($table_name).' (';
 
diff --git a/include/email.php b/include/email.php
index 85543d1..930e963 100644
--- a/include/email.php
+++ b/include/email.php
@@ -158,7 +158,7 @@ function bbcode2email($text, $wrap_length = 72)
 				$replacement = '['.str_replace('$1', $matches[3], $url).']';
 		}
 
-		// Update the main text if there is a replacment
+		// Update the main text if there is a replacement
 		if (!is_null($replacement))
 		{
 			$text = str_replace($matches[0], $replacement, $text);
@@ -229,14 +229,14 @@ function pun_mail($to, $subject, $message, $reply_to_email = '', $reply_to_name
 	$from = '"'.encode_mail_text($from_name).'" <'.$from_email.'>';
 	$subject = encode_mail_text($subject);
 
-	$headers = 'From: '.$from."\r\n".'Date: '.gmdate('r')."\r\n".'MIME-Version: 1.0'."\r\n".'Content-transfer-encoding: 8bit'."\r\n".'Content-type: text/plain; charset=utf-8'."\r\n".'X-Mailer: FluxBB Mailer';
+	$headers = 'From: '.$from.PHP_EOL.'Date: '.gmdate('r').PHP_EOL.'MIME-Version: 1.0'.PHP_EOL.'Content-transfer-encoding: 8bit'.PHP_EOL.'Content-type: text/plain; charset=utf-8'.PHP_EOL.'X-Mailer: FluxBB Mailer';
 
 	// If we specified a reply-to email, we deal with it here
 	if (!empty($reply_to_email))
 	{
 		$reply_to = '"'.encode_mail_text($reply_to_name).'" <'.$reply_to_email.'>';
 
-		$headers .= "\r\n".'Reply-To: '.$reply_to;
+		$headers .= PHP_EOL.'Reply-To: '.$reply_to;
 	}
 
 	// Make sure all linebreaks are LF in message (and strip out any NULL bytes)
@@ -260,7 +260,7 @@ function pun_mail($to, $subject, $message, $reply_to_email = '', $reply_to_name
 
 //
 // This function was originally a part of the phpBB Group forum software phpBB2 (http://www.phpbb.com)
-// They deserve all the credit for writing it. I made small modifications for it to suit PunBB and it's coding standards
+// They deserve all the credit for writing it. I made small modifications for it to suit PunBB and its coding standards
 //
 function server_parse($socket, $expected_response)
 {
@@ -278,7 +278,7 @@ function server_parse($socket, $expected_response)
 
 //
 // This function was originally a part of the phpBB Group forum software phpBB2 (http://www.phpbb.com)
-// They deserve all the credit for writing it. I made small modifications for it to suit PunBB and it's coding standards.
+// They deserve all the credit for writing it. I made small modifications for it to suit PunBB and its coding standards.
 //
 function smtp_mail($to, $subject, $message, $headers = '')
 {
@@ -309,7 +309,20 @@ function smtp_mail($to, $subject, $message, $headers = '')
 
 	if ($pun_config['o_smtp_user'] != '' && $pun_config['o_smtp_pass'] != '')
 	{
-		fwrite($socket, 'EHLO '.$smtp_host."\r\n");
+		// Here we try to determine the *real* hostname (reverse DNS entry preferably)
+		$local_host = php_uname('n');
+
+		// Able to resolve name to IP
+		if (($local_addr = @gethostbyname($local_host)) !== $local_host)
+		{
+			// Able to resolve IP back to name
+			if (($local_name = @gethostbyaddr($local_addr)) !== $local_addr)
+			{
+				$local_host = $local_name;
+			}
+		}
+
+		fwrite($socket, 'EHLO '.$local_host."\r\n");
 		server_parse($socket, '250');
 
 		fwrite($socket, 'AUTH LOGIN'."\r\n");
diff --git a/include/functions.php b/include/functions.php
index b443116..4e3ec8a 100644
--- a/include/functions.php
+++ b/include/functions.php
@@ -704,7 +704,7 @@ function delete_avatar($user_id)
 
 
 //
-// Delete a topic and all of it's posts
+// Delete a topic and all of its posts
 //
 function delete_topic($topic_id)
 {
@@ -876,7 +876,7 @@ function paginate($num_pages, $cur_page, $link)
 	{
 		// Add a previous page link
 		if ($num_pages > 1 && $cur_page > 1)
-			$pages[] = '<a rel="prev" '.(empty($pages) ? ' class="item1"' : '').' href="'.$link.'&p='.($cur_page - 1).'">'.$lang_common['Previous'].'</a>';
+			$pages[] = '<a rel="prev"'.(empty($pages) ? ' class="item1"' : '').' href="'.$link.'&p='.($cur_page - 1).'">'.$lang_common['Previous'].'</a>';
 
 		if ($cur_page > 3)
 		{
@@ -907,7 +907,7 @@ function paginate($num_pages, $cur_page, $link)
 
 		// Add a next page link
 		if ($num_pages > 1 && !$link_to_all && $cur_page < $num_pages)
-			$pages[] = '<a rel="next" '.(empty($pages) ? ' class="item1"' : '').' href="'.$link.'&p='.($cur_page +1).'">'.$lang_common['Next'].'</a>';
+			$pages[] = '<a rel="next"'.(empty($pages) ? ' class="item1"' : '').' href="'.$link.'&p='.($cur_page +1).'">'.$lang_common['Next'].'</a>';
 	}
 
 	return implode(' ', $pages);
@@ -1205,7 +1205,7 @@ function maintenance_message()
 	header('Pragma: no-cache'); // For HTTP/1.0 compatibility
 
 	// Send the Content-type header in case the web server is setup to send something else
-	header('Content-type: text/html; charset=utf-8');
+	header('Content-type: '.get_mime().'; charset=utf-8');
 
 	// Deal with newlines, tabs and multiple spaces
 	$pattern = array("\t", '  ', '  ');
@@ -1263,6 +1263,7 @@ function maintenance_message()
 	$page_title = array(pun_htmlspecialchars($pun_config['o_board_title']), $lang_common['Maintenance']);
 
 ?>
+<meta http-equiv="Content-Type" content="<?php echo get_mime() ?>; charset=utf-8" />
 <title><?php echo generate_page_title($page_title) ?></title>
 <link rel="stylesheet" type="text/css" href="style/<?php echo $pun_user['style'].'.css' ?>" />
 <?php
@@ -1320,7 +1321,10 @@ function redirect($destination_url, $message)
 
 	// If the delay is 0 seconds, we might as well skip the redirect all together
 	if ($pun_config['o_redirect_delay'] == '0')
+	{
 		header('Location: '.str_replace('&', '&', $destination_url));
+		exit;
+	}
 
 	// Send no-cache headers
 	header('Expires: Thu, 21 Jul 1977 07:30:00 GMT'); // When yours truly first set eyes on this world! :)
@@ -1329,7 +1333,7 @@ function redirect($destination_url, $message)
 	header('Pragma: no-cache'); // For HTTP/1.0 compatibility
 
 	// Send the Content-type header in case the web server is setup to send something else
-	header('Content-type: text/html; charset=utf-8');
+	header('Content-type: '.get_mime().'; charset=utf-8');
 
 	if (file_exists(PUN_ROOT.'style/'.$pun_user['style'].'/redirect.tpl'))
 	{
@@ -1382,7 +1386,8 @@ function redirect($destination_url, $message)
 	$page_title = array(pun_htmlspecialchars($pun_config['o_board_title']), $lang_common['Redirecting']);
 
 ?>
-<meta http-equiv="refresh" content="<?php echo $pun_config['o_redirect_delay'] ?>;URL=<?php echo str_replace(array('<', '>', '"'), array('<', '>', '"'), $destination_url) ?>" />
+<meta http-equiv="Content-Type" content="<?php echo get_mime() ?>; charset=utf-8" />
+<meta http-equiv="refresh" content="<?php echo $pun_config['o_redirect_delay'] ?>;URL=<?php echo $destination_url ?>" />
 <title><?php echo generate_page_title($page_title) ?></title>
 <link rel="stylesheet" type="text/css" href="style/<?php echo $pun_user['style'].'.css' ?>" />
 <?php
@@ -2030,6 +2035,21 @@ function forum_is_writable($path)
 }
 
 
+//
+// This function returns the correct mime type to serve with XHTML
+//
+function get_mime()
+{
+	if (isset($_SERVER['HTTP_ACCEPT']) && strpos($_SERVER['HTTP_ACCEPT'], 'application/xhtml+xml') !== false)
+		return 'application/xhtml+xml';
+	// special check for the W3C validation service
+	else if (isset($_SERVER['HTTP_USER_AGENT']) && strpos($_SERVER['HTTP_USER_AGENT'], 'W3C_Validator') !== false)
+		return 'application/xhtml+xml';
+	else
+		return 'text/html';
+}
+
+
 // DEBUG FUNCTIONS BELOW
 
 //
diff --git a/include/parser.php b/include/parser.php
index 9ba708b..45db684 100644
--- a/include/parser.php
+++ b/include/parser.php
@@ -66,6 +66,22 @@ function preparse_bbcode($text, &$errors, $is_signature = false)
 {
 	global $pun_config, $lang_common, $lang_post, $re_list;
 
+	// Remove empty tags
+	while (($new_text = strip_empty_bbcode($text)) !== false)
+	{
+		if ($new_text != $text)
+		{
+			$text = $new_text;
+			if ($new_text == '')
+			{
+				$errors[] = $lang_post['Empty after strip'];
+				return '';
+			}
+		}
+		else
+			break;
+	}
+
 	if ($is_signature)
 	{
 		global $lang_profile;
@@ -661,6 +677,9 @@ function handle_url_tag($url, $link = '', $bbcode = false)
 	else if (!preg_match('#^([a-z0-9]{3,6})://#', $url)) // Else if it doesn't start with abcdef://, we add http://
 		$full_url = 'http://'.$full_url;
 
+	if ($bbcode === false && url_valid($full_url) === false)
+		$bbcode = true;
+
 	// Ok, not very pretty :-)
 	if ($bbcode)
 	{
@@ -832,7 +851,7 @@ function do_clickable($text)
 	$text = ' '.$text;
 
 	$text = ucp_preg_replace('%(?<=[\s\]\)])(<)?(\[)?(\()?([\'"]?)(https?|ftp|news){1}://([\p{L}\p{N}\-]+\.([\p{L}\p{N}\-]+\.)*[\p{L}\p{N}]+(:[0-9]+)?(/(?:[^\s\[]*[^\s.,?!\[;:-])?)?)\4(?(3)(\)))(?(2)(\]))(?(1)(>))(?![^\s]*\[/(?:url|img)\])%uie', 'stripslashes(\'$1$2$3$4\').handle_url_tag(\'$5://$6\', \'$5://$6\', true).stripslashes(\'$4$10$11$12\')', $text);
-	$text = ucp_preg_replace('%(?<=[\s\]\)])(<)?(\[)?(\()?([\'"]?)(www|ftp)\.(([\p{L}\p{N}\-]+\.)*[\p{L}\p{N}]+(:[0-9]+)?(/(?:[^\s\[]*[^\s.,?!\[;:-])?)?)\4(?(3)(\)))(?(2)(\]))(?(1)(>))(?![^\s]*\[/(?:url|img)\])%uie', 'stripslashes(\'$1$2$3$4\').handle_url_tag(\'$5.$6\', \'$5.$6\', true).stripslashes(\'$4$10$11$12\')', $text);
+	$text = ucp_preg_replace('%(?<=[\s\]\)])(<)?(\[)?(\()?([\'"]?)(www|ftp)\.(([\p{L}\p{N}\-]+\.)+[\p{L}\p{N}]+(:[0-9]+)?(/(?:[^\s\[]*[^\s.,?!\[;:-])?)?)\4(?(3)(\)))(?(2)(\]))(?(1)(>))(?![^\s]*\[/(?:url|img)\])%uie', 'stripslashes(\'$1$2$3$4\').handle_url_tag(\'$5.$6\', \'$5.$6\', true).stripslashes(\'$4$10$11$12\')', $text);
 
 	return substr($text, 1);
 }
diff --git a/include/search_idx.php b/include/search_idx.php
index 550f348..49fe257 100644
--- a/include/search_idx.php
+++ b/include/search_idx.php
@@ -104,7 +104,7 @@ function validate_search_word($word, $idx)
 	if (in_array($word, $stopwords))
 		return false;
 
-	// If the word if CJK we don't want to index it, but we do want to be allowed to search it
+	// If the word is CJK we don't want to index it, but we do want to be allowed to search it
 	if (is_cjk($word))
 		return !$idx;
 
diff --git a/include/template/admin.tpl b/include/template/admin.tpl
index 5bfc4fa..4ab3730 100644
--- a/include/template/admin.tpl
+++ b/include/template/admin.tpl
@@ -1,7 +1,6 @@
 <!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" xml:lang="<pun_language>" lang="<pun_language>" dir="<pun_content_direction>">
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <pun_head>
 <link rel="stylesheet" media="screen" type="text/css" href="/style/header.css" />
 <style type="text/css">
diff --git a/include/template/help.tpl b/include/template/help.tpl
index 58fec14..ec93d77 100644
--- a/include/template/help.tpl
+++ b/include/template/help.tpl
@@ -1,7 +1,6 @@
 <!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" xml:lang="<pun_language>" lang="<pun_language>" dir="<pun_content_direction>">
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <pun_head>
 </head>
 
diff --git a/include/template/main.tpl b/include/template/main.tpl
index b62bbd7..40b8b3a 100644
--- a/include/template/main.tpl
+++ b/include/template/main.tpl
@@ -1,7 +1,6 @@
 <!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" xml:lang="<pun_language>" lang="<pun_language>" dir="<pun_content_direction>">
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <pun_head>
 <link rel="stylesheet" media="screen" type="text/css" href="/style/header.css" />
 <style type="text/css">
diff --git a/include/template/maintenance.tpl b/include/template/maintenance.tpl
index 56edc49..f3283ea 100644
--- a/include/template/maintenance.tpl
+++ b/include/template/maintenance.tpl
@@ -1,7 +1,6 @@
 <!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" xml:lang="<pun_language>" lang="<pun_language>" dir="<pun_content_direction>">
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <pun_head>
 </head>
 
diff --git a/include/template/redirect.tpl b/include/template/redirect.tpl
index 31f5f19..ec475b0 100644
--- a/include/template/redirect.tpl
+++ b/include/template/redirect.tpl
@@ -1,7 +1,6 @@
 <!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" xml:lang="<pun_language>" lang="<pun_language>" dir="<pun_content_direction>">
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <pun_head>
 </head>
 
diff --git a/lang/English/admin_categories.php b/lang/English/admin_categories.php
index 311a5af..f19054d 100644
--- a/lang/English/admin_categories.php
+++ b/lang/English/admin_categories.php
@@ -1,6 +1,6 @@
 <?php
 
-// Language definitions used in admin-categories.php
+// Language definitions used in admin_categories.php
 $lang_admin_categories = array(
 
 'Must enter name message'		=>	'You must enter a name for the category',
diff --git a/lang/English/admin_common.php b/lang/English/admin_common.php
index 7172658..8f2bd3a 100644
--- a/lang/English/admin_common.php
+++ b/lang/English/admin_common.php
@@ -1,6 +1,6 @@
 <?php
 
-// Language definitions used in admin_common
+// Language definitions used in admin_common.php
 $lang_admin_common = array(
 
 // The menu
@@ -19,6 +19,7 @@ $lang_admin_common = array(
 'Prune'					=>	'Prune',
 'Maintenance'			=>	'Maintenance',
 'Reports'				=>	'Reports',
+'Server statistics'				=>	'Server statistics',
 
 'Admin'					=>	'Admin',
 'Go back'				=>	'Go back',
diff --git a/lang/English/admin_forums.php b/lang/English/admin_forums.php
index c933602..15accaa 100644
--- a/lang/English/admin_forums.php
+++ b/lang/English/admin_forums.php
@@ -1,6 +1,6 @@
 <?php
 
-// Language definitions used in admin-forums.php
+// Language definitions used in admin_forums.php
 $lang_admin_forums = array(
 
 'Forum added redirect'		=>	'Forum added. Redirecting …',
diff --git a/lang/English/admin_groups.php b/lang/English/admin_groups.php
index 55d2f50..53149ac 100644
--- a/lang/English/admin_groups.php
+++ b/lang/English/admin_groups.php
@@ -1,6 +1,6 @@
 <?php
 
-// Language definitions used in admin-groups.php
+// Language definitions used in admin_groups.php
 $lang_admin_groups = array(
 
 'Must enter title message'		=>	'You must enter a group title.',
@@ -40,7 +40,7 @@ $lang_admin_groups = array(
 'User title label'				=>	'User title',
 'User title help'				=>	'The rank users in this group have attained. Leave blank to use default title ("%s").',
 'Promote users label'			=>	'Promote users',
-'Promote users help'			=>	'You can promote users to a new group automatically if they reach a certain number of posts. Select "%s" to disable. For security reasons, you are not allowed to select an administrator group here. Also note that group changes for users affected by this setting may only take effect after their next post.',
+'Promote users help'			=>	'You can promote users to a new group automatically if they reach a certain number of posts. Select "%s" to disable. For security reasons, you are not allowed to select an administrator group here. Also note that group changes for users affected by this setting may only take effect after their next post. Note that the amount of posts you enter is the total amount of posts of a user, not the amount of posts made as a member of this group.',
 'Disable promotion'				=>	'Disable promoting',
 'Mod privileges label'			=>	'Allow users moderator privileges',
 'Mod privileges help'			=>	'In order for a user in this group to have moderator abilities, he/she must be assigned to moderate one or more forums. This is done via the user administration page of the user\'s profile.',
diff --git a/lang/English/admin_index.php b/lang/English/admin_index.php
index 4b0a5d8..a304158 100644
--- a/lang/English/admin_index.php
+++ b/lang/English/admin_index.php
@@ -7,7 +7,6 @@ $lang_admin_index = array(
 'Upgrade check failed message'		=>	'Check for upgrade failed for unknown reasons.',
 'Running latest version message'	=>	'You are running the latest version of FluxBB.',
 'New version available message'		=>	'A new version of FluxBB has been released. You can download the latest version at %s.',
-'PHPinfo disabled message'			=>	'The PHP function phpinfo() has been disabled on this server.',
 'Not available'						=>	'Not available',
 'Forum admin head'					=>	'Forum administration',
 'NA'								=>	'N/A',
@@ -21,10 +20,19 @@ $lang_admin_index = array(
 'Welcome 7'							=>	'Set up user groups and promotions.',
 'Welcome 8'							=>	'Prune old posts.',
 'Welcome 9'							=>	'Handle post reports.',
-'Statistics head'					=>	'Statistics',
+'About head'						=>	'About FluxBB',
 'FluxBB version label'				=>	'FluxBB version',
 'Check for upgrade'					=>	'Check for upgrade',
 'FluxBB version data'				=>	'v%s - %s',
+'Server statistics label'			=>	'Server statistics',
+'View server statistics'			=>	'View server statistics',
+'Support label'						=>	'Support',
+'Forum label'						=>	'Forum',
+'IRC label'							=>	'IRC channel',
+
+// Language definitions used in admin_statistics.php
+'PHPinfo disabled message'			=>	'The PHP function phpinfo() has been disabled on this server.',
+'Server statistics head'			=>	'Server statistics',
 'Server load label'					=>	'Server load',
 'Server load data'					=>	'%s - %s user(s) online',
 'Environment label'					=>	'Environment',
@@ -47,5 +55,4 @@ $lang_admin_index = array(
 'Database label'					=>	'Database',
 'Database data rows'				=>	'Rows: %s',
 'Database data size'				=>	'Size: %s',
-
 );
diff --git a/lang/English/admin_options.php b/lang/English/admin_options.php
index 0d5f211..78962e9 100644
--- a/lang/English/admin_options.php
+++ b/lang/English/admin_options.php
@@ -1,6 +1,6 @@
 <?php
 
-// Language definitions used in admin-options.php
+// Language definitions used in admin_options.php
 $lang_admin_options = array(
 
 'Bad HTTP Referer message'			=>	'Bad HTTP_REFERER. If you have moved these forums from one location to another or switched domains, you need to update the Base URL manually in the database (look for o_base_url in the config table) and then clear the cache by deleting all .php files in the /cache directory.',
diff --git a/lang/English/admin_permissions.php b/lang/English/admin_permissions.php
index 3c3600c..8324eda 100644
--- a/lang/English/admin_permissions.php
+++ b/lang/English/admin_permissions.php
@@ -1,6 +1,6 @@
 <?php
 
-// Language definitions used in admin-permissions.php
+// Language definitions used in admin_permissions.php
 $lang_admin_permissions = array(
 
 'Perms updated redirect'	=>	'Permissions updated. Redirecting …',
diff --git a/lang/English/admin_users.php b/lang/English/admin_users.php
index 49fad72..9da2095 100644
--- a/lang/English/admin_users.php
+++ b/lang/English/admin_users.php
@@ -1,6 +1,6 @@
 <?php
 
-// Language definitions used in admin-users.php
+// Language definitions used in admin_users.php
 $lang_admin_users = array(
 
 'Non numeric message'		=>	'You entered a non-numeric value into a numeric only column.',
diff --git a/lang/English/common.php b/lang/English/common.php
index 626ea95..ceb765f 100644
--- a/lang/English/common.php
+++ b/lang/English/common.php
@@ -17,7 +17,9 @@ $lang_common = array(
 'No permission'						=>	'You do not have permission to access this page.',
 'Bad referrer'						=>	'Bad HTTP_REFERER. You were referred to this page from an unauthorized source. If the problem persists please make sure that \'Base URL\' is correctly set in Admin/Options and that you are visiting the forum by navigating to that URL. More information regarding the referrer check can be found in the FluxBB documentation.',
 'No cookie'							=>	'You appear to have logged in successfully, however a cookie has not been set. Please check your settings and if applicable, enable cookies for this website.',
-'Pun include error'					=>	'Unable to process user include %s from template %s. There is no such file in neither the template directory nor in the user include directory.',
+'Pun include extension'  			=>	'Unable to process user include %s from template %s. "%s" files are not allowed',
+'Pun include directory'				=>	'Unable to process user include %s from template %s. Directory traversal is not allowed',
+'Pun include error'					=>	'Unable to process user include %s from template %s. There is no such file in neither the template directory nor in the user include directory',
 
 // Miscellaneous
 'Announcement'						=>	'Announcement',
@@ -41,7 +43,7 @@ $lang_common = array(
 'Required'							=>	'(Required)',
 'required field'					=>	'is a required field in this form.', // For javascript form validation
 'Last post'							=>	'Last post',
-'by'								=>	'by', // As in last post by someuser
+'by'								=>	'by', // As in last post by some user
 'New posts'							=>	'New posts', // The link that leads to the first new post
 'New posts info'					=>	'Go to the first new post in this topic.', // The popup text for new posts links
 'Username'							=>	'Username',
diff --git a/lang/English/login.php b/lang/English/login.php
index 244ee06..ee282d8 100644
--- a/lang/English/login.php
+++ b/lang/English/login.php
@@ -21,6 +21,6 @@ $lang_login = array(
 
 // Forget password mail stuff
 'Forget mail'				=>	'An email has been sent to the specified address with instructions on how to change your password. If it does not arrive you can contact the forum administrator at',
-'Email flood'				=>	'This account has already requested a password reset in the past hour. Please wait a while before requesting a new password again.'
+'Email flood'				=>	'This account has already requested a password reset in the past hour. Please wait %s minutes before requesting a new password again.'
 
 );
diff --git a/lang/English/misc.php b/lang/English/misc.php
index 9bca09c..e11c027 100644
--- a/lang/English/misc.php
+++ b/lang/English/misc.php
@@ -11,7 +11,7 @@ $lang_misc = array(
 'No email subject'				=>	'You must enter a subject.',
 'No email message'				=>	'You must enter a message.',
 'Too long email message'		=>	'Messages cannot be longer than 65535 characters (64 KB).',
-'Email flood'					=>	'At least %s seconds have to pass between sent emails. Please wait a while and try sending again.',
+'Email flood'					=>	'At least %s seconds have to pass between sent emails. Please wait %s seconds and try sending again.',
 'Email sent redirect'			=>	'Email sent. Redirecting …',
 'Send email to'					=>	'Send email to',
 'Email subject'					=>	'Subject',
@@ -22,7 +22,7 @@ $lang_misc = array(
 // Report
 'No reason'						=>	'You must enter a reason.',
 'Reason too long'				=>	'Your message must be under 65535 bytes (~64kb).',
-'Report flood'					=>	'At least %s seconds have to pass between reports. Please wait a while and try sending again.',
+'Report flood'					=>	'At least %s seconds have to pass between reports. Please wait %s seconds and try sending again.',
 'Report redirect'				=>	'Post reported. Redirecting …',
 'Report post'					=>	'Report post',
 'Reason'						=>	'Reason',
diff --git a/lang/English/post.php b/lang/English/post.php
index b89804b..4784a06 100644
--- a/lang/English/post.php
+++ b/lang/English/post.php
@@ -26,8 +26,7 @@ $lang_post = array(
 'Subscribe'			=>	'Subscribe to this topic',
 'Stay subscribed'	=>	'Stay subscribed to this topic',
 'Topic review'		=>	'Topic review (newest first)',
-'Flood start'		=>	'At least',
-'flood end'			=>	'seconds have to pass between posts. Please wait a little while and try posting again.',
+'Flood start'		=>	'At least %s seconds have to pass between posts. Please wait %s seconds and try posting again.',
 'Preview'			=>	'Preview', // submit button to preview message
 
 // Edit post
diff --git a/lang/English/search.php b/lang/English/search.php
index b0f7fba..7029dac 100644
--- a/lang/English/search.php
+++ b/lang/English/search.php
@@ -6,7 +6,7 @@ $lang_search = array(
 // The search form
 'User search'						=>	'User search',
 'No search permission'				=>	'You do not have permission to use the search feature.',
-'Search flood'						=>	'At least %s seconds have to pass between searches. Please wait a while and try searching again.',
+'Search flood'						=>	'At least %s seconds have to pass between searches. Please wait %s seconds and try searching again.',
 'Search'							=>	'Search',
 'Search criteria legend'			=>	'Enter your search criteria',
 'Search info'						=>	'To search by keyword, enter a term or terms to search for. Separate terms with spaces. Use AND, OR and NOT to refine your search. To search by author enter the username of the author whose posts you wish to search for. Use wildcard character * for partial matches.',
diff --git a/login.php b/login.php
index e916ffc..d41accd 100644
--- a/login.php
+++ b/login.php
@@ -16,11 +16,6 @@ require PUN_ROOT.'include/common.php';
 // Load the login.php language file
 require PUN_ROOT.'lang/'.$pun_user['language'].'/login.php';
 
-function un_htmlspecialchars($string)
-{
-	return strtr($string, array_flip(get_html_translation_table(HTML_SPECIALCHARS, ENT_QUOTES)) + array(''' => '\'', ' ' => ' '));
-}
-
 $action = isset($_GET['action']) ? $_GET['action'] : null;
 
 if (isset($_POST['form_sent']) && $action == 'in')
@@ -35,47 +30,34 @@ if (isset($_POST['form_sent']) && $action == 'in')
 	$cur_user = $db->fetch_assoc($result);
 
 	$authorized = false;
-	$update_db_password = false;
 
 	if (!empty($cur_user['password']))
 	{
-		// Will result in a SHA-1 hash
-		$form_password_hash = pun_hash($form_password);
+		$form_password_hash = pun_hash($form_password); // Will result in a SHA-1 hash
 
-		if (strlen($cur_user['password']) != 40)
+		// If there is a salt in the database we have upgraded from 1.3-legacy though haven't yet logged in
+		if (!empty($cur_user['salt']))
 		{
-			// Old SMF 1.0.x password
-			if (md5($form_password) == $cur_user['password'])
+			if (sha1($cur_user['salt'].sha1($form_password)) == $cur_user['password']) // 1.3 used sha1(salt.sha1(pass))
 			{
 				$authorized = true;
-				$update_db_password = true;
+
+				$db->query('UPDATE '.$db->prefix.'users SET password=\''.$form_password_hash.'\', salt=NULL WHERE id='.$cur_user['id']) or error('Unable to update user password', __FILE__, __LINE__, $db->error());
 			}
 		}
-		else
+		// If the length isn't 40 then the password isn't using sha1, so it must be md5 from 1.2
+		else if (strlen($cur_user['password']) != 40)
 		{
-			if ($cur_user['password'] == $form_password_hash)
+			if (md5($form_password) == $cur_user['password'])
 			{
-				// New FluxBB password
 				$authorized = true;
-			}
-			else
-			{
-				// Old SMF 1.1.x password
-				$smf_password_hash = sha1(strtolower($form_username) . un_htmlspecialchars(stripslashes($form_password)));
-				if ($cur_user['password'] == $smf_password_hash)
-				{
-					$authorized = true;
-					$update_db_password = true;
-				}
-			}
-		}
 
-		if ($authorized && $update_db_password)
-		{
-			// Replace the SMF password with an FluxBB password
-			$db->query('UPDATE '.$db->prefix.'users SET password=\''.$form_password_hash.'\' WHERE id='.$cur_user['id']) 
-				or error('Unable to update user password', __FILE__, __LINE__, $db->error());
+				$db->query('UPDATE '.$db->prefix.'users SET password=\''.$form_password_hash.'\' WHERE id='.$cur_user['id']) or error('Unable to update user password', __FILE__, __LINE__, $db->error());
+			}
 		}
+		// Otherwise we should have a normal sha1 password
+		else
+			$authorized = ($cur_user['password'] == $form_password_hash);
 	}
 
 	if (!$authorized)
@@ -93,7 +75,7 @@ if (isset($_POST['form_sent']) && $action == 'in')
 		generate_users_info_cache();
 	}
 
-	// Remove this users guest entry from the online list
+	// Remove this user's guest entry from the online list
 	$db->query('DELETE FROM '.$db->prefix.'online WHERE ident=\''.$db->escape(get_remote_address()).'\'') or error('Unable to delete from online list', __FILE__, __LINE__, $db->error());
 
 	$expire = ($save_pass == '1') ? time() + 1209600 : time() + $pun_config['o_timeout_visit'];
@@ -102,7 +84,7 @@ if (isset($_POST['form_sent']) && $action == 'in')
 	// Reset tracked topics
 	set_tracked_topics(null);
 
-	redirect(htmlspecialchars($_POST['redirect_url']), $lang_login['Login redirect']);
+	redirect(pun_htmlspecialchars($_POST['redirect_url']), $lang_login['Login redirect']);
 }
 
 
@@ -130,7 +112,10 @@ else if ($action == 'out')
 else if ($action == 'forget' || $action == 'forget_2')
 {
 	if (!$pun_user['is_guest'])
+	{
 		header('Location: index.php');
+		exit;
+	}
 
 	if (isset($_POST['form_sent']))
 	{
@@ -167,7 +152,7 @@ else if ($action == 'forget' || $action == 'forget_2')
 				while ($cur_hit = $db->fetch_assoc($result))
 				{
 					if ($cur_hit['last_email_sent'] != '' && (time() - $cur_hit['last_email_sent']) < 3600 && (time() - $cur_hit['last_email_sent']) >= 0)
-						message($lang_login['Email flood'], true);
+						message(sprintf($lang_login['Email flood'], intval((3600 - (time() - $cur_hit['last_email_sent'])) / 60)), true);
 
 					// Generate a new password and a new password activation code
 					$new_password = random_pass(8);
@@ -246,7 +231,10 @@ if (!empty($errors))
 
 
 if (!$pun_user['is_guest'])
+{
 	header('Location: index.php');
+	exit;
+}
 
 // Try to determine if the data in HTTP_REFERER is valid (if not, we redirect to index.php after login)
 if (!empty($_SERVER['HTTP_REFERER']))
@@ -275,6 +263,8 @@ if (!empty($_SERVER['HTTP_REFERER']))
 
 if (!isset($redirect_url))
 	$redirect_url = 'index.php';
+else if (preg_match('%viewtopic\.php\?pid=(\d+)$%', $redirect_url, $matches))
+	$redirect_url .= '#p'.$matches[1];
 
 $page_title = array(pun_htmlspecialchars($pun_config['o_board_title']), $lang_common['Login']);
 $required_fields = array('req_username' => $lang_common['Username'], 'req_password' => $lang_common['Password']);
diff --git a/misc.php b/misc.php
index 46d2707..304d316 100644
--- a/misc.php
+++ b/misc.php
@@ -111,7 +111,7 @@ else if (isset($_GET['email']))
 			message($lang_misc['Too long email message']);
 
 		if ($pun_user['last_email_sent'] != '' && (time() - $pun_user['last_email_sent']) < $pun_user['g_email_flood'] && (time() - $pun_user['last_email_sent']) >= 0)
-			message(sprintf($lang_misc['Email flood'], $pun_user['g_email_flood']));
+			message(sprintf($lang_misc['Email flood'], $pun_user['g_email_flood'], $pun_user['g_email_flood'] - (time() - $pun_user['last_email_sent'])));
 
 		// Load the "form email" template
 		$mail_tpl = trim(file_get_contents(PUN_ROOT.'lang/'.$pun_user['language'].'/mail_templates/form_email.tpl'));
@@ -133,11 +133,11 @@ else if (isset($_GET['email']))
 
 		$db->query('UPDATE '.$db->prefix.'users SET last_email_sent='.time().' WHERE id='.$pun_user['id']) or error('Unable to update user', __FILE__, __LINE__, $db->error());
 
-		redirect(htmlspecialchars($_POST['redirect_url']), $lang_misc['Email sent redirect']);
+		redirect(pun_htmlspecialchars($_POST['redirect_url']), $lang_misc['Email sent redirect']);
 	}
 
 
-	// Try to determine if the data in HTTP_REFERER is valid (if not, we redirect to the users profile after the email is sent)
+	// Try to determine if the data in HTTP_REFERER is valid (if not, we redirect to the user's profile after the email is sent)
 	if (!empty($_SERVER['HTTP_REFERER']))
 	{
 		$referrer = parse_url($_SERVER['HTTP_REFERER']);
@@ -164,6 +164,8 @@ else if (isset($_GET['email']))
 
 	if (!isset($redirect_url))
 		$redirect_url = 'profile.php?id='.$recipient_id;
+	else if (preg_match('%viewtopic\.php\?pid=(\d+)$%', $redirect_url, $matches))
+		$redirect_url .= '#p'.$matches[1];
 
 	$page_title = array(pun_htmlspecialchars($pun_config['o_board_title']), $lang_misc['Send email to'].' '.pun_htmlspecialchars($recipient));
 	$required_fields = array('req_subject' => $lang_misc['Email subject'], 'req_message' => $lang_misc['Email message']);
@@ -219,7 +221,7 @@ else if (isset($_GET['report']))
 			message($lang_misc['Reason too long']);
 
 		if ($pun_user['last_report_sent'] != '' && (time() - $pun_user['last_report_sent']) < $pun_user['g_report_flood'] && (time() - $pun_user['last_report_sent']) >= 0)
-			message(sprintf($lang_misc['Report flood'], $pun_user['g_report_flood']));
+			message(sprintf($lang_misc['Report flood'], $pun_user['g_report_flood'], $pun_user['g_report_flood'] - (time() - $pun_user['last_report_sent'])));
 
 		// Get the topic ID
 		$result = $db->query('SELECT topic_id FROM '.$db->prefix.'posts WHERE id='.$post_id) or error('Unable to fetch post info', __FILE__, __LINE__, $db->error());
diff --git a/moderate.php b/moderate.php
index 4555e31..b56115c 100644
--- a/moderate.php
+++ b/moderate.php
@@ -710,7 +710,7 @@ else if (isset($_POST['delete_topics']) || isset($_POST['delete_topics_comply'])
 					</div>
 				</fieldset>
 			</div>
-			<p class="buttons"><input type="submit" name="delete_topics_comply" value="<?php echo $lang_misc['Delete'] ?>" /><a href="javascript:history.go(-1)"><?php echo $lang_common['Go back'] ?></a></p>
+			<p class="buttons"><input type="submit" name="delete_topics_comply" value="<?php echo $lang_misc['Delete'] ?>" /> <a href="javascript:history.go(-1)"><?php echo $lang_common['Go back'] ?></a></p>
 		</form>
 	</div>
 </div>
diff --git a/post.php b/post.php
index f2c2d65..313f1c2 100644
--- a/post.php
+++ b/post.php
@@ -61,7 +61,7 @@ if (isset($_POST['form_sent']))
 {
 	// Flood protection
 	if (!isset($_POST['preview']) && $pun_user['last_post'] != '' && (time() - $pun_user['last_post']) < $pun_user['g_post_flood'])
-		$errors[] = $lang_post['Flood start'].' '.$pun_user['g_post_flood'].' '.$lang_post['flood end'];
+		$errors[] = sprintf($lang_post['Flood start'], $pun_user['g_post_flood'], $pun_user['g_post_flood'] - (time() - $pun_user['last_post']));
 
 	// If it's a new topic
 	if ($fid)
@@ -108,7 +108,7 @@ if (isset($_POST['form_sent']))
 				$errors[] = $lang_common['Invalid email'];
 
 			// Check if it's a banned email address
-			// we should only check guests because members addresses are already verified
+			// we should only check guests because members' addresses are already verified
 			if ($pun_user['is_guest'] && is_banned_email($email))
 			{
 				if ($pun_config['p_allow_banned_email'] == '0')
@@ -638,7 +638,7 @@ if ($fid): ?>
 						<textarea name="req_message" rows="20" cols="95" tabindex="<?php echo $cur_index++ ?>"><?php echo isset($_POST['req_message']) ? pun_htmlspecialchars($orig_message) : (isset($quote) ? $quote : ''); ?></textarea><br /></label>
 						<ul class="bblinks">
 							<li><span><a href="help.php#bbcode" onclick="window.open(this.href); return false;"><?php echo $lang_common['BBCode'] ?></a> <?php echo ($pun_config['p_message_bbcode'] == '1') ? $lang_common['on'] : $lang_common['off']; ?></span></li>
-							<li><span><a href="help.php#url" onclick="window.open(this.href); return false;"><?php echo $lang_common['url tag'] ?></a> <?php echo ($pun_config['p_message_bbcode'] == '1' && $pun_user['g_post_links'] == '1') ? $lang_common['on'] : $lang_common['off']; ?></span>
+							<li><span><a href="help.php#url" onclick="window.open(this.href); return false;"><?php echo $lang_common['url tag'] ?></a> <?php echo ($pun_config['p_message_bbcode'] == '1' && $pun_user['g_post_links'] == '1') ? $lang_common['on'] : $lang_common['off']; ?></span></li>
 							<li><span><a href="help.php#img" onclick="window.open(this.href); return false;"><?php echo $lang_common['img tag'] ?></a> <?php echo ($pun_config['p_message_bbcode'] == '1' && $pun_config['p_message_img_tag'] == '1') ? $lang_common['on'] : $lang_common['off']; ?></span></li>
 							<li><span><a href="help.php#smilies" onclick="window.open(this.href); return false;"><?php echo $lang_common['Smilies'] ?></a> <?php echo ($pun_config['o_smilies'] == '1') ? $lang_common['on'] : $lang_common['off']; ?></span></li>
 						</ul>
@@ -647,7 +647,7 @@ if ($fid): ?>
 <?php
 
 $checkboxes = array();
-if ($is_admmod)
+if ($fid && $is_admmod)
 	$checkboxes[] = '<label><input type="checkbox" name="stick_topic" value="1" tabindex="'.($cur_index++).'"'.(isset($_POST['stick_topic']) ? ' checked="checked"' : '').' />'.$lang_common['Stick topic'].'<br /></label>';
 
 if (!$pun_user['is_guest'])
diff --git a/profile.php b/profile.php
index fd02ba9..3902a0b 100644
--- a/profile.php
+++ b/profile.php
@@ -28,7 +28,7 @@ if ($action != 'change_pass' || !isset($_GET['key']))
 		message($lang_common['No permission'], false, '403 Forbidden');
 }
 
-// Load the profile.php/register.php language file
+// Load the prof_reg.php language file
 require PUN_ROOT.'lang/'.$pun_user['language'].'/prof_reg.php';
 
 // Load the profile.php language file
@@ -61,12 +61,12 @@ if ($action == 'change_pass')
 		}
 	}
 
-	// Make sure we are allowed to change this users password
+	// Make sure we are allowed to change this user's password
 	if ($pun_user['id'] != $id)
 	{
-		if (!$pun_user['is_admmod']) // A regular user trying to change another users password?
+		if (!$pun_user['is_admmod']) // A regular user trying to change another user's password?
 			message($lang_common['No permission'], false, '403 Forbidden');
-		else if ($pun_user['g_moderator'] == '1') // A moderator trying to change a users password?
+		else if ($pun_user['g_moderator'] == '1') // A moderator trying to change a user's password?
 		{
 			$result = $db->query('SELECT u.group_id, g.g_moderator FROM '.$db->prefix.'users AS u INNER JOIN '.$db->prefix.'groups AS g ON (g.g_id=u.group_id) WHERE u.id='.$id) or error('Unable to fetch user info', __FILE__, __LINE__, $db->error());
 			if (!$db->num_rows($result))
@@ -157,12 +157,12 @@ if ($action == 'change_pass')
 
 else if ($action == 'change_email')
 {
-	// Make sure we are allowed to change this users email
+	// Make sure we are allowed to change this user's email
 	if ($pun_user['id'] != $id)
 	{
-		if (!$pun_user['is_admmod']) // A regular user trying to change another users email?
+		if (!$pun_user['is_admmod']) // A regular user trying to change another user's email?
 			message($lang_common['No permission'], false, '403 Forbidden');
-		else if ($pun_user['g_moderator'] == '1') // A moderator trying to change a users email?
+		else if ($pun_user['g_moderator'] == '1') // A moderator trying to change a user's email?
 		{
 			$result = $db->query('SELECT u.group_id, g.g_moderator FROM '.$db->prefix.'users AS u INNER JOIN '.$db->prefix.'groups AS g ON (g.g_id=u.group_id) WHERE u.id='.$id) or error('Unable to fetch user info', __FILE__, __LINE__, $db->error());
 			if (!$db->num_rows($result))
@@ -288,7 +288,7 @@ else if ($action == 'change_email')
 <div class="blockform">
 	<h2><span><?php echo $lang_profile['Change email'] ?></span></h2>
 	<div class="box">
-		<form id="change_email" method="post" action="profile.php?action=change_email&id=<?php echo $id ?>" id="change_email" onsubmit="return process_form(this)">
+		<form id="change_email" method="post" action="profile.php?action=change_email&id=<?php echo $id ?>" onsubmit="return process_form(this)">
 			<div class="inform">
 				<fieldset>
 					<legend><?php echo $lang_profile['Email legend'] ?></legend>
@@ -677,13 +677,13 @@ else if (isset($_POST['delete_user']) || isset($_POST['delete_user_comply']))
 else if (isset($_POST['form_sent']))
 {
 	// Fetch the user group of the user we are editing
-	$result = $db->query('SELECT u.username, u.group_id, g.g_moderator FROM '.$db->prefix.'users AS u INNER JOIN '.$db->prefix.'groups AS g ON (g.g_id=u.group_id) WHERE u.id='.$id) or error('Unable to fetch user info', __FILE__, __LINE__, $db->error());
+	$result = $db->query('SELECT u.username, u.group_id, g.g_moderator FROM '.$db->prefix.'users AS u LEFT JOIN '.$db->prefix.'groups AS g ON (g.g_id=u.group_id) WHERE u.id='.$id) or error('Unable to fetch user info', __FILE__, __LINE__, $db->error());
 	if (!$db->num_rows($result))
 		message($lang_common['Bad request'], false, '404 Not Found');
 
 	list($old_username, $group_id, $is_moderator) = $db->fetch_row($result);
 
-	if ($pun_user['id'] != $id &&																	// If we arent the user (i.e. editing your own profile)
+	if ($pun_user['id'] != $id &&																	// If we aren't the user (i.e. editing your own profile)
 		(!$pun_user['is_admmod'] ||																	// and we are not an admin or mod
 		($pun_user['g_id'] != PUN_ADMIN &&															// or we aren't an admin and ...
 		($pun_user['g_mod_edit_users'] == '0' ||													// mods aren't allowed to edit users
@@ -1005,7 +1005,7 @@ if ($user['signature'] != '')
 
 
 // View or edit?
-if ($pun_user['id'] != $id &&																	// If we arent the user (i.e. editing your own profile)
+if ($pun_user['id'] != $id &&																	// If we aren't the user (i.e. editing your own profile)
 	(!$pun_user['is_admmod'] ||																	// and we are not an admin or mod
 	($pun_user['g_id'] != PUN_ADMIN &&															// or we aren't an admin and ...
 	($pun_user['g_mod_edit_users'] == '0' ||													// mods aren't allowed to edit users
@@ -1543,7 +1543,7 @@ else
 							</div>
 							<ul class="bblinks">
 								<li><span><a href="help.php#bbcode" onclick="window.open(this.href); return false;"><?php echo $lang_common['BBCode'] ?></a> <?php echo ($pun_config['p_sig_bbcode'] == '1') ? $lang_common['on'] : $lang_common['off']; ?></span></li>
-								<li><span><a href="help.php#url" onclick="window.open(this.href); return false;"><?php echo $lang_common['url tag'] ?></a> <?php echo ($pun_config['p_sig_bbcode'] == '1' && $pun_user['g_post_links'] == '1') ? $lang_common['on'] : $lang_common['off']; ?></span>
+								<li><span><a href="help.php#url" onclick="window.open(this.href); return false;"><?php echo $lang_common['url tag'] ?></a> <?php echo ($pun_config['p_sig_bbcode'] == '1' && $pun_user['g_post_links'] == '1') ? $lang_common['on'] : $lang_common['off']; ?></span></li>
 								<li><span><a href="help.php#img" onclick="window.open(this.href); return false;"><?php echo $lang_common['img tag'] ?></a> <?php echo ($pun_config['p_sig_bbcode'] == '1' && $pun_config['p_sig_img_tag'] == '1') ? $lang_common['on'] : $lang_common['off']; ?></span></li>
 								<li><span><a href="help.php#smilies" onclick="window.open(this.href); return false;"><?php echo $lang_common['Smilies'] ?></a> <?php echo ($pun_config['o_smilies_sig'] == '1') ? $lang_common['on'] : $lang_common['off']; ?></span></li>
 							</ul>
@@ -1632,8 +1632,8 @@ else
 					<fieldset>
 						<legend><?php echo $lang_profile['Pagination legend'] ?></legend>
 						<div class="infldset">
-							<label class="conl"><?php echo $lang_profile['Topics per page'] ?><br /><input type="text" name="form[disp_topics]" value="<?php echo $user['disp_topics'] ?>" size="6" maxlength="3" /><br /></label>
-							<label class="conl"><?php echo $lang_profile['Posts per page'] ?><br /><input type="text" name="form[disp_posts]" value="<?php echo $user['disp_posts'] ?>" size="6" maxlength="3" /><br /></label>
+							<label class="conl"><?php echo $lang_profile['Topics per page'] ?><br /><input type="text" name="form[disp_topics]" value="<?php echo $user['disp_topics'] ?>" size="6" maxlength="2" /><br /></label>
+							<label class="conl"><?php echo $lang_profile['Posts per page'] ?><br /><input type="text" name="form[disp_posts]" value="<?php echo $user['disp_posts'] ?>" size="6" maxlength="2" /><br /></label>
 							<p class="clearb"><?php echo $lang_profile['Paginate info'] ?> <?php echo $lang_profile['Leave blank'] ?></p>
 						</div>
 					</fieldset>
diff --git a/search.php b/search.php
index 8d092af..3994b6c 100644
--- a/search.php
+++ b/search.php
@@ -123,7 +123,7 @@ if (isset($_GET['action']) || isset($_GET['search_id']))
 		{
 			// Flood protection
 			if ($pun_user['last_search'] && (time() - $pun_user['last_search']) < $pun_user['g_search_flood'] && (time() - $pun_user['last_search']) >= 0)
-				message(sprintf($lang_search['Search flood'], $pun_user['g_search_flood']));
+				message(sprintf($lang_search['Search flood'], $pun_user['g_search_flood'], $pun_user['g_search_flood'] - (time() - $pun_user['last_search'])));
 
 			if (!$pun_user['is_guest'])
 				$db->query('UPDATE '.$db->prefix.'users SET last_search='.time().' WHERE id='.$pun_user['id']) or error('Unable to update user', __FILE__, __LINE__, $db->error());
@@ -238,7 +238,7 @@ if (isset($_GET['action']) || isset($_GET['search_id']))
 					}
 				}
 
-				// Sort the results - annoyingly array_multisort re-indexes arrays with numeric keys, so we need to split the keys out into a seperate array then combine them again after
+				// Sort the results - annoyingly array_multisort re-indexes arrays with numeric keys, so we need to split the keys out into a separate array then combine them again after
 				$post_ids = array_keys($keyword_results);
 				$topic_ids = array_values($keyword_results);
 
@@ -360,7 +360,7 @@ if (isset($_GET['action']) || isset($_GET['search_id']))
 				if (!$num_hits)
 					message($lang_search['No user posts']);
 
-				// Pass on the user ID so that we can later know whos posts we're searching for
+				// Pass on the user ID so that we can later know whose posts we're searching for
 				$search_type[2] = $user_id;
 			}
 			// If it's a search for topics by a specific user ID
@@ -372,7 +372,7 @@ if (isset($_GET['action']) || isset($_GET['search_id']))
 				if (!$num_hits)
 					message($lang_search['No user topics']);
 
-				// Pass on the user ID so that we can later know whos topics we're searching for
+				// Pass on the user ID so that we can later know whose topics we're searching for
 				$search_type[2] = $user_id;
 			}
 			// If it's a search for subscribed topics
@@ -815,15 +815,20 @@ if ($pun_config['o_search_all_forums'] == '1' || $pun_user['is_admmod'])
 		if ($cur_forum['cid'] != $cur_category) // A new category since last iteration?
 		{
 			if ($cur_category)
+			{
+				echo "\t\t\t\t\t\t\t\t".'</div>'."\n";
 				echo "\t\t\t\t\t\t\t".'</fieldset>'."\n";
-
+			}
+			
 			echo "\t\t\t\t\t\t\t".'<fieldset><legend><span>'.pun_htmlspecialchars($cur_forum['cat_name']).'</span></legend>'."\n";
+			echo "\t\t\t\t\t\t\t\t".'<div class="rbox">';
 			$cur_category = $cur_forum['cid'];
 		}
 
-		echo "\t\t\t\t\t\t\t\t".'<div class="checklist-item"><span class="fld-input"><input type="checkbox" name="forums[]" id="forum-'.$cur_forum['fid'].'" value="'.$cur_forum['fid'].'" /></span> <label for="forum-'.$cur_forum['fid'].'">'.pun_htmlspecialchars($cur_forum['forum_name']).'</label></div>'."\n";
+		echo "\t\t\t\t\t\t\t\t".'<label><input type="checkbox" name="forums[]" id="forum-'.$cur_forum['fid'].'" value="'.$cur_forum['fid'].'" />'.pun_htmlspecialchars($cur_forum['forum_name']).'</label>'."\n";
 	}
 
+	echo "\t\t\t\t\t\t\t\t".'</div>'."\n";
 	echo "\t\t\t\t\t\t\t".'</fieldset>'."\n";
 	echo "\t\t\t\t\t\t".'</div>'."\n";
 	echo "\t\t\t\t\t\t".'</div>'."\n";
diff --git a/style/Air.css b/style/Air.css
index cab49c9..cd0a33b 100644
--- a/style/Air.css
+++ b/style/Air.css
@@ -22,6 +22,7 @@ html, body, .pun table, .pun div, .pun form, .pun p, .pun h1, .pun h2, .pun h3,
 .pun select {
 	padding-bottom: 1px;
 	padding-top: 1px;
+	padding-right: 1px;
 }
 
 /* Content Defaults
@@ -424,7 +425,7 @@ html, body, .pun table, .pun div, .pun form, .pun p, .pun h1, .pun h2, .pun h3,
 /* Breadcrumbs, Postlink, Pagination
 ----------------------------------------------------------------*/
 
-.pun .linkst .inbox, .pun linksb .inbox, .pun .postlinksb .inbox {
+.pun .linkst .inbox, .pun .linksb .inbox, .pun .postlinksb .inbox {
 	overflow: hidden;
 }
 
@@ -1304,28 +1305,6 @@ MAIN FORMS
 	max-width: 25em;
 }
 
-.pun .checklist .checklist-item {
-	position: relative;
-}
-
-.pun .checklist .checklist-item label {
-	padding: 0 0 0 1.75em;
-}
-
-.pun .checklist .checklist-item .fld-input {
-	position: absolute;
-	left: 0;
-	top: 0;
-	padding: 0;
-	margin: 0;
-}
-
-.pun .checklist .checklist-item input {
-	margin: 0;
-	height: 1.55em;
-	width: 1.55em;
-}
-
 /*****************************************************************
 PROFILES (+ ADMIN MENU)
 *****************************************************************/
diff --git a/style/Air/base_admin.css b/style/Air/base_admin.css
index 8a1c33f..fdf41b1 100644
--- a/style/Air/base_admin.css
+++ b/style/Air/base_admin.css
@@ -34,7 +34,7 @@
 	display: inline-block;
 }
 
-#adminconsole fieldset tbody th {
+#adminconsole fieldset th {
 	width: 15em;
 	font-weight: normal;
 	padding-right: 8px;
diff --git a/style/Cobalt.css b/style/Cobalt.css
index 6698bff..c473fd8 100644
--- a/style/Cobalt.css
+++ b/style/Cobalt.css
@@ -689,29 +689,6 @@ html, body {
 	max-width: 25em;
 	}
 
-.pun .checklist .checklist-item {
-	position: relative;
-	margin: .2em 0;
-	}
-
-.pun .checklist .checklist-item label {
-	padding: 0 0 0 2.1em;
-	}
-
-.pun .checklist .checklist-item .fld-input {
-	position: absolute;
-	left: 0;
-	top: 0;
-	padding: 0;
-	margin: 0;
-	}
-
-.pun .checklist .checklist-item input {
-	margin: 0;
-	height: 1.15em;
-	width: 1.55em;
-	}
-
 /*****************************************************************
 7. PROFILES AND ADMIN
 *****************************************************************/
diff --git a/style/Earth.css b/style/Earth.css
index d886bbe..834b80a 100644
--- a/style/Earth.css
+++ b/style/Earth.css
@@ -22,6 +22,7 @@ html, body, .pun table, .pun div, .pun form, .pun p, .pun h1, .pun h2, .pun h3,
 .pun select {
 	padding-bottom: 1px;
 	padding-top: 1px;
+	padding-right: 1px;
 }
 
 /* Content Defaults
@@ -423,7 +424,7 @@ html, body, .pun table, .pun div, .pun form, .pun p, .pun h1, .pun h2, .pun h3,
 /* Breadcrumbs, Postlink, Pagination
 ----------------------------------------------------------------*/
 
-.pun .linkst .inbox, .pun linksb .inbox, .pun .postlinksb .inbox {
+.pun .linkst .inbox, .pun .linksb .inbox, .pun .postlinksb .inbox {
 	overflow: hidden;
 }
 
@@ -1303,28 +1304,6 @@ MAIN FORMS
 	max-width: 25em;
 }
 
-.pun .checklist .checklist-item {
-	position: relative;
-}
-
-.pun .checklist .checklist-item label {
-	padding: 0 0 0 1.75em;
-}
-
-.pun .checklist .checklist-item .fld-input {
-	position: absolute;
-	left: 0;
-	top: 0;
-	padding: 0;
-	margin: 0;
-}
-
-.pun .checklist .checklist-item input {
-	margin: 0;
-	height: 1.55em;
-	width: 1.55em;
-}
-
 /*****************************************************************
 PROFILES (+ ADMIN MENU)
 *****************************************************************/
diff --git a/style/Earth/base_admin.css b/style/Earth/base_admin.css
index 8a1c33f..fdf41b1 100644
--- a/style/Earth/base_admin.css
+++ b/style/Earth/base_admin.css
@@ -34,7 +34,7 @@
 	display: inline-block;
 }
 
-#adminconsole fieldset tbody th {
+#adminconsole fieldset th {
 	width: 15em;
 	font-weight: normal;
 	padding-right: 8px;
diff --git a/style/Fire.css b/style/Fire.css
index 33ee9f7..3ba260a 100644
--- a/style/Fire.css
+++ b/style/Fire.css
@@ -22,6 +22,7 @@ html, body, .pun table, .pun div, .pun form, .pun p, .pun h1, .pun h2, .pun h3,
 .pun select {
 	padding-bottom: 1px;
 	padding-top: 1px;
+	padding-right: 1px;
 }
 
 /* Content Defaults
@@ -423,7 +424,7 @@ html, body, .pun table, .pun div, .pun form, .pun p, .pun h1, .pun h2, .pun h3,
 /* Breadcrumbs, Postlink, Pagination
 ----------------------------------------------------------------*/
 
-.pun .linkst .inbox, .pun linksb .inbox, .pun .postlinksb .inbox {
+.pun .linkst .inbox, .pun .linksb .inbox, .pun .postlinksb .inbox {
 	overflow: hidden;
 }
 
@@ -1303,28 +1304,6 @@ MAIN FORMS
 	max-width: 25em;
 }
 
-.pun .checklist .checklist-item {
-	position: relative;
-}
-
-.pun .checklist .checklist-item label {
-	padding: 0 0 0 1.75em;
-}
-
-.pun .checklist .checklist-item .fld-input {
-	position: absolute;
-	left: 0;
-	top: 0;
-	padding: 0;
-	margin: 0;
-}
-
-.pun .checklist .checklist-item input {
-	margin: 0;
-	height: 1.55em;
-	width: 1.55em;
-}
-
 /*****************************************************************
 PROFILES (+ ADMIN MENU)
 *****************************************************************/
diff --git a/style/Fire/base_admin.css b/style/Fire/base_admin.css
index 8a1c33f..fdf41b1 100644
--- a/style/Fire/base_admin.css
+++ b/style/Fire/base_admin.css
@@ -34,7 +34,7 @@
 	display: inline-block;
 }
 
-#adminconsole fieldset tbody th {
+#adminconsole fieldset th {
 	width: 15em;
 	font-weight: normal;
 	padding-right: 8px;
diff --git a/style/Lithium.css b/style/Lithium.css
index 01c6082..d3c4c6e 100644
--- a/style/Lithium.css
+++ b/style/Lithium.css
@@ -689,29 +689,6 @@ html, body {
 	max-width: 25em;
 	}
 
-.pun .checklist .checklist-item {
-	position: relative;
-	margin: .2em 0;
-	}
-
-.pun .checklist .checklist-item label {
-	padding: 0 0 0 2.1em;
-	}
-
-.pun .checklist .checklist-item .fld-input {
-	position: absolute;
-	left: 0;
-	top: 0;
-	padding: 0;
-	margin: 0;
-	}
-
-.pun .checklist .checklist-item input {
-	margin: 0;
-	height: 1.15em;
-	width: 1.55em;
-	}
-
 /*****************************************************************
 7. PROFILES AND ADMIN
 *****************************************************************/
diff --git a/style/Mercury.css b/style/Mercury.css
index cffebb1..c63e668 100644
--- a/style/Mercury.css
+++ b/style/Mercury.css
@@ -689,29 +689,6 @@ html, body {
 	max-width: 25em;
 	}
 
-.pun .checklist .checklist-item {
-	position: relative;
-	margin: .2em 0;
-	}
-
-.pun .checklist .checklist-item label {
-	padding: 0 0 0 2.1em;
-	}
-
-.pun .checklist .checklist-item .fld-input {
-	position: absolute;
-	left: 0;
-	top: 0;
-	padding: 0;
-	margin: 0;
-	}
-
-.pun .checklist .checklist-item input {
-	margin: 0;
-	height: 1.15em;
-	width: 1.55em;
-	}
-
 /*****************************************************************
 7. PROFILES AND ADMIN
 *****************************************************************/
diff --git a/style/Oxygen.css b/style/Oxygen.css
index 4705bfb..51a8d17 100644
--- a/style/Oxygen.css
+++ b/style/Oxygen.css
@@ -690,29 +690,6 @@ html, body {
 	max-width: 25em;
 	}
 
-.pun .checklist .checklist-item {
-	position: relative;
-	margin: .2em 0;
-	}
-
-.pun .checklist .checklist-item label {
-	padding: 0 0 0 2.1em;
-	}
-
-.pun .checklist .checklist-item .fld-input {
-	position: absolute;
-	left: 0;
-	top: 0;
-	padding: 0;
-	margin: 0;
-	}
-
-.pun .checklist .checklist-item input {
-	margin: 0;
-	height: 1.15em;
-	width: 1.55em;
-	}
-
 /*****************************************************************
 7. PROFILES AND ADMIN
 *****************************************************************/
diff --git a/style/Radium.css b/style/Radium.css
index 8b43a10..4c74e28 100644
--- a/style/Radium.css
+++ b/style/Radium.css
@@ -689,29 +689,6 @@ html, body {
 	max-width: 25em;
 	}
 
-.pun .checklist .checklist-item {
-	position: relative;
-	margin: .2em 0;
-	}
-
-.pun .checklist .checklist-item label {
-	padding: 0 0 0 2.1em;
-	}
-
-.pun .checklist .checklist-item .fld-input {
-	position: absolute;
-	left: 0;
-	top: 0;
-	padding: 0;
-	margin: 0;
-	}
-
-.pun .checklist .checklist-item input {
-	margin: 0;
-	height: 1.15em;
-	width: 1.55em;
-	}
-
 /*****************************************************************
 7. PROFILES AND ADMIN
 *****************************************************************/
diff --git a/style/Sulfur.css b/style/Sulfur.css
index b275248..88d0fbe 100644
--- a/style/Sulfur.css
+++ b/style/Sulfur.css
@@ -689,29 +689,6 @@ html, body {
 	max-width: 25em;
 	}
 
-.pun .checklist .checklist-item {
-	position: relative;
-	margin: .2em 0;
-	}
-
-.pun .checklist .checklist-item label {
-	padding: 0 0 0 2.1em;
-	}
-
-.pun .checklist .checklist-item .fld-input {
-	position: absolute;
-	left: 0;
-	top: 0;
-	padding: 0;
-	margin: 0;
-	}
-
-.pun .checklist .checklist-item input {
-	margin: 0;
-	height: 1.15em;
-	width: 1.55em;
-	}
-
 /*****************************************************************
 7. PROFILES AND ADMIN
 *****************************************************************/
diff --git a/style/Technetium.css b/style/Technetium.css
index d8fd7be..8416e18 100644
--- a/style/Technetium.css
+++ b/style/Technetium.css
@@ -1,7 +1,5 @@
 /*****************************************************************
 Technitium theme CSS
-
-Yes, it is valid CSS 3, but unfortunately border-radius doesn't seem to work correctly in my Firefox version so I have to give it the moz versions, which break the validator. Sorry.
 *****************************************************************/
 
 /*****************************************************************
@@ -17,11 +15,11 @@ Yes, it is valid CSS 3, but unfortunately border-radius doesn't seem to work cor
 	margin: 0;
 	padding: 0;
 	border: 0;
-	}
+}
 
 .pun ul, .pun ol {
 	list-style: none
-	}
+}
 
 
 /* Structural Settings
@@ -34,7 +32,7 @@ body {
 .pun {
 	width: 95%;
 	margin: 0 auto;
-	}
+}
 
 .pun .clearer, .pun .nosize {
 	height: 0;
@@ -42,30 +40,30 @@ body {
 	line-height: 0;
 	font-size: 0;
 	overflow: hidden
-	}
+}
 
 .pun .clearer, .pun .clearb {
 	clear: both
-	}
+}
 
 .pun .nosize {
 	position: absolute;
 	left: -9999em;
 	text-indent: -9999em;
 	width: 0;
-	}
+}
 
 * html .inbox, * html .inform, * html .pun, * html .tclcon, * html .codebox {
 	height: 1px
-	}
+}
 
 .pun, .pun .inbox, .pun .inform, .pun .tclcon, .pun .codebox {
 	min-height: 1px
-	}
+}
 
 .clearl {
 	clear: left;
-	}
+}
 
 /* Hidden Elements
 ----------------------------------------------------------------*/
@@ -78,7 +76,7 @@ body {
 	width: 0;
 	left: -9999em;
 	text-indent: -9999em;
-	}
+}
 
 /*****************************************************************
 2. TEXT & CONTENT
@@ -89,33 +87,33 @@ body {
 
 .pun {
 	font: 10pt Georgia, Times, "Times New Roman", serif
-	}
+}
 
 .pun table, .pun td, .pun th, .pun input, .pun select, .pun optgroup, .pun textarea, .pun samp, .pun legend {
 	font-size: 1em;
 	font-family: Georgia, Times, "Times New Roman", serif;
-	}
+}
 
 .pun pre, .pun code {
 	font-size: 1.182em;
 	font-family: consolas, monaco, "bitstream vera sans mono", "courier new", courier, monospace
-	}
+}
 
 .pun pre code {
 	font-size: 1em;
-	}
+}
 
 .pun strong {
 	font-weight: bold;
-	}
+}
 
 .pun em {
 	font-style: italic;
-	}
+}
 
 #vf td {
 	font-size: 1.1em;
-	}
+}
 
 
 /* Content Defaults
@@ -124,44 +122,41 @@ body {
 .pun p, .pun ul, .pun ol, .pun dl {
 	font-size: 1em;
 	padding: 3px 0;
-	}
+}
 
 .pun h2 {
 	font-size: 1.5em;
 	font-weight: normal;
 	padding: 4px 6px;
 	padding: 6px;
-	-moz-border-radius-topleft: 0.3em;
-	-moz-border-radius-topright: 0.3em;
-	-webkit-border-top-left-radius: 0.3em;
-	-webkit-border-top-right-radius: 0.3em;
-	}
+	border-radius: 0.3em 0.3em 0 0;
+}
 
 .pun h2 #brdmenu {
 	font-size: 1.1em;
-	}
+}
 
 .pun .blockpost h2 {
 	font-size: 1.0em;
 	padding: 8px;
-	}
+}
 
 .pun h3 {
 	font-size: 1.091em;
 	padding: 3px 0;
-	}
+}
 
 .pun table p, .pun table h3 {
 	padding: 0;
-	}
+}
 
 .pun span.warntext, .pun p.warntext {
 	font-weight: bold
-	}
+}
 
 .pun .postleft dl dt {
 	font-size: 1.4em;
-	}
+}
 
 /* User Content (Announcements, Rules, Posts)
 ----------------------------------------------------------------*/
@@ -169,77 +164,77 @@ body {
 .pun .usercontent p, .pun .postmsg p {
 	padding: 0.5em 0;
 	line-height: 1.6em;
-	}
+}
 
 .pun .usercontent ul, .pun .postmsg ul {
 	padding: 0.75em 1em 0.75em 2.5em;
 	list-style: disc
-	}
+}
 
 .pun .usercontent ol, .pun .postmsg ol {
 	padding: 0.75em 1em 0.75em 2.5em;
 	list-style: decimal
-	}
+}
 
 .pun .usercontent ol.alpha, .pun .postmsg ol.alpha {
 	list-style: lower-alpha
-	}
+}
 
 .pun .usercontent li ol, .pun .usercontent li ul, .pun .postmsg li ol, .pun .postmsg li ul {
 	padding: 0.25em 1em 0.75em 2.5em
-	}
+}
 
 .pun .usercontent li p, .pun .postmsg li p {
 	padding: 0
-	}
+}
 
 .pun .usercontent h1 {
 	font-size: 1.4em;
 	font-weight: bold;
 	padding: 0.75em 0 0 0
-	}
+}
 
 .pun .usercontent h2 {
 	font-size: 1.2em;
 	font-weight: bold;
 	padding: 0.75em 0 0 0
-	}
+}
 
 .pun .usercontent h3 {
 	font-size: 1.1em;
 	font-weight: bold;
 	padding: 0.75em 0 0 0
-	}
+}
 
 .pun .usercontent h4, .pun .usercontent h5, .pun .usercontent h6 {
 	font-size: 1em;
 	font-weight: bold;
 	padding: 0.75em 0 0 0
-	}
+}
 
 .pun .quotebox cite {
 	font-weight: bold;
 	font-style: normal;
 	padding: 0.75em 0.75em 0 0.75em
-	}
+}
 
 .pun span.bbu {
 	text-decoration: underline
-	}
+}
 
 .pun span.bbs, .pun del {
 	text-decoration: line-through;
-	}
+}
 
 .pun .postmsg ins, #punhelp samp ins {
 	text-decoration: none;
-	}
+}
 
 .pun div.postmsg h5, #punhelp h5 {
 	font-size: 1.1em;
 	font-weight: bold;
 	padding: 0.75em 0 0 0;
-	}
+}
 
 /*****************************************************************
 3. COMMON STYLES
@@ -250,12 +245,12 @@ body {
 
 .pun {
 	margin: 12px 20px
-	}
+}
 
 #punredirect, #punmaint, #puninstall, #pundb_update {
 	margin: 50px 20% 12px 20%;
 	width: auto;
-	}
+}
 
 
 /* Vertical Element Spacing
@@ -263,35 +258,35 @@ body {
 
 #brdheader {
 	margin: 0 0 12px 0;
-	}
+}
 
 #announce, #brdstats {
 	margin: 12px 0 12px 0;
-	}
+}
 
 .pun .blocktable, .pun .block, .pun .blockform, .pun .block2col, #postreview {
 	margin-bottom: 12px
-	}
+}
 
 #punindex .blocktable, .pun .blockpost {
 	margin-bottom: 6px
-	}
+}
 
 #postreview .box {
 	margin-bottom: 3px;
-	}
+}
 
 .pun .block2col .blockform, .pun .block2col .block {
 	margin-bottom: 0px
-	}
+}
 
 .pun .linkst, .pun .linksb {
 	margin-top: -12px
-	}
+}
 
 .pun .postlinksb {
 	margin-top: -6px
-	}
+}
 
 
 /* External Borders
@@ -300,7 +295,7 @@ body {
 .pun .box {
 	border-style: solid;
 	border-width: 1px;
-	}
+}
 
 
 .pun h2 {
@@ -315,7 +310,7 @@ body {
 
 .pun .block .inbox, .pun .blockmenu .inbox {
 	padding: 3px 6px
-	}
+}
 
 /*****************************************************************
 4. COMMON BOARD ELEMENTS
@@ -328,20 +323,20 @@ body {
 	font-size: 1.5em;
 	line-height: 1.1em;
 	padding: 3px 0 0 0;
-	}
+}
 
 #brdmenu {
 	font-size:1.2em;
-	}
+}
 
 #brddesc {
 	padding: 3px 0;
-	}
+}
 
 #brddesc * {
 	padding-top: 0;
 	padding-bottom: 0;
-	}
+}
 
 
 #brdmenu li {
@@ -349,19 +344,19 @@ body {
 	margin-right: 10px;
 	margin-top: 12px;
 	margin-bottom: 12px;
-	}
+}
 
 
 #brdmenu a:link, #brdmenu a:visited {
 	text-decoration: none;
 	text-shadow: #FFF 1px -1px 0.4em;
 	padding: 0.2em;
-	}
+}
 
 #brdwelcome .conl {
 	float: left;
 	white-space: nowrap;
-	}
+}
 
 #brdwelcome li {
 	float:left;
@@ -371,87 +366,87 @@ body {
 
 #brdwelcome .conl li strong:after {
 	content: '.'
-	}
+}
 
 #brdwelcome .conr {
 	float: right;
 	text-align: right;
-	}
+}
 
 #brdwelcome .conr li {
 	float: right;
 	text-align: right;
-	}
+}
 
 /* Breadcrumbs and Post Links
 ----------------------------------------------------------------*/
 
 .pun .linkst {
 	padding: 8px 6px 3px 6px
-	}
+}
 
 .pun .linksb, .pun .postlinksb {
 	padding: 3px 6px 8px 6px
-	}
+}
 
 .pun .crumbs {
 	clear: both;
 	width: 100%;
 	overflow: hidden;
-	}
+}
 
 .pun .crumbs li {
 	display: inline;
 	white-space: nowrap;
 	font-weight: bold;
-	}
+}
 
 .pun .linkst .crumbs {
 	font-size: 1.3em;
-	}
+}
 
 .pun .pagelink {
 	float: left;
 	display: block;
 	white-space: normal;
-	}
+}
 
 .pun .postlink {
 	font-size: 1.1em;
 	font-weight: bold;
 	white-space: wrap;
 	text-decoration: none;
-	}
+}
 
 .pun .linkst .postlink {
 	position: relative;
 	margin-top: -0.2em;
 	margin-bottom: 0.5em;
-	}
+}
 
 .pun .linksb .postlink, .pun .postlinksb .postlink {
 	position: relative;
 	margin-top: 0.5em;
 	margin-bottom: -0.5em;
-	}
+}
 
 .pun .postlink, .pun .modbuttons {
 	float: right;
 	text-align: right;
-	}
+}
 
 .pun .modbuttons {
 	padding: 1px 0;
 	white-space: nowrap;
-	}
+}
 
 .pun .modbuttons input {
 	margin-left: 6px;
-	}
+}
 
 #punindex .subscribelink {
 	margin-top: 6px;
-	}
+}
 
 /* Board Footer
 ----------------------------------------------------------------*/
@@ -460,21 +455,21 @@ body {
 	border-bottom-style: solid;
 	border-bottom-width: 1px;
 	text-align: center;
-	}
+}
 
 #brdfooter #modcontrols dd {
 	display: inline;
 	margin-right: 10px;
-	}
+}
 
 #brdfooter .conl {
 	float: left;
-	}
+}
 
 #brdfooter .conr {
 	float: right;
 	text-align: right;
-	}
+}
 
 #brdfooter #feedlinks span {
 	background:url("Technetium/feed.png") no-repeat scroll left center transparent;
@@ -488,16 +483,16 @@ body {
 
 #brdstats .conl {
 	float: left;
-	}
+}
 
 #brdstats .conr {
 	float: right;
 	text-align: right;
-	}
+}
 
 #onlinelist dd, #onlinelist dt {
 	display: inline;
-	}
+}
 
 
 /*****************************************************************
@@ -509,80 +504,80 @@ body {
 	border-collapse: collapse;
 	border-spacing: 0;
 	empty-cells: show;
-	}
+}
 
 .pun .blocktable table {
 	table-layout: fixed;
-	}
+}
 
 .pun td, .pun th {
 	padding: 4px 6px;
 	line-height: 1.4em;
 	text-align: left;
 	font-weight: normal;
-	}
+}
 
 .pun td {
 	border-style: solid none none solid;
 	border-width: 1px;
-	}
+}
 
 .pun .tcl {
 	border-left: 0;
 	width: auto;
-	}
+}
 
 .pun .tc2, .pun .tc3, .pun .tcmod {
 	width: 10%;
 	text-align: center;
 	padding: 4px 0;
-	}
+}
 
 .pun .tcr {
 	width: 30%;
-	}
+}
 
 .pun .tcl h3 {
 	font-size: 1.3em;
 	font-weight: bold;
-	}
+}
 
 .pun .tcl span.newtext, .pun .tcl span.pagestext {
 	white-space: nowrap
-	}
+}
 
 .pun .tcl p {
 	padding: 5px 0 0 0
-	}
+}
 
 #punsearch #vf .tc2 {
 	width: 18%;
 	text-align: left;
 	padding: 4px 6px;
-	}
+}
 
 #users1 .tcr {
 	width: 25%
-	}
+}
 
 #users1 .tc2 {
 	width: 25%;
 	text-align: left;
 	padding: 4px 6px;
-	}
+}
 
 #debug .tcl {
 	width: 10%
-	}
+}
 
 #debug .tcr {
 	width: 90%;
 	white-space: normal
-	}
+}
 
 #punindex .tcr .byuser {
 	display: block
-	}
+}
 
 .pun .blocktable .tclcon {
 	padding: 0 11px 0 12px;
@@ -590,26 +585,26 @@ body {
 	height: 1%;
 	min-height: 1px;
 	position: relative;
-	}
+}
 
 .pun .blocktable .tclcon div {
 	width: 100%;
 	overflow: hidden;
-	}
+}
 
 .pun .icon {
 	height: 24px;
 	width: 24px;
 	overflow: hidden;
 	float: left;
-	}
+}
 
 .pun .icon div {
 	position: absolute;
 	left: -9999em;
 	text-indent: -9999em;
 	height: 0;
-	}
+}
 
 .pun .iposted .ipost {
 	position: absolute;
@@ -619,11 +614,11 @@ body {
 	padding-left: 4px;
 	text-align: center;
 	top: 0;
-	}
+}
 
 .pun .stickytext {
 	display: none;
-	}
+}
 
 .pun .movedtext {
 	display: none;
@@ -631,7 +626,7 @@ body {
 
 .pun .closedtext {
 	font-weight: bold;
-	}
+}
 /*****************************************************************
 6. MAIN FORMS
 *****************************************************************/
@@ -642,11 +637,11 @@ body {
 	padding: 9px 10px;
 	border-style: solid;
 	border-width: 1px;
-	}
+}
 
 .pun .forminfo h3 {
 	font-weight: bold;
-	}
+}
 
 
 
@@ -707,31 +702,31 @@ body {
 .pun label {
 	display: block;
 	padding: 3px 0
-	}
+}
 
 .pun label.conl {
 	float: left;
 	overflow: visible;
 	margin-right: 10px
-	}
+}
 
 .pun select {
 	padding-top: 1px;
 	padding-bottom: 1px;
-	}
+}
 
 .pun fieldset .rbox {
-	}
+}
 
 .pun fieldset .rbox br {
 	display: none;
-	}
+}
 
 .pun fieldset .rbox label {
 	padding: 3px 0 3px 25px;
 	position: relative;
 	vertical-align: middle;
-	}
+}
 
 .pun fieldset .rbox input {
 	margin: 0 9px 0 -25px;
@@ -739,50 +734,50 @@ body {
 	width: 16px;
 	position: relative;
 	vertical-align: middle;
-	}
+}
 
 .pun .txtarea {
 	width: 90%
-	}
+}
 
 .pun .txtarea textarea, .pun input.longinput {
 	width: 100%
-	}
+}
 
 .pun .bblinks {
 	padding-bottom: 10px;
 	padding-left: 4px
-	}
+}
 
 .pun .bblinks li {
 	display: inline;
 	padding-right: 20px
-	}
+}
 
 .pun .blockform .buttons {
 	padding-left: 18px;
 	padding-bottom: 5px;
-	}
+}
 
 .pun .blockform .buttons input {
 	margin-right: 8px;
-	}
+}
 
 #posterror ul {
 	list-style: square;
 	padding: 3px 0 3px 24px;
-	}
+}
 
 .pun .deletemsg {
 	border-style: solid;
 	border-width: 1px;
 	padding: 6px 15px;
-	}
+}
 
 .pun .multiselect {
 	float: left;
 	padding-bottom: 7px;
-	}
+}
 
 .pun .checklist {
 	border-width: 1px;
@@ -792,38 +787,16 @@ body {
 	overflow: auto;
 	padding: 0.25em 0.5em;
 	margin: 0.25em 16px 0 0.15em;
-	}
+}
 
 .pun .checklist legend {
 	padding: 0;
-	}
+}
 
 .pun .checklist legend span {
 	width: auto;
 	max-width: 25em;
-	}
-
-.pun .checklist .checklist-item {
-	position: relative;
-	}
-
-.pun .checklist .checklist-item label {
-	padding: 0 0 0 1.75em;
-	}
-
-.pun .checklist .checklist-item .fld-input {
-	position: absolute;
-	left: 0;
-	top: 0;
-	padding: 0;
-	margin: 0;
-	}
-
-.pun .checklist .checklist-item input {
-	margin: 0;
-	height: 1.55em;
-	width: 1.55em;
-	}
+}
 
 /*****************************************************************
 7. PROFILES AND ADMIN
@@ -831,51 +804,51 @@ body {
 
 .pun .block2col {
 	padding-bottom: 1px
-	}
+}
 
 .pun .block2col .blockform, .pun .block2col .block {
 	margin-left: 14em
-	}
+}
 
 .pun .blockmenu {
 	float:left;
 	width: 13em
-	}
+}
 
 .pun .blockmenu li {
 	padding: 3px 0;
 	font-weight: bold;
-	}
+}
 
 .pun .blockmenu a:link, .pun .blockmenu a:visited {
 	text-decoration: none
-	}
+}
 
 .pun .blockmenu a:hover, .pun .blockmenu a:active {
 	text-decoration: underline
-	}
+}
 
 #viewprofile dl {
 	float: left;
 	width: 100%;
 	overflow: hidden
-	}
+}
 
 #viewprofile dd {
 	margin-left: 14em;
 	padding: 3px;
-	}
+}
 
 #viewprofile dt {
 	float: left;
 	width: 13em;
 	margin: 3px 0;
-	}
+}
 
 #profileavatar img {
 	float: right;
 	margin-left: 1em
-	}
+}
 
 /*****************************************************************
 8. MAIN POSTS
@@ -883,24 +856,24 @@ body {
 
 .pun .blockpost h2 a:link, .pun .blockpost h2 a:visited {
 	text-decoration: none;
-	}
+}
 
 .pun .blockpost h2 a:hover, .pun .blockpost h2 a:active {
 	text-decoration: underline;
-	}
+}
 
 .pun .blockpost h2 .conr {
 	float: right;
 	text-align: right;
-	}
+}
 
 #punsearch .blockpost h2 span {
 	white-space: nowrap;
-	}
+}
 
 .pun .blockpost .box {
 	overflow: hidden;
-	}
+}
 
 .pun .postleft, .pun .postfootleft {
 	float:left;
@@ -908,82 +881,82 @@ body {
 	overflow: hidden;
 	position: relative;
 	overflow: hidden;
-	}
+}
 
 .pun .postleft dl {
 	padding: 0.5em 6px;
-	}
+}
 
 .pun .postleft .usercontacts, .pun .postleft .icon {
 	margin-top: 6px
-	}
+}
 
 .pun .postleft .postavatar, .pun .postleft .usertitle {
 	margin-bottom: 6px;
 	display: block;
-	}
+}
 
 .pun .blockpost dt {
 	font-size: 1.091em;
 	font-weight: bold;
-	}
+}
 
 .pun .blockpost dt a:link, .pun .blockpost dt a:visited {
 	text-decoration: none;
-	}
+}
 
 .pun .blockpost dt a:hover, .pun .blockpost dt a:active {
 	text-decoration: underline;
-	}
+}
 
 .pun .postright, .pun .postfootright {
 	border-left-width: 18em;
 	border-left-style: solid
-	}
+}
 
 #postpreview .postright {
 	border-left: 0
-	}
+}
 
 .pun .postright {
 	padding: 0 6px;
-	}
+}
 
 .pun .postfootright, .pun .multidelete {
 	text-align: right
-	}
+}
 
 .pun .postmsg {
 	width:98%;
 	overflow: hidden;
 	padding-bottom: 6px;
 	word-wrap: break-word;
-	}
+}
 
 .pun .postfootright ul, .pun .postfootright div, .pun .postfootright p,
 .pun .postfootleft p {
 	padding: 6px 6px 6px 6px;
-	}
+}
 
 .pun .postfootright li {
 	display: inline;
-	}
+}
 
 .pun .postfootright li:before {
 	content: " | ";
-	}
+}
 
 .pun .postfootright li:first-child:before {
 	content: "";
-	}
+}
 
 .pun .postfootright a:link, .pun .postfootright a:visited {
 	text-decoration: none
-	}
+}
 
 .pun .postfootright a:hover, .pun .postfootright a:active {
 	text-decoration: underline
-	}
+}
 
 
 .pun .quotebox, .pun .codebox {
@@ -992,51 +965,51 @@ body {
 	border-left: 5px solid;
 	margin: 0.75em 1em;
 	padding: 0 0.75em;
-	}
+}
 
 .pun .quotebox cite {
 	display: block;
 	padding: 0.75em 0 0 0;
-	}
+}
 
 .pun .quotebox blockquote {
 	width: 100%;
 	overflow: hidden
-	}
+}
 
 .pun .codebox pre {
 	overflow: auto;
 	width: 100%;
 	overflow-y:hidden
-	}
+}
 
 * html .pun .codebox pre {
 	padding-bottom: 10px;
-	}
+}
 
 *+html .pun .codebox pre {
 	padding-bottom: 10px
-	}
+}
 
 .pun .codebox pre code {
 	display: block;
 	padding: 0.75em;
-	}
+}
 
 .pun .codebox pre.vscroll {
 	height: 32em;
 	overflow: auto;
 	overflow-y: auto
-	}
+}
 
 .pun .postmsg .postimg img, .pun .postmsg a .postimg img {
 	max-width: 100%;
 	vertical-align: middle;
-	}
+}
 
 .pun .postmsg img {
 	vertical-align: bottom;
-	}
+}
 
 .pun .postsignature hr {
 	margin-left: 0px;
@@ -1044,7 +1017,7 @@ body {
 	text-align: left;
 	height: 1px;
 	border:none
-	}
+}
 
 .pun .blockpost label {
 	padding: 3px 6px;
@@ -1052,13 +1025,13 @@ body {
 	border-width: 1px;
 	vertical-align: middle;
 	display: inline-block;
-	}
+}
 
 .pun .blockpost label * {
 	vertical-align: middle;
 	margin: 0;
 	padding: 0;
-	}
+}
 
 
 /****************************************************************/
@@ -1067,11 +1040,11 @@ body {
 
 #punhelp h2 {
 	margin-top: 12px
-	}
+}
 
 #punhelp div.box {
 	padding: 10px
-	}
+}
 
 /*****************************************************************
 COLOUR SCHEME
@@ -1083,18 +1056,18 @@ COLOUR SCHEME
 body {
 	background: #fff url("Technetium/bg.png") repeat-x top;
 	color: #122434
-	}
+}
 
 .pun {
 	color: #122434
-	}
+}
 
 .pun .box, #adminconsole fieldset th {
 	background-color: #FBFCFD;
 	background-image: url("Technetium/light-shade.png");
 	background-position: bottom;
 	background-repeat: repeat-x;
-	}
+}
 
 .pun td.tc2, .pun td.tc3, .pun td.tcmod, #postpreview, #viewprofile dd, .pun .forminfo,
 #brdfooter #modcontrols, #adminconsole fieldset td, .pun .blockmenu .box, #adstats dd {
@@ -1102,7 +1075,7 @@ body {
 	background-image: url("Technetium/light-shade.png");
 	background-repeat: repeat-x;
 	background-position: bottom;
-	}
+}
 
 .pun h2, #brdmenu {
 	background-color: #C5D8EB;
@@ -1110,7 +1083,7 @@ body {
 	background-image: url("Technetium/dark-shade.png");
 	background-repeat: repeat-x;
 	background-position: top;
-	}
+}
 
 .pun h2  {
 	background-color: #C5D8EB;
@@ -1118,11 +1091,11 @@ body {
 	background-repeat: repeat-x;
 	color: #122434;
 	text-shadow: #FFF 1px -1px 0.7em;
-	}
+}
 
 .pun #announce h2  {
 	display: none;
-	}
+}
 
 .box #announce-block {
 	background-color: #FDFCE3;
@@ -1132,43 +1105,43 @@ body {
 	background-color: #EFF3F8;
 	background-image: url("Technetium/light-shade.png");
 	background-repeat: repeat-x;
-	}
+}
 
 .pun td {
 	background-image: url("Technetium/light-shade.png");
 	background-color: #FBFCFD;
 	background-position: bottom;
 	background-repeat: repeat-x;
-	}
+}
 
 .pun .isticky td {
 	background-color: #E4EBF1;
-	}
+}
 
 .pun .iclosed td {
 	background-color: #ECEEF0
-	}
+}
 
 .pun .iclosed.isticky td {
 	background-color: #CDD6E0;
-	}
+}
 
 .pun legend {
 	color: #122434
-	}
+}
 
 .pun .blockmenu li.isactive a, #posterror li strong {
 	color: #333
-	}
+}
 
 .pun .usercontent * {
 	background: transparent;
 	color: #333
-	}
+}
 
 #adminmenu .box {
 	background: #FBFCFD;
-	}
+}
 
 .pun .postlink a:link, .pun .postlink a:visited, .pun .postlink a:active  {
 	background-color:#F0F5FA;
@@ -1180,18 +1153,12 @@ body {
 	padding: 0.3em;
 	border-radius: 0.4em;
 	position: relative;
-	-moz-border-radius: 0.4em;
-	-webkit-border-top-left-radius: 0.4em;
-	-webkit-border-top-right-radius: 0.4em;
-	-webkit-border-bottom-left-radius: 0.4em;
-	-webkit-border-bottom-right-radius: 0.4em;
-
-	}
+}
 
 .pun .postlink a:hover {
 	background-color: #C0D6E9;
 	color: #000;
-	}
+}
 
 #brdheader .box {
 	background-color:#F0F5FA;
@@ -1200,19 +1167,14 @@ body {
 	background-position: top;
 	color:#122434;
 	border-radius: 0.4em;
-	-moz-border-radius: 0.4em;
-	-webkit-border-top-left-radius: 0.4em;
-	-webkit-border-top-right-radius: 0.4em;
-	-webkit-border-bottom-left-radius: 0.4em;
-	-webkit-border-bottom-right-radius: 0.4em;
-	}
+}
 
 .pun #brdtitle {
 	background-color: #D1E1EF;
 	background-image: url("Technetium/inv-shade.png");
 	background-repeat: repeat-x;
 	text-shadow: #FFF 1px -1px 0.4em;
-	}
+}
 
 
 .pun .infldset, #pundelete .deletemsg, #adintro .inbox, #adstats .inbox {
@@ -1224,56 +1186,56 @@ body {
 	list-style-type: disc;
 	margin-left: 8px;
 	padding-left: 16px;
-	}
+}
 
 .pun .multiselect {
 	color: #122434;
-	}
+}
 
 .pun .checklist {
 	background: white;
 	border-color: #A2B5CC;
-	}
+}
 
 /* Posts
 ----------------------------------------------------------------*/
 
 .pun .blockpost .box, .pun .postright, .pun .postfootright, .pun .deletemsg {
 	background-color: #F8FAFD;
-	}
+}
 
 .pun .postright, .pun .postfootright {
 	border-left-color: #F0F5FA
-	}
+}
 
 .pun .postleft, .pun .postfootleft, .pun .blockpost label, .pun .codebox, .pun .quotebox {
 	background-color: #F0F5FA
-	}
+}
 
 #punhelp .codebox, #punhelp .quotebox {
 	background-color: #f9f9f9;
-	}
+}
 
 .pun .blockpost h2 {
 	background-color: #F0F5FA;
-	}
+}
 
 .pun .blockpost h2 span.conr {
 	color: #aabdcd
-	}
+}
 
 .pun hr {
 	background-color: #333;
 	color: #333
-	}
+}
 
 .pun .quotebox {
 	background-color: #FAFCFE;
-	}
+}
 
 .pun .postmsg ins, #punhelp samp ins {
 	background-color: #ff0;
-	}
+}
 
 /* Borders
 ----------------------------------------------------------------*/
@@ -1288,11 +1250,11 @@ body {
 
 .pun td {
 	border-color: #A2B5CC;
-	}
+}
 
 .pun th, .pun fieldset {
 	border-color: #A2B5CC;
-	}
+}
 
 #adminconsole td, #adminconsole th {
 	border-style:solid;
@@ -1309,15 +1271,15 @@ body {
 
 .pun .forminfo, .pun .blockpost label, .pun .deletemsg {
 	border-color: #aca899 #fff #fff #aca899;
-	}
+}
 
 .pun .quotebox, .pun .codebox {
 	border-color: #BCD2E9;
-	}
+}
 
 .pun .postlink a:link, .pun .postlink a:visited {
 	border-color: #C0D6E9
-	}
+}
 
 
 /* Links
@@ -1326,51 +1288,51 @@ body {
 .pun a:link, .pun a:visited {
 	color: #1F537B;
 	text-decoration: none;
-	}
+}
 
 .pun a:hover, .pun a:active, .pun a:focus {
 	color: #9E1D00
-	}
+}
 
 #brdmenu li a:active, #brdmenu li a:link, #brdmenu li a:visited {
 	color: #1F2E3D;
-	}
+}
 
 #brdmenu li a:hover {
 	color: #000;
 	text-shadow: #8895A2 1px -1px 0.4em;
-	}
+}
 
 #vf a {
 	font-weight: bold;
-	}
+}
 
 .pun .postreport a:link, .pun .postreport a:visited,
 .pun .iclosed td.tcl a:link, .pun .iclosed td.tcl a:visited {
 	color: #888
-	}
+}
 
 .pun .isticky.iclosed td.tcl a:link, .pun .isticky.iclosed td.tcl a:visited {
 	color: #475F6B !important;
-	}
+}
 
 .pun .isticky.iclosed td.tcl a:hover {
 	color: #577382 !important;
-	}
+}
 
 
 .pun .postreport a:hover, .pun .postreport a:active,
 .pun .iclosed td.tcl a:hover, .pun .iclosed td.tcl a:active {
 	color: #aaa
-	}
+}
 
 .pun .maintenancelink a:link, .pun .maintenancelink a:visited {
 	color: #b42000
-	}
+}
 
 .pun .maintenancelink a:hover, .pun .maintenancelink a:active {
 	color: #b42000
-	}
+}
 
 
 /* Status Indicators
@@ -1378,32 +1340,32 @@ body {
 
 .pun .icon {
 	background-image:url(Technetium/icon-nonew.png);
-	}
+}
 
 .pun .iredirect .icon {
 	background-image:url(Technetium/icon-moved.png);
-	}
+}
 
 .pun .inew .icon{
 	background-image:url(Technetium/icon-new.png);
-	}
+}
 
 .pun .iclosed .icon  {
 	background-image:url(Technetium/icon-closed.png);
-	}
+}
 
 .pun .isticky .icon {
 	background-image:url(Technetium/icon-nonew-sticky.png);
-	}
+}
 
 .pun .isticky.inew .icon {
 	background-image:url(Technetium/icon-new-sticky.png);
-	}
+}
 
 .pun .iclosed.isticky .icon {
 	background-image:url(Technetium/icon-closed-sticky.png);
-	}
+}
 
 .pun .imoved .icon {
 	background-image:url(Technetium/icon-moved.png);
-	}
+}
\ No newline at end of file
diff --git a/style/imports/base_admin.css b/style/imports/base_admin.css
index a6ef40c..50eaaec 100644
--- a/style/imports/base_admin.css
+++ b/style/imports/base_admin.css
@@ -1,52 +1,52 @@
-#adminconsole .block2 {MARGIN-TOP: 12px}
+#adminconsole .block2 {margin-top: 12px}
 
 /*** Admin Main Content ***/
-* HTML #adstats DD {HEIGHT: 1%}
-#adstats DD {MARGIN-LEFT: 14em; PADDING: 3px; MARGIN-BOTTOM: 5px; LINE-HEIGHT: 1.5em}
-#adstats DT {FLOAT: left; WIDTH: 13em; PADDING: 3px; LINE-HEIGHT: 1.5em}
-#adstats {PADDING: 15px 15px 5px 10px}
-#adintro {PADDING: 5px}
-#adintro P {PADDING: 10px}
-#adstats DL {PADDING: 5px 0 10px 5px}
+* html #adstats dd {height: 1%}
+#adstats dd {margin-left: 14em; padding: 3px; margin-bottom: 5px; line-height: 1.5em}
+#adstats dt {float: left; width: 13em; padding: 3px; line-height: 1.5em}
+#adstats {padding: 15px 15px 5px 10px}
+#adintro {padding: 5px}
+#adintro p {padding: 10px}
+#adstats dl {padding: 5px 0 10px 5px}
 
-#adminconsole FIELDSET TD {TEXT-ALIGN: left; PADDING: 4px; WHITE-SPACE: normal}
-#adminconsole FIELDSET TH {TEXT-ALIGN: left; PADDING: 4px; WHITE-SPACE: normal}
-#adminconsole FIELDSET TD SPAN, #adminconsole FIELDSET TH SPAN {DISPLAY: block; FONT-SIZE: 1em; FONT-WEIGHT: normal}
-#adminconsole TH {WIDTH: 15em; FONT-WEIGHT: bold}
-#adminconsole INPUT, #adminconsole SELECT, #adminconsole TEXTAREA {MARGIN-BOTTOM: 0; MARGIN-TOP: 0; FONT-WEIGHT: normal}
-#adminconsole TABLE.aligntop TH, #adminconsole TABLE.aligntop TD {VERTICAL-ALIGN: top}
-#adminconsole TABLE.aligntop TH {PADDING-TOP: 0.7em}
-#adminconsole TD, #adminconsole TH {BORDER-STYLE: solid; BORDER-WIDTH: 3px 0 3px 0}
-#adminconsole P {PADDING-BOTTOM: 6px}
-#adminconsole .topspace {PADDING-TOP: 6px}
-#adminconsole P.submittop, #adminconsole P.submitend {TEXT-ALIGN: center}
-#adminconsole TH.hidehead {COLOR: #f1f1f1}
-#adminconsole THEAD TH {PADDING-BOTTOM: 0}
-#adminconsole P.linkactions {FONT-WEIGHT: bold; PADDING-LEFT: 5px}
-#adminconsole TH INPUT, #adminconsole DIV.fsetsubmit {MARGIN-TOP: 6px}
+#adminconsole fieldset td {text-align: left; padding: 4px; white-space: normal}
+#adminconsole fieldset th {text-align: left; padding: 4px; white-space: normal}
+#adminconsole fieldset td span, #adminconsole fieldset th span {display: block; font-size: 1em; font-weight: normal}
+#adminconsole th {width: 15em; font-weight: bold}
+#adminconsole input, #adminconsole select, #adminconsole textarea {margin-bottom: 0; margin-top: 0; font-weight: normal}
+#adminconsole table.aligntop th, #adminconsole table.aligntop td {vertical-align: top}
+#adminconsole table.aligntop th {padding-top: 0.7em}
+#adminconsole td, #adminconsole th {border-style: solid; border-width: 3px 0 3px 0}
+#adminconsole p {padding-bottom: 6px}
+#adminconsole .topspace {padding-top: 6px}
+#adminconsole p.submittop, #adminconsole p.submitend {text-align: center}
+#adminconsole th.hidehead {color: #f1f1f1}
+#adminconsole thead th {padding-bottom: 0}
+#adminconsole p.linkactions {font-weight: bold; padding-left: 5px}
+#adminconsole th input, #adminconsole div.fsetsubmit {margin-top: 6px}
 
 /*** Particular table settings ***/
-#categoryedit .tcl {WIDTH: 25%}
-#censoring .tcl, #censoring .tc2 {WIDTH: 20%}
-#edforum .tcl, #edforum .tc2 {WIDTH: 8%}
-#edforum .tc2 {WIDTH: 6%}
+#categoryedit .tcl {width: 25%}
+#censoring .tcl, #censoring .tc2 {width: 20%}
+#edforum .tcl, #edforum .tc2 {width: 8%}
+#edforum .tc2 {width: 6%}
 
-TABLE#forumperms TH, TABLE#forumperms TD {WHITE-SPACE: normal; WIDTH: auto; TEXT-ALIGN: center}
-TABLE#forumperms .atcl {TEXT-ALIGN: left; WIDTH: 15em; WHITE-SPACE: nowrap}
-#adminconsole TD.nodefault {BACKGROUND-COLOR: #D59B9B}
+table#forumperms th, table#forumperms td {white-space: normal; width: auto; text-align: center}
+table#forumperms .atcl {text-align: left; width: 15em; white-space: nowrap}
+#adminconsole td.nodefault {background-color: #d59b9b}
 
 /*** User/Ban Search Result Tables ***/
-#users2 TH, #bans1 TH {TEXT-ALIGN: left}
-#users2 TH.tcmod {TEXT-ALIGN: center}
-#users2 .tcl, #bans1 .tcl {WIDTH: auto; TEXT-ALIGN: left; PADDING: 4px 6px}
-#users2 .tc2, #bans1 .tc2 {WIDTH: 18%; TEXT-ALIGN: left; PADDING: 4px 6px}
-#users2 .tc3, #users2 .tc5, #bans1 .tc3, #bans1 .tc5, #bans1 .tc6 {WIDTH: 12%; TEXT-ALIGN: left; PADDING: 4px 6px}
-#users2 .tc4, #bans1 .tc4 {WIDTH: 10%; TEXT-ALIGN: center}
-#users2 .tcr {WIDTH: 20%; WHITE-SPACE: nowrap}
-#bans1 .tcr {WIDTH: 15%; WHITE-SPACE: nowrap}
-#users2 .tcmod {WIDTH: 10%; TEXT-ALIGN: center}
-#adminconsole #linkst, #adminconsole #linksb A {FONT-WEIGHT: bold}
+#users2 th, #bans1 th {text-align: left}
+#users2 th.tcmod {text-align: center}
+#users2 .tcl, #bans1 .tcl {width: auto; text-align: left; padding: 4px 6px}
+#users2 .tc2, #bans1 .tc2 {width: 18%; text-align: left; padding: 4px 6px}
+#users2 .tc3, #users2 .tc5, #bans1 .tc3, #bans1 .tc5, #bans1 .tc6 {width: 12%; text-align: left; padding: 4px 6px}
+#users2 .tc4, #bans1 .tc4 {width: 10%; text-align: center}
+#users2 .tcr {width: 20%; white-space: nowrap}
+#bans1 .tcr {width: 15%; white-space: nowrap}
+#users2 .tcmod {width: 10%; text-align: center}
+#adminconsole #linkst, #adminconsole #linksb a {font-weight: bold}
 
 /*** Plugins ***/
-.plugin .inbox {PADDING-BOTTOM: 10px}
-.plugin p {PADDING: 10px 10px 0}
+.plugin .inbox {padding-bottom: 10px}
+.plugin p {padding: 10px 10px 0}
diff --git a/viewforum.php b/viewforum.php
index b629019..e562376 100644
--- a/viewforum.php
+++ b/viewforum.php
@@ -108,7 +108,7 @@ require PUN_ROOT.'header.php';
 	<div class="inbox crumbsplus">
 		<ul class="crumbs">
 			<li><a href="index.php"><?php echo $lang_common['Index'] ?></a></li>
-			<li><span>» </span><a href="viewforum.php?id=<?php echo $id ?>"><strong><?php echo pun_htmlspecialchars($cur_forum['forum_name']) ?></strong></a></li>
+			<li><span>» </span><strong><a href="viewforum.php?id=<?php echo $id ?>"><?php echo pun_htmlspecialchars($cur_forum['forum_name']) ?></a></strong></li>
 		</ul>
 		<div class="pagepost">
 			<p class="pagelink conl"><?php echo $paging_links ?></p>
@@ -287,7 +287,7 @@ else
 		</div>
 		<ul class="crumbs">
 			<li><a href="index.php"><?php echo $lang_common['Index'] ?></a></li>
-			<li><span>» </span><a href="viewforum.php?id=<?php echo $id ?>"><strong><?php echo pun_htmlspecialchars($cur_forum['forum_name']) ?></strong></a></li>
+			<li><span>» </span><strong><a href="viewforum.php?id=<?php echo $id ?>"><?php echo pun_htmlspecialchars($cur_forum['forum_name']) ?></a></strong></li>
 		</ul>
 <?php echo (!empty($forum_actions) ? "\t\t".'<p class="subscribelink clearb">'.implode(' - ', $forum_actions).'</p>'."\n" : '') ?>
 		<div class="clearer"></div>
diff --git a/viewtopic.php b/viewtopic.php
index bce3757..bf0b667 100644
--- a/viewtopic.php
+++ b/viewtopic.php
@@ -33,7 +33,7 @@ if ($pid)
 
 	list($id, $posted) = $db->fetch_row($result);
 
-	// Determine on what page the post is located (depending on $forum_user['disp_posts'])
+	// Determine on which page the post is located (depending on $forum_user['disp_posts'])
 	$result = $db->query('SELECT COUNT(id) FROM '.$db->prefix.'posts WHERE topic_id='.$id.' AND posted<'.$posted) or error('Unable to count previous posts', __FILE__, __LINE__, $db->error());
 	$num_posts = $db->result($result) + 1;
 
@@ -249,7 +249,7 @@ require PUN_ROOT.'header.php';
 		<ul class="crumbs">
 			<li><a href="index.php"><?php echo $lang_common['Index'] ?></a></li>
 			<li><span>» </span><a href="viewforum.php?id=<?php echo $cur_topic['forum_id'] ?>"><?php echo pun_htmlspecialchars($cur_topic['forum_name']) ?></a></li>
-			<li><span>» </span><a href="viewtopic.php?id=<?php echo $id ?>"><strong><?php echo pun_htmlspecialchars($cur_topic['subject']) ?></strong></a></li>
+			<li><span>» </span><strong><a href="viewtopic.php?id=<?php echo $id ?>"><?php echo pun_htmlspecialchars($cur_topic['subject']) ?></a></strong></li>
 		</ul>
 		<div class="pagepost">
 			<p class="pagelink conl"><?php echo $paging_links ?></p>
@@ -345,7 +345,7 @@ while ($cur_post = $db->fetch_assoc($result))
 
 		if ($pun_user['is_admmod'])
 		{
-			$user_info[] = '<dd><span><a href="moderate.php?get_host='.$cur_post['id'].'" title="'.$cur_post['poster_ip'].'">'.$lang_topic['IP address logged'].'</a></span></dd>';
+			$user_info[] = '<dd><span><a href="moderate.php?get_host='.$cur_post['id'].'" title="'.pun_htmlspecialchars($cur_post['poster_ip']).'">'.$lang_topic['IP address logged'].'</a></span></dd>';
 
 			if ($cur_post['admin_note'] != '')
 				$user_info[] = '<dd><span>'.$lang_topic['Note'].' <strong>'.pun_htmlspecialchars($cur_post['admin_note']).'</strong></span></dd>';
@@ -455,7 +455,7 @@ while ($cur_post = $db->fetch_assoc($result))
 		<ul class="crumbs">
 			<li><a href="index.php"><?php echo $lang_common['Index'] ?></a></li>
 			<li><span>» </span><a href="viewforum.php?id=<?php echo $cur_topic['forum_id'] ?>"><?php echo pun_htmlspecialchars($cur_topic['forum_name']) ?></a></li>
-			<li><span>» </span><a href="viewtopic.php?id=<?php echo $id ?>"><strong><?php echo pun_htmlspecialchars($cur_topic['subject']) ?></strong></a></li>
+			<li><span>» </span><strong><a href="viewtopic.php?id=<?php echo $id ?>"><?php echo pun_htmlspecialchars($cur_topic['subject']) ?></a></strong></li>
 		</ul>
 <?php echo $subscraction ?>
 		<div class="clearer"></div>
@@ -504,7 +504,7 @@ else
 <textarea name="req_message" rows="7" cols="75" tabindex="<?php echo $cur_index++ ?>"></textarea></label>
 						<ul class="bblinks">
 							<li><span><a href="help.php#bbcode" onclick="window.open(this.href); return false;"><?php echo $lang_common['BBCode'] ?></a> <?php echo ($pun_config['p_message_bbcode'] == '1') ? $lang_common['on'] : $lang_common['off']; ?></span></li>
-							<li><span><a href="help.php#url" onclick="window.open(this.href); return false;"><?php echo $lang_common['url tag'] ?></a> <?php echo ($pun_config['p_message_bbcode'] == '1' && $pun_user['g_post_links'] == '1') ? $lang_common['on'] : $lang_common['off']; ?></span>
+							<li><span><a href="help.php#url" onclick="window.open(this.href); return false;"><?php echo $lang_common['url tag'] ?></a> <?php echo ($pun_config['p_message_bbcode'] == '1' && $pun_user['g_post_links'] == '1') ? $lang_common['on'] : $lang_common['off']; ?></span></li>
 							<li><span><a href="help.php#img" onclick="window.open(this.href); return false;"><?php echo $lang_common['img tag'] ?></a> <?php echo ($pun_config['p_message_bbcode'] == '1' && $pun_config['p_message_img_tag'] == '1') ? $lang_common['on'] : $lang_common['off']; ?></span></li>
 							<li><span><a href="help.php#smilies" onclick="window.open(this.href); return false;"><?php echo $lang_common['Smilies'] ?></a> <?php echo ($pun_config['o_smilies'] == '1') ? $lang_common['on'] : $lang_common['off']; ?></span></li>
 						</ul>


More information about the Xfce4-commits mailing list