diff options
Diffstat (limited to 'inc')
-rw-r--r-- | inc/html.php | 16 | ||||
-rw-r--r-- | inc/media.php | 9 |
2 files changed, 15 insertions, 10 deletions
diff --git a/inc/html.php b/inc/html.php index df28a2096..b4cf27d61 100644 --- a/inc/html.php +++ b/inc/html.php @@ -807,7 +807,7 @@ function html_list_index($item){ /** * Index List item * - * This user function is used in html_build_lidt to build the + * This user function is used in html_buildlist to build the * <li> tags for namespaces when displaying the page index * it gives different classes to opened or closed "folders" * @@ -848,10 +848,20 @@ function html_li_default($item){ * @author Andreas Gohr <andi@splitbrain.org> */ function html_buildlist($data,$class,$func,$lifunc='html_li_default'){ - $level = 0; + if (count($data) === 0) { + return ''; + } + + $level = $data[0]['level']; $opens = 0; $ret = ''; + if ($level < 2) { + // Trigger building a wrapper ul if the first level is + // 0 (we have a root object) or 1 (just the root content) + --$level; + } + foreach ($data as $item){ if( $item['level'] > $level ){ @@ -867,7 +877,7 @@ function html_buildlist($data,$class,$func,$lifunc='html_li_default'){ //close higher lists $ret .= "</ul>\n</li>\n"; } - }else{ + } elseif ($ret !== '') { //close last item $ret .= "</li>\n"; } diff --git a/inc/media.php b/inc/media.php index b4a0ad114..138eb26c2 100644 --- a/inc/media.php +++ b/inc/media.php @@ -1439,15 +1439,10 @@ function media_nstree($ns){ search($data,$conf['mediadir'],'search_index',array('ns' => $ns, 'nofiles' => true)); // wrap a list with the root level around the other namespaces - $item = array( 'level' => 0, 'id' => '', - 'open' =>'true', 'label' => '['.$lang['mediaroot'].']'); + array_unshift($data, array('level' => 0, 'id' => '', 'open' =>'true', + 'label' => '['.$lang['mediaroot'].']')); - echo '<ul class="idx">'; - echo media_nstree_li($item); - echo media_nstree_item($item); echo html_buildlist($data,'idx','media_nstree_item','media_nstree_li'); - echo '</li>'; - echo '</ul>'; } /** |