Merge "(bug 32368) Add ParserCloned hook"
authorDaniel Kinzler <daniel.kinzler@wikimedia.de>
Fri, 16 Nov 2012 20:17:42 +0000 (20:17 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Fri, 16 Nov 2012 20:17:42 +0000 (20:17 +0000)
docs/hooks.txt
includes/parser/Parser.php

index 67b4580..32182a2 100644 (file)
@@ -1629,6 +1629,9 @@ $text: actual text
 'ParserClearState': called at the end of Parser::clearState()
 $parser: Parser object being cleared
 
+'ParserCloned': called when the parser is cloned
+$parser: Newly-cloned Parser object
+
 'ParserFirstCallInit': called when the parser initialises for the first time
 &$parser: Parser object being cleared
 
index 9dad1e5..36b682e 100644 (file)
@@ -246,6 +246,13 @@ class Parser {
                }
        }
 
+       /**
+        * Allow extensions to clean up when the parser is cloned
+        */
+       function __clone() {
+               wfRunHooks( 'ParserCloned', array( $this ) );
+       }
+
        /**
         * Do various kinds of initialisation on the first call of the parser
         */