From a7fab00cdd446f02da8973aa62480d52cae6dc69 Mon Sep 17 00:00:00 2001 From: "Edward Z. Yang" Date: Sat, 5 Jan 2008 00:10:43 +0000 Subject: [PATCH] [3.0.0] Convert all $context calls away from references - Update TODO list - URISchemeRegistry doesn't return a reference for instance anymore, should do the same for other singletons git-svn-id: http://htmlpurifier.org/svnroot/htmlpurifier/trunk@1477 48356398-32a2-884e-a903-53898d9a118a --- NEWS | 3 ++- TODO | 5 +++-- library/HTMLPurifier/AttrDef.php | 2 +- library/HTMLPurifier/AttrDef/CSS.php | 2 +- library/HTMLPurifier/AttrDef/CSS/AlphaValue.php | 2 +- library/HTMLPurifier/AttrDef/CSS/Background.php | 2 +- .../HTMLPurifier/AttrDef/CSS/BackgroundPosition.php | 2 +- library/HTMLPurifier/AttrDef/CSS/Border.php | 2 +- library/HTMLPurifier/AttrDef/CSS/Color.php | 2 +- library/HTMLPurifier/AttrDef/CSS/Composite.php | 2 +- library/HTMLPurifier/AttrDef/CSS/Filter.php | 2 +- library/HTMLPurifier/AttrDef/CSS/Font.php | 2 +- library/HTMLPurifier/AttrDef/CSS/FontFamily.php | 2 +- library/HTMLPurifier/AttrDef/CSS/Length.php | 2 +- library/HTMLPurifier/AttrDef/CSS/ListStyle.php | 2 +- library/HTMLPurifier/AttrDef/CSS/Multiple.php | 2 +- library/HTMLPurifier/AttrDef/CSS/Number.php | 2 +- library/HTMLPurifier/AttrDef/CSS/Percentage.php | 2 +- library/HTMLPurifier/AttrDef/CSS/TextDecoration.php | 2 +- library/HTMLPurifier/AttrDef/CSS/URI.php | 2 +- library/HTMLPurifier/AttrDef/Enum.php | 2 +- library/HTMLPurifier/AttrDef/HTML/Bool.php | 2 +- library/HTMLPurifier/AttrDef/HTML/Color.php | 2 +- library/HTMLPurifier/AttrDef/HTML/FrameTarget.php | 2 +- library/HTMLPurifier/AttrDef/HTML/ID.php | 2 +- library/HTMLPurifier/AttrDef/HTML/Length.php | 2 +- library/HTMLPurifier/AttrDef/HTML/LinkTypes.php | 2 +- library/HTMLPurifier/AttrDef/HTML/MultiLength.php | 2 +- library/HTMLPurifier/AttrDef/HTML/Nmtokens.php | 2 +- library/HTMLPurifier/AttrDef/HTML/Pixels.php | 2 +- library/HTMLPurifier/AttrDef/Integer.php | 2 +- library/HTMLPurifier/AttrDef/Lang.php | 2 +- library/HTMLPurifier/AttrDef/Text.php | 2 +- library/HTMLPurifier/AttrDef/URI.php | 2 +- .../HTMLPurifier/AttrDef/URI/Email/SimpleCheck.php | 2 +- library/HTMLPurifier/AttrDef/URI/Host.php | 2 +- library/HTMLPurifier/AttrDef/URI/IPv4.php | 2 +- library/HTMLPurifier/AttrDef/URI/IPv6.php | 2 +- library/HTMLPurifier/AttrTransform.php | 2 +- library/HTMLPurifier/AttrTransform/BdoDir.php | 2 +- library/HTMLPurifier/AttrTransform/BgColor.php | 2 +- library/HTMLPurifier/AttrTransform/BoolToCSS.php | 2 +- library/HTMLPurifier/AttrTransform/Border.php | 2 +- library/HTMLPurifier/AttrTransform/EnumToCSS.php | 2 +- library/HTMLPurifier/AttrTransform/ImgRequired.php | 2 +- library/HTMLPurifier/AttrTransform/ImgSpace.php | 2 +- library/HTMLPurifier/AttrTransform/Lang.php | 2 +- library/HTMLPurifier/AttrTransform/Length.php | 2 +- library/HTMLPurifier/AttrTransform/Name.php | 2 +- library/HTMLPurifier/AttrValidator.php | 2 +- library/HTMLPurifier/ChildDef.php | 2 +- library/HTMLPurifier/ChildDef/Chameleon.php | 2 +- library/HTMLPurifier/ChildDef/Custom.php | 2 +- library/HTMLPurifier/ChildDef/Empty.php | 2 +- library/HTMLPurifier/ChildDef/Optional.php | 2 +- library/HTMLPurifier/ChildDef/Required.php | 2 +- library/HTMLPurifier/ChildDef/StrictBlockquote.php | 2 +- library/HTMLPurifier/ChildDef/Table.php | 2 +- library/HTMLPurifier/Context.php | 2 +- library/HTMLPurifier/Encoder.php | 4 ++-- library/HTMLPurifier/ErrorCollector.php | 2 +- library/HTMLPurifier/Filter.php | 4 ++-- library/HTMLPurifier/Filter/ExtractStyleBlocks.php | 4 ++-- library/HTMLPurifier/Filter/YouTube.php | 4 ++-- library/HTMLPurifier/Generator.php | 2 +- library/HTMLPurifier/HTMLModule/Scripting.php | 2 +- library/HTMLPurifier/IDAccumulator.php | 2 +- library/HTMLPurifier/Injector.php | 2 +- library/HTMLPurifier/Injector/PurifierLinkify.php | 2 +- library/HTMLPurifier/Language.php | 2 +- library/HTMLPurifier/LanguageFactory.php | 2 +- library/HTMLPurifier/Lexer.php | 4 ++-- library/HTMLPurifier/Lexer/DOMLex.php | 4 ++-- library/HTMLPurifier/Lexer/DirectLex.php | 4 ++-- library/HTMLPurifier/Lexer/PEARSax3.php | 2 +- library/HTMLPurifier/Lexer/PH5P.php | 2 +- library/HTMLPurifier/Strategy.php | 2 +- library/HTMLPurifier/Strategy/Composite.php | 2 +- library/HTMLPurifier/Strategy/FixNesting.php | 2 +- library/HTMLPurifier/Strategy/MakeWellFormed.php | 4 ++-- .../HTMLPurifier/Strategy/RemoveForeignElements.php | 2 +- library/HTMLPurifier/Strategy/ValidateAttributes.php | 2 +- library/HTMLPurifier/TagTransform.php | 2 +- library/HTMLPurifier/TagTransform/Font.php | 2 +- library/HTMLPurifier/TagTransform/Simple.php | 2 +- library/HTMLPurifier/URI.php | 6 +++--- library/HTMLPurifier/URIDefinition.php | 2 +- library/HTMLPurifier/URIFilter.php | 4 ++-- library/HTMLPurifier/URIFilter/DisableExternal.php | 2 +- .../URIFilter/DisableExternalResources.php | 2 +- library/HTMLPurifier/URIFilter/HostBlacklist.php | 2 +- library/HTMLPurifier/URIFilter/MakeAbsolute.php | 2 +- library/HTMLPurifier/URIScheme.php | 2 +- library/HTMLPurifier/URIScheme/ftp.php | 2 +- library/HTMLPurifier/URIScheme/http.php | 2 +- library/HTMLPurifier/URIScheme/mailto.php | 2 +- library/HTMLPurifier/URIScheme/news.php | 2 +- library/HTMLPurifier/URIScheme/nntp.php | 2 +- library/HTMLPurifier/URISchemeRegistry.php | 8 ++++---- tests/HTMLPurifier/URITest.php | 12 ++++++------ tests/multitest.php | 9 +++++++++ 101 files changed, 131 insertions(+), 120 deletions(-) diff --git a/NEWS b/NEWS index d25aa407..0cf48194 100644 --- a/NEWS +++ b/NEWS @@ -15,7 +15,7 @@ NEWS ( CHANGELOG and HISTORY ) HTMLPurifier to it. + Visibility declarations added + Constructor methods renamed to __construct() - + PHP4 reference/foreach cruft removed (in progress) + + PHP4 reference cruft removed (in progress) ! CSS properties are no case-insensitive ! DefinitionCacheFactory now can register new implementations ! New HTMLPurifier_Filter_ExtractStyleBlocks for extracting #isU', array($this, 'styleCallback'), $html); $style_blocks = $this->_styleMatches; $this->_styleMatches = array(); // reset @@ -63,7 +63,7 @@ class HTMLPurifier_Filter_ExtractStyleBlocks extends HTMLPurifier_Filter * @param $context Instance of HTMLPurifier_Context * @return Cleaned CSS */ - public function cleanCSS($css, $config, &$context) { + public function cleanCSS($css, $config, $context) { $this->_tidy->parse($css); $css_definition = $config->getDefinition('CSS'); foreach ($this->_tidy->css as &$decls) { diff --git a/library/HTMLPurifier/Filter/YouTube.php b/library/HTMLPurifier/Filter/YouTube.php index efd8b06b..ff89b6cf 100644 --- a/library/HTMLPurifier/Filter/YouTube.php +++ b/library/HTMLPurifier/Filter/YouTube.php @@ -7,14 +7,14 @@ class HTMLPurifier_Filter_YouTube extends HTMLPurifier_Filter public $name = 'YouTube'; - public function preFilter($html, $config, &$context) { + public function preFilter($html, $config, $context) { $pre_regex = '#]+>.+?'. 'http://www.youtube.com/v/([A-Za-z0-9\-_]+).+?#s'; $pre_replace = '\1'; return preg_replace($pre_regex, $pre_replace, $html); } - public function postFilter($html, $config, &$context) { + public function postFilter($html, $config, $context) { $post_regex = '#([A-Za-z0-9\-_]+)#'; $post_replace = ''. diff --git a/library/HTMLPurifier/Generator.php b/library/HTMLPurifier/Generator.php index 4eee5bda..b4a6d6ed 100644 --- a/library/HTMLPurifier/Generator.php +++ b/library/HTMLPurifier/Generator.php @@ -78,7 +78,7 @@ class HTMLPurifier_Generator * @param $config HTMLPurifier_Config object * @return Generated HTML */ - public function generateFromTokens($tokens, $config, &$context) { + public function generateFromTokens($tokens, $config, $context) { $html = ''; if (!$config) $config = HTMLPurifier_Config::createDefault(); $this->_scriptFix = $config->get('Output', 'CommentScriptContents'); diff --git a/library/HTMLPurifier/HTMLModule/Scripting.php b/library/HTMLPurifier/HTMLModule/Scripting.php index 2e46d4db..1b348e70 100644 --- a/library/HTMLPurifier/HTMLModule/Scripting.php +++ b/library/HTMLPurifier/HTMLModule/Scripting.php @@ -12,7 +12,7 @@ INSIDE HTML PURIFIER DOCUMENTS. USE ONLY WITH TRUSTED USER INPUT!!! */ class HTMLPurifier_AttrTransform_ScriptRequired extends HTMLPurifier_AttrTransform { - public function transform($attr, $config, &$context) { + public function transform($attr, $config, $context) { if (!isset($attr['type'])) { $attr['type'] = 'text/javascript'; } diff --git a/library/HTMLPurifier/IDAccumulator.php b/library/HTMLPurifier/IDAccumulator.php index 290bd8d1..a840460d 100644 --- a/library/HTMLPurifier/IDAccumulator.php +++ b/library/HTMLPurifier/IDAccumulator.php @@ -26,7 +26,7 @@ class HTMLPurifier_IDAccumulator * @param $context Instance of HTMLPurifier_Context * @return Fully initialized HTMLPurifier_IDAccumulator */ - public static function build($config, &$context) { + public static function build($config, $context) { $id_accumulator = new HTMLPurifier_IDAccumulator(); $id_accumulator->load($config->get('Attr', 'IDBlacklist')); return $id_accumulator; diff --git a/library/HTMLPurifier/Injector.php b/library/HTMLPurifier/Injector.php index 7858c352..c9f9f2eb 100644 --- a/library/HTMLPurifier/Injector.php +++ b/library/HTMLPurifier/Injector.php @@ -64,7 +64,7 @@ abstract class HTMLPurifier_Injector * @param $context Instance of HTMLPurifier_Context * @return Boolean false if success, string of missing needed element/attribute if failure */ - public function prepare($config, &$context) { + public function prepare($config, $context) { $this->htmlDefinition = $config->getHTMLDefinition(); // perform $needed checks foreach ($this->needed as $element => $attributes) { diff --git a/library/HTMLPurifier/Injector/PurifierLinkify.php b/library/HTMLPurifier/Injector/PurifierLinkify.php index d66321c0..5d78c4a0 100644 --- a/library/HTMLPurifier/Injector/PurifierLinkify.php +++ b/library/HTMLPurifier/Injector/PurifierLinkify.php @@ -32,7 +32,7 @@ class HTMLPurifier_Injector_PurifierLinkify extends HTMLPurifier_Injector public $docURL; public $needed = array('a' => array('href')); - public function prepare($config, &$context) { + public function prepare($config, $context) { $this->docURL = $config->get('AutoFormatParam', 'PurifierLinkifyDocURL'); return parent::prepare($config, $context); } diff --git a/library/HTMLPurifier/Language.php b/library/HTMLPurifier/Language.php index 266699b4..a7d10033 100644 --- a/library/HTMLPurifier/Language.php +++ b/library/HTMLPurifier/Language.php @@ -36,7 +36,7 @@ class HTMLPurifier_Language */ protected $config, $context; - public function __construct($config, &$context) { + public function __construct($config, $context) { $this->config = $config; $this->context =& $context; } diff --git a/library/HTMLPurifier/LanguageFactory.php b/library/HTMLPurifier/LanguageFactory.php index 93934ce6..2a8fdf90 100644 --- a/library/HTMLPurifier/LanguageFactory.php +++ b/library/HTMLPurifier/LanguageFactory.php @@ -89,7 +89,7 @@ class HTMLPurifier_LanguageFactory * @param $config Instance of HTMLPurifier_Config * @param $context Instance of HTMLPurifier_Context */ - public function create($config, &$context) { + public function create($config, $context) { // validate language code $code = $this->validator->validate( diff --git a/library/HTMLPurifier/Lexer.php b/library/HTMLPurifier/Lexer.php index 8307a54f..51f948ca 100644 --- a/library/HTMLPurifier/Lexer.php +++ b/library/HTMLPurifier/Lexer.php @@ -263,7 +263,7 @@ class HTMLPurifier_Lexer * @param $string String HTML. * @return HTMLPurifier_Token array representation of HTML. */ - public function tokenizeHTML($string, $config, &$context) { + public function tokenizeHTML($string, $config, $context) { trigger_error('Call to abstract class', E_USER_ERROR); } @@ -311,7 +311,7 @@ class HTMLPurifier_Lexer * encoding, extracting bits, and other good stuff. * @todo Consider making protected */ - public function normalize($html, $config, &$context) { + public function normalize($html, $config, $context) { // extract body from document if applicable if ($config->get('Core', 'ConvertDocumentToFragment')) { diff --git a/library/HTMLPurifier/Lexer/DOMLex.php b/library/HTMLPurifier/Lexer/DOMLex.php index 6f6f0183..d3cc9023 100644 --- a/library/HTMLPurifier/Lexer/DOMLex.php +++ b/library/HTMLPurifier/Lexer/DOMLex.php @@ -38,7 +38,7 @@ class HTMLPurifier_Lexer_DOMLex extends HTMLPurifier_Lexer $this->factory = new HTMLPurifier_TokenFactory(); } - public function tokenizeHTML($html, $config, &$context) { + public function tokenizeHTML($html, $config, $context) { $html = $this->normalize($html, $config, $context); @@ -173,7 +173,7 @@ class HTMLPurifier_Lexer_DOMLex extends HTMLPurifier_Lexer /** * Wraps an HTML fragment in the necessary HTML */ - protected function wrapHTML($html, $config, &$context) { + protected function wrapHTML($html, $config, $context) { $def = $config->getDefinition('HTML'); $ret = ''; diff --git a/library/HTMLPurifier/Lexer/DirectLex.php b/library/HTMLPurifier/Lexer/DirectLex.php index a6aff4ae..af333015 100644 --- a/library/HTMLPurifier/Lexer/DirectLex.php +++ b/library/HTMLPurifier/Lexer/DirectLex.php @@ -42,7 +42,7 @@ class HTMLPurifier_Lexer_DirectLex extends HTMLPurifier_Lexer return $matches[1] . htmlspecialchars($matches[2], ENT_COMPAT, 'UTF-8') . $matches[3]; } - public function tokenizeHTML($html, $config, &$context) { + public function tokenizeHTML($html, $config, $context) { // special normalization for script tags without any armor // our "armor" heurstic is a < sign any number of whitespaces after @@ -340,7 +340,7 @@ class HTMLPurifier_Lexer_DirectLex extends HTMLPurifier_Lexer * @param $string Inside of tag excluding name. * @returns Assoc array of attributes. */ - public function parseAttributeString($string, $config, &$context) { + public function parseAttributeString($string, $config, $context) { $string = (string) $string; // quick typecast if ($string == '') return array(); // no attributes diff --git a/library/HTMLPurifier/Lexer/PEARSax3.php b/library/HTMLPurifier/Lexer/PEARSax3.php index bb46a9d4..c359a613 100644 --- a/library/HTMLPurifier/Lexer/PEARSax3.php +++ b/library/HTMLPurifier/Lexer/PEARSax3.php @@ -30,7 +30,7 @@ class HTMLPurifier_Lexer_PEARSax3 extends HTMLPurifier_Lexer */ protected $tokens = array(); - public function tokenizeHTML($string, $config, &$context) { + public function tokenizeHTML($string, $config, $context) { $this->tokens = array(); diff --git a/library/HTMLPurifier/Lexer/PH5P.php b/library/HTMLPurifier/Lexer/PH5P.php index b6762379..b43d145f 100644 --- a/library/HTMLPurifier/Lexer/PH5P.php +++ b/library/HTMLPurifier/Lexer/PH5P.php @@ -10,7 +10,7 @@ require_once 'HTMLPurifier/Lexer/DOMLex.php'; class HTMLPurifier_Lexer_PH5P extends HTMLPurifier_Lexer_DOMLex { - public function tokenizeHTML($html, $config, &$context) { + public function tokenizeHTML($html, $config, $context) { $html = $this->normalize($html, $config, $context); $html = $this->wrapHTML( $html, $config, $context); $parser = new HTML5($html); diff --git a/library/HTMLPurifier/Strategy.php b/library/HTMLPurifier/Strategy.php index 10db0b51..974f6857 100644 --- a/library/HTMLPurifier/Strategy.php +++ b/library/HTMLPurifier/Strategy.php @@ -24,7 +24,7 @@ abstract class HTMLPurifier_Strategy * @param $config Configuration options * @returns Processed array of token objects. */ - abstract public function execute($tokens, $config, &$context); + abstract public function execute($tokens, $config, $context); } diff --git a/library/HTMLPurifier/Strategy/Composite.php b/library/HTMLPurifier/Strategy/Composite.php index a047509d..46ae25b7 100644 --- a/library/HTMLPurifier/Strategy/Composite.php +++ b/library/HTMLPurifier/Strategy/Composite.php @@ -16,7 +16,7 @@ abstract class HTMLPurifier_Strategy_Composite extends HTMLPurifier_Strategy abstract public function __construct(); - public function execute($tokens, $config, &$context) { + public function execute($tokens, $config, $context) { foreach ($this->strategies as $strategy) { $tokens = $strategy->execute($tokens, $config, $context); } diff --git a/library/HTMLPurifier/Strategy/FixNesting.php b/library/HTMLPurifier/Strategy/FixNesting.php index b0593521..14e7ab83 100644 --- a/library/HTMLPurifier/Strategy/FixNesting.php +++ b/library/HTMLPurifier/Strategy/FixNesting.php @@ -34,7 +34,7 @@ require_once 'HTMLPurifier/HTMLDefinition.php'; class HTMLPurifier_Strategy_FixNesting extends HTMLPurifier_Strategy { - public function execute($tokens, $config, &$context) { + public function execute($tokens, $config, $context) { //####################################################################// // Pre-processing diff --git a/library/HTMLPurifier/Strategy/MakeWellFormed.php b/library/HTMLPurifier/Strategy/MakeWellFormed.php index 763f5fad..81ad42e6 100644 --- a/library/HTMLPurifier/Strategy/MakeWellFormed.php +++ b/library/HTMLPurifier/Strategy/MakeWellFormed.php @@ -31,7 +31,7 @@ class HTMLPurifier_Strategy_MakeWellFormed extends HTMLPurifier_Strategy protected $inputTokens, $inputIndex, $outputTokens, $currentNesting, $currentInjector, $injectors; - public function execute($tokens, $config, &$context) { + public function execute($tokens, $config, $context) { $definition = $config->getHTMLDefinition(); @@ -280,7 +280,7 @@ class HTMLPurifier_Strategy_MakeWellFormed extends HTMLPurifier_Strategy return $result; } - function processToken($token, $config, &$context) { + function processToken($token, $config, $context) { if (is_array($token)) { // the original token was overloaded by an injector, time // to some fancy acrobatics diff --git a/library/HTMLPurifier/Strategy/RemoveForeignElements.php b/library/HTMLPurifier/Strategy/RemoveForeignElements.php index 59566819..8c39f9a9 100644 --- a/library/HTMLPurifier/Strategy/RemoveForeignElements.php +++ b/library/HTMLPurifier/Strategy/RemoveForeignElements.php @@ -55,7 +55,7 @@ HTMLPurifier_ConfigSchema::define( class HTMLPurifier_Strategy_RemoveForeignElements extends HTMLPurifier_Strategy { - public function execute($tokens, $config, &$context) { + public function execute($tokens, $config, $context) { $definition = $config->getHTMLDefinition(); $generator = new HTMLPurifier_Generator(); $result = array(); diff --git a/library/HTMLPurifier/Strategy/ValidateAttributes.php b/library/HTMLPurifier/Strategy/ValidateAttributes.php index 569adda4..8cb42fbb 100644 --- a/library/HTMLPurifier/Strategy/ValidateAttributes.php +++ b/library/HTMLPurifier/Strategy/ValidateAttributes.php @@ -13,7 +13,7 @@ require_once 'HTMLPurifier/AttrValidator.php'; class HTMLPurifier_Strategy_ValidateAttributes extends HTMLPurifier_Strategy { - public function execute($tokens, $config, &$context) { + public function execute($tokens, $config, $context) { // setup validator $validator = new HTMLPurifier_AttrValidator(); diff --git a/library/HTMLPurifier/TagTransform.php b/library/HTMLPurifier/TagTransform.php index cbfbea0d..34413dd3 100644 --- a/library/HTMLPurifier/TagTransform.php +++ b/library/HTMLPurifier/TagTransform.php @@ -19,7 +19,7 @@ abstract class HTMLPurifier_TagTransform * @param $config Mandatory HTMLPurifier_Config object * @param $context Mandatory HTMLPurifier_Context object */ - abstract public function transform($tag, $config, &$context); + abstract public function transform($tag, $config, $context); /** * Prepends CSS properties to the style attribute, creating the diff --git a/library/HTMLPurifier/TagTransform/Font.php b/library/HTMLPurifier/TagTransform/Font.php index 9ec99b4c..607199ed 100644 --- a/library/HTMLPurifier/TagTransform/Font.php +++ b/library/HTMLPurifier/TagTransform/Font.php @@ -36,7 +36,7 @@ class HTMLPurifier_TagTransform_Font extends HTMLPurifier_TagTransform '+4' => '300%' ); - public function transform($tag, $config, &$context) { + public function transform($tag, $config, $context) { if ($tag->type == 'end') { $new_tag = $tag->copy(); diff --git a/library/HTMLPurifier/TagTransform/Simple.php b/library/HTMLPurifier/TagTransform/Simple.php index 242752ec..d1e52ba6 100644 --- a/library/HTMLPurifier/TagTransform/Simple.php +++ b/library/HTMLPurifier/TagTransform/Simple.php @@ -21,7 +21,7 @@ class HTMLPurifier_TagTransform_Simple extends HTMLPurifier_TagTransform $this->style = $style; } - public function transform($tag, $config, &$context) { + public function transform($tag, $config, $context) { $new_tag = $tag->copy(); $new_tag->name = $this->transform_to; if (!is_null($this->style) && diff --git a/library/HTMLPurifier/URI.php b/library/HTMLPurifier/URI.php index fef9ce33..10f6c19c 100644 --- a/library/HTMLPurifier/URI.php +++ b/library/HTMLPurifier/URI.php @@ -30,8 +30,8 @@ class HTMLPurifier_URI * @param $context Instance of HTMLPurifier_Context * @return Scheme object appropriate for validating this URI */ - public function getSchemeObj($config, &$context) { - $registry =& HTMLPurifier_URISchemeRegistry::instance(); + public function getSchemeObj($config, $context) { + $registry = HTMLPurifier_URISchemeRegistry::instance(); if ($this->scheme !== null) { $scheme_obj = $registry->getScheme($this->scheme, $config, $context); if (!$scheme_obj) return false; // invalid scheme, clean it out @@ -57,7 +57,7 @@ class HTMLPurifier_URI * @param $context Instance of HTMLPurifier_Context * @return True if validation/filtering succeeds, false if failure */ - public function validate($config, &$context) { + public function validate($config, $context) { // validate host if (!is_null($this->host)) { diff --git a/library/HTMLPurifier/URIDefinition.php b/library/HTMLPurifier/URIDefinition.php index f9a7ddd8..f6b434cf 100644 --- a/library/HTMLPurifier/URIDefinition.php +++ b/library/HTMLPurifier/URIDefinition.php @@ -134,7 +134,7 @@ class HTMLPurifier_URIDefinition extends HTMLPurifier_Definition if (is_null($this->defaultScheme)) $this->defaultScheme = $config->get('URI', 'DefaultScheme'); } - public function filter(&$uri, $config, &$context) { + public function filter(&$uri, $config, $context) { foreach ($this->filters as $name => $x) { $result = $this->filters[$name]->filter($uri, $config, $context); if (!$result) return false; diff --git a/library/HTMLPurifier/URIFilter.php b/library/HTMLPurifier/URIFilter.php index 5c316ab6..b832a4ae 100644 --- a/library/HTMLPurifier/URIFilter.php +++ b/library/HTMLPurifier/URIFilter.php @@ -28,11 +28,11 @@ abstract class HTMLPurifier_URIFilter * Filter a URI object * @param &$uri Reference to URI object * @param $config Instance of HTMLPurifier_Config - * @param &$context Instance of HTMLPurifier_Context + * @param $context Instance of HTMLPurifier_Context * @return bool Whether or not to continue processing: false indicates * URL is no good, true indicates continue processing. Note that * all changes are committed directly on the URI object */ - abstract public function filter(&$uri, $config, &$context); + abstract public function filter(&$uri, $config, $context); } diff --git a/library/HTMLPurifier/URIFilter/DisableExternal.php b/library/HTMLPurifier/URIFilter/DisableExternal.php index 8eb6bd9c..1ba02b6d 100644 --- a/library/HTMLPurifier/URIFilter/DisableExternal.php +++ b/library/HTMLPurifier/URIFilter/DisableExternal.php @@ -20,7 +20,7 @@ class HTMLPurifier_URIFilter_DisableExternal extends HTMLPurifier_URIFilter $our_host = $config->get('URI', 'Host'); if ($our_host !== null) $this->ourHostParts = array_reverse(explode('.', $our_host)); } - public function filter(&$uri, $config, &$context) { + public function filter(&$uri, $config, $context) { if (is_null($uri->host)) return true; if ($this->ourHostParts === false) return false; $host_parts = array_reverse(explode('.', $uri->host)); diff --git a/library/HTMLPurifier/URIFilter/DisableExternalResources.php b/library/HTMLPurifier/URIFilter/DisableExternalResources.php index 489d20eb..da3bdcc4 100644 --- a/library/HTMLPurifier/URIFilter/DisableExternalResources.php +++ b/library/HTMLPurifier/URIFilter/DisableExternalResources.php @@ -18,7 +18,7 @@ HTMLPurifier_ConfigSchema::define( class HTMLPurifier_URIFilter_DisableExternalResources extends HTMLPurifier_URIFilter_DisableExternal { public $name = 'DisableExternalResources'; - public function filter(&$uri, $config, &$context) { + public function filter(&$uri, $config, $context) { if (!$context->get('EmbeddedURI', true)) return true; return parent::filter($uri, $config, $context); } diff --git a/library/HTMLPurifier/URIFilter/HostBlacklist.php b/library/HTMLPurifier/URIFilter/HostBlacklist.php index a7dbfecb..914afc73 100644 --- a/library/HTMLPurifier/URIFilter/HostBlacklist.php +++ b/library/HTMLPurifier/URIFilter/HostBlacklist.php @@ -17,7 +17,7 @@ class HTMLPurifier_URIFilter_HostBlacklist extends HTMLPurifier_URIFilter public function prepare($config) { $this->blacklist = $config->get('URI', 'HostBlacklist'); } - public function filter(&$uri, $config, &$context) { + public function filter(&$uri, $config, $context) { foreach($this->blacklist as $blacklisted_host_fragment) { if (strpos($uri->host, $blacklisted_host_fragment) !== false) { return false; diff --git a/library/HTMLPurifier/URIFilter/MakeAbsolute.php b/library/HTMLPurifier/URIFilter/MakeAbsolute.php index bfb4c592..ea0d1540 100644 --- a/library/HTMLPurifier/URIFilter/MakeAbsolute.php +++ b/library/HTMLPurifier/URIFilter/MakeAbsolute.php @@ -33,7 +33,7 @@ class HTMLPurifier_URIFilter_MakeAbsolute extends HTMLPurifier_URIFilter $stack = $this->_collapseStack($stack); // do pre-parsing $this->basePathStack = $stack; } - public function filter(&$uri, $config, &$context) { + public function filter(&$uri, $config, $context) { if (is_null($this->base)) return true; // abort early if ( $uri->path === '' && is_null($uri->scheme) && diff --git a/library/HTMLPurifier/URIScheme.php b/library/HTMLPurifier/URIScheme.php index 8921e871..fada3870 100644 --- a/library/HTMLPurifier/URIScheme.php +++ b/library/HTMLPurifier/URIScheme.php @@ -32,7 +32,7 @@ class HTMLPurifier_URIScheme * @param $context HTMLPurifier_Context object * @return Bool success or failure */ - public function validate(&$uri, $config, &$context) { + public function validate(&$uri, $config, $context) { if ($this->default_port == $uri->port) $uri->port = null; return true; } diff --git a/library/HTMLPurifier/URIScheme/ftp.php b/library/HTMLPurifier/URIScheme/ftp.php index 9309e60d..4396a1d3 100644 --- a/library/HTMLPurifier/URIScheme/ftp.php +++ b/library/HTMLPurifier/URIScheme/ftp.php @@ -11,7 +11,7 @@ class HTMLPurifier_URIScheme_ftp extends HTMLPurifier_URIScheme { public $browsable = true; // usually public $hierarchical = true; - public function validate(&$uri, $config, &$context) { + public function validate(&$uri, $config, $context) { parent::validate($uri, $config, $context); $uri->query = null; diff --git a/library/HTMLPurifier/URIScheme/http.php b/library/HTMLPurifier/URIScheme/http.php index e164195f..1bc21338 100644 --- a/library/HTMLPurifier/URIScheme/http.php +++ b/library/HTMLPurifier/URIScheme/http.php @@ -11,7 +11,7 @@ class HTMLPurifier_URIScheme_http extends HTMLPurifier_URIScheme { public $browsable = true; public $hierarchical = true; - public function validate(&$uri, $config, &$context) { + public function validate(&$uri, $config, $context) { parent::validate($uri, $config, $context); $uri->userinfo = null; return true; diff --git a/library/HTMLPurifier/URIScheme/mailto.php b/library/HTMLPurifier/URIScheme/mailto.php index f81e5afa..e2e459fe 100644 --- a/library/HTMLPurifier/URIScheme/mailto.php +++ b/library/HTMLPurifier/URIScheme/mailto.php @@ -15,7 +15,7 @@ class HTMLPurifier_URIScheme_mailto extends HTMLPurifier_URIScheme { public $browsable = false; - public function validate(&$uri, $config, &$context) { + public function validate(&$uri, $config, $context) { parent::validate($uri, $config, $context); $uri->userinfo = null; $uri->host = null; diff --git a/library/HTMLPurifier/URIScheme/news.php b/library/HTMLPurifier/URIScheme/news.php index b13d9531..1763f4f8 100644 --- a/library/HTMLPurifier/URIScheme/news.php +++ b/library/HTMLPurifier/URIScheme/news.php @@ -9,7 +9,7 @@ class HTMLPurifier_URIScheme_news extends HTMLPurifier_URIScheme { public $browsable = false; - public function validate(&$uri, $config, &$context) { + public function validate(&$uri, $config, $context) { parent::validate($uri, $config, $context); $uri->userinfo = null; $uri->host = null; diff --git a/library/HTMLPurifier/URIScheme/nntp.php b/library/HTMLPurifier/URIScheme/nntp.php index ad9cfba2..e358f4de 100644 --- a/library/HTMLPurifier/URIScheme/nntp.php +++ b/library/HTMLPurifier/URIScheme/nntp.php @@ -10,7 +10,7 @@ class HTMLPurifier_URIScheme_nntp extends HTMLPurifier_URIScheme { public $default_port = 119; public $browsable = false; - public function validate(&$uri, $config, &$context) { + public function validate(&$uri, $config, $context) { parent::validate($uri, $config, $context); $uri->userinfo = null; $uri->query = null; diff --git a/library/HTMLPurifier/URISchemeRegistry.php b/library/HTMLPurifier/URISchemeRegistry.php index fd8f65e2..4b983b30 100644 --- a/library/HTMLPurifier/URISchemeRegistry.php +++ b/library/HTMLPurifier/URISchemeRegistry.php @@ -43,7 +43,7 @@ class HTMLPurifier_URISchemeRegistry * @note Pass a registry object $prototype with a compatible interface and * the function will copy it and return it all further times. */ - public static function &instance($prototype = null) { + public static function instance($prototype = null) { static $instance = null; if ($prototype !== null) { $instance = $prototype; @@ -64,7 +64,7 @@ class HTMLPurifier_URISchemeRegistry * @param $config HTMLPurifier_Config object * @param $config HTMLPurifier_Context object */ - public function &getScheme($scheme, $config, &$context) { + public function getScheme($scheme, $config, $context) { if (!$config) $config = HTMLPurifier_Config::createDefault(); $null = null; // for the sake of passing by reference @@ -90,8 +90,8 @@ class HTMLPurifier_URISchemeRegistry * @param $scheme Scheme name * @param $scheme_obj HTMLPurifier_URIScheme object */ - public function register($scheme, &$scheme_obj) { - $this->schemes[$scheme] =& $scheme_obj; + public function register($scheme, $scheme_obj) { + $this->schemes[$scheme] = $scheme_obj; } } diff --git a/tests/HTMLPurifier/URITest.php b/tests/HTMLPurifier/URITest.php index 6424e73b..c15fbed7 100644 --- a/tests/HTMLPurifier/URITest.php +++ b/tests/HTMLPurifier/URITest.php @@ -23,21 +23,21 @@ class HTMLPurifier_URITest extends HTMLPurifier_URIHarness $this->oldRegistry = HTMLPurifier_URISchemeRegistry::instance(); generate_mock_once('HTMLPurifier_URIScheme'); generate_mock_once('HTMLPurifier_URISchemeRegistry'); - $registry =& HTMLPurifier_URISchemeRegistry::instance( + $registry = HTMLPurifier_URISchemeRegistry::instance( new HTMLPurifier_URISchemeRegistryMock() ); return $registry; } - function &setUpSchemeMock($name) { - $registry =& $this->setUpSchemeRegistryMock(); + function setUpSchemeMock($name) { + $registry = $this->setUpSchemeRegistryMock(); $scheme_mock = new HTMLPurifier_URISchemeMock(); $registry->setReturnValue('getScheme', $scheme_mock, array($name, '*', '*')); return $scheme_mock; } function setUpNoValidSchemes() { - $registry =& $this->setUpSchemeRegistryMock(); + $registry = $this->setUpSchemeRegistryMock(); $registry->setReturnValue('getScheme', false, array('*', '*', '*')); } @@ -46,7 +46,7 @@ class HTMLPurifier_URITest extends HTMLPurifier_URIHarness } function test_getSchemeObj() { - $scheme_mock =& $this->setUpSchemeMock('http'); + $scheme_mock = $this->setUpSchemeMock('http'); $uri = $this->createURI('http:'); $scheme_obj = $uri->getSchemeObj($this->config, $this->context); @@ -68,7 +68,7 @@ class HTMLPurifier_URITest extends HTMLPurifier_URIHarness function test_getSchemaObj_defaultScheme() { $scheme = 'foobar'; - $scheme_mock =& $this->setUpSchemeMock($scheme); + $scheme_mock = $this->setUpSchemeMock($scheme); $this->config->set('URI', 'DefaultScheme', $scheme); $uri = $this->createURI('hmm'); diff --git a/tests/multitest.php b/tests/multitest.php index ede78197..2b07011b 100644 --- a/tests/multitest.php +++ b/tests/multitest.php @@ -1,5 +1,14 @@