/** * Form API validate for the site configuration form. */ function install_configure_form_validate($form, &$form_state) { if ($error = user_validate_name($form_state['values']['account']['name'])) { form_error($form['admin_account']['account']['name'], $error); } if ($error = user_validate_mail($form_state['values']['account']['mail'])) { form_error($form['admin_account']['account']['mail'], $error); } if ($error = user_validate_mail($form_state['values']['site_mail'])) { form_error($form['site_information']['site_mail'], $error); } }
/** * Check if username and email exists in the drupal db * * @params $params array array of name and mail values * @params $errors array array of errors * @params $emailName string field label for the 'email' * * @return void */ static function checkUserNameEmailExists(&$params, &$errors, $emailName = 'email') { $config = CRM_Core_Config::singleton(); $dao = new CRM_Core_DAO(); $name = $dao->escape(CRM_Utils_Array::value('name', $params)); $email = $dao->escape(CRM_Utils_Array::value('mail', $params)); $errors = form_get_errors(); if ($errors) { // unset drupal messages to avoid twice display of errors unset($_SESSION['messages']); } if (!empty($params['name'])) { if ($nameError = user_validate_name($params['name'])) { $errors['cms_name'] = $nameError; } else { $uid = db_query("SELECT uid FROM {users} WHERE name = :name", array(':name' => $params['name']))->fetchField(); if ((bool) $uid) { $errors['cms_name'] = ts('The username %1 is already taken. Please select another username.', array(1 => $params['name'])); } } } if (!empty($params['mail'])) { if ($emailError = user_validate_mail($params['mail'])) { $errors[$emailName] = $emailError; } else { $uid = db_query("SELECT uid FROM {users} WHERE mail = :mail", array(':mail' => $params['mail']))->fetchField(); if ((bool) $uid) { $resetUrl = $config->userFrameworkBaseURL . 'user/password'; $errors[$emailName] = ts('The email address %1 is already registered. <a href="%2">Have you forgotten your password?</a>', array(1 => $params['mail'], 2 => $resetUrl)); } } } }
/** * Create new users with default field values. * * @param int $num * Number of entities to create. * @param array $options * Options array. This array can have "roles" key that provides an array of * role names that the newly created user will need to be assigned. * * @return Response * Response object. */ public static function createRandom($num = 1, $options = array()) { if (!is_numeric($num)) { return new Response(FALSE, NULL, 'Number of users to be created has to be an integer.'); } $options += array('roles' => array(), 'required_fields_only' => TRUE); // First get the references that need to be created. //static::processBeforeCreateRandom($options); $output = array(); for ($i = 0; $i < $num; $i++) { // Get a random username. do { $username = Utils::getRandomString(20); } while (!is_null(user_validate_name($username)) || user_load_by_name($username)); // Get a random email address. do { $email = $username . '@' . Utils::getRandomString(20) . '.com'; } while (!is_null(user_validate_mail($email)) || user_load_by_mail($email)); // Get a random password. $password = Utils::getRandomString(); $response = User::registerUser($username, $email, $password, $options); if (!$response->getSuccess()) { $response->setVar($output); return $response; } $output[] = $response->getVar(); } return new Response(TRUE, Utils::normalize($output), ""); }
/** * Create new users with default field values. * * @param int $num * Number of entities to create. * @param array $options * Options array. This array can have "roles" key that provides an array of * role names that the newly created user will need to be assigned. * * @return Response * Response object. */ public static function createRandom($num = 1, $options = array()) { $options += array('roles' => array(), 'required_fields_only' => TRUE); $output = array(); for ($i = 0; $i < $num; $i++) { // Get a random username. do { $username = Utils::getRandomString(20); } while (!is_null(user_validate_name($username)) || user_load_by_name($username)); // Get a random email address. do { $email = $username . '@' . Utils::getRandomString(20) . '.com'; } while (!is_null(user_validate_mail($email)) || user_load_by_mail($email)); // Get a random password. $password = Utils::getRandomString(); $response = User::registerUser($username, $email, $password, $options['roles']); if (!$response->getSuccess()) { $response->setVar($output); return $response; } $output[] = $response->getVar(); } return new Response(TRUE, Utils::normalize($output), ""); }
function os_poker_user_edit_validate($uid, &$edit) { $user = user_load(array('uid' => $uid)); // Validate the username: if (user_access('change own username') || user_access('administer users') || !$user->uid) { if ($error = user_validate_name($edit['name'])) { form_set_error('name', $error); } else { if (db_result(db_query("SELECT COUNT(*) FROM {users} WHERE uid != %d AND LOWER(name) = LOWER('%s')", $uid, $edit['name'])) > 0) { form_set_error('name', t('The name %name is already taken.', array('%name' => $edit['name']))); } else { if (drupal_is_denied('user', $edit['name'])) { form_set_error('name', t('The name %name has been denied access.', array('%name' => $edit['name']))); } } } } // Validate the e-mail address: if ($error = user_validate_mail($edit['mail'])) { form_set_error('mail', $error); } else { if (db_result(db_query("SELECT COUNT(*) FROM {users} WHERE uid != %d AND LOWER(mail) = LOWER('%s')", $uid, $edit['mail'])) > 0) { form_set_error('mail', t('The e-mail address %email is already registered.', array('%email' => $edit['mail']))); } else { if (drupal_is_denied('mail', $edit['mail'])) { form_set_error('mail', t('The e-mail address %email has been denied access.', array('%email' => $edit['mail']))); } } } }