Fix script for bug 20757.
[lhc/web/wiklou.git] / maintenance / parserTestsStaticParserHook.php
index 5a98a89..98c4bba 100644 (file)
@@ -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";
 }