Index: wp-includes/kses.php
===================================================================
--- wp-includes/kses.php	(revision 19905)
+++ wp-includes/kses.php	(working copy)
@@ -51,348 +51,390 @@
 	$allowedposttags = array(
 		'address' => array(),
 		'a' => array(
-			'class' => array (),
-			'href' => array (),
-			'id' => array (),
-			'title' => array (),
-			'rel' => array (),
-			'rev' => array (),
-			'name' => array (),
-			'target' => array()),
+			'class' => true,
+			'href' => true,
+			'id' => true,
+			'title' => true,
+			'rel' => true,
+			'rev' => true,
+			'name' => true,
+			'target' => true,
+		),
 		'abbr' => array(
-			'class' => array (),
-			'title' => array ()),
+			'class' => true,
+			'title' => true,
+		),
 		'acronym' => array(
-			'title' => array ()),
+			'title' => true,
+		),
 		'article' => array(
-			'align' => array (),
-			'class' => array (),
-			'dir' => array (),
-			'lang' => array(),
-			'style' => array (),
-			'xml:lang' => array(),
+			'align' => true,
+			'class' => true,
+			'dir' => true,
+			'lang' => true,
+			'style' => true,
+			'xml:lang' => true,
 		),
 		'aside' => array(
-			'align' => array (),
-			'class' => array (),
-			'dir' => array (),
-			'lang' => array(),
-			'style' => array (),
-			'xml:lang' => array(),
+			'align' => true,
+			'class' => true,
+			'dir' => true,
+			'lang' => true,
+			'style' => true,
+			'xml:lang' => true,
 		),
 		'b' => array(),
 		'big' => array(),
 		'blockquote' => array(
-			'id' => array (),
-			'cite' => array (),
-			'class' => array(),
-			'lang' => array(),
-			'xml:lang' => array()),
+			'id' => true,
+			'cite' => true,
+			'class' => true,
+			'lang' => true,
+			'xml:lang' => true,
+		),
 		'br' => array (
-			'class' => array ()),
+			'class' => true,
+		),
 		'button' => array(
-			'disabled' => array (),
-			'name' => array (),
-			'type' => array (),
-			'value' => array ()),
+			'disabled' => true,
+			'name' => true,
+			'type' => true,
+			'value' => true,
+		),
 		'caption' => array(
-			'align' => array (),
-			'class' => array ()),
+			'align' => true,
+			'class' => true,
+		),
 		'cite' => array (
-			'class' => array(),
-			'dir' => array(),
-			'lang' => array(),
-			'title' => array ()),
+			'class' => true,
+			'dir' => true,
+			'lang' => true,
+			'title' => true,
+		),
 		'code' => array (
-			'style' => array()),
+			'style' => true,
+		),
 		'col' => array(
-			'align' => array (),
-			'char' => array (),
-			'charoff' => array (),
-			'span' => array (),
-			'dir' => array(),
-			'style' => array (),
-			'valign' => array (),
-			'width' => array ()),
+			'align' => true,
+			'char' => true,
+			'charoff' => true,
+			'span' => true,
+			'dir' => true,
+			'style' => true,
+			'valign' => true,
+			'width' => true,
+		),
 		'del' => array(
-			'datetime' => array ()),
+			'datetime' => true,
+		),
 		'dd' => array(),
 		'details' => array(
-			'align' => array (),
-			'class' => array (),
-			'dir' => array (),
-			'lang' => array(),
-			'open' => array (),
-			'style' => array (),
-			'xml:lang' => array(),
+			'align' => true,
+			'class' => true,
+			'dir' => true,
+			'lang' => true,
+			'open' => true,
+			'style' => true,
+			'xml:lang' => true,
 		),
 		'div' => array(
-			'align' => array (),
-			'class' => array (),
-			'dir' => array (),
-			'lang' => array(),
-			'style' => array (),
-			'xml:lang' => array()),
+			'align' => true,
+			'class' => true,
+			'dir' => true,
+			'lang' => true,
+			'style' => true,
+			'xml:lang' => true,
+		),
 		'dl' => array(),
 		'dt' => array(),
 		'em' => array(),
 		'fieldset' => array(),
 		'figure' => array(
-			'align' => array (),
-			'class' => array (),
-			'dir' => array (),
-			'lang' => array(),
-			'style' => array (),
-			'xml:lang' => array(),
+			'align' => true,
+			'class' => true,
+			'dir' => true,
+			'lang' => true,
+			'style' => true,
+			'xml:lang' => true,
 		),
 		'figcaption' => array(
-			'align' => array (),
-			'class' => array (),
-			'dir' => array (),
-			'lang' => array(),
-			'style' => array (),
-			'xml:lang' => array(),
+			'align' => true,
+			'class' => true,
+			'dir' => true,
+			'lang' => true,
+			'style' => true,
+			'xml:lang' => true,
 		),
 		'font' => array(
-			'color' => array (),
-			'face' => array (),
-			'size' => array ()),
+			'color' => true,
+			'face' => true,
+			'size' => true,
+		),
 		'footer' => array(
-			'align' => array (),
-			'class' => array (),
-			'dir' => array (),
-			'lang' => array(),
-			'style' => array (),
-			'xml:lang' => array(),
+			'align' => true,
+			'class' => true,
+			'dir' => true,
+			'lang' => true,
+			'style' => true,
+			'xml:lang' => true,
 		),
 		'form' => array(
-			'action' => array (),
-			'accept' => array (),
-			'accept-charset' => array (),
-			'enctype' => array (),
-			'method' => array (),
-			'name' => array (),
-			'target' => array ()),
+			'action' => true,
+			'accept' => true,
+			'accept-charset' => true,
+			'enctype' => true,
+			'method' => true,
+			'name' => true,
+			'target' => true,
+		),
 		'h1' => array(
-			'align' => array (),
-			'class' => array (),
-			'id'    => array (),
-			'style' => array ()),
+			'align' => true,
+			'class' => true,
+			'id'    => true,
+			'style' => true,
+		),
 		'h2' => array (
-			'align' => array (),
-			'class' => array (),
-			'id'    => array (),
-			'style' => array ()),
+			'align' => true,
+			'class' => true,
+			'id'    => true,
+			'style' => true,
+		),
 		'h3' => array (
-			'align' => array (),
-			'class' => array (),
-			'id'    => array (),
-			'style' => array ()),
+			'align' => true,
+			'class' => true,
+			'id'    => true,
+			'style' => true,
+		),
 		'h4' => array (
-			'align' => array (),
-			'class' => array (),
-			'id'    => array (),
-			'style' => array ()),
+			'align' => true,
+			'class' => true,
+			'id'    => true,
+			'style' => true,
+		),
 		'h5' => array (
-			'align' => array (),
-			'class' => array (),
-			'id'    => array (),
-			'style' => array ()),
+			'align' => true,
+			'class' => true,
+			'id'    => true,
+			'style' => true,
+		),
 		'h6' => array (
-			'align' => array (),
-			'class' => array (),
-			'id'    => array (),
-			'style' => array ()),
+			'align' => true,
+			'class' => true,
+			'id'    => true,
+			'style' => true,
+		),
 		'header' => array(
-			'align' => array (),
-			'class' => array (),
-			'dir' => array (),
-			'lang' => array(),
-			'style' => array (),
-			'xml:lang' => array(),
+			'align' => true,
+			'class' => true,
+			'dir' => true,
+			'lang' => true,
+			'style' => true,
+			'xml:lang' => true,
 		),
 		'hgroup' => array(
-			'align' => array (),
-			'class' => array (),
-			'dir' => array (),
-			'lang' => array(),
-			'style' => array (),
-			'xml:lang' => array(),
+			'align' => true,
+			'class' => true,
+			'dir' => true,
+			'lang' => true,
+			'style' => true,
+			'xml:lang' => true,
 		),
 		'hr' => array (
-			'align' => array (),
-			'class' => array (),
-			'noshade' => array (),
-			'size' => array (),
-			'width' => array ()),
+			'align' => true,
+			'class' => true,
+			'noshade' => true,
+			'size' => true,
+			'width' => true,
+		),
 		'i' => array(),
 		'img' => array(
-			'alt' => array (),
-			'align' => array (),
-			'border' => array (),
-			'class' => array (),
-			'height' => array (),
-			'hspace' => array (),
-			'longdesc' => array (),
-			'vspace' => array (),
-			'src' => array (),
-			'style' => array (),
-			'width' => array ()),
+			'alt' => true,
+			'align' => true,
+			'border' => true,
+			'class' => true,
+			'height' => true,
+			'hspace' => true,
+			'longdesc' => true,
+			'vspace' => true,
+			'src' => true,
+			'style' => true,
+			'width' => true,
+		),
 		'ins' => array(
-			'datetime' => array (),
-			'cite' => array ()),
+			'datetime' => true,
+			'cite' => true,
+		),
 		'kbd' => array(),
 		'label' => array(
-			'for' => array ()),
+			'for' => true,
+		),
 		'legend' => array(
-			'align' => array ()),
+			'align' => true,
+		),
 		'li' => array (
-			'align' => array (),
-			'class' => array ()),
+			'align' => true,
+			'class' => true,
+		),
 		'menu' => array (
-			'class' => array (),
-			'style' => array (),
-			'type' => array ()),
+			'class' => true,
+			'style' => true,
+			'type' => true,
+		),
 		'nav' => array(
-			'align' => array (),
-			'class' => array (),
-			'dir' => array (),
-			'lang' => array(),
-			'style' => array (),
-			'xml:lang' => array(),
+			'align' => true,
+			'class' => true,
+			'dir' => true,
+			'lang' => true,
+			'style' => true,
+			'xml:lang' => true,
 		),
 		'p' => array(
-			'class' => array (),
-			'align' => array (),
-			'dir' => array(),
-			'lang' => array(),
-			'style' => array (),
-			'xml:lang' => array()),
+			'class' => true,
+			'align' => true,
+			'dir' => true,
+			'lang' => true,
+			'style' => true,
+			'xml:lang' => true,
+		),
 		'pre' => array(
-			'style' => array(),
-			'width' => array ()),
+			'style' => true,
+			'width' => true,
+		),
 		'q' => array(
-			'cite' => array ()),
+			'cite' => true,
+		),
 		's' => array(),
 		'span' => array (
-			'class' => array (),
-			'dir' => array (),
-			'align' => array (),
-			'lang' => array (),
-			'style' => array (),
-			'title' => array (),
-			'xml:lang' => array()),
+			'class' => true,
+			'dir' => true,
+			'align' => true,
+			'lang' => true,
+			'style' => true,
+			'title' => true,
+			'xml:lang' => true,
+		),
 		'section' => array(
-			'align' => array (),
-			'class' => array (),
-			'dir' => array (),
-			'lang' => array(),
-			'style' => array (),
-			'xml:lang' => array(),
+			'align' => true,
+			'class' => true,
+			'dir' => true,
+			'lang' => true,
+			'style' => true,
+			'xml:lang' => true,
 		),
 		'strike' => array(),
 		'strong' => array(),
 		'sub' => array(),
 		'summary' => array(
-			'align' => array (),
-			'class' => array (),
-			'dir' => array (),
-			'lang' => array(),
-			'style' => array (),
-			'xml:lang' => array(),
+			'align' => true,
+			'class' => true,
+			'dir' => true,
+			'lang' => true,
+			'style' => true,
+			'xml:lang' => true,
 		),
 		'sup' => array(),
 		'table' => array(
-			'align' => array (),
-			'bgcolor' => array (),
-			'border' => array (),
-			'cellpadding' => array (),
-			'cellspacing' => array (),
-			'class' => array (),
-			'dir' => array(),
-			'id' => array(),
-			'rules' => array (),
-			'style' => array (),
-			'summary' => array (),
-			'width' => array ()),
+			'align' => true,
+			'bgcolor' => true,
+			'border' => true,
+			'cellpadding' => true,
+			'cellspacing' => true,
+			'class' => true,
+			'dir' => true,
+			'id' => true,
+			'rules' => true,
+			'style' => true,
+			'summary' => true,
+			'width' => true,
+		),
 		'tbody' => array(
-			'align' => array (),
-			'char' => array (),
-			'charoff' => array (),
-			'valign' => array ()),
+			'align' => true,
+			'char' => true,
+			'charoff' => true,
+			'valign' => true,
+		),
 		'td' => array(
-			'abbr' => array (),
-			'align' => array (),
-			'axis' => array (),
-			'bgcolor' => array (),
-			'char' => array (),
-			'charoff' => array (),
-			'class' => array (),
-			'colspan' => array (),
-			'dir' => array(),
-			'headers' => array (),
-			'height' => array (),
-			'nowrap' => array (),
-			'rowspan' => array (),
-			'scope' => array (),
-			'style' => array (),
-			'valign' => array (),
-			'width' => array ()),
+			'abbr' => true,
+			'align' => true,
+			'axis' => true,
+			'bgcolor' => true,
+			'char' => true,
+			'charoff' => true,
+			'class' => true,
+			'colspan' => true,
+			'dir' => true,
+			'headers' => true,
+			'height' => true,
+			'nowrap' => true,
+			'rowspan' => true,
+			'scope' => true,
+			'style' => true,
+			'valign' => true,
+			'width' => true,
+		),
 		'textarea' => array(
-			'cols' => array (),
-			'rows' => array (),
-			'disabled' => array (),
-			'name' => array (),
-			'readonly' => array ()),
+			'cols' => true,
+			'rows' => true,
+			'disabled' => true,
+			'name' => true,
+			'readonly' => true,
+		),
 		'tfoot' => array(
-			'align' => array (),
-			'char' => array (),
-			'class' => array (),
-			'charoff' => array (),
-			'valign' => array ()),
+			'align' => true,
+			'char' => true,
+			'class' => true,
+			'charoff' => true,
+			'valign' => true,
+		),
 		'th' => array(
-			'abbr' => array (),
-			'align' => array (),
-			'axis' => array (),
-			'bgcolor' => array (),
-			'char' => array (),
-			'charoff' => array (),
-			'class' => array (),
-			'colspan' => array (),
-			'headers' => array (),
-			'height' => array (),
-			'nowrap' => array (),
-			'rowspan' => array (),
-			'scope' => array (),
-			'valign' => array (),
-			'width' => array ()),
+			'abbr' => true,
+			'align' => true,
+			'axis' => true,
+			'bgcolor' => true,
+			'char' => true,
+			'charoff' => true,
+			'class' => true,
+			'colspan' => true,
+			'headers' => true,
+			'height' => true,
+			'nowrap' => true,
+			'rowspan' => true,
+			'scope' => true,
+			'valign' => true,
+			'width' => true,
+		),
 		'thead' => array(
-			'align' => array (),
-			'char' => array (),
-			'charoff' => array (),
-			'class' => array (),
-			'valign' => array ()),
+			'align' => true,
+			'char' => true,
+			'charoff' => true,
+			'class' => true,
+			'valign' => true,
+		),
 		'title' => array(),
 		'tr' => array(
-			'align' => array (),
-			'bgcolor' => array (),
-			'char' => array (),
-			'charoff' => array (),
-			'class' => array (),
-			'style' => array (),
-			'valign' => array ()),
+			'align' => true,
+			'bgcolor' => true,
+			'char' => true,
+			'charoff' => true,
+			'class' => true,
+			'style' => true,
+			'valign' => true,
+		),
 		'tt' => array(),
 		'u' => array(),
 		'ul' => array (
-			'class' => array (),
-			'style' => array (),
-			'type' => array ()),
+			'class' => true,
+			'style' => true,
+			'type' => true,
+		),
 		'ol' => array (
-			'class' => array (),
-			'start' => array (),
-			'style' => array (),
-			'type' => array ()),
-		'var' => array ());
+			'class' => true,
+			'start' => true,
+			'style' => true,
+			'type' => true,
+		),
+		'var' => array(),
+	);
 
 	/**
 	 * Kses allowed HTML elements.
@@ -402,20 +444,25 @@
 	 */
 	$allowedtags = array(
 		'a' => array(
-			'href' => array (),
-			'title' => array ()),
+			'href' => true,
+			'title' => true,
+		),
 		'abbr' => array(
-			'title' => array ()),
+			'title' => true,
+		),
 		'acronym' => array(
-			'title' => array ()),
+			'title' => true,
+		),
 		'b' => array(),
 		'blockquote' => array(
-			'cite' => array ()),
+			'cite' => true,
+		),
 		//	'br' => array(),
-		'cite' => array (),
+		'cite' => array(),
 		'code' => array(),
 		'del' => array(
-			'datetime' => array ()),
+			'datetime' => true,
+		),
 		//	'dd' => array(),
 		//	'dl' => array(),
 		//	'dt' => array(),
@@ -425,7 +472,8 @@
 		//	'ol' => array(),
 		//	'p' => array(),
 		'q' => array(
-			'cite' => array ()),
+			'cite' => true,
+		),
 		'strike' => array(),
 		'strong' => array(),
 		//	'sub' => array(),
@@ -674,6 +722,17 @@
 		if ( $current == '' )
 			continue; # the attribute is not allowed
 
+		if ( strtolower( $arreach['name'] ) == 'style' ) {
+			$orig_value = $arreach['value'];
+			$value = safecss_filter_attr( $orig_value );
+
+			if ( empty( $value ) )
+				continue;
+
+			$arreach['value'] = $value;
+			$arreach['whole'] = str_replace( $orig_value, $value, $arreach['whole'] );
+		}
+
 		if ( ! is_array($current) ) {
 			$attr2 .= ' '.$arreach['whole'];
 		# there are no checks
@@ -688,18 +747,7 @@
 				}
 			}
 
-			if ( strtolower($arreach['name']) == 'style' ) {
-				$orig_value = $arreach['value'];
-				$value = safecss_filter_attr($orig_value);
-
-				if ( empty($value) )
-					continue;
-
-				$arreach['value'] = $value;
-				$arreach['whole'] = str_replace($orig_value, $value, $arreach['whole']);
-			}
-
-			if ($ok)
+			if ( $ok )
 				$attr2 .= ' '.$arreach['whole']; # it passed them
 		} # if !is_array($current)
 	} # foreach
