You are here

function _glossary_alphabar in Glossary 5

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

File

./glossary.module, line 544

Code

function _glossary_alphabar($vid, &$tree) {
  $page_per_letter = variable_get('glossary_page_per_letter', false);
  $suppress_unused = variable_get('glossary_suppress_unused', false);
  $digits = variable_get('glossary_digits', range('0', '9'));
  if (empty($digits)) {
    $letters = variable_get('glossary_alphabet', range('a', 'z'));
  }
  else {
    $letters = array_merge(variable_get('glossary_alphabet', range('a', 'z')), variable_get('glossary_digits', array()));
  }
  if ($suppress_unused) {
    $letters = array_fill_keys($letters, null);
  }
  else {
    $letters = array_combine($letters, $letters);
  }
  foreach ($tree as $key => $term) {
    $x = drupal_strtolower(drupal_substr($term->name, 0, 1));
    if ($page_per_letter) {
      $letters[$x] = l(drupal_strtoupper($x), 'glossary/' . $vid . '/letter' . $x);
    }
    else {
      $letters[$x] = l(drupal_strtoupper($x), 'glossary/' . $vid, null, null, 'letter' . $x);
    }
  }
  $sep = ' ' . variable_get('glossary_alphabar_separator', '|') . ' ';
  return '<div class="glossary-links">' . implode($sep, $letters) . "</div>\n";
}