From da174ad7c49abb560a9a571de2580ea2d59d9a99 Mon Sep 17 00:00:00 2001 From: Tim Starling Date: Thu, 24 Aug 2006 17:05:52 +0000 Subject: [PATCH] Refactored parser output handling slightly, and added a hook function, to allow extensions to easily pass data through the parser cache. --- includes/OutputPage.php | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/includes/OutputPage.php b/includes/OutputPage.php index bfe5bce01f..2e02c14636 100644 --- a/includes/OutputPage.php +++ b/includes/OutputPage.php @@ -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; -- 2.20.1