summaryrefslogtreecommitdiff
path: root/inc/parser/handler.php
diff options
context:
space:
mode:
authorjoe.lapp <joe.lapp@pobox.com>2005-09-17 06:18:21 +0200
committerjoe.lapp <joe.lapp@pobox.com>2005-09-17 06:18:21 +0200
commit9773c5edfdb8d172ce0d2bb7644b774728be894a (patch)
treecc604119f2c48db1a8170cdb5ed1fd06d21eca0d /inc/parser/handler.php
parent7c759785e2712fb0759706f8f46ebaa8c6dc8ccc (diff)
downloadrpg-9773c5edfdb8d172ce0d2bb7644b774728be894a.tar.gz
rpg-9773c5edfdb8d172ce0d2bb7644b774728be894a.tar.bz2
$conf['toptoclevel'] specifying topmost level of TOC
Particularly useful with $conf['useheading'] darcs-hash:20050917041821-36b45-4187b687b6ade759035d0d695eb715f9192c1a7e.gz
Diffstat (limited to 'inc/parser/handler.php')
-rw-r--r--inc/parser/handler.php14
1 files changed, 8 insertions, 6 deletions
diff --git a/inc/parser/handler.php b/inc/parser/handler.php
index 20a9433bd..c165e0a87 100644
--- a/inc/parser/handler.php
+++ b/inc/parser/handler.php
@@ -1489,12 +1489,16 @@ class Doku_Handler_Toc {
function process($calls) {
#FIXME can this be done better?
- global $conf;
+
+ global $conf;
+ $toplevel = $conf['toptoclevel']; // retrieve vars once to save time
+ $maxlevel = $conf['maxtoclevel'];
foreach ( $calls as $call ) {
- if ( $call[0] == 'header' && $call[1][1] <= $conf['maxtoclevel'] ) {
+ $level = $call[1][1];
+ if ( $call[0] == 'header' && $level >= $toplevel && $level <= $maxlevel ) {
$this->numHeaders++;
- $this->addToToc($call);
+ $this->addToToc($level - $toplevel + 1, $call);
}
$this->calls[] = $call;
}
@@ -1504,9 +1508,7 @@ class Doku_Handler_Toc {
return $this->calls;
}
- function addToToc($call) {
-
- $depth = $call[1][1];
+ function addToToc($depth, $call) {
// If it's the opening item...
if ( count ( $this->toc) == 0 ) {