From 91f26d50ee0c840291c56abaa4dca8627a357095 Mon Sep 17 00:00:00 2001 From: umherirrender Date: Tue, 11 Nov 2014 20:28:28 +0100 Subject: [PATCH] Use Parser::SFH_NO_HASH/SFH_OBJECT_ARGS class const Instead of the global const Add hint to Defines, that they should not be used. Change-Id: I3e1dcf46fe18a97a05e3406c209815adb7e0e083 --- includes/Defines.php | 3 +++ includes/parser/CoreParserFunctions.php | 14 +++++++------- includes/parser/Parser.php | 13 ++++++------- tests/phpunit/includes/parser/TagHooksTest.php | 2 +- 4 files changed, 17 insertions(+), 15 deletions(-) diff --git a/includes/Defines.php b/includes/Defines.php index d9e3aab588..58d0579818 100644 --- a/includes/Defines.php +++ b/includes/Defines.php @@ -234,6 +234,9 @@ define( 'OT_PLAIN', 4 ); /**@{ * Flags for Parser::setFunctionHook + * Use of Parser consts is preferred: + * - Parser::SFH_NO_HASH + * - Parser::SFH_OBJECT_ARGS */ define( 'SFH_NO_HASH', 1 ); define( 'SFH_OBJECT_ARGS', 2 ); diff --git a/includes/parser/CoreParserFunctions.php b/includes/parser/CoreParserFunctions.php index d9f176153a..6f19a23065 100644 --- a/includes/parser/CoreParserFunctions.php +++ b/includes/parser/CoreParserFunctions.php @@ -36,7 +36,7 @@ class CoreParserFunctions { # Syntax for arguments (see Parser::setFunctionHook): # "name for lookup in localized magic words array", # function callback, - # optional SFH_NO_HASH to omit the hash from calls (e.g. {{int:...}} + # optional Parser::SFH_NO_HASH to omit the hash from calls (e.g. {{int:...}} # instead of {{#int:...}}) $noHashFunctions = array( 'ns', 'nse', 'urlencode', 'lcfirst', 'ucfirst', 'lc', 'uc', @@ -57,24 +57,24 @@ class CoreParserFunctions { 'revisiontimestamp', 'revisionuser', 'cascadingsources', ); foreach ( $noHashFunctions as $func ) { - $parser->setFunctionHook( $func, array( __CLASS__, $func ), SFH_NO_HASH ); + $parser->setFunctionHook( $func, array( __CLASS__, $func ), Parser::SFH_NO_HASH ); } - $parser->setFunctionHook( 'namespace', array( __CLASS__, 'mwnamespace' ), SFH_NO_HASH ); - $parser->setFunctionHook( 'int', array( __CLASS__, 'intFunction' ), SFH_NO_HASH ); + $parser->setFunctionHook( 'namespace', array( __CLASS__, 'mwnamespace' ), Parser::SFH_NO_HASH ); + $parser->setFunctionHook( 'int', array( __CLASS__, 'intFunction' ), Parser::SFH_NO_HASH ); $parser->setFunctionHook( 'special', array( __CLASS__, 'special' ) ); $parser->setFunctionHook( 'speciale', array( __CLASS__, 'speciale' ) ); - $parser->setFunctionHook( 'tag', array( __CLASS__, 'tagObj' ), SFH_OBJECT_ARGS ); + $parser->setFunctionHook( 'tag', array( __CLASS__, 'tagObj' ), Parser::SFH_OBJECT_ARGS ); $parser->setFunctionHook( 'formatdate', array( __CLASS__, 'formatDate' ) ); if ( $wgAllowDisplayTitle ) { - $parser->setFunctionHook( 'displaytitle', array( __CLASS__, 'displaytitle' ), SFH_NO_HASH ); + $parser->setFunctionHook( 'displaytitle', array( __CLASS__, 'displaytitle' ), Parser::SFH_NO_HASH ); } if ( $wgAllowSlowParserFunctions ) { $parser->setFunctionHook( 'pagesinnamespace', array( __CLASS__, 'pagesinnamespace' ), - SFH_NO_HASH + Parser::SFH_NO_HASH ); } } diff --git a/includes/parser/Parser.php b/includes/parser/Parser.php index d310836498..dcefc05ad3 100644 --- a/includes/parser/Parser.php +++ b/includes/parser/Parser.php @@ -79,7 +79,6 @@ class Parser { const HALF_PARSED_VERSION = 2; # Flags for Parser::setFunctionHook - # Also available as global constants from Defines.php const SFH_NO_HASH = 1; const SFH_OBJECT_ARGS = 2; @@ -3816,7 +3815,7 @@ class Parser { } $allArgs = array( &$this ); - if ( $flags & SFH_OBJECT_ARGS ) { + if ( $flags & self::SFH_OBJECT_ARGS ) { # Convert arguments to PPNodes and collect for appending to $allArgs $funcArgs = array(); foreach ( $args as $k => $v ) { @@ -5218,7 +5217,7 @@ class Parser { * The callback function should have the form: * function myParserFunction( &$parser, $arg1, $arg2, $arg3 ) { ... } * - * Or with SFH_OBJECT_ARGS: + * Or with Parser::SFH_OBJECT_ARGS: * function myParserFunction( $parser, $frame, $args ) { ... } * * The callback may either return the text result of the function, or an array with the text @@ -5232,10 +5231,10 @@ class Parser { * @param string $id The magic word ID * @param callable $callback The callback function (and object) to use * @param int $flags A combination of the following flags: - * SFH_NO_HASH No leading hash, i.e. {{plural:...}} instead of {{#if:...}} + * Parser::SFH_NO_HASH No leading hash, i.e. {{plural:...}} instead of {{#if:...}} * - * SFH_OBJECT_ARGS Pass the template arguments as PPNode objects instead of text. This - * allows for conditional expansion of the parse tree, allowing you to eliminate dead + * Parser::SFH_OBJECT_ARGS Pass the template arguments as PPNode objects instead of text. + * This allows for conditional expansion of the parse tree, allowing you to eliminate dead * branches and thus speed up parsing. It is also possible to analyse the parse tree of * the arguments, and to control the way they are expanded. * @@ -5277,7 +5276,7 @@ class Parser { $syn = $wgContLang->lc( $syn ); } # Add leading hash - if ( !( $flags & SFH_NO_HASH ) ) { + if ( !( $flags & self::SFH_NO_HASH ) ) { $syn = '#' . $syn; } # Remove trailing colon diff --git a/tests/phpunit/includes/parser/TagHooksTest.php b/tests/phpunit/includes/parser/TagHooksTest.php index e3c4cc8463..251da471c4 100644 --- a/tests/phpunit/includes/parser/TagHooksTest.php +++ b/tests/phpunit/includes/parser/TagHooksTest.php @@ -89,7 +89,7 @@ class TagHookTest extends MediaWikiTestCase { global $wgParserConf, $wgContLang; $parser = new Parser( $wgParserConf ); - $parser->setFunctionTagHook( $tag, array( $this, 'functionTagCallback' ), SFH_OBJECT_ARGS ); + $parser->setFunctionTagHook( $tag, array( $this, 'functionTagCallback' ), Parser::SFH_OBJECT_ARGS ); $parser->parse( "Foo<$tag>BarBaz", Title::newFromText( 'Test' ), -- 2.20.1