You are here

function apply_for_role_add_apply in Apply for role 5

Same name and namespace in other branches
  1. 6 apply_for_role.module \apply_for_role_add_apply()
  2. 7.2 apply_for_role.module \apply_for_role_add_apply()
  3. 7 apply_for_role.module \apply_for_role_add_apply()

Store a role application in the database.

Parameters

$user User id:

$rid Role id:

Return value

Boolean indicating success

2 calls to apply_for_role_add_apply()
apply_for_role_apply_form_submit in ./apply_for_role.module
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 469
Allows users to apply for roles.

Code

function apply_for_role_add_apply($uid, $rid) {
  if (!apply_for_role_user_has_role($uid, $rid)) {

    // Check if the user has already applied for this role
    if (!db_result(db_query("SELECT COUNT(*) FROM {users_roles_apply} WHERE uid = %d AND rid = %d", $uid, $rid))) {
      $apply_date = time();
      $apply = (object) array(
        'uid' => $uid,
        'rid' => $rid,
        'approved' => 0,
        'apply_date' => $apply_date,
      );
      db_query('INSERT INTO {users_roles_apply} (uid, rid, approved, apply_date) VALUES (%d, %d, 0, %d)', $uid, $rid, $apply_date);
      module_invoke_all('apply_for_role', 'apply', $apply);
      return TRUE;
    }
  }
  return FALSE;
}