You are here

function template_preprocess_user_badges_user_badge in User Badges 7.4

Processes variables for user-badge.tpl.php.

The $variables array contains the following arguments:

  • $user_badge
  • $view_mode
  • $page

See also

user-badge.tpl.php

File

./user_badges.module, line 1234
Hooks and other stuff related to user badge.

Code

function template_preprocess_user_badges_user_badge(&$variables) {
  $variables['view_mode'] = $variables['elements']['#view_mode'];

  // Provide a distinct $teaser boolean.
  $variables['teaser'] = $variables['view_mode'] == 'teaser';
  $variables['user_badge'] = $variables['elements']['#user_badge'];
  $user_badge = $variables['user_badge'];
  $variables['date'] = format_date($user_badge->created);
  $uri = entity_uri('user_badge', $user_badge);
  $variables['user_badge_url'] = url($uri['path'], $uri['options']);
  $variables['name'] = check_plain($user_badge->name);
  $variables['page'] = $variables['view_mode'] == 'full' && user_badge_is_page($user_badge);

  // Flatten the user_badge object's member fields.
  $variables = array_merge((array) $user_badge, $variables);

  // Helpful $content variable for templates.
  $variables += array(
    'content' => array(),
  );
  foreach (element_children($variables['elements']) as $key) {
    $variables['content'][$key] = $variables['elements'][$key];
  }

  // Make the field variables available with the appropriate language.
  field_attach_preprocess('user_badge', $user_badge, $variables['content'], $variables);

  // Gather user_badge classes.
  $variables['classes_array'][] = drupal_html_class('user-badge-' . str_replace(' ', '-', check_plain($user_badge->name)));
  if ($variables['teaser']) {
    $variables['classes_array'][] = 'user-badge-teaser';
  }
  if (isset($variables['preview'])) {
    $variables['classes_array'][] = 'user-badge-preview';
  }

  // Clean up name so there are no underscores.
  $variables['theme_hook_suggestions'][] = 'user_badge__' . $user_badge->bid;
}