diff -urN punbb-1.3.2/README punbb-1.3.3/README
--- punbb-1.3.2/README	2008-10-31 09:04:18.000000000 +0000
+++ punbb-1.3.3/README	2009-04-17 12:51:23.000000000 +0000
@@ -30,7 +30,7 @@
  2. Log into the forum and go to "Administration" console, "Extensions" section, choose "Install extensions" tab (e.g. http://example.com/punbb/admin/extensions.php?section=install). The downloaded extension will be listed there.
  3. Click the "Install extension" link to install the extension.
 
-NOTE: You may use the pun_admin_repository official PunBB extension to download and install extensions from PunBB repository with one click.
+NOTE: You may use the pun_repository official PunBB extension to download and install extensions from PunBB repository with one click.
 
 	 Maximizing Performance
 	------------------------
@@ -53,8 +53,8 @@
 
 	 Copyright and disclaimer
 	--------------------------
-This package and its contents are copyright (C) 2002-2008 PunBB, all rights reserved.
-Partially based on code copyright (C) 2008 FluxBB.org.
+This package and its contents are (C) 2002-2009 PunBB, all rights reserved.
+Partially based on code (C) 2008-2009 FluxBB.org.
 
 PunBB is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
 
diff -urN punbb-1.3.2/admin/bans.php punbb-1.3.3/admin/bans.php
--- punbb-1.3.2/admin/bans.php	2008-11-26 12:38:16.000000000 +0000
+++ punbb-1.3.3/admin/bans.php	2009-04-17 12:51:23.000000000 +0000
@@ -4,7 +4,7 @@
  *
  * Allows administrators and moderators to create, modify, and delete bans.
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
@@ -157,15 +157,17 @@
 		<h2 class="hn"><span><?php echo $lang_admin_bans['Ban advanced heading'] ?></span></h2>
 	</div>
 	<div class="main-content main-frm">
-		<div class="ct-box">
+		<div class="ct-box warn-box">
 			<p class="warn"><?php echo $lang_admin_bans['Ban IP warning'] ?></p>
 		</div>
 		<form class="frm-form" method="post" accept-charset="utf-8" action="<?php echo forum_link($forum_url['admin_bans']) ?>">
 			<div class="hidden">
 				<input type="hidden" name="csrf_token" value="<?php echo generate_form_token(forum_link($forum_url['admin_bans'])) ?>" />
 				<input type="hidden" name="mode" value="<?php echo $mode ?>" />
-<?php if ($mode == 'edit'): ?>				<input type="hidden" name="ban_id" value="<?php echo $ban_id ?>" />
-<?php endif; ?>			</div>
+<?php if ($mode == 'edit'): ?>
+				<input type="hidden" name="ban_id" value="<?php echo $ban_id ?>" />
+<?php endif; ?>
+			</div>
 <?php ($hook = get_hook('aba_add_edit_ban_pre_criteria_fieldset')) ? eval($hook) : null; ?>
 			<fieldset class="frm-group group<?php echo ++$forum_page['group_count'] ?>">
 				<legend class="group-legend"><span><?php echo $lang_admin_bans['Ban criteria legend'] ?></span></legend>
@@ -484,10 +486,12 @@
 						<h3 class=""><span><?php printf($lang_admin_bans['Current ban head'], $forum_page['ban_creator']) ?></span></h3>
 						<p><?php printf($lang_admin_bans['Edit or remove'], '<a href="'.forum_link($forum_url['admin_bans']).'?edit_ban='.$cur_ban['id'].'">'.$lang_admin_bans['Edit ban'].'</a>', '<a href="'.forum_link($forum_url['admin_bans']).'?del_ban='.$cur_ban['id'].'&amp;csrf_token='.generate_form_token('del_ban'.$cur_ban['id']).'">'.$lang_admin_bans['Remove ban'].'</a>') ?></p>
 					</div>
-<?php if (!empty($forum_page['ban_info'])): ?>				<ul>
+<?php if (!empty($forum_page['ban_info'])): ?>
+				<ul>
 					<?php echo implode("\n", $forum_page['ban_info'])."\n" ?>
 					</ul>
-<?php endif; ?>				</div>
+<?php endif; ?>
+				</div>
 			</div>
 <?php
 
diff -urN punbb-1.3.2/admin/categories.php punbb-1.3.3/admin/categories.php
--- punbb-1.3.2/admin/categories.php	2008-12-01 07:57:37.000000000 +0000
+++ punbb-1.3.3/admin/categories.php	2009-04-17 12:51:23.000000000 +0000
@@ -4,7 +4,7 @@
  *
  * Allows administrators to create, reposition, and remove categories.
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
diff -urN punbb-1.3.2/admin/censoring.php punbb-1.3.3/admin/censoring.php
--- punbb-1.3.2/admin/censoring.php	2008-11-26 12:38:16.000000000 +0000
+++ punbb-1.3.3/admin/censoring.php	2009-04-17 12:51:23.000000000 +0000
@@ -4,7 +4,7 @@
  *
  * Allows administrators and moderators to add, modify, and delete the word censors used by the software when censoring is enabled.
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
diff -urN punbb-1.3.2/admin/db_update.php punbb-1.3.3/admin/db_update.php
--- punbb-1.3.2/admin/db_update.php	2008-12-08 15:02:16.000000000 +0000
+++ punbb-1.3.3/admin/db_update.php	2009-04-17 12:55:05.000000000 +0000
@@ -4,14 +4,14 @@
  *
  * Updates the database to the latest version.
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
 
 
-define('UPDATE_TO', '1.3.2');
-define('UPDATE_TO_DB_REVISION', 3);
+define('UPDATE_TO', '1.3.3');
+define('UPDATE_TO_DB_REVISION', 4);
 
 // The number of items to process per pageview (lower this if the update script times out during UTF-8 conversion)
 define('PER_PAGE', 300);
@@ -39,7 +39,8 @@
 	exit('Cannot find config.php, are you sure it exists?');
 
 // Enable debug mode
-define('FORUM_DEBUG', 1);
+if (!defined('FORUM_DEBUG')) 
+	define('FORUM_DEBUG', 1);
 
 // Turn on full PHP error reporting
 error_reporting(E_ALL);
@@ -284,12 +285,15 @@
 	$seems_utf8 = true;
 
 	$query = array(
-		'SELECT'	=> 'MIN(id), MAX(id)',
+		'SELECT'	=> 'MIN(id), MAX(id), COUNT(id)',
 		'FROM'		=> 'posts'
 	);
 
 	$result = $forum_db->query_build($query) or error(__FILE__, __LINE__);
-	list($min_id, $max_id) = $forum_db->fetch_row($result);
+	list($min_id, $max_id, $count_id) = $forum_db->fetch_row($result);
+
+	if ($count_id == 0)
+		return false;
 
 	// Get a random soup of data and check if it appears to be UTF-8
 	for ($i = 0; $i < 100; ++$i)
@@ -416,7 +420,7 @@
 			<ul class="spaced">
 				<li class="warn"><span><strong>WARNING!</strong> This script will update your PunBB forum database. The update procedure might take anything from a few seconds to a few minutes (or in extreme cases, hours) depending on the speed of the server, the size of the forum database and the number of changes required.</span></li>
 				<li><span>Do not forget to make a backup of the database before continuing.</span></li>
-				<li><span> Did you read the update instructions in the documentation? If not, start there.</span></li>
+				<li><span>Did you read the update instructions in the documentation? If not, start there.</span></li>
 <?php
 
 if (strpos($cur_version, '1.2') === 0 && (!$db_seems_utf8 || isset($_GET['force'])))
@@ -725,7 +729,7 @@
 
 		// Make all IP fields VARCHAR(39) to support IPv6
 		$forum_db->alter_field('posts', 'poster_ip', 'VARCHAR(39)', true);
-		$forum_db->alter_field('user', 'registration_ip', 'VARCHAR(39)', false, '0.0.0.0');
+		$forum_db->alter_field('users', 'registration_ip', 'VARCHAR(39)', false, '0.0.0.0');
 
 		// Add the DST option to the users table
 		$forum_db->add_field('users', 'dst', 'TINYINT(1)', false, 0, 'timezone');
@@ -1991,10 +1995,13 @@
 	<div class="main-content frm">
 		<div class="ct-box info-box">
 			<p>Your forum database was updated successfully.</p>
-<?php if (isset($new_config) && !$written): ?>			<p>In order to complete the process, you must now update your config.php script. <strong>Copy and paste the text in the text box below into the file called config.php in the root directory of your PunBB installation</strong>. The file already exists, so you must edit/overwrite the contents of the old file. You may then <a href="<?php echo $base_url ?>/index.php">go to the forum index</a> once config.php has been updated.</p>
-<?php else: ?>			<p>You may <a href="<?php echo $base_url ?>/index.php">go to the forum index</a> now.</p>
+<?php if (isset($new_config) && !$written): ?>
+			<p>In order to complete the process, you must now update your config.php script. <strong>Copy and paste the text in the text box below into the file called config.php in the root directory of your PunBB installation</strong>. The file already exists, so you must edit/overwrite the contents of the old file. You may then <a href="<?php echo $base_url ?>/index.php">go to the forum index</a> once config.php has been updated.</p>
+<?php else: ?>
+			<p>You may <a href="<?php echo $base_url ?>/index.php">go to the forum index</a> now.</p>
 <?php endif; ?>		</div>
-<?php if (isset($new_config) && !$written): ?>		<form class="frm-form" action="foo">
+<?php if (isset($new_config) && !$written): ?>
+		<form class="frm-form" action="foo">
 			<fieldset class="frm-group group1">
 				<legend class="group-legend"><span>New config.php contents</span></legend>
 				<div class="txt-set set1">
diff -urN punbb-1.3.2/admin/extensions.php punbb-1.3.3/admin/extensions.php
--- punbb-1.3.2/admin/extensions.php	2008-11-10 13:52:46.000000000 +0000
+++ punbb-1.3.3/admin/extensions.php	2009-04-17 12:51:23.000000000 +0000
@@ -4,7 +4,7 @@
  *
  * Allows administrators to control the extensions and hotfixes installed in the site.
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
@@ -412,6 +412,12 @@
 	{
 		($hook = get_hook('aex_uninstall_comply_form_submitted')) ? eval($hook) : null;
 
+		$ext_info = array(
+			'id'			=> $id,
+			'path'			=> FORUM_ROOT.'extensions/'.$id,
+			'url'			=> $base_url.'/extensions/'.$id
+		);
+
 		$notices = array();
 
 		// Run uninstall code
diff -urN punbb-1.3.2/admin/forums.php punbb-1.3.3/admin/forums.php
--- punbb-1.3.2/admin/forums.php	2008-11-28 15:50:06.000000000 +0000
+++ punbb-1.3.3/admin/forums.php	2009-04-17 12:51:23.000000000 +0000
@@ -4,7 +4,7 @@
  *
  * Allows administrators to add, modify, and remove forums.
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
@@ -425,7 +425,7 @@
 
 	$forum_page['form_info'] = array();
 	if ($cur_forum['redirect_url'])
-		$forum_page['form_info'][] = '<li><span>'.$lang_admin_forums['Forum perms info 2'].'</span></li>';
+		$forum_page['form_info'][] = '<li><span>'.$lang_admin_forums['Forum perms redirect info'].'</span></li>';
 
 	$forum_page['form_info']['read'] = '<li><span>'.$lang_admin_forums['Forum perms read info'].'</span></li>';
 	$forum_page['form_info']['restore'] = '<li><span>'.$lang_admin_forums['Forum perms restore info'].'</span></li>';
diff -urN punbb-1.3.2/admin/groups.php punbb-1.3.3/admin/groups.php
--- punbb-1.3.2/admin/groups.php	2008-10-30 11:00:54.000000000 +0000
+++ punbb-1.3.3/admin/groups.php	2009-04-17 12:51:23.000000000 +0000
@@ -4,7 +4,7 @@
  *
  * Allows administrators to control group permissions.
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
@@ -180,8 +180,8 @@
 								<span class="fld-input"><input type="checkbox" id="fld<?php echo ++$forum_page['fld_count'] ?>" name="mod_ban_users" value="1"<?php if ($group['g_mod_ban_users'] == '1') echo ' checked="checked"' ?> /></span>
 								<label for="fld<?php echo $forum_page['fld_count'] ?>"><?php echo $lang_admin_groups['Allow mod bans label'] ?></label>
 							</div>
-						</div>
 <?php ($hook = get_hook('agr_add_edit_group_pre_mod_permissions_fieldset_end')) ? eval($hook) : null; ?>
+						</div>
 					</fieldset>
 <?php ($hook = get_hook('agr_add_edit_group_mod_permissions_fieldset_end')) ? eval($hook) : null; endif; endif; ?>
 					<fieldset class="mf-set set<?php echo ++$forum_page['item_count'] ?>">
@@ -242,9 +242,8 @@
 								<span class="fld-input"><input type="checkbox" id="fld<?php echo ++$forum_page['fld_count'] ?>" name="send_email" value="1"<?php if ($group['g_send_email'] == '1') echo ' checked="checked"' ?> /></span>
 								<label for="fld<?php echo $forum_page['fld_count'] ?>"><?php echo $lang_admin_groups['Allow send email label'] ?></label>
 							</div>
-<?php endif; ?>
+<?php endif; ($hook = get_hook('agr_add_edit_group_pre_user_permissions_fieldset_end')) ? eval($hook) : null; ?>
 						</div>
-<?php ($hook = get_hook('agr_add_edit_group_pre_user_permissions_fieldset_end')) ? eval($hook) : null; ?>
 					</fieldset>
 <?php ($hook = get_hook('agr_add_edit_group_user_permissions_fieldset_end')) ? eval($hook) : null; ?>
 				</fieldset>
diff -urN punbb-1.3.2/admin/index.php punbb-1.3.3/admin/index.php
--- punbb-1.3.2/admin/index.php	2008-11-26 12:38:16.000000000 +0000
+++ punbb-1.3.3/admin/index.php	2009-04-17 12:51:23.000000000 +0000
@@ -4,7 +4,7 @@
  *
  * Gives an overview of some statistics to administrators and moderators.
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
@@ -186,7 +186,7 @@
 					<h3 class="ct-legend hn"><span><?php echo $lang_admin_index['PunBB version'] ?></span></h3>
 					<ul class="data-list">
 						<li><span>PunBB <?php echo $forum_config['o_cur_version'] ?></span></li>
-						<li><span>&copy; Copyright 2008 <a href="http://punbb.informer.com/">PunBB</a></span></li>
+						<li><span><?php echo $lang_admin_index['Copyright message'] ?></span></li>
 <?php if (isset($punbb_updates)): ?>
 						<li><span><?php echo $punbb_updates ?></span></li>
 <?php endif; ?>
@@ -218,7 +218,7 @@
 					<ul class="data-list">
 						<li><span><?php echo implode(' ', $forum_db->get_version()) ?></span></li>
 <?php if (isset($total_records) && isset($total_size)): ?>
-							<li><span><?php echo $lang_admin_index['Rows'] ?>: <?php echo forum_number_format($total_records) ?></span></li>
+						<li><span><?php echo $lang_admin_index['Rows'] ?>: <?php echo forum_number_format($total_records) ?></span></li>
 						<li><span><?php echo $lang_admin_index['Size'] ?>: <?php echo $total_size ?></span></li>
 <?php endif; ?>
 					</ul>
diff -urN punbb-1.3.2/admin/install.php punbb-1.3.3/admin/install.php
--- punbb-1.3.2/admin/install.php	2008-12-08 15:02:16.000000000 +0000
+++ punbb-1.3.3/admin/install.php	2009-04-17 12:55:05.000000000 +0000
@@ -4,14 +4,14 @@
  *
  * Used to actually install PunBB.
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
 
 
-define('FORUM_VERSION', '1.3.2');
-define('FORUM_DB_REVISION', 3);
+define('FORUM_VERSION', '1.3.3');
+define('FORUM_DB_REVISION', 4);
 define('MIN_PHP_VERSION', '4.3.0');
 define('MIN_MYSQL_VERSION', '4.1.2');
 
@@ -57,7 +57,8 @@
 	return '<?php'."\n\n".'$db_type = \''.$db_type."';\n".'$db_host = \''.$db_host."';\n".'$db_name = \''.addslashes($db_name)."';\n".'$db_username = \''.addslashes($db_username)."';\n".'$db_password = \''.addslashes($db_password)."';\n".'$db_prefix = \''.addslashes($db_prefix)."';\n".'$p_connect = false;'."\n\n".'$base_url = \''.$base_url.'\';'."\n\n".'$cookie_name = '."'".$cookie_name."';\n".'$cookie_domain = '."'';\n".'$cookie_path = '."'/';\n".'$cookie_secure = 0;'."\n\ndefine('FORUM', 1);";
 }
 
-$language = isset($_GET['lang']) ? preg_replace('#[\.\\\/]#', '', $_GET['lang']) : 'English';
+$language = isset($_GET['lang']) ? $_GET['lang'] : (isset($_POST['req_language']) ? forum_trim($_POST['req_language']) : 'English');
+$language = preg_replace('#[\.\\\/]#', '', $language);
 if (!file_exists(FORUM_ROOT.'lang/'.$language.'/install.php'))
 	exit('The language pack you have chosen doesn\'t seem to exist or is corrupt. Please recheck and try again.');
 
@@ -83,6 +84,7 @@
 	exit;
 }
 
+header('Content-Type: text/xml; charset=utf-8');
 
 if (!isset($_POST['form_sent']))
 {
@@ -459,7 +461,7 @@
 			break;
 
 		default:
-			error(sprintf($lang_install['No such database type'], $db_type));
+			error(sprintf($lang_install['No such database type'], forum_htmlencode($db_type)));
 	}
 
 	// Create the database object (and connect/select db)
@@ -1746,15 +1748,15 @@
 	$alerts = array();
 	// Check if the cache directory is writable
 	if (!is_writable('./cache/'))
-		$alerts[] = '<li>'.$lang_install['No cache write'].'</li>';
+		$alerts[] = '<li><span>'.$lang_install['No cache write'].'</span></li>';
 
 	// Check if default avatar directory is writable
 	if (!is_writable('./img/avatars/'))
-		$alerts[] = '<li>'.$lang_install['No avatar write'].'</li>';
+		$alerts[] = '<li><span>'.$lang_install['No avatar write'].'</span></li>';
 
 	// Check if we disabled uploading avatars because file_uploads was disabled
 	if ($avatars == '0')
-		$alerts[] = '<li>'.$lang_install['File upload alert'].'</li>';
+		$alerts[] = '<li><span>'.$lang_install['File upload alert'].'</span></li>';
 
 	// Add some random bytes at the end of the cookie name to prevent collisions
 	$cookie_name = 'forum_cookie_'.random_key(6, false, true);
diff -urN punbb-1.3.2/admin/prune.php punbb-1.3.3/admin/prune.php
--- punbb-1.3.2/admin/prune.php	2008-10-28 14:12:01.000000000 +0000
+++ punbb-1.3.3/admin/prune.php	2009-04-17 12:51:23.000000000 +0000
@@ -4,7 +4,7 @@
  *
  * Allows administrators to delete older topics from the site.
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
diff -urN punbb-1.3.2/admin/ranks.php punbb-1.3.3/admin/ranks.php
--- punbb-1.3.2/admin/ranks.php	2008-10-30 12:12:19.000000000 +0000
+++ punbb-1.3.3/admin/ranks.php	2009-04-17 12:51:23.000000000 +0000
@@ -4,7 +4,7 @@
  *
  * Allows administrators to control the tags given to posters based on their post count.
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
diff -urN punbb-1.3.2/admin/reindex.php punbb-1.3.3/admin/reindex.php
--- punbb-1.3.2/admin/reindex.php	2008-10-28 14:12:01.000000000 +0000
+++ punbb-1.3.3/admin/reindex.php	2009-04-17 12:51:23.000000000 +0000
@@ -4,7 +4,7 @@
  *
  * Allows administrators to rebuild the index used to search the posts and topics.
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
diff -urN punbb-1.3.2/admin/reports.php punbb-1.3.3/admin/reports.php
--- punbb-1.3.2/admin/reports.php	2008-11-26 12:38:16.000000000 +0000
+++ punbb-1.3.3/admin/reports.php	2009-04-17 12:51:23.000000000 +0000
@@ -4,7 +4,7 @@
  *
  * Allows administrators and moderators to handle reported posts.
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
diff -urN punbb-1.3.2/admin/settings.php punbb-1.3.3/admin/settings.php
--- punbb-1.3.2/admin/settings.php	2008-12-04 17:00:41.000000000 +0000
+++ punbb-1.3.3/admin/settings.php	2009-04-17 12:51:23.000000000 +0000
@@ -4,7 +4,7 @@
  *
  * Allows administrators to control many of the settings used in the site.
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
@@ -1262,16 +1262,16 @@
 	($hook = get_hook('aop_maintenance_output_start')) ? eval($hook) : null;
 
 ?>
+	<div class="main-subhead">
+		<h2 class="hn"><span><?php echo $lang_admin_settings['Maintenance head'] ?></span></h2>
+	</div>
 	<div class="main-content main-frm">
-		<div class="content-head">
-			<h2 class="hn"><span><?php echo $lang_admin_settings['Maintenance head'] ?></span></h2>
-		</div>
 		<form class="frm-form" method="post" accept-charset="utf-8" action="<?php echo forum_link($forum_url['admin_settings_maintenance']) ?>">
 			<div class="hidden">
 				<input type="hidden" name="csrf_token" value="<?php echo generate_form_token(forum_link($forum_url['admin_settings_maintenance'])) ?>" />
 				<input type="hidden" name="form_sent" value="1" />
 			</div>
-			<div class="ct-box">
+			<div class="ct-box warn-box">
 				<p class="important"><?php echo $lang_admin_settings['Maintenance mode info'] ?></p>
 				<p class="warn"><?php echo $lang_admin_settings['Maintenance mode warn'] ?></p>
 			</div>
diff -urN punbb-1.3.2/admin/users.php punbb-1.3.3/admin/users.php
--- punbb-1.3.2/admin/users.php	2008-12-04 16:48:51.000000000 +0000
+++ punbb-1.3.3/admin/users.php	2009-04-17 12:51:23.000000000 +0000
@@ -4,7 +4,7 @@
  *
  * Allows administrators or moderators to search the existing users based on various criteria.
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
@@ -1081,7 +1081,6 @@
 
 // Setup form
 $forum_page['group_count'] = $forum_page['item_count'] = $forum_page['fld_count'] = 0;
-$forum_page['form_action'] = '';
 
 // Setup breadcrumbs
 $forum_page['crumbs'] = array(
diff -urN punbb-1.3.2/delete.php punbb-1.3.3/delete.php
--- punbb-1.3.2/delete.php	2008-10-31 09:04:18.000000000 +0000
+++ punbb-1.3.3/delete.php	2009-04-17 12:51:23.000000000 +0000
@@ -4,7 +4,7 @@
  *
  * Deletes the specified post (and, if necessary, the topic it is in).
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
diff -urN punbb-1.3.2/edit.php punbb-1.3.3/edit.php
--- punbb-1.3.2/edit.php	2008-11-08 17:53:23.000000000 +0000
+++ punbb-1.3.3/edit.php	2009-04-17 12:51:23.000000000 +0000
@@ -4,7 +4,7 @@
  *
  * Modifies the contents of the specified post.
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
@@ -297,7 +297,7 @@
 <?php if ($can_edit_subject): ?>				<div class="sf-set set<?php echo ++$forum_page['item_count'] ?>">
 					<div class="sf-box text required">
 						<label for="fld<?php echo ++ $forum_page['fld_count'] ?>"><span><?php echo $lang_post['Topic subject'] ?>  <em><?php echo $lang_common['Required'] ?></em></span></label><br />
-						<span class="fld-input"><input id="fld<?php echo $forum_page['fld_count'] ?>" type="text" name="req_subject" size="80" maxlength="70" value="<?php echo forum_htmlencode(isset($_POST['req_subject']) ? $_POST['req_subject'] : $cur_post['subject']) ?>" /></span>
+						<span class="fld-input"><input id="fld<?php echo $forum_page['fld_count'] ?>" type="text" name="req_subject" size="70" maxlength="70" value="<?php echo forum_htmlencode(isset($_POST['req_subject']) ? $_POST['req_subject'] : $cur_post['subject']) ?>" /></span>
 					</div>
 				</div>
 <?php endif; ($hook = get_hook('ed_pre_message_box')) ? eval($hook) : null; ?>				<div class="txt-set set<?php echo ++$forum_page['item_count'] ?>">
diff -urN punbb-1.3.2/extern.php punbb-1.3.3/extern.php
--- punbb-1.3.2/extern.php	2008-11-26 12:46:21.000000000 +0000
+++ punbb-1.3.3/extern.php	2009-04-17 12:51:23.000000000 +0000
@@ -5,7 +5,7 @@
  * Allows forum content to be syndicated outside of the site in various formats
  * (ie: RSS, Atom, XML, HTML).
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
@@ -120,8 +120,9 @@
 	else
 		echo "\t\t".'<generator>PunBB</generator>'."\n";
 
-	foreach ($feed['items'] as $item)
+	($hook = get_hook('ex_add_new_rss_info')) ? eval($hook) : null;
 
+	foreach ($feed['items'] as $item)
 	{
 		echo "\t\t".'<item>'."\n";
 		echo "\t\t\t".'<title><![CDATA['.escape_cdata($item['title']).']]></title>'."\n";
@@ -131,6 +132,8 @@
 		echo "\t\t\t".'<pubDate>'.gmdate('r', $item['pubdate']).'</pubDate>'."\n";
 		echo "\t\t\t".'<guid>'.$item['link'].'</guid>'."\n";
 
+		($hook = get_hook('ex_add_new_rss_item_info')) ? eval($hook) : null;
+
 		echo "\t\t".'</item>'."\n";
 	}
 
@@ -164,6 +167,8 @@
 	else
 		echo "\t".'<generator>PunBB</generator>'."\n";
 
+	($hook = get_hook('ex_add_new_atom_info')) ? eval($hook) : null;
+
 	echo "\t".'<id>'.$feed['link'].'</id>'."\n";
 
 	$content_tag = ($feed['type'] == 'posts') ? 'content' : 'summary';
@@ -186,6 +191,8 @@
 		echo "\t\t\t".'</author>'."\n";
 		echo "\t\t\t".'<updated>'.gmdate('Y-m-d\TH:i:s\Z', $item['pubdate']).'</updated>'."\n";
 
+		($hook = get_hook('ex_add_new_atom_item_info')) ? eval($hook) : null;
+
 		echo "\t\t\t".'<id>'.$item['link'].'</id>'."\n";
 		echo "\t\t".'</entry>'."\n";
 	}
@@ -202,7 +209,7 @@
 	global $lang_common, $forum_config;
 
 	// Send XML/no cache headers
-	header('Content-Type: text/xml; charset=utf-8');
+	header('Content-Type: application/xml; charset=utf-8');
 	header('Expires: '.gmdate('D, d M Y H:i:s').' GMT');
 	header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
 	header('Pragma: public');
@@ -211,6 +218,8 @@
 	echo '<source>'."\n";
 	echo "\t".'<url>'.$feed['link'].'</url>'."\n";
 
+	($hook = get_hook('ex_add_new_xml_info')) ? eval($hook) : null;
+
 	$forum_tag = ($feed['type'] == 'posts') ? 'post' : 'topic';
 
 	foreach ($feed['items'] as $item)
@@ -232,6 +241,8 @@
 		echo "\t\t".'</author>'."\n";
 		echo "\t\t".'<posted>'.gmdate('r', $item['pubdate']).'</posted>'."\n";
 
+		($hook = get_hook('ex_add_new_xml_item_info')) ? eval($hook) : null;
+
 		echo "\t".'</'.$forum_tag.'>'."\n";
 	}
 
@@ -247,6 +258,9 @@
 
 	// 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('Expires: '.gmdate('D, d M Y H:i:s').' GMT');
+	header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
+	header('Pragma: public');
 
 	foreach ($feed['items'] as $item)
 	{
@@ -269,6 +283,8 @@
 	if ($show < 1 || $show > 50)
 		$show = 15;
 
+	($hook = get_hook('ex_set_syndication_type')) ? eval($hook) : null;
+
 	// Was a topic ID supplied?
 	if (isset($_GET['tid']))
 	{
@@ -276,7 +292,7 @@
 
 		// Fetch topic subject
 		$query = array(
-			'SELECT'	=> 't.subject, t.num_replies, t.first_post_id',
+			'SELECT'	=> 't.subject, t.first_post_id',
 			'FROM'		=> 'topics AS t',
 			'JOINS'		=> array(
 				array(
@@ -297,12 +313,15 @@
 
 		$cur_topic = $forum_db->fetch_assoc($result);
 
+		if (!defined('FORUM_PARSER_LOADED'))
+			require FORUM_ROOT.'include/parser.php';
+
 		if ($forum_config['o_censoring'] == '1')
 			$cur_topic['subject'] = censor_words($cur_topic['subject']);
 
 		// Setup the feed
 		$feed = array(
-			'title' 		=>	$forum_config['o_board_title'].' - '.$cur_topic['subject'],
+			'title' 		=>	$forum_config['o_board_title'].$lang_common['Title separator'].$cur_topic['subject'],
 			'link'			=>	forum_link($forum_url['topic'], array($tid, sef_friendly($cur_topic['subject']))),
 			'description'	=>	sprintf($lang_common['RSS description topic'], $cur_topic['subject']),
 			'items'			=>	array(),
@@ -311,7 +330,7 @@
 
 		// Fetch $show posts
 		$query = array(
-			'SELECT'	=> 'p.id, p.poster, p.message, p.posted, p.poster_id, u.email_setting, u.email, p.poster_email',
+			'SELECT'	=> 'p.id, p.poster, p.message, p.hide_smilies, p.posted, p.poster_id, u.email_setting, u.email, p.poster_email',
 			'FROM'		=> 'posts AS p',
 			'JOINS'		=> array(
 				array(
@@ -331,6 +350,8 @@
 			if ($forum_config['o_censoring'] == '1')
 				$cur_post['message'] = censor_words($cur_post['message']);
 
+			$cur_post['message'] = parse_message($cur_post['message'], $cur_post['hide_smilies']);
+
 			$item = array(
 				'id'			=>	$cur_post['id'],
 				'title'			=>	$cur_topic['first_post_id'] == $cur_post['id'] ? $cur_topic['subject'] : $lang_common['RSS reply'].$cur_topic['subject'],
@@ -344,12 +365,12 @@
 
 			if ($cur_post['poster_id'] > 1)
 			{
-				if ($cur_post['email_setting'] == '0')
+				if ($cur_post['email_setting'] == '0' && !$forum_user['is_guest'])
 					$item['author']['email'] = $cur_post['email'];
 
 				$item['author']['uri'] = forum_link($forum_url['user'], $cur_post['poster_id']);
 			}
-			else if ($cur_post['poster_email'] != '')
+			else if ($cur_post['poster_email'] != '' && !$forum_user['is_guest'])
 				$item['author']['email'] = $cur_post['poster_email'];
 
 			$feed['items'][] = $item;
@@ -364,6 +385,11 @@
 	}
 	else
 	{
+		$forum_name = '';
+
+		if (!defined('FORUM_PARSER_LOADED'))
+			require FORUM_ROOT.'include/parser.php';
+
 		// Were any forum ID's supplied?
 		if (isset($_GET['fid']) && is_scalar($_GET['fid']) && $_GET['fid'] != '')
 		{
@@ -372,6 +398,26 @@
 
 			if (!empty($fids))
 				$forum_sql = ' AND t.forum_id IN('.implode(',', $fids).')';
+
+			if (count($fids) == 1)
+			{
+			// Fetch forum name
+			$query = array(
+				'SELECT'	=> 'f.forum_name',
+				'FROM'		=> 'forums AS f',
+				'JOINS'		=> array(
+					array(
+						'LEFT JOIN'		=> 'forum_perms AS fp',
+						'ON'			=> '(fp.forum_id=f.id AND fp.group_id='.$forum_user['g_id'].')'
+					)
+				),
+				'WHERE'		=> '(fp.read_forum IS NULL OR fp.read_forum=1) AND f.id='.$fids[0]
+			);
+
+			$result = $forum_db->query_build($query) or error(__FILE__, __LINE__);
+			if ($forum_db->num_rows($result))
+				$forum_name = $lang_common['Title separator'].$forum_db->result($result);
+			}
 		}
 
 		// Any forum ID's to exclude?
@@ -386,7 +432,7 @@
 
 		// Setup the feed
 		$feed = array(
-			'title' 		=>	$forum_config['o_board_title'],
+			'title' 		=>	$forum_config['o_board_title'].$forum_name,
 			'link'			=>	forum_link($forum_url['index']),
 			'description'	=>	sprintf($lang_common['RSS description'], $forum_config['o_board_title']),
 			'items'			=>	array(),
@@ -395,7 +441,7 @@
 
 		// Fetch $show topics
 		$query = array(
-			'SELECT'	=> 't.id, t.poster, t.subject, t.last_post, t.last_poster, p.message, u.email_setting, u.email, p.poster_id, p.poster_email',
+			'SELECT'	=> 't.id, t.poster, t.subject, t.last_post, t.last_poster, p.message, p.hide_smilies, u.email_setting, u.email, p.poster_id, p.poster_email',
 			'FROM'		=> 'topics AS t',
 			'JOINS'		=> array(
 				array(
@@ -429,11 +475,13 @@
 				$cur_topic['message'] = censor_words($cur_topic['message']);
 			}
 
+			$cur_topic['message'] = parse_message($cur_topic['message'], $cur_topic['hide_smilies']);
+
 			$item = array(
 				'id'			=>	$cur_topic['id'],
 				'title'			=>	$cur_topic['subject'],
 				'link'			=>	forum_link($forum_url['topic_new_posts'], array($cur_topic['id'], sef_friendly($cur_topic['subject']))),
-				'description'		=>	$cur_topic['message'],
+				'description'	=>	$cur_topic['message'],
 				'author'		=>	array(
 					'name'	=> $cur_topic['last_poster']
 				),
@@ -442,12 +490,12 @@
 
 			if ($cur_topic['poster_id'] > 1)
 			{
-				if ($cur_topic['email_setting'] == '0')
+				if ($cur_topic['email_setting'] == '0' && !$forum_user['is_guest'])
 					$item['author']['email'] = $cur_topic['email'];
 
 				$item['author']['uri'] = forum_link($forum_url['user'], $cur_topic['poster_id']);
 			}
-			else if ($cur_topic['poster_email'] != '')
+			else if ($cur_topic['poster_email'] != '' && !$forum_user['is_guest'])
 				$item['author']['email'] = $cur_topic['poster_email'];
 
 			$feed['items'][] = $item;
@@ -487,7 +535,7 @@
 	{
 		if ($forum_user_online['user_id'] > 1)
 		{
-			$users[] = '<a href="'.forum_link($forum_url['user'], $forum_user_online['user_id']).'">'.forum_htmlencode($forum_user_online['ident']).'</a>';
+			$users[] = $forum_user['g_view_users'] == '1' ?'<a href="'.forum_link($forum_url['user'], $forum_user_online['user_id']).'">'.forum_htmlencode($forum_user_online['ident']).'</a>' : forum_htmlencode($forum_user_online['ident']);
 			++$num_users;
 		}
 		else
@@ -495,11 +543,17 @@
 	}
 
 	($hook = get_hook('ex_pre_online_output')) ? eval($hook) : null;
+	// 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('Expires: '.gmdate('D, d M Y H:i:s').' GMT');
+	header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
+	header('Pragma: public');
+
 
 	echo $lang_index['Guests online'].': '.forum_number_format($num_guests).'<br />'."\n";
 
-	if ($_GET['action'] == 'online_full')
-		echo $lang_index['Users online'].': '.implode(', ', $users).'<br />'."\n";
+	if ($_GET['action'] == 'online_full' && !empty($users))
+		echo $lang_index['Users online'].': '.implode($lang_index['Online list separator'], $users).'<br />'."\n";
 	else
 		echo $lang_index['Users online'].': '.forum_number_format($num_users).'<br />'."\n";
 
@@ -544,6 +598,12 @@
 	$result = $forum_db->query_build($query) or error(__FILE__, __LINE__);
 	list($stats['total_topics'], $stats['total_posts']) = $forum_db->fetch_row($result);
 
+	// 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('Expires: '.gmdate('D, d M Y H:i:s').' GMT');
+	header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
+	header('Pragma: public');
+
 	($hook = get_hook('ex_pre_stats_output')) ? eval($hook) : null;
 
 	echo sprintf($lang_index['No of users'], forum_number_format($stats['total_users'])).'<br />'."\n";
diff -urN punbb-1.3.2/footer.php punbb-1.3.3/footer.php
--- punbb-1.3.2/footer.php	2008-11-09 13:28:04.000000000 +0000
+++ punbb-1.3.3/footer.php	2009-04-17 12:51:23.000000000 +0000
@@ -2,7 +2,7 @@
 /**
  * Outputs the footer used by most forum pages.
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
@@ -15,11 +15,12 @@
 // START SUBST - <!-- forum_about -->
 ob_start();
 ($hook = get_hook('ft_about_output_start')) ? eval($hook) : null;
-($hook = get_hook('ft_about_pre_quickjump')) ? eval($hook) : null;
 
 // Display the "Jump to" drop list
 if ($forum_user['g_read_board'] == '1' && $forum_config['o_quickjump'] == '1')
 {
+	($hook = get_hook('ft_about_pre_quickjump')) ? eval($hook) : null;
+
 	// Load cached quickjump
 	if (file_exists(FORUM_CACHE_DIR.'cache_quickjump_'.$forum_user['g_id'].'.php'))
 		include FORUM_CACHE_DIR.'cache_quickjump_'.$forum_user['g_id'].'.php';
@@ -34,15 +35,14 @@
 	}
 }
 
+$forum_page['copyright'] = sprintf($lang_common['Powered by'], '<a href="http://punbb.informer.com/">PunBB</a>'.($forum_config['o_show_version'] == '1' ? ' '.$forum_config['o_cur_version'] : ''), '<a href="http://www.informer.com/">Informer Technologies, Inc</a>');
 
 ($hook = get_hook('ft_about_pre_copyright')) ? eval($hook) : null;
 
-// End the transaction
-$forum_db->end_transaction();
-
 ?>
-	<p id="copyright"><?php echo sprintf($lang_common['Powered by'], '<a href="http://punbb.informer.com/">PunBB</a>'.($forum_config['o_show_version'] == '1' ? ' '.$forum_config['o_cur_version'] : '')); ?></p>
+	<p id="copyright"><?php echo $forum_page['copyright']; ?></p>
 <?php
+
 ($hook = get_hook('ft_about_end')) ? eval($hook) : null;
 
 $tpl_temp = forum_trim(ob_get_contents());
@@ -81,6 +81,8 @@
 // Last call!
 ($hook = get_hook('ft_end')) ? eval($hook) : null;
 
+// End the transaction
+$forum_db->end_transaction();
 
 // Close the db connection (and free up any result data)
 $forum_db->close();
diff -urN punbb-1.3.2/header.php punbb-1.3.3/header.php
--- punbb-1.3.2/header.php	2008-12-08 11:53:13.000000000 +0000
+++ punbb-1.3.3/header.php	2009-04-17 12:51:23.000000000 +0000
@@ -2,7 +2,7 @@
 /**
  * Outputs the header used by most forum pages.
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
@@ -279,7 +279,7 @@
 // Bottom breadcrumbs
 $main_elements['<!-- forum_crumbs_end -->'] = (FORUM_PAGE != 'index') ? '<div id="brd-crumbs-end" class="crumbs gen-content">'."\n\t".'<p>'.generate_crumbs(false).'</p>'."\n".'</div>' : '';
 // Main section heading
-$main_elements['<!-- forum_main_title -->'] =  '<h1 class="main-title">'.((isset($forum_page['main_title'])) ? $forum_page['main_title'] : (is_array($last_crumb = end($forum_page['crumbs'])) ? reset($last_crumb) : $last_crumb)).(isset($forum_page['main_head_pages']) ? ' <small>'.$forum_page['main_head_pages'].'</small>' : '').'</h1>'."\n";
+$main_elements['<!-- forum_main_title -->'] =  '<h1 class="main-title">'.((isset($forum_page['main_title'])) ? $forum_page['main_title'] : forum_htmlencode(is_array($last_crumb = end($forum_page['crumbs'])) ? reset($last_crumb) : $last_crumb)).(isset($forum_page['main_head_pages']) ? ' <small>'.$forum_page['main_head_pages'].'</small>' : '').'</h1>'."\n";
 
 // Top pagination and post links
 $main_elements['<!-- forum_main_pagepost_top -->'] = (!empty($forum_page['page_post'])) ? '<div id="brd-pagepost-top" class="main-pagepost gen-content">'."\n\t".implode("\n\t", $forum_page['page_post'])."\n".'</div>' : '';
diff -urN punbb-1.3.2/help.php punbb-1.3.3/help.php
--- punbb-1.3.2/help.php	2008-10-31 09:04:18.000000000 +0000
+++ punbb-1.3.3/help.php	2009-04-17 12:51:23.000000000 +0000
@@ -4,7 +4,7 @@
  *
  * Provides examples of how to use various features of the forum (ie: BBCode, smilies).
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
@@ -26,7 +26,11 @@
 if (!$section)
 	message($lang_common['Bad request']);
 
-$page_title = forum_htmlencode($forum_config['o_board_title']).' - '.$lang_help['Help'];
+$forum_page['crumbs'] = array( 
+	array($forum_config['o_board_title'], forum_link($forum_url['help'])), 
+	$lang_help['Help'] 
+);
+
 define('FORUM_PAGE', 'help');
 require FORUM_ROOT.'header.php';
 
@@ -102,7 +106,7 @@
 				<samp><a href="mailto:name@example.com">name@example.com</a></samp>
 			</div>
 			<div class="entry-content">
-				<code>[email=name@example.com]<?php echo $lang_help['My e-mail address'] ?>[/email]</code><span><?php echo $lang_help['produces'] ?></span>
+				<code>[email=name@example.com]<?php echo $lang_help['My e-mail address'] ?>[/email]</code> <span><?php echo $lang_help['produces'] ?></span>
 				<samp><a href="mailto:name@example.com"><?php echo $lang_help['My e-mail address'] ?></a></samp>
 			</div>
 <?php ($hook = get_hook('he_new_bbcode_link')) ? eval($hook) : null; ?>
diff -urN punbb-1.3.2/include/cache.php punbb-1.3.3/include/cache.php
--- punbb-1.3.2/include/cache.php	2008-10-25 15:27:40.000000000 +0000
+++ punbb-1.3.3/include/cache.php	2009-04-17 12:51:23.000000000 +0000
@@ -4,7 +4,7 @@
  *
  * This file contains all of the functions used to generate the cache files used by the site.
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
@@ -371,7 +371,7 @@
 		$output = xml_to_array(forum_trim($result['content']));
 		$output = current($output);
 
-		if (is_array($output['hotfix']) && !is_array(current($output['hotfix'])))
+		if (!empty($output['hotfix']) && is_array($output['hotfix']) && !is_array(current($output['hotfix'])))
 			$output['hotfix'] = array($output['hotfix']);
 
 		$output['cached'] = time();
diff -urN punbb-1.3.2/include/common.php punbb-1.3.3/include/common.php
--- punbb-1.3.2/include/common.php	2008-10-30 16:06:04.000000000 +0000
+++ punbb-1.3.3/include/common.php	2009-04-17 12:51:23.000000000 +0000
@@ -2,7 +2,7 @@
 /**
  * Loads common data and performs various functions necessary for the site to work properly.
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
diff -urN punbb-1.3.2/include/common_admin.php punbb-1.3.3/include/common_admin.php
--- punbb-1.3.2/include/common_admin.php	2008-11-26 11:59:03.000000000 +0000
+++ punbb-1.3.3/include/common_admin.php	2009-04-17 12:51:23.000000000 +0000
@@ -2,7 +2,7 @@
 /**
  * Loads common functions used in the administration panel.
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
@@ -50,7 +50,7 @@
 			}
 			else if (FORUM_PAGE_SECTION == 'users')
 			{
-				$forum_page['admin_submenu']['users'] = '<li class="'.((FORUM_PAGE == 'admin-users') ? 'active' : 'normal').((empty($forum_page['admin_submenu'])) ? ' first-item' : '').'"><a href="'.forum_link($forum_url['admin_users']).'">'.$lang_admin_common['Searches'].'</a></li>';
+				$forum_page['admin_submenu']['users'] = '<li class="'.((FORUM_PAGE == 'admin-users' || FORUM_PAGE == 'admin-uresults' || FORUM_PAGE == 'admin-iresults') ? 'active' : 'normal').((empty($forum_page['admin_submenu'])) ? ' first-item' : '').'"><a href="'.forum_link($forum_url['admin_users']).'">'.$lang_admin_common['Searches'].'</a></li>';
 				$forum_page['admin_submenu']['groups'] = '<li class="'.((FORUM_PAGE == 'admin-groups') ? 'active' : 'normal').((empty($forum_page['admin_submenu'])) ? ' first-item' : '').'"><a href="'.forum_link($forum_url['admin_groups']).'">'.$lang_admin_common['Groups'].'</a></li>';
 				$forum_page['admin_submenu']['ranks'] = '<li class="'.((FORUM_PAGE == 'admin-ranks') ? 'active' : 'normal').((empty($forum_page['admin_submenu'])) ? ' first-item' : '').'"><a href="'.forum_link($forum_url['admin_ranks']).'">'.$lang_admin_common['Ranks'].'</a></li>';
 				$forum_page['admin_submenu']['bans'] = '<li class="'.((FORUM_PAGE == 'admin-bans') ? 'active' : 'normal').((empty($forum_page['admin_submenu'])) ? ' first-item' : '').'"><a href="'.forum_link($forum_url['admin_bans']).'">'.$lang_admin_common['Bans'].'</a></li>';
diff -urN punbb-1.3.2/include/dblayer/common_db.php punbb-1.3.3/include/dblayer/common_db.php
--- punbb-1.3.2/include/dblayer/common_db.php	2008-10-23 07:49:10.000000000 +0000
+++ punbb-1.3.3/include/dblayer/common_db.php	2009-04-17 12:51:23.000000000 +0000
@@ -2,7 +2,7 @@
 /**
  * Loads the proper database layer class.
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
diff -urN punbb-1.3.2/include/dblayer/mysql.php punbb-1.3.3/include/dblayer/mysql.php
--- punbb-1.3.2/include/dblayer/mysql.php	2008-10-30 17:09:06.000000000 +0000
+++ punbb-1.3.3/include/dblayer/mysql.php	2009-04-17 12:51:23.000000000 +0000
@@ -2,7 +2,7 @@
 /**
  * A database layer class that relies on the MySQL PHP extension.
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
diff -urN punbb-1.3.2/include/dblayer/mysqli.php punbb-1.3.3/include/dblayer/mysqli.php
--- punbb-1.3.2/include/dblayer/mysqli.php	2008-10-30 17:09:06.000000000 +0000
+++ punbb-1.3.3/include/dblayer/mysqli.php	2009-04-17 12:51:23.000000000 +0000
@@ -2,7 +2,7 @@
 /**
  * A database layer class that relies on the MySQLi PHP extension.
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
diff -urN punbb-1.3.2/include/dblayer/pgsql.php punbb-1.3.3/include/dblayer/pgsql.php
--- punbb-1.3.2/include/dblayer/pgsql.php	2008-10-30 17:09:06.000000000 +0000
+++ punbb-1.3.3/include/dblayer/pgsql.php	2009-04-17 12:51:23.000000000 +0000
@@ -2,7 +2,7 @@
 /**
  * A database layer class that relies on the PostgreSQL PHP extension.
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
diff -urN punbb-1.3.2/include/dblayer/sqlite.php punbb-1.3.3/include/dblayer/sqlite.php
--- punbb-1.3.2/include/dblayer/sqlite.php	2008-11-06 22:34:26.000000000 +0000
+++ punbb-1.3.3/include/dblayer/sqlite.php	2009-04-17 12:51:23.000000000 +0000
@@ -2,7 +2,7 @@
 /**
  * A database layer class that relies on the SQLite PHP extension.
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
diff -urN punbb-1.3.2/include/email.php punbb-1.3.3/include/email.php
--- punbb-1.3.2/include/email.php	2008-10-25 15:27:40.000000000 +0000
+++ punbb-1.3.3/include/email.php	2009-04-17 12:51:23.000000000 +0000
@@ -2,7 +2,7 @@
 /**
  * Loads functions used in dealing with email addresses and email sending.
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
diff -urN punbb-1.3.2/include/essentials.php punbb-1.3.3/include/essentials.php
--- punbb-1.3.2/include/essentials.php	2008-12-08 15:02:16.000000000 +0000
+++ punbb-1.3.3/include/essentials.php	2009-04-17 12:55:05.000000000 +0000
@@ -2,7 +2,7 @@
 /**
  * Loads the minimum amount of data (eg: functions, database connection, config data, etc) necessary to integrate the site.
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
@@ -15,8 +15,8 @@
 	exit('The constant FORUM_ROOT must be defined and point to a valid PunBB installation root directory.');
 
 // Define the version and database revision that this code was written for
-define('FORUM_VERSION', '1.3.2');
-define('FORUM_DB_REVISION', 3);
+define('FORUM_VERSION', '1.3.3');
+define('FORUM_DB_REVISION', 4);
 
 // Load the functions script
 require FORUM_ROOT.'include/functions.php';
@@ -106,7 +106,7 @@
 
 // Verify that we are running the proper database schema revision
 if (defined('PUN') || !isset($forum_config['o_database_revision']) || $forum_config['o_database_revision'] < FORUM_DB_REVISION || version_compare($forum_config['o_cur_version'], FORUM_VERSION, '<'))
-	error('Your PunBB database is out-of-date and must be upgraded in order to continue. Please run <a href="'.FORUM_ROOT.'admin/db_update.php">db_update.php</a> in order to complete the upgrade process.');
+	error('Your PunBB database is out-of-date and must be upgraded in order to continue. Please run <a href="'.$base_url.'/admin/db_update.php">db_update.php</a> in order to complete the upgrade process.');
 
 
 // Load hooks
diff -urN punbb-1.3.2/include/functions.php punbb-1.3.3/include/functions.php
--- punbb-1.3.2/include/functions.php	2008-12-04 16:49:51.000000000 +0000
+++ punbb-1.3.3/include/functions.php	2009-04-17 12:51:23.000000000 +0000
@@ -2,7 +2,7 @@
 /**
  * Loads common functions used throughout the site.
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
@@ -631,7 +631,7 @@
 <div id="brd-debug" class="main">
 
 	<div class="main-head">
-		<h2><span><?php echo $lang_common['Debug table'] ?></span></h2>
+		<h2 class="hn"><span><?php echo $lang_common['Debug table'] ?></span></h2>
 	</div>
 
 	<div class="main-content debug">
@@ -1360,44 +1360,47 @@
 
 	$forum_user = $forum_db->fetch_assoc($result);
 
-	// Update online list
-	if (!$forum_user['logged'])
+	if (!defined('FORUM_QUIET_VISIT'))
 	{
-		$forum_user['logged'] = time();
-		$forum_user['csrf_token'] = random_key(40, false, true);
-		$forum_user['prev_url'] = get_current_url(255);
+		// Update online list
+		if (!$forum_user['logged'])
+		{
+			$forum_user['logged'] = time();
+			$forum_user['csrf_token'] = random_key(40, false, true);
+			$forum_user['prev_url'] = get_current_url(255);
 
-		// REPLACE INTO avoids a user having two rows in the online table
-		$query = array(
-			'REPLACE'	=> 'user_id, ident, logged, csrf_token',
-			'INTO'		=> 'online',
-			'VALUES'	=> '1, \''.$forum_db->escape($remote_addr).'\', '.$forum_user['logged'].', \''.$forum_user['csrf_token'].'\'',
-			'UNIQUE'	=> 'user_id=1 AND ident=\''.$forum_db->escape($remote_addr).'\''
-		);
+			// REPLACE INTO avoids a user having two rows in the online table
+			$query = array(
+				'REPLACE'	=> 'user_id, ident, logged, csrf_token',
+				'INTO'		=> 'online',
+				'VALUES'	=> '1, \''.$forum_db->escape($remote_addr).'\', '.$forum_user['logged'].', \''.$forum_user['csrf_token'].'\'',
+				'UNIQUE'	=> 'user_id=1 AND ident=\''.$forum_db->escape($remote_addr).'\''
+			);
 
-		if ($forum_user['prev_url'] != null)
-		{
-			$query['REPLACE'] .= ', prev_url';
-			$query['VALUES'] .= ', \''.$forum_db->escape($forum_user['prev_url']).'\'';
-		}
+			if ($forum_user['prev_url'] != null)
+			{
+				$query['REPLACE'] .= ', prev_url';
+				$query['VALUES'] .= ', \''.$forum_db->escape($forum_user['prev_url']).'\'';
+			}
 
-		($hook = get_hook('fn_set_default_user_qr_add_online_guest_user')) ? eval($hook) : null;
-		$forum_db->query_build($query) or error(__FILE__, __LINE__);
-	}
-	else
-	{
-		$query = array(
-			'UPDATE'	=> 'online',
-			'SET'		=> 'logged='.time(),
-			'WHERE'		=> 'ident=\''.$forum_db->escape($remote_addr).'\''
-		);
+			($hook = get_hook('fn_set_default_user_qr_add_online_guest_user')) ? eval($hook) : null;
+			$forum_db->query_build($query) or error(__FILE__, __LINE__);
+		}
+		else
+		{
+			$query = array(
+				'UPDATE'	=> 'online',
+				'SET'		=> 'logged='.time(),
+				'WHERE'		=> 'ident=\''.$forum_db->escape($remote_addr).'\''
+			);
 
-		$current_url = get_current_url(255);
-		if ($current_url != null)
-			$query['SET'] .= ', prev_url=\''.$forum_db->escape($current_url).'\'';
+			$current_url = get_current_url(255);
+			if ($current_url != null)
+				$query['SET'] .= ', prev_url=\''.$forum_db->escape($current_url).'\'';
 
-		($hook = get_hook('fn_set_default_user_qr_update_online_guest_user')) ? eval($hook) : null;
-		$forum_db->query_build($query) or error(__FILE__, __LINE__);
+			($hook = get_hook('fn_set_default_user_qr_update_online_guest_user')) ? eval($hook) : null;
+			$forum_db->query_build($query) or error(__FILE__, __LINE__);
+		}
 	}
 
 	$forum_user['disp_topics'] = $forum_config['o_disp_topics_default'];
@@ -1408,6 +1411,8 @@
 	$forum_user['style'] = $forum_config['o_default_style'];
 	$forum_user['is_guest'] = true;
 	$forum_user['is_admmod'] = false;
+
+	($hook = get_hook('fn_set_default_user_end')) ? eval($hook) : null;
 }
 
 
@@ -2775,7 +2780,7 @@
 	ob_start();
 
 ?>
-<title><?php echo $lang_common['Maintenance'].' - '.forum_htmlencode($forum_config['o_board_title']) ?></title>
+<title><?php echo $lang_common['Maintenance'].$lang_common['Title separator'].forum_htmlencode($forum_config['o_board_title']) ?></title>
 <link rel="stylesheet" type="text/css" media="screen" href="<?php echo $base_url ?>/style/<?php echo $forum_user['style'] ?>/<?php echo $forum_user['style'].'.css' ?>" />
 <link rel="stylesheet" type="text/css" media="screen" href="<?php echo $base_url ?>/style/<?php echo $forum_user['style'] ?>/<?php echo $forum_user['style'].'_cs.css' ?>" />
 <!--[if lte IE 6]><link rel="stylesheet" type="text/css" href="<?php echo $base_url ?>/style/<?php echo $forum_user['style'] ?>/<?php echo $forum_user['style'].'_fix.css' ?>" /><![endif]-->
@@ -2792,7 +2797,7 @@
 	ob_start();
 
 ?>
-<div id="brd-main" class="main basic">
+<div id="brd-maint" class="main basic">
 
 	<div class="main-head">
 		<h1 class="hn"><span><?php echo $lang_common['Maintenance mode'] ?></span></h1>
@@ -2887,7 +2892,7 @@
 	// START SUBST - <!-- forum_head -->
 
 	$forum_head['refresh'] = '<meta http-equiv="refresh" content="'.$forum_config['o_redirect_delay'].';URL='.str_replace(array('<', '>', '"'), array('&lt;', '&gt;', '&quot;'), $destination_url).'" />';
-	$forum_head['title'] = '<title>'.$lang_common['Redirecting'].' - '.forum_htmlencode($forum_config['o_board_title']).'</title>';
+	$forum_head['title'] = '<title>'.$lang_common['Redirecting'].$lang_common['Title separator'].forum_htmlencode($forum_config['o_board_title']).'</title>';
 
 	ob_start();
 
@@ -2966,14 +2971,16 @@
 // Display a simple error message
 function error()
 {
+	global $forum_config;
+
 	if (!headers_sent())
 	{
+		// if no HTTP responce code is set we send 503
+		if (!defined('FORUM_HTTP_RESPONSE_CODE_SET'))
+			header('HTTP/1.1 503 Service Temporarily Unavailable');
 		header('Content-type: text/html; charset=utf-8');
-		header('HTTP/1.1 503 Service Temporarily Unavailable');
 	}
 
-	global $forum_config;
-
 	/*
 		Parse input parameters. Possible function signatures:
 		error('Error message.');
@@ -3006,7 +3013,7 @@
 	while (@ob_end_clean());
 
 	// "Restart" output buffering if we are using ob_gzhandler (since the gzip header is already sent)
-	if (!empty($forum_config['o_gzip']) && extension_loaded('zlib') && (strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') !== false || strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'deflate') !== false))
+	if (!empty($forum_config['o_gzip']) && extension_loaded('zlib') && !empty($_SERVER['HTTP_ACCEPT_ENCODING']) && (strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') !== false || strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'deflate') !== false))
 		ob_start('ob_gzhandler');
 
 ?>
diff -urN punbb-1.3.2/include/parser.php punbb-1.3.3/include/parser.php
--- punbb-1.3.2/include/parser.php	2008-12-08 13:47:34.000000000 +0000
+++ punbb-1.3.3/include/parser.php	2009-04-17 12:51:23.000000000 +0000
@@ -2,7 +2,7 @@
 /**
  * Loads various functions used to parse posts.
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
@@ -766,6 +766,10 @@
 {
 	global $forum_config, $base_url, $smilies;
 
+	$return = ($hook = get_hook('ps_do_smilies_start')) ? eval($hook) : null;
+	if ($return != null)
+		return $return;
+
 	$text = ' '.$text.' ';
 
 	foreach ($smilies as $smiley_text => $smiley_img)
@@ -774,6 +778,8 @@
 			$text = preg_replace("#(?<=[>\s])".preg_quote($smiley_text, '#')."(?=\W)#m", '<img src="'.$base_url.'/img/smilies/'.$smiley_img.'" width="15" height="15" alt="'.substr($smiley_img, 0, strrpos($smiley_img, '.')).'" />', $text);
 	}
 
+	$return = ($hook = get_hook('ps_do_smilies_end')) ? eval($hook) : null;
+
 	return substr($text, 1, -1);
 }
 
diff -urN punbb-1.3.2/include/search_functions.php punbb-1.3.3/include/search_functions.php
--- punbb-1.3.2/include/search_functions.php	2008-10-30 13:04:00.000000000 +0000
+++ punbb-1.3.3/include/search_functions.php	2009-04-17 12:51:23.000000000 +0000
@@ -2,7 +2,7 @@
 /**
  * Loads various functions that are used for searching the forum.
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
@@ -788,14 +788,14 @@
 		case 'show_user_posts':
 			$forum_page['crumbs'][] = sprintf($lang_search['Posts by'], $search_set[0]['pposter'], ($forum_page['start_from'] + 1), $num_hits);
 			$forum_page['items_info'] = generate_items_info($lang_search['Posts found'], ($forum_page['start_from'] + 1), $num_hits);
-			$forum_page['main_head_options']['user_topics'] = '<span'.(empty($forum_page['main_head_options']) ? ' class="first-item"' : '').'><a href="'.forum_link($forum_url['search_user_topics'], $search_id).'">'.sprintf($lang_search['Topics by'], $search_set[0]['pposter']).'</a></span>';
+			$forum_page['main_head_options']['user_topics'] = '<span'.(empty($forum_page['main_head_options']) ? ' class="first-item"' : '').'><a href="'.forum_link($forum_url['search_user_topics'], $search_id).'">'.sprintf($lang_search['Topics by'], forum_htmlencode($search_set[0]['pposter'])).'</a></span>';
 			$forum_page['main_head_options']['defined_search'] = '<span'.(empty($forum_page['main_head_options']) ? ' class="first-item"' : '').'><a href="'.forum_link($forum_url['search']).'">'.$lang_search['User defined search'].'</a></span>';
 			break;
 
 		case 'show_user_topics':
 			$forum_page['crumbs'][] = sprintf($lang_search['Topics by'], $search_set[0]['poster']);
 			$forum_page['items_info'] = generate_items_info($lang_search['Topics found'], ($forum_page['start_from'] + 1), $num_hits);
-			$forum_page['main_head_options']['user_posts'] =  '<span'.(empty($forum_page['main_head_options']) ? ' class="first-item"' : '').'><a href="'.forum_link($forum_url['search_user_posts'], $search_id).'">'.sprintf($lang_search['Posts by'], $search_set[0]['poster']).'</a></span>';
+			$forum_page['main_head_options']['user_posts'] =  '<span'.(empty($forum_page['main_head_options']) ? ' class="first-item"' : '').'><a href="'.forum_link($forum_url['search_user_posts'], $search_id).'">'.sprintf($lang_search['Posts by'], forum_htmlencode($search_set[0]['poster'])).'</a></span>';
 			$forum_page['main_head_options']['defined_search'] = '<span'.(empty($forum_page['main_head_options']) ? ' class="first-item"' : '').'><a href="'.forum_link($forum_url['search']).'">'.$lang_search['User defined search'].'</a></span>';
 			break;
 
diff -urN punbb-1.3.2/include/search_idx.php punbb-1.3.3/include/search_idx.php
--- punbb-1.3.2/include/search_idx.php	2008-11-05 12:42:27.000000000 +0000
+++ punbb-1.3.3/include/search_idx.php	2009-04-17 12:51:23.000000000 +0000
@@ -2,7 +2,7 @@
 /**
  * Load various functions used in indexing posts and topics for searching.
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
diff -urN punbb-1.3.2/include/url/Default/forum_urls.php punbb-1.3.3/include/url/Default/forum_urls.php
--- punbb-1.3.2/include/url/Default/forum_urls.php	2008-11-09 17:45:53.000000000 +0000
+++ punbb-1.3.3/include/url/Default/forum_urls.php	2009-04-17 12:51:23.000000000 +0000
@@ -2,7 +2,7 @@
 /**
  * Regular URL scheme.
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
diff -urN punbb-1.3.2/include/url/Default/index.html punbb-1.3.3/include/url/Default/index.html
--- punbb-1.3.2/include/url/Default/index.html	2008-11-09 17:45:53.000000000 +0000
+++ punbb-1.3.3/include/url/Default/index.html	2009-03-13 15:55:28.000000000 +0000
@@ -5,12 +5,4 @@
 <body>
 .
 </body>
-</html>
-<html>
-<head>
-<title>.</title>
-</head>
-<body>
-.
-</body>
-</html>
+</html>
\ No newline at end of file
diff -urN punbb-1.3.2/include/url/Default/reserved_strings.php punbb-1.3.3/include/url/Default/reserved_strings.php
--- punbb-1.3.2/include/url/Default/reserved_strings.php	2008-11-09 17:45:53.000000000 +0000
+++ punbb-1.3.3/include/url/Default/reserved_strings.php	2009-04-17 12:51:23.000000000 +0000
@@ -3,22 +3,22 @@
  * Loads the reserved strings used to transform problematic strings in URLs.
  * These are matched against the whole string after all other transformations.
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
 
 
 $forum_reserved_strings = array(
-	''		=>	'view',
+	''				=>	'view',
 
-	'newpost'	=>	'view',
-	'newposts'	=>	'view',
-	'new-post'	=>	'view',
-	'new-posts'	=>	'view',
+	'newpost'		=>	'view',
+	'newposts'		=>	'view',
+	'new-post'		=>	'view',
+	'new-posts'		=>	'view',
 
-	'lastpost'	=>	'view',
-	'lastposts'	=>	'view',
-	'last-post'	=>	'view',
+	'lastpost'		=>	'view',
+	'lastposts'		=>	'view',
+	'last-post'		=>	'view',
 	'last-posts'	=>	'view',
 );
diff -urN punbb-1.3.2/include/url/Default/rewrite_rules.php punbb-1.3.3/include/url/Default/rewrite_rules.php
--- punbb-1.3.2/include/url/Default/rewrite_rules.php	2008-11-09 17:45:53.000000000 +0000
+++ punbb-1.3.3/include/url/Default/rewrite_rules.php	2009-04-17 12:51:23.000000000 +0000
@@ -2,17 +2,17 @@
 /**
  * Loads the regular expressions used to match SEF URL requests to their proper URLs.
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
 
 
 $forum_rewrite_rules = array(
-	'/^topic[\/_-]?([0-9]+).*(new|last)[\/_-]?(posts?)(\.html?|\/)?$/i'													=>	'viewtopic.php?id=$1&action=$2',
+	'/^topic[\/_-]?([0-9]+).*(new|last)[\/_-]?(posts?)(\.html?|\/)?$/i'														=>	'viewtopic.php?id=$1&action=$2',
 	'/^post[\/_-]?([0-9]+)(\.html?|\/)?$/i'																					=>	'viewtopic.php?pid=$1',
 	'/^(forum|topic)[\/_-]?([0-9]+).*[\/_-]p(age)?[\/_-]?([0-9]+)(\.html?|\/)?$/i'											=>	'view$1.php?id=$2&p=$4',
-	'/^feed[\/_-]?(rss|atom)[\/_-]?(f|t)(orum|opic)[\/_-]?([0-9]+)[\/_-]?(\.xml?|\/)?$/i'											=>	'extern.php?action=feed&$2id=$4&type=$1',
+	'/^feed[\/_-]?(rss|atom)[\/_-]?(f|t)(orum|opic)[\/_-]?([0-9]+)[\/_-]?(\.xml?|\/)?$/i'									=>	'extern.php?action=feed&$2id=$4&type=$1',
 	'/^(forum|topic)[\/_-]?([0-9]+).*(\.html?|\/)?$/i'																		=>	'view$1.php?id=$2',
 	'/^new[\/_-]?reply[\/_-]?([0-9]+)(\.html?|\/)?$/i'																		=>	'post.php?tid=$1',
 	'/^new[\/_-]?reply[\/_-]?([0-9]+)[\/_-]?quote[\/_-]?([0-9]+)(\.html?|\/)?$/i'											=>	'post.php?tid=$1&qid=$2',
@@ -44,7 +44,7 @@
 	'/^search-k(.*)-(message|subject|all)-a(.*)-([0-9]+)-(ASC|DESC)-([0-9-]+)-(posts|topics)-p([0-9]+).html?$/i'			=>	'search.php?action=search&keywords=$1&author=$3&forum=$6&search_in=$2&sort_by=$4&sort_dir=$5&show_as=$7&p=$8',
 	'/^users(\.html?|\/)?$/i'																								=>	'userlist.php',
 	'/^users\/(.*)\/([0-9-]+)\/?([a-z_]+)[\/_-]([a-zA-Z]+)[\/_-]p(age)?[\/_-]?([0-9]+)(\.html?|\/)?$/i'						=>	'userlist.php?username=$1&show_group=$2&sort_by=$3&sort_dir=$4&p=$6',
-	'/^users\/(.*)\/([0-9-]+)\/?([a-z_]+)[\/_-]([a-zA-Z]+)(\.html?|\/)?$/i'											=>	'userlist.php?username=$1&show_group=$2&sort_by=$3&sort_dir=$4',
+	'/^users\/(.*)\/([0-9-]+)\/?([a-z_]+)[\/_-]([a-zA-Z]+)(\.html?|\/)?$/i'													=>	'userlist.php?username=$1&show_group=$2&sort_by=$3&sort_dir=$4',
 	'/^(email|report|subscribe|unsubscribe)[\/_-]?([0-9]+)[\/_-]?([a-z0-9]+)?(\.html?|\/)?$/i'								=>	'misc.php?$1=$2&csrf_token=$3',
 	'/^(mark|rules)[\/_-]?(read)?[\/_-]?([a-z0-9]+)?(\.html?|\/)?$/i'														=>	'misc.php?action=$1$2&csrf_token=$3',
 	'/^mark[\/_-](forum)[\/_-]?([0-9]+)[\/_-](read)[\/_-]([a-z0-9]+)(\.html?|\/)?$/i'										=>	'misc.php?action=markforumread&fid=$2&csrf_token=$4',
diff -urN punbb-1.3.2/include/url/File_based/forum_urls.php punbb-1.3.3/include/url/File_based/forum_urls.php
--- punbb-1.3.2/include/url/File_based/forum_urls.php	2008-11-09 17:45:53.000000000 +0000
+++ punbb-1.3.3/include/url/File_based/forum_urls.php	2009-04-17 12:51:23.000000000 +0000
@@ -2,7 +2,7 @@
 /**
  * SEF URLs that use a file-like layout.
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
diff -urN punbb-1.3.2/include/url/File_based/index.html punbb-1.3.3/include/url/File_based/index.html
--- punbb-1.3.2/include/url/File_based/index.html	2008-11-09 17:45:53.000000000 +0000
+++ punbb-1.3.3/include/url/File_based/index.html	2009-03-13 15:55:28.000000000 +0000
@@ -5,12 +5,4 @@
 <body>
 .
 </body>
-</html>
-<html>
-<head>
-<title>.</title>
-</head>
-<body>
-.
-</body>
-</html>
+</html>
\ No newline at end of file
diff -urN punbb-1.3.2/include/url/File_based/reserved_strings.php punbb-1.3.3/include/url/File_based/reserved_strings.php
--- punbb-1.3.2/include/url/File_based/reserved_strings.php	2008-11-09 17:45:53.000000000 +0000
+++ punbb-1.3.3/include/url/File_based/reserved_strings.php	2009-04-17 12:51:23.000000000 +0000
@@ -3,22 +3,22 @@
  * Loads the reserved strings used to transform problematic strings in URLs.
  * These are matched against the whole string after all other transformations.
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
 
 
 $forum_reserved_strings = array(
-	''		=>	'view',
+	''				=>	'view',
 
-	'newpost'	=>	'view',
-	'newposts'	=>	'view',
-	'new-post'	=>	'view',
-	'new-posts'	=>	'view',
+	'newpost'		=>	'view',
+	'newposts'		=>	'view',
+	'new-post'		=>	'view',
+	'new-posts'		=>	'view',
 
-	'lastpost'	=>	'view',
-	'lastposts'	=>	'view',
-	'last-post'	=>	'view',
+	'lastpost'		=>	'view',
+	'lastposts'		=>	'view',
+	'last-post'		=>	'view',
 	'last-posts'	=>	'view',
 );
diff -urN punbb-1.3.2/include/url/File_based/rewrite_rules.php punbb-1.3.3/include/url/File_based/rewrite_rules.php
--- punbb-1.3.2/include/url/File_based/rewrite_rules.php	2008-11-09 17:45:53.000000000 +0000
+++ punbb-1.3.3/include/url/File_based/rewrite_rules.php	2009-04-17 12:51:23.000000000 +0000
@@ -2,17 +2,17 @@
 /**
  * Loads the regular expressions used to match SEF URL requests to their proper URLs.
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
 
 
 $forum_rewrite_rules = array(
-	'/^topic[\/_-]?([0-9]+).*(new|last)[\/_-]?(posts?)(\.html?|\/)?$/i'													=>	'viewtopic.php?id=$1&action=$2',
+	'/^topic[\/_-]?([0-9]+).*(new|last)[\/_-]?(posts?)(\.html?|\/)?$/i'														=>	'viewtopic.php?id=$1&action=$2',
 	'/^post[\/_-]?([0-9]+)(\.html?|\/)?$/i'																					=>	'viewtopic.php?pid=$1',
 	'/^(forum|topic)[\/_-]?([0-9]+).*[\/_-]p(age)?[\/_-]?([0-9]+)(\.html?|\/)?$/i'											=>	'view$1.php?id=$2&p=$4',
-	'/^feed[\/_-]?(rss|atom)[\/_-]?(f|t)(orum|opic)[\/_-]?([0-9]+)[\/_-]?(\.xml?|\/)?$/i'											=>	'extern.php?action=feed&$2id=$4&type=$1',
+	'/^feed[\/_-]?(rss|atom)[\/_-]?(f|t)(orum|opic)[\/_-]?([0-9]+)[\/_-]?(\.xml?|\/)?$/i'									=>	'extern.php?action=feed&$2id=$4&type=$1',
 	'/^(forum|topic)[\/_-]?([0-9]+).*(\.html?|\/)?$/i'																		=>	'view$1.php?id=$2',
 	'/^new[\/_-]?reply[\/_-]?([0-9]+)(\.html?|\/)?$/i'																		=>	'post.php?tid=$1',
 	'/^new[\/_-]?reply[\/_-]?([0-9]+)[\/_-]?quote[\/_-]?([0-9]+)(\.html?|\/)?$/i'											=>	'post.php?tid=$1&qid=$2',
@@ -44,7 +44,7 @@
 	'/^search-k(.*)-(message|subject|all)-a(.*)-([0-9]+)-(ASC|DESC)-([0-9-]+)-(posts|topics)-p([0-9]+).html?$/i'			=>	'search.php?action=search&keywords=$1&author=$3&forum=$6&search_in=$2&sort_by=$4&sort_dir=$5&show_as=$7&p=$8',
 	'/^users(\.html?|\/)?$/i'																								=>	'userlist.php',
 	'/^users\/(.*)\/([0-9-]+)\/?([a-z_]+)[\/_-]([a-zA-Z]+)[\/_-]p(age)?[\/_-]?([0-9]+)(\.html?|\/)?$/i'						=>	'userlist.php?username=$1&show_group=$2&sort_by=$3&sort_dir=$4&p=$6',
-	'/^users\/(.*)\/([0-9-]+)\/?([a-z_]+)[\/_-]([a-zA-Z]+)(\.html?|\/)?$/i'											=>	'userlist.php?username=$1&show_group=$2&sort_by=$3&sort_dir=$4',
+	'/^users\/(.*)\/([0-9-]+)\/?([a-z_]+)[\/_-]([a-zA-Z]+)(\.html?|\/)?$/i'													=>	'userlist.php?username=$1&show_group=$2&sort_by=$3&sort_dir=$4',
 	'/^(email|report|subscribe|unsubscribe)[\/_-]?([0-9]+)[\/_-]?([a-z0-9]+)?(\.html?|\/)?$/i'								=>	'misc.php?$1=$2&csrf_token=$3',
 	'/^(mark|rules)[\/_-]?(read)?[\/_-]?([a-z0-9]+)?(\.html?|\/)?$/i'														=>	'misc.php?action=$1$2&csrf_token=$3',
 	'/^mark[\/_-](forum)[\/_-]?([0-9]+)[\/_-](read)[\/_-]([a-z0-9]+)(\.html?|\/)?$/i'										=>	'misc.php?action=markforumread&fid=$2&csrf_token=$4',
diff -urN punbb-1.3.2/include/url/File_based_(fancy)/forum_urls.php punbb-1.3.3/include/url/File_based_(fancy)/forum_urls.php
--- punbb-1.3.2/include/url/File_based_(fancy)/forum_urls.php	2008-11-09 17:45:53.000000000 +0000
+++ punbb-1.3.3/include/url/File_based_(fancy)/forum_urls.php	2009-04-17 12:51:23.000000000 +0000
@@ -3,7 +3,7 @@
  * SEF URLs that use a file-like layout and include topic name and forum name
  * where applicable.
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
diff -urN punbb-1.3.2/include/url/File_based_(fancy)/index.html punbb-1.3.3/include/url/File_based_(fancy)/index.html
--- punbb-1.3.2/include/url/File_based_(fancy)/index.html	2008-11-09 17:45:53.000000000 +0000
+++ punbb-1.3.3/include/url/File_based_(fancy)/index.html	2009-03-13 15:55:28.000000000 +0000
@@ -5,12 +5,4 @@
 <body>
 .
 </body>
-</html>
-<html>
-<head>
-<title>.</title>
-</head>
-<body>
-.
-</body>
-</html>
+</html>
\ No newline at end of file
diff -urN punbb-1.3.2/include/url/File_based_(fancy)/reserved_strings.php punbb-1.3.3/include/url/File_based_(fancy)/reserved_strings.php
--- punbb-1.3.2/include/url/File_based_(fancy)/reserved_strings.php	2008-11-09 17:45:53.000000000 +0000
+++ punbb-1.3.3/include/url/File_based_(fancy)/reserved_strings.php	2009-04-17 12:51:23.000000000 +0000
@@ -3,22 +3,22 @@
  * Loads the reserved strings used to transform problematic strings in URLs.
  * These are matched against the whole string after all other transformations.
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
 
 
 $forum_reserved_strings = array(
-	''		=>	'view',
+	''				=>	'view',
 
-	'newpost'	=>	'view',
-	'newposts'	=>	'view',
-	'new-post'	=>	'view',
-	'new-posts'	=>	'view',
+	'newpost'		=>	'view',
+	'newposts'		=>	'view',
+	'new-post'		=>	'view',
+	'new-posts'		=>	'view',
 
-	'lastpost'	=>	'view',
-	'lastposts'	=>	'view',
-	'last-post'	=>	'view',
+	'lastpost'		=>	'view',
+	'lastposts'		=>	'view',
+	'last-post'		=>	'view',
 	'last-posts'	=>	'view',
 );
diff -urN punbb-1.3.2/include/url/File_based_(fancy)/rewrite_rules.php punbb-1.3.3/include/url/File_based_(fancy)/rewrite_rules.php
--- punbb-1.3.2/include/url/File_based_(fancy)/rewrite_rules.php	2008-11-09 17:45:53.000000000 +0000
+++ punbb-1.3.3/include/url/File_based_(fancy)/rewrite_rules.php	2009-04-17 12:51:23.000000000 +0000
@@ -2,17 +2,17 @@
 /**
  * Loads the regular expressions used to match SEF URL requests to their proper URLs.
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
 
 
 $forum_rewrite_rules = array(
-	'/^topic[\/_-]?([0-9]+).*(new|last)[\/_-]?(posts?)(\.html?|\/)?$/i'													=>	'viewtopic.php?id=$1&action=$2',
+	'/^topic[\/_-]?([0-9]+).*(new|last)[\/_-]?(posts?)(\.html?|\/)?$/i'														=>	'viewtopic.php?id=$1&action=$2',
 	'/^post[\/_-]?([0-9]+)(\.html?|\/)?$/i'																					=>	'viewtopic.php?pid=$1',
 	'/^(forum|topic)[\/_-]?([0-9]+).*[\/_-]p(age)?[\/_-]?([0-9]+)(\.html?|\/)?$/i'											=>	'view$1.php?id=$2&p=$4',
-	'/^feed[\/_-]?(rss|atom)[\/_-]?(f|t)(orum|opic)[\/_-]?([0-9]+)[\/_-]?(\.xml?|\/)?$/i'											=>	'extern.php?action=feed&$2id=$4&type=$1',
+	'/^feed[\/_-]?(rss|atom)[\/_-]?(f|t)(orum|opic)[\/_-]?([0-9]+)[\/_-]?(\.xml?|\/)?$/i'									=>	'extern.php?action=feed&$2id=$4&type=$1',
 	'/^(forum|topic)[\/_-]?([0-9]+).*(\.html?|\/)?$/i'																		=>	'view$1.php?id=$2',
 	'/^new[\/_-]?reply[\/_-]?([0-9]+)(\.html?|\/)?$/i'																		=>	'post.php?tid=$1',
 	'/^new[\/_-]?reply[\/_-]?([0-9]+)[\/_-]?quote[\/_-]?([0-9]+)(\.html?|\/)?$/i'											=>	'post.php?tid=$1&qid=$2',
@@ -44,7 +44,7 @@
 	'/^search-k(.*)-(message|subject|all)-a(.*)-([0-9]+)-(ASC|DESC)-([0-9-]+)-(posts|topics)-p([0-9]+).html?$/i'			=>	'search.php?action=search&keywords=$1&author=$3&forum=$6&search_in=$2&sort_by=$4&sort_dir=$5&show_as=$7&p=$8',
 	'/^users(\.html?|\/)?$/i'																								=>	'userlist.php',
 	'/^users\/(.*)\/([0-9-]+)\/?([a-z_]+)[\/_-]([a-zA-Z]+)[\/_-]p(age)?[\/_-]?([0-9]+)(\.html?|\/)?$/i'						=>	'userlist.php?username=$1&show_group=$2&sort_by=$3&sort_dir=$4&p=$6',
-	'/^users\/(.*)\/([0-9-]+)\/?([a-z_]+)[\/_-]([a-zA-Z]+)(\.html?|\/)?$/i'											=>	'userlist.php?username=$1&show_group=$2&sort_by=$3&sort_dir=$4',
+	'/^users\/(.*)\/([0-9-]+)\/?([a-z_]+)[\/_-]([a-zA-Z]+)(\.html?|\/)?$/i'													=>	'userlist.php?username=$1&show_group=$2&sort_by=$3&sort_dir=$4',
 	'/^(email|report|subscribe|unsubscribe)[\/_-]?([0-9]+)[\/_-]?([a-z0-9]+)?(\.html?|\/)?$/i'								=>	'misc.php?$1=$2&csrf_token=$3',
 	'/^(mark|rules)[\/_-]?(read)?[\/_-]?([a-z0-9]+)?(\.html?|\/)?$/i'														=>	'misc.php?action=$1$2&csrf_token=$3',
 	'/^mark[\/_-](forum)[\/_-]?([0-9]+)[\/_-](read)[\/_-]([a-z0-9]+)(\.html?|\/)?$/i'										=>	'misc.php?action=markforumread&fid=$2&csrf_token=$4',
diff -urN punbb-1.3.2/include/url/Folder_based/forum_urls.php punbb-1.3.3/include/url/Folder_based/forum_urls.php
--- punbb-1.3.2/include/url/Folder_based/forum_urls.php	2008-11-09 17:45:53.000000000 +0000
+++ punbb-1.3.3/include/url/Folder_based/forum_urls.php	2009-04-17 12:51:23.000000000 +0000
@@ -2,7 +2,7 @@
 /**
  * SEF URLs that use a folder-like layout.
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
diff -urN punbb-1.3.2/include/url/Folder_based/index.html punbb-1.3.3/include/url/Folder_based/index.html
--- punbb-1.3.2/include/url/Folder_based/index.html	2008-11-09 17:45:53.000000000 +0000
+++ punbb-1.3.3/include/url/Folder_based/index.html	2009-03-13 15:55:28.000000000 +0000
@@ -5,12 +5,4 @@
 <body>
 .
 </body>
-</html>
-<html>
-<head>
-<title>.</title>
-</head>
-<body>
-.
-</body>
-</html>
+</html>
\ No newline at end of file
diff -urN punbb-1.3.2/include/url/Folder_based/reserved_strings.php punbb-1.3.3/include/url/Folder_based/reserved_strings.php
--- punbb-1.3.2/include/url/Folder_based/reserved_strings.php	2008-11-09 17:45:53.000000000 +0000
+++ punbb-1.3.3/include/url/Folder_based/reserved_strings.php	2009-04-17 12:51:23.000000000 +0000
@@ -3,22 +3,22 @@
  * Loads the reserved strings used to transform problematic strings in URLs.
  * These are matched against the whole string after all other transformations.
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
 
 
 $forum_reserved_strings = array(
-	''		=>	'view',
+	''				=>	'view',
 
-	'newpost'	=>	'view',
-	'newposts'	=>	'view',
-	'new-post'	=>	'view',
-	'new-posts'	=>	'view',
+	'newpost'		=>	'view',
+	'newposts'		=>	'view',
+	'new-post'		=>	'view',
+	'new-posts'		=>	'view',
 
-	'lastpost'	=>	'view',
-	'lastposts'	=>	'view',
-	'last-post'	=>	'view',
+	'lastpost'		=>	'view',
+	'lastposts'		=>	'view',
+	'last-post'		=>	'view',
 	'last-posts'	=>	'view',
 );
diff -urN punbb-1.3.2/include/url/Folder_based/rewrite_rules.php punbb-1.3.3/include/url/Folder_based/rewrite_rules.php
--- punbb-1.3.2/include/url/Folder_based/rewrite_rules.php	2008-11-09 17:45:53.000000000 +0000
+++ punbb-1.3.3/include/url/Folder_based/rewrite_rules.php	2009-04-17 12:51:23.000000000 +0000
@@ -2,17 +2,17 @@
 /**
  * Loads the regular expressions used to match SEF URL requests to their proper URLs.
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
 
 
 $forum_rewrite_rules = array(
-	'/^topic[\/_-]?([0-9]+).*(new|last)[\/_-]?(posts?)(\.html?|\/)?$/i'													=>	'viewtopic.php?id=$1&action=$2',
+	'/^topic[\/_-]?([0-9]+).*(new|last)[\/_-]?(posts?)(\.html?|\/)?$/i'														=>	'viewtopic.php?id=$1&action=$2',
 	'/^post[\/_-]?([0-9]+)(\.html?|\/)?$/i'																					=>	'viewtopic.php?pid=$1',
 	'/^(forum|topic)[\/_-]?([0-9]+).*[\/_-]p(age)?[\/_-]?([0-9]+)(\.html?|\/)?$/i'											=>	'view$1.php?id=$2&p=$4',
-	'/^feed[\/_-]?(rss|atom)[\/_-]?(f|t)(orum|opic)[\/_-]?([0-9]+)[\/_-]?(\.xml?|\/)?$/i'											=>	'extern.php?action=feed&$2id=$4&type=$1',
+	'/^feed[\/_-]?(rss|atom)[\/_-]?(f|t)(orum|opic)[\/_-]?([0-9]+)[\/_-]?(\.xml?|\/)?$/i'									=>	'extern.php?action=feed&$2id=$4&type=$1',
 	'/^(forum|topic)[\/_-]?([0-9]+).*(\.html?|\/)?$/i'																		=>	'view$1.php?id=$2',
 	'/^new[\/_-]?reply[\/_-]?([0-9]+)(\.html?|\/)?$/i'																		=>	'post.php?tid=$1',
 	'/^new[\/_-]?reply[\/_-]?([0-9]+)[\/_-]?quote[\/_-]?([0-9]+)(\.html?|\/)?$/i'											=>	'post.php?tid=$1&qid=$2',
@@ -44,7 +44,7 @@
 	'/^search-k(.*)-(message|subject|all)-a(.*)-([0-9]+)-(ASC|DESC)-([0-9-]+)-(posts|topics)-p([0-9]+).html?$/i'			=>	'search.php?action=search&keywords=$1&author=$3&forum=$6&search_in=$2&sort_by=$4&sort_dir=$5&show_as=$7&p=$8',
 	'/^users(\.html?|\/)?$/i'																								=>	'userlist.php',
 	'/^users\/(.*)\/([0-9-]+)\/?([a-z_]+)[\/_-]([a-zA-Z]+)[\/_-]p(age)?[\/_-]?([0-9]+)(\.html?|\/)?$/i'						=>	'userlist.php?username=$1&show_group=$2&sort_by=$3&sort_dir=$4&p=$6',
-	'/^users\/(.*)\/([0-9-]+)\/?([a-z_]+)[\/_-]([a-zA-Z]+)(\.html?|\/)?$/i'											=>	'userlist.php?username=$1&show_group=$2&sort_by=$3&sort_dir=$4',
+	'/^users\/(.*)\/([0-9-]+)\/?([a-z_]+)[\/_-]([a-zA-Z]+)(\.html?|\/)?$/i'													=>	'userlist.php?username=$1&show_group=$2&sort_by=$3&sort_dir=$4',
 	'/^(email|report|subscribe|unsubscribe)[\/_-]?([0-9]+)[\/_-]?([a-z0-9]+)?(\.html?|\/)?$/i'								=>	'misc.php?$1=$2&csrf_token=$3',
 	'/^(mark|rules)[\/_-]?(read)?[\/_-]?([a-z0-9]+)?(\.html?|\/)?$/i'														=>	'misc.php?action=$1$2&csrf_token=$3',
 	'/^mark[\/_-](forum)[\/_-]?([0-9]+)[\/_-](read)[\/_-]([a-z0-9]+)(\.html?|\/)?$/i'										=>	'misc.php?action=markforumread&fid=$2&csrf_token=$4',
diff -urN punbb-1.3.2/include/url/Folder_based_(fancy)/forum_urls.php punbb-1.3.3/include/url/Folder_based_(fancy)/forum_urls.php
--- punbb-1.3.2/include/url/Folder_based_(fancy)/forum_urls.php	2008-11-09 17:45:53.000000000 +0000
+++ punbb-1.3.3/include/url/Folder_based_(fancy)/forum_urls.php	2009-04-17 12:51:23.000000000 +0000
@@ -3,7 +3,7 @@
  * SEF URLs that use a folder-like layout and include topic name and forum name
  * where applicable.
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
diff -urN punbb-1.3.2/include/url/Folder_based_(fancy)/index.html punbb-1.3.3/include/url/Folder_based_(fancy)/index.html
--- punbb-1.3.2/include/url/Folder_based_(fancy)/index.html	2008-11-09 17:45:53.000000000 +0000
+++ punbb-1.3.3/include/url/Folder_based_(fancy)/index.html	2009-03-13 15:55:28.000000000 +0000
@@ -5,12 +5,4 @@
 <body>
 .
 </body>
-</html>
-<html>
-<head>
-<title>.</title>
-</head>
-<body>
-.
-</body>
-</html>
+</html>
\ No newline at end of file
diff -urN punbb-1.3.2/include/url/Folder_based_(fancy)/reserved_strings.php punbb-1.3.3/include/url/Folder_based_(fancy)/reserved_strings.php
--- punbb-1.3.2/include/url/Folder_based_(fancy)/reserved_strings.php	2008-11-09 17:45:53.000000000 +0000
+++ punbb-1.3.3/include/url/Folder_based_(fancy)/reserved_strings.php	2009-04-17 12:51:23.000000000 +0000
@@ -3,22 +3,22 @@
  * Loads the reserved strings used to transform problematic strings in URLs.
  * These are matched against the whole string after all other transformations.
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
 
 
 $forum_reserved_strings = array(
-	''		=>	'view',
+	''				=>	'view',
 
-	'newpost'	=>	'view',
-	'newposts'	=>	'view',
-	'new-post'	=>	'view',
-	'new-posts'	=>	'view',
+	'newpost'		=>	'view',
+	'newposts'		=>	'view',
+	'new-post'		=>	'view',
+	'new-posts'		=>	'view',
 
-	'lastpost'	=>	'view',
-	'lastposts'	=>	'view',
-	'last-post'	=>	'view',
+	'lastpost'		=>	'view',
+	'lastposts'		=>	'view',
+	'last-post'		=>	'view',
 	'last-posts'	=>	'view',
 );
diff -urN punbb-1.3.2/include/url/Folder_based_(fancy)/rewrite_rules.php punbb-1.3.3/include/url/Folder_based_(fancy)/rewrite_rules.php
--- punbb-1.3.2/include/url/Folder_based_(fancy)/rewrite_rules.php	2008-11-09 17:45:53.000000000 +0000
+++ punbb-1.3.3/include/url/Folder_based_(fancy)/rewrite_rules.php	2009-04-17 12:51:23.000000000 +0000
@@ -2,17 +2,17 @@
 /**
  * Loads the regular expressions used to match SEF URL requests to their proper URLs.
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
 
 
 $forum_rewrite_rules = array(
-	'/^topic[\/_-]?([0-9]+).*(new|last)[\/_-]?(posts?)(\.html?|\/)?$/i'													=>	'viewtopic.php?id=$1&action=$2',
+	'/^topic[\/_-]?([0-9]+).*(new|last)[\/_-]?(posts?)(\.html?|\/)?$/i'														=>	'viewtopic.php?id=$1&action=$2',
 	'/^post[\/_-]?([0-9]+)(\.html?|\/)?$/i'																					=>	'viewtopic.php?pid=$1',
 	'/^(forum|topic)[\/_-]?([0-9]+).*[\/_-]p(age)?[\/_-]?([0-9]+)(\.html?|\/)?$/i'											=>	'view$1.php?id=$2&p=$4',
-	'/^feed[\/_-]?(rss|atom)[\/_-]?(f|t)(orum|opic)[\/_-]?([0-9]+)[\/_-]?(\.xml?|\/)?$/i'											=>	'extern.php?action=feed&$2id=$4&&type=$1',
+	'/^feed[\/_-]?(rss|atom)[\/_-]?(f|t)(orum|opic)[\/_-]?([0-9]+)[\/_-]?(\.xml?|\/)?$/i'									=>	'extern.php?action=feed&$2id=$4&&type=$1',
 	'/^(forum|topic)[\/_-]?([0-9]+).*(\.html?|\/)?$/i'																		=>	'view$1.php?id=$2',
 	'/^new[\/_-]?reply[\/_-]?([0-9]+)(\.html?|\/)?$/i'																		=>	'post.php?tid=$1',
 	'/^new[\/_-]?reply[\/_-]?([0-9]+)[\/_-]?quote[\/_-]?([0-9]+)(\.html?|\/)?$/i'											=>	'post.php?tid=$1&qid=$2',
@@ -44,7 +44,7 @@
 	'/^search-k(.*)-(message|subject|all)-a(.*)-([0-9]+)-(ASC|DESC)-([0-9-]+)-(posts|topics)-p([0-9]+).html?$/i'			=>	'search.php?action=search&keywords=$1&author=$3&forum=$6&search_in=$2&sort_by=$4&sort_dir=$5&show_as=$7&p=$8',
 	'/^users(\.html?|\/)?$/i'																								=>	'userlist.php',
 	'/^users\/(.*)\/([0-9-]+)\/?([a-z_]+)[\/_-]([a-zA-Z]+)[\/_-]p(age)?[\/_-]?([0-9]+)(\.html?|\/)?$/i'						=>	'userlist.php?username=$1&show_group=$2&sort_by=$3&sort_dir=$4&p=$6',
-	'/^users\/(.*)\/([0-9-]+)\/?([a-z_]+)[\/_-]([a-zA-Z]+)(\.html?|\/)?$/i'											=>	'userlist.php?username=$1&show_group=$2&sort_by=$3&sort_dir=$4',
+	'/^users\/(.*)\/([0-9-]+)\/?([a-z_]+)[\/_-]([a-zA-Z]+)(\.html?|\/)?$/i'													=>	'userlist.php?username=$1&show_group=$2&sort_by=$3&sort_dir=$4',
 	'/^(email|report|subscribe|unsubscribe)[\/_-]?([0-9]+)[\/_-]?([a-z0-9]+)?(\.html?|\/)?$/i'								=>	'misc.php?$1=$2&csrf_token=$3',
 	'/^(mark|rules)[\/_-]?(read)?[\/_-]?([a-z0-9]+)?(\.html?|\/)?$/i'														=>	'misc.php?action=$1$2&csrf_token=$3',
 	'/^mark[\/_-](forum)[\/_-]?([0-9]+)[\/_-](read)[\/_-]([a-z0-9]+)(\.html?|\/)?$/i'										=>	'misc.php?action=markforumread&fid=$2&csrf_token=$4',
diff -urN punbb-1.3.2/include/xml.php punbb-1.3.3/include/xml.php
--- punbb-1.3.2/include/xml.php	2008-10-26 12:40:37.000000000 +0000
+++ punbb-1.3.3/include/xml.php	2009-04-17 12:51:23.000000000 +0000
@@ -2,7 +2,7 @@
 /**
  * Loads various functions used in parsing XML (mostly for extensions).
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
diff -urN punbb-1.3.2/index.php punbb-1.3.3/index.php
--- punbb-1.3.2/index.php	2008-11-08 10:30:00.000000000 +0000
+++ punbb-1.3.3/index.php	2009-04-17 12:51:23.000000000 +0000
@@ -2,7 +2,7 @@
 /**
  * Displays a list of the categories/forums that the current user can see, along with some statistics.
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
@@ -91,7 +91,6 @@
 {
 	($hook = get_hook('in_forum_loop_start')) ? eval($hook) : null;
 
-	$forum_page['item_mods'] = '';
 	++$forum_page['item_count'];
 
 	if ($cur_forum['cid'] != $forum_page['cur_category'])	// A new category since last iteration?
@@ -125,7 +124,6 @@
 
 	// Reset arrays and globals for each forum
 	$forum_page['item_status'] = $forum_page['item_subject'] = $forum_page['item_body'] = $forum_page['item_title'] = array();
-	$forum_page['item_indicator'] = '';
 
 	// Is this a redirect forum?
 	if ($cur_forum['redirect_url'] != '')
diff -urN punbb-1.3.2/lang/English/admin_forums.php punbb-1.3.3/lang/English/admin_forums.php
--- punbb-1.3.2/lang/English/admin_forums.php	2008-11-09 17:45:53.000000000 +0000
+++ punbb-1.3.3/lang/English/admin_forums.php	2008-12-15 13:12:08.000000000 +0000
@@ -34,6 +34,7 @@
 'User groups'					=>	'User groups',
 'Confirm delete forum'			=>	'You are deleting the forum "%s"',
 'Forum perms read info'			=>	'The "Read forum" permission checkbox will be disabled if the group in question lacks the "Read board" permission.',
+'Forum perms redirect info'		=>	'This is a redirect forum. Only the "Read forum" permission is editable.',
 'Forum perms restore info'		=>	'Permissions can be restored to default settings using the "Default permissions" button below.',
 'Forum perms groups info'		=>	'Permissions are the defaults as set in %s unless suffixed "(S)"',
 'Forum perms admins info'		=>	'Forum Administrators always have full permissions which cannot be restricted.',
diff -urN punbb-1.3.2/lang/English/admin_index.php punbb-1.3.3/lang/English/admin_index.php
--- punbb-1.3.2/lang/English/admin_index.php	2008-11-09 17:45:53.000000000 +0000
+++ punbb-1.3.3/lang/English/admin_index.php	2009-04-17 12:51:23.000000000 +0000
@@ -1,12 +1,14 @@
 <?php
 
+// Language definitions used in the index page of the admin panel
 $lang_admin_index = array(
 
 'Information head'				=>	'Welcome to PunBB administration control panel',
 'Alerts'						=>	'Administrator Alerts',
 'Check for updates enabled'		=>	'This board is setup to automatically check for updates and hotfixes against the punbb.informer.com updates service.',
 'Check for updates manual'		=>	'Check for updates',	// Link text
-'PunBB version'				=>	'PunBB version',
+'Copyright message'				=>	'&copy; 2008-2009 <a href="http://punbb.informer.com/">PunBB</a>, partially based on code &copy; 2008-2009 <a href="http://fluxbb.org/">FluxBB</a>',
+'PunBB version'					=>	'PunBB version',
 'Not available'					=>	'Not available',
 'Not applicable'				=>	'N/A',
 'Server load'					=>	'Server load',
diff -urN punbb-1.3.2/lang/English/admin_reindex.php punbb-1.3.3/lang/English/admin_reindex.php
--- punbb-1.3.2/lang/English/admin_reindex.php	2008-11-09 17:45:53.000000000 +0000
+++ punbb-1.3.3/lang/English/admin_reindex.php	2009-04-02 13:49:40.000000000 +0000
@@ -10,7 +10,7 @@
 'Empty index warning'		=>	'<strong>WARNING!</strong> If you want to resume an aborted rebuild, do not select "empty index".',
 'Posts per cycle'			=>	'Posts per cycle',
 'Posts per cycle info'		=>	'The number of posts to process per pageview. E.g. if you were to enter 100, one hundred posts would be processed and then the page would refresh. This is to prevent the script from timing out during the rebuild process.',
-'Starting post'				=>	'Starting Post ID',
+'Starting post'				=>	'Starting post ID',
 'Starting post info'		=>	'The post ID to start rebuilding at. The default value is the first available ID in the database. Normally you would not want to change this.',
 'Empty index'				=>	'Empty index',
 'Empty index info'			=>	'Empty search index before rebuilding (see below).',
diff -urN punbb-1.3.2/lang/English/admin_settings.php punbb-1.3.3/lang/English/admin_settings.php
--- punbb-1.3.2/lang/English/admin_settings.php	2008-11-26 13:31:37.000000000 +0000
+++ punbb-1.3.3/lang/English/admin_settings.php	2009-03-19 13:05:44.000000000 +0000
@@ -166,10 +166,10 @@
 'Registration rules'			=>	'Forum rules (enable and compose forum rules)',
 'Registration rules info'		=>	'You may require new users to agree to a set of rules when registering. The rules will always be available through a link in the navigation table at the top of every page. You may enable the use of rules and then compose your rules below.',
 'Registration rules legend'		=>	'Forum rules',
-'Require rules'					=>	'Require agreement',
+'Require rules'					=>	'Use rules',
 'Require rules label'			=>	'Users must agree to forum rules before registering.',
 'Compose rules label'			=>	'Compose rules',
-'Compose rules help'			=>	'You may use HTML as text is not parsed. Leaving empty disables the use of rules.',
+'Compose rules help'			=>	'You may use HTML as text is not parsed.',
 'Rules default'					=>	'Enter your rules here.',
 
 // Email section
diff -urN punbb-1.3.2/lang/English/common.php punbb-1.3.3/lang/English/common.php
--- punbb-1.3.2/lang/English/common.php	2008-12-08 11:53:13.000000000 +0000
+++ punbb-1.3.3/lang/English/common.php	2009-04-17 12:23:47.000000000 +0000
@@ -8,8 +8,8 @@
 'lang_identifier'			=>	'en',
 
 // Number formatting
-'lang_decimal_point'	=>	'.',
-'lang_thousands_sep'	=>	',',
+'lang_decimal_point'		=>	'.',
+'lang_thousands_sep'		=>	',',
 
 // Notices
 'Bad request'				=>	'Bad request. The link you followed is incorrect or outdated.',
@@ -85,7 +85,7 @@
 'Item info single'			=>	'%s [ %s ]',
 'Item info plural'			=>	'%s [ %s to %s of %s ]', // e.g. Topics [ 10 to 20 of 30 ]
 'Info separator'			=>	' ', // e.g. 1 Page | 10 Topics
-'Powered by'				=>	'Powered by <strong>%s</strong>',
+'Powered by'				=>	'Powered by <strong>%s</strong>, supported by <strong>%s</strong>.',
 'Maintenance'				=>	'Maintenance',
 
 // CSRF confirmation form
@@ -146,21 +146,22 @@
 'Jump to'					=>	'Jump to forum:',
 
 // For extern.php RSS feed
-'ATOM Feed'					=>	'Atom',
-'RSS Feed'					=>	'RSS',
 'RSS description'			=>	'The most recent topics at %s.',
 'RSS description topic'		=>	'The most recent posts in %s.',
 'RSS reply'					=>	'Re: ',	// The topic subject will be appended to this string (to signify a reply)
 
 // Accessibility
-'Skip to content'					=>	'Skip to forum content',
+'Skip to content'			=>	'Skip to forum content',
 
 // Debug information
-'Querytime'						=>	'Generated in %1$s seconds, %2$s queries executed',
-'Debug table'						=>	'Debug information',
-'Debug summary'						=>	'Database query performance information',
-'Query times'						=>	'Time (s)',
-'Query'							=>	'Query',
-'Total query time'					=>	'Total query time',
+'Querytime'					=>	'Generated in %1$s seconds, %2$s queries executed',
+'Debug table'				=>	'Debug information',
+'Debug summary'				=>	'Database query performance information',
+'Query times'				=>	'Time (s)',
+'Query'						=>	'Query',
+'Total query time'			=>	'Total query time',
+
+// For official extensions
+'Official extensions inst'	=>	'<span id="extensions-used" title="%1$s">Official extensions: %2$s installed.</span>',
 
 );
diff -urN punbb-1.3.2/lang/English/forum.php punbb-1.3.3/lang/English/forum.php
--- punbb-1.3.2/lang/English/forum.php	2008-11-21 15:42:22.000000000 +0000
+++ punbb-1.3.3/lang/English/forum.php	2009-04-03 10:13:23.000000000 +0000
@@ -24,7 +24,7 @@
 'No lastpost info'			=>	'No last post information',
 'by poster'					=>	'by %s',
 'Item status'				=>	'%s:',
-'Topic starter'				=>	'by %s',
+'Topic starter'				=>	'by <cite>%s</cite>',
 'New posts'					=>	'New posts',
 'Topic navigation'			=>	'( %s )',
 'Location'					=>	'Found in forum: %s',
@@ -43,7 +43,7 @@
 'Forum options'				=>	'Forum options',
 'Moderate forum'			=>	'Moderate forum',
 'Mark forum read'			=>	'Mark forum as read',
-'RSS forum feed'			=>	'RSS Forum Feed',
+'RSS forum feed'			=>	'RSS forum feed',
 'New posts info'			=>	'Go to the first new post since your last visit.'
 
 );
diff -urN punbb-1.3.2/lang/English/help.php punbb-1.3.3/lang/English/help.php
--- punbb-1.3.2/lang/English/help.php	2008-10-25 15:27:40.000000000 +0000
+++ punbb-1.3.3/lang/English/help.php	2009-03-18 14:30:52.000000000 +0000
@@ -36,8 +36,8 @@
 'List text 2'			=>	'Example list item 2.',
 'List text 3'			=>	'Example list item 3.',
 'produces list'			=>	'produces a bulleted list.',
-'produces decimal list'	=>	'produces numbered list.',
-'produces alpha list'	=>	'produces alphabetically labelled list.',
+'produces decimal list'	=>	'produces a numbered list.',
+'produces alpha list'	=>	'produces an alphabetically labelled list.',
 'Bold, underlined text'	=>	'Bold, underlined text',
 'Smilies info'			=>	'If you like (and if it is enabled), the forum can convert a selection of smilies to image representations of those smilies. This forum recognizes the smilies listed below and replaces them with images.'
 
diff -urN punbb-1.3.2/lang/English/index.php punbb-1.3.3/lang/English/index.php
--- punbb-1.3.2/lang/English/index.php	2008-10-25 15:27:40.000000000 +0000
+++ punbb-1.3.3/lang/English/index.php	2009-01-22 10:11:19.000000000 +0000
@@ -42,6 +42,7 @@
 'New posts title'			=>	'This forum contain posts made since your last visit.',
 'Board options'				=>	'Board options',
 'RSS active feed'			=>	'RSS active topics feed',
-'Mark all as read'			=>	'Mark all forums as read'
+'Guests online'				=>	'Guests online',
+'Users online'				=>	'Users online'
 
 );
diff -urN punbb-1.3.2/lang/English/install.php punbb-1.3.3/lang/English/install.php
--- punbb-1.3.2/lang/English/install.php	2008-11-10 18:29:12.000000000 +0000
+++ punbb-1.3.3/lang/English/install.php	2009-04-16 09:17:55.000000000 +0000
@@ -21,7 +21,6 @@
 'Table prefix'				=>	'Table prefix',
 'Database type info'		=>	'PunBB currently supports MySQL, PostgreSQL and SQLite. If your database of choice is missing from the drop-down menu below, it means this PHP environment does not have support for that particular database. More information regarding support for particular versions of each database can be found in the FAQ.',
 'Mysql type info'			=>	'PunBB has detected that your PHP environment supports two different ways of communicating with MySQL. The two options are called "<em>standard</em>" and "<em>improved</em>". If you are uncertain which one to use, start by trying improved and if that fails, try standard.',
-'MySQL InnoDB info'			=>	'PunBB has detected that your MySQL server might support <a href="http://dev.mysql.com/doc/refman/5.0/en/innodb-overview.html">InnoDB</a>. This would be a good choice if you are planning to run a large forum. If you are uncertain, it is recommended to not use InnoDB.',
 'Database server info'		=>	'Enter the address of the database server (example: <em>localhost</em>, <em>mysql1.example.com</em> or <em>208.77.188.166</em>). You can specify a custom port number if your database doesn\'t run on the default port (example: <em>localhost:3580</em>). For SQLite support, just enter anything or leave it at \'localhost\'.',
 'Database name info'		=>	'Enter the name of the database that PunBB will be installed into. The database must exist. For SQLite, this is the relative path to the database file. If the SQLite database file does not exist, PunBB will attempt to create it.',
 'Database username info'	=>	'Enter the username and password used for connecting to the selected database. Ignore for SQLite.',
@@ -78,9 +77,11 @@
 'Invalid table prefix'		=>	'The table prefix \'%s\' contains illegal characters or is too long. The prefix may contain the letters a to z, any numbers and the underscore character. They must however not start with a number. The maximum length is 40 characters. Please choose a different prefix.',
 'SQLite prefix collision'	=>	'The table prefix \'sqlite_\' is reserved for use by the SQLite engine. Please choose a different prefix.',
 'PunBB already installed'	=>	'A table called "%1$susers" is already present in the database "%2$s". This could mean that PunBB is already installed or that another piece of software is installed and is occupying one or more of the table names PunBB requires. If you want to install multiple copies of PunBB in the same database, you must choose a different table prefix.',
-'InnoDB not enabled'		=>	'InnoDB does not seem to be enabled. Please choose a database layer that does not have InnoDB support, or enable InnoDB on your MySQL server.',
+'Invalid language'			=>	'The language pack you have chosen doesn\'t seem to exist or is corrupt. Please recheck and try again.',
 
 // Used in the install
+'Default language'			=>	'Default language',
+'Default language help'		=>	'(If you remove a language pack you must update this setting)',
 'Default announce heading'	=>	'Sample announcement',
 'Default announce message'	=>	'<p>Enter your announcement here.</p>',
 'Default maint message'		=>	"The forums are temporarily down for maintenance. Please try again in a few minutes.<br />\\n<br />\\n/Administrator",
diff -urN punbb-1.3.2/lang/English/profile.php punbb-1.3.3/lang/English/profile.php
--- punbb-1.3.2/lang/English/profile.php	2008-11-26 12:46:21.000000000 +0000
+++ punbb-1.3.3/lang/English/profile.php	2009-04-09 09:06:21.000000000 +0000
@@ -44,13 +44,13 @@
 'Too wide or high'			=>	'The file you tried to upload is wider and/or higher than the maximum allowed %sx%s pixels.',
 'Unknown failure'			=>	'An unknown error occurred. Please try again.',
 'Avatar'					=>	'Avatar',
-'Current avatar'			=>	'Current Avatar',
+'Current avatar'			=>	'Current avatar',
 'No avatar info'			=>	'No avatar is currently uploaded.',
 'Avatar info replace'		=>	'Uploading a new avatar will replace your existing avatar.',
 'Avatar info none'			=>	'To display an avatar you first need to upload one.',
 'Avatar info type'			=>	'The allowed image file types are gif, jpeg and png.',
 'Avatar info size'			=>	'The maximum image size allowed is %sx%s pixels and %s bytes (%s KB).',
-'Delete avatar info'		=>	'Delete avatar to cease displaying any avatar.',
+'Delete avatar info'		=>	'Delete avatar to stop displaying any avatar.',
 'Upload avatar file'		=>	'Upload avatar file',
 'Avatar upload help'		=>	'Select file then update your profile to install.',
 'No upload warn'			=>	'<strong>IMPORTANT! </strong> You must choose a file to upload before updating your profile.',
@@ -183,6 +183,7 @@
 'Change e-mail errors'		=>	'<strong>Warning!</strong> The following errors must be corrected before your e-mail address can be updated:',
 'E-mail key bad'			=>	'The specified e-mail activation key was incorrect or has expired. Please re-request change of e-mail address. If that fails, contact the forum administrator at %s.',
 'E-mail updated'			=>	'Your e-mail address has been updated.',
+'E-mail updated redirect'	=>	'Your e-mail address has been updated. Redirecting…',
 'Wrong password'			=>	'The password you entered was incorrect.',
 'Activate e-mail sent'		=>	'An email has been sent to the specified address with instructions on how to activate the new e-mail address. If it doesn\'t arrive you can contact the forum administrator at %s.',
 'Change your e-mail'		=>	'Change your e-mail address',
diff -urN punbb-1.3.2/lang/English/search.php punbb-1.3.3/lang/English/search.php
--- punbb-1.3.2/lang/English/search.php	2008-10-27 14:45:19.000000000 +0000
+++ punbb-1.3.3/lang/English/search.php	2009-04-16 11:01:09.000000000 +0000
@@ -32,6 +32,10 @@
 'Show as posts'				=>	'As posts',
 'Submit search'				=>	'Submit search',
 'User defined search'		=>	'User defined search',
+'Search in'					=>	'Search in',
+'Message and subject'		=>	'Message text and topic subject',
+'Message only'				=>	'Message text only',
+'Topic only'				=>	'Topic subject only',
 
 // Results
 'Search results'			=>	'Search results',
@@ -47,7 +51,7 @@
 'Posts by user'				=>	'Posts by this user',
 'Perform new search'		=>	'Perform new search',
 'Search options'			=>	'Search options',
-'Location'					=>	'Forum: %s',
+'Posted in'					=>	'Posted in ',
 'No terms'					=>	'You have to enter at least one keyword and/or an author to search for.',
 'No hits'					=>	'Your search returned no hits.',
 'No user posts'				=>	'There are no posts by this user in this forum.',
diff -urN punbb-1.3.2/lang/English/topic.php punbb-1.3.3/lang/English/topic.php
--- punbb-1.3.2/lang/English/topic.php	2008-10-25 15:27:40.000000000 +0000
+++ punbb-1.3.3/lang/English/topic.php	2009-04-03 10:13:23.000000000 +0000
@@ -8,13 +8,14 @@
 'Search replies'		=>	'(%s replies, posted in %s)',
 'Post reply'			=>	'Post reply',
 'Topic closed'			=>	'[ Closed ]',
+'Topic closed info'		=>	'This topic is closed',
 'No permission'			=>	'Sorry! no permission to post a reply',
 'Topic title'			=>	'Topic: %s',
 'Reply title'			=>	'Re: %s',
 'Login to post'			=>	'You must %1$s or %2$s to post a reply',
-'From'					=>	'From:',				// User location
+'From'					=>	'From:', // User location
 'Registered'			=>	'Registered:',
-'Note'					=>	'Note:',				// Admin note
+'Note'					=>	'Note:', // Admin note
 'IP'					=>	'IP:',
 'Posts'					=>	'Posts',
 'Posts info'			=>	'Posts:',
@@ -32,7 +33,7 @@
 'Unsubscribe'			=>	'Unsubscribe',
 'Subscribe'				=>	'Subscribe',
 'Subscribe info'		=>	'Receive email notification of new posts.',
-'RSS topic feed'		=>	'RSS Topic Feed',
+'RSS topic feed'		=>	'RSS topic feed',
 'Quick post'			=>	'Quick reply to this topic',
 'Post'					=>	'Post',
 'Permalink post'		=>	'Permanent link to this post',
@@ -40,10 +41,10 @@
 'Go to profile'			=>	'Go to %s\'s profile',
 'Move'					=>	'Move topic',
 'Topic options'			=>	'Topic options',
-'Open'					=>  'Open topic',
-'Close'					=>  'Close topic',
-'Unstick'				=>  'Unstick topic',
-'Stick'					=>  'Stick topic',
+'Open'					=>	'Open topic',
+'Close'					=>	'Close topic',
+'Unstick'				=>	'Unstick topic',
+'Stick'					=>	'Stick topic',
 'Moderate topic'		=>	'Moderate topic',
 'Required warn'			=>	'You cannot submit or preview an empty message.',
 
diff -urN punbb-1.3.2/lang/English/url_replace.php punbb-1.3.3/lang/English/url_replace.php
--- punbb-1.3.2/lang/English/url_replace.php	2008-10-23 07:49:10.000000000 +0000
+++ punbb-1.3.3/lang/English/url_replace.php	2009-02-03 07:59:05.000000000 +0000
@@ -563,6 +563,13 @@
 'Ь' => '',
 'ь' => '',
 
+'Є' => 'YE',
+'є' => 'YE',
+'Ї' => 'YI',
+'ї' => 'YI',
+'Ґ' => 'KG',
+'ґ' => 'KG',
+
 'ð' => 'd',
 'Ð' => 'D',
 'þ' => 'th',
diff -urN punbb-1.3.2/lang/English/userlist.php punbb-1.3.3/lang/English/userlist.php
--- punbb-1.3.2/lang/English/userlist.php	2008-11-22 19:18:06.000000000 +0000
+++ punbb-1.3.3/lang/English/userlist.php	2009-03-18 14:30:52.000000000 +0000
@@ -23,8 +23,6 @@
 'All users'				=>	'All users',
 'Perform new search'	=>	'Perform new user search',
 'Table summary'			=>	'List of users filtered and sorted according to the criteria (if any) you have chosen.',
-'User list options'		=>	'User list options',
-'Perform new search'	=>	'Perform new user search',
 'Submit user search'	=>	'Submit user criteria',
 'Title'					=>	'Title',
 'Posts'					=>	'Posts'
diff -urN punbb-1.3.2/login.php punbb-1.3.3/login.php
--- punbb-1.3.2/login.php	2008-12-04 16:42:00.000000000 +0000
+++ punbb-1.3.3/login.php	2009-04-17 12:51:23.000000000 +0000
@@ -2,7 +2,7 @@
 /**
  * Handles logins, logouts, and password reset requests.
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
diff -urN punbb-1.3.2/misc.php punbb-1.3.3/misc.php
--- punbb-1.3.2/misc.php	2008-11-26 11:57:07.000000000 +0000
+++ punbb-1.3.3/misc.php	2009-04-17 12:51:23.000000000 +0000
@@ -2,7 +2,7 @@
 /**
  * Provides various features for forum users (ie: display rules, send emails through the forum, mark a forum as read, etc).
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
@@ -106,13 +106,13 @@
 	if ($forum_user['is_guest'])
 		message($lang_common['No permission']);
 
-	$fid = intval($_GET['fid']);
+	$fid = isset($_GET['fid']) ? intval($_GET['fid']) : 0;
 	if ($fid < 1)
 		message($lang_common['Bad request']);
 
 	// We validate the CSRF token. If it's set in POST and we're at this point, the token is valid.
 	// If it's in GET, we need to make sure it's valid.
-	if (!isset($_POST['csrf_token']) && (!isset($_GET['csrf_token']) || $_GET['csrf_token'] !== generate_form_token('markforumread'.intval($_GET['fid']).$forum_user['id'])))
+	if (!isset($_POST['csrf_token']) && (!isset($_GET['csrf_token']) || $_GET['csrf_token'] !== generate_form_token('markforumread'.$fid.$forum_user['id'])))
 		csrf_confirm_form();
 
 	($hook = get_hook('mi_markforumread_selected')) ? eval($hook) : null;
@@ -528,7 +528,7 @@
 
 	// We validate the CSRF token. If it's set in POST and we're at this point, the token is valid.
 	// If it's in GET, we need to make sure it's valid.
-	if (!isset($_POST['csrf_token']) && (!isset($_GET['csrf_token']) || $_GET['csrf_token'] !== generate_form_token('subscribe'.intval($_GET['subscribe']).$forum_user['id'])))
+	if (!isset($_POST['csrf_token']) && (!isset($_GET['csrf_token']) || $_GET['csrf_token'] !== generate_form_token('subscribe'.$topic_id.$forum_user['id'])))
 		csrf_confirm_form();
 
 	($hook = get_hook('mi_subscribe_selected')) ? eval($hook) : null;
@@ -590,7 +590,7 @@
 
 	// We validate the CSRF token. If it's set in POST and we're at this point, the token is valid.
 	// If it's in GET, we need to make sure it's valid.
-	if (!isset($_POST['csrf_token']) && (!isset($_GET['csrf_token']) || $_GET['csrf_token'] !== generate_form_token('unsubscribe'.intval($_GET['unsubscribe']).$forum_user['id'])))
+	if (!isset($_POST['csrf_token']) && (!isset($_GET['csrf_token']) || $_GET['csrf_token'] !== generate_form_token('unsubscribe'.$topic_id.$forum_user['id'])))
 		csrf_confirm_form();
 
 	($hook = get_hook('mi_unsubscribe_selected')) ? eval($hook) : null;
diff -urN punbb-1.3.2/moderate.php punbb-1.3.3/moderate.php
--- punbb-1.3.2/moderate.php	2008-11-22 19:30:49.000000000 +0000
+++ punbb-1.3.3/moderate.php	2009-04-17 12:51:23.000000000 +0000
@@ -2,7 +2,7 @@
 /**
  * Provides various mass-moderation tools to moderators.
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
@@ -373,7 +373,7 @@
 <?php ($hook = get_hook('mr_confirm_split_posts_pre_subject')) ? eval($hook) : null; ?>
 					<div class="sf-box text required">
 						<label for="fld<?php echo ++$forum_page['fld_count'] ?>"><span><?php echo $lang_misc['New subject'] ?> <em><?php echo $lang_common['Required'] ?></em></span></label><br />
-						<span class="fld-input"><input type="text" id="fld<?php echo $forum_page['fld_count'] ?>" name="new_subject" value="" size="80" maxlength="70" /></span>
+						<span class="fld-input"><input type="text" id="fld<?php echo $forum_page['fld_count'] ?>" name="new_subject" value="" size="70" maxlength="70" /></span>
 					</div>
 <?php ($hook = get_hook('mr_confirm_split_posts_pre_confirm_checkbox')) ? eval($hook) : null; ?>
 					<div class="sf-box checkbox">
@@ -416,7 +416,7 @@
 
 	// Determine the post offset (based on $_GET['p'])
 	$forum_page['num_pages'] = ceil(($cur_topic['num_replies'] + 1) / $forum_user['disp_posts']);
-	$forum_page['page'] = (!isset($_GET['p']) || $_GET['p'] <= 1 || $_GET['p'] > $forum_page['num_pages']) ? 1 : intval($_GET['p']);
+	$forum_page['page'] = (!isset($_GET['p']) || !is_numeric($_GET['p']) || $_GET['p'] <= 1 || $_GET['p'] > $forum_page['num_pages']) ? 1 : intval($_GET['p']);
 	$forum_page['start_from'] = $forum_user['disp_posts'] * ($forum_page['page'] - 1);
 	$forum_page['finish_at'] = min(($forum_page['start_from'] + $forum_user['disp_posts']), ($cur_topic['num_replies'] + 1));
 	$forum_page['items_info'] = generate_items_info($lang_misc['Posts'], ($forum_page['start_from'] + 1), ($cur_topic['num_replies'] + 1));
@@ -521,7 +521,6 @@
 
 		$forum_page['post_ident'] = array();
 		$forum_page['message'] = array();
-		$forum_page['author_title'] = '';
 		$forum_page['user_ident'] = array();
 		$cur_post['username'] = $cur_post['poster'];
 
@@ -1039,7 +1038,7 @@
 			</div>
 <?php ($hook = get_hook('mr_merge_topics_pre_fieldset')) ? eval($hook) : null; ?>
 			<fieldset class="frm-group group<?php echo ++$forum_page['group_count'] ?>">
-				<legend class="group-legend"><strong><?php echo $lang_misc['Merge topic'] ?></strong></legend>
+				<legend class="group-legend"><strong><?php echo $lang_misc['Merge topics'] ?></strong></legend>
 <?php ($hook = get_hook('mr_merge_topics_pre_redirect_checkbox')) ? eval($hook) : null; ?>
 				<div class="sf-set set<?php echo ++$forum_page['item_count'] ?>">
 					<div class="sf-box checkbox">
@@ -1424,7 +1423,7 @@
 // Determine the topic offset (based on $_GET['p'])
 $forum_page['num_pages'] = ceil($cur_forum['num_topics'] / $forum_user['disp_topics']);
 
-$forum_page['page'] = (!isset($_GET['p']) || $_GET['p'] <= 1 || $_GET['p'] > $forum_page['num_pages']) ? 1 : $_GET['p'];
+$forum_page['page'] = (!isset($_GET['p']) || !is_numeric($_GET['p']) || $_GET['p'] <= 1 || $_GET['p'] > $forum_page['num_pages']) ? 1 : $_GET['p'];
 $forum_page['start_from'] = $forum_user['disp_topics'] * ($forum_page['page'] - 1);
 $forum_page['finish_at'] = min(($forum_page['start_from'] + $forum_user['disp_topics']), ($cur_forum['num_topics']));
 $forum_page['items_info'] = generate_items_info($lang_misc['Topics'], ($forum_page['start_from'] + 1), $cur_forum['num_topics']);
@@ -1535,16 +1534,17 @@
 		++$forum_page['item_count'];
 
 		// Start from scratch
-		$forum_page['item_subject'] = $forum_page['item_body'] = $forum_page['item_status'] = $forum_page['item_nav'] = $forum_page['item_title'] = $forum_page['item_subject_status'] = array();
-		$forum_page['item_indicator'] = '';
+		$forum_page['item_subject'] = $forum_page['item_body'] = $forum_page['item_status'] = $forum_page['item_nav'] = $forum_page['item_title'] = $forum_page['item_title_status'] = array();
 
 		if ($forum_config['o_censoring'] == '1')
 			$cur_topic['subject'] = censor_words($cur_topic['subject']);
 
+		$forum_page['item_subject']['starter'] = '<span class="item-starter">'.sprintf($lang_forum['Topic starter'], forum_htmlencode($cur_topic['poster'])).'</span>';
+
 		if ($cur_topic['moved_to'] != null)
 		{
 			$forum_page['item_status']['moved'] = 'moved';
-			$forum_page['item_title']['link'] = '<a href="'.forum_link($forum_url['topic'], array($cur_topic['moved_to'], sef_friendly($cur_topic['subject']))).'"><span>'.$lang_forum['Moved'].'</span> '.forum_htmlencode($cur_topic['subject']).'</a>';
+			$forum_page['item_title']['link'] = '<span class="item-status"><em class="moved">'.sprintf($lang_forum['Item status'], $lang_forum['Moved']).'</em></span> <a href="'.forum_link($forum_url['topic'], array($cur_topic['moved_to'], sef_friendly($cur_topic['subject']))).'">'.forum_htmlencode($cur_topic['subject']).'</a>';
 
 			// Combine everything to produce the Topic heading
 			$forum_page['item_body']['subject']['title'] = '<h3 class="hn"><span class="item-num">'.forum_number_format($forum_page['start_from'] + $forum_page['item_count']).'</span> <strong>'.$forum_page['item_title']['link'].'</strong></h3>';
@@ -1573,8 +1573,33 @@
 				$forum_page['item_status']['posted'] = 'posted';
 			}
 
+			if ($cur_topic['sticky'] == '1')
+			{
+				$forum_page['item_title_status']['sticky'] = '<em class="sticky">'.$lang_forum['Sticky'].'</em>';
+				$forum_page['item_status']['sticky'] = 'sticky';
+			}
+
+			if ($cur_topic['closed'] == '1')
+			{
+				$forum_page['item_title_status']['closed'] = '<em class="closed">'.$lang_forum['Closed'].'</em>';
+				$forum_page['item_status']['closed'] = 'closed';
+			}
+
+			($hook = get_hook('mr_topic_loop_normal_topic_pre_item_title_status_merge')) ? eval($hook) : null;
+
+			if (!empty($forum_page['item_title_status']))
+				$forum_page['item_title']['status'] = '<span class="item-status">'.sprintf($lang_forum['Item status'], implode(', ', $forum_page['item_title_status'])).'</span>';
+
 			$forum_page['item_title']['link'] = '<strong><a href="'.forum_link($forum_url['topic'], array($cur_topic['id'], sef_friendly($cur_topic['subject']))).'">'.forum_htmlencode($cur_topic['subject']).'</a></strong>';
 
+			($hook = get_hook('mr_topic_loop_normal_topic_pre_item_title_merge')) ? eval($hook) : null;
+
+			$forum_page['item_body']['subject']['title'] = '<h3 class="hn"><span class="item-num">'.forum_number_format($forum_page['start_from'] + $forum_page['item_count']).'</span> '.implode(' ', $forum_page['item_title']).'</h3>';
+
+
+			if (empty($forum_page['item_status']))
+				$forum_page['item_status']['normal'] = 'normal';
+
 			$forum_page['item_pages'] = ceil(($cur_topic['num_replies'] + 1) / $forum_user['disp_posts']);
 
 			if ($forum_page['item_pages'] > 1)
@@ -1587,35 +1612,13 @@
 				$forum_page['item_status']['new'] = 'new';
 			}
 
-			if (!empty($forum_page['item_nav']))
-				$forum_page['item_title']['nav'] = '<span class="item-nav">'.sprintf($lang_forum['Topic navigation'], implode('&#160;&#160;', $forum_page['item_nav'])).'</span>';
-
-			($hook = get_hook('mr_topic_actions_moved_row_pre_item_title_merge')) ? eval($hook) : null;
+			($hook = get_hook('mr_topic_loop_normal_topic_pre_item_nav_merge')) ? eval($hook) : null;
 
-			$forum_page['item_body']['subject']['title'] = '<h3 class="hn"><span class="item-num">'.forum_number_format($forum_page['start_from'] + $forum_page['item_count']).'</span> '.implode(' ', $forum_page['item_title']).'</h3>';
+			if (!empty($forum_page['item_nav']))
+				$forum_page['item_subject']['nav'] = '<span class="item-nav">'.sprintf($lang_forum['Topic navigation'], implode('&#160;&#160;', $forum_page['item_nav'])).'</span>';
 
 			// Assemble the Topic subject
 
-			if ($cur_topic['sticky'] == '1')
-			{
-				$forum_page['item_subject_status']['sticky'] = $lang_forum['Sticky'];
-				$forum_page['item_status']['sticky'] = 'sticky';
-			}
-
-			if ($cur_topic['closed'] == '1')
-			{
-				$forum_page['item_subject_status']['closed'] = $lang_forum['Closed'];
-				$forum_page['item_status']['closed'] = 'closed';
-			}
-
-			($hook = get_hook('mr_topic_actions_moved_row_pre_item_subject_status_merge')) ? eval($hook) : null;
-
-			if (!empty($forum_page['item_subject_status']))
-				$forum_page['item_subject']['status'] = '<span class="item-status">'.sprintf($lang_forum['Item status'], implode(' ', $forum_page['item_subject_status'])).'</span>';
-
-			if (empty($forum_page['item_status']))
-				$forum_page['item_status']['normal'] = 'normal';
-
 			$forum_page['item_body']['info']['replies'] = '<li class="info-replies"><strong>'.forum_number_format($cur_topic['num_replies']).'</strong> <span class="label">'.(($cur_topic['num_replies'] == 1) ? $lang_forum['Reply'] : $lang_forum['Replies']).'</span></li>';
 
 			if ($forum_config['o_topic_views'] == '1')
@@ -1627,8 +1630,9 @@
 			($hook = get_hook('mr_topic_actions_normal_row_pre_output')) ? eval($hook) : null;
 		}
 
-		$forum_page['item_subject']['starter'] = '<span class="item-starter">'.sprintf($lang_forum['Topic starter'], '<cite>'.forum_htmlencode($cur_topic['poster']).'</cite>').'</span>';
-		$forum_page['item_body']['subject']['desc'] = implode(' ', $forum_page['item_subject']);
+		$forum_page['item_body']['subject']['desc'] = '<p>'.implode(' ', $forum_page['item_subject']).'</p>';
+
+		($hook = get_hook('mr_topic_actions_row_pre_item_status_merge')) ? eval($hook) : null;
 
 		$forum_page['item_style'] = (($forum_page['item_count'] % 2 != 0) ? ' odd' : ' even').(($forum_page['item_count'] == 1) ? ' main-first-item' : '').((!empty($forum_page['item_status'])) ? ' '.implode(' ', $forum_page['item_status']) : '');
 
diff -urN punbb-1.3.2/post.php punbb-1.3.3/post.php
--- punbb-1.3.2/post.php	2008-11-16 14:41:02.000000000 +0000
+++ punbb-1.3.3/post.php	2009-04-17 12:51:23.000000000 +0000
@@ -2,7 +2,7 @@
 /**
  * Adds a new post to the specified topic or a new topic to the specified forum.
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
@@ -153,6 +153,9 @@
 
 			if (!is_valid_email($email))
 				$errors[] = $lang_post['Invalid e-mail'];
+
+			if (is_banned_email($email))
+				$errors[] = $lang_profile['Banned e-mail'];
 		}
 	}
 
@@ -462,7 +465,7 @@
 				<div class="sf-set set<?php echo ++$forum_page['item_count'] ?>">
 					<div class="sf-box text required longtext">
 						<label for="fld<?php echo ++$forum_page['fld_count'] ?>"><span><?php echo $lang_post['Topic subject'] ?> <em><?php echo $lang_common['Required'] ?></em></span></label><br />
-						<span class="fld-input"><input id="fld<?php echo $forum_page['fld_count'] ?>" type="text" name="req_subject" value="<?php if (isset($_POST['req_subject'])) echo forum_htmlencode($subject); ?>" size="80" maxlength="70" /></span>
+						<span class="fld-input"><input id="fld<?php echo $forum_page['fld_count'] ?>" type="text" name="req_subject" value="<?php if (isset($_POST['req_subject'])) echo forum_htmlencode($subject); ?>" size="70" maxlength="70" /></span>
 					</div>
 				</div>
 <?php
@@ -564,7 +567,6 @@
 
 	$forum_page['item_count'] = 0;
 	$forum_page['item_total'] = $forum_db->num_rows($result);
-	$forum_page['author_title'] = '';
 
 	while ($cur_post = $forum_db->fetch_assoc($result))
 	{
diff -urN punbb-1.3.2/profile.php punbb-1.3.3/profile.php
--- punbb-1.3.2/profile.php	2008-11-17 14:11:17.000000000 +0000
+++ punbb-1.3.3/profile.php	2009-04-17 12:51:23.000000000 +0000
@@ -2,7 +2,7 @@
 /**
  * Allows users to view and edit their details.
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
@@ -430,7 +430,7 @@
 		if (!is_valid_email($new_email))
 			$errors[] = $lang_common['Invalid e-mail'];
 
-		// Check it it's a banned e-mail address
+		// Check if it's a banned e-mail address
 		if (is_banned_email($new_email))
 		{
 			($hook = get_hook('pf_change_email_normal_banned_email')) ? eval($hook) : null;
@@ -476,6 +476,23 @@
 		// Did everything go according to plan?
 		if (empty($errors))
 		{
+			if ($forum_config['o_regs_verify'] != '1')
+			{
+				// We have no confirmed e-mail so we change e-mail right now
+				$query = array(
+					'UPDATE'	=> 'users',
+					'SET'		=> 'email=\''.$forum_db->escape($new_email).'\'',
+					'WHERE'		=> 'id='.$id
+				);
+
+				($hook = get_hook('pf_change_email_key_qr_update_email')) ? eval($hook) : null;
+				$forum_db->query_build($query) or error(__FILE__, __LINE__);
+
+				redirect(forum_link($forum_url['profile_about'], $id), $lang_profile['E-mail updated redirect']);
+			}
+
+			// We have a confirmed e-mail so we going to send an activation link
+
 			$new_email_key = random_key(8, true);
 
 			// Save new e-mail and activation key
@@ -889,7 +906,7 @@
 					$form['num_posts'] = intval($_POST['num_posts']);
 			}
 
-			if ($forum_config['o_regs_verify'] == '0' || $forum_user['is_admmod'])
+			if ($forum_user['is_admmod'])
 			{
 				if (!defined('FORUM_EMAIL_FUNCTIONS_LOADED'))
 					require FORUM_ROOT.'include/email.php';
@@ -1284,15 +1301,12 @@
 	$forum_user['g_id'] != FORUM_ADMIN &&
 	($forum_user['g_moderator'] != '1' || $forum_user['g_mod_edit_users'] == '0' || $user['g_id'] == FORUM_ADMIN || $user['g_moderator'] == '1'))
 {
-	($hook = get_hook('pf_view_details_selected')) ? eval($hook) : null;
-
 	// Setup user identification
 	$forum_page['user_ident'] = array();
 
 	($hook = get_hook('pf_view_details_selected')) ? eval($hook) : null;
 
 	$forum_page['user_ident']['username'] = '<li class="username'.(($user['realname'] =='') ? ' fn nickname' :  ' nickname').'"><strong>'.forum_htmlencode($user['username']).'</strong></li>';
-	$forum_page['user_ident']['usertitle'] = '<li class="usertitle"><span>'.get_title($user).'</span></li>';
 
 	if ($forum_config['o_avatars'] == '1')
 	{
@@ -1302,6 +1316,8 @@
 			$forum_page['user_ident']['avatar'] = '<li class="useravatar">'.$forum_page['avatar_markup'].'</li>';
 	}
 
+	$forum_page['user_ident']['usertitle'] = '<li class="usertitle"><span>'.get_title($user).'</span></li>';
+
 	// Setup user information
 	$forum_page['user_info'] = array();
 
@@ -1407,8 +1423,8 @@
 					</ul>
 				</div>
 			</div>
-<?php ($hook = get_hook('pf_view_details_pre_user_activity_info')) ? eval($hook) : null; ?>
-<?php endif; if (!empty($forum_page['user_activity'])): ?>
+<?php endif; ($hook = get_hook('pf_view_details_pre_user_activity_info')) ? eval($hook) : null; ?>
+<?php if (!empty($forum_page['user_activity'])): ?>
 			<div class="ct-set data-set set<?php echo ++$forum_page['item_count'] ?>">
 				<div class="ct-box data-box">
 					<h3 class="ct-legend hn"><span><?php echo $lang_profile['Posts and topics'] ?></span></h3>
@@ -1417,8 +1433,8 @@
 					</ul>
 				</div>
 			</div>
-<?php ($hook = get_hook('pf_view_details_pre_user_sig_info')) ? eval($hook) : null; ?>
-<?php endif; if (isset($forum_page['sig_demo'])): ?>
+<?php endif; ($hook = get_hook('pf_view_details_pre_user_sig_info')) ? eval($hook) : null; ?>
+<?php if (isset($forum_page['sig_demo'])): ?>
 			<div class="ct-set data-set set<?php echo ++$forum_page['item_count'] ?>">
 				<div class="ct-box data-box">
 					<h3 class="ct-legend hn"><span><?php echo $lang_profile['Current signature'] ?></span></h3>
@@ -1486,7 +1502,6 @@
 		($hook = get_hook('pf_change_details_about_selected')) ? eval($hook) : null;
 
 		$forum_page['user_ident']['username'] = '<li class="username'.(($user['realname'] =='') ? ' fn nickname' :  ' nickname').'"><strong>'.forum_htmlencode($user['username']).'</strong></li>';
-		$forum_page['user_ident']['usertitle'] = '<li class="usertitle"><span>'.get_title($user).'</span></li>';
 
 		if ($forum_config['o_avatars'] == '1')
 		{
@@ -1496,6 +1511,8 @@
 				$forum_page['user_ident']['avatar'] = '<li class="useravatar">'.$forum_page['avatar_markup'].'</li>';
 		}
 
+		$forum_page['user_ident']['usertitle'] = '<li class="usertitle"><span>'.get_title($user).'</span></li>';
+
 		// Create array for private information
 		$forum_page['user_private'] = array();
 
@@ -1549,15 +1566,15 @@
 
 		// Setup user messaging
 		if ($user['jabber'] !='')
-			$forum_page['user_contact']['jabber'] = '<li><span><strong>'.$lang_profile['Jabber'].':</strong> '.forum_htmlencode(($forum_config['o_censoring'] == '1') ? censor_words($user['jabber']) : $user['jabber']).'</span></li>';
+			$forum_page['user_contact']['jabber'] = '<li><span>'.$lang_profile['Jabber'].': <strong>'.forum_htmlencode(($forum_config['o_censoring'] == '1') ? censor_words($user['jabber']) : $user['jabber']).'</strong></span></li>';
 		if ($user['icq'] !='')
-			$forum_page['user_contact']['icq'] = '<li><span><strong>'.$lang_profile['ICQ'].':</strong> '.forum_htmlencode($user['icq']).'</span></li>';
+			$forum_page['user_contact']['icq'] = '<li><span>'.$lang_profile['ICQ'].': <strong>'.forum_htmlencode($user['icq']).'</strong></span></li>';
 		if ($user['msn'] !='')
-			$forum_page['user_contact']['msn'] = '<li><span><strong>'.$lang_profile['MSN'].':</strong> '.forum_htmlencode(($forum_config['o_censoring'] == '1') ? censor_words($user['msn']) : $user['msn']).'</span></li>';
+			$forum_page['user_contact']['msn'] = '<li><span>'.$lang_profile['MSN'].': <strong>'.forum_htmlencode(($forum_config['o_censoring'] == '1') ? censor_words($user['msn']) : $user['msn']).'</strong></span></li>';
 		if ($user['aim'] !='')
-			$forum_page['user_contact']['aim'] = '<li><span><strong>'.$lang_profile['AOL IM'].':</strong> '.forum_htmlencode(($forum_config['o_censoring'] == '1') ? censor_words($user['aim']) : $user['aim']).'</span></li>';
+			$forum_page['user_contact']['aim'] = '<li><span>'.$lang_profile['AOL IM'].': <strong>'.forum_htmlencode(($forum_config['o_censoring'] == '1') ? censor_words($user['aim']) : $user['aim']).'</strong></span></li>';
 		if ($user['yahoo'] !='')
-			$forum_page['user_contact']['yahoo'] = '<li><span><strong>'.$lang_profile['Yahoo'].':</strong> '.forum_htmlencode(($forum_config['o_censoring'] == '1') ? censor_words($user['yahoo']) : $user['yahoo']).'</span></li>';
+			$forum_page['user_contact']['yahoo'] = '<li><span>'.$lang_profile['Yahoo'].': <strong>'.forum_htmlencode(($forum_config['o_censoring'] == '1') ? censor_words($user['yahoo']) : $user['yahoo']).'</strong></span></li>';
 
 		// Setup signature demo
 		if ($forum_config['o_signatures'] == '1' && isset($parsed_signature))
@@ -1580,7 +1597,7 @@
 		if ($forum_page['own_profile'] || $forum_user['g_id'] == FORUM_ADMIN || ($forum_user['g_moderator'] == '1' && $forum_user['g_mod_change_passwords'] == '1'))
 			$forum_page['user_options']['change_password'] = '<span'.(empty($forum_page['user_options']) ? ' class="first-item"' : '').'><a href="'.forum_link($forum_url['change_password'], $id).'">'.(($forum_page['own_profile']) ? $lang_profile['Change your password'] : sprintf($lang_profile['Change user password'], forum_htmlencode($user['username']))).'</a></span>';
 
-		if (!$forum_user['is_admmod'] && $forum_config['o_regs_verify'] == '1')
+		if (!$forum_user['is_admmod'])
 			$forum_page['user_options']['change_email'] = '<span'.(empty($forum_page['user_options']) ? ' class="first-item"' : '').'><a href="'.forum_link($forum_url['change_email'], $id).'">'.(($forum_page['own_profile']) ? $lang_profile['Change your e-mail'] : sprintf($lang_profile['Change user e-mail'], forum_htmlencode($user['username']))).'</a></span>';
 
 		$forum_page['group_count'] = $forum_page['item_count'] = $forum_page['fld_count'] = 0;
@@ -1690,7 +1707,7 @@
 			$forum_page['hidden_fields']['old_username'] = '<input type="hidden" name="old_username" value="'.forum_htmlencode($user['username']).'" />';
 
 		// Does the form have required fields
-		$forum_page['has_required'] = ((($forum_user['is_admmod'] && ($forum_user['g_id'] == FORUM_ADMIN || $forum_user['g_mod_rename_users'] == '1')) || ($forum_user['is_admmod'] || $forum_config['o_regs_verify'] != '1')) ? true : false);
+		$forum_page['has_required'] = ((($forum_user['is_admmod'] && ($forum_user['g_id'] == FORUM_ADMIN || $forum_user['g_mod_rename_users'] == '1')) || $forum_user['is_admmod']) ? true : false);
 
 		($hook = get_hook('pf_change_details_identity_pre_header_load')) ? eval($hook) : null;
 
@@ -1750,7 +1767,7 @@
 					</div>
 				</div>
 <?php endif; ($hook = get_hook('pf_change_details_identity_pre_email')) ? eval($hook) : null; ?>
-<?php if ($forum_user['is_admmod'] || $forum_config['o_regs_verify'] != '1'): ?>
+<?php if ($forum_user['is_admmod']): ?>
 				<div class="sf-set set<?php echo ++$forum_page['item_count'] ?>">
 					<div class="sf-box text required">
 						<label for="fld<?php echo ++$forum_page['fld_count'] ?>"><span><?php echo $lang_profile['E-mail'] ?> <em><?php echo $lang_common['Required'] ?></em></span> <small><?php echo $lang_profile['E-mail help'] ?></small></label><br />
@@ -2532,7 +2549,7 @@
 
 			echo "\t\t\t".implode("\n\t\t\t", $forum_page['user_management'])."\n";
 
-			($hook = get_hook('pf_change_details_admin_pre_group_membership')) ? eval($hook) : null;
+			($hook = get_hook('pf_change_details_admin_pre_membership')) ? eval($hook) : null;
 
 			if ($forum_user['g_moderator'] != '1' && !$forum_page['own_profile'])
 			{
diff -urN punbb-1.3.2/register.php punbb-1.3.3/register.php
--- punbb-1.3.2/register.php	2008-11-08 17:53:23.000000000 +0000
+++ punbb-1.3.3/register.php	2009-04-17 12:51:23.000000000 +0000
@@ -2,7 +2,7 @@
 /**
  * Allows the creation of new user accounts.
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
@@ -74,7 +74,7 @@
 		<div class="ct-box user-box">
 			<?php echo $forum_config['o_rules_message'] ?>
 		</div>
-		<form class="frm-form" method="get" accept-charset="utf-8" action="<?php echo $base_url ?>/register.php">
+		<form class="frm-form" method="get" accept-charset="utf-8" action="<?php echo forum_link($forum_url['register']) ?>">
 <?php ($hook = get_hook('rg_rules_pre_group')) ? eval($hook) : null; ?>
 			<div class="frm-group group<?php echo ++$forum_page['group_count'] ?>">
 <?php ($hook = get_hook('rg_rules_pre_agree_checkbox')) ? eval($hook) : null; ?>
@@ -264,7 +264,7 @@
 
 // Setup form
 $forum_page['group_count'] = $forum_page['item_count'] = $forum_page['fld_count'] = 0;
-$forum_page['form_action'] = $base_url.'/register.php?action=register';
+$forum_page['form_action'] = forum_link($forum_url['register']).'?action=register';
 
 // Setup form information
 $forum_page['frm_info']['intro'] = '<p>'.$lang_profile['Register intro'].'</p>';
diff -urN punbb-1.3.2/rewrite.php punbb-1.3.3/rewrite.php
--- punbb-1.3.2/rewrite.php	2008-10-31 09:04:18.000000000 +0000
+++ punbb-1.3.3/rewrite.php	2009-04-17 12:51:23.000000000 +0000
@@ -2,7 +2,7 @@
 /**
  * Rewrites SEF URLs to their actual files.
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
@@ -78,7 +78,8 @@
 // If we don't know what to rewrite to, we show a bad request messsage
 if (empty($rewritten_url))
 {
-	header('HTTP/1.x 404 Not Found');
+	define('FORUM_HTTP_RESPONSE_CODE_SET', 1);
+	header('HTTP/1.1 404 Not Found');
 
 	// Allow an extension to override the "Bad request" message with a custom 404 page
 	($hook = get_hook('re_page_not_found')) ? eval($hook) : null;
diff -urN punbb-1.3.2/search.php punbb-1.3.3/search.php
--- punbb-1.3.2/search.php	2008-11-21 15:42:22.000000000 +0000
+++ punbb-1.3.3/search.php	2009-04-17 12:51:23.000000000 +0000
@@ -2,7 +2,7 @@
 /**
  * Allows users to search the forum based on various criteria.
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
@@ -42,7 +42,7 @@
 // We aren't just grabbing a cached search
 else if (isset($_GET['action']))
 {
-	$action = (isset($_GET['action'])) ? $_GET['action'] : null;
+	$action = $_GET['action'];
 
 	// Validate action
 	if (!validate_search_action($action))
@@ -191,7 +191,7 @@
 	<div class="main-subhead">
 		<p class="item-summary forum-noview"><span><?php printf($lang_forum['Search subtitle'], implode(' ', $forum_page['item_header']['subject']), implode(', ', $forum_page['item_header']['info'])) ?></span></p>
 	</div>
-	<div class="main-content main-forum forum-noview">
+	<div class="main-content main-forum forum-forums">
 <?php
 
 	}
@@ -237,7 +237,7 @@
 		{
 			// Generate the result heading
 			$forum_page['post_ident'] = array();
-			$forum_page['post_ident']['num']	= '<span class="post-num">'.forum_number_format($forum_page['start_from'] + $forum_page['item_count']).'</span>';
+			$forum_page['post_ident']['num'] = '<span class="post-num">'.forum_number_format($forum_page['start_from'] + $forum_page['item_count']).'</span>';
 			$forum_page['post_ident']['byline'] = '<span class="post-byline">'.sprintf((($cur_set['pid'] == $cur_set['first_post_id']) ? $lang_topic['Topic byline'] : $lang_topic['Reply byline']), '<strong>'.forum_htmlencode($cur_set['pposter']).'</strong>').'</span>';
 			$forum_page['post_ident']['link'] = '<span class="post-link"><a class="permalink" rel="bookmark" title="'.$lang_topic['Permalink post'].'" href="'.forum_link($forum_url['post'], $cur_set['pid']).'">'.format_time($cur_set['pposted']).'</a></span>';
 
@@ -305,7 +305,6 @@
 		{
 			// Start from scratch
 			$forum_page['item_subject'] = $forum_page['item_body'] = $forum_page['item_status'] = $forum_page['item_nav'] = $forum_page['item_title'] = $forum_page['item_title_status'] = array();
-			$forum_page['item_indicator'] = '';
 
 			// Assemble the Topic heading
 
@@ -335,6 +334,10 @@
 
 			$forum_page['item_title']['link'] = '<a href="'.forum_link($forum_url['topic'], array($cur_set['tid'], sef_friendly($cur_set['subject']))).'">'.forum_htmlencode($cur_set['subject']).'</a>';
 
+			($hook = get_hook('se_results_topics_row_pre_item_title_merge')) ? eval($hook) : null;
+
+			$forum_page['item_body']['subject']['title'] = '<h3 class="hn"><span class="item-num">'.forum_number_format($forum_page['start_from'] + $forum_page['item_count']).'</span> '.implode(' ', $forum_page['item_title']).'</h3>';
+
 			$forum_page['item_pages'] = ceil(($cur_set['num_replies'] + 1) / $forum_user['disp_posts']);
 
 			if ($forum_page['item_pages'] > 1)
@@ -349,18 +352,14 @@
 
 			($hook = get_hook('se_results_topics_row_pre_item_nav_merge')) ? eval($hook) : null;
 
-			if (!empty($forum_page['item_nav']))
-				$forum_page['item_title']['nav'] = '<span class="item-nav">'.sprintf($lang_forum['Topic navigation'], implode('&#160;&#160;', $forum_page['item_nav'])).'</span>';
-
-			($hook = get_hook('se_results_topics_row_pre_item_title_merge')) ? eval($hook) : null;
-
-			$forum_page['item_body']['subject']['title'] = '<h3 class="hn"><span class="item-num">'.forum_number_format($forum_page['start_from'] + $forum_page['item_count']).'</span> '.implode(' ', $forum_page['item_title']).'</h3>';
+			$forum_page['item_subject']['starter'] = '<span class="item-starter">'.sprintf($lang_forum['Topic starter'], forum_htmlencode($cur_set['poster'])).'</span>';
 
-			$forum_page['item_subject']['starter'] = '<span class="item-starter">'.sprintf($lang_forum['Topic starter'], '<cite>'.forum_htmlencode($cur_set['poster']).'</cite>').'</span>';
+			if (!empty($forum_page['item_nav']))
+				$forum_page['item_subject']['nav'] = '<span class="item-nav">'.sprintf($lang_forum['Topic navigation'], implode('&#160;&#160;', $forum_page['item_nav'])).'</span>';
 
 			($hook = get_hook('se_results_topics_row_pre_item_subject_merge')) ? eval($hook) : null;
 
-			$forum_page['item_body']['subject']['desc'] = implode(' ', $forum_page['item_subject']);
+			$forum_page['item_body']['subject']['desc'] = '<p>'.implode(' ', $forum_page['item_subject']).'</p>';
 
 			if (empty($forum_page['item_status']))
 				$forum_page['item_status']['normal'] = 'normal';
@@ -369,7 +368,7 @@
 
 			$forum_page['item_style'] = (($forum_page['item_count'] % 2 != 0) ? ' odd' : ' even').(($forum_page['item_count'] == 1) ? ' main-first-item' : '').((!empty($forum_page['item_status'])) ? ' '.implode(' ', $forum_page['item_status']) : '');
 
-			$forum_page['item_body']['info']['forum'] = '<li class="info-forum"><strong>'.$cur_set['forum_name'].'</strong> <span class="label">'.(($cur_set['num_replies'] == 1) ? $lang_forum['Reply'] : $lang_forum['Replies']).'</span></li>';
+			$forum_page['item_body']['info']['forum'] = '<li class="info-forum"><span class="label">'.$lang_search['Posted in'].'</span><a href="'.forum_link($forum_url['forum'], array($cur_set['forum_id'], sef_friendly($cur_set['forum_name']))).'">'.$cur_set['forum_name'].'</a></li>';
 			$forum_page['item_body']['info']['replies'] = '<li class="info-replies"><strong>'.forum_number_format($cur_set['num_replies']).'</strong> <span class="label">'.(($cur_set['num_replies'] == 1) ? $lang_forum['Reply'] : $lang_forum['Replies']).'</span></li>';
 			$forum_page['item_body']['info']['lastpost'] = '<li class="info-lastpost"><span class="label">'.$lang_forum['Last post'].'</span> <strong><a href="'.forum_link($forum_url['post'], $cur_set['last_post_id']).'">'.format_time($cur_set['last_post']).'</a></strong> <cite>'.sprintf($lang_forum['by poster'], forum_htmlencode($cur_set['last_poster'])).'</cite></li>';
 
@@ -393,14 +392,14 @@
 ?>
 	</div>
 
-			<div class="main-foot">
+	<div class="main-foot">
 <?php
 
 	if (!empty($forum_page['main_foot_options']))
 		echo "\n\t\t\t".'<p class="options">'.implode(' ', $forum_page['main_foot_options']).'</p>';
 
 ?>
-		<p><?php echo $forum_page['items_info'] ?></p>
+		<h2 class="hn"><span><?php echo $forum_page['items_info'] ?></span></h2>
 	</div>
 <?php
 
@@ -494,6 +493,17 @@
 						<span class="fld-input"><input id="fld<?php echo $forum_page['fld_count'] ?>" type="text" name="author" size="25" maxlength="25" /></span>
 					</div>
 				</div>
+<?php ($hook = get_hook('se_pre_search_in')) ? eval($hook) : null; ?>
+				<div class="sf-set set<?php echo ++$forum_page['item_count'] ?>">
+					<div class="sf-box select">
+						<label for="fld<?php echo ++$forum_page['fld_count'] ?>"><span><?php echo $lang_search['Search in'] ?></span></label><br />
+						<span class="fld-input"><select id="fld<?php echo $forum_page['fld_count'] ?>" name="search_in">
+							<option value="all"><?php echo $lang_search['Message and subject'] ?></option>
+							<option value="message"><?php echo $lang_search['Message only'] ?></option>
+							<option value="topic"><?php echo $lang_search['Topic only'] ?></option>
+						</select></span>
+					</div>
+				</div>
 <?php ($hook = get_hook('se_pre_forum_fieldset')) ? eval($hook) : null; ?>
 				<fieldset class="mf-set set<?php echo ++$forum_page['item_count'] ?>">
 					<legend><span><?php echo $lang_search['Forum search'] ?> <em><?php echo ($forum_config['o_search_all_forums'] == '1' || $forum_user['is_admmod']) ? $lang_search['Forum search default'] : $lang_search['Forum search require'] ?></em></span></legend>
diff -urN punbb-1.3.2/style/Oxygen/Oxygen.css punbb-1.3.3/style/Oxygen/Oxygen.css
--- punbb-1.3.2/style/Oxygen/Oxygen.css	2008-12-08 14:50:43.000000000 +0000
+++ punbb-1.3.3/style/Oxygen/Oxygen.css	2009-04-17 12:23:47.000000000 +0000
@@ -83,7 +83,7 @@
 	line-height: 0.0;
 	overflow:hidden;
 	visibility: hidden;
- 	clear: both;
+	clear: both;
 	}
 
 /* Hidden items
@@ -112,13 +112,13 @@
 .brd .main-head .hn small,
 .brd .entry-title,
 .brd .menu-page .main-head {
- 	font-size: 0;
- 	left: -999em;
- 	text-indent: -999em;
- 	position:absolute;
- 	line-height: 0em;
- 	visibility: hidden;
- 	}
+	font-size: 0;
+	left: -999em;
+	text-indent: -999em;
+	position:absolute;
+	line-height: 0em;
+	visibility: hidden;
+	}
 
 
 /*************************************************************
@@ -211,13 +211,13 @@
 	border-bottom-width: 1px;
 	}
 
-.brd .main-head {
+.brd .main-head, .brd .main-foot {
 	border-style: solid;
 	border-width: 1px;
 	padding: 0 1.417em;
 	}
 
-.brd .main-head .hn, .brd .main-foot .hn{
+.brd .main-head .hn, .brd .main-foot .hn {
 	font-size: 1.084em;
 	padding-right: 10em;
 	}
@@ -225,7 +225,6 @@
 .brd h2.main-subhead {
 	border-style: solid;
 	border-width: 1px;
-	padding: 0 1.417em;
 	font-size: 1.084em;
 	padding: 0.462em 10em 0.426em 1.417em;
 	}
@@ -249,13 +248,6 @@
 	position: relative;
 	}
 
-.brd .main-head,
-.brd .main-foot {
-	padding: 0 1.5em;
-	border-style: none;
-	border-width: 1px;
-	}
-
 .brd .main-foot {
 	margin-top: -1em;
 	}
@@ -306,9 +298,9 @@
 	}
 
 .brd .extension .options, .brd .hotfix .options {
-	border-top-style:dashed;
-	border-top-width:1px;
-}
+	border-top-style: dashed;
+	border-top-width: 1px;
+	}
 
 /* Content Containers
 -------------------------------------------------------------*/
@@ -652,7 +644,7 @@
 
 .brd .crumbs {
 	margin: 0.5em 0em;
-	padding: 0em 1.5em;
+	padding: 0em 1.417em;
 	font-size: 1.084em;
 	}
 
@@ -669,20 +661,20 @@
 	}
 
 #brd-stats ul li.st-users {
- 	float: left;
- 	clear: both;
- 	white-space: nowrap;
- 	}
+	float: left;
+	clear: both;
+	white-space: nowrap;
+	}
 
  #brd-stats ul li.st-activity {
- 	text-align: right;
- 	display: block;
- 	white-space: nowrap;
- 	}
+	text-align: right;
+	display: block;
+	white-space: nowrap;
+	}
 
  #brd-stats li strong {
- 	font-weight: bold;
- 	}
+	font-weight: bold;
+	}
 
 #brd-online {
 	padding-top: 0.5em;
@@ -695,18 +687,13 @@
 	}
 
  #brd-online .hn {
- 	float: left;
- 	margin-right: 0.5em;
- 	}
+	float: left;
+	margin-right: 0.5em;
+	}
 
 /* Footer
 -------------------------------------------------------------*/
 
-#brd-about p {
-	float: left;
-	margin: 0 1em;
-	}
-
 #brd-about #qjump {
 	float: left;
 	padding: 0.5em 0;
@@ -719,15 +706,18 @@
 
 #brd-about #copyright {
 	text-align: right;
-	float: right;
 	margin: 0;
 	}
 
-#brd-about #querytime {
+#querytime {
 	text-align: center;
 	font-size: 0.9em;
 	}
 
+#extensions-used {
+	border-bottom: 1px dotted;
+}
+
 /* Main and Content Options
 -------------------------------------------------------------*/
 
@@ -851,49 +841,49 @@
 
 .brd .main-content .main-item p,
 .brd .main-content .main-item .hn {
- 	padding: 0;
- 	}
+	padding: 0;
+	}
 
 .brd .main-content .main-item .hn .item-status {
- 	font-weight:normal;
- 	}
+	font-weight:normal;
+	}
 
 .brd .main-content .main-item .hn .item-status em {
- 	font-style:normal;
- 	}
+	font-style:normal;
+	}
 
 .brd .main-content .main-item .item-subject,
 .brd .main-content .main-item li {
- 	float: left;
- 	border-left-style: solid;
- 	border-left-width: 1px;
- 	margin: 0 -2px -9.7em 0;
- 	position: relative;
- 	padding-top: 0.6em;
- 	padding-bottom: 10.4em;
- 	}
+	float: left;
+	border-left-style: solid;
+	border-left-width: 1px;
+	margin: 0 -2px -9.7em 0;
+	position: relative;
+	padding-top: 0.6em;
+	padding-bottom: 10.4em;
+	}
 
 .brd .main-content .main-item .item-subject {
- 	overflow: hidden;
- 	width: 100%;
-  	}
+	overflow: hidden;
+	width: 100%;
+	}
 
 .brd .main-content .main-item li.info-topics,
 .brd .main-content .main-item li.info-forum,
 .brd .main-content .main-item li.info-posts,
 .brd .main-content .main-item li.info-views,
 .brd .main-content .main-item li.info-replies {
- 	width: 7em;
- 	text-align:center;
- 	}
+	width: 7em;
+	text-align: center;
+	}
 
 .brd .main-content .main-item li.info-forum {
- 	width: 20em;
- 	}
+	width: 20em;
+	}
 
 .brd .main-content .main-item li.info-lastpost {
-  	width: 20em;
-  	}
+	width: 20em;
+	}
 
 .brd .main-content .main-item li.info-lastpost cite {
 	overflow: hidden;
@@ -924,22 +914,32 @@
 	}
 
 .brd .forum-noview .main-item {
-	padding-right: 48em;
+	padding-right: 28em;
 	}
 
 .brd .forum-noview .main-item ul {
+	width: 27em;
+	right: -28em;
+	margin-left: -27em;
+	}
+
+.brd .forum-forums .main-item {
+	padding-right: 48em;
+	}
+
+.brd .forum-forums .main-item ul {
 	width: 47em;
 	right: -48em;
 	margin-left: -47em;
 	}
 
 .brd .main-content .main-item .item-subject span.modlist {
- 	display: block;
- 	}
+	display: block;
+	}
 
 .brd .main-content .main-item .hn strong {
-  	font-size: 1em;
-  	}
+	font-size: 1em;
+	}
 
 .brd .main-content .main-item .hn strong span {
 	font-weight: normal;
@@ -948,7 +948,7 @@
  #brd-index .main-content .main-item .hn span {
 	font-size: 1.084em;
 	font-weight: bold;
- 	}
+	}
 #brd-index .main-content .main-item .hn small {
 	font-size: 1em;
 	}
@@ -967,55 +967,52 @@
 	font-style: normal;
 	}
 
-.brd .main-content .main-item .item-subject .hn {
-	display:inline;
-	margin: 0 0 0 1.5em;
- 	}
-
+.brd .main-content .main-item .item-subject .hn,
 .brd .main-content .main-item .item-subject p {
 	margin: 0 0 0 1.5em;
- 	}
+	}
 
 .brd .main-content .main-item li.info-lastpost cite,
-.brd .main-content .main-item li.info-lastpost span {
- 	display: block;
- 	padding: 0 1em;
- 	font-style: normal;
- 	font-weight: normal;
- 	}
+.brd .main-content .main-item li.info-lastpost span,
+.brd .main-content .main-item li.info-forum a {
+	display: block;
+	padding: 0 1em;
+	font-style: normal;
+	font-weight: normal;
+	}
 
 .brd .main-content .main-item li.info-lastpost strong {
- 	padding: 0 0 0 1em;
- 	font-style: normal;
- 	font-weight: normal;
- 	}
+	padding: 0 0 0 1em;
+	font-style: normal;
+	font-weight: normal;
+	}
 
 .brd .main-content .main-item li.info-select {
- 	position: absolute;
- 	right: 0;
- 	top: 0;
- 	padding: 0.3em;
- 	border-style: none none solid solid;
- 	border-width: 1px;
- 	}
+	position: absolute;
+	right: 0;
+	top: 0;
+	padding: 0.3em;
+	border-style: none none solid solid;
+	border-width: 1px;
+	}
 
 .brd .main-content .main-item .icon {
- 	border-style: solid;
- 	border-width: 0.5833em;
- 	height: 0;
- 	width: 0;
- 	float: left;
- 	margin-top: 0.667em;
- 	margin-left: -2.417em;
- 	}
+	border-style: solid;
+	border-width: 0.5833em;
+	height: 0;
+	width: 0;
+	float: left;
+	margin-top: 0.667em;
+	margin-left: -2.417em;
+	}
 
 .brd .main-content .main-item .hn .posted-mark {
- 	position: absolute;
- 	font-size: 2em;
- 	width: 1em;
- 	left: -0.5em;
- 	top: 0;
- 	}
+	position: absolute;
+	font-size: 2em;
+	width: 1em;
+	left: -0.5em;
+	top: 0;
+	}
 
 /*************************************************************
 F - MAIN CONTENT - FORMS
@@ -1160,7 +1157,7 @@
 
 .brd .mf-box .mf-item {
 	position: relative;
-	top: -0.15em;
+	top: -0.166em;
 	padding: 0.25em 0;
 	}
 
@@ -1419,7 +1416,6 @@
 	margin-left: 18em;
 	border-style: none none none solid;
 	border-width: 1px;
-	zoom: 1;
 	}
 
 .brd .posthead .hn {
@@ -1631,7 +1627,7 @@
 	padding: 1em 0.75em;
 	}
 
-.brd .entry-content .codebox code {
+.brd .entry-content .codebox code, #brd-debug table .tcl, #brd-debug table .tcr {
 	font-family: monospace;
 	}
 
@@ -1714,12 +1710,12 @@
 	text-align: center;
 	}
 
-#brd-debug  table .tc0 {
-	white-space:normal;
-	width: 15%;
+#brd-debug  table .tc1 {
+	white-space: normal;
+	width: 10%;
 	}
 
-#brd-debug table .tc1 {
+#brd-debug table .tcr {
 	white-space: normal;
 	width: 90%;
 	}
diff -urN punbb-1.3.2/style/Oxygen/Oxygen_cs.css punbb-1.3.3/style/Oxygen/Oxygen_cs.css
--- punbb-1.3.2/style/Oxygen/Oxygen_cs.css	2008-11-21 15:42:22.000000000 +0000
+++ punbb-1.3.3/style/Oxygen/Oxygen_cs.css	2009-04-17 12:23:47.000000000 +0000
@@ -326,16 +326,6 @@
 	background: #F4F4F4;
 	}
 
-.brd .content-head {
-
-	}
-
-.brd th {
-	background: #EAEEF5;
-	border-bottom-color: #fff;
-	border-top-color: #ddd;
-	}
-
 .brd .group-head {
 	background: #EDF1F5;
 	border-color: #DBE0E4;
@@ -360,36 +350,40 @@
 	background: #F4F4F4;
 	}
 
-.brd .main-frm .ct-group td{
+.brd .main-frm .ct-group td {
 	background: #FBFBFB;
 	}
 
+#extensions-used {
+	border-bottom-color: #999;
+}
+
 
 /* Status indicators
 ----------------------------------------------------------------*/
 
 .brd .main-content .main-item .icon {
-	border-color: #EDF1F5 #DDE0E4 #C6CBD3 #BABFC6
+	border-color: #EDF1F5 #DDE0E4 #C6CBD3 #BABFC6;
 	}
 
 .brd .main-content .redirect .icon {
-	border-color: #f4f4f4 #f4f4f4 #f4f4f4 #f4f4f4
+	border-color: #f4f4f4 #f4f4f4 #f4f4f4 #f4f4f4;
 	}
 
 .brd .main-content .sticky .icon {
-	border-color: #D7E5F3 #C3CFDC #9FB3C7 #90A2B4
+	border-color: #D7E5F3 #C3CFDC #9FB3C7 #90A2B4;
 	}
 
 .brd .main-content .closed .icon {
-	border-color: #ACACAC #979797 #898989 #7A7A7A
+	border-color: #ACACAC #979797 #898989 #7A7A7A;
 	}
 
-.brd .main-content .sticky .closed {
-	border-color: #D7E5F3 #C3CFDC #898989 #7A7A7A
+.brd .main-content .sticky .closed .icon {
+	border-color: #D7E5F3 #C3CFDC #898989 #7A7A7A;
 	}
 
 .brd .main-content .new .icon {
-	border-color: #2B75AD #235E8C #1F537B #266799
+	border-color: #2B75AD #235E8C #1F537B #266799;
 	}
 
 
diff -urN punbb-1.3.2/style/Oxygen/Oxygen_ie6.css punbb-1.3.3/style/Oxygen/Oxygen_ie6.css
--- punbb-1.3.2/style/Oxygen/Oxygen_ie6.css	2008-11-09 15:49:51.000000000 +0000
+++ punbb-1.3.3/style/Oxygen/Oxygen_ie6.css	2009-04-17 12:23:47.000000000 +0000
@@ -27,12 +27,21 @@
 .brd span.fld-input,
 .brd .main-subhead .hn,
 .brd .post,
+.brd .posthead,
 .brd .postbody,
 .brd .post-entry,
 .brd .postfoot .post-options {
 	zoom: 1;
 	}
 
+.brd .ct-box ol, .brd .ct-box ol * {
+	zoom: normal;
+	}
+
+.brd .postfoot .post-contacts {
+	position: absolute;
+	}
+
 /* Forms
 -------------------------------------------------------------*/
 
@@ -58,9 +67,6 @@
 
 #brd-admin-censoring #info-censored-intro, #brd-admin-ranks #info-ranks-intro { margin-bottom: 3em; }
 
-/* Adding space between topic subject and its' info */
-#brd-viewforum .item-nav, .main-forum .item-subject .item-starter { margin-left: 1ex; }
-
 .important strong { margin-right: 1ex; }
 
 #brd-stats .st-users { margin-bottom: -1ex; }
@@ -80,5 +86,12 @@
 .brd #brd-index .main-head { position: relative; }
 
 .brd .main-content .main-item .hn .posted-mark {
- 	left: 0.2em;
+	left: 0.2em;
 	}
+
+/* Footer
+-------------------------------------------------------------*/
+
+#brd-about p#extensions-used {
+	clear: left;
+	}
\ No newline at end of file
diff -urN punbb-1.3.2/style/Oxygen/Oxygen_ie7.css punbb-1.3.3/style/Oxygen/Oxygen_ie7.css
--- punbb-1.3.2/style/Oxygen/Oxygen_ie7.css	2008-11-08 13:57:35.000000000 +0000
+++ punbb-1.3.3/style/Oxygen/Oxygen_ie7.css	2009-04-15 11:48:47.000000000 +0000
@@ -26,6 +26,7 @@
 .brd span.fld-input,
 .brd .main-subhead .hn,
 .brd .post,
+.brd .posthead,
 .brd .postbody,
 .brd .post-entry,
 .brd .postfoot .post-options,
diff -urN punbb-1.3.2/userlist.php punbb-1.3.3/userlist.php
--- punbb-1.3.2/userlist.php	2008-11-08 13:21:28.000000000 +0000
+++ punbb-1.3.3/userlist.php	2009-04-17 12:51:23.000000000 +0000
@@ -2,7 +2,7 @@
 /**
  * Provides a list of forum users that can be sorted based on various criteria.
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
@@ -27,7 +27,7 @@
 $forum_page['username'] = (isset($_GET['username']) && $_GET['username'] != '-' && $forum_user['g_search_users'] == '1') ? $_GET['username'] : '';
 $forum_page['show_group'] = (!isset($_GET['show_group']) || intval($_GET['show_group']) < -1 && intval($_GET['show_group']) > 2) ? -1 : intval($_GET['show_group']);
 $forum_page['sort_by'] = (!isset($_GET['sort_by']) || $_GET['sort_by'] != 'username' && $_GET['sort_by'] != 'registered' && ($_GET['sort_by'] != 'num_posts' || !$forum_page['show_post_count'])) ? 'username' : $_GET['sort_by'];
-$forum_page['sort_dir'] = (!isset($_GET['sort_dir']) || $_GET['sort_dir'] != 'ASC' && $_GET['sort_dir'] != 'DESC') ? 'ASC' : strtoupper($_GET['sort_dir']);
+$forum_page['sort_dir'] = (!isset($_GET['sort_dir']) || strtoupper($_GET['sort_dir']) != 'ASC' && strtoupper($_GET['sort_dir']) != 'DESC') ? 'ASC' : strtoupper($_GET['sort_dir']);
 
 
 // Create any SQL for the WHERE clause
@@ -42,9 +42,9 @@
 
 // Fetch user count
 $query = array(
-	'SELECT'	=> 'COUNT(u.id) - 1',
+	'SELECT'	=> 'COUNT(u.id)',
 	'FROM'		=> 'users AS u',
-	'WHERE'		=> 'u.group_id != '.FORUM_UNVERIFIED
+	'WHERE'		=> 'u.id > 1 AND u.group_id != '.FORUM_UNVERIFIED
 );
 
 if (!empty($where_sql))
@@ -56,7 +56,7 @@
 
 // Determine the user offset (based on $_GET['p'])
 $forum_page['num_pages'] = ceil($forum_page['num_users'] / 50);
-$forum_page['page'] = (!isset($_GET['p']) || $_GET['p'] <= 1 || $_GET['p'] > $forum_page['num_pages']) ? 1 : intval($_GET['p']);
+$forum_page['page'] = (!isset($_GET['p']) || !is_numeric($_GET['p']) || $_GET['p'] <= 1 || $_GET['p'] > $forum_page['num_pages']) ? 1 : intval($_GET['p']);
 $forum_page['start_from'] = 50 * ($forum_page['page'] - 1);
 $forum_page['finish_at'] = min(($forum_page['start_from'] + 50), ($forum_page['num_users']));
 
@@ -68,18 +68,18 @@
 	$forum_page['items_info'] = $lang_ul['Users'];
 
 // Generate paging links
-$forum_page['page_post']['paging'] = '<p class="paging"><span class="pages">'.$lang_common['Pages'].'</span> '.paginate($forum_page['num_pages'], $forum_page['page'], $forum_url['users_browse'], $lang_common['Paging separator'], array($forum_page['show_group'], $forum_page['sort_by'], strtoupper($forum_page['sort_dir']), ($forum_page['username'] != '') ? urlencode($forum_page['username']) : '-')).'</p>';
+$forum_page['page_post']['paging'] = '<p class="paging"><span class="pages">'.$lang_common['Pages'].'</span> '.paginate($forum_page['num_pages'], $forum_page['page'], $forum_url['users_browse'], $lang_common['Paging separator'], array($forum_page['show_group'], $forum_page['sort_by'], $forum_page['sort_dir'], ($forum_page['username'] != '') ? urlencode($forum_page['username']) : '-')).'</p>';
 
 // Navigation links for header and page numbering for title/meta description
 if ($forum_page['page'] < $forum_page['num_pages'])
 {
-	$forum_page['nav']['last'] = '<link rel="last" href="'.forum_sublink($forum_url['users_browse'], $forum_url['page'], $forum_page['num_pages'], array($forum_page['show_group'], $forum_page['sort_by'], strtoupper($forum_page['sort_dir']), ($forum_page['username'] != '') ? urlencode($forum_page['username']) : '-')).'" title="'.$lang_common['Page'].' '.$forum_page['num_pages'].'" />';
-	$forum_page['nav']['next'] = '<link rel="next" href="'.forum_sublink($forum_url['users_browse'], $forum_url['page'], ($forum_page['page'] + 1), array($forum_page['show_group'], $forum_page['sort_by'], strtoupper($forum_page['sort_dir']), ($forum_page['username'] != '') ? urlencode($forum_page['username']) : '-')).'" title="'.$lang_common['Page'].' '.($forum_page['page'] + 1).'" />';
+	$forum_page['nav']['last'] = '<link rel="last" href="'.forum_sublink($forum_url['users_browse'], $forum_url['page'], $forum_page['num_pages'], array($forum_page['show_group'], $forum_page['sort_by'], $forum_page['sort_dir'], ($forum_page['username'] != '') ? urlencode($forum_page['username']) : '-')).'" title="'.$lang_common['Page'].' '.$forum_page['num_pages'].'" />';
+	$forum_page['nav']['next'] = '<link rel="next" href="'.forum_sublink($forum_url['users_browse'], $forum_url['page'], ($forum_page['page'] + 1), array($forum_page['show_group'], $forum_page['sort_by'], $forum_page['sort_dir'], ($forum_page['username'] != '') ? urlencode($forum_page['username']) : '-')).'" title="'.$lang_common['Page'].' '.($forum_page['page'] + 1).'" />';
 }
 if ($forum_page['page'] > 1)
 {
-	$forum_page['nav']['prev'] = '<link rel="prev" href="'.forum_sublink($forum_url['users_browse'], $forum_url['page'], ($forum_page['page'] - 1), array($forum_page['show_group'], $forum_page['sort_by'], strtoupper($forum_page['sort_dir']), ($forum_page['username'] != '') ? urlencode($forum_page['username']) : '-')).'" title="'.$lang_common['Page'].' '.($forum_page['page'] - 1).'" />';
-	$forum_page['nav']['first'] = '<link rel="first" href="'.forum_link($forum_url['users_browse'], array($forum_page['show_group'], $forum_page['sort_by'], strtoupper($forum_page['sort_dir']), ($forum_page['username'] != '') ? urlencode($forum_page['username']) : '-')).'" title="'.$lang_common['Page'].' 1" />';
+	$forum_page['nav']['prev'] = '<link rel="prev" href="'.forum_sublink($forum_url['users_browse'], $forum_url['page'], ($forum_page['page'] - 1), array($forum_page['show_group'], $forum_page['sort_by'], $forum_page['sort_dir'], ($forum_page['username'] != '') ? urlencode($forum_page['username']) : '-')).'" title="'.$lang_common['Page'].' '.($forum_page['page'] - 1).'" />';
+	$forum_page['nav']['first'] = '<link rel="first" href="'.forum_link($forum_url['users_browse'], array($forum_page['show_group'], $forum_page['sort_by'], $forum_page['sort_dir'], ($forum_page['username'] != '') ? urlencode($forum_page['username']) : '-')).'" title="'.$lang_common['Page'].' 1" />';
 }
 
 // Setup main options
@@ -121,7 +121,7 @@
 <?php
 
 	if (!empty($forum_page['main_head_options']))
-		echo "\n\t\t\t".'<p class="options">'.implode(' ', $forum_page['main_head_options']).'</p>';
+		echo "\t\t".'<p class="options">'.implode(' ', $forum_page['main_head_options']).'</p>'."\n";
 
 ?>
 		<h2 class="hn"><span><?php echo $forum_page['items_info'] ?></span></h2>
@@ -133,7 +133,8 @@
 			<fieldset class="frm-group group<?php echo ++$forum_page['group_count'] ?>">
 				<legend class="group-legend"><strong><?php echo $lang_ul['User find legend'] ?></strong></legend>
 <?php ($hook = get_hook('ul_pre_username')) ? eval($hook) : null; ?>
-<?php if ($forum_user['g_search_users'] == '1'): ?>				<div class="sf-set set<?php echo ++$forum_page['item_count'] ?>">
+<?php if ($forum_user['g_search_users'] == '1'): ?>
+				<div class="sf-set set<?php echo ++$forum_page['item_count'] ?>">
 					<div class="sf-box text">
 						<label for="fld<?php echo ++$forum_page['fld_count'] ?>"><span><?php echo $lang_ul['Search for username'] ?></span> <small><?php echo $lang_ul['Username help'] ?></small></label><br />
 						<span class="fld-input"><input type="text" id="fld<?php echo $forum_page['fld_count'] ?>" name="username" value="<?php echo forum_htmlencode($forum_page['username']) ?>" size="35" maxlength="25" /></span>
@@ -180,8 +181,10 @@
 						<span class="fld-input"><select id="fld<?php echo $forum_page['fld_count'] ?>" name="sort_by">
 						<option value="username"<?php if ($forum_page['sort_by'] == 'username') echo ' selected="selected"' ?>><?php echo $lang_ul['Username'] ?></option>
 						<option value="registered"<?php if ($forum_page['sort_by'] == 'registered') echo ' selected="selected"' ?>><?php echo $lang_ul['Registered'] ?></option>
-<?php if ($forum_page['show_post_count']): ?>						<option value="num_posts"<?php if ($forum_page['sort_by'] == 'num_posts') echo ' selected="selected"' ?>><?php echo $lang_ul['No of posts'] ?></option>
-<?php endif; ($hook = get_hook('ul_new_sort_by_option')) ? eval($hook) : null; ?>						</select></span>
+<?php if ($forum_page['show_post_count']): ?>
+						<option value="num_posts"<?php if ($forum_page['sort_by'] == 'num_posts') echo ' selected="selected"' ?>><?php echo $lang_ul['No of posts'] ?></option>
+<?php endif; ($hook = get_hook('ul_new_sort_by_option')) ? eval($hook) : null; ?>
+						</select></span>
 					</div>
 				</div>
 <?php ($hook = get_hook('ul_pre_sort_order_fieldset')) ? eval($hook) : null; ?>
@@ -310,7 +313,7 @@
 		echo "\n\t\t\t".'<p class="options">'.implode(' ', $forum_page['main_foot_options']).'</p>';
 
 ?>
-		<p><?php echo $forum_page['items_info'] ?></p>
+		<h2 class="hn"><span><?php echo $forum_page['items_info'] ?></span></h2>
 	</div>
 <?php
 
diff -urN punbb-1.3.2/viewforum.php punbb-1.3.3/viewforum.php
--- punbb-1.3.2/viewforum.php	2008-11-21 15:42:22.000000000 +0000
+++ punbb-1.3.3/viewforum.php	2009-04-17 12:51:23.000000000 +0000
@@ -2,7 +2,7 @@
 /**
  * Lists the topics in the specified forum.
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
@@ -70,7 +70,7 @@
 
 // Determine the topic offset (based on $_GET['p'])
 $forum_page['num_pages'] = ceil($cur_forum['num_topics'] / $forum_user['disp_topics']);
-$forum_page['page'] = (!isset($_GET['p']) || $_GET['p'] <= 1 || $_GET['p'] > $forum_page['num_pages']) ? 1 : $_GET['p'];
+$forum_page['page'] = (!isset($_GET['p']) || !is_numeric($_GET['p']) || $_GET['p'] <= 1 || $_GET['p'] > $forum_page['num_pages']) ? 1 : $_GET['p'];
 $forum_page['start_from'] = $forum_user['disp_topics'] * ($forum_page['page'] - 1);
 $forum_page['finish_at'] = min(($forum_page['start_from'] + $forum_user['disp_topics']), ($cur_forum['num_topics']));
 $forum_page['items_info'] = generate_items_info($lang_forum['Topics'], ($forum_page['start_from'] + 1), $cur_forum['num_topics']);
@@ -204,11 +204,12 @@
 
 		// Start from scratch
 		$forum_page['item_subject'] = $forum_page['item_body'] = $forum_page['item_status'] = $forum_page['item_nav'] = $forum_page['item_title'] = $forum_page['item_title_status'] = array();
-		$forum_page['item_indicator'] = '';
 
 		if ($forum_config['o_censoring'] == '1')
 			$cur_topic['subject'] = censor_words($cur_topic['subject']);
 
+		$forum_page['item_subject']['starter'] = '<span class="item-starter">'.sprintf($lang_forum['Topic starter'], forum_htmlencode($cur_topic['poster'])).'</span>';
+
 		if ($cur_topic['moved_to'] != null)
 		{
 			$forum_page['item_status']['moved'] = 'moved';
@@ -259,8 +260,6 @@
 
 			$forum_page['item_body']['subject']['title'] = '<h3 class="hn"><span class="item-num">'.forum_number_format($forum_page['start_from'] + $forum_page['item_count']).'</span> '.implode(' ', $forum_page['item_title']).'</h3>';
 
-			// Assemble the Topic subject
-
 			if (empty($forum_page['item_status']))
 				$forum_page['item_status']['normal'] = 'normal';
 
@@ -281,7 +280,7 @@
 			if (!empty($forum_page['item_nav']))
 				$forum_page['item_subject']['nav'] = '<span class="item-nav">'.sprintf($lang_forum['Topic navigation'], implode('&#160;&#160;', $forum_page['item_nav'])).'</span>';
 
-			($hook = get_hook('vf_topic_loop_normal_topic_pre_item_subject_merge')) ? eval($hook) : null;
+			// Assemble the Topic subject
 
 			$forum_page['item_body']['info']['replies'] = '<li class="info-replies"><strong>'.forum_number_format($cur_topic['num_replies']).'</strong> <span class="label">'.(($cur_topic['num_replies'] == 1) ? $lang_forum['reply'] : $lang_forum['replies']).'</span></li>';
 
@@ -291,8 +290,9 @@
 			$forum_page['item_body']['info']['lastpost'] = '<li class="info-lastpost"><span class="label">'.$lang_forum['Last post'].'</span> <strong><a href="'.forum_link($forum_url['post'], $cur_topic['last_post_id']).'">'.format_time($cur_topic['last_post']).'</a></strong> <cite>'.sprintf($lang_forum['by poster'], forum_htmlencode($cur_topic['last_poster'])).'</cite></li>';
 		}
 
-		$forum_page['item_subject']['starter'] = '<span class="item-starter">'.sprintf($lang_forum['Topic starter'], '<cite>'.forum_htmlencode($cur_topic['poster']).'</cite>').'</span>';
-		$forum_page['item_body']['subject']['desc'] = implode(' ', $forum_page['item_subject']);
+		($hook = get_hook('vf_row_pre_item_subject_merge')) ? eval($hook) : null;
+
+		$forum_page['item_body']['subject']['desc'] = '<p>'.implode(' ', $forum_page['item_subject']).'</p>';
 
 		($hook = get_hook('vf_row_pre_item_status_merge')) ? eval($hook) : null;
 
@@ -316,14 +316,14 @@
 
 ?>
 	</div>
-		<div class="main-foot">
+	<div class="main-foot">
 <?php
 
 	if (!empty($forum_page['main_foot_options']))
 		echo "\n\t\t\t".'<p class="options">'.implode(' ', $forum_page['main_foot_options']).'</p>';
 
 ?>
-		<p><?php echo $forum_page['items_info'] ?></p>
+		<h2 class="hn"><span><?php echo $forum_page['items_info'] ?></span></h2>
 	</div>
 <?php
 
@@ -349,7 +349,7 @@
 		</div>
 	</div>
 	<div class="main-foot">
-		<p><?php echo $lang_forum['Empty forum'] ?></p>
+		<h2 class="hn"><span><?php echo $lang_forum['Empty forum'] ?></span></h2>
 	</div>
 <?php
 
diff -urN punbb-1.3.2/viewtopic.php punbb-1.3.3/viewtopic.php
--- punbb-1.3.2/viewtopic.php	2008-11-21 13:05:58.000000000 +0000
+++ punbb-1.3.3/viewtopic.php	2009-04-17 12:51:23.000000000 +0000
@@ -2,7 +2,7 @@
 /**
  * Lists the posts in the specified topic.
  *
- * @copyright Copyright (C) 2008 PunBB, partially based on code copyright (C) 2008 FluxBB.org
+ * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  * @package PunBB
  */
@@ -113,7 +113,7 @@
 
 // Fetch some info about the topic
 $query = array(
-	'SELECT'	=> 't.subject, t.posted, t.poster, t.first_post_id, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies',
+	'SELECT'	=> 't.subject, t.first_post_id, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies',
 	'FROM'		=> 'topics AS t',
 	'JOINS'		=> array(
 		array(
@@ -128,7 +128,7 @@
 	'WHERE'		=> '(fp.read_forum IS NULL OR fp.read_forum=1) AND t.id='.$id.' AND t.moved_to IS NULL'
 );
 
-if (!$forum_user['is_guest'])
+if (!$forum_user['is_guest'] && $forum_config['o_subscriptions'] == '1')
 {
 	$query['SELECT'] .= ', s.user_id AS is_subscribed';
 	$query['JOINS'][] = array(
@@ -166,7 +166,7 @@
 
 // Determine the post offset (based on $_GET['p'])
 $forum_page['num_pages'] = ceil(($cur_topic['num_replies'] + 1) / $forum_user['disp_posts']);
-$forum_page['page'] = (!isset($_GET['p']) || $_GET['p'] <= 1 || $_GET['p'] > $forum_page['num_pages']) ? 1 : $_GET['p'];
+$forum_page['page'] = (!isset($_GET['p']) || !is_numeric($_GET['p']) || $_GET['p'] <= 1 || $_GET['p'] > $forum_page['num_pages']) ? 1 : $_GET['p'];
 $forum_page['start_from'] = $forum_user['disp_posts'] * ($forum_page['page'] - 1);
 $forum_page['finish_at'] = min(($forum_page['start_from'] + $forum_user['disp_posts']), ($cur_topic['num_replies'] + 1));
 $forum_page['items_info'] =  generate_items_info($lang_topic['Posts'], ($forum_page['start_from'] + 1), ($cur_topic['num_replies'] + 1));
@@ -193,15 +193,17 @@
 
 if ($forum_user['may_post'])
 	$forum_page['page_post']['posting'] = '<p class="posting"><a class="newpost" href="'.forum_link($forum_url['new_reply'], $id).'"><span>'.$lang_topic['Post reply'].'</span></a></p>';
-else if (!$forum_user['may_post'] && !$forum_user['is_guest'] && $cur_topic['closed'] != '1')
-	$forum_page['page_post']['posting'] = '<p class="posting">'.$lang_topic['No permission'].'</p>';
-if (!$forum_user['may_post'] && $forum_user['is_guest'])
+else if ($forum_user['is_guest'])
 	$forum_page['page_post']['posting'] = '<p class="posting">'.sprintf($lang_topic['Login to post'], '<a href="'.forum_link($forum_url['login']).'">'.$lang_common['login'].'</a>', '<a href="'.forum_link($forum_url['register']).'">'.$lang_common['register'].'</a>').'</p>';
+else if ($cur_topic['closed'] == '1')
+	$forum_page['page_post']['posting'] = '<p class="posting">'.$lang_topic['Topic closed info'].'</p>';
+else
+	$forum_page['page_post']['posting'] = '<p class="posting">'.$lang_topic['No permission'].'</p>';
 
 // Setup main options
 $forum_page['main_title'] = $lang_topic['Topic options'];
 $forum_page['main_head_options'] = array(
-	'rss' => '<span class="feed first-item"><a class="feed-option" href="'.forum_link($forum_url['topic_rss'], $id).'">'.$lang_topic['RSS topic feed'].'</a></span>'
+	'rss' => '<span class="feed first-item"><a class="feed" href="'.forum_link($forum_url['topic_rss'], $id).'">'.$lang_topic['RSS topic feed'].'</a></span>'
 );
 
 if (!$forum_user['is_guest'] && $forum_config['o_subscriptions'] == '1')
@@ -331,10 +333,12 @@
 		if ($cur_post['poster_id'] > 1)
 		{
 			if ($forum_config['o_avatars'] == '1' && $forum_user['show_avatars'] != '0')
+			{
 				$forum_page['avatar_markup'] = generate_avatar_markup($cur_post['poster_id']);
 
-			if (!empty($forum_page['avatar_markup']))
-				$forum_page['author_ident']['avatar'] = '<li class="useravatar">'.$forum_page['avatar_markup'].'</li>';
+				if (!empty($forum_page['avatar_markup']))
+					$forum_page['author_ident']['avatar'] = '<li class="useravatar">'.$forum_page['avatar_markup'].'</li>';
+			}
 
 			$forum_page['author_ident']['username'] = '<li class="username">'.(($forum_user['g_view_users'] == '1') ? '<a title="'.sprintf($lang_topic['Go to profile'], forum_htmlencode($cur_post['username'])).'" href="'.forum_link($forum_url['user'], $cur_post['poster_id']).'">'.forum_htmlencode($cur_post['username']).'</a>' : '<strong>'.forum_htmlencode($cur_post['username']).'</strong>').'</li>';
 			$forum_page['author_ident']['usertitle'] = '<li class="usertitle"><span>'.get_title($cur_post).'</span></li>';
@@ -365,19 +369,19 @@
 					if ($forum_config['o_censoring'] == '1')
 						$cur_post['location'] = censor_words($cur_post['location']);
 
-					$forum_page['author_info']['from'] = '<li><span>'.$lang_topic['From'].' <strong> '.forum_htmlencode($cur_post['location']).'</strong></span></li>';
+					$forum_page['author_info']['from'] = '<li><span>'.$lang_topic['From'].' <strong>'.forum_htmlencode($cur_post['location']).'</strong></span></li>';
 				}
 
-				$forum_page['author_info']['registered'] = '<li><span>'.$lang_topic['Registered'].' <strong> '.format_time($cur_post['registered'], 1).'</strong></span></li>';
+				$forum_page['author_info']['registered'] = '<li><span>'.$lang_topic['Registered'].' <strong>'.format_time($cur_post['registered'], 1).'</strong></span></li>';
 
 				if ($forum_config['o_show_post_count'] == '1' || $forum_user['is_admmod'])
-					$forum_page['author_info']['posts'] = '<li><span>'.$lang_topic['Posts info'].' <strong> '.forum_number_format($cur_post['num_posts']).'</strong></span></li>';
+					$forum_page['author_info']['posts'] = '<li><span>'.$lang_topic['Posts info'].' <strong>'.forum_number_format($cur_post['num_posts']).'</strong></span></li>';
 			}
 
 			if ($forum_user['is_admmod'])
 			{
 				if ($cur_post['admin_note'] != '')
-					$forum_page['author_info']['note'] = '<li><span>'.$lang_topic['Note'].' <strong> '.forum_htmlencode($cur_post['admin_note']).'</strong></span></li>';
+					$forum_page['author_info']['note'] = '<li><span>'.$lang_topic['Note'].' <strong>'.forum_htmlencode($cur_post['admin_note']).'</strong></span></li>';
 			}
 		}
 	}
@@ -396,16 +400,16 @@
 			if ($cur_post['poster_id'] > 1)
 			{
 				if ($cur_post['url'] != '')
-					$forum_page['post_contacts']['url'] = '<span class="user-url'.(!empty($forum_page['post_contacts']) ? ' first-item' : '').'"><a class="external" href="'.forum_htmlencode(($forum_config['o_censoring'] == '1') ? censor_words($cur_post['url']) : $cur_post['url']).'">'.sprintf($lang_topic['Visit website'], '<span>'.sprintf($lang_topic['User possessive'], forum_htmlencode($cur_post['username'])).'</span>').'</a></span>';
+					$forum_page['post_contacts']['url'] = '<span class="user-url'.(empty($forum_page['post_contacts']) ? ' first-item' : '').'"><a class="external" href="'.forum_htmlencode(($forum_config['o_censoring'] == '1') ? censor_words($cur_post['url']) : $cur_post['url']).'">'.sprintf($lang_topic['Visit website'], '<span>'.sprintf($lang_topic['User possessive'], forum_htmlencode($cur_post['username'])).'</span>').'</a></span>';
 				if ((($cur_post['email_setting'] == '0' && !$forum_user['is_guest']) || $forum_user['is_admmod']) && $forum_user['g_send_email'] == '1')
-					$forum_page['post_contacts']['email'] = '<span class="user-email'.(!empty($forum_page['post_contacts']) ? ' first-item' : '').'"><a href="mailto:'.forum_htmlencode($cur_post['email']).'">'.$lang_topic['E-mail'].'<span>&#160;'.forum_htmlencode($cur_post['username']).'</span></a></span>';
+					$forum_page['post_contacts']['email'] = '<span class="user-email'.(empty($forum_page['post_contacts']) ? ' first-item' : '').'"><a href="mailto:'.forum_htmlencode($cur_post['email']).'">'.$lang_topic['E-mail'].'<span>&#160;'.forum_htmlencode($cur_post['username']).'</span></a></span>';
 				else if ($cur_post['email_setting'] == '1' && !$forum_user['is_guest'] && $forum_user['g_send_email'] == '1')
-					$forum_page['post_contacts']['email'] = '<span class="user-email'.(!empty($forum_page['post_contacts']) ? ' first-item' : '').'"><a href="'.forum_link($forum_url['email'], $cur_post['poster_id']).'">'.$lang_topic['E-mail'].'<span>&#160;'.forum_htmlencode($cur_post['username']).'</span></a></span>';
+					$forum_page['post_contacts']['email'] = '<span class="user-email'.(empty($forum_page['post_contacts']) ? ' first-item' : '').'"><a href="'.forum_link($forum_url['email'], $cur_post['poster_id']).'">'.$lang_topic['E-mail'].'<span>&#160;'.forum_htmlencode($cur_post['username']).'</span></a></span>';
 			}
 			else
 			{
 				if ($cur_post['poster_email'] != '' && !$forum_user['is_guest'] && $forum_user['g_send_email'] == '1')
-					$forum_page['post_contacts']['email'] = '<span class="user-email'.(!empty($forum_page['post_contacts']) ? ' first-item' : '').'"><a href="mailto:'.forum_htmlencode($cur_post['poster_email']).'">'.$lang_topic['E-mail'].'<span>&#160;'.forum_htmlencode($cur_post['username']).'</span></a></span>';
+					$forum_page['post_contacts']['email'] = '<span class="user-email'.(empty($forum_page['post_contacts']) ? ' first-item' : '').'"><a href="mailto:'.forum_htmlencode($cur_post['poster_email']).'">'.$lang_topic['E-mail'].'<span>&#160;'.forum_htmlencode($cur_post['username']).'</span></a></span>';
 			}
 		}
 
@@ -418,7 +422,7 @@
 	// Generate the post options links
 	if (!$forum_user['is_guest'])
 	{
-		$forum_page['post_actions']['report'] = '<span class="report-post'.(!empty($forum_page['post_actions']) ? ' first-item' : '').'"><a href="'.forum_link($forum_url['report'], $cur_post['id']).'">'.$lang_topic['Report'].'<span> '.$lang_topic['Post'].' '.forum_number_format($forum_page['start_from'] + $forum_page['item_count']).'</span></a></span>';
+		$forum_page['post_actions']['report'] = '<span class="report-post'.(empty($forum_page['post_actions']) ? ' first-item' : '').'"><a href="'.forum_link($forum_url['report'], $cur_post['id']).'">'.$lang_topic['Report'].'<span> '.$lang_topic['Post'].' '.forum_number_format($forum_page['start_from'] + $forum_page['item_count']).'</span></a></span>';
 
 		if (!$forum_page['is_admmod'])
 		{
@@ -427,26 +431,26 @@
 				if ($cur_post['poster_id'] == $forum_user['id'])
 				{
 					if (($forum_page['start_from'] + $forum_page['item_count']) == 1 && $forum_user['g_delete_topics'] == '1')
-						$forum_page['post_actions']['delete'] = '<span class="delete-topic'.(!empty($forum_page['post_actions']) ? ' first-item' : '').'"><a href="'.forum_link($forum_url['delete'], $cur_topic['first_post_id']).'">'.$lang_topic['Delete topic'].'</a></span>';
+						$forum_page['post_actions']['delete'] = '<span class="delete-topic'.(empty($forum_page['post_actions']) ? ' first-item' : '').'"><a href="'.forum_link($forum_url['delete'], $cur_topic['first_post_id']).'">'.$lang_topic['Delete topic'].'</a></span>';
 					if (($forum_page['start_from'] + $forum_page['item_count']) > 1 && $forum_user['g_delete_posts'] == '1')
-						$forum_page['post_actions']['delete'] = '<span class="delete-post'.(!empty($forum_page['post_actions']) ? ' first-item' : '').'"><a href="'.forum_link($forum_url['delete'], $cur_post['id']).'">'.$lang_topic['Delete'].'<span> '.$lang_topic['Post'].' '.forum_number_format($forum_page['start_from'] + $forum_page['item_count']).'</span></a></span>';
+						$forum_page['post_actions']['delete'] = '<span class="delete-post'.(empty($forum_page['post_actions']) ? ' first-item' : '').'"><a href="'.forum_link($forum_url['delete'], $cur_post['id']).'">'.$lang_topic['Delete'].'<span> '.$lang_topic['Post'].' '.forum_number_format($forum_page['start_from'] + $forum_page['item_count']).'</span></a></span>';
 					if ($forum_user['g_edit_posts'] == '1')
-						$forum_page['post_actions']['edit'] = '<span class="edit-post'.(!empty($forum_page['post_actions']) ? ' first-item' : '').'"><a href="'.forum_link($forum_url['edit'], $cur_post['id']).'">'.$lang_topic['Edit'].'<span> '.$lang_topic['Post'].' '.forum_number_format($forum_page['start_from'] + $forum_page['item_count']).'</span></a></span>';
+						$forum_page['post_actions']['edit'] = '<span class="edit-post'.(empty($forum_page['post_actions']) ? ' first-item' : '').'"><a href="'.forum_link($forum_url['edit'], $cur_post['id']).'">'.$lang_topic['Edit'].'<span> '.$lang_topic['Post'].' '.forum_number_format($forum_page['start_from'] + $forum_page['item_count']).'</span></a></span>';
 				}
 
 				if (($cur_topic['post_replies'] == '' && $forum_user['g_post_replies'] == '1') || $cur_topic['post_replies'] == '1')
-					$forum_page['post_actions']['quote'] = '<span class="quote-post'.(!empty($forum_page['post_actions']) ? ' first-item' : '').'"><a href="'.forum_link($forum_url['quote'], array($id, $cur_post['id'])).'">'.$lang_topic['Quote'].'<span> '.$lang_topic['Post'].' '.forum_number_format($forum_page['start_from'] + $forum_page['item_count']).'</span></a></span>';
+					$forum_page['post_actions']['quote'] = '<span class="quote-post'.(empty($forum_page['post_actions']) ? ' first-item' : '').'"><a href="'.forum_link($forum_url['quote'], array($id, $cur_post['id'])).'">'.$lang_topic['Quote'].'<span> '.$lang_topic['Post'].' '.forum_number_format($forum_page['start_from'] + $forum_page['item_count']).'</span></a></span>';
 			}
 		}
 		else
 		{
 			if (($forum_page['start_from'] + $forum_page['item_count']) == 1)
-				$forum_page['post_actions']['delete'] = '<span class="delete-topic'.(!empty($forum_page['post_actions']) ? ' first-item' : '').'"><a href="'.forum_link($forum_url['delete'], $cur_topic['first_post_id']).'">'.$lang_topic['Delete topic'].'</a></span>';
+				$forum_page['post_actions']['delete'] = '<span class="delete-topic'.(empty($forum_page['post_actions']) ? ' first-item' : '').'"><a href="'.forum_link($forum_url['delete'], $cur_topic['first_post_id']).'">'.$lang_topic['Delete topic'].'</a></span>';
 			else
-				$forum_page['post_actions']['delete'] = '<span class="delete-post'.(!empty($forum_page['post_actions']) ? ' first-item' : '').'"><a href="'.forum_link($forum_url['delete'], $cur_post['id']).'">'.$lang_topic['Delete'].'<span> '.$lang_topic['Post'].' '.forum_number_format($forum_page['start_from'] + $forum_page['item_count']).'</span></a></span>';
+				$forum_page['post_actions']['delete'] = '<span class="delete-post'.(empty($forum_page['post_actions']) ? ' first-item' : '').'"><a href="'.forum_link($forum_url['delete'], $cur_post['id']).'">'.$lang_topic['Delete'].'<span> '.$lang_topic['Post'].' '.forum_number_format($forum_page['start_from'] + $forum_page['item_count']).'</span></a></span>';
 
-			$forum_page['post_actions']['edit'] = '<span class="edit-post'.(!empty($forum_page['post_actions']) ? ' first-item' : '').'"><a href="'.forum_link($forum_url['edit'], $cur_post['id']).'">'.$lang_topic['Edit'].'<span> '.$lang_topic['Post'].' '.forum_number_format($forum_page['start_from'] + $forum_page['item_count']).'</span></a></span>';
-			$forum_page['post_actions']['quote'] = '<span class="quote-post'.(!empty($forum_page['post_actions']) ? ' first-item' : '').'"><a href="'.forum_link($forum_url['quote'], array($id, $cur_post['id'])).'">'.$lang_topic['Quote'].'<span> '.$lang_topic['Post'].' '.forum_number_format($forum_page['start_from'] + $forum_page['item_count']).'</span></a></span>';
+			$forum_page['post_actions']['edit'] = '<span class="edit-post'.(empty($forum_page['post_actions']) ? ' first-item' : '').'"><a href="'.forum_link($forum_url['edit'], $cur_post['id']).'">'.$lang_topic['Edit'].'<span> '.$lang_topic['Post'].' '.forum_number_format($forum_page['start_from'] + $forum_page['item_count']).'</span></a></span>';
+			$forum_page['post_actions']['quote'] = '<span class="quote-post'.(empty($forum_page['post_actions']) ? ' first-item' : '').'"><a href="'.forum_link($forum_url['quote'], array($id, $cur_post['id'])).'">'.$lang_topic['Quote'].'<span> '.$lang_topic['Post'].' '.forum_number_format($forum_page['start_from'] + $forum_page['item_count']).'</span></a></span>';
 		}
 	}
 	else
@@ -454,7 +458,7 @@
 		if ($cur_topic['closed'] == '0')
 		{
 			if (($cur_topic['post_replies'] == '' && $forum_user['g_post_replies'] == '1') || $cur_topic['post_replies'] == '1')
-				$forum_page['post_actions']['quote'] = '<span class="report-post'.(!empty($forum_page['post_actions']) ? ' first-item' : '').'"><a href="'.forum_link($forum_url['quote'], array($id, $cur_post['id'])).'">'.$lang_topic['Quote'].'<span> '.$lang_topic['Post'].' '.forum_number_format($forum_page['start_from'] + $forum_page['item_count']).'</span></a></span>';
+				$forum_page['post_actions']['quote'] = '<span class="report-post'.(empty($forum_page['post_actions']) ? ' first-item' : '').'"><a href="'.forum_link($forum_url['quote'], array($id, $cur_post['id'])).'">'.$lang_topic['Quote'].'<span> '.$lang_topic['Post'].' '.forum_number_format($forum_page['start_from'] + $forum_page['item_count']).'</span></a></span>';
 		}
 	}
 
@@ -540,12 +544,14 @@
 <?php ($hook = get_hook('vt_row_new_post_entry_data')) ? eval($hook) : null; ?>
 				</div>
 			</div>
-<?php if (!empty($forum_page['post_options'])): ?>			<div class="postfoot">
+<?php if (!empty($forum_page['post_options'])): ?>
+			<div class="postfoot">
 				<div class="post-options">
 					<?php echo implode("\n\t\t\t\t\t", $forum_page['post_options'])."\n" ?>
 				</div>
 			</div>
-<?php endif; ?>		</div>
+<?php endif; ?>
+		</div>
 <?php
 
 }
@@ -553,14 +559,14 @@
 ?>
 	</div>
 
-		<div class="main-foot">
+	<div class="main-foot">
 <?php
 
 	if (!empty($forum_page['main_foot_options']))
 		echo "\n\t\t\t".'<p class="options">'.implode(' ', $forum_page['main_foot_options']).'</p>';
 
 ?>
-		<p><?php echo $forum_page['items_info'] ?></p>
+		<h2 class="hn"><span><?php echo $forum_page['items_info'] ?></span></h2>
 	</div>
 <?php
 
