From 851f2e8900ee6ea5806f852174ea377b206be0a0 Mon Sep 17 00:00:00 2001
From: Anika Henke <anika@selfthinker.org>
Date: Sat, 17 Jan 2009 00:35:07 +0100
Subject: [PATCH] makes minimum amount of headlines configurable that
 determines if the TOC is built (FS#1226)

darcs-hash:20090116233507-f7d6d-aaff15652d2e698a4403b3386b5b1eb6c0fa38f3.gz
---
 conf/dokuwiki.php    | 3 ++-
 inc/parser/xhtml.php | 3 ++-
 inc/template.php     | 3 ++-
 3 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/conf/dokuwiki.php b/conf/dokuwiki.php
index b41d08685..7f9ef2e9c 100644
--- a/conf/dokuwiki.php
+++ b/conf/dokuwiki.php
@@ -37,6 +37,7 @@ $conf['phpok']       = 0;                 //may PHP code be embedded? Never do t
 $conf['dformat']     = '%Y/%m/%d %H:%M';  //dateformat accepted by PHPs strftime() function
 $conf['signature']   = ' --- //[[@MAIL@|@NAME@]] @DATE@//'; //signature see wiki:config for details
 $conf['toptoclevel'] = 1;                 //Level starting with and below to include in AutoTOC (max. 5)
+$conf['tocminheads'] = 3;                 //Minimum amount of headlines that determines if a TOC is built
 $conf['maxtoclevel'] = 3;                 //Up to which level include into AutoTOC (max. 5)
 $conf['maxseclevel'] = 3;                 //Up to which level create editable sections (max. 5)
 $conf['camelcase']   = 0;                 //Use CamelCase for linking? (I don't like it) 0|1
@@ -126,7 +127,7 @@ $conf['broken_iua']  = 0;                //Platform with broken ignore_user_abor
 $conf['xsendfile']   = 0;                //Use X-Sendfile (1 = lighttpd, 2 = standard)
 $conf['xmlrpc'] = 0;                     //Enable/disable XML-RPC interface
 $conf['renderer_xhtml'] = 'xhtml';       //renderer to use for main page generation
-$conf['rememberme'] = 1;				 //Enable/disable remember me on login
+$conf['rememberme'] = 1;                 //Enable/disable remember me on login
 
 //Set target to use when creating links - leave empty for same window
 $conf['target']['wiki']      = '';
diff --git a/inc/parser/xhtml.php b/inc/parser/xhtml.php
index bad1a21de..545f48b4e 100644
--- a/inc/parser/xhtml.php
+++ b/inc/parser/xhtml.php
@@ -84,7 +84,8 @@ class Doku_Renderer_xhtml extends Doku_Renderer {
         }
 
         // Prepare the TOC
-        if($this->info['toc'] && is_array($this->toc) && count($this->toc) > 2){
+        global $conf;
+        if($this->info['toc'] && is_array($this->toc) && $conf['tocminheads'] && count($this->toc) >= $conf['tocminheads']){
             global $TOC;
             $TOC = $this->toc;
         }
diff --git a/inc/template.php b/inc/template.php
index 6faf4881d..9d29ad291 100644
--- a/inc/template.php
+++ b/inc/template.php
@@ -152,6 +152,7 @@ function tpl_toc($return=false){
     global $ID;
     global $REV;
     global $INFO;
+    global $conf;
     $toc = array();
 
     if(is_array($TOC)){
@@ -166,7 +167,7 @@ function tpl_toc($return=false){
             $tocok = true;
         }
         $toc   = $meta['description']['tableofcontents'];
-        if(!$tocok || !is_array($toc) || count($toc) < 3){
+        if(!$tocok || !is_array($toc) || !$conf['tocminheads'] || count($toc) < $conf['tocminheads']){
             $toc = array();
         }
     }elseif($ACT == 'admin'){
-- 
GitLab