You are here

function _glossary_alphabar in Glossary 7

Same name and namespace in other branches
  1. 5.2 glossary.module \_glossary_alphabar()
  2. 5 glossary.module \_glossary_alphabar()
  3. 6 glossary.module \_glossary_alphabar()
2 calls to _glossary_alphabar()
glossary_overview in ./glossary.module
Produce the Glossary overview.
glossary_term in ./glossary.module
@todo Please document this function.

File

./glossary.module, line 736
Glossary terms will be automatically marked with links to their descriptions.

Code

function _glossary_alphabar($vid, &$tree) {
  $output = NULL;
  $page_per_letter = variable_get('glossary_page_per_letter', FALSE);
  $vids = _glossary_get_filter_vids();
  $machine_name = $vids[$vid];
  if (variable_get('glossary_suppress_unused', FALSE)) {

    // Just make it empty; it will be filled in below.
    $letters = array();
  }
  else {
    $lets = array_merge(variable_get('glossary_alphabet', range('a', 'z')), variable_get('glossary_digits', range('0', '9')));
    $letters = drupal_map_assoc($lets);
  }
  foreach ($tree as $key => $term) {
    $term->let = drupal_strtolower(drupal_substr($term->name, 0, 1));
    if ($page_per_letter) {
      $letters[$term->let] = l($term->let, 'glossary/' . $machine_name . '/letter' . $term->let, array(
        'attributes' => array(
          'class' => array(
            'glossary-item',
          ),
        ),
      ));
    }
    else {
      $letters[$term->let] = l($term->let, 'glossary/' . $machine_name, array(
        'fragment' => 'letter' . $term->let,
        'attributes' => array(
          'class' => array(
            'glossary-item',
          ),
        ),
      ));
    }
  }
  $sep = ' ' . variable_get('glossary_alphabar_separator', '|') . ' ';
  $output .= '<div class="glossary-links">' . implode($sep, $letters);
  $output .= '<div class="glossary-alphabar-instructions">';
  $output .= filter_xss(variable_get('glossary_alphabar_instruction', _alphabar_instruction_default()));
  $output .= "</div></div>\n";
  return $output;
}