function _glossary_alphabar in Glossary 7
Same name and namespace in other branches
- 5.2 glossary.module \_glossary_alphabar()
- 5 glossary.module \_glossary_alphabar()
- 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;
}