Browse Source

Merge branch 'release-2.1' of https://github.com/SimpleMachines/SMF2.1 into release-2.1

Michael Eshom 11 years ago
parent
commit
805d39c396

+ 1 - 1
Sources/Load.php

@@ -2425,7 +2425,7 @@ function censorText(&$text, $force = false)
 	global $modSettings, $options, $settings, $txt;
 	global $modSettings, $options, $settings, $txt;
 	static $censor_vulgar = null, $censor_proper;
 	static $censor_vulgar = null, $censor_proper;
 
 
-	if ((!empty($options['show_no_censored']) && $modSettings['allow_no_censored'] && !$force) || empty($modSettings['censor_vulgar']) || trim($text) === '')
+	if ((!empty($options['show_no_censored']) && !empty($modSettings['allow_no_censored']) && !$force) || empty($modSettings['censor_vulgar']) || trim($text) === '')
 		return $text;
 		return $text;
 
 
 	// If they haven't yet been loaded, load them.
 	// If they haven't yet been loaded, load them.

+ 2 - 2
Sources/ManageMaintenance.php

@@ -2415,7 +2415,7 @@ function get_integration_hooks_data($start, $per_page, $sort)
 
 
 	foreach ($hooks as $hook => $functions)
 	foreach ($hooks as $hook => $functions)
 	{
 	{
-		$hooks_filters[] = '<option ' . ($context['current_filter'] == $hook ? 'selected="selected" ' : '') . 'onclick="window.location = \'' . $scripturl . '?action=admin;area=maintain;sa=hooks;filter=' . $hook . '\';">' . $hook . '</option>';
+		$hooks_filters[] = '<option ' . ($context['current_filter'] == $hook ? 'selected="selected" ' : '') . ' value="' . $hook . '">' . $hook . '</option>';
 		foreach ($functions as $function)
 		foreach ($functions as $function)
 		{
 		{
 			$enabled = strstr($function, ']') === false;
 			$enabled = strstr($function, ']') === false;
@@ -2442,7 +2442,7 @@ function get_integration_hooks_data($start, $per_page, $sort)
 		$context['insert_after_template'] .= '
 		$context['insert_after_template'] .= '
 		<script type="text/javascript"><!-- // --><![CDATA[
 		<script type="text/javascript"><!-- // --><![CDATA[
 			var hook_name_header = document.getElementById(\'header_list_integration_hooks_hook_name\');
 			var hook_name_header = document.getElementById(\'header_list_integration_hooks_hook_name\');
-			hook_name_header.innerHTML += ' . JavaScriptEscape('<select style="margin-left:15px;"><option>---</option><option onclick="window.location = \'' . $scripturl . '?action=admin;area=maintain;sa=hooks\';">' . $txt['hooks_reset_filter'] . '</option>' . implode('', $hooks_filters) . '</select>'). ';
+			hook_name_header.innerHTML += ' . JavaScriptEscape('<select style="margin-left:15px;" onchange="window.location=(\'' . $scripturl . '?action=admin;area=maintain;sa=hooks\' + (this.value ? \';filter=\' + this.value : \'\'));"><option value="">' . $txt['hooks_reset_filter'] . '</option>' . implode('', $hooks_filters) . '</select>'). ';
 		// ]]></script>';
 		// ]]></script>';
 
 
 	$temp_data = array();
 	$temp_data = array();

+ 3 - 0
Sources/Subs-Menu.php

@@ -147,6 +147,9 @@ function createMenu($menuData, $menuOptions = array())
 								$menu_context['sections'][$section_id]['areas'][$area_id]['bigicon'] = $settings['default_images_url'] . '/admin/big/default.png';
 								$menu_context['sections'][$section_id]['areas'][$area_id]['bigicon'] = $settings['default_images_url'] . '/admin/big/default.png';
 						}
 						}
 
 
+						// Some areas may be listed but not active, which we show as greyed out.
+						$menu_context['sections'][$section_id]['areas'][$area_id]['inactive'] = !empty($area['inactive']);
+
 						// Did it have subsections?
 						// Did it have subsections?
 						if (!empty($area['subsections']))
 						if (!empty($area['subsections']))
 						{
 						{

+ 2 - 2
Themes/default/Admin.template.php

@@ -115,7 +115,7 @@ function template_admin()
 
 
 			$url = isset($item['url']) ? $item['url'] : $scripturl . '?action=admin;area=' . $item_id . (!empty($context[$context['admin_menu_name']]['extra_parameters']) ? $context[$context['admin_menu_name']]['extra_parameters'] : '');
 			$url = isset($item['url']) ? $item['url'] : $scripturl . '?action=admin;area=' . $item_id . (!empty($context[$context['admin_menu_name']]['extra_parameters']) ? $context[$context['admin_menu_name']]['extra_parameters'] : '');
 			echo '
 			echo '
-				<a href="', $url, '"><img src="', $item['bigicon'], '" alt="" /><br />', $item['label'], '</a>';
+				<a href="', $url, '"', !empty($item['inactive']) ? ' class="inactive"' : '', '><img src="', $item['bigicon'], '" alt="" /><br />', $item['label'], '</a>';
 		}
 		}
 
 
 		echo '
 		echo '
@@ -848,7 +848,7 @@ function template_show_settings()
 				// Text area?
 				// Text area?
 				elseif ($config_var['type'] == 'large_text')
 				elseif ($config_var['type'] == 'large_text')
 					echo '
 					echo '
-							<textarea rows="', ($config_var['size'] ? $config_var['size'] : ($config_vars['rows'] ? $config_vars['rows'] : 4)), '" cols="', ($config_var['cols'] ? $config_var['cols'] : 30), '" ', $javascript, $disabled, ' name="', $config_var['name'], '" id="', $config_var['name'], '">', $config_var['value'], '</textarea>';
+							<textarea rows="', (!empty($config_var['size']) ? $config_var['size'] : (!empty($config_var['rows']) ? $config_var['rows'] : 4)), '" cols="', (!empty($config_var['cols']) ? $config_var['cols'] : 30), '" ', $javascript, $disabled, ' name="', $config_var['name'], '" id="', $config_var['name'], '">', $config_var['value'], '</textarea>';
 				// Permission group?
 				// Permission group?
 				elseif ($config_var['type'] == 'permissions')
 				elseif ($config_var['type'] == 'permissions')
 					theme_inline_permissions($config_var['name']);
 					theme_inline_permissions($config_var['name']);

+ 58 - 74
Themes/default/Display.template.php

@@ -219,7 +219,7 @@ function template_main()
 		// Show information about the poster of this message.
 		// Show information about the poster of this message.
 		echo '
 		echo '
 						<div class="poster">
 						<div class="poster">
-							<ul class="dropmenu">
+							<ul>
 								<li>
 								<li>
 									<h4>';
 									<h4>';
 
 
@@ -228,11 +228,30 @@ function template_main()
 										<a href="', $scripturl, '?action=profile;u=', $message['member']['id'], '">
 										<a href="', $scripturl, '?action=profile;u=', $message['member']['id'], '">
 											<span style="padding: 6px; display: block;">', $message['member']['name'], '</span>
 											<span style="padding: 6px; display: block;">', $message['member']['name'], '</span>
 										</a>
 										</a>
-									</h4>';
+									</h4>
+								</li>';
+
+		// Show the user's avatar.
+		if (!empty($settings['show_user_images']) && empty($options['show_no_avatars']) && !empty($message['member']['avatar']['image']))
+			echo '
+								<li class="avatar">
+									<a href="', $scripturl, '?action=profile;u=', $message['member']['id'], '">', $message['member']['avatar']['image'], '</a>
+								</li>';
 
 
-		// [WIP] The new member info dropdown starts here. Note that conditionals have not been fully checked yet.
+		// Show the post group icons, but not for guests.
+		if (!$message['member']['is_guest'])
 			echo '
 			echo '
-									<ul class="smalltext" id="msg_', $message['id'], '_extra_info"', $ignoring ? ' style="display:none;"' : '', '>';
+								<li class="icons">', $message['member']['group_icons'], '</li>';
+
+		// Show the member's primary group (like 'Administrator') if they have one.
+		if (!empty($message['member']['group']))
+			echo '
+								<li class="membergroup">', $message['member']['group'], '</li>';
+
+		// Show the member's custom title, if they have one.
+		if (!empty($message['member']['title']))
+			echo '
+								<li class="title">', $message['member']['title'], '</li>';
 
 
 		// Don't show these things for guests.
 		// Don't show these things for guests.
 		if (!$message['member']['is_guest'])
 		if (!$message['member']['is_guest'])
@@ -241,38 +260,38 @@ function template_main()
 			// Show the post group if and only if they have no other group or the option is on, and they are in a post group.
 			// Show the post group if and only if they have no other group or the option is on, and they are in a post group.
 			if ((empty($settings['hide_post_group']) || $message['member']['group'] == '') && $message['member']['post_group'] != '')
 			if ((empty($settings['hide_post_group']) || $message['member']['group'] == '') && $message['member']['post_group'] != '')
 				echo '
 				echo '
-										<li class="postgroup">', $message['member']['post_group'], '</li>';
+								<li class="postgroup">', $message['member']['post_group'], '</li>';
 
 
 			// Show how many posts they have made.
 			// Show how many posts they have made.
 			if (!isset($context['disabled_fields']['posts']))
 			if (!isset($context['disabled_fields']['posts']))
 				echo '
 				echo '
-										<li class="postcount">', $txt['member_postcount'], ': ', $message['member']['posts'], '</li>';
+								<li class="postcount">', $txt['member_postcount'], ': ', $message['member']['posts'], '</li>';
 
 
 			// Is karma display enabled?  Total or +/-?
 			// Is karma display enabled?  Total or +/-?
 			if ($modSettings['karmaMode'] == '1')
 			if ($modSettings['karmaMode'] == '1')
 				echo '
 				echo '
-										<li class="karma">', $modSettings['karmaLabel'], ' ', $message['member']['karma']['good'] - $message['member']['karma']['bad'], '</li>';
+								<li class="karma">', $modSettings['karmaLabel'], ' ', $message['member']['karma']['good'] - $message['member']['karma']['bad'], '</li>';
 			elseif ($modSettings['karmaMode'] == '2')
 			elseif ($modSettings['karmaMode'] == '2')
 				echo '
 				echo '
-										<li class="karma">', $modSettings['karmaLabel'], ' +', $message['member']['karma']['good'], '/-', $message['member']['karma']['bad'], '</li>';
+								<li class="karma">', $modSettings['karmaLabel'], ' +', $message['member']['karma']['good'], '/-', $message['member']['karma']['bad'], '</li>';
 
 
 			// Is this user allowed to modify this member's karma?
 			// Is this user allowed to modify this member's karma?
 			if ($message['member']['karma']['allow'])
 			if ($message['member']['karma']['allow'])
 				echo '
 				echo '
-										<li class="karma_allow">
+								<li class="karma_allow">
-											<a href="', $scripturl, '?action=modifykarma;sa=applaud;uid=', $message['member']['id'], ';topic=', $context['current_topic'], '.' . $context['start'], ';m=', $message['id'], ';', $context['session_var'], '=', $context['session_id'], '">', $modSettings['karmaApplaudLabel'], '</a>
+									<a href="', $scripturl, '?action=modifykarma;sa=applaud;uid=', $message['member']['id'], ';topic=', $context['current_topic'], '.' . $context['start'], ';m=', $message['id'], ';', $context['session_var'], '=', $context['session_id'], '">', $modSettings['karmaApplaudLabel'], '</a>
-											<a href="', $scripturl, '?action=modifykarma;sa=smite;uid=', $message['member']['id'], ';topic=', $context['current_topic'], '.', $context['start'], ';m=', $message['id'], ';', $context['session_var'], '=', $context['session_id'], '">', $modSettings['karmaSmiteLabel'], '</a>
+									<a href="', $scripturl, '?action=modifykarma;sa=smite;uid=', $message['member']['id'], ';topic=', $context['current_topic'], '.', $context['start'], ';m=', $message['id'], ';', $context['session_var'], '=', $context['session_id'], '">', $modSettings['karmaSmiteLabel'], '</a>
-										</li>';
+								</li>';
 
 
 			// Show the member's gender icon?
 			// Show the member's gender icon?
 			if (!empty($settings['show_gender']) && $message['member']['gender']['image'] != '' && !isset($context['disabled_fields']['gender']))
 			if (!empty($settings['show_gender']) && $message['member']['gender']['image'] != '' && !isset($context['disabled_fields']['gender']))
 				echo '
 				echo '
-										<li class="gender">', $txt['gender'], ': ', $message['member']['gender']['image'], '</li>';
+								<li class="gender">', $txt['gender'], ': ', $message['member']['gender']['image'], '</li>';
 
 
 			// Show their personal text?
 			// Show their personal text?
 			if (!empty($settings['show_blurb']) && $message['member']['blurb'] != '')
 			if (!empty($settings['show_blurb']) && $message['member']['blurb'] != '')
 				echo '
 				echo '
-										<li class="blurb">', $message['member']['blurb'], '</li>';
+								<li class="blurb">', $message['member']['blurb'], '</li>';
 
 
 			// Any custom fields to show as icons?
 			// Any custom fields to show as icons?
 			if (!empty($message['member']['custom_fields']))
 			if (!empty($message['member']['custom_fields']))
@@ -286,52 +305,51 @@ function template_main()
 							{
 							{
 								$shown = true;
 								$shown = true;
 								echo '
 								echo '
-										<li class="im_icons">
+								<li class="im_icons">
-											<ol>';
+									<ol>';
 							}
 							}
 					echo '
 					echo '
-												<li>', $custom['value'], '</li>';
+										<li>', $custom['value'], '</li>';
 				}
 				}
 
 
 			if ($shown)
 			if ($shown)
 				echo '
 				echo '
-											</ol>
+									</ol>
-										</li>';
+								</li>';
 			}
 			}
 
 
 			// This shows the popular messaging icons.
 			// This shows the popular messaging icons.
 			if ($message['member']['has_messenger'] && $message['member']['can_view_profile'])
 			if ($message['member']['has_messenger'] && $message['member']['can_view_profile'])
 				echo '
 				echo '
-										<li class="im_icons">
+								<li class="im_icons">
-											<hr />
+									<ol>
-											<ol>
+										', !empty($message['member']['icq']['link']) ? '<li>' . $message['member']['icq']['link'] . '</li>' : '', '
-												', !empty($message['member']['icq']['link']) ? '<li>' . $message['member']['icq']['link'] . '</li>' : '', '
+										', !empty($message['member']['skype']['link']) ? '<li>' . $message['member']['skype']['link'] . '</li>' : '', '
-												', !empty($message['member']['skype']['link']) ? '<li>' . $message['member']['skype']['link'] . '</li>' : '', '
+										', !empty($message['member']['aim']['link']) ? '<li>' . $message['member']['aim']['link'] . '</li>' : '', '
-												', !empty($message['member']['aim']['link']) ? '<li>' . $message['member']['aim']['link'] . '</li>' : '', '
+										', !empty($message['member']['yim']['link']) ? '<li>' . $message['member']['yim']['link'] . '</li>' : '', '
-												', !empty($message['member']['yim']['link']) ? '<li>' . $message['member']['yim']['link'] . '</li>' : '', '
+									</ol>
-											</ol>
+								</li>';
-										</li>';
 
 
 			// Show the website and email address buttons.
 			// Show the website and email address buttons.
 			if ($message['member']['show_profile_buttons'])
 			if ($message['member']['show_profile_buttons'])
 			{
 			{
 				echo '
 				echo '
-										<li class="profile">
+								<li class="profile">
-											<ol>';
+									<ol class="profile_icons">';
 
 
 				// Don't show an icon if they haven't specified a website.
 				// Don't show an icon if they haven't specified a website.
 				if ($message['member']['website']['url'] != '' && !isset($context['disabled_fields']['website']))
 				if ($message['member']['website']['url'] != '' && !isset($context['disabled_fields']['website']))
 					echo '
 					echo '
-												<li><a href="', $message['member']['website']['url'], '" title="' . $message['member']['website']['title'] . '" target="_blank" class="new_win">', ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/www_sm.png" alt="' . $message['member']['website']['title'] . '" />' : $txt['www']), '</a></li>';
+										<li><a href="', $message['member']['website']['url'], '" title="' . $message['member']['website']['title'] . '" target="_blank" class="new_win">', ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/www_sm.png" alt="' . $message['member']['website']['title'] . '" />' : $txt['www']), '</a></li>';
 
 
 				// Don't show the email address if they want it hidden.
 				// Don't show the email address if they want it hidden.
 				if (in_array($message['member']['show_email'], array('yes', 'yes_permission_override', 'no_through_forum')) && $context['can_send_email'])
 				if (in_array($message['member']['show_email'], array('yes', 'yes_permission_override', 'no_through_forum')) && $context['can_send_email'])
 					echo '
 					echo '
-												<li><a href="', $scripturl, '?action=emailuser;sa=email;msg=', $message['id'], '" rel="nofollow">', ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/email_sm.png" alt="' . $txt['email'] . '" title="' . $txt['email'] . '" />' : $txt['email']), '</a></li>';
+										<li><a href="', $scripturl, '?action=emailuser;sa=email;msg=', $message['id'], '" rel="nofollow">', ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/email_sm.png" alt="' . $txt['email'] . '" title="' . $txt['email'] . '" />' : $txt['email']), '</a></li>';
 
 
 					echo '
 					echo '
-											</ol>
+									</ol>
-										</li>';
+								</li>';
 			}
 			}
 
 
 			// Any custom fields for standard placement?
 			// Any custom fields for standard placement?
@@ -340,7 +358,7 @@ function template_main()
 				foreach ($message['member']['custom_fields'] as $custom)
 				foreach ($message['member']['custom_fields'] as $custom)
 					if (empty($custom['placement']) || empty($custom['value']))
 					if (empty($custom['placement']) || empty($custom['value']))
 						echo '
 						echo '
-										<li class="custom">', $custom['title'], ': ', $custom['value'], '</li>';
+								<li class="custom">', $custom['title'], ': ', $custom['value'], '</li>';
 			}
 			}
 
 
 		}
 		}
@@ -348,61 +366,27 @@ function template_main()
 		// Otherwise, show the guest's email.
 		// Otherwise, show the guest's email.
 		elseif (!empty($message['member']['email']) && in_array($message['member']['show_email'], array('yes', 'yes_permission_override', 'no_through_forum')) && $context['can_send_email'])
 		elseif (!empty($message['member']['email']) && in_array($message['member']['show_email'], array('yes', 'yes_permission_override', 'no_through_forum')) && $context['can_send_email'])
 			echo '
 			echo '
-										<li class="email"><a href="', $scripturl, '?action=emailuser;sa=email;msg=', $message['id'], '" rel="nofollow">', ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/email_sm.png" alt="' . $txt['email'] . '" title="' . $txt['email'] . '" />' : $txt['email']), '</a></li>';
+								<li class="email"><a href="', $scripturl, '?action=emailuser;sa=email;msg=', $message['id'], '" rel="nofollow">', ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/email_sm.png" alt="' . $txt['email'] . '" title="' . $txt['email'] . '" />' : $txt['email']), '</a></li>';
-
-		// Stuff for the staff to wallop them with.
-		echo '
-										<li style="height: 2px; background: #ccc; box-shadow: 0 -1px 0 #fff inset;"></li>';
-
-			//echo '
-			//						<img class="centericon" src="', $settings['images_url'], '/ip.png" alt="" />';
 
 
 		// Show the IP to this user for this post - because you can moderate?
 		// Show the IP to this user for this post - because you can moderate?
 		if (!empty($context['can_moderate_forum']) && !empty($message['member']['ip']))
 		if (!empty($context['can_moderate_forum']) && !empty($message['member']['ip']))
 			echo '
 			echo '
-										<li class="poster_ip"><a href="', $scripturl, '?action=', !empty($message['member']['is_guest']) ? 'trackip' : 'profile;area=tracking;sa=ip;u=' . $message['member']['id'], ';searchip=', $message['member']['ip'], '">', $message['member']['ip'], '</a> <a href="', $scripturl, '?action=helpadmin;help=see_admin_ip" onclick="return reqOverlayDiv(this.href);" class="help">(?)</a></li>';
+								<li class="poster_ip"><a href="', $scripturl, '?action=', !empty($message['member']['is_guest']) ? 'trackip' : 'profile;area=tracking;sa=ip;u=' . $message['member']['id'], ';searchip=', $message['member']['ip'], '">', $message['member']['ip'], '</a> <a href="', $scripturl, '?action=helpadmin;help=see_admin_ip" onclick="return reqOverlayDiv(this.href);" class="help">(?)</a></li>';
 
 
 		// Or, should we show it because this is you?
 		// Or, should we show it because this is you?
 		elseif ($message['can_see_ip'])
 		elseif ($message['can_see_ip'])
 			echo '
 			echo '
-										<li class="poster_ip"><a href="', $scripturl, '?action=helpadmin;help=see_member_ip" onclick="return reqOverlayDiv(this.href);" class="help">', $message['member']['ip'], '</a></li>';
+								<li class="poster_ip"><a href="', $scripturl, '?action=helpadmin;help=see_member_ip" onclick="return reqOverlayDiv(this.href);" class="help">', $message['member']['ip'], '</a></li>';
 
 
 		// Okay, are you at least logged in?  Then we can show something about why IPs are logged...
 		// Okay, are you at least logged in?  Then we can show something about why IPs are logged...
 		elseif (!$context['user']['is_guest'])
 		elseif (!$context['user']['is_guest'])
 			echo '
 			echo '
-										<li class="poster_ip"><a href="', $scripturl, '?action=helpadmin;help=see_member_ip" onclick="return reqOverlayDiv(this.href);" class="help">', $txt['logged'], '</a></li>';
+								<li class="poster_ip"><a href="', $scripturl, '?action=helpadmin;help=see_member_ip" onclick="return reqOverlayDiv(this.href);" class="help">', $txt['logged'], '</a></li>';
 
 
 		// Otherwise, you see NOTHING!
 		// Otherwise, you see NOTHING!
 		else
 		else
 			echo '
 			echo '
-										<li class="poster_ip">', $txt['logged'], '</li>';
+								<li class="poster_ip">', $txt['logged'], '</li>';
-
-		// Done with the popup of information about the poster... on to the post itself.
-			echo '
-									</ul>
-								</li>';
-
-		// Show the user's avatar.
-		if (!empty($settings['show_user_images']) && empty($options['show_no_avatars']) && !empty($message['member']['avatar']['image']))
-			echo '
-								<li class="avatar">
-									<a href="', $scripturl, '?action=profile;u=', $message['member']['id'], '">', $message['member']['avatar']['image'], '</a>
-								</li>';
-
-		// Show the post group icons, but not for guests.
-		if (!$message['member']['is_guest'])
-			echo '
-								<li class="icons">', $message['member']['group_icons'], '</li>';
-
-		// Show the member's primary group (like 'Administrator') if they have one.
-		if (!empty($message['member']['group']))
-			echo '
-								<li class="membergroup">', $message['member']['group'], '</li>';
-
-		// Show the member's custom title, if they have one.
-		if (!empty($message['member']['title']))
-			echo '
-								<li class="title">', $message['member']['title'], '</li>';
 
 
 		// Show online and offline buttons? PHP could do with a little bit of cleaning up here for brevity, but it works.
 		// Show online and offline buttons? PHP could do with a little bit of cleaning up here for brevity, but it works.
 		// The plan is to make these buttons act sensibly, and link to your own inbox in your own posts (with new PM notification).
 		// The plan is to make these buttons act sensibly, and link to your own inbox in your own posts (with new PM notification).

+ 4 - 0
Themes/default/Errors.template.php

@@ -58,6 +58,10 @@ function template_error_log()
 				<div class="floatleft">
 				<div class="floatleft">
 					', $context['page_index'], '
 					', $context['page_index'], '
 				</div>
 				</div>
+				<div class="floatright" style="margin-top: 1ex">
+					<input type="submit" name="removeSelection" value="' . $txt['remove_selection'] . '" onclick="return confirm(\'' . $txt['remove_selection_confirm'] . '\');" class="button_submit" />
+					<input type="submit" name="delall" value="', $context['has_filter'] ? $txt['remove_filtered_results'] : $txt['remove_all'], '" onclick="return confirm(\'', $context['has_filter'] ? $txt['remove_filtered_results_confirm'] : $txt['sure_about_errorlog_remove'], '\');" class="button_submit" />
+				</div>
 			</div>
 			</div>
 			<table border="0" cellspacing="1" class="table_grid" id="error_log">
 			<table border="0" cellspacing="1" class="table_grid" id="error_log">
 				<tr>
 				<tr>

+ 2 - 2
Themes/default/ManageNews.template.php

@@ -131,9 +131,9 @@ function template_email_members()
 				{
 				{
 					sId: \'advanced_panel_toggle\',
 					sId: \'advanced_panel_toggle\',
 					srcExpanded: smf_images_url + \'/collapse.png\',
 					srcExpanded: smf_images_url + \'/collapse.png\',
-					altExpanded: ', JavaScriptEscape($txt['upshrink_description']), ',
+					altExpanded: ', JavaScriptEscape($txt['hide']), ',
 					srcCollapsed: smf_images_url + \'/expand.png\',
 					srcCollapsed: smf_images_url + \'/expand.png\',
-					altCollapsed: ', JavaScriptEscape($txt['upshrink_description']), '
+					altCollapsed: ', JavaScriptEscape($txt['show']), '
 				}
 				}
 			],
 			],
 			aSwapLinks: [
 			aSwapLinks: [

+ 2 - 2
Themes/default/ManagePermissions.template.php

@@ -206,9 +206,9 @@ function template_permission_index()
 				{
 				{
 					sId: \'permissions_panel_toggle\',
 					sId: \'permissions_panel_toggle\',
 					srcExpanded: smf_images_url + \'/collapse.png\',
 					srcExpanded: smf_images_url + \'/collapse.png\',
-					altExpanded: ', JavaScriptEscape($txt['upshrink_description']), ',
+					altExpanded: ', JavaScriptEscape($txt['hide']), ',
 					srcCollapsed: smf_images_url + \'/expand.png\',
 					srcCollapsed: smf_images_url + \'/expand.png\',
-					altCollapsed: ', JavaScriptEscape($txt['upshrink_description']), '
+					altCollapsed: ', JavaScriptEscape($txt['show']), '
 				}
 				}
 			],
 			],
 			aSwapLinks: [
 			aSwapLinks: [

+ 2 - 2
Themes/default/Packages.template.php

@@ -630,9 +630,9 @@ function template_browse()
 				{
 				{
 					sId: \'advanced_panel_toggle\',
 					sId: \'advanced_panel_toggle\',
 					srcExpanded: smf_images_url + \'/collapse.png\',
 					srcExpanded: smf_images_url + \'/collapse.png\',
-					altExpanded: ', JavaScriptEscape($txt['upshrink_description']), ',
+					altExpanded: ', JavaScriptEscape($txt['hide']), ',
 					srcCollapsed: smf_images_url + \'/expand.png\',
 					srcCollapsed: smf_images_url + \'/expand.png\',
-					altCollapsed: ', JavaScriptEscape($txt['upshrink_description']), '
+					altCollapsed: ', JavaScriptEscape($txt['show']), '
 				}
 				}
 			],
 			],
 			aSwapLinks: [
 			aSwapLinks: [

+ 57 - 60
Themes/default/PersonalMessage.template.php

@@ -175,7 +175,7 @@ function template_folder()
 			echo '
 			echo '
 	<div class="', $window_class, '">
 	<div class="', $window_class, '">
 		<div class="poster">
 		<div class="poster">
-			<ul class="dropmenu">
+			<ul>
 				<li>
 				<li>
 					<h4>
 					<h4>
 						<a id="msg', $message['id'], '"></a>';
 						<a id="msg', $message['id'], '"></a>';
@@ -195,12 +195,27 @@ function template_folder()
 
 
 		echo '
 		echo '
 					</h4>
 					</h4>
-					<ul class="smalltext" id="msg_', $message['id'], '_extra_info">';
+				</li>';
+
+			// Show the user's avatar.
+			if (!empty($settings['show_user_images']) && empty($options['show_no_avatars']) && !empty($message['member']['avatar']['image']))
+				echo '
+				<li class="avatar">
+					<a href="', $scripturl, '?action=profile;u=', $message['member']['id'], '">', $message['member']['avatar']['image'], '</a>
+				</li>';
+
+			if (!$message['member']['is_guest'])
+				echo '
+				<li class="icons">', $message['member']['group_icons'], '</li>';
+			// Show the member's primary group (like 'Administrator') if they have one.
+			if (isset($message['member']['group']) && $message['member']['group'] != '')
+				echo '
+				<li class="membergroup">', $message['member']['group'], '</li>';
 
 
 			// Show the member's custom title, if they have one.
 			// Show the member's custom title, if they have one.
 			if (isset($message['member']['title']) && $message['member']['title'] != '')
 			if (isset($message['member']['title']) && $message['member']['title'] != '')
 				echo '
 				echo '
-						<li class="title">', $message['member']['title'], '</li>';
+				<li class="title">', $message['member']['title'], '</li>';
 
 
 			// Don't show these things for guests.
 			// Don't show these things for guests.
 			if (!$message['member']['is_guest'])
 			if (!$message['member']['is_guest'])
@@ -208,37 +223,37 @@ function template_folder()
 				// Show the post group if and only if they have no other group or the option is on, and they are in a post group.
 				// Show the post group if and only if they have no other group or the option is on, and they are in a post group.
 				if ((empty($settings['hide_post_group']) || $message['member']['group'] == '') && $message['member']['post_group'] != '')
 				if ((empty($settings['hide_post_group']) || $message['member']['group'] == '') && $message['member']['post_group'] != '')
 					echo '
 					echo '
-						<li class="postgroup">', $message['member']['post_group'], '</li>';
+				<li class="postgroup">', $message['member']['post_group'], '</li>';
 
 
 				// Show how many posts they have made.
 				// Show how many posts they have made.
 				if (!isset($context['disabled_fields']['posts']))
 				if (!isset($context['disabled_fields']['posts']))
 					echo '
 					echo '
-						<li class="postcount">', $txt['member_postcount'], ': ', $message['member']['posts'], '</li>';
+				<li class="postcount">', $txt['member_postcount'], ': ', $message['member']['posts'], '</li>';
 
 
 				// Is karma display enabled?  Total or +/-?
 				// Is karma display enabled?  Total or +/-?
 				if ($modSettings['karmaMode'] == '1')
 				if ($modSettings['karmaMode'] == '1')
 					echo '
 					echo '
-						<li class="karma">', $modSettings['karmaLabel'], ' ', $message['member']['karma']['good'] - $message['member']['karma']['bad'], '</li>';
+				<li class="karma">', $modSettings['karmaLabel'], ' ', $message['member']['karma']['good'] - $message['member']['karma']['bad'], '</li>';
 				elseif ($modSettings['karmaMode'] == '2')
 				elseif ($modSettings['karmaMode'] == '2')
 					echo '
 					echo '
-						<li class="karma">', $modSettings['karmaLabel'], ' +', $message['member']['karma']['good'], '/-', $message['member']['karma']['bad'], '</li>';
+				<li class="karma">', $modSettings['karmaLabel'], ' +', $message['member']['karma']['good'], '/-', $message['member']['karma']['bad'], '</li>';
 
 
 				// Is this user allowed to modify this member's karma?
 				// Is this user allowed to modify this member's karma?
 				if ($message['member']['karma']['allow'])
 				if ($message['member']['karma']['allow'])
 					echo '
 					echo '
-						<li class="karma_allow">
+				<li class="karma_allow">
-							<a href="', $scripturl, '?action=modifykarma;sa=applaud;uid=', $message['member']['id'], ';f=', $context['folder'], ';start=', $context['start'], $context['current_label_id'] != -1 ? ';l=' . $context['current_label_id'] : '', ';pm=', $message['id'], ';', $context['session_var'], '=', $context['session_id'], '">', $modSettings['karmaApplaudLabel'], '</a> <a href="', $scripturl, '?action=modifykarma;sa=smite;uid=', $message['member']['id'], ';f=', $context['folder'], ';start=', $context['start'], $context['current_label_id'] != -1 ? ';l=' . $context['current_label_id'] : '', ';pm=', $message['id'], ';', $context['session_var'], '=', $context['session_id'], '">', $modSettings['karmaSmiteLabel'], '</a>
+					<a href="', $scripturl, '?action=modifykarma;sa=applaud;uid=', $message['member']['id'], ';f=', $context['folder'], ';start=', $context['start'], $context['current_label_id'] != -1 ? ';l=' . $context['current_label_id'] : '', ';pm=', $message['id'], ';', $context['session_var'], '=', $context['session_id'], '">', $modSettings['karmaApplaudLabel'], '</a> <a href="', $scripturl, '?action=modifykarma;sa=smite;uid=', $message['member']['id'], ';f=', $context['folder'], ';start=', $context['start'], $context['current_label_id'] != -1 ? ';l=' . $context['current_label_id'] : '', ';pm=', $message['id'], ';', $context['session_var'], '=', $context['session_id'], '">', $modSettings['karmaSmiteLabel'], '</a>
-						</li>';
+				</li>';
 
 
 				// Show the member's gender icon?
 				// Show the member's gender icon?
 				if (!empty($settings['show_gender']) && $message['member']['gender']['image'] != '' && !isset($context['disabled_fields']['gender']))
 				if (!empty($settings['show_gender']) && $message['member']['gender']['image'] != '' && !isset($context['disabled_fields']['gender']))
 					echo '
 					echo '
-						<li class="gender">', $txt['gender'], ': ', $message['member']['gender']['image'], '</li>';
+				<li class="gender">', $txt['gender'], ': ', $message['member']['gender']['image'], '</li>';
 
 
 				// Show their personal text?
 				// Show their personal text?
 				if (!empty($settings['show_blurb']) && $message['member']['blurb'] != '')
 				if (!empty($settings['show_blurb']) && $message['member']['blurb'] != '')
 					echo '
 					echo '
-						<li class="blurb">', $message['member']['blurb'], '</li>';
+				<li class="blurb">', $message['member']['blurb'], '</li>';
 
 
 				// Any custom fields to show as icons?
 				// Any custom fields to show as icons?
 				if (!empty($message['member']['custom_fields']))
 				if (!empty($message['member']['custom_fields']))
@@ -252,83 +267,83 @@ function template_folder()
 						{
 						{
 							$shown = true;
 							$shown = true;
 							echo '
 							echo '
-						<li class="im_icons">
+				<li class="im_icons">
-							<ul>';
+					<ul>';
 						}
 						}
 						echo '
 						echo '
-								<li>', $custom['value'], '</li>';
+						<li>', $custom['value'], '</li>';
 					}
 					}
 					if ($shown)
 					if ($shown)
 					echo '
 					echo '
-							</ul>
+					</ul>
-						</li>';
+				</li>';
 				}
 				}
 
 
 				// This shows the popular messaging icons.
 				// This shows the popular messaging icons.
 				if ($message['member']['has_messenger'] && $message['member']['can_view_profile'])
 				if ($message['member']['has_messenger'] && $message['member']['can_view_profile'])
 					echo '
 					echo '
-						<li class="im_icons">
+				<li class="im_icons">
-							<ul>
+					<ul>
-								', !isset($context['disabled_fields']['icq']) && !empty($message['member']['icq']['link']) ? '<li>' . $message['member']['icq']['link'] . '</li>' : '', '
+						', !isset($context['disabled_fields']['icq']) && !empty($message['member']['icq']['link']) ? '<li>' . $message['member']['icq']['link'] . '</li>' : '', '
-								', !isset($context['disabled_fields']['skype']) && !empty($message['member']['skype']['link']) ? '<li>' . $message['member']['skype']['link'] . '</li>' : '', '
+						', !isset($context['disabled_fields']['skype']) && !empty($message['member']['skype']['link']) ? '<li>' . $message['member']['skype']['link'] . '</li>' : '', '
-								', !isset($context['disabled_fields']['aim']) && !empty($message['member']['aim']['link']) ? '<li>' . $message['member']['aim']['link'] . '</li>' : '', '
+						', !isset($context['disabled_fields']['aim']) && !empty($message['member']['aim']['link']) ? '<li>' . $message['member']['aim']['link'] . '</li>' : '', '
-								', !isset($context['disabled_fields']['yim']) && !empty($message['member']['yim']['link']) ? '<li>' . $message['member']['yim']['link'] . '</li>' : '', '
+						', !isset($context['disabled_fields']['yim']) && !empty($message['member']['yim']['link']) ? '<li>' . $message['member']['yim']['link'] . '</li>' : '', '
-							</ul>
+					</ul>
-						</li>';
+				</li>';
 
 
 				// Stuff for the staff to wallop them with.
 				// Stuff for the staff to wallop them with.
 				echo '
 				echo '
-						<li><hr /></li>';
+				<li>';
 
 
 				if ($message['can_report'])
 				if ($message['can_report'])
 					echo '
 					echo '
-						<li class="report_link"><a href="' . $scripturl . '?action=pm;sa=report;l=' . $context['current_label_id'] . ';pmsg=' . $message['id'] . '">' . $txt['pm_report_to_admin'] . '</a></li>';
+				<li class="report_link"><a href="' . $scripturl . '?action=pm;sa=report;l=' . $context['current_label_id'] . ';pmsg=' . $message['id'] . '">' . $txt['pm_report_to_admin'] . '</a></li>';
 
 
 		// Show the IP to this user for this post - because you can moderate?
 		// Show the IP to this user for this post - because you can moderate?
 		if (!empty($context['can_moderate_forum']) && !empty($message['member']['ip']))
 		if (!empty($context['can_moderate_forum']) && !empty($message['member']['ip']))
 			echo '
 			echo '
-										<li class="poster_ip"><a href="', $scripturl, '?action=', !empty($message['member']['is_guest']) ? 'trackip' : 'profile;area=tracking;sa=ip;u=' . $message['member']['id'], ';searchip=', $message['member']['ip'], '">', $message['member']['ip'], '</a> <a href="', $scripturl, '?action=helpadmin;help=see_admin_ip" onclick="return reqOverlayDiv(this.href);" class="help">(?)</a></li>';
+				<li class="poster_ip"><a href="', $scripturl, '?action=', !empty($message['member']['is_guest']) ? 'trackip' : 'profile;area=tracking;sa=ip;u=' . $message['member']['id'], ';searchip=', $message['member']['ip'], '">', $message['member']['ip'], '</a> <a href="', $scripturl, '?action=helpadmin;help=see_admin_ip" onclick="return reqOverlayDiv(this.href);" class="help">(?)</a></li>';
 
 
 		// Or, should we show it because this is you?
 		// Or, should we show it because this is you?
 		elseif ($message['can_see_ip'])
 		elseif ($message['can_see_ip'])
 			echo '
 			echo '
-										<li class="poster_ip"><a href="', $scripturl, '?action=helpadmin;help=see_member_ip" onclick="return reqOverlayDiv(this.href);" class="help">', $message['member']['ip'], '</a></li>';
+				<li class="poster_ip"><a href="', $scripturl, '?action=helpadmin;help=see_member_ip" onclick="return reqOverlayDiv(this.href);" class="help">', $message['member']['ip'], '</a></li>';
 
 
 		// Okay, you are logged in, then we can show something about why IPs are logged...
 		// Okay, you are logged in, then we can show something about why IPs are logged...
 		else
 		else
 			echo '
 			echo '
-										<li class="poster_ip"><a href="', $scripturl, '?action=helpadmin;help=see_member_ip" onclick="return reqOverlayDiv(this.href);" class="help">', $txt['logged'], '</a></li>';
+				<li class="poster_ip"><a href="', $scripturl, '?action=helpadmin;help=see_member_ip" onclick="return reqOverlayDiv(this.href);" class="help">', $txt['logged'], '</a></li>';
 
 
 				// Show the profile, website, email address, and personal message buttons.
 				// Show the profile, website, email address, and personal message buttons.
 				if ($message['member']['show_profile_buttons'])
 				if ($message['member']['show_profile_buttons'])
 				{
 				{
 					echo '
 					echo '
-						<li class="profile">
+				<li class="profile">
-							<ul>';
+					<ul class="profile_icons">';
 
 
 					// Show the profile button
 					// Show the profile button
 					if ($message['member']['can_view_profile'])
 					if ($message['member']['can_view_profile'])
 						echo '
 						echo '
-								<li><a href="', $message['member']['href'], '">', ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/icons/profile_sm.png" alt="' . $txt['view_profile'] . '" title="' . $txt['view_profile'] . '" />' : $txt['view_profile']), '</a></li>';
+						<li><a href="', $message['member']['href'], '">', ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/icons/profile_sm.png" alt="' . $txt['view_profile'] . '" title="' . $txt['view_profile'] . '" />' : $txt['view_profile']), '</a></li>';
 
 
 					// Don't show an icon if they haven't specified a website.
 					// Don't show an icon if they haven't specified a website.
 					if ($message['member']['website']['url'] != '' && !isset($context['disabled_fields']['website']))
 					if ($message['member']['website']['url'] != '' && !isset($context['disabled_fields']['website']))
 						echo '
 						echo '
-								<li><a href="', $message['member']['website']['url'], '" title="' . $message['member']['website']['title'] . '" target="_blank" class="new_win">', ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/www_sm.png" alt="' . $message['member']['website']['title'] . '" />' : $txt['www']), '</a></li>';
+						<li><a href="', $message['member']['website']['url'], '" title="' . $message['member']['website']['title'] . '" target="_blank" class="new_win">', ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/www_sm.png" alt="' . $message['member']['website']['title'] . '" />' : $txt['www']), '</a></li>';
 
 
 					// Don't show the email address if they want it hidden.
 					// Don't show the email address if they want it hidden.
 					if (in_array($message['member']['show_email'], array('yes', 'yes_permission_override', 'no_through_forum')) && $context['can_send_email'])
 					if (in_array($message['member']['show_email'], array('yes', 'yes_permission_override', 'no_through_forum')) && $context['can_send_email'])
 						echo '
 						echo '
-								<li><a href="', $scripturl, '?action=emailuser;sa=email;uid=', $message['member']['id'], '" rel="nofollow">', ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/email_sm.png" alt="' . $txt['email'] . '" title="' . $txt['email'] . '" />' : $txt['email']), '</a></li>';
+						<li><a href="', $scripturl, '?action=emailuser;sa=email;uid=', $message['member']['id'], '" rel="nofollow">', ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/email_sm.png" alt="' . $txt['email'] . '" title="' . $txt['email'] . '" />' : $txt['email']), '</a></li>';
 
 
 					// Since we know this person isn't a guest, you *can* message them.
 					// Since we know this person isn't a guest, you *can* message them.
 					if ($context['can_send_pm'])
 					if ($context['can_send_pm'])
 						echo '
 						echo '
-								<li><a href="', $scripturl, '?action=pm;sa=send;u=', $message['member']['id'], '" title="', $message['member']['online']['is_online'] ? $txt['pm_online'] : $txt['pm_offline'], '">', $settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/im_' . ($message['member']['online']['is_online'] ? 'on' : 'off') . '.png" alt="' . ($message['member']['online']['is_online'] ? $txt['pm_online'] : $txt['pm_offline']) . '" />' : ($message['member']['online']['is_online'] ? $txt['pm_online'] : $txt['pm_offline']), '</a></li>';
+						<li><a href="', $scripturl, '?action=pm;sa=send;u=', $message['member']['id'], '" title="', $message['member']['online']['is_online'] ? $txt['pm_online'] : $txt['pm_offline'], '">', $settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/im_' . ($message['member']['online']['is_online'] ? 'on' : 'off') . '.png" alt="' . ($message['member']['online']['is_online'] ? $txt['pm_online'] : $txt['pm_offline']) . '" />' : ($message['member']['online']['is_online'] ? $txt['pm_online'] : $txt['pm_offline']), '</a></li>';
 
 
 					echo '
 					echo '
-							</ul>
+					</ul>
-						</li>';
+				</li>';
 				}
 				}
 
 
 				// Any custom fields for standard placement?
 				// Any custom fields for standard placement?
@@ -337,32 +352,14 @@ function template_folder()
 					foreach ($message['member']['custom_fields'] as $custom)
 					foreach ($message['member']['custom_fields'] as $custom)
 						if (empty($custom['placement']) || empty($custom['value']))
 						if (empty($custom['placement']) || empty($custom['value']))
 							echo '
 							echo '
-						<li class="custom">', $custom['title'], ': ', $custom['value'], '</li>';
+				<li class="custom">', $custom['title'], ': ', $custom['value'], '</li>';
 				}
 				}
 
 
 				// Are we showing the warning status?
 				// Are we showing the warning status?
 				if ($message['member']['can_see_warning'])
 				if ($message['member']['can_see_warning'])
 				echo '
 				echo '
-						<li class="warning">', $context['can_issue_warning'] ? '<a href="' . $scripturl . '?action=profile;area=issuewarning;u=' . $message['member']['id'] . '">' : '', '<img src="', $settings['images_url'], '/warning_', $message['member']['warning_status'], '.png" alt="', $txt['user_warn_' . $message['member']['warning_status']], '" />', $context['can_issue_warning'] ? '</a>' : '', '<span class="warn_', $message['member']['warning_status'], '">', $txt['warn_' . $message['member']['warning_status']], '</span></li>';
+				<li class="warning">', $context['can_issue_warning'] ? '<a href="' . $scripturl . '?action=profile;area=issuewarning;u=' . $message['member']['id'] . '">' : '', '<img src="', $settings['images_url'], '/warning_', $message['member']['warning_status'], '.png" alt="', $txt['user_warn_' . $message['member']['warning_status']], '" />', $context['can_issue_warning'] ? '</a>' : '', '<span class="warn_', $message['member']['warning_status'], '">', $txt['warn_' . $message['member']['warning_status']], '</span></li>';
 			}
 			}
-			echo '
-					</ul>
-				</li>';
-
-			// Show the user's avatar.
-			if (!empty($settings['show_user_images']) && empty($options['show_no_avatars']) && !empty($message['member']['avatar']['image']))
-				echo '
-				<li class="avatar">
-					<a href="', $scripturl, '?action=profile;u=', $message['member']['id'], '">', $message['member']['avatar']['image'], '</a>
-				</li>';
-
-			if (!$message['member']['is_guest'])
-				echo '
-				<li class="icons">', $message['member']['group_icons'], '</li>';
-			// Show the member's primary group (like 'Administrator') if they have one.
-			if (isset($message['member']['group']) && $message['member']['group'] != '')
-				echo '
-				<li class="membergroup">', $message['member']['group'], '</li>';
 
 
 		// Show online and offline buttons? PHP could do with a little bit of cleaning up here for brevity, but it works.
 		// Show online and offline buttons? PHP could do with a little bit of cleaning up here for brevity, but it works.
 		// The plan is to make these buttons act sensibly, and link to your own inbox in your own posts (with new PM notification).
 		// The plan is to make these buttons act sensibly, and link to your own inbox in your own posts (with new PM notification).
@@ -816,9 +813,9 @@ function template_search()
 					{
 					{
 						sId: \'advanced_panel_toggle\',
 						sId: \'advanced_panel_toggle\',
 						srcExpanded: smf_images_url + \'/collapse.png\',
 						srcExpanded: smf_images_url + \'/collapse.png\',
-						altExpanded: ', JavaScriptEscape($txt['upshrink_description']), ',
+						altExpanded: ', JavaScriptEscape($txt['hide']), ',
 						srcCollapsed: smf_images_url + \'/expand.png\',
 						srcCollapsed: smf_images_url + \'/expand.png\',
-						altCollapsed: ', JavaScriptEscape($txt['upshrink_description']), '
+						altCollapsed: ', JavaScriptEscape($txt['show']), '
 					}
 					}
 				],
 				],
 				aSwapLinks: [
 				aSwapLinks: [

+ 16 - 16
Themes/default/Profile.template.php

@@ -511,8 +511,8 @@ function template_editBuddies()
 
 
 	echo '
 	echo '
 	<div class="generic_list_wrapper" id="edit_buddies">
 	<div class="generic_list_wrapper" id="edit_buddies">
-		<div class="title_bar">
+		<div class="cat_bar">
-			<h3 class="titlebg">
+			<h3 class="catbg">
 				<img src="', $settings['images_url'], '/icons/online.png" alt="" class="icon" />', $txt['editBuddies'], '
 				<img src="', $settings['images_url'], '/icons/online.png" alt="" class="icon" />', $txt['editBuddies'], '
 			</h3>
 			</h3>
 		</div>
 		</div>
@@ -578,8 +578,8 @@ function template_editBuddies()
 	echo '
 	echo '
 	<form action="', $scripturl, '?action=profile;u=', $context['id_member'], ';area=lists;sa=buddies" method="post" accept-charset="', $context['character_set'], '">
 	<form action="', $scripturl, '?action=profile;u=', $context['id_member'], ';area=lists;sa=buddies" method="post" accept-charset="', $context['character_set'], '">
 		<div class="tborder add_buddy">
 		<div class="tborder add_buddy">
-			<div class="title_bar">
+			<div class="cat_bar">
-				<h3 class="titlebg">', $txt['buddy_add'], '</h3>
+				<h3 class="catbg">', $txt['buddy_add'], '</h3>
 			</div>
 			</div>
 			<div class="roundframe">
 			<div class="roundframe">
 				<dl class="settings">
 				<dl class="settings">
@@ -623,8 +623,8 @@ function template_editIgnoreList()
 
 
 	echo '
 	echo '
 	<div class="generic_list_wrapper" id="edit_buddies">
 	<div class="generic_list_wrapper" id="edit_buddies">
-		<div class="title_bar">
+		<div class="cat_bar">
-			<h3 class="titlebg">
+			<h3 class="catbg">
 				<img src="', $settings['images_url'], '/icons/profile_hd.png" alt="" class="icon" />', $txt['editIgnoreList'], '
 				<img src="', $settings['images_url'], '/icons/profile_hd.png" alt="" class="icon" />', $txt['editIgnoreList'], '
 			</h3>
 			</h3>
 		</div>
 		</div>
@@ -680,8 +680,8 @@ function template_editIgnoreList()
 	echo '
 	echo '
 	<form action="', $scripturl, '?action=profile;u=', $context['id_member'], ';area=lists;sa=ignore" method="post" accept-charset="', $context['character_set'], '">
 	<form action="', $scripturl, '?action=profile;u=', $context['id_member'], ';area=lists;sa=ignore" method="post" accept-charset="', $context['character_set'], '">
 		<div class="tborder add_buddy">
 		<div class="tborder add_buddy">
-			<div class="title_bar">
+			<div class="cat_bar">
-				<h3 class="titlebg">', $txt['ignore_add'], '</h3>
+				<h3 class="catbg">', $txt['ignore_add'], '</h3>
 			</div>
 			</div>
 			<div class="roundframe">
 			<div class="roundframe">
 				<dl class="settings">
 				<dl class="settings">
@@ -726,8 +726,8 @@ function template_trackActivity()
 	// The first table shows IP information about the user.
 	// The first table shows IP information about the user.
 	echo '
 	echo '
 		<div class="generic_list_wrapper">
 		<div class="generic_list_wrapper">
-			<div class="title_bar">
+			<div class="cat_bar">
-				<h3 class="titlebg"><strong>', $txt['view_ips_by'], ' ', $context['member']['name'], '</strong></h3>
+				<h3 class="catbg"><strong>', $txt['view_ips_by'], ' ', $context['member']['name'], '</strong></h3>
 			</div>';
 			</div>';
 
 
 	// The last IP the user used.
 	// The last IP the user used.
@@ -810,8 +810,8 @@ function template_trackIP()
 	if ($context['single_ip'])
 	if ($context['single_ip'])
 	{
 	{
 		echo '
 		echo '
-			<div class="title_bar">
+			<div class="cat_bar">
-				<h3 class="titlebg">', $txt['whois_title'], ' ', $context['ip'], '</h3>
+				<h3 class="catbg">', $txt['whois_title'], ' ', $context['ip'], '</h3>
 			</div>
 			</div>
 			<div class="windowbg2">
 			<div class="windowbg2">
 				<div class="padding">';
 				<div class="padding">';
@@ -825,8 +825,8 @@ function template_trackIP()
 
 
 	// The second table lists all the members who have been logged as using this IP address.
 	// The second table lists all the members who have been logged as using this IP address.
 	echo '
 	echo '
-		<div class="title_bar">
+		<div class="cat_bar">
-			<h3 class="titlebg">', $txt['members_from_ip'], ' ', $context['ip'], '</h3>
+			<h3 class="catbg">', $txt['members_from_ip'], ' ', $context['ip'], '</h3>
 		</div>';
 		</div>';
 	if (empty($context['ips']))
 	if (empty($context['ips']))
 		echo '
 		echo '
@@ -2426,8 +2426,8 @@ function template_deleteAccount()
 	// The main containing header.
 	// The main containing header.
 	echo '
 	echo '
 		<form action="', $scripturl, '?action=profile;area=deleteaccount;save" method="post" accept-charset="', $context['character_set'], '" name="creator" id="creator">
 		<form action="', $scripturl, '?action=profile;area=deleteaccount;save" method="post" accept-charset="', $context['character_set'], '" name="creator" id="creator">
-			<div class="title_bar">
+			<div class="cat_bar">
-				<h3 class="titlebg">
+				<h3 class="catbg">
 					<img src="', $settings['images_url'], '/icons/profile_hd.png" alt="" class="icon" />', $txt['deleteAccount'], '
 					<img src="', $settings['images_url'], '/icons/profile_hd.png" alt="" class="icon" />', $txt['deleteAccount'], '
 				</h3>
 				</h3>
 			</div>';
 			</div>';

+ 35 - 23
Themes/default/Recent.template.php

@@ -139,29 +139,35 @@ function template_unread()
 
 
 		foreach ($context['topics'] as $topic)
 		foreach ($context['topics'] as $topic)
 		{
 		{
-			// Calculate the color class of the topic.
+			// We start with locked and sticky topics.
-			$color_class = '';
+			if ($topic['is_sticky'] && $topic['is_locked'])
-			if (strpos($topic['class'], 'sticky') !== false)
+				$color_class = 'stickybg locked_sticky';
+			// Sticky topics should get a different color, too.
+			elseif ($topic['is_sticky'])
 				$color_class = 'stickybg';
 				$color_class = 'stickybg';
-			if (strpos($topic['class'], 'locked') !== false)
+			// Locked topics get special treatment as well.
-				$color_class .= 'lockedbg';
+			elseif ($topic['is_locked'])
+				$color_class = 'lockedbg';
+			// Last, but not least: regular topics.
+			else
+				$color_class = 'windowbg';
 
 
-			$color_class2 = !empty($color_class) ? $color_class . '2' : '';
+			$color_class2 = !empty($color_class) ? $color_class . '2' : 'windowbg2';
 
 
 			// [WIP] There is trial code here to hide the topic icon column. Hardly anyone will miss it.
 			// [WIP] There is trial code here to hide the topic icon column. Hardly anyone will miss it.
 			// [WIP] Markup can be cleaned up later. CSS can go in the CSS files later.
 			// [WIP] Markup can be cleaned up later. CSS can go in the CSS files later.
 			echo '
 			echo '
 						<tr>
 						<tr>
-							<td class="', $color_class, ' icon1 windowbg" style="display: none;">
+							<td class="', $color_class, ' icon1" style="display: none;">
 								<img src="', $settings['images_url'], '/topic/', $topic['class'], '.png" alt="" />
 								<img src="', $settings['images_url'], '/topic/', $topic['class'], '.png" alt="" />
 							</td>
 							</td>
-							<td class="', $color_class, ' icon2 windowbg">
+							<td class="', $color_class, ' icon2">
 								<div style="position: relative; width: 40px; margin: auto;">
 								<div style="position: relative; width: 40px; margin: auto;">
 									<img src="', $topic['first_post']['icon_url'], '" alt="" />
 									<img src="', $topic['first_post']['icon_url'], '" alt="" />
 									', $topic['is_posted_in'] ? '<img src="'. $settings['images_url']. '/icons/profile_sm.png" alt="" style="position: absolute; z-index: 5; right: 4px; bottom: -3px;" />' : '','
 									', $topic['is_posted_in'] ? '<img src="'. $settings['images_url']. '/icons/profile_sm.png" alt="" style="position: absolute; z-index: 5; right: 4px; bottom: -3px;" />' : '','
 								</div>
 								</div>
 							</td>
 							</td>
-							<td class="subject ', $color_class2, ' windowbg2">
+							<td class="subject ', $color_class2, '">
 								<div>';
 								<div>';
 
 
 			// [WIP] MEthinks the orange icons look better if they aren't all over the page.
 			// [WIP] MEthinks the orange icons look better if they aren't all over the page.
@@ -174,12 +180,12 @@ function template_unread()
 									</p>
 									</p>
 								</div>
 								</div>
 							</td>
 							</td>
-							<td class="', $color_class, ' stats windowbg">
+							<td class="', $color_class, ' stats">
 								', $topic['replies'], ' ', $txt['replies'], '
 								', $topic['replies'], ' ', $txt['replies'], '
 								<br />
 								<br />
 								', $topic['views'], ' ', $txt['views'], '
 								', $topic['views'], ' ', $txt['views'], '
 							</td>
 							</td>
-							<td class="', $color_class2, ' lastpost windowbg2">
+							<td class="', $color_class2, ' lastpost">
 								<a href="', $topic['last_post']['href'], '"><img src="', $settings['images_url'], '/icons/last_post.png" alt="', $txt['last_post'], '" title="', $txt['last_post'], '" class="floatright" /></a>
 								<a href="', $topic['last_post']['href'], '"><img src="', $settings['images_url'], '/icons/last_post.png" alt="', $txt['last_post'], '" title="', $txt['last_post'], '" class="floatright" /></a>
 								', $topic['last_post']['time'], '<br />
 								', $topic['last_post']['time'], '<br />
 								', $txt['by'], ' ', $topic['last_post']['member']['link'], '
 								', $txt['by'], ' ', $topic['last_post']['member']['link'], '
@@ -187,7 +193,7 @@ function template_unread()
 
 
 			if ($context['showCheckboxes'])
 			if ($context['showCheckboxes'])
 				echo '
 				echo '
-							<td class="' . (!empty($color_class) ? $color_class : 'windowbg2') . ' moderation" valign="middle" align="center">
+							<td class="', $color_class2, ' moderation" valign="middle" align="center">
 								<input type="checkbox" name="topics[]" value="', $topic['id'], '" class="input_check" />
 								<input type="checkbox" name="topics[]" value="', $topic['id'], '" class="input_check" />
 							</td>';
 							</td>';
 			echo '
 			echo '
@@ -302,12 +308,18 @@ function template_replies()
 
 
 		foreach ($context['topics'] as $topic)
 		foreach ($context['topics'] as $topic)
 		{
 		{
-			// Calculate the color class of the topic.
+			// We start with locked and sticky topics.
-			$color_class = '';
+			if ($topic['is_sticky'] && $topic['is_locked'])
-			if (strpos($topic['class'], 'sticky') !== false)
+				$color_class = 'stickybg locked_sticky';
+			// Sticky topics should get a different color, too.
+			elseif ($topic['is_sticky'])
 				$color_class = 'stickybg';
 				$color_class = 'stickybg';
-			if (strpos($topic['class'], 'locked') !== false)
+			// Locked topics get special treatment as well.
-				$color_class .= 'lockedbg';
+			elseif ($topic['is_locked'])
+				$color_class = 'lockedbg';
+			// Last, but not least: regular topics.
+			else
+				$color_class = 'windowbg';
 
 
 			$color_class2 = !empty($color_class) ? $color_class . '2' : '';
 			$color_class2 = !empty($color_class) ? $color_class . '2' : '';
 
 
@@ -315,16 +327,16 @@ function template_replies()
 			// [WIP] Markup can be cleaned up later. CSS can go in the CSS files later.
 			// [WIP] Markup can be cleaned up later. CSS can go in the CSS files later.
 			echo '
 			echo '
 						<tr>
 						<tr>
-							<td class="', $color_class, ' icon1 windowbg" style="display: none;">
+							<td class="', $color_class, ' icon1" style="display: none;">
 								<img src="', $settings['images_url'], '/topic/', $topic['class'], '.png" alt="" />
 								<img src="', $settings['images_url'], '/topic/', $topic['class'], '.png" alt="" />
 							</td>
 							</td>
-							<td class="', $color_class, ' icon2 windowbg">
+							<td class="', $color_class, ' icon2">
 								<div style="position: relative; width: 40px; margin: auto;">
 								<div style="position: relative; width: 40px; margin: auto;">
 									<img src="', $topic['first_post']['icon_url'], '" alt="" />
 									<img src="', $topic['first_post']['icon_url'], '" alt="" />
 									', $topic['is_posted_in'] ? '<img src="'. $settings['images_url']. '/icons/profile_sm.png" alt="" style="position: absolute; z-index: 5; right: 4px; bottom: -3px;" />' : '','
 									', $topic['is_posted_in'] ? '<img src="'. $settings['images_url']. '/icons/profile_sm.png" alt="" style="position: absolute; z-index: 5; right: 4px; bottom: -3px;" />' : '','
 								</div>
 								</div>
 							</td>
 							</td>
-							<td class="subject ', $color_class2, ' windowbg2">
+							<td class="subject ', $color_class2, '">
 								<div>';
 								<div>';
 
 
 			// [WIP] MEthinks the orange icons look better if they aren't all over the page.
 			// [WIP] MEthinks the orange icons look better if they aren't all over the page.
@@ -337,12 +349,12 @@ function template_replies()
 									</p>
 									</p>
 								</div>
 								</div>
 							</td>
 							</td>
-							<td class="', $color_class, ' stats windowbg">
+							<td class="', $color_class, ' stats">
 								', $topic['replies'], ' ', $txt['replies'], '
 								', $topic['replies'], ' ', $txt['replies'], '
 								<br />
 								<br />
 								', $topic['views'], ' ', $txt['views'], '
 								', $topic['views'], ' ', $txt['views'], '
 							</td>
 							</td>
-							<td class="', $color_class2, ' lastpost windowbg2">
+							<td class="', $color_class2, ' lastpost">
 								<a href="', $topic['last_post']['href'], '"><img src="', $settings['images_url'], '/icons/last_post.png" alt="', $txt['last_post'], '" title="', $txt['last_post'], '" class="floatright" /></a>
 								<a href="', $topic['last_post']['href'], '"><img src="', $settings['images_url'], '/icons/last_post.png" alt="', $txt['last_post'], '" title="', $txt['last_post'], '" class="floatright" /></a>
 								', $topic['last_post']['time'], '<br />
 								', $topic['last_post']['time'], '<br />
 								', $txt['by'], ' ', $topic['last_post']['member']['link'], '
 								', $txt['by'], ' ', $topic['last_post']['member']['link'], '
@@ -350,7 +362,7 @@ function template_replies()
 
 
 			if ($context['showCheckboxes'])
 			if ($context['showCheckboxes'])
 				echo '
 				echo '
-							<td class="' . (!empty($color_class) ? $color_class : 'windowbg2') . ' moderation" valign="middle" align="center">
+							<td class="', $color_class2, ' moderation" valign="middle" align="center">
 								<input type="checkbox" name="topics[]" value="', $topic['id'], '" class="input_check" />
 								<input type="checkbox" name="topics[]" value="', $topic['id'], '" class="input_check" />
 							</td>';
 							</td>';
 			echo '
 			echo '

+ 4 - 0
Themes/default/css/admin.css

@@ -482,6 +482,10 @@ fieldset.admin_group a {
 	text-align: center;
 	text-align: center;
 	vertical-align: top;
 	vertical-align: top;
 }
 }
+fieldset.admin_group .inactive {
+	opacity: 0.4;
+	filter:Alpha(opacity=40);
+}
 
 
 /* The update warning. */
 /* The update warning. */
 #update_section {
 #update_section {

+ 4 - 0
Themes/default/css/index.css

@@ -2151,6 +2151,10 @@ div#pollmoderation {
 .poster .dropmenu  li ul li.poster_ip a {
 .poster .dropmenu  li ul li.poster_ip a {
 	display: table-cell;
 	display: table-cell;
 }
 }
+.poster .profile .profile_icons li {
+	display: table-cell;
+	padding-left: 5px;
+}
 
 
 /* The visible stuff below the avatar. */
 /* The visible stuff below the avatar. */
 .poster>ul>li.icons, .poster li.membergroup, .poster li.title, .poster li.poster_online, .poster li.warning,
 .poster>ul>li.icons, .poster li.membergroup, .poster li.title, .poster li.poster_online, .poster li.warning,

+ 1 - 1
Themes/default/languages/Admin.english.php

@@ -718,7 +718,7 @@ $txt['hooks_disable_legend'] = 'Legend';
 $txt['hooks_disable_legend_exists'] = 'the hook exists and is active';
 $txt['hooks_disable_legend_exists'] = 'the hook exists and is active';
 $txt['hooks_disable_legend_disabled'] = 'the hook exists but has been disabled';
 $txt['hooks_disable_legend_disabled'] = 'the hook exists but has been disabled';
 $txt['hooks_disable_legend_missing'] = 'the hook has not been found';
 $txt['hooks_disable_legend_missing'] = 'the hook has not been found';
-$txt['hooks_reset_filter'] = 'Reset filter';
+$txt['hooks_reset_filter'] = 'No filter';
 
 
 $txt['board_perms_allow'] = 'Allow';
 $txt['board_perms_allow'] = 'Allow';
 $txt['board_perms_ignore'] = 'Ignore';
 $txt['board_perms_ignore'] = 'Ignore';

+ 1 - 1
Themes/default/languages/ManageSettings.english.php

@@ -178,7 +178,7 @@ $txt['setting_image_verification_extreme'] = 'Extreme - Angled letters, noise, l
 $txt['setting_image_verification_sample'] = 'Sample';
 $txt['setting_image_verification_sample'] = 'Sample';
 $txt['setting_image_verification_nogd'] = '<strong>Note:</strong> as this server does not have the GD library installed the different complexity settings will have no effect.';
 $txt['setting_image_verification_nogd'] = '<strong>Note:</strong> as this server does not have the GD library installed the different complexity settings will have no effect.';
 $txt['setup_verification_questions'] = 'Verification Questions';
 $txt['setup_verification_questions'] = 'Verification Questions';
-$txt['setup_verification_questions_desc'] = '<span class="smalltext">If you want users to answer verification questions in order to stop spam bots you should setup a number of questions in the table below. You should pick relatively simple questions; answers are not case sensitive. You may use BBC in the questions for formatting, to remove a question simply delete the contents of that line.</span>';
+$txt['setup_verification_questions_desc'] = '<span class="smalltext">If you want users to answer verification questions in order to stop spam bots, you should setup a number of questions in the table below. You should choose questions which relate to the subject of your forum. Genuine users will be able to answer these questions, while spam bots will not. Answers are not case sensitive. You may use BBC in the questions for formatting. To remove a question simply delete the contents of that line.</span>';
 $txt['setup_verification_question'] = 'Question';
 $txt['setup_verification_question'] = 'Question';
 $txt['setup_verification_answer'] = 'Answer';
 $txt['setup_verification_answer'] = 'Answer';
 $txt['setup_verification_add_more'] = 'Add another question';
 $txt['setup_verification_add_more'] = 'Add another question';