You are here

function apply_for_role_admin_form in Apply for role 6

Same name and namespace in other branches
  1. 5 apply_for_role.module \apply_for_role_admin_form()
  2. 7.2 apply_for_role.admin.inc \apply_for_role_admin_form()
  3. 7 apply_for_role.admin.inc \apply_for_role_admin_form()

User management

1 string reference to 'apply_for_role_admin_form'
apply_for_role_menu in ./apply_for_role.module
Implementation of hook_menu().

File

./apply_for_role.admin.inc, line 86
Administration forms for the Apply for Role module.

Code

function apply_for_role_admin_form(&$form_state) {
  $header = array(
    array(
      'data' => t('Username'),
      'field' => 'u.name',
    ),
    array(
      'data' => t('Current Roles'),
    ),
    array(
      'data' => t('Applying For'),
      'field' => 'rid',
    ),
    array(
      'data' => t('Applied'),
      'field' => 'apply_date',
      'sort' => 'desc',
    ),
    array(
      'data' => t('Status'),
      'field' => 'approved',
    ),
    array(
      'data' => t('Processed'),
      'field' => 'approve_date',
    ),
    array(
      'data' => t('Operations'),
      'colspan' => 3,
    ),
  );
  $form['#header'] = $header;
  $roles = user_roles(TRUE);
  $result = db_query("SELECT * FROM {users_roles_apply} a LEFT JOIN {users} u ON u.uid = a.uid " . tablesort_sql($header));
  while ($row = db_fetch_object($result)) {
    $user = user_load(array(
      'uid' => $row->uid,
    ));
    $form['apps'][$row->uid][$row->rid]['user'] = array(
      '#value' => theme('username', $user),
    );
    $form['apps'][$row->uid][$row->rid]['role'] = array(
      '#value' => isset($roles[$row->rid]) ? check_plain($roles[$row->rid]) : t('<em>Invalid Role</em>'),
    );
    $current_roles = array_slice($user->roles, 1);
    $form['apps'][$row->uid][$row->rid]['current_roles'] = array(
      '#value' => filter_xss_admin(implode('<br />', $current_roles)),
    );
    $form['apps'][$row->uid][$row->rid]['apply_date'] = array(
      '#value' => format_date($row->apply_date),
    );
    $form['apps'][$row->uid][$row->rid]['status'] = array(
      '#value' => theme('apply_for_role_status', $row->approved),
    );
    $form['apps'][$row->uid][$row->rid]['approve_date'] = array(
      '#value' => empty($row->approve_date) ? '' : format_date($row->approve_date),
    );
    if (!empty($row->uid) && isset($roles[$row->rid])) {
      if ($row->approved != APPLY_FOR_ROLE_APPROVED) {
        $form['apps'][$row->uid][$row->rid]['approve'] = array(
          '#value' => l(t('Approve'), 'admin/user/apply_for_role/approve/' . $row->uid . '/' . $row->rid, array(
            'title' => t('Approve this user'),
          )),
        );
      }
      if ($row->approved != APPLY_FOR_ROLE_DENIED) {
        $form['apps'][$row->uid][$row->rid]['deny'] = array(
          '#value' => l(t('Deny'), 'admin/user/apply_for_role/deny/' . $row->uid . '/' . $row->rid, array(
            'title' => t('Deny this user'),
          )),
        );
      }
    }
    $form['apps'][$row->uid][$row->rid]['delete'] = array(
      '#value' => l(t('Delete'), 'admin/user/apply_for_role/remove/' . $row->uid . '/' . $row->rid, array(
        'title' => t('Remove application'),
      )),
    );
  }
  return $form;
}