includes/wikiengine/Parse/Mediawiki/Toc.php
changeset 1027 98c052fc3337
parent 1026 f0431eb8161e
child 1028 dde4416dea00
--- a/includes/wikiengine/Parse/Mediawiki/Toc.php	Sun Jun 21 00:16:21 2009 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,130 +0,0 @@
-<?php
-
-/**
-* 
-* Looks through parsed text and builds a table of contents.
-* 
-* @category Text
-* 
-* @package Text_Wiki
-* 
-* @author Paul M. Jones <pmjones@php.net>
-* 
-* @license LGPL
-* 
-* @version $Id: Toc.php,v 1.4 2005/05/28 21:33:02 pmjones Exp $
-* 
-*/
-
-/**
-* 
-* Looks through parsed text and builds a table of contents.
-* 
-* This class implements a Text_Wiki_Parse to find all heading tokens and
-* build a table of contents.  The [[toc]] tag gets replaced with a list
-* of all the level-2 through level-6 headings.
-*
-* @category Text
-* 
-* @package Text_Wiki
-* 
-* @author Paul M. Jones <pmjones@php.net>
-* 
-*/
-
-
-class Text_Wiki_Parse_Toc extends Text_Wiki_Parse {
-    
-    
-    /**
-    * 
-    * The regular expression used to parse the source text and find
-    * matches conforming to this rule.  Used by the parse() method.
-    * 
-    * @access public
-    * 
-    * @var string
-    * 
-    * @see parse()
-    * 
-    */
-    
-    var $regex = "/\n\[\[toc( .*)?\]\]\n/m";
-    
-    
-    /**
-    * 
-    * Generates a replacement for the matched text.
-    *  
-    * Token options are:
-    * 
-    * 'type' => ['list_start'|'list_end'|'item_start'|'item_end'|'target']
-    *
-    * 'level' => The heading level (1-6).
-    *
-    * 'count' => Which entry number this is in the list.
-    * 
-    * @access public
-    *
-    * @param array &$matches The array of matches from parse().
-    *
-    * @return string A token indicating the TOC collection point.
-    *
-    */
-    
-    function process(&$matches)
-    {
-        $count = 0;
-        
-        if (isset($matches[1])) {
-            $attr = $this->getAttrs(trim($matches[1]));
-        } else {
-            $attr = array();
-        }
-        
-        $output = $this->wiki->addToken(
-            $this->rule,
-            array(
-                'type' => 'list_start',
-                'level' => 0,
-                'attr' => $attr
-            )
-        );
-        
-        foreach ($this->wiki->getTokens('Heading') as $key => $val) {
-            
-            if ($val[1]['type'] != 'start') {
-                continue;
-            }
-            
-            $options = array(
-                'type'  => 'item_start',
-                'id'    => $val[1]['id'],
-                'level' => $val[1]['level'],
-                'count' => $count ++
-            );
-            
-            $output .= $this->wiki->addToken($this->rule, $options);
-            
-            $output .= $val[1]['text'];
-            
-            $output .= $this->wiki->addToken(
-                $this->rule,
-                array(
-                    'type' => 'item_end',
-                    'level' => $val[1]['level']
-                )
-            );
-        }
-        
-        $output .= $this->wiki->addToken(
-            $this->rule, array(
-                'type' => 'list_end',
-                'level' => 0
-            )
-        );
-        
-        return "\n$output\n";
-    }
-}
-?>
\ No newline at end of file