All pastes #910978 Raw Edit

Stuff

public text v1 · immutable
·published 2008-02-20 11:25 UTC
rendered paste body
<?php

  $curLevel = $tree[0]['level'];

  $levelCounters = array();

  echo '<div id="nav">';
  // ship the first one, starting from 1
  for($i = 1; $i < count($tree); $i++)
  {
    $prev = $tree[$i - 1];
    $curr = $tree[$i];

    // increment the level counter...
    if (!isset($levelCounters[$curr['level']]))
      $levelCounters[$curr['level']] = 1;
    else
      $levelCounters[$curr['level']]++;

    // put some whitespace padding in
    echo str_repeat('  ', $curr['level']);

    // if we're at a new level...
    if ($prev['level'] < $curr['level'])
    {
      for($j = $prev['level']; $j < $curr['level']; $j++)
      {
        echo '<ul class="Level'.($j+1).'">';
      }
    }
    else if ($prev['level'] == $curr['level'])
    {
      echo '</li>';
    }
    else
    {
      echo str_repeat("</li>\n</ul>\n", $prev['level'] - $curr['level']) . '</li>';
    }

    echo '<li class="lvl'.$curr['level'].'-itm'.$levelCounters[$curr['level']].'">' . $curr['text'];
    echo "\n";
  }

  // close off all unfinished divs....
  echo str_repeat('</li></ul>', $curr['level']);
  echo '</div>';
?>