You are here

function glossary_overview in Glossary 5

Same name and namespace in other branches
  1. 5.2 glossary.module \glossary_overview()
  2. 6 glossary.module \glossary_overview()
  3. 7 glossary.module \glossary_overview()
1 call to glossary_overview()
glossary_page in ./glossary.module

File

./glossary.module, line 575

Code

function glossary_overview($vocab, $letter = null) {
  $dest = drupal_get_destination();
  if ($vocab->description) {
    $output = '<p class="glossary-description">' . $vocab->description . '</p>';
  }
  else {
    $output = null;
  }
  $vid = $vocab->vid;
  if ($letter) {
    $first_let = drupal_substr($letter, 6, 1, 'UTF-8');
  }
  else {
    $first_let = '';
  }
  $show_desc = variable_get('glossary_show_description', false);
  $tree = taxonomy_get_tree($vid);
  $output .= _glossary_alphabar($vid, $tree);
  $output .= '<dl class="glossary-list">' . "\n";
  if ($tree) {
    foreach ($tree as $term) {
      $term_let = drupal_strtolower(drupal_substr($term->name, 0, 1, 'UTF-8'));

      // See if it's a new section.
      if ($term_let != $first_let) {
        $output .= "\n";
        if (variable_get('glossary_separate_letters', false)) {
          $output .= '<a id="letter' . $term_let . '"</a><div class="glossary-letter">' . drupal_strtoupper($term_let) . '</div>';
        }
        else {
          $output .= '<a id="letter' . $term_let . '"></a>';
        }
        $first_let = $term_let;
      }
      if (!$letter || $term_let == $first_let) {
        $output .= theme('glossary_overview_item', $term, $show_desc, $dest);
      }
    }
  }
  $output .= '</dl>';
  $output .= glossary_admin_links($vocab, $dest);
  return $output;
}