mirror of
https://github.com/ezyang/htmlpurifier.git
synced 2025-08-16 19:13:58 +02:00
[3.1.0] Deprecate addFilter; set up Filter namespace
- Added EXTERNAL dependency config-schema value - Fix safe bug in Printer_HTMLDefinition - Fixed broken smoketests git-svn-id: http://htmlpurifier.org/svnroot/htmlpurifier/trunk@1669 48356398-32a2-884e-a903-53898d9a118a
This commit is contained in:
@@ -15,11 +15,6 @@ if (isset($_GET['doc'])) {
|
||||
|
||||
if (version_compare('5', PHP_VERSION, '>')) exit('Requires PHP 5 or higher.');
|
||||
|
||||
// setup schema for parsing
|
||||
require_once 'testSchema.php';
|
||||
$new_schema = $custom_schema; // dereference the reference
|
||||
HTMLPurifier_ConfigSchema::instance($old); // restore old version
|
||||
|
||||
// setup ConfigDoc environment
|
||||
require_once '../configdoc/library/ConfigDoc.auto.php';
|
||||
|
||||
@@ -60,6 +55,7 @@ require_once 'HTMLPurifier/Printer/ConfigForm.php';
|
||||
// fictional set, attempts to cover every possible data-type
|
||||
// see source at ConfigTest.php
|
||||
require_once 'testSchema.php';
|
||||
HTMLPurifier_ConfigSchema::instance($custom_schema);
|
||||
|
||||
// cleanup ( this should be rolled into Config )
|
||||
$config = HTMLPurifier_Config::loadArrayFromForm($_GET, 'config');
|
||||
|
@@ -20,8 +20,9 @@ accordingly.
|
||||
require_once $csstidy_location . 'class.csstidy.php';
|
||||
require_once $csstidy_location . 'class.csstidy_print.php';
|
||||
|
||||
$purifier = new HTMLPurifier();
|
||||
$purifier->addFilter(new HTMLPurifier_Filter_ExtractStyleBlocks());
|
||||
$purifier = new HTMLPurifier(array(
|
||||
'Filter.ExtractStyleBlocks' => true,
|
||||
));
|
||||
|
||||
$html = isset($_POST['html']) ? $_POST['html'] : '';
|
||||
$purified_html = $purifier->purify($html);
|
||||
|
@@ -19,9 +19,9 @@ $string = '<object width="425" height="350"><param name="movie" value="http://ww
|
||||
|
||||
$regular_purifier = new HTMLPurifier();
|
||||
|
||||
$youtube_purifier = new HTMLPurifier();
|
||||
require_once 'HTMLPurifier/Filter/YouTube.php';
|
||||
$youtube_purifier->addFilter(new HTMLPurifier_Filter_YouTube());
|
||||
$youtube_purifier = new HTMLPurifier(array(
|
||||
'Filter.YouTube' => true,
|
||||
));
|
||||
|
||||
?>
|
||||
<h2>Unpurified</h2>
|
||||
|
@@ -2,42 +2,40 @@
|
||||
|
||||
// overload default configuration schema temporarily
|
||||
$custom_schema = new HTMLPurifier_ConfigSchema();
|
||||
$old = HTMLPurifier_ConfigSchema::instance();
|
||||
$custom_schema =& HTMLPurifier_ConfigSchema::instance($custom_schema);
|
||||
|
||||
HTMLPurifier_ConfigSchema::defineNamespace('Element', 'Chemical substances that cannot be further decomposed');
|
||||
$custom_schema->addNamespace('Element', 'Chemical substances that cannot be further decomposed');
|
||||
|
||||
HTMLPurifier_ConfigSchema::define('Element', 'Abbr', 'H', 'string', 'Abbreviation of element name.');
|
||||
HTMLPurifier_ConfigSchema::define('Element', 'Name', 'hydrogen', 'istring', 'Full name of atoms.');
|
||||
HTMLPurifier_ConfigSchema::define('Element', 'Number', 1, 'int', 'Atomic number, is identity.');
|
||||
HTMLPurifier_ConfigSchema::define('Element', 'Mass', 1.00794, 'float', 'Atomic mass.');
|
||||
HTMLPurifier_ConfigSchema::define('Element', 'Radioactive', false, 'bool', 'Does it have rapid decay?');
|
||||
HTMLPurifier_ConfigSchema::define('Element', 'Isotopes', array('1' => true, '2' => true, '3' => true), 'lookup',
|
||||
$custom_schema->add('Element', 'Abbr', 'H', 'string', false, 'Abbreviation of element name.');
|
||||
$custom_schema->add('Element', 'Name', 'hydrogen', 'istring', false, 'Full name of atoms.');
|
||||
$custom_schema->add('Element', 'Number', 1, 'int', false, 'Atomic number, is identity.');
|
||||
$custom_schema->add('Element', 'Mass', 1.00794, 'float', false, 'Atomic mass.');
|
||||
$custom_schema->add('Element', 'Radioactive', false, 'bool', false, 'Does it have rapid decay?');
|
||||
$custom_schema->add('Element', 'Isotopes', array('1' => true, '2' => true, '3' => true), 'lookup', false,
|
||||
'What numbers of neutrons for this element have been observed?');
|
||||
HTMLPurifier_ConfigSchema::define('Element', 'Traits', array('nonmetallic', 'odorless', 'flammable'), 'list',
|
||||
$custom_schema->add('Element', 'Traits', array('nonmetallic', 'odorless', 'flammable'), 'list', false,
|
||||
'What are general properties of the element?');
|
||||
HTMLPurifier_ConfigSchema::define('Element', 'IsotopeNames', array('1' => 'protium', '2' => 'deuterium', '3' => 'tritium'), 'hash',
|
||||
$custom_schema->add('Element', 'IsotopeNames', array('1' => 'protium', '2' => 'deuterium', '3' => 'tritium'), 'hash', false,
|
||||
'Lookup hash of neutron counts to formal names.');
|
||||
|
||||
HTMLPurifier_ConfigSchema::defineNamespace('Instrument', 'Of the musical type.');
|
||||
$custom_schema->addNamespace('Instrument', 'Of the musical type.');
|
||||
|
||||
HTMLPurifier_ConfigSchema::define('Instrument', 'Manufacturer', 'Yamaha', 'string', 'Who made it?');
|
||||
HTMLPurifier_ConfigSchema::defineAllowedValues('Instrument', 'Manufacturer', array(
|
||||
$custom_schema->add('Instrument', 'Manufacturer', 'Yamaha', 'string', false, 'Who made it?');
|
||||
$custom_schema->addAllowedValues('Instrument', 'Manufacturer', array(
|
||||
'Yamaha', 'Conn-Selmer', 'Vandoren', 'Laubin', 'Buffet', 'other'));
|
||||
HTMLPurifier_ConfigSchema::defineValueAliases('Instrument', 'Manufacturer', array(
|
||||
$custom_schema->addValueAliases('Instrument', 'Manufacturer', array(
|
||||
'Selmer' => 'Conn-Selmer'));
|
||||
|
||||
HTMLPurifier_ConfigSchema::define('Instrument', 'Family', 'woodwind', 'istring', 'What family is it?');
|
||||
HTMLPurifier_ConfigSchema::defineAllowedValues('Instrument', 'Family', array(
|
||||
$custom_schema->add('Instrument', 'Family', 'woodwind', 'istring', false, 'What family is it?');
|
||||
$custom_schema->addAllowedValues('Instrument', 'Family', array(
|
||||
'brass', 'woodwind', 'percussion', 'string', 'keyboard', 'electronic'));
|
||||
HTMLPurifier_ConfigSchema::defineValueAliases('Instrument', 'Family', array(
|
||||
$custom_schema->addValueAliases('Instrument', 'Family', array(
|
||||
'synth' => 'electronic'));
|
||||
|
||||
HTMLPurifier_ConfigSchema::defineNamespace('ReportCard', 'It is for grades.');
|
||||
HTMLPurifier_ConfigSchema::define('ReportCard', 'English', null, 'string/null', 'Grade from English class.');
|
||||
HTMLPurifier_ConfigSchema::define('ReportCard', 'Absences', 0, 'int', 'How many times missing from school?');
|
||||
$custom_schema->addNamespace('ReportCard', 'It is for grades.');
|
||||
$custom_schema->add('ReportCard', 'English', null, 'string', true, 'Grade from English class.');
|
||||
$custom_schema->add('ReportCard', 'Absences', 0, 'int', false, 'How many times missing from school?');
|
||||
|
||||
HTMLPurifier_ConfigSchema::defineNamespace('Text', 'This stuff is long, boring, and English.');
|
||||
HTMLPurifier_ConfigSchema::define('Text', 'AboutUs', 'Nothing much, but this should be decently long so that a textarea would be better', 'text', 'Who are we? What are we up to?');
|
||||
HTMLPurifier_ConfigSchema::define('Text', 'Hash', "not-case-sensitive\nstill-not-case-sensitive\nsuper-not-case-sensitive", 'itext', 'This is of limited utility, but of course it ends up being used.');
|
||||
$custom_schema->addNamespace('Text', 'This stuff is long, boring, and English.');
|
||||
$custom_schema->add('Text', 'AboutUs', 'Nothing much, but this should be decently long so that a textarea would be better', 'text', false, 'Who are we? What are we up to?');
|
||||
$custom_schema->add('Text', 'Hash', "not-case-sensitive\nstill-not-case-sensitive\nsuper-not-case-sensitive", 'itext', false, 'This is of limited utility, but of course it ends up being used.');
|
||||
|
||||
|
Reference in New Issue
Block a user