German localisation updates, patch by ray.
[lhc/web/wiklou.git] / includes / ParserOutput.php
index 313b5ea..7117f71 100644 (file)
@@ -22,8 +22,9 @@ class ParserOutput
                $mHeadItems,        # Items to put in the <head> section
                $mOutputHooks,      # Hook tags as per $wgParserOutputHooks
                $mWarnings,         # Warning text to be returned to the user. Wikitext formatted.
-               $mSections;         # Table of contents
-       
+               $mSections,         # Table of contents
+               $mProperties;       # Name/value pairs to be cached in the DB
+
        /**
         * Overridden title for display
         */
@@ -39,7 +40,7 @@ class ParserOutput
                $this->mCacheTime = '';
                $this->mVersion = Parser::VERSION;
                $this->mTitleText = $titletext;
-               $this->mSections = '';
+               $this->mSections = array();
                $this->mLinks = array();
                $this->mTemplates = array();
                $this->mImages = array();
@@ -50,6 +51,7 @@ class ParserOutput
                $this->mTemplateIds = array();
                $this->mOutputHooks = array();
                $this->mWarnings = array();
+               $this->mProperties = array();
        }
 
        function getText()                   { return $this->mText; }
@@ -82,7 +84,7 @@ class ParserOutput
        function addExternalLink( $url )     { $this->mExternalLinks[$url] = 1; }
        function addWarning( $s )            { $this->mWarnings[] = $s; }
 
-       function addOutputHook( $hook, $data = false ) { 
+       function addOutputHook( $hook, $data = false ) {
                $this->mOutputHooks[] = array( $hook, $data );
        }
 
@@ -104,7 +106,7 @@ class ParserOutput
                }
                $this->mLinks[$ns][$dbk] = $id;
        }
-       
+
        function addImage( $name ) {
                $this->mImages[$name] = 1;
        }
@@ -141,8 +143,8 @@ class ParserOutput
        }
 
        /**
-        * Add some text to the <head>. 
-        * If $tag is set, the section with that tag will only be included once 
+        * Add some text to the <head>.
+        * If $tag is set, the section with that tag will only be included once
         * in a given page.
         */
        function addHeadItem( $section, $tag = false ) {
@@ -152,7 +154,7 @@ class ParserOutput
                        $this->mHeadItems[] = $section;
                }
        }
-       
+
        /**
         * Override the title to be used for display
         * -- this is assumed to have been validated
@@ -163,7 +165,7 @@ class ParserOutput
        public function setDisplayTitle( $text ) {
                $this->displayTitle = $text;
        }
-       
+
        /**
         * Get the title to be used for display
         *
@@ -172,18 +174,33 @@ class ParserOutput
        public function getDisplayTitle() {
                return $this->displayTitle;
        }
-       
+
        /**
         * Fairly generic flag setter thingy.
         */
        public function setFlag( $flag ) {
                $this->mFlags[$flag] = true;
        }
-       
+
        public function getFlag( $flag ) {
                return isset( $this->mFlags[$flag] );
        }
-       
-}
 
+       /**
+        * Set a property to be cached in the DB
+        */
+       public function setProperty( $name, $value ) {
+               $this->mProperties[$name] = $value;
+       }
+
+       public function getProperty( $name ){
+               return isset( $this->mProperties[$name] ) ? $this->mProperties[$name] : false;
+       }
 
+       public function getProperties() {
+               if ( !isset( $this->mProperties ) ) {
+                       $this->mProperties = array();
+               }
+               return $this->mProperties;
+       }
+}