function apply_for_role_add_apply in Apply for role 7
Same name and namespace in other branches
- 5 apply_for_role.module \apply_for_role_add_apply()
- 6 apply_for_role.module \apply_for_role_add_apply()
- 7.2 apply_for_role.module \apply_for_role_add_apply()
Stores a role application in the database.
Parameters
$user: A user object.
$rid: A role ID.
$message: A string containing the applicant's reason for the role request.
Return value
A boolean indicating success.
1 call to apply_for_role_add_apply()
- apply_for_role_process_applications in ./
apply_for_role.module - Process an application and store it for admin review.
File
- ./
apply_for_role.module, line 483 - Allows users to apply for roles.
Code
function apply_for_role_add_apply($user, $rid, $message = NULL) {
$uid = $user->uid;
if (!apply_for_role_user_has_role($uid, $rid)) {
// Check if the user has already applied for this role
$has_rows = (bool) db_query_range('SELECT 1 FROM {users_roles_apply} WHERE uid = :uid AND rid = :rid', 0, 1, array(
':uid' => $uid,
':rid' => $rid,
))
->fetchField();
if (!$has_rows) {
$apply = (object) array(
'uid' => $uid,
'rid' => $rid,
'approved' => 0,
'apply_date' => REQUEST_TIME,
'message' => $message,
);
drupal_write_record('users_roles_apply', $apply);
module_invoke_all('apply_for_role', 'apply', $apply);
return TRUE;
}
}
return FALSE;
}