added newPartNodeArray for creating a node with a list of parts form a php array...
authorDaniel Kinzler <daniel@users.mediawiki.org>
Thu, 10 Jun 2010 15:16:15 +0000 (15:16 +0000)
committerDaniel Kinzler <daniel@users.mediawiki.org>
Thu, 10 Jun 2010 15:16:15 +0000 (15:16 +0000)
includes/parser/Preprocessor_Hash.php

index 5015f12..f029e9c 100644 (file)
@@ -23,6 +23,33 @@ class Preprocessor_Hash implements Preprocessor {
                return new PPCustomFrame_Hash( $this, $args );
        }
 
+       function newPartNodeArray( $values ) {
+               $list = array();
+
+               foreach ( $values as $k => $val ) {
+                       $partNode = new PPNode_Hash_Tree( 'part' );
+                       $nameNode = new PPNode_Hash_Tree( 'name' );
+
+                       if ( is_int( $k ) ) {
+                               $nameNode->addChild( new PPNode_Hash_Attr( 'index', $k ) );
+                               $partNode->addChild( $nameNode );
+                       } else {
+                               $nameNode->addChild( new PPNode_Hash_Text( $k ) );
+                               $partNode->addChild( $nameNode );
+                               $partNode->addChild( new PPNode_Hash_Text( '=' ) );
+                       }
+
+                       $valueNode = new PPNode_Hash_Tree( 'value' );
+                       $valueNode->addChild( new PPNode_Hash_Text( $val ) );
+                       $partNode->addChild( $valueNode );
+
+                       $list[] = $partNode;
+               }
+
+               $node = new PPNode_Hash_Array( $list );
+               return $node;
+       }
+
        /**
         * Preprocess some wikitext and return the document tree.
         * This is the ghost of Parser::replace_variables().