Fix script for bug 20757.
[lhc/web/wiklou.git] / maintenance / parserTestsStaticParserHook.php
index 8f22101..98c4bba 100644 (file)
@@ -5,7 +5,8 @@ if ( ! defined( 'MEDIAWIKI' ) )
  * A basic extension that's used by the parser tests to test whether the parser
  * calls extensions when they're called inside comments, it shouldn't do that
  *
- * @addtogroup Maintenance
+ * @file
+ * @ingroup Maintenance
  *
  * @author Ævar Arnfjörð Bjarmason <avarab@gmail.com>
  * @copyright Copyright © 2005, 2006 Ævar Arnfjörð Bjarmason
@@ -20,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";
 }
-?>
+