You are here

function apply_for_role_apply_form in Apply for role 5

Same name and namespace in other branches
  1. 6 apply_for_role.module \apply_for_role_apply_form()
  2. 7.2 apply_for_role.module \apply_for_role_apply_form()
  3. 7 apply_for_role.module \apply_for_role_apply_form()
1 string reference to 'apply_for_role_apply_form'
apply_for_role_page in ./apply_for_role.module
User interface

File

./apply_for_role.module, line 337
Allows users to apply for roles.

Code

function apply_for_role_apply_form() {
  global $user;
  $roles = variable_get('users_apply_roles', array());
  $multiple = variable_get('apply_for_role_multiple', array());
  foreach ($roles as $rid => $role) {

    // Check if the user has this role or has applied for this role
    if (!$user->roles[$rid] && db_result(db_query("SELECT uid, rid FROM {users_roles_apply} WHERE uid = %d AND rid = %d", $user->uid, $rid)) == 0) {
      $filter_roles[$rid] = $role;
    }
  }
  if (is_array($filter_roles)) {
    if ($multiple == 1) {
      $form['rid'] = array(
        '#type' => 'checkboxes',
        '#title' => t('Select the role or roles you want to apply for'),
        '#options' => $filter_roles,
      );
    }
    else {
      $form['rid'] = array(
        '#type' => 'select',
        '#title' => t('Select the role you want to apply for'),
        '#default_value' => '',
        '#options' => $filter_roles,
      );
    }
    $form['submit'] = array(
      '#type' => 'submit',
      '#value' => t('Apply'),
    );
  }
  else {
    drupal_set_message(t('No roles are available at this time.'), 'notice');
  }
  return $form;
}