Browse Source

Merge branch 'master' of https://github.com/Spuds/playpen

emanuele 13 years ago
parent
commit
7101f41b3b

+ 35 - 26
Sources/Class-CurlFetchWeb.php

@@ -1,32 +1,40 @@
 <?php
 /**
-* Simple cURL class to fetch a web page
-* Properly redirects even with safe mode and basedir restrictions
-* Can provide simple post options to a page
-*
-* Load class
-* Initiate as
-*  - $fetch_data = new cURL_fetch_web_data();
-*	- optionaly pass an array of cURL options and redirect count
-*	- cURL_fetch_web_data(cURL options array, Max redirects);
-*  - $fetch_data = new cURL_fetch_web_data(array(CURLOPT_SSL_VERIFYPEER => 1), 5);
-*
-* Make the call
-*  - $fetch_data('http://www.simplemachines.org'); // fetch a page
-*  - $fetch_data('http://www.simplemachines.org', array('user' => 'name', 'password' => 'password')); // post to a page
-*  - $fetch_data('http://www.simplemachines.org', parameter1&parameter2&parameter3); // post to a page
-*
-*
-* Get the data
-*  - $fetch_data->result('body'); // just the page content
-*  - $fetch_data->result(); // an array of results, body, header, http result codes
-*  - $fetch_data->result_raw(); // show all results of all calls (in the event of a redirect)
-*  - $fetch_data->result_raw(0); // show all results of call x
-*
-*/
+ *
+ * Simple Machines Forum (SMF)
+ * Simple cURL class to fetch a web page
+ * Properly redirects even with safe mode and basedir restrictions
+ * Can provide simple post options to a page
+ *
+ * Load class
+ * Initiate as
+ *  - $fetch_data = new cURL_fetch_web_data();
+ *	- optionaly pass an array of cURL options and redirect count
+ *	- cURL_fetch_web_data(cURL options array, Max redirects);
+ *  - $fetch_data = new cURL_fetch_web_data(array(CURLOPT_SSL_VERIFYPEER => 1), 5);
+ *
+ * Make the call
+ *  - $fetch_data('http://www.simplemachines.org'); // fetch a page
+ *  - $fetch_data('http://www.simplemachines.org', array('user' => 'name', 'password' => 'password')); // post to a page
+ *  - $fetch_data('http://www.simplemachines.org', parameter1&parameter2&parameter3); // post to a page
+ *
+ *
+ * Get the data
+ *  - $fetch_data->result('body'); // just the page content
+ *  - $fetch_data->result(); // an array of results, body, header, http result codes
+ *  - $fetch_data->result_raw(); // show all results of all calls (in the event of a redirect)
+ *  - $fetch_data->result_raw(0); // show all results of call x
+ *
+ * @package SMF
+ * @author Simple Machines http://www.simplemachines.org
+ * @copyright 2011 Simple Machines
+ * @license http://www.simplemachines.org/about/smf/license.php BSD
+ *
+ * @version 2.1 Alpha 1
+ */
 
 if (!defined('SMF'))
-die('Hacking attempt...');
+	die('Hacking attempt...');
 
 class curl_fetch_web_data
 {
@@ -290,4 +298,5 @@ class curl_fetch_web_data
 		return strlen($header);
 	}
 }
-?>
+
+?>

+ 1 - 1
Sources/Load.php

@@ -2522,7 +2522,7 @@ function cache_put_data($key, $value, $ttl = 120)
 		$st = microtime();
 	}
 
-	$key = md5($boardurl . filemtime($sourcedir . '/Load.php')) . '-SMF-' . strtr($key, ':', '-');
+	$key = md5($boardurl . filemtime($sourcedir . '/Load.php')) . '-SMF-' . strtr($key, ':/', '-_');
 	$value = $value === null ? null : serialize($value);
 
 	switch ($cache_accelerator)

+ 0 - 3
Sources/ManageAttachments.php

@@ -354,7 +354,6 @@ function BrowseFiles()
 
 						return sprintf(\'%1$s%2$s\', round($rowData[\'size\'] / 1024, 2), $txt[\'kilobyte\']);
 					'),
-					'class' => 'windowbg',
 				),
 				'sort' => array(
 					'default' => 'a.size',
@@ -400,7 +399,6 @@ function BrowseFiles()
 
 						return $date;
 						'),
-					'class' => 'windowbg',
 				),
 				'sort' => array(
 					'default' => $context['browse_type'] === 'avatars' ? 'mem.last_login' : 'm.id_msg',
@@ -417,7 +415,6 @@ function BrowseFiles()
 
 						return comma_format($rowData[\'downloads\']);
 					'),
-					'class' => 'windowbg',
 				),
 				'sort' => array(
 					'default' => 'a.downloads',

+ 18 - 15
Sources/ManageNews.php

@@ -151,8 +151,9 @@ function EditNews()
 					'function' => create_function('$news', '
 
 						if (is_numeric($news[\'id\']))
-							return \'<textarea rows="3" cols="65" name="news[]" style="\' . (isBrowser(\'is_ie8\') ? \'width: 635px; max-width: 85%; min-width: 85%\' : \'width: 85%\') . \';">\' . $news[\'unparsed\'] . \'</textarea>
-							<div style="float:right" id="preview_\' . $news[\'id\'] . \'"></div>\';
+							return \'<textarea id="data_\' . $news[\'id\'] . \'" rows="3" cols="65" name="news[]" style="\' . (isBrowser(\'is_ie8\') ? \'width: 635px; max-width: 85%; min-width: 85%\' : \'width 100%;margin 0 5em\') . \';">\' . $news[\'unparsed\'] . \'</textarea>
+							<br />
+							<div class="floatleft" id="preview_\' . $news[\'id\'] . \'"></div>\';
 						else
 							return $news[\'unparsed\'];
 					'),
@@ -197,11 +198,18 @@ function EditNews()
 			array(
 				'position' => 'bottom_of_list',
 				'value' => '
-				<span id="moreNewsItems_link" style="display: none;">[<a href="javascript:void(0);" onclick="addNewsItem(); return false;">' . $txt['editnews_clickadd'] . '</a>]</span>
-				<script type="text/javascript"><!-- // --><![CDATA[
+				<span id="moreNewsItems_link" class="floatleft" style="display: none;">
+					<a class="button_link" href="javascript:void(0);" onclick="addNewsItem(); return false;">' . $txt['editnews_clickadd'] . '</a>
+				</span>
+				<input type="submit" name="save_items" value="' . $txt['save'] . '" class="button_submit" /> 
+				<input type="submit" name="delete_selection" value="' . $txt['editnews_remove_selected'] . '" onclick="return confirm(\'' . $txt['editnews_remove_confirm'] . '\');" class="button_submit" />',
+			),
+		),
+		'javascript' => '
 					document.getElementById(\'list_news_lists_last\').style.display = "none";
 					document.getElementById("moreNewsItems_link").style.display = "";
 					var last_preview = 0;
+					
 					$(document).ready(function () {
 						$("div[id ^= \'preview_\']").each(function () {
 							var preview_id = $(this).attr(\'id\').split(\'_\')[1];
@@ -213,12 +221,12 @@ function EditNews()
 
 					function make_preview_btn (preview_id)
 					{
-						$("#preview_" + preview_id).css({cursor: \'hand\', cursor: \'pointer\', });
+						$("#preview_" + preview_id).addClass("button_link");
 						$("#preview_" + preview_id).text(\'' . $txt['preview'] . '\').click(function () {
 							$.ajax({
 								type: "POST",
 								url: "' . $scripturl . '?action=xmlhttp;sa=previews;xml",
-								data: {item: "newspreview", news: $("#preview_" + preview_id).prev().val()},
+								data: {item: "newspreview", news: $("#data_" + preview_id).val()},
 								context: document.body,
 								success: function(request){
 									if ($(request).find("error").text() == \'\')
@@ -236,8 +244,9 @@ function EditNews()
 						$("#list_news_lists_last").before(' . javaScriptEscape('
 						<tr class="windowbg') . ' + (last_preview % 2 == 0 ? \'\' : \'2\') + ' . javaScriptEscape('">
 							<td style="width: 50%;">
-									<textarea rows="3" cols="65" name="news[]" style="' . (isBrowser('is_ie8') ? 'width: 635px; max-width: 85%; min-width: 85%' : 'width: 85%') . ';"></textarea>
-									<div style="float:right" id="preview_') . ' + last_preview + ' . javaScriptEscape('"></div>
+									<textarea id="data_') . ' + last_preview + ' . javaScriptEscape('" rows="3" cols="65" name="news[]" style="' . (isBrowser('is_ie8') ? 'width: 635px; max-width: 85%; min-width: 85%' : 'width: 95%') . ';"></textarea>
+									<br />
+									<div class="floatleft" id="preview_') . ' + last_preview + ' . javaScriptEscape('"></div>
 							</td>
 							<td style="width: 45%;">
 								<div id="box_preview_') . ' + last_preview + ' . javaScriptEscape('" style="overflow: auto; width: 100%; height: 10ex;"></div>
@@ -245,13 +254,7 @@ function EditNews()
 							<td></td>
 						</tr>') . ');
 						make_preview_btn(last_preview);
-					}
-					
-				// ]]></script>
-				<input type="submit" name="save_items" value="' . $txt['save'] . '" class="button_submit" /> <input type="submit" name="delete_selection" value="' . $txt['editnews_remove_selected'] . '" onclick="return confirm(\'' . $txt['editnews_remove_confirm'] . '\');" class="button_submit" />',
-				'align' => 'right',
-			),
-		),
+					}',
 	);
 
 	// Create the request list.

+ 2 - 2
Sources/ManageSmileys.php

@@ -136,8 +136,8 @@ function EditSmileySettings($return_config = false)
 			array('select', 'smiley_sets_default', $smiley_context),
 			array('check', 'smiley_sets_enable'),
 			array('check', 'smiley_enable', 'subtext' => $txt['smileys_enable_note']),
-			array('text', 'smileys_url'),
-			array('text', 'smileys_dir', 'invalid' => !$context['smileys_dir_found']),
+			array('text', 'smileys_url', 40),
+			array('text', 'smileys_dir', 'invalid' => !$context['smileys_dir_found'], 40),
 		'',
 			// Message icons.
 			array('check', 'messageIcons_enable', 'subtext' => $txt['setting_messageIcons_enable_note']),

+ 1 - 1
Sources/Modlog.php

@@ -156,7 +156,7 @@ function ViewModlog()
 	// This is all the information required for a watched user listing.
 	$listOptions = array(
 		'id' => 'moderation_log_list',
-		'title' => '<a href="' . $scripturl . '?action=helpadmin;help=' . ($context['log_type'] == 3 ? 'adminlog' : 'modlog') . '" onclick="return reqWin(this.href);" class="help"><img src="' . $settings['images_url'] . '/helptopics.png" alt="' . $txt['help'] . '" align="top" /></a> ' . $txt['modlog_' . ($context['log_type'] == 3 ? 'admin' : 'moderation') . '_log'],
+		'title' => '<a href="' . $scripturl . '?action=helpadmin;help=' . ($context['log_type'] == 3 ? 'adminlog' : 'modlog') . '" onclick="return reqWin(this.href);" class="help"><img src="' . $settings['images_url'] . '/helptopics.png" alt="' . $txt['help'] . '" /></a> ' . $txt['modlog_' . ($context['log_type'] == 3 ? 'admin' : 'moderation') . '_log'],
 		'width' => '100%',
 		'items_per_page' => $context['displaypage'],
 		'no_items_label' => $txt['modlog_' . ($context['log_type'] == 3 ? 'admin_log_' : '') . 'no_entries_found'],

+ 1 - 1
Sources/Packages.php

@@ -1443,7 +1443,7 @@ function PackageBrowse()
 				array(
 					'position' => 'bottom_of_list',
 					'value' => ($context['sub_action'] == 'browse' ? '<div class="padding smalltext">' . $txt['package_installed_key'] . '<img src="' . $settings['images_url'] . '/icons/package_installed.png" alt="" class="centericon" style="margin-left: 1ex;" /> ' . $txt['package_installed_current'] . '<img src="' . $settings['images_url'] . '/icons/package_old.png" alt="" class="centericon" style="margin-left: 2ex;" /> ' . $txt['package_installed_old'] . '</div>' :
-					'<a class="button_link" href="' . $scripturl . '?action=admin;area=packages;sa=flush;' . $context['session_var'] . '=' . $context['session_id'] . '" onclick="return confirm(\'' . $txt['package_delete_list_warning'] . '\');">' . $txt['delete_list'] . '</a><span style="float: right; margin:.5em;"></span><a class="button_link" href="#" onclick="document.getElementById(\'advanced_box\').style.display = document.getElementById(\'advanced_box\').style.display == \'\' ? \'none\' : \'\'; return false;">' . $txt['package_advanced_button'] . '</a>'),
+					'<a class="button_link" href="' . $scripturl . '?action=admin;area=packages;sa=flush;' . $context['session_var'] . '=' . $context['session_id'] . '" onclick="return confirm(\'' . $txt['package_delete_list_warning'] . '\');">' . $txt['delete_list'] . '</a>'),
 				),
 			),
 		);

+ 2 - 8
Sources/Security.php

@@ -43,14 +43,8 @@ function validateSession($type = 'admin')
 	if (!empty($modSettings['securityDisable' . ($type != 'admin' ? '_' . $type : '')]))
 		return;
 		
-	// Or are they already logged in?
-	if ($type === 'moderate')
-	{
-		// Moderator or admin sesssion is need for this area
-		if ((!empty($_SESSION[$type . '_time']) && $_SESSION[$type . '_time'] + $refreshTime >= time()) || (!empty($_SESSION['admin_time']) && $_SESSION['admin_time'] + $refreshTime >= time()))
-			return;
-	}
-	elseif (!empty($_SESSION[$type . '_time']) && $_SESSION[$type . '_time'] + $refreshTime >= time())
+	// Or are they already logged in?, Moderator or admin sesssion is need for this area
+	if ((!empty($_SESSION[$type . '_time']) && $_SESSION[$type . '_time'] + $refreshTime >= time()) || (!empty($_SESSION['admin_time']) && $_SESSION['admin_time'] + $refreshTime >= time()))
 		return;
 
 	require_once($sourcedir . '/Subs-Auth.php');

+ 1 - 1
Sources/Subs.php

@@ -3500,7 +3500,7 @@ function create_button($name, $alt, $label = '', $custom = '', $force_use = fals
 	if (!$settings['use_image_buttons'])
 		return $txt[$alt];
 	elseif (!empty($settings['use_buttons']))
-		return '<img src="' . $settings['images_url'] . '/buttons/' . $name . '" alt="' . $txt[$alt] . '" ' . $custom . ' />' . ($label != '' ? '<strong>' . $txt[$label] . '</strong>' : '');
+		return '<img src="' . $settings['images_url'] . '/buttons/' . $name . '" alt="' . $txt[$alt] . '" ' . $custom . ' />' . ($label != '' ? '&nbsp;<strong>' . $txt[$label] . '</strong>' : '');
 	else
 		return '<img src="' . $settings['lang_images_url'] . '/' . $name . '" alt="' . $txt[$alt] . '" ' . $custom . ' />';
 }

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

@@ -27,7 +27,7 @@ function template_admin()
 		echo '
 			<object id="quick_search">
 				<form action="', $scripturl, '?action=admin;area=search" method="post" accept-charset="', $context['character_set'], '" class="floatright">
-					<img src="', $settings['images_url'] , '/filter.png" alt="" />
+					<img class="icon" src="', $settings['images_url'] , '/filter.png" alt="" />
 					<input type="text" name="search_term" value="', $txt['admin_search'], '" onclick="if (this.value == \'', $txt['admin_search'], '\') this.value = \'\';" class="input_text" />
 					<select name="search_type">
 						<option value="internal"', (empty($context['admin_preferences']['sb']) || $context['admin_preferences']['sb'] == 'internal' ? ' selected="selected"' : ''), '>', $txt['admin_search_type_internal'], '</option>
@@ -1115,7 +1115,7 @@ function template_edit_profile_field()
 								</select>
 							</dd>
 							<dt>
-								<a id="field_show_enclosed" href="', $scripturl, '?action=helpadmin;help=field_show_enclosed" onclick="return reqWin(this.href);" class="help"><img src="', $settings['images_url'], '/helptopics.png" class="icon" alt="', $txt['help'], '" align="top" /></a>
+								<a id="field_show_enclosed" href="', $scripturl, '?action=helpadmin;help=field_show_enclosed" onclick="return reqWin(this.href);" class="help"><img src="', $settings['images_url'], '/helptopics.png" class="icon" alt="', $txt['help'], '" /></a>
 								<strong><label for="enclose">', $txt['custom_edit_enclose'], ':</label></strong><br />
 								<span class="smalltext">', $txt['custom_edit_enclose_desc'], '</span>
 							</dt>
@@ -1189,7 +1189,7 @@ function template_edit_profile_field()
 						<legend>', $txt['custom_edit_advanced'], '</legend>
 						<dl class="settings">
 							<dt id="mask_dt">
-								<a id="custom_mask" href="', $scripturl, '?action=helpadmin;help=custom_mask" onclick="return reqWin(this.href);" class="help"><img src="', $settings['images_url'], '/helptopics.png" class="icon" alt="', $txt['help'], '" align="top" /></a>
+								<a id="custom_mask" href="', $scripturl, '?action=helpadmin;help=custom_mask" onclick="return reqWin(this.href);" class="help"><img src="', $settings['images_url'], '/helptopics.png" class="icon" alt="', $txt['help'], '" /></a>
 								<strong><label for="mask">', $txt['custom_edit_mask'], ':</label></strong><br />
 								<span class="smalltext">', $txt['custom_edit_mask_desc'], '</span>
 							</dt>

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

@@ -56,7 +56,8 @@ function template_edit_news()
 				</tbody>
 			</table>
 			<div class="floatleft padding">
-				<div id="moreNewsItems_link" style="display: none;"><a class="button_link" href="javascript:void(0);" onclick="addNewsItem(); return false;">', $txt['editnews_clickadd'], '</a></div>
+				<div id="moreNewsItems_link" style="display: none;">
+					<a class="button_link" href="javascript:void(0);" onclick="addNewsItem(); return false;">', $txt['editnews_clickadd'], '</a></div>
 				<script type="text/javascript"><!-- // --><![CDATA[
 					document.getElementById("moreNewsItems_link").style.display = "";
 					function addNewsItem()
@@ -484,7 +485,7 @@ function template_email_members_send()
 		<form action="', $scripturl, '?action=admin;area=news;sa=mailingsend" method="post" accept-charset="', $context['character_set'], '" name="autoSubmit" id="autoSubmit">
 			<div class="cat_bar">
 				<h3 class="catbg">
-					<a href="', $scripturl, '?action=helpadmin;help=email_members" onclick="return reqWin(this.href);" class="help"><img src="', $settings['images_url'], '/helptopics.png" alt="', $txt['help'], '" align="top" /></a> ', $txt['admin_newsletters'], '
+					<a href="', $scripturl, '?action=helpadmin;help=email_members" onclick="return reqWin(this.href);" class="help"><img src="', $settings['images_url'], '/helptopics.png" alt="', $txt['help'], '" /></a> ', $txt['admin_newsletters'], '
 				</h3>
 			</div>
 			<div class="windowbg">

+ 5 - 5
Themes/default/ManageSearch.template.php

@@ -25,7 +25,7 @@ function template_modify_weights()
 				<div class="content">
 					<dl class="settings">
 						<dt class="large_caption">
-							<a href="', $scripturl, '?action=helpadmin;help=search_weight_frequency" onclick="return reqWin(this.href);" class="help"><img src="', $settings['images_url'], '/helptopics.png" alt="', $txt['help'], '" align="top" /></a><label for="weight1_val">
+							<a href="', $scripturl, '?action=helpadmin;help=search_weight_frequency" onclick="return reqWin(this.href);" class="help"><img src="', $settings['images_url'], '/helptopics.png" alt="', $txt['help'], '" /></a><label for="weight1_val">
 							', $txt['search_weight_frequency'], ':</label>
 						</dt>
 						<dd class="large_caption">
@@ -33,7 +33,7 @@ function template_modify_weights()
 							<span id="weight1" class="search_weight">', $context['relative_weights']['search_weight_frequency'], '%</span>
 						</dd>
 						<dt class="large_caption">
-							<a href="', $scripturl, '?action=helpadmin;help=search_weight_age" onclick="return reqWin(this.href);" class="help"><img src="', $settings['images_url'], '/helptopics.png" alt="', $txt['help'], '" align="top" /></a><label for="weight2_val">
+							<a href="', $scripturl, '?action=helpadmin;help=search_weight_age" onclick="return reqWin(this.href);" class="help"><img src="', $settings['images_url'], '/helptopics.png" alt="', $txt['help'], '" /></a><label for="weight2_val">
 							', $txt['search_weight_age'], ':</label>
 						</dt>
 						<dd class="large_caption">
@@ -41,7 +41,7 @@ function template_modify_weights()
 							<span id="weight2" class="search_weight">', $context['relative_weights']['search_weight_age'], '%</span>
 						</dd>
 						<dt class="large_caption">
-							<a href="', $scripturl, '?action=helpadmin;help=search_weight_length" onclick="return reqWin(this.href);" class="help"><img src="', $settings['images_url'], '/helptopics.png" alt="', $txt['help'], '" align="top" /></a><label for="weight3_val">
+							<a href="', $scripturl, '?action=helpadmin;help=search_weight_length" onclick="return reqWin(this.href);" class="help"><img src="', $settings['images_url'], '/helptopics.png" alt="', $txt['help'], '" /></a><label for="weight3_val">
 							', $txt['search_weight_length'], ':</label>
 						</dt>
 						<dd class="large_caption">
@@ -49,7 +49,7 @@ function template_modify_weights()
 							<span id="weight3" class="search_weight">', $context['relative_weights']['search_weight_length'], '%</span>
 						</dd>
 						<dt class="large_caption">
-							<a href="', $scripturl, '?action=helpadmin;help=search_weight_subject" onclick="return reqWin(this.href);" class="help"><img src="', $settings['images_url'], '/helptopics.png" alt="', $txt['help'], '" align="top" /></a><label for="weight4_val">
+							<a href="', $scripturl, '?action=helpadmin;help=search_weight_subject" onclick="return reqWin(this.href);" class="help"><img src="', $settings['images_url'], '/helptopics.png" alt="', $txt['help'], '" /></a><label for="weight4_val">
 							', $txt['search_weight_subject'], ':</label>
 						</dt>
 						<dd class="large_caption">
@@ -57,7 +57,7 @@ function template_modify_weights()
 							<span id="weight4" class="search_weight">', $context['relative_weights']['search_weight_subject'], '%</span>
 						</dd>
 						<dt class="large_caption">
-							<a href="', $scripturl, '?action=helpadmin;help=search_weight_first_message" onclick="return reqWin(this.href);" class="help"><img src="', $settings['images_url'], '/helptopics.png" alt="', $txt['help'], '" align="top" /></a><label for="weight5_val">
+							<a href="', $scripturl, '?action=helpadmin;help=search_weight_first_message" onclick="return reqWin(this.href);" class="help"><img src="', $settings['images_url'], '/helptopics.png" alt="', $txt['help'], '" /></a><label for="weight5_val">
 							', $txt['search_weight_first_message'], ':</label>
 						</dt>
 						<dd class="large_caption">

+ 12 - 12
Themes/default/ModerationCenter.template.php

@@ -263,10 +263,10 @@ function template_reported_posts()
 		</div>';
 
 	// Make the buttons.
-	$close_button = create_button('close.png', $context['view_closed'] ? 'mc_reportedp_open' : 'mc_reportedp_close', $context['view_closed'] ? 'mc_reportedp_open' : 'mc_reportedp_close', 'align="middle"');
-	$details_button = create_button('details.png', 'mc_reportedp_details', 'mc_reportedp_details', 'align="middle"');
-	$ignore_button = create_button('ignore.png', 'mc_reportedp_ignore', 'mc_reportedp_ignore', 'align="middle"');
-	$unignore_button = create_button('ignore.png', 'mc_reportedp_unignore', 'mc_reportedp_unignore', 'align="middle"');
+	$close_button = create_button('close.png', $context['view_closed'] ? 'mc_reportedp_open' : 'mc_reportedp_close', $context['view_closed'] ? 'mc_reportedp_open' : 'mc_reportedp_close', 'class="centericon"');
+	$details_button = create_button('details.png', 'mc_reportedp_details', 'mc_reportedp_details', 'class="centericon"');
+	$ignore_button = create_button('ignore.png', 'mc_reportedp_ignore', 'mc_reportedp_ignore', 'class="centericon"');
+	$unignore_button = create_button('ignore.png', 'mc_reportedp_unignore', 'mc_reportedp_unignore', 'class="centericon"');
 
 	foreach ($context['reports'] as $report)
 	{
@@ -342,8 +342,8 @@ function template_unapproved_posts()
 		</div>';
 
 	// Make up some buttons
-	$approve_button = create_button('approve.png', 'approve', 'approve', 'align="middle"');
-	$remove_button = create_button('delete.png', 'remove_message', 'remove', 'align="middle"');
+	$approve_button = create_button('approve.png', 'approve', 'approve', 'class="centericon"');
+	$remove_button = create_button('delete.png', 'remove_message', 'remove', 'class="centericon"');
 
 	// No posts?
 	if (empty($context['unapproved_items']))
@@ -437,8 +437,8 @@ function template_unapproved_attachments()
 			</div>';
 
 	// The ever popular approve button, with the massively unpopular delete.
-	$approve_button = create_button('approve.png', 'approve', 'approve', 'align="middle"');
-	$remove_button = create_button('delete.png', 'remove_message', 'remove', 'align="middle"');
+	$approve_button = create_button('approve.png', 'approve', 'approve', 'class="centericon"');
+	$remove_button = create_button('delete.png', 'remove_message', 'remove', 'class="centericon"');
 
 	// None awaiting?
 	if (empty($context['unapproved_items']))
@@ -540,9 +540,9 @@ function template_viewmodreport()
 					<span class="floatright">';
 
 		// Make the buttons.
-		$close_button = create_button('close.png', $context['report']['closed'] ? 'mc_reportedp_open' : 'mc_reportedp_close', $context['report']['closed'] ? 'mc_reportedp_open' : 'mc_reportedp_close', 'align="middle"');
-		$ignore_button = create_button('ignore.png', 'mc_reportedp_ignore', 'mc_reportedp_ignore', 'align="middle"');
-		$unignore_button = create_button('ignore.png', 'mc_reportedp_unignore', 'mc_reportedp_unignore', 'align="middle"');
+		$close_button = create_button('close.png', $context['report']['closed'] ? 'mc_reportedp_open' : 'mc_reportedp_close', $context['report']['closed'] ? 'mc_reportedp_open' : 'mc_reportedp_close', 'class="centericon"');
+		$ignore_button = create_button('ignore.png', 'mc_reportedp_ignore', 'mc_reportedp_ignore', 'class="centericon"');
+		$unignore_button = create_button('ignore.png', 'mc_reportedp_unignore', 'mc_reportedp_unignore', 'class="centericon"');
 
 		echo '
 						<a href="', $scripturl, '?action=moderate;area=reports;ignore=', (int) !$context['report']['ignore'], ';rid=', $context['report']['id'], ';', $context['session_var'], '=', $context['session_id'], '" ', !$context['report']['ignore'] ? 'onclick="return confirm(\'' . $txt['mc_reportedp_ignore_confirm'] . '\');"' : '', '>', $context['report']['ignore'] ? $unignore_button : $ignore_button, '</a>
@@ -661,7 +661,7 @@ function template_user_watch_post_callback($post)
 
 	// We'll have a delete please bob.
 	if (empty($delete_button))
-		$delete_button = create_button('delete.png', 'remove_message', 'remove', 'align="middle"');
+		$delete_button = create_button('delete.png', 'remove_message', 'remove', 'class="centericon"');
 
 	$output_html = '
 					<div>

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

@@ -396,6 +396,7 @@ function template_view_package()
 		database_changes_area.style.display = "none";
 	// ]]></script>';
 }
+
 function template_extract_package()
 {
 	global $context, $settings, $options, $txt, $scripturl;
@@ -546,7 +547,7 @@ function template_browse()
 		echo '
 		<div class="cat_bar">
 			<h3 class="catbg">
-				<span class="ie6_header floatleft"><a href="', $scripturl, '?action=helpadmin;help=latest_packages" onclick="return reqWin(this.href);" class="help"><img class="icon" src="', $settings['images_url'], '/helptopics.png" alt="', $txt['help'], '" align="top" /></a> ', $txt['packages_latest'], '</span>
+				<span class="ie6_header floatleft"><a href="', $scripturl, '?action=helpadmin;help=latest_packages" onclick="return reqWin(this.href);" class="help"><img class="icon" src="', $settings['images_url'], '/helptopics.png" alt="', $txt['help'], '" /></a> ', $txt['packages_latest'], '</span>
 			</h3>
 		</div>
 		<div class="windowbg2">
@@ -603,10 +604,9 @@ function template_browse()
 		<div class="information">', $context['sub_action'] == 'browse' ? $txt['no_packages'] : $txt['no_mods_installed'], '</div>';
 
 	// the advanced (emulation) box, collapsed by default
-	if ($context['sub_action'] == 'browse')
-		echo '
+	echo '
 		<br class="clear" />
-		<form action="', $scripturl, '?action=admin;area=packages;sa=browse" method="get">
+		<form action="', $scripturl, '?action=admin;area=packages;sa=', $context['sub_action'], '" method="get">
 			<div id="advanced_box" >
 				<div class="cat_bar">
 					<h3 class="catbg">
@@ -640,7 +640,7 @@ function template_browse()
 			</div>
 			<input type="hidden" name="action" value="admin" />
 			<input type="hidden" name="area" value="packages" />
-			<input type="hidden" name="sa" value="browse" />
+			<input type="hidden" name="sa" value="', $context['sub_action'], '" />
 		</form>';
 	
 	echo '

+ 3 - 3
Themes/default/PersonalMessage.template.php

@@ -866,8 +866,8 @@ function template_search_results()
 
 				if ($context['can_send_pm'])
 				{
-					$quote_button = create_button('quote.png', 'reply_quote', 'reply_quote', 'align="middle"');
-					$reply_button = create_button('im_reply.png', 'reply', 'reply', 'align="middle"');
+					$quote_button = create_button('quote.png', 'reply_quote', 'reply_quote', 'class="centericon"');
+					$reply_button = create_button('im_reply.png', 'reply', 'reply', 'class="centericon"');
 					// You can only reply if they are not a guest...
 					if (!$message['member']['is_guest'])
 						echo '
@@ -986,7 +986,7 @@ function template_send()
 
 	// If there were errors for sending the PM, show them.
 	echo '
-				<div class="errorbox"', empty($context['post_error']['messages']) ? ' style="display: none"' : '', ' id="errors">
+				<div class="', empty($context['error_type']) || $context['error_type'] != 'serious' ? 'noticebox' : 'errorbox', '"', empty($context['post_error']['messages']) ? ' style="display: none"' : '', ' id="errors">
 					<dl>
 						<dt>
 							<strong id="error_serious">', $txt['error_while_submitting'] , '</strong>

+ 7 - 58
Themes/default/Profile.template.php

@@ -88,7 +88,7 @@ function template_summary()
 				', !isset($context['disabled_fields']['aim']) && !empty($context['member']['aim']['link']) ? '<li>' . $context['member']['aim']['link'] . '</li>' : '', '
 				', !isset($context['disabled_fields']['yim']) && !empty($context['member']['yim']['link']) ? '<li>' . $context['member']['yim']['link'] . '</li>' : '', '
 			</ul>
-			<span id="userstatus">', $context['can_send_pm'] ? '<a href="' . $context['member']['online']['href'] . '" title="' . $context['member']['online']['label'] . '" rel="nofollow">' : '', $settings['use_image_buttons'] ? '<img src="' . $context['member']['online']['image_href'] . '" alt="' . $context['member']['online']['text'] . '" align="middle" />' : $context['member']['online']['text'], $context['can_send_pm'] ? '</a>' : '', $settings['use_image_buttons'] ? '<span class="smalltext"> ' . $context['member']['online']['text'] . '</span>' : '';
+			<span id="userstatus">', $context['can_send_pm'] ? '<a href="' . $context['member']['online']['href'] . '" title="' . $context['member']['online']['label'] . '" rel="nofollow">' : '', $settings['use_image_buttons'] ? '<img src="' . $context['member']['online']['image_href'] . '" alt="' . $context['member']['online']['text'] . '" class="centericon" />' : $context['member']['online']['text'], $context['can_send_pm'] ? '</a>' : '', $settings['use_image_buttons'] ? '<span class="smalltext"> ' . $context['member']['online']['text'] . '</span>' : '';
 
 	// Can they add this member as a buddy?
 	if (!empty($context['can_have_buddy']) && !$context['user']['is_owner'])
@@ -344,10 +344,10 @@ function template_showPosts()
 		</div>';
 
 	// Button shortcuts
-	$quote_button = create_button('quote.png', 'reply_quote', 'quote', 'align="middle"');
-	$reply_button = create_button('reply_sm.png', 'reply', 'reply', 'align="middle"');
-	$remove_button = create_button('delete.png', 'remove_message', 'remove', 'align="middle"');
-	$notify_button = create_button('notify_sm.png', 'notify_replies', 'notify', 'align="middle"');
+	$quote_button = create_button('quote.png', 'reply_quote', 'quote', 'class="centericon"');
+	$reply_button = create_button('reply_sm.png', 'reply', 'reply', 'class="centericon"');
+	$remove_button = create_button('delete.png', 'remove_message', 'remove', 'class="centericon"');
+	$notify_button = create_button('notify_sm.png', 'notify_replies', 'notify', 'class="centericon"');
 
 	// Are we displaying posts or attachments?
 	if (!isset($context['attachments']))
@@ -2380,57 +2380,6 @@ function template_issueWarning()
 	</form>';
 
 	// Previous warnings?
-	echo '
-		<br />
-		<div class="cat_bar">
-			<h3 class="catbg">
-				', $txt['profile_warning_previous'], '
-			</h3>
-		</div>
-		<table border="0" width="100%" cellspacing="0" cellpadding="5" class="table_grid">
-			<thead>
-				<tr class="titlebg lefttext">
-					<th class="first_th" scope="col" width="20%">', $txt['profile_warning_previous_issued'], '</th>
-					<th scope="col" width="30%">', $txt['profile_warning_previous_time'], '</th>
-					<th scope="col">', $txt['profile_warning_previous_reason'], '</th>
-					<th class="last_th" scope="col" width="6%">', $txt['profile_warning_previous_level'], '</th>
-				</tr>
-			</thead>
-			<tbody>';
-
-	// Print the warnings.
-	$alternate = 0;
-	foreach ($context['previous_warnings'] as $warning)
-	{
-		$alternate = !$alternate;
-		echo '
-				<tr class="', $alternate ? 'windowbg' : 'windowbg2', '">
-					<td class="smalltext">', $warning['issuer']['link'], '</td>
-					<td class="smalltext">', $warning['time'], '</td>
-					<td class="smalltext">
-						<div class="floatleft">
-							', $warning['reason'], '
-						</div>';
-
-		if (!empty($warning['id_notice']))
-			echo '
-						<div class="floatright">
-							<a href="', $scripturl, '?action=moderate;area=notice;nid=', $warning['id_notice'], '" onclick="window.open(this.href, \'\', \'scrollbars=yes,resizable=yes,width=400,height=250\');return false;" target="_blank" class="new_win" title="', $txt['profile_warning_previous_notice'], '"><img src="', $settings['images_url'], '/filter.gif" alt="" /></a>
-						</div>';
-		echo '
-					</td>
-					<td class="smalltext">', $warning['counter'], '</td>
-				</tr>';
-	}
-
-	if (empty($context['previous_warnings']))
-		echo '
-				<tr class="windowbg2">
-					<td align="center" colspan="4">
-						', $txt['profile_warning_previous_none'], '
-					</td>
-				</tr>';
-
 	template_show_list('view_warnings');
 
 	// Do our best to get pretty javascript enabled.
@@ -2953,12 +2902,12 @@ function template_profile_smiley_pick()
 								<strong><label for="smiley_set">', $txt['smileys_current'], ':</label></strong>
 							</dt>
 							<dd>
-								<select name="smiley_set" id="smiley_set" onchange="document.getElementById(\'smileypr\').src = this.selectedIndex == 0 ? \'', $settings['images_url'], '/blank.png\' : \'', $modSettings['smileys_url'], '/\' + (this.selectedIndex != 1 ? this.options[this.selectedIndex].value : \'', !empty($settings['smiley_sets_default']) ? $settings['smiley_sets_default'] : $modSettings['smiley_sets_default'], '\') + \'/smiley.png\';">';
+								<select name="smiley_set" id="smiley_set" onchange="document.getElementById(\'smileypr\').src = this.selectedIndex == 0 ? \'', $settings['images_url'], '/blank.png\' : \'', $modSettings['smileys_url'], '/\' + (this.selectedIndex != 1 ? this.options[this.selectedIndex].value : \'', !empty($settings['smiley_sets_default']) ? $settings['smiley_sets_default'] : $modSettings['smiley_sets_default'], '\') + \'/smiley.gif\';">';
 	foreach ($context['smiley_sets'] as $set)
 		echo '
 									<option value="', $set['id'], '"', $set['selected'] ? ' selected="selected"' : '', '>', $set['name'], '</option>';
 	echo '
-								</select> <img id="smileypr" src="', $context['member']['smiley_set']['id'] != 'none' ? $modSettings['smileys_url'] . '/' . ($context['member']['smiley_set']['id'] != '' ? $context['member']['smiley_set']['id'] : (!empty($settings['smiley_sets_default']) ? $settings['smiley_sets_default'] : $modSettings['smiley_sets_default'])) . '/smiley.png' : $settings['images_url'] . '/blank.png', '" alt=":)" align="top" style="padding-left: 20px;" />
+								</select> <img id="smileypr" class="centericon" src="', $context['member']['smiley_set']['id'] != 'none' ? $modSettings['smileys_url'] . '/' . ($context['member']['smiley_set']['id'] != '' ? $context['member']['smiley_set']['id'] : (!empty($settings['smiley_sets_default']) ? $settings['smiley_sets_default'] : $modSettings['smiley_sets_default'])) . '/smiley.gif' : $settings['images_url'] . '/blank.png', '" alt=":)"  style="padding-left: 20px;" />
 							</dd>';
 }
 

+ 3 - 3
Themes/default/SendTopic.template.php

@@ -180,9 +180,9 @@ function template_custom_email()
 							<textarea id="email_body" name="email_body" rows="10" cols="20" style="' . (isBrowser('is_ie8') ? 'width: 635px; max-width: 90%; min-width: 90%' : 'width: 90%') . ';"></textarea>
 						</dd>
 					</dl>
-					<div class="righttext">
-						<input type="submit" name="send" value="', $txt['sendtopic_send'], '" class="button_submit" />
-					</div>
+					<hr class="hrcolor" />
+					<input type="submit" name="send" value="', $txt['sendtopic_send'], '" class="button_submit" />
+					<br class="clear_right" />
 				</div>
 				<span class="botslice"><span></span></span>
 			</div>';

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

@@ -21,7 +21,7 @@ function template_main()
 			<input type="hidden" value="0" name="options[theme_allow]" />
 			<div class="cat_bar">
 				<h3 class="catbg">
-					<span class="ie6_header floatleft"><a href="', $scripturl, '?action=helpadmin;help=themes" onclick="return reqWin(this.href);" class="help"><img src="', $settings['images_url'], '/helptopics.png" class="icon" alt="', $txt['help'], '" align="top" /></a>
+					<span class="ie6_header floatleft"><a href="', $scripturl, '?action=helpadmin;help=themes" onclick="return reqWin(this.href);" class="help"><img src="', $settings['images_url'], '/helptopics.png" class="icon" alt="', $txt['help'], '" /></a>
 					', $txt['themeadmin_title'], '
 					</span>
 				</h3>
@@ -509,7 +509,7 @@ function template_set_settings()
 		echo '
 			<div class="cat_bar">
 				<h3 class="catbg">
-					<span class="ie6_header floatleft"><img src="', $settings['images_url'], '/icons/config_sm.png" alt="" align="top" /> ', $txt['theme_variants'], '</span>
+					<span class="ie6_header floatleft"><img class="icon" src="', $settings['images_url'], '/icons/config_sm.png" alt="" /> ', $txt['theme_variants'], '</span>
 				</h3>
 			</div>
 			<div class="windowbg2">

+ 53 - 78
Themes/default/css/index.css

@@ -75,28 +75,18 @@ form
 	.input_text    - covers input[type=text] throughout all browsers
 	.input_file    - covers input[type=file] throughout all browsers
 */
-
-input, button, select, textarea
+input, button, select, textarea, textarea.editor 
 {
+	background: #fff;
+	outline: none !important;
+	border: 1px solid #bbb;
+	vertical-align: middle;
+	border-radius: 3px;
+	box-shadow: 0 2px 5px rgba(0,0,0,0.05) inset;
+    padding: 3px;
 	font: 95%/115% verdana, Helvetica, sans-serif;
 	color: #000;
-	background: #fff;
-	border: 1px solid #7f9db9;
-	padding: 2px;
 }
-
-/* Select elements look horrible with the extra padding, so leave them unpadded. */
-select
-{
-	padding: 0;
-}
-
-/* Add some padding to the options instead. */
-select option
-{
-	padding: 2px;
-}
-
 /* The font size of textareas should be just a little bit larger. */
 textarea
 {
@@ -109,7 +99,7 @@ textarea
 	float: none;
 	margin-left: inherit;
 }
-.button_submit, .button_reset
+.button_submit, .button_reset, .button_link
 {
 	background: #cde7ff url(../images/theme/submit_bg.png) no-repeat;
 	border: 1px solid #aaa;
@@ -118,32 +108,19 @@ textarea
 	margin-left: 1em;
 	float: right;
 }
-input:hover, textarea:hover, button:hover, select:hover
-{
-	border: 1px solid #454545;
-}
-.button_submit:hover, .button_reset:hover
-{
-	border: 1px solid #aaa;
-	background: url(../images/theme/submit_bg.png) no-repeat 0 -140px #cde7ff;
-}
-input:focus, textarea:focus, button:focus, select:focus
+.button_link
 {
-	border: 1px solid #454545;
+	padding: 4px 5px 4px 4px;
+	font: 95%/115% verdana, Helvetica, sans-serif;
+	float: right;
+	border-radius: 3px;
 }
-/* Lotsa new stuff innit */
-/* Nifty input focus styling from Mollyhawk pages. */
-
-input, select, textarea, textarea.editor 
-{
-	background: #fff;
-	outline: none !important;
-	border: 1px solid #bbb;
-	vertical-align: top;
-	border-radius: 4px;
-	box-shadow: 0 2px 5px rgba(0,0,0,0.05) inset;
+a.button_link
+{ 
+	color: #000;
+	margin: 0 !important;
 }
-input:hover, select:hover, textarea:hover, textarea.editor:hover 
+input:hover, textarea:hover, button:hover, select:hover
 {
 	outline: none !important;
 	border: 1px solid #999;
@@ -152,39 +129,24 @@ textarea:hover, textarea.editor:hover
 {
 	background: #fbfbfb;
 }
-input:focus, select:focus, textarea:focus, textarea.editor:focus 
+.button_submit:hover, .button_reset:hover, .button_link:hover
 {
-	outline:none !important;
-	border: 1px solid #999;
-	box-shadow: 0 2px 5px rgba(0,0,0,0.1) inset;
+	border: 1px solid #aaa;
+	background: url(../images/theme/submit_bg.png) no-repeat 0 -140px #cde7ff;
 }
-select option 
+.button_link:hover
 {
-	padding: 0.1em 0.3em;
+	text-decoration: none;
 }
-/* End lotsa new stuff */
-
-.button_link
+input:focus, textarea:focus, button:focus, select:focus, textarea.editor:focus
 {
-	background: #cde7ff url(../images/theme/submit_bg.png) no-repeat;
-	border: 1px solid #aaa;
-	padding: 3px 5px 3px 4px;
-	font: 95%/115% verdana, Helvetica, sans-serif;
-	cursor: pointer;
-	font-weight: normal;
-	float: right;
-	border-radius: 4px;
-}
-a.button_link
-{ 
-	color: #000;
-	margin: 0 !important;
+	outline:none !important;
+	border: 1px solid #999;
+	box-shadow: 0 2px 5px rgba(0,0,0,0.1) inset;
 }
-.button_link:hover, .button_link:hover
+select option 
 {
-	border: 1px solid #aaa;
-	text-decoration: none;
-	background: url(../images/theme/submit_bg.png) no-repeat 0 -140px #cde7ff;
+	padding: 0em 0.3em 0 0.3em;
 }
 
 /* the new "button" */
@@ -208,6 +170,7 @@ input.input_check, input.input_radio
 {
 	border: none;
 	background: none;
+	vertical-align: top;
 }
 h3.catbg input.input_check
 {
@@ -223,10 +186,15 @@ input[disabled].input_text
 /* Standard horizontal rule.. ([hr], etc.) */
 hr, .hrcolor
 {
-	height: 1px;
-	border: 0;
+    height: 1px;
+    border: none;
 	color: #ccc;
 	background-color: #ccc;
+    background: -webkit-gradient(linear, 0 0, 100% 0, from(rgba(50, 50, 50, 0.01)), to(rgba(80, 80, 80, 0.01)), color-stop(.5, #c4c4c4));
+    background: -moz-linear-gradient(left, rgba(0, 0 ,0, 0.001) 0%, rgba(201,201,201,1) 50%, rgba(0, 0, 0, 0.001) 100%);
+    background: -ms-linear-gradient(left, hsla(0, 0%, 0%, 0) 0%, hsla(0, 0%, 0%, .75) 50%, hsla(0, 0%, 0%, 0) 100%);
+    background: -o-linear-gradient(left, hsla(0, 0%, 0%, 0) 0%, hsla(0, 0%, 0%, .75) 50%, hsla(0, 0%, 0%, 0) 100%);
+    background: linear-gradient(left, hsla(0, 0%, 0%, 0) 0%, hsla(0, 0%, 0%, .75) 50%, hsla(0, 0%, 0%, 0) 100%);
 }
 
 /* By default set the color on these tags as #000. */
@@ -242,13 +210,18 @@ h1, h2, h3, h4, h5, h6
 fieldset
 {
 	border: 1px solid #c4c4c4;
-	padding: 1em;
+	padding: 1.5em;
 	margin: 0 0 0.5em 0;
+    border-radius: 3px;
 }
 fieldset legend
 {
 	font-weight: bold;
-	color: #444;
+	color: #555;
+    border-radius: 3px;
+	border: 1px solid #999;
+	box-shadow: 0 2px 5px rgba(0,0,0,0.1);
+    padding: 3px 6px;
 }
 
 /* Define strong as bold, and em as italics */
@@ -535,8 +508,9 @@ tr.catbg th a:link, tr.catbg th a:visited, tr.catbg2 td a:link, tr.catbg2 td a:v
 }
 .catbg select
 {
-	height: 1.8em;
+	height: 2em;
 	font-size: 0.85em;
+	padding: 0;
 }
 
 /* Alternating backgrounds for posts, and several other sections of the forum. */
@@ -811,12 +785,13 @@ dl.settings dd
 dl.settings img
 {
 	margin: 0 10px 0 0;
+	vertical-align: middle;
 }
 /* help icons */
 dl.settings dt a img
 {
 	position: relative;
-	top: 2px;
+	vertical-align: top;
 }
 
 /* Styles for rounded headers.
@@ -1167,7 +1142,7 @@ span.lowerframe span
 {
 	position: absolute;
 	visibility: hidden;
-	border-radius: 4px;
+	border-radius: 3px;
 	outline: none !important;
 	border: 1px solid #bbb;
 }
@@ -1215,7 +1190,7 @@ span.lowerframe span
 	padding: 0 5px 0 5px;
 	margin: 0 0 0 0;
 	display: block;
-	border-radius: 4px;
+	border-radius: 3px;
 }
 /* Level 1 active button. */
 .dropmenu li a.active
@@ -1246,7 +1221,7 @@ span.lowerframe span
 	font-size: 1.1em;
 	background: #fff url(../images/theme/menu_gfx.png) -30px -137px repeat-x;
 	border: solid 1px #999;
-	border-radius: 4px;
+	border-radius: 3px;
 	/* Note: Using a black rgba box-shadow with suitable
 	alpha value gives the best effect on any background. */
 	box-shadow: 1px 2px 2px rgba(0,0,0,0.3);
@@ -2694,7 +2669,7 @@ h3.titlebg img
 {
 	vertical-align: middle;
 	margin-right: 0.5em;
-	margin-top: -1px;
+	margin-top: -4px;
 }
 tr.titlebg td
 {

+ 2 - 2
Themes/default/languages/Errors.english.php

@@ -278,8 +278,8 @@ $txt['package_upload_error_broken'] = 'Package upload failed due to the followin
 $txt['package_get_error_not_found'] = 'The package you are trying to install cannot be located. You may want to manually upload the package to your Packages directory.';
 $txt['package_get_error_missing_xml'] = 'The package you are attempting to install is missing the package-info.xml that must be in the root package directory.';
 $txt['package_get_error_is_zero'] = 'Although the package was downloaded to the server it appears to be empty. Please check the Packages directory, and the &quot;temp&quot; sub-directory are both writable. If you continue to experience this problem you should try extracting the package on your PC and uploading the extracted files into a subdirectory in your Packages directory and try again. For example, if the package was called shout.tar.gz you should:<br />1) Download the package to your local PC and extract it into files.<br />2) Using an FTP client create a new directory in your &quot;Packages&quot; folder, in this example you may call it "shout".<br />3) Upload all the files from the extracted package to this directory.<br />4) Go back to the package manager browse page and the package will be automatically found by SMF.';
-$txt['package_get_error_packageinfo_corrupt'] = 'SMF was unable to find any valid information within the package-info.xml file of the package. There may be an error with the modification, or the package may be corrupt.';
-$txt['package_get_error_is_theme'] = 'The package you are trying to install is a theme and not a mod. Please use the <a href="{MANAGETHEMEURL}">Themes and Layout</a> management page to upload it';
+$txt['package_get_error_packageinfo_corrupt'] = 'SMF was unable to find any valid information within the package-info.xml file included within the Package. There may be an error with the modification, or the package may be corrupt.';
+$txt['package_get_error_is_theme'] = 'You can\'t install a Theme from this section, please use the <a href="{MANAGETHEMEURL}">Themes and Layout</a> management page to upload it';
 
 $txt['no_membergroup_selected'] = 'No membergroup selected';
 $txt['membergroup_does_not_exist'] = 'The membergroup doesn\'t exist or is invalid.';

+ 1 - 0
Themes/default/languages/Post.english.php

@@ -48,6 +48,7 @@ $txt['thumbs_up'] = 'Thumb Up';
 $txt['thumbs_down'] = 'Thumb Down';
 $txt['excamation_point'] = 'Exclamation point';
 $txt['question_mark'] = 'Question mark';
+$txt['icon_poll'] = 'Poll';
 $txt['lamp'] = 'Lamp';
 $txt['add_smileys'] = 'Add Smileys';
 $txt['flash'] = 'Insert Flash';

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

@@ -427,7 +427,7 @@ $txt['profile_warning_previous_notice'] = 'View Notice Sent to Member';
 
 $txt['viewwarning'] = 'View Warnings';
 $txt['profile_viewwarning_for_user'] = 'Warnings for %1$s';
-$txt['profile_viewwarning_no_warnings'] = 'No warnings have yet been issued.';
+$txt['profile_viewwarning_no_warnings'] = 'No warnings have been issued.';
 $txt['profile_viewwarning_desc'] = 'Below is a summary of all the warnings that have been issued by the forum moderation team.';
 $txt['profile_viewwarning_previous_warnings'] = 'Previous Warnings';
 $txt['profile_viewwarning_impact'] = 'Warning Impact';

+ 1 - 1
other/upgrade_2-1_mysql.sql

@@ -141,7 +141,7 @@ ALTER TABLE {$db_prefix}log_errors
 CHANGE `session` char(64) NOT NULL default '                                                                ';
 
 ALTER TABLE {$db_prefix}sessions
-CHANGE `session_id` char(64) NOT NULL default '';
+CHANGE `session_id` char(64) NOT NULL;
 ---#
 
 /******************************************************************************/

+ 1 - 1
other/upgrade_2-1_postgresql.sql

@@ -145,7 +145,7 @@ ALTER TABLE {$db_prefix}log_errors
 CHANGE `session` char(64) NOT NULL default '                                                                ';
 
 ALTER TABLE {$db_prefix}sessions
-CHANGE `session_id` char(64) NOT NULL default '';
+CHANGE `session_id` char(64) NOT NULL;
 ---#
 
 /******************************************************************************/

+ 1 - 1
other/upgrade_2-1_sqlite.sql

@@ -141,7 +141,7 @@ ALTER TABLE {$db_prefix}log_errors
 CHANGE `session` char(64) NOT NULL default '                                                                ';
 
 ALTER TABLE {$db_prefix}sessions
-CHANGE `session_id` char(64) NOT NULL default '';
+CHANGE `session_id` char(64) NOT NULL;
 ---#
 
 /******************************************************************************/