Revert r28215: incorrectly moved files
[lhc/web/wiklou.git] / includes / ParserOptions.php
index f165343..a499ee2 100644 (file)
@@ -3,6 +3,7 @@
 /**
  * Set options of the Parser
  * @todo document
+ * @addtogroup Parser
  */
 class ParserOptions
 {
@@ -20,7 +21,10 @@ class ParserOptions
        var $mTidy;                      # Ask for tidy cleanup
        var $mInterfaceMessage;          # Which lang to call for PLURAL and GRAMMAR
        var $mMaxIncludeSize;            # Maximum size of template expansions, in bytes
+       var $mMaxPPNodeCount;            # Maximum number of nodes touched by PPFrame::expand()
        var $mRemoveComments;            # Remove HTML comments. ONLY APPLIES TO PREPROCESS OPERATIONS
+       var $mTemplateCallback;          # Callback for template fetching
+       var $mEnableLimitReport;         # Enable limit report in an HTML comment on output
 
        var $mUser;                      # Stored user object, just used to initialise the skin
 
@@ -35,7 +39,10 @@ class ParserOptions
        function getTidy()                          { return $this->mTidy; }
        function getInterfaceMessage()              { return $this->mInterfaceMessage; }
        function getMaxIncludeSize()                { return $this->mMaxIncludeSize; }
+       function getMaxPPNodeCount()                { return $this->mMaxPPNodeCount; }
        function getRemoveComments()                { return $this->mRemoveComments; }
+       function getTemplateCallback()              { return $this->mTemplateCallback; }
+       function getEnableLimitReport()             { return $this->mEnableLimitReport; }
 
        function getSkin() {
                if ( !isset( $this->mSkin ) ) {
@@ -64,7 +71,10 @@ class ParserOptions
        function setSkin( $x )                      { $this->mSkin = $x; }
        function setInterfaceMessage( $x )          { return wfSetVar( $this->mInterfaceMessage, $x); }
        function setMaxIncludeSize( $x )            { return wfSetVar( $this->mMaxIncludeSize, $x ); }
+       function setMaxPPNodeCount( $x )            { return wfSetVar( $this->mMaxPPNodeCount, $x ); }
        function setRemoveComments( $x )            { return wfSetVar( $this->mRemoveComments, $x ); }
+       function setTemplateCallback( $x )          { return wfSetVar( $this->mTemplateCallback, $x ); }
+       function enableLimitReport( $x = true )     { return wfSetVar( $this->mEnableLimitReport, $x ); }
 
        function __construct( $user = null ) {
                $this->initialiseFromUser( $user );
@@ -82,6 +92,7 @@ class ParserOptions
        function initialiseFromUser( $userInput ) {
                global $wgUseTeX, $wgUseDynamicDates, $wgInterwikiMagic, $wgAllowExternalImages;
                global $wgAllowExternalImagesFrom, $wgAllowSpecialInclusion, $wgMaxArticleSize;
+               global $wgMaxPPNodeCount;
                $fname = 'ParserOptions::initialiseFromUser';
                wfProfileIn( $fname );
                if ( !$userInput ) {
@@ -110,9 +121,12 @@ class ParserOptions
                $this->mTidy = false;
                $this->mInterfaceMessage = false;
                $this->mMaxIncludeSize = $wgMaxArticleSize * 1024;
+               $this->mMaxPPNodeCount = $wgMaxPPNodeCount;
                $this->mRemoveComments = true;
+               $this->mTemplateCallback = array( 'Parser', 'statelessFetchTemplate' );
+               $this->mEnableLimitReport = false;
                wfProfileOut( $fname );
        }
 }
 
-?>
+