Refactored parser output handling slightly, and added a hook function, to allow exten...
authorTim Starling <tstarling@users.mediawiki.org>
Thu, 24 Aug 2006 17:05:52 +0000 (17:05 +0000)
committerTim Starling <tstarling@users.mediawiki.org>
Thu, 24 Aug 2006 17:05:52 +0000 (17:05 +0000)
includes/OutputPage.php

index bfe5bce..2e02c14 100644 (file)
@@ -315,11 +315,15 @@ class OutputPage {
                if ( $parserOutput->mSubtitle != '' ) {
                        $this->mSubtitle .= $parserOutput->mSubtitle ;
                }
+               $this->mNoGallery = $parserOutput->getNoGallery();
+               wfRunHooks( 'OutputPageParserOutput', array( &$this, $parserOutput ) );
        }
 
        function addParserOutput( &$parserOutput ) {
                $this->addParserOutputNoText( $parserOutput );
-               $this->addHTML( $parserOutput->getText() );
+               $text = $parserOutput->getText();
+               wfRunHooks( 'OutputPageBeforeHTML',array( &$this, &$text ) );
+               $this->addHTML( $text );
        }
 
        /**
@@ -339,12 +343,7 @@ class OutputPage {
                        $parserCache->save( $parserOutput, $article, $wgUser );
                }
 
-               $this->addParserOutputNoText( $parserOutput );
-               $text = $parserOutput->getText();
-               $this->mNoGallery = $parserOutput->getNoGallery();
-               wfRunHooks( 'OutputPageBeforeHTML',array( &$this, &$text ) );
-               $parserOutput->setText( $text );
-               $this->addHTML( $parserOutput->getText() );
+               $this->addParserOutput( $parserOutput );
        }
 
        /**
@@ -393,10 +392,7 @@ class OutputPage {
                $parserCache =& ParserCache::singleton();
                $parserOutput = $parserCache->get( $article, $user );
                if ( $parserOutput !== false ) {
-                       $this->addParserOutputNoText( $parserOutput );
-                       $text = $parserOutput->getText();
-                       wfRunHooks( 'OutputPageBeforeHTML', array( &$this, &$text ) );
-                       $this->addHTML( $text );
+                       $this->addParserOutput( $parserOutput );
                        return true;
                } else {
                        return false;