You are here

class views_handler_field_user_badges_badges_badge in User Badges 6.2

Same name and namespace in other branches
  1. 6 views_handler_field_user_badges_badges_badge.inc \views_handler_field_user_badges_badges_badge
  2. 7 views_handler_field_user_badges_badges_badge.inc \views_handler_field_user_badges_badges_badge
  3. 7.2 includes/views/views_handler_field_user_badges_badges_badge.inc \views_handler_field_user_badges_badges_badge
  4. 7.3 includes/views/views_handler_field_user_badges_badges_badge.inc \views_handler_field_user_badges_badges_badge

@file A handler to provide proper displays for individual user badges.

@author Richard Skinner (Likeless), http://drupal.org/user/310635

Hierarchy

Expanded class hierarchy of views_handler_field_user_badges_badges_badge

1 string reference to 'views_handler_field_user_badges_badges_badge'
user_badges_views_data in ./user_badges.views.inc
Implements hook_views_data().

File

./views_handler_field_user_badges_badges_badge.inc, line 10
A handler to provide proper displays for individual user badges.

View source
class views_handler_field_user_badges_badges_badge extends views_handler_field {

  //Get the additional fields we need
  function construct() {
    parent::construct();
    $this->additional_fields['name'] = 'name';
    $this->additional_fields['image'] = 'image';
    $this->additional_fields['href'] = 'href';
    $this->additional_fields['weight'] = 'weight';
  }

  //Add the additional fields to the query
  function query() {
    $this
      ->ensure_my_table();
    $this
      ->add_additional_fields();
  }

  //Render the badge HTML
  function render($values) {

    //Format the field by theming the badge

    //First, check to see if there is a badge
    if (isset($values->{$this->field_alias})) {

      //create the badge object
      $badge = new stdClass();
      $badge->bid = $values->{$this->field_alias};
      $badge->name = $values->{$this->aliases['name']};
      $badge->image = $values->{$this->aliases['image']};
      $badge->href = $values->{$this->aliases['href']};
      $badge->weight = $values->{$this->aliases['weight']};

      //Send it through the standard theme and return it
      return theme('user_badge', array(
        'badge' => $badge,
      ));
    }
    else {
      $value = $this
        ->get_value($values);
      return $this
        ->sanitize_value($value);
    }
  }

}

Members