function user_badges_get_badges in User Badges 7.4
Same name and namespace in other branches
- 5 user_badges.module \user_badges_get_badges()
- 6.2 user_badges.module \user_badges_get_badges()
- 6 user_badges.module \user_badges_get_badges()
- 7 user_badges.module \user_badges_get_badges()
- 7.2 user_badges.module \user_badges_get_badges()
- 7.3 user_badges.module \user_badges_get_badges()
Return array of user badges.
Parameters
int $uid: if $uid is a user id, returns badges for that user. if $uid is 'all', returns all badges. if $uid is 'select', returns badges for form_select options.
array $options: array of options. Actually not used. Just for compatibility.
Return value
array Array of badges in desired format.
8 calls to user_badges_get_badges()
- user_badges_add_badge_action in ./
user_badges.actions.inc - Implements a Drupal action.
- user_badges_add_badge_action_form in ./
user_badges.actions.inc - Add badge action form.
- user_badges_change_form in ./
user_badges.module - Form to change badges of a user.
- user_badges_remove_badge_action in ./
user_badges.actions.inc - Implements a Drupal action.
- user_badges_remove_badge_action_form in ./
user_badges.actions.inc - Remove badge action form.
File
- ./
user_badges.module, line 990 - Hooks and other stuff related to user badge.
Code
function user_badges_get_badges($uid, $options = array()) {
if ($uid == 'all') {
$efq = new EntityFieldQuery();
$results = $efq
->entityCondition('entity_type', 'user_badge')
->execute();
$bids = !empty($results['user_badge']) ? array_keys($results['user_badge']) : array();
$user_badges = user_badge_load_multiple($bids);
return $user_badges;
}
elseif ($uid == 'select') {
$efq = new EntityFieldQuery();
$results = $efq
->entityCondition('entity_type', 'user_badge')
->execute();
$bids = !empty($results['user_badge']) ? array_keys($results['user_badge']) : array();
$user_badges = user_badge_load_multiple($bids);
$options = array();
foreach ($user_badges as $key => $user_badge) {
$options[$key] = check_plain($user_badge->name);
}
return $options;
}
else {
$ewrapper = entity_metadata_wrapper('user', $uid);
$user_badges = array();
foreach ($ewrapper->user_badge_badges
->value() as $index => $user_badge) {
if ($user_badge) {
$bid = $user_badge->bid;
$query = db_select('user_badges_assignment', 'uba');
$weight = $query
->fields('uba', array(
'weight',
))
->condition('uba.bid', $bid)
->condition('uba.uid', $uid)
->execute()
->fetchField(0);
$user_badge->weight = $weight;
$user_badges[$bid] = $user_badge;
}
}
return $user_badges;
}
}