From a1dee2b998bc3dc8436bb076435d405ec412e054 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Mon, 11 Jul 2011 22:17:27 +0200 Subject: Fix some bugs and glitches in (mediamanager) tree * Fix selector in subtree loading callback * Remove HTML inconsistencies between AJAX and plain PHP lists * Unify icon and CSS class switching in dw_tree and dw_mediamanager --- inc/html.php | 16 +++++++++++++--- inc/media.php | 9 ++------- 2 files changed, 15 insertions(+), 10 deletions(-) (limited to 'inc') diff --git a/inc/html.php b/inc/html.php index 6e187ebe1..de860a0fe 100644 --- a/inc/html.php +++ b/inc/html.php @@ -737,7 +737,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 *
  • tags for namespaces when displaying the page index * it gives different classes to opened or closed "folders" * @@ -778,10 +778,20 @@ function html_li_default($item){ * @author Andreas Gohr */ 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 ){ @@ -797,7 +807,7 @@ function html_buildlist($data,$class,$func,$lifunc='html_li_default'){ //close higher lists $ret .= "\n
  • \n"; } - }else{ + } elseif ($ret !== '') { //close last item $ret .= "\n"; } diff --git a/inc/media.php b/inc/media.php index 10da501b0..731ba1668 100644 --- a/inc/media.php +++ b/inc/media.php @@ -767,15 +767,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 ''; } /** -- cgit v1.2.3