function theme_oa_team_update in Open Atrium Core 7.2
Theme function for showing who is added and removed from team
Parameters
$vars['old_users'] the old value of field_oa_team_users:
Return value
$vars['new_users'] the new value of field_oa_team_users
1 theme call to theme_oa_team_update()
- oa_messages_oa_messages_create_alter in modules/
oa_messages/ oa_messages.module - Implements hook_oa_messages_create_alter Add additional fields to wrapper for messages
File
- modules/
oa_messages/ oa_messages.module, line 516
Code
function theme_oa_team_update($vars) {
$old_users = $vars['old_users'];
$new_users = $vars['new_users'];
// convert values of field into a simple array of uids
$old = array();
$new = array();
if (is_array($old_users)) {
foreach ($old_users as $item) {
$old[] = $item['target_id'];
}
}
if (is_array($new_users)) {
foreach ($new_users as $item) {
$new[] = $item['target_id'];
}
}
// grab all user's real names
$uids = array_merge($old, $new);
$users = entity_load('user', $uids);
foreach ($users as $uid => $user) {
// handle case where realname isn't set or installed
if (empty($user->realname)) {
$users[$uid]->realname = $user->name;
}
}
$output = '';
// determine who was added
$diff = array_diff($new, $old);
$add_links = array();
foreach ($diff as $uid) {
$add_links[] = l($users[$uid]->realname, 'user/' . $uid);
}
if (!empty($add_links)) {
$output .= t('Added') . ' ' . implode(', ', $add_links) . '. ';
}
// determine who was removed
$diff = array_diff($old, $new);
$remove_links = array();
foreach ($diff as $uid) {
$remove_links[] = l($users[$uid]->realname, 'user/' . $uid);
}
if (!empty($remove_links)) {
$output .= t('Removed') . ' ' . implode(', ', $remove_links) . '. ';
}
return $output;
}