From 00c7a213a0b88f260ad36aee5b3c66af8d32ded4 Mon Sep 17 00:00:00 2001 From: rob1n Date: Wed, 2 May 2007 04:17:43 +0000 Subject: [PATCH] Clean that mess up so it's more easily managed. git-svn-id: https://develop.svn.wordpress.org/trunk@5373 602fd350-edb4-49c9-b593-d223f7449a82 --- wp-includes/kses.php | 73 +++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 68 insertions(+), 5 deletions(-) diff --git a/wp-includes/kses.php b/wp-includes/kses.php index bf81981cd5..5a2e2ff391 100644 --- a/wp-includes/kses.php +++ b/wp-includes/kses.php @@ -18,27 +18,90 @@ if (!defined('CUSTOM_TAGS')) // You can override this in your my-hacks.php file if (!CUSTOM_TAGS) { - $allowedposttags = array ('address' => array (), 'a' => array ('href' => array (), 'title' => array (), 'rel' => array (), 'rev' => array (), 'name' => array ()), 'abbr' => array ('title' => array ()), 'acronym' => array ('title' => array ()), 'b' => array (), 'big' => array (), 'blockquote' => array ('cite' => array ()), 'br' => array (), 'button' => array ('disabled' => array (), 'name' => array (), 'type' => array (), 'value' => array ()), 'caption' => array ('align' => array ()), 'code' => array (), 'col' => array ('align' => array (), 'char' => array (), 'charoff' => array (), 'span' => array (), 'valign' => array (), 'width' => array ()), 'del' => array ('datetime' => array ()), 'dd' => array (), 'div' => array ('align' => array ()), 'dl' => array (), 'dt' => array (), 'em' => array (), 'fieldset' => array (), 'font' => array ('color' => array (), 'face' => array (), 'size' => array ()), 'form' => array ('action' => array (), 'accept' => array (), 'accept-charset' => array (), 'enctype' => array (), 'method' => array (), 'name' => array (), 'target' => array ()), 'h1' => array ('align' => array ()), 'h2' => array ('align' => array ()), 'h3' => array ('align' => array ()), 'h4' => array ('align' => array ()), 'h5' => array ('align' => array ()), 'h6' => array ('align' => array ()), 'hr' => array ('align' => array (), 'noshade' => array (), 'size' => array (), 'width' => array ()), 'i' => array (), 'img' => array ('alt' => array (), 'align' => array (), 'border' => array (), 'height' => array (), 'hspace' => array (), 'longdesc' => array (), 'vspace' => array (), 'src' => array (), 'width' => array ()), 'ins' => array ('datetime' => array (), 'cite' => array ()), 'kbd' => array (), 'label' => array ('for' => array ()), 'legend' => array ('align' => array ()), 'li' => array (), 'p' => array ('align' => array ()), 'pre' => array ('width' => array ()), 'q' => array ('cite' => array ()), 's' => array (), 'strike' => array (), 'strong' => array (), 'sub' => array (), 'sup' => array (), 'table' => array ('align' => array (), 'bgcolor' => array (), 'border' => array (), 'cellpadding' => array (), 'cellspacing' => array (), 'rules' => array (), 'summary' => array (), 'width' => array ()), 'tbody' => array ('align' => array (), 'char' => array (), 'charoff' => array (), 'valign' => array ()), 'td' => array ('abbr' => array (), 'align' => array (), 'axis' => array (), 'bgcolor' => array (), 'char' => array (), 'charoff' => array (), 'colspan' => array (), 'headers' => array (), 'height' => array (), 'nowrap' => array (), 'rowspan' => array (), 'scope' => array (), 'valign' => array (), 'width' => array ()), 'textarea' => array ('cols' => array (), 'rows' => array (), 'disabled' => array (), 'name' => array (), 'readonly' => array ()), 'tfoot' => array ('align' => array (), 'char' => array (), 'charoff' => array (), 'valign' => array ()), 'th' => array ('abbr' => array (), 'align' => array (), 'axis' => array (), 'bgcolor' => array (), 'char' => array (), 'charoff' => array (), 'colspan' => array (), 'headers' => array (), 'height' => array (), 'nowrap' => array (), 'rowspan' => array (), 'scope' => array (), 'valign' => array (), 'width' => array ()), 'thead' => array ('align' => array (), 'char' => array (), 'charoff' => array (), 'valign' => array ()), 'title' => array (), 'tr' => array ('align' => array (), 'bgcolor' => array (), 'char' => array (), 'charoff' => array (), 'valign' => array ()), 'tt' => array (), 'u' => array (), 'ul' => array (), 'ol' => array (), 'var' => array () ); - $allowedtags = array ('a' => array ('href' => array (), 'title' => array ()), 'abbr' => array ('title' => array ()), 'acronym' => array ('title' => array ()), 'b' => array (), 'blockquote' => array ('cite' => array ()), + $allowedposttags = array( + 'address' => array(), + 'a' => array('href' => array(), 'title' => array(), 'rel' => array(), 'rev' => array(), 'name' => array()), + 'abbr' => array('title' => array()), + 'acronym' => array('title' => array()), + 'b' => array(), + 'big' => array(), + 'blockquote' => array('cite' => array()), + 'br' => array(), + 'button' => array('disabled' => array(), 'name' => array(), 'type' => array(), 'value' => array()), + 'caption' => array('align' => array()), + 'code' => array(), + 'col' => array('align' => array(), 'char' => array(), 'charoff' => array(), 'span' => array(), 'valign' => array(), 'width' => array()), + 'del' => array('datetime' => array()), + 'dd' => array(), + 'div' => array('align' => array()), + 'dl' => array(), + 'dt' => array(), + 'em' => array(), + 'fieldset' => array(), + 'font' => array('color' => array(), 'face' => array(), 'size' => array()), + 'form' => array('action' => array(), 'accept' => array(), 'accept-charset' => array(), 'enctype' => array(), 'method' => array(), 'name' => array(), 'target' => array()), + 'h1' => array('align' => array()), + 'h2' => array('align' => array()), + 'h3' => array('align' => array()), + 'h4' => array('align' => array()), + 'h5' => array('align' => array()), + 'h6' => array('align' => array()), + 'hr' => array('align' => array(), 'noshade' => array(), 'size' => array(), 'width' => array()), + 'i' => array(), + 'img' => array('alt' => array(), 'align' => array(), 'border' => array(), 'height' => array(), 'hspace' => array(), 'longdesc' => array(), 'vspace' => array(), 'src' => array(), 'width' => array()), + 'ins' => array('datetime' => array(), 'cite' => array()), + 'kbd' => array(), + 'label' => array('for' => array()), + 'legend' => array('align' => array()), + 'li' => array(), + 'p' => array('align' => array()), + 'pre' => array('width' => array()), + 'q' => array('cite' => array()), + 's' => array(), + 'strike' => array(), + 'strong' => array(), + 'sub' => array(), + 'sup' => array(), + 'table' => array('align' => array(), 'bgcolor' => array(), 'border' => array(), 'cellpadding' => array(), 'cellspacing' => array(), 'rules' => array(), 'summary' => array(), 'width' => array()), + 'tbody' => array('align' => array(), 'char' => array(), 'charoff' => array(), 'valign' => array()), + 'td' => array('abbr' => array(), 'align' => array(), 'axis' => array(), 'bgcolor' => array(), 'char' => array(), 'charoff' => array(), 'colspan' => array(), 'headers' => array(), 'height' => array(), 'nowrap' => array(), 'rowspan' => array(), 'scope' => array(), 'valign' => array(), 'width' => array()), + 'textarea' => array('cols' => array(), 'rows' => array(), 'disabled' => array(), 'name' => array(), 'readonly' => array()), + 'tfoot' => array('align' => array(), 'char' => array(), 'charoff' => array(), 'valign' => array()), + 'th' => array('abbr' => array(), 'align' => array(), 'axis' => array(), 'bgcolor' => array(), 'char' => array(), 'charoff' => array(), 'colspan' => array(), 'headers' => array(), 'height' => array(), 'nowrap' => array(), 'rowspan' => array(), 'scope' => array(), 'valign' => array(), 'width' => array()), + 'thead' => array('align' => array(), 'char' => array(), 'charoff' => array(), 'valign' => array()), + 'title' => array(), + 'tr' => array('align' => array(), 'bgcolor' => array(), 'char' => array(), 'charoff' => array(), 'valign' => array()), + 'tt' => array(), 'u' => array(), 'ul' => array(), 'ol' => array(), 'var' => array() + ); + + $allowedtags = array( + 'a' => array('href' => array(), 'title' => array()), + 'abbr' => array('title' => array()), + 'acronym' => array('title' => array()), + 'b' => array(), + 'blockquote' => array('cite' => array()), // 'br' => array(), - 'code' => array (), + 'code' => array(), // 'del' => array('datetime' => array()), // 'dd' => array(), // 'dl' => array(), // 'dt' => array(), - 'em' => array (), 'i' => array (), + 'em' => array(), + 'i' => array(), // 'ins' => array('datetime' => array(), 'cite' => array()), // 'li' => array(), // 'ol' => array(), // 'p' => array(), // 'q' => array(), - 'strike' => array (), 'strong' => array (), + 'strike' => array(), + 'strong' => array(), // 'sub' => array(), // 'sup' => array(), // 'u' => array(), // 'ul' => array(), ); } + function wp_kses($string, $allowed_html, $allowed_protocols = array ('http', 'https', 'ftp', 'ftps', 'mailto', 'news', 'irc', 'gopher', 'nntp', 'feed', 'telnet')) ############################################################################### # This function makes sure that only the allowed HTML element names, attribute