function message_og_example_og_membership_insert in Message 7
Implements hook_og_membership_insert().
File
- message_og_example/
message_og_example.module, line 13
Code
function message_og_example_og_membership_insert($og_membership) {
if ($og_membership->state != OG_STATE_ACTIVE || $og_membership->entity_type != 'user') {
// Membership isn't active.
return;
}
if ($og_membership->group_type != 'node') {
// For simplicity we operate only on membership with node groups.
return;
}
if (!$og_membership->etid) {
// Don't capture membership of anonymous user, that might be caused
// when using Devel generate.
return;
}
$node = node_load($og_membership->gid);
// Create a "User joined" message.
$message = message_create('example_og_user_membership', array(
'uid' => $og_membership->etid,
));
$wrapper = entity_metadata_wrapper('message', $message);
$wrapper->field_node_groups_ref[] = $node;
$wrapper->field_published
->set($node->status);
$wrapper
->save();
}