From 434f59213c7786053b453612347ff83abfeb8b7b Mon Sep 17 00:00:00 2001 From: Hakan Sandell Date: Mon, 17 Oct 2011 20:17:05 +0200 Subject: HTML compliant fix for missing ul wrapper in TOC (FS#2328) --- inc/html.php | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) (limited to 'inc') diff --git a/inc/html.php b/inc/html.php index 1658e9b4c..1a2d7daef 100644 --- a/inc/html.php +++ b/inc/html.php @@ -905,40 +905,35 @@ function html_buildlist($data,$class,$func,$lifunc='html_li_default',$forcewrapp } $start_level = $data[0]['level']; - $ret = ''; - - if ($forcewrapper || $start_level < 2) { - // Trigger building a wrapper ul if the first level is - // 0 (we have a root object) or 1 (just the root content) - --$start_level; - } - $level = $start_level; + $ret = ''; + $open = 0; foreach ($data as $item){ if( $item['level'] > $level ){ //open new list for($i=0; $i<($item['level'] - $level); $i++){ - if ($i) $ret .= "
  • \n"; + if ($i) $ret .= "
  • "; $ret .= "\n\n
  • \n"; + $level--; + $open--; } - $ret .= "\n"; + $ret .= "\n"; + while($open-- > 0) { + $ret .= "\n"; + } + + if ($forcewrapper || $start_level < 2) { + // Trigger building a wrapper ul if the first level is + // 0 (we have a root object) or 1 (just the root content) + $ret = "\n\n"; } return $ret; -- cgit v1.2.3