You are here

function user_registrationpassword_admin_settings_submit in User registration password 7

Same name and namespace in other branches
  1. 8 user_registrationpassword.module \user_registrationpassword_admin_settings_submit()
  2. 6 user_registrationpassword.module \user_registrationpassword_admin_settings_submit()

Submit handler for the user admin form.

1 string reference to 'user_registrationpassword_admin_settings_submit'
user_registrationpassword_form_user_admin_settings_alter in ./user_registrationpassword.module
Implements hook_form_FORM_ID_alter().

File

./user_registrationpassword.module, line 154
Enables password creation on registration form.

Code

function user_registrationpassword_admin_settings_submit(&$form, &$form_state) {

  // The option we implement.
  $user_registrationpassword_registration = $form_state['values']['user_registrationpassword_registration'];

  // Core option.
  $user_register = $form_state['values']['user_register'];

  // Test if we are enabled. For this, both options have to be set correctly
  // because then and only then we can function.
  // @see _user_mail_notify()
  if ($user_registrationpassword_registration == USER_REGISTRATIONPASSWORD_VERIFICATION_PASS && $user_register == USER_REGISTER_VISITORS) {

    // Disable core verification emails, we are taking over.
    variable_set('user_email_verification', FALSE);

    // Prevent standard notification email to administrators and to user.
    variable_set('user_mail_register_pending_approval_notify', FALSE);
    variable_set('user_mail_register_no_approval_required_notify', FALSE);
  }
  else {

    // Our option.
    switch ($user_registrationpassword_registration) {
      case USER_REGISTRATIONPASSWORD_NO_VERIFICATION:
        variable_set('user_email_verification', FALSE);
        break;
      case USER_REGISTRATIONPASSWORD_VERIFICATION_DEFAULT:
      case USER_REGISTRATIONPASSWORD_VERIFICATION_PASS:
        variable_set('user_email_verification', TRUE);
        break;
    }

    // Core option.
    switch ($user_register) {
      case USER_REGISTER_ADMINISTRATORS_ONLY:

        // The register_pending_approval option.
        // Special case tested in _user_mail_notify().
        variable_set('user_mail_register_pending_approval_notify', FALSE);

        // The no_approval_required option.
        variable_set('user_mail_register_no_approval_required_notify', FALSE);
        break;
      case USER_REGISTER_VISITORS:
      case USER_REGISTER_VISITORS_ADMINISTRATIVE_APPROVAL:

        // The register_pending_approval option.
        // Special case tested in _user_mail_notify().
        variable_set('user_mail_register_pending_approval_notify', TRUE);

        // The no_approval_required option.
        variable_set('user_mail_register_no_approval_required_notify', TRUE);
        break;
    }
  }

  // Save or revert expiration limits variables.
  if ($form_state['values']['user_registrationpassword_registration_ftll_expire']) {
    variable_set('user_registrationpassword_registration_ftll_expire', $form_state['values']['user_registrationpassword_registration_ftll_expire']);
  }
  else {
    variable_del('user_registrationpassword_registration_ftll_expire');
  }
  if ($form_state['values']['user_registrationpassword_registration_ftll_timeout'] && $form_state['values']['user_registrationpassword_registration_ftll_timeout'] != 86400) {
    variable_set('user_registrationpassword_registration_ftll_timeout', $form_state['values']['user_registrationpassword_registration_ftll_timeout']);
  }
  else {
    variable_del('user_registrationpassword_registration_ftll_timeout');
  }
}