function apply_for_role_apply_for_role in Apply for role 7.2
Same name and namespace in other branches
- 5 apply_for_role.module \apply_for_role_apply_for_role()
- 6 apply_for_role.module \apply_for_role_apply_for_role()
- 7 apply_for_role.module \apply_for_role_apply_for_role()
Implements hook_apply_for_role().
We implement our own event to fire triggers.
Parameters
$action: The hook that is being called: 'apply_for_role_apply', 'apply_for_role_approve', 'apply_for_role_deny', 'apply_for_role_remove'.
$apply: A role application object.
File
- ./
apply_for_role.module, line 482 - Allows users to apply for roles.
Code
function apply_for_role_apply_for_role($action, $apply) {
// Keep objects for reuse so that changes actions make to objects can persist.
static $objects;
if (!module_exists('trigger')) {
return;
}
$user = user_load($apply->uid);
$apply->user = $user;
$context = array(
'user' => $user,
'apply_for_role' => $apply,
'op' => $action,
);
foreach (trigger_get_assigned_actions('apply_for_role_' . $action) as $aid => $action_info) {
if ($action_info['type'] != 'user') {
if (!isset($objects[$action_info['type']])) {
$objects[$action_info['type']] = _trigger_normalize_user_context($action_info['type'], $user);
}
$context['user'] = $user;
$context['apply_for_role'] = $apply;
actions_do($aid, $objects[$action_info['type']], $context);
}
elseif (isset($aid)) {
actions_do($aid, $user, $context);
}
}
}