You are here

function user_badges_get_roles in User Badges 7.4

Same name and namespace in other branches
  1. 5 user_badges.module \user_badges_get_roles()
  2. 6.2 user_badges.module \user_badges_get_roles()
  3. 6 user_badges.module \user_badges_get_roles()
  4. 7 user_badges.module \user_badges_get_roles()
  5. 7.2 user_badges.module \user_badges_get_roles()
  6. 7.3 user_badges.module \user_badges_get_roles()

Return array $rid => $bid.

Parameters

array $rids: if set, return only values for this role

array $options: array of options $options['returnbadges'] - if TRUE, return badge objects, not just bids

Return value

array a list of roles pt the whole badge object.

1 call to user_badges_get_roles()
user_badges_roles_form in includes/user_badges.admin.inc
Form builder: roles form.

File

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

Code

function user_badges_get_roles($rids = NULL, $options = array()) {
  $roles_badges = array();
  $options = array_merge(array(
    'returnbadges' => FALSE,
  ), $options);
  if (count($rids)) {
    $rids = array_keys($rids);
  }
  else {
    $roles = user_roles(TRUE);
    $rids = array_keys($roles);
  }
  $user_badge_roles = variable_get('user_badges_role', 0);
  foreach ($rids as $rid) {
    if (isset($user_badge_roles[$rid]) && $user_badge_roles[$rid]) {
      $bid = $user_badge_roles[$rid] ? $user_badge_roles[$rid] : 0;
      if ($options['returnbadges']) {
        $roles_badges[$rid] = user_badge_load($bid);
      }
      else {
        $roles_badges[$rid] = $bid;
      }
    }
  }

  // Let's add blocked user badge to this array.
  $bid = variable_get('user_badges_blocked_badge', 0);
  if ($bid) {
    if ($options['returnbadges']) {
      $roles_badges['blocked'] = user_badge_load($bid);
    }
    else {
      $roles_badges['blocked'] = variable_get('user_badges_blocked_badge', 0);
    }
  }
  return $roles_badges;
}