summaryrefslogtreecommitdiff
path: root/maintenance/parserTestsStaticParserHook.php
diff options
context:
space:
mode:
Diffstat (limited to 'maintenance/parserTestsStaticParserHook.php')
-rw-r--r--maintenance/parserTestsStaticParserHook.php23
1 files changed, 13 insertions, 10 deletions
diff --git a/maintenance/parserTestsStaticParserHook.php b/maintenance/parserTestsStaticParserHook.php
index 5a98a89d..98c4bba1 100644
--- a/maintenance/parserTestsStaticParserHook.php
+++ b/maintenance/parserTestsStaticParserHook.php
@@ -21,24 +21,27 @@ function wfParserTestStaticParserHookSetup( &$parser ) {
return true;
}
-function wfParserTestStaticParserHookHook( $in, $argv ) {
- static $buf = null;
-
+function wfParserTestStaticParserHookHook( $in, $argv, $parser ) {
if ( ! count( $argv ) ) {
- $buf = $in;
+ $parser->static_tag_buf = $in;
return '';
- } else if ( count( $argv ) === 1 && $argv['action'] === 'flush' && $in === null ) {
+ } else if ( count( $argv ) === 1 && isset( $argv['action'] )
+ && $argv['action'] === 'flush' && $in === null )
+ {
// Clear the buffer, we probably don't need to
- $tmp = $buf;
- $buf = null;
+ if ( isset( $parser->static_tag_buf ) ) {
+ $tmp = $parser->static_tag_buf;
+ } else {
+ $tmp = '';
+ }
+ $parser->static_tag_buf = null;
return $tmp;
} else
// wtf?
- die(
+ return
"\nCall this extension as <statictag>string</statictag> or as" .
" <statictag action=flush/>, not in any other way.\n" .
"text: " . var_export( $in, true ) . "\n" .
- "argv: " . var_export( $argv, true ) . "\n"
- );
+ "argv: " . var_export( $argv, true ) . "\n";
}