function og_handler_field_user_roles::pre_render in Organic groups 7.2
Same name and namespace in other branches
- 7 includes/views/og_handler_field_user_roles.inc \og_handler_field_user_roles::pre_render()
Run before any fields are rendered.
This gives the handlers some time to set up before any handler has been rendered.
Parameters
array $values: An array of all objects returned from the query.
Overrides views_handler_field::pre_render
File
- includes/
views/ handlers/ og_handler_field_user_roles.inc, line 34
Class
- og_handler_field_user_roles
- Field handler to provide a list of OG roles of a user.
Code
function pre_render(&$values) {
if (!isset($this->aliases['uid']) || !isset($this->aliases['group_type'])) {
return;
}
$list = array();
$this->items = array();
foreach ($values as $value) {
if ($value->{$this->aliases['uid']} && $value->{$this->field_alias}) {
$list[] = array(
'uid' => $value->{$this->aliases['uid']},
'group_type' => $value->{$this->aliases['group_type']},
'gid' => $value->{$this->field_alias},
);
}
}
// Array of all the role IDs we will need to get a role name.
$all_rids = array();
if ($list) {
foreach ($list as $value) {
$rids = og_get_user_roles($value['group_type'], $value['gid'], $value['uid'], FALSE);
foreach ($rids as $rid => $role) {
$this->items[$value['gid']][$value['uid']][$rid]['rid'] = $rid;
$this->items[$value['gid']][$value['uid']][$rid]['role'] = $role;
}
}
}
}