You are here

function term_level_element_get_tag_cloud in Term Level Field 7

Helper function for generating the tag cloud.

In case two hierarchical levels are passed, a list of tag clouds is returned.

1 call to term_level_element_get_tag_cloud()
term_level_element_process in ./term_level_element.inc
Processes the term_level element type.

File

./term_level_element.inc, line 260
term_level_element form type

Code

function term_level_element_get_tag_cloud($tag_clould_terms, &$tag_cloud_term_options = array()) {
  $tag_cloud_term_options[0] = '-';
  if (isset($tag_clould_terms['all'])) {
    $tag_cloud_term_links = array();
    foreach ($tag_clould_terms['all'] as $term) {
      $tag_cloud_term_options[$term->tid] = $term->name;

      // The term description is furthermore escaped by drupal_attributes().
      $tag_cloud_term_links[] = l($term->name, '', array(
        'attributes' => array(
          'title' => strip_tags($term->description),
          'class' => array(
            'term-level-tag-cloud-links',
          ),
          'id' => 'term-level-tag-cloud-links-id-' . $term->tid,
        ),
      ));
    }
    return term_level_element_get_tag_cloud_links_markup($tag_cloud_term_links);
  }
  elseif (isset($tag_clould_terms['groups'])) {
    $items = array();
    foreach ($tag_clould_terms['groups'] as $tid => $group) {
      $tag_cloud_term_links = array();
      $group_term = $tag_clould_terms['group_terms'][$tid];
      foreach ($group as $term) {
        $tag_cloud_term_options[$term->tid] = $term->name;
        $tag_cloud_term_links[] = l($term->name, '', array(
          'attributes' => array(
            'title' => strip_tags($term->description),
            'class' => array(
              'term-level-tag-cloud-links',
            ),
            'id' => 'term-level-tag-cloud-links-id-' . $term->tid,
          ),
        ));
      }
      $links_markup = term_level_element_get_tag_cloud_links_markup($tag_cloud_term_links);
      $items[] = check_plain($group_term->name) . ': ' . $links_markup;
    }
    return theme('item_list', array(
      'items' => $items,
    ));
  }
}