From 359fab8b2f7d0847ef0cf9b669e6c8ffb0687525 Mon Sep 17 00:00:00 2001
From: Michael Hamann <michael@content-space.de>
Date: Tue, 30 Nov 2010 18:34:10 +0100
Subject: [PATCH] Revert "Fix for $conf['breadcrumbs'] < 0, FS#2107", new fix

This reverts commit 4871414204799044c31aa2764c4b4ca020e2331d.
Additionally there is a new fix for FS#2107 that doesn't introduce a lot
of checks but instead ensures that the configuration option can't be set
to negative values when the configuration manager is used.
---
 doku.php                                        | 2 +-
 inc/common.php                                  | 3 ---
 inc/template.php                                | 2 +-
 lib/plugins/config/settings/config.metadata.php | 2 +-
 lib/tpl/default/main.php                        | 2 +-
 5 files changed, 4 insertions(+), 7 deletions(-)

diff --git a/doku.php b/doku.php
index ccab843ee..1303f1ade 100644
--- a/doku.php
+++ b/doku.php
@@ -69,7 +69,7 @@ if(!$INFO['exists'] &&
 }
 
 //prepare breadcrumbs (initialize a static var)
-if ($conf['breadcrumbs'] > 0) breadcrumbs();
+if ($conf['breadcrumbs']) breadcrumbs();
 
 // check upstream
 checkUpdateMessages();
diff --git a/inc/common.php b/inc/common.php
index b6048825b..a1c4580a6 100644
--- a/inc/common.php
+++ b/inc/common.php
@@ -268,9 +268,6 @@ function breadcrumbs(){
     global $ACT;
     global $conf;
 
-    // Prevent infinite loop later in this function
-    if (!is_numeric($conf['breadcrumbs']) || $conf['breadcrumbs'] <= 0) return array();
-
     //first visit?
     $crumbs = isset($_SESSION[DOKU_COOKIE]['bc']) ? $_SESSION[DOKU_COOKIE]['bc'] : array();
     //we only save on show and existing wiki documents
diff --git a/inc/template.php b/inc/template.php
index d171ab075..53ae9abce 100644
--- a/inc/template.php
+++ b/inc/template.php
@@ -690,7 +690,7 @@ function tpl_breadcrumbs($sep='&raquo;'){
     global $conf;
 
     //check if enabled
-    if(!is_numeric($conf['breadcrumbs']) || $conf['breadcrumbs'] <= 0) return false;
+    if(!$conf['breadcrumbs']) return false;
 
     $crumbs = breadcrumbs(); //setup crumb trace
 
diff --git a/lib/plugins/config/settings/config.metadata.php b/lib/plugins/config/settings/config.metadata.php
index 127017624..c2c3a2d0c 100644
--- a/lib/plugins/config/settings/config.metadata.php
+++ b/lib/plugins/config/settings/config.metadata.php
@@ -101,7 +101,7 @@ $meta['allowdebug']  = array('onoff');
 
 $meta['_display']    = array('fieldset');
 $meta['recent']      = array('numeric');
-$meta['breadcrumbs'] = array('numeric');
+$meta['breadcrumbs'] = array('numeric','_min' => 0);
 $meta['youarehere']  = array('onoff');
 $meta['fullpath']    = array('onoff');
 $meta['typography']  = array('multichoice','_choices' => array(0,1,2));
diff --git a/lib/tpl/default/main.php b/lib/tpl/default/main.php
index c1b62f12e..754a6e482 100644
--- a/lib/tpl/default/main.php
+++ b/lib/tpl/default/main.php
@@ -68,7 +68,7 @@ if (!defined('DOKU_INC')) die();
       <div class="clearer"></div>
     </div>
 
-    <?php if($conf['breadcrumbs'] > 0){?>
+    <?php if($conf['breadcrumbs']){?>
     <div class="breadcrumbs">
       <?php tpl_breadcrumbs()?>
       <?php //tpl_youarehere() //(some people prefer this)?>
-- 
GitLab