From f4f0f80d2118437e5047ba266f92d7acb3c38fb7 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Mon, 11 Apr 2011 16:41:01 +0400 Subject: update HTMLPurifier; enable embedded flash video in articles --- .../library/HTMLPurifier/HTMLModule/Bdo.php | 0 .../HTMLPurifier/HTMLModule/CommonAttributes.php | 3 ++- .../library/HTMLPurifier/HTMLModule/Edit.php | 0 .../library/HTMLPurifier/HTMLModule/Forms.php | 0 .../library/HTMLPurifier/HTMLModule/Hypertext.php | 0 .../library/HTMLPurifier/HTMLModule/Image.php | 4 ++-- .../library/HTMLPurifier/HTMLModule/Legacy.php | 0 .../library/HTMLPurifier/HTMLModule/List.php | 6 ++++-- .../library/HTMLPurifier/HTMLModule/Name.php | 5 ++++- .../library/HTMLPurifier/HTMLModule/Nofollow.php | 19 +++++++++++++++++++ .../HTMLModule/NonXMLCommonAttributes.php | 0 .../library/HTMLPurifier/HTMLModule/Object.php | 0 .../library/HTMLPurifier/HTMLModule/Presentation.php | 0 .../library/HTMLPurifier/HTMLModule/Proprietary.php | 0 .../library/HTMLPurifier/HTMLModule/Ruby.php | 0 .../library/HTMLPurifier/HTMLModule/SafeEmbed.php | 5 +++-- .../library/HTMLPurifier/HTMLModule/SafeObject.php | 6 ++++-- .../library/HTMLPurifier/HTMLModule/Scripting.php | 0 .../HTMLPurifier/HTMLModule/StyleAttribute.php | 0 .../library/HTMLPurifier/HTMLModule/Tables.php | 0 .../library/HTMLPurifier/HTMLModule/Target.php | 0 .../library/HTMLPurifier/HTMLModule/Text.php | 0 .../library/HTMLPurifier/HTMLModule/Tidy.php | 6 +++--- .../library/HTMLPurifier/HTMLModule/Tidy/Name.php | 0 .../HTMLPurifier/HTMLModule/Tidy/Proprietary.php | 1 + .../library/HTMLPurifier/HTMLModule/Tidy/Strict.php | 0 .../HTMLPurifier/HTMLModule/Tidy/Transitional.php | 0 .../library/HTMLPurifier/HTMLModule/Tidy/XHTML.php | 0 .../HTMLPurifier/HTMLModule/Tidy/XHTMLAndHTML4.php | 0 .../HTMLPurifier/HTMLModule/XMLCommonAttributes.php | 0 30 files changed, 42 insertions(+), 13 deletions(-) mode change 100755 => 100644 lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Bdo.php mode change 100755 => 100644 lib/htmlpurifier/library/HTMLPurifier/HTMLModule/CommonAttributes.php mode change 100755 => 100644 lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Edit.php mode change 100755 => 100644 lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Forms.php mode change 100755 => 100644 lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Hypertext.php mode change 100755 => 100644 lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Image.php mode change 100755 => 100644 lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Legacy.php mode change 100755 => 100644 lib/htmlpurifier/library/HTMLPurifier/HTMLModule/List.php mode change 100755 => 100644 lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Name.php create mode 100644 lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Nofollow.php mode change 100755 => 100644 lib/htmlpurifier/library/HTMLPurifier/HTMLModule/NonXMLCommonAttributes.php mode change 100755 => 100644 lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Object.php mode change 100755 => 100644 lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Presentation.php mode change 100755 => 100644 lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Proprietary.php mode change 100755 => 100644 lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Ruby.php mode change 100755 => 100644 lib/htmlpurifier/library/HTMLPurifier/HTMLModule/SafeEmbed.php mode change 100755 => 100644 lib/htmlpurifier/library/HTMLPurifier/HTMLModule/SafeObject.php mode change 100755 => 100644 lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Scripting.php mode change 100755 => 100644 lib/htmlpurifier/library/HTMLPurifier/HTMLModule/StyleAttribute.php mode change 100755 => 100644 lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Tables.php mode change 100755 => 100644 lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Target.php mode change 100755 => 100644 lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Text.php mode change 100755 => 100644 lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy.php mode change 100755 => 100644 lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/Name.php mode change 100755 => 100644 lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/Proprietary.php mode change 100755 => 100644 lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/Strict.php mode change 100755 => 100644 lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/Transitional.php mode change 100755 => 100644 lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/XHTML.php mode change 100755 => 100644 lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/XHTMLAndHTML4.php mode change 100755 => 100644 lib/htmlpurifier/library/HTMLPurifier/HTMLModule/XMLCommonAttributes.php (limited to 'lib/htmlpurifier/library/HTMLPurifier/HTMLModule') diff --git a/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Bdo.php b/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Bdo.php old mode 100755 new mode 100644 diff --git a/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/CommonAttributes.php b/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/CommonAttributes.php old mode 100755 new mode 100644 index fdf7b3239..7c15da84f --- a/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/CommonAttributes.php +++ b/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/CommonAttributes.php @@ -8,7 +8,7 @@ class HTMLPurifier_HTMLModule_CommonAttributes extends HTMLPurifier_HTMLModule 'Core' => array( 0 => array('Style'), // 'xml:space' => false, - 'class' => 'NMTOKENS', + 'class' => 'Class', 'id' => 'ID', 'title' => 'CDATA', ), @@ -20,6 +20,7 @@ class HTMLPurifier_HTMLModule_CommonAttributes extends HTMLPurifier_HTMLModule 0 => array('Core', 'I18N') ) ); + } // vim: et sw=4 sts=4 diff --git a/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Edit.php b/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Edit.php old mode 100755 new mode 100644 diff --git a/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Forms.php b/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Forms.php old mode 100755 new mode 100644 diff --git a/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Hypertext.php b/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Hypertext.php old mode 100755 new mode 100644 diff --git a/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Image.php b/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Image.php old mode 100755 new mode 100644 index e6ed53aea..948d435bc --- a/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Image.php +++ b/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Image.php @@ -11,7 +11,7 @@ class HTMLPurifier_HTMLModule_Image extends HTMLPurifier_HTMLModule public $name = 'Image'; public function setup($config) { - $max = $config->get('HTML', 'MaxImgLength'); + $max = $config->get('HTML.MaxImgLength'); $img = $this->addElement( 'img', 'Inline', 'Empty', 'Common', array( @@ -24,7 +24,7 @@ class HTMLPurifier_HTMLModule_Image extends HTMLPurifier_HTMLModule 'src*' => new HTMLPurifier_AttrDef_URI(true), // embedded ) ); - if ($max === null || $config->get('HTML', 'Trusted')) { + if ($max === null || $config->get('HTML.Trusted')) { $img->attr['height'] = $img->attr['width'] = 'Length'; } diff --git a/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Legacy.php b/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Legacy.php old mode 100755 new mode 100644 diff --git a/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/List.php b/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/List.php old mode 100755 new mode 100644 index 1d15f2729..74d4522f4 --- a/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/List.php +++ b/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/List.php @@ -20,8 +20,10 @@ class HTMLPurifier_HTMLModule_List extends HTMLPurifier_HTMLModule public $content_sets = array('Flow' => 'List'); public function setup($config) { - $this->addElement('ol', 'List', 'Required: li', 'Common'); - $this->addElement('ul', 'List', 'Required: li', 'Common'); + $ol = $this->addElement('ol', 'List', 'Required: li', 'Common'); + $ol->wrap = "li"; + $ul = $this->addElement('ul', 'List', 'Required: li', 'Common'); + $ul->wrap = "li"; $this->addElement('dl', 'List', 'Required: dt | dd', 'Common'); $this->addElement('li', false, 'Flow', 'Common'); diff --git a/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Name.php b/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Name.php old mode 100755 new mode 100644 index d908a0ada..05694b450 --- a/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Name.php +++ b/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Name.php @@ -9,7 +9,10 @@ class HTMLPurifier_HTMLModule_Name extends HTMLPurifier_HTMLModule $elements = array('a', 'applet', 'form', 'frame', 'iframe', 'img', 'map'); foreach ($elements as $name) { $element = $this->addBlankElement($name); - $element->attr['name'] = 'ID'; + $element->attr['name'] = 'CDATA'; + if (!$config->get('HTML.Attr.Name.UseCDATA')) { + $element->attr_transform_post['NameSync'] = new HTMLPurifier_AttrTransform_NameSync(); + } } } diff --git a/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Nofollow.php b/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Nofollow.php new file mode 100644 index 000000000..3aa6654a5 --- /dev/null +++ b/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Nofollow.php @@ -0,0 +1,19 @@ +addBlankElement('a'); + $a->attr_transform_post[] = new HTMLPurifier_AttrTransform_Nofollow(); + } + +} + +// vim: et sw=4 sts=4 diff --git a/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/NonXMLCommonAttributes.php b/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/NonXMLCommonAttributes.php old mode 100755 new mode 100644 diff --git a/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Object.php b/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Object.php old mode 100755 new mode 100644 diff --git a/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Presentation.php b/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Presentation.php old mode 100755 new mode 100644 diff --git a/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Proprietary.php b/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Proprietary.php old mode 100755 new mode 100644 diff --git a/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Ruby.php b/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Ruby.php old mode 100755 new mode 100644 diff --git a/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/SafeEmbed.php b/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/SafeEmbed.php old mode 100755 new mode 100644 index 635e8f2d2..9f3758a32 --- a/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/SafeEmbed.php +++ b/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/SafeEmbed.php @@ -10,7 +10,7 @@ class HTMLPurifier_HTMLModule_SafeEmbed extends HTMLPurifier_HTMLModule public function setup($config) { - $max = $config->get('HTML', 'MaxImgLength'); + $max = $config->get('HTML.MaxImgLength'); $embed = $this->addElement( 'embed', 'Inline', 'Empty', 'Common', array( @@ -20,7 +20,8 @@ class HTMLPurifier_HTMLModule_SafeEmbed extends HTMLPurifier_HTMLModule 'height' => 'Pixels#' . $max, 'allowscriptaccess' => 'Enum#never', 'allownetworking' => 'Enum#internal', - 'wmode' => 'Enum#window', + 'flashvars' => 'Text', + 'wmode' => 'Enum#window,transparent,opaque', 'name' => 'ID', ) ); diff --git a/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/SafeObject.php b/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/SafeObject.php old mode 100755 new mode 100644 index bbda7a214..00da342ef --- a/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/SafeObject.php +++ b/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/SafeObject.php @@ -16,7 +16,7 @@ class HTMLPurifier_HTMLModule_SafeObject extends HTMLPurifier_HTMLModule // These definitions are not intrinsically safe: the attribute transforms // are a vital part of ensuring safety. - $max = $config->get('HTML', 'MaxImgLength'); + $max = $config->get('HTML.MaxImgLength'); $object = $this->addElement( 'object', 'Inline', @@ -28,7 +28,9 @@ class HTMLPurifier_HTMLModule_SafeObject extends HTMLPurifier_HTMLModule 'type' => 'Enum#application/x-shockwave-flash', 'width' => 'Pixels#' . $max, 'height' => 'Pixels#' . $max, - 'data' => 'URI#embedded' + 'data' => 'URI#embedded', + 'codebase' => new HTMLPurifier_AttrDef_Enum(array( + 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0')), ) ); $object->attr_transform_post[] = new HTMLPurifier_AttrTransform_SafeObject(); diff --git a/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Scripting.php b/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Scripting.php old mode 100755 new mode 100644 diff --git a/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/StyleAttribute.php b/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/StyleAttribute.php old mode 100755 new mode 100644 diff --git a/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Tables.php b/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Tables.php old mode 100755 new mode 100644 diff --git a/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Target.php b/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Target.php old mode 100755 new mode 100644 diff --git a/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Text.php b/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Text.php old mode 100755 new mode 100644 diff --git a/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy.php b/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy.php old mode 100755 new mode 100644 index c9d470648..21783f18e --- a/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy.php +++ b/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy.php @@ -42,12 +42,12 @@ class HTMLPurifier_HTMLModule_Tidy extends HTMLPurifier_HTMLModule $this->makeFixesForLevel($fixes); // figure out which fixes to use - $level = $config->get('HTML', 'TidyLevel'); + $level = $config->get('HTML.TidyLevel'); $fixes_lookup = $this->getFixesForLevel($level); // get custom fix declarations: these need namespace processing - $add_fixes = $config->get('HTML', 'TidyAdd'); - $remove_fixes = $config->get('HTML', 'TidyRemove'); + $add_fixes = $config->get('HTML.TidyAdd'); + $remove_fixes = $config->get('HTML.TidyRemove'); foreach ($fixes as $name => $fix) { // needs to be refactored a little to implement globbing diff --git a/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/Name.php b/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/Name.php old mode 100755 new mode 100644 diff --git a/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/Proprietary.php b/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/Proprietary.php old mode 100755 new mode 100644 index 85fa90a94..14c15c4a0 --- a/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/Proprietary.php +++ b/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/Proprietary.php @@ -15,6 +15,7 @@ class HTMLPurifier_HTMLModule_Tidy_Proprietary extends HTMLPurifier_HTMLModule_T $r['thead@background'] = new HTMLPurifier_AttrTransform_Background(); $r['tfoot@background'] = new HTMLPurifier_AttrTransform_Background(); $r['tbody@background'] = new HTMLPurifier_AttrTransform_Background(); + $r['table@height'] = new HTMLPurifier_AttrTransform_Length('height'); return $r; } diff --git a/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/Strict.php b/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/Strict.php old mode 100755 new mode 100644 diff --git a/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/Transitional.php b/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/Transitional.php old mode 100755 new mode 100644 diff --git a/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/XHTML.php b/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/XHTML.php old mode 100755 new mode 100644 diff --git a/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/XHTMLAndHTML4.php b/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/XHTMLAndHTML4.php old mode 100755 new mode 100644 diff --git a/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/XMLCommonAttributes.php b/lib/htmlpurifier/library/HTMLPurifier/HTMLModule/XMLCommonAttributes.php old mode 100755 new mode 100644 -- cgit v1.2.3