You are here

function apply_for_role_apply_form_submit in Apply for role 5

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

File

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

Code

function apply_for_role_apply_form_submit($form_id, $form_values) {
  global $user;
  $received = array();
  $not_received = array();
  if (is_array($form_values['rid'])) {
    foreach ($form_values['rid'] as $rid => $value) {
      if (!empty($value)) {
        if (apply_for_role_add_apply($user->uid, $value)) {
          $received[] = db_result(db_query('SELECT name FROM {role} WHERE rid = %d', $value));
        }
        else {
          $not_received[] = db_result(db_query('SELECT name FROM {role} WHERE rid = %d', $value));
        }
      }
    }
  }
  else {
    if (apply_for_role_add_apply($user->uid, $form_values['rid'])) {
      $received[] = db_result(db_query('SELECT name FROM {role} WHERE rid = %d', $form_values['rid']));
    }
    else {
      $not_received[] = db_result(db_query('SELECT name FROM {role} WHERE rid = %d', $form_values['rid']));
    }
  }
  $count_received = count($received);
  $count_not_received = count($not_received);
  if (!empty($count_received)) {
    drupal_set_message(t('%message %roles', array(
      '%message' => format_plural($count_received, t('Your application was received for the following role:'), t('Your applications were received for the following roles:')),
      '%roles' => implode(', ', $received),
    )));
  }
  if (!empty($count_not_received)) {
    drupal_set_message(t('%message %roles', array(
      '%message' => format_plural($count_not_received, t('There was a problem processing your application for the following role:'), t('There was a problem processing your applications for the following roles:')),
      '%roles' => implode(', ', $not_received),
    )), 'error');
  }
  return 'user/' . $user->uid;
}